From 79e9328d3dfbbbfe23fdf5c1b7004ec886ec11b9 Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Mon, 18 Jul 2022 11:07:30 +0900 Subject: [PATCH] Imported Upstream version 2.8.0 --- AUTHORS | 4 + CHANGES | 81 +- Makefile | 13 +- PKG-INFO | 19 +- Pygments.egg-info/PKG-INFO | 19 +- Pygments.egg-info/SOURCES.txt | 1807 +- doc/conf.py | 1 - doc/docs/lexerdevelopment.rst | 10 +- doc/languages.rst | 2 + doc/pygmentize.1 | 22 +- external/markdown-processor.py | 1 - external/moin-parser.py | 1 - external/rst-directive.py | 1 - pygments/__init__.py | 3 +- pygments/__main__.py | 1 - pygments/cmdline.py | 336 +- pygments/console.py | 1 - pygments/filter.py | 1 - pygments/filters/__init__.py | 1 - pygments/formatter.py | 1 - pygments/formatters/__init__.py | 3 +- pygments/formatters/_mapping.py | 1 - pygments/formatters/bbcode.py | 1 - pygments/formatters/html.py | 30 +- pygments/formatters/img.py | 32 +- pygments/formatters/irc.py | 1 - pygments/formatters/latex.py | 15 +- pygments/formatters/other.py | 15 +- pygments/formatters/rtf.py | 1 - pygments/formatters/svg.py | 7 +- pygments/formatters/terminal.py | 1 - pygments/formatters/terminal256.py | 25 +- pygments/lexer.py | 1 - pygments/lexers/__init__.py | 3 +- pygments/lexers/_asy_builtins.py | 1 - pygments/lexers/_cl_builtins.py | 1 - pygments/lexers/_cocoa_builtins.py | 26 +- pygments/lexers/_csound_builtins.py | 1 - pygments/lexers/_lasso_builtins.py | 1 - pygments/lexers/_lua_builtins.py | 1 - pygments/lexers/_mapping.py | 9 +- pygments/lexers/_mql_builtins.py | 1 - pygments/lexers/_mysql_builtins.py | 5 +- pygments/lexers/_openedge_builtins.py | 823 +- pygments/lexers/_php_builtins.py | 1 - pygments/lexers/_postgres_builtins.py | 1 - pygments/lexers/_scilab_builtins.py | 1 - pygments/lexers/_sourcemod_builtins.py | 1 - pygments/lexers/_stan_builtins.py | 1 - pygments/lexers/_stata_builtins.py | 144 +- pygments/lexers/_tsql_builtins.py | 1 - pygments/lexers/_usd_builtins.py | 1 - pygments/lexers/_vbscript_builtins.py | 1 - pygments/lexers/_vim_builtins.py | 1 - pygments/lexers/actionscript.py | 1 - pygments/lexers/agile.py | 1 - pygments/lexers/algebra.py | 1 - pygments/lexers/ambient.py | 1 - pygments/lexers/amdgpu.py | 48 + pygments/lexers/ampl.py | 1 - pygments/lexers/apl.py | 1 - pygments/lexers/archetype.py | 1 - pygments/lexers/arrow.py | 1 - pygments/lexers/asm.py | 1 - pygments/lexers/automation.py | 7 +- pygments/lexers/bare.py | 1 - pygments/lexers/basic.py | 5 +- pygments/lexers/bibtex.py | 1 - pygments/lexers/boa.py | 1 - pygments/lexers/business.py | 1 - pygments/lexers/c_cpp.py | 4 +- pygments/lexers/c_like.py | 1 - pygments/lexers/capnproto.py | 1 - pygments/lexers/cddl.py | 190 + pygments/lexers/chapel.py | 1 - pygments/lexers/clean.py | 1 - pygments/lexers/compiled.py | 1 - pygments/lexers/configs.py | 1 - pygments/lexers/console.py | 1 - pygments/lexers/crystal.py | 1 - pygments/lexers/csound.py | 1 - pygments/lexers/css.py | 2 +- pygments/lexers/d.py | 1 - pygments/lexers/dalvik.py | 1 - pygments/lexers/data.py | 3 +- pygments/lexers/devicetree.py | 1 - pygments/lexers/diff.py | 1 - pygments/lexers/dotnet.py | 1 - pygments/lexers/dsls.py | 1 - pygments/lexers/dylan.py | 1 - pygments/lexers/ecl.py | 8 +- pygments/lexers/eiffel.py | 3 +- pygments/lexers/elm.py | 1 - pygments/lexers/email.py | 1 - pygments/lexers/erlang.py | 1 - pygments/lexers/esoteric.py | 1 - pygments/lexers/ezhil.py | 1 - pygments/lexers/factor.py | 1 - pygments/lexers/fantom.py | 1 - pygments/lexers/felix.py | 1 - pygments/lexers/floscript.py | 1 - pygments/lexers/forth.py | 3 +- pygments/lexers/fortran.py | 4 +- pygments/lexers/foxpro.py | 1 - pygments/lexers/freefem.py | 1 - pygments/lexers/functional.py | 1 - pygments/lexers/futhark.py | 110 + pygments/lexers/gdscript.py | 1 - pygments/lexers/go.py | 1 - pygments/lexers/grammar_notation.py | 1 - pygments/lexers/graph.py | 1 - pygments/lexers/graphics.py | 1 - pygments/lexers/graphviz.py | 57 + pygments/lexers/haskell.py | 1 - pygments/lexers/haxe.py | 1 - pygments/lexers/hdl.py | 6 +- pygments/lexers/hexdump.py | 1 - pygments/lexers/html.py | 1 - pygments/lexers/idl.py | 1 - pygments/lexers/igor.py | 1 - pygments/lexers/inferno.py | 1 - pygments/lexers/installers.py | 1 - pygments/lexers/int_fiction.py | 1 - pygments/lexers/iolang.py | 1 - pygments/lexers/j.py | 3 +- pygments/lexers/javascript.py | 13 +- pygments/lexers/julia.py | 1 - pygments/lexers/jvm.py | 148 +- pygments/lexers/lisp.py | 1 - pygments/lexers/make.py | 1 - pygments/lexers/markup.py | 3 +- pygments/lexers/math.py | 1 - pygments/lexers/matlab.py | 2720 +- pygments/lexers/mime.py | 3 +- pygments/lexers/ml.py | 1 - pygments/lexers/modeling.py | 1 - pygments/lexers/modula2.py | 1 - pygments/lexers/monte.py | 1 - pygments/lexers/mosel.py | 1 - pygments/lexers/ncl.py | 1 - pygments/lexers/nimrod.py | 1 - pygments/lexers/nit.py | 1 - pygments/lexers/nix.py | 1 - pygments/lexers/oberon.py | 1 - pygments/lexers/objective.py | 1 - pygments/lexers/ooc.py | 1 - pygments/lexers/other.py | 1 - pygments/lexers/parasail.py | 1 - pygments/lexers/parsers.py | 1 - pygments/lexers/pascal.py | 1 - pygments/lexers/pawn.py | 5 +- pygments/lexers/perl.py | 1 - pygments/lexers/php.py | 1 - pygments/lexers/pointless.py | 1 - pygments/lexers/pony.py | 1 - pygments/lexers/praat.py | 1 - pygments/lexers/prolog.py | 1 - pygments/lexers/promql.py | 1 - pygments/lexers/python.py | 29 +- pygments/lexers/qvt.py | 1 - pygments/lexers/r.py | 1 - pygments/lexers/rdf.py | 1 - pygments/lexers/rebol.py | 1 - pygments/lexers/resource.py | 1 - pygments/lexers/ride.py | 1 - pygments/lexers/rnc.py | 1 - pygments/lexers/roboconf.py | 1 - pygments/lexers/robotframework.py | 1 - pygments/lexers/ruby.py | 11 +- pygments/lexers/rust.py | 1 - pygments/lexers/sas.py | 1 - pygments/lexers/scdoc.py | 1 - pygments/lexers/scripting.py | 1 - pygments/lexers/sgf.py | 1 - pygments/lexers/shell.py | 9 +- pygments/lexers/sieve.py | 1 - pygments/lexers/slash.py | 1 - pygments/lexers/smalltalk.py | 1 - pygments/lexers/smv.py | 1 - pygments/lexers/snobol.py | 1 - pygments/lexers/solidity.py | 1 - pygments/lexers/special.py | 37 +- pygments/lexers/sql.py | 7 +- pygments/lexers/stata.py | 1 - pygments/lexers/supercollider.py | 1 - pygments/lexers/tcl.py | 1 - pygments/lexers/templates.py | 1 - pygments/lexers/teraterm.py | 1 - pygments/lexers/testing.py | 1 - pygments/lexers/text.py | 1 - pygments/lexers/textedit.py | 1 - pygments/lexers/textfmts.py | 1 - pygments/lexers/theorem.py | 1 - pygments/lexers/tnt.py | 1 - pygments/lexers/trafficscript.py | 1 - pygments/lexers/typoscript.py | 1 - pygments/lexers/unicon.py | 1 - pygments/lexers/urbi.py | 1 - pygments/lexers/usd.py | 1 - pygments/lexers/varnish.py | 1 - pygments/lexers/verification.py | 1 - pygments/lexers/web.py | 1 - pygments/lexers/webidl.py | 1 - pygments/lexers/webmisc.py | 1 - pygments/lexers/whiley.py | 1 - pygments/lexers/x10.py | 1 - pygments/lexers/xorg.py | 1 - pygments/lexers/yang.py | 1 - pygments/lexers/zig.py | 1 - pygments/modeline.py | 1 - pygments/plugin.py | 3 +- pygments/regexopt.py | 1 - pygments/scanner.py | 1 - pygments/sphinxext.py | 1 - pygments/style.py | 5 +- pygments/styles/__init__.py | 3 +- pygments/styles/abap.py | 1 - pygments/styles/algol.py | 1 - pygments/styles/algol_nu.py | 1 - pygments/styles/arduino.py | 1 - pygments/styles/autumn.py | 1 - pygments/styles/borland.py | 1 - pygments/styles/bw.py | 1 - pygments/styles/colorful.py | 1 - pygments/styles/default.py | 1 - pygments/styles/emacs.py | 1 - pygments/styles/friendly.py | 1 - pygments/styles/fruity.py | 1 - pygments/styles/igor.py | 1 - pygments/styles/inkpot.py | 1 - pygments/styles/lovelace.py | 1 - pygments/styles/manni.py | 1 - pygments/styles/material.py | 118 + pygments/styles/monokai.py | 1 - pygments/styles/murphy.py | 1 - pygments/styles/native.py | 1 - pygments/styles/paraiso_dark.py | 1 - pygments/styles/paraiso_light.py | 1 - pygments/styles/pastie.py | 1 - pygments/styles/perldoc.py | 1 - pygments/styles/rainbow_dash.py | 1 - pygments/styles/rrt.py | 1 - pygments/styles/sas.py | 1 - pygments/styles/solarized.py | 4 +- pygments/styles/stata_dark.py | 1 - pygments/styles/stata_light.py | 1 - pygments/styles/tango.py | 1 - pygments/styles/trac.py | 1 - pygments/styles/vim.py | 1 - pygments/styles/vs.py | 1 - pygments/styles/xcode.py | 1 - pygments/styles/zenburn.py | 80 + pygments/token.py | 1 - pygments/unistring.py | 1 - pygments/util.py | 1 - scripts/check_crlf.py | 1 - scripts/check_sources.py | 40 +- scripts/debug_lexer.py | 62 +- scripts/detect_missing_analyse_text.py | 10 + scripts/epydoc.css | 280 - scripts/vim2pygments.py | 3 +- setup.cfg | 45 + setup.py | 65 +- tests/__init__.py | 1 - tests/conftest.py | 127 + .../{ => abnf}/abnf_example1.abnf | 0 .../abnf/abnf_example1.abnf.output | 200 + .../{ => abnf}/abnf_example2.abnf | 0 .../abnf/abnf_example2.abnf.output | 57 + tests/examplefiles/{ => ada}/test.adb | 0 tests/examplefiles/ada/test.adb.output | 1706 + tests/examplefiles/{ => adl}/test.adls | 0 tests/examplefiles/adl/test.adls.output | 2709 ++ tests/examplefiles/{ => adl}/test_basic.adls | 0 tests/examplefiles/adl/test_basic.adls.output | 148 + tests/examplefiles/{ => agda}/test.agda | 0 tests/examplefiles/agda/test.agda.output | 1359 + .../examplefiles/{ => aheui}/durexmania.aheui | 0 .../aheui/durexmania.aheui.output | 326 + .../{ => aheui}/fibonacci.tokigun.aheui | 0 .../aheui/fibonacci.tokigun.aheui.output | 35 + .../{ => aheui}/hello-world.puzzlet.aheui | 0 .../aheui/hello-world.puzzlet.aheui.output | 166 + tests/examplefiles/{ => ahk}/demo.ahk | 0 tests/examplefiles/ahk/demo.ahk.output | 1631 + tests/examplefiles/{ => alloy}/example.als | 0 tests/examplefiles/alloy/example.als.output | 2179 ++ tests/examplefiles/amdgpu/amdgpu.isa | 10 + tests/examplefiles/amdgpu/amdgpu.isa.output | 130 + .../examplefiles/{ => antlr}/antlr_ANTLRv3.g | 0 .../examplefiles/antlr/antlr_ANTLRv3.g.output | 3218 ++ tests/examplefiles/{ => antlr}/antlr_throws | 0 tests/examplefiles/antlr/antlr_throws.output | 20 + .../{ => apacheconf}/apache2.conf | 0 .../apacheconf/apache2.conf.output | 1904 + tests/examplefiles/{ => apl}/test.apl | 0 tests/examplefiles/apl/test.apl.output | 254 + .../{ => applescript}/pppoe.applescript | 0 .../applescript/pppoe.applescript.output | 71 + .../{ => applescript}/unicode.applescript | 0 .../applescript/unicode.applescript.output | 30 + tests/examplefiles/{ => arduino}/Blink.ino | 0 tests/examplefiles/arduino/Blink.ino.output | 106 + tests/examplefiles/{ => arrow}/primesieve.arw | 0 .../examplefiles/arrow/primesieve.arw.output | 466 + tests/examplefiles/{ => as3}/as3_test.as | 0 tests/examplefiles/as3/as3_test.as.output | 840 + tests/examplefiles/{ => as3}/as3_test2.as | 0 tests/examplefiles/as3/as3_test2.as.output | 292 + tests/examplefiles/{ => as3}/as3_test3.as | 0 tests/examplefiles/as3/as3_test3.as.output | 34 + .../{ => aspx-cs}/aspx-cs_example | 0 .../aspx-cs/aspx-cs_example.output | 130 + .../examplefiles/{ => aspx-vb}/example2.aspx | 0 .../examplefiles/aspx-vb/example2.aspx.output | 137 + tests/examplefiles/{ => asy}/test.asy | 0 tests/examplefiles/asy/test.asy.output | 2102 + tests/examplefiles/{ => at}/hello.at | 0 tests/examplefiles/at/hello.at.output | 47 + .../{ => autoit}/autoit_submit.au3 | 2 + .../autoit/autoit_submit.au3.output | 211 + tests/examplefiles/{ => awk}/test.awk | 0 tests/examplefiles/awk/test.awk.output | 752 + tests/examplefiles/{ => bare}/bare.bare | 0 tests/examplefiles/bare/bare.bare.output | 213 + tests/examplefiles/{ => bash}/example.sh | 0 tests/examplefiles/bash/example.sh.output | 128 + tests/examplefiles/{ => bash}/ltmain.sh | 0 tests/examplefiles/bash/ltmain.sh.output | 17757 +++++++++ tests/examplefiles/{ => bash}/stripheredoc.sh | 0 .../examplefiles/bash/stripheredoc.sh.output | 4 + tests/examplefiles/{ => bat}/example.bat | 0 tests/examplefiles/bat/example.bat.output | 2028 + tests/examplefiles/{ => bbcbasic}/example.bbc | 0 .../examplefiles/bbcbasic/example.bbc.output | 1803 + tests/examplefiles/{ => bc}/example.bc | 0 tests/examplefiles/bc/example.bc.output | 514 + tests/examplefiles/{ => bib}/test.bib | 0 tests/examplefiles/bib/test.bib.output | 467 + tests/examplefiles/{ => blitzbasic}/test.bb | 0 tests/examplefiles/blitzbasic/test.bb.output | 849 + tests/examplefiles/{ => blitzmax}/test.bmx | 0 tests/examplefiles/blitzmax/test.bmx.output | 1063 + tests/examplefiles/{ => bnf}/bnf_example1.bnf | 0 .../examplefiles/bnf/bnf_example1.bnf.output | 131 + tests/examplefiles/{ => boa}/example.boa | 0 tests/examplefiles/boa/example.boa.output | 199 + tests/examplefiles/{ => boo}/test.boo | 0 tests/examplefiles/boo/test.boo.output | 279 + tests/examplefiles/{ => boogie}/test.bpl | 0 tests/examplefiles/boogie/test.bpl.output | 2311 ++ tests/examplefiles/{ => bst}/plain.bst | 0 tests/examplefiles/bst/plain.bst.output | 5029 +++ tests/examplefiles/{ => bugs}/example.bug | 0 tests/examplefiles/bugs/example.bug.output | 598 + tests/examplefiles/{ => c}/ceval.c | 0 tests/examplefiles/c/ceval.c.output | 20570 ++++++++++ tests/examplefiles/{ => c}/example.c | 0 tests/examplefiles/c/example.c.output | 14502 +++++++ tests/examplefiles/{ => c}/numbers.c | 0 tests/examplefiles/c/numbers.c.output | 84 + tests/examplefiles/{ => ca65}/ca65_example | 0 tests/examplefiles/ca65/ca65_example.output | 1011 + tests/examplefiles/{ => cadl}/example1.cadl | 0 tests/examplefiles/cadl/example1.cadl.output | 1082 + tests/examplefiles/{ => cadl}/test.cadl | 0 tests/examplefiles/cadl/test.cadl.output | 208 + tests/examplefiles/{ => camkes}/simple.camkes | 0 .../examplefiles/camkes/simple.camkes.output | 128 + .../{ => capdl}/capdl_example.cdl | 0 .../capdl/capdl_example.cdl.output | 308 + .../examplefiles/{ => cbmbas}/cbmbas_example | 0 .../examplefiles/cbmbas/cbmbas_example.output | 77 + tests/examplefiles/cddl/example.cddl | 377 + tests/examplefiles/cddl/example.cddl.output | 2665 ++ .../examplefiles/{ => ceylon}/example.ceylon | 0 .../examplefiles/ceylon/example.ceylon.output | 546 + .../examplefiles/{ => cfc}/exampleScript.cfc | 0 .../examplefiles/cfc/exampleScript.cfc.output | 1291 + tests/examplefiles/{ => cfc}/exampleTag.cfc | 0 tests/examplefiles/cfc/exampleTag.cfc.output | 158 + tests/examplefiles/{ => cfm}/demo.cfm | 0 tests/examplefiles/cfm/demo.cfm.output | 405 + tests/examplefiles/{ => chai}/example.chai | 0 tests/examplefiles/chai/example.chai.output | 101 + .../{ => chapel}/99_bottles_of_beer.chpl | 0 .../chapel/99_bottles_of_beer.chpl.output | 1587 + tests/examplefiles/{ => charmci}/Charmci.ci | 0 tests/examplefiles/charmci/Charmci.ci.output | 193 + .../{ => cheetah}/cheetah_example.html | 0 .../cheetah/cheetah_example.html.output | 36 + tests/examplefiles/{ => cirru}/scope.cirru | 0 tests/examplefiles/cirru/scope.cirru.output | 1911 + tests/examplefiles/{ => clay}/example.clay | 0 tests/examplefiles/clay/example.clay.output | 371 + tests/examplefiles/{ => clean}/StdGeneric.icl | 0 .../examplefiles/clean/StdGeneric.icl.output | 2008 + .../{ => clojure}/clojure-weird-keywords.clj | 0 .../clojure/clojure-weird-keywords.clj.output | 38 + .../{ => clojure}/escape_semicolon.clj | 0 .../clojure/escape_semicolon.clj.output | 21 + tests/examplefiles/{ => clojure}/genclass.clj | 0 .../examplefiles/clojure/genclass.clj.output | 3974 ++ .../{ => clojurescript}/core.cljs | 0 .../clojurescript/core.cljs.output | 355 + tests/examplefiles/{ => cmake}/main.cmake | 0 tests/examplefiles/cmake/main.cmake.output | 407 + tests/examplefiles/{ => cobol}/example.cob | 0 tests/examplefiles/cobol/example.cob.output | 20932 ++++++++++ .../{ => coffee-script}/example.coffee | 0 .../coffee-script/example.coffee.output | 160 + .../{ => coffee-script}/underscore.coffee | 0 .../coffee-script/underscore.coffee.output | 3988 ++ .../examplefiles/{ => common-lisp}/type.lisp | 0 .../examplefiles/common-lisp/type.lisp.output | 11329 ++++++ tests/examplefiles/conftest.py | 31 + .../{ => console}/example.sh-session | 0 .../console/example.sh-session.output | 61 + .../{ => console}/example.shell-session | 0 .../console/example.shell-session.output | 230 + .../{ => coq}/coq_RelationClasses | 0 .../coq/coq_RelationClasses.output | 4551 +++ tests/examplefiles/{ => cpp}/example.cpp | 2 +- tests/examplefiles/cpp/example.cpp.output | 17571 +++++++++ tests/examplefiles/{ => cpp}/example2.cpp | 0 tests/examplefiles/cpp/example2.cpp.output | 148 + tests/examplefiles/{ => cpp}/noexcept.cpp | 0 tests/examplefiles/cpp/noexcept.cpp.output | 164 + tests/examplefiles/{ => cpsa}/yahalom.cpsa | 0 tests/examplefiles/cpsa/yahalom.cpsa.output | 518 + tests/examplefiles/{ => cr}/test.cr | 4 +- tests/examplefiles/cr/test.cr.output | 12590 ++++++ tests/examplefiles/{ => crmsh}/example.pcmk | 0 tests/examplefiles/crmsh/example.pcmk.output | 1139 + tests/examplefiles/{ => croc}/simple.croc | 0 tests/examplefiles/croc/simple.croc.output | 4832 +++ tests/examplefiles/{ => csharp}/test.cs | 0 tests/examplefiles/csharp/test.cs.output | 2773 ++ .../{ => csound-document}/test.csd | 0 .../csound-document/test.csd.output | 66 + .../examplefiles/{ => csound-score}/test.sco | 0 .../examplefiles/csound-score/test.sco.output | 156 + tests/examplefiles/{ => csound}/test.orc | 0 tests/examplefiles/csound/test.orc.output | 519 + .../{ => css+mozpreproc}/demo.css.in | 0 .../css+mozpreproc/demo.css.in.output | 34 + tests/examplefiles/{ => css}/test.css | 0 tests/examplefiles/css/test.css.output | 357 + .../{ => css}/webkit-transition.css | 0 .../css/webkit-transition.css.output | 19 + .../{ => cucumber}/example.feature | 0 .../cucumber/example.feature.output | 198 + tests/examplefiles/{ => cuda}/test.cu | 0 tests/examplefiles/cuda/test.cu.output | 309 + tests/examplefiles/{ => cypher}/test.cyp | 0 tests/examplefiles/cypher/test.cyp.output | 1297 + .../examplefiles/{ => d}/string_delimiters.d | 0 .../examplefiles/d/string_delimiters.d.output | 174 + tests/examplefiles/{ => d}/test.d | 0 tests/examplefiles/d/test.d.output | 1020 + tests/examplefiles/{ => dart}/test.dart | 0 tests/examplefiles/dart/test.dart.output | 219 + tests/examplefiles/{ => delphi}/example.pas | 2 +- tests/examplefiles/delphi/example.pas.output | 23410 ++++++++++++ tests/examplefiles/{ => delphi}/test.pas | 0 tests/examplefiles/delphi/test.pas.output | 5089 +++ .../examplefiles/{ => devicetree}/example.dts | 0 .../devicetree/example.dts.output | 1209 + tests/examplefiles/{ => dg}/inet_pton6.dg | 0 tests/examplefiles/dg/inet_pton6.dg.output | 811 + .../{ => django}/django_sample.html+django | 0 .../django/django_sample.html+django.output | 814 + tests/examplefiles/{ => docker}/docker.docker | 0 .../examplefiles/docker/docker.docker.output | 186 + tests/examplefiles/{ => dtd}/test.dtd | 0 tests/examplefiles/dtd/test.dtd.output | 552 + .../{ => duel}/jbst_example1.jbst | 0 .../duel/jbst_example1.jbst.output | 199 + .../{ => duel}/jbst_example2.jbst | 0 .../duel/jbst_example2.jbst.output | 433 + .../{ => dylan-console}/session.dylan-console | 0 .../session.dylan-console.output | 73 + .../examplefiles/{ => dylan-lid}/unix-io.lid | 0 .../examplefiles/dylan-lid/unix-io.lid.output | 65 + tests/examplefiles/{ => dylan}/classes.dylan | 0 tests/examplefiles/dylan/classes.dylan.output | 946 + tests/examplefiles/{ => dylan}/nanomsg.intr | 0 tests/examplefiles/dylan/nanomsg.intr.output | 669 + .../{ => earl-grey}/eg_example1.eg | 0 .../earl-grey/eg_example1.eg.output | 1397 + .../examplefiles/{ => easytrieve}/example.ezt | 0 .../easytrieve/example.ezt.output | 189 + .../examplefiles/{ => easytrieve}/example.mac | 0 .../easytrieve/example.mac.output | 36 + tests/examplefiles/{ => ebnf}/test.ebnf | 0 tests/examplefiles/ebnf/test.ebnf.output | 487 + tests/examplefiles/{ => ec}/test.ec | 0 tests/examplefiles/ec/test.ec.output | 7106 ++++ tests/examplefiles/{ => ec}/test.eh | 0 tests/examplefiles/ec/test.eh.output | 1816 + tests/examplefiles/{ => eiffel}/example.e | 0 tests/examplefiles/eiffel/example.e.output | 728 + .../{ => elixir}/example_elixir.ex | 0 .../elixir/example_elixir.ex.output | 1869 + tests/examplefiles/{ => elm}/example.elm | 0 tests/examplefiles/elm/example.elm.output | 430 + tests/examplefiles/{ => emacs}/subr.el | 0 tests/examplefiles/emacs/subr.el.output | 31575 ++++++++++++++++ tests/examplefiles/{ => email}/example.eml | 0 tests/examplefiles/email/example.eml.output | 1076 + tests/examplefiles/{ => erl}/erl_session | 0 tests/examplefiles/erl/erl_session.output | 66 + tests/examplefiles/{ => erlang}/test.erl | 0 tests/examplefiles/erlang/test.erl.output | 1441 + tests/examplefiles/{ => erlang}/test.escript | 0 tests/examplefiles/erlang/test.escript.output | 16 + tests/examplefiles/{ => evoque}/test.evoque | 0 tests/examplefiles/evoque/test.evoque.output | 289 + .../examplefiles/{ => execline}/example.exec | 0 .../examplefiles/execline/example.exec.output | 249 + .../examplefiles/{ => extempore}/example.xtm | 0 .../examplefiles/extempore/example.xtm.output | 7375 ++++ .../{ => ezhil}/ezhil_primefactors.n | 0 .../ezhil/ezhil_primefactors.n.output | 729 + tests/examplefiles/{ => factor}/wiki.factor | 0 tests/examplefiles/factor/wiki.factor.output | 2267 ++ tests/examplefiles/{ => fan}/test.fan | 0 tests/examplefiles/fan/test.fan.output | 11649 ++++++ .../examplefiles/{ => fancy}/example_file.fy | 0 .../examplefiles/fancy/example_file.fy.output | 795 + tests/examplefiles/{ => felix}/test.flx | 0 tests/examplefiles/felix/test.flx.output | 610 + .../examplefiles/{ => fennel}/fennelview.fnl | 0 .../examplefiles/fennel/fennelview.fnl.output | 1769 + tests/examplefiles/{ => fish}/example.fish | 0 tests/examplefiles/fish/example.fish.output | 3231 ++ .../{ => flatline}/flatline_example | 0 .../flatline/flatline_example.output | 1727 + .../examplefiles/{ => floscript}/example.flo | 0 .../examplefiles/floscript/example.flo.output | 314 + tests/examplefiles/{ => forth}/demo.frt | 0 tests/examplefiles/forth/demo.frt.output | 36 + tests/examplefiles/{ => fortran}/example.f90 | 0 tests/examplefiles/fortran/example.f90.output | 63 + tests/examplefiles/{ => fortran}/zmlrpc.f90 | 0 tests/examplefiles/fortran/zmlrpc.f90.output | 6454 ++++ tests/examplefiles/{ => fortranfixed}/ahcon.f | 0 .../examplefiles/fortranfixed/ahcon.f.output | 2050 + tests/examplefiles/{ => foxpro}/example.prg | 0 tests/examplefiles/foxpro/example.prg.output | 1764 + tests/examplefiles/{ => freefem}/freefem.edp | 0 tests/examplefiles/freefem/freefem.edp.output | 819 + tests/examplefiles/{ => fsharp}/Deflate.fs | 0 tests/examplefiles/fsharp/Deflate.fs.output | 6744 ++++ tests/examplefiles/{ => fstar}/example.fst | 0 tests/examplefiles/fstar/example.fst.output | 14511 +++++++ tests/examplefiles/futhark/example.fut | 16 + tests/examplefiles/futhark/example.fut.output | 239 + tests/examplefiles/{ => gap}/example.gd | 0 tests/examplefiles/gap/example.gd.output | 94 + tests/examplefiles/{ => gap}/example.gi | 0 tests/examplefiles/gap/example.gi.output | 615 + .../{ => gdscript}/gdscript_example.gd | 0 .../gdscript/gdscript_example.gd.output | 486 + .../{ => genshi}/genshi_example.xml+genshi | 0 .../genshi/genshi_example.xml+genshi.output | 1714 + .../genshitext_example.genshitext | 0 .../genshitext_example.genshitext.output | 207 + tests/examplefiles/{ => glsl}/glsl.frag | 0 tests/examplefiles/glsl/glsl.frag.output | 59 + tests/examplefiles/{ => glsl}/glsl.vert | 0 tests/examplefiles/glsl/glsl.vert.output | 106 + tests/examplefiles/{ => gnuplot}/test.plot | 0 tests/examplefiles/gnuplot/test.plot.output | 5642 +++ tests/examplefiles/{ => go}/unicode.go | 0 tests/examplefiles/go/unicode.go.output | 59 + tests/examplefiles/{ => golo}/example.golo | 0 tests/examplefiles/golo/example.golo.output | 856 + tests/examplefiles/{ => golo}/hello.golo | 0 tests/examplefiles/golo/hello.golo.output | 31 + tests/examplefiles/{ => gooddata-cl}/test.gdc | 0 .../examplefiles/gooddata-cl/test.gdc.output | 110 + tests/examplefiles/{ => gosu}/example.gs | 0 tests/examplefiles/gosu/example.gs.output | 1106 + tests/examplefiles/graphviz/graphviz-dot.gv | 12 + .../graphviz/graphviz-dot.gv.output | 72 + tests/examplefiles/{ => groff}/perlfunc.1 | 0 tests/examplefiles/groff/perlfunc.1.output | 8447 +++++ .../examplefiles/{ => groovy}/example.groovy | 0 .../examplefiles/groovy/example.groovy.output | 7 + tests/examplefiles/{ => groovy}/test.gradle | 0 tests/examplefiles/groovy/test.gradle.output | 109 + tests/examplefiles/{ => groovy}/test.groovy | 0 tests/examplefiles/groovy/test.groovy.output | 775 + tests/examplefiles/{ => gst}/example.gst | 0 tests/examplefiles/gst/example.gst.output | 73 + .../{ => haskell}/AcidStateAdvanced.hs | 0 .../haskell/AcidStateAdvanced.hs.output | 2280 ++ .../examplefiles/{ => haskell}/SmallCheck.hs | 0 .../examplefiles/haskell/SmallCheck.hs.output | 4638 +++ tests/examplefiles/{ => haskell}/example.hs | 0 tests/examplefiles/haskell/example.hs.output | 313 + .../{ => hexdump}/hexdump_debugexe | 0 .../hexdump/hexdump_debugexe.output | 12333 ++++++ tests/examplefiles/{ => hexdump}/hexdump_hd | 0 tests/examplefiles/hexdump/hexdump_hd.output | 12645 +++++++ .../examplefiles/{ => hexdump}/hexdump_hexcat | 0 .../hexdump/hexdump_hexcat.output | 12083 ++++++ .../{ => hexdump}/hexdump_hexdump | 0 .../hexdump/hexdump_hexdump.output | 8312 ++++ tests/examplefiles/{ => hexdump}/hexdump_od | 0 tests/examplefiles/hexdump/hexdump_od.output | 12029 ++++++ tests/examplefiles/{ => hexdump}/hexdump_xxd | 0 tests/examplefiles/hexdump/hexdump_xxd.output | 9250 +++++ tests/examplefiles/{ => hlsl}/example.hlsl | 0 tests/examplefiles/hlsl/example.hlsl.output | 1252 + tests/examplefiles/{ => hsail}/test.hsail | 0 tests/examplefiles/hsail/test.hsail.output | 537 + .../{ => html+handlebars}/demo.hbs | 0 .../html+handlebars/demo.hbs.output | 239 + .../{ => html+handlebars}/ember.handlebars | 0 .../html+handlebars/ember.handlebars.output | 279 + tests/examplefiles/{ => html+ng2}/example.ng2 | 0 .../examplefiles/html+ng2/example.ng2.output | 123 + .../{ => html+php}/html+php_faulty.php | 0 .../html+php/html+php_faulty.php.output | 2 + tests/examplefiles/{ => html}/example.xhtml | 2 +- tests/examplefiles/html/example.xhtml.output | 2554 ++ tests/examplefiles/{ => html}/test.html | 0 tests/examplefiles/html/test.html.output | 12188 ++++++ .../{ => http}/http_request_example | 0 .../http/http_request_example.output | 93 + .../{ => http}/http_response_example | 0 .../http/http_response_example.output | 497 + tests/examplefiles/{ => hx}/OrderedMap.hx | 0 tests/examplefiles/hx/OrderedMap.hx.output | 3776 ++ tests/examplefiles/{ => hx}/example.hx | 0 tests/examplefiles/hx/example.hx.output | 1712 + .../examplefiles/{ => hybris}/hybris_File.hy | 0 .../examplefiles/hybris/hybris_File.hy.output | 1389 + tests/examplefiles/{ => hylang}/language.hy | 0 tests/examplefiles/hylang/language.hy.output | 1178 + tests/examplefiles/{ => i6t}/example.i6t | 0 tests/examplefiles/i6t/example.i6t.output | 94 + tests/examplefiles/{ => icon}/example.icon | 0 tests/examplefiles/icon/example.icon.output | 2968 ++ tests/examplefiles/{ => idl}/idl_sample.pro | 0 tests/examplefiles/idl/idl_sample.pro.output | 604 + tests/examplefiles/{ => idris}/test.idr | 0 tests/examplefiles/idris/test.idr.output | 1586 + tests/examplefiles/{ => iex}/iex_example | 0 tests/examplefiles/iex/iex_example.output | 118 + .../{ => inform6}/inform6_example | 0 .../inform6/inform6_example.output | 4140 ++ tests/examplefiles/{ => inform7}/example.i7x | 0 tests/examplefiles/inform7/example.i7x.output | 178 + tests/examplefiles/{ => inform7}/example.ni | 0 tests/examplefiles/inform7/example.ni.output | 296 + tests/examplefiles/{ => ini}/test.ini | 0 tests/examplefiles/ini/test.ini.output | 31 + tests/examplefiles/{ => ioke}/intro.ik | 0 tests/examplefiles/ioke/intro.ik.output | 213 + .../examplefiles/{ => irc}/example.weechatlog | 0 .../irc/example.weechatlog.output | 43 + tests/examplefiles/{ => isabelle}/example.thy | 0 .../examplefiles/isabelle/example.thy.output | 5431 +++ tests/examplefiles/{ => j}/pacman.ijs | 0 tests/examplefiles/j/pacman.ijs.output | 16746 ++++++++ tests/examplefiles/{ => jags}/example.jag | 0 tests/examplefiles/jags/example.jag.output | 578 + tests/examplefiles/{ => jasmin}/example.j | 0 tests/examplefiles/jasmin/example.j.output | 3221 ++ tests/examplefiles/{ => java}/Intro.java | 0 tests/examplefiles/java/Intro.java.output | 20022 ++++++++++ tests/examplefiles/{ => java}/badcase.java | 0 tests/examplefiles/java/badcase.java.output | 15 + tests/examplefiles/{ => java}/example.java | 0 tests/examplefiles/java/example.java.output | 97 + tests/examplefiles/{ => java}/test.java | 0 tests/examplefiles/java/test.java.output | 4634 +++ .../{ => javascript+mozpreproc}/demo.js.in | 0 .../javascript+mozpreproc/demo.js.in.output | 36 + tests/examplefiles/{ => jcl}/example.jcl | 0 tests/examplefiles/jcl/example.jcl.output | 391 + tests/examplefiles/{ => js}/BOM.js | 0 tests/examplefiles/js/BOM.js.output | 3 + tests/examplefiles/{ => js}/es6.js | 0 tests/examplefiles/js/es6.js.output | 407 + tests/examplefiles/{ => js}/evil_regex.js | 0 tests/examplefiles/js/evil_regex.js.output | 481 + tests/examplefiles/{ => js}/regex.js | 0 tests/examplefiles/js/regex.js.output | 150 + tests/examplefiles/{ => js}/unicode.js | 0 tests/examplefiles/js/unicode.js.output | 29 + tests/examplefiles/{ => jsgf}/example.jsgf | 0 tests/examplefiles/jsgf/example.jsgf.output | 201 + .../examplefiles/{ => jsonld}/example.jsonld | 0 .../examplefiles/jsonld/example.jsonld.output | 127 + tests/examplefiles/{ => jsp}/test.jsp | 0 tests/examplefiles/jsp/test.jsp.output | 232 + tests/examplefiles/{ => julia}/string.jl | 0 tests/examplefiles/julia/string.jl.output | 12440 ++++++ .../examplefiles/{ => juttle}/example.juttle | 0 .../examplefiles/juttle/example.juttle.output | 483 + tests/examplefiles/{ => kal}/example.kal | 0 tests/examplefiles/kal/example.kal.output | 323 + .../{ => kconfig}/Config.in.cache | 0 .../kconfig/Config.in.cache.output | 10030 +++++ tests/examplefiles/{ => kmsg}/example.dmesg | 0 tests/examplefiles/kmsg/example.dmesg.output | 150 + tests/examplefiles/{ => koka}/garcia-wachs.kk | 0 .../examplefiles/koka/garcia-wachs.kk.output | 1365 + tests/examplefiles/{ => kotlin}/example.kt | 0 tests/examplefiles/kotlin/example.kt.output | 363 + tests/examplefiles/{ => lagda}/example.lagda | 0 tests/examplefiles/lagda/example.lagda.output | 104 + tests/examplefiles/{ => lasso}/json.lasso | 0 tests/examplefiles/lasso/json.lasso.output | 4175 ++ tests/examplefiles/{ => lasso}/json.lasso9 | 0 tests/examplefiles/lasso/json.lasso9.output | 2241 ++ tests/examplefiles/{ => lean}/test.lean | 0 tests/examplefiles/lean/test.lean.output | 3607 ++ .../examplefiles/{ => lhs}/DancingSudoku.lhs | 0 .../examplefiles/lhs/DancingSudoku.lhs.output | 4519 +++ tests/examplefiles/{ => lhs}/Sudoku.lhs | 0 tests/examplefiles/lhs/Sudoku.lhs.output | 4351 +++ .../{ => lighty}/lighttpd_config.conf | 0 .../lighty/lighttpd_config.conf.output | 83 + tests/examplefiles/{ => limbo}/limbo.b | 0 tests/examplefiles/limbo/limbo.b.output | 5514 +++ .../examplefiles/{ => liquid}/example.liquid | 0 .../examplefiles/liquid/example.liquid.output | 343 + .../{ => live-script}/livescript-demo.ls | 0 .../live-script/livescript-demo.ls.output | 387 + .../examplefiles/{ => llvm-mir}/llvm-mir.mir | 0 .../examplefiles/llvm-mir/llvm-mir.mir.output | 211 + .../examplefiles/{ => logos}/logos_example.xm | 0 .../logos/logos_example.xm.output | 152 + tests/examplefiles/{ => logtalk}/source.lgt | 0 tests/examplefiles/logtalk/source.lgt.output | 2882 ++ tests/examplefiles/{ => lsl}/hello.lsl | 0 tests/examplefiles/lsl/hello.lsl.output | 65 + tests/examplefiles/{ => lua}/example.lua | 0 tests/examplefiles/lua/example.lua.output | 1892 + tests/examplefiles/{ => make}/Makefile | 0 tests/examplefiles/make/Makefile.output | 8421 +++++ tests/examplefiles/{ => make}/automake.mk | 0 tests/examplefiles/make/automake.mk.output | 26 + tests/examplefiles/{ => make}/firefox.mak | 0 tests/examplefiles/make/firefox.mak.output | 2586 ++ .../examplefiles/{ => make}/python25-bsd.mak | 0 .../examplefiles/make/python25-bsd.mak.output | 1677 + tests/examplefiles/{ => make}/vpath.mk | 0 tests/examplefiles/make/vpath.mk.output | 107 + tests/examplefiles/{ => maql}/test.maql | 0 tests/examplefiles/maql/test.maql.output | 328 + tests/examplefiles/{ => mask}/test.mask | 0 tests/examplefiles/mask/test.mask.output | 314 + .../examplefiles/{ => mathematica}/example.ma | 0 .../mathematica/example.ma.output | 85 + .../examplefiles/{ => matlab}/matlab_noreturn | 0 .../matlab/matlab_noreturn.output | 17 + tests/examplefiles/{ => matlab}/matlab_sample | 0 .../examplefiles/matlab/matlab_sample.output | 192 + .../matlabsession_sample.txt | 0 .../matlabsession_sample.txt.output | 115 + tests/examplefiles/{ => md}/example.md | 0 tests/examplefiles/md/example.md.output | 389 + .../examplefiles/{ => mime}/MIME_example.eml | 0 .../examplefiles/mime/MIME_example.eml.output | 115 + .../examplefiles/{ => modelica}/Constants.mo | 0 .../examplefiles/modelica/Constants.mo.output | 1421 + tests/examplefiles/{ => modula2}/Sorting.mod | 0 tests/examplefiles/modula2/Sorting.mod.output | 4198 ++ .../{ => modula2}/modula2_test_cases.def | 0 .../modula2/modula2_test_cases.def.output | 2080 + tests/examplefiles/{ => modula2}/test.mod | 0 tests/examplefiles/modula2/test.mod.output | 1536 + .../examplefiles/{ => monkey}/example.monkey | 0 .../examplefiles/monkey/example.monkey.output | 825 + tests/examplefiles/{ => monte}/test.mt | 0 tests/examplefiles/monte/test.mt.output | 78 + tests/examplefiles/{ => moocode}/example.moo | 0 tests/examplefiles/moocode/example.moo.output | 226 + tests/examplefiles/{ => moocode}/test.moo | 0 tests/examplefiles/moocode/test.moo.output | 609 + tests/examplefiles/{ => moon}/example.moon | 0 tests/examplefiles/moon/example.moon.output | 6244 +++ tests/examplefiles/{ => mosel}/test.mos | 0 tests/examplefiles/mosel/test.mos.output | 279 + tests/examplefiles/{ => mql}/example.mq4 | 0 tests/examplefiles/mql/example.mq4.output | 1572 + tests/examplefiles/{ => mql}/example.mqh | 0 tests/examplefiles/mql/example.mqh.output | 833 + tests/examplefiles/{ => ms}/example.ms | 0 tests/examplefiles/ms/example.ms.output | 3516 ++ tests/examplefiles/{ => mscgen}/example.msc | 0 tests/examplefiles/mscgen/example.msc.output | 521 + tests/examplefiles/{ => mscgen}/example2.msc | 0 tests/examplefiles/mscgen/example2.msc.output | 517 + .../{ => mupad}/AlternatingGroup.mu | 2 +- .../mupad/AlternatingGroup.mu.output | 1697 + tests/examplefiles/{ => mupad}/function.mu | 0 tests/examplefiles/mupad/function.mu.output | 5 + tests/examplefiles/{ => myghty}/test.myt | 0 tests/examplefiles/myghty/test.myt.output | 1624 + tests/examplefiles/{ => nasm}/nasm_aoutso.asm | 0 .../examplefiles/nasm/nasm_aoutso.asm.output | 589 + tests/examplefiles/{ => nasm}/nasm_objexe.asm | 0 .../examplefiles/nasm/nasm_objexe.asm.output | 145 + tests/examplefiles/{ => ncl}/test.ncl | 0 tests/examplefiles/ncl/test.ncl.output | 123 + .../{ => nemerle}/nemerle_sample.n | 0 .../nemerle/nemerle_sample.n.output | 722 + tests/examplefiles/{ => nesc}/IPDispatchC.nc | 0 tests/examplefiles/nesc/IPDispatchC.nc.output | 544 + tests/examplefiles/{ => nesc}/IPDispatchP.nc | 0 tests/examplefiles/nesc/IPDispatchP.nc.output | 5054 +++ tests/examplefiles/{ => newlisp}/irc.lsp | 0 tests/examplefiles/newlisp/irc.lsp.output | 2506 ++ tests/examplefiles/{ => newlisp}/markdown.lsp | 0 .../examplefiles/newlisp/markdown.lsp.output | 5279 +++ tests/examplefiles/{ => newlisp}/reversi.lsp | 0 tests/examplefiles/newlisp/reversi.lsp.output | 3236 ++ tests/examplefiles/{ => newspeak}/example.ns2 | 0 .../examplefiles/newspeak/example.ns2.output | 319 + tests/examplefiles/{ => newspeak}/minimal.ns2 | 0 .../examplefiles/newspeak/minimal.ns2.output | 87 + .../examplefiles/{ => nginx}/nginx_nginx.conf | 0 .../nginx/nginx_nginx.conf.output | 413 + tests/examplefiles/{ => nim}/example.nim | 0 tests/examplefiles/nim/example.nim.output | 8968 +++++ tests/examplefiles/{ => nim}/test.nim | 0 tests/examplefiles/nim/test.nim.output | 746 + tests/examplefiles/{ => nit}/all.nit | 0 tests/examplefiles/nit/all.nit.output | 11756 ++++++ tests/examplefiles/{ => nixos}/example.nix | 0 tests/examplefiles/nixos/example.nix.output | 1326 + .../{ => notmuch}/notmuch_example | 0 .../notmuch/notmuch_example.output | 52 + tests/examplefiles/{ => nsis}/bigtest.nsi | 0 tests/examplefiles/nsis/bigtest.nsi.output | 4702 +++ tests/examplefiles/{ => nusmv}/guidance.smv | 0 tests/examplefiles/nusmv/guidance.smv.output | 8305 ++++ .../{ => objective-c}/objc_example.m | 0 .../objective-c/objc_example.m.output | 1227 + .../{ => objective-j}/CPDictionary.j | 0 .../objective-j/CPDictionary.j.output | 2275 ++ tests/examplefiles/{ => ocaml}/format.ml | 0 tests/examplefiles/ocaml/format.ml.output | 11547 ++++++ tests/examplefiles/{ => odin}/test.odin | 0 tests/examplefiles/odin/test.odin.output | 338 + tests/examplefiles/{ => odin}/test2.odin | 0 tests/examplefiles/odin/test2.odin.output | 309 + tests/examplefiles/{ => opa}/test.opa | 0 tests/examplefiles/opa/test.opa.output | 48 + tests/examplefiles/{ => openedge}/example.cls | 0 .../examplefiles/openedge/example.cls.output | 112 + .../{ => openedge}/openedge_example | 0 .../openedge/openedge_example.output | 386 + .../examplefiles/{ => pacmanconf}/pacman.conf | 0 .../pacmanconf/pacman.conf.output | 443 + tests/examplefiles/{ => pan}/test.pan | 0 tests/examplefiles/pan/test.pan.output | 293 + tests/examplefiles/{ => parasail}/test.psl | 0 tests/examplefiles/parasail/test.psl.output | 1547 + tests/examplefiles/{ => pawn}/pawn_example | 0 tests/examplefiles/pawn/pawn_example.output | 220 + tests/examplefiles/{ => pawn}/test.pwn | 0 tests/examplefiles/pawn/test.pwn.output | 1999 + tests/examplefiles/{ => perl}/perl_misc | 0 tests/examplefiles/perl/perl_misc.output | 387 + tests/examplefiles/{ => perl}/perl_perl5db | 0 tests/examplefiles/perl/perl_perl5db.output | 4120 ++ .../examplefiles/{ => perl}/perl_regex-delims | 0 .../perl/perl_regex-delims.output | 800 + tests/examplefiles/{ => perl6}/RoleQ.pm6 | 0 tests/examplefiles/perl6/RoleQ.pm6.output | 383 + .../examplefiles/{ => perl6}/grammar-test.p6 | 0 .../examplefiles/perl6/grammar-test.p6.output | 221 + tests/examplefiles/{ => perl6}/test.p6 | 0 tests/examplefiles/perl6/test.p6.output | 1426 + tests/examplefiles/{ => php}/ints.php | 0 tests/examplefiles/php/ints.php.output | 63 + tests/examplefiles/{ => php}/test.php | 0 tests/examplefiles/php/test.php.output | 3104 ++ tests/examplefiles/{ => pig}/test.pig | 0 tests/examplefiles/pig/test.pig.output | 702 + tests/examplefiles/{ => pike}/Error.pmod | 0 tests/examplefiles/pike/Error.pmod.output | 292 + tests/examplefiles/{ => pike}/FakeFile.pike | 0 tests/examplefiles/pike/FakeFile.pike.output | 2658 ++ .../{ => pkgconfig}/pkgconfig_example.pc | 0 .../pkgconfig/pkgconfig_example.pc.output | 109 + .../examplefiles/{ => pointless}/example.ptls | 0 .../pointless/example.ptls.output | 172 + tests/examplefiles/{ => pony}/example.pony | 0 tests/examplefiles/pony/example.pony.output | 121 + .../{ => postgresql}/postgresql_test.txt | 0 .../postgresql/postgresql_test.txt.output | 460 + tests/examplefiles/{ => postscript}/cells.ps | 0 tests/examplefiles/postscript/cells.ps.output | 2742 ++ tests/examplefiles/{ => pot}/de.MoinMoin.po | 0 tests/examplefiles/pot/de.MoinMoin.po.output | 9205 +++++ tests/examplefiles/{ => pov}/sphere.pov | 0 tests/examplefiles/pov/sphere.pov.output | 106 + tests/examplefiles/{ => pov}/while.pov | 0 tests/examplefiles/pov/while.pov.output | 89 + .../Get-CommandDefinitionHtml.ps1 | 0 .../Get-CommandDefinitionHtml.ps1.output | 688 + tests/examplefiles/{ => powershell}/test.ps1 | 0 tests/examplefiles/powershell/test.ps1.output | 955 + tests/examplefiles/{ => praat}/example.praat | 0 tests/examplefiles/praat/example.praat.output | 2819 ++ tests/examplefiles/{ => prolog}/qsort.prolog | 0 tests/examplefiles/prolog/qsort.prolog.output | 165 + .../examplefiles/{ => prolog}/sibling.prolog | 0 .../examplefiles/prolog/sibling.prolog.output | 142 + .../examplefiles/{ => promql}/example.promql | 0 .../examplefiles/promql/example.promql.output | 57 + .../{ => properties}/java.properties | 0 .../properties/java.properties.output | 50 + .../{ => protobuf}/addressbook.proto | 0 .../protobuf/addressbook.proto.output | 214 + .../examplefiles/{ => psql}/psql_session.txt | 0 .../examplefiles/psql/psql_session.txt.output | 588 + .../examplefiles/{ => psysh}/psysh_test.psysh | 0 .../psysh/psysh_test.psysh.output | 266 + tests/examplefiles/{ => puppet}/example.pp | 0 tests/examplefiles/puppet/example.pp.output | 50 + .../{ => pycon}/pycon_ctrlc_traceback | 0 .../pycon/pycon_ctrlc_traceback.output | 572 + .../examplefiles/{ => pycon}/pycon_test.pycon | 0 .../pycon/pycon_test.pycon.output | 63 + tests/examplefiles/{ => pypylog}/test.pypylog | 0 .../examplefiles/pypylog/test.pypylog.output | 26486 +++++++++++++ .../examplefiles/{ => pypylog}/test2.pypylog | 0 .../examplefiles/pypylog/test2.pypylog.output | 2052 + tests/examplefiles/{ => pytb}/database.pytb | 0 tests/examplefiles/pytb/database.pytb.output | 166 + .../examplefiles/{ => pytb}/py3tb_test.py3tb | 0 .../examplefiles/pytb/py3tb_test.py3tb.output | 21 + tests/examplefiles/{ => pytb}/pytb_test2.pytb | 0 .../examplefiles/pytb/pytb_test2.pytb.output | 11 + tests/examplefiles/{ => pytb}/pytb_test3.pytb | 0 .../examplefiles/pytb/pytb_test3.pytb.output | 31 + tests/examplefiles/{ => pytb}/truncated.pytb | 0 tests/examplefiles/pytb/truncated.pytb.output | 157 + .../{ => python}/linecontinuation.py | 0 .../python/linecontinuation.py.output | 189 + tests/examplefiles/{ => python}/py3_test.txt | 0 tests/examplefiles/python/py3_test.txt.output | 9 + tests/examplefiles/{ => python}/unicodedoc.py | 0 .../examplefiles/python/unicodedoc.py.output | 58 + .../examplefiles/{ => qbasic}/qbasic_example | 0 .../examplefiles/qbasic/qbasic_example.output | 19 + tests/examplefiles/{ => qml}/minehunt.qml | 0 tests/examplefiles/qml/minehunt.qml.output | 405 + tests/examplefiles/{ => qvto}/sample.qvto | 0 tests/examplefiles/qvto/sample.qvto.output | 27 + tests/examplefiles/{ => racket}/example.rkt | 0 tests/examplefiles/racket/example.rkt.output | 4152 ++ .../{ => ragel-cpp}/ragel-cpp_rlscan | 0 .../ragel-cpp/ragel-cpp_rlscan.output | 1994 + .../{ => ragel-cpp}/ragel-cpp_snippet | 0 .../ragel-cpp/ragel-cpp_snippet.output | 12 + tests/examplefiles/{ => rb}/condensed_ruby.rb | 0 .../examplefiles/rb/condensed_ruby.rb.output | 360 + tests/examplefiles/{ => rb}/example.rb | 0 tests/examplefiles/rb/example.rb.output | 10300 +++++ tests/examplefiles/{ => rb}/fucked_up.rb | 0 tests/examplefiles/rb/fucked_up.rb.output | 393 + tests/examplefiles/{ => rb}/hash_syntax.rb | 0 tests/examplefiles/rb/hash_syntax.rb.output | 65 + .../{ => rb}/multiline_regexes.rb | 0 .../rb/multiline_regexes.rb.output | 120 + tests/examplefiles/{ => rb}/pleac.in.rb | 0 tests/examplefiles/rb/pleac.in.rb.output | 9457 +++++ tests/examplefiles/{ => rb}/ruby_func_def.rb | 0 tests/examplefiles/rb/ruby_func_def.rb.output | 72 + tests/examplefiles/{ => rb}/test.rb | 0 tests/examplefiles/rb/test.rb.output | 1195 + tests/examplefiles/{ => rbcon}/irb_heredoc | 0 tests/examplefiles/rbcon/irb_heredoc.output | 24 + .../{ => rconsole}/r-console-transcript.Rout | 0 .../rconsole/r-console-transcript.Rout.output | 130 + tests/examplefiles/{ => rd}/example.Rd | 0 tests/examplefiles/rd/example.Rd.output | 532 + tests/examplefiles/{ => reason}/test.re | 0 tests/examplefiles/reason/test.re.output | 637 + tests/examplefiles/{ => rebol}/test.r3 | 0 tests/examplefiles/rebol/test.r3.output | 533 + tests/examplefiles/{ => red}/example.red | 0 tests/examplefiles/red/example.red.output | 1410 + tests/examplefiles/{ => red}/example.reds | 0 tests/examplefiles/red/example.reds.output | 855 + tests/examplefiles/{ => redcode}/dwarf.cw | 0 tests/examplefiles/redcode/dwarf.cw.output | 94 + tests/examplefiles/{ => registry}/example.reg | 0 .../examplefiles/registry/example.reg.output | 82 + .../{ => resource}/resourcebundle_demo | 0 .../resource/resourcebundle_demo.output | 65 + tests/examplefiles/{ => rexx}/example.rexx | 0 tests/examplefiles/rexx/example.rexx.output | 450 + tests/examplefiles/{ => rhtml}/example.rhtml | 0 tests/examplefiles/rhtml/example.rhtml.output | 4969 +++ tests/examplefiles/{ => rhtml}/test.rhtml | 0 tests/examplefiles/rhtml/test.rhtml.output | 384 + tests/examplefiles/{ => ride}/auction.ride | 0 tests/examplefiles/ride/auction.ride.output | 1816 + tests/examplefiles/{ => rnc}/rnc_example.rnc | 0 tests/examplefiles/rnc/rnc_example.rnc.output | 403 + .../{ => roboconf-graph}/roboconf.graph | 0 .../roboconf-graph/roboconf.graph.output | 362 + .../roboconf.instances | 0 .../roboconf.instances.output | 148 + .../robotframework_test.txt | 0 .../robotframework_test.txt.output | 221 + tests/examplefiles/{ => rql}/rql-queries.rql | 0 tests/examplefiles/rql/rql-queries.rql.output | 1199 + tests/examplefiles/{ => rsl}/test.rsl | 0 tests/examplefiles/rsl/test.rsl.output | 2551 ++ tests/examplefiles/{ => rst}/functional.rst | 0 tests/examplefiles/rst/functional.rst.output | 4111 ++ .../{ => rst}/jinjadesignerdoc.rst | 0 .../rst/jinjadesignerdoc.rst.output | 3912 ++ tests/examplefiles/{ => rts}/example.rts | 0 tests/examplefiles/rts/example.rts.output | 1610 + tests/examplefiles/{ => rust}/eval.rs | 0 tests/examplefiles/rust/eval.rs.output | 7339 ++++ tests/examplefiles/{ => sc}/example.scd | 0 tests/examplefiles/sc/example.scd.output | 495 + tests/examplefiles/{ => scala}/Errors.scala | 0 tests/examplefiles/scala/Errors.scala.output | 176 + tests/examplefiles/{ => scala}/char.scala | 0 tests/examplefiles/scala/char.scala.output | 11 + tests/examplefiles/{ => scala}/interp.scala | 0 tests/examplefiles/scala/interp.scala.output | 140 + tests/examplefiles/{ => scaml}/test.scaml | 0 tests/examplefiles/scaml/test.scaml.output | 82 + .../examplefiles/{ => scdoc}/scdoc_manual.scd | 0 .../scdoc/scdoc_manual.scd.output | 1621 + tests/examplefiles/{ => scheme}/boot-9.scm | 0 tests/examplefiles/scheme/boot-9.scm.output | 10825 ++++++ .../{ => scheme}/r6rs-comments.scm | 0 .../scheme/r6rs-comments.scm.output | 57 + tests/examplefiles/{ => scilab}/foo.sce | 0 tests/examplefiles/scilab/foo.sce.output | 25 + tests/examplefiles/{ => scilab}/scilab.sci | 0 tests/examplefiles/scilab/scilab.sci.output | 235 + tests/examplefiles/{ => sgf}/example.sgf | 0 tests/examplefiles/sgf/example.sgf.output | 1046 + tests/examplefiles/{ => shen}/test.shen | 0 tests/examplefiles/shen/test.shen.output | 1365 + tests/examplefiles/{ => shexc}/example.shex | 0 tests/examplefiles/shexc/example.shex.output | 154 + tests/examplefiles/{ => sieve}/example.sieve | 0 tests/examplefiles/sieve/example.sieve.output | 314 + tests/examplefiles/{ => silver}/test.sil | 0 tests/examplefiles/silver/test.sil.output | 2397 ++ .../{ => singularity}/Singularity | 0 .../singularity/Singularity.output | 327 + tests/examplefiles/{ => slim}/example.slim | 0 tests/examplefiles/slim/example.slim.output | 176 + tests/examplefiles/{ => slurm}/example.sl | 0 tests/examplefiles/slurm/example.sl.output | 14 + tests/examplefiles/{ => smali}/hello.smali | 0 tests/examplefiles/smali/hello.smali.output | 199 + tests/examplefiles/{ => smalltalk}/Object.st | 0 tests/examplefiles/smalltalk/Object.st.output | 21150 +++++++++++ .../{ => smarty}/smarty_example.html | 0 .../smarty/smarty_example.html.output | 933 + tests/examplefiles/{ => sml}/example.sml | 0 tests/examplefiles/sml/example.sml.output | 1982 + tests/examplefiles/{ => sml}/intsyn.fun | 0 tests/examplefiles/sml/intsyn.fun.output | 14939 ++++++++ tests/examplefiles/{ => sml}/intsyn.sig | 0 tests/examplefiles/sml/intsyn.sig.output | 6976 ++++ .../examplefiles/{ => snobol}/example.snobol | 0 .../examplefiles/snobol/example.snobol.output | 139 + tests/examplefiles/{ => snowball}/example.sbl | 0 .../examplefiles/snowball/example.sbl.output | 887 + tests/examplefiles/{ => solidity}/test.sol | 0 tests/examplefiles/solidity/test.sol.output | 407 + .../{ => sourceslist}/sources.list | 0 .../sourceslist/sources.list.output | 359 + tests/examplefiles/{ => sp}/hello.sp | 0 tests/examplefiles/sp/hello.sp.output | 34 + tests/examplefiles/{ => sparql}/sparql.rq | 0 tests/examplefiles/sparql/sparql.rq.output | 510 + tests/examplefiles/{ => spec}/phpMyAdmin.spec | 0 .../examplefiles/spec/phpMyAdmin.spec.output | 4307 +++ tests/examplefiles/{ => splus}/test.R | 0 tests/examplefiles/splus/test.R.output | 1088 + .../{ => sqlite3}/sqlite3.sqlite3-console | 0 .../sqlite3/sqlite3.sqlite3-console.output | 99 + tests/examplefiles/{ => squidconf}/squid.conf | 0 .../examplefiles/squidconf/squid.conf.output | 283 + tests/examplefiles/{ => ssp}/test.ssp | 0 tests/examplefiles/ssp/test.ssp.output | 77 + tests/examplefiles/{ => stan}/example.stan | 0 tests/examplefiles/stan/example.stan.output | 711 + tests/examplefiles/{ => swift}/test.swift | 0 tests/examplefiles/swift/test.swift.output | 845 + tests/examplefiles/{ => swig}/swig_java.swg | 0 tests/examplefiles/swig/swig_java.swg.output | 14402 +++++++ .../examplefiles/{ => swig}/swig_std_vector.i | 0 .../swig/swig_std_vector.i.output | 1615 + .../{ => systemverilog}/flipflop.sv | 0 .../systemverilog/flipflop.sv.output | 127 + .../examplefiles/{ => tads3}/tads3_example.t | 0 .../examplefiles/tads3/tads3_example.t.output | 12988 +++++++ tests/examplefiles/{ => tap}/example.tap | 0 tests/examplefiles/tap/example.tap.output | 417 + tests/examplefiles/{ => tasm}/example.tasm | 0 tests/examplefiles/tasm/example.tasm.output | 3477 ++ tests/examplefiles/{ => tcsh}/test.tcsh | 0 tests/examplefiles/tcsh/test.tcsh.output | 4207 ++ tests/examplefiles/{ => tea}/example.tea | 0 tests/examplefiles/tea/example.tea.output | 228 + tests/examplefiles/{ => termcap}/termcap | 0 tests/examplefiles/termcap/termcap.output | 14025 +++++++ tests/examplefiles/{ => terminfo}/terminfo | 0 tests/examplefiles/terminfo/terminfo.output | 16363 ++++++++ tests/examplefiles/{ => terraform}/example.tf | 0 .../examplefiles/terraform/example.tf.output | 1003 + tests/examplefiles/{ => text}/mysql.txt | 0 tests/examplefiles/text/mysql.txt.output | 1 + tests/examplefiles/{ => thrift}/demo.thrift | 0 tests/examplefiles/thrift/demo.thrift.output | 71 + tests/examplefiles/{ => tid}/TiddlyWiki5.tid | 0 tests/examplefiles/tid/TiddlyWiki5.tid.output | 483 + tests/examplefiles/{ => tnt}/example.tnt | 0 tests/examplefiles/tnt/example.tnt.output | 1470 + .../{ => todotxt}/example.todotxt | 0 .../todotxt/example.todotxt.output | 108 + tests/examplefiles/{ => toml}/example.toml | 0 tests/examplefiles/toml/example.toml.output | 965 + .../{ => trac-wiki}/moin_SyntaxReference.txt | 0 .../trac-wiki/moin_SyntaxReference.txt.output | 1172 + .../{ => treetop}/metagrammar.treetop | 0 .../treetop/metagrammar.treetop.output | 1995 + .../examplefiles/{ => ts}/typescript_example | 0 .../examplefiles/ts/typescript_example.output | 245 + .../examplefiles/{ => tsql}/tsql_example.sql | 0 .../examplefiles/tsql/tsql_example.sql.output | 464 + tests/examplefiles/{ => ttl}/teraterm.ttl | 0 tests/examplefiles/ttl/teraterm.ttl.output | 388 + tests/examplefiles/{ => turtle}/example.ttl | 0 tests/examplefiles/turtle/example.ttl.output | 346 + tests/examplefiles/{ => twig}/twig_test | 0 tests/examplefiles/twig/twig_test.output | 16680 ++++++++ .../{ => typoscript}/typoscript_example | 0 .../typoscript/typoscript_example.output | 12842 +++++++ tests/examplefiles/{ => ucode}/example.u1 | 0 tests/examplefiles/ucode/example.u1.output | 435 + tests/examplefiles/{ => unicon}/example.icn | 0 tests/examplefiles/unicon/example.icn.output | 1715 + tests/examplefiles/{ => urbiscript}/example.u | 0 .../examplefiles/urbiscript/example.u.output | 3564 ++ tests/examplefiles/{ => usd}/example.usd | 0 tests/examplefiles/usd/example.usd.output | 24394 ++++++++++++ tests/examplefiles/{ => vb.net}/test.vb | 0 tests/examplefiles/vb.net/test.vb.output | 2481 ++ .../examplefiles/{ => vb.net}/vbnet_test.bas | 0 .../examplefiles/vb.net/vbnet_test.bas.output | 237 + tests/examplefiles/{ => vbscript}/example.vbs | 0 .../examplefiles/vbscript/example.vbs.output | 360 + tests/examplefiles/{ => vcl}/varnish.vcl | 0 tests/examplefiles/vcl/varnish.vcl.output | 1573 + .../{ => vctreestatus}/vctreestatus_hg | 0 .../vctreestatus/vctreestatus_hg.output | 11 + .../examplefiles/{ => verilog}/example_coq.v | 0 .../examplefiles/verilog/example_coq.v.output | 29 + tests/examplefiles/{ => vgl}/example.rpf | 0 tests/examplefiles/vgl/example.rpf.output | 27 + tests/examplefiles/{ => vhdl}/test.vhdl | 0 tests/examplefiles/vhdl/test.vhdl.output | 1612 + tests/examplefiles/{ => vim}/phpcomplete.vim | 0 tests/examplefiles/vim/phpcomplete.vim.output | 5012 +++ tests/examplefiles/{ => vim}/vimrc | 0 tests/examplefiles/vim/vimrc.output | 131 + .../{ => wdiff}/wdiff_example1.wdiff | 0 .../wdiff/wdiff_example1.wdiff.output | 1123 + .../{ => wdiff}/wdiff_example3.wdiff | 0 .../wdiff/wdiff_example3.wdiff.output | 24 + .../examplefiles/{ => webidl}/example.webidl | 0 .../examplefiles/webidl/example.webidl.output | 11932 ++++++ .../examplefiles/{ => whiley}/example.whiley | 0 .../examplefiles/whiley/example.whiley.output | 2755 ++ tests/examplefiles/{ => x10}/example.x10 | 0 tests/examplefiles/x10/example.x10.output | 82 + tests/examplefiles/{ => xml}/xml_example | 0 tests/examplefiles/xml/xml_example.output | 13503 +++++++ tests/examplefiles/{ => xorg.conf}/xorg.conf | 0 tests/examplefiles/xorg.conf/xorg.conf.output | 137 + tests/examplefiles/{ => xquery}/test-3.0.xq | 0 tests/examplefiles/xquery/test-3.0.xq.output | 2106 ++ .../{ => xquery}/test-exist-update.xq | 0 .../xquery/test-exist-update.xq.output | 772 + tests/examplefiles/{ => xquery}/test.xqy | 0 tests/examplefiles/xquery/test.xqy.output | 1761 + tests/examplefiles/{ => xslt}/test.xsl | 0 tests/examplefiles/xslt/test.xsl.output | 103 + tests/examplefiles/{ => xtend}/example.xtend | 12 +- tests/examplefiles/xtend/example.xtend.output | 478 + .../{ => xul+mozpreproc}/demo.xul.in | 0 .../xul+mozpreproc/demo.xul.in.output | 35 + .../examplefiles/{ => yaml+jinja}/example.sls | 0 .../yaml+jinja/example.sls.output | 401 + tests/examplefiles/{ => yaml}/example.yaml | 0 tests/examplefiles/yaml/example.yaml.output | 1696 + tests/examplefiles/{ => yang}/test.yang | 0 tests/examplefiles/yang/test.yang.output | 264 + tests/examplefiles/{ => zeek}/test.bro | 0 tests/examplefiles/zeek/test.bro.output | 2493 ++ tests/examplefiles/{ => zeek}/test.zeek | 0 tests/examplefiles/zeek/test.zeek.output | 1595 + tests/examplefiles/{ => zephir}/test.zep | 0 tests/examplefiles/zephir/test.zep.output | 159 + tests/examplefiles/{ => zig}/example.zig | 0 tests/examplefiles/zig/example.zig.output | 2661 ++ ...e_cls_step_1_start_1_special_0_anchor.html | 6 +- ...e_cls_step_1_start_1_special_3_anchor.html | 6 +- ...e_cls_step_1_start_8_special_0_anchor.html | 6 +- ...e_cls_step_1_start_8_special_3_anchor.html | 6 +- ...e_cls_step_2_start_1_special_0_anchor.html | 6 +- ...e_cls_step_2_start_1_special_3_anchor.html | 6 +- ...e_cls_step_2_start_8_special_0_anchor.html | 6 +- ...e_cls_step_2_start_8_special_3_anchor.html | 6 +- ...nocls_step_1_start_1_special_0_anchor.html | 6 +- ...cls_step_1_start_1_special_0_noanchor.html | 6 +- ...nocls_step_1_start_1_special_3_anchor.html | 6 +- ...cls_step_1_start_1_special_3_noanchor.html | 4 +- ...nocls_step_1_start_8_special_0_anchor.html | 6 +- ...cls_step_1_start_8_special_0_noanchor.html | 6 +- ...nocls_step_1_start_8_special_3_anchor.html | 6 +- ...cls_step_1_start_8_special_3_noanchor.html | 4 +- ...nocls_step_2_start_1_special_0_anchor.html | 6 +- ...cls_step_2_start_1_special_0_noanchor.html | 6 +- ...nocls_step_2_start_1_special_3_anchor.html | 6 +- ...cls_step_2_start_1_special_3_noanchor.html | 4 +- ...nocls_step_2_start_8_special_0_anchor.html | 6 +- ...cls_step_2_start_8_special_0_noanchor.html | 6 +- ...nocls_step_2_start_8_special_3_anchor.html | 6 +- ...cls_step_2_start_8_special_3_noanchor.html | 4 +- ...e_cls_step_1_start_1_special_0_anchor.html | 6 +- ...cls_step_1_start_1_special_0_noanchor.html | 6 +- ...e_cls_step_1_start_1_special_3_anchor.html | 4 +- ...cls_step_1_start_1_special_3_noanchor.html | 4 +- ...e_cls_step_1_start_8_special_0_anchor.html | 6 +- ...cls_step_1_start_8_special_0_noanchor.html | 6 +- ...e_cls_step_1_start_8_special_3_anchor.html | 4 +- ...cls_step_1_start_8_special_3_noanchor.html | 4 +- ...e_cls_step_2_start_1_special_0_anchor.html | 6 +- ...cls_step_2_start_1_special_0_noanchor.html | 6 +- ...e_cls_step_2_start_1_special_3_anchor.html | 4 +- ...cls_step_2_start_1_special_3_noanchor.html | 4 +- ...e_cls_step_2_start_8_special_0_anchor.html | 6 +- ...cls_step_2_start_8_special_0_noanchor.html | 6 +- ...e_cls_step_2_start_8_special_3_anchor.html | 4 +- ...cls_step_2_start_8_special_3_noanchor.html | 4 +- ...nocls_step_1_start_1_special_0_anchor.html | 6 +- ...cls_step_1_start_1_special_0_noanchor.html | 6 +- ...nocls_step_1_start_1_special_3_anchor.html | 4 +- ...cls_step_1_start_1_special_3_noanchor.html | 4 +- ...nocls_step_1_start_8_special_0_anchor.html | 6 +- ...cls_step_1_start_8_special_0_noanchor.html | 6 +- ...nocls_step_1_start_8_special_3_anchor.html | 4 +- ...cls_step_1_start_8_special_3_noanchor.html | 4 +- ...nocls_step_2_start_1_special_0_anchor.html | 6 +- ...cls_step_2_start_1_special_0_noanchor.html | 6 +- ...nocls_step_2_start_1_special_3_anchor.html | 4 +- ...cls_step_2_start_1_special_3_noanchor.html | 4 +- ...nocls_step_2_start_8_special_0_anchor.html | 6 +- ...cls_step_2_start_8_special_0_noanchor.html | 6 +- ...nocls_step_2_start_8_special_3_anchor.html | 4 +- ...cls_step_2_start_8_special_3_noanchor.html | 4 +- .../apacheconf/test_directive_no_args.txt | 14 + .../test_fix_lock_absolute_path.txt | 9 + .../apacheconf/test_include_globs.txt | 9 + ...malformed_scoped_directive_closing_tag.txt | 20 + .../apacheconf/test_multi_include_globs.txt | 9 + .../test_multi_include_globs_root.txt | 9 + .../apacheconf/test_multiline_argument.txt | 21 + .../apacheconf/test_multiline_comment.txt | 12 + .../test_normal_scoped_directive.txt | 14 + tests/snippets/asm/test_cpuid.txt | 9 + tests/snippets/bibtex/test_basic_bst.txt | 54 + tests/snippets/bibtex/test_comment.txt | 7 + tests/snippets/bibtex/test_entry.txt | 63 + .../snippets/bibtex/test_mismatched_brace.txt | 10 + tests/snippets/bibtex/test_missing_body.txt | 10 + tests/snippets/bibtex/test_preamble.txt | 11 + tests/snippets/bibtex/test_string.txt | 15 + tests/snippets/c/test_comment_end.txt | 31 + tests/snippets/c/test_label.txt | 31 + .../c/test_label_followed_by_statement.txt | 35 + .../c/test_label_space_before_colon.txt | 32 + tests/snippets/c/test_numbers.txt | 20 + tests/snippets/c/test_preproc_file.txt | 9 + tests/snippets/c/test_preproc_file2.txt | 9 + tests/snippets/c/test_switch.txt | 56 + .../c/test_switch_space_before_colon.txt | 58 + tests/snippets/cfm/test_basic_comment.txt | 8 + tests/snippets/cfm/test_nested_comment.txt | 12 + .../test_beware_infinite_loop.txt | 14 + .../coffeescript/test_mixed_slashes.txt | 13 + tests/snippets/conftest.py | 31 + tests/snippets/console/fake_ps2_prompt.txt | 14 + tests/snippets/console/prompt_in_output.txt | 21 + tests/snippets/console/ps2_prompt.txt | 15 + .../console/test_comment_after_prompt.txt | 6 + .../snippets/console/test_newline_in_echo.txt | 16 + tests/snippets/console/test_newline_in_ls.txt | 16 + tests/snippets/console/test_virtualenv.txt | 11 + tests/snippets/coq/test_unicode.txt | 15 + tests/snippets/cpp/test_good_comment.txt | 6 + tests/snippets/cpp/test_open_comment.txt | 5 + tests/snippets/crystal/test_annotation.txt | 16 + tests/snippets/crystal/test_array_access.txt | 11 + tests/snippets/crystal/test_chars.txt | 25 + .../crystal/test_constant_and_module.txt | 14 + .../crystal/test_escaped_bracestring.txt | 19 + .../crystal/test_escaped_interpolation.txt | 9 + .../test_interpolation_nested_curly.txt | 56 + tests/snippets/crystal/test_lib.txt | 58 + tests/snippets/crystal/test_macro.txt | 76 + .../crystal/test_operator_methods.txt | 18 + .../snippets/crystal/test_percent_strings.txt | 41 + .../crystal/test_percent_strings_special.txt | 31 + .../snippets/crystal/test_pseudo_builtins.txt | 20 + .../snippets/crystal/test_pseudo_keywords.txt | 50 + tests/snippets/crystal/test_range_syntax1.txt | 8 + tests/snippets/crystal/test_range_syntax2.txt | 10 + tests/snippets/csound/test_braced_strings.txt | 11 + tests/snippets/csound/test_comments.txt | 16 + .../snippets/csound/test_escape_sequences.txt | 122 + .../test_function_like_macro_definitions.txt | 44 + .../csound/test_function_like_macros.txt | 40 + .../csound/test_global_value_identifiers.txt | 30 + .../snippets/csound/test_goto_statements.txt | 176 + .../csound/test_include_directives.txt | 14 + .../csound/test_includestr_directives.txt | 11 + .../csound/test_instrument_blocks.txt | 42 + tests/snippets/csound/test_keywords.txt | 62 + tests/snippets/csound/test_labels.txt | 13 + .../test_macro_preprocessor_directives.txt | 20 + tests/snippets/csound/test_name.txt | 9 + tests/snippets/csound/test_numbers.txt | 52 + .../test_object_like_macro_definitions.txt | 30 + tests/snippets/csound/test_operators.txt | 114 + .../test_other_preprocessor_directives.txt | 26 + ...st_printks_and_prints_escape_sequences.txt | 290 + tests/snippets/csound/test_quoted_strings.txt | 9 + .../csound/test_user_defined_opcodes.txt | 24 + tests/snippets/doscon/test_gt_only.txt | 11 + tests/snippets/ezhil/test_function.txt | 99 + tests/snippets/ezhil/test_gcd_expr.txt | 21 + tests/snippets/ezhil/test_if_statement.txt | 28 + tests/snippets/ezhil/test_sum.txt | 8 + tests/snippets/gas/test_comments.txt | 29 + tests/snippets/gdscript/test_comment.txt | 6 + tests/snippets/gdscript/test_export_array.txt | 17 + .../gdscript/test_function_with_types.txt | 33 + tests/snippets/gdscript/test_inner_class.txt | 20 + .../gdscript/test_multiline_string.txt | 8 + tests/snippets/gdscript/test_signal.txt | 15 + .../gdscript/test_simple_function.txt | 22 + ...est_variable_declaration_and_assigment.txt | 12 + .../snippets/haskell/test_promoted_names.txt | 10 + .../http/test_application_calendar_xml.txt | 28 + tests/snippets/http/test_application_xml.txt | 28 + tests/snippets/http/test_http_status_line.txt | 12 + ...http_status_line_without_reason_phrase.txt | 10 + ...us_line_without_reason_phrase_rfc_7230.txt | 11 + .../idris/test_compiler_directive.txt | 20 + tests/snippets/idris/test_reserved_word.txt | 29 + .../snippets/ini/test_indented_entries_1.txt | 16 + .../snippets/ini/test_indented_entries_2.txt | 20 + .../snippets/ini/test_indented_entries_3.txt | 20 + tests/snippets/j/test_deal_operator.txt | 8 + .../j/test_deal_operator_fixed_seed.txt | 9 + tests/snippets/java/test_enhanced_for.txt | 21 + tests/snippets/java/test_numeric_literals.txt | 34 + tests/snippets/json/test_basic.txt | 30 + tests/snippets/json/test_basic_bare.txt | 23 + tests/snippets/julia/test_unicode.txt | 37 + ...est_can_cope_generics_in_destructuring.txt | 27 + ..._cope_with_backtick_names_in_functions.txt | 8 + ...th_commas_and_dashes_in_backtick_Names.txt | 8 + .../test_can_cope_with_destructuring.txt | 16 + .../kotlin/test_can_cope_with_generics.txt | 34 + .../snippets/kotlin/test_modifier_keyword.txt | 18 + ...st_should_cope_with_multiline_comments.txt | 12 + .../kotlin/test_string_interpolation.txt | 35 + .../less/test_single_line_comments.txt | 21 + .../mason/test_handles_tags_correctly.txt | 69 + .../matlab/test_classes_with_properties.txt | 105 + tests/snippets/matlab/test_command_mode.txt | 12 + .../test_comment_after_continuation.txt | 25 + tests/snippets/matlab/test_dot_operator.txt | 10 + .../matlab/test_keywords_ended_by_newline.txt | 36 + .../matlab/test_line_continuation.txt | 25 + ...st_multiple_spaces_variable_assignment.txt | 13 + .../matlab/test_one_space_assignment.txt | 13 + .../matlab/test_operator_multiple_space.txt | 13 + tests/snippets/matlab/test_single_line.txt | 18 + .../md/test_bold_fenced_by_asterisk.txt | 15 + .../md/test_bold_fenced_by_underscore.txt | 15 + tests/snippets/md/test_bulleted_list_1.txt | 14 + tests/snippets/md/test_bulleted_list_2.txt | 14 + tests/snippets/md/test_bulleted_list_3.txt | 14 + tests/snippets/md/test_bulleted_list_4.txt | 19 + .../test_code_block_fenced_by_backticks.txt | 15 + .../md/test_code_block_with_language.txt | 16 + tests/snippets/md/test_escape_italics.txt | 23 + tests/snippets/md/test_inline_code.txt | 36 + .../md/test_inline_code_after_block.txt | 19 + .../snippets/md/test_inline_code_in_list.txt | 26 + tests/snippets/md/test_invalid_bold.txt | 31 + tests/snippets/md/test_invalid_italics.txt | 31 + tests/snippets/md/test_italics_and_bold.txt | 21 + .../md/test_italics_fenced_by_asterisk.txt | 15 + .../md/test_italics_fenced_by_underscore.txt | 15 + .../snippets/md/test_italics_no_multiline.txt | 10 + tests/snippets/md/test_links.txt | 23 + tests/snippets/md/test_mentions.txt | 10 + tests/snippets/md/test_numbered_list.txt | 14 + tests/snippets/md/test_quote.txt | 10 + .../md/test_reference_style_links.txt | 18 + tests/snippets/md/test_strikethrough.txt | 9 + tests/snippets/md/test_task_list.txt | 34 + tests/snippets/md/test_topics.txt | 10 + .../objectivec/test_literal_number_bool.txt | 7 + .../test_literal_number_bool_expression.txt | 9 + .../test_literal_number_expression.txt | 11 + .../objectivec/test_literal_number_int.txt | 9 + .../test_literal_number_nested_expression.txt | 15 + .../objectivec/test_module_import.txt | 9 + tests/snippets/peg/test_basic.txt | 17 + tests/snippets/peg/test_modified_strings.txt | 21 + tests/snippets/peg/test_operators.txt | 29 + .../snippets/php/test_string_escaping_run.txt | 16 + .../powershell/test_remoting_session.txt | 19 + tests/snippets/powershell/test_session.txt | 28 + .../praat/test_broken_unquoted_string.txt | 16 + tests/snippets/praat/test_function_call.txt | 20 + tests/snippets/praat/test_inline_if.txt | 27 + ...polated_indexed_numeric_with_precision.txt | 6 + ...erpolated_local_numeric_with_precision.txt | 6 + .../praat/test_interpolated_numeric_hash.txt | 6 + .../test_interpolated_numeric_indexed.txt | 6 + ...st_interpolated_numeric_with_precision.txt | 6 + .../praat/test_interpolated_string_hash.txt | 6 + .../test_interpolated_string_indexed.txt | 6 + .../praat/test_interpolation_boundary.txt | 14 + .../praat/test_numeric_assignment.txt | 11 + .../snippets/praat/test_string_assignment.txt | 12 + .../praat/test_string_escaped_quotes.txt | 13 + .../promql/test_expression_and_comment.txt | 15 + tests/snippets/promql/test_function_delta.txt | 19 + .../promql/test_function_multi_line.txt | 80 + .../test_function_multi_line_with_offset.txt | 87 + .../promql/test_function_sum_with_args.txt | 19 + tests/snippets/promql/test_metric.txt | 6 + .../promql/test_metric_multiple_labels.txt | 19 + ...est_metric_multiple_labels_with_spaces.txt | 22 + .../snippets/promql/test_metric_one_label.txt | 13 + tests/snippets/properties/test_comments.txt | 12 + .../properties/test_escaped_space_in_key.txt | 10 + .../test_escaped_space_in_value.txt | 10 + tests/snippets/properties/test_just_key.txt | 6 + .../properties/test_just_key_with_space.txt | 6 + .../test_leading_whitespace_comments.txt | 6 + .../test_space_delimited_kv_pair.txt | 7 + tests/snippets/python/test_fstring_01a.txt | 25 + tests/snippets/python/test_fstring_01b.txt | 25 + tests/snippets/python/test_fstring_02a.txt | 13 + tests/snippets/python/test_fstring_02b.txt | 13 + tests/snippets/python/test_fstring_03a.txt | 14 + tests/snippets/python/test_fstring_03b.txt | 14 + tests/snippets/python/test_fstring_04a.txt | 13 + tests/snippets/python/test_fstring_04b.txt | 13 + tests/snippets/python/test_fstring_05a.txt | 16 + tests/snippets/python/test_fstring_05b.txt | 16 + tests/snippets/python/test_fstring_06a.txt | 16 + tests/snippets/python/test_fstring_06b.txt | 16 + tests/snippets/python/test_fstring_07a.txt | 17 + tests/snippets/python/test_fstring_07b.txt | 17 + tests/snippets/python/test_fstring_08a.txt | 15 + tests/snippets/python/test_fstring_08b.txt | 15 + tests/snippets/python/test_fstring_09a.txt | 14 + tests/snippets/python/test_fstring_09b.txt | 14 + tests/snippets/python/test_fstring_10a.txt | 18 + tests/snippets/python/test_fstring_10b.txt | 18 + tests/snippets/python/test_fstring_11a.txt | 18 + tests/snippets/python/test_fstring_11b.txt | 18 + tests/snippets/python/test_fstring_12a.txt | 16 + tests/snippets/python/test_fstring_12b.txt | 16 + tests/snippets/python/test_fstring_13a.txt | 17 + tests/snippets/python/test_fstring_13b.txt | 17 + tests/snippets/python/test_fstring_14a.txt | 20 + tests/snippets/python/test_fstring_14b.txt | 20 + tests/snippets/python/test_fstring_15a.txt | 42 + tests/snippets/python/test_fstring_15b.txt | 42 + tests/snippets/python/test_fstring_16a.txt | 18 + tests/snippets/python/test_fstring_16b.txt | 18 + tests/snippets/python/test_fstring_17a.txt | 14 + tests/snippets/python/test_fstring_17b.txt | 14 + tests/snippets/python/test_fstring_18a.txt | 25 + tests/snippets/python/test_fstring_18b.txt | 25 + tests/snippets/python/test_fstring_19a.txt | 46 + tests/snippets/python/test_fstring_19b.txt | 46 + tests/snippets/python/test_fstring_20a.txt | 17 + tests/snippets/python/test_fstring_20b.txt | 17 + tests/snippets/python/test_fstring_21a.txt | 15 + tests/snippets/python/test_fstring_21b.txt | 15 + tests/snippets/python/test_fstring_22a.txt | 14 + tests/snippets/python/test_fstring_22b.txt | 14 + tests/snippets/python/test_fstring_23a.txt | 11 + tests/snippets/python/test_fstring_23b.txt | 11 + tests/snippets/python/test_fstring_24a.txt | 23 + tests/snippets/python/test_fstring_24b.txt | 23 + tests/snippets/python/test_fstring_25a.txt | 24 + tests/snippets/python/test_fstring_25b.txt | 24 + tests/snippets/python/test_fstring_26a.txt | 20 + tests/snippets/python/test_fstring_26b.txt | 20 + tests/snippets/python/test_fstring_27a.txt | 11 + tests/snippets/python/test_fstring_27b.txt | 11 + tests/snippets/python/test_fstring_28a.txt | 11 + tests/snippets/python/test_fstring_28b.txt | 11 + tests/snippets/python/test_fstring_29a.txt | 15 + tests/snippets/python/test_fstring_29b.txt | 15 + tests/snippets/python/test_fstring_30a.txt | 16 + tests/snippets/python/test_fstring_30b.txt | 16 + tests/snippets/python/test_fstring_31a.txt | 15 + tests/snippets/python/test_fstring_31b.txt | 15 + tests/snippets/python/test_fstring_32a.txt | 15 + tests/snippets/python/test_fstring_32b.txt | 15 + tests/snippets/python/test_fstring_33a.txt | 15 + tests/snippets/python/test_fstring_33b.txt | 15 + tests/snippets/python/test_fstring_34a.txt | 20 + tests/snippets/python/test_fstring_34b.txt | 20 + tests/snippets/python/test_fstring_35a.txt | 15 + tests/snippets/python/test_fstring_35b.txt | 15 + tests/snippets/python/test_fstring_36a.txt | 16 + tests/snippets/python/test_fstring_36b.txt | 16 + tests/snippets/python/test_needs_name.txt | 55 + tests/snippets/python/test_pep_515.txt | 28 + tests/snippets/python/test_raw_fstring.txt | 46 + .../snippets/python/test_walrus_operator.txt | 21 + tests/snippets/python2/test_cls_builtin.txt | 34 + .../qbasic/test_keywords_with_dollar.txt | 22 + tests/snippets/r/test_call.txt | 12 + tests/snippets/r/test_custom_operator.txt | 10 + tests/snippets/r/test_dot_indexing.txt | 9 + tests/snippets/r/test_dot_name.txt | 10 + tests/snippets/r/test_indexing.txt | 9 + tests/snippets/r/test_name1.txt | 6 + tests/snippets/r/test_name2.txt | 8 + tests/snippets/r/test_name3.txt | 8 + .../ruby/test_escaped_bracestring.txt | 19 + .../ruby/test_interpolation_nested_curly.txt | 56 + tests/snippets/ruby/test_operator_methods.txt | 9 + tests/snippets/ruby/test_range_syntax1.txt | 8 + tests/snippets/ruby/test_range_syntax2.txt | 8 + tests/snippets/ruby/test_range_syntax3.txt | 10 + tests/snippets/shell/test_array_nums.txt | 14 + .../shell/test_curly_no_escape_and_quotes.txt | 15 + .../snippets/shell/test_curly_with_escape.txt | 13 + .../snippets/shell/test_end_of_line_nums.txt | 15 + tests/snippets/shell/test_parsed_single.txt | 8 + .../shell/test_short_variable_names.txt | 26 + ...est_prefixed_name_starting_with_number.txt | 8 + tests/snippets/smarty/test_nested_curly.txt | 18 + tests/snippets/systemverilog/test_basic.txt | 181 + tests/snippets/systemverilog/test_classes.txt | 95 + tests/snippets/systemverilog/test_numbers.txt | 168 + .../snippets/systemverilog/test_operators.txt | 213 + ...est_prefixed_name_starting_with_number.txt | 8 + .../typescript/test_function_definition.txt | 18 + tests/snippets/usd/test_attribute.txt | 174 + tests/snippets/usd/test_composition_arcs.txt | 101 + tests/snippets/usd/test_metadata.txt | 36 + tests/snippets/usd/test_numbers.txt | 21 + .../snippets/usd/test_outer_match_at_sign.txt | 14 + .../snippets/usd/test_outer_match_double.txt | 12 + .../snippets/usd/test_outer_match_single.txt | 12 + .../usd/test_string_multiple_line.txt | 20 + tests/snippets/usd/test_string_priority.txt | 10 + .../snippets/usd/test_string_single_line.txt | 6 + tests/snippets/vbscript/test_floats.txt | 34 + .../vbscript/test_floats_multiple.txt | 7 + tests/snippets/vbscript/test_integers.txt | 14 + .../vbscript/test_invalid_character.txt | 10 + tests/snippets/vbscript/test_names.txt | 18 + .../vbscript/test_reject_almost_float.txt | 7 + .../vbscript/test_unterminated_string.txt | 7 + .../snippets/whiley/test_whiley_operator.txt | 10 + tests/snippets/yaml/test_yaml.txt | 13 + tests/snippets/yang/test_float_value.txt | 11 + tests/snippets/yang/test_integer_value.txt | 11 + tests/snippets/yang/test_namespace_1.txt | 11 + tests/snippets/yang/test_namespace_2.txt | 13 + tests/snippets/yang/test_revision_date.txt | 11 + tests/snippets/yang/test_string_value.txt | 11 + tests/support/empty.py | 1 - tests/support/html_formatter.py | 1 - tests/support/python_lexer.py | 1 - tests/test_analyze_lexer.py | 69 - tests/test_apache_conf.py | 134 - tests/test_asm.py | 68 - tests/test_basic.py | 73 - tests/test_basic_api.py | 5 +- tests/test_bibtex.py | 240 - tests/test_cfm.py | 44 - tests/test_clexer.py | 265 - tests/test_cmdline.py | 57 +- tests/test_coffeescript.py | 33 - tests/test_coq.py | 33 - tests/test_cpp.py | 55 - tests/test_crystal.py | 463 +- tests/test_csound.py | 524 - tests/test_data.py | 195 +- tests/test_examplefiles.py | 131 - tests/test_ezhil.py | 177 - tests/test_gdscript.py | 167 - tests/test_grammar_notation.py | 94 - tests/test_guess.py | 184 + tests/test_haskell.py | 31 - tests/test_hdl.py | 687 - tests/test_html_formatter.py | 16 +- tests/test_html_lexer.py | 60 +- tests/test_idris.py | 65 - tests/test_inherit.py | 1 - tests/test_ini_lexer.py | 81 - tests/test_irc_formatter.py | 1 - tests/test_java.py | 63 +- tests/test_javascript.py | 30 +- tests/test_julia.py | 59 - tests/test_kotlin.py | 133 - tests/test_latex_formatter.py | 1 - tests/test_lexers_other.py | 82 - tests/test_make.py | 29 - tests/test_markdown_lexer.py | 461 +- tests/test_matlab.py | 203 - tests/test_modeline.py | 1 - tests/test_mysql.py | 19 +- tests/test_objectiveclexer.py | 96 - tests/test_perllexer.py | 1 - tests/test_php.py | 37 - tests/test_praat.py | 213 - tests/test_promql.py | 310 - tests/test_properties.py | 96 - tests/test_python.py | 842 - tests/test_qbasiclexer.py | 41 - tests/test_r.py | 112 - tests/test_raw_token.py | 68 + tests/test_rdf.py | 42 - tests/test_regexlexer.py | 1 - tests/test_regexopt.py | 1 - tests/test_rtf_formatter.py | 1 - tests/test_ruby.py | 155 +- tests/test_shell.py | 239 - tests/test_smarty.py | 39 - tests/test_sql.py | 12 +- tests/test_templates.py | 63 - tests/test_terminal_formatter.py | 1 - tests/test_textfmts.py | 80 - tests/test_tnt.py | 36 +- tests/test_token.py | 1 - tests/test_unistring.py | 1 - tests/test_usd.py | 507 - tests/test_using_api.py | 1 - tests/test_util.py | 7 +- tests/test_whiley.py | 31 - tests/test_yang.py | 103 - 1678 files changed, 1104539 insertions(+), 9883 deletions(-) create mode 100644 pygments/lexers/amdgpu.py create mode 100644 pygments/lexers/cddl.py create mode 100644 pygments/lexers/futhark.py create mode 100644 pygments/lexers/graphviz.py create mode 100644 pygments/styles/material.py create mode 100644 pygments/styles/zenburn.py delete mode 100644 scripts/epydoc.css create mode 100644 tests/conftest.py rename tests/examplefiles/{ => abnf}/abnf_example1.abnf (100%) create mode 100644 tests/examplefiles/abnf/abnf_example1.abnf.output rename tests/examplefiles/{ => abnf}/abnf_example2.abnf (100%) create mode 100644 tests/examplefiles/abnf/abnf_example2.abnf.output rename tests/examplefiles/{ => ada}/test.adb (100%) create mode 100644 tests/examplefiles/ada/test.adb.output rename tests/examplefiles/{ => adl}/test.adls (100%) create mode 100644 tests/examplefiles/adl/test.adls.output rename tests/examplefiles/{ => adl}/test_basic.adls (100%) create mode 100644 tests/examplefiles/adl/test_basic.adls.output rename tests/examplefiles/{ => agda}/test.agda (100%) create mode 100644 tests/examplefiles/agda/test.agda.output rename tests/examplefiles/{ => aheui}/durexmania.aheui (100%) create mode 100644 tests/examplefiles/aheui/durexmania.aheui.output rename tests/examplefiles/{ => aheui}/fibonacci.tokigun.aheui (100%) create mode 100644 tests/examplefiles/aheui/fibonacci.tokigun.aheui.output rename tests/examplefiles/{ => aheui}/hello-world.puzzlet.aheui (100%) create mode 100644 tests/examplefiles/aheui/hello-world.puzzlet.aheui.output rename tests/examplefiles/{ => ahk}/demo.ahk (100%) create mode 100644 tests/examplefiles/ahk/demo.ahk.output rename tests/examplefiles/{ => alloy}/example.als (100%) create mode 100644 tests/examplefiles/alloy/example.als.output create mode 100644 tests/examplefiles/amdgpu/amdgpu.isa create mode 100644 tests/examplefiles/amdgpu/amdgpu.isa.output rename tests/examplefiles/{ => antlr}/antlr_ANTLRv3.g (100%) create mode 100644 tests/examplefiles/antlr/antlr_ANTLRv3.g.output rename tests/examplefiles/{ => antlr}/antlr_throws (100%) create mode 100644 tests/examplefiles/antlr/antlr_throws.output rename tests/examplefiles/{ => apacheconf}/apache2.conf (100%) create mode 100644 tests/examplefiles/apacheconf/apache2.conf.output rename tests/examplefiles/{ => apl}/test.apl (100%) create mode 100644 tests/examplefiles/apl/test.apl.output rename tests/examplefiles/{ => applescript}/pppoe.applescript (100%) create mode 100644 tests/examplefiles/applescript/pppoe.applescript.output rename tests/examplefiles/{ => applescript}/unicode.applescript (100%) create mode 100644 tests/examplefiles/applescript/unicode.applescript.output rename tests/examplefiles/{ => arduino}/Blink.ino (100%) create mode 100644 tests/examplefiles/arduino/Blink.ino.output rename tests/examplefiles/{ => arrow}/primesieve.arw (100%) create mode 100644 tests/examplefiles/arrow/primesieve.arw.output rename tests/examplefiles/{ => as3}/as3_test.as (100%) create mode 100644 tests/examplefiles/as3/as3_test.as.output rename tests/examplefiles/{ => as3}/as3_test2.as (100%) create mode 100644 tests/examplefiles/as3/as3_test2.as.output rename tests/examplefiles/{ => as3}/as3_test3.as (100%) create mode 100644 tests/examplefiles/as3/as3_test3.as.output rename tests/examplefiles/{ => aspx-cs}/aspx-cs_example (100%) create mode 100644 tests/examplefiles/aspx-cs/aspx-cs_example.output rename tests/examplefiles/{ => aspx-vb}/example2.aspx (100%) create mode 100644 tests/examplefiles/aspx-vb/example2.aspx.output rename tests/examplefiles/{ => asy}/test.asy (100%) create mode 100644 tests/examplefiles/asy/test.asy.output rename tests/examplefiles/{ => at}/hello.at (100%) create mode 100644 tests/examplefiles/at/hello.at.output rename tests/examplefiles/{ => autoit}/autoit_submit.au3 (92%) create mode 100644 tests/examplefiles/autoit/autoit_submit.au3.output rename tests/examplefiles/{ => awk}/test.awk (100%) create mode 100644 tests/examplefiles/awk/test.awk.output rename tests/examplefiles/{ => bare}/bare.bare (100%) create mode 100644 tests/examplefiles/bare/bare.bare.output rename tests/examplefiles/{ => bash}/example.sh (100%) create mode 100644 tests/examplefiles/bash/example.sh.output rename tests/examplefiles/{ => bash}/ltmain.sh (100%) create mode 100644 tests/examplefiles/bash/ltmain.sh.output rename tests/examplefiles/{ => bash}/stripheredoc.sh (100%) create mode 100644 tests/examplefiles/bash/stripheredoc.sh.output rename tests/examplefiles/{ => bat}/example.bat (100%) create mode 100644 tests/examplefiles/bat/example.bat.output rename tests/examplefiles/{ => bbcbasic}/example.bbc (100%) create mode 100644 tests/examplefiles/bbcbasic/example.bbc.output rename tests/examplefiles/{ => bc}/example.bc (100%) create mode 100644 tests/examplefiles/bc/example.bc.output rename tests/examplefiles/{ => bib}/test.bib (100%) create mode 100644 tests/examplefiles/bib/test.bib.output rename tests/examplefiles/{ => blitzbasic}/test.bb (100%) create mode 100644 tests/examplefiles/blitzbasic/test.bb.output rename tests/examplefiles/{ => blitzmax}/test.bmx (100%) create mode 100644 tests/examplefiles/blitzmax/test.bmx.output rename tests/examplefiles/{ => bnf}/bnf_example1.bnf (100%) create mode 100644 tests/examplefiles/bnf/bnf_example1.bnf.output rename tests/examplefiles/{ => boa}/example.boa (100%) create mode 100644 tests/examplefiles/boa/example.boa.output rename tests/examplefiles/{ => boo}/test.boo (100%) create mode 100644 tests/examplefiles/boo/test.boo.output rename tests/examplefiles/{ => boogie}/test.bpl (100%) create mode 100644 tests/examplefiles/boogie/test.bpl.output rename tests/examplefiles/{ => bst}/plain.bst (100%) create mode 100644 tests/examplefiles/bst/plain.bst.output rename tests/examplefiles/{ => bugs}/example.bug (100%) create mode 100644 tests/examplefiles/bugs/example.bug.output rename tests/examplefiles/{ => c}/ceval.c (100%) create mode 100644 tests/examplefiles/c/ceval.c.output rename tests/examplefiles/{ => c}/example.c (100%) create mode 100644 tests/examplefiles/c/example.c.output rename tests/examplefiles/{ => c}/numbers.c (100%) create mode 100644 tests/examplefiles/c/numbers.c.output rename tests/examplefiles/{ => ca65}/ca65_example (100%) create mode 100644 tests/examplefiles/ca65/ca65_example.output rename tests/examplefiles/{ => cadl}/example1.cadl (100%) create mode 100644 tests/examplefiles/cadl/example1.cadl.output rename tests/examplefiles/{ => cadl}/test.cadl (100%) create mode 100644 tests/examplefiles/cadl/test.cadl.output rename tests/examplefiles/{ => camkes}/simple.camkes (100%) create mode 100644 tests/examplefiles/camkes/simple.camkes.output rename tests/examplefiles/{ => capdl}/capdl_example.cdl (100%) create mode 100644 tests/examplefiles/capdl/capdl_example.cdl.output rename tests/examplefiles/{ => cbmbas}/cbmbas_example (100%) create mode 100644 tests/examplefiles/cbmbas/cbmbas_example.output create mode 100644 tests/examplefiles/cddl/example.cddl create mode 100644 tests/examplefiles/cddl/example.cddl.output rename tests/examplefiles/{ => ceylon}/example.ceylon (100%) create mode 100644 tests/examplefiles/ceylon/example.ceylon.output rename tests/examplefiles/{ => cfc}/exampleScript.cfc (100%) create mode 100644 tests/examplefiles/cfc/exampleScript.cfc.output rename tests/examplefiles/{ => cfc}/exampleTag.cfc (100%) create mode 100644 tests/examplefiles/cfc/exampleTag.cfc.output rename tests/examplefiles/{ => cfm}/demo.cfm (100%) create mode 100644 tests/examplefiles/cfm/demo.cfm.output rename tests/examplefiles/{ => chai}/example.chai (100%) create mode 100644 tests/examplefiles/chai/example.chai.output rename tests/examplefiles/{ => chapel}/99_bottles_of_beer.chpl (100%) create mode 100644 tests/examplefiles/chapel/99_bottles_of_beer.chpl.output rename tests/examplefiles/{ => charmci}/Charmci.ci (100%) create mode 100644 tests/examplefiles/charmci/Charmci.ci.output rename tests/examplefiles/{ => cheetah}/cheetah_example.html (100%) create mode 100644 tests/examplefiles/cheetah/cheetah_example.html.output rename tests/examplefiles/{ => cirru}/scope.cirru (100%) create mode 100644 tests/examplefiles/cirru/scope.cirru.output rename tests/examplefiles/{ => clay}/example.clay (100%) create mode 100644 tests/examplefiles/clay/example.clay.output rename tests/examplefiles/{ => clean}/StdGeneric.icl (100%) create mode 100644 tests/examplefiles/clean/StdGeneric.icl.output rename tests/examplefiles/{ => clojure}/clojure-weird-keywords.clj (100%) create mode 100644 tests/examplefiles/clojure/clojure-weird-keywords.clj.output rename tests/examplefiles/{ => clojure}/escape_semicolon.clj (100%) create mode 100644 tests/examplefiles/clojure/escape_semicolon.clj.output rename tests/examplefiles/{ => clojure}/genclass.clj (100%) create mode 100644 tests/examplefiles/clojure/genclass.clj.output rename tests/examplefiles/{ => clojurescript}/core.cljs (100%) create mode 100644 tests/examplefiles/clojurescript/core.cljs.output rename tests/examplefiles/{ => cmake}/main.cmake (100%) create mode 100644 tests/examplefiles/cmake/main.cmake.output rename tests/examplefiles/{ => cobol}/example.cob (100%) create mode 100644 tests/examplefiles/cobol/example.cob.output rename tests/examplefiles/{ => coffee-script}/example.coffee (100%) create mode 100644 tests/examplefiles/coffee-script/example.coffee.output rename tests/examplefiles/{ => coffee-script}/underscore.coffee (100%) create mode 100644 tests/examplefiles/coffee-script/underscore.coffee.output rename tests/examplefiles/{ => common-lisp}/type.lisp (100%) create mode 100644 tests/examplefiles/common-lisp/type.lisp.output create mode 100644 tests/examplefiles/conftest.py rename tests/examplefiles/{ => console}/example.sh-session (100%) create mode 100644 tests/examplefiles/console/example.sh-session.output rename tests/examplefiles/{ => console}/example.shell-session (100%) create mode 100644 tests/examplefiles/console/example.shell-session.output rename tests/examplefiles/{ => coq}/coq_RelationClasses (100%) create mode 100644 tests/examplefiles/coq/coq_RelationClasses.output rename tests/examplefiles/{ => cpp}/example.cpp (99%) create mode 100644 tests/examplefiles/cpp/example.cpp.output rename tests/examplefiles/{ => cpp}/example2.cpp (100%) create mode 100644 tests/examplefiles/cpp/example2.cpp.output rename tests/examplefiles/{ => cpp}/noexcept.cpp (100%) create mode 100644 tests/examplefiles/cpp/noexcept.cpp.output rename tests/examplefiles/{ => cpsa}/yahalom.cpsa (100%) create mode 100644 tests/examplefiles/cpsa/yahalom.cpsa.output rename tests/examplefiles/{ => cr}/test.cr (99%) create mode 100644 tests/examplefiles/cr/test.cr.output rename tests/examplefiles/{ => crmsh}/example.pcmk (100%) create mode 100644 tests/examplefiles/crmsh/example.pcmk.output rename tests/examplefiles/{ => croc}/simple.croc (100%) create mode 100644 tests/examplefiles/croc/simple.croc.output rename tests/examplefiles/{ => csharp}/test.cs (100%) create mode 100644 tests/examplefiles/csharp/test.cs.output rename tests/examplefiles/{ => csound-document}/test.csd (100%) create mode 100644 tests/examplefiles/csound-document/test.csd.output rename tests/examplefiles/{ => csound-score}/test.sco (100%) create mode 100644 tests/examplefiles/csound-score/test.sco.output rename tests/examplefiles/{ => csound}/test.orc (100%) create mode 100644 tests/examplefiles/csound/test.orc.output rename tests/examplefiles/{ => css+mozpreproc}/demo.css.in (100%) create mode 100644 tests/examplefiles/css+mozpreproc/demo.css.in.output rename tests/examplefiles/{ => css}/test.css (100%) create mode 100644 tests/examplefiles/css/test.css.output rename tests/examplefiles/{ => css}/webkit-transition.css (100%) create mode 100644 tests/examplefiles/css/webkit-transition.css.output rename tests/examplefiles/{ => cucumber}/example.feature (100%) create mode 100644 tests/examplefiles/cucumber/example.feature.output rename tests/examplefiles/{ => cuda}/test.cu (100%) create mode 100644 tests/examplefiles/cuda/test.cu.output rename tests/examplefiles/{ => cypher}/test.cyp (100%) create mode 100644 tests/examplefiles/cypher/test.cyp.output rename tests/examplefiles/{ => d}/string_delimiters.d (100%) create mode 100644 tests/examplefiles/d/string_delimiters.d.output rename tests/examplefiles/{ => d}/test.d (100%) create mode 100644 tests/examplefiles/d/test.d.output rename tests/examplefiles/{ => dart}/test.dart (100%) create mode 100644 tests/examplefiles/dart/test.dart.output rename tests/examplefiles/{ => delphi}/example.pas (99%) create mode 100644 tests/examplefiles/delphi/example.pas.output rename tests/examplefiles/{ => delphi}/test.pas (100%) create mode 100644 tests/examplefiles/delphi/test.pas.output rename tests/examplefiles/{ => devicetree}/example.dts (100%) create mode 100644 tests/examplefiles/devicetree/example.dts.output rename tests/examplefiles/{ => dg}/inet_pton6.dg (100%) create mode 100644 tests/examplefiles/dg/inet_pton6.dg.output rename tests/examplefiles/{ => django}/django_sample.html+django (100%) create mode 100644 tests/examplefiles/django/django_sample.html+django.output rename tests/examplefiles/{ => docker}/docker.docker (100%) create mode 100644 tests/examplefiles/docker/docker.docker.output rename tests/examplefiles/{ => dtd}/test.dtd (100%) create mode 100644 tests/examplefiles/dtd/test.dtd.output rename tests/examplefiles/{ => duel}/jbst_example1.jbst (100%) create mode 100644 tests/examplefiles/duel/jbst_example1.jbst.output rename tests/examplefiles/{ => duel}/jbst_example2.jbst (100%) create mode 100644 tests/examplefiles/duel/jbst_example2.jbst.output rename tests/examplefiles/{ => dylan-console}/session.dylan-console (100%) create mode 100644 tests/examplefiles/dylan-console/session.dylan-console.output rename tests/examplefiles/{ => dylan-lid}/unix-io.lid (100%) create mode 100644 tests/examplefiles/dylan-lid/unix-io.lid.output rename tests/examplefiles/{ => dylan}/classes.dylan (100%) create mode 100644 tests/examplefiles/dylan/classes.dylan.output rename tests/examplefiles/{ => dylan}/nanomsg.intr (100%) create mode 100644 tests/examplefiles/dylan/nanomsg.intr.output rename tests/examplefiles/{ => earl-grey}/eg_example1.eg (100%) create mode 100644 tests/examplefiles/earl-grey/eg_example1.eg.output rename tests/examplefiles/{ => easytrieve}/example.ezt (100%) create mode 100644 tests/examplefiles/easytrieve/example.ezt.output rename tests/examplefiles/{ => easytrieve}/example.mac (100%) create mode 100644 tests/examplefiles/easytrieve/example.mac.output rename tests/examplefiles/{ => ebnf}/test.ebnf (100%) create mode 100644 tests/examplefiles/ebnf/test.ebnf.output rename tests/examplefiles/{ => ec}/test.ec (100%) create mode 100644 tests/examplefiles/ec/test.ec.output rename tests/examplefiles/{ => ec}/test.eh (100%) create mode 100644 tests/examplefiles/ec/test.eh.output rename tests/examplefiles/{ => eiffel}/example.e (100%) create mode 100644 tests/examplefiles/eiffel/example.e.output rename tests/examplefiles/{ => elixir}/example_elixir.ex (100%) create mode 100644 tests/examplefiles/elixir/example_elixir.ex.output rename tests/examplefiles/{ => elm}/example.elm (100%) create mode 100644 tests/examplefiles/elm/example.elm.output rename tests/examplefiles/{ => emacs}/subr.el (100%) create mode 100644 tests/examplefiles/emacs/subr.el.output rename tests/examplefiles/{ => email}/example.eml (100%) create mode 100644 tests/examplefiles/email/example.eml.output rename tests/examplefiles/{ => erl}/erl_session (100%) create mode 100644 tests/examplefiles/erl/erl_session.output rename tests/examplefiles/{ => erlang}/test.erl (100%) create mode 100644 tests/examplefiles/erlang/test.erl.output rename tests/examplefiles/{ => erlang}/test.escript (100%) create mode 100644 tests/examplefiles/erlang/test.escript.output rename tests/examplefiles/{ => evoque}/test.evoque (100%) create mode 100644 tests/examplefiles/evoque/test.evoque.output rename tests/examplefiles/{ => execline}/example.exec (100%) create mode 100644 tests/examplefiles/execline/example.exec.output rename tests/examplefiles/{ => extempore}/example.xtm (100%) create mode 100644 tests/examplefiles/extempore/example.xtm.output rename tests/examplefiles/{ => ezhil}/ezhil_primefactors.n (100%) create mode 100644 tests/examplefiles/ezhil/ezhil_primefactors.n.output rename tests/examplefiles/{ => factor}/wiki.factor (100%) create mode 100644 tests/examplefiles/factor/wiki.factor.output rename tests/examplefiles/{ => fan}/test.fan (100%) create mode 100644 tests/examplefiles/fan/test.fan.output rename tests/examplefiles/{ => fancy}/example_file.fy (100%) create mode 100644 tests/examplefiles/fancy/example_file.fy.output rename tests/examplefiles/{ => felix}/test.flx (100%) create mode 100644 tests/examplefiles/felix/test.flx.output rename tests/examplefiles/{ => fennel}/fennelview.fnl (100%) create mode 100644 tests/examplefiles/fennel/fennelview.fnl.output rename tests/examplefiles/{ => fish}/example.fish (100%) create mode 100644 tests/examplefiles/fish/example.fish.output rename tests/examplefiles/{ => flatline}/flatline_example (100%) create mode 100644 tests/examplefiles/flatline/flatline_example.output rename tests/examplefiles/{ => floscript}/example.flo (100%) create mode 100644 tests/examplefiles/floscript/example.flo.output rename tests/examplefiles/{ => forth}/demo.frt (100%) create mode 100644 tests/examplefiles/forth/demo.frt.output rename tests/examplefiles/{ => fortran}/example.f90 (100%) create mode 100644 tests/examplefiles/fortran/example.f90.output rename tests/examplefiles/{ => fortran}/zmlrpc.f90 (100%) create mode 100644 tests/examplefiles/fortran/zmlrpc.f90.output rename tests/examplefiles/{ => fortranfixed}/ahcon.f (100%) create mode 100644 tests/examplefiles/fortranfixed/ahcon.f.output rename tests/examplefiles/{ => foxpro}/example.prg (100%) create mode 100644 tests/examplefiles/foxpro/example.prg.output rename tests/examplefiles/{ => freefem}/freefem.edp (100%) create mode 100644 tests/examplefiles/freefem/freefem.edp.output rename tests/examplefiles/{ => fsharp}/Deflate.fs (100%) create mode 100644 tests/examplefiles/fsharp/Deflate.fs.output rename tests/examplefiles/{ => fstar}/example.fst (100%) create mode 100644 tests/examplefiles/fstar/example.fst.output create mode 100644 tests/examplefiles/futhark/example.fut create mode 100644 tests/examplefiles/futhark/example.fut.output rename tests/examplefiles/{ => gap}/example.gd (100%) create mode 100644 tests/examplefiles/gap/example.gd.output rename tests/examplefiles/{ => gap}/example.gi (100%) create mode 100644 tests/examplefiles/gap/example.gi.output rename tests/examplefiles/{ => gdscript}/gdscript_example.gd (100%) create mode 100644 tests/examplefiles/gdscript/gdscript_example.gd.output rename tests/examplefiles/{ => genshi}/genshi_example.xml+genshi (100%) create mode 100644 tests/examplefiles/genshi/genshi_example.xml+genshi.output rename tests/examplefiles/{ => genshitext}/genshitext_example.genshitext (100%) create mode 100644 tests/examplefiles/genshitext/genshitext_example.genshitext.output rename tests/examplefiles/{ => glsl}/glsl.frag (100%) create mode 100644 tests/examplefiles/glsl/glsl.frag.output rename tests/examplefiles/{ => glsl}/glsl.vert (100%) create mode 100644 tests/examplefiles/glsl/glsl.vert.output rename tests/examplefiles/{ => gnuplot}/test.plot (100%) create mode 100644 tests/examplefiles/gnuplot/test.plot.output rename tests/examplefiles/{ => go}/unicode.go (100%) create mode 100644 tests/examplefiles/go/unicode.go.output rename tests/examplefiles/{ => golo}/example.golo (100%) create mode 100644 tests/examplefiles/golo/example.golo.output rename tests/examplefiles/{ => golo}/hello.golo (100%) create mode 100644 tests/examplefiles/golo/hello.golo.output rename tests/examplefiles/{ => gooddata-cl}/test.gdc (100%) create mode 100644 tests/examplefiles/gooddata-cl/test.gdc.output rename tests/examplefiles/{ => gosu}/example.gs (100%) create mode 100644 tests/examplefiles/gosu/example.gs.output create mode 100644 tests/examplefiles/graphviz/graphviz-dot.gv create mode 100644 tests/examplefiles/graphviz/graphviz-dot.gv.output rename tests/examplefiles/{ => groff}/perlfunc.1 (100%) create mode 100644 tests/examplefiles/groff/perlfunc.1.output rename tests/examplefiles/{ => groovy}/example.groovy (100%) create mode 100644 tests/examplefiles/groovy/example.groovy.output rename tests/examplefiles/{ => groovy}/test.gradle (100%) create mode 100644 tests/examplefiles/groovy/test.gradle.output rename tests/examplefiles/{ => groovy}/test.groovy (100%) create mode 100644 tests/examplefiles/groovy/test.groovy.output rename tests/examplefiles/{ => gst}/example.gst (100%) create mode 100644 tests/examplefiles/gst/example.gst.output rename tests/examplefiles/{ => haskell}/AcidStateAdvanced.hs (100%) create mode 100644 tests/examplefiles/haskell/AcidStateAdvanced.hs.output rename tests/examplefiles/{ => haskell}/SmallCheck.hs (100%) create mode 100644 tests/examplefiles/haskell/SmallCheck.hs.output rename tests/examplefiles/{ => haskell}/example.hs (100%) create mode 100644 tests/examplefiles/haskell/example.hs.output rename tests/examplefiles/{ => hexdump}/hexdump_debugexe (100%) create mode 100644 tests/examplefiles/hexdump/hexdump_debugexe.output rename tests/examplefiles/{ => hexdump}/hexdump_hd (100%) create mode 100644 tests/examplefiles/hexdump/hexdump_hd.output rename tests/examplefiles/{ => hexdump}/hexdump_hexcat (100%) create mode 100644 tests/examplefiles/hexdump/hexdump_hexcat.output rename tests/examplefiles/{ => hexdump}/hexdump_hexdump (100%) create mode 100644 tests/examplefiles/hexdump/hexdump_hexdump.output rename tests/examplefiles/{ => hexdump}/hexdump_od (100%) create mode 100644 tests/examplefiles/hexdump/hexdump_od.output rename tests/examplefiles/{ => hexdump}/hexdump_xxd (100%) create mode 100644 tests/examplefiles/hexdump/hexdump_xxd.output rename tests/examplefiles/{ => hlsl}/example.hlsl (100%) create mode 100644 tests/examplefiles/hlsl/example.hlsl.output rename tests/examplefiles/{ => hsail}/test.hsail (100%) create mode 100644 tests/examplefiles/hsail/test.hsail.output rename tests/examplefiles/{ => html+handlebars}/demo.hbs (100%) create mode 100644 tests/examplefiles/html+handlebars/demo.hbs.output rename tests/examplefiles/{ => html+handlebars}/ember.handlebars (100%) create mode 100644 tests/examplefiles/html+handlebars/ember.handlebars.output rename tests/examplefiles/{ => html+ng2}/example.ng2 (100%) create mode 100644 tests/examplefiles/html+ng2/example.ng2.output rename tests/examplefiles/{ => html+php}/html+php_faulty.php (100%) create mode 100644 tests/examplefiles/html+php/html+php_faulty.php.output rename tests/examplefiles/{ => html}/example.xhtml (99%) create mode 100644 tests/examplefiles/html/example.xhtml.output rename tests/examplefiles/{ => html}/test.html (100%) create mode 100644 tests/examplefiles/html/test.html.output rename tests/examplefiles/{ => http}/http_request_example (100%) create mode 100644 tests/examplefiles/http/http_request_example.output rename tests/examplefiles/{ => http}/http_response_example (100%) create mode 100644 tests/examplefiles/http/http_response_example.output rename tests/examplefiles/{ => hx}/OrderedMap.hx (100%) create mode 100644 tests/examplefiles/hx/OrderedMap.hx.output rename tests/examplefiles/{ => hx}/example.hx (100%) create mode 100644 tests/examplefiles/hx/example.hx.output rename tests/examplefiles/{ => hybris}/hybris_File.hy (100%) create mode 100644 tests/examplefiles/hybris/hybris_File.hy.output rename tests/examplefiles/{ => hylang}/language.hy (100%) create mode 100644 tests/examplefiles/hylang/language.hy.output rename tests/examplefiles/{ => i6t}/example.i6t (100%) create mode 100644 tests/examplefiles/i6t/example.i6t.output rename tests/examplefiles/{ => icon}/example.icon (100%) create mode 100644 tests/examplefiles/icon/example.icon.output rename tests/examplefiles/{ => idl}/idl_sample.pro (100%) create mode 100644 tests/examplefiles/idl/idl_sample.pro.output rename tests/examplefiles/{ => idris}/test.idr (100%) create mode 100644 tests/examplefiles/idris/test.idr.output rename tests/examplefiles/{ => iex}/iex_example (100%) create mode 100644 tests/examplefiles/iex/iex_example.output rename tests/examplefiles/{ => inform6}/inform6_example (100%) create mode 100644 tests/examplefiles/inform6/inform6_example.output rename tests/examplefiles/{ => inform7}/example.i7x (100%) create mode 100644 tests/examplefiles/inform7/example.i7x.output rename tests/examplefiles/{ => inform7}/example.ni (100%) create mode 100644 tests/examplefiles/inform7/example.ni.output rename tests/examplefiles/{ => ini}/test.ini (100%) create mode 100644 tests/examplefiles/ini/test.ini.output rename tests/examplefiles/{ => ioke}/intro.ik (100%) create mode 100644 tests/examplefiles/ioke/intro.ik.output rename tests/examplefiles/{ => irc}/example.weechatlog (100%) create mode 100644 tests/examplefiles/irc/example.weechatlog.output rename tests/examplefiles/{ => isabelle}/example.thy (100%) create mode 100644 tests/examplefiles/isabelle/example.thy.output rename tests/examplefiles/{ => j}/pacman.ijs (100%) create mode 100644 tests/examplefiles/j/pacman.ijs.output rename tests/examplefiles/{ => jags}/example.jag (100%) create mode 100644 tests/examplefiles/jags/example.jag.output rename tests/examplefiles/{ => jasmin}/example.j (100%) create mode 100644 tests/examplefiles/jasmin/example.j.output rename tests/examplefiles/{ => java}/Intro.java (100%) create mode 100644 tests/examplefiles/java/Intro.java.output rename tests/examplefiles/{ => java}/badcase.java (100%) create mode 100644 tests/examplefiles/java/badcase.java.output rename tests/examplefiles/{ => java}/example.java (100%) create mode 100644 tests/examplefiles/java/example.java.output rename tests/examplefiles/{ => java}/test.java (100%) create mode 100644 tests/examplefiles/java/test.java.output rename tests/examplefiles/{ => javascript+mozpreproc}/demo.js.in (100%) create mode 100644 tests/examplefiles/javascript+mozpreproc/demo.js.in.output rename tests/examplefiles/{ => jcl}/example.jcl (100%) create mode 100644 tests/examplefiles/jcl/example.jcl.output rename tests/examplefiles/{ => js}/BOM.js (100%) create mode 100644 tests/examplefiles/js/BOM.js.output rename tests/examplefiles/{ => js}/es6.js (100%) create mode 100644 tests/examplefiles/js/es6.js.output rename tests/examplefiles/{ => js}/evil_regex.js (100%) create mode 100644 tests/examplefiles/js/evil_regex.js.output rename tests/examplefiles/{ => js}/regex.js (100%) create mode 100644 tests/examplefiles/js/regex.js.output rename tests/examplefiles/{ => js}/unicode.js (100%) create mode 100644 tests/examplefiles/js/unicode.js.output rename tests/examplefiles/{ => jsgf}/example.jsgf (100%) create mode 100644 tests/examplefiles/jsgf/example.jsgf.output rename tests/examplefiles/{ => jsonld}/example.jsonld (100%) create mode 100644 tests/examplefiles/jsonld/example.jsonld.output rename tests/examplefiles/{ => jsp}/test.jsp (100%) create mode 100644 tests/examplefiles/jsp/test.jsp.output rename tests/examplefiles/{ => julia}/string.jl (100%) create mode 100644 tests/examplefiles/julia/string.jl.output rename tests/examplefiles/{ => juttle}/example.juttle (100%) create mode 100644 tests/examplefiles/juttle/example.juttle.output rename tests/examplefiles/{ => kal}/example.kal (100%) create mode 100644 tests/examplefiles/kal/example.kal.output rename tests/examplefiles/{ => kconfig}/Config.in.cache (100%) create mode 100644 tests/examplefiles/kconfig/Config.in.cache.output rename tests/examplefiles/{ => kmsg}/example.dmesg (100%) create mode 100644 tests/examplefiles/kmsg/example.dmesg.output rename tests/examplefiles/{ => koka}/garcia-wachs.kk (100%) create mode 100644 tests/examplefiles/koka/garcia-wachs.kk.output rename tests/examplefiles/{ => kotlin}/example.kt (100%) create mode 100644 tests/examplefiles/kotlin/example.kt.output rename tests/examplefiles/{ => lagda}/example.lagda (100%) create mode 100644 tests/examplefiles/lagda/example.lagda.output rename tests/examplefiles/{ => lasso}/json.lasso (100%) create mode 100644 tests/examplefiles/lasso/json.lasso.output rename tests/examplefiles/{ => lasso}/json.lasso9 (100%) create mode 100644 tests/examplefiles/lasso/json.lasso9.output rename tests/examplefiles/{ => lean}/test.lean (100%) create mode 100644 tests/examplefiles/lean/test.lean.output rename tests/examplefiles/{ => lhs}/DancingSudoku.lhs (100%) create mode 100644 tests/examplefiles/lhs/DancingSudoku.lhs.output rename tests/examplefiles/{ => lhs}/Sudoku.lhs (100%) create mode 100644 tests/examplefiles/lhs/Sudoku.lhs.output rename tests/examplefiles/{ => lighty}/lighttpd_config.conf (100%) create mode 100644 tests/examplefiles/lighty/lighttpd_config.conf.output rename tests/examplefiles/{ => limbo}/limbo.b (100%) create mode 100644 tests/examplefiles/limbo/limbo.b.output rename tests/examplefiles/{ => liquid}/example.liquid (100%) create mode 100644 tests/examplefiles/liquid/example.liquid.output rename tests/examplefiles/{ => live-script}/livescript-demo.ls (100%) create mode 100644 tests/examplefiles/live-script/livescript-demo.ls.output rename tests/examplefiles/{ => llvm-mir}/llvm-mir.mir (100%) create mode 100644 tests/examplefiles/llvm-mir/llvm-mir.mir.output rename tests/examplefiles/{ => logos}/logos_example.xm (100%) create mode 100644 tests/examplefiles/logos/logos_example.xm.output rename tests/examplefiles/{ => logtalk}/source.lgt (100%) create mode 100644 tests/examplefiles/logtalk/source.lgt.output rename tests/examplefiles/{ => lsl}/hello.lsl (100%) create mode 100644 tests/examplefiles/lsl/hello.lsl.output rename tests/examplefiles/{ => lua}/example.lua (100%) create mode 100644 tests/examplefiles/lua/example.lua.output rename tests/examplefiles/{ => make}/Makefile (100%) create mode 100644 tests/examplefiles/make/Makefile.output rename tests/examplefiles/{ => make}/automake.mk (100%) create mode 100644 tests/examplefiles/make/automake.mk.output rename tests/examplefiles/{ => make}/firefox.mak (100%) create mode 100644 tests/examplefiles/make/firefox.mak.output rename tests/examplefiles/{ => make}/python25-bsd.mak (100%) create mode 100644 tests/examplefiles/make/python25-bsd.mak.output rename tests/examplefiles/{ => make}/vpath.mk (100%) create mode 100644 tests/examplefiles/make/vpath.mk.output rename tests/examplefiles/{ => maql}/test.maql (100%) create mode 100644 tests/examplefiles/maql/test.maql.output rename tests/examplefiles/{ => mask}/test.mask (100%) create mode 100644 tests/examplefiles/mask/test.mask.output rename tests/examplefiles/{ => mathematica}/example.ma (100%) create mode 100644 tests/examplefiles/mathematica/example.ma.output rename tests/examplefiles/{ => matlab}/matlab_noreturn (100%) create mode 100644 tests/examplefiles/matlab/matlab_noreturn.output rename tests/examplefiles/{ => matlab}/matlab_sample (100%) create mode 100644 tests/examplefiles/matlab/matlab_sample.output rename tests/examplefiles/{ => matlabsession}/matlabsession_sample.txt (100%) create mode 100644 tests/examplefiles/matlabsession/matlabsession_sample.txt.output rename tests/examplefiles/{ => md}/example.md (100%) create mode 100644 tests/examplefiles/md/example.md.output rename tests/examplefiles/{ => mime}/MIME_example.eml (100%) create mode 100644 tests/examplefiles/mime/MIME_example.eml.output rename tests/examplefiles/{ => modelica}/Constants.mo (100%) create mode 100644 tests/examplefiles/modelica/Constants.mo.output rename tests/examplefiles/{ => modula2}/Sorting.mod (100%) create mode 100644 tests/examplefiles/modula2/Sorting.mod.output rename tests/examplefiles/{ => modula2}/modula2_test_cases.def (100%) create mode 100644 tests/examplefiles/modula2/modula2_test_cases.def.output rename tests/examplefiles/{ => modula2}/test.mod (100%) create mode 100644 tests/examplefiles/modula2/test.mod.output rename tests/examplefiles/{ => monkey}/example.monkey (100%) create mode 100644 tests/examplefiles/monkey/example.monkey.output rename tests/examplefiles/{ => monte}/test.mt (100%) create mode 100644 tests/examplefiles/monte/test.mt.output rename tests/examplefiles/{ => moocode}/example.moo (100%) create mode 100644 tests/examplefiles/moocode/example.moo.output rename tests/examplefiles/{ => moocode}/test.moo (100%) create mode 100644 tests/examplefiles/moocode/test.moo.output rename tests/examplefiles/{ => moon}/example.moon (100%) create mode 100644 tests/examplefiles/moon/example.moon.output rename tests/examplefiles/{ => mosel}/test.mos (100%) create mode 100644 tests/examplefiles/mosel/test.mos.output rename tests/examplefiles/{ => mql}/example.mq4 (100%) create mode 100644 tests/examplefiles/mql/example.mq4.output rename tests/examplefiles/{ => mql}/example.mqh (100%) create mode 100644 tests/examplefiles/mql/example.mqh.output rename tests/examplefiles/{ => ms}/example.ms (100%) create mode 100644 tests/examplefiles/ms/example.ms.output rename tests/examplefiles/{ => mscgen}/example.msc (100%) create mode 100644 tests/examplefiles/mscgen/example.msc.output rename tests/examplefiles/{ => mscgen}/example2.msc (100%) create mode 100644 tests/examplefiles/mscgen/example2.msc.output rename tests/examplefiles/{ => mupad}/AlternatingGroup.mu (97%) create mode 100644 tests/examplefiles/mupad/AlternatingGroup.mu.output rename tests/examplefiles/{ => mupad}/function.mu (100%) create mode 100644 tests/examplefiles/mupad/function.mu.output rename tests/examplefiles/{ => myghty}/test.myt (100%) create mode 100644 tests/examplefiles/myghty/test.myt.output rename tests/examplefiles/{ => nasm}/nasm_aoutso.asm (100%) create mode 100644 tests/examplefiles/nasm/nasm_aoutso.asm.output rename tests/examplefiles/{ => nasm}/nasm_objexe.asm (100%) create mode 100644 tests/examplefiles/nasm/nasm_objexe.asm.output rename tests/examplefiles/{ => ncl}/test.ncl (100%) create mode 100644 tests/examplefiles/ncl/test.ncl.output rename tests/examplefiles/{ => nemerle}/nemerle_sample.n (100%) create mode 100644 tests/examplefiles/nemerle/nemerle_sample.n.output rename tests/examplefiles/{ => nesc}/IPDispatchC.nc (100%) create mode 100644 tests/examplefiles/nesc/IPDispatchC.nc.output rename tests/examplefiles/{ => nesc}/IPDispatchP.nc (100%) create mode 100644 tests/examplefiles/nesc/IPDispatchP.nc.output rename tests/examplefiles/{ => newlisp}/irc.lsp (100%) create mode 100644 tests/examplefiles/newlisp/irc.lsp.output rename tests/examplefiles/{ => newlisp}/markdown.lsp (100%) create mode 100644 tests/examplefiles/newlisp/markdown.lsp.output rename tests/examplefiles/{ => newlisp}/reversi.lsp (100%) create mode 100644 tests/examplefiles/newlisp/reversi.lsp.output rename tests/examplefiles/{ => newspeak}/example.ns2 (100%) create mode 100644 tests/examplefiles/newspeak/example.ns2.output rename tests/examplefiles/{ => newspeak}/minimal.ns2 (100%) create mode 100644 tests/examplefiles/newspeak/minimal.ns2.output rename tests/examplefiles/{ => nginx}/nginx_nginx.conf (100%) create mode 100644 tests/examplefiles/nginx/nginx_nginx.conf.output rename tests/examplefiles/{ => nim}/example.nim (100%) create mode 100644 tests/examplefiles/nim/example.nim.output rename tests/examplefiles/{ => nim}/test.nim (100%) create mode 100644 tests/examplefiles/nim/test.nim.output rename tests/examplefiles/{ => nit}/all.nit (100%) create mode 100644 tests/examplefiles/nit/all.nit.output rename tests/examplefiles/{ => nixos}/example.nix (100%) create mode 100644 tests/examplefiles/nixos/example.nix.output rename tests/examplefiles/{ => notmuch}/notmuch_example (100%) create mode 100644 tests/examplefiles/notmuch/notmuch_example.output rename tests/examplefiles/{ => nsis}/bigtest.nsi (100%) create mode 100644 tests/examplefiles/nsis/bigtest.nsi.output rename tests/examplefiles/{ => nusmv}/guidance.smv (100%) create mode 100644 tests/examplefiles/nusmv/guidance.smv.output rename tests/examplefiles/{ => objective-c}/objc_example.m (100%) create mode 100644 tests/examplefiles/objective-c/objc_example.m.output rename tests/examplefiles/{ => objective-j}/CPDictionary.j (100%) create mode 100644 tests/examplefiles/objective-j/CPDictionary.j.output rename tests/examplefiles/{ => ocaml}/format.ml (100%) create mode 100644 tests/examplefiles/ocaml/format.ml.output rename tests/examplefiles/{ => odin}/test.odin (100%) create mode 100644 tests/examplefiles/odin/test.odin.output rename tests/examplefiles/{ => odin}/test2.odin (100%) create mode 100644 tests/examplefiles/odin/test2.odin.output rename tests/examplefiles/{ => opa}/test.opa (100%) create mode 100644 tests/examplefiles/opa/test.opa.output rename tests/examplefiles/{ => openedge}/example.cls (100%) create mode 100644 tests/examplefiles/openedge/example.cls.output rename tests/examplefiles/{ => openedge}/openedge_example (100%) create mode 100644 tests/examplefiles/openedge/openedge_example.output rename tests/examplefiles/{ => pacmanconf}/pacman.conf (100%) create mode 100644 tests/examplefiles/pacmanconf/pacman.conf.output rename tests/examplefiles/{ => pan}/test.pan (100%) create mode 100644 tests/examplefiles/pan/test.pan.output rename tests/examplefiles/{ => parasail}/test.psl (100%) create mode 100644 tests/examplefiles/parasail/test.psl.output rename tests/examplefiles/{ => pawn}/pawn_example (100%) create mode 100644 tests/examplefiles/pawn/pawn_example.output rename tests/examplefiles/{ => pawn}/test.pwn (100%) create mode 100644 tests/examplefiles/pawn/test.pwn.output rename tests/examplefiles/{ => perl}/perl_misc (100%) create mode 100644 tests/examplefiles/perl/perl_misc.output rename tests/examplefiles/{ => perl}/perl_perl5db (100%) create mode 100644 tests/examplefiles/perl/perl_perl5db.output rename tests/examplefiles/{ => perl}/perl_regex-delims (100%) create mode 100644 tests/examplefiles/perl/perl_regex-delims.output rename tests/examplefiles/{ => perl6}/RoleQ.pm6 (100%) create mode 100644 tests/examplefiles/perl6/RoleQ.pm6.output rename tests/examplefiles/{ => perl6}/grammar-test.p6 (100%) create mode 100644 tests/examplefiles/perl6/grammar-test.p6.output rename tests/examplefiles/{ => perl6}/test.p6 (100%) create mode 100644 tests/examplefiles/perl6/test.p6.output rename tests/examplefiles/{ => php}/ints.php (100%) create mode 100644 tests/examplefiles/php/ints.php.output rename tests/examplefiles/{ => php}/test.php (100%) create mode 100644 tests/examplefiles/php/test.php.output rename tests/examplefiles/{ => pig}/test.pig (100%) create mode 100644 tests/examplefiles/pig/test.pig.output rename tests/examplefiles/{ => pike}/Error.pmod (100%) create mode 100644 tests/examplefiles/pike/Error.pmod.output rename tests/examplefiles/{ => pike}/FakeFile.pike (100%) create mode 100644 tests/examplefiles/pike/FakeFile.pike.output rename tests/examplefiles/{ => pkgconfig}/pkgconfig_example.pc (100%) create mode 100644 tests/examplefiles/pkgconfig/pkgconfig_example.pc.output rename tests/examplefiles/{ => pointless}/example.ptls (100%) create mode 100644 tests/examplefiles/pointless/example.ptls.output rename tests/examplefiles/{ => pony}/example.pony (100%) create mode 100644 tests/examplefiles/pony/example.pony.output rename tests/examplefiles/{ => postgresql}/postgresql_test.txt (100%) create mode 100644 tests/examplefiles/postgresql/postgresql_test.txt.output rename tests/examplefiles/{ => postscript}/cells.ps (100%) create mode 100644 tests/examplefiles/postscript/cells.ps.output rename tests/examplefiles/{ => pot}/de.MoinMoin.po (100%) create mode 100644 tests/examplefiles/pot/de.MoinMoin.po.output rename tests/examplefiles/{ => pov}/sphere.pov (100%) create mode 100644 tests/examplefiles/pov/sphere.pov.output rename tests/examplefiles/{ => pov}/while.pov (100%) create mode 100644 tests/examplefiles/pov/while.pov.output rename tests/examplefiles/{ => powershell}/Get-CommandDefinitionHtml.ps1 (100%) create mode 100644 tests/examplefiles/powershell/Get-CommandDefinitionHtml.ps1.output rename tests/examplefiles/{ => powershell}/test.ps1 (100%) create mode 100644 tests/examplefiles/powershell/test.ps1.output rename tests/examplefiles/{ => praat}/example.praat (100%) create mode 100644 tests/examplefiles/praat/example.praat.output rename tests/examplefiles/{ => prolog}/qsort.prolog (100%) create mode 100644 tests/examplefiles/prolog/qsort.prolog.output rename tests/examplefiles/{ => prolog}/sibling.prolog (100%) create mode 100644 tests/examplefiles/prolog/sibling.prolog.output rename tests/examplefiles/{ => promql}/example.promql (100%) create mode 100644 tests/examplefiles/promql/example.promql.output rename tests/examplefiles/{ => properties}/java.properties (100%) create mode 100644 tests/examplefiles/properties/java.properties.output rename tests/examplefiles/{ => protobuf}/addressbook.proto (100%) create mode 100644 tests/examplefiles/protobuf/addressbook.proto.output rename tests/examplefiles/{ => psql}/psql_session.txt (100%) create mode 100644 tests/examplefiles/psql/psql_session.txt.output rename tests/examplefiles/{ => psysh}/psysh_test.psysh (100%) create mode 100644 tests/examplefiles/psysh/psysh_test.psysh.output rename tests/examplefiles/{ => puppet}/example.pp (100%) create mode 100644 tests/examplefiles/puppet/example.pp.output rename tests/examplefiles/{ => pycon}/pycon_ctrlc_traceback (100%) create mode 100644 tests/examplefiles/pycon/pycon_ctrlc_traceback.output rename tests/examplefiles/{ => pycon}/pycon_test.pycon (100%) create mode 100644 tests/examplefiles/pycon/pycon_test.pycon.output rename tests/examplefiles/{ => pypylog}/test.pypylog (100%) create mode 100644 tests/examplefiles/pypylog/test.pypylog.output rename tests/examplefiles/{ => pypylog}/test2.pypylog (100%) create mode 100644 tests/examplefiles/pypylog/test2.pypylog.output rename tests/examplefiles/{ => pytb}/database.pytb (100%) create mode 100644 tests/examplefiles/pytb/database.pytb.output rename tests/examplefiles/{ => pytb}/py3tb_test.py3tb (100%) create mode 100644 tests/examplefiles/pytb/py3tb_test.py3tb.output rename tests/examplefiles/{ => pytb}/pytb_test2.pytb (100%) create mode 100644 tests/examplefiles/pytb/pytb_test2.pytb.output rename tests/examplefiles/{ => pytb}/pytb_test3.pytb (100%) create mode 100644 tests/examplefiles/pytb/pytb_test3.pytb.output rename tests/examplefiles/{ => pytb}/truncated.pytb (100%) create mode 100644 tests/examplefiles/pytb/truncated.pytb.output rename tests/examplefiles/{ => python}/linecontinuation.py (100%) create mode 100644 tests/examplefiles/python/linecontinuation.py.output rename tests/examplefiles/{ => python}/py3_test.txt (100%) create mode 100644 tests/examplefiles/python/py3_test.txt.output rename tests/examplefiles/{ => python}/unicodedoc.py (100%) create mode 100644 tests/examplefiles/python/unicodedoc.py.output rename tests/examplefiles/{ => qbasic}/qbasic_example (100%) create mode 100644 tests/examplefiles/qbasic/qbasic_example.output rename tests/examplefiles/{ => qml}/minehunt.qml (100%) create mode 100644 tests/examplefiles/qml/minehunt.qml.output rename tests/examplefiles/{ => qvto}/sample.qvto (100%) create mode 100644 tests/examplefiles/qvto/sample.qvto.output rename tests/examplefiles/{ => racket}/example.rkt (100%) create mode 100644 tests/examplefiles/racket/example.rkt.output rename tests/examplefiles/{ => ragel-cpp}/ragel-cpp_rlscan (100%) create mode 100644 tests/examplefiles/ragel-cpp/ragel-cpp_rlscan.output rename tests/examplefiles/{ => ragel-cpp}/ragel-cpp_snippet (100%) create mode 100644 tests/examplefiles/ragel-cpp/ragel-cpp_snippet.output rename tests/examplefiles/{ => rb}/condensed_ruby.rb (100%) create mode 100644 tests/examplefiles/rb/condensed_ruby.rb.output rename tests/examplefiles/{ => rb}/example.rb (100%) create mode 100644 tests/examplefiles/rb/example.rb.output rename tests/examplefiles/{ => rb}/fucked_up.rb (100%) create mode 100644 tests/examplefiles/rb/fucked_up.rb.output rename tests/examplefiles/{ => rb}/hash_syntax.rb (100%) create mode 100644 tests/examplefiles/rb/hash_syntax.rb.output rename tests/examplefiles/{ => rb}/multiline_regexes.rb (100%) create mode 100644 tests/examplefiles/rb/multiline_regexes.rb.output rename tests/examplefiles/{ => rb}/pleac.in.rb (100%) create mode 100644 tests/examplefiles/rb/pleac.in.rb.output rename tests/examplefiles/{ => rb}/ruby_func_def.rb (100%) create mode 100644 tests/examplefiles/rb/ruby_func_def.rb.output rename tests/examplefiles/{ => rb}/test.rb (100%) create mode 100644 tests/examplefiles/rb/test.rb.output rename tests/examplefiles/{ => rbcon}/irb_heredoc (100%) create mode 100644 tests/examplefiles/rbcon/irb_heredoc.output rename tests/examplefiles/{ => rconsole}/r-console-transcript.Rout (100%) create mode 100644 tests/examplefiles/rconsole/r-console-transcript.Rout.output rename tests/examplefiles/{ => rd}/example.Rd (100%) create mode 100644 tests/examplefiles/rd/example.Rd.output rename tests/examplefiles/{ => reason}/test.re (100%) create mode 100644 tests/examplefiles/reason/test.re.output rename tests/examplefiles/{ => rebol}/test.r3 (100%) create mode 100644 tests/examplefiles/rebol/test.r3.output rename tests/examplefiles/{ => red}/example.red (100%) create mode 100644 tests/examplefiles/red/example.red.output rename tests/examplefiles/{ => red}/example.reds (100%) create mode 100644 tests/examplefiles/red/example.reds.output rename tests/examplefiles/{ => redcode}/dwarf.cw (100%) create mode 100644 tests/examplefiles/redcode/dwarf.cw.output rename tests/examplefiles/{ => registry}/example.reg (100%) create mode 100644 tests/examplefiles/registry/example.reg.output rename tests/examplefiles/{ => resource}/resourcebundle_demo (100%) create mode 100644 tests/examplefiles/resource/resourcebundle_demo.output rename tests/examplefiles/{ => rexx}/example.rexx (100%) create mode 100644 tests/examplefiles/rexx/example.rexx.output rename tests/examplefiles/{ => rhtml}/example.rhtml (100%) create mode 100644 tests/examplefiles/rhtml/example.rhtml.output rename tests/examplefiles/{ => rhtml}/test.rhtml (100%) create mode 100644 tests/examplefiles/rhtml/test.rhtml.output rename tests/examplefiles/{ => ride}/auction.ride (100%) create mode 100644 tests/examplefiles/ride/auction.ride.output rename tests/examplefiles/{ => rnc}/rnc_example.rnc (100%) create mode 100644 tests/examplefiles/rnc/rnc_example.rnc.output rename tests/examplefiles/{ => roboconf-graph}/roboconf.graph (100%) create mode 100644 tests/examplefiles/roboconf-graph/roboconf.graph.output rename tests/examplefiles/{ => roboconf-instances}/roboconf.instances (100%) create mode 100644 tests/examplefiles/roboconf-instances/roboconf.instances.output rename tests/examplefiles/{ => robotframework}/robotframework_test.txt (100%) create mode 100644 tests/examplefiles/robotframework/robotframework_test.txt.output rename tests/examplefiles/{ => rql}/rql-queries.rql (100%) create mode 100644 tests/examplefiles/rql/rql-queries.rql.output rename tests/examplefiles/{ => rsl}/test.rsl (100%) create mode 100644 tests/examplefiles/rsl/test.rsl.output rename tests/examplefiles/{ => rst}/functional.rst (100%) create mode 100644 tests/examplefiles/rst/functional.rst.output rename tests/examplefiles/{ => rst}/jinjadesignerdoc.rst (100%) create mode 100644 tests/examplefiles/rst/jinjadesignerdoc.rst.output rename tests/examplefiles/{ => rts}/example.rts (100%) create mode 100644 tests/examplefiles/rts/example.rts.output rename tests/examplefiles/{ => rust}/eval.rs (100%) create mode 100644 tests/examplefiles/rust/eval.rs.output rename tests/examplefiles/{ => sc}/example.scd (100%) create mode 100644 tests/examplefiles/sc/example.scd.output rename tests/examplefiles/{ => scala}/Errors.scala (100%) create mode 100644 tests/examplefiles/scala/Errors.scala.output rename tests/examplefiles/{ => scala}/char.scala (100%) create mode 100644 tests/examplefiles/scala/char.scala.output rename tests/examplefiles/{ => scala}/interp.scala (100%) create mode 100644 tests/examplefiles/scala/interp.scala.output rename tests/examplefiles/{ => scaml}/test.scaml (100%) create mode 100644 tests/examplefiles/scaml/test.scaml.output rename tests/examplefiles/{ => scdoc}/scdoc_manual.scd (100%) create mode 100644 tests/examplefiles/scdoc/scdoc_manual.scd.output rename tests/examplefiles/{ => scheme}/boot-9.scm (100%) create mode 100644 tests/examplefiles/scheme/boot-9.scm.output rename tests/examplefiles/{ => scheme}/r6rs-comments.scm (100%) create mode 100644 tests/examplefiles/scheme/r6rs-comments.scm.output rename tests/examplefiles/{ => scilab}/foo.sce (100%) create mode 100644 tests/examplefiles/scilab/foo.sce.output rename tests/examplefiles/{ => scilab}/scilab.sci (100%) create mode 100644 tests/examplefiles/scilab/scilab.sci.output rename tests/examplefiles/{ => sgf}/example.sgf (100%) create mode 100644 tests/examplefiles/sgf/example.sgf.output rename tests/examplefiles/{ => shen}/test.shen (100%) create mode 100644 tests/examplefiles/shen/test.shen.output rename tests/examplefiles/{ => shexc}/example.shex (100%) create mode 100644 tests/examplefiles/shexc/example.shex.output rename tests/examplefiles/{ => sieve}/example.sieve (100%) create mode 100644 tests/examplefiles/sieve/example.sieve.output rename tests/examplefiles/{ => silver}/test.sil (100%) create mode 100644 tests/examplefiles/silver/test.sil.output rename tests/examplefiles/{ => singularity}/Singularity (100%) create mode 100644 tests/examplefiles/singularity/Singularity.output rename tests/examplefiles/{ => slim}/example.slim (100%) create mode 100644 tests/examplefiles/slim/example.slim.output rename tests/examplefiles/{ => slurm}/example.sl (100%) create mode 100644 tests/examplefiles/slurm/example.sl.output rename tests/examplefiles/{ => smali}/hello.smali (100%) create mode 100644 tests/examplefiles/smali/hello.smali.output rename tests/examplefiles/{ => smalltalk}/Object.st (100%) create mode 100644 tests/examplefiles/smalltalk/Object.st.output rename tests/examplefiles/{ => smarty}/smarty_example.html (100%) create mode 100644 tests/examplefiles/smarty/smarty_example.html.output rename tests/examplefiles/{ => sml}/example.sml (100%) create mode 100644 tests/examplefiles/sml/example.sml.output rename tests/examplefiles/{ => sml}/intsyn.fun (100%) create mode 100644 tests/examplefiles/sml/intsyn.fun.output rename tests/examplefiles/{ => sml}/intsyn.sig (100%) create mode 100644 tests/examplefiles/sml/intsyn.sig.output rename tests/examplefiles/{ => snobol}/example.snobol (100%) create mode 100644 tests/examplefiles/snobol/example.snobol.output rename tests/examplefiles/{ => snowball}/example.sbl (100%) create mode 100644 tests/examplefiles/snowball/example.sbl.output rename tests/examplefiles/{ => solidity}/test.sol (100%) create mode 100644 tests/examplefiles/solidity/test.sol.output rename tests/examplefiles/{ => sourceslist}/sources.list (100%) create mode 100644 tests/examplefiles/sourceslist/sources.list.output rename tests/examplefiles/{ => sp}/hello.sp (100%) create mode 100644 tests/examplefiles/sp/hello.sp.output rename tests/examplefiles/{ => sparql}/sparql.rq (100%) create mode 100644 tests/examplefiles/sparql/sparql.rq.output rename tests/examplefiles/{ => spec}/phpMyAdmin.spec (100%) create mode 100644 tests/examplefiles/spec/phpMyAdmin.spec.output rename tests/examplefiles/{ => splus}/test.R (100%) create mode 100644 tests/examplefiles/splus/test.R.output rename tests/examplefiles/{ => sqlite3}/sqlite3.sqlite3-console (100%) create mode 100644 tests/examplefiles/sqlite3/sqlite3.sqlite3-console.output rename tests/examplefiles/{ => squidconf}/squid.conf (100%) create mode 100644 tests/examplefiles/squidconf/squid.conf.output rename tests/examplefiles/{ => ssp}/test.ssp (100%) create mode 100644 tests/examplefiles/ssp/test.ssp.output rename tests/examplefiles/{ => stan}/example.stan (100%) create mode 100644 tests/examplefiles/stan/example.stan.output rename tests/examplefiles/{ => swift}/test.swift (100%) create mode 100644 tests/examplefiles/swift/test.swift.output rename tests/examplefiles/{ => swig}/swig_java.swg (100%) create mode 100644 tests/examplefiles/swig/swig_java.swg.output rename tests/examplefiles/{ => swig}/swig_std_vector.i (100%) create mode 100644 tests/examplefiles/swig/swig_std_vector.i.output rename tests/examplefiles/{ => systemverilog}/flipflop.sv (100%) create mode 100644 tests/examplefiles/systemverilog/flipflop.sv.output rename tests/examplefiles/{ => tads3}/tads3_example.t (100%) create mode 100644 tests/examplefiles/tads3/tads3_example.t.output rename tests/examplefiles/{ => tap}/example.tap (100%) create mode 100644 tests/examplefiles/tap/example.tap.output rename tests/examplefiles/{ => tasm}/example.tasm (100%) create mode 100644 tests/examplefiles/tasm/example.tasm.output rename tests/examplefiles/{ => tcsh}/test.tcsh (100%) create mode 100644 tests/examplefiles/tcsh/test.tcsh.output rename tests/examplefiles/{ => tea}/example.tea (100%) create mode 100644 tests/examplefiles/tea/example.tea.output rename tests/examplefiles/{ => termcap}/termcap (100%) create mode 100644 tests/examplefiles/termcap/termcap.output rename tests/examplefiles/{ => terminfo}/terminfo (100%) create mode 100644 tests/examplefiles/terminfo/terminfo.output rename tests/examplefiles/{ => terraform}/example.tf (100%) create mode 100644 tests/examplefiles/terraform/example.tf.output rename tests/examplefiles/{ => text}/mysql.txt (100%) create mode 100644 tests/examplefiles/text/mysql.txt.output rename tests/examplefiles/{ => thrift}/demo.thrift (100%) create mode 100644 tests/examplefiles/thrift/demo.thrift.output rename tests/examplefiles/{ => tid}/TiddlyWiki5.tid (100%) create mode 100644 tests/examplefiles/tid/TiddlyWiki5.tid.output rename tests/examplefiles/{ => tnt}/example.tnt (100%) create mode 100644 tests/examplefiles/tnt/example.tnt.output rename tests/examplefiles/{ => todotxt}/example.todotxt (100%) create mode 100644 tests/examplefiles/todotxt/example.todotxt.output rename tests/examplefiles/{ => toml}/example.toml (100%) create mode 100644 tests/examplefiles/toml/example.toml.output rename tests/examplefiles/{ => trac-wiki}/moin_SyntaxReference.txt (100%) create mode 100644 tests/examplefiles/trac-wiki/moin_SyntaxReference.txt.output rename tests/examplefiles/{ => treetop}/metagrammar.treetop (100%) create mode 100644 tests/examplefiles/treetop/metagrammar.treetop.output rename tests/examplefiles/{ => ts}/typescript_example (100%) create mode 100644 tests/examplefiles/ts/typescript_example.output rename tests/examplefiles/{ => tsql}/tsql_example.sql (100%) create mode 100644 tests/examplefiles/tsql/tsql_example.sql.output rename tests/examplefiles/{ => ttl}/teraterm.ttl (100%) create mode 100644 tests/examplefiles/ttl/teraterm.ttl.output rename tests/examplefiles/{ => turtle}/example.ttl (100%) create mode 100644 tests/examplefiles/turtle/example.ttl.output rename tests/examplefiles/{ => twig}/twig_test (100%) create mode 100644 tests/examplefiles/twig/twig_test.output rename tests/examplefiles/{ => typoscript}/typoscript_example (100%) create mode 100644 tests/examplefiles/typoscript/typoscript_example.output rename tests/examplefiles/{ => ucode}/example.u1 (100%) create mode 100644 tests/examplefiles/ucode/example.u1.output rename tests/examplefiles/{ => unicon}/example.icn (100%) create mode 100644 tests/examplefiles/unicon/example.icn.output rename tests/examplefiles/{ => urbiscript}/example.u (100%) create mode 100644 tests/examplefiles/urbiscript/example.u.output rename tests/examplefiles/{ => usd}/example.usd (100%) create mode 100644 tests/examplefiles/usd/example.usd.output rename tests/examplefiles/{ => vb.net}/test.vb (100%) create mode 100644 tests/examplefiles/vb.net/test.vb.output rename tests/examplefiles/{ => vb.net}/vbnet_test.bas (100%) create mode 100644 tests/examplefiles/vb.net/vbnet_test.bas.output rename tests/examplefiles/{ => vbscript}/example.vbs (100%) create mode 100644 tests/examplefiles/vbscript/example.vbs.output rename tests/examplefiles/{ => vcl}/varnish.vcl (100%) create mode 100644 tests/examplefiles/vcl/varnish.vcl.output rename tests/examplefiles/{ => vctreestatus}/vctreestatus_hg (100%) create mode 100644 tests/examplefiles/vctreestatus/vctreestatus_hg.output rename tests/examplefiles/{ => verilog}/example_coq.v (100%) create mode 100644 tests/examplefiles/verilog/example_coq.v.output rename tests/examplefiles/{ => vgl}/example.rpf (100%) create mode 100644 tests/examplefiles/vgl/example.rpf.output rename tests/examplefiles/{ => vhdl}/test.vhdl (100%) create mode 100644 tests/examplefiles/vhdl/test.vhdl.output rename tests/examplefiles/{ => vim}/phpcomplete.vim (100%) create mode 100644 tests/examplefiles/vim/phpcomplete.vim.output rename tests/examplefiles/{ => vim}/vimrc (100%) create mode 100644 tests/examplefiles/vim/vimrc.output rename tests/examplefiles/{ => wdiff}/wdiff_example1.wdiff (100%) create mode 100644 tests/examplefiles/wdiff/wdiff_example1.wdiff.output rename tests/examplefiles/{ => wdiff}/wdiff_example3.wdiff (100%) create mode 100644 tests/examplefiles/wdiff/wdiff_example3.wdiff.output rename tests/examplefiles/{ => webidl}/example.webidl (100%) create mode 100644 tests/examplefiles/webidl/example.webidl.output rename tests/examplefiles/{ => whiley}/example.whiley (100%) create mode 100644 tests/examplefiles/whiley/example.whiley.output rename tests/examplefiles/{ => x10}/example.x10 (100%) create mode 100644 tests/examplefiles/x10/example.x10.output rename tests/examplefiles/{ => xml}/xml_example (100%) create mode 100644 tests/examplefiles/xml/xml_example.output rename tests/examplefiles/{ => xorg.conf}/xorg.conf (100%) create mode 100644 tests/examplefiles/xorg.conf/xorg.conf.output rename tests/examplefiles/{ => xquery}/test-3.0.xq (100%) create mode 100644 tests/examplefiles/xquery/test-3.0.xq.output rename tests/examplefiles/{ => xquery}/test-exist-update.xq (100%) create mode 100644 tests/examplefiles/xquery/test-exist-update.xq.output rename tests/examplefiles/{ => xquery}/test.xqy (100%) create mode 100644 tests/examplefiles/xquery/test.xqy.output rename tests/examplefiles/{ => xslt}/test.xsl (100%) create mode 100644 tests/examplefiles/xslt/test.xsl.output rename tests/examplefiles/{ => xtend}/example.xtend (61%) create mode 100644 tests/examplefiles/xtend/example.xtend.output rename tests/examplefiles/{ => xul+mozpreproc}/demo.xul.in (100%) create mode 100644 tests/examplefiles/xul+mozpreproc/demo.xul.in.output rename tests/examplefiles/{ => yaml+jinja}/example.sls (100%) create mode 100644 tests/examplefiles/yaml+jinja/example.sls.output rename tests/examplefiles/{ => yaml}/example.yaml (100%) create mode 100644 tests/examplefiles/yaml/example.yaml.output rename tests/examplefiles/{ => yang}/test.yang (100%) create mode 100644 tests/examplefiles/yang/test.yang.output rename tests/examplefiles/{ => zeek}/test.bro (100%) create mode 100644 tests/examplefiles/zeek/test.bro.output rename tests/examplefiles/{ => zeek}/test.zeek (100%) create mode 100644 tests/examplefiles/zeek/test.zeek.output rename tests/examplefiles/{ => zephir}/test.zep (100%) create mode 100644 tests/examplefiles/zephir/test.zep.output rename tests/examplefiles/{ => zig}/example.zig (100%) create mode 100644 tests/examplefiles/zig/example.zig.output create mode 100644 tests/snippets/apacheconf/test_directive_no_args.txt create mode 100644 tests/snippets/apacheconf/test_fix_lock_absolute_path.txt create mode 100644 tests/snippets/apacheconf/test_include_globs.txt create mode 100644 tests/snippets/apacheconf/test_malformed_scoped_directive_closing_tag.txt create mode 100644 tests/snippets/apacheconf/test_multi_include_globs.txt create mode 100644 tests/snippets/apacheconf/test_multi_include_globs_root.txt create mode 100644 tests/snippets/apacheconf/test_multiline_argument.txt create mode 100644 tests/snippets/apacheconf/test_multiline_comment.txt create mode 100644 tests/snippets/apacheconf/test_normal_scoped_directive.txt create mode 100644 tests/snippets/asm/test_cpuid.txt create mode 100644 tests/snippets/bibtex/test_basic_bst.txt create mode 100644 tests/snippets/bibtex/test_comment.txt create mode 100644 tests/snippets/bibtex/test_entry.txt create mode 100644 tests/snippets/bibtex/test_mismatched_brace.txt create mode 100644 tests/snippets/bibtex/test_missing_body.txt create mode 100644 tests/snippets/bibtex/test_preamble.txt create mode 100644 tests/snippets/bibtex/test_string.txt create mode 100644 tests/snippets/c/test_comment_end.txt create mode 100644 tests/snippets/c/test_label.txt create mode 100644 tests/snippets/c/test_label_followed_by_statement.txt create mode 100644 tests/snippets/c/test_label_space_before_colon.txt create mode 100644 tests/snippets/c/test_numbers.txt create mode 100644 tests/snippets/c/test_preproc_file.txt create mode 100644 tests/snippets/c/test_preproc_file2.txt create mode 100644 tests/snippets/c/test_switch.txt create mode 100644 tests/snippets/c/test_switch_space_before_colon.txt create mode 100644 tests/snippets/cfm/test_basic_comment.txt create mode 100644 tests/snippets/cfm/test_nested_comment.txt create mode 100644 tests/snippets/coffeescript/test_beware_infinite_loop.txt create mode 100644 tests/snippets/coffeescript/test_mixed_slashes.txt create mode 100644 tests/snippets/conftest.py create mode 100644 tests/snippets/console/fake_ps2_prompt.txt create mode 100644 tests/snippets/console/prompt_in_output.txt create mode 100644 tests/snippets/console/ps2_prompt.txt create mode 100644 tests/snippets/console/test_comment_after_prompt.txt create mode 100644 tests/snippets/console/test_newline_in_echo.txt create mode 100644 tests/snippets/console/test_newline_in_ls.txt create mode 100644 tests/snippets/console/test_virtualenv.txt create mode 100644 tests/snippets/coq/test_unicode.txt create mode 100644 tests/snippets/cpp/test_good_comment.txt create mode 100644 tests/snippets/cpp/test_open_comment.txt create mode 100644 tests/snippets/crystal/test_annotation.txt create mode 100644 tests/snippets/crystal/test_array_access.txt create mode 100644 tests/snippets/crystal/test_chars.txt create mode 100644 tests/snippets/crystal/test_constant_and_module.txt create mode 100644 tests/snippets/crystal/test_escaped_bracestring.txt create mode 100644 tests/snippets/crystal/test_escaped_interpolation.txt create mode 100644 tests/snippets/crystal/test_interpolation_nested_curly.txt create mode 100644 tests/snippets/crystal/test_lib.txt create mode 100644 tests/snippets/crystal/test_macro.txt create mode 100644 tests/snippets/crystal/test_operator_methods.txt create mode 100644 tests/snippets/crystal/test_percent_strings.txt create mode 100644 tests/snippets/crystal/test_percent_strings_special.txt create mode 100644 tests/snippets/crystal/test_pseudo_builtins.txt create mode 100644 tests/snippets/crystal/test_pseudo_keywords.txt create mode 100644 tests/snippets/crystal/test_range_syntax1.txt create mode 100644 tests/snippets/crystal/test_range_syntax2.txt create mode 100644 tests/snippets/csound/test_braced_strings.txt create mode 100644 tests/snippets/csound/test_comments.txt create mode 100644 tests/snippets/csound/test_escape_sequences.txt create mode 100644 tests/snippets/csound/test_function_like_macro_definitions.txt create mode 100644 tests/snippets/csound/test_function_like_macros.txt create mode 100644 tests/snippets/csound/test_global_value_identifiers.txt create mode 100644 tests/snippets/csound/test_goto_statements.txt create mode 100644 tests/snippets/csound/test_include_directives.txt create mode 100644 tests/snippets/csound/test_includestr_directives.txt create mode 100644 tests/snippets/csound/test_instrument_blocks.txt create mode 100644 tests/snippets/csound/test_keywords.txt create mode 100644 tests/snippets/csound/test_labels.txt create mode 100644 tests/snippets/csound/test_macro_preprocessor_directives.txt create mode 100644 tests/snippets/csound/test_name.txt create mode 100644 tests/snippets/csound/test_numbers.txt create mode 100644 tests/snippets/csound/test_object_like_macro_definitions.txt create mode 100644 tests/snippets/csound/test_operators.txt create mode 100644 tests/snippets/csound/test_other_preprocessor_directives.txt create mode 100644 tests/snippets/csound/test_printks_and_prints_escape_sequences.txt create mode 100644 tests/snippets/csound/test_quoted_strings.txt create mode 100644 tests/snippets/csound/test_user_defined_opcodes.txt create mode 100644 tests/snippets/doscon/test_gt_only.txt create mode 100644 tests/snippets/ezhil/test_function.txt create mode 100644 tests/snippets/ezhil/test_gcd_expr.txt create mode 100644 tests/snippets/ezhil/test_if_statement.txt create mode 100644 tests/snippets/ezhil/test_sum.txt create mode 100644 tests/snippets/gas/test_comments.txt create mode 100644 tests/snippets/gdscript/test_comment.txt create mode 100644 tests/snippets/gdscript/test_export_array.txt create mode 100644 tests/snippets/gdscript/test_function_with_types.txt create mode 100644 tests/snippets/gdscript/test_inner_class.txt create mode 100644 tests/snippets/gdscript/test_multiline_string.txt create mode 100644 tests/snippets/gdscript/test_signal.txt create mode 100644 tests/snippets/gdscript/test_simple_function.txt create mode 100644 tests/snippets/gdscript/test_variable_declaration_and_assigment.txt create mode 100644 tests/snippets/haskell/test_promoted_names.txt create mode 100644 tests/snippets/http/test_application_calendar_xml.txt create mode 100644 tests/snippets/http/test_application_xml.txt create mode 100644 tests/snippets/http/test_http_status_line.txt create mode 100644 tests/snippets/http/test_http_status_line_without_reason_phrase.txt create mode 100644 tests/snippets/http/test_http_status_line_without_reason_phrase_rfc_7230.txt create mode 100644 tests/snippets/idris/test_compiler_directive.txt create mode 100644 tests/snippets/idris/test_reserved_word.txt create mode 100644 tests/snippets/ini/test_indented_entries_1.txt create mode 100644 tests/snippets/ini/test_indented_entries_2.txt create mode 100644 tests/snippets/ini/test_indented_entries_3.txt create mode 100644 tests/snippets/j/test_deal_operator.txt create mode 100644 tests/snippets/j/test_deal_operator_fixed_seed.txt create mode 100644 tests/snippets/java/test_enhanced_for.txt create mode 100644 tests/snippets/java/test_numeric_literals.txt create mode 100644 tests/snippets/json/test_basic.txt create mode 100644 tests/snippets/json/test_basic_bare.txt create mode 100644 tests/snippets/julia/test_unicode.txt create mode 100644 tests/snippets/kotlin/test_can_cope_generics_in_destructuring.txt create mode 100644 tests/snippets/kotlin/test_can_cope_with_backtick_names_in_functions.txt create mode 100644 tests/snippets/kotlin/test_can_cope_with_commas_and_dashes_in_backtick_Names.txt create mode 100644 tests/snippets/kotlin/test_can_cope_with_destructuring.txt create mode 100644 tests/snippets/kotlin/test_can_cope_with_generics.txt create mode 100644 tests/snippets/kotlin/test_modifier_keyword.txt create mode 100644 tests/snippets/kotlin/test_should_cope_with_multiline_comments.txt create mode 100644 tests/snippets/kotlin/test_string_interpolation.txt create mode 100644 tests/snippets/less/test_single_line_comments.txt create mode 100644 tests/snippets/mason/test_handles_tags_correctly.txt create mode 100644 tests/snippets/matlab/test_classes_with_properties.txt create mode 100644 tests/snippets/matlab/test_command_mode.txt create mode 100644 tests/snippets/matlab/test_comment_after_continuation.txt create mode 100644 tests/snippets/matlab/test_dot_operator.txt create mode 100644 tests/snippets/matlab/test_keywords_ended_by_newline.txt create mode 100644 tests/snippets/matlab/test_line_continuation.txt create mode 100644 tests/snippets/matlab/test_multiple_spaces_variable_assignment.txt create mode 100644 tests/snippets/matlab/test_one_space_assignment.txt create mode 100644 tests/snippets/matlab/test_operator_multiple_space.txt create mode 100644 tests/snippets/matlab/test_single_line.txt create mode 100644 tests/snippets/md/test_bold_fenced_by_asterisk.txt create mode 100644 tests/snippets/md/test_bold_fenced_by_underscore.txt create mode 100644 tests/snippets/md/test_bulleted_list_1.txt create mode 100644 tests/snippets/md/test_bulleted_list_2.txt create mode 100644 tests/snippets/md/test_bulleted_list_3.txt create mode 100644 tests/snippets/md/test_bulleted_list_4.txt create mode 100644 tests/snippets/md/test_code_block_fenced_by_backticks.txt create mode 100644 tests/snippets/md/test_code_block_with_language.txt create mode 100644 tests/snippets/md/test_escape_italics.txt create mode 100644 tests/snippets/md/test_inline_code.txt create mode 100644 tests/snippets/md/test_inline_code_after_block.txt create mode 100644 tests/snippets/md/test_inline_code_in_list.txt create mode 100644 tests/snippets/md/test_invalid_bold.txt create mode 100644 tests/snippets/md/test_invalid_italics.txt create mode 100644 tests/snippets/md/test_italics_and_bold.txt create mode 100644 tests/snippets/md/test_italics_fenced_by_asterisk.txt create mode 100644 tests/snippets/md/test_italics_fenced_by_underscore.txt create mode 100644 tests/snippets/md/test_italics_no_multiline.txt create mode 100644 tests/snippets/md/test_links.txt create mode 100644 tests/snippets/md/test_mentions.txt create mode 100644 tests/snippets/md/test_numbered_list.txt create mode 100644 tests/snippets/md/test_quote.txt create mode 100644 tests/snippets/md/test_reference_style_links.txt create mode 100644 tests/snippets/md/test_strikethrough.txt create mode 100644 tests/snippets/md/test_task_list.txt create mode 100644 tests/snippets/md/test_topics.txt create mode 100644 tests/snippets/objectivec/test_literal_number_bool.txt create mode 100644 tests/snippets/objectivec/test_literal_number_bool_expression.txt create mode 100644 tests/snippets/objectivec/test_literal_number_expression.txt create mode 100644 tests/snippets/objectivec/test_literal_number_int.txt create mode 100644 tests/snippets/objectivec/test_literal_number_nested_expression.txt create mode 100644 tests/snippets/objectivec/test_module_import.txt create mode 100644 tests/snippets/peg/test_basic.txt create mode 100644 tests/snippets/peg/test_modified_strings.txt create mode 100644 tests/snippets/peg/test_operators.txt create mode 100644 tests/snippets/php/test_string_escaping_run.txt create mode 100644 tests/snippets/powershell/test_remoting_session.txt create mode 100644 tests/snippets/powershell/test_session.txt create mode 100644 tests/snippets/praat/test_broken_unquoted_string.txt create mode 100644 tests/snippets/praat/test_function_call.txt create mode 100644 tests/snippets/praat/test_inline_if.txt create mode 100644 tests/snippets/praat/test_interpolated_indexed_numeric_with_precision.txt create mode 100644 tests/snippets/praat/test_interpolated_local_numeric_with_precision.txt create mode 100644 tests/snippets/praat/test_interpolated_numeric_hash.txt create mode 100644 tests/snippets/praat/test_interpolated_numeric_indexed.txt create mode 100644 tests/snippets/praat/test_interpolated_numeric_with_precision.txt create mode 100644 tests/snippets/praat/test_interpolated_string_hash.txt create mode 100644 tests/snippets/praat/test_interpolated_string_indexed.txt create mode 100644 tests/snippets/praat/test_interpolation_boundary.txt create mode 100644 tests/snippets/praat/test_numeric_assignment.txt create mode 100644 tests/snippets/praat/test_string_assignment.txt create mode 100644 tests/snippets/praat/test_string_escaped_quotes.txt create mode 100644 tests/snippets/promql/test_expression_and_comment.txt create mode 100644 tests/snippets/promql/test_function_delta.txt create mode 100644 tests/snippets/promql/test_function_multi_line.txt create mode 100644 tests/snippets/promql/test_function_multi_line_with_offset.txt create mode 100644 tests/snippets/promql/test_function_sum_with_args.txt create mode 100644 tests/snippets/promql/test_metric.txt create mode 100644 tests/snippets/promql/test_metric_multiple_labels.txt create mode 100644 tests/snippets/promql/test_metric_multiple_labels_with_spaces.txt create mode 100644 tests/snippets/promql/test_metric_one_label.txt create mode 100644 tests/snippets/properties/test_comments.txt create mode 100644 tests/snippets/properties/test_escaped_space_in_key.txt create mode 100644 tests/snippets/properties/test_escaped_space_in_value.txt create mode 100644 tests/snippets/properties/test_just_key.txt create mode 100644 tests/snippets/properties/test_just_key_with_space.txt create mode 100644 tests/snippets/properties/test_leading_whitespace_comments.txt create mode 100644 tests/snippets/properties/test_space_delimited_kv_pair.txt create mode 100644 tests/snippets/python/test_fstring_01a.txt create mode 100644 tests/snippets/python/test_fstring_01b.txt create mode 100644 tests/snippets/python/test_fstring_02a.txt create mode 100644 tests/snippets/python/test_fstring_02b.txt create mode 100644 tests/snippets/python/test_fstring_03a.txt create mode 100644 tests/snippets/python/test_fstring_03b.txt create mode 100644 tests/snippets/python/test_fstring_04a.txt create mode 100644 tests/snippets/python/test_fstring_04b.txt create mode 100644 tests/snippets/python/test_fstring_05a.txt create mode 100644 tests/snippets/python/test_fstring_05b.txt create mode 100644 tests/snippets/python/test_fstring_06a.txt create mode 100644 tests/snippets/python/test_fstring_06b.txt create mode 100644 tests/snippets/python/test_fstring_07a.txt create mode 100644 tests/snippets/python/test_fstring_07b.txt create mode 100644 tests/snippets/python/test_fstring_08a.txt create mode 100644 tests/snippets/python/test_fstring_08b.txt create mode 100644 tests/snippets/python/test_fstring_09a.txt create mode 100644 tests/snippets/python/test_fstring_09b.txt create mode 100644 tests/snippets/python/test_fstring_10a.txt create mode 100644 tests/snippets/python/test_fstring_10b.txt create mode 100644 tests/snippets/python/test_fstring_11a.txt create mode 100644 tests/snippets/python/test_fstring_11b.txt create mode 100644 tests/snippets/python/test_fstring_12a.txt create mode 100644 tests/snippets/python/test_fstring_12b.txt create mode 100644 tests/snippets/python/test_fstring_13a.txt create mode 100644 tests/snippets/python/test_fstring_13b.txt create mode 100644 tests/snippets/python/test_fstring_14a.txt create mode 100644 tests/snippets/python/test_fstring_14b.txt create mode 100644 tests/snippets/python/test_fstring_15a.txt create mode 100644 tests/snippets/python/test_fstring_15b.txt create mode 100644 tests/snippets/python/test_fstring_16a.txt create mode 100644 tests/snippets/python/test_fstring_16b.txt create mode 100644 tests/snippets/python/test_fstring_17a.txt create mode 100644 tests/snippets/python/test_fstring_17b.txt create mode 100644 tests/snippets/python/test_fstring_18a.txt create mode 100644 tests/snippets/python/test_fstring_18b.txt create mode 100644 tests/snippets/python/test_fstring_19a.txt create mode 100644 tests/snippets/python/test_fstring_19b.txt create mode 100644 tests/snippets/python/test_fstring_20a.txt create mode 100644 tests/snippets/python/test_fstring_20b.txt create mode 100644 tests/snippets/python/test_fstring_21a.txt create mode 100644 tests/snippets/python/test_fstring_21b.txt create mode 100644 tests/snippets/python/test_fstring_22a.txt create mode 100644 tests/snippets/python/test_fstring_22b.txt create mode 100644 tests/snippets/python/test_fstring_23a.txt create mode 100644 tests/snippets/python/test_fstring_23b.txt create mode 100644 tests/snippets/python/test_fstring_24a.txt create mode 100644 tests/snippets/python/test_fstring_24b.txt create mode 100644 tests/snippets/python/test_fstring_25a.txt create mode 100644 tests/snippets/python/test_fstring_25b.txt create mode 100644 tests/snippets/python/test_fstring_26a.txt create mode 100644 tests/snippets/python/test_fstring_26b.txt create mode 100644 tests/snippets/python/test_fstring_27a.txt create mode 100644 tests/snippets/python/test_fstring_27b.txt create mode 100644 tests/snippets/python/test_fstring_28a.txt create mode 100644 tests/snippets/python/test_fstring_28b.txt create mode 100644 tests/snippets/python/test_fstring_29a.txt create mode 100644 tests/snippets/python/test_fstring_29b.txt create mode 100644 tests/snippets/python/test_fstring_30a.txt create mode 100644 tests/snippets/python/test_fstring_30b.txt create mode 100644 tests/snippets/python/test_fstring_31a.txt create mode 100644 tests/snippets/python/test_fstring_31b.txt create mode 100644 tests/snippets/python/test_fstring_32a.txt create mode 100644 tests/snippets/python/test_fstring_32b.txt create mode 100644 tests/snippets/python/test_fstring_33a.txt create mode 100644 tests/snippets/python/test_fstring_33b.txt create mode 100644 tests/snippets/python/test_fstring_34a.txt create mode 100644 tests/snippets/python/test_fstring_34b.txt create mode 100644 tests/snippets/python/test_fstring_35a.txt create mode 100644 tests/snippets/python/test_fstring_35b.txt create mode 100644 tests/snippets/python/test_fstring_36a.txt create mode 100644 tests/snippets/python/test_fstring_36b.txt create mode 100644 tests/snippets/python/test_needs_name.txt create mode 100644 tests/snippets/python/test_pep_515.txt create mode 100644 tests/snippets/python/test_raw_fstring.txt create mode 100644 tests/snippets/python/test_walrus_operator.txt create mode 100644 tests/snippets/python2/test_cls_builtin.txt create mode 100644 tests/snippets/qbasic/test_keywords_with_dollar.txt create mode 100644 tests/snippets/r/test_call.txt create mode 100644 tests/snippets/r/test_custom_operator.txt create mode 100644 tests/snippets/r/test_dot_indexing.txt create mode 100644 tests/snippets/r/test_dot_name.txt create mode 100644 tests/snippets/r/test_indexing.txt create mode 100644 tests/snippets/r/test_name1.txt create mode 100644 tests/snippets/r/test_name2.txt create mode 100644 tests/snippets/r/test_name3.txt create mode 100644 tests/snippets/ruby/test_escaped_bracestring.txt create mode 100644 tests/snippets/ruby/test_interpolation_nested_curly.txt create mode 100644 tests/snippets/ruby/test_operator_methods.txt create mode 100644 tests/snippets/ruby/test_range_syntax1.txt create mode 100644 tests/snippets/ruby/test_range_syntax2.txt create mode 100644 tests/snippets/ruby/test_range_syntax3.txt create mode 100644 tests/snippets/shell/test_array_nums.txt create mode 100644 tests/snippets/shell/test_curly_no_escape_and_quotes.txt create mode 100644 tests/snippets/shell/test_curly_with_escape.txt create mode 100644 tests/snippets/shell/test_end_of_line_nums.txt create mode 100644 tests/snippets/shell/test_parsed_single.txt create mode 100644 tests/snippets/shell/test_short_variable_names.txt create mode 100644 tests/snippets/shexc/test_prefixed_name_starting_with_number.txt create mode 100644 tests/snippets/smarty/test_nested_curly.txt create mode 100644 tests/snippets/systemverilog/test_basic.txt create mode 100644 tests/snippets/systemverilog/test_classes.txt create mode 100644 tests/snippets/systemverilog/test_numbers.txt create mode 100644 tests/snippets/systemverilog/test_operators.txt create mode 100644 tests/snippets/turtle/test_prefixed_name_starting_with_number.txt create mode 100644 tests/snippets/typescript/test_function_definition.txt create mode 100644 tests/snippets/usd/test_attribute.txt create mode 100644 tests/snippets/usd/test_composition_arcs.txt create mode 100644 tests/snippets/usd/test_metadata.txt create mode 100644 tests/snippets/usd/test_numbers.txt create mode 100644 tests/snippets/usd/test_outer_match_at_sign.txt create mode 100644 tests/snippets/usd/test_outer_match_double.txt create mode 100644 tests/snippets/usd/test_outer_match_single.txt create mode 100644 tests/snippets/usd/test_string_multiple_line.txt create mode 100644 tests/snippets/usd/test_string_priority.txt create mode 100644 tests/snippets/usd/test_string_single_line.txt create mode 100644 tests/snippets/vbscript/test_floats.txt create mode 100644 tests/snippets/vbscript/test_floats_multiple.txt create mode 100644 tests/snippets/vbscript/test_integers.txt create mode 100644 tests/snippets/vbscript/test_invalid_character.txt create mode 100644 tests/snippets/vbscript/test_names.txt create mode 100644 tests/snippets/vbscript/test_reject_almost_float.txt create mode 100644 tests/snippets/vbscript/test_unterminated_string.txt create mode 100644 tests/snippets/whiley/test_whiley_operator.txt create mode 100644 tests/snippets/yaml/test_yaml.txt create mode 100644 tests/snippets/yang/test_float_value.txt create mode 100644 tests/snippets/yang/test_integer_value.txt create mode 100644 tests/snippets/yang/test_namespace_1.txt create mode 100644 tests/snippets/yang/test_namespace_2.txt create mode 100644 tests/snippets/yang/test_revision_date.txt create mode 100644 tests/snippets/yang/test_string_value.txt delete mode 100644 tests/test_analyze_lexer.py delete mode 100644 tests/test_apache_conf.py delete mode 100644 tests/test_asm.py delete mode 100644 tests/test_basic.py delete mode 100644 tests/test_bibtex.py delete mode 100644 tests/test_cfm.py delete mode 100644 tests/test_clexer.py delete mode 100644 tests/test_coq.py delete mode 100644 tests/test_cpp.py delete mode 100644 tests/test_csound.py delete mode 100644 tests/test_examplefiles.py delete mode 100644 tests/test_ezhil.py delete mode 100644 tests/test_gdscript.py delete mode 100644 tests/test_grammar_notation.py create mode 100644 tests/test_guess.py delete mode 100644 tests/test_haskell.py delete mode 100644 tests/test_hdl.py delete mode 100644 tests/test_idris.py delete mode 100644 tests/test_ini_lexer.py delete mode 100644 tests/test_julia.py delete mode 100644 tests/test_kotlin.py delete mode 100644 tests/test_lexers_other.py delete mode 100644 tests/test_make.py delete mode 100644 tests/test_matlab.py delete mode 100644 tests/test_objectiveclexer.py delete mode 100644 tests/test_php.py delete mode 100644 tests/test_praat.py delete mode 100644 tests/test_promql.py delete mode 100644 tests/test_properties.py delete mode 100644 tests/test_python.py delete mode 100644 tests/test_qbasiclexer.py delete mode 100644 tests/test_r.py create mode 100644 tests/test_raw_token.py delete mode 100644 tests/test_rdf.py delete mode 100644 tests/test_shell.py delete mode 100644 tests/test_smarty.py delete mode 100644 tests/test_textfmts.py delete mode 100644 tests/test_whiley.py delete mode 100644 tests/test_yang.py diff --git a/AUTHORS b/AUTHORS index a5c9fb5..e86b35b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -234,6 +234,10 @@ Other contributors, listed alphabetically, are: * Alex Zimin -- Nemerle lexer * Rob Zimmerman -- Kal lexer * Vincent Zurczak -- Roboconf lexer +* Hubert Gruniaux -- C and C++ lexer improvements +* Thomas Symalla -- AMDGPU Lexer * 15b3 -- Image Formatter improvements +* Fabian Neumann -- CDDL lexer +* Thomas Duboucher -- CDDL lexer Many thanks for all contributions! diff --git a/CHANGES b/CHANGES index 481ead5..977c698 100644 --- a/CHANGES +++ b/CHANGES @@ -9,8 +9,84 @@ pull request numbers to the requests at Version 2.8.0 ------------- -(not released yet) +(released February 14, 2021) +- Added lexers: + + * AMDGPU (#1626) + * CDDL (#1379, #1239) + * Futhark (#1691) + * Graphviz/DOT (#1657, #731) + +- Updated lexers: + + * AutoIt: Support single quoted strings (#1667, #1663) + * C/C++ & related: Fix mishandling '*/' (#1695) + * Cocoa: Add builtin types (#1703) + * Console (#1672) + * Eiffel: Fix performance issues (#1658) + * Fortran: Improve combined keyword detection (#1677, #1188) + * J: Fix operator ``?`` lexing (#1700, #1149) + * JavaScript/TypeScript: Fix escapes in backtick strings (#1679, #1686) + * Kotlin: Improve string interpolation, modifier keyword handling, and various small issues (#1699) + * LESS: Support single-line comments (#1046) + * Matlab: + + - Add support for class properties (#1466) + - Update builtin functions (#1705) + - Various cleanups (#1673) + + * Python: Improve handling of raw f-strings (#1681, #1683) + * Ruby: Better method name handling (#1531) + * Stata: Updated keywords (#1470) + +- Added styles: + + * Material (#1662) + * Zenburn (#1659) + +- The `pygmentize` script now uses `argparse`, all options should work + as before + +- Add `pygmentize -C` option to guess a lexer from content + +- With this release, Pygments moves to a new internal testing system (#1649.) + See ``Contributing.md`` for details. The main advantage of this new change + is a much better test coverage of all existing example lexers. It also makes + it much easier to add new test snippets. +- Make guessing prefer Python 3 lexer +- Do not guess MIME or SQL without reason +- Changed setuptools to use a declarative config through ``setup.cfg``. + Building Pygments now requires setuptools 39.2+. +- Add markdown to MarkdownLexer aliases (#1687) +- Change line number handling + + * In ```` based output, the ``td.linenos`` element will have either a + ``normal`` or ``special`` class attached. Previously, only ``special`` line + numbers got a class. This prevents styles from getting applied twice - + once via ``
``, once via ````. This also means
+    that ``td.linenos pre`` is no longer styled, instead, use
+    ``td.linenos .normal`` and ``td.linenos .special``.
+  * In the "inline" style, the DOM element order was changed. The line number
+    is added first, then the line is wrapped is wrapped by the highlighter.
+    This fixes lines not being fully highlighted.
+  * The visual output for inline and non-inline line numbers & highlighting,
+    as well as class-based and inline styling is now consistent.
+  * Line number styles are set to ``background-color: transparent`` and
+    ``color: inherit`` by default. This works much better with dark styles
+    which don't have colors set for line numbers.
+
+- Remove "raw" alias from RawTokenLexer, so that it cannot be
+  selected by alias.
+- Fix RawTokenLexer to work in Python 3 and handle exceptions.
+- Add prompt colors to the Solarized theme (#1529)
+- Image formatter supports background colors now (#1374)
+- Add support for anchors in conjunction with inline line numbers (#1591)
+- Modernize the codebase using ``pyupgrade`` (#1622)
+- Add support for line numbers to the ``terminal256`` formatter (#1674, #1653)
+- Improve ``analyze_text`` logic for ``ECL`` (#1610)
+- Improve ``analyze_text`` logic for ``CBM Basic V2`` (#1607)
+- Improve LaTeX formatter (#1708, #1709)
 
 Version 2.7.4
 -------------
@@ -48,7 +124,6 @@ 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)
@@ -73,7 +148,7 @@ Version 2.7.3
 - Fixed duplicated Juttle language alias (#1604, #1606)
 - Added support for Kotlin scripts (#1587)
 - Removed CSS rule which forced margin to 0
-  
+
 
 Version 2.7.2
 -------------
diff --git a/Makefile b/Makefile
index be3e12a..ab86244 100644
--- a/Makefile
+++ b/Makefile
@@ -12,8 +12,8 @@ PYTHON ?= python3
 
 export PYTHONPATH = $(shell echo "$$PYTHONPATH"):$(shell python -c 'import os; print ":".join(os.path.abspath(line.strip()) for line in file("PYTHONPATH"))' 2>/dev/null)
 
-.PHONY: all check clean clean-pyc codetags docs mapfiles \
-	pylint reindent test test-coverage test-examplefiles \
+.PHONY: all check clean clean-pyc docs mapfiles \
+	pylint reindent test test-coverage \
 	tox-test tox-test-coverage regexlint
 
 all: clean-pyc check test
@@ -26,16 +26,12 @@ check:
 		   -i docs/build -i pygments/formatters/_mapping.py -i pygments/unistring.py
 
 clean: clean-pyc
-	-rm -rf doc/_build build Pygments.egg-info tests/examplefiles/output
+	-rm -rf doc/_build build Pygments.egg-info
 	-rm -f codetags.html
 
 clean-pyc:
 	find . -name '__pycache__' -exec rm -rf {} +
 
-codetags:
-	@$(PYTHON) scripts/find_codetags.py -i tests/examplefiles -i scripts/pylintrc \
-		   -i scripts/find_codetags.py -o codetags.html .
-
 docs:
 	make -C doc html
 
@@ -57,9 +53,6 @@ test:
 test-coverage:
 	@$(PYTHON) `which py.test` --cov --cov-report=html --cov-report=term $(TEST)
 
-test-examplefiles:
-	@$(PYTHON) `which py.test` tests.test_examplefiles
-
 tox-test:
 	@tox -- $(TEST)
 
diff --git a/PKG-INFO b/PKG-INFO
index 0802d45..07eb075 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,13 +1,12 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.7.4
+Version: 2.8.0
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
 Author-email: georg@python.org
 License: BSD License
-Description: 
-        Pygments
+Description: Pygments
         ~~~~~~~~
         
         Pygments is a syntax highlighting package written in Python.
@@ -19,19 +18,20 @@ Description:
         * a wide range of over 500 languages and other text formats is supported
         * special attention is paid to details, increasing quality by a fair amount
         * support for new languages and formats are added easily
-        * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image     formats that PIL supports and ANSI sequences
+        * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image
+          formats that PIL supports and ANSI sequences
         * it is usable as a command-line tool and as a library
         
-        :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
-        :license: BSD, see LICENSE for details.
-        
+        Copyright 2006-2021 by the Pygments team, see ``AUTHORS``.
+        Licensed under the BSD, see ``LICENSE`` for details.
 Keywords: syntax highlighting
 Platform: any
-Classifier: License :: OSI Approved :: BSD License
+Classifier: Development Status :: 6 - Mature
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: End Users/Desktop
 Classifier: Intended Audience :: System Administrators
-Classifier: Development Status :: 6 - Mature
+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
@@ -41,7 +41,6 @@ Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Operating System :: OS Independent
 Classifier: Topic :: Text Processing :: Filters
 Classifier: Topic :: Utilities
 Requires-Python: >=3.5
diff --git a/Pygments.egg-info/PKG-INFO b/Pygments.egg-info/PKG-INFO
index 0802d45..07eb075 100644
--- a/Pygments.egg-info/PKG-INFO
+++ b/Pygments.egg-info/PKG-INFO
@@ -1,13 +1,12 @@
 Metadata-Version: 1.2
 Name: Pygments
-Version: 2.7.4
+Version: 2.8.0
 Summary: Pygments is a syntax highlighting package written in Python.
 Home-page: https://pygments.org/
 Author: Georg Brandl
 Author-email: georg@python.org
 License: BSD License
-Description: 
-        Pygments
+Description: Pygments
         ~~~~~~~~
         
         Pygments is a syntax highlighting package written in Python.
@@ -19,19 +18,20 @@ Description:
         * a wide range of over 500 languages and other text formats is supported
         * special attention is paid to details, increasing quality by a fair amount
         * support for new languages and formats are added easily
-        * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image     formats that PIL supports and ANSI sequences
+        * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image
+          formats that PIL supports and ANSI sequences
         * it is usable as a command-line tool and as a library
         
-        :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
-        :license: BSD, see LICENSE for details.
-        
+        Copyright 2006-2021 by the Pygments team, see ``AUTHORS``.
+        Licensed under the BSD, see ``LICENSE`` for details.
 Keywords: syntax highlighting
 Platform: any
-Classifier: License :: OSI Approved :: BSD License
+Classifier: Development Status :: 6 - Mature
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: End Users/Desktop
 Classifier: Intended Audience :: System Administrators
-Classifier: Development Status :: 6 - Mature
+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
@@ -41,7 +41,6 @@ Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
-Classifier: Operating System :: OS Independent
 Classifier: Topic :: Text Processing :: Filters
 Classifier: Topic :: Utilities
 Requires-Python: >=3.5
diff --git a/Pygments.egg-info/SOURCES.txt b/Pygments.egg-info/SOURCES.txt
index 7c8029e..0a2beb7 100644
--- a/Pygments.egg-info/SOURCES.txt
+++ b/Pygments.egg-info/SOURCES.txt
@@ -120,6 +120,7 @@ pygments/lexers/actionscript.py
 pygments/lexers/agile.py
 pygments/lexers/algebra.py
 pygments/lexers/ambient.py
+pygments/lexers/amdgpu.py
 pygments/lexers/ampl.py
 pygments/lexers/apl.py
 pygments/lexers/archetype.py
@@ -134,6 +135,7 @@ 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
@@ -166,11 +168,13 @@ pygments/lexers/fortran.py
 pygments/lexers/foxpro.py
 pygments/lexers/freefem.py
 pygments/lexers/functional.py
+pygments/lexers/futhark.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/haskell.py
 pygments/lexers/haxe.py
 pygments/lexers/hdl.py
@@ -284,6 +288,7 @@ pygments/styles/igor.py
 pygments/styles/inkpot.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
@@ -302,83 +307,49 @@ pygments/styles/trac.py
 pygments/styles/vim.py
 pygments/styles/vs.py
 pygments/styles/xcode.py
+pygments/styles/zenburn.py
 scripts/check_crlf.py
 scripts/check_sources.py
 scripts/debug_lexer.py
 scripts/detect_missing_analyse_text.py
-scripts/epydoc.css
 scripts/get_vimkw.py
 scripts/pylintrc
 scripts/release-checklist
 scripts/vim2pygments.py
 tests/__init__.py
-tests/test_analyze_lexer.py
-tests/test_apache_conf.py
-tests/test_asm.py
-tests/test_basic.py
+tests/conftest.py
 tests/test_basic_api.py
-tests/test_bibtex.py
-tests/test_cfm.py
-tests/test_clexer.py
 tests/test_cmdline.py
 tests/test_coffeescript.py
-tests/test_coq.py
-tests/test_cpp.py
 tests/test_crystal.py
-tests/test_csound.py
 tests/test_data.py
-tests/test_examplefiles.py
-tests/test_ezhil.py
-tests/test_gdscript.py
-tests/test_grammar_notation.py
-tests/test_haskell.py
-tests/test_hdl.py
+tests/test_guess.py
 tests/test_html_formatter.py
 tests/test_html_formatter_linenos_elements.py
 tests/test_html_lexer.py
-tests/test_idris.py
 tests/test_inherit.py
-tests/test_ini_lexer.py
 tests/test_irc_formatter.py
 tests/test_java.py
 tests/test_javascript.py
-tests/test_julia.py
-tests/test_kotlin.py
 tests/test_latex_formatter.py
-tests/test_lexers_other.py
-tests/test_make.py
 tests/test_markdown_lexer.py
-tests/test_matlab.py
 tests/test_modeline.py
 tests/test_mysql.py
-tests/test_objectiveclexer.py
 tests/test_perllexer.py
-tests/test_php.py
-tests/test_praat.py
-tests/test_promql.py
-tests/test_properties.py
-tests/test_python.py
-tests/test_qbasiclexer.py
-tests/test_r.py
-tests/test_rdf.py
+tests/test_raw_token.py
 tests/test_regexlexer.py
 tests/test_regexopt.py
 tests/test_rtf_formatter.py
 tests/test_ruby.py
-tests/test_shell.py
-tests/test_smarty.py
 tests/test_sql.py
 tests/test_templates.py
 tests/test_terminal_formatter.py
-tests/test_textfmts.py
 tests/test_tnt.py
 tests/test_token.py
 tests/test_unistring.py
 tests/test_usd.py
 tests/test_using_api.py
 tests/test_util.py
-tests/test_whiley.py
-tests/test_yang.py
 tests/dtds/HTML4-f.dtd
 tests/dtds/HTML4-s.dtd
 tests/dtds/HTML4.dcl
@@ -387,480 +358,963 @@ tests/dtds/HTML4.soc
 tests/dtds/HTMLlat1.ent
 tests/dtds/HTMLspec.ent
 tests/dtds/HTMLsym.ent
-tests/examplefiles/99_bottles_of_beer.chpl
-tests/examplefiles/AcidStateAdvanced.hs
-tests/examplefiles/AlternatingGroup.mu
-tests/examplefiles/BOM.js
-tests/examplefiles/Blink.ino
-tests/examplefiles/CPDictionary.j
-tests/examplefiles/Charmci.ci
-tests/examplefiles/Config.in.cache
-tests/examplefiles/Constants.mo
-tests/examplefiles/DancingSudoku.lhs
-tests/examplefiles/Deflate.fs
-tests/examplefiles/Error.pmod
-tests/examplefiles/Errors.scala
-tests/examplefiles/FakeFile.pike
-tests/examplefiles/Get-CommandDefinitionHtml.ps1
-tests/examplefiles/IPDispatchC.nc
-tests/examplefiles/IPDispatchP.nc
-tests/examplefiles/Intro.java
-tests/examplefiles/MIME_example.eml
-tests/examplefiles/Makefile
-tests/examplefiles/Object.st
-tests/examplefiles/OrderedMap.hx
-tests/examplefiles/RoleQ.pm6
-tests/examplefiles/Singularity
-tests/examplefiles/SmallCheck.hs
-tests/examplefiles/Sorting.mod
-tests/examplefiles/StdGeneric.icl
-tests/examplefiles/Sudoku.lhs
-tests/examplefiles/TiddlyWiki5.tid
-tests/examplefiles/abnf_example1.abnf
-tests/examplefiles/abnf_example2.abnf
-tests/examplefiles/addressbook.proto
-tests/examplefiles/ahcon.f
-tests/examplefiles/all.nit
-tests/examplefiles/antlr_ANTLRv3.g
-tests/examplefiles/antlr_throws
-tests/examplefiles/apache2.conf
-tests/examplefiles/as3_test.as
-tests/examplefiles/as3_test2.as
-tests/examplefiles/as3_test3.as
-tests/examplefiles/aspx-cs_example
-tests/examplefiles/auction.ride
-tests/examplefiles/autoit_submit.au3
-tests/examplefiles/automake.mk
-tests/examplefiles/badcase.java
-tests/examplefiles/bare.bare
-tests/examplefiles/bigtest.nsi
-tests/examplefiles/bnf_example1.bnf
-tests/examplefiles/boot-9.scm
-tests/examplefiles/ca65_example
-tests/examplefiles/capdl_example.cdl
-tests/examplefiles/cbmbas_example
-tests/examplefiles/cells.ps
-tests/examplefiles/ceval.c
-tests/examplefiles/char.scala
-tests/examplefiles/cheetah_example.html
-tests/examplefiles/classes.dylan
-tests/examplefiles/clojure-weird-keywords.clj
-tests/examplefiles/condensed_ruby.rb
-tests/examplefiles/coq_RelationClasses
-tests/examplefiles/core.cljs
-tests/examplefiles/database.pytb
-tests/examplefiles/de.MoinMoin.po
-tests/examplefiles/demo.ahk
-tests/examplefiles/demo.cfm
-tests/examplefiles/demo.css.in
-tests/examplefiles/demo.frt
-tests/examplefiles/demo.hbs
-tests/examplefiles/demo.js.in
-tests/examplefiles/demo.thrift
-tests/examplefiles/demo.xul.in
-tests/examplefiles/django_sample.html+django
-tests/examplefiles/docker.docker
-tests/examplefiles/durexmania.aheui
-tests/examplefiles/dwarf.cw
-tests/examplefiles/eg_example1.eg
-tests/examplefiles/ember.handlebars
-tests/examplefiles/erl_session
-tests/examplefiles/es6.js
-tests/examplefiles/escape_semicolon.clj
-tests/examplefiles/eval.rs
-tests/examplefiles/evil_regex.js
-tests/examplefiles/example.Rd
-tests/examplefiles/example.als
-tests/examplefiles/example.bat
-tests/examplefiles/example.bbc
-tests/examplefiles/example.bc
-tests/examplefiles/example.boa
-tests/examplefiles/example.bug
-tests/examplefiles/example.c
-tests/examplefiles/example.ceylon
-tests/examplefiles/example.chai
-tests/examplefiles/example.clay
-tests/examplefiles/example.cls
-tests/examplefiles/example.cob
-tests/examplefiles/example.coffee
-tests/examplefiles/example.cpp
-tests/examplefiles/example.dmesg
-tests/examplefiles/example.dts
-tests/examplefiles/example.e
-tests/examplefiles/example.elm
-tests/examplefiles/example.eml
-tests/examplefiles/example.exec
-tests/examplefiles/example.ezt
-tests/examplefiles/example.f90
-tests/examplefiles/example.feature
-tests/examplefiles/example.fish
-tests/examplefiles/example.flo
-tests/examplefiles/example.fst
-tests/examplefiles/example.gd
-tests/examplefiles/example.gi
-tests/examplefiles/example.golo
-tests/examplefiles/example.groovy
-tests/examplefiles/example.gs
-tests/examplefiles/example.gst
-tests/examplefiles/example.hlsl
-tests/examplefiles/example.hs
-tests/examplefiles/example.hx
-tests/examplefiles/example.i6t
-tests/examplefiles/example.i7x
-tests/examplefiles/example.icn
-tests/examplefiles/example.icon
-tests/examplefiles/example.j
-tests/examplefiles/example.jag
-tests/examplefiles/example.java
-tests/examplefiles/example.jcl
-tests/examplefiles/example.jsgf
-tests/examplefiles/example.jsonld
-tests/examplefiles/example.juttle
-tests/examplefiles/example.kal
-tests/examplefiles/example.kt
-tests/examplefiles/example.lagda
-tests/examplefiles/example.liquid
-tests/examplefiles/example.lua
-tests/examplefiles/example.ma
-tests/examplefiles/example.mac
-tests/examplefiles/example.md
-tests/examplefiles/example.monkey
-tests/examplefiles/example.moo
-tests/examplefiles/example.moon
-tests/examplefiles/example.mq4
-tests/examplefiles/example.mqh
-tests/examplefiles/example.ms
-tests/examplefiles/example.msc
-tests/examplefiles/example.ng2
-tests/examplefiles/example.ni
-tests/examplefiles/example.nim
-tests/examplefiles/example.nix
-tests/examplefiles/example.ns2
-tests/examplefiles/example.pas
-tests/examplefiles/example.pcmk
-tests/examplefiles/example.pony
-tests/examplefiles/example.pp
-tests/examplefiles/example.praat
-tests/examplefiles/example.prg
-tests/examplefiles/example.promql
-tests/examplefiles/example.ptls
-tests/examplefiles/example.rb
-tests/examplefiles/example.red
-tests/examplefiles/example.reds
-tests/examplefiles/example.reg
-tests/examplefiles/example.rexx
-tests/examplefiles/example.rhtml
-tests/examplefiles/example.rkt
-tests/examplefiles/example.rpf
-tests/examplefiles/example.rts
-tests/examplefiles/example.sbl
-tests/examplefiles/example.scd
-tests/examplefiles/example.sgf
-tests/examplefiles/example.sh
-tests/examplefiles/example.sh-session
-tests/examplefiles/example.shell-session
-tests/examplefiles/example.shex
-tests/examplefiles/example.sieve
-tests/examplefiles/example.sl
-tests/examplefiles/example.slim
-tests/examplefiles/example.sls
-tests/examplefiles/example.sml
-tests/examplefiles/example.snobol
-tests/examplefiles/example.stan
-tests/examplefiles/example.tap
-tests/examplefiles/example.tasm
-tests/examplefiles/example.tea
-tests/examplefiles/example.tf
-tests/examplefiles/example.thy
-tests/examplefiles/example.tnt
-tests/examplefiles/example.todotxt
-tests/examplefiles/example.toml
-tests/examplefiles/example.ttl
-tests/examplefiles/example.u
-tests/examplefiles/example.u1
-tests/examplefiles/example.usd
-tests/examplefiles/example.vbs
-tests/examplefiles/example.webidl
-tests/examplefiles/example.weechatlog
-tests/examplefiles/example.whiley
-tests/examplefiles/example.x10
-tests/examplefiles/example.xhtml
-tests/examplefiles/example.xtend
-tests/examplefiles/example.xtm
-tests/examplefiles/example.yaml
-tests/examplefiles/example.zig
-tests/examplefiles/example1.cadl
-tests/examplefiles/example2.aspx
-tests/examplefiles/example2.cpp
-tests/examplefiles/example2.msc
-tests/examplefiles/exampleScript.cfc
-tests/examplefiles/exampleTag.cfc
-tests/examplefiles/example_coq.v
-tests/examplefiles/example_elixir.ex
-tests/examplefiles/example_file.fy
-tests/examplefiles/ezhil_primefactors.n
-tests/examplefiles/fennelview.fnl
-tests/examplefiles/fibonacci.tokigun.aheui
-tests/examplefiles/firefox.mak
-tests/examplefiles/flatline_example
-tests/examplefiles/flipflop.sv
-tests/examplefiles/foo.sce
-tests/examplefiles/format.ml
-tests/examplefiles/freefem.edp
-tests/examplefiles/fucked_up.rb
-tests/examplefiles/function.mu
-tests/examplefiles/functional.rst
-tests/examplefiles/garcia-wachs.kk
-tests/examplefiles/gdscript_example.gd
-tests/examplefiles/genclass.clj
-tests/examplefiles/genshi_example.xml+genshi
-tests/examplefiles/genshitext_example.genshitext
-tests/examplefiles/glsl.frag
-tests/examplefiles/glsl.vert
-tests/examplefiles/grammar-test.p6
-tests/examplefiles/guidance.smv
-tests/examplefiles/hash_syntax.rb
-tests/examplefiles/hello-world.puzzlet.aheui
-tests/examplefiles/hello.at
-tests/examplefiles/hello.golo
-tests/examplefiles/hello.lsl
-tests/examplefiles/hello.smali
-tests/examplefiles/hello.sp
-tests/examplefiles/hexdump_debugexe
-tests/examplefiles/hexdump_hd
-tests/examplefiles/hexdump_hexcat
-tests/examplefiles/hexdump_hexdump
-tests/examplefiles/hexdump_od
-tests/examplefiles/hexdump_xxd
-tests/examplefiles/html+php_faulty.php
-tests/examplefiles/http_request_example
-tests/examplefiles/http_response_example
-tests/examplefiles/hybris_File.hy
-tests/examplefiles/idl_sample.pro
-tests/examplefiles/iex_example
-tests/examplefiles/inet_pton6.dg
-tests/examplefiles/inform6_example
-tests/examplefiles/interp.scala
-tests/examplefiles/intro.ik
-tests/examplefiles/ints.php
-tests/examplefiles/intsyn.fun
-tests/examplefiles/intsyn.sig
-tests/examplefiles/irb_heredoc
-tests/examplefiles/irc.lsp
-tests/examplefiles/java.properties
-tests/examplefiles/jbst_example1.jbst
-tests/examplefiles/jbst_example2.jbst
-tests/examplefiles/jinjadesignerdoc.rst
-tests/examplefiles/json.lasso
-tests/examplefiles/json.lasso9
-tests/examplefiles/language.hy
-tests/examplefiles/lighttpd_config.conf
-tests/examplefiles/limbo.b
-tests/examplefiles/linecontinuation.py
-tests/examplefiles/livescript-demo.ls
-tests/examplefiles/llvm-mir.mir
-tests/examplefiles/logos_example.xm
-tests/examplefiles/ltmain.sh
-tests/examplefiles/main.cmake
-tests/examplefiles/markdown.lsp
-tests/examplefiles/matlab_noreturn
-tests/examplefiles/matlab_sample
-tests/examplefiles/matlabsession_sample.txt
-tests/examplefiles/metagrammar.treetop
-tests/examplefiles/minehunt.qml
-tests/examplefiles/minimal.ns2
-tests/examplefiles/modula2_test_cases.def
-tests/examplefiles/moin_SyntaxReference.txt
-tests/examplefiles/multiline_regexes.rb
-tests/examplefiles/mysql.txt
-tests/examplefiles/nanomsg.intr
-tests/examplefiles/nasm_aoutso.asm
-tests/examplefiles/nasm_objexe.asm
-tests/examplefiles/nemerle_sample.n
-tests/examplefiles/nginx_nginx.conf
-tests/examplefiles/noexcept.cpp
-tests/examplefiles/notmuch_example
-tests/examplefiles/numbers.c
-tests/examplefiles/objc_example.m
-tests/examplefiles/openedge_example
-tests/examplefiles/pacman.conf
-tests/examplefiles/pacman.ijs
-tests/examplefiles/pawn_example
-tests/examplefiles/perl_misc
-tests/examplefiles/perl_perl5db
-tests/examplefiles/perl_regex-delims
-tests/examplefiles/perlfunc.1
-tests/examplefiles/phpMyAdmin.spec
-tests/examplefiles/phpcomplete.vim
-tests/examplefiles/pkgconfig_example.pc
-tests/examplefiles/plain.bst
-tests/examplefiles/pleac.in.rb
-tests/examplefiles/postgresql_test.txt
-tests/examplefiles/pppoe.applescript
-tests/examplefiles/primesieve.arw
-tests/examplefiles/psql_session.txt
-tests/examplefiles/psysh_test.psysh
-tests/examplefiles/py3_test.txt
-tests/examplefiles/py3tb_test.py3tb
-tests/examplefiles/pycon_ctrlc_traceback
-tests/examplefiles/pycon_test.pycon
-tests/examplefiles/pytb_test2.pytb
-tests/examplefiles/pytb_test3.pytb
-tests/examplefiles/python25-bsd.mak
-tests/examplefiles/qbasic_example
-tests/examplefiles/qsort.prolog
-tests/examplefiles/r-console-transcript.Rout
-tests/examplefiles/r6rs-comments.scm
-tests/examplefiles/ragel-cpp_rlscan
-tests/examplefiles/ragel-cpp_snippet
-tests/examplefiles/regex.js
-tests/examplefiles/resourcebundle_demo
-tests/examplefiles/reversi.lsp
-tests/examplefiles/rnc_example.rnc
-tests/examplefiles/roboconf.graph
-tests/examplefiles/roboconf.instances
-tests/examplefiles/robotframework_test.txt
-tests/examplefiles/rql-queries.rql
-tests/examplefiles/ruby_func_def.rb
-tests/examplefiles/sample.qvto
-tests/examplefiles/scdoc_manual.scd
-tests/examplefiles/scilab.sci
-tests/examplefiles/scope.cirru
-tests/examplefiles/session.dylan-console
-tests/examplefiles/sibling.prolog
-tests/examplefiles/simple.camkes
-tests/examplefiles/simple.croc
-tests/examplefiles/smarty_example.html
-tests/examplefiles/source.lgt
-tests/examplefiles/sources.list
-tests/examplefiles/sparql.rq
-tests/examplefiles/sphere.pov
-tests/examplefiles/sqlite3.sqlite3-console
-tests/examplefiles/squid.conf
-tests/examplefiles/string.jl
-tests/examplefiles/string_delimiters.d
-tests/examplefiles/stripheredoc.sh
-tests/examplefiles/subr.el
-tests/examplefiles/swig_java.swg
-tests/examplefiles/swig_std_vector.i
-tests/examplefiles/tads3_example.t
-tests/examplefiles/teraterm.ttl
-tests/examplefiles/termcap
-tests/examplefiles/terminfo
-tests/examplefiles/test-3.0.xq
-tests/examplefiles/test-exist-update.xq
-tests/examplefiles/test.R
-tests/examplefiles/test.adb
-tests/examplefiles/test.adls
-tests/examplefiles/test.agda
-tests/examplefiles/test.apl
-tests/examplefiles/test.asy
-tests/examplefiles/test.awk
-tests/examplefiles/test.bb
-tests/examplefiles/test.bib
-tests/examplefiles/test.bmx
-tests/examplefiles/test.boo
-tests/examplefiles/test.bpl
-tests/examplefiles/test.bro
-tests/examplefiles/test.cadl
-tests/examplefiles/test.cr
-tests/examplefiles/test.cs
-tests/examplefiles/test.csd
-tests/examplefiles/test.css
-tests/examplefiles/test.cu
-tests/examplefiles/test.cyp
-tests/examplefiles/test.d
-tests/examplefiles/test.dart
-tests/examplefiles/test.dtd
-tests/examplefiles/test.ebnf
-tests/examplefiles/test.ec
-tests/examplefiles/test.eh
-tests/examplefiles/test.erl
-tests/examplefiles/test.escript
-tests/examplefiles/test.evoque
-tests/examplefiles/test.fan
-tests/examplefiles/test.flx
-tests/examplefiles/test.gdc
-tests/examplefiles/test.gradle
-tests/examplefiles/test.groovy
-tests/examplefiles/test.hsail
-tests/examplefiles/test.html
-tests/examplefiles/test.idr
-tests/examplefiles/test.ini
-tests/examplefiles/test.java
-tests/examplefiles/test.jsp
-tests/examplefiles/test.lean
-tests/examplefiles/test.maql
-tests/examplefiles/test.mask
-tests/examplefiles/test.mod
-tests/examplefiles/test.moo
-tests/examplefiles/test.mos
-tests/examplefiles/test.mt
-tests/examplefiles/test.myt
-tests/examplefiles/test.ncl
-tests/examplefiles/test.nim
-tests/examplefiles/test.odin
-tests/examplefiles/test.opa
-tests/examplefiles/test.orc
-tests/examplefiles/test.p6
-tests/examplefiles/test.pan
-tests/examplefiles/test.pas
-tests/examplefiles/test.php
-tests/examplefiles/test.pig
-tests/examplefiles/test.plot
-tests/examplefiles/test.ps1
-tests/examplefiles/test.psl
-tests/examplefiles/test.pwn
-tests/examplefiles/test.pypylog
-tests/examplefiles/test.r3
-tests/examplefiles/test.rb
-tests/examplefiles/test.re
-tests/examplefiles/test.rhtml
-tests/examplefiles/test.rsl
-tests/examplefiles/test.scaml
-tests/examplefiles/test.sco
-tests/examplefiles/test.shen
-tests/examplefiles/test.sil
-tests/examplefiles/test.sol
-tests/examplefiles/test.ssp
-tests/examplefiles/test.swift
-tests/examplefiles/test.tcsh
-tests/examplefiles/test.vb
-tests/examplefiles/test.vhdl
-tests/examplefiles/test.xqy
-tests/examplefiles/test.xsl
-tests/examplefiles/test.yang
-tests/examplefiles/test.zeek
-tests/examplefiles/test.zep
-tests/examplefiles/test2.odin
-tests/examplefiles/test2.pypylog
-tests/examplefiles/test_basic.adls
-tests/examplefiles/truncated.pytb
-tests/examplefiles/tsql_example.sql
-tests/examplefiles/twig_test
-tests/examplefiles/type.lisp
-tests/examplefiles/typescript_example
-tests/examplefiles/typoscript_example
-tests/examplefiles/underscore.coffee
-tests/examplefiles/unicode.applescript
-tests/examplefiles/unicode.go
-tests/examplefiles/unicode.js
-tests/examplefiles/unicodedoc.py
-tests/examplefiles/unix-io.lid
-tests/examplefiles/varnish.vcl
-tests/examplefiles/vbnet_test.bas
-tests/examplefiles/vctreestatus_hg
-tests/examplefiles/vimrc
-tests/examplefiles/vpath.mk
-tests/examplefiles/wdiff_example1.wdiff
-tests/examplefiles/wdiff_example3.wdiff
-tests/examplefiles/webkit-transition.css
-tests/examplefiles/while.pov
-tests/examplefiles/wiki.factor
-tests/examplefiles/xml_example
-tests/examplefiles/xorg.conf
-tests/examplefiles/yahalom.cpsa
-tests/examplefiles/zmlrpc.f90
+tests/examplefiles/conftest.py
+tests/examplefiles/abnf/abnf_example1.abnf
+tests/examplefiles/abnf/abnf_example1.abnf.output
+tests/examplefiles/abnf/abnf_example2.abnf
+tests/examplefiles/abnf/abnf_example2.abnf.output
+tests/examplefiles/ada/test.adb
+tests/examplefiles/ada/test.adb.output
+tests/examplefiles/adl/test.adls
+tests/examplefiles/adl/test.adls.output
+tests/examplefiles/adl/test_basic.adls
+tests/examplefiles/adl/test_basic.adls.output
+tests/examplefiles/agda/test.agda
+tests/examplefiles/agda/test.agda.output
+tests/examplefiles/aheui/durexmania.aheui
+tests/examplefiles/aheui/durexmania.aheui.output
+tests/examplefiles/aheui/fibonacci.tokigun.aheui
+tests/examplefiles/aheui/fibonacci.tokigun.aheui.output
+tests/examplefiles/aheui/hello-world.puzzlet.aheui
+tests/examplefiles/aheui/hello-world.puzzlet.aheui.output
+tests/examplefiles/ahk/demo.ahk
+tests/examplefiles/ahk/demo.ahk.output
+tests/examplefiles/alloy/example.als
+tests/examplefiles/alloy/example.als.output
+tests/examplefiles/amdgpu/amdgpu.isa
+tests/examplefiles/amdgpu/amdgpu.isa.output
+tests/examplefiles/antlr/antlr_ANTLRv3.g
+tests/examplefiles/antlr/antlr_ANTLRv3.g.output
+tests/examplefiles/antlr/antlr_throws
+tests/examplefiles/antlr/antlr_throws.output
+tests/examplefiles/apacheconf/apache2.conf
+tests/examplefiles/apacheconf/apache2.conf.output
+tests/examplefiles/apl/test.apl
+tests/examplefiles/apl/test.apl.output
+tests/examplefiles/applescript/pppoe.applescript
+tests/examplefiles/applescript/pppoe.applescript.output
+tests/examplefiles/applescript/unicode.applescript
+tests/examplefiles/applescript/unicode.applescript.output
+tests/examplefiles/arduino/Blink.ino
+tests/examplefiles/arduino/Blink.ino.output
+tests/examplefiles/arrow/primesieve.arw
+tests/examplefiles/arrow/primesieve.arw.output
+tests/examplefiles/as3/as3_test.as
+tests/examplefiles/as3/as3_test.as.output
+tests/examplefiles/as3/as3_test2.as
+tests/examplefiles/as3/as3_test2.as.output
+tests/examplefiles/as3/as3_test3.as
+tests/examplefiles/as3/as3_test3.as.output
+tests/examplefiles/aspx-cs/aspx-cs_example
+tests/examplefiles/aspx-cs/aspx-cs_example.output
+tests/examplefiles/aspx-vb/example2.aspx
+tests/examplefiles/aspx-vb/example2.aspx.output
+tests/examplefiles/asy/test.asy
+tests/examplefiles/asy/test.asy.output
+tests/examplefiles/at/hello.at
+tests/examplefiles/at/hello.at.output
+tests/examplefiles/autoit/autoit_submit.au3
+tests/examplefiles/autoit/autoit_submit.au3.output
+tests/examplefiles/awk/test.awk
+tests/examplefiles/awk/test.awk.output
+tests/examplefiles/bare/bare.bare
+tests/examplefiles/bare/bare.bare.output
+tests/examplefiles/bash/example.sh
+tests/examplefiles/bash/example.sh.output
+tests/examplefiles/bash/ltmain.sh
+tests/examplefiles/bash/ltmain.sh.output
+tests/examplefiles/bash/stripheredoc.sh
+tests/examplefiles/bash/stripheredoc.sh.output
+tests/examplefiles/bat/example.bat
+tests/examplefiles/bat/example.bat.output
+tests/examplefiles/bbcbasic/example.bbc
+tests/examplefiles/bbcbasic/example.bbc.output
+tests/examplefiles/bc/example.bc
+tests/examplefiles/bc/example.bc.output
+tests/examplefiles/bib/test.bib
+tests/examplefiles/bib/test.bib.output
+tests/examplefiles/blitzbasic/test.bb
+tests/examplefiles/blitzbasic/test.bb.output
+tests/examplefiles/blitzmax/test.bmx
+tests/examplefiles/blitzmax/test.bmx.output
+tests/examplefiles/bnf/bnf_example1.bnf
+tests/examplefiles/bnf/bnf_example1.bnf.output
+tests/examplefiles/boa/example.boa
+tests/examplefiles/boa/example.boa.output
+tests/examplefiles/boo/test.boo
+tests/examplefiles/boo/test.boo.output
+tests/examplefiles/boogie/test.bpl
+tests/examplefiles/boogie/test.bpl.output
+tests/examplefiles/bst/plain.bst
+tests/examplefiles/bst/plain.bst.output
+tests/examplefiles/bugs/example.bug
+tests/examplefiles/bugs/example.bug.output
+tests/examplefiles/c/ceval.c
+tests/examplefiles/c/ceval.c.output
+tests/examplefiles/c/example.c
+tests/examplefiles/c/example.c.output
+tests/examplefiles/c/numbers.c
+tests/examplefiles/c/numbers.c.output
+tests/examplefiles/ca65/ca65_example
+tests/examplefiles/ca65/ca65_example.output
+tests/examplefiles/cadl/example1.cadl
+tests/examplefiles/cadl/example1.cadl.output
+tests/examplefiles/cadl/test.cadl
+tests/examplefiles/cadl/test.cadl.output
+tests/examplefiles/camkes/simple.camkes
+tests/examplefiles/camkes/simple.camkes.output
+tests/examplefiles/capdl/capdl_example.cdl
+tests/examplefiles/capdl/capdl_example.cdl.output
+tests/examplefiles/cbmbas/cbmbas_example
+tests/examplefiles/cbmbas/cbmbas_example.output
+tests/examplefiles/cddl/example.cddl
+tests/examplefiles/cddl/example.cddl.output
+tests/examplefiles/ceylon/example.ceylon
+tests/examplefiles/ceylon/example.ceylon.output
+tests/examplefiles/cfc/exampleScript.cfc
+tests/examplefiles/cfc/exampleScript.cfc.output
+tests/examplefiles/cfc/exampleTag.cfc
+tests/examplefiles/cfc/exampleTag.cfc.output
+tests/examplefiles/cfm/demo.cfm
+tests/examplefiles/cfm/demo.cfm.output
+tests/examplefiles/chai/example.chai
+tests/examplefiles/chai/example.chai.output
+tests/examplefiles/chapel/99_bottles_of_beer.chpl
+tests/examplefiles/chapel/99_bottles_of_beer.chpl.output
+tests/examplefiles/charmci/Charmci.ci
+tests/examplefiles/charmci/Charmci.ci.output
+tests/examplefiles/cheetah/cheetah_example.html
+tests/examplefiles/cheetah/cheetah_example.html.output
+tests/examplefiles/cirru/scope.cirru
+tests/examplefiles/cirru/scope.cirru.output
+tests/examplefiles/clay/example.clay
+tests/examplefiles/clay/example.clay.output
+tests/examplefiles/clean/StdGeneric.icl
+tests/examplefiles/clean/StdGeneric.icl.output
+tests/examplefiles/clojure/clojure-weird-keywords.clj
+tests/examplefiles/clojure/clojure-weird-keywords.clj.output
+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/clojurescript/core.cljs
+tests/examplefiles/clojurescript/core.cljs.output
+tests/examplefiles/cmake/main.cmake
+tests/examplefiles/cmake/main.cmake.output
+tests/examplefiles/cobol/example.cob
+tests/examplefiles/cobol/example.cob.output
+tests/examplefiles/coffee-script/example.coffee
+tests/examplefiles/coffee-script/example.coffee.output
+tests/examplefiles/coffee-script/underscore.coffee
+tests/examplefiles/coffee-script/underscore.coffee.output
+tests/examplefiles/common-lisp/type.lisp
+tests/examplefiles/common-lisp/type.lisp.output
+tests/examplefiles/console/example.sh-session
+tests/examplefiles/console/example.sh-session.output
+tests/examplefiles/console/example.shell-session
+tests/examplefiles/console/example.shell-session.output
+tests/examplefiles/coq/coq_RelationClasses
+tests/examplefiles/coq/coq_RelationClasses.output
+tests/examplefiles/cpp/example.cpp
+tests/examplefiles/cpp/example.cpp.output
+tests/examplefiles/cpp/example2.cpp
+tests/examplefiles/cpp/example2.cpp.output
+tests/examplefiles/cpp/noexcept.cpp
+tests/examplefiles/cpp/noexcept.cpp.output
+tests/examplefiles/cpsa/yahalom.cpsa
+tests/examplefiles/cpsa/yahalom.cpsa.output
+tests/examplefiles/cr/test.cr
+tests/examplefiles/cr/test.cr.output
+tests/examplefiles/crmsh/example.pcmk
+tests/examplefiles/crmsh/example.pcmk.output
+tests/examplefiles/croc/simple.croc
+tests/examplefiles/croc/simple.croc.output
+tests/examplefiles/csharp/test.cs
+tests/examplefiles/csharp/test.cs.output
+tests/examplefiles/csound/test.orc
+tests/examplefiles/csound/test.orc.output
+tests/examplefiles/csound-document/test.csd
+tests/examplefiles/csound-document/test.csd.output
+tests/examplefiles/csound-score/test.sco
+tests/examplefiles/csound-score/test.sco.output
+tests/examplefiles/css/test.css
+tests/examplefiles/css/test.css.output
+tests/examplefiles/css/webkit-transition.css
+tests/examplefiles/css/webkit-transition.css.output
+tests/examplefiles/css+mozpreproc/demo.css.in
+tests/examplefiles/css+mozpreproc/demo.css.in.output
+tests/examplefiles/cucumber/example.feature
+tests/examplefiles/cucumber/example.feature.output
+tests/examplefiles/cuda/test.cu
+tests/examplefiles/cuda/test.cu.output
+tests/examplefiles/cypher/test.cyp
+tests/examplefiles/cypher/test.cyp.output
+tests/examplefiles/d/string_delimiters.d
+tests/examplefiles/d/string_delimiters.d.output
+tests/examplefiles/d/test.d
+tests/examplefiles/d/test.d.output
+tests/examplefiles/dart/test.dart
+tests/examplefiles/dart/test.dart.output
+tests/examplefiles/delphi/example.pas
+tests/examplefiles/delphi/example.pas.output
+tests/examplefiles/delphi/test.pas
+tests/examplefiles/delphi/test.pas.output
+tests/examplefiles/devicetree/example.dts
+tests/examplefiles/devicetree/example.dts.output
+tests/examplefiles/dg/inet_pton6.dg
+tests/examplefiles/dg/inet_pton6.dg.output
+tests/examplefiles/django/django_sample.html+django
+tests/examplefiles/django/django_sample.html+django.output
+tests/examplefiles/docker/docker.docker
+tests/examplefiles/docker/docker.docker.output
+tests/examplefiles/dtd/test.dtd
+tests/examplefiles/dtd/test.dtd.output
+tests/examplefiles/duel/jbst_example1.jbst
+tests/examplefiles/duel/jbst_example1.jbst.output
+tests/examplefiles/duel/jbst_example2.jbst
+tests/examplefiles/duel/jbst_example2.jbst.output
+tests/examplefiles/dylan/classes.dylan
+tests/examplefiles/dylan/classes.dylan.output
+tests/examplefiles/dylan/nanomsg.intr
+tests/examplefiles/dylan/nanomsg.intr.output
+tests/examplefiles/dylan-console/session.dylan-console
+tests/examplefiles/dylan-console/session.dylan-console.output
+tests/examplefiles/dylan-lid/unix-io.lid
+tests/examplefiles/dylan-lid/unix-io.lid.output
+tests/examplefiles/earl-grey/eg_example1.eg
+tests/examplefiles/earl-grey/eg_example1.eg.output
+tests/examplefiles/easytrieve/example.ezt
+tests/examplefiles/easytrieve/example.ezt.output
+tests/examplefiles/easytrieve/example.mac
+tests/examplefiles/easytrieve/example.mac.output
+tests/examplefiles/ebnf/test.ebnf
+tests/examplefiles/ebnf/test.ebnf.output
+tests/examplefiles/ec/test.ec
+tests/examplefiles/ec/test.ec.output
+tests/examplefiles/ec/test.eh
+tests/examplefiles/ec/test.eh.output
+tests/examplefiles/eiffel/example.e
+tests/examplefiles/eiffel/example.e.output
+tests/examplefiles/elixir/example_elixir.ex
+tests/examplefiles/elixir/example_elixir.ex.output
+tests/examplefiles/elm/example.elm
+tests/examplefiles/elm/example.elm.output
+tests/examplefiles/emacs/subr.el
+tests/examplefiles/emacs/subr.el.output
+tests/examplefiles/email/example.eml
+tests/examplefiles/email/example.eml.output
+tests/examplefiles/erl/erl_session
+tests/examplefiles/erl/erl_session.output
+tests/examplefiles/erlang/test.erl
+tests/examplefiles/erlang/test.erl.output
+tests/examplefiles/erlang/test.escript
+tests/examplefiles/erlang/test.escript.output
+tests/examplefiles/evoque/test.evoque
+tests/examplefiles/evoque/test.evoque.output
+tests/examplefiles/execline/example.exec
+tests/examplefiles/execline/example.exec.output
+tests/examplefiles/extempore/example.xtm
+tests/examplefiles/extempore/example.xtm.output
+tests/examplefiles/ezhil/ezhil_primefactors.n
+tests/examplefiles/ezhil/ezhil_primefactors.n.output
+tests/examplefiles/factor/wiki.factor
+tests/examplefiles/factor/wiki.factor.output
+tests/examplefiles/fan/test.fan
+tests/examplefiles/fan/test.fan.output
+tests/examplefiles/fancy/example_file.fy
+tests/examplefiles/fancy/example_file.fy.output
+tests/examplefiles/felix/test.flx
+tests/examplefiles/felix/test.flx.output
+tests/examplefiles/fennel/fennelview.fnl
+tests/examplefiles/fennel/fennelview.fnl.output
+tests/examplefiles/fish/example.fish
+tests/examplefiles/fish/example.fish.output
+tests/examplefiles/flatline/flatline_example
+tests/examplefiles/flatline/flatline_example.output
+tests/examplefiles/floscript/example.flo
+tests/examplefiles/floscript/example.flo.output
+tests/examplefiles/forth/demo.frt
+tests/examplefiles/forth/demo.frt.output
+tests/examplefiles/fortran/example.f90
+tests/examplefiles/fortran/example.f90.output
+tests/examplefiles/fortran/zmlrpc.f90
+tests/examplefiles/fortran/zmlrpc.f90.output
+tests/examplefiles/fortranfixed/ahcon.f
+tests/examplefiles/fortranfixed/ahcon.f.output
+tests/examplefiles/foxpro/example.prg
+tests/examplefiles/foxpro/example.prg.output
+tests/examplefiles/freefem/freefem.edp
+tests/examplefiles/freefem/freefem.edp.output
+tests/examplefiles/fsharp/Deflate.fs
+tests/examplefiles/fsharp/Deflate.fs.output
+tests/examplefiles/fstar/example.fst
+tests/examplefiles/fstar/example.fst.output
+tests/examplefiles/futhark/example.fut
+tests/examplefiles/futhark/example.fut.output
+tests/examplefiles/gap/example.gd
+tests/examplefiles/gap/example.gd.output
+tests/examplefiles/gap/example.gi
+tests/examplefiles/gap/example.gi.output
+tests/examplefiles/gdscript/gdscript_example.gd
+tests/examplefiles/gdscript/gdscript_example.gd.output
+tests/examplefiles/genshi/genshi_example.xml+genshi
+tests/examplefiles/genshi/genshi_example.xml+genshi.output
+tests/examplefiles/genshitext/genshitext_example.genshitext
+tests/examplefiles/genshitext/genshitext_example.genshitext.output
+tests/examplefiles/glsl/glsl.frag
+tests/examplefiles/glsl/glsl.frag.output
+tests/examplefiles/glsl/glsl.vert
+tests/examplefiles/glsl/glsl.vert.output
+tests/examplefiles/gnuplot/test.plot
+tests/examplefiles/gnuplot/test.plot.output
+tests/examplefiles/go/unicode.go
+tests/examplefiles/go/unicode.go.output
+tests/examplefiles/golo/example.golo
+tests/examplefiles/golo/example.golo.output
+tests/examplefiles/golo/hello.golo
+tests/examplefiles/golo/hello.golo.output
+tests/examplefiles/gooddata-cl/test.gdc
+tests/examplefiles/gooddata-cl/test.gdc.output
+tests/examplefiles/gosu/example.gs
+tests/examplefiles/gosu/example.gs.output
+tests/examplefiles/graphviz/graphviz-dot.gv
+tests/examplefiles/graphviz/graphviz-dot.gv.output
+tests/examplefiles/groff/perlfunc.1
+tests/examplefiles/groff/perlfunc.1.output
+tests/examplefiles/groovy/example.groovy
+tests/examplefiles/groovy/example.groovy.output
+tests/examplefiles/groovy/test.gradle
+tests/examplefiles/groovy/test.gradle.output
+tests/examplefiles/groovy/test.groovy
+tests/examplefiles/groovy/test.groovy.output
+tests/examplefiles/gst/example.gst
+tests/examplefiles/gst/example.gst.output
+tests/examplefiles/haskell/AcidStateAdvanced.hs
+tests/examplefiles/haskell/AcidStateAdvanced.hs.output
+tests/examplefiles/haskell/SmallCheck.hs
+tests/examplefiles/haskell/SmallCheck.hs.output
+tests/examplefiles/haskell/example.hs
+tests/examplefiles/haskell/example.hs.output
+tests/examplefiles/hexdump/hexdump_debugexe
+tests/examplefiles/hexdump/hexdump_debugexe.output
+tests/examplefiles/hexdump/hexdump_hd
+tests/examplefiles/hexdump/hexdump_hd.output
+tests/examplefiles/hexdump/hexdump_hexcat
+tests/examplefiles/hexdump/hexdump_hexcat.output
+tests/examplefiles/hexdump/hexdump_hexdump
+tests/examplefiles/hexdump/hexdump_hexdump.output
+tests/examplefiles/hexdump/hexdump_od
+tests/examplefiles/hexdump/hexdump_od.output
+tests/examplefiles/hexdump/hexdump_xxd
+tests/examplefiles/hexdump/hexdump_xxd.output
+tests/examplefiles/hlsl/example.hlsl
+tests/examplefiles/hlsl/example.hlsl.output
+tests/examplefiles/hsail/test.hsail
+tests/examplefiles/hsail/test.hsail.output
+tests/examplefiles/html/example.xhtml
+tests/examplefiles/html/example.xhtml.output
+tests/examplefiles/html/test.html
+tests/examplefiles/html/test.html.output
+tests/examplefiles/html+handlebars/demo.hbs
+tests/examplefiles/html+handlebars/demo.hbs.output
+tests/examplefiles/html+handlebars/ember.handlebars
+tests/examplefiles/html+handlebars/ember.handlebars.output
+tests/examplefiles/html+ng2/example.ng2
+tests/examplefiles/html+ng2/example.ng2.output
+tests/examplefiles/html+php/html+php_faulty.php
+tests/examplefiles/html+php/html+php_faulty.php.output
+tests/examplefiles/http/http_request_example
+tests/examplefiles/http/http_request_example.output
+tests/examplefiles/http/http_response_example
+tests/examplefiles/http/http_response_example.output
+tests/examplefiles/hx/OrderedMap.hx
+tests/examplefiles/hx/OrderedMap.hx.output
+tests/examplefiles/hx/example.hx
+tests/examplefiles/hx/example.hx.output
+tests/examplefiles/hybris/hybris_File.hy
+tests/examplefiles/hybris/hybris_File.hy.output
+tests/examplefiles/hylang/language.hy
+tests/examplefiles/hylang/language.hy.output
+tests/examplefiles/i6t/example.i6t
+tests/examplefiles/i6t/example.i6t.output
+tests/examplefiles/icon/example.icon
+tests/examplefiles/icon/example.icon.output
+tests/examplefiles/idl/idl_sample.pro
+tests/examplefiles/idl/idl_sample.pro.output
+tests/examplefiles/idris/test.idr
+tests/examplefiles/idris/test.idr.output
+tests/examplefiles/iex/iex_example
+tests/examplefiles/iex/iex_example.output
+tests/examplefiles/inform6/inform6_example
+tests/examplefiles/inform6/inform6_example.output
+tests/examplefiles/inform7/example.i7x
+tests/examplefiles/inform7/example.i7x.output
+tests/examplefiles/inform7/example.ni
+tests/examplefiles/inform7/example.ni.output
+tests/examplefiles/ini/test.ini
+tests/examplefiles/ini/test.ini.output
+tests/examplefiles/ioke/intro.ik
+tests/examplefiles/ioke/intro.ik.output
+tests/examplefiles/irc/example.weechatlog
+tests/examplefiles/irc/example.weechatlog.output
+tests/examplefiles/isabelle/example.thy
+tests/examplefiles/isabelle/example.thy.output
+tests/examplefiles/j/pacman.ijs
+tests/examplefiles/j/pacman.ijs.output
+tests/examplefiles/jags/example.jag
+tests/examplefiles/jags/example.jag.output
+tests/examplefiles/jasmin/example.j
+tests/examplefiles/jasmin/example.j.output
+tests/examplefiles/java/Intro.java
+tests/examplefiles/java/Intro.java.output
+tests/examplefiles/java/badcase.java
+tests/examplefiles/java/badcase.java.output
+tests/examplefiles/java/example.java
+tests/examplefiles/java/example.java.output
+tests/examplefiles/java/test.java
+tests/examplefiles/java/test.java.output
+tests/examplefiles/javascript+mozpreproc/demo.js.in
+tests/examplefiles/javascript+mozpreproc/demo.js.in.output
+tests/examplefiles/jcl/example.jcl
+tests/examplefiles/jcl/example.jcl.output
+tests/examplefiles/js/BOM.js
+tests/examplefiles/js/BOM.js.output
+tests/examplefiles/js/es6.js
+tests/examplefiles/js/es6.js.output
+tests/examplefiles/js/evil_regex.js
+tests/examplefiles/js/evil_regex.js.output
+tests/examplefiles/js/regex.js
+tests/examplefiles/js/regex.js.output
+tests/examplefiles/js/unicode.js
+tests/examplefiles/js/unicode.js.output
+tests/examplefiles/jsgf/example.jsgf
+tests/examplefiles/jsgf/example.jsgf.output
+tests/examplefiles/jsonld/example.jsonld
+tests/examplefiles/jsonld/example.jsonld.output
+tests/examplefiles/jsp/test.jsp
+tests/examplefiles/jsp/test.jsp.output
+tests/examplefiles/julia/string.jl
+tests/examplefiles/julia/string.jl.output
+tests/examplefiles/juttle/example.juttle
+tests/examplefiles/juttle/example.juttle.output
+tests/examplefiles/kal/example.kal
+tests/examplefiles/kal/example.kal.output
+tests/examplefiles/kconfig/Config.in.cache
+tests/examplefiles/kconfig/Config.in.cache.output
+tests/examplefiles/kmsg/example.dmesg
+tests/examplefiles/kmsg/example.dmesg.output
+tests/examplefiles/koka/garcia-wachs.kk
+tests/examplefiles/koka/garcia-wachs.kk.output
+tests/examplefiles/kotlin/example.kt
+tests/examplefiles/kotlin/example.kt.output
+tests/examplefiles/lagda/example.lagda
+tests/examplefiles/lagda/example.lagda.output
+tests/examplefiles/lasso/json.lasso
+tests/examplefiles/lasso/json.lasso.output
+tests/examplefiles/lasso/json.lasso9
+tests/examplefiles/lasso/json.lasso9.output
+tests/examplefiles/lean/test.lean
+tests/examplefiles/lean/test.lean.output
+tests/examplefiles/lhs/DancingSudoku.lhs
+tests/examplefiles/lhs/DancingSudoku.lhs.output
+tests/examplefiles/lhs/Sudoku.lhs
+tests/examplefiles/lhs/Sudoku.lhs.output
+tests/examplefiles/lighty/lighttpd_config.conf
+tests/examplefiles/lighty/lighttpd_config.conf.output
+tests/examplefiles/limbo/limbo.b
+tests/examplefiles/limbo/limbo.b.output
+tests/examplefiles/liquid/example.liquid
+tests/examplefiles/liquid/example.liquid.output
+tests/examplefiles/live-script/livescript-demo.ls
+tests/examplefiles/live-script/livescript-demo.ls.output
+tests/examplefiles/llvm-mir/llvm-mir.mir
+tests/examplefiles/llvm-mir/llvm-mir.mir.output
+tests/examplefiles/logos/logos_example.xm
+tests/examplefiles/logos/logos_example.xm.output
+tests/examplefiles/logtalk/source.lgt
+tests/examplefiles/logtalk/source.lgt.output
+tests/examplefiles/lsl/hello.lsl
+tests/examplefiles/lsl/hello.lsl.output
+tests/examplefiles/lua/example.lua
+tests/examplefiles/lua/example.lua.output
+tests/examplefiles/make/Makefile
+tests/examplefiles/make/Makefile.output
+tests/examplefiles/make/automake.mk
+tests/examplefiles/make/automake.mk.output
+tests/examplefiles/make/firefox.mak
+tests/examplefiles/make/firefox.mak.output
+tests/examplefiles/make/python25-bsd.mak
+tests/examplefiles/make/python25-bsd.mak.output
+tests/examplefiles/make/vpath.mk
+tests/examplefiles/make/vpath.mk.output
+tests/examplefiles/maql/test.maql
+tests/examplefiles/maql/test.maql.output
+tests/examplefiles/mask/test.mask
+tests/examplefiles/mask/test.mask.output
+tests/examplefiles/mathematica/example.ma
+tests/examplefiles/mathematica/example.ma.output
+tests/examplefiles/matlab/matlab_noreturn
+tests/examplefiles/matlab/matlab_noreturn.output
+tests/examplefiles/matlab/matlab_sample
+tests/examplefiles/matlab/matlab_sample.output
+tests/examplefiles/matlabsession/matlabsession_sample.txt
+tests/examplefiles/matlabsession/matlabsession_sample.txt.output
+tests/examplefiles/md/example.md
+tests/examplefiles/md/example.md.output
+tests/examplefiles/mime/MIME_example.eml
+tests/examplefiles/mime/MIME_example.eml.output
+tests/examplefiles/modelica/Constants.mo
+tests/examplefiles/modelica/Constants.mo.output
+tests/examplefiles/modula2/Sorting.mod
+tests/examplefiles/modula2/Sorting.mod.output
+tests/examplefiles/modula2/modula2_test_cases.def
+tests/examplefiles/modula2/modula2_test_cases.def.output
+tests/examplefiles/modula2/test.mod
+tests/examplefiles/modula2/test.mod.output
+tests/examplefiles/monkey/example.monkey
+tests/examplefiles/monkey/example.monkey.output
+tests/examplefiles/monte/test.mt
+tests/examplefiles/monte/test.mt.output
+tests/examplefiles/moocode/example.moo
+tests/examplefiles/moocode/example.moo.output
+tests/examplefiles/moocode/test.moo
+tests/examplefiles/moocode/test.moo.output
+tests/examplefiles/moon/example.moon
+tests/examplefiles/moon/example.moon.output
+tests/examplefiles/mosel/test.mos
+tests/examplefiles/mosel/test.mos.output
+tests/examplefiles/mql/example.mq4
+tests/examplefiles/mql/example.mq4.output
+tests/examplefiles/mql/example.mqh
+tests/examplefiles/mql/example.mqh.output
+tests/examplefiles/ms/example.ms
+tests/examplefiles/ms/example.ms.output
+tests/examplefiles/mscgen/example.msc
+tests/examplefiles/mscgen/example.msc.output
+tests/examplefiles/mscgen/example2.msc
+tests/examplefiles/mscgen/example2.msc.output
+tests/examplefiles/mupad/AlternatingGroup.mu
+tests/examplefiles/mupad/AlternatingGroup.mu.output
+tests/examplefiles/mupad/function.mu
+tests/examplefiles/mupad/function.mu.output
+tests/examplefiles/myghty/test.myt
+tests/examplefiles/myghty/test.myt.output
+tests/examplefiles/nasm/nasm_aoutso.asm
+tests/examplefiles/nasm/nasm_aoutso.asm.output
+tests/examplefiles/nasm/nasm_objexe.asm
+tests/examplefiles/nasm/nasm_objexe.asm.output
+tests/examplefiles/ncl/test.ncl
+tests/examplefiles/ncl/test.ncl.output
+tests/examplefiles/nemerle/nemerle_sample.n
+tests/examplefiles/nemerle/nemerle_sample.n.output
+tests/examplefiles/nesc/IPDispatchC.nc
+tests/examplefiles/nesc/IPDispatchC.nc.output
+tests/examplefiles/nesc/IPDispatchP.nc
+tests/examplefiles/nesc/IPDispatchP.nc.output
+tests/examplefiles/newlisp/irc.lsp
+tests/examplefiles/newlisp/irc.lsp.output
+tests/examplefiles/newlisp/markdown.lsp
+tests/examplefiles/newlisp/markdown.lsp.output
+tests/examplefiles/newlisp/reversi.lsp
+tests/examplefiles/newlisp/reversi.lsp.output
+tests/examplefiles/newspeak/example.ns2
+tests/examplefiles/newspeak/example.ns2.output
+tests/examplefiles/newspeak/minimal.ns2
+tests/examplefiles/newspeak/minimal.ns2.output
+tests/examplefiles/nginx/nginx_nginx.conf
+tests/examplefiles/nginx/nginx_nginx.conf.output
+tests/examplefiles/nim/example.nim
+tests/examplefiles/nim/example.nim.output
+tests/examplefiles/nim/test.nim
+tests/examplefiles/nim/test.nim.output
+tests/examplefiles/nit/all.nit
+tests/examplefiles/nit/all.nit.output
+tests/examplefiles/nixos/example.nix
+tests/examplefiles/nixos/example.nix.output
+tests/examplefiles/notmuch/notmuch_example
+tests/examplefiles/notmuch/notmuch_example.output
+tests/examplefiles/nsis/bigtest.nsi
+tests/examplefiles/nsis/bigtest.nsi.output
+tests/examplefiles/nusmv/guidance.smv
+tests/examplefiles/nusmv/guidance.smv.output
+tests/examplefiles/objective-c/objc_example.m
+tests/examplefiles/objective-c/objc_example.m.output
+tests/examplefiles/objective-j/CPDictionary.j
+tests/examplefiles/objective-j/CPDictionary.j.output
+tests/examplefiles/ocaml/format.ml
+tests/examplefiles/ocaml/format.ml.output
+tests/examplefiles/odin/test.odin
+tests/examplefiles/odin/test.odin.output
+tests/examplefiles/odin/test2.odin
+tests/examplefiles/odin/test2.odin.output
+tests/examplefiles/opa/test.opa
+tests/examplefiles/opa/test.opa.output
+tests/examplefiles/openedge/example.cls
+tests/examplefiles/openedge/example.cls.output
+tests/examplefiles/openedge/openedge_example
+tests/examplefiles/openedge/openedge_example.output
+tests/examplefiles/pacmanconf/pacman.conf
+tests/examplefiles/pacmanconf/pacman.conf.output
+tests/examplefiles/pan/test.pan
+tests/examplefiles/pan/test.pan.output
+tests/examplefiles/parasail/test.psl
+tests/examplefiles/parasail/test.psl.output
+tests/examplefiles/pawn/pawn_example
+tests/examplefiles/pawn/pawn_example.output
+tests/examplefiles/pawn/test.pwn
+tests/examplefiles/pawn/test.pwn.output
+tests/examplefiles/perl/perl_misc
+tests/examplefiles/perl/perl_misc.output
+tests/examplefiles/perl/perl_perl5db
+tests/examplefiles/perl/perl_perl5db.output
+tests/examplefiles/perl/perl_regex-delims
+tests/examplefiles/perl/perl_regex-delims.output
+tests/examplefiles/perl6/RoleQ.pm6
+tests/examplefiles/perl6/RoleQ.pm6.output
+tests/examplefiles/perl6/grammar-test.p6
+tests/examplefiles/perl6/grammar-test.p6.output
+tests/examplefiles/perl6/test.p6
+tests/examplefiles/perl6/test.p6.output
+tests/examplefiles/php/ints.php
+tests/examplefiles/php/ints.php.output
+tests/examplefiles/php/test.php
+tests/examplefiles/php/test.php.output
+tests/examplefiles/pig/test.pig
+tests/examplefiles/pig/test.pig.output
+tests/examplefiles/pike/Error.pmod
+tests/examplefiles/pike/Error.pmod.output
+tests/examplefiles/pike/FakeFile.pike
+tests/examplefiles/pike/FakeFile.pike.output
+tests/examplefiles/pkgconfig/pkgconfig_example.pc
+tests/examplefiles/pkgconfig/pkgconfig_example.pc.output
+tests/examplefiles/pointless/example.ptls
+tests/examplefiles/pointless/example.ptls.output
+tests/examplefiles/pony/example.pony
+tests/examplefiles/pony/example.pony.output
+tests/examplefiles/postgresql/postgresql_test.txt
+tests/examplefiles/postgresql/postgresql_test.txt.output
+tests/examplefiles/postscript/cells.ps
+tests/examplefiles/postscript/cells.ps.output
+tests/examplefiles/pot/de.MoinMoin.po
+tests/examplefiles/pot/de.MoinMoin.po.output
+tests/examplefiles/pov/sphere.pov
+tests/examplefiles/pov/sphere.pov.output
+tests/examplefiles/pov/while.pov
+tests/examplefiles/pov/while.pov.output
+tests/examplefiles/powershell/Get-CommandDefinitionHtml.ps1
+tests/examplefiles/powershell/Get-CommandDefinitionHtml.ps1.output
+tests/examplefiles/powershell/test.ps1
+tests/examplefiles/powershell/test.ps1.output
+tests/examplefiles/praat/example.praat
+tests/examplefiles/praat/example.praat.output
+tests/examplefiles/prolog/qsort.prolog
+tests/examplefiles/prolog/qsort.prolog.output
+tests/examplefiles/prolog/sibling.prolog
+tests/examplefiles/prolog/sibling.prolog.output
+tests/examplefiles/promql/example.promql
+tests/examplefiles/promql/example.promql.output
+tests/examplefiles/properties/java.properties
+tests/examplefiles/properties/java.properties.output
+tests/examplefiles/protobuf/addressbook.proto
+tests/examplefiles/protobuf/addressbook.proto.output
+tests/examplefiles/psql/psql_session.txt
+tests/examplefiles/psql/psql_session.txt.output
+tests/examplefiles/psysh/psysh_test.psysh
+tests/examplefiles/psysh/psysh_test.psysh.output
+tests/examplefiles/puppet/example.pp
+tests/examplefiles/puppet/example.pp.output
+tests/examplefiles/pycon/pycon_ctrlc_traceback
+tests/examplefiles/pycon/pycon_ctrlc_traceback.output
+tests/examplefiles/pycon/pycon_test.pycon
+tests/examplefiles/pycon/pycon_test.pycon.output
+tests/examplefiles/pypylog/test.pypylog
+tests/examplefiles/pypylog/test.pypylog.output
+tests/examplefiles/pypylog/test2.pypylog
+tests/examplefiles/pypylog/test2.pypylog.output
+tests/examplefiles/pytb/database.pytb
+tests/examplefiles/pytb/database.pytb.output
+tests/examplefiles/pytb/py3tb_test.py3tb
+tests/examplefiles/pytb/py3tb_test.py3tb.output
+tests/examplefiles/pytb/pytb_test2.pytb
+tests/examplefiles/pytb/pytb_test2.pytb.output
+tests/examplefiles/pytb/pytb_test3.pytb
+tests/examplefiles/pytb/pytb_test3.pytb.output
+tests/examplefiles/pytb/truncated.pytb
+tests/examplefiles/pytb/truncated.pytb.output
+tests/examplefiles/python/linecontinuation.py
+tests/examplefiles/python/linecontinuation.py.output
+tests/examplefiles/python/py3_test.txt
+tests/examplefiles/python/py3_test.txt.output
+tests/examplefiles/python/unicodedoc.py
+tests/examplefiles/python/unicodedoc.py.output
+tests/examplefiles/qbasic/qbasic_example
+tests/examplefiles/qbasic/qbasic_example.output
+tests/examplefiles/qml/minehunt.qml
+tests/examplefiles/qml/minehunt.qml.output
+tests/examplefiles/qvto/sample.qvto
+tests/examplefiles/qvto/sample.qvto.output
+tests/examplefiles/racket/example.rkt
+tests/examplefiles/racket/example.rkt.output
+tests/examplefiles/ragel-cpp/ragel-cpp_rlscan
+tests/examplefiles/ragel-cpp/ragel-cpp_rlscan.output
+tests/examplefiles/ragel-cpp/ragel-cpp_snippet
+tests/examplefiles/ragel-cpp/ragel-cpp_snippet.output
+tests/examplefiles/rb/condensed_ruby.rb
+tests/examplefiles/rb/condensed_ruby.rb.output
+tests/examplefiles/rb/example.rb
+tests/examplefiles/rb/example.rb.output
+tests/examplefiles/rb/fucked_up.rb
+tests/examplefiles/rb/fucked_up.rb.output
+tests/examplefiles/rb/hash_syntax.rb
+tests/examplefiles/rb/hash_syntax.rb.output
+tests/examplefiles/rb/multiline_regexes.rb
+tests/examplefiles/rb/multiline_regexes.rb.output
+tests/examplefiles/rb/pleac.in.rb
+tests/examplefiles/rb/pleac.in.rb.output
+tests/examplefiles/rb/ruby_func_def.rb
+tests/examplefiles/rb/ruby_func_def.rb.output
+tests/examplefiles/rb/test.rb
+tests/examplefiles/rb/test.rb.output
+tests/examplefiles/rbcon/irb_heredoc
+tests/examplefiles/rbcon/irb_heredoc.output
+tests/examplefiles/rconsole/r-console-transcript.Rout
+tests/examplefiles/rconsole/r-console-transcript.Rout.output
+tests/examplefiles/rd/example.Rd
+tests/examplefiles/rd/example.Rd.output
+tests/examplefiles/reason/test.re
+tests/examplefiles/reason/test.re.output
+tests/examplefiles/rebol/test.r3
+tests/examplefiles/rebol/test.r3.output
+tests/examplefiles/red/example.red
+tests/examplefiles/red/example.red.output
+tests/examplefiles/red/example.reds
+tests/examplefiles/red/example.reds.output
+tests/examplefiles/redcode/dwarf.cw
+tests/examplefiles/redcode/dwarf.cw.output
+tests/examplefiles/registry/example.reg
+tests/examplefiles/registry/example.reg.output
+tests/examplefiles/resource/resourcebundle_demo
+tests/examplefiles/resource/resourcebundle_demo.output
+tests/examplefiles/rexx/example.rexx
+tests/examplefiles/rexx/example.rexx.output
+tests/examplefiles/rhtml/example.rhtml
+tests/examplefiles/rhtml/example.rhtml.output
+tests/examplefiles/rhtml/test.rhtml
+tests/examplefiles/rhtml/test.rhtml.output
+tests/examplefiles/ride/auction.ride
+tests/examplefiles/ride/auction.ride.output
+tests/examplefiles/rnc/rnc_example.rnc
+tests/examplefiles/rnc/rnc_example.rnc.output
+tests/examplefiles/roboconf-graph/roboconf.graph
+tests/examplefiles/roboconf-graph/roboconf.graph.output
+tests/examplefiles/roboconf-instances/roboconf.instances
+tests/examplefiles/roboconf-instances/roboconf.instances.output
+tests/examplefiles/robotframework/robotframework_test.txt
+tests/examplefiles/robotframework/robotframework_test.txt.output
+tests/examplefiles/rql/rql-queries.rql
+tests/examplefiles/rql/rql-queries.rql.output
+tests/examplefiles/rsl/test.rsl
+tests/examplefiles/rsl/test.rsl.output
+tests/examplefiles/rst/functional.rst
+tests/examplefiles/rst/functional.rst.output
+tests/examplefiles/rst/jinjadesignerdoc.rst
+tests/examplefiles/rst/jinjadesignerdoc.rst.output
+tests/examplefiles/rts/example.rts
+tests/examplefiles/rts/example.rts.output
+tests/examplefiles/rust/eval.rs
+tests/examplefiles/rust/eval.rs.output
+tests/examplefiles/sc/example.scd
+tests/examplefiles/sc/example.scd.output
+tests/examplefiles/scala/Errors.scala
+tests/examplefiles/scala/Errors.scala.output
+tests/examplefiles/scala/char.scala
+tests/examplefiles/scala/char.scala.output
+tests/examplefiles/scala/interp.scala
+tests/examplefiles/scala/interp.scala.output
+tests/examplefiles/scaml/test.scaml
+tests/examplefiles/scaml/test.scaml.output
+tests/examplefiles/scdoc/scdoc_manual.scd
+tests/examplefiles/scdoc/scdoc_manual.scd.output
+tests/examplefiles/scheme/boot-9.scm
+tests/examplefiles/scheme/boot-9.scm.output
+tests/examplefiles/scheme/r6rs-comments.scm
+tests/examplefiles/scheme/r6rs-comments.scm.output
+tests/examplefiles/scilab/foo.sce
+tests/examplefiles/scilab/foo.sce.output
+tests/examplefiles/scilab/scilab.sci
+tests/examplefiles/scilab/scilab.sci.output
+tests/examplefiles/sgf/example.sgf
+tests/examplefiles/sgf/example.sgf.output
+tests/examplefiles/shen/test.shen
+tests/examplefiles/shen/test.shen.output
+tests/examplefiles/shexc/example.shex
+tests/examplefiles/shexc/example.shex.output
+tests/examplefiles/sieve/example.sieve
+tests/examplefiles/sieve/example.sieve.output
+tests/examplefiles/silver/test.sil
+tests/examplefiles/silver/test.sil.output
+tests/examplefiles/singularity/Singularity
+tests/examplefiles/singularity/Singularity.output
+tests/examplefiles/slim/example.slim
+tests/examplefiles/slim/example.slim.output
+tests/examplefiles/slurm/example.sl
+tests/examplefiles/slurm/example.sl.output
+tests/examplefiles/smali/hello.smali
+tests/examplefiles/smali/hello.smali.output
+tests/examplefiles/smalltalk/Object.st
+tests/examplefiles/smalltalk/Object.st.output
+tests/examplefiles/smarty/smarty_example.html
+tests/examplefiles/smarty/smarty_example.html.output
+tests/examplefiles/sml/example.sml
+tests/examplefiles/sml/example.sml.output
+tests/examplefiles/sml/intsyn.fun
+tests/examplefiles/sml/intsyn.fun.output
+tests/examplefiles/sml/intsyn.sig
+tests/examplefiles/sml/intsyn.sig.output
+tests/examplefiles/snobol/example.snobol
+tests/examplefiles/snobol/example.snobol.output
+tests/examplefiles/snowball/example.sbl
+tests/examplefiles/snowball/example.sbl.output
+tests/examplefiles/solidity/test.sol
+tests/examplefiles/solidity/test.sol.output
+tests/examplefiles/sourceslist/sources.list
+tests/examplefiles/sourceslist/sources.list.output
+tests/examplefiles/sp/hello.sp
+tests/examplefiles/sp/hello.sp.output
+tests/examplefiles/sparql/sparql.rq
+tests/examplefiles/sparql/sparql.rq.output
+tests/examplefiles/spec/phpMyAdmin.spec
+tests/examplefiles/spec/phpMyAdmin.spec.output
+tests/examplefiles/splus/test.R
+tests/examplefiles/splus/test.R.output
+tests/examplefiles/sqlite3/sqlite3.sqlite3-console
+tests/examplefiles/sqlite3/sqlite3.sqlite3-console.output
+tests/examplefiles/squidconf/squid.conf
+tests/examplefiles/squidconf/squid.conf.output
+tests/examplefiles/ssp/test.ssp
+tests/examplefiles/ssp/test.ssp.output
+tests/examplefiles/stan/example.stan
+tests/examplefiles/stan/example.stan.output
+tests/examplefiles/swift/test.swift
+tests/examplefiles/swift/test.swift.output
+tests/examplefiles/swig/swig_java.swg
+tests/examplefiles/swig/swig_java.swg.output
+tests/examplefiles/swig/swig_std_vector.i
+tests/examplefiles/swig/swig_std_vector.i.output
+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/tap/example.tap
+tests/examplefiles/tap/example.tap.output
+tests/examplefiles/tasm/example.tasm
+tests/examplefiles/tasm/example.tasm.output
+tests/examplefiles/tcsh/test.tcsh
+tests/examplefiles/tcsh/test.tcsh.output
+tests/examplefiles/tea/example.tea
+tests/examplefiles/tea/example.tea.output
+tests/examplefiles/termcap/termcap
+tests/examplefiles/termcap/termcap.output
+tests/examplefiles/terminfo/terminfo
+tests/examplefiles/terminfo/terminfo.output
+tests/examplefiles/terraform/example.tf
+tests/examplefiles/terraform/example.tf.output
+tests/examplefiles/text/mysql.txt
+tests/examplefiles/text/mysql.txt.output
+tests/examplefiles/thrift/demo.thrift
+tests/examplefiles/thrift/demo.thrift.output
+tests/examplefiles/tid/TiddlyWiki5.tid
+tests/examplefiles/tid/TiddlyWiki5.tid.output
+tests/examplefiles/tnt/example.tnt
+tests/examplefiles/tnt/example.tnt.output
+tests/examplefiles/todotxt/example.todotxt
+tests/examplefiles/todotxt/example.todotxt.output
+tests/examplefiles/toml/example.toml
+tests/examplefiles/toml/example.toml.output
+tests/examplefiles/trac-wiki/moin_SyntaxReference.txt
+tests/examplefiles/trac-wiki/moin_SyntaxReference.txt.output
+tests/examplefiles/treetop/metagrammar.treetop
+tests/examplefiles/treetop/metagrammar.treetop.output
+tests/examplefiles/ts/typescript_example
+tests/examplefiles/ts/typescript_example.output
+tests/examplefiles/tsql/tsql_example.sql
+tests/examplefiles/tsql/tsql_example.sql.output
+tests/examplefiles/ttl/teraterm.ttl
+tests/examplefiles/ttl/teraterm.ttl.output
+tests/examplefiles/turtle/example.ttl
+tests/examplefiles/turtle/example.ttl.output
+tests/examplefiles/twig/twig_test
+tests/examplefiles/twig/twig_test.output
+tests/examplefiles/typoscript/typoscript_example
+tests/examplefiles/typoscript/typoscript_example.output
+tests/examplefiles/ucode/example.u1
+tests/examplefiles/ucode/example.u1.output
+tests/examplefiles/unicon/example.icn
+tests/examplefiles/unicon/example.icn.output
+tests/examplefiles/urbiscript/example.u
+tests/examplefiles/urbiscript/example.u.output
+tests/examplefiles/usd/example.usd
+tests/examplefiles/usd/example.usd.output
+tests/examplefiles/vb.net/test.vb
+tests/examplefiles/vb.net/test.vb.output
+tests/examplefiles/vb.net/vbnet_test.bas
+tests/examplefiles/vb.net/vbnet_test.bas.output
+tests/examplefiles/vbscript/example.vbs
+tests/examplefiles/vbscript/example.vbs.output
+tests/examplefiles/vcl/varnish.vcl
+tests/examplefiles/vcl/varnish.vcl.output
+tests/examplefiles/vctreestatus/vctreestatus_hg
+tests/examplefiles/vctreestatus/vctreestatus_hg.output
+tests/examplefiles/verilog/example_coq.v
+tests/examplefiles/verilog/example_coq.v.output
+tests/examplefiles/vgl/example.rpf
+tests/examplefiles/vgl/example.rpf.output
+tests/examplefiles/vhdl/test.vhdl
+tests/examplefiles/vhdl/test.vhdl.output
+tests/examplefiles/vim/phpcomplete.vim
+tests/examplefiles/vim/phpcomplete.vim.output
+tests/examplefiles/vim/vimrc
+tests/examplefiles/vim/vimrc.output
+tests/examplefiles/wdiff/wdiff_example1.wdiff
+tests/examplefiles/wdiff/wdiff_example1.wdiff.output
+tests/examplefiles/wdiff/wdiff_example3.wdiff
+tests/examplefiles/wdiff/wdiff_example3.wdiff.output
+tests/examplefiles/webidl/example.webidl
+tests/examplefiles/webidl/example.webidl.output
+tests/examplefiles/whiley/example.whiley
+tests/examplefiles/whiley/example.whiley.output
+tests/examplefiles/x10/example.x10
+tests/examplefiles/x10/example.x10.output
+tests/examplefiles/xml/xml_example
+tests/examplefiles/xml/xml_example.output
+tests/examplefiles/xorg.conf/xorg.conf
+tests/examplefiles/xorg.conf/xorg.conf.output
+tests/examplefiles/xquery/test-3.0.xq
+tests/examplefiles/xquery/test-3.0.xq.output
+tests/examplefiles/xquery/test-exist-update.xq
+tests/examplefiles/xquery/test-exist-update.xq.output
+tests/examplefiles/xquery/test.xqy
+tests/examplefiles/xquery/test.xqy.output
+tests/examplefiles/xslt/test.xsl
+tests/examplefiles/xslt/test.xsl.output
+tests/examplefiles/xtend/example.xtend
+tests/examplefiles/xtend/example.xtend.output
+tests/examplefiles/xul+mozpreproc/demo.xul.in
+tests/examplefiles/xul+mozpreproc/demo.xul.in.output
+tests/examplefiles/yaml/example.yaml
+tests/examplefiles/yaml/example.yaml.output
+tests/examplefiles/yaml+jinja/example.sls
+tests/examplefiles/yaml+jinja/example.sls.output
+tests/examplefiles/yang/test.yang
+tests/examplefiles/yang/test.yang.output
+tests/examplefiles/zeek/test.bro
+tests/examplefiles/zeek/test.bro.output
+tests/examplefiles/zeek/test.zeek
+tests/examplefiles/zeek/test.zeek.output
+tests/examplefiles/zephir/test.zep
+tests/examplefiles/zephir/test.zep.output
+tests/examplefiles/zig/example.zig
+tests/examplefiles/zig/example.zig.output
 tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_anchor.html
 tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_noanchor.html
 tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_3_anchor.html
@@ -925,6 +1379,335 @@ tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor.h
 tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor.html
 tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor.html
 tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor.html
+tests/snippets/conftest.py
+tests/snippets/apacheconf/test_directive_no_args.txt
+tests/snippets/apacheconf/test_fix_lock_absolute_path.txt
+tests/snippets/apacheconf/test_include_globs.txt
+tests/snippets/apacheconf/test_malformed_scoped_directive_closing_tag.txt
+tests/snippets/apacheconf/test_multi_include_globs.txt
+tests/snippets/apacheconf/test_multi_include_globs_root.txt
+tests/snippets/apacheconf/test_multiline_argument.txt
+tests/snippets/apacheconf/test_multiline_comment.txt
+tests/snippets/apacheconf/test_normal_scoped_directive.txt
+tests/snippets/asm/test_cpuid.txt
+tests/snippets/bibtex/test_basic_bst.txt
+tests/snippets/bibtex/test_comment.txt
+tests/snippets/bibtex/test_entry.txt
+tests/snippets/bibtex/test_mismatched_brace.txt
+tests/snippets/bibtex/test_missing_body.txt
+tests/snippets/bibtex/test_preamble.txt
+tests/snippets/bibtex/test_string.txt
+tests/snippets/c/test_comment_end.txt
+tests/snippets/c/test_label.txt
+tests/snippets/c/test_label_followed_by_statement.txt
+tests/snippets/c/test_label_space_before_colon.txt
+tests/snippets/c/test_numbers.txt
+tests/snippets/c/test_preproc_file.txt
+tests/snippets/c/test_preproc_file2.txt
+tests/snippets/c/test_switch.txt
+tests/snippets/c/test_switch_space_before_colon.txt
+tests/snippets/cfm/test_basic_comment.txt
+tests/snippets/cfm/test_nested_comment.txt
+tests/snippets/coffeescript/test_beware_infinite_loop.txt
+tests/snippets/coffeescript/test_mixed_slashes.txt
+tests/snippets/console/fake_ps2_prompt.txt
+tests/snippets/console/prompt_in_output.txt
+tests/snippets/console/ps2_prompt.txt
+tests/snippets/console/test_comment_after_prompt.txt
+tests/snippets/console/test_newline_in_echo.txt
+tests/snippets/console/test_newline_in_ls.txt
+tests/snippets/console/test_virtualenv.txt
+tests/snippets/coq/test_unicode.txt
+tests/snippets/cpp/test_good_comment.txt
+tests/snippets/cpp/test_open_comment.txt
+tests/snippets/crystal/test_annotation.txt
+tests/snippets/crystal/test_array_access.txt
+tests/snippets/crystal/test_chars.txt
+tests/snippets/crystal/test_constant_and_module.txt
+tests/snippets/crystal/test_escaped_bracestring.txt
+tests/snippets/crystal/test_escaped_interpolation.txt
+tests/snippets/crystal/test_interpolation_nested_curly.txt
+tests/snippets/crystal/test_lib.txt
+tests/snippets/crystal/test_macro.txt
+tests/snippets/crystal/test_operator_methods.txt
+tests/snippets/crystal/test_percent_strings.txt
+tests/snippets/crystal/test_percent_strings_special.txt
+tests/snippets/crystal/test_pseudo_builtins.txt
+tests/snippets/crystal/test_pseudo_keywords.txt
+tests/snippets/crystal/test_range_syntax1.txt
+tests/snippets/crystal/test_range_syntax2.txt
+tests/snippets/csound/test_braced_strings.txt
+tests/snippets/csound/test_comments.txt
+tests/snippets/csound/test_escape_sequences.txt
+tests/snippets/csound/test_function_like_macro_definitions.txt
+tests/snippets/csound/test_function_like_macros.txt
+tests/snippets/csound/test_global_value_identifiers.txt
+tests/snippets/csound/test_goto_statements.txt
+tests/snippets/csound/test_include_directives.txt
+tests/snippets/csound/test_includestr_directives.txt
+tests/snippets/csound/test_instrument_blocks.txt
+tests/snippets/csound/test_keywords.txt
+tests/snippets/csound/test_labels.txt
+tests/snippets/csound/test_macro_preprocessor_directives.txt
+tests/snippets/csound/test_name.txt
+tests/snippets/csound/test_numbers.txt
+tests/snippets/csound/test_object_like_macro_definitions.txt
+tests/snippets/csound/test_operators.txt
+tests/snippets/csound/test_other_preprocessor_directives.txt
+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/ezhil/test_function.txt
+tests/snippets/ezhil/test_gcd_expr.txt
+tests/snippets/ezhil/test_if_statement.txt
+tests/snippets/ezhil/test_sum.txt
+tests/snippets/gas/test_comments.txt
+tests/snippets/gdscript/test_comment.txt
+tests/snippets/gdscript/test_export_array.txt
+tests/snippets/gdscript/test_function_with_types.txt
+tests/snippets/gdscript/test_inner_class.txt
+tests/snippets/gdscript/test_multiline_string.txt
+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/http/test_application_calendar_xml.txt
+tests/snippets/http/test_application_xml.txt
+tests/snippets/http/test_http_status_line.txt
+tests/snippets/http/test_http_status_line_without_reason_phrase.txt
+tests/snippets/http/test_http_status_line_without_reason_phrase_rfc_7230.txt
+tests/snippets/idris/test_compiler_directive.txt
+tests/snippets/idris/test_reserved_word.txt
+tests/snippets/ini/test_indented_entries_1.txt
+tests/snippets/ini/test_indented_entries_2.txt
+tests/snippets/ini/test_indented_entries_3.txt
+tests/snippets/j/test_deal_operator.txt
+tests/snippets/j/test_deal_operator_fixed_seed.txt
+tests/snippets/java/test_enhanced_for.txt
+tests/snippets/java/test_numeric_literals.txt
+tests/snippets/json/test_basic.txt
+tests/snippets/json/test_basic_bare.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/less/test_single_line_comments.txt
+tests/snippets/mason/test_handles_tags_correctly.txt
+tests/snippets/matlab/test_classes_with_properties.txt
+tests/snippets/matlab/test_command_mode.txt
+tests/snippets/matlab/test_comment_after_continuation.txt
+tests/snippets/matlab/test_dot_operator.txt
+tests/snippets/matlab/test_keywords_ended_by_newline.txt
+tests/snippets/matlab/test_line_continuation.txt
+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/md/test_bold_fenced_by_asterisk.txt
+tests/snippets/md/test_bold_fenced_by_underscore.txt
+tests/snippets/md/test_bulleted_list_1.txt
+tests/snippets/md/test_bulleted_list_2.txt
+tests/snippets/md/test_bulleted_list_3.txt
+tests/snippets/md/test_bulleted_list_4.txt
+tests/snippets/md/test_code_block_fenced_by_backticks.txt
+tests/snippets/md/test_code_block_with_language.txt
+tests/snippets/md/test_escape_italics.txt
+tests/snippets/md/test_inline_code.txt
+tests/snippets/md/test_inline_code_after_block.txt
+tests/snippets/md/test_inline_code_in_list.txt
+tests/snippets/md/test_invalid_bold.txt
+tests/snippets/md/test_invalid_italics.txt
+tests/snippets/md/test_italics_and_bold.txt
+tests/snippets/md/test_italics_fenced_by_asterisk.txt
+tests/snippets/md/test_italics_fenced_by_underscore.txt
+tests/snippets/md/test_italics_no_multiline.txt
+tests/snippets/md/test_links.txt
+tests/snippets/md/test_mentions.txt
+tests/snippets/md/test_numbered_list.txt
+tests/snippets/md/test_quote.txt
+tests/snippets/md/test_reference_style_links.txt
+tests/snippets/md/test_strikethrough.txt
+tests/snippets/md/test_task_list.txt
+tests/snippets/md/test_topics.txt
+tests/snippets/objectivec/test_literal_number_bool.txt
+tests/snippets/objectivec/test_literal_number_bool_expression.txt
+tests/snippets/objectivec/test_literal_number_expression.txt
+tests/snippets/objectivec/test_literal_number_int.txt
+tests/snippets/objectivec/test_literal_number_nested_expression.txt
+tests/snippets/objectivec/test_module_import.txt
+tests/snippets/peg/test_basic.txt
+tests/snippets/peg/test_modified_strings.txt
+tests/snippets/peg/test_operators.txt
+tests/snippets/php/test_string_escaping_run.txt
+tests/snippets/powershell/test_remoting_session.txt
+tests/snippets/powershell/test_session.txt
+tests/snippets/praat/test_broken_unquoted_string.txt
+tests/snippets/praat/test_function_call.txt
+tests/snippets/praat/test_inline_if.txt
+tests/snippets/praat/test_interpolated_indexed_numeric_with_precision.txt
+tests/snippets/praat/test_interpolated_local_numeric_with_precision.txt
+tests/snippets/praat/test_interpolated_numeric_hash.txt
+tests/snippets/praat/test_interpolated_numeric_indexed.txt
+tests/snippets/praat/test_interpolated_numeric_with_precision.txt
+tests/snippets/praat/test_interpolated_string_hash.txt
+tests/snippets/praat/test_interpolated_string_indexed.txt
+tests/snippets/praat/test_interpolation_boundary.txt
+tests/snippets/praat/test_numeric_assignment.txt
+tests/snippets/praat/test_string_assignment.txt
+tests/snippets/praat/test_string_escaped_quotes.txt
+tests/snippets/promql/test_expression_and_comment.txt
+tests/snippets/promql/test_function_delta.txt
+tests/snippets/promql/test_function_multi_line.txt
+tests/snippets/promql/test_function_multi_line_with_offset.txt
+tests/snippets/promql/test_function_sum_with_args.txt
+tests/snippets/promql/test_metric.txt
+tests/snippets/promql/test_metric_multiple_labels.txt
+tests/snippets/promql/test_metric_multiple_labels_with_spaces.txt
+tests/snippets/promql/test_metric_one_label.txt
+tests/snippets/properties/test_comments.txt
+tests/snippets/properties/test_escaped_space_in_key.txt
+tests/snippets/properties/test_escaped_space_in_value.txt
+tests/snippets/properties/test_just_key.txt
+tests/snippets/properties/test_just_key_with_space.txt
+tests/snippets/properties/test_leading_whitespace_comments.txt
+tests/snippets/properties/test_space_delimited_kv_pair.txt
+tests/snippets/python/test_fstring_01a.txt
+tests/snippets/python/test_fstring_01b.txt
+tests/snippets/python/test_fstring_02a.txt
+tests/snippets/python/test_fstring_02b.txt
+tests/snippets/python/test_fstring_03a.txt
+tests/snippets/python/test_fstring_03b.txt
+tests/snippets/python/test_fstring_04a.txt
+tests/snippets/python/test_fstring_04b.txt
+tests/snippets/python/test_fstring_05a.txt
+tests/snippets/python/test_fstring_05b.txt
+tests/snippets/python/test_fstring_06a.txt
+tests/snippets/python/test_fstring_06b.txt
+tests/snippets/python/test_fstring_07a.txt
+tests/snippets/python/test_fstring_07b.txt
+tests/snippets/python/test_fstring_08a.txt
+tests/snippets/python/test_fstring_08b.txt
+tests/snippets/python/test_fstring_09a.txt
+tests/snippets/python/test_fstring_09b.txt
+tests/snippets/python/test_fstring_10a.txt
+tests/snippets/python/test_fstring_10b.txt
+tests/snippets/python/test_fstring_11a.txt
+tests/snippets/python/test_fstring_11b.txt
+tests/snippets/python/test_fstring_12a.txt
+tests/snippets/python/test_fstring_12b.txt
+tests/snippets/python/test_fstring_13a.txt
+tests/snippets/python/test_fstring_13b.txt
+tests/snippets/python/test_fstring_14a.txt
+tests/snippets/python/test_fstring_14b.txt
+tests/snippets/python/test_fstring_15a.txt
+tests/snippets/python/test_fstring_15b.txt
+tests/snippets/python/test_fstring_16a.txt
+tests/snippets/python/test_fstring_16b.txt
+tests/snippets/python/test_fstring_17a.txt
+tests/snippets/python/test_fstring_17b.txt
+tests/snippets/python/test_fstring_18a.txt
+tests/snippets/python/test_fstring_18b.txt
+tests/snippets/python/test_fstring_19a.txt
+tests/snippets/python/test_fstring_19b.txt
+tests/snippets/python/test_fstring_20a.txt
+tests/snippets/python/test_fstring_20b.txt
+tests/snippets/python/test_fstring_21a.txt
+tests/snippets/python/test_fstring_21b.txt
+tests/snippets/python/test_fstring_22a.txt
+tests/snippets/python/test_fstring_22b.txt
+tests/snippets/python/test_fstring_23a.txt
+tests/snippets/python/test_fstring_23b.txt
+tests/snippets/python/test_fstring_24a.txt
+tests/snippets/python/test_fstring_24b.txt
+tests/snippets/python/test_fstring_25a.txt
+tests/snippets/python/test_fstring_25b.txt
+tests/snippets/python/test_fstring_26a.txt
+tests/snippets/python/test_fstring_26b.txt
+tests/snippets/python/test_fstring_27a.txt
+tests/snippets/python/test_fstring_27b.txt
+tests/snippets/python/test_fstring_28a.txt
+tests/snippets/python/test_fstring_28b.txt
+tests/snippets/python/test_fstring_29a.txt
+tests/snippets/python/test_fstring_29b.txt
+tests/snippets/python/test_fstring_30a.txt
+tests/snippets/python/test_fstring_30b.txt
+tests/snippets/python/test_fstring_31a.txt
+tests/snippets/python/test_fstring_31b.txt
+tests/snippets/python/test_fstring_32a.txt
+tests/snippets/python/test_fstring_32b.txt
+tests/snippets/python/test_fstring_33a.txt
+tests/snippets/python/test_fstring_33b.txt
+tests/snippets/python/test_fstring_34a.txt
+tests/snippets/python/test_fstring_34b.txt
+tests/snippets/python/test_fstring_35a.txt
+tests/snippets/python/test_fstring_35b.txt
+tests/snippets/python/test_fstring_36a.txt
+tests/snippets/python/test_fstring_36b.txt
+tests/snippets/python/test_needs_name.txt
+tests/snippets/python/test_pep_515.txt
+tests/snippets/python/test_raw_fstring.txt
+tests/snippets/python/test_walrus_operator.txt
+tests/snippets/python2/test_cls_builtin.txt
+tests/snippets/qbasic/test_keywords_with_dollar.txt
+tests/snippets/r/test_call.txt
+tests/snippets/r/test_custom_operator.txt
+tests/snippets/r/test_dot_indexing.txt
+tests/snippets/r/test_dot_name.txt
+tests/snippets/r/test_indexing.txt
+tests/snippets/r/test_name1.txt
+tests/snippets/r/test_name2.txt
+tests/snippets/r/test_name3.txt
+tests/snippets/ruby/test_escaped_bracestring.txt
+tests/snippets/ruby/test_interpolation_nested_curly.txt
+tests/snippets/ruby/test_operator_methods.txt
+tests/snippets/ruby/test_range_syntax1.txt
+tests/snippets/ruby/test_range_syntax2.txt
+tests/snippets/ruby/test_range_syntax3.txt
+tests/snippets/shell/test_array_nums.txt
+tests/snippets/shell/test_curly_no_escape_and_quotes.txt
+tests/snippets/shell/test_curly_with_escape.txt
+tests/snippets/shell/test_end_of_line_nums.txt
+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/systemverilog/test_basic.txt
+tests/snippets/systemverilog/test_classes.txt
+tests/snippets/systemverilog/test_numbers.txt
+tests/snippets/systemverilog/test_operators.txt
+tests/snippets/turtle/test_prefixed_name_starting_with_number.txt
+tests/snippets/typescript/test_function_definition.txt
+tests/snippets/usd/test_attribute.txt
+tests/snippets/usd/test_composition_arcs.txt
+tests/snippets/usd/test_metadata.txt
+tests/snippets/usd/test_numbers.txt
+tests/snippets/usd/test_outer_match_at_sign.txt
+tests/snippets/usd/test_outer_match_double.txt
+tests/snippets/usd/test_outer_match_single.txt
+tests/snippets/usd/test_string_multiple_line.txt
+tests/snippets/usd/test_string_priority.txt
+tests/snippets/usd/test_string_single_line.txt
+tests/snippets/vbscript/test_floats.txt
+tests/snippets/vbscript/test_floats_multiple.txt
+tests/snippets/vbscript/test_integers.txt
+tests/snippets/vbscript/test_invalid_character.txt
+tests/snippets/vbscript/test_names.txt
+tests/snippets/vbscript/test_reject_almost_float.txt
+tests/snippets/vbscript/test_unterminated_string.txt
+tests/snippets/whiley/test_whiley_operator.txt
+tests/snippets/yaml/test_yaml.txt
+tests/snippets/yang/test_float_value.txt
+tests/snippets/yang/test_integer_value.txt
+tests/snippets/yang/test_namespace_1.txt
+tests/snippets/yang/test_namespace_2.txt
+tests/snippets/yang/test_revision_date.txt
+tests/snippets/yang/test_string_value.txt
 tests/support/empty.py
 tests/support/html_formatter.py
 tests/support/python_lexer.py
diff --git a/doc/conf.py b/doc/conf.py
index f4d7484..3676065 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 #
 # Pygments documentation build configuration file
 #
diff --git a/doc/docs/lexerdevelopment.rst b/doc/docs/lexerdevelopment.rst
index 824e0c5..73ba2f9 100644
--- a/doc/docs/lexerdevelopment.rst
+++ b/doc/docs/lexerdevelopment.rst
@@ -167,16 +167,18 @@ Finally the lexer can be made publicly known by rebuilding the lexer mapping:
 
     $ make mapfiles
 
-To test the new lexer, store an example file with the proper extension in
-``tests/examplefiles``.  For example, to test your ``DiffLexer``, add a
-``tests/examplefiles/example.diff`` containing a sample diff output.
+To test the new lexer, store an example file in
+``tests/examplefiles/``.  For example, to test your
+``DiffLexer``, add a ``tests/examplefiles/diff/example.diff`` containing a
+sample diff output.  To (re)generate the lexer output which the file is checked
+against, use the command ``pytest tests/examplefiles/diff --update-goldens``.
 
 Now you can use ``python -m pygments`` from the current root of the checkout to
 render your example to HTML:
 
 .. code-block:: console
 
-    $ python -m pygments -O full -f html -o /tmp/example.html tests/examplefiles/example.diff
+    $ python -m pygments -O full -f html -o /tmp/example.html tests/examplefiles/diff/example.diff
 
 Note that this explicitly calls the ``pygments`` module in the current
 directory. This ensures your modifications are used. Otherwise a possibly
diff --git a/doc/languages.rst b/doc/languages.rst
index 34cb95e..f9adb90 100644
--- a/doc/languages.rst
+++ b/doc/languages.rst
@@ -51,6 +51,7 @@ Programming languages
 * `Dart `_
 * DCPU-16
 * `Delphi `_
+* `DOT / Graphviz ` _
 * `Devicetree `_
 * `Dylan `_ (incl. console)
 * `Eiffel `_
@@ -219,6 +220,7 @@ Other markup
 * BBCode
 * CapDL
 * `Cap'n Proto `_
+* `CDDL `_
 * CMake
 * `Csound `_ scores
 * CSS
diff --git a/doc/pygmentize.1 b/doc/pygmentize.1
index 71bb6f9..5ac8fe6 100644
--- a/doc/pygmentize.1
+++ b/doc/pygmentize.1
@@ -1,11 +1,11 @@
-.TH PYGMENTIZE 1 "February 15, 2007"
+.TH PYGMENTIZE 1 "January 20, 2021"
 
 .SH NAME
 pygmentize \- highlights the input file
 
 .SH SYNOPSIS
 .B \fBpygmentize\fP
-.RI  [-l\ \fI\fP]\ [-F\ \fI\fP[:\fI\fP]]\ [-f\ \fI\fP]
+.RI  [-l\ \fI\fP\ |\ -g]\ [-F\ \fI\fP[:\fI\fP]]\ [-f\ \fI\fP]
 .RI  [-O\ \fI\fP]\ [-P\ \fI\fP]\ [-o\ \fI\fP]\ [\fI\fP]
 .br
 .B \fBpygmentize\fP
@@ -15,6 +15,12 @@ pygmentize \- highlights the input file
 .RI -L\ [\fI\fP\ ...]
 .br
 .B \fBpygmentize\fP
+.RI -N\ \fI\fP
+.br
+.B \fBpygmentize\fP
+.RI -C
+.br
+.B \fBpygmentize\fP
 .RI -H\ \fI\fP\ \fI\fP
 .br
 .B \fBpygmentize\fP
@@ -42,6 +48,10 @@ A summary of options is included below.
 Set the lexer name. If not given, the lexer is guessed from the extension of the
 input file name (this obviously doesn't work if the input is stdin).
 .TP
+.B \-g
+Attempt to guess the lexer from the file contents, or pass through as plain text
+if this fails (this option works for highlighting standard input).
+.TP
 .B \-F \fI\fP[:\fI\fP]
 Add a filter to the token stream. You can give options in the same way as for
 -O after a colon (note: there must not be spaces around the colon).
@@ -76,6 +86,14 @@ is formatter dependent and can be found in the documentation.
 List lexers, formatters, styles or filters. Set \fI\fP to the thing you want
 to list (e.g. "styles"), or omit it to list everything.
 .TP
+.B \-N \fI\fP
+Guess and print out a lexer name based solely on the given filename.  Does not
+take input or highlight anything.  If no specific lexer can be found, "text"
+is printed.
+.TP
+.B \-C
+Like \fI-N\fP, but guess a lexer based on content read from standard input.
+.TP
 .B \-H \fI\fP \fI\fP
 Print detailed help for the object \fI\fP of type \fI\fP, where \fI\fP is one
 of "lexer", "formatter" or "filter".
diff --git a/external/markdown-processor.py b/external/markdown-processor.py
index 8d1afbb..eaf913e 100644
--- a/external/markdown-processor.py
+++ b/external/markdown-processor.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 """
     The Pygments Markdown Preprocessor
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/external/moin-parser.py b/external/moin-parser.py
index b8d62f4..9fcba80 100644
--- a/external/moin-parser.py
+++ b/external/moin-parser.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 """
     The Pygments MoinMoin Parser
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/external/rst-directive.py b/external/rst-directive.py
index 9046256..a82ecfa 100644
--- a/external/rst-directive.py
+++ b/external/rst-directive.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 """
     The Pygments reStructuredText directive
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/pygments/__init__.py b/pygments/__init__.py
index 8652335..199ce1b 100644
--- a/pygments/__init__.py
+++ b/pygments/__init__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 """
     Pygments
     ~~~~~~~~
@@ -28,7 +27,7 @@
 import sys
 from io import StringIO, BytesIO
 
-__version__ = '2.7.4'
+__version__ = '2.8.0'
 __docformat__ = 'restructuredtext'
 
 __all__ = ['lex', 'format', 'highlight']
diff --git a/pygments/__main__.py b/pygments/__main__.py
index 3368bdf..c6e2517 100644
--- a/pygments/__main__.py
+++ b/pygments/__main__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 """
     pygments.__main__
     ~~~~~~~~~~~~~~~~~
diff --git a/pygments/cmdline.py b/pygments/cmdline.py
index 6a8a307..db6de0c 100644
--- a/pygments/cmdline.py
+++ b/pygments/cmdline.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 """
     pygments.cmdline
     ~~~~~~~~~~~~~~~~
@@ -11,7 +10,8 @@
 
 import os
 import sys
-import getopt
+import shutil
+import argparse
 from textwrap import dedent
 
 from pygments import __version__, highlight
@@ -30,84 +30,6 @@ from pygments.filters import get_all_filters, find_filter_class
 from pygments.styles import get_all_styles, get_style_by_name
 
 
-USAGE = """\
-Usage: %s [-l  | -g] [-F [:]] [-f ]
-          [-O ] [-P ] [-s] [-v] [-x] [-o ] []
-
-       %s -S '    Literal.String
+'\n'          Text
+
+'\n'          Text
+
+'!'           Generic.Heading
+'Main Header\n' Text
+
+'\n'          Text
+
+'Available'   Text
+' '           Text
+'character'   Text
+' '           Text
+'formatting'  Text
+' '           Text
+'includes'    Text
+':'           Text
+'\n'          Text
+
+'\n'          Text
+
+'*'           Keyword
+' '           Text
+''      Name.Tag
+'`'       Literal.String.Regex
+'backticks'   Text
+'`'       Literal.String.Regex
+''     Name.Tag
+' '           Text
+'for'         Text
+' '           Text
+'`code`'      Literal.String.Backtick
+'\n'          Text
+
+'**'          Keyword
+' '           Text
+'Alternatively' Text
+','           Text
+' '           Text
+''      Name.Tag
+'`'       Literal.String.Regex
+'`'       Literal.String.Regex
+'double'      Text
+' '           Text
+'backticks'   Text
+' '           Text
+'allows'      Text
+' '           Text
+'`'       Literal.String.Regex
+'embedded'    Text
+'`'       Literal.String.Regex
+' '           Text
+'backticks'   Text
+'`'       Literal.String.Regex
+'`'       Literal.String.Regex
+''     Name.Tag
+'\n'          Text
+
+' '           Text
+'*'           Keyword
+' '           Text
+"`''bold''`"  Literal.String.Backtick
+' '           Text
+'for'         Text
+' '           Text
+"''bold text''" Generic.Strong
+'\n'          Text
+
+'*'           Keyword
+'`//italic//`' Literal.String.Backtick
+' '           Text
+'for'         Text
+' '           Text
+'//italic text//' Generic.Emph
+' '           Text
+'('           Text
+'{{'          Text
+'$:/core/images/italic' Name.Tag
+'}}'          Text
+')'           Text
+'\n'          Text
+
+'*#'          Keyword
+' '           Text
+'`__underscore__`' Literal.String.Backtick
+' '           Text
+'for'         Text
+' '           Text
+'__underscored text__' Generic.Strong
+'\n'          Text
+
+'\n'          Text
+
+'Ordered'     Text
+' '           Text
+'list'        Text
+':'           Text
+'\n'          Text
+
+'\n'          Text
+
+'#'           Keyword
+' '           Text
+'`^^superscript^^`' Literal.String.Backtick
+' '           Text
+'for'         Text
+' '           Text
+'^^superscripted^^' Generic.Emph
+' '           Text
+'text'        Text
+' '           Text
+'('           Text
+'{{'          Text
+'$:/core/images/superscript' Name.Tag
+'}}'          Text
+')'           Text
+'\n'          Text
+
+'#'           Keyword
+' '           Text
+'`,,subscript,,`' Literal.String.Backtick
+' '           Text
+'for'         Text
+' '           Text
+',,subscripted,,' Generic.Emph
+' '           Text
+'text'        Text
+' '           Text
+'('           Text
+'{{'          Text
+'$:/core/images/subscript' Name.Tag
+'}}'          Text
+')'           Text
+'\n'          Text
+
+'#*'          Keyword
+' '           Text
+'`~~strikethrough~~`' Literal.String.Backtick
+' '           Text
+'for'         Text
+' '           Text
+'~~strikethrough~~' Generic.Deleted
+' '           Text
+'text'        Text
+' '           Text
+'('           Text
+'{{'          Text
+'$:/core/images/strikethrough' Name.Tag
+'}}'          Text
+')'           Text
+'\n'          Text
+
+'\n'          Text
+
+'' Name.Tag
+"'"           Text
+"'"           Text
+'bold'        Text
+"'"           Text
+"'"           Text
+' '           Text
+'`'       Literal.String.Regex
+'&'       Literal.String.Regex
+''     Name.Tag
+'\n'          Text
+
+'\n'          Text
+
+'!!'          Generic.Subheading
+'Links\n'     Text
+
+'\n'          Text
+
+'Internal'    Text
+' '           Text
+'link'        Text
+':'           Text
+' '           Text
+'[['          Text
+'Code Blocks in WikiText' Name.Tag
+']]'          Text
+'\n'          Text
+
+'\n'          Text
+
+'External'    Text
+' '           Text
+'link'        Text
+':'           Text
+' '           Text
+'[['          Text
+'TiddlyWiki Homepage' Name.Tag
+'|'           Text
+'https://tiddlywiki.com' Name.Attribute
+']]'          Text
+'\n'          Text
+
+'\n'          Text
+
+'Image'       Text
+' '           Text
+'via'         Text
+' '           Text
+'transclusion' Text
+':'           Text
+' '           Text
+'{{'          Text
+'$:/core/images/underline' Name.Tag
+'}}'          Text
+'\n'          Text
+
+'\n'          Text
+
+'Just'        Text
+' '           Text
+'a'           Text
+' '           Text
+'link'        Text
+':'           Text
+' '           Text
+'ftp://ftp.halifax.rwth-aachen.de/' Name.Attribute
+'\n'          Text
+
+'\n'          Text
+
+'!!!'         Generic.Subheading
+'Code\n'      Text
+
+'\n'          Text
+
+'```'         Literal.String
+'bash'        Literal.String
+'\n'          Text
+
+'cd'          Name.Builtin
+' '           Text
+'"'           Literal.String.Double
+'$HOME'       Name.Variable
+'/workspace'  Literal.String.Double
+'"'           Literal.String.Double
+'\n'          Text
+
+'```'         Literal.String
+'\n'          Text
+
+'\n'          Text
+
+'!!!'         Generic.Subheading
+'Table\n'     Text
+
+'\n'          Text
+
+'|myclass anotherClass|k' Name.Tag
+'\n'          Text
+
+'|This is a caption |c' Generic.Emph
+'\n'          Text
+
+'|Header|Header|h' Generic.Strong
+'\n'          Text
+
+'|'           Text
+"'"           Text
+"'"           Text
+'Cell1'       Text
+"'"           Text
+"'"           Text
+' '           Text
+'|'           Text
+'<>'     Name.Tag
+' '           Text
+'|'           Text
+'\n'          Text
+
+'|'           Text
+'/'           Text
+'/'           Text
+'Cell2'       Text
+'/'           Text
+'/'           Text
+' '           Text
+'|'           Text
+'<>'     Name.Tag
+' '           Text
+'|'           Text
+'\n'          Text
+
+'|Footer|Footer|f' Generic.Emph
+'\n'          Text
+
+'\n'          Text
+
+'!'           Generic.Heading
+'Block quote\n' Text
+
+'\n'          Text
+
+'<<<\n'       Literal.String
+
+'Computers are like a bicycle for our minds\n' Text
+
+'<<< Steve Jobs' Literal.String
+'\n'          Text
+
+'\n'          Text
+
+'; Term being defined' Generic.Strong
+'\n'          Text
+
+':'           Text
+' '           Text
+'Definition'  Text
+' '           Text
+'of'          Text
+' '           Text
+'that'        Text
+' '           Text
+'term'        Text
+'\n'          Text
diff --git a/tests/examplefiles/example.tnt b/tests/examplefiles/tnt/example.tnt
similarity index 100%
rename from tests/examplefiles/example.tnt
rename to tests/examplefiles/tnt/example.tnt
diff --git a/tests/examplefiles/tnt/example.tnt.output b/tests/examplefiles/tnt/example.tnt.output
new file mode 100644
index 0000000..56f3d18
--- /dev/null
+++ b/tests/examplefiles/tnt/example.tnt.output
@@ -0,0 +1,1470 @@
+'101'         Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'a'           Name.Variable
+':'           Punctuation
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'a'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'a'           Name.Variable
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'axiom '      Keyword
+'3'           Literal.Number.Integer
+'\n'          Text
+
+'102'         Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'103'         Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'104'         Literal.Number.Integer
+' '           Text
+'['           Keyword
+'\t\t\t'      Text
+'push'        Keyword
+'\n'          Text
+
+'105'         Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'b'           Name.Variable
+'\t\t'        Text
+'premise'     Keyword
+'\n'          Text
+
+'106'         Literal.Number.Integer
+'\t'          Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+'\t'          Text
+'add S'       Keyword
+'\n'          Text
+
+'107'         Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'carry over line ' Keyword
+'103'         Literal.Number.Integer
+'\n'          Text
+
+'108'         Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+'\t'          Text
+'transitivity' Keyword
+'\n'          Text
+
+'109'         Literal.Number.Integer
+' '           Text
+']'           Keyword
+'\t\t\t'      Text
+'pop'         Keyword
+'\n'          Text
+
+'110'         Literal.Number.Integer
+' '           Text
+'<'           Punctuation
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'b'           Name.Variable
+']'           Operator
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+'>'           Punctuation
+'\t\t'        Text
+'fantasy rule' Keyword
+'\n'          Text
+
+'111'         Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'<'           Punctuation
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'b'           Name.Variable
+']'           Operator
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+'>'           Punctuation
+'\t'          Text
+'generalization' Keyword
+'\n'          Text
+
+'112'         Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'a'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'a'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'a'           Name.Variable
+'\t\t'        Text
+'axiom '      Keyword
+'2'           Literal.Number.Integer
+'\n'          Text
+
+'113'         Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'0'           Literal.Number.Integer
+'\t\t'        Text
+'specification' Keyword
+'\n'          Text
+
+'114'         Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'b'           Name.Variable
+'\t\t'        Text
+'induction'   Keyword
+' '           Text
+'('           Punctuation
+'lines '      Text
+'111, 113'    Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'115'         Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'a'           Name.Variable
+')'           Punctuation
+'='           Operator
+'a'           Name.Variable
+'\t\t'        Text
+'specification' Keyword
+'\n'          Text
+
+'116'         Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'a'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'a'           Name.Variable
+')'           Punctuation
+'='           Operator
+'a'           Name.Variable
+'\t\t'        Text
+'generalization' Keyword
+'\n\n'        Text
+
+'01'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'a'           Name.Variable
+':'           Punctuation
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'a'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'a'           Name.Variable
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'axiom '      Keyword
+'3'           Literal.Number.Integer
+'\n'          Text
+
+'02'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'03'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'SS'          Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'04'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+' '           Text
+'('           Punctuation
+'line '       Text
+'01'          Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'05'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'06'          Literal.Number.Integer
+' '           Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'symmetry'    Keyword
+'\n'          Text
+
+'07'          Literal.Number.Integer
+' '           Text
+'['           Keyword
+'\t\t\t'      Text
+'push'        Keyword
+'\n'          Text
+
+'08'          Literal.Number.Integer
+' \t'         Text
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'premise'     Keyword
+'\n'          Text
+
+'09'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'specification' Keyword
+'\n'          Text
+
+'10'          Literal.Number.Integer
+'\t'          Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'add S'       Keyword
+'\n'          Text
+
+'11'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'SS'          Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+' \t'         Text
+'carry over ' Keyword
+'03'          Literal.Number.Integer
+'\n'          Text
+
+'12'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'SS'          Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'transitivity' Keyword
+'\n'          Text
+
+'13'          Literal.Number.Integer
+'\t'          Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'carry over ' Keyword
+'06'          Literal.Number.Integer
+'\n'          Text
+
+'14'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'SS'          Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'transitivity' Keyword
+'\n'          Text
+
+'15'          Literal.Number.Integer
+'\t'          Text
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'SS'          Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'generalization' Keyword
+'\n'          Text
+
+'16'          Literal.Number.Integer
+' '           Text
+']'           Keyword
+'\t\t\t'      Text
+'pop'         Keyword
+'\n'          Text
+
+'17'          Literal.Number.Integer
+' '           Text
+'<'           Punctuation
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+']'           Operator
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'SS'          Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'>'           Punctuation
+'\t'          Text
+'fantasy rule' Keyword
+'\n'          Text
+
+'18'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'<'           Punctuation
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+']'           Operator
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'SS'          Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'>'           Punctuation
+'\t'          Text
+'generalization' Keyword
+'\n'          Text
+
+'19'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+' '           Text
+'('           Punctuation
+'line '       Text
+'02'          Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'20'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'a'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'a'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'a'           Name.Variable
+'\t\t'        Text
+'axiom '      Keyword
+'1'           Literal.Number.Integer
+'\n'          Text
+
+'21'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'d'           Name.Variable
+'\t\t'        Text
+'specification' Keyword
+'\n'          Text
+
+'22'          Literal.Number.Integer
+' '           Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'\t\t'        Text
+'add S'       Keyword
+'\n'          Text
+
+'23'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'\t\t'        Text
+'transitivity' Keyword
+' '           Text
+'('           Punctuation
+'lines '      Text
+'19,22'       Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'24'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'\t\t'        Text
+'specification' Keyword
+' '           Text
+'('           Punctuation
+'line '       Text
+'20'          Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'25'          Literal.Number.Integer
+' '           Text
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'\t\t'        Text
+'symmetry'    Keyword
+'\n'          Text
+
+'26'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'\t'          Text
+'transitivity' Keyword
+' '           Text
+'('           Punctuation
+'lines '      Text
+'23,25'       Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'27'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'\t'          Text
+'generalization' Keyword
+'\n\n'        Text
+
+'28'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'induction'   Keyword
+' '           Text
+'('           Punctuation
+'lines '      Text
+'18,27'       Literal.Number.Integer
+')'           Punctuation
+'\n   '       Text
+'[S can be slipped back and forth in an addition.]' Comment
+'\n\n'        Text
+
+'29'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+' '           Text
+'('           Punctuation
+'line '       Text
+'01'          Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'30'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'31'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'b'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'b'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'b'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+' '           Text
+'('           Punctuation
+'line '       Text
+'01'          Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'32'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'33'          Literal.Number.Integer
+' '           Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'symmetry'    Keyword
+'\n'          Text
+
+'34'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+' '           Text
+'('           Punctuation
+'line '       Text
+'28'          Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'35'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'specification' Keyword
+'\n'          Text
+
+'36'          Literal.Number.Integer
+' '           Text
+'['           Keyword
+'\t\t\t'      Text
+'push'        Keyword
+'\n'          Text
+
+'37'          Literal.Number.Integer
+'\t'          Text
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'premise'     Keyword
+'\n'          Text
+
+'38'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'specification' Keyword
+'\n'          Text
+
+'39'          Literal.Number.Integer
+'\t'          Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'add S'       Keyword
+'\n'          Text
+
+'40'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'carry over ' Keyword
+'30'          Literal.Number.Integer
+'\n'          Text
+
+'41'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'transitivity' Keyword
+'\n'          Text
+
+'42'          Literal.Number.Integer
+'\t'          Text
+'S'           Literal.Number.Integer
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'carry over ' Keyword
+'33'          Literal.Number.Integer
+'\n'          Text
+
+'43'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'transitivity' Keyword
+'\n'          Text
+
+'44'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'carry over ' Keyword
+'35'          Literal.Number.Integer
+'\n'          Text
+
+'45'          Literal.Number.Integer
+'\t'          Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'transitivity' Keyword
+'\n'          Text
+
+'46'          Literal.Number.Integer
+'\t'          Text
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'generalization' Keyword
+'\n'          Text
+
+'47'          Literal.Number.Integer
+' '           Text
+']'           Keyword
+'\t\t\t'      Text
+'pop'         Keyword
+'\n'          Text
+
+'48'          Literal.Number.Integer
+' '           Text
+'<'           Punctuation
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+']'           Operator
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'>'           Punctuation
+'\t'          Text
+'fantasy rule' Keyword
+'\n'          Text
+
+'49'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'<'           Punctuation
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+']'           Operator
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'S'           Literal.Number.Integer
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'>'           Punctuation
+'\t'          Text
+'generalization' Keyword
+'\n   '       Text
+'[If d commutes with every c, then Sd does too.]' Comment
+'\n\n'        Text
+
+'50'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'c'           Name.Variable
+'\t\t'        Text
+'specification' Keyword
+' '           Text
+'('           Punctuation
+'line '       Text
+'20'          Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'51'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'a'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'a'           Name.Variable
+')'           Punctuation
+'='           Operator
+'a'           Name.Variable
+'\t\t'        Text
+'carry over ' Keyword
+'116'         Literal.Number.Integer
+'\n'          Text
+
+'52'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'='           Operator
+'c'           Name.Variable
+'\t\t'        Text
+'specification' Keyword
+'\n'          Text
+
+'53'          Literal.Number.Integer
+' '           Text
+'c'           Name.Variable
+'='           Operator
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'symmetry'    Keyword
+'\n'          Text
+
+'54'          Literal.Number.Integer
+' '           Text
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t\t'        Text
+'transitivity' Keyword
+' '           Text
+'('           Punctuation
+'lines '      Text
+'50,53'       Literal.Number.Integer
+')'           Punctuation
+'\n'          Text
+
+'55'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'0'           Literal.Number.Integer
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'0'           Literal.Number.Integer
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'generalization' Keyword
+'\n   '       Text
+'[0 commutes with every c.]' Comment
+'\n\n'        Text
+
+'56'          Literal.Number.Integer
+' '           Text
+'A'           Keyword.Declaration
+'d'           Name.Variable
+':'           Punctuation
+'A'           Keyword.Declaration
+'c'           Name.Variable
+':'           Punctuation
+'('           Punctuation
+'c'           Name.Variable
+'+'           Operator
+'d'           Name.Variable
+')'           Punctuation
+'='           Operator
+'('           Punctuation
+'d'           Name.Variable
+'+'           Operator
+'c'           Name.Variable
+')'           Punctuation
+'\t'          Text
+'induction'   Keyword
+' '           Text
+'('           Punctuation
+'lines '      Text
+'49,55'       Literal.Number.Integer
+')'           Punctuation
+'\n   '       Text
+'[Therefore, every d commmutes with every c.]' Comment
+'\n'          Text
diff --git a/tests/examplefiles/example.todotxt b/tests/examplefiles/todotxt/example.todotxt
similarity index 100%
rename from tests/examplefiles/example.todotxt
rename to tests/examplefiles/todotxt/example.todotxt
diff --git a/tests/examplefiles/todotxt/example.todotxt.output b/tests/examplefiles/todotxt/example.todotxt.output
new file mode 100644
index 0000000..7dc92db
--- /dev/null
+++ b/tests/examplefiles/todotxt/example.todotxt.output
@@ -0,0 +1,108 @@
+'(A)'         Generic.Heading
+' '           Text
+'Call'        Text
+' '           Text
+'Mom'         Text
+' '           Text
+'@Phone'      Literal.String
+' '           Text
+'+Family'     Generic.Error
+'\n'          Text
+
+'(A)'         Generic.Heading
+' '           Text
+'2014-01-08'  Generic.Subheading
+' '           Text
+'Schedule'    Text
+' '           Text
+'annual'      Text
+' '           Text
+'checkup'     Text
+' '           Text
+'+Health'     Generic.Error
+'\n'          Text
+
+'(B)'         Generic.Heading
+' '           Text
+'Outline'     Text
+' '           Text
+'chapter'     Text
+' '           Text
+'5'           Text
+' '           Text
+'+Novel'      Generic.Error
+' '           Text
+'@Computer'   Literal.String
+'\n'          Text
+
+'(C)'         Generic.Heading
+' '           Text
+'Add'         Text
+' '           Text
+'cover'       Text
+' '           Text
+'sheets'      Text
+' '           Text
+'@Office'     Literal.String
+' '           Text
+'+TPSReports' Generic.Error
+'\n'          Text
+
+'Plan'        Text
+' '           Text
+'backyard'    Text
+' '           Text
+'herb'        Text
+' '           Text
+'garden'      Text
+' '           Text
+'@Home'       Literal.String
+'\n'          Text
+
+'Pick'        Text
+' '           Text
+'up'          Text
+' '           Text
+'milk'        Text
+' '           Text
+'@GroceryStore' Literal.String
+'\n'          Text
+
+'Research'    Text
+' '           Text
+'self-publishing' Text
+' '           Text
+'services'    Text
+' '           Text
+'+Novel'      Generic.Error
+' '           Text
+'@Computer'   Literal.String
+'\n'          Text
+
+'x '          Operator
+'2014-01-10'  Generic.Subheading
+' '           Operator
+'Download'    Operator
+' '           Operator
+'Todo.txt'    Operator
+' '           Operator
+'mobile'      Operator
+' '           Operator
+'app'         Operator
+' '           Operator
+'@Phone'      Literal.String
+'\n'          Operator
+
+'x '          Operator
+'2014-01-10'  Generic.Subheading
+' '           Operator
+'2014-01-07'  Generic.Subheading
+' '           Operator
+'Download'    Operator
+' '           Operator
+'Todo.txt'    Operator
+' '           Operator
+'CLI'         Operator
+' '           Operator
+'@Computer'   Literal.String
+'\n'          Operator
diff --git a/tests/examplefiles/example.toml b/tests/examplefiles/toml/example.toml
similarity index 100%
rename from tests/examplefiles/example.toml
rename to tests/examplefiles/toml/example.toml
diff --git a/tests/examplefiles/toml/example.toml.output b/tests/examplefiles/toml/example.toml.output
new file mode 100644
index 0000000..8f7589e
--- /dev/null
+++ b/tests/examplefiles/toml/example.toml.output
@@ -0,0 +1,965 @@
+'# This is a TOML document comment' Comment.Single
+'\n\n'        Text
+
+'title'       Name
+' '           Text
+'='           Operator
+' '           Text
+'"TOML example file"' Literal.String
+' '           Text
+'# This is an inline comment' Comment.Single
+'\n\n'        Text
+
+'[examples]'  Keyword
+'\n'          Text
+
+'# Examples taken from https://github.com/toml-lang/toml/blob/master/README.md' Comment.Single
+'\n'          Text
+
+'key'         Name
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'bare_key'    Name
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'bare-key'    Name
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'1234'        Literal.Number.Integer
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'"127.0.0.1"' Literal.String
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'"character encoding"' Literal.String
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'"ʎǝʞ"'       Literal.String
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+"'key2'"      Literal.String
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'\'quoted "value"\'' Literal.String
+' '           Text
+'='           Operator
+' '           Text
+'"value"'     Literal.String
+'\n'          Text
+
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"Orange"'    Literal.String
+'\n'          Text
+
+'physical'    Name
+'.'           Punctuation
+'color'       Name
+' '           Text
+'='           Operator
+' '           Text
+'"orange"'    Literal.String
+'\n'          Text
+
+'physical'    Name
+'.'           Punctuation
+'shape'       Name
+' '           Text
+'='           Operator
+' '           Text
+'"round"'     Literal.String
+'\n'          Text
+
+'site'        Name
+'.'           Punctuation
+'"google.com"' Literal.String
+' '           Text
+'='           Operator
+' '           Text
+'true'        Keyword.Constant
+'\n'          Text
+
+'a'           Name
+'.'           Punctuation
+'b'           Name
+'.'           Punctuation
+'c'           Name
+' '           Text
+'='           Operator
+' '           Text
+'1'           Literal.Number.Integer
+'\n'          Text
+
+'a'           Name
+'.'           Punctuation
+'d'           Name
+' '           Text
+'='           Operator
+' '           Text
+'2'           Literal.Number.Integer
+'\n\n'        Text
+
+'[strings]'   Keyword
+'\n'          Text
+
+'str'         Name
+' '           Text
+'='           Operator
+' '           Text
+'"I\'m a string. \\"You can quote me\\". Name\\tJos\\u00E9\\nLocation\\tSF."' Literal.String
+'\n'          Text
+
+'str1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'""'          Literal.String
+'"\nRoses are red\nViolets are blue"' Literal.String
+'""'          Literal.String
+'\n'          Text
+
+'str2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"Roses are red\\nViolets are blue"' Literal.String
+'\n'          Text
+
+'str3'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"Roses are red\\r\\nViolets are blue"' Literal.String
+'\n\n  '      Text
+'[strings.equivalents]' Keyword
+'\n  '        Text
+'str1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"The quick brown fox jumps over the lazy dog."' Literal.String
+'\n  '        Text
+'str2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'""'          Literal.String
+'"\nThe quick brown \\\n\n\n    fox jumps over \\\n      the lazy dog."' Literal.String
+'""'          Literal.String
+'\n  '        Text
+'str3'        Name
+' '           Text
+'='           Operator
+' '           Text
+'""'          Literal.String
+'"\\\n         The quick brown \\\n         fox jumps over \\\n         the lazy dog.\\\n         "' Literal.String
+'""'          Literal.String
+'\n\n  '      Text
+'[strings.literal]' Keyword
+'\n  '        Text
+'winpath'     Name
+'  '          Text
+'='           Operator
+' '           Text
+"'C:\\Users\\nodejs\\templates'" Literal.String
+'\n  '        Text
+'winpath2'    Name
+' '           Text
+'='           Operator
+' '           Text
+"'\\\\ServerX\\admin$\\system32\\'" Literal.String
+'\n  '        Text
+'quoted'      Name
+'   '         Text
+'='           Operator
+' '           Text
+'\'Tom "Dubs" Preston-Werner\'' Literal.String
+'\n  '        Text
+'regex'       Name
+'    '        Text
+'='           Operator
+' '           Text
+"'<\\i\\c*\\s*>'" Literal.String
+'\n\n  '      Text
+'[strings.multiline]' Keyword
+'\n  '        Text
+'regex2'      Name
+' '           Text
+'='           Operator
+' '           Text
+"'''I [dw]on't need \\d{2} apples'''" Literal.String
+'\n  '        Text
+'lines'       Name
+'  '          Text
+'='           Operator
+' '           Text
+"''"          Literal.String
+"'\nThe first newline is\ntrimmed in raw strings.\n   All other whitespace\n   is preserved.\n'" Literal.String
+"''"          Literal.String
+'\n\n'        Text
+
+'[integers]'  Keyword
+'\n'          Text
+
+'int1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'+99'         Literal.Number.Integer
+'\n'          Text
+
+'int2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'42'          Literal.Number.Integer
+'\n'          Text
+
+'int3'        Name
+' '           Text
+'='           Operator
+' '           Text
+'0'           Literal.Number.Integer
+'\n'          Text
+
+'int4'        Name
+' '           Text
+'='           Operator
+' '           Text
+'-17'         Literal.Number.Integer
+'\n'          Text
+
+'int5'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1'           Literal.Number.Integer
+'_000'        Name
+'\n'          Text
+
+'int6'        Name
+' '           Text
+'='           Operator
+' '           Text
+'5'           Literal.Number.Integer
+'_349_221'    Name
+'\n'          Text
+
+'int7'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1'           Literal.Number.Integer
+'_2_3_4_5'    Name
+' '           Text
+'# discouraged format' Comment.Single
+'\n'          Text
+
+'# hexadecimal with prefix `0x`' Comment.Single
+'\n'          Text
+
+'hex1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'0'           Literal.Number.Integer
+'xDEADBEEF'   Name
+'\n'          Text
+
+'hex2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'0'           Literal.Number.Integer
+'xdeadbeef'   Name
+'\n'          Text
+
+'hex3'        Name
+' '           Text
+'='           Operator
+' '           Text
+'0'           Literal.Number.Integer
+'xdead_beef'  Name
+'\n'          Text
+
+'# octal with prefix `0o`' Comment.Single
+'\n'          Text
+
+'oct1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'0'           Literal.Number.Integer
+'o01234567'   Name
+'\n'          Text
+
+'oct2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'0'           Literal.Number.Integer
+'o755'        Name
+' '           Text
+'# useful for Unix file permissions' Comment.Single
+'\n'          Text
+
+'# binary with prefix `0b`' Comment.Single
+'\n'          Text
+
+'bin1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'0'           Literal.Number.Integer
+'b11010110'   Name
+'\n\n'        Text
+
+'[floats]'    Keyword
+'\n'          Text
+
+'# fractional' Comment.Single
+'\n'          Text
+
+'flt1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'+1'          Literal.Number.Integer
+'.0'          Literal.Number.Float
+'\n'          Text
+
+'flt2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'3.1415'      Literal.Number.Float
+'\n'          Text
+
+'flt3'        Name
+' '           Text
+'='           Operator
+' '           Text
+'-0'          Literal.Number.Integer
+'.01'         Literal.Number.Float
+'\n'          Text
+
+'# exponent'  Comment.Single
+'\n'          Text
+
+'flt4'        Name
+' '           Text
+'='           Operator
+' '           Text
+'5e+22'       Literal.Number.Float
+'\n'          Text
+
+'flt5'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1e6'         Literal.Number.Float
+'\n'          Text
+
+'flt6'        Name
+' '           Text
+'='           Operator
+' '           Text
+'-2'          Literal.Number.Integer
+'E-2'         Name
+'\n'          Text
+
+'# both'      Comment.Single
+'\n'          Text
+
+'flt7'        Name
+' '           Text
+'='           Operator
+' '           Text
+'6.626e-34'   Literal.Number.Float
+'\n'          Text
+
+'# with underscores, for readability' Comment.Single
+'\n'          Text
+
+'flt8'        Name
+' '           Text
+'='           Operator
+' '           Text
+'224'         Literal.Number.Integer
+'_617'        Name
+'.445'        Literal.Number.Float
+'_991_228'    Name
+'\n'          Text
+
+'# infinity'  Comment.Single
+'\n'          Text
+
+'sf1'         Name
+' '           Text
+'='           Operator
+' '           Text
+'inf'         Name
+'  '          Text
+'# positive infinity' Comment.Single
+'\n'          Text
+
+'sf2'         Name
+' '           Text
+'='           Operator
+' '           Text
+'+inf'        Literal.Number.Float
+' '           Text
+'# positive infinity' Comment.Single
+'\n'          Text
+
+'sf3'         Name
+' '           Text
+'='           Operator
+' '           Text
+'-inf'        Literal.Number.Float
+' '           Text
+'# negative infinity' Comment.Single
+'\n'          Text
+
+'# not a number' Comment.Single
+'\n'          Text
+
+'sf4'         Name
+' '           Text
+'='           Operator
+' '           Text
+'nan'         Name
+'  '          Text
+'# actual sNaN/qNaN encoding is implementation specific' Comment.Single
+'\n'          Text
+
+'sf5'         Name
+' '           Text
+'='           Operator
+' '           Text
+'+nan'        Literal.Number.Float
+' '           Text
+'# same as `nan`' Comment.Single
+'\n'          Text
+
+'sf6'         Name
+' '           Text
+'='           Operator
+' '           Text
+'-nan'        Literal.Number.Float
+' '           Text
+'# valid, actual encoding is implementation specific' Comment.Single
+'\n'          Text
+
+'# plus/minus zero' Comment.Single
+'\n'          Text
+
+'sf0_1'       Name
+' '           Text
+'='           Operator
+' '           Text
+'+0'          Literal.Number.Integer
+'.0'          Literal.Number.Float
+'\n'          Text
+
+'sf0_2'       Name
+' '           Text
+'='           Operator
+' '           Text
+'-0'          Literal.Number.Integer
+'.0'          Literal.Number.Float
+'\n\n'        Text
+
+'[booleans]'  Keyword
+'\n'          Text
+
+'bool1'       Name
+' '           Text
+'='           Operator
+' '           Text
+'true'        Keyword.Constant
+'\n'          Text
+
+'bool2'       Name
+' '           Text
+'='           Operator
+' '           Text
+'false'       Keyword.Constant
+'\n\n'        Text
+
+'[datetime.offset]' Keyword
+'\n'          Text
+
+'odt1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1979-05-27T07:32:00Z' Literal.Number.Integer
+'\n'          Text
+
+'odt2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1979-05-27T00:32:00-07:00' Literal.Number.Integer
+'\n'          Text
+
+'odt3'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1979'        Literal.Number.Integer
+'-05'         Literal.Number.Integer
+'-27'         Literal.Number.Integer
+'T00'         Name
+':'           Punctuation
+'32'          Literal.Number.Integer
+':'           Punctuation
+'00.999999'   Literal.Number.Float
+'-07'         Literal.Number.Integer
+':'           Punctuation
+'00'          Literal.Number.Integer
+'\n'          Text
+
+'odt4'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1979-05-27 07:32:00Z' Literal.Number.Integer
+'\n\n'        Text
+
+'[datetime.local]' Keyword
+'\n'          Text
+
+'ldt1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1979'        Literal.Number.Integer
+'-05'         Literal.Number.Integer
+'-27'         Literal.Number.Integer
+'T07'         Name
+':'           Punctuation
+'32'          Literal.Number.Integer
+':'           Punctuation
+'00'          Literal.Number.Integer
+'\n'          Text
+
+'ldt2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'1979'        Literal.Number.Integer
+'-05'         Literal.Number.Integer
+'-27'         Literal.Number.Integer
+'T00'         Name
+':'           Punctuation
+'32'          Literal.Number.Integer
+':'           Punctuation
+'00.999999'   Literal.Number.Float
+'\n\n'        Text
+
+'[date.local]' Keyword
+'\n'          Text
+
+'ld1'         Name
+' '           Text
+'='           Operator
+' '           Text
+'1979'        Literal.Number.Integer
+'-05'         Literal.Number.Integer
+'-27'         Literal.Number.Integer
+'\n\n'        Text
+
+'[time.local]' Keyword
+'\n'          Text
+
+'lt1'         Name
+' '           Text
+'='           Operator
+' '           Text
+'07'          Literal.Number.Integer
+':'           Punctuation
+'32'          Literal.Number.Integer
+':'           Punctuation
+'00'          Literal.Number.Integer
+'\n'          Text
+
+'lt2'         Name
+' '           Text
+'='           Operator
+' '           Text
+'00'          Literal.Number.Integer
+':'           Punctuation
+'32'          Literal.Number.Integer
+':'           Punctuation
+'00.999999'   Literal.Number.Float
+'\n\n'        Text
+
+'[arrays]'    Keyword
+'\n'          Text
+
+'arr1'        Name
+' '           Text
+'='           Operator
+' '           Text
+'[ 1, 2, 3 ]' Keyword
+'\n'          Text
+
+'arr2'        Name
+' '           Text
+'='           Operator
+' '           Text
+'[ "red", "yellow", "green" ]' Keyword
+'\n'          Text
+
+'arr3'        Name
+' '           Text
+'='           Operator
+' '           Text
+'[ [ 1, 2 ], [3, 4, 5] ]' Keyword
+'\n'          Text
+
+'arr4'        Name
+' '           Text
+'='           Operator
+' '           Text
+'[ "all", \'strings\', """are the same""", \'\'\'type\'\'\']' Keyword
+'\n'          Text
+
+'arr5'        Name
+' '           Text
+'='           Operator
+' '           Text
+'[ [ 1, 2 ], ["a", "b", "c"] ]' Keyword
+'\n'          Text
+
+'arr6'        Name
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+' '           Text
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'2.0'         Literal.Number.Float
+' '           Text
+']'           Punctuation
+' '           Text
+'# INVALID'   Comment.Single
+'\n'          Text
+
+'arr7'        Name
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+'\n  '        Text
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'2'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'3'           Literal.Number.Integer
+'\n'          Text
+
+']'           Punctuation
+'\n'          Text
+
+'arr8'        Name
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+'\n  '        Text
+'1'           Literal.Number.Integer
+','           Punctuation
+'\n  '        Text
+'2'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'# this is ok' Comment.Single
+'\n'          Text
+
+']'           Punctuation
+'\n\n'        Text
+
+'["inline tables"]' Keyword
+'\n'          Text
+
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'{'           Punctuation
+' '           Text
+'first'       Name
+' '           Text
+'='           Operator
+' '           Text
+'"Tom"'       Literal.String
+','           Punctuation
+' '           Text
+'last'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"Preston-Werner"' Literal.String
+' '           Text
+'}'           Punctuation
+'\n'          Text
+
+'point'       Name
+' '           Text
+'='           Operator
+' '           Text
+'{'           Punctuation
+' '           Text
+'x'           Name
+' '           Text
+'='           Operator
+' '           Text
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'y'           Name
+' '           Text
+'='           Operator
+' '           Text
+'2'           Literal.Number.Integer
+' '           Text
+'}'           Punctuation
+'\n'          Text
+
+'animal'      Name
+' '           Text
+'='           Operator
+' '           Text
+'{'           Punctuation
+' '           Text
+'type'        Name
+'.'           Punctuation
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"pug"'       Literal.String
+' '           Text
+'}'           Punctuation
+'\n\n'        Text
+
+'["arrays of tables"]' Keyword
+'\n'          Text
+
+'points'      Name
+' '           Text
+'='           Operator
+' '           Text
+'['           Punctuation
+' '           Text
+'{'           Punctuation
+' '           Text
+'x'           Name
+' '           Text
+'='           Operator
+' '           Text
+'1'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'y'           Name
+' '           Text
+'='           Operator
+' '           Text
+'2'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'z'           Name
+' '           Text
+'='           Operator
+' '           Text
+'3'           Literal.Number.Integer
+' '           Text
+'}'           Punctuation
+','           Punctuation
+'\n           ' Text
+'{'           Punctuation
+' '           Text
+'x'           Name
+' '           Text
+'='           Operator
+' '           Text
+'7'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'y'           Name
+' '           Text
+'='           Operator
+' '           Text
+'8'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'z'           Name
+' '           Text
+'='           Operator
+' '           Text
+'9'           Literal.Number.Integer
+' '           Text
+'}'           Punctuation
+','           Punctuation
+'\n           ' Text
+'{'           Punctuation
+' '           Text
+'x'           Name
+' '           Text
+'='           Operator
+' '           Text
+'2'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'y'           Name
+' '           Text
+'='           Operator
+' '           Text
+'4'           Literal.Number.Integer
+','           Punctuation
+' '           Text
+'z'           Name
+' '           Text
+'='           Operator
+' '           Text
+'8'           Literal.Number.Integer
+' '           Text
+'}'           Punctuation
+' '           Text
+']'           Punctuation
+'\n\n  '      Text
+'[products]'  Keyword
+'\n\n    '    Text
+'[[products]]' Keyword
+'\n    '      Text
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"Hammer"'    Literal.String
+'\n    '      Text
+'sku'         Name
+' '           Text
+'='           Operator
+' '           Text
+'738594937'   Literal.Number.Integer
+'\n\n    '    Text
+'[[products]]' Keyword
+'\n\n    '    Text
+'[[products]]' Keyword
+'\n    '      Text
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"Nail"'      Literal.String
+'\n    '      Text
+'sku'         Name
+' '           Text
+'='           Operator
+' '           Text
+'284758393'   Literal.Number.Integer
+'\n    '      Text
+'color'       Name
+' '           Text
+'='           Operator
+' '           Text
+'"gray"'      Literal.String
+'\n\n  '      Text
+'[fruits]'    Keyword
+'\n\n    '    Text
+'[[fruit]]'   Keyword
+'\n      '    Text
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"apple"'     Literal.String
+'\n\n      '  Text
+'[fruit.physical]' Keyword
+'\n        '  Text
+'color'       Name
+' '           Text
+'='           Operator
+' '           Text
+'"red"'       Literal.String
+'\n        '  Text
+'shape'       Name
+' '           Text
+'='           Operator
+' '           Text
+'"round"'     Literal.String
+'\n\n      '  Text
+'[[fruit.variety]]' Keyword
+'\n        '  Text
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"red delicious"' Literal.String
+'\n\n      '  Text
+'[[fruit.variety]]' Keyword
+'\n        '  Text
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"granny smith"' Literal.String
+'\n\n    '    Text
+'[[fruit]]'   Keyword
+'\n      '    Text
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"banana"'    Literal.String
+'\n\n      '  Text
+'[[fruit.variety]]' Keyword
+'\n        '  Text
+'name'        Name
+' '           Text
+'='           Operator
+' '           Text
+'"plantain"'  Literal.String
+'\n'          Text
diff --git a/tests/examplefiles/moin_SyntaxReference.txt b/tests/examplefiles/trac-wiki/moin_SyntaxReference.txt
similarity index 100%
rename from tests/examplefiles/moin_SyntaxReference.txt
rename to tests/examplefiles/trac-wiki/moin_SyntaxReference.txt
diff --git a/tests/examplefiles/trac-wiki/moin_SyntaxReference.txt.output b/tests/examplefiles/trac-wiki/moin_SyntaxReference.txt.output
new file mode 100644
index 0000000..6226257
--- /dev/null
+++ b/tests/examplefiles/trac-wiki/moin_SyntaxReference.txt.output
@@ -0,0 +1,1172 @@
+'## Please edit system and help pages ONLY in the moinmaster wiki! For more' Comment
+'\n'          Text
+
+'## information, please see MoinMaster:MoinPagesEditorGroup.' Comment
+'\n'          Text
+
+'##master-page:Unknown-Page' Comment
+'\n'          Text
+
+'##master-date:Unknown-Date' Comment
+'\n'          Text
+
+'#acl MoinPagesEditorGroup:read,write,delete,revert All:read' Comment
+'\n'          Text
+
+'#format wiki' Comment
+'\n'          Text
+
+'#language en' Comment
+'\n'          Text
+
+'\n'          Text
+
+'This page aims to introduce the most important elements of MoinMoin``' Text
+"'"           Text
+'s syntax at a glance' Text
+','           Text
+' showing first the markup verbatim and then how it is rendered by the wiki engine. Additionally' Text
+','           Text
+' you'        Text
+"'"           Text
+'ll find links to the relative help pages. Please note that some of the features depend on your configuration.' Text
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Table of Contents ' Text
+'='           Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+"\n'''Contents''' (up to the 2nd level)\n[[TableOfContents(2)]]\n" Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+"'''"         Comment
+'Contents'    Text
+"'''"         Comment
+' (up to the 2nd level)' Text
+'\n'          Text
+
+'[[TableOfContents(2)]]' Keyword
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Headings '  Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnHeadlines' Text
+"''"          Comment
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n= heading 1st level =\n== heading 2nd level ==\n=== heading 3rd level ===\n==== heading 4th level ====\n===== heading 5th level =====\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'='           Generic.Heading
+' heading 1st level ' Text
+'='           Generic.Heading
+'\n'          Text
+
+'=='          Generic.Heading
+' heading 2nd level ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'==='         Generic.Heading
+' heading 3rd level ' Text
+'==='         Generic.Heading
+'\n'          Text
+
+'===='        Generic.Heading
+' heading 4th level ' Text
+'===='        Generic.Heading
+'\n'          Text
+
+'====='       Generic.Heading
+' heading 5th level ' Text
+'====='       Generic.Heading
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Text Formatting ' Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnFormatting' Text
+"''"          Comment
+'\n'          Text
+
+'{{{'         Name.Builtin
+"\n * ''emphasized (italics)''\n * '''boldface'''\n * '''''bold italics'''''\n * `monospace`\n * " Comment.Preproc
+'{{{'         Text
+'source code' Comment.Preproc
+'}}}'         Name.Builtin
+'\n * __underline__\n * ,,sub,,script\n * ^super^script\n * ~-smaller-~\n * ~+larger+~\n * --(strike through)--\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+"''"          Comment
+'emphasized (italics)' Text
+"''"          Comment
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+"'''"         Comment
+'boldface'    Text
+"'''"         Comment
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+"'''"         Comment
+"''"          Comment
+'bold italics' Text
+"'''"         Comment
+"''"          Comment
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'monospace`'  Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'{{{'         Name.Builtin
+'source code' Comment.Preproc
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'__'          Comment
+'underline'   Text
+'__'          Comment
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+',,'          Comment
+'sub'         Text
+',,'          Comment
+'script'      Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'^'           Comment
+'super'       Text
+'^'           Comment
+'script'      Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'~'           Text
+'-smaller-'   Text
+'~'           Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'~'           Text
+'+larger+'    Text
+'~'           Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'--(strike through)--' Text
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Hyperlinks ' Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnLinking' Text
+"''"          Comment
+'\n'          Text
+
+'=='          Generic.Heading
+' Internal Links ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n * FrontPage\n * ["FrontPage"]\n * HelpOnEditing/SubPages\n * /SubPage\n * ../SiblingPage\n * [:FrontPage:named link]\n * [#anchorname]\n * [#anchorname description]\n * [wiki:Self:PageName#anchorname]\n * [wiki:Self:PageName#anchorname description]\n * attachment:filename.txt\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'FrontPage'   Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'["FrontPage"' Keyword
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'HelpOnEditing/SubPages' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'/SubPage'    Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'../SiblingPage' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[:FrontPage:named' Keyword
+' link'       Literal.String
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[#anchorname' Keyword
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[#anchorname' Keyword
+' description' Literal.String
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[wiki:Self:PageName#anchorname' Keyword
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[wiki:Self:PageName#anchorname' Keyword
+' description' Literal.String
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'attachment:filename.txt' Text
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' External Links ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n * http://moinmoin.wikiwikiweb.de/\n * [http://moinmoin.wikiwikiweb.de/]\n * [http://moinmoin.wikiwikiweb.de/ MoinMoin Wiki]\n * [http://moinmoin.wikiwikiweb.de/wiki/moinmoin.png]\n * http://moinmoin.wikiwikiweb.de/wiki/moinmoin.png\n * [http://moinmoin.wikiwikiweb.de/wiki/moinmoin.png moinmoin.png]\n * MeatBall:InterWiki\n * wiki:MeatBall/InterWiki\n * [wiki:MeatBall/InterWiki]\n * [wiki:MeatBall/InterWiki InterWiki page on MeatBall]\n * [file://///servername/share/full/path/to/file/filename%20with%20spaces.txt link to file filename with spaces.txt]\n * user@example.com\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'http://moinmoin.wikiwikiweb.de/' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[http://moinmoin.wikiwikiweb.de/' Keyword
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[http://moinmoin.wikiwikiweb.de/' Keyword
+' MoinMoin Wiki' Literal.String
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[http://moinmoin.wikiwikiweb.de/wiki/moinmoin.png' Keyword
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'http://moinmoin.wikiwikiweb.de/wiki/moinmoin.png' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[http://moinmoin.wikiwikiweb.de/wiki/moinmoin.png' Keyword
+' moinmoin.png' Literal.String
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'MeatBall:InterWiki' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'wiki:MeatBall/InterWiki' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[wiki:MeatBall/InterWiki' Keyword
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[wiki:MeatBall/InterWiki' Keyword
+' InterWiki page on MeatBall' Literal.String
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'[file://///servername/share/full/path/to/file/filename%20with%20spaces.txt' Keyword
+' link to file filename with spaces.txt' Literal.String
+']'           Keyword
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'user@example.com' Text
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Avoid or Limit Automatical Linking ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+"\n * Wiki''''''Name\n * Wiki``Name\n * !WikiName\n * WikiName''''''s\n * WikiName``s\n * `http://www.example.com`\n" Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'Wiki'        Text
+"'''"         Comment
+"'''"         Comment
+'Name'        Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'Wiki``Name'  Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'!'           Keyword
+'WikiName'    Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'WikiName'    Text
+"'''"         Comment
+"'''"         Comment
+'s'           Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'WikiName``s' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'http://www.example.com`' Text
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Blockquotes and Indentions ' Text
+'='           Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n indented text\n  text indented to the 2nd level\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' indented text' Text
+'\n'          Text
+
+'  text indented to the 2nd level' Text
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Lists '     Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnLists' Text
+"''"          Comment
+'\n'          Text
+
+'=='          Generic.Heading
+' Unordered Lists ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n * item 1\n\n * item 2 (preceding white space)\n  * item 2.1\n   * item 2.1.1\n * item 3\n  . item 3.1 (bulletless)\n . item 4 (bulletless)\n  * item 4.1\n   . item 4.1.1 (bulletless)\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'item 1'      Text
+'\n'          Text
+
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'item 2 (preceding white space)' Text
+'\n'          Text
+
+'  '          Text
+'*'           Name.Builtin
+' '           Text
+'item 2.1'    Text
+'\n'          Text
+
+'   '         Text
+'*'           Name.Builtin
+' '           Text
+'item 2.1.1'  Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'item 3'      Text
+'\n'          Text
+
+'  '          Text
+'.'           Name.Builtin
+' '           Text
+'item 3.1 (bulletless)' Text
+'\n'          Text
+
+' '           Text
+'.'           Name.Builtin
+' '           Text
+'item 4 (bulletless)' Text
+'\n'          Text
+
+'  '          Text
+'*'           Name.Builtin
+' '           Text
+'item 4.1'    Text
+'\n'          Text
+
+'   '         Text
+'.'           Name.Builtin
+' '           Text
+'item 4.1.1 (bulletless)' Text
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Ordered Lists ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'==='         Generic.Heading
+' with Numbers ' Text
+'==='         Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n 1. item 1\n   1. item 1.1\n   1. item 1.2\n 1. item 2\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' 1. item 1'  Text
+'\n'          Text
+
+'   1. item 1.1' Text
+'\n'          Text
+
+'   1. item 1.2' Text
+'\n'          Text
+
+' 1. item 2'  Text
+'\n'          Text
+
+'\n'          Text
+
+'==='         Generic.Heading
+' with Roman Numbers ' Text
+'==='         Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n I. item 1\n   i. item 1.1\n   i. item 1.2\n I. item 2\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'I.'          Name.Builtin
+' '           Text
+'item 1'      Text
+'\n'          Text
+
+'   '         Text
+'i.'          Name.Builtin
+' '           Text
+'item 1.1'    Text
+'\n'          Text
+
+'   '         Text
+'i.'          Name.Builtin
+' '           Text
+'item 1.2'    Text
+'\n'          Text
+
+' '           Text
+'I.'          Name.Builtin
+' '           Text
+'item 2'      Text
+'\n'          Text
+
+'\n'          Text
+
+'==='         Generic.Heading
+' with Letters ' Text
+'==='         Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n A. item A\n   a. item A. a)\n   a. item A. b)\n A. item B\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' '           Text
+'A.'          Name.Builtin
+' '           Text
+'item A'      Text
+'\n'          Text
+
+'   '         Text
+'a.'          Name.Builtin
+' '           Text
+'item A. a)'  Text
+'\n'          Text
+
+'   '         Text
+'a.'          Name.Builtin
+' '           Text
+'item A. b)'  Text
+'\n'          Text
+
+' '           Text
+'A.'          Name.Builtin
+' '           Text
+'item B'      Text
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Definition Lists ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n term:: definition\n object:: description 1\n :: description 2\n Action Items::\n :: First Item\n :: Second Item\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+' term:: definition' Text
+'\n'          Text
+
+' object:: description 1' Text
+'\n'          Text
+
+' :: description 2' Text
+'\n'          Text
+
+' Action Items::' Text
+'\n'          Text
+
+' :: First Item' Text
+'\n'          Text
+
+' :: Second Item' Text
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Horizontal Rules ' Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnRules' Text
+"''"          Comment
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n----\n-----\n------\n-------\n--------\n---------\n----------\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'----'        Keyword
+'\n'          Text
+
+'-----'       Keyword
+'\n'          Text
+
+'------'      Keyword
+'\n'          Text
+
+'-------'     Keyword
+'\n'          Text
+
+'--------'    Keyword
+'\n'          Text
+
+'---------'   Keyword
+'\n'          Text
+
+'----------'  Keyword
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Tables '    Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnTables' Text
+"''"          Comment
+'\n'          Text
+
+'=='          Generic.Heading
+' Tables '    Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+"\n||'''A'''||'''B'''||'''C'''||\n||1      ||2      ||3      ||\n" Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'||'          Comment
+"'''"         Comment
+'A'           Text
+"'''"         Comment
+'||'          Comment
+"'''"         Comment
+'B'           Text
+"'''"         Comment
+'||'          Comment
+"'''"         Comment
+'C'           Text
+"'''"         Comment
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+'1      '     Text
+'||'          Comment
+'2      '     Text
+'||'          Comment
+'3      '     Text
+'||'          Comment
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Cell Width ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n||minimal width ||<99%>maximal width ||\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'||'          Comment
+'minimal width ' Text
+'||'          Comment
+'<99%>maximal width ' Text
+'||'          Comment
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Spanning Rows and Columns  ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n||<|2> cell spanning 2 rows ||cell in the 2nd column ||\n||cell in the 2nd column of the 2nd row ||\n||<-2> cell spanning 2 columns ||\n||||use empty cells as a shorthand ||\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'||'          Comment
+'<'           Text
+'|'           Text
+'2> cell spanning 2 rows ' Text
+'||'          Comment
+'cell in the 2nd column ' Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+'cell in the 2nd column of the 2nd row ' Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+'<-2> cell spanning 2 columns ' Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+'||'          Comment
+'use empty cells as a shorthand ' Text
+'||'          Comment
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Alignment of Cell Contents ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n||<^|3> top (combined) ||<:99%> center (combined) || bottom (combined) ||\n||<)> right ||\n||<(> left ||\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'||'          Comment
+'<'           Text
+'^'           Comment
+'|'           Text
+'3> top (combined) ' Text
+'||'          Comment
+'<:99%> center (combined) ' Text
+'||'          Comment
+' bottom (combined) ' Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+'<)> right '  Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+'<(> left '   Text
+'||'          Comment
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Coulored Table Cells ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n||<#0000FF> blue ||<#00FF00> green    ||<#FF0000> red    ||\n||<#00FFFF> cyan ||<#FF00FF> magenta  ||<#FFFF00> yellow ||\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'||'          Comment
+'<#0000FF> blue ' Text
+'||'          Comment
+'<#00FF00> green    ' Text
+'||'          Comment
+'<#FF0000> red    ' Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+'<#00FFFF> cyan ' Text
+'||'          Comment
+'<#FF00FF> magenta  ' Text
+'||'          Comment
+'<#FFFF00> yellow ' Text
+'||'          Comment
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' HTML-like Options for Tables ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n||A || like <|2> ||\n|| like <#00FF00> ||\n|| like <-2>||\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'||'          Comment
+'A '          Text
+'||'          Comment
+' like <' Text
+'|'           Text
+'2> '         Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+' like <#00FF00> ' Text
+'||'          Comment
+'\n'          Text
+
+'||'          Comment
+' like <-2>' Text
+'||'          Comment
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Macros and Variables ' Text
+'='           Generic.Heading
+'\n'          Text
+
+'=='          Generic.Heading
+' Macros '    Text
+'=='          Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnMacros' Text
+"''"          Comment
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'[[Anchor(anchorname)]]' Keyword
+'`'           Comment
+' inserts a link anchor `anchorname`' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'[[BR]]'      Keyword
+'`'           Comment
+' inserts a hard line break' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'[[FootNote(Note)]]' Keyword
+'`'           Comment
+' inserts a footnote saying `Note`' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'[[Include(HelpOnMacros/Include)]]' Keyword
+'`'           Comment
+' inserts the contents of the page `HelpOnMacros/Include` inline' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'[[MailTo(user AT example DOT com)]]' Keyword
+'`'           Comment
+' obfuscates the email address `user@example.com` to users not logged in' Text
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Variables ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnVariables' Text
+"''"          Comment
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'@``SIG``@` inserts your login name and timestamp of modification' Text
+'\n'          Text
+
+' '           Text
+'*'           Name.Builtin
+' '           Text
+'`'           Comment
+'@``TIME``@` inserts date and time of modification' Text
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Smileys and Icons ' Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnSmileys' Text
+"''"          Comment
+'\n'          Text
+
+'[[ShowSmileys]]' Keyword
+'\n'          Text
+
+'\n'          Text
+
+'='           Generic.Heading
+' Source code ' Text
+'='           Generic.Heading
+'\n'          Text
+
+"'''"         Comment
+"''"          Comment
+'see:'        Text
+"'''"         Comment
+' HelpOnParsers' Text
+"''"          Comment
+'\n'          Text
+
+'=='          Generic.Heading
+' Verbatim Display ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n'          Comment.Preproc
+
+'{'           Comment.Preproc
+' '           Comment.Preproc
+'{'           Comment.Preproc
+' '           Comment.Preproc
+'{'           Comment.Preproc
+'\ndef hello():\n    print "Hello World!"\n' Comment.Preproc
+
+'}'           Comment.Preproc
+' '           Comment.Preproc
+'}'           Comment.Preproc
+' '           Comment.Preproc
+'}'           Comment.Preproc
+'\n'          Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'/'           Text
+'!'           Keyword
+'\\'          Text
+' Remove spaces between "`' Text
+'{'           Text
+' '           Text
+'{'           Text
+' '           Text
+'{'           Text
+'`'           Comment
+'" and "`} } }`".' Text
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\ndef hello():\n    print "Hello World!"\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'\n'          Text
+
+'=='          Generic.Heading
+' Syntax Highlighting ' Text
+'=='          Generic.Heading
+'\n'          Text
+
+'{{{'         Name.Builtin
+'\n'          Comment.Preproc
+
+'{'           Comment.Preproc
+' '           Comment.Preproc
+'{'           Comment.Preproc
+' '           Comment.Preproc
+'{'           Comment.Preproc
+'#!python\ndef hello():\n    print "Hello World!"\n' Comment.Preproc
+
+'}'           Comment.Preproc
+' '           Comment.Preproc
+'}'           Comment.Preproc
+' '           Comment.Preproc
+'}'           Comment.Preproc
+'\n'          Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
+
+'/'           Text
+'!'           Keyword
+'\\'          Text
+' Remove spaces between "`' Text
+'{'           Text
+' '           Text
+'{'           Text
+' '           Text
+'{'           Text
+'`'           Comment
+'" and "`} } }`".' Text
+'\n'          Text
+
+'{{{'         Name.Builtin
+'#!python\ndef hello():\n    print "Hello World!"\n' Comment.Preproc
+
+'}}}'         Name.Builtin
+'\n'          Text
diff --git a/tests/examplefiles/metagrammar.treetop b/tests/examplefiles/treetop/metagrammar.treetop
similarity index 100%
rename from tests/examplefiles/metagrammar.treetop
rename to tests/examplefiles/treetop/metagrammar.treetop
diff --git a/tests/examplefiles/treetop/metagrammar.treetop.output b/tests/examplefiles/treetop/metagrammar.treetop.output
new file mode 100644
index 0000000..7fee358
--- /dev/null
+++ b/tests/examplefiles/treetop/metagrammar.treetop.output
@@ -0,0 +1,1995 @@
+'module'      Keyword.Namespace
+' '           Text.Whitespace
+'Treetop'     Name.Namespace
+'\n  '        Text.Whitespace
+'module'      Keyword
+' '           Text.Whitespace
+'Compiler'    Name.Namespace
+'\n    '      Text.Whitespace
+'grammar'     Keyword
+' '           Text.Whitespace
+'Metagrammar' Name
+'\n      '    Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'treetop_file' Name
+'\n        '  Text.Whitespace
+'requires'    Name.Label
+':'           Punctuation
+'('           Punctuation
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'require_statement' Name
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'prefix'      Name.Label
+':'           Punctuation
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'module_or_grammar' Name
+' '           Text.Whitespace
+'suffix'      Name.Label
+':'           Punctuation
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'\n            ' Text
+'requires'    Name
+'.'           Operator
+'text_value'  Name
+' '           Text
+'+'           Operator
+' '           Text
+'prefix'      Name
+'.'           Operator
+'text_value'  Name
+' '           Text
+'+'           Operator
+' '           Text
+'module_or_grammar' Name
+'.'           Operator
+'compile'     Name
+' '           Text
+'+'           Operator
+' '           Text
+'suffix'      Name
+'.'           Operator
+'text_value'  Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'require_statement' Name
+'\n        '  Text.Whitespace
+'prefix'      Name.Label
+':'           Punctuation
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'"require"'   Literal.String.Double
+' '           Text.Whitespace
+'[ \\t]'      Literal.String.Regex
+'+'           Operator
+' '           Text.Whitespace
+'[^\\n\\r]'   Literal.String.Regex
+'+'           Operator
+' '           Text.Whitespace
+'[\\n\\r]'    Literal.String.Regex
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'module_or_grammar' Name
+'\n\t'        Text.Whitespace
+'module_declaration' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'grammar'     Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'module_declaration' Name
+'\n        '  Text.Whitespace
+'prefix'      Name.Label
+':'           Punctuation
+'('           Punctuation
+"'module'"    Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+'name'        Name.Label
+':'           Punctuation
+'('           Punctuation
+'[A-Z]'       Literal.String.Regex
+' '           Text.Whitespace
+'alphanumeric_char' Name
+'*'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+"'::'"        Literal.String.Single
+' '           Text.Whitespace
+'[A-Z]'       Literal.String.Regex
+' '           Text.Whitespace
+'alphanumeric_char' Name
+'*'           Operator
+')'           Punctuation
+'*'           Operator
+')'           Punctuation
+' '           Text.Whitespace
+'space'       Name
+')'           Punctuation
+' '           Text.Whitespace
+'module_contents' Name.Label
+':'           Punctuation
+'('           Punctuation
+'module_declaration' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'grammar'     Name
+')'           Punctuation
+' '           Text.Whitespace
+'suffix'      Name.Label
+':'           Punctuation
+'('           Punctuation
+'space'       Name
+' '           Text.Whitespace
+"'end'"       Literal.String.Single
+')'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'\n            ' Text
+'prefix'      Name
+'.'           Operator
+'text_value'  Name
+' '           Text
+'+'           Operator
+' '           Text
+'module_contents' Name
+'.'           Operator
+'compile'     Name
+' '           Text
+'+'           Operator
+' '           Text
+'suffix'      Name
+'.'           Operator
+'text_value'  Name
+'\n          ' Text
+'end'         Keyword
+'\n\n\t  '    Text
+'def'         Keyword
+' '           Text
+'parser_name' Name.Function
+'\n\t    '    Text
+'prefix'      Name
+'.'           Operator
+'name'        Name
+'.'           Operator
+'text_value'  Name
+'+'           Operator
+"'"           Literal.String.Single
+'::'          Literal.String.Single
+"'"           Literal.String.Single
+'+'           Operator
+'module_contents' Name
+'.'           Operator
+'parser_name' Name
+'\n\t  '      Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'grammar'     Name
+'\n        '  Text.Whitespace
+"'grammar'"   Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+'grammar_name' Name
+' '           Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+'('           Punctuation
+"'do'"        Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+')'           Punctuation
+'?'           Operator
+' '           Text.Whitespace
+'declaration_sequence' Name
+' '           Text.Whitespace
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+"'end'"       Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'Grammar'     Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'grammar_name' Name
+'\n        '  Text.Whitespace
+'('           Punctuation
+'[A-Z]'       Literal.String.Regex
+' '           Text.Whitespace
+'alphanumeric_char' Name
+'*'           Operator
+')'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'declaration_sequence' Name
+'\n        '  Text.Whitespace
+'head'        Name.Label
+':'           Punctuation
+'declaration' Name
+' '           Text.Whitespace
+'tail'        Name.Label
+':'           Punctuation
+'('           Punctuation
+'space'       Name
+' '           Text.Whitespace
+'declaration' Name
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'<'           Punctuation
+'DeclarationSequence' Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'declarations' Name.Function
+'\n            ' Text
+'['           Operator
+'head'        Name
+']'           Operator
+' '           Text
+'+'           Operator
+' '           Text
+'tail'        Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'tail'        Name.Function
+'\n            ' Text
+'super'       Keyword
+'.'           Operator
+'elements'    Name
+'.'           Operator
+'map'         Name
+' '           Text
+'{'           Punctuation
+' '           Text
+'|'           Operator
+'elt'         Name
+'|'           Operator
+' '           Text
+'elt'         Name
+'.'           Operator
+'declaration' Name
+' '           Text
+'}'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+"''"          Literal.String.Single
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'builder'     Name
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'declaration' Name
+'\n        '  Text.Whitespace
+'parsing_rule' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'include_declaration' Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'include_declaration' Name
+'\n        '  Text.Whitespace
+"'include'"   Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+'[A-Z]'       Literal.String.Regex
+' '           Text.Whitespace
+'('           Punctuation
+'alphanumeric_char' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'::'"        Literal.String.Single
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'builder'     Name
+')'           Punctuation
+'\n            ' Text
+'builder'     Name
+' '           Text
+'<<'          Operator
+' '           Text
+'text_value'  Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'parsing_rule' Name
+'\n        '  Text.Whitespace
+"'rule'"      Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+'nonterminal' Name
+' '           Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+'('           Punctuation
+"'do'"        Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+')'           Punctuation
+'?'           Operator
+' '           Text.Whitespace
+'parsing_expression' Name
+' '           Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+"'end'"       Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'ParsingRule' Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'parsing_expression' Name
+'\n        '  Text.Whitespace
+'choice'      Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'sequence'    Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'primary'     Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'choice'      Name
+'\n        '  Text.Whitespace
+'head'        Name.Label
+':'           Punctuation
+'alternative' Name
+' '           Text.Whitespace
+'tail'        Name.Label
+':'           Punctuation
+'('           Punctuation
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+"'/'"         Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'alternative' Name
+')'           Punctuation
+'+'           Operator
+' '           Text.Whitespace
+'<'           Punctuation
+'Choice'      Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'alternatives' Name.Function
+'\n            ' Text
+'['           Operator
+'head'        Name
+']'           Operator
+' '           Text
+'+'           Operator
+' '           Text
+'tail'        Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'tail'        Name.Function
+'\n            ' Text
+'super'       Keyword
+'.'           Operator
+'elements'    Name
+'.'           Operator
+'map'         Name
+' '           Text
+'{'           Punctuation
+'|'           Operator
+'elt'         Name
+'|'           Operator
+' '           Text
+'elt'         Name
+'.'           Operator
+'alternative' Name
+'}'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'('           Punctuation
+'alternatives' Name
+'.'           Operator
+'map'         Name
+' '           Text
+'{'           Punctuation
+'|'           Operator
+'alt'         Name
+'|'           Operator
+' '           Text
+'alt'         Name
+'.'           Operator
+'inline_modules' Name
+' '           Text
+'}'           Punctuation
+')'           Punctuation
+'.'           Operator
+'flatten'     Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'sequence'    Name
+'\n        '  Text.Whitespace
+'head'        Name.Label
+':'           Punctuation
+'labeled_sequence_primary' Name
+' '           Text.Whitespace
+'tail'        Name.Label
+':'           Punctuation
+'('           Punctuation
+'space'       Name
+' '           Text.Whitespace
+'labeled_sequence_primary' Name
+')'           Punctuation
+'+'           Operator
+' '           Text.Whitespace
+'node_class_declarations' Name
+' '           Text.Whitespace
+'<'           Punctuation
+'Sequence'    Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'sequence_elements' Name.Function
+'\n            ' Text
+'['           Operator
+'head'        Name
+']'           Operator
+' '           Text
+'+'           Operator
+' '           Text
+'tail'        Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'tail'        Name.Function
+'\n            ' Text
+'super'       Keyword
+'.'           Operator
+'elements'    Name
+'.'           Operator
+'map'         Name
+' '           Text
+'{'           Punctuation
+'|'           Operator
+'elt'         Name
+'|'           Operator
+' '           Text
+'elt'         Name
+'.'           Operator
+'labeled_sequence_primary' Name
+' '           Text
+'}'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'('           Punctuation
+'sequence_elements' Name
+'.'           Operator
+'map'         Name
+' '           Text
+'{'           Punctuation
+'|'           Operator
+'elt'         Name
+'|'           Operator
+' '           Text
+'elt'         Name
+'.'           Operator
+'inline_modules' Name
+'}'           Punctuation
+')'           Punctuation
+'.'           Operator
+'flatten'     Name
+' '           Text
+'+'           Operator
+'\n            ' Text
+'['           Operator
+'sequence_element_accessor_module' Name
+']'           Operator
+' '           Text
+'+'           Operator
+'\n            ' Text
+'node_class_declarations' Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'node_class_declarations' Name
+'.'           Operator
+'inline_module_name' Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'alternative' Name
+'\n        '  Text.Whitespace
+'sequence'    Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'primary'     Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'primary'     Name
+'\n        '  Text.Whitespace
+'prefix'      Name
+' '           Text.Whitespace
+'atomic'      Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'parent_expression' Name
+'='           Operator
+'nil'         Keyword.Pseudo
+')'           Punctuation
+'\n            ' Text
+'prefix'      Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'self'        Name.Builtin
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'prefixed_expression' Name.Function
+'\n            ' Text
+'atomic'      Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'atomic'      Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n\t'        Text.Whitespace
+'prefix'      Name
+' '           Text.Whitespace
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'predicate_block' Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'parent_expression' Name
+'='           Operator
+'nil'         Keyword.Pseudo
+')'           Punctuation
+'\n            ' Text
+'prefix'      Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'self'        Name.Builtin
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'prefixed_expression' Name.Function
+'\n            ' Text
+'predicate_block' Name
+'\n          ' Text
+'end'         Keyword
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'['           Operator
+']'           Operator
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+'atomic'      Name
+' '           Text.Whitespace
+'suffix'      Name
+' '           Text.Whitespace
+'node_class_declarations' Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'parent_expression' Name
+'='           Operator
+'nil'         Keyword.Pseudo
+')'           Punctuation
+'\n            ' Text
+'suffix'      Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'self'        Name.Builtin
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'optional_expression' Name.Function
+'\n            ' Text
+'atomic'      Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'node_class_name' Name.Function
+'\n            ' Text
+'node_class_declarations' Name
+'.'           Operator
+'node_class_name' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'atomic'      Name
+'.'           Operator
+'inline_modules' Name
+' '           Text
+'+'           Operator
+' '           Text
+'node_class_declarations' Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'node_class_declarations' Name
+'.'           Operator
+'inline_module_name' Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+'atomic'      Name
+' '           Text.Whitespace
+'node_class_declarations' Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'parent_expression' Name
+'='           Operator
+'nil'         Keyword.Pseudo
+')'           Punctuation
+'\n            ' Text
+'atomic'      Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'self'        Name.Builtin
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'node_class_name' Name.Function
+'\n            ' Text
+'node_class_declarations' Name
+'.'           Operator
+'node_class_name' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'atomic'      Name
+'.'           Operator
+'inline_modules' Name
+' '           Text
+'+'           Operator
+' '           Text
+'node_class_declarations' Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'node_class_declarations' Name
+'.'           Operator
+'inline_module_name' Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'labeled_sequence_primary' Name
+'\n        '  Text.Whitespace
+'label'       Name
+' '           Text.Whitespace
+'sequence_primary' Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'lexical_address' Name
+','           Punctuation
+' '           Text
+'builder'     Name
+')'           Punctuation
+'\n            ' Text
+'sequence_primary' Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'lexical_address' Name
+','           Punctuation
+' '           Text
+'builder'     Name
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'sequence_primary' Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'label_name'  Name.Function
+'\n            ' Text
+'if'          Keyword
+' '           Text
+'label'       Name
+'.'           Operator
+'name'        Name
+'\n              ' Text
+'label'       Name
+'.'           Operator
+'name'        Name
+'\n            ' Text
+'elsif'       Keyword
+' '           Text
+'sequence_primary' Name
+'.'           Operator
+'instance_of?' Name
+'('           Punctuation
+'Nonterminal' Name.Constant
+')'           Punctuation
+'\n              ' Text
+'sequence_primary' Name
+'.'           Operator
+'text_value'  Name
+'\n            ' Text
+'else'        Keyword
+'\n              ' Text
+'nil'         Keyword.Pseudo
+'\n            ' Text
+'end'         Keyword
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'label'       Name
+'\n        '  Text.Whitespace
+'('           Punctuation
+'alpha_char'  Name
+' '           Text.Whitespace
+'alphanumeric_char' Name
+'*'           Operator
+')'           Punctuation
+' '           Text.Whitespace
+"':'"         Literal.String.Single
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'name'        Name.Function
+'\n            ' Text
+'elements'    Name
+'['           Operator
+'0'           Literal.Number.Integer
+']'           Operator
+'.'           Operator
+'text_value'  Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+"''"          Literal.String.Single
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'name'        Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'sequence_primary' Name
+'\n        '  Text.Whitespace
+'prefix'      Name
+' '           Text.Whitespace
+'atomic'      Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'lexical_address' Name
+','           Punctuation
+' '           Text
+'builder'     Name
+')'           Punctuation
+'\n            ' Text
+'prefix'      Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'lexical_address' Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'self'        Name.Builtin
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'prefixed_expression' Name.Function
+'\n            ' Text
+'elements'    Name
+'['           Operator
+'1'           Literal.Number.Integer
+']'           Operator
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'atomic'      Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+'prefix'      Name
+' '           Text.Whitespace
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'predicate_block' Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'parent_expression' Name
+'='           Operator
+'nil'         Keyword.Pseudo
+')'           Punctuation
+'\n            ' Text
+'prefix'      Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'address'     Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'self'        Name.Builtin
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'prefixed_expression' Name.Function
+'\n            ' Text
+'predicate_block' Name
+'\n          ' Text
+'end'         Keyword
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'['           Operator
+']'           Operator
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+'atomic'      Name
+' '           Text.Whitespace
+'suffix'      Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'compile'     Name.Function
+'('           Punctuation
+'lexical_address' Name
+','           Punctuation
+' '           Text
+'builder'     Name
+')'           Punctuation
+'\n            ' Text
+'suffix'      Name
+'.'           Operator
+'compile'     Name
+'('           Punctuation
+'lexical_address' Name
+','           Punctuation
+' '           Text
+'builder'     Name
+','           Punctuation
+' '           Text
+'self'        Name.Builtin
+')'           Punctuation
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'node_class_name' Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'atomic'      Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+'atomic'      Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'suffix'      Name
+'\n        '  Text.Whitespace
+'repetition_suffix' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'optional_suffix' Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'optional_suffix' Name
+'\n        '  Text.Whitespace
+"'?'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'Optional'    Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'node_class_declarations' Name
+'\n        '  Text.Whitespace
+'node_class_expression' Name
+' '           Text.Whitespace
+'trailing_inline_module' Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'node_class_name' Name.Function
+'\n            ' Text
+'node_class_expression' Name
+'.'           Operator
+'node_class_name' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'trailing_inline_module' Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module' Name.Function
+'\n            ' Text
+'trailing_inline_module' Name
+'.'           Operator
+'inline_module' Name
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'inline_module' Name
+'.'           Operator
+'module_name' Name
+' '           Text
+'if'          Keyword
+' '           Text
+'inline_module' Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'repetition_suffix' Name
+'\n        '  Text.Whitespace
+"'+'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'OneOrMore'   Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'*'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'ZeroOrMore'  Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'occurrence_range' Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'occurrence_range' Name
+'\n\t'        Text.Whitespace
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'min'         Name.Label
+':'           Punctuation
+'('           Punctuation
+'[0-9]'       Literal.String.Regex
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+"'..'"        Literal.String.Single
+' '           Text.Whitespace
+'max'         Name.Label
+':'           Punctuation
+'('           Punctuation
+'[0-9]'       Literal.String.Regex
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'<'           Punctuation
+'OccurrenceRange' Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'prefix'      Name
+'\n        '  Text.Whitespace
+"'&'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'AndPredicate' Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'!'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'NotPredicate' Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'~'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'TransientPrefix' Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'atomic'      Name
+'\n        '  Text.Whitespace
+'terminal'    Name
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+'nonterminal' Name
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+'parenthesized_expression' Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'parenthesized_expression' Name
+'\n        '  Text.Whitespace
+"'('"         Literal.String.Single
+' '           Text.Whitespace
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+'parsing_expression' Name
+' '           Text.Whitespace
+'space'       Name
+'?'           Operator
+' '           Text.Whitespace
+"')'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'ParenthesizedExpression' Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'parsing_expression' Name
+'.'           Operator
+'inline_modules' Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'nonterminal' Name
+'\n        '  Text.Whitespace
+'!'           Operator
+'keyword_inside_grammar' Name
+' '           Text.Whitespace
+'('           Punctuation
+'alpha_char'  Name
+' '           Text.Whitespace
+'alphanumeric_char' Name
+'*'           Operator
+')'           Punctuation
+' '           Text.Whitespace
+'<'           Punctuation
+'Nonterminal' Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'terminal'    Name
+'\n        '  Text.Whitespace
+'quoted_string' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'character_class' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'anything_symbol' Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'quoted_string' Name
+'\n        '  Text.Whitespace
+'('           Punctuation
+'single_quoted_string' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'double_quoted_string' Name
+')'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'string'      Name.Function
+'\n            ' Text
+'super'       Keyword
+'.'           Operator
+'text_value'  Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'double_quoted_string' Name
+'\n        '  Text.Whitespace
+'\'"\''       Literal.String.Single
+' '           Text.Whitespace
+'string'      Name.Label
+':'           Punctuation
+'('           Punctuation
+'!'           Operator
+'\'"\''       Literal.String.Single
+' '           Text.Whitespace
+'('           Punctuation
+'"\\\\\\\\"'  Literal.String.Double
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'\'\\"\''     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+')'           Punctuation
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'\'"\''       Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'Terminal'    Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'single_quoted_string' Name
+'\n        '  Text.Whitespace
+'"\'"'        Literal.String.Double
+' '           Text.Whitespace
+'string'      Name.Label
+':'           Punctuation
+'('           Punctuation
+'!'           Operator
+'"\'"'        Literal.String.Double
+' '           Text.Whitespace
+'('           Punctuation
+'"\\\\\\\\"'  Literal.String.Double
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'"\\\\\'"'    Literal.String.Double
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+')'           Punctuation
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+'"\'"'        Literal.String.Double
+' '           Text.Whitespace
+'<'           Punctuation
+'Terminal'    Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'character_class' Name
+'\n        '  Text.Whitespace
+"'['"         Literal.String.Single
+' '           Text.Whitespace
+'characters'  Name.Label
+':'           Punctuation
+'('           Punctuation
+'!'           Operator
+"']'"         Literal.String.Single
+' '           Text.Whitespace
+'('           Punctuation
+"'\\\\'"      Literal.String.Single
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'bracket_expression' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'!'           Operator
+"'\\\\'"      Literal.String.Single
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+')'           Punctuation
+')'           Punctuation
+'+'           Operator
+' '           Text.Whitespace
+"']'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'CharacterClass' Name.Class
+'>'           Punctuation
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'characters'  Name.Function
+'\n            ' Text
+'super'       Keyword
+'.'           Operator
+'text_value'  Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'bracket_expression' Name
+'\n         ' Text.Whitespace
+"'[:'"        Literal.String.Single
+' '           Text.Whitespace
+"'^'"         Literal.String.Single
+'?'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'\n           ' Text.Whitespace
+"'alnum'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'alpha'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'blank'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'cntrl'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'digit'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'graph'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'lower'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+'\n           ' Text.Whitespace
+"'print'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'punct'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'space'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'upper'"     Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'xdigit'"    Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'word'"      Literal.String.Single
+'\n         ' Text.Whitespace
+')'           Punctuation
+' '           Text.Whitespace
+"':]'"        Literal.String.Single
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'anything_symbol' Name
+'\n        '  Text.Whitespace
+"'.'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'AnythingSymbol' Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'node_class_expression' Name
+'\n        '  Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+"'<'"         Literal.String.Single
+' '           Text.Whitespace
+'('           Punctuation
+'!'           Operator
+"'>'"         Literal.String.Single
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+')'           Punctuation
+'+'           Operator
+' '           Text.Whitespace
+"'>'"         Literal.String.Single
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'node_class_name' Name.Function
+'\n            ' Text
+'elements'    Name
+'['           Operator
+'2'           Literal.Number.Integer
+']'           Operator
+'.'           Operator
+'text_value'  Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+"''"          Literal.String.Single
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'node_class_name' Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'trailing_inline_module' Name
+'\n        '  Text.Whitespace
+'space'       Name
+' '           Text.Whitespace
+'inline_module' Name
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'['           Operator
+'inline_module' Name
+']'           Operator
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'inline_module' Name
+'.'           Operator
+'module_name' Name
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n        '  Text.Whitespace
+'/'           Operator
+'\n        '  Text.Whitespace
+"''"          Literal.String.Single
+' '           Text.Whitespace
+'{'           Punctuation
+'\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_modules' Name.Function
+'\n            ' Text
+'['           Operator
+']'           Operator
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module' Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n\n          ' Text
+'def'         Keyword
+' '           Text
+'inline_module_name' Name.Function
+'\n            ' Text
+'nil'         Keyword.Pseudo
+'\n          ' Text
+'end'         Keyword
+'\n        '  Text
+'}'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'predicate_block' Name
+'\n        '  Text.Whitespace
+"''"          Literal.String.Single
+' '           Text.Whitespace
+'inline_module' Name
+' '           Text.Whitespace
+'<'           Punctuation
+'PredicateBlock' Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'inline_module' Name
+'\n        '  Text.Whitespace
+"'{'"         Literal.String.Single
+' '           Text.Whitespace
+'('           Punctuation
+'inline_module' Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'!'           Operator
+'[{}]'        Literal.String.Regex
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+')'           Punctuation
+'*'           Operator
+' '           Text.Whitespace
+"'}'"         Literal.String.Single
+' '           Text.Whitespace
+'<'           Punctuation
+'InlineModule' Name.Class
+'>'           Punctuation
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'keyword_inside_grammar' Name
+'\n        '  Text.Whitespace
+'('           Punctuation
+"'rule'"      Literal.String.Single
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+"'end'"       Literal.String.Single
+')'           Punctuation
+' '           Text.Whitespace
+'!'           Operator
+'non_space_char' Name
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'non_space_char' Name
+'\n        '  Text.Whitespace
+'!'           Operator
+'space'       Name
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'alpha_char'  Name
+'\n        '  Text.Whitespace
+'[A-Za-z_]'   Literal.String.Regex
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'alphanumeric_char' Name
+'\n        '  Text.Whitespace
+'alpha_char'  Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'[0-9]'       Literal.String.Regex
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'space'       Name
+'\n        '  Text.Whitespace
+'('           Punctuation
+'white'       Name
+' '           Text.Whitespace
+'/'           Operator
+' '           Text.Whitespace
+'comment_to_eol' Name
+')'           Punctuation
+'+'           Operator
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'comment_to_eol' Name
+'\n        '  Text.Whitespace
+"'#'"         Literal.String.Single
+' '           Text.Whitespace
+'('           Punctuation
+'!'           Operator
+'"\\n"'       Literal.String.Double
+' '           Text.Whitespace
+'.'           Literal.String.Regex
+')'           Punctuation
+'*'           Operator
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n\n      '  Text.Whitespace
+'rule'        Keyword
+' '           Text.Whitespace
+'white'       Name
+'\n        '  Text.Whitespace
+'[ \\t\\n\\r]' Literal.String.Regex
+'\n      '    Text.Whitespace
+'end'         Keyword
+'\n    '      Text.Whitespace
+'end'         Keyword
+'\n  '        Text.Whitespace
+'end'         Keyword
+'\n'          Text.Whitespace
+
+'end'         Keyword
+'\n'          Text.Whitespace
diff --git a/tests/examplefiles/typescript_example b/tests/examplefiles/ts/typescript_example
similarity index 100%
rename from tests/examplefiles/typescript_example
rename to tests/examplefiles/ts/typescript_example
diff --git a/tests/examplefiles/ts/typescript_example.output b/tests/examplefiles/ts/typescript_example.output
new file mode 100644
index 0000000..a29bed2
--- /dev/null
+++ b/tests/examplefiles/ts/typescript_example.output
@@ -0,0 +1,245 @@
+'class'       Keyword.Declaration
+' '           Text
+'Animal'      Name.Other
+' '           Text
+'{'           Punctuation
+'\n    '      Text
+'constructor' Keyword.Reserved
+'('           Punctuation
+'public'      Keyword
+' '           Text
+'name'        Name.Other
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+' '           Text
+'}'           Punctuation
+'\n    '      Text
+'move'        Name.Other
+'('           Punctuation
+'meters'      Name.Other
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n        '  Text
+'alert'       Name.Other
+'('           Punctuation
+'this'        Keyword
+'.'           Punctuation
+'name'        Name.Other
+' '           Text
+'+'           Operator
+' '           Text
+'" moved "'   Literal.String.Double
+' '           Text
+'+'           Operator
+' '           Text
+'meters'      Name.Other
+' '           Text
+'+'           Operator
+' '           Text
+'"m."'        Literal.String.Double
+')'           Punctuation
+';'           Punctuation
+'\n    '      Text
+'}'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+'\n\n'        Text
+
+'class'       Keyword.Declaration
+' '           Text
+'Snake'       Name.Other
+' '           Text
+'extends'     Keyword
+' '           Text
+'Animal'      Name.Other
+' '           Text
+'{'           Punctuation
+'\n    '      Text
+'constructor' Keyword.Reserved
+'('           Punctuation
+'name'        Name.Other
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+' '           Text
+'super'       Keyword
+'('           Punctuation
+'name'        Name.Other
+')'           Punctuation
+';'           Punctuation
+' '           Text
+'}'           Punctuation
+'\n    '      Text
+'move'        Name.Other
+'('           Punctuation
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n        '  Text
+'alert'       Name.Other
+'('           Punctuation
+'"Slithering..."' Literal.String.Double
+')'           Punctuation
+';'           Punctuation
+'\n        '  Text
+'super'       Keyword
+'.'           Punctuation
+'move'        Name.Other
+'('           Punctuation
+'5'           Literal.Number.Float
+')'           Punctuation
+';'           Punctuation
+'\n    '      Text
+'}'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+'\n\n'        Text
+
+'class'       Keyword.Declaration
+' '           Text
+'Horse'       Name.Other
+' '           Text
+'extends'     Keyword
+' '           Text
+'Animal'      Name.Other
+' '           Text
+'{'           Punctuation
+'\n    '      Text
+'constructor' Keyword.Reserved
+'('           Punctuation
+'name'        Name.Other
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+' '           Text
+'super'       Keyword
+'('           Punctuation
+'name'        Name.Other
+')'           Punctuation
+';'           Punctuation
+' '           Text
+'}'           Punctuation
+'\n    '      Text
+'move'        Name.Other
+'('           Punctuation
+')'           Punctuation
+' '           Text
+'{'           Punctuation
+'\n        '  Text
+'alert'       Name.Other
+'('           Punctuation
+'"Galloping..."' Literal.String.Double
+')'           Punctuation
+';'           Punctuation
+'\n        '  Text
+'super'       Keyword
+'.'           Punctuation
+'move'        Name.Other
+'('           Punctuation
+'45'          Literal.Number.Float
+')'           Punctuation
+';'           Punctuation
+'\n    '      Text
+'}'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+'\n\n'        Text
+
+'@View'       Keyword.Declaration
+'('           Punctuation
+'{'           Punctuation
+'\n    '      Text
+'templateUrl' Name.Other
+':'           Operator
+' '           Text
+'"app/components/LoginForm.html"' Literal.String.Double
+','           Punctuation
+'\n    '      Text
+'directives'  Name.Other
+':'           Operator
+' '           Text
+'['           Punctuation
+'FORM_DIRECTIVES' Name.Other
+','           Punctuation
+' '           Text
+'NgIf'        Name.Other
+']'           Punctuation
+'\n'          Text
+
+'}'           Punctuation
+')'           Punctuation
+'\n'          Text
+
+'@Component'  Keyword.Declaration
+'('           Punctuation
+'{'           Punctuation
+'\n    '      Text
+'selector'    Name.Other
+':'           Operator
+' '           Text
+'"login-form"' Literal.String.Double
+'\n'          Text
+
+'}'           Punctuation
+')'           Punctuation
+'\n'          Text
+
+'class'       Keyword.Declaration
+' '           Text
+'LoginForm'   Name.Other
+' '           Text
+'{'           Punctuation
+'\n\n'        Text
+
+'}'           Punctuation
+'\n\n'        Text
+
+'var'         Keyword.Declaration
+' '           Text
+'sam'         Name.Other
+' '           Text
+'='           Operator
+' '           Text
+'new'         Keyword
+' '           Text
+'Snake'       Name.Other
+'('           Punctuation
+'"Sammy the Python"' Literal.String.Double
+')'           Punctuation
+'\n'          Text
+
+'var'         Keyword.Declaration
+' '           Text
+'tom'         Name.Other
+': '          Text
+'Animal'      Keyword.Type
+' '           Text
+'='           Operator
+' '           Text
+'new'         Keyword
+' '           Text
+'Horse'       Name.Other
+'('           Punctuation
+'"Tommy the Palomino"' Literal.String.Double
+')'           Punctuation
+'\n\n'        Text
+
+'sam'         Name.Other
+'.'           Punctuation
+'move'        Name.Other
+'('           Punctuation
+')'           Punctuation
+'\n'          Text
+
+'tom'         Name.Other
+'.'           Punctuation
+'move'        Name.Other
+'('           Punctuation
+'34'          Literal.Number.Float
+')'           Punctuation
+'\n'          Text
diff --git a/tests/examplefiles/tsql_example.sql b/tests/examplefiles/tsql/tsql_example.sql
similarity index 100%
rename from tests/examplefiles/tsql_example.sql
rename to tests/examplefiles/tsql/tsql_example.sql
diff --git a/tests/examplefiles/tsql/tsql_example.sql.output b/tests/examplefiles/tsql/tsql_example.sql.output
new file mode 100644
index 0000000..3d1feff
--- /dev/null
+++ b/tests/examplefiles/tsql/tsql_example.sql.output
@@ -0,0 +1,464 @@
+'-'           Operator
+'-'           Operator
+' '           Text.Whitespace
+'Example'     Name
+' '           Text.Whitespace
+'Transact'    Name
+'-'           Operator
+'SQL'         Keyword
+' '           Text.Whitespace
+'file'        Keyword
+'.'           Punctuation
+'\n\n'        Text.Whitespace
+
+'-'           Operator
+'-'           Operator
+' '           Text.Whitespace
+'Single'      Name
+' '           Text.Whitespace
+'line'        Name
+' '           Text.Whitespace
+'comment'     Name
+'\n'          Text.Whitespace
+
+'/*'          Comment.Multiline
+' A comment \n ' Comment.Multiline
+'*'           Comment.Multiline
+' spawning two lines. ' Comment.Multiline
+'*/'          Comment.Multiline
+'\n                         ' Text.Whitespace
+'/*'          Comment.Multiline
+' An indented comment\n                          ' Comment.Multiline
+'*'           Comment.Multiline
+' spawning multiple\n                          ' Comment.Multiline
+'*'           Comment.Multiline
+' lines. '    Comment.Multiline
+'*/'          Comment.Multiline
+'\n'          Text.Whitespace
+
+'/*'          Comment.Multiline
+' A '         Comment.Multiline
+'/*'          Comment.Multiline
+' nested '    Comment.Multiline
+'*/'          Comment.Multiline
+' comment. '  Comment.Multiline
+'*/'          Comment.Multiline
+'\n\n'        Text.Whitespace
+
+'select'      Keyword
+'\n    '      Text.Whitespace
+'left'        Name.Function
+'('           Punctuation
+'emp'         Name
+'.'           Punctuation
+'firstname'   Name
+','           Punctuation
+' '           Text.Whitespace
+'1'           Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+"'.'"         Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+'['           Operator
+'emp.surname' Name
+']'           Operator
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"Name"'      Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'dep'         Name
+'.'           Punctuation
+'name'        Name
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'['           Operator
+'Department'  Name
+']'           Operator
+'\n'          Text.Whitespace
+
+'into'        Keyword
+'\n    '      Text.Whitespace
+'#temp_employee' Name
+'\n'          Text.Whitespace
+
+'from'        Keyword
+'\n    '      Text.Whitespace
+'employee'    Name
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'emp'         Name
+'\n    '      Text.Whitespace
+'inner'       Keyword
+' '           Text.Whitespace
+'join'        Keyword
+' '           Text.Whitespace
+'department'  Name
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'dep'         Name
+' '           Text.Whitespace
+'on'          Keyword
+'\n       '   Text.Whitespace
+'dep'         Name
+'.'           Punctuation
+'ident_code'  Name
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'emp'         Name
+'.'           Punctuation
+'department_id' Name
+'\n'          Text.Whitespace
+
+'where'       Keyword
+'\n    '      Text.Whitespace
+'emp'         Name
+'.'           Punctuation
+'date_of_birth' Name
+' '           Text.Whitespace
+'>='          Operator
+' '           Text.Whitespace
+"'1990-01-01'" Literal.String.Single
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'go'          Keyword
+'\n\n'        Text.Whitespace
+
+'declare'     Keyword
+' '           Text.Whitespace
+'@TextToFind' Name.Variable
+' '           Text.Whitespace
+'nvarchar'    Name.Class
+'('           Punctuation
+'100'         Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'N'           Name
+"'some\ntext across\nmultiple lines'" Literal.String.Single
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'set'         Keyword
+' '           Text.Whitespace
+'@TextToFind' Name.Variable
+' '           Text.Whitespace
+'varchar'     Name.Class
+'('           Punctuation
+'32'          Literal.Number.Integer
+')'           Punctuation
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+"'hello'"     Literal.String.Single
+' '           Text.Whitespace
+'+'           Operator
+' '           Text.Whitespace
+"' world'"    Literal.String.Single
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'set'         Keyword
+' '           Text.Whitespace
+'@TextTiFind' Name.Variable
+' '           Text.Whitespace
+'+='          Operator
+' '           Text.Whitespace
+"'!'"         Literal.String.Single
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'declare'     Keyword
+' '           Text.Whitespace
+'@Count'      Name.Variable
+' '           Text.Whitespace
+'int'         Name.Class
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'17'          Literal.Number.Integer
+' '           Text.Whitespace
+'*'           Operator
+' '           Text.Whitespace
+'('           Punctuation
+'3'           Literal.Number.Integer
+' '           Text.Whitespace
+'-'           Operator
+' '           Text.Whitespace
+'5'           Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'delete'      Keyword
+' '           Text.Whitespace
+'from'        Keyword
+'\n    '      Text.Whitespace
+'['           Operator
+'server'      Name
+']'           Operator
+'.'           Punctuation
+'['           Operator
+'database'    Name
+']'           Operator
+'.'           Punctuation
+'['           Operator
+'schema'      Name
+']'           Operator
+'.'           Punctuation
+'['           Operator
+'table'       Name
+']'           Operator
+'\n'          Text.Whitespace
+
+'where'       Keyword
+'\n    '      Text.Whitespace
+'['           Operator
+'Text'        Name
+']'           Operator
+' '           Text.Whitespace
+'='           Operator
+' '           Text.Whitespace
+'@TextToFind' Name.Variable
+' '           Text.Whitespace
+'and'         Operator.Word
+' '           Text.Whitespace
+'author'      Name
+' '           Text.Whitespace
+'Not'         Operator.Word
+' '           Text.Whitespace
+'LIKE'        Operator.Word
+' '           Text.Whitespace
+"'%some%'"    Literal.String.Single
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'goto'        Keyword
+' '           Text.Whitespace
+'overthere'   Name.Label
+';'           Punctuation
+'\n'          Text.Whitespace
+
+'overthere'   Name.Label
+':'           Punctuation
+'\n\n'        Text.Whitespace
+
+'select'      Keyword
+'\n    '      Text.Whitespace
+'123'         Literal.Number.Integer
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"int 1"'     Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'+'           Operator
+'123'         Literal.Number.Integer
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"int 2"'     Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'-'           Operator
+'123'         Literal.Number.Integer
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"int 3"'     Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'0x20'        Literal.Number.Hex
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"hex int"'   Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'123.45'      Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 1"'   Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'-'           Operator
+'1.23e45'     Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 2"'   Literal.String.Symbol
+'\n    '      Text.Whitespace
+'+'           Operator
+'1.23E+45'    Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 3"'   Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'-'           Operator
+'1.23e-45'    Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 4"'   Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'1.'          Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 5"'   Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'.1'          Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 6"'   Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'1.e2'        Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 7"'   Literal.String.Symbol
+','           Punctuation
+'\n    '      Text.Whitespace
+'.1e2'        Literal.Number.Float
+' '           Text.Whitespace
+'as'          Keyword
+' '           Text.Whitespace
+'"float 8"'   Literal.String.Symbol
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'Select'      Keyword
+' '           Text.Whitespace
+'@@Error'     Name.Builtin
+','           Punctuation
+' '           Text.Whitespace
+'$PARTITion'  Name.Function
+'.'           Punctuation
+'RangePF1'    Name
+'('           Punctuation
+'10'          Literal.Number.Integer
+')'           Punctuation
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'select'      Keyword
+' '           Text.Whitespace
+'top'         Keyword
+' '           Text.Whitespace
+'3'           Literal.Number.Integer
+' '           Text.Whitespace
+'Ähnliches'   Name
+' '           Text.Whitespace
+'from'        Keyword
+' '           Text.Whitespace
+'Müll'        Name
+';'           Punctuation
+'\n\n'        Text.Whitespace
+
+'-'           Operator
+'-'           Operator
+' '           Text.Whitespace
+'Example'     Name
+' '           Text.Whitespace
+'transaction' Keyword
+'\n'          Text.Whitespace
+
+'BEGIN'       Keyword
+' '           Text.Whitespace
+'TRAN'        Keyword
+'\n\n'        Text.Whitespace
+
+'BEGIN'       Keyword
+' '           Text.Whitespace
+'TRY'         Keyword
+'\n   '       Text.Whitespace
+'INSERT'      Keyword
+' '           Text.Whitespace
+'INTO'        Keyword
+' '           Text.Whitespace
+'#temp_employe' Name
+'('           Punctuation
+'Name'        Name
+','           Punctuation
+' '           Text.Whitespace
+'Department'  Name
+')'           Punctuation
+' '           Text.Whitespace
+'VALUES'      Keyword
+' '           Text.Whitespace
+'('           Punctuation
+"'L. Miller'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+"'Sales'"     Literal.String.Single
+')'           Punctuation
+'\n   '       Text.Whitespace
+'iNsErT'      Keyword
+' '           Text.Whitespace
+'inTO'        Keyword
+' '           Text.Whitespace
+'#temp_employe' Name
+'('           Punctuation
+'Name'        Name
+','           Punctuation
+' '           Text.Whitespace
+'Department'  Name
+')'           Punctuation
+' '           Text.Whitespace
+'VaLuEs'      Keyword
+' '           Text.Whitespace
+'('           Punctuation
+"'M. Webster'" Literal.String.Single
+','           Punctuation
+' '           Text.Whitespace
+"'Helpdesk'"  Literal.String.Single
+')'           Punctuation
+'\n   '       Text.Whitespace
+'COMMIT'      Keyword
+' '           Text.Whitespace
+'TRAN'        Keyword
+'\n'          Text.Whitespace
+
+'END'         Keyword
+' '           Text.Whitespace
+'TRY'         Keyword
+'\n'          Text.Whitespace
+
+'BEGIN'       Keyword
+' '           Text.Whitespace
+'CATCH'       Keyword
+'\n   '       Text.Whitespace
+'print'       Keyword
+' '           Text.Whitespace
+"'cannot perform transaction; rolling back'" Literal.String.Single
+';'           Punctuation
+'\n   '       Text.Whitespace
+'ROLLBACK'    Keyword
+' '           Text.Whitespace
+'TRAN'        Keyword
+'\n'          Text.Whitespace
+
+'END'         Keyword
+' '           Text.Whitespace
+'CATCH'       Keyword
+'\n\n'        Text.Whitespace
+
+'-- Comment at end without newline.\n' Comment.Single
diff --git a/tests/examplefiles/teraterm.ttl b/tests/examplefiles/ttl/teraterm.ttl
similarity index 100%
rename from tests/examplefiles/teraterm.ttl
rename to tests/examplefiles/ttl/teraterm.ttl
diff --git a/tests/examplefiles/ttl/teraterm.ttl.output b/tests/examplefiles/ttl/teraterm.ttl.output
new file mode 100644
index 0000000..0be9ac8
--- /dev/null
+++ b/tests/examplefiles/ttl/teraterm.ttl.output
@@ -0,0 +1,388 @@
+'messagebox'  Keyword
+' '           Text
+'"'           Literal.String.Double
+'t'           Literal.String
+'e'           Literal.String
+'x'           Literal.String
+'t'           Literal.String
+' '           Literal.String
+'\\\\'        Literal.String.Escape
+'n'           Literal.String
+'o'           Literal.String
+'t'           Literal.String
+' '           Literal.String
+'e'           Literal.String
+'s'           Literal.String
+'c'           Literal.String
+'a'           Literal.String
+'p'           Literal.String
+'e'           Literal.String
+'d'           Literal.String
+' '           Literal.String
+'\\n'         Literal.String.Escape
+'e'           Literal.String
+'s'           Literal.String
+'c'           Literal.String
+'a'           Literal.String
+'p'           Literal.String
+'e'           Literal.String
+'d'           Literal.String
+' '           Literal.String
+'n'           Literal.String
+'"'           Literal.String.Double
+' '           Text
+'"'           Literal.String.Double
+'o'           Literal.String
+'t'           Literal.String
+'h'           Literal.String
+'e'           Literal.String
+'r'           Literal.String
+'\\n'         Literal.String.Escape
+'\\'          Literal.String
+'r'           Literal.String
+'t'           Literal.String
+'h'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+'"'           Literal.String.Double
+'\n'          Text
+
+'messagebox'  Keyword
+' '           Text
+'"'           Literal.String.Double
+'g'           Literal.String
+'o'           Literal.String
+'t'           Literal.String
+'o'           Literal.String
+' '           Literal.String
+'l'           Literal.String
+'a'           Literal.String
+'b'           Literal.String
+'e'           Literal.String
+'l'           Literal.String
+' '           Literal.String
+'/'           Literal.String
+'*'           Literal.String
+' '           Literal.String
+'a'           Literal.String
+' '           Literal.String
+'s'           Literal.String
+'t'           Literal.String
+'r'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+' '           Literal.String
+'*'           Literal.String
+'/'           Literal.String
+' '           Literal.String
+';'           Literal.String
+' '           Literal.String
+'s'           Literal.String
+'a'           Literal.String
+'m'           Literal.String
+'e'           Literal.String
+' '           Literal.String
+'s'           Literal.String
+'t'           Literal.String
+'r'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+'"'           Literal.String.Double
+'\n'          Text
+
+'a'           Name.Variable
+'='           Operator
+'10'          Literal.Number.Integer
+'\n'          Text
+
+'b'           Name.Variable
+'='           Operator
+'  '          Text
+"'"           Literal.String.Single
+'a'           Literal.String
+'b'           Literal.String
+'c'           Literal.String
+"'"           Literal.String.Single
+'#$41'        Literal.String.Char
+"'"           Literal.String.Single
+'d'           Literal.String
+'e'           Literal.String
+'f'           Literal.String
+"'"           Literal.String.Single
+'\n'          Text
+
+'c'           Name.Variable
+' '           Text
+'='           Operator
+'#65'         Literal.String.Char
+'   '         Text
+'/*'          Comment.Multiline
+' multiline comment ' Comment.Multiline
+'*'           Comment.Multiline
+' '           Comment.Multiline
+'/'           Comment.Multiline
+' '           Comment.Multiline
+'*'           Comment.Multiline
+' '           Comment.Multiline
+'/'           Comment.Multiline
+' '           Comment.Multiline
+'*/'          Comment.Multiline
+'/*'          Comment.Multiline
+'\ncomment '  Comment.Multiline
+'*/'          Comment.Multiline
+' '           Text
+'d'           Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+'10'          Literal.Number.Integer
+'   '         Text
+'; inline comment /* still inline */' Comment.Single
+'\n'          Text
+
+'e'           Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+'d'           Name.Variable
+' '           Text
+'+'           Operator
+' '           Text
+'20'          Literal.Number.Integer
+' '           Text
+'-'           Operator
+' '           Text
+'('           Literal.String.Symbol
+'('           Literal.String.Symbol
+'$a'          Literal.Number.Hex
+' '           Text
+'*'           Operator
+' '           Text
+'2'           Literal.Number.Integer
+')'           Literal.String.Symbol
+' '           Text
+'/'           Operator
+' '           Text
+'4'           Literal.Number.Integer
+')'           Literal.String.Symbol
+' '           Text
+'<<'          Operator
+' '           Text
+'3'           Literal.Number.Integer
+' '           Text
+'%'           Operator
+' '           Text
+'('           Literal.String.Symbol
+'2'           Literal.Number.Integer
+' '           Text
+'>>'          Operator
+' '           Text
+'1'           Literal.Number.Integer
+')'           Literal.String.Symbol
+' '           Text
+'+'           Operator
+' '           Text
+'result'      Name.Builtin
+'\n\n\n'      Text
+
+':thing'      Name.Label
+'\n\n'        Text
+
+'strcompare'  Keyword
+' '           Text
+'c'           Name.Variable
+' '           Text
+'"'           Literal.String.Double
+'t'           Literal.String
+'h'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+'"'           Literal.String.Double
+'\n'          Text
+
+'if'          Keyword
+' '           Text
+'result'      Name.Builtin
+' '           Text
+'='           Operator
+' '           Text
+'1'           Literal.Number.Integer
+' '           Text
+'then'        Keyword
+'\n    '      Text
+'goto'        Keyword
+' '           Text
+'label_'      Name.Label
+'\n'          Text
+
+'elseif'      Keyword
+' '           Text
+'result'      Name.Builtin
+' '           Text
+'>'           Operator
+' '           Text
+'-'           Operator
+'1'           Literal.Number.Integer
+' '           Text
+'then'        Keyword
+'\n    '      Text
+'goto'        Keyword
+' '           Text
+'10'          Name.Label
+'\n'          Text
+
+'elseif'      Keyword
+' '           Text
+'d'           Name.Variable
+' '           Text
+'>'           Operator
+' '           Text
+'('           Literal.String.Symbol
+'1'           Literal.Number.Integer
+'+'           Operator
+'2'           Literal.Number.Integer
+'*'           Operator
+'3'           Literal.Number.Integer
+')'           Literal.String.Symbol
+'/'           Operator
+'7'           Literal.Number.Integer
+' '           Text
+'then'        Keyword
+'\n    '      Text
+'messagebox'  Keyword
+' '           Text
+'"'           Literal.String.Double
+'t'           Literal.String
+'h'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+'"'           Literal.String.Double
+'\n'          Text
+
+'else'        Keyword
+'\n    '      Text
+'messagebox'  Keyword
+' '           Text
+'"'           Literal.String.Double
+'d'           Literal.String
+'o'           Literal.String
+'n'           Literal.String
+'e'           Literal.String
+'"'           Literal.String.Double
+'\n'          Text
+
+'endif'       Keyword
+'\n\n'        Text
+
+'if'          Keyword
+' '           Text
+'abc'         Name.Variable
+' '           Text
+'messagebox'  Keyword
+' '           Text
+'"'           Literal.String.Double
+'t'           Literal.String
+'h'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+'1'           Literal.String
+'"'           Literal.String.Double
+' '           Text
+'"'           Literal.String.Double
+'t'           Literal.String
+'i'           Literal.String
+'t'           Literal.String
+'l'           Literal.String
+'e'           Literal.String
+'"'           Literal.String.Double
+'\n\n\n'      Text
+
+'; Invalid syntax' Comment.Single
+'\n'          Text
+
+'bad'         Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+'"'           Literal.String.Double
+'n'           Literal.String
+'o'           Literal.String
+' '           Literal.String
+'c'           Literal.String
+'l'           Literal.String
+'o'           Literal.String
+'s'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+' '           Literal.String
+'d'           Literal.String
+'o'           Literal.String
+'u'           Literal.String
+'b'           Literal.String
+'l'           Literal.String
+'e'           Literal.String
+' '           Literal.String
+'q'           Literal.String
+'u'           Literal.String
+'o'           Literal.String
+'t'           Literal.String
+'e'           Literal.String
+'\n'          Text
+
+'bad'         Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+"'"           Literal.String.Single
+'n'           Literal.String
+'o'           Literal.String
+' '           Literal.String
+'c'           Literal.String
+'l'           Literal.String
+'o'           Literal.String
+'s'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+' '           Literal.String
+'s'           Literal.String
+'i'           Literal.String
+'n'           Literal.String
+'g'           Literal.String
+'l'           Literal.String
+'e'           Literal.String
+' '           Literal.String
+'q'           Literal.String
+'u'           Literal.String
+'o'           Literal.String
+'t'           Literal.String
+'e'           Literal.String
+'\n'          Text
+
+'garbage'     Name.Variable
+'\n'          Text
+
+'.'           Text
+'.'           Text
+'.'           Text
+'\n'          Text
+
+'.'           Text
+'.'           Text
+'.'           Text
+'\n'          Text
+
+'.'           Text
+'.'           Text
+'.'           Text
+'\n\n'        Text
+
+'endgarbage'  Name.Variable
+'\n'          Text
diff --git a/tests/examplefiles/example.ttl b/tests/examplefiles/turtle/example.ttl
similarity index 100%
rename from tests/examplefiles/example.ttl
rename to tests/examplefiles/turtle/example.ttl
diff --git a/tests/examplefiles/turtle/example.ttl.output b/tests/examplefiles/turtle/example.ttl.output
new file mode 100644
index 0000000..445ca9d
--- /dev/null
+++ b/tests/examplefiles/turtle/example.ttl.output
@@ -0,0 +1,346 @@
+'@base'       Keyword
+'  '          Text.Whitespace
+'' Name.Variable
+' '           Text.Whitespace
+'.'           Punctuation
+'\n'          Text
+
+'@prefix'     Keyword
+' '           Text.Whitespace
+'dcterms:'    Name.Namespace
+' '           Text.Whitespace
+'' Name.Variable
+'.'           Punctuation
+' '           Text
+'@prefix'     Keyword
+' '           Text.Whitespace
+'xs:'         Name.Namespace
+' '           Text.Whitespace
+'' Name.Variable
+' '           Text.Whitespace
+'.'           Punctuation
+'\n'          Text
+
+'@prefix'     Keyword
+' '           Text.Whitespace
+'mads:'       Name.Namespace
+' '           Text.Whitespace
+'' Name.Variable
+' '           Text.Whitespace
+'.'           Punctuation
+'\n'          Text
+
+'@prefix'     Keyword
+' '           Text.Whitespace
+'skos:'       Name.Namespace
+' '           Text.Whitespace
+'' Name.Variable
+' '           Text.Whitespace
+'.'           Punctuation
+'\n'          Text
+
+'PREFIX'      Keyword
+' '           Text.Whitespace
+'dc:'         Name.Namespace
+' '           Text.Whitespace
+'' Name.Variable
+'  '          Text.Whitespace
+'# SPARQL-like syntax is OK' Comment
+'\n'          Text
+
+'@prefix'     Keyword
+' '           Text.Whitespace
+':'           Name.Namespace
+' '           Text.Whitespace
+'' Name.Variable
+' '           Text.Whitespace
+'.'           Punctuation
+'  '          Text
+'# empty prefix is OK' Comment
+'\n\n'        Text
+
+'' Name.Variable
+' '           Text
+'' Name.Variable
+' '           Text
+'' Name.Variable
+' '           Text
+'.'           Punctuation
+'\n\n'        Text
+
+'<#doc1>'     Name.Variable
+' '           Text
+'a'           Keyword.Type
+' '           Text
+'<#document>' Name.Variable
+';'           Punctuation
+'\n\t'        Text
+'dc'          Name.Namespace
+':'           Punctuation
+'creator'     Name.Tag
+' '           Text
+'"'           Literal.String
+'Smith'       Literal.String
+'"'           Literal.String
+','           Punctuation
+' '           Text
+'"'           Literal.String
+'Jones'       Literal.String
+'"'           Literal.String
+';'           Punctuation
+' \n\t'       Text
+':'           Punctuation
+'knows'       Name.Tag
+' '           Text
+'' Name.Variable
+';'           Punctuation
+'\n\t'        Text
+'dcterms'     Name.Namespace
+':'           Punctuation
+'hasPart'     Name.Tag
+' '           Text
+'['           Punctuation
+' '           Text
+'# A comment' Comment
+'\n\t\t'      Text
+'dc'          Name.Namespace
+':'           Punctuation
+'title'       Name.Tag
+' '           Text
+'"'           Literal.String
+'Some title'  Literal.String
+'"'           Literal.String
+','           Punctuation
+' '           Text
+'"'           Literal.String
+'Some other title' Literal.String
+'"'           Literal.String
+';'           Punctuation
+'\n\t\t'      Text
+'dc'          Name.Namespace
+':'           Punctuation
+'creator'     Name.Tag
+' '           Text
+'"'           Literal.String
+'برشت، برتولد' Literal.String
+'"'           Literal.String
+'@'           Operator
+'ar'          Generic.Emph
+';'           Punctuation
+'\n\t\t'      Text
+'dc'          Name.Namespace
+':'           Punctuation
+'date'        Name.Tag
+' '           Text
+'"'           Literal.String
+'2009'        Literal.String
+'"'           Literal.String
+'^'           Punctuation
+'^'           Punctuation
+'xs'          Name.Namespace
+':'           Punctuation
+'date'        Name.Tag
+'\n\t'        Text
+']'           Punctuation
+';'           Punctuation
+'\n\t'        Text
+'dc'          Name.Namespace
+':'           Punctuation
+'title'       Name.Tag
+' '           Text
+'"'           Literal.String
+'A sample title' Literal.String
+'"'           Literal.String
+','           Punctuation
+' '           Text
+'23.0'        Literal.Number.Float
+';'           Punctuation
+'\n\t'        Text
+'dcterms'     Name.Namespace
+':'           Punctuation
+'isPartOf'    Name.Tag
+' '           Text
+'['           Punctuation
+'\n\t\t'      Text
+'dc'          Name.Namespace
+':'           Punctuation
+'title'       Name.Tag
+' '           Text
+'"'           Literal.String
+'another'     Literal.String
+'"'           Literal.String
+','           Punctuation
+' '           Text
+'"'           Literal.String
+'title'       Literal.String
+'"'           Literal.String
+'\n\t'        Text
+']'           Punctuation
+' '           Text
+';'           Punctuation
+'\n\t'        Text
+':'           Punctuation
+'exists'      Name.Tag
+' '           Text
+'true'        Literal
+' '           Text
+'.'           Punctuation
+'\n\n'        Text
+
+'' Name.Variable
+' '           Text
+'a'           Keyword.Type
+' '           Text
+'mads'        Name.Namespace
+':'           Punctuation
+'Topic'       Name.Tag
+','           Punctuation
+'\n    '      Text
+'skos'        Name.Namespace
+':'           Punctuation
+'Concept'     Name.Tag
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'dcterms'     Name.Namespace
+':'           Punctuation
+'created'     Name.Tag
+' '           Text
+'"'           Literal.String
+'2014-08-25'  Literal.String
+'"'           Literal.String
+'^'           Punctuation
+'^'           Punctuation
+'xs'          Name.Namespace
+':'           Punctuation
+'date'        Name.Tag
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'dcterms'     Name.Namespace
+':'           Punctuation
+'modified'    Name.Tag
+' '           Text
+'"'           Literal.String
+'2014-11-12'  Literal.String
+'"'           Literal.String
+'^'           Punctuation
+'^'           Punctuation
+'xs'          Name.Namespace
+':'           Punctuation
+'date'        Name.Tag
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'dcterms'     Name.Namespace
+':'           Punctuation
+'identifier'  Name.Tag
+' '           Text
+'"'           Literal.String
+'REAL006839'  Literal.String
+'"'           Literal.String
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'skos'        Name.Namespace
+':'           Punctuation
+'prefLabel'   Name.Tag
+' '           Text
+'"'           Literal.String
+'Flerbørstemarker' Literal.String
+'"'           Literal.String
+'@'           Operator
+'nb'          Generic.Emph
+','           Punctuation
+'\n        '  Text
+'"'           Literal.String
+'Polychaeta'  Literal.String
+'"'           Literal.String
+'@'           Operator
+'la'          Generic.Emph
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'skos'        Name.Namespace
+':'           Punctuation
+'altLabel'    Name.Tag
+' '           Text
+'"'           Literal.String
+'Flerbørsteormer' Literal.String
+'"'           Literal.String
+'@'           Operator
+'nb'          Generic.Emph
+','           Punctuation
+'\n        '  Text
+'"'           Literal.String
+'Mangebørstemark' Literal.String
+'"'           Literal.String
+'@'           Operator
+'nb'          Generic.Emph
+','           Punctuation
+'\n        '  Text
+'"'           Literal.String
+'Mangebørsteormer' Literal.String
+'"'           Literal.String
+'@'           Operator
+'nb'          Generic.Emph
+','           Punctuation
+'\n        '  Text
+'"'           Literal.String
+'Havbørsteormer' Literal.String
+'"'           Literal.String
+'@'           Operator
+'nb'          Generic.Emph
+','           Punctuation
+'\n        '  Text
+'"'           Literal.String
+'Havbørstemarker' Literal.String
+'"'           Literal.String
+'@'           Operator
+'nb'          Generic.Emph
+','           Punctuation
+'\n        '  Text
+'"'           Literal.String
+'Polycheter'  Literal.String
+'"'           Literal.String
+'@'           Operator
+'nb'          Generic.Emph
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'skos'        Name.Namespace
+':'           Punctuation
+'inScheme'    Name.Tag
+' '           Text
+'' Name.Variable
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'skos'        Name.Namespace
+':'           Punctuation
+'narrower'    Name.Tag
+' '           Text
+'' Name.Variable
+','           Punctuation
+'\n        '  Text
+'' Name.Variable
+','           Punctuation
+'\n        '  Text
+'' Name.Variable
+' '           Text
+';'           Punctuation
+'\n    '      Text
+'skos'        Name.Namespace
+':'           Punctuation
+'exactMatch'  Name.Tag
+' '           Text
+'' Name.Variable
+','           Punctuation
+'\n        '  Text
+'' Name.Variable
+','           Punctuation
+'\n        '  Text
+'' Name.Variable
+' '           Text
+'.'           Punctuation
+'\n'          Text
diff --git a/tests/examplefiles/twig_test b/tests/examplefiles/twig/twig_test
similarity index 100%
rename from tests/examplefiles/twig_test
rename to tests/examplefiles/twig/twig_test
diff --git a/tests/examplefiles/twig/twig_test.output b/tests/examplefiles/twig/twig_test.output
new file mode 100644
index 0000000..0512ac4
--- /dev/null
+++ b/tests/examplefiles/twig/twig_test.output
@@ -0,0 +1,16680 @@
+'From the Twig test suite, https://github.com/fabpot/Twig, available under BSD license.\n\n--TEST--\nException for an unclosed tag\n--TEMPLATE--\n' Other
+
+'{%'          Comment.Preproc
+' '           Text
+'block'       Keyword
+' '           Text
+'foo'         Name.Variable
+' '           Text
+'%}'          Comment.Preproc
+'\n     '     Other
+'{%'          Comment.Preproc
+' '           Text
+'if'          Keyword
+' '           Text
+'foo'         Name.Variable
+' '           Text
+'%}'          Comment.Preproc
+'\n\n\n\n\n         ' Other
+'{%'          Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'i'           Name.Variable
+' '           Text
+'in'          Keyword
+' '           Text
+'fo'          Name.Variable
+' '           Text
+'%}'          Comment.Preproc
+'\n\n\n\n         ' Other
+'{%'          Comment.Preproc
+' '           Text
+'endfor'      Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n\n\n\n'    Other
+
+'{%'          Comment.Preproc
+' '           Text
+'endblock'    Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n--EXCEPTION--\nTwig_Error_Syntax: Unexpected tag name "endblock" (expecting closing tag for the "if" tag defined near line 4) in "index.twig" at line 16\n--TEST--\nException for an undefined trait\n--TEMPLATE--\n' Other
+
+'{%'          Comment.Preproc
+' '           Text
+'use'         Keyword
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'with'        Name.Variable
+' '           Text
+'foobar'      Name.Variable
+' '           Text
+'as'          Name.Variable
+' '           Text
+'bar'         Name.Variable
+' '           Text
+'%}'          Comment.Preproc
+'\n--TEMPLATE(foo)--\n' Other
+
+'{%'          Comment.Preproc
+' '           Text
+'block'       Keyword
+' '           Text
+'bar'         Name.Variable
+' '           Text
+'%}'          Comment.Preproc
+'\n'          Other
+
+'{%'          Comment.Preproc
+' '           Text
+'endblock'    Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n--EXCEPTION--\nTwig_Error_Runtime: Block "foobar" is not defined in trait "foo" in "index.twig".\n--TEST--\nTwig supports method calls\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'['           Operator
+"'foo'"       Literal.String.Single
+']'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'['           Operator
+'foo'         Name.Variable
+']'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'['           Operator
+'items'       Name.Variable
+'['           Operator
+'foo'         Name.Variable
+']'           Operator
+']'           Operator
+' '           Text
+'}}'          Comment.Preproc
+"\n--DATA--\nreturn array('foo' => 'bar', 'items' => array('foo' => 'bar', 'bar' => 'foo'))\n--EXPECT--\nbar\nbar\nfoo\nbar\n--TEST--\nTwig supports array notation\n--TEMPLATE--\n" Other
+
+'{# empty array #}' Comment
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'['           Operator
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n\n'        Other
+
+'{{'          Comment.Preproc
+' '           Text
+'['           Operator
+'1'           Literal.Number
+','           Operator
+' '           Text
+'2'           Literal.Number
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'['           Operator
+"'foo'"       Literal.String.Single
+','           Operator
+' '           Text
+'"bar"'       Literal.String.Double
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'{'           Operator
+'0'           Literal.Number
+':'           Operator
+' '           Text
+'1'           Literal.Number
+','           Operator
+' '           Text
+"'foo'"       Literal.String.Single
+':'           Operator
+' '           Text
+"'bar'"       Literal.String.Single
+'}'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'{'           Operator
+'0'           Literal.Number
+':'           Operator
+' '           Text
+'1'           Literal.Number
+','           Operator
+' '           Text
+"'foo'"       Literal.String.Single
+':'           Operator
+' '           Text
+"'bar'"       Literal.String.Single
+'}'           Operator
+'|'           Operator
+'keys'        Name.Function
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n\n'        Other
+
+'{{'          Comment.Preproc
+' '           Text
+'{'           Operator
+'0'           Literal.Number
+':'           Operator
+' '           Text
+'1'           Literal.Number
+','           Operator
+' '           Text
+'foo'         Name.Variable
+':'           Operator
+' '           Text
+"'bar'"       Literal.String.Single
+'}'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'{'           Operator
+'0'           Literal.Number
+':'           Operator
+' '           Text
+'1'           Literal.Number
+','           Operator
+' '           Text
+'foo'         Name.Variable
+':'           Operator
+' '           Text
+"'bar'"       Literal.String.Single
+'}'           Operator
+'|'           Operator
+'keys'        Name.Function
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n\n'        Other
+
+'{# nested arrays #}' Comment
+'\n'          Other
+
+'{%'          Comment.Preproc
+' '           Text
+'set'         Keyword
+' '           Text
+'a'           Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+'['           Operator
+'1'           Literal.Number
+','           Operator
+' '           Text
+'2'           Literal.Number
+','           Operator
+' '           Text
+'['           Operator
+'1'           Literal.Number
+','           Operator
+' '           Text
+'2'           Literal.Number
+']'           Operator
+','           Operator
+' '           Text
+'{'           Operator
+"'foo'"       Literal.String.Single
+':'           Operator
+' '           Text
+'{'           Operator
+"'foo'"       Literal.String.Single
+':'           Operator
+' '           Text
+"'bar'"       Literal.String.Single
+'}'           Operator
+'}'           Operator
+']'           Operator
+' '           Text
+'%}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'a'           Name.Variable
+'['           Operator
+'2'           Literal.Number
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'a'           Name.Variable
+'['           Operator
+'3'           Literal.Number
+']'           Operator
+'['           Operator
+'"foo"'       Literal.String.Double
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n\n'        Other
+
+'{# works even if [] is used inside the array #}' Comment
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'['           Operator
+'foo'         Name.Variable
+'['           Operator
+'bar'         Name.Variable
+']'           Operator
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n\n'        Other
+
+'{# elements can be any expression #}' Comment
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'['           Operator
+"'foo'"       Literal.String.Single
+'|'           Operator
+'upper'       Name.Function
+','           Operator
+' '           Text
+'bar'         Name.Variable
+'|'           Operator
+'upper'       Name.Function
+','           Operator
+' '           Text
+'bar'         Name.Variable
+' '           Text
+'=='          Operator
+' '           Text
+'foo'         Name.Variable
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n\n'        Other
+
+'{# arrays can have a trailing , like in PHP #}' Comment
+'\n'          Other
+
+'{{'          Comment.Preproc
+'\n  '        Text
+'['           Operator
+'\n    '      Text
+'1'           Literal.Number
+','           Operator
+'\n    '      Text
+'2'           Literal.Number
+','           Operator
+'\n  '        Text
+']'           Operator
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+'\n'          Text
+
+'}}'          Comment.Preproc
+'\n\n'        Other
+
+'{# keys can be any expression #}' Comment
+'\n'          Other
+
+'{%'          Comment.Preproc
+' '           Text
+'set'         Keyword
+' '           Text
+'a'           Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'%}'          Comment.Preproc
+'\n'          Other
+
+'{%'          Comment.Preproc
+' '           Text
+'set'         Keyword
+' '           Text
+'b'           Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+'"foo"'       Literal.String.Double
+' '           Text
+'%}'          Comment.Preproc
+'\n'          Other
+
+'{%'          Comment.Preproc
+' '           Text
+'set'         Keyword
+' '           Text
+'ary'         Name.Variable
+' '           Text
+'='           Operator
+' '           Text
+'{'           Operator
+' '           Text
+'('           Operator
+'a'           Name.Variable
+')'           Operator
+':'           Operator
+' '           Text
+"'a'"         Literal.String.Single
+','           Operator
+' '           Text
+'('           Operator
+'b'           Name.Variable
+')'           Operator
+':'           Operator
+' '           Text
+"'b'"         Literal.String.Single
+','           Operator
+' '           Text
+"'c'"         Literal.String.Single
+':'           Operator
+' '           Text
+"'c'"         Literal.String.Single
+','           Operator
+' '           Text
+'('           Operator
+'a'           Name.Variable
+' '           Text
+'~'           Operator
+' '           Text
+'b'           Name.Variable
+')'           Operator
+':'           Operator
+' '           Text
+"'d'"         Literal.String.Single
+' '           Text
+'}'           Operator
+' '           Text
+'%}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'ary'         Name.Variable
+'|'           Operator
+'keys'        Name.Function
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'ary'         Name.Variable
+'|'           Operator
+'join'        Name.Function
+'('           Operator
+"','"         Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+"\n--DATA--\nreturn array('bar' => 'bar', 'foo' => array('bar' => 'bar'))\n--EXPECT--\n1,2\nfoo,bar\n1,bar\n0,foo\n\n1,bar\n0,foo\n\n1,2\nbar\n\nbar\n\nFOO,BAR,\n\n1,2\n\n1,foo,c,1foo\na,b,c,d\n--TEST--\nTwig supports binary operations (+, -, *, /, ~, %, and, or)\n--TEMPLATE--\n" Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'+'           Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'2'           Literal.Number
+' '           Text
+'-'           Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'2'           Literal.Number
+' '           Text
+'*'           Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'2'           Literal.Number
+' '           Text
+'/'           Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'3'           Literal.Number
+' '           Text
+'%'           Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'or'          Keyword
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'or'          Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'or'          Keyword
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'or'          Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'or'          Keyword
+' '           Text
+'1'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'or'          Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'"foo"'       Literal.String.Double
+' '           Text
+'~'           Operator
+' '           Text
+'"bar"'       Literal.String.Double
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'foo'         Name.Variable
+' '           Text
+'~'           Operator
+' '           Text
+'"bar"'       Literal.String.Double
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'"foo"'       Literal.String.Double
+' '           Text
+'~'           Operator
+' '           Text
+'bar'         Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'foo'         Name.Variable
+' '           Text
+'~'           Operator
+' '           Text
+'bar'         Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'2'           Literal.Number
+'0'           Literal.Number
+' '           Text
+'/'           Operator
+'/'           Operator
+' '           Text
+'7'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+"\n--DATA--\nreturn array('foo' => 'bar', 'bar' => 'foo')\n--EXPECT--\n2\n1\n4\n1\n1\n1\n\n\n\n1\n1\n1\n\n\n1\nfoobar\nbarbar\nfoofoo\nbarfoo\n2\n--TEST--\nTwig supports bitwise operations\n--TEMPLATE--\n" Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'b-and'       Keyword
+' '           Text
+'5'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'b-or'        Keyword
+' '           Text
+'5'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'b-xor'       Keyword
+' '           Text
+'5'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'('           Operator
+'1'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'b-or'        Keyword
+' '           Text
+'0'           Literal.Number
+')'           Operator
+' '           Text
+'is'          Keyword
+' '           Text
+'same'        Name.Function
+' '           Text
+'as'          Name.Variable
+'('           Operator
+'1'           Literal.Number
+' '           Text
+'and'         Keyword
+' '           Text
+'('           Operator
+'0'           Literal.Number
+' '           Text
+'b-or'        Keyword
+' '           Text
+'0'           Literal.Number
+')'           Operator
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'ok'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'ko'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\n1\n5\n4\nok\n--TEST--\nTwig supports comparison operators (==, !=, <, >, >=, <=)\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'>'           Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'>'           Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'>='          Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'>='          Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'<'           Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'<'           Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'<='          Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'<='          Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'=='          Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'=='          Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'!='          Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'/'           Other
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'!='          Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\n///1\n1//1/1\n1/\n/1\n--TEST--\nTwig supports the "divisible by" operator\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'8'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'divisible'   Name.Function
+' '           Text
+'by'          Name.Variable
+'('           Operator
+'2'           Literal.Number
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'8'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'not'         Keyword
+' '           Text
+'divisible'   Name.Function
+' '           Text
+'by'          Name.Variable
+'('           Operator
+'3'           Literal.Number
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'8'           Literal.Number
+' '           Text
+'is'          Keyword
+'    '        Text
+'divisible'   Name.Function
+'   '         Text
+'by'          Name.Variable
+'   '         Text
+'('           Operator
+'2'           Literal.Number
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'8'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'not'         Keyword
+'\n   '       Text
+'divisible'   Name.Function
+'\n   '       Text
+'by'          Name.Variable
+'\n   '       Text
+'('           Operator
+'3'           Literal.Number
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\nOK\nOK\nOK\nOK\n--TEST--\nTwig supports the .. operator\n--TEMPLATE--\n' Other
+
+'{%'          Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'i'           Name.Variable
+' '           Text
+'in'          Keyword
+' '           Text
+'0.'          Literal.Number
+'.10'         Literal.Number
+' '           Text
+'%}'          Comment.Preproc
+'{{'          Comment.Preproc
+' '           Text
+'i'           Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+' '           Other
+'{%'          Comment.Preproc
+' '           Text
+'endfor'      Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n\n'        Other
+
+'{%'          Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'letter'      Name.Variable
+' '           Text
+'in'          Keyword
+' '           Text
+"'a'"         Literal.String.Single
+'..'          Operator
+"'z'"         Literal.String.Single
+' '           Text
+'%}'          Comment.Preproc
+'{{'          Comment.Preproc
+' '           Text
+'letter'      Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+' '           Other
+'{%'          Comment.Preproc
+' '           Text
+'endfor'      Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n\n'        Other
+
+'{%'          Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'letter'      Name.Variable
+' '           Text
+'in'          Keyword
+' '           Text
+"'a'"         Literal.String.Single
+'|'           Operator
+'upper'       Name.Function
+'..'          Operator
+"'z'"         Literal.String.Single
+'|'           Operator
+'upper'       Name.Function
+' '           Text
+'%}'          Comment.Preproc
+'{{'          Comment.Preproc
+' '           Text
+'letter'      Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+' '           Other
+'{%'          Comment.Preproc
+' '           Text
+'endfor'      Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n\n'        Other
+
+'{%'          Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'i'           Name.Variable
+' '           Text
+'in'          Keyword
+' '           Text
+'foo'         Name.Variable
+'['           Operator
+'0'           Literal.Number
+']'           Operator
+'..'          Operator
+'foo'         Name.Variable
+'['           Operator
+'1'           Literal.Number
+']'           Operator
+' '           Text
+'%}'          Comment.Preproc
+'{{'          Comment.Preproc
+' '           Text
+'i'           Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+' '           Other
+'{%'          Comment.Preproc
+' '           Text
+'endfor'      Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n\n'        Other
+
+'{%'          Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'i'           Name.Variable
+' '           Text
+'in'          Keyword
+' '           Text
+'0'           Literal.Number
+' '           Text
+'+'           Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'..'          Operator
+' '           Text
+'1'           Literal.Number
+'0'           Literal.Number
+' '           Text
+'-'           Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'%}'          Comment.Preproc
+'{{'          Comment.Preproc
+' '           Text
+'i'           Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+' '           Other
+'{%'          Comment.Preproc
+' '           Text
+'endfor'      Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n--DATA--\nreturn array(\'foo\' => array(1, 10))\n--EXPECT--\n0 1 2 3 4 5 6 7 8 9 10 \na b c d e f g h i j k l m n o p q r s t u v w x y z \nA B C D E F G H I J K L M N O P Q R S T U V W X Y Z \n1 2 3 4 5 6 7 8 9 10 \n1 2 3 4 5 6 7 8 9\n--TEST--\nTwig supports the "ends with" operator\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'ends with'   Keyword
+' '           Text
+"'o'"         Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'not'         Keyword
+' '           Text
+'('           Operator
+"'foo'"       Literal.String.Single
+' '           Text
+'ends with'   Keyword
+' '           Text
+"'f'"         Literal.String.Single
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'not'         Keyword
+' '           Text
+'('           Operator
+"'foo'"       Literal.String.Single
+' '           Text
+'ends with'   Keyword
+' '           Text
+"'foowaytoolong'" Literal.String.Single
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'ends with'   Keyword
+' '           Text
+"''"          Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'1'"         Literal.String.Single
+' '           Text
+'ends with'   Keyword
+' '           Text
+'true'        Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'ends with'   Keyword
+' '           Text
+'true'        Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'ends with'   Keyword
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"''"          Literal.String.Single
+' '           Text
+'ends with'   Keyword
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'ends with'   Keyword
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'ends with'   Keyword
+' '           Text
+"''"          Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\nOK\nOK\nOK\nOK\nKO\nKO\nKO\nKO\nKO\nKO\n--TEST--\nTwig supports grouping of expressions\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'('           Operator
+'2'           Literal.Number
+' '           Text
+'+'           Operator
+' '           Text
+'2'           Literal.Number
+')'           Operator
+' '           Text
+'/'           Operator
+' '           Text
+'2'           Literal.Number
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\n2\n--TEST--\nTwig supports literals\n--TEMPLATE--\n1 ' Other
+'{{'          Comment.Preproc
+' '           Text
+'true'        Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n2 '        Other
+'{{'          Comment.Preproc
+' '           Text
+'TRUE'        Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n3 '        Other
+'{{'          Comment.Preproc
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n4 '        Other
+'{{'          Comment.Preproc
+' '           Text
+'FALSE'       Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n5 '        Other
+'{{'          Comment.Preproc
+' '           Text
+'none'        Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n6 '        Other
+'{{'          Comment.Preproc
+' '           Text
+'NONE'        Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n7 '        Other
+'{{'          Comment.Preproc
+' '           Text
+'null'        Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n8 '        Other
+'{{'          Comment.Preproc
+' '           Text
+'NULL'        Keyword.Pseudo
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\n1 1\n2 1\n3 \n4 \n5 \n6 \n7 \n8 \n--TEST--\nTwig supports __call() for attributes\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'foo'         Name.Variable
+'.foo'        Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'foo'         Name.Variable
+'.bar'        Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n--EXPECT--\nfoo_from_call\nbar_from_getbar\n--TEST--\nTwig supports the "matches" operator\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'matches'     Name.Variable
+' '           Text
+"'/o/'"       Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'matches'     Name.Variable
+' '           Text
+"'/^fo/'"     Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'matches'     Name.Variable
+' '           Text
+"'/O/i'"      Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\nOK\nOK\nOK\n--TEST--\nTwig supports method calls\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.foo'        Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.getFoo'     Name.Variable
+'('           Operator
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.bar'        Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'['           Operator
+"'bar'"       Literal.String.Single
+']'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.bar'        Name.Variable
+'('           Operator
+"'a'"         Literal.String.Single
+','           Operator
+' '           Text
+'4'           Literal.Number
+'3'           Literal.Number
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.bar'        Name.Variable
+'('           Operator
+'foo'         Name.Variable
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.self'       Name.Variable
+'.foo'        Name.Variable
+'('           Operator
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.is'         Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.in'         Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'items'       Name.Variable
+'.foo'        Name.Variable
+'.not'        Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+"\n--DATA--\nreturn array('foo' => 'bar', 'items' => array('foo' => new TwigTestFoo(), 'bar' => 'foo'))\n--CONFIG--\nreturn array('strict_variables' => false)\n--EXPECT--\nfoo\nfoo\nbar\n\nbar_a-43\nbar_bar\nfoo\nis\nin\nnot\n--TEST--\nTwig allows to use named operators as variable names\n--TEMPLATE--\n" Other
+
+'{%'          Comment.Preproc
+' '           Text
+'for'         Keyword
+' '           Text
+'match'       Name.Variable
+' '           Text
+'in'          Keyword
+' '           Text
+'matches'     Name.Variable
+' '           Text
+'%}'          Comment.Preproc
+'\n    '      Other
+'{{'          Comment.Preproc
+'-'           Operator
+' '           Text
+'match'       Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{%'          Comment.Preproc
+' '           Text
+'endfor'      Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'in'          Keyword
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'is'          Name.Variable
+' '           Text
+'}}'          Comment.Preproc
+"\n--DATA--\nreturn array('matches' => array(1, 2, 3), 'in' => 'in', 'is' => 'is')\n--EXPECT--\n1\n2\n3\nin\nis\n--TEST--\nTwig parses postfix expressions\n--TEMPLATE--\n" Other
+
+'{%'          Comment.Preproc
+' '           Text
+'import'      Keyword
+' '           Text
+'_self'       Name.Variable
+' '           Text
+'as'          Name.Variable
+' '           Text
+'macros'      Name.Variable
+' '           Text
+'%}'          Comment.Preproc
+'\n\n'        Other
+
+'{%'          Comment.Preproc
+' '           Text
+'macro'       Keyword
+' '           Text
+'foo'         Name.Variable
+'('           Operator
+')'           Operator
+' '           Text
+'%}'          Comment.Preproc
+'foo'         Other
+'{%'          Comment.Preproc
+' '           Text
+'endmacro'    Keyword
+' '           Text
+'%}'          Comment.Preproc
+'\n\n'        Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'a'"         Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'a'"         Literal.String.Single
+'|'           Operator
+'upper'       Name.Function
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'('           Operator
+"'a'"         Literal.String.Single
+')'           Operator
+'|'           Operator
+'upper'       Name.Function
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'-'           Operator
+'1'           Literal.Number
+'|'           Operator
+'upper'       Name.Function
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'macros'      Name.Variable
+'.foo'        Name.Variable
+'('           Operator
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'('           Operator
+'macros'      Name.Variable
+')'           Operator
+'.foo'        Name.Variable
+'('           Operator
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array();\n--EXPECT--\na\nA\nA\n-1\nfoo\nfoo\n--TEST--\nTwig supports the "same as" operator\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'same'        Name.Function
+' '           Text
+'as'          Name.Variable
+'('           Operator
+'1'           Literal.Number
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'not'         Keyword
+' '           Text
+'same'        Name.Function
+' '           Text
+'as'          Name.Variable
+'('           Operator
+'true'        Keyword.Pseudo
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'same'        Name.Function
+' '           Text
+'as'          Name.Variable
+'('           Operator
+'1'           Literal.Number
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'not'         Keyword
+' '           Text
+'same'        Name.Function
+' '           Text
+'as'          Name.Variable
+'('           Operator
+'true'        Keyword.Pseudo
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'is'          Keyword
+'   '         Text
+'same'        Name.Function
+'    '        Text
+'as'          Name.Variable
+'   '         Text
+'('           Operator
+'1'           Literal.Number
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'is'          Keyword
+' '           Text
+'not'         Keyword
+'\n    '      Text
+'same'        Name.Function
+'\n    '      Text
+'as'          Name.Variable
+'\n    '      Text
+'('           Operator
+'true'        Keyword.Pseudo
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\nOK\nOK\nOK\nOK\nOK\nOK\n--TEST--\nTwig supports the "starts with" operator\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'starts with' Keyword
+' '           Text
+"'f'"         Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'not'         Keyword
+' '           Text
+'('           Operator
+"'foo'"       Literal.String.Single
+' '           Text
+'starts with' Keyword
+' '           Text
+"'oo'"        Literal.String.Single
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'not'         Keyword
+' '           Text
+'('           Operator
+"'foo'"       Literal.String.Single
+' '           Text
+'starts with' Keyword
+' '           Text
+"'foowaytoolong'" Literal.String.Single
+')'           Operator
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'starts      with' Keyword
+' '           Text
+"'f'"         Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'starts\nwith' Keyword
+' '           Text
+"'f'"         Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'foo'"       Literal.String.Single
+' '           Text
+'starts with' Keyword
+' '           Text
+"''"          Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'1'"         Literal.String.Single
+' '           Text
+'starts with' Keyword
+' '           Text
+'true'        Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"''"          Literal.String.Single
+' '           Text
+'starts with' Keyword
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'a'"         Literal.String.Single
+' '           Text
+'starts with' Keyword
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'false'       Keyword.Pseudo
+' '           Text
+'starts with' Keyword
+' '           Text
+"''"          Literal.String.Single
+' '           Text
+'?'           Operator
+' '           Text
+"'OK'"        Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'KO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\nOK\nOK\nOK\nOK\nOK\nOK\nKO\nKO\nKO\nKO\n--TEST--\nTwig supports string interpolation\n--TEMPLATE--\n' Other
+
+'{# "foo #{"foo #{bar} baz"} baz" #}' Comment
+'\n'          Other
+
+'{# "foo #{bar}#{bar} baz" #}' Comment
+"\n--DATA--\nreturn array('bar' => 'BAR');\n--EXPECT--\nfoo foo BAR baz baz\nfoo BARBAR baz\n--TEST--\nTwig supports the ternary operator\n--TEMPLATE--\n" Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES'"       Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES'"       Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\nYES\n\n--TEST--\nTwig supports the ternary operator\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+"'YES'"       Literal.String.Single
+' '           Text
+'?'           Operator
+':'           Operator
+' '           Text
+"'NO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'?'           Operator
+':'           Operator
+' '           Text
+"'NO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n--DATA--\nreturn array()\n--EXPECT--\nYES\nNO\n--TEST--\nTwig supports the ternary operator\n--TEMPLATE--\n' Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES'"       Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'NO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES'"       Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'NO'"        Literal.String.Single
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES'"       Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+'('           Operator
+'1'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES1'"      Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'NO1'"       Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'0'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES'"       Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+'('           Operator
+'0'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'YES1'"      Literal.String.Single
+' '           Text
+':'           Operator
+' '           Text
+"'NO1'"       Literal.String.Single
+')'           Operator
+' '           Text
+'}}'          Comment.Preproc
+'\n'          Other
+
+'{{'          Comment.Preproc
+' '           Text
+'1'           Literal.Number
+' '           Text
+'=='          Operator
+' '           Text
+'1'           Literal.Number
+' '           Text
+'?'           Operator
+' '           Text
+"'foo
'" Literal.String.Single +":''" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'~' Operator +' ' Text +'(' Operator +'bar' Name.Variable +' ' Text +'?' Operator +' ' Text +'(' Operator +"'-'" Literal.String.Single +' ' Text +'~' Operator +' ' Text +'bar' Name.Variable +')' Operator +' ' Text +':' Operator +' ' Text +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +"\n--DATA--\nreturn array('foo' => 'foo', 'bar' => 'bar')\n--EXPECT--\nYES\nNO\nYES1\nNO1\nfoo
\nfoo-bar\n--TEST--\nTwig does not allow to use two-word named operators as variable names\n--TEMPLATE--\n" Other + +'{{' Comment.Preproc +' ' Text +'starts with' Keyword +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXCEPTION--\nTwig_Error_Syntax: Unexpected token "operator" of value "starts with" in "index.twig" at line 2\n--TEST--\nTwig unary operators precedence\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'-' Operator +' ' Text +'1' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'-' Operator +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'*' Operator +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'4' Literal.Number +' ' Text +'/' Operator +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'*' Operator +' ' Text +'5' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n-2\n0\n1\n-20\n--TEST--\nTwig supports unary operators (not, -, +)\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'not' Keyword +' ' Text +'1' Literal.Number +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'not' Keyword +' ' Text +'0' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'+' Operator +'1' Literal.Number +' ' Text +'+' Operator +' ' Text +'1' Literal.Number +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'-' Operator +' ' Text +'1' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'not' Keyword +' ' Text +'(' Operator +'false' Keyword.Pseudo +' ' Text +'or' Keyword +' ' Text +'true' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n/1\n2/-2\n\n--TEST--\n"abs" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'(' Operator +'-' Operator +'5.5' Literal.Number +')' Operator +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'(' Operator +'-' Operator +'5' Literal.Number +')' Operator +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'(' Operator +'-' Operator +'0' Literal.Number +')' Operator +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'0' Literal.Number +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'5' Literal.Number +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'5.5' Literal.Number +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'number1' Name.Variable +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'number2' Name.Variable +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'number3' Name.Variable +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'number4' Name.Variable +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'number5' Name.Variable +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'number6' Name.Variable +'|' Operator +'abs' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'number1\' => -5.5, \'number2\' => -5, \'number3\' => -0, \'number4\' => 0, \'number5\' => 5, \'number6\' => 5.5)\n--EXPECT--\n5.5\n5\n0\n0\n5\n5.5\n5.5\n5\n0\n0\n5\n5.5\n--TEST--\n"batch" filter\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'row' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'batch' Name.Function +'(' Operator +'3.1' Literal.Number +')' Operator +' ' Text +'%}' Comment.Preproc +'\n
\n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'column' Name.Variable +' ' Text +'in' Keyword +' ' Text +'row' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
' Other +'{{' Comment.Preproc +' ' Text +'column' Name.Variable +' ' Text +'}}' Comment.Preproc +'
\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n
\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\', \'c\', \'d\', \'e\', \'f\', \'g\', \'h\', \'i\', \'j\'))\n--EXPECT--\n
\n
a
\n
b
\n
c
\n
d
\n
\n
\n
e
\n
f
\n
g
\n
h
\n
\n
\n
i
\n
j
\n
\n--TEST--\n"batch" filter\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'row' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'batch' Name.Function +'(' Operator +'3' Literal.Number +')' Operator +' ' Text +'%}' Comment.Preproc +'\n
\n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'column' Name.Variable +' ' Text +'in' Keyword +' ' Text +'row' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
' Other +'{{' Comment.Preproc +' ' Text +'column' Name.Variable +' ' Text +'}}' Comment.Preproc +'
\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n
\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\', \'c\', \'d\', \'e\', \'f\', \'g\', \'h\', \'i\', \'j\'))\n--EXPECT--\n
\n
a
\n
b
\n
c
\n
\n
\n
d
\n
e
\n
f
\n
\n
\n
g
\n
h
\n
i
\n
\n
\n
j
\n
\n--TEST--\n"batch" filter\n--TEMPLATE--\n
\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'row' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'batch' Name.Function +'(' Operator +'3' Literal.Number +',' Operator +' ' Text +"''" Literal.String.Single +')' Operator +' ' Text +'%}' Comment.Preproc +'\n \n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'column' Name.Variable +' ' Text +'in' Keyword +' ' Text +'row' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n \n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n \n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n
' Other +'{{' Comment.Preproc +' ' Text +'column' Name.Variable +' ' Text +'}}' Comment.Preproc +'
\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\', \'c\', \'d\', \'e\', \'f\', \'g\', \'h\', \'i\', \'j\'))\n--EXPECT--\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abc
def
ghi
j
\n--TEST--\n"batch" filter\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'row' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'batch' Name.Function +'(' Operator +'3' Literal.Number +',' Operator +' ' Text +"'fill'" Literal.String.Single +')' Operator +' ' Text +'%}' Comment.Preproc +'\n
\n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'column' Name.Variable +' ' Text +'in' Keyword +' ' Text +'row' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
' Other +'{{' Comment.Preproc +' ' Text +'column' Name.Variable +' ' Text +'}}' Comment.Preproc +'
\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n
\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\', \'c\', \'d\', \'e\', \'f\', \'g\', \'h\', \'i\', \'j\', \'k\', \'l\'))\n--EXPECT--\n
\n
a
\n
b
\n
c
\n
\n
\n
d
\n
e
\n
f
\n
\n
\n
g
\n
h
\n
i
\n
\n
\n
j
\n
k
\n
l
\n
\n--TEST--\n"batch" filter\n--TEMPLATE--\n\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'row' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'batch' Name.Function +'(' Operator +'3' Literal.Number +',' Operator +' ' Text +"'fill'" Literal.String.Single +')' Operator +' ' Text +'%}' Comment.Preproc +'\n \n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'column' Name.Variable +' ' Text +'in' Keyword +' ' Text +'row' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n \n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n \n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n
' Other +'{{' Comment.Preproc +' ' Text +'column' Name.Variable +' ' Text +'}}' Comment.Preproc +'
\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\', \'c\', \'d\', \'e\', \'f\', \'g\', \'h\', \'i\', \'j\'))\n--EXPECT--\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
abc
def
ghi
jfillfill
\n--TEST--\n"convert_encoding" filter\n--CONDITION--\nfunction_exists(\'iconv\') || function_exists(\'mb_convert_encoding\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'"愛していますか?"' Literal.String.Double +'|' Operator +'convert_encoding' Name.Function +'(' Operator +"'ISO-2022-JP'" Literal.String.Single +',' Operator +' ' Text +"'UTF-8'" Literal.String.Single +')' Operator +'|' Operator +'convert_encoding' Name.Function +'(' Operator +"'UTF-8'" Literal.String.Single +',' Operator +' ' Text +"'ISO-2022-JP'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n愛していますか?\n--TEST--\n"date" filter (interval support as of PHP 5.3)\n--CONDITION--\nversion_compare(phpversion(), \'5.3.0\', \'>=\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'%d days'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'UTC\');\n$twig->getExtension(\'core\')->setDateFormat(\'Y-m-d\', \'%d days %h hours\');\nreturn array(\n \'date2\' => new DateInterval(\'P2D\'),\n)\n--EXPECT--\n2 days 0 hours\n2 days\n--TEST--\n"date" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'UTC\');\n$twig->getExtension(\'core\')->setDateFormat(\'Y-m-d\', \'%d days %h hours\');\nreturn array(\n \'date1\' => mktime(13, 45, 0, 10, 4, 2010),\n)\n--EXPECT--\n2010-10-04\n04/10/2010\n--TEST--\n"date" filter\n--CONDITION--\nversion_compare(phpversion(), \'5.5.0\', \'>=\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +',' Operator +' ' Text +"'Asia/Hong_Kong'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +',' Operator +' ' Text +'timezone1' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +"'Europe/Paris'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +"'Asia/Hong_Kong'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'e'" Literal.String.Single +',' Operator +' ' Text +"'Europe/Paris'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'e'" Literal.String.Single +',' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'Europe/Paris\');\nreturn array(\n \'date1\' => new DateTimeImmutable(\'2010-10-04 13:45\'),\n \'date2\' => new DateTimeImmutable(\'2010-10-04 13:45\', new DateTimeZone(\'America/New_York\')),\n \'timezone1\' => new DateTimeZone(\'America/New_York\'),\n)\n--EXPECT--\nOctober 4, 2010 13:45\n04/10/2010\n04/10/2010 19:45:00\n04/10/2010 07:45:00\n04/10/2010 13:45:00\n\n04/10/2010 19:45:00 +02:00\n05/10/2010 01:45:00 +08:00\n04/10/2010 13:45:00 -04:00\nEurope/Paris\nAmerica/New_York\n--TEST--\n"date" filter (interval support as of PHP 5.3)\n--CONDITION--\nversion_compare(phpversion(), \'5.3.0\', \'>=\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'%d days %h hours'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'%d days %h hours'" Literal.String.Single +',' Operator +' ' Text +'timezone1' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'UTC\');\nreturn array(\n \'date1\' => new DateInterval(\'P2D\'),\n // This should have no effect on DateInterval formatting\n \'timezone1\' => new DateTimeZone(\'America/New_York\'),\n)\n--EXPECT--\n2 days\n2 days 0 hours\n2 days 0 hours\n--TEST--\n"date_modify" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date_modify' Name.Function +'(' Operator +"'-1day'" Literal.String.Single +')' Operator +'|' Operator +'date' Name.Function +'(' Operator +"'Y-m-d H:i:s'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date_modify' Name.Function +'(' Operator +"'-1day'" Literal.String.Single +')' Operator +'|' Operator +'date' Name.Function +'(' Operator +"'Y-m-d H:i:s'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'UTC\');\nreturn array(\n \'date1\' => \'2010-10-04 13:45\',\n \'date2\' => new DateTime(\'2010-10-04 13:45\'),\n)\n--EXPECT--\n2010-10-03 13:45:00\n2010-10-03 13:45:00\n--TEST--\n"date" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +'format' Name.Variable +'=' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +'timezone' Name.Variable +'=' Operator +"'America/Chicago'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +'timezone' Name.Variable +'=' Operator +"'America/Chicago'" Literal.String.Single +',' Operator +' ' Text +'format' Name.Variable +'=' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +'timezone' Name.Variable +'=' Operator +"'America/Chicago'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'UTC\');\nreturn array(\'date\' => mktime(13, 45, 0, 10, 4, 2010))\n--EXPECT--\n04/10/2010 08:45:00 -05:00\n04/10/2010 08:45:00 -05:00\n04/10/2010 08:45:00 -05:00\n--TEST--\n"date" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +',' Operator +' ' Text +"'Asia/Hong_Kong'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +"'Asia/Hong_Kong'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +"'America/Chicago'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'e'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date1' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +',' Operator +' ' Text +"'Asia/Hong_Kong'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +',' Operator +' ' Text +'timezone1' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date2' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'date3' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date3' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'date4' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date4' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'date5' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date5' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'date6' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +"'Europe/Paris'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date6' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +"'Asia/Hong_Kong'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date6' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date6' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'e'" Literal.String.Single +',' Operator +' ' Text +"'Europe/Paris'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date6' Name.Variable +'|' Operator +'date' Name.Function +'(' Operator +"'e'" Literal.String.Single +',' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'date7' Name.Variable +'|' Operator +'date' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'Europe/Paris\');\nreturn array(\n \'date1\' => mktime(13, 45, 0, 10, 4, 2010),\n \'date2\' => new DateTime(\'2010-10-04 13:45\'),\n \'date3\' => \'2010-10-04 13:45\',\n \'date4\' => 1286199900, // DateTime::createFromFormat(\'Y-m-d H:i\', \'2010-10-04 13:45\', new DateTimeZone(\'UTC\'))->getTimestamp() -- A unixtimestamp is always GMT\n \'date5\' => -189291360, // DateTime::createFromFormat(\'Y-m-d H:i\', \'1964-01-02 03:04\', new DateTimeZone(\'UTC\'))->getTimestamp(),\n \'date6\' => new DateTime(\'2010-10-04 13:45\', new DateTimeZone(\'America/New_York\')),\n \'date7\' => \'2010-01-28T15:00:00+05:00\',\n \'timezone1\' => new DateTimeZone(\'America/New_York\'),\n)\n--EXPECT--\nOctober 4, 2010 13:45\n04/10/2010\n04/10/2010 19:45:00\n04/10/2010 19:45:00 +08:00\n04/10/2010 06:45:00 -05:00\nEurope/Paris\n04/10/2010 13:45:00\n\nOctober 4, 2010 13:45\n04/10/2010\n04/10/2010 19:45:00\n04/10/2010 07:45:00\n04/10/2010 13:45:00\n\nOctober 4, 2010 13:45\n04/10/2010\n\nOctober 4, 2010 15:45\n04/10/2010\n\nJanuary 2, 1964 04:04\n02/01/1964\n\n04/10/2010 19:45:00 +02:00\n05/10/2010 01:45:00 +08:00\n04/10/2010 13:45:00 -04:00\nEurope/Paris\nAmerica/New_York\n\nJanuary 28, 2010 11:00\n--TEST--\n"default" filter\n--TEMPLATE--\nVariable:\n' Other + +'{{' Comment.Preproc +' ' Text +'definedVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'zeroVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'emptyVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nullVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'undefinedVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\nArray access:\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.definedVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'[' Operator +"'definedVar'" Literal.String.Single +']' Operator +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.zeroVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.emptyVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.nullVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.undefinedVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'[' Operator +"'undefinedVar'" Literal.String.Single +']' Operator +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'undefinedVar' Name.Variable +'.foo' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\nPlain values:\n' Other + +'{{' Comment.Preproc +' ' Text +"'defined'" Literal.String.Single +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'0' Literal.Number +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"''" Literal.String.Single +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'null' Keyword.Pseudo +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\nPrecedence:\n' Other + +'{{' Comment.Preproc +' ' Text +"'o'" Literal.String.Single +' ' Text +'~' Operator +' ' Text +'nullVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'k'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'o'" Literal.String.Single +' ' Text +'~' Operator +' ' Text +'nested' Name.Variable +'.nullVar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'k'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\nObject methods:\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.foo' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.getFoo' Name.Variable +'(' Operator +')' Operator +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.getFoo' Name.Variable +'(' Operator +"'a'" Literal.String.Single +')' Operator +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +'(' Operator +')' Operator +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +'(' Operator +"'a'" Literal.String.Single +')' Operator +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\nDeep nested:\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.undefinedVar' Name.Variable +'.foo' Name.Variable +'.bar' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.definedArray' Name.Variable +'.0' Literal.Number +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'[' Operator +"'definedArray'" Literal.String.Single +']' Operator +'[' Operator +'0' Literal.Number +']' Operator +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.self' Name.Variable +'.foo' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.self' Name.Variable +'.undefinedMethod' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +'.self' Name.Variable +' ' Text +'|' Operator +'default' Name.Function +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'same' Name.Function +' ' Text +'as' Name.Variable +'(' Operator +"'default'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +"\n--DATA--\nreturn array(\n 'definedVar' => 'defined',\n 'zeroVar' => 0,\n 'emptyVar' => '',\n 'nullVar' => null,\n 'nested' => array(\n 'definedVar' => 'defined',\n 'zeroVar' => 0,\n 'emptyVar' => '',\n 'nullVar' => null,\n 'definedArray' => array(0),\n ),\n 'object' => new TwigTestFoo(),\n)\n--CONFIG--\nreturn array('strict_variables' => false)\n--EXPECT--\nVariable:\nok\nok\nok\nok\nok\nArray access:\nok\nok\nok\nok\nok\nok\nok\nok\nPlain values:\nok\nok\nok\nok\nPrecedence:\nok\nok\nObject methods:\nok\nok\nok\nok\nok\nok\nDeep nested:\nok\nok\nok\nok\nok\nok\n--DATA--\nreturn array(\n 'definedVar' => 'defined',\n 'zeroVar' => 0,\n 'emptyVar' => '',\n 'nullVar' => null,\n 'nested' => array(\n 'definedVar' => 'defined',\n 'zeroVar' => 0,\n 'emptyVar' => '',\n 'nullVar' => null,\n 'definedArray' => array(0),\n ),\n 'object' => new TwigTestFoo(),\n)\n--CONFIG--\nreturn array('strict_variables' => true)\n--EXPECT--\nVariable:\nok\nok\nok\nok\nok\nArray access:\nok\nok\nok\nok\nok\nok\nok\nok\nPlain values:\nok\nok\nok\nok\nPrecedence:\nok\nok\nObject methods:\nok\nok\nok\nok\nok\nok\nDeep nested:\nok\nok\nok\nok\nok\nok\n--TEST--\ndynamic filter\n--TEMPLATE--\n" Other + +'{{' Comment.Preproc +' ' Text +"'bar'" Literal.String.Single +'|' Operator +'foo_path' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'bar'" Literal.String.Single +'|' Operator +'a_foo_b_bar' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo/bar\na/b/bar\n--TEST--\n"escape" filter does not escape with the html strategy when using the html_attr strategy\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +"'
'" Literal.String.Single +'|' Operator +'escape' Name.Function +'(' Operator +"'html_attr'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n<br />\n--TEST--\n"escape" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'"愛していますか?
"' Literal.String.Double +'|' Operator +'e' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n愛していますか? <br />\n--TEST--\n"escape" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'"foo
"' Literal.String.Double +'|' Operator +'e' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo <br />\n--TEST--\n"first" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'|' Operator +'first' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'a' Name.Variable +':' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'b' Name.Variable +':' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'c' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'d' Name.Variable +':' Operator +' ' Text +'4' Literal.Number +'}' Operator +'|' Operator +'first' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234'" Literal.String.Single +'|' Operator +'first' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'arr' Name.Variable +'|' Operator +'first' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'Ä€é'" Literal.String.Single +'|' Operator +'first' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"''" Literal.String.Single +'|' Operator +'first' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'arr\' => new ArrayObject(array(1, 2, 3, 4)))\n--EXPECT--\n1\n1\n1\n1\nÄ\n--TEST--\n"escape" filter\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n foo
\n' Other + +'{%' Comment.Preproc +' ' Text +'endset' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'e' Name.Function +'(' Operator +"'html'" Literal.String.Single +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'e' Name.Function +'(' Operator +"'js'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'true' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n foo<br />\n\\x20\\x20\\x20\\x20foo\\x3Cbr\\x20\\x2F\\x3E\\x0A\n foo
\n--TEST--\n"format" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'string' Name.Variable +'|' Operator +'format' Name.Function +'(' Operator +'foo' Name.Variable +',' Operator +' ' Text +'3' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'string\' => \'%s/%d\', \'foo\' => \'bar\')\n--EXPECT--\nbar/3\n--TEST--\n"join" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'"foo"' Literal.String.Double +',' Operator +' ' Text +'"bar"' Literal.String.Double +']' Operator +'|' Operator +'join' Name.Function +'(' Operator +"', '" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'join' Name.Function +'(' Operator +"', '" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'bar' Name.Variable +'|' Operator +'join' Name.Function +'(' Operator +"', '" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => new TwigTestFoo(), \'bar\' => new ArrayObject(array(3, 4)))\n--EXPECT--\nfoo, bar\n1, 2\n3, 4\n--TEST--\n"json_encode" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'"foo"' Literal.String.Double +'|' Operator +'json_encode' Name.Function +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'json_encode' Name.Function +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'foo' Name.Variable +',' Operator +' ' Text +'"foo"' Literal.String.Double +']' Operator +'|' Operator +'json_encode' Name.Function +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => new Twig_Markup(\'foo\', \'UTF-8\'))\n--EXPECT--\n"foo"\n"foo"\n["foo","foo"]\n--TEST--\n"last" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'|' Operator +'last' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'a' Name.Variable +':' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'b' Name.Variable +':' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'c' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'d' Name.Variable +':' Operator +' ' Text +'4' Literal.Number +'}' Operator +'|' Operator +'last' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234'" Literal.String.Single +'|' Operator +'last' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'arr' Name.Variable +'|' Operator +'last' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'Ä€é'" Literal.String.Single +'|' Operator +'last' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"''" Literal.String.Single +'|' Operator +'last' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'arr\' => new ArrayObject(array(1, 2, 3, 4)))\n--EXPECT--\n4\n4\n4\n4\né\n--TEST--\n"length" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'array' Name.Variable +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'string' Name.Variable +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'number' Name.Variable +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'markup' Name.Variable +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'array\' => array(1, 4), \'string\' => \'foo\', \'number\' => 1000, \'markup\' => new Twig_Markup(\'foo\', \'UTF-8\'))\n--EXPECT--\n2\n3\n4\n3\n--TEST--\n"length" filter\n--CONDITION--\nfunction_exists(\'mb_get_info\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'string' Name.Variable +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'markup' Name.Variable +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'string\' => \'été\', \'markup\' => new Twig_Markup(\'foo\', \'UTF-8\'))\n--EXPECT--\n3\n3\n--TEST--\n"merge" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'items' Name.Variable +'|' Operator +'merge' Name.Function +'(' Operator +'{' Operator +"'bar'" Literal.String.Single +':' Operator +' ' Text +"'foo'" Literal.String.Single +'}' Operator +')' Operator +'|' Operator +'join' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'items' Name.Variable +'|' Operator +'merge' Name.Function +'(' Operator +'{' Operator +"'bar'" Literal.String.Single +':' Operator +' ' Text +"'foo'" Literal.String.Single +'}' Operator +')' Operator +'|' Operator +'keys' Name.Function +'|' Operator +'join' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +"'bar'" Literal.String.Single +':' Operator +' ' Text +"'foo'" Literal.String.Single +'}' Operator +'|' Operator +'merge' Name.Function +'(' Operator +'items' Name.Variable +')' Operator +'|' Operator +'join' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +"'bar'" Literal.String.Single +':' Operator +' ' Text +"'foo'" Literal.String.Single +'}' Operator +'|' Operator +'merge' Name.Function +'(' Operator +'items' Name.Variable +')' Operator +'|' Operator +'keys' Name.Function +'|' Operator +'join' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'numerics' Name.Variable +'|' Operator +'merge' Name.Function +'(' Operator +'[' Operator +'4' Literal.Number +',' Operator +' ' Text +'5' Literal.Number +',' Operator +' ' Text +'6' Literal.Number +']' Operator +')' Operator +'|' Operator +'join' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'foo\' => \'bar\'), \'numerics\' => array(1, 2, 3))\n--EXPECT--\nbarfoo\nfoobar\nfoobar\nbarfoo\n123456\n--TEST--\n"nl2br" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'"I like Twig.\\nYou will like it too.\\n\\nEverybody like it!"' Literal.String.Double +'|' Operator +'nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'text' Name.Variable +'|' Operator +'nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'text\' => "If you have some HTML\\nit will be escaped.")\n--EXPECT--\nI like Twig.
\nYou will like it too.
\n
\nEverybody like it!\nIf you have some <strong>HTML</strong>
\nit will be escaped.\n--TEST--\n"number_format" filter with defaults.\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0' Literal.Number +'|' Operator +'number_format' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'1' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +'0' Literal.Number +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +'0' Literal.Number +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +'0' Literal.Number +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +"','" Literal.String.Single +',' Operator +' ' Text +"'.'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\n$twig->getExtension(\'core\')->setNumberFormat(2, \'!\', \'=\');\nreturn array();\n--EXPECT--\n20!00\n20!25\n20!3\n20,25\n1=020!25\n1=020,25\n1.020,25\n--TEST--\n"number_format" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0' Literal.Number +'|' Operator +'number_format' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'2' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +'0' Literal.Number +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +'0' Literal.Number +'2' Literal.Number +'0.25' Literal.Number +'|' Operator +'number_format' Name.Function +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +"','" Literal.String.Single +',' Operator +' ' Text +"'.'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXPECT--\n20\n20\n20.25\n20,25\n1,020,25\n1.020,25\n--TEST--\n"replace" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'"I like %this% and %that%."' Literal.String.Double +'|' Operator +'replace' Name.Function +'(' Operator +'{' Operator +"'%this%'" Literal.String.Single +':' Operator +' ' Text +'"foo"' Literal.String.Double +',' Operator +' ' Text +"'%that%'" Literal.String.Single +':' Operator +' ' Text +'"bar"' Literal.String.Double +'}' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nI like foo and bar.\n--TEST--\n"reverse" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'|' Operator +'reverse' Name.Function +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234évènement'" Literal.String.Single +'|' Operator +'reverse' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'arr' Name.Variable +'|' Operator +'reverse' Name.Function +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +"'a'" Literal.String.Single +':' Operator +' ' Text +"'c'" Literal.String.Single +',' Operator +' ' Text +"'b'" Literal.String.Single +':' Operator +' ' Text +"'a'" Literal.String.Single +'}' Operator +'|' Operator +'reverse' Name.Function +'(' Operator +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +"'a'" Literal.String.Single +':' Operator +' ' Text +"'c'" Literal.String.Single +',' Operator +' ' Text +"'b'" Literal.String.Single +':' Operator +' ' Text +"'a'" Literal.String.Single +'}' Operator +'|' Operator +'reverse' Name.Function +'(' Operator +'preserveKeys' Name.Variable +'=' Operator +'true' Keyword.Pseudo +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +'glue' Name.Variable +'=' Operator +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +"'a'" Literal.String.Single +':' Operator +' ' Text +"'c'" Literal.String.Single +',' Operator +' ' Text +"'b'" Literal.String.Single +':' Operator +' ' Text +"'a'" Literal.String.Single +'}' Operator +'|' Operator +'reverse' Name.Function +'(' Operator +'preserve_keys' Name.Variable +'=' Operator +'true' Keyword.Pseudo +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +'glue' Name.Variable +'=' Operator +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'arr\' => new ArrayObject(array(1, 2, 3, 4)))\n--EXPECT--\n4321\ntnemenèvé4321\n4321\na,c\na,c\na,c\n--TEST--\n"round" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'2.7' Literal.Number +'|' Operator +'round' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2.1' Literal.Number +'|' Operator +'round' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2.1234' Literal.Number +'|' Operator +'round' Name.Function +'(' Operator +'3' Literal.Number +',' Operator +' ' Text +"'floor'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2.1' Literal.Number +'|' Operator +'round' Name.Function +'(' Operator +'0' Literal.Number +',' Operator +' ' Text +"'ceil'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'1.3' Literal.Number +'|' Operator +'round' Name.Function +'(' Operator +'-' Operator +'1' Literal.Number +')' Operator +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'1.3' Literal.Number +'|' Operator +'round' Name.Function +'(' Operator +'-' Operator +'1' Literal.Number +',' Operator +' ' Text +"'ceil'" Literal.String.Single +')' Operator +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +'1.3' Literal.Number +'|' Operator +'round' Name.Function +'(' Operator +'-' Operator +'1' Literal.Number +',' Operator +' ' Text +"'floor'" Literal.String.Single +')' Operator +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n3\n2\n2.123\n3\n\n20\n30\n20\n--TEST--\n"slice" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'[' Operator +'1' Literal.Number +':' Operator +'2' Literal.Number +']' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'a' Name.Variable +':' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'b' Name.Variable +':' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'c' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'d' Name.Variable +':' Operator +' ' Text +'4' Literal.Number +'}' Operator +'[' Operator +'1' Literal.Number +':' Operator +'2' Literal.Number +']' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'[' Operator +'start' Name.Variable +':' Operator +'length' Name.Variable +']' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +')' Operator +'|' Operator +'keys' Name.Function +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'true' Keyword.Pseudo +')' Operator +'|' Operator +'keys' Name.Function +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'a' Name.Variable +':' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'b' Name.Variable +':' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'c' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'d' Name.Variable +':' Operator +' ' Text +'4' Literal.Number +'}' Operator +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'a' Name.Variable +':' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'b' Name.Variable +':' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'c' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'d' Name.Variable +':' Operator +' ' Text +'4' Literal.Number +'}' Operator +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +')' Operator +'|' Operator +'keys' Name.Function +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234'" Literal.String.Single +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234'" Literal.String.Single +'[' Operator +'1' Literal.Number +':' Operator +'2' Literal.Number +']' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'arr' Name.Variable +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'arr' Name.Variable +'[' Operator +'1' Literal.Number +':' Operator +'2' Literal.Number +']' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +'1' Literal.Number +',' Operator +' ' Text +'2' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +'[' Operator +'1' Literal.Number +':' Operator +']' Operator +'|' Operator +'join' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234'" Literal.String.Single +'|' Operator +'slice' Name.Function +'(' Operator +'1' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234'" Literal.String.Single +'[' Operator +'1' Literal.Number +':' Operator +']' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'1234'" Literal.String.Single +'[' Operator +':' Operator +'1' Literal.Number +']' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'start\' => 1, \'length\' => 2, \'arr\' => new ArrayObject(array(1, 2, 3, 4)))\n--EXPECT--\n23\n23\n23\n23\n01\n12\n23\nbc\n23\n23\n23\n23\n\n234\n234\n234\n234\n1\n--TEST--\n"sort" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'array1' Name.Variable +'|' Operator +'sort' Name.Function +'|' Operator +'join' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'array2' Name.Variable +'|' Operator +'sort' Name.Function +'|' Operator +'join' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'array1\' => array(4, 1), \'array2\' => array(\'foo\', \'bar\'))\n--EXPECT--\n14\nbarfoo\n--TEST--\n"split" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'"one,two,three,four,five"' Literal.String.Double +'|' Operator +'split' Name.Function +'(' Operator +"','" Literal.String.Single +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"'-'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'split' Name.Function +'(' Operator +"','" Literal.String.Single +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"'-'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'split' Name.Function +'(' Operator +"','" Literal.String.Single +',' Operator +' ' Text +'3' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"'-'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'baz' Name.Variable +'|' Operator +'split' Name.Function +'(' Operator +"''" Literal.String.Single +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"'-'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'baz' Name.Variable +'|' Operator +'split' Name.Function +'(' Operator +"''" Literal.String.Single +',' Operator +' ' Text +'2' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"'-'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'split' Name.Function +'(' Operator +"','" Literal.String.Single +',' Operator +' ' Text +'-' Operator +'2' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"'-'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => "one,two,three,four,five", \'baz\' => \'12345\',)\n--EXPECT--\none-two-three-four-five\none-two-three-four-five\none-two-three,four,five\n1-2-3-4-5\n12-34-5\none-two-three--TEST--\n"trim" filter\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'" I like Twig. "' Literal.String.Double +'|' Operator +'trim' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'text' Name.Variable +'|' Operator +'trim' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'" foo/"' Literal.String.Double +'|' Operator +'trim' Name.Function +'(' Operator +'"/"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'text\' => " If you have some HTML it will be escaped. ")\n--EXPECT--\nI like Twig.\nIf you have some <strong>HTML</strong> it will be escaped.\n foo\n--TEST--\n"url_encode" filter for PHP < 5.4 and HHVM\n--CONDITION--\ndefined(\'PHP_QUERY_RFC3986\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'foo' Name.Variable +':' Operator +' ' Text +'"bar"' Literal.String.Double +',' Operator +' ' Text +'number' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'"spéßi%l"' Literal.String.Double +':' Operator +' ' Text +'"e%c0d@d"' Literal.String.Double +',' Operator +' ' Text +'"spa ce"' Literal.String.Double +':' Operator +' ' Text +'""' Literal.String.Double +'}' Operator +'|' Operator +'url_encode' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'foo' Name.Variable +':' Operator +' ' Text +'"bar"' Literal.String.Double +',' Operator +' ' Text +'number' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'"spéßi%l"' Literal.String.Double +':' Operator +' ' Text +'"e%c0d@d"' Literal.String.Double +',' Operator +' ' Text +'"spa ce"' Literal.String.Double +':' Operator +' ' Text +'""' Literal.String.Double +'}' Operator +'|' Operator +'url_encode' Name.Function +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'}' Operator +'|' Operator +'url_encode' Name.Function +'|' Operator +'default' Name.Function +'(' Operator +'"default"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'spéßi%le%c0d@dspa ce'" Literal.String.Single +'|' Operator +'url_encode' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce=\nfoo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce=\ndefault\nsp%C3%A9%C3%9Fi%25le%25c0d%40dspa%20ce\n--TEST--\n"url_encode" filter\n--CONDITION--\ndefined(\'PHP_QUERY_RFC3986\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'foo' Name.Variable +':' Operator +' ' Text +'"bar"' Literal.String.Double +',' Operator +' ' Text +'number' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'"spéßi%l"' Literal.String.Double +':' Operator +' ' Text +'"e%c0d@d"' Literal.String.Double +',' Operator +' ' Text +'"spa ce"' Literal.String.Double +':' Operator +' ' Text +'""' Literal.String.Double +'}' Operator +'|' Operator +'url_encode' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'foo' Name.Variable +':' Operator +' ' Text +'"bar"' Literal.String.Double +',' Operator +' ' Text +'number' Name.Variable +':' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'"spéßi%l"' Literal.String.Double +':' Operator +' ' Text +'"e%c0d@d"' Literal.String.Double +',' Operator +' ' Text +'"spa ce"' Literal.String.Double +':' Operator +' ' Text +'""' Literal.String.Double +'}' Operator +'|' Operator +'url_encode' Name.Function +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'{' Operator +'}' Operator +'|' Operator +'url_encode' Name.Function +'|' Operator +'default' Name.Function +'(' Operator +'"default"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'spéßi%le%c0d@dspa ce'" Literal.String.Single +'|' Operator +'url_encode' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce=\nfoo=bar&number=3&sp%C3%A9%C3%9Fi%25l=e%25c0d%40d&spa%20ce=\ndefault\nsp%C3%A9%C3%9Fi%25le%25c0d%40dspa%20ce\n--TEST--\n"attribute" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'attribute' Name.Variable +'(' Operator +'obj' Name.Variable +',' Operator +' ' Text +'method' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'attribute' Name.Variable +'(' Operator +'array' Name.Variable +',' Operator +' ' Text +'item' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'attribute' Name.Variable +'(' Operator +'obj' Name.Variable +',' Operator +' ' Text +'"bar"' Literal.String.Double +',' Operator +' ' Text +'[' Operator +'"a"' Literal.String.Double +',' Operator +' ' Text +'"b"' Literal.String.Double +']' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'attribute' Name.Variable +'(' Operator +'obj' Name.Variable +',' Operator +' ' Text +'"bar"' Literal.String.Double +',' Operator +' ' Text +'arguments' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'attribute' Name.Variable +'(' Operator +'obj' Name.Variable +',' Operator +' ' Text +'method' Name.Variable +')' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'attribute' Name.Variable +'(' Operator +'obj' Name.Variable +',' Operator +' ' Text +'nonmethod' Name.Variable +')' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'obj\' => new TwigTestFoo(), \'method\' => \'foo\', \'array\' => array(\'foo\' => \'bar\'), \'item\' => \'foo\', \'nonmethod\' => \'xxx\', \'arguments\' => array(\'a\', \'b\'))\n--EXPECT--\nfoo\nbar\nbar_a-b\nbar_a-b\nok\nko\n--TEST--\n"block" function\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +"'base.twig'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'BAR' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'bar'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'BAR_BASE' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nBARBAR\n--TEST--\n"constant" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'constant' Name.Variable +'(' Operator +"'DATE_W3C'" Literal.String.Single +')' Operator +' ' Text +'==' Operator +' ' Text +'expect' Name.Variable +' ' Text +'?' Operator +' ' Text +"'true'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'false'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'constant' Name.Variable +'(' Operator +"'ARRAY_AS_PROPS'" Literal.String.Single +',' Operator +' ' Text +'object' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'expect\' => DATE_W3C, \'object\' => new ArrayObject(array(\'hi\')));\n--EXPECT--\ntrue\n2\n--TEST--\n"cycle" function\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'i' Name.Variable +' ' Text +'in' Keyword +' ' Text +'0.' Literal.Number +'.6' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'cycle' Name.Variable +'(' Operator +'array1' Name.Variable +',' Operator +' ' Text +'i' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'-' Other +'{{' Comment.Preproc +' ' Text +'cycle' Name.Variable +'(' Operator +'array2' Name.Variable +',' Operator +' ' Text +'i' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'array1\' => array(\'odd\', \'even\'), \'array2\' => array(\'apple\', \'orange\', \'citrus\'))\n--EXPECT--\nodd-apple\neven-orange\nodd-citrus\neven-apple\nodd-orange\neven-citrus\nodd-apple\n--TEST--\n"date" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +'date' Name.Variable +',' Operator +' ' Text +'"America/New_York"' Literal.String.Double +')' Operator +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +'timezone' Name.Variable +'=' Operator +'"America/New_York"' Literal.String.Double +',' Operator +' ' Text +'date' Name.Variable +'=' Operator +'date' Name.Variable +')' Operator +'|' Operator +'date' Name.Function +'(' Operator +"'d/m/Y H:i:s P'" Literal.String.Single +',' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'UTC\');\nreturn array(\'date\' => mktime(13, 45, 0, 10, 4, 2010))\n--EXPECT--\n04/10/2010 09:45:00 -04:00\n04/10/2010 09:45:00 -04:00\n--TEST--\n"date" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +')' Operator +' ' Text +'==' Operator +' ' Text +'date' Name.Variable +'(' Operator +"'now'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'OK'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'KO'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +'date1' Name.Variable +')' Operator +' ' Text +'==' Operator +' ' Text +'date' Name.Variable +'(' Operator +"'2010-10-04 13:45'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'OK'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'KO'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +'date2' Name.Variable +')' Operator +' ' Text +'==' Operator +' ' Text +'date' Name.Variable +'(' Operator +"'2010-10-04 13:45'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'OK'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'KO'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +'date3' Name.Variable +')' Operator +' ' Text +'==' Operator +' ' Text +'date' Name.Variable +'(' Operator +"'2010-10-04 13:45'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'OK'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'KO'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +'date4' Name.Variable +')' Operator +' ' Text +'==' Operator +' ' Text +'date' Name.Variable +'(' Operator +"'2010-10-04 13:45'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'OK'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'KO'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'date' Name.Variable +'(' Operator +'date5' Name.Variable +')' Operator +' ' Text +'==' Operator +' ' Text +'date' Name.Variable +'(' Operator +"'1964-01-02 03:04'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'OK'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'KO'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\ndate_default_timezone_set(\'UTC\');\nreturn array(\n \'date1\' => mktime(13, 45, 0, 10, 4, 2010),\n \'date2\' => new DateTime(\'2010-10-04 13:45\'),\n \'date3\' => \'2010-10-04 13:45\',\n \'date4\' => 1286199900, // DateTime::createFromFormat(\'Y-m-d H:i\', \'2010-10-04 13:45\', new DateTimeZone(\'UTC\'))->getTimestamp() -- A unixtimestamp is always GMT\n \'date5\' => -189291360, // DateTime::createFromFormat(\'Y-m-d H:i\', \'1964-01-02 03:04\', new DateTimeZone(\'UTC\'))->getTimestamp(),\n)\n--EXPECT--\nOK\nOK\nOK\nOK\nOK\nOK\n--TEST--\n"dump" function, xdebug is not loaded or xdebug <2.2-dev is loaded\n--CONDITION--\n!extension_loaded(\'xdebug\') || (($r = new ReflectionExtension(\'xdebug\')) && version_compare($r->getVersion(), \'2.2-dev\', \'<\'))\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'dump' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => \'foo\', \'bar\' => \'bar\')\n--CONFIG--\nreturn array(\'debug\' => true, \'autoescape\' => false);\n--TEST--\n"dump" function\n--CONDITION--\n!extension_loaded(\'xdebug\')\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'dump' Name.Variable +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'dump' Name.Variable +'(' Operator +"'foo'" Literal.String.Single +',' Operator +' ' Text +"'bar'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => \'foo\', \'bar\' => \'bar\')\n--CONFIG--\nreturn array(\'debug\' => true, \'autoescape\' => false);\n--EXPECT--\nstring(3) "foo"\n\nstring(3) "foo"\nstring(3) "bar"\n--TEST--\ndynamic function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo_path' Name.Variable +'(' Operator +"'bar'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'a_foo_b_bar' Name.Variable +'(' Operator +"'bar'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo/bar\na/b/bar\n--TEST--\n"include" function\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'tmp' Name.Variable +' ' Text +'=' Operator +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +')' Operator +' ' Text +'%}' Comment.Preproc +'\n\nFOO' Other +'{{' Comment.Preproc +' ' Text +'tmp' Name.Variable +' ' Text +'}}' Comment.Preproc +'BAR\n--TEMPLATE(foo.twig)--\nFOOBAR\n--DATA--\nreturn array()\n--EXPECT--\nFOO\nFOOBARBAR\n--TEST--\n"include" function is safe for auto-escaping\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n

Test

\n--DATA--\nreturn array()\n--EXPECT--\n

Test

\n--TEST--\n"include" function\n--TEMPLATE--\nFOO\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\nBAR\n--TEMPLATE(foo.twig)--\nFOOBAR\n--DATA--\nreturn array()\n--EXPECT--\nFOO\n\nFOOBAR\n\nBAR\n--TEST--\n"include" function allows expressions for the template to include\n--TEMPLATE--\nFOO\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'foo' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\nBAR\n--TEMPLATE(foo.twig)--\nFOOBAR\n--DATA--\nreturn array(\'foo\' => \'foo.twig\')\n--EXPECT--\nFOO\n\nFOOBAR\n\nBAR\n--TEST--\n"include" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'[' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'"bar.twig"' Literal.String.Double +']' Operator +',' Operator +' ' Text +'ignore_missing' Name.Variable +' ' Text +'=' Operator +' ' Text +'true' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'ignore_missing' Name.Variable +' ' Text +'=' Operator +' ' Text +'true' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'ignore_missing' Name.Variable +' ' Text +'=' Operator +' ' Text +'true' Keyword.Pseudo +',' Operator +' ' Text +'variables' Name.Variable +' ' Text +'=' Operator +' ' Text +'{' Operator +'}' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'ignore_missing' Name.Variable +' ' Text +'=' Operator +' ' Text +'true' Keyword.Pseudo +',' Operator +' ' Text +'variables' Name.Variable +' ' Text +'=' Operator +' ' Text +'{' Operator +'}' Operator +',' Operator +' ' Text +'with_context' Name.Variable +' ' Text +'=' Operator +' ' Text +'true' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n--TEST--\n"include" function\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXCEPTION--\nTwig_Error_Loader: Template "foo.twig" is not defined in "base.twig" at line 3.\n--TEST--\n"include" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXCEPTION--\nTwig_Error_Loader: Template "foo.twig" is not defined in "index.twig" at line 2.\n--TEST--\n"include" tag sandboxed\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'sandboxed' Name.Variable +' ' Text +'=' Operator +' ' Text +'true' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'|' Operator +'e' Name.Function +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXCEPTION--\nTwig_Sandbox_SecurityError: Filter "e" is not allowed in "index.twig" at line 2.\n--TEST--\n"include" function accepts Twig_Template instance\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'foo' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +' FOO\n--TEMPLATE(foo.twig)--\nBAR\n--DATA--\nreturn array(\'foo\' => $twig->loadTemplate(\'foo.twig\'))\n--EXPECT--\nBAR FOO\n--TEST--\n"include" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'[' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'"bar.twig"' Literal.String.Double +']' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +'-' Operator +' ' Text +'include' Name.Variable +'(' Operator +'[' Operator +'"bar.twig"' Literal.String.Double +',' Operator +' ' Text +'"foo.twig"' Literal.String.Double +']' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\nfoo\n--DATA--\nreturn array()\n--EXPECT--\nfoo\nfoo\n--TEST--\n"include" function accept variables and with_context\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +'-' Operator +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'with_context' Name.Variable +' ' Text +'=' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +'-' Operator +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'{' Operator +"'foo1'" Literal.String.Single +':' Operator +' ' Text +"'bar'" Literal.String.Single +'}' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +'-' Operator +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'{' Operator +"'foo1'" Literal.String.Single +':' Operator +' ' Text +"'bar'" Literal.String.Single +'}' Operator +',' Operator +' ' Text +'with_context' Name.Variable +' ' Text +'=' Operator +' ' Text +'false' Keyword.Pseudo +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'k' Name.Variable +',' Operator +' ' Text +'v' Name.Variable +' ' Text +'in' Keyword +' ' Text +'_context' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'k' Name.Variable +' ' Text +'}}' Comment.Preproc +',' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => \'bar\')\n--EXPECT--\nfoo,global,_parent,\nglobal,_parent,\nfoo,global,foo1,_parent,\nfoo1,global,_parent,\n--TEST--\n"include" function accept variables\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'{' Operator +"'foo'" Literal.String.Single +':' Operator +' ' Text +"'bar'" Literal.String.Single +'}' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +'-' Operator +' ' Text +'include' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'vars' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'vars\' => array(\'foo\' => \'bar\'))\n--EXPECT--\nbar\nbar\n--TEST--\n"max" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'max' Name.Variable +'(' Operator +'[' Operator +'2' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'5' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'max' Name.Variable +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'5' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'max' Name.Variable +'(' Operator +'{' Operator +'2' Literal.Number +':"two"' Literal.String.Double +',' Operator +' ' Text +'1' Literal.Number +':"one"' Literal.String.Double +',' Operator +' ' Text +'3' Literal.Number +':"three"' Literal.String.Double +',' Operator +' ' Text +'5' Literal.Number +':"five"' Literal.String.Double +',' Operator +' ' Text +'4' Literal.Number +':"for"' Literal.String.Double +'}' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n5\n5\ntwo\n--TEST--\n"min" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'min' Name.Variable +'(' Operator +'2' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'5' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'min' Name.Variable +'(' Operator +'[' Operator +'2' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +',' Operator +' ' Text +'3' Literal.Number +',' Operator +' ' Text +'5' Literal.Number +',' Operator +' ' Text +'4' Literal.Number +']' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'min' Name.Variable +'(' Operator +'{' Operator +'2' Literal.Number +':"two"' Literal.String.Double +',' Operator +' ' Text +'1' Literal.Number +':"one"' Literal.String.Double +',' Operator +' ' Text +'3' Literal.Number +':"three"' Literal.String.Double +',' Operator +' ' Text +'5' Literal.Number +':"five"' Literal.String.Double +',' Operator +' ' Text +'4' Literal.Number +':"for"' Literal.String.Double +'}' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n1\n1\nfive\n--TEST--\n"range" function\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'range' Name.Variable +'(' Operator +'low' Name.Variable +'=' Operator +'0' Literal.Number +'+' Operator +'1' Literal.Number +',' Operator +' ' Text +'high' Name.Variable +'=' Operator +'1' Literal.Number +'0' Literal.Number +'+' Operator +'0' Literal.Number +',' Operator +' ' Text +'step' Name.Variable +'=' Operator +'2' Literal.Number +')' Operator +'|' Operator +'join' Name.Function +'(' Operator +"','" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n1,3,5,7,9\n--TEST--\n"block" function recursively called in a parent template\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"ordered_menu.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'label' Name.Variable +' ' Text +'%}' Comment.Preproc +'"' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'"' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'list' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'class' Name.Variable +' ' Text +'=' Operator +' ' Text +"'b'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(ordered_menu.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"menu.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'list' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'class' Name.Variable +' ' Text +'=' Operator +' ' Text +'class' Name.Variable +'|' Operator +'default' Name.Function +'(' Operator +"'a'" Literal.String.Single +')' Operator +' ' Text +'%}' Comment.Preproc +'
    ' Other +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'children'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'
' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(menu.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'list' Name.Variable +' ' Text +'%}' Comment.Preproc +'' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'children' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'currentItem' Name.Variable +' ' Text +'=' Operator +' ' Text +'item' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'currentItem' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'item'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'item' Name.Variable +' ' Text +'=' Operator +' ' Text +'currentItem' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'item' Name.Variable +' ' Text +'%}' Comment.Preproc +'
  • ' Other +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'item' Name.Variable +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'iterable' Name.Function +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'label'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'list'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'
  • ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'label' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'unknown'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'list'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'item\' => array(\'1\', \'2\', array(\'3.1\', array(\'3.2.1\', \'3.2.2\'), \'3.4\')))\n--EXPECT--\n
    1. "1"
    2. "2"
      1. "3.1"
        1. "3.2.1"
        2. "3.2.2"
      2. "3.4"
    \n--TEST--\n"source" function\n--TEMPLATE--\nFOO\n' Other + +'{{' Comment.Preproc +' ' Text +'source' Name.Variable +'(' Operator +'"foo.twig"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\nBAR\n--TEMPLATE(foo.twig)--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'
    \n--DATA--\nreturn array()\n--EXPECT--\nFOO\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'
    \n\nBAR\n--TEST--\n"template_from_string" function\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'template_from_string' Name.Variable +'(' Operator +'template' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'template_from_string' Name.Variable +'(' Operator +'"Hello {{ name }}"' Literal.String.Double +')' Operator +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'template_from_string' Name.Variable +'(' Operator +'\'{% extends "parent.twig" %}{% block content %}Hello {{ name }}{% endblock %}\'' Literal.String.Single +')' Operator +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(parent.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'name\' => \'Fabien\', \'template\' => "Hello ' Other +'{{' Comment.Preproc +' ' Text +'name' Name.Variable +' ' Text +'}}' Comment.Preproc +'")\n--EXPECT--\nHello Fabien\nHello Fabien\nHello Fabien\n--TEST--\nmacro\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'from' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'import' Name.Variable +' ' Text +'test' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'test' Name.Variable +'(' Operator +'a' Name.Variable +',' Operator +' ' Text +'b' Name.Variable +' ' Text +'=' Operator +' ' Text +"'bar'" Literal.String.Single +')' Operator +' ' Text +'-' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'a' Name.Variable +' ' Text +'}}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'b' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +'- ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'(' Operator +"'bar'" Literal.String.Single +',' Operator +' ' Text +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXPECT--\nfoobar\nbarfoo\n--TEST--\nmacro\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'import' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'macros' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'foo' Name.Variable +'(' Operator +'data' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'data' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'bar' Name.Variable +'(' Operator +')' Operator +' ' Text +'%}' Comment.Preproc +'\n
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'macros' Name.Variable +'.foo' Name.Variable +'(' Operator +'macros' Name.Variable +'.bar' Name.Variable +'(' Operator +')' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXPECT--\n
    \n--TEST--\nmacro\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'from' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'import' Name.Variable +' ' Text +'test' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'test' Name.Variable +'(' Operator +'this' Name.Variable +')' Operator +' ' Text +'-' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'this' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +'- ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'(' Operator +'this' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +"\n--DATA--\nreturn array('this' => 'foo');\n--EXPECT--\nfoo\n--TEST--\nmacro\n--TEMPLATE--\n" Other + +'{%' Comment.Preproc +' ' Text +'import' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'test' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'from' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'import' Name.Variable +' ' Text +'test' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'test' Name.Variable +'(' Operator +'a' Name.Variable +',' Operator +' ' Text +'b' Name.Variable +')' Operator +' ' Text +'-' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'a' Name.Variable +'|' Operator +'default' Name.Function +'(' Operator +"'a'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'
    \n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'b' Name.Variable +'|' Operator +'default' Name.Function +'(' Operator +"'b'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +'- ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'.test' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'.test' Name.Variable +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'"c"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'"c"' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXPECT--\na
    b
    \na
    b
    \n1
    c
    \n1
    c
    \n--TEST--\nmacro with a filter\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'import' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'test' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'test' Name.Variable +'(' Operator +')' Operator +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'escape' Name.Function +' ' Text +'%}' Comment.Preproc +'foo
    ' Other +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'test' Name.Variable +'.test' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXPECT--\nfoo<br />\n--TEST--\nTwig outputs 0 nodes correctly\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'0' Other +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +"\n--DATA--\nreturn array('foo' => 'foo')\n--EXPECT--\nfoo0foo\n--TEST--\nerror in twig extension\n--TEMPLATE--\n" Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.region' Name.Variable +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'null' Name.Function +' ' Text +'?' Operator +' ' Text +'object' Name.Variable +'.regionChoices' Name.Variable +'[' Operator +'object' Name.Variable +'.region' Name.Variable +']' Operator +' ' Text +'}}' Comment.Preproc +"\n--EXPECT--\nhouse.region.s\n--TEST--\nTwig is able to deal with SimpleXMLElement instances as variables\n--CONDITION--\nversion_compare(phpversion(), '5.3.0', '>=')\n--TEMPLATE--\nHello '" Other +'{{' Comment.Preproc +' ' Text +'images' Name.Variable +'.image' Name.Variable +'.0' Literal.Number +'.group' Name.Variable +' ' Text +'}}' Comment.Preproc +"'!\n" Other + +'{{' Comment.Preproc +' ' Text +'images' Name.Variable +'.image' Name.Variable +'.0' Literal.Number +'.group' Name.Variable +'.attributes' Name.Variable +'.myattr' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'images' Name.Variable +'.children' Name.Variable +'(' Operator +')' Operator +'.image' Name.Variable +'.count' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'image' Name.Variable +' ' Text +'in' Keyword +' ' Text +'images' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n - ' Other +'{{' Comment.Preproc +' ' Text +'image' Name.Variable +'.group' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'images\' => new SimpleXMLElement(\'foobar\'))\n--EXPECT--\nHello \'foo\'!\nexample\n2\n - foo\n - bar\n--TEST--\nTwig does not confuse strings with integers in getAttribute()\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'hash' Name.Variable +'[' Operator +"'2e2'" Literal.String.Single +']' Operator +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'hash\' => array(\'2e2\' => \'works\'))\n--EXPECT--\nworks\n--TEST--\n"autoescape" tag applies escaping on its children\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'false' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'true' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'false' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'
    \')\n--EXPECT--\n<br />
    \n<br />
    \n

    \n<br />
    \n

    \n--TEST--\n"autoescape" tag applies escaping on embedded blocks\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'
    \')\n--EXPECT--\n<br />\n--TEST--\n"autoescape" tag does not double-escape\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'
    \')\n--EXPECT--\n<br />\n--TEST--\n"autoescape" tag applies escaping after calling functions\n--TEMPLATE--\n\nautoescape false\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'false' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n\nsafe_br\n' Other + +'{{' Comment.Preproc +' ' Text +'safe_br' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\nunsafe_br\n' Other + +'{{' Comment.Preproc +' ' Text +'unsafe_br' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +"\n\nautoescape 'html'\n" Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\nsafe_br\n' Other + +'{{' Comment.Preproc +' ' Text +'safe_br' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\nunsafe_br\n' Other + +'{{' Comment.Preproc +' ' Text +'unsafe_br' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\nunsafe_br()|raw\n' Other + +'{{' Comment.Preproc +' ' Text +'(' Operator +'unsafe_br' Name.Variable +'(' Operator +')' Operator +')' Operator +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\nsafe_br()|escape\n' Other + +'{{' Comment.Preproc +' ' Text +'(' Operator +'safe_br' Name.Variable +'(' Operator +')' Operator +')' Operator +'|' Operator +'escape' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\nsafe_br()|raw\n' Other + +'{{' Comment.Preproc +' ' Text +'(' Operator +'safe_br' Name.Variable +'(' Operator +')' Operator +')' Operator +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\nunsafe_br()|escape\n' Other + +'{{' Comment.Preproc +' ' Text +'(' Operator +'unsafe_br' Name.Variable +'(' Operator +')' Operator +')' Operator +'|' Operator +'escape' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n\nautoescape js\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'js'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\nsafe_br\n' Other + +'{{' Comment.Preproc +' ' Text +'safe_br' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n\nautoescape false\n\nsafe_br\n
    \n\nunsafe_br\n
    \n\n\nautoescape \'html\'\n\nsafe_br\n
    \n\nunsafe_br\n<br />\n\nunsafe_br()|raw\n
    \n\nsafe_br()|escape\n<br />\n\nsafe_br()|raw\n
    \n\nunsafe_br()|escape\n<br />\n\n\nautoescape js\n\nsafe_br\n\\x3Cbr\\x20\\x2F\\x3E\n--TEST--\n"autoescape" tag does not apply escaping on literals\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n1. Simple literal\n' Other + +'{{' Comment.Preproc +' ' Text +'"
    "' Literal.String.Double +' ' Text +'}}' Comment.Preproc +'\n\n2. Conditional expression with only literals\n' Other + +'{{' Comment.Preproc +' ' Text +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'"
    "' Literal.String.Double +' ' Text +':' Operator +' ' Text +'"
    "' Literal.String.Double +' ' Text +'}}' Comment.Preproc +'\n\n3. Conditional expression with a variable\n' Other + +'{{' Comment.Preproc +' ' Text +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'"
    "' Literal.String.Double +' ' Text +':' Operator +' ' Text +'someVar' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n\n4. Nested conditionals with only literals\n' Other + +'{{' Comment.Preproc +' ' Text +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'(' Operator +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'"
    "' Literal.String.Double +' ' Text +':' Operator +' ' Text +'"
    "' Literal.String.Double +')' Operator +' ' Text +':' Operator +' ' Text +'"\\n"' Literal.String.Double +' ' Text +'}}' Comment.Preproc +'\n\n5. Nested conditionals with a variable\n' Other + +'{{' Comment.Preproc +' ' Text +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'(' Operator +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'"
    "' Literal.String.Double +' ' Text +':' Operator +' ' Text +'someVar' Name.Variable +')' Operator +' ' Text +':' Operator +' ' Text +'"\\n"' Literal.String.Double +' ' Text +'}}' Comment.Preproc +'\n\n6. Nested conditionals with a variable marked safe\n' Other + +'{{' Comment.Preproc +' ' Text +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'(' Operator +'true' Keyword.Pseudo +' ' Text +'?' Operator +' ' Text +'"
    "' Literal.String.Double +' ' Text +':' Operator +' ' Text +'someVar' Name.Variable +'|' Operator +'raw' Name.Function +')' Operator +' ' Text +':' Operator +' ' Text +'"\\n"' Literal.String.Double +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n\n1. Simple literal\n
    \n\n2. Conditional expression with only literals\n
    \n\n3. Conditional expression with a variable\n<br />\n\n4. Nested conditionals with only literals\n
    \n\n5. Nested conditionals with a variable\n<br />\n\n6. Nested conditionals with a variable marked safe\n
    \n--TEST--\n"autoescape" tags can be nested at will\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'false' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'
    \')\n--EXPECT--\n<br />\n <br />\n
    \n <br />\n
    \n <br />\n<br />\n--TEST--\n"autoescape" tag applies escaping to object method calls\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'user' Name.Variable +'.name' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'user' Name.Variable +'.name' Name.Variable +'|' Operator +'lower' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'user' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--EXPECT--\nFabien<br />\nfabien<br />\nFabien<br />\n--TEST--\n"autoescape" tag does not escape when raw is used as a filter\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'
    \')\n--EXPECT--\n
    \n--TEST--\n"autoescape" tag accepts an escaping strategy\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'true' Keyword.Pseudo +' ' Text +'js' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'true' Keyword.Pseudo +' ' Text +'html' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'js'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'
    "\')\n--EXPECT--\n\\x3Cbr\\x20\\x2F\\x3E\\x22\n<br />"\n\\x3Cbr\\x20\\x2F\\x3E\\x22\n<br />"\n--TEST--\nescape types\n--TEMPLATE--\n\n1. autoescape \'html\' |escape(\'js\')\n\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +"\n\n2. autoescape 'html' |escape('js')\n\n" Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +"\n\n3. autoescape 'js' |escape('js')\n\n" Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'js'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n4. no escape\n\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'false' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +"\n\n5. |escape('js')|escape('html')\n\n" Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +'false' Keyword.Pseudo +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +"\n\n6. autoescape 'html' |escape('js')|escape('html')\n\n" Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n--DATA--\nreturn array(\'msg\' => "<>\\n\'\\"")\n--EXPECT--\n\n1. autoescape \'html\' |escape(\'js\')\n\n\n\n2. autoescape \'html\' |escape(\'js\')\n\n\n\n3. autoescape \'js\' |escape(\'js\')\n\n\n\n4. no escape\n\n\n\n5. |escape(\'js\')|escape(\'html\')\n\n\n\n6. autoescape \'html\' |escape(\'js\')|escape(\'html\')\n\n\n\n--TEST--\n"autoescape" tag do not applies escaping on filter arguments\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +'(' Operator +'"
    "' Literal.String.Double +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +'(' Operator +'"
    "' Literal.String.Double +'|' Operator +'escape' Name.Function +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +'(' Operator +'sep' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +'(' Operator +'sep' Name.Variable +'|' Operator +'raw' Name.Function +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +'(' Operator +'sep' Name.Variable +'|' Operator +'escape' Name.Function +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => "\\nTwig", \'sep\' => \'
    \')\n--EXPECT--\n<Fabien>
    \nTwig\n<Fabien><br />\nTwig\n<Fabien>
    \nTwig\n<Fabien>
    \nTwig\n<Fabien><br />\nTwig\n--TEST--\n"autoescape" tag applies escaping after calling filters\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +"\n\n(escape_and_nl2br is an escaper filter)\n\n1. Don't escape escaper filter output\n( var is escaped by |escape_and_nl2br, line-breaks are added, \n the output is not escaped )\n" Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape_and_nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +"\n\n2. Don't escape escaper filter output\n( var is escaped by |escape_and_nl2br, line-breaks are added, \n the output is not escaped, |raw is redundant )\n" Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape_and_nl2br' Name.Function +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n3. Explicit escape\n( var is escaped by |escape_and_nl2br, line-breaks are added,\n the output is explicitly escaped by |escape )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape_and_nl2br' Name.Function +'|' Operator +'escape' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n4. Escape non-escaper filter output\n( var is upper-cased by |upper,\n the output is auto-escaped )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'upper' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n5. Escape if last filter is not an escaper\n( var is escaped by |escape_and_nl2br, line-breaks are added,\n the output is upper-cased by |upper,\n the output is auto-escaped as |upper is not an escaper )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape_and_nl2br' Name.Function +'|' Operator +'upper' Name.Function +' ' Text +'}}' Comment.Preproc +"\n\n6. Don't escape escaper filter output\n( var is upper cased by upper,\n the output is escaped by |escape_and_nl2br, line-breaks are added,\n the output is not escaped as |escape_and_nl2br is an escaper )\n" Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'upper' Name.Function +'|' Operator +'escape_and_nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n7. Escape if last filter is not an escaper\n( the output of |format is "" ~ var ~ "",\n the output is auto-escaped )\n' Other + +'{{' Comment.Preproc +' ' Text +'"%s"' Literal.String.Double +'|' Operator +'format' Name.Function +'(' Operator +'var' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n8. Escape if last filter is not an escaper\n( the output of |format is "" ~ var ~ "",\n |raw is redundant,\n the output is auto-escaped )\n' Other + +'{{' Comment.Preproc +' ' Text +'"%s"' Literal.String.Double +'|' Operator +'raw' Name.Function +'|' Operator +'format' Name.Function +'(' Operator +'var' Name.Variable +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n9. Don\'t escape escaper filter output\n( the output of |format is "" ~ var ~ "",\n the output is not escaped due to |raw filter at the end )\n' Other + +'{{' Comment.Preproc +' ' Text +'"%s"' Literal.String.Double +'|' Operator +'format' Name.Function +'(' Operator +'var' Name.Variable +')' Operator +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n10. Don\'t escape escaper filter output\n( the output of |format is "" ~ var ~ "",\n the output is not escaped due to |raw filter at the end,\n the |raw filter on var is redundant )\n' Other + +'{{' Comment.Preproc +' ' Text +'"%s"' Literal.String.Double +'|' Operator +'format' Name.Function +'(' Operator +'var' Name.Variable +'|' Operator +'raw' Name.Function +')' Operator +'|' Operator +'raw' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => "\\nTwig")\n--EXPECT--\n\n(escape_and_nl2br is an escaper filter)\n\n1. Don\'t escape escaper filter output\n( var is escaped by |escape_and_nl2br, line-breaks are added, \n the output is not escaped )\n<Fabien>
    \nTwig\n\n2. Don\'t escape escaper filter output\n( var is escaped by |escape_and_nl2br, line-breaks are added, \n the output is not escaped, |raw is redundant )\n<Fabien>
    \nTwig\n\n3. Explicit escape\n( var is escaped by |escape_and_nl2br, line-breaks are added,\n the output is explicitly escaped by |escape )\n&lt;Fabien&gt;<br />\nTwig\n\n4. Escape non-escaper filter output\n( var is upper-cased by |upper,\n the output is auto-escaped )\n<FABIEN>\nTWIG\n\n5. Escape if last filter is not an escaper\n( var is escaped by |escape_and_nl2br, line-breaks are added,\n the output is upper-cased by |upper,\n the output is auto-escaped as |upper is not an escaper )\n&LT;FABIEN&GT;<BR />\nTWIG\n\n6. Don\'t escape escaper filter output\n( var is upper cased by upper,\n the output is escaped by |escape_and_nl2br, line-breaks are added,\n the output is not escaped as |escape_and_nl2br is an escaper )\n<FABIEN>
    \nTWIG\n\n7. Escape if last filter is not an escaper\n( the output of |format is "" ~ var ~ "",\n the output is auto-escaped )\n<b><Fabien>\nTwig</b>\n\n8. Escape if last filter is not an escaper\n( the output of |format is "" ~ var ~ "",\n |raw is redundant,\n the output is auto-escaped )\n<b><Fabien>\nTwig</b>\n\n9. Don\'t escape escaper filter output\n( the output of |format is "" ~ var ~ "",\n the output is not escaped due to |raw filter at the end )\n\nTwig\n\n10. Don\'t escape escaper filter output\n( the output of |format is "" ~ var ~ "",\n the output is not escaped due to |raw filter at the end,\n the |raw filter on var is redundant )\n\nTwig\n--TEST--\n"autoescape" tag applies escaping after calling filters, and before calling pre_escape filters\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n(nl2br is pre_escaped for "html" and declared safe for "html")\n\n1. Pre-escape and don\'t post-escape\n( var|escape|nl2br )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +"\n\n2. Don't double-pre-escape\n( var|escape|nl2br )\n" Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape' Name.Function +'|' Operator +'nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +"\n\n3. Don't escape safe values\n( var|raw|nl2br )\n" Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'raw' Name.Function +'|' Operator +'nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +"\n\n4. Don't escape safe values\n( var|escape|nl2br|nl2br )\n" Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +'|' Operator +'nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n5. Re-escape values that are escaped for an other contexts\n( var|escape_something|escape|nl2br )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape_something' Name.Function +'|' Operator +'nl2br' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n6. Still escape when using filters not declared safe\n( var|escape|nl2br|upper|escape )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'nl2br' Name.Function +'|' Operator +'upper' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => "\\nTwig")\n--EXPECT--\n\n(nl2br is pre_escaped for "html" and declared safe for "html")\n\n1. Pre-escape and don\'t post-escape\n( var|escape|nl2br )\n<Fabien>
    \nTwig\n\n2. Don\'t double-pre-escape\n( var|escape|nl2br )\n<Fabien>
    \nTwig\n\n3. Don\'t escape safe values\n( var|raw|nl2br )\n
    \nTwig\n\n4. Don\'t escape safe values\n( var|escape|nl2br|nl2br )\n<Fabien>

    \nTwig\n\n5. Re-escape values that are escaped for an other contexts\n( var|escape_something|escape|nl2br )\n<FABIEN>
    \nTWIG\n\n6. Still escape when using filters not declared safe\n( var|escape|nl2br|upper|escape )\n&LT;FABIEN&GT;<BR />\nTWIG\n\n--TEST--\n"autoescape" tag handles filters preserving the safety\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'autoescape' Keyword +' ' Text +"'html'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n(preserves_safety is preserving safety for "html")\n\n1. Unsafe values are still unsafe\n( var|preserves_safety|escape )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'preserves_safety' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n2. Safe values are still safe\n( var|escape|preserves_safety )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape' Name.Function +'|' Operator +'preserves_safety' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n3. Re-escape values that are escaped for an other contexts\n( var|escape_something|preserves_safety|escape )\n' Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape_something' Name.Function +'|' Operator +'preserves_safety' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\n4. Still escape when using filters not declared safe\n( var|escape|preserves_safety|replace(' Other +'{' Other +"'FABIEN': 'FABPOT'})|escape )\n" Other + +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +'|' Operator +'escape' Name.Function +'|' Operator +'preserves_safety' Name.Function +'|' Operator +'replace' Name.Function +'(' Operator +'{' Operator +"'FABIEN'" Literal.String.Single +':' Operator +' ' Text +"'FABPOT'" Literal.String.Single +'}' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endautoescape' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => "\\nTwig")\n--EXPECT--\n\n(preserves_safety is preserving safety for "html")\n\n1. Unsafe values are still unsafe\n( var|preserves_safety|escape )\n<FABIEN>\nTWIG\n\n2. Safe values are still safe\n( var|escape|preserves_safety )\n<FABIEN>\nTWIG\n\n3. Re-escape values that are escaped for an other contexts\n( var|escape_something|preserves_safety|escape )\n<FABIEN>\nTWIG\n\n4. Still escape when using filters not declared safe\n( var|escape|preserves_safety|replace(' Other +'{' Other +'\'FABIEN\': \'FABPOT\'})|escape )\n&LT;FABPOT&GT;\nTWIG\n\n--TEST--\n"block" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'title1' Name.Variable +' ' Text +'%}' Comment.Preproc +'FOO' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'title2' Name.Variable +' ' Text +'foo' Name.Variable +'|' Operator +'lower' Name.Function +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => \'bar\')\n--EXPECT--\nFOObar\n--TEST--\n"block" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXCEPTION--\nTwig_Error_Syntax: The block \'content\' has already been defined line 2 in "index.twig" at line 3\n--TEST--\n"§" special chars in a block name\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'§' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n§\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'§' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n§\n--TEST--\n"embed" tag\n--TEMPLATE--\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'embed' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n block1extended\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endembed' Keyword +' ' Text +'%}' Comment.Preproc +'\n\nBAR\n--TEMPLATE(foo.twig)--\nA\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block1\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nB\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c2' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block2\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nC\n--DATA--\nreturn array()\n--EXPECT--\nFOO\n\nA\n block1\n\n block1extended\n B\n block2\nC\nBAR\n--TEST--\n"embed" tag\n--TEMPLATE(index.twig)--\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'embed' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'nothing' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endembed' Keyword +' ' Text +'%}' Comment.Preproc +'\nBAR\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXCEPTION--\nTwig_Error_Runtime: Variable "nothing" does not exist in "index.twig" at line 5\n--TEST--\n"embed" tag\n--TEMPLATE--\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'embed' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n block1extended\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endembed' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'embed' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n block1extended\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endembed' Keyword +' ' Text +'%}' Comment.Preproc +'\n\nBAR\n--TEMPLATE(foo.twig)--\nA\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block1\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nB\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c2' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block2\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nC\n--DATA--\nreturn array()\n--EXPECT--\nFOO\n\nA\n block1\n\n block1extended\n B\n block2\nC\n\nA\n block1\n\n block1extended\n B\n block2\nC\nBAR\n--TEST--\n"embed" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'embed' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'embed' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n block1extended\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endembed' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endembed' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\nA\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block1\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nB\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c2' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block2\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nC\n--DATA--\nreturn array()\n--EXPECT--\nA\n block1\n\n \nA\n block1\n\n block1extended\n B\n block2\nC\n B\n block2\nC\n--TEST--\n"embed" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n blockc1baseextended\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c2' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n ' Other +'{%' Comment.Preproc +' ' Text +'embed' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n block1extended\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endembed' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\nA\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n blockc1base\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c2' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n blockc2base\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nB\n--TEMPLATE(foo.twig)--\nA\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block1\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nB\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'c2' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n block2\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\nC\n--DATA--\nreturn array()\n--EXPECT--\nA\n blockc1base\n\n blockc1baseextended\n blockc2base\n\n\n \nA\n block1\n\n block1extended\n B\n block2\nCB--TEST--\n"filter" tag applies a filter on its children\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'upper' Name.Function +' ' Text +'%}' Comment.Preproc +'\nSome text with a ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'var\')\n--EXPECT--\nSOME TEXT WITH A VAR\n--TEST--\n"filter" tag applies a filter on its children\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'json_encode' Name.Function +'|' Operator +'raw' Name.Function +' ' Text +'%}' Comment.Preproc +'test' Other +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n"test"\n--TEST--\n"filter" tags accept multiple chained filters\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'lower' Name.Function +'|' Operator +'title' Name.Function +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'VAR\')\n--EXPECT--\n Var\n--TEST--\n"filter" tags can be nested at will\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'lower' Name.Function +'|' Operator +'title' Name.Function +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'upper' Name.Function +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'var' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'var\' => \'var\')\n--EXPECT--\n Var\n Var\n Var\n--TEST--\n"filter" tag applies the filter on "for" tags\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'upper' Name.Function +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXPECT--\nA\nB\n--TEST--\n"filter" tag applies the filter on "if" tags\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'filter' Keyword +' ' Text +'upper' Name.Function +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'items' Name.Variable +'|' Operator +'join' Name.Function +'(' Operator +"', '" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'items' Name.Variable +'.3' Literal.Number +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'%}' Comment.Preproc +'\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'items' Name.Variable +'.1' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'items' Name.Variable +'.3' Literal.Number +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'%}' Comment.Preproc +'\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'elseif' Keyword +' ' Text +'items' Name.Variable +'.1' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'items' Name.Variable +'.0' Literal.Number +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endfilter' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXPECT--\nA, B\n\nB\n\nA\n--TEST--\n"for" tag takes a condition\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'i' Name.Variable +' ' Text +'in' Keyword +' ' Text +'1.' Literal.Number +'.5' Literal.Number +' ' Text +'if' Name.Variable +' ' Text +'i' Name.Variable +' ' Text +'is' Keyword +' ' Text +'odd' Name.Function +' ' Text +'-' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.index' Name.Variable +' ' Text +'}}' Comment.Preproc +'.' Other +'{{' Comment.Preproc +' ' Text +'i' Name.Variable +' ' Text +'}}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'.bar' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => array(\'bar\' => \'X\'))\n--CONFIG--\nreturn array(\'strict_variables\' => false)\n--EXPECT--\n1.1X\n2.3X\n3.5X\n--TEST--\n"for" tag keeps the context safe\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXPECT--\n * a\n * b\n * a\n * a\n * b\n * b\n--TEST--\n"for" tag can use an "else" clause\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\n no item\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXPECT--\n * a\n * b\n--DATA--\nreturn array(\'items\' => array())\n--EXPECT--\n no item\n--DATA--\nreturn array()\n--CONFIG--\nreturn array(\'strict_variables\' => false)\n--EXPECT--\n no item\n--TEST--\n"for" tag does not reset inner variables\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'i' Name.Variable +' ' Text +'in' Keyword +' ' Text +'1.' Literal.Number +'.2' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'j' Name.Variable +' ' Text +'in' Keyword +' ' Text +'0.' Literal.Number +'.2' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'k' Name.Variable +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'k' Name.Variable +' ' Text +'=' Operator +' ' Text +'k' Name.Variable +'+' Operator +'1' Literal.Number +' ' Text +'%}' Comment.Preproc +' ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.parent' Name.Variable +'.loop' Name.Variable +'.index' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'k\' => 0)\n--EXPECT--\n 0 1\n 1 1\n 2 1\n 3 2\n 4 2\n 5 2\n--TEST--\n"for" tag can iterate over keys and values\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +',' Operator +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXPECT--\n * 0/a\n * 1/b\n--TEST--\n"for" tag can iterate over keys\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'keys' Name.Function +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXPECT--\n * 0\n * 1\n--TEST--\n"for" tag adds a loop variable to the context locally\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'loop' Name.Builtin +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'defined' Name.Function +' ' Text +'%}' Comment.Preproc +'WORKS' Other +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array())\n--EXPECT--\nWORKS\n--TEST--\n"for" tag adds a loop variable to the context\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.index' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.index0' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.revindex' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.revindex0' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.first' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.last' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.length' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXPECT--\n * 1/0\n * 2/1\n * 1//2\n\n * 2/1\n * 1/0\n * /1/2\n--TEST--\n"for" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'i' Name.Variable +',' Operator +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'if' Name.Variable +' ' Text +'loop' Name.Builtin +'.last' Name.Variable +' ' Text +'>' Operator +' ' Text +'0' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXCEPTION--\nTwig_Error_Syntax: The "loop" variable cannot be used in a looping condition in "index.twig" at line 2\n--TEST--\n"for" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'i' Name.Variable +',' Operator +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'if' Name.Variable +' ' Text +'i' Name.Variable +' ' Text +'>' Operator +' ' Text +'0' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.last' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'))\n--EXCEPTION--\nTwig_Error_Syntax: The "loop.last" variable is not defined when looping with a condition in "index.twig" at line 3\n--TEST--\n"for" tag can use an "else" clause\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\n no ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\n no item1\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\', \'b\'), \'items1\' => array())\n--EXPECT--\nno a\n no b\n--TEST--\n"for" tag iterates over iterable and countable objects\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.index' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.index0' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.revindex' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.revindex0' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.first' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.last' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.length' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +',' Operator +' ' Text +'value' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'value' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'keys' Name.Function +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nclass ItemsIteratorCountable implements Iterator, Countable\n' Other + +'{' Other +"\n protected $values = array('foo' => 'bar', 'bar' => 'foo');\n public function current() " Other +'{' Other +' return current($this->values); }\n public function key() ' Other +'{' Other +' return key($this->values); }\n public function next() ' Other +'{' Other +' return next($this->values); }\n public function rewind() ' Other +'{' Other +' return reset($this->values); }\n public function valid() ' Other +'{' Other +' return false !== current($this->values); }\n public function count() ' Other +'{' Other +' return count($this->values); }\n}\nreturn array(\'items\' => new ItemsIteratorCountable())\n--EXPECT--\n * bar\n * 1/0\n * 2/1\n * 1//2\n\n * foo\n * 2/1\n * 1/0\n * /1/2\n\n\n * foo/bar\n * bar/foo\n\n * foo\n * bar\n--TEST--\n"for" tag iterates over iterable objects\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.index' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.index0' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.first' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +',' Operator +' ' Text +'value' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +'/' Other +'{{' Comment.Preproc +' ' Text +'value' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +'|' Operator +'keys' Name.Function +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nclass ItemsIterator implements Iterator\n' Other + +'{' Other +"\n protected $values = array('foo' => 'bar', 'bar' => 'foo');\n public function current() " Other +'{' Other +' return current($this->values); }\n public function key() ' Other +'{' Other +' return key($this->values); }\n public function next() ' Other +'{' Other +' return next($this->values); }\n public function rewind() ' Other +'{' Other +' return reset($this->values); }\n public function valid() ' Other +'{' Other +' return false !== current($this->values); }\n}\nreturn array(\'items\' => new ItemsIterator())\n--EXPECT--\n * bar\n * 1/0\n * 1\n\n * foo\n * 2/1\n * \n\n\n * foo/bar\n * bar/foo\n\n * foo\n * bar\n--TEST--\n"for" tags can be nested\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +',' Operator +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n* ' Other +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +' (' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.length' Name.Variable +' ' Text +'}}' Comment.Preproc +'):\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'value' Name.Variable +' ' Text +'in' Keyword +' ' Text +'item' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'value' Name.Variable +' ' Text +'}}' Comment.Preproc +' (' Other +'{{' Comment.Preproc +' ' Text +'loop' Name.Builtin +'.length' Name.Variable +' ' Text +'}}' Comment.Preproc +')\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'items\' => array(\'a\' => array(\'a1\', \'a2\', \'a3\'), \'b\' => array(\'b1\')))\n--EXPECT--\n* a (2):\n * a1 (3)\n * a2 (3)\n * a3 (3)\n* b (2):\n * b1 (1)\n--TEST--\n"for" tag iterates over item values\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'items' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n * ' Other +'{{' Comment.Preproc +' ' Text +'item' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +"\n--DATA--\nreturn array('items' => array('a', 'b'))\n--EXPECT--\n * a\n * b\n--TEST--\nglobal variables\n--TEMPLATE--\n" Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"included.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'from' Keyword +' ' Text +'"included.twig"' Literal.String.Double +' ' Text +'import' Name.Variable +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foobar' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(included.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'foobar' Name.Variable +'(' Operator +')' Operator +' ' Text +'%}' Comment.Preproc +'\ncalled foobar\n' Other + +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXPECT--\ncalled foobar\n--TEST--\n"if" creates a condition\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'a' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'a' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'elseif' Keyword +' ' Text +'b' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'b' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\n NOTHING\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'a\' => \'a\')\n--EXPECT--\n a\n--DATA--\nreturn array(\'b\' => \'b\')\n--EXPECT--\n b\n--DATA--\nreturn array()\n--EXPECT--\n NOTHING\n--TEST--\n"if" takes an expression as a test\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'a' Name.Variable +' ' Text +'<' Operator +' ' Text +'2' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n A1\n' Other + +'{%' Comment.Preproc +' ' Text +'elseif' Keyword +' ' Text +'a' Name.Variable +' ' Text +'>' Operator +' ' Text +'1' Literal.Number +'0' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n A2\n' Other + +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\n A3\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'a\' => 1)\n--EXPECT--\n A1\n--DATA--\nreturn array(\'a\' => 12)\n--EXPECT--\n A2\n--DATA--\nreturn array(\'a\' => 7)\n--EXPECT--\n A3\n--TEST--\n"include" tag\n--TEMPLATE--\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\nBAR\n--TEMPLATE(foo.twig)--\nFOOBAR\n--DATA--\nreturn array()\n--EXPECT--\nFOO\n\nFOOBAR\nBAR\n--TEST--\n"include" tag allows expressions for the template to include\n--TEMPLATE--\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\nBAR\n--TEMPLATE(foo.twig)--\nFOOBAR\n--DATA--\nreturn array(\'foo\' => \'foo.twig\')\n--EXPECT--\nFOO\n\nFOOBAR\nBAR\n--TEST--\n"include" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'[' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'"bar.twig"' Literal.String.Double +']' Operator +' ' Text +'ignore' Name.Variable +' ' Text +'missing' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'ignore' Name.Variable +' ' Text +'missing' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'ignore' Name.Variable +' ' Text +'missing' Name.Variable +' ' Text +'with' Name.Variable +' ' Text +'{' Operator +'}' Operator +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'ignore' Name.Variable +' ' Text +'missing' Name.Variable +' ' Text +'with' Name.Variable +' ' Text +'{' Operator +'}' Operator +' ' Text +'only' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n--TEST--\n"include" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXCEPTION--\nTwig_Error_Loader: Template "foo.twig" is not defined in "base.twig" at line 3.\n--TEST--\n"include" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array();\n--EXCEPTION--\nTwig_Error_Loader: Template "foo.twig" is not defined in "index.twig" at line 2.\n--TEST--\n"include" tag accept variables and only\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'only' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'with' Name.Variable +' ' Text +'{' Operator +"'foo1'" Literal.String.Single +':' Operator +' ' Text +"'bar'" Literal.String.Single +'}' Operator +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'with' Name.Variable +' ' Text +'{' Operator +"'foo1'" Literal.String.Single +':' Operator +' ' Text +"'bar'" Literal.String.Single +'}' Operator +' ' Text +'only' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'k' Name.Variable +',' Operator +' ' Text +'v' Name.Variable +' ' Text +'in' Keyword +' ' Text +'_context' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'k' Name.Variable +' ' Text +'}}' Comment.Preproc +',' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => \'bar\')\n--EXPECT--\nfoo,global,_parent,\nglobal,_parent,\nfoo,global,foo1,_parent,\nfoo1,global,_parent,\n--TEST--\n"include" tag accepts Twig_Template instance\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +' FOO\n--TEMPLATE(foo.twig)--\nBAR\n--DATA--\nreturn array(\'foo\' => $twig->loadTemplate(\'foo.twig\'))\n--EXPECT--\nBAR FOO\n--TEST--\n"include" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'[' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'"bar.twig"' Literal.String.Double +']' Operator +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'[' Operator +'"bar.twig"' Literal.String.Double +',' Operator +' ' Text +'"foo.twig"' Literal.String.Double +']' Operator +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\nfoo\n--DATA--\nreturn array()\n--EXPECT--\nfoo\nfoo\n--TEST--\n"include" tag accept variables\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'with' Name.Variable +' ' Text +'{' Operator +"'foo'" Literal.String.Single +':' Operator +' ' Text +"'bar'" Literal.String.Single +'}' Operator +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'with' Name.Variable +' ' Text +'vars' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'vars\' => array(\'foo\' => \'bar\'))\n--EXPECT--\nbar\nbar\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nFOO\n--TEST--\nblock_expr2\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base2.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'element' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n Element:\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base2.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'spaceless' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'element' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n
    \n ' Other +'{%' Comment.Preproc +'- ' Text +'if' Keyword +' ' Text +'item' Name.Variable +'.children' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'item' Name.Variable +'.children' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'block' Name.Builtin +'(' Operator +"'element'" Literal.String.Single +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'endif' Keyword +' ' Text +'-' Text +'%}' Comment.Preproc +'\n
    \n' Other + +'{%' Comment.Preproc +'- ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endspaceless' Keyword +' ' Text +'%}' Comment.Preproc +"\n--DATA--\nreturn array(\n 'item' => array(\n 'children' => array(\n null,\n null,\n )\n )\n)\n--EXPECT--\nElement:
    Element:
    Element:
    \n--TEST--\nblock_expr\n--TEMPLATE--\n" Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'element' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n Element:\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'spaceless' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'element' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n
    \n ' Other +'{%' Comment.Preproc +'- ' Text +'if' Keyword +' ' Text +'item' Name.Variable +'.children' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'for' Keyword +' ' Text +'item' Name.Variable +' ' Text +'in' Keyword +' ' Text +'item' Name.Variable +'.children' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'block' Name.Builtin +'(' Operator +"'element'" Literal.String.Single +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'endif' Keyword +' ' Text +'-' Text +'%}' Comment.Preproc +'\n
    \n' Other + +'{%' Comment.Preproc +'- ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endspaceless' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\n \'item\' => array(\n \'children\' => array(\n null,\n null,\n )\n )\n)\n--EXPECT--\nElement:
    Element:
    Element:
    \n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'standalone' Name.Variable +' ' Text +'?' Operator +' ' Text +'foo' Name.Variable +' ' Text +':' Operator +' ' Text +"'bar.twig'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'FOO' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'FOO' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(bar.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'BAR' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => \'foo.twig\', \'standalone\' => true)\n--EXPECT--\nFOOFOO\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nFOO\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => \'foo.twig\')\n--EXPECT--\nFOO\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'FOO' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nFOO\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'[' Operator +'"foo.twig"' Literal.String.Double +',' Operator +' ' Text +'"bar.twig"' Literal.String.Double +']' Operator +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(bar.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nfoo\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"layout.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'index ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(layout.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'layout ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'base ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nbase layout index\n--TEST--\n"block" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n CONTENT\n ' Other +'{%' Comment.Preproc +'- ' Text +'block' Keyword +' ' Text +'subcontent' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n SUBCONTENT\n ' Other +'{%' Comment.Preproc +'- ' Text +'endblock' Keyword +' ' Text +'-' Text +'%}' Comment.Preproc +'\n ENDCONTENT\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n--DATA--\nreturn array()\n--EXPECT--\nCONTENTSUBCONTENTENDCONTENT\n--TEST--\n"block" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'subcontent' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'subsubcontent' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n SUBSUBCONTENT\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'subcontent' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n SUBCONTENT\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nSUBSUBCONTENT\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"layout.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'inside' Name.Variable +' ' Text +'%}' Comment.Preproc +'INSIDE' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'inside' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(layout.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'body' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'inside' Name.Variable +' ' Text +"''" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'body' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'body' Name.Variable +' ' Text +"''" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nINSIDE\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'?' Operator +' ' Text +"'foo.twig'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'bar.twig'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\nFOO\n--TEMPLATE(bar.twig)--\nBAR\n--DATA--\nreturn array(\'foo\' => true)\n--EXPECT--\nFOO\n--DATA--\nreturn array(\'foo\' => false)\n--EXPECT--\nBAR\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--EXCEPTION--\nTwig_Error_Syntax: Cannot extend from a block in "index.twig" at line 3\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"included.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'footer' Name.Variable +' ' Text +'%}' Comment.Preproc +'Footer' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(included.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"base.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'Included Content' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(base.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'Default Content' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'footer' Name.Variable +' ' Text +'%}' Comment.Preproc +'Default Footer' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nIncluded Content\nDefault Footer\nFooter\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'inside' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n INSIDE OVERRIDDEN\n ' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n BEFORE\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n AFTER\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n BAR\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n\nINSIDE OVERRIDDEN\n \n BEFORE\n BAR\n\n AFTER\n--TEST--\n"extends" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'FOO' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'BAR' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nBARFOOBAR\n--TEST--\n"parent" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'foo.twig'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'BAR' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nBAR\n--TEST--\n"parent" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--EXCEPTION--\nTwig_Error_Syntax: Calling "parent" on a template that does not extend nor "use" another template is forbidden in "index.twig" at line 3\n--TEST--\n"extends" tag accepts Twig_Template instance\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'FOO\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'BAR' Other +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'foo\' => $twig->loadTemplate(\'foo.twig\'))\n--EXPECT--\nBARFOO\n--TEST--\n"parent" function\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'extends' Keyword +' ' Text +'"parent.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"use1.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"use2.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_parent' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use1' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use2' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'content_use1_only'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'content_use2_only'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(parent.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_parent' Name.Variable +' ' Text +"'content_parent'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use1' Name.Variable +' ' Text +"'content_parent'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use2' Name.Variable +' ' Text +"'content_parent'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"''" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(use1.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use1' Name.Variable +' ' Text +"'content_use1'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use2' Name.Variable +' ' Text +"'content_use1'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use1_only' Name.Variable +' ' Text +"'content_use1_only'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(use2.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use2' Name.Variable +' ' Text +"'content_use2'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content_use2_only' Name.Variable +' ' Text +"'content_use2_only'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n content_parent\n content_use1\n content_use2\n content_use1_only\n content_use2_only\n--TEST--\n"macro" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'import' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'macros' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'macros' Name.Variable +'.input' Name.Variable +'(' Operator +"'username'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'macros' Name.Variable +'.input' Name.Variable +'(' Operator +"'password'" Literal.String.Single +',' Operator +' ' Text +'null' Keyword.Pseudo +',' Operator +' ' Text +"'password'" Literal.String.Single +',' Operator +' ' Text +'1' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'input' Name.Variable +'(' Operator +'name' Name.Variable +',' Operator +' ' Text +'value' Name.Variable +',' Operator +' ' Text +'type' Name.Variable +',' Operator +' ' Text +'size' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'\n \n' Other + +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n \n\n \n--TEST--\n"macro" tag supports name for endmacro\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'import' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'macros' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'macros' Name.Variable +'.foo' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'macros' Name.Variable +'.bar' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'foo' Name.Variable +'(' Operator +')' Operator +' ' Text +'%}' Comment.Preproc +'foo' Other +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'bar' Name.Variable +'(' Operator +')' Operator +' ' Text +'%}' Comment.Preproc +'bar' Other +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo\nbar\n\n--TEST--\n"macro" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'import' Keyword +' ' Text +"'forms.twig'" Literal.String.Single +' ' Text +'as' Name.Variable +' ' Text +'forms' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'forms' Name.Variable +'.input' Name.Variable +'(' Operator +"'username'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'forms' Name.Variable +'.input' Name.Variable +'(' Operator +"'password'" Literal.String.Single +',' Operator +' ' Text +'null' Keyword.Pseudo +',' Operator +' ' Text +"'password'" Literal.String.Single +',' Operator +' ' Text +'1' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(forms.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'input' Name.Variable +'(' Operator +'name' Name.Variable +',' Operator +' ' Text +'value' Name.Variable +',' Operator +' ' Text +'type' Name.Variable +',' Operator +' ' Text +'size' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'\n \n' Other + +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n \n\n \n--TEST--\n"macro" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'from' Keyword +' ' Text +"'forms.twig'" Literal.String.Single +' ' Text +'import' Name.Variable +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'from' Keyword +' ' Text +"'forms.twig'" Literal.String.Single +' ' Text +'import' Name.Variable +' ' Text +'foo' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'foobar' Name.Variable +',' Operator +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foobar' Name.Variable +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'bar' Name.Variable +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(forms.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'foo' Name.Variable +'(' Operator +'name' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'foo' Other +'{{' Comment.Preproc +' ' Text +'name' Name.Variable +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'bar' Name.Variable +'(' Operator +'name' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'bar' Other +'{{' Comment.Preproc +' ' Text +'name' Name.Variable +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoofoo\nfoofoo\nbarfoo\n--TEST--\n"macro" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'from' Keyword +' ' Text +"'forms.twig'" Literal.String.Single +' ' Text +'import' Name.Variable +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +'(' Operator +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(forms.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'foo' Name.Variable +'(' Operator +'name' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'name' Name.Variable +'|' Operator +'default' Name.Function +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'global' Name.Variable +' ' Text +'}}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfooglobal\nfooglobal\n--TEST--\n"macro" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'import' Keyword +' ' Text +'_self' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'forms' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'forms' Name.Variable +'.input' Name.Variable +'(' Operator +"'username'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'forms' Name.Variable +'.input' Name.Variable +'(' Operator +"'password'" Literal.String.Single +',' Operator +' ' Text +'null' Keyword.Pseudo +',' Operator +' ' Text +"'password'" Literal.String.Single +',' Operator +' ' Text +'1' Literal.Number +')' Operator +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'macro' Keyword +' ' Text +'input' Name.Variable +'(' Operator +'name' Name.Variable +',' Operator +' ' Text +'value' Name.Variable +',' Operator +' ' Text +'type' Name.Variable +',' Operator +' ' Text +'size' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'\n \n' Other + +'{%' Comment.Preproc +' ' Text +'endmacro' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n \n\n \n--TEST--\n"raw" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'raw' Keyword +' ' Text +'%}' Comment.Preproc +'\n{{ foo }}\n' Other + +'{%' Comment.Preproc +' ' Text +'endraw' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--TEST--\n"raw" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'raw' Keyword +' ' Text +'%}' Comment.Preproc +'\n{{ foo }}\n{% endverbatim %}\n--DATA--\nreturn array()\n--EXCEPTION--\nTwig_Error_Syntax: Unexpected end of file: Unclosed "raw" block in "index.twig" at line 2\n--TEST--\n"raw" tag\n--TEMPLATE--\n1***\n\n{%- raw %}\n {{ \'bla\' }}\n' Other + +'{%' Comment.Preproc +' ' Text +'endraw' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n1***\n2***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'raw' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +' ' Text +'endraw' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n2***\n3***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'raw' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +' ' Text +'endraw' Keyword +' -' Text +'%}' Comment.Preproc +'\n\n3***\n4***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'raw' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +'- ' Text +'endraw' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n4***\n5***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'raw' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +'- ' Text +'endraw' Keyword +' -' Text +'%}' Comment.Preproc +'\n\n5***\n--DATA--\nreturn array()\n--EXPECT--\n1***\n ' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n\n\n1***\n2***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n\n\n2***\n3***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n3***\n4***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n\n4***\n5***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'5***\n--TEST--\nsandbox tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +'- ' Text +'sandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n a\n' Other + +'{%' Comment.Preproc +'- ' Text +'endsandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\nfoo\n--EXCEPTION--\nTwig_Error_Syntax: Only "include" tags are allowed within a "sandbox" section in "index.twig" at line 4\n--TEST--\nsandbox tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +'- ' Text +'sandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n ' Other +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'1' Literal.Number +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +'- ' Text +'endsandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\nfoo\n--EXCEPTION--\nTwig_Error_Syntax: Only "include" tags are allowed within a "sandbox" section in "index.twig" at line 5\n--TEST--\nsandbox tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +'- ' Text +'sandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +'- ' Text +'endsandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'sandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{%' Comment.Preproc +'- ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +'- ' Text +'endsandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'sandbox' Keyword +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'include' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endsandbox' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\nfoo\n--DATA--\nreturn array()\n--EXPECT--\nfoo\nfoo\nfoo\nfoo\n--TEST--\n"set" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'=' Operator +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'=' Operator +' ' Text +"'foo
    '" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'bar' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'foo' Name.Variable +',' Operator +' ' Text +'bar' Name.Variable +' ' Text +'=' Operator +' ' Text +"'foo'" Literal.String.Single +',' Operator +' ' Text +"'bar'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'{{' Comment.Preproc +' ' Text +'bar' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo\nfoo<br />\n\n\nfoobar\n--TEST--\n"set" tag block empty capture\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'{%' Comment.Preproc +' ' Text +'endset' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'FAIL' Other +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n--TEST--\n"set" tag block capture\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'f
    o
    o' Other +'{%' Comment.Preproc +' ' Text +'endset' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nf
    o
    o\n--TEST--\n"set" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'set' Keyword +' ' Text +'foo' Name.Variable +',' Operator +' ' Text +'bar' Name.Variable +' ' Text +'=' Operator +' ' Text +"'foo'" Literal.String.Single +' ' Text +'~' Operator +' ' Text +"'bar'" Literal.String.Single +',' Operator +' ' Text +"'bar'" Literal.String.Single +' ' Text +'~' Operator +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'bar' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoobar\nbarfoo\n--TEST--\n"spaceless" tag removes whites between HTML tags\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'spaceless' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n
    foo
    \n\n' Other + +'{%' Comment.Preproc +' ' Text +'endspaceless' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n
    foo
    \n--TEST--\n"§" custom tag\n--TEMPLATE--\n' Other + +'{' Other +'% § %}\n--DATA--\nreturn array()\n--EXPECT--\n§\n--TEST--\nWhitespace trimming on tags.\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'5' Literal.Number +' ' Text +'*' Operator +' ' Text +"'{#-'" Literal.String.Single +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'{{-'" Literal.String.Single +'|' Operator +'length' Name.Function +' ' Text +'*' Operator +' ' Text +'5' Literal.Number +' ' Text +'+' Operator +' ' Text +"'{%-'" Literal.String.Single +'|' Operator +'length' Name.Function +' ' Text +'}}' Comment.Preproc +'\n\nTrim on control tag:\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'i' Name.Variable +' ' Text +'in' Keyword +' ' Text +'range' Name.Variable +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'9' Literal.Number +')' Operator +' ' Text +'-' Text +'%}' Comment.Preproc +'\n\t' Other +'{{' Comment.Preproc +' ' Text +'i' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +'- ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n\nTrim on output tag:\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'i' Name.Variable +' ' Text +'in' Keyword +' ' Text +'range' Name.Variable +'(' Operator +'1' Literal.Number +',' Operator +' ' Text +'9' Literal.Number +')' Operator +' ' Text +'%}' Comment.Preproc +'\n\t' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'i' Name.Variable +' ' Text +'-' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n\nTrim comments:\n \n' Other + +'{#- Invisible -#}' Comment +'\n \nAfter the comment.\n\nTrim leading space:\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'leading' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n\t\t' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'leading' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'if' Keyword +' ' Text +'leading' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\t' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'leading' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n\nTrim trailing space:\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'trailing' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +' \n\t' Other +'{{' Comment.Preproc +' ' Text +'trailing' Name.Variable +' ' Text +'-' Text +'}}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'-' Text +'%}' Comment.Preproc +'\n\nCombined:\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'if' Keyword +' ' Text +'both' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n
      \n\t
    • ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'both' Name.Variable +' ' Text +'-' Text +'}}' Comment.Preproc +'
    • \n
    \n\n' Other + +'{%' Comment.Preproc +'- ' Text +'endif' Keyword +' ' Text +'-' Text +'%}' Comment.Preproc +'\n\nend\n--DATA--\nreturn array(\'leading\' => \'leading space\', \'trailing\' => \'trailing space\', \'both\' => \'both\')\n--EXPECT--\n15\n18\n\nTrim on control tag:\n123456789\n\nTrim on output tag:\n123456789\n\nTrim comments:After the comment.\n\nTrim leading space:\nleading space\nleading space\n\nTrim trailing space:\ntrailing spaceCombined:
      \n\t
    • both
    • \n
    end\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"blocks.twig"' Literal.String.Double +' ' Text +'with' Name.Variable +' ' Text +'content' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(blocks.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"blocks.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'content'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(blocks.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"bar.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(bar.twig)--\n--DATA--\nreturn array()\n--EXPECT--\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'content'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'bar'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"bar.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(bar.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'bar'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +"'bar'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nfoo\nfoo\nbar\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"ancestor.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"parent.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'container'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(parent.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'sub_container' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
    overriden sub_container
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(ancestor.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'container' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
    ' Other +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'sub_container'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'sub_container' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
    sub_container
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n
    overriden sub_container
    \n
    \n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"parent.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'container'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(parent.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"ancestor.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'sub_container' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
    overriden sub_container
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(ancestor.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'container' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
    ' Other +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'sub_container'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'sub_container' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n
    sub_container
    \n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n
    overriden sub_container
    \n
    \n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'with' Name.Variable +' ' Text +'content' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'foo_content' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"bar.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'content'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'bar'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'foo_content'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(bar.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'bar'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +"'bar'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nbar\nfoo\nbar\nfoo\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"foo.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +'"bar.twig"' Literal.String.Double +' ' Text +'%}' Comment.Preproc +'\n\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'content'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'foo'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'block' Name.Builtin +'(' Operator +"'bar'" Literal.String.Single +')' Operator +' ' Text +'}}' Comment.Preproc +'\n--TEMPLATE(foo.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +"'foo'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(bar.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'content' Name.Variable +' ' Text +"'bar'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +"'bar'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nbar\nfoo\nbar\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'file2.html.twig'" Literal.String.Single +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of block (second override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(file2.html.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'file1.html.twig'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of block (first override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(file1.html.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n Content of block\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nContent of block\nContent of block (first override)\nContent of block (second override)\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'file2.html.twig'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'file1.html.twig'" Literal.String.Single +' ' Text +'with' Name.Variable +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of foo (second override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of bar (second override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(file2.html.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'file1.html.twig'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of foo (first override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'parent' Name.Builtin +'(' Operator +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of bar (first override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(file1.html.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n Content of foo\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n Content of bar\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nContent of foo\nContent of foo (first override)\nContent of foo (second override)\nContent of bar\nContent of bar (second override)\n--TEST--\n"use" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'file2.html.twig'" Literal.String.Single +' ' Text +'with' Name.Variable +' ' Text +'foobar' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'base_base_foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'block' Name.Builtin +'(' Operator +"'base_base_foobar'" Literal.String.Single +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of block (second override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(file2.html.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'use' Keyword +' ' Text +"'file1.html.twig'" Literal.String.Single +' ' Text +'with' Name.Variable +' ' Text +'foobar' Name.Variable +' ' Text +'as' Name.Variable +' ' Text +'base_foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n ' Other +'{{' Comment.Preproc +'-' Operator +' ' Text +'block' Name.Builtin +'(' Operator +"'base_foobar'" Literal.String.Single +')' Operator +' ' Text +'-' Text +'}}' Comment.Preproc +'\n Content of block (first override)\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--TEMPLATE(file1.html.twig)--\n' Other + +'{%' Comment.Preproc +' ' Text +'block' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'-' Text +'%}' Comment.Preproc +'\n Content of block\n' Other + +'{%' Comment.Preproc +' ' Text +'endblock' Keyword +' ' Text +'foobar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nContent of block\nContent of block (first override)\nContent of block (second override)\n--TEST--\n"verbatim" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'verbatim' Keyword +' ' Text +'%}' Comment.Preproc +'\n{{ foo }}\n' Other + +'{%' Comment.Preproc +' ' Text +'endverbatim' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n--TEST--\n"verbatim" tag\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'verbatim' Keyword +' ' Text +'%}' Comment.Preproc +'\n{{ foo }}\n{% endraw %}\n--DATA--\nreturn array()\n--EXCEPTION--\nTwig_Error_Syntax: Unexpected end of file: Unclosed "verbatim" block in "index.twig" at line 2\n--TEST--\n"verbatim" tag\n--TEMPLATE--\n1***\n\n{%- verbatim %}\n {{ \'bla\' }}\n' Other + +'{%' Comment.Preproc +' ' Text +'endverbatim' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n1***\n2***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'verbatim' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +' ' Text +'endverbatim' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n2***\n3***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'verbatim' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +' ' Text +'endverbatim' Keyword +' -' Text +'%}' Comment.Preproc +'\n\n3***\n4***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'verbatim' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +'- ' Text +'endverbatim' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n4***\n5***\n\n' Other + +'{%' Comment.Preproc +'- ' Text +'verbatim' Keyword +' -' Text +'%}' Comment.Preproc +"\n {{ 'bla' }}\n" Other + +'{%' Comment.Preproc +'- ' Text +'endverbatim' Keyword +' -' Text +'%}' Comment.Preproc +'\n\n5***\n--DATA--\nreturn array()\n--EXPECT--\n1***\n ' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n\n\n1***\n2***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n\n\n2***\n3***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n3***\n4***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n\n4***\n5***' Other +'{{' Comment.Preproc +' ' Text +"'bla'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'5***\n--TEST--\narray index test\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'key' Name.Variable +',' Operator +' ' Text +'value' Name.Variable +' ' Text +'in' Keyword +' ' Text +'days' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'key' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\nreturn array(\'days\' => array(\n 1 => array(\'money\' => 9),\n 2 => array(\'money\' => 21),\n 3 => array(\'money\' => 38),\n 4 => array(\'money\' => 6),\n 18 => array(\'money\' => 6),\n 19 => array(\'money\' => 3),\n 31 => array(\'money\' => 11),\n));\n--EXPECT--\n1\n2\n3\n4\n18\n19\n31\n--TEST--\n"const" test\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'8' Literal.Number +' ' Text +'is' Keyword +' ' Text +'constant' Name.Function +'(' Operator +"'E_NOTICE'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'no'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'bar'" Literal.String.Single +' ' Text +'is' Keyword +' ' Text +'constant' Name.Function +'(' Operator +"'TwigTestFoo::BAR_NAME'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'no'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'value' Name.Variable +' ' Text +'is' Keyword +' ' Text +'constant' Name.Function +'(' Operator +"'TwigTestFoo::BAR_NAME'" Literal.String.Single +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'no'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +' ' Text +'is' Keyword +' ' Text +'constant' Name.Function +'(' Operator +"'ARRAY_AS_PROPS'" Literal.String.Single +',' Operator +' ' Text +'object' Name.Variable +')' Operator +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'no'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\'value\' => \'bar\', \'object\' => new ArrayObject(array(\'hi\')));\n--EXPECT--\nok\nok\nok\nok--TEST--\n"defined" test\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'definedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'definedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'undefinedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'undefinedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'zeroVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nullVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.definedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'[' Operator +"'definedVar'" Literal.String.Single +']' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.definedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.undefinedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'[' Operator +"'undefinedVar'" Literal.String.Single +']' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.undefinedVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.zeroVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.nullVar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'.definedArray' Name.Variable +'.0' Literal.Number +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'nested' Name.Variable +'[' Operator +"'definedArray'" Literal.String.Single +']' Operator +'[' Operator +'0' Literal.Number +']' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.foo' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.getFoo' Name.Variable +'(' Operator +')' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.getFoo' Name.Variable +'(' Operator +"'a'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +'(' Operator +')' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +'(' Operator +"'a'" Literal.String.Single +')' Operator +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.self' Name.Variable +'.foo' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.self' Name.Variable +'.undefinedMethod' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'object' Name.Variable +'.undefinedMethod' Name.Variable +'.self' Name.Variable +' ' Text +'is' Keyword +' ' Text +'defined' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\n \'definedVar\' => \'defined\',\n \'zeroVar\' => 0,\n \'nullVar\' => null,\n \'nested\' => array(\n \'definedVar\' => \'defined\',\n \'zeroVar\' => 0,\n \'nullVar\' => null,\n \'definedArray\' => array(0),\n ),\n \'object\' => new TwigTestFoo(),\n);\n--EXPECT--\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\n--DATA--\nreturn array(\n \'definedVar\' => \'defined\',\n \'zeroVar\' => 0,\n \'nullVar\' => null,\n \'nested\' => array(\n \'definedVar\' => \'defined\',\n \'zeroVar\' => 0,\n \'nullVar\' => null,\n \'definedArray\' => array(0),\n ),\n \'object\' => new TwigTestFoo(),\n);\n--CONFIG--\nreturn array(\'strict_variables\' => false)\n--EXPECT--\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\nok\n--TEST--\n"empty" test\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'bar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'foobar' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'array' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'zero' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'string' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'countable_empty' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'countable_not_empty' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'markup_empty' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'markup_not_empty' Name.Variable +' ' Text +'is' Keyword +' ' Text +'empty' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\n\nclass CountableStub implements Countable\n' Other + +'{' Other +'\n private $items;\n\n public function __construct(array $items)\n ' Other +'{' Other +'\n $this->items = $items;\n }\n\n public function count()\n ' Other +'{' Other +'\n return count($this->items);\n }\n}\nreturn array(\n \'foo\' => \'\', \'bar\' => null, \'foobar\' => false, \'array\' => array(), \'zero\' => 0, \'string\' => \'0\',\n \'countable_empty\' => new CountableStub(array()), \'countable_not_empty\' => new CountableStub(array(1, 2)),\n \'markup_empty\' => new Twig_Markup(\'\', \'UTF-8\'), \'markup_not_empty\' => new Twig_Markup(\'test\', \'UTF-8\'),\n);\n--EXPECT--\nok\nok\nok\nok\nko\nko\nok\nko\nok\nko\n--TEST--\n"even" test\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +' ' Text +'is' Keyword +' ' Text +'even' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +' ' Text +'is' Keyword +' ' Text +'even' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'even' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +' ' Text +'is' Keyword +' ' Text +'not' Keyword +' ' Text +'even' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nok\nok\nok\nok\n--TEST--\nTwig supports the in operator\n--TEMPLATE--\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'in' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'not' Keyword +' ' Text +'(' Operator +'bar' Name.Variable +' ' Text +'in' Keyword +' ' Text +'foo' Name.Variable +')' Operator +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'not' Keyword +' ' Text +'in' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'else' Keyword +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +"'a'" Literal.String.Single +' ' Text +'in' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +"'c'" Literal.String.Single +' ' Text +'not' Keyword +' ' Text +'in' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +"''" Literal.String.Single +' ' Text +'not' Keyword +' ' Text +'in' Keyword +' ' Text +'bar' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +"''" Literal.String.Single +' ' Text +'in' Keyword +' ' Text +"''" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +"'0'" Literal.String.Single +' ' Text +'not' Keyword +' ' Text +'in' Keyword +' ' Text +"''" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +"'a'" Literal.String.Single +' ' Text +'not' Keyword +' ' Text +'in' Keyword +' ' Text +"'0'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +"'0'" Literal.String.Single +' ' Text +'in' Keyword +' ' Text +"'0'" Literal.String.Single +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'false' Keyword.Pseudo +' ' Text +'in' Keyword +' ' Text +'[' Operator +'0' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'true' Keyword.Pseudo +' ' Text +'in' Keyword +' ' Text +'[' Operator +'0' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"'0'" Literal.String.Single +' ' Text +'in' Keyword +' ' Text +'[' Operator +'0' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"''" Literal.String.Single +' ' Text +'in' Keyword +' ' Text +'[' Operator +'0' Literal.Number +',' Operator +' ' Text +'1' Literal.Number +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'0' Literal.Number +' ' Text +'in' Keyword +' ' Text +'[' Operator +"''" Literal.String.Single +',' Operator +' ' Text +'1' Literal.Number +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +"''" Literal.String.Single +' ' Text +'in' Keyword +' ' Text +"'foo'" Literal.String.Single +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'0' Literal.Number +' ' Text +'in' Keyword +' ' Text +"'foo'" Literal.String.Single +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'false' Keyword.Pseudo +' ' Text +'in' Keyword +' ' Text +"'foo'" Literal.String.Single +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'true' Keyword.Pseudo +' ' Text +'in' Keyword +' ' Text +"'100'" Literal.String.Single +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +']' Operator +' ' Text +'in' Keyword +' ' Text +"'Array'" Literal.String.Single +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +']' Operator +' ' Text +'in' Keyword +' ' Text +'[' Operator +'true' Keyword.Pseudo +',' Operator +' ' Text +'false' Keyword.Pseudo +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +']' Operator +' ' Text +'in' Keyword +' ' Text +'[' Operator +'true' Keyword.Pseudo +',' Operator +' ' Text +"''" Literal.String.Single +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'[' Operator +']' Operator +' ' Text +'in' Keyword +' ' Text +'[' Operator +'true' Keyword.Pseudo +',' Operator +' ' Text +'[' Operator +']' Operator +']' Operator +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'dir_object' Name.Variable +' ' Text +'in' Keyword +' ' Text +"'foo'" Literal.String.Single +'~' Operator +'dir_name' Name.Variable +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'5' Literal.Number +' ' Text +'in' Keyword +' ' Text +'1' Literal.Number +'2' Literal.Number +'5' Literal.Number +' ' Text +'?' Operator +' ' Text +"'TRUE'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'FALSE'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +"\n--DATA--\nreturn array('bar' => 'bar', 'foo' => array('bar' => 'bar'), 'dir_name' => dirname(__FILE__), 'dir_object' => new SplFileInfo(dirname(__FILE__)))\n--EXPECT--\nTRUE\nTRUE\nTRUE\nTRUE\nTRUE\nTRUE\nTRUE\nTRUE\nTRUE\nFALSE\nFALSE\nFALSE\nFALSE\nFALSE\nTRUE\nFALSE\nFALSE\nFALSE\nFALSE\nFALSE\nFALSE\nTRUE\nFALSE\nFALSE\n--TEST--\nTwig supports the in operator when using objects\n--TEMPLATE--\n" Other + +'{%' Comment.Preproc +' ' Text +'if' Keyword +' ' Text +'object' Name.Variable +' ' Text +'in' Keyword +' ' Text +'object_list' Name.Variable +' ' Text +'%}' Comment.Preproc +'\nTRUE\n' Other + +'{%' Comment.Preproc +' ' Text +'endif' Keyword +' ' Text +'%}' Comment.Preproc +'\n--DATA--\n$foo = new TwigTestFoo();\n$foo1 = new TwigTestFoo();\n\n$foo->position = $foo1;\n$foo1->position = $foo;\n\nreturn array(\n \'object\' => $foo,\n \'object_list\' => array($foo1, $foo),\n);\n--EXPECT--\nTRUE\n--TEST--\n"iterable" test\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'foo' Name.Variable +' ' Text +'is' Keyword +' ' Text +'iterable' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'traversable' Name.Variable +' ' Text +'is' Keyword +' ' Text +'iterable' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'obj' Name.Variable +' ' Text +'is' Keyword +' ' Text +'iterable' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'val' Name.Variable +' ' Text +'is' Keyword +' ' Text +'iterable' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array(\n \'foo\' => array(),\n \'traversable\' => new ArrayIterator(array()),\n \'obj\' => new stdClass(),\n \'val\' => \'test\',\n);\n--EXPECT--\nok\nok\nko\nko--TEST--\n"odd" test\n--TEMPLATE--\n' Other + +'{{' Comment.Preproc +' ' Text +'1' Literal.Number +' ' Text +'is' Keyword +' ' Text +'odd' Name.Function +' ' Text +'?' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n' Other + +'{{' Comment.Preproc +' ' Text +'2' Literal.Number +' ' Text +'is' Keyword +' ' Text +'odd' Name.Function +' ' Text +'?' Operator +' ' Text +"'ko'" Literal.String.Single +' ' Text +':' Operator +' ' Text +"'ok'" Literal.String.Single +' ' Text +'}}' Comment.Preproc +'\n--DATA--\nreturn array()\n--EXPECT--\nok\nok\n' Other diff --git a/tests/examplefiles/typoscript_example b/tests/examplefiles/typoscript/typoscript_example similarity index 100% rename from tests/examplefiles/typoscript_example rename to tests/examplefiles/typoscript/typoscript_example diff --git a/tests/examplefiles/typoscript/typoscript_example.output b/tests/examplefiles/typoscript/typoscript_example.output new file mode 100644 index 0000000..b013163 --- /dev/null +++ b/tests/examplefiles/typoscript/typoscript_example.output @@ -0,0 +1,12842 @@ +'# ***************************************************************************' Comment +'\n' Text + +'# Notice: "styles." (and "temp.") objects are UNSET after template parsing!' Comment +'\n' Text + +'# Use "lib." for persisting storage of objects.' Comment +'\n' Text + +'# ***************************************************************************' Comment +'\n\n' Text + +'<' Literal.String +'INCLUDE_TYPOSCRIPT' Name.Class +':' Literal.String +' ' Text +'source' Literal.String +'=' Literal.String +'"FILE' Literal.String +':' Literal.String +' ' Text +'EXT:www_tue_nl/Configuration/TypoScript/Setup/Root.ts' Literal.String +'"' Literal.String +'>' Literal.String +'\n\n' Text + +'page' Name.Builtin +'.' Punctuation +'80' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'RECORDS' Name.Class +'\n' Text + +'page' Name.Builtin +'.' Punctuation +'80' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'source' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'tables' Text +' ' Text +'= ' Operator +'tt_address' Name.Builtin +'\n ' Text +'conf' Text +'.' Punctuation +'tt_address' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n ' Text +'conf' Text +'.' Punctuation +'tt_address' Text +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n ' Text +'20' Literal.Number.Integer +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'email' Text +'\n ' Text +'20' Literal.Number.Integer +'.' Punctuation +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'email' Text +'\n ' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\t' Text +'/*\npage.200 = PHP_SCRIPT_EXT\npage.200 {\n 1 = TMENU\n 1.wrap =
    |
    \n 1.expAll = 1\n 1.submenuObjSuffixes = a |*| |*| b\n 1.NO.allWrap = |
    \n\n 2 = TMENU\n 2.NO.allWrap =
    |
    \n\n 2a = TMENU\n 2a.NO.allWrap =
    |
    \n*\n 2b = TMENU\n 2b.NO.allWrap =
    |
    \n}\n*/' Comment +'\n\n ' Text +'# Add the CSS and JS files' Comment +'\n' Text + +'page' Name.Builtin +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'includeCSS' Text +' ' Text +'{' Literal.String.Symbol +' ' Text +'# comment at the end of a line' Comment +'\n ' Text +'file99' Text +' ' Text +'=' Operator +' ' Text +'fileadmin/your-fancybox' Literal.String +'.css\n' Literal.String + +' ' Text +'}' Literal.String.Symbol +'\n ' Text +'includeJSFooter' Text +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'fancybox' Text +' ' Text +'=' Operator +' ' Text +'fileadmin/your-fancybox' Literal.String +'.js\n' Literal.String + +' ' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n ' Text +'# Change the default rendering of images to match lightbox requirements' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'imageLinkWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'JSwindow' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n ' Text +'test' Text +' ' Text +'=' Operator +' ' Text +'MyExtension' Text +'\\' Literal.String.Symbol +'Path' Text +'\\' Literal.String.Symbol +'To' Text +'\\' Literal.String.Symbol +'Class' Text +'\n\n ' Text +'directImageLink' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'linkParams' Text +'.' Punctuation +'ATagParams' Text +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'class' Text +'=' Operator +' ' Text +'"lightbox"' Text +' ' Text +'rel' Text +'=' Operator +'"fancybox' Text +'{' Literal.String.Symbol +'field' Name.Constant +':' Operator +'uid' Name.Constant +'}' Literal.String.Symbol +'"' Text +'\n ' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'imageLinkWrap' Name.Function +' ' Text +'>' Operator +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'imageLinkWrap' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'imageLinkWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'enable' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'typolink' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'# directly link to the recent image' Comment +'\n ' Text +'parameter' Text +'.' Punctuation +'cObject' Text +' ' Text +'=' Operator +' ' Text +'IMG_RESOURCE' Name.Class +'\n ' Text +'parameter' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'file' Text +'.' Punctuation +'import' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'TSFE' Text +':' Operator +'lastImageInfo' Text +'|' Operator +'origFile' Text +'\n ' Text +'parameter' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'file' Text +'.' Punctuation +'maxW' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'maxW' Name.Constant +'}' Literal.String.Symbol +'\n ' Text +'parameter' Text +'.' Punctuation +'override' Text +'.' Punctuation +'listNum' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +' ' Text +':' Operator +' ' Text +'IMAGE_NUM_CURRENT' Text +'\n ' Text +'title' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecaption' Text +' ' Text +'// title' Comment +'\n ' Text +'title' Text +'.' Punctuation +'split' Name.Function +'.' Punctuation +'token' Text +'.' Punctuation +'char' Text +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Integer +'\n ' Text +'title' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecaption' Text +' ' Text +'// header' Comment +'\n ' Text +'title' Text +'.' Punctuation +'split' Name.Function +'.' Punctuation +'token' Text +'.' Punctuation +'char' Text +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Integer +'\n ' Text +'title' Text +'.' Punctuation +'split' Name.Function +'.' Punctuation +'returnKey' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +' ' Text +':' Operator +' ' Text +'IMAGE_NUM_CURRENT' Text +'\n ' Text +'parameter' Text +'.' Punctuation +'cObject' Text +' ' Text +'=' Operator +' ' Text +'IMG_RESOURCE' Name.Class +'\n ' Text +'parameter' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'file' Text +'.' Punctuation +'import' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'TSFE' Text +':' Operator +'lastImageInfo' Text +'|' Operator +'origFile' Text +'\n ' Text +'ATagParams' Text +' ' Text +'=' Operator +' ' Text +'target' Text +'=' Operator +'"_blank"' Text +'\n ' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'IMAGE' Name.Class +'\n' Text + +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n ' Text +'# point to the image' Comment +'\n ' Text +'file' Text +' ' Text +'=' Operator +' ' Text +'fileadmin/demo/lorem_ipsum/images/a4' Literal.String +'.jpg\n' Literal.String + +' ' Text +'# make it rather small' Comment +'\n ' Text +'file' Text +'.' Punctuation +'width' Text +' ' Text +'=' Operator +' ' Text +'80' Literal.Number.Integer +'\n ' Text +'# add a link to tx_cms_showpic.php that shows the original image' Comment +'\n ' Text +'imageLinkWrap' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'imageLinkWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t ' Text +'enable' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t ' Text +'# JSwindow = 1' Comment +'\n\t ' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# Clear out any constants in this reserved room!' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +' ' Text +'>' Operator +'\n\n' Text + +'# get content' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'get' Text +' ' Text +'=' Operator +' ' Text +'CONTENT' Name.Class +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'get' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'table' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +'\n\t' Text +'select' Name.Function +'.' Punctuation +'orderBy' Text +' ' Text +'=' Operator +' ' Text +'sorting' Text +'\n\t' Text +'select' Name.Function +'.' Punctuation +'where' Text +' ' Text +'=' Operator +' ' Text +'colPos' Text +'=' Operator +'0' Literal.Number.Integer +'\n\t' Text +'select' Name.Function +'.' Punctuation +'languageField' Text +' ' Text +'=' Operator +' ' Text +'sys_language_uid' Text +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# get content, left' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getLeft' Text +' ' Text +'< ' Operator +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'get' Text +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getLeft' Text +'.' Punctuation +'select' Name.Function +'.' Punctuation +'where' Text +' ' Text +'=' Operator +' ' Text +'colPos' Text +'=' Operator +'1' Literal.Number.Integer +'\n\n' Text + +'# get content, right' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getRight' Text +' ' Text +'< ' Operator +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'get' Text +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getRight' Text +'.' Punctuation +'select' Name.Function +'.' Punctuation +'where' Text +' ' Text +'=' Operator +' ' Text +'colPos' Text +'=' Operator +'2' Literal.Number.Integer +'\n\n' Text + +'# get content, margin' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getBorder' Text +' ' Text +'< ' Operator +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'get' Text +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getBorder' Text +'.' Punctuation +'select' Name.Function +'.' Punctuation +'where' Text +' ' Text +'=' Operator +' ' Text +'colPos' Text +'=' Operator +'3' Literal.Number.Integer +'\n\n' Text + +'# get news' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getNews' Text +' ' Text +'< ' Operator +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'get' Text +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'getNews' Text +'.' Punctuation +'select' Name.Function +'.' Punctuation +'pidInList' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.getNews.' Name.Constant +'newsPid' Name.Constant +'}' Literal.String.Symbol +'\n\n' Text + +'# Edit page object:' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'editPanelPage' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'editPanelPage' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'EDITPANEL' Name.Class +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'allow' Text +' ' Text +'=' Operator +' ' Text +'toolbar' Text +',' Punctuation +'move' Text +',' Punctuation +'hide' Text +'\n\t\t' Text +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.page' Literal.String +'\n\t\t' Text +'label' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +' ' Literal.String +'<' Literal.String +'b' Literal.String +'>' Literal.String +'%' Operator +'s' Text +'<' Literal.String +'/b' Literal.String +'>' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n\n\n\n\n\n\n\n\n' Text + +'# *********************************************************************' Comment +'\n' Text + +'# "lib." objects are preserved from unsetting after template parsing' Comment +'\n' Text + +'# *********************************************************************' Comment +'\n\n' Text + +'# Creates persistent ParseFunc setup for non-HTML content. This is recommended to use (as a reference!)' Comment +'\n' Text + +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'makelinks' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'makelinks' Name.Function +'.' Punctuation +'http' Text +'.' Punctuation +'keep' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.links.' Name.Constant +'keep' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'makelinks' Name.Function +'.' Punctuation +'http' Text +'.' Punctuation +'extTarget' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.links.' Name.Constant +'extTarget' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'makelinks' Name.Function +'.' Punctuation +'mailto' Text +'.' Punctuation +'keep' Text +' ' Text +'=' Operator +' ' Text +'path' Text +'\n\t' Text +'tags' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'link' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'link' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'current' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'parameters' Text +' ' Text +':' Operator +' ' Text +'allParams' Text +'\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'extTarget' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.links.' Name.Constant +'extTarget' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.links.' Name.Constant +'target' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'parseFunc' Name.Function +'.' Punctuation +'constants' Text +' ' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'allowTags' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.links.' Name.Constant +'allowTags' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'denyTags' Text +' ' Text +'=' Operator +' ' Text +'*' Operator +'\n\t' Text +'sword' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'span' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-sword"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/span' Literal.String +'>' Literal.String +'\n\t' Text +'constants' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t' Text +'nonTypoTagStdWrap' Text +'.' Punctuation +'HTMLparser' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'nonTypoTagStdWrap' Text +'.' Punctuation +'HTMLparser' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'keepNonMatchedTags' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# good old parsefunc in "styles.content.parseFunc" is created for backwards compatibility. Don\'t use it, just ignore.' Comment +'\n' Text + +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'parseFunc' Name.Function +' ' Text +'< ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n\n' Text + +'# Creates persistent ParseFunc setup for RTE content (which is mainly HTML) based on the "ts_css" transformation.' Comment +'\n' Text + +'lib' Name.Builtin +'.' Punctuation +'parseFunc_RTE' Text +' ' Text +'< ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n' Text + +'lib' Name.Builtin +'.' Punctuation +'parseFunc_RTE' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'// makelinks >' Comment +'\n\t' Text +'# Processing and
    blocks separately' Comment +'\n\t' Text +'externalBlocks' Text +' ' Text +'=' Operator +' ' Text +'table' Text +',' Punctuation +' ' Text +'blockquote' Text +',' Punctuation +' ' Text +'dd' Text +',' Punctuation +' ' Text +'dl' Text +',' Punctuation +' ' Text +'ol' Text +',' Punctuation +' ' Text +'ul' Text +',' Punctuation +' ' Text +'div' Text +'\n\t' Text +'externalBlocks' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'# The blockquote content is passed into parseFunc again...' Comment +'\n\t\t' Text +'blockquote' Text +'.' Punctuation +'stripNL' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'blockquote' Text +'.' Punctuation +'callRecursive' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'blockquote' Text +'.' Punctuation +'callRecursive' Text +'.' Punctuation +'tagStdWrap' Text +'.' Punctuation +'HTMLparser' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'blockquote' Text +'.' Punctuation +'callRecursive' Text +'.' Punctuation +'tagStdWrap' Text +'.' Punctuation +'HTMLparser' Name.Function +'.' Punctuation +'tags' Name.Function +'.' Punctuation +'blockquote' Text +'.' Punctuation +'overrideAttribs' Text +' ' Text +'=' Operator +' ' Text +'style' Text +'=' Operator +'"margin-bottom' Text +':' Operator +'0' Literal.Number.Integer +';margin-top' Text +':' Operator +'0' Literal.Number.Integer +';"' Text +'\n\n\t\t' Text +'ol' Text +'.' Punctuation +'stripNL' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'ol' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'parseFunc' Name.Function +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n\n\t\t' Text +'ul' Text +'.' Punctuation +'stripNL' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'ul' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'parseFunc' Name.Function +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n\n\t\t' Text +'table' Text +'.' Punctuation +'stripNL' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'table' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'HTMLparser' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'table' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'HTMLparser' Name.Function +'.' Punctuation +'tags' Name.Function +'.' Punctuation +'table' Text +'.' Punctuation +'fixAttrib' Text +'.' Punctuation +'class' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'default' Text +' ' Text +'=' Operator +' ' Text +'contenttable' Text +'\n\t\t\t' Text +'always' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'list' Text +' ' Text +'=' Operator +' ' Text +'contenttable' Text +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'table' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'HTMLparser' Name.Function +'.' Punctuation +'keepNonMatchedTags' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'table' Text +'.' Punctuation +'HTMLtableCells' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'table' Text +'.' Punctuation +'HTMLtableCells' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'default' Text +'.' Punctuation +'callRecursive' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t\t' Text +'addChr10BetweenParagraphs' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'div' Text +'.' Punctuation +'stripNL' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'div' Text +'.' Punctuation +'callRecursive' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t\t' Text +'# Definition list processing' Comment +'\n\t\t' Text +'dl' Text +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'div' Text +'\n\t\t' Text +'dd' Text +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'div' Text +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'nonTypoTagStdWrap' Text +'.' Punctuation +'encapsLines' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'encapsTagList' Text +' ' Text +'=' Operator +' ' Text +'p' Text +',' Punctuation +'pre' Text +',' Punctuation +'h1' Text +',' Punctuation +'h2' Text +',' Punctuation +'h3' Text +',' Punctuation +'h4' Text +',' Punctuation +'h5' Text +',' Punctuation +'h6' Text +',' Punctuation +'hr' Text +',' Punctuation +'dt' Text +'\n\t\t' Text +'remapTag' Text +'.' Punctuation +'DIV' Text +' ' Text +'=' Operator +' ' Text +'P' Text +'\n\t\t' Text +'nonWrappedTag' Text +' ' Text +'=' Operator +' ' Text +'P' Text +'\n\t\t' Text +'innerStdWrap_all' Text +'.' Punctuation +'ifBlank' Text +' ' Text +'=' Operator +' ' Text +' ' Literal.String +'\n\t\t' Text +'addAttributes' Text +'.' Punctuation +'P' Text +'.' Punctuation +'class' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\t\t' Text +'addAttributes' Text +'.' Punctuation +'P' Text +'.' Punctuation +'class' Text +'.' Punctuation +'setOnly' Text +'=' Operator +'blank' Text +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'nonTypoTagStdWrap' Text +'.' Punctuation +'HTMLparser' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'nonTypoTagStdWrap' Text +'.' Punctuation +'HTMLparser' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'keepNonMatchedTags' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# Content header:' Comment +'\n' Text + +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +' ' Text +'{' Literal.String.Symbol +'\n\n\t' Text +'# Create align style-attribute for tags' Comment +'\n\t' Text +'2' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'LOAD_REGISTER' Name.Class +'\n\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'headerStyle' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'header_position' Text +'\n\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'headerStyle' Text +'.' Punctuation +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'headerStyle' Text +'.' Punctuation +'noTrimWrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +' ' Text +'style' Text +'=' Operator +'"text-align' Text +':' Operator +'|' Operator +';"' Text +'|' Operator +'\n\n\t' Text +'# Create class="csc-firstHeader" attribute for tags' Comment +'\n\t' Text +'3' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'LOAD_REGISTER' Name.Class +'\n\t' Text +'3' Literal.Number.Integer +'.' Punctuation +'headerClass' Text +' ' Text +'=' Operator +' ' Text +'csc-firstHeader' Text +'\n\t' Text +'3' Literal.Number.Integer +'.' Punctuation +'headerClass' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'value' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t' Text +'3' Literal.Number.Integer +'.' Punctuation +'headerClass' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'equals' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'cObj' Name.Builtin +':' Operator +'parentRecordNumber' Text +'\n\t' Text +'3' Literal.Number.Integer +'.' Punctuation +'headerClass' Text +'.' Punctuation +'noTrimWrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +' ' Text +'class' Text +'=' Operator +'"' Text +'|' Operator +'"' Text +'|' Operator +'\n\n\t' Text +'# Date format:' Comment +'\n\t' Text +'5' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'date' Text +'\n\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'date' Text +'\n\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'strftime' Text +' ' Text +'=' Operator +' ' Text +'%' Operator +'x' Text +'\n\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'p' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-header-date"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'\n\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Header' Text +' ' Text +'date' Text +':' Operator +'\n\n\t' Text +'# This CASE cObject renders the header content:' Comment +'\n\t' Text +'# currentValue is set to the header data, possibly wrapped in link-tags.' Comment +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'setCurrent' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'header' Text +'\n\t\t' Text +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'header_link' Text +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'header_layout' Text +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'ifEmpty' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'defaultHeaderType' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'ifEmpty' Text +'.' Punctuation +'override' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +' ' Text +'defaultHeaderType' Text +'\n\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'current' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'|' Operator +'<' Literal.String +'/h1' Literal.String +'>' Literal.String +'\n\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'2' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'10' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'2' Literal.Number.Integer +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'|' Operator +'<' Literal.String +'/h2' Literal.String +'>' Literal.String +'\n\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'3' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'10' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'3' Literal.Number.Integer +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'|' Operator +'<' Literal.String +'/h3' Literal.String +'>' Literal.String +'\n\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'4' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'10' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'4' Literal.Number.Integer +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'|' Operator +'<' Literal.String +'/h4' Literal.String +'>' Literal.String +'\n\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'5' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'10' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'5' Literal.Number.Integer +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'|' Operator +'<' Literal.String +'/h5' Literal.String +'>' Literal.String +'\n\n\t' Text +'# Pops the used registers off the stack:' Comment +'\n\t' Text +'98' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'RESTORE_REGISTER' Name.Class +'\n\t' Text +'99' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'RESTORE_REGISTER' Name.Class +'\n\n\t' Text +'# Post-processing:' Comment +'\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'fieldRequired' Text +' ' Text +'=' Operator +' ' Text +'header' Text +'\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'if' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'equals' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'header_layout' Text +'\n\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'100' Literal.Number.Integer +'\n\t\t' Text +'negate' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +' ' Text +':' Operator +' ' Text +'header' Text +',' Punctuation +' ' Text +'[' Literal.String.Symbol +'header_layout' Text +' ' Text +'|' Operator +' ' Text +'header_position' Text +']' Literal.String.Symbol +',' Punctuation +' ' Text +'[' Literal.String.Symbol +'header_link' Text +'|' Operator +'date' Text +']' Literal.String.Symbol +'\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'editIcons' Text +'.' Punctuation +'beforeLastTag' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.header' Literal.String +'\n\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'|' Operator +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Header' Text +':' Operator +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n' Text + +'#******************************************************' Comment +'\n' Text + +'# Including library for processing of some elements:' Comment +'\n' Text + +'#******************************************************' Comment +'\n' Text + +'includeLibs' Name.Builtin +'.' Punctuation +'tx_cssstyledcontent_pi1' Text +' ' Text +'=' Operator +' ' Text +'EXT:css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php' Literal.String +'\n\n\n' Text + +'#**********************************' Comment +'\n' Text + +'# tt_content is started' Comment +'\n' Text + +'#**********************************' Comment +'\n' Text + +'tt_content' Name.Builtin +' ' Text +'>' Operator +'\n' Text + +'tt_content' Name.Builtin +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'CType' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'innerWrap' Text +'.' Punctuation +'cObject' Text +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t' Text +'innerWrap' Text +'.' Punctuation +'cObject' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'section_frame' Text +'\n\n\t\t' Text +'default' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t' Text +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'<' Operator +'div' Text +' ' Text +'id' Text +'=' Operator +'"c' Text +'{' Literal.String.Symbol +'field' Name.Constant +':' Operator +'uid' Name.Constant +'}' Literal.String.Symbol +'"' Text +'\n\t\t\t\t' Text +'override' Text +'.' Punctuation +'cObject' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t' Text +'override' Text +'.' Punctuation +'cObject' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'<' Operator +'div' Text +'\n\t\t\t\t\t' Text +'if' Name.Function +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'div' Text +'\n\t\t\t\t\t' Text +'if' Name.Function +'.' Punctuation +'equals' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'CType' Text +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'insertData' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'15' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'15' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-default' Text +'\n\t\t\t\t' Text +'noTrimWrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +' ' Text +'class' Text +'=' Operator +'"' Text +'|' Operator +'"' Text +' ' Text +'|' Operator +'\n\t\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceBefore' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'+' Operator +'\n\t\t\t\t\t\t' Text +'if' Name.Function +'.' Punctuation +'isTrue' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceBefore' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'spaceBefore' Text +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t \t\t' Text +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'prioriCalc' Text +' ' Text +'=' Operator +' ' Text +'intval' Text +'\n\t\t\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'margin-top' Text +':' Operator +'|' Operator +'px;' Text +'\n\t\t\t\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t\t' Text +'ifEmpty' Text +'.' Punctuation +'value' Text +' ' Text +'=' Operator +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceAfter' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'+' Operator +'\n\t\t\t\t\t\t' Text +'if' Name.Function +'.' Punctuation +'isTrue' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceAfter' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'spaceAfter' Text +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t\t' Text +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'prioriCalc' Text +' ' Text +'=' Operator +' ' Text +'intval' Text +'\n\t\t\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'margin-bottom' Text +':' Operator +'|' Operator +'px;' Text +'\n\t\t\t\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t\t' Text +'ifEmpty' Text +'.' Punctuation +'value' Text +' ' Text +'=' Operator +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t' Text +'stdWrap' Name.Function +'.' Punctuation +'noTrimWrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +' ' Text +'style' Text +'=' Operator +'"' Text +'|' Operator +'"' Text +' ' Text +'|' Operator +'\n\t\t\t\t' Text +'stdWrap' Name.Function +'.' Punctuation +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'30' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'>' Operator +'|' Operator +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'1' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-invisible' Text +'\n\n\t\t' Text +'5' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-rulerBefore' Text +'\n\n\t\t' Text +'6' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'6' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-rulerAfter' Text +'\n\n\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-indent' Text +'\n\n\t\t' Text +'11' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'11' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-indent3366' Text +'\n\n\t\t' Text +'12' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'12' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-indent6633' Text +'\n\n\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-frame1' Text +'\n\n\t\t' Text +'21' Literal.Number.Integer +' ' Text +'=< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'innerWrap' Text +'.' Punctuation +'cObject' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'21' Literal.Number.Integer +'.' Punctuation +'15' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'csc-frame' Text +' ' Text +'csc-frame-frame2' Text +'\n\n\t\t' Text +'66' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t' Text +'66' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'<' Literal.String +'/a' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'insertData' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceBefore' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'+' Operator +'\n\t\t\t\t\t' Text +'if' Name.Function +'.' Punctuation +'isTrue' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceBefore' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'spaceBefore' Text +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t \t\t' Text +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'prioriCalc' Text +' ' Text +'=' Operator +' ' Text +'intval' Text +'\n\t\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'margin-top' Text +':' Operator +'|' Operator +'px;' Text +'\n\t\t\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t' Text +'ifEmpty' Text +'.' Punctuation +'value' Text +' ' Text +'=' Operator +'\n\t\t\t\t\t' Text +'wrap2' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'style' Literal.String +'=' Literal.String +'"' Literal.String +'|' Literal.String +'"' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'30' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'30' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'40' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'20' Literal.Number.Integer +'\n\t\t\t' Text +'40' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceAfter' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'if' Name.Function +'.' Punctuation +'isTrue' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.' Name.Constant +'spaceAfter' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'spaceAfter' Text +'\n\t\t\t\t' Text +'stdWrap' Name.Function +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'margin-bottom' Text +':' Operator +'|' Operator +'px;' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'innerWrap2' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'p' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-linkToTop"' Literal.String +'>' Literal.String +'<' Literal.String +'a' Literal.String +' ' Text +'href' Literal.String +'=' Literal.String +'"#"' Literal.String +'>' Literal.String +'{' Literal.String.Symbol +'LLL:EXT:css_styled_content/pi1/locallang.xml:label.toTop' Literal.String +'}' Literal.String.Symbol +'<' Literal.String +'/a' Literal.String +'>' Literal.String +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'\n\t' Text +'innerWrap2' Text +'.' Punctuation +'insertData' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'innerWrap2' Text +'.' Punctuation +'fieldRequired' Text +' ' Text +'=' Operator +' ' Text +'linkToTop' Text +'\n\n\t' Text +'prepend' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'prepend' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'<' Literal.String +'/a' Literal.String +'>' Literal.String +'\n\t' Text +'prepend' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'_LOCALIZED_UID' Text +'\n\n\t' Text +'editPanel' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'editPanel' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'allow' Text +' ' Text +'=' Operator +' ' Text +'move' Text +',' Punctuation +'new' Text +',' Punctuation +'edit' Text +',' Punctuation +'hide' Text +',' Punctuation +'delete' Text +'\n\t\t' Text +'line' Text +' ' Text +'=' Operator +' ' Text +'5' Literal.Number.Integer +'\n\t\t' Text +'label' Text +' ' Text +'=' Operator +' ' Text +'%' Operator +'s' Text +'\n\t\t' Text +'onlyCurrentPid' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'previewBorder' Text +' ' Text +'=' Operator +' ' Text +'4' Literal.Number.Integer +'\n\t\t' Text +'edit' Text +'.' Punctuation +'displayRecord' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'CONTENT' Name.Class +' ' Text +'ELEMENT' Text +',' Punctuation +' ' Text +'uid' Text +':' Operator +'{' Literal.String.Symbol +'field' Name.Constant +':' Operator +'uid' Name.Constant +'}' Literal.String.Symbol +'/' Text +'{' Literal.String.Symbol +'field' Name.Constant +':' Operator +'CType' Name.Constant +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: header' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'# See Object path "lib.stdheader"' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'header' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'header' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'subheader' Text +'\n\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t\t' Text +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'

    ' Literal.String +'|' Operator +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'\n\t\t' Text +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +'subheader' Text +',' Punctuation +'layout' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'beforeLastTag' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.subheader' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Subheader' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: text' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'text' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'text' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t\t' Text +'parseFunc' Name.Function +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc_RTE' Text +'\n\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +'bodytext' Text +',' Punctuation +' ' Text +'rte_enabled' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'beforeLastTag' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.bodytext' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Text' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: image' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +"# (also used for rendering 'textpic' type):" Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'USER' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'userFunc' Name.Function +' ' Text +'=' Operator +' ' Text +'tx_cssstyledcontent_pi1-' Text +'>' Operator +'render_textpic' Text +'\n\n\t' Text +'# Image source' Comment +'\n\t' Text +'imgList' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image' Text +'\n\t' Text +'imgPath' Text +' ' Text +'=' Operator +' ' Text +'uploads/pics/' Literal.String +'\n' Literal.String + +'\n\t' Text +'# Single image rendering' Comment +'\n\t' Text +'imgObjNum' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'1' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'file' Text +'.' Punctuation +'import' Text +'.' Punctuation +'current' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'file' Text +'.' Punctuation +'width' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagewidth' Text +'\n\t\t' Text +'imageLinkWrap' Name.Function +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'imageLinkWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'bodyTag' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'body' Literal.String +' ' Text +'style' Literal.String +'=' Literal.String +'"margin' Literal.String +':' Literal.String +'0;' Literal.String +' ' Text +'background' Literal.String +':' Literal.String +'#fff;"' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'a' Literal.String +' ' Text +'href' Literal.String +'=' Literal.String +'"javascript' Literal.String +':' Literal.String +'close();"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/a' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'width' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'width' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'height' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'height' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'effects' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'effects' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'JSwindow' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'JSwindow' Text +'.' Punctuation +'newWindow' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'newWindow' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'JSwindow' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isFalse' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'lightboxEnabled' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'directImageLink' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'lightboxEnabled' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'enable' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image_zoom' Text +'\n\t\t\t' Text +'enable' Text +'.' Punctuation +'ifEmpty' Text +'.' Punctuation +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image_link' Text +'\n\t\t\t' Text +'enable' Text +'.' Punctuation +'ifEmpty' Text +'.' Punctuation +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'listNum' Text +'.' Punctuation +'splitChar' Text +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Integer +'\n\t\t\t' Text +'enable' Text +'.' Punctuation +'ifEmpty' Text +'.' Punctuation +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'listNum' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +' ' Text +':' Operator +' ' Text +'IMAGE_NUM_CURRENT' Text +'\n\t\t\t' Text +'enable' Text +'.' Punctuation +'ifEmpty' Text +'.' Punctuation +'typolink' Name.Function +'.' Punctuation +'returnLast' Text +' ' Text +'=' Operator +' ' Text +'url' Text +'\n\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image_link' Text +'\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'listNum' Text +'.' Punctuation +'splitChar' Text +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Integer +'\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'listNum' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +' ' Text +':' Operator +' ' Text +'IMAGE_NUM_CURRENT' Text +'\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.links.' Name.Constant +'target' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'extTarget' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.links.' Name.Constant +'extTarget' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'linkParams' Text +'.' Punctuation +'ATagParams' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'class' Text +'=' Operator +'"' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'lightboxCssClass' Name.Constant +'}' Literal.String.Symbol +'"' Text +' ' Text +'rel' Text +'=' Operator +'"' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.linkWrap.' Name.Constant +'lightboxRelAttribute' Name.Constant +'}' Literal.String.Symbol +'"' Text +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'altText' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'altText' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'altText' Text +'\n\t\t\t' Text +'stripHtml' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'split' Name.Function +'.' Punctuation +'token' Text +'.' Punctuation +'char' Text +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Integer +'\n\t\t\t' Text +'split' Name.Function +'.' Punctuation +'token' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'imageTextSplit' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'split' Name.Function +'.' Punctuation +'returnKey' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +' ' Text +':' Operator +' ' Text +'IMAGE_NUM_CURRENT' Text +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'titleText' Text +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'altText' Text +'\n\t\t' Text +'titleText' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'titleText' Text +'\n\n\t\t' Text +'longdescURL' Text +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'altText' Text +'\n\t\t' Text +'longdescURL' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'longdescURL' Text +'\n\n\t\t' Text +'emptyTitleHandling' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'emptyTitleHandling' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'titleInLink' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'titleInLink' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'titleInLinkAndImg' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'titleInLinkAndImg' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'textPos' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imageorient' Text +'\n\t' Text +'maxW' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'maxW' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'maxW' Text +'.' Punctuation +'override' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'maxImageWidth' Text +'\n\t' Text +'maxWInText' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'maxWInText' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'maxWInText' Text +'.' Punctuation +'override' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'maxImageWidthInText' Text +'\n\n\t' Text +'equalH' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imageheight' Text +'\n\n\t' Text +'image_compression' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image_compression' Text +'\n\t' Text +'image_effects' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image_effects' Text +'\n\n\t' Text +'noRows' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image_noRows' Text +'\n\n\t' Text +'cols' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecols' Text +'\n\t' Text +'border' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imageborder' Text +'\n\n\t' Text +'caption' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecaption' Text +'\n\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'parseFunc' Name.Function +' ' Text +'=< ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n\t\t\t' Text +'br' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'split' Name.Function +'.' Punctuation +'token' Text +'.' Punctuation +'char' Text +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Integer +'\n\t\t\t' Text +'split' Name.Function +'.' Punctuation +'token' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isPositive' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'imageTextSplit' Name.Constant +'}' Literal.String.Symbol +' ' Text +'+' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'captionSplit' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'split' Name.Function +'.' Punctuation +'returnKey' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +' ' Text +':' Operator +' ' Text +'IMAGE_NUM_CURRENT' Text +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'# captionSplit is deprecated, use imageTextSplit instead' Comment +'\n\t' Text +'captionSplit' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'captionSplit' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'captionAlign' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecaption_position' Text +'\n\t' Text +'# caption/alttext/title/longdescURL splitting' Comment +'\n\t' Text +'imageTextSplit' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'imageTextSplit' Name.Constant +'}' Literal.String.Symbol +'\n\n\t' Text +'borderCol' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderColor' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'borderThick' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderThick' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'borderClass' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderClass' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'colSpace' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'colSpace' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'rowSpace' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'rowSpace' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'textMargin' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'textMargin' Name.Constant +'}' Literal.String.Symbol +'\n\n\t' Text +'borderSpace' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderSpace' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'separateRows' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'separateRows' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'addClasses' Text +' ' Text +'=' Operator +'\n\t' Text +'addClassesImage' Text +' ' Text +'=' Operator +'\n\t' Text +'addClassesImage' Text +'.' Punctuation +'ifEmpty' Text +' ' Text +'=' Operator +' ' Text +'csc-textpic-firstcol' Text +' ' Text +'csc-textpic-lastcol' Text +'\n\t' Text +'addClassesImage' Text +'.' Punctuation +'override' Text +' ' Text +'=' Operator +' ' Text +'csc-textpic-firstcol' Text +' ' Text +'|' Operator +'*' Operator +'|' Operator +' ' Text +'|' Operator +'*' Operator +'|' Operator +' ' Text +'csc-textpic-lastcol' Text +'\n\t' Text +'addClassesImage' Text +'.' Punctuation +'override' Text +'.' Punctuation +'if' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'isGreaterThan' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecols' Text +'\n\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t#\n' Comment + +'\t' Text +'imageStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'

    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'imageStdWrapNoWidth' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-imagewrap"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\n\t' Text +'# if noRows is set, wrap around each column:' Comment +'\n\t' Text +'imageColumnStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\n\t' Text +'layout' Text +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t' Text +'layout' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imageorient' Text +'\n\t\t' Text +'# above-center' Comment +'\n\t\t' Text +'default' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'default' Text +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'# above-right' Comment +'\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'1' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'# above-left' Comment +'\n\t\t' Text +'2' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'# below-center' Comment +'\n\t\t' Text +'8' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'8' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###TEXT###' Name.Constant +'###IMAGES###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'# below-right' Comment +'\n\t\t' Text +'9' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'9' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###TEXT###' Name.Constant +'###IMAGES###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'# below-left' Comment +'\n\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###TEXT###' Name.Constant +'###IMAGES###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'# intext-right' Comment +'\n\t\t' Text +'17' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'17' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'17' Literal.Number.Integer +'.' Punctuation +'override' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'17' Literal.Number.Integer +'.' Punctuation +'override' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'addIntextClearer' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'# intext-left' Comment +'\n\t\t' Text +'18' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'18' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'18' Literal.Number.Integer +'.' Punctuation +'override' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'18' Literal.Number.Integer +'.' Punctuation +'override' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'addIntextClearer' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'# intext-right-nowrap' Comment +'\n\t\t' Text +'25' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'25' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'
    ' Literal.String +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'25' Literal.Number.Integer +'.' Punctuation +'insertData' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'# intext-left-nowrap' Comment +'\n\t\t' Text +'26' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'26' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'###IMAGES###' Name.Constant +'
    ' Literal.String +'###TEXT###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-clear"' Literal.String +'>' Literal.String +'<' Literal.String +'!--' Literal.String +' ' Text +'--' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'26' Literal.Number.Integer +'.' Punctuation +'insertData' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'rendering' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'dl' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'# Choose another rendering for special edge cases' Comment +'\n\t\t\t' Text +'fallbackRendering' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t\t' Text +'fallbackRendering' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'# Just one image without a caption => don\'t need the dl-overhead, use the "simple" rendering' Comment +'\n\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'if' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'isFalse' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecaption' Text +'\n\t\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t\t' Text +'equals' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'imageCount' Text +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'simple' Text +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t' Text +'# Multiple images and one global caption => "ul"' Comment +'\n\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'if' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t\t' Text +'isGreaterThan' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'imageCount' Text +'\n\t\t\t\t\t\t' Text +'isTrue' Text +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'renderGlobalCaption' Text +'\n\t\t\t\t\t\t' Text +'isTrue' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecaption' Text +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'ul' Text +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t\t' Text +'# Multiple images and no caption at all => "ul"' Comment +'\n\t\t\t\t' Text +'30' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t\t' Text +'30' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'if' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t\t' Text +'isGreaterThan' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'imageCount' Text +'\n\t\t\t\t\t\t' Text +'isFalse' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagecaption' Text +'\n\t\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'ul' Text +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'imageRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imageLastRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'noRowsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +'\n\t\t\t' Text +'oneImageStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/dl' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imgTagStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'dt' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/dt' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'editIconsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'dd' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/dd' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'caption' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'dd' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-caption"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/dd' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'ul' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'# Just one image without a caption => don\'t need the ul-overhead, use the "simple" rendering' Comment +'\n\t\t\t' Text +'fallbackRendering' Text +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'rendering' Text +'.' Punctuation +'dl' Text +'.' Punctuation +'fallbackRendering' Text +'.' Punctuation +'10' Literal.Number.Integer +'\n\t\t\t' Text +'imageRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'<' Literal.String +'ul' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imageLastRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'<' Literal.String +'ul' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'noRowsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'oneImageStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
  • ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/li' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imgTagStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +'\n\t\t\t' Text +'editIconsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'caption' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-caption"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'div' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'# Just one image without a caption => don\'t need the div-overhead, use the "simple" rendering' Comment +'\n\t\t\t' Text +'fallbackRendering' Text +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'rendering' Text +'.' Punctuation +'dl' Text +'.' Punctuation +'fallbackRendering' Text +'.' Punctuation +'10' Literal.Number.Integer +'\n\t\t\t' Text +'imageRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imageLastRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'noRowsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +'\n\t\t\t' Text +'oneImageStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imgTagStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'editIconsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'caption' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-caption"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'simple' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'imageRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t\t\t' Text +'imageLastRowStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t\t\t' Text +'noRowsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +'\n\t\t\t' Text +'oneImageStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t\t\t' Text +'imgTagStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t\t\t' Text +'editIconsStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t\t\t' Text +'caption' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-caption"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imageStdWrap' Text +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'imageStdWrapNoWidth' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-imagewrap' Literal.String +' ' Text +'csc-textpic-single-image"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'renderMethod' Text +' ' Text +'=' Operator +' ' Text +'dl' Text +'\n\n\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +' ' Text +':' Operator +' ' Text +'image' Text +' ' Text +'[' Literal.String.Symbol +'imageorient' Text +'|' Operator +'imagewidth' Text +'|' Operator +'imageheight' Text +']' Literal.String.Symbol +',' Punctuation +' ' Text +'[' Literal.String.Symbol +'imagecols' Text +'|' Operator +'image_noRows' Text +'|' Operator +'imageborder' Text +']' Literal.String.Symbol +',' Punctuation +'[' Literal.String.Symbol +'image_link' Text +'|' Operator +'image_zoom' Text +']' Literal.String.Symbol +',' Punctuation +'[' Literal.String.Symbol +'image_compression' Text +'|' Operator +'image_effects' Text +'|' Operator +'image_frames' Text +']' Literal.String.Symbol +',' Punctuation +'imagecaption' Text +'[' Literal.String.Symbol +'imagecaption_position' Text +']' Literal.String.Symbol +'\n\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.images' Literal.String +'\n\n\t' Text +'caption' Text +'.' Punctuation +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +' ' Text +':' Operator +' ' Text +'imagecaption' Text +'[' Literal.String.Symbol +'imagecaption_position' Text +']' Literal.String.Symbol +'\n\t' Text +'caption' Text +'.' Punctuation +'editIcons' Text +'.' Punctuation +'beforeLastTag' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t' Text +'caption' Text +'.' Punctuation +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.caption' Literal.String +'\n\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Image' Text +' ' Text +'block' Text +':' Operator +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: textpic' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'textpic' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'textpic' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'if' Name.Function +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'25' Literal.Number.Integer +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isLessThan' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imageorient' Text +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'= < ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'image' Text +'.' Punctuation +'20' Literal.Number.Integer +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'text' Text +'.' Punctuation +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t' Text +'text' Text +'.' Punctuation +'10' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'if' Name.Function +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'24' Literal.Number.Integer +'\n\t\t\t' Text +'if' Name.Function +'.' Punctuation +'isGreaterThan' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imageorient' Text +'\n\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
    ' Literal.String +'|' Operator +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'text' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'= < ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'text' Text +'.' Punctuation +'20' Literal.Number.Integer +'\n\t\t' Text +'text' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-textpic-text"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: bullet' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'bullets' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'bullets' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\t\t' Text +'trim' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'split' Name.Function +'{' Literal.String.Symbol +'\n\t\t\t' Text +'token' Text +'.' Punctuation +'char' Text +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Integer +'\n\t\t\t' Text +'cObjNum' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'*' Operator +'|' Operator +'1' Literal.Number.Integer +'|' Operator +'|' Operator +' ' Text +'2' Literal.Number.Integer +'|' Operator +'*' Operator +'|' Operator +'\n\t\t\t' Text +'1' Literal.Number.Integer +'.' Punctuation +'current' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'1' Literal.Number.Integer +'.' Punctuation +'parseFunc' Name.Function +' ' Text +'=< ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n\t\t\t' Text +'1' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'li' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"odd"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/li' Literal.String +'>' Literal.String +'\n\n\t\t\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'current' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'parseFunc' Name.Function +' ' Text +'=< ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n\t\t\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'li' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"even"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/li' Literal.String +'>' Literal.String +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'dataWrap' Text +' ' Text +'=' Operator +' ' Text +'
      ' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t \t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'bodytext' Text +',' Punctuation +' ' Text +'[' Literal.String.Symbol +'layout' Text +']' Literal.String.Symbol +'\n\t \t' Text +'editIcons' Text +'.' Punctuation +'beforeLastTag' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t \t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.php:eIcon.bullets' Literal.String +'\n\n\t \t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Bullet' Text +' ' Text +'list' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: table' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'# Rendered by a PHP function specifically written to handle CE tables. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'table' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'table' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'USER' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'userFunc' Name.Function +' ' Text +'=' Operator +' ' Text +'tx_cssstyledcontent_pi1-' Text +'>' Operator +'render_table' Text +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'color' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'default' Text +' ' Text +'=' Operator +'\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'#EDEBF1' Literal.String.Char +'\n\t\t' Text +'2' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'#F5FFAA' Literal.String.Char +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_0' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_1' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_2' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_3' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'innerStdWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'innerStdWrap' Text +'.' Punctuation +'parseFunc' Name.Function +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'parseFunc' Name.Function +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'cols' Text +',' Punctuation +' ' Text +'bodytext' Text +',' Punctuation +' ' Text +'[' Literal.String.Symbol +'layout' Text +']' Literal.String.Symbol +',' Punctuation +' ' Text +'[' Literal.String.Symbol +'table_bgColor' Text +'|' Operator +'table_border' Text +'|' Operator +'table_cellspacing' Text +'|' Operator +'table_cellpadding' Text +']' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'beforeLastTag' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.table' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Table' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: uploads' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'# Rendered by a PHP function specifically written to handle CE filelists. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'uploads' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'uploads' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'USER' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'userFunc' Name.Function +' ' Text +'=' Operator +' ' Text +'tx_cssstyledcontent_pi1-' Text +'>' Operator +'render_uploads' Text +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'media' Text +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'filePath' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'select_key' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'# Rendering for each file (e.g. rows of the table) as a cObject' Comment +'\n\t\t' Text +'itemRendering' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t' Text +'itemRendering' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'tr' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"tr-odd' Literal.String +' ' Text +'tr-first"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/tr' Literal.String +'>' Literal.String +' ' Text +'|' Operator +'*' Operator +'|' Operator +' ' Text +'<' Literal.String +'tr' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"tr-even"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/tr' Literal.String +'>' Literal.String +' ' Text +'|' Operator +'|' Operator +' ' Text +'<' Literal.String +'tr' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"tr-odd"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/tr' Literal.String +'>' Literal.String +' ' Text +'|' Operator +'*' Operator +'|' Operator +'\n\n\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'linkedIcon' Text +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'td' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-uploads-icon"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/td' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isPositive' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\n\t\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'td' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-uploads-fileName"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/td' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'linkedLabel' Text +'\n\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'p' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'2' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'2' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'description' Text +'\n\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'p' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-uploads-description"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'30' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'if' Name.Function +'.' Punctuation +'isTrue' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'filelink_size' Text +'\n\t\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'fileSize' Text +'\n\t\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'td' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-uploads-fileSize"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/td' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'bytes' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'bytes' Text +'.' Punctuation +'labels' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.uploads.' Name.Constant +'filesizeBytesLabels' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'useSpacesInLinkText' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t\t' Text +'stripFileExtensionFromLinkText' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'color' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'default' Text +' ' Text +'=' Operator +'\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'#EDEBF1' Literal.String.Char +'\n\t\t' Text +'2' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'#F5FFAA' Literal.String.Char +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_0' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_1' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_2' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'tableParams_3' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'border' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellpadding' Text +' ' Text +'=' Operator +'\n\t\t' Text +'cellspacing' Text +' ' Text +'=' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'linkProc' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'target' Text +' ' Text +'=' Operator +' ' Text +'_blank' Text +'\n\t\t' Text +'jumpurl' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.uploads.' Name.Constant +'jumpurl' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'jumpurl' Text +'.' Punctuation +'secure' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.uploads.' Name.Constant +'jumpurl_secure' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'jumpurl' Text +'.' Punctuation +'secure' Text +'.' Punctuation +'mimeTypes' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.uploads.' Name.Constant +'jumpurl_secure_mimeTypes' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'removePrependedNumbers' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t\t' Text +'iconCObject' Text +' ' Text +'=' Operator +' ' Text +'IMAGE' Name.Class +'\n\t\t' Text +'iconCObject' Text +'.' Punctuation +'file' Text +'.' Punctuation +'import' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +' ' Text +':' Operator +' ' Text +'ICON_REL_PATH' Text +'\n\t\t' Text +'iconCObject' Text +'.' Punctuation +'file' Text +'.' Punctuation +'width' Text +' ' Text +'=' Operator +' ' Text +'150' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'filesize' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'bytes' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'bytes' Text +'.' Punctuation +'labels' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.uploads.' Name.Constant +'filesizeBytesLabels' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'media' Text +',' Punctuation +' ' Text +'layout' Text +' ' Text +'[' Literal.String.Symbol +'table_bgColor' Text +'|' Operator +'table_border' Text +'|' Operator +'table_cellspacing' Text +'|' Operator +'table_cellpadding' Text +']' Literal.String.Symbol +',' Punctuation +' ' Text +'filelink_size' Text +',' Punctuation +' ' Text +'imagecaption' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.filelist' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'File' Text +' ' Text +'list' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ******************' Comment +'\n' Text + +'# CType: multimedia' Comment +'\n' Text + +'# ******************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'multimedia' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'multimedia' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'MULTIMEDIA' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'file' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'multimedia' Text +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'file' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'uploads/media/' Literal.String +'\n' Literal.String + +'\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'file' Text +'.' Punctuation +'listNum' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'params' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'multimedia' Text +',' Punctuation +' ' Text +'bodytext' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Multimedia' Text +' ' Text +'element' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: swfobject' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'swfobject' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'swfobject' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'SWFOBJECT' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'file' Text +' ' Text +'=' Operator +'\n\t\t' Text +'width' Text +' ' Text +'=' Operator +'\n\t\t' Text +'height' Text +' ' Text +'=' Operator +'\n\n\t\t' Text +'flexParams' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pi_flexform' Text +'\n\n\t\t' Text +'alternativeContent' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\n\t\t' Text +'layout' Text +' ' Text +'=' Operator +' ' Text +'###SWFOBJECT###' Name.Constant +'\n\n\t\t' Text +'video' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'player' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'videoPlayer' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'defaultWidth' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultVideoWidth' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'defaultHeight' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultVideoHeight' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'quality' Text +' ' Text +'=' Operator +' ' Text +'high' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'menu' Text +' ' Text +'=' Operator +' ' Text +'false' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'allowScriptAccess' Text +' ' Text +'=' Operator +' ' Text +'sameDomain' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'allowFullScreen' Text +' ' Text +'=' Operator +' ' Text +'true' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'mapping' Text +' ' Text +'{' Literal.String.Symbol +'\n\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'audio' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'player' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'audioPlayer' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'defaultWidth' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultAudioWidth' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'defaultHeight' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultAudioHeight' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'quality' Text +' ' Text +'=' Operator +' ' Text +'high' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'allowScriptAccess' Text +' ' Text +'=' Operator +' ' Text +'sameDomain' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'menu' Text +' ' Text +'=' Operator +' ' Text +'false' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'mapping' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'flashvars' Text +'.' Punctuation +'file' Text +' ' Text +'=' Operator +' ' Text +'soundFile' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'multimedia' Text +',' Punctuation +' ' Text +'imagewidth' Text +',' Punctuation +' ' Text +'imageheight' Text +',' Punctuation +' ' Text +'pi_flexform' Text +',' Punctuation +' ' Text +'bodytext' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'SWFobject' Text +' ' Text +'element' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: qtobject' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'qtobject' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'qtobject' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'QTOBJECT' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'file' Text +' ' Text +'=' Operator +'\n\t\t' Text +'width' Text +' ' Text +'=' Operator +'\n\t\t' Text +'height' Text +' ' Text +'=' Operator +'\n\n\t\t' Text +'flexParams' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pi_flexform' Text +'\n\n\t\t' Text +'alternativeContent' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\n\t\t' Text +'layout' Text +' ' Text +'=' Operator +' ' Text +'###QTOBJECT###' Name.Constant +'\n\n\t\t' Text +'video' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'player' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'videoPlayer' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'defaultWidth' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultVideoWidth' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'defaultHeight' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultVideoHeight' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'quality' Text +' ' Text +'=' Operator +' ' Text +'high' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'menu' Text +' ' Text +'=' Operator +' ' Text +'false' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'allowScriptAccess' Text +' ' Text +'=' Operator +' ' Text +'sameDomain' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'allowFullScreen' Text +' ' Text +'=' Operator +' ' Text +'true' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'mapping' Text +' ' Text +'{' Literal.String.Symbol +'\n\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'audio' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'player' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'audioPlayer' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'defaultWidth' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultAudioWidth' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'defaultHeight' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.media.' Name.Constant +'defaultAudioHeight' Name.Constant +'}' Literal.String.Symbol +'\n\n\t\t\t' Text +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'quality' Text +' ' Text +'=' Operator +' ' Text +'high' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'allowScriptAccess' Text +' ' Text +'=' Operator +' ' Text +'sameDomain' Text +'\n\t\t\t\t' Text +'params' Text +'.' Punctuation +'menu' Text +' ' Text +'=' Operator +' ' Text +'false' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'mapping' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'flashvars' Text +'.' Punctuation +'file' Text +' ' Text +'=' Operator +' ' Text +'soundFile' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'multimedia' Text +',' Punctuation +' ' Text +'imagewidth' Text +',' Punctuation +' ' Text +'imageheight' Text +',' Punctuation +' ' Text +'pi_flexform' Text +',' Punctuation +' ' Text +'bodytext' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'QTobject' Text +' ' Text +'element' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# *****************' Comment +'\n' Text + +'# CType: media' Comment +'\n' Text + +'# *****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'media' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'media' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'MEDIA' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\n\t\t' Text +'flexParams' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pi_flexform' Text +'\n\t\t' Text +'alternativeContent' Text +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'text' Text +'.' Punctuation +'20' Literal.Number.Integer +'\n\t\t' Text +'alternativeContent' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\n\t\t' Text +'type' Text +' ' Text +'=' Operator +' ' Text +'video' Text +'\n\t\t' Text +'renderType' Text +' ' Text +'=' Operator +' ' Text +'auto' Text +'\n\t\t' Text +'allowEmptyUrl' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t\t' Text +'forcePlayer' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t\t' Text +'fileExtHandler' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'default' Text +' ' Text +'=' Operator +' ' Text +'MEDIA' Name.Class +'\n\t\t\t' Text +'avi' Text +' ' Text +'=' Operator +' ' Text +'MEDIA' Name.Class +'\n\t\t\t' Text +'asf' Text +' ' Text +'=' Operator +' ' Text +'MEDIA' Name.Class +'\n\t\t\t' Text +'class' Text +' ' Text +'=' Operator +' ' Text +'MEDIA' Name.Class +'\n\t\t\t' Text +'wmv' Text +' ' Text +'=' Operator +' ' Text +'MEDIA' Name.Class +'\n\t\t\t' Text +'mp3' Text +' ' Text +'=' Operator +' ' Text +'SWF' Text +'\n\t\t\t' Text +'mp4' Text +' ' Text +'=' Operator +' ' Text +'SWF' Text +'\n\t\t\t' Text +'m4v' Text +' ' Text +'=' Operator +' ' Text +'SWF' Text +'\n\t\t\t' Text +'swa' Text +' ' Text +'=' Operator +' ' Text +'SWF' Text +'\n\t\t\t' Text +'flv' Text +' ' Text +'=' Operator +' ' Text +'SWF' Text +'\n\t\t\t' Text +'swf' Text +' ' Text +'=' Operator +' ' Text +'SWF' Text +'\n\t\t\t' Text +'mov' Text +' ' Text +'=' Operator +' ' Text +'QT' Text +'\n\t\t\t' Text +'m4v' Text +' ' Text +'=' Operator +' ' Text +'QT' Text +'\n\t\t\t' Text +'m4a' Text +' ' Text +'=' Operator +' ' Text +'QT' Text +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'mimeConf' Text +'.' Punctuation +'swfobject' Text +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'swfobject' Text +'.' Punctuation +'20' Literal.Number.Integer +'\n\t\t' Text +'mimeConf' Text +'.' Punctuation +'qtobject' Text +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'qtobject' Text +'.' Punctuation +'20' Literal.Number.Integer +'\n\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'pi_flexform' Text +',' Punctuation +' ' Text +'bodytext' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Media' Text +' ' Text +'element' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# ******************' Comment +'\n' Text + +'# CType: mailform' Comment +'\n' Text + +'# ******************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'mailform' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'mailform' Text +'.' Punctuation +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'mailform' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'FORM' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'mailform' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'accessibility' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'noWrapAttr' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t' Text +'formName' Text +' ' Text +'=' Operator +' ' Text +'mailform' Text +'\n\t' Text +'dontMd5FieldNames' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'layout' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-mailform-field"' Literal.String +'>' Literal.String +'###LABEL###' Name.Constant +' ' Text +'###FIELD###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'labelWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t' Text +'commentWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t' Text +'radioWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'<' Literal.String +'br' Literal.String +' ' Text +'/' Literal.String +'>' Literal.String +'\n\t' Text +'radioWrap' Text +'.' Punctuation +'accessibilityWrap' Text +' ' Text +'=' Operator +' ' Text +'' Literal.String +'<' Literal.String +'legend' Literal.String +'>' Literal.String +'###RADIO_GROUP_LABEL###' Name.Constant +'<' Literal.String +'/legend' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/fieldset' Literal.String +'>' Literal.String +'\n\t' Text +'REQ' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'REQ' Text +'.' Punctuation +'labelWrap' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +'\n\t' Text +'COMMENT' Text +'.' Punctuation +'layout' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-mailform-label"' Literal.String +'>' Literal.String +'###LABEL###' Name.Constant +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'RADIO' Text +'.' Punctuation +'layout' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-mailform-field"' Literal.String +'>' Literal.String +'###LABEL###' Name.Constant +' ' Text +'<' Literal.String +'span' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-mailform-radio"' Literal.String +'>' Literal.String +'###FIELD###' Name.Constant +'<' Literal.String +'/span' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'LABEL' Text +'.' Punctuation +'layout' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-mailform-field"' Literal.String +'>' Literal.String +'###LABEL###' Name.Constant +' ' Text +'<' Literal.String +'span' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-mailform-label"' Literal.String +'>' Literal.String +'###FIELD###' Name.Constant +'<' Literal.String +'/span' Literal.String +'>' Literal.String +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.mailform.' Name.Constant +'target' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'goodMess' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.mailform.' Name.Constant +'goodMess' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'badMess' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.mailform.' Name.Constant +'badMess' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'redirect' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'\n\t' Text +'redirect' Text +'.' Punctuation +'listNum' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t' Text +'recipient' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'subheader' Text +'\n\t' Text +'data' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\t' Text +'locationData' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'hiddenFields' Text +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'style' Literal.String +'=' Literal.String +'"display' Literal.String +':' Literal.String +'none;"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\n\t' Text +'params' Text +'.' Punctuation +'radio' Text +' ' Text +'=' Operator +' ' Text +'class' Text +'=' Operator +'"csc-mailform-radio"' Text +'\n\t' Text +'params' Text +'.' Punctuation +'check' Text +' ' Text +'=' Operator +' ' Text +'class' Text +'=' Operator +'"csc-mailform-check"' Text +'\n\t' Text +'params' Text +'.' Punctuation +'submit' Text +' ' Text +'=' Operator +' ' Text +'class' Text +'=' Operator +'"csc-mailform-submit"' Text +'\n\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'fieldset' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-mailform"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/fieldset' Literal.String +'>' Literal.String +'\n\t' Text +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'bodytext' Text +',' Punctuation +' ' Text +'pages' Text +',' Punctuation +' ' Text +'subheader' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.form' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Mail' Text +' ' Text +'form' Text +' ' Text +'inserted' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ******************' Comment +'\n' Text + +'# CType: search' Comment +'\n' Text + +'# ******************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'search' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'search' Text +'.' Punctuation +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n' Text + +'# Result:' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'search' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'SEARCHRESULT' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'search' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'allowedCols' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'.' Punctuation +'title-subtitle-keywords-description' Text +' ' Text +':' Operator +' ' Text +'tt_content' Text +'.' Punctuation +'header-bodytext-imagecaption' Text +' ' Text +':' Operator +' ' Text +'tt_address' Text +'.' Punctuation +'name-title-address-email-company-city-country' Text +' ' Text +':' Operator +' ' Text +'tt_links' Text +'.' Punctuation +'title-note-note2-url' Text +' ' Text +':' Operator +' ' Text +'tt_board' Text +'.' Punctuation +'subject-message-author-email' Text +' ' Text +':' Operator +' ' Text +'tt_calender' Text +'.' Punctuation +'title-note' Text +' ' Text +':' Operator +' ' Text +'tt_products' Text +'.' Punctuation +'title-note-itemnumber' Text +'\n\t' Text +'languageField' Text +'.' Punctuation +'tt_content' Text +' ' Text +'=' Operator +' ' Text +'sys_language_uid' Text +'\n\t' Text +'renderObj' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t' Text +'renderObj' Text +' ' Text +'{' Literal.String.Symbol +'\n\n\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pages_title' Text +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'typolink' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'parameter' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'uid' Text +'\n\t\t\t' Text +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.searchresult.' Name.Constant +'resultTarget' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t' Text +'additionalParams' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'SWORD_PARAMS' Text +'\n\t\t\t' Text +'additionalParams' Text +'.' Punctuation +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'additionalParams' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'&no_cache' Text +'=' Operator +'1' Literal.Number.Integer +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'h3' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-searchResultHeader"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/h3' Literal.String +'>' Literal.String +'\n\n\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'field' Text +' ' Text +'= ' Operator +'tt_content_bodytext' Name.Builtin +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'stripHtml' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'crop' Text +' ' Text +'=' Operator +' ' Text +'200' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'.' Punctuation +'.' Punctuation +'.' Punctuation +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'p' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-searchResult"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'layout' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t' Text +'layout' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'table' Literal.String +' ' Text +'border' Literal.String +'=' Literal.String +'"0"' Literal.String +' ' Text +'cellspacing' Literal.String +'=' Literal.String +'"0"' Literal.String +' ' Text +'cellpadding' Literal.String +'=' Literal.String +'"2"' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-searchResultInfo"' Literal.String +'>' Literal.String +'<' Literal.String +'tr' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/tr' Literal.String +'>' Literal.String +'<' Literal.String +'/table' Literal.String +'>' Literal.String +' ' Text +'###RESULT###' Name.Constant +'\n\n\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.resultRange' Literal.String +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'td' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-searchResultRange"' Literal.String +'>' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'<' Literal.String +'/td' Literal.String +'>' Literal.String +'\n\n\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'###PREV###' Name.Constant +' ' Literal.String +' ' Literal.String +' ' Literal.String +'###NEXT###' Name.Constant +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'td' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-searchResultPrevNext"' Literal.String +'>' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'<' Literal.String +'/td' Literal.String +'>' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'noResultObj' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n\t' Text +'noResultObj' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.emptySearch' Literal.String +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'h3' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-noSearchResultMsg"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/h3' Literal.String +'>' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'next' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'next' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultNext' Literal.String +'\n\n\t' Text +'prev' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'prev' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultPrev' Literal.String +'\n\n\t' Text +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.searchresult.' Name.Constant +'target' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'range' Text +' ' Text +'=' Operator +' ' Text +'20' Literal.Number.Integer +'\n\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Search' Text +' ' Text +'result' Text +':' Operator +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# Form:' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'search' Text +'.' Punctuation +'30' Literal.Number.Integer +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'mailform' Text +'.' Punctuation +'20' Literal.Number.Integer +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'search' Text +'.' Punctuation +'30' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'goodMess' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.searchform.' Name.Constant +'goodMess' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'redirect' Text +' ' Text +'>' Operator +'\n\t' Text +'recipient' Text +' ' Text +'>' Operator +'\n\t' Text +'data' Text +' ' Text +'>' Operator +'\n\t' Text +'dataArray' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchWord' Literal.String +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'sword' Text +'=' Operator +'input' Text +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchIn' Literal.String +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'scols' Text +'=' Operator +'select' Name.Function +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'valueArray' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.headersKeywords' Literal.String +'\n\t\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'.' Punctuation +'title-subtitle-keywords-description' Text +':' Operator +'tt_content' Text +'.' Punctuation +'header' Text +'\n\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.pageContent' Literal.String +'\n\t\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'header-bodytext-imagecaption' Text +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'stype' Text +'=' Operator +'hidden' Text +'\n\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'L0' Text +'\n\t\t' Text +'40' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'submit' Text +'=' Operator +'submit' Text +'\n\t\t' Text +'40' Literal.Number.Integer +'.' Punctuation +'value' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchButton' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'type' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'\n\t' Text +'type' Text +'.' Punctuation +'listNum' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t' Text +'locationData' Text +' ' Text +'=' Operator +' ' Text +'HTTP_POST_VARS' Text +'\n\t' Text +'no_cache' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'table' Literal.String +' ' Text +'border' Literal.String +'=' Literal.String +'"0"' Literal.String +' ' Text +'cellspacing' Literal.String +'=' Literal.String +'"1"' Literal.String +' ' Text +'cellpadding' Literal.String +'=' Literal.String +'"1"' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-searchform"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/table' Literal.String +'>' Literal.String +'\n\t' Text +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.search' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Search' Text +' ' Text +'form' Text +' ' Text +'inserted' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ******************' Comment +'\n' Text + +'# CType: login' Comment +'\n' Text + +'# ******************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'login' Text +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'mailform' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'login' Text +'.' Punctuation +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'login' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'goodMess' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.loginform.' Name.Constant +'goodMess' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'redirect' Text +' ' Text +'>' Operator +'\n\t' Text +'recipient' Text +' ' Text +'>' Operator +'\n\t' Text +'data' Text +' ' Text +'>' Operator +'\n\t' Text +'dataArray' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:login.username' Literal.String +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'*' Operator +'user' Text +'=' Operator +'input' Text +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:login.password' Literal.String +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'*' Operator +'pass' Text +'=' Operator +'password' Text +'\n\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'logintype' Text +'=' Operator +'hidden' Text +'\n\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'login' Text +'\n\t\t' Text +'40' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'submit' Text +'=' Operator +'submit' Text +'\n\t\t' Text +'40' Literal.Number.Integer +'.' Punctuation +'value' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:login.login' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'type' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'\n\t' Text +'type' Text +'.' Punctuation +'listNum' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t' Text +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.loginform.' Name.Constant +'target' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'locationData' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t' Text +'hiddenFields' Text +'.' Punctuation +'pid' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t' Text +'hiddenFields' Text +'.' Punctuation +'pid' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.loginform.' Name.Constant +'pid' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'override' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'\n\t\t' Text +'override' Text +'.' Punctuation +'listNum' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'stdWrap' Name.Function +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-loginform"' Literal.String +'>' Literal.String +' ' Text +'|' Operator +' ' Text +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.login' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Login/Logout' Text +' ' Text +'form' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n' Text + +'[' Literal.String.Symbol +'loginUser' Name.Constant +' = *' Text +']' Literal.String.Symbol +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'login' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'dataArray' Text +' ' Text +'>' Operator +'\n\t' Text +'dataArray' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:login.username' Literal.String +'\n\t\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'label' Text +'.' Punctuation +'wrap' Text +' ' Text +'=' Operator +' ' Text +'|' Operator +' ' Literal.String +'' Literal.String +'\n\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'logintype' Text +'=' Operator +'hidden' Text +'\n\t\t' Text +'30' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'logout' Text +'\n\t\t' Text +'40' Literal.Number.Integer +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'submit' Text +'=' Operator +'submit' Text +'\n\t\t' Text +'40' Literal.Number.Integer +'.' Punctuation +'value' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:login.logout' Literal.String +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n' Text + +'[' Literal.String.Symbol +'global' Name.Constant +']' Literal.String.Symbol +'\n\n\n' Text + +'# ******************' Comment +'\n' Text + +'# CType: splash' Comment +'\n' Text + +'# ******************' Comment +'\n' Text + +'# Deprecated element.' Comment +'\n' Text + +'# Still here for backwards compliance with plugins using the "text box" type.' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'splash_layout' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Textbox' Text +' ' Text +'inserted' Text +' ' Text +'(' Literal.String.Symbol +'Deprecated' Text +')' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'default' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CTABLE' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'c' Text +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'= < ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'text' Text +'\n\t\t' Text +'lm' Text +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'IMAGE' Name.Class +'\n\t\t' Text +'lm' Text +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'file' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'import' Text +' ' Text +'=' Operator +' ' Text +'uploads/pics/' Literal.String +'\n' Literal.String + +'\t\t\t' Text +'import' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image' Text +'\n\t\t\t' Text +'import' Text +'.' Punctuation +'listNum' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t\t\t' Text +'maxW' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagewidth' Text +'\n\t\t\t' Text +'maxW' Text +'.' Punctuation +'ifEmpty' Text +' ' Text +'=' Operator +' ' Text +'200' Literal.Number.Integer +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'cMargins' Text +' ' Text +'=' Operator +' ' Text +'30' Literal.Number.Integer +',' Punctuation +'0' Literal.Number.Integer +',' Punctuation +'0' Literal.Number.Integer +',' Punctuation +'0' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'default' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'lm' Text +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'file' Text +' ' Text +'>' Operator +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'lm' Text +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'file' Text +' ' Text +'=' Operator +' ' Text +'GIFBUILDER' Text +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'20' Literal.Number.Integer +'.' Punctuation +'lm' Text +'.' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'file' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'XY' Text +' ' Text +'=' Operator +' ' Text +'[' Literal.String.Symbol +'10' Literal.Number.Integer +'.' Punctuation +'w' Text +']' Literal.String.Symbol +'+' Operator +'10' Literal.Number.Integer +',' Punctuation +'[' Literal.String.Symbol +'10' Literal.Number.Integer +'.' Punctuation +'h' Text +']' Literal.String.Symbol +'+' Operator +'10' Literal.Number.Integer +'\n\t' Text +'backColor' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.splash.' Name.Constant +'bgCol' Name.Constant +'}' Literal.String.Symbol +'\n\t' Text +'backColor' Text +'.' Punctuation +'override' Text +'.' Punctuation +'data' Text +' ' Text +'= ' Operator +'register' Name.Builtin +':' Operator +'pageColor' Text +'\n\t' Text +'format' Text +' ' Text +'=' Operator +' ' Text +'jpg' Text +'\n\t' Text +'5' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'BOX' Text +'\n\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'dimensions' Text +' ' Text +'=' Operator +' ' Text +'3' Literal.Number.Integer +',' Punctuation +'3' Literal.Number.Integer +',' Punctuation +'[' Literal.String.Symbol +'10' Literal.Number.Integer +'.' Punctuation +'w' Text +']' Literal.String.Symbol +',' Punctuation +'[' Literal.String.Symbol +'10' Literal.Number.Integer +'.' Punctuation +'h' Text +']' Literal.String.Symbol +'\n\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'color' Text +' ' Text +'=' Operator +' ' Text +'#333333' Literal.String.Char +'\n\t' Text +'7' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'EFFECT' Text +'\n\t' Text +'7' Literal.Number.Integer +'.' Punctuation +'value' Text +' ' Text +'=' Operator +' ' Text +'blur' Text +'=' Operator +'99' Literal.Number.Integer +'|' Operator +'blur' Text +'=' Operator +'99' Literal.Number.Integer +'|' Operator +'blur' Text +'=' Operator +'99' Literal.Number.Integer +'|' Operator +'blur' Text +'=' Operator +'99' Literal.Number.Integer +'|' Operator +'blur' Text +'=' Operator +'99' Literal.Number.Integer +'|' Operator +'blur' Text +'=' Operator +'99' Literal.Number.Integer +'|' Operator +'blur' Text +'=' Operator +'99' Literal.Number.Integer +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'IMAGE' Name.Class +'\n\t' Text +'10' Literal.Number.Integer +'.' Punctuation +'file' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'import' Text +' ' Text +'=' Operator +' ' Text +'uploads/pics/' Literal.String +'\n' Literal.String + +'\t\t' Text +'import' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'image' Text +'\n\t\t' Text +'import' Text +'.' Punctuation +'listNum' Text +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +'\n\t\t' Text +'maxW' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'imagewidth' Text +'\n\t\t' Text +'maxW' Text +'.' Punctuation +'ifEmpty' Text +' ' Text +'=' Operator +' ' Text +'200' Literal.Number.Integer +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n' Text + +'// The image frames are not available unless TypoScript code from styles.content.imgFrames.x is provided manually:' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'2' Literal.Number.Integer +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'default' Text +'\n' Text + +'#tt_content.splash.2.20.lm.1.file.m < styles.content.imgFrames.1' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'3' Literal.Number.Integer +' ' Text +'< ' Operator +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'default' Text +'\n' Text + +'#tt_content.splash.3.20.lm.1.file.m < styles.content.imgFrames.2' Comment +'\n\n' Text + +'// From plugin.postit1, if included:' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'splash' Text +'.' Punctuation +'20' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'postit1' Text +'\n\n\n\n' Text + +'# ****************' Comment +'\n' Text + +'# CType: menu' Comment +'\n' Text + +'# ****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'menu' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'menu' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'menu_type' Text +'\n\n\t\t' Text +'# "Menu of these pages"' Comment +'\n\t\t' Text +'default' Text +' ' Text +'=' Operator +' ' Text +'HMENU' Name.Class +'\n\t\t' Text +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'special' Text +' ' Text +'=' Operator +' ' Text +'list' Text +'\n\t\t\t' Text +'special' Text +'.' Punctuation +'value' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-menu' Literal.String +' ' Text +'csc-menu-def"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TMENU' Name.Class +'\n\t\t\t' Text +'1' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'PAGE_TARGET' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'NO' Name.Class +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'stdWrap' Name.Function +'.' Punctuation +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t' Text +'wrapItemAndSub' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'li' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/li' Literal.String +'>' Literal.String +'\n\t\t\t\t\t' Text +'ATagTitle' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'description' Text +' ' Text +'// title' Comment +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'noBlur' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'# "Menu of subpages to these pages"' Comment +'\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'1' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'special' Text +' ' Text +'=' Operator +' ' Text +'directory' Text +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-menu' Literal.String +' ' Text +'csc-menu-1"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'# "Sitemap - liststyle"' Comment +'\n\t\t' Text +'2' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'HMENU' Name.Class +'\n\t\t' Text +'2' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-sitemap"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'1' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'TMENU' Name.Class +'\n\t\t\t' Text +'1' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'target' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'PAGE_TARGET' Name.Constant +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'noBlur' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'expAll' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'NO' Name.Class +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'stdWrap' Name.Function +'.' Punctuation +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t' Text +'wrapItemAndSub' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'li' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/li' Literal.String +'>' Literal.String +'\n\t\t\t\t\t' Text +'ATagTitle' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'description' Text +' ' Text +'// title' Comment +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t' Text +'2' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t\t' Text +'3' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t\t' Text +'4' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t\t' Text +'5' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t\t' Text +'6' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t\t' Text +'7' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'# "Section index (pagecontent w/Index checked - liststyle)"' Comment +'\n\t\t' Text +'3' Literal.Number.Integer +' ' Text +'< ' Operator +'styles' Name.Builtin +'.' Punctuation +'content' Text +'.' Punctuation +'get' Text +'\n\t\t' Text +'3' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-menu' Literal.String +' ' Text +'csc-menu-3"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'select' Name.Function +'.' Punctuation +'andWhere' Text +' ' Text +'=' Operator +' ' Text +'sectionIndex!' Text +'=' Operator +'0' Literal.Number.Integer +'\n\t\t\t' Text +'select' Name.Function +'.' Punctuation +'pidInList' Text +'.' Punctuation +'override' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pages' Text +'\n\t\t\t' Text +'renderObj' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n\t\t\t' Text +'renderObj' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'fieldRequired' Text +' ' Text +'=' Operator +' ' Text +'header' Text +'\n\t\t\t\t' Text +'trim' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'header' Text +'\n\t\t\t\t' Text +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'noBlur' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'li' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-section"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/li' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'parameter' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'pid' Text +'\n\t\t\t\t' Text +'typolink' Name.Function +'.' Punctuation +'section' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'uid' Text +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'# "Menu of subpages to these pages (with abstract)"' Comment +'\n\t\t' Text +'4' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t' Text +'4' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'dl' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-menu' Literal.String +' ' Text +'csc-menu-4"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/dl' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'1' Literal.Number.Integer +'.' Punctuation +'NO' Name.Class +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'wrapItemAndSub' Text +' ' Text +'>' Operator +'\n\t\t\t\t' Text +'linkWrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'dt' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/dt' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'after' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t\t' Text +'data' Text +' ' Text +'= ' Operator +'field' Name.Builtin +' ' Text +':' Operator +' ' Text +'abstract' Text +' ' Text +'// field : description // field : subtitle' Comment +'\n\t\t\t\t\t' Text +'required' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t' Text +'htmlSpecialChars' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'dd' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/dd' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t\t\t' Text +'ATagTitle' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'description' Text +' ' Text +'// title' Comment +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'# "Recently updated pages"' Comment +'\n\t\t' Text +'5' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'5' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-menu' Literal.String +' ' Text +'csc-menu-5"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'special' Text +' ' Text +'=' Operator +' ' Text +'updated' Text +'\n\t\t\t' Text +'special' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'maxAge' Text +' ' Text +'=' Operator +' ' Text +'3600' Literal.Number.Integer +'*' Operator +'24' Literal.Number.Integer +'*' Operator +'7' Literal.Number.Integer +'\n\t\t\t\t' Text +'excludeNoSearchPages' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'# "Related pages (based on keywords)"' Comment +'\n\t\t' Text +'6' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'default' Text +'\n\t\t' Text +'6' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-menu' Literal.String +' ' Text +'csc-menu-6"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'special' Text +' ' Text +'=' Operator +' ' Text +'keywords' Text +'\n\t\t\t' Text +'special' Text +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'excludeNoSearchPages' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\n\t\t' Text +'# "Menu of subpages to these pages + sections - liststyle"' Comment +'\n\t\t' Text +'7' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t' Text +'7' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-menu' Literal.String +' ' Text +'csc-menu-7"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'1' Literal.Number.Integer +'.' Punctuation +'expAll' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t' Text +'2' Literal.Number.Integer +' ' Text +'<' Operator +' ' Text +'.' Punctuation +'1' Literal.Number.Integer +'\n\t\t\t' Text +'2' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t\t\t' Text +'sectionIndex' Text +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t\t\t\t' Text +'sectionIndex' Text +'.' Punctuation +'type' Text +' ' Text +'=' Operator +' ' Text +'header' Text +'\n\t\t\t\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'ul' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/ul' Literal.String +'>' Literal.String +'\n\t\t\t\t' Text +'NO' Name.Class +'.' Punctuation +'wrapItemAndSub' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'li' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"csc-section"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/li' Literal.String +'>' Literal.String +'\n\t\t\t' Text +'}' Literal.String.Symbol +'\n\t\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'menu_type' Text +',' Punctuation +' ' Text +'pages' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.menuSitemap' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Menu/Sitemap' Text +' ' Text +'element' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n\n' Text + +'# ****************' Comment +'\n' Text + +'# CType: shortcut' Comment +'\n' Text + +'# ****************' Comment +'\n' Text + +'# Should be a complete copy from the old static template "content (default)"' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'shortcut' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'shortcut' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +'=' Operator +' ' Text +'RECORDS' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'source' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'records' Text +'\n\t\t' Text +'tables' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.shortcut.' Name.Constant +'tables' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'# THESE are OLD plugins. Modern plugins registers themselves automatically!' Comment +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_content' Text +' ' Text +'= < ' Operator +'tt_content' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_address' Text +' ' Text +'= < ' Operator +'tt_address' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_links' Text +' ' Text +'= < ' Operator +'tt_links' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_guest' Text +' ' Text +'= < ' Operator +'tt_guest' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_board' Text +' ' Text +'= < ' Operator +'tt_board' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_calender' Text +' ' Text +'= < ' Operator +'tt_calender' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_rating' Text +' ' Text +'< ' Operator +'tt_rating' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_products' Text +' ' Text +'= < ' Operator +'tt_products' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_news' Text +' ' Text +'= < ' Operator +'tt_news' Name.Builtin +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_poll' Text +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_poll' Text +'\n\t' Text +'}' Literal.String.Symbol +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +'=' Operator +' ' Text +'RECORDS' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'source' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'records' Text +'\n\t\t' Text +'tables' Text +' ' Text +'=' Operator +' ' Text +'{' Literal.String.Symbol +'$' Operator +'content.shortcut.' Name.Constant +'tables' Name.Constant +'}' Literal.String.Symbol +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_poll' Text +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_poll' Text +'\n\t\t' Text +'conf' Text +'.' Punctuation +'tt_poll' Text +'.' Punctuation +'code' Text +' ' Text +'=' Operator +' ' Text +'RESULT' Text +',' Punctuation +'SUBMITTEDVOTE' Text +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'records' Text +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.recordList' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Inclusion' Text +' ' Text +'of' Text +' ' Text +'other' Text +' ' Text +'records' Text +' ' Text +'(' Literal.String.Symbol +'by' Text +' ' Text +'reference' Text +')' Literal.String.Symbol +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ****************' Comment +'\n' Text + +'# CType: list' Comment +'\n' Text + +'# ****************' Comment +'\n' Text + +'# Should be a complete copy from the old static template "content (default)" (except "lib.stdheader")' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'list' Text +' ' Text +'=' Operator +' ' Text +'COA' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'list' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'10' Literal.Number.Integer +' ' Text +'= < ' Operator +'lib' Name.Builtin +'.' Punctuation +'stdheader' Text +'\n\n\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'list_type' Text +'\n\t' Text +'20' Literal.Number.Integer +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'# LIST element references (NOT copy of objects!)' Comment +'\n\t\t' Text +'# THESE are OLD plugins. Modern plugins registers themselves automatically!' Comment +'\n\t\t' Text +'3' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'3' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'3' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_guest' Text +'\n\n\t\t' Text +'4' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'4' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'4' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_board_list' Text +'\n\t\t' Text +'4' Literal.Number.Integer +'.' Punctuation +'1' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_board_tree' Text +'\n\n\t\t' Text +'2' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'2' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_board_tree' Text +'\n\n\t\t' Text +'5' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'5' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_products' Text +'\n\n\t\t' Text +'7' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'7' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'7' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_calender' Text +'\n\n\t\t' Text +'8' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'8' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'8' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_rating' Text +'\n\n\t\t' Text +'9' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'9' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'9' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tt_news' Text +'\n\n\t\t' Text +'11' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'11' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'11' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'tipafriend' Text +'\n\n\t\t' Text +'20' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'feadmin' Text +'.' Punctuation +'fe_users' Text +'\n\n\t\t' Text +'21' Literal.Number.Integer +' ' Text +'=' Operator +' ' Text +'CASE' Name.Class +'\n\t\t' Text +'21' Literal.Number.Integer +'.' Punctuation +'key' Text +'.' Punctuation +'field' Text +' ' Text +'=' Operator +' ' Text +'layout' Text +'\n\t\t' Text +'21' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +' ' Text +'= < ' Operator +'plugin' Name.Builtin +'.' Punctuation +'feadmin' Text +'.' Punctuation +'dmailsubscription' Text +'\n\t' Text +'}' Literal.String.Symbol +'\n\n\t' Text +'20' Literal.Number.Integer +'.' Punctuation +'stdWrap' Name.Function +' ' Text +'{' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'list_type' Text +',' Punctuation +' ' Text +'layout' Text +',' Punctuation +' ' Text +'select_key' Text +',' Punctuation +' ' Text +'pages' Text +' ' Text +'[' Literal.String.Symbol +'recursive' Text +']' Literal.String.Symbol +'\n\t\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.plugin' Literal.String +'\n\n\t\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Plugin' Text +' ' Text +'inserted' Text +':' Operator +'\n\t' Text +'}' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ****************' Comment +'\n' Text + +'# CType: script' Comment +'\n' Text + +'# ****************' Comment +'\n' Text + +'# OBSOLETE! Please make extensions instead. The "script" content element was meant for these custom purposes in the past. Today extensions will do the job better.' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'script' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'script' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'value' Text +' ' Text +'=' Operator +'\n\n\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Script' Text +' ' Text +'element' Text +' ' Text +'(' Literal.String.Symbol +'Deprecated' Text +')' Literal.String.Symbol +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ****************' Comment +'\n' Text + +'# CType: div' Comment +'\n' Text + +'# ****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'div' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'div' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'value' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'hr' Literal.String +' ' Text +'/' Literal.String +'>' Literal.String +'\n\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'div' Literal.String +' ' Text +'class' Literal.String +'=' Literal.String +'"divider"' Literal.String +'>' Literal.String +'|' Operator +'<' Literal.String +'/div' Literal.String +'>' Literal.String +'\n\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Div' Text +' ' Text +'element' Text +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ****************' Comment +'\n' Text + +'# CType: html' Comment +'\n' Text + +'# ****************' Comment +'\n' Text + +'# This truely IS a content object, launched from inside the PHP class of course.' Comment +'\n' Text + +'# Should be a complete copy from the old static template "content (default)"' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'html' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'html' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'bodytext' Text +'\n\n\t' Text +'editIcons' Text +' ' Text +'= ' Operator +'tt_content' Name.Builtin +':' Operator +' ' Text +'pages' Text +'\n\t' Text +'editIcons' Text +'.' Punctuation +'iconTitle' Text +'.' Punctuation +'data' Text +' ' Text +'=' Operator +' ' Text +'LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.html' Literal.String +'\n\n\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Raw' Text +' ' Text +'HTML' Name.Class +' ' Text +'content' Text +':' Operator +'\n' Text + +'}' Literal.String.Symbol +'\n\n\n' Text + +'# ****************' Comment +'\n' Text + +'# Default error msg:' Comment +'\n' Text + +'# ****************' Comment +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'default' Text +' ' Text +'=' Operator +' ' Text +'TEXT' Name.Class +'\n' Text + +'tt_content' Name.Builtin +'.' Punctuation +'default' Text +' ' Text +'{' Literal.String.Symbol +'\n\t' Text +'field' Text +' ' Text +'=' Operator +' ' Text +'CType' Text +'\n\t' Text +'wrap' Text +' ' Text +'=' Operator +' ' Text +'<' Literal.String +'p' Literal.String +' ' Text +'style' Literal.String +'=' Literal.String +'"background-color' Literal.String +':' Literal.String +' ' Text +'yellow;"' Literal.String +'>' Literal.String +'<' Literal.String +'b' Literal.String +'>' Literal.String +'ERROR' Text +':' Operator +'<' Literal.String +'/b' Literal.String +'>' Literal.String +' ' Text +'Content' Text +' ' Text +'Element' Text +' ' Text +'type' Text +' ' Text +'"' Text +'|' Operator +'"' Text +' ' Text +'has' Text +' ' Text +'no' Text +' ' Text +'rendering' Text +' ' Text +'definition!' Text +'<' Literal.String +'/p' Literal.String +'>' Literal.String +'\n\n\t' Text +'prefixComment' Text +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'|' Operator +' ' Text +'Unknown' Text +' ' Text +'element' Text +' ' Text +'message' Text +':' Operator +'\n' Text + +'}' Literal.String.Symbol +'\n\n' Text + +'# *********************************************************************' Comment +'\n' Text + +'# ACCESSIBILTY MODE' Comment +'\n' Text + +'# *********************************************************************' Comment +'\n\n\n\n\n\n\n\n' Text + +'plugin' Name.Builtin +'.' Punctuation +'tx_cssstyledcontent' Text +'.' Punctuation +'_CSS_DEFAULT_STYLE' Name.Class +' ' Text +'(' Literal.String.Symbol +'\n\t' Text +'/* Captions */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-caption-c' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-caption' Literal.String +' ' Text +'{' Literal.String +' ' Text +'text-align' Literal.String +':' Literal.String +' ' Text +'center;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-caption-r' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-caption' Literal.String +' ' Text +'{' Literal.String +' ' Text +'text-align' Literal.String +':' Literal.String +' ' Text +'right;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-caption-l' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-caption' Literal.String +' ' Text +'{' Literal.String +' ' Text +'text-align' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Needed for noRows setting */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagecolumn' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'display' Literal.String +':' Literal.String +' ' Text +'inline;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Border just around the image */' Comment +'\n\t' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderSelector' Name.Constant +'}' Literal.String.Symbol +' ' Text +'{' Literal.String +'\n\t\t' Text +'border' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderThick' Name.Constant +'}' Literal.String.Symbol +'px' Literal.String +' ' Text +'solid' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderColor' Name.Constant +'}' Literal.String.Symbol +';' Literal.String +'\n\t\t' Text +'padding' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderSpace' Name.Constant +'}' Literal.String.Symbol +'px' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'borderSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +'\n\t' Text +'}' Literal.String +'\n\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'padding' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'IMG' Literal.String +' ' Text +'{' Literal.String +' ' Text +'border' Literal.String +':' Literal.String +' ' Text +'none;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* DIV: This will place the images side by side */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* UL: This will place the images side by side */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'UL' Literal.String +' ' Text +'{' Literal.String +' ' Text +'list-style' Literal.String +':' Literal.String +' ' Text +'none;' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'padding' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'UL' Literal.String +' ' Text +'LI' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'padding' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* DL: This will place the images side by side */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'DL' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'DL' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'DT' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'none;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'DL' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'DD' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'none;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'DL' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'DD' Literal.String +' ' Text +'IMG' Literal.String +' ' Text +'{' Literal.String +' ' Text +'border' Literal.String +':' Literal.String +' ' Text +'none;' Literal.String +' ' Text +'}' Literal.String +' ' Text +'/* FE-Editing Icons */' Comment +'\n\t' Text +'DL' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DL' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'DT' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'display' Literal.String +':' Literal.String +' ' Text +'inline;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DL' Literal.String +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'DD' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Clearer */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-clear' Literal.String +' ' Text +'{' Literal.String +' ' Text +'clear' Literal.String +':' Literal.String +' ' Text +'both;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Margins around images: */' Comment +'\n\n\t' Text +'/* Pictures on left, add margin on right */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-left' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +',' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-left-nowrap' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +',' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-left' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +'\n\t\t' Text +'display' Literal.String +':' Literal.String +' ' Text +'inline;' Literal.String +' ' Text +'/* IE fix for double-margin bug */' Comment +'\n\t\t' Text +'margin-right' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'colSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +'\n\t' Text +'}' Literal.String +'\n\n\t' Text +'/* Pictures on right, add margin on left */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-right' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +',' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-right-nowrap' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +',' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-right' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +'\n\t\t' Text +'display' Literal.String +':' Literal.String +' ' Text +'inline;' Literal.String +' ' Text +'/* IE fix for double-margin bug */' Comment +'\n\t\t' Text +'margin-left' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'colSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +'\n\t' Text +'}' Literal.String +'\n\n\t' Text +'/* Pictures centered, add margin on left */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-center' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +'\n\t\t' Text +'display' Literal.String +':' Literal.String +' ' Text +'inline;' Literal.String +' ' Text +'/* IE fix for double-margin bug */' Comment +'\n\t\t' Text +'margin-left' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'colSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +'\n\t' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-caption' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'IMG' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'vertical-align' Literal.String +':' Literal.String +'bottom;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Space below each image (also in-between rows) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-bottom' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'rowSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-equalheight' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagerow' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-bottom' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'rowSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +' ' Text +'display' Literal.String +':' Literal.String +' ' Text +'block;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagerow' Literal.String +' ' Text +'{' Literal.String +' ' Text +'clear' Literal.String +':' Literal.String +' ' Text +'both;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-single-image' Literal.String +' ' Text +'IMG' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-bottom' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'rowSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* IE7 hack for margin between image rows */' Comment +'\n\t' Text +'*' Literal.String +'+' Literal.String +'html' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagerow' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-bottom' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'*' Literal.String +'+' Literal.String +'html' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagerow' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-bottom' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'rowSpace' Name.Constant +'}' Literal.String.Symbol +'px;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* No margins around the whole image-block */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-firstcol' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-left' Literal.String +':' Literal.String +' ' Text +'0px' Literal.String +' ' Text +'!important;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-lastcol' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-right' Literal.String +':' Literal.String +' ' Text +'0px' Literal.String +' ' Text +'!important;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Add margin from image-block to text (in case of "Text w/ images") */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-left' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +',' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-left-nowrap' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +'\n\t\t' Text +'margin-right' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'textMargin' Name.Constant +'}' Literal.String.Symbol +'px' Literal.String +' ' Text +'!important;' Literal.String +'\n\t' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-right' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +',' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-right-nowrap' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +'\n\t\t' Text +'margin-left' Literal.String +':' Literal.String +' ' Text +'{' Literal.String.Symbol +'$' Operator +'styles.content.imgtext.' Name.Constant +'textMargin' Name.Constant +'}' Literal.String.Symbol +'px' Literal.String +' ' Text +'!important;' Literal.String +'\n\t' Text +'}' Literal.String +'\n\n\t' Text +'/* Positioning of images: */' Comment +'\n\n\t' Text +'/* Above */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-above' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-text' Literal.String +' ' Text +'{' Literal.String +' ' Text +'clear' Literal.String +':' Literal.String +' ' Text +'both;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Center (above or below) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-center' Literal.String +' ' Text +'{' Literal.String +' ' Text +'text-align' Literal.String +':' Literal.String +' ' Text +'center;' Literal.String +' ' Text +'/* IE-hack */' Comment +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-center' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin' Literal.String +':' Literal.String +' ' Text +'0' Literal.String +' ' Text +'auto;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-center' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-image' Literal.String +' ' Text +'{' Literal.String +' ' Text +'text-align' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'/* Remove IE-hack */' Comment +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-center' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-text' Literal.String +' ' Text +'{' Literal.String +' ' Text +'text-align' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'/* Remove IE-hack */' Comment +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Right (above or below) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-right' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'right;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-right' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-text' Literal.String +' ' Text +'{' Literal.String +' ' Text +'clear' Literal.String +':' Literal.String +' ' Text +'right;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Left (above or below) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-left' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-left' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-text' Literal.String +' ' Text +'{' Literal.String +' ' Text +'clear' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Left (in text) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-left' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Right (in text) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-right' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'right;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Right (in text, no wrap around) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-right-nowrap' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'right;' Literal.String +' ' Text +'clear' Literal.String +':' Literal.String +' ' Text +'both;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'/* Hide from IE5-mac. Only IE-win sees this. \\*/' Comment +'\n\t' Text +'*' Literal.String +' ' Text +'html' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-right-nowrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-text' Literal.String +' ' Text +'{' Literal.String +' ' Text +'height' Literal.String +':' Literal.String +' ' Text +'1' Literal.String +'%' Literal.String +';' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'/* End hide from IE5/mac */' Comment +'\n\n\t' Text +'/* Left (in text, no wrap around) */' Comment +'\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-left-nowrap' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagewrap' Literal.String +' ' Text +'{' Literal.String +' ' Text +'float' Literal.String +':' Literal.String +' ' Text +'left;' Literal.String +' ' Text +'clear' Literal.String +':' Literal.String +' ' Text +'both;' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'/* Hide from IE5-mac. Only IE-win sees this. \\*/' Comment +'\n\t' Text +'*' Literal.String +' ' Text +'html' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-intext-left-nowrap' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-text' Literal.String +',' Literal.String +'\n\t' Text +'*' Literal.String +' ' Text +'html' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-intext-left' Literal.String +' ' Text +'ol' Literal.String +',' Literal.String +'\n\t' Text +'*' Literal.String +' ' Text +'html' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-intext-left' Literal.String +' ' Text +'ul' Literal.String +' ' Text +'{' Literal.String +' ' Text +'height' Literal.String +':' Literal.String +' ' Text +'1' Literal.String +'%' Literal.String +';' Literal.String +' ' Text +'}' Literal.String +'\n\t' Text +'/* End hide from IE5/mac */' Comment +'\n\n\t' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic' Literal.String +' ' Text +'DIV' Literal.String +'.' Literal.String +'csc-textpic-imagerow-last' Literal.String +' ' Text +'{' Literal.String +' ' Text +'margin-bottom' Literal.String +':' Literal.String +' ' Text +'0;' Literal.String +' ' Text +'}' Literal.String +'\n\n\t' Text +'/* Browser fixes: */' Comment +'\n\n\t' Text +'/* Fix for unordered and ordered list with image "In text, left" */' Comment +'\n\t' Text +'.' Literal.String +'csc-textpic-intext-left' Literal.String +' ' Text +'ol' Literal.String +',' Literal.String +' ' Text +'.' Literal.String +'csc-textpic-intext-left' Literal.String +' ' Text +'ul' Literal.String +' ' Text +'{padding-left' Literal.String +':' Literal.String +' ' Text +'40px;' Literal.String +' ' Text +'overflow' Literal.String +':' Literal.String +' ' Text +'auto;' Literal.String +' ' Text +'}' Literal.String +'\n' Text + +')' Literal.String.Symbol +'\n\n' Text + +'# TYPO3 SVN ID: $Id$' Comment +'\n' Text diff --git a/tests/examplefiles/example.u1 b/tests/examplefiles/ucode/example.u1 similarity index 100% rename from tests/examplefiles/example.u1 rename to tests/examplefiles/ucode/example.u1 diff --git a/tests/examplefiles/ucode/example.u1.output b/tests/examplefiles/ucode/example.u1.output new file mode 100644 index 0000000..c857bbd --- /dev/null +++ b/tests/examplefiles/ucode/example.u1.output @@ -0,0 +1,435 @@ +'version' Name.Function +' ' Text +'U12' Text +'.1' Literal.Number.Float +'.00' Literal.Number.Float +'\n' Text + +'uid' Name.Function +' ' Text +'version' Name.Function +'.' Punctuation +'u1-1494453463-0' Text +'\n' Text + +'impl' Name.Function +' ' Text +'local' Name.Function +'\n' Text + +'global' Name.Function +' ' Text +'1\n ' Literal.Number.Integer +'0' Literal.Number.Integer +',' Punctuation +'000005' Literal.Number.Integer +',' Punctuation +'version' Name.Function +',' Punctuation +'0\n\n\n' Literal.Number.Integer + +'proc' Keyword.Declaration +' ' Text +'version' Name.Function +'\n ' Text +'local' Name.Function +' ' Text +'0' Literal.Number.Integer +',' Punctuation +'000000' Literal.Number.Integer +',' Punctuation +'tab' Text +'\n ' Text +'local' Name.Function +' ' Text +'1' Literal.Number.Integer +',' Punctuation +'000000' Literal.Number.Integer +',' Punctuation +'find' Text +'\n ' Text +'local' Name.Function +' ' Text +'2' Literal.Number.Integer +',' Punctuation +'000000' Literal.Number.Integer +',' Punctuation +'many' Text +'\n ' Text +'con' Name.Function +' ' Text +'0' Literal.Number.Integer +',' Punctuation +'010000' Literal.Number.Integer +',' Punctuation +'8' Literal.Number.Integer +',' Punctuation +'126' Literal.Number.Integer +',' Punctuation +'145' Literal.Number.Integer +',' Punctuation +'162' Literal.Number.Integer +',' Punctuation +'163' Literal.Number.Integer +',' Punctuation +'151' Literal.Number.Integer +',' Punctuation +'157' Literal.Number.Integer +',' Punctuation +'156' Literal.Number.Integer +',' Punctuation +'040\n ' Literal.Number.Integer +'con' Name.Function +' ' Text +'1' Literal.Number.Integer +',' Punctuation +'002000' Literal.Number.Integer +',' Punctuation +'1' Literal.Number.Integer +',' Punctuation +'8\n ' Literal.Number.Integer +'con' Name.Function +' ' Text +'2' Literal.Number.Integer +',' Punctuation +'020000' Literal.Number.Integer +',' Punctuation +'11' Literal.Number.Integer +',' Punctuation +'060' Literal.Number.Integer +',' Punctuation +'061' Literal.Number.Integer +',' Punctuation +'062' Literal.Number.Integer +',' Punctuation +'063' Literal.Number.Integer +',' Punctuation +'064' Literal.Number.Integer +',' Punctuation +'065' Literal.Number.Integer +',' Punctuation +'066' Literal.Number.Integer +',' Punctuation +'067' Literal.Number.Integer +',' Punctuation +'070' Literal.Number.Integer +',' Punctuation +'071' Literal.Number.Integer +',' Punctuation +'056\n ' Literal.Number.Integer +'con' Name.Function +' ' Text +'3' Literal.Number.Integer +',' Punctuation +'002000' Literal.Number.Integer +',' Punctuation +'1' Literal.Number.Integer +',' Punctuation +'1\n ' Literal.Number.Integer +'declend' Name.Function +'\n ' Text +'filen' Comment +' ' Text +'version' Name.Function +'.' Punctuation +'icn' Text +'\n ' Text +'line' Comment +' ' Text +'23\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'11\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'mark' Keyword.Declaration +' ' Text +'L1' Text +'\n ' Text +'line' Comment +' ' Text +'25\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'4\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'keywd' Keyword.Declaration +' ' Text +'version' Name.Function +'\n ' Text +'line' Comment +' ' Text +'25\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'13\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'bscan' Keyword.Declaration +'\n ' Text +'mark' Keyword.Declaration +' ' Text +'L2' Text +'\n ' Text +'mark' Keyword.Declaration +' ' Text +'L3' Text +'\n ' Text +'var' Keyword.Declaration +' ' Text +'0\n ' Literal.Number.Integer +'pnull' Keyword.Declaration +'\n ' Text +'var' Keyword.Declaration +' ' Text +'1\n ' Literal.Number.Integer +'str' Keyword.Declaration +' ' Text +'0\n ' Literal.Number.Integer +'line' Comment +' ' Text +'26\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'15\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'invoke' Keyword.Declaration +' ' Text +'1\n ' Literal.Number.Integer +'int' Keyword.Declaration +' ' Text +'1\n ' Literal.Number.Integer +'line' Comment +' ' Text +'26\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'28\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'plus' Keyword.Declaration +'\n ' Text +'line' Comment +' ' Text +'26\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'10\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'invoke' Keyword.Declaration +' ' Text +'1\n ' Literal.Number.Integer +'line' Comment +' ' Text +'26\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'33\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'esusp' Keyword.Declaration +'\n ' Text +'goto' Keyword.Declaration +' ' Text +'L4' Text +'\n' Text + +'lab' Name.Function +' ' Text +'L3' Text +'\n ' Text +'line' Comment +' ' Text +'26\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'35\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'pfail' Keyword.Declaration +'\n' Text + +'lab' Name.Function +' ' Text +'L4' Text +'\n ' Text +'unmark' Keyword.Declaration +'\n' Text + +'lab' Name.Function +' ' Text +'L2' Text +'\n ' Text +'var' Keyword.Declaration +' ' Text +'0\n ' Literal.Number.Integer +'var' Keyword.Declaration +' ' Text +'2\n ' Literal.Number.Integer +'cset' Keyword.Declaration +' ' Text +'2\n ' Literal.Number.Integer +'line' Comment +' ' Text +'27\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'15\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'invoke' Keyword.Declaration +' ' Text +'1\n ' Literal.Number.Integer +'line' Comment +' ' Text +'27\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'10\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'invoke' Keyword.Declaration +' ' Text +'1\n ' Literal.Number.Integer +'line' Comment +' ' Text +'27\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'32\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'bscan' Keyword.Declaration +'\n ' Text +'mark' Keyword.Declaration +' ' Text +'L5' Text +'\n ' Text +'var' Keyword.Declaration +' ' Text +'0\n ' Literal.Number.Integer +'pnull' Keyword.Declaration +'\n ' Text +'int' Keyword.Declaration +' ' Text +'3\n ' Literal.Number.Integer +'line' Comment +' ' Text +'27\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'45\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'neg' Keyword.Declaration +'\n ' Text +'line' Comment +' ' Text +'27\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'44\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'invoke' Keyword.Declaration +' ' Text +'1\n ' Literal.Number.Integer +'line' Comment +' ' Text +'27\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'34\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'pret' Keyword.Declaration +'\n' Text + +'lab' Name.Function +' ' Text +'L5' Text +'\n ' Text +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'pfail' Keyword.Declaration +'\n ' Text +'line' Comment +' ' Text +'27\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'32\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'escan' Keyword.Declaration +'\n ' Text +'line' Comment +' ' Text +'25\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'13\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'escan' Keyword.Declaration +'\n ' Text +'unmark' Keyword.Declaration +'\n' Text + +'lab' Name.Function +' ' Text +'L1' Text +'\n ' Text +'pnull' Keyword.Declaration +'\n ' Text +'line' Comment +' ' Text +'30\n ' Literal.Number.Integer +'colm' Comment +' ' Text +'1\n ' Literal.Number.Integer +'synt' Comment +' ' Text +'any' Name.Constant +'\n ' Text +'pfail' Keyword.Declaration +'\n ' Text +'end' Name.Function +'\n' Text diff --git a/tests/examplefiles/example.icn b/tests/examplefiles/unicon/example.icn similarity index 100% rename from tests/examplefiles/example.icn rename to tests/examplefiles/unicon/example.icn diff --git a/tests/examplefiles/unicon/example.icn.output b/tests/examplefiles/unicon/example.icn.output new file mode 100644 index 0000000..20e14df --- /dev/null +++ b/tests/examplefiles/unicon/example.icn.output @@ -0,0 +1,1715 @@ +'#\n' Comment.Single + +'# $Id: button.icn,v 1.7 2006-07-09 23:43:07 rparlett Exp $\n' Comment.Single + +'#\n' Comment.Single + +'# This file is in the public domain.\n' Comment.Single + +'#\n' Comment.Single + +'# Author: Robert Parlett (parlett@dial.pipex.com)\n' Comment.Single + +'#\n' Comment.Single + +'\n' Text + +'package' Keyword.Declaration +' ' Text +'gui' Name +'\n' Text + +'link' Keyword.Declaration +' ' Text +'graphics' Name +'\n\n' Text + +'$include' Keyword.PreProc +' ' Text +'"guih.icn"' Literal.String +'\n\n\n' Text + +'#\n' Comment.Single + +'# This is the parent class of the button classes, including\n' Comment.Single + +'# checkboxes.\n' Comment.Single + +'#\n' Comment.Single + +'# A {Button} produces a BUTTON_PRESS_EVENT when the button is\n' Comment.Single + +'# depressed, and code BUTTON_RELEASE_EVENT when it is released,\n' Comment.Single + +'# as well as an ACTION_EVENT.\n' Comment.Single + +'# \n' Comment.Single + +'# By default, when a button holds the keyboard focus a dashed\n' Comment.Single + +'# line appears just within the button. Then, when return is\n' Comment.Single + +'# pressed an ACTION_EVENT is generated. The method\n' Comment.Single + +'# {Dialog.set_initial_focus()} can be used to have the button\n' Comment.Single + +'# have the focus when the dialog is first displayed.\n' Comment.Single + +'#\n' Comment.Single + +'# Buttons also repeatedly produce a BUTTON_HELD_EVENT whilst they\n' Comment.Single + +'# are held down, rather like a repeating keyboard press. The\n' Comment.Single + +'# delay between the initial repeat event and subsequent repeat\n' Comment.Single + +'# events is set in the parent dialog (see above).\n' Comment.Single + +'#\n' Comment.Single + +'class' Keyword.Declaration +' ' Text +'Button' Name.Function +' ' Text +':' Punctuation +' ' Text +'Toggle' Name.Function +' ' Text +':' Punctuation +' ' Text +'Component' Name.Function +'(' Punctuation +'\n' Text + +' ' Text +'is_down' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'is_held' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'is_checked_flag' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'label' Name.Variable +',' Punctuation +'\n' Text + +' ' Text +'img_up' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'img_down' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'img_w' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'img_h' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'parent_check_box_group' Name.Variable +',' Punctuation +' ' Text +'#\n' Comment.Single + +' ' Text +'parent_button_group' Name.Variable +',' Punctuation +' ' Text +'# \n' Comment.Single + +' ' Text +'repeat_delay' Name.Variable +',' Punctuation +'\n' Text + +' ' Text +'no_keyboard_flag' Name.Variable +',' Punctuation +' ' Text +'#\n' Comment.Single + +' ' Text +'toggles_flag' Name.Variable +'\n' Text + +' ' Text +')' Punctuation +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_parent_button_group' Name.Function +'(' Punctuation +'x' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword.Reserved +' ' Text +'self' Name +'.' Literal.Number.Float +'parent_button_group' Name +' ' Text +':=' Operator +' ' Text +'x' Name +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Invoking this method disables the keyboard control over the\n' Comment.Single + +' ' Text +'# button described above. No dashed line will ever appear in\n' Comment.Single + +' ' Text +'# the button display and return will have no effect on the\n' Comment.Single + +' ' Text +'# button even if it has the focus.\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_no_keyboard' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'no_keyboard_flag' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'accepts_focus_flag' Name +' ' Text +':=' Operator +' ' Text +'&null' Keyword.Constant +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n' Text + +' ' Text +'\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Clear the no keyboard behaviour (the default)\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'clear_no_keyboard' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'no_keyboard_flag' Name +' ' Text +':=' Operator +' ' Text +'&null' Keyword.Constant +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'accepts_focus_flag' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'tick' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'dispatcher' Name +'.' Literal.Number.Float +'curr_time_of_day' Name +'(' Punctuation +')' Punctuation +' ' Text +'>' Operator +' ' Text +'self' Name +'.' Literal.Number.Float +'repeat_delay' Name +' ' Text +'then' Keyword.Reserved +'\n' Text + +' ' Text +'fire' Name +'(' Punctuation +'BUTTON_HELD_EVENT' Name +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'go_down' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'is_down' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'set_ticker' Name +'(' Punctuation +'self' Name +'.' Literal.Number.Float +'parent_dialog' Name +'.' Literal.Number.Float +'repeat_rate' Name +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'go_up' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'is_down' Name +' ' Text +':=' Operator +' ' Text +'&null' Keyword.Constant +'\n' Text + +' ' Text +'stop_ticker' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'handle_press' Name.Function +'(' Punctuation +'e' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'local' Keyword.Reserved +' ' Text +'b' Name +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'self' Name +'.' Literal.Number.Float +'in_region' Name +'(' Punctuation +')' Punctuation +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'go_down' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'repeat_delay' Name +' ' Text +':=' Operator +' ' Text +'dispatcher' Name +'.' Literal.Number.Float +'curr_time_of_day' Name +'(' Punctuation +')' Punctuation +' ' Text +'+' Operator +' ' Text +'self' Name +'.' Literal.Number.Float +'parent_dialog' Name +'.' Literal.Number.Float +'repeat_delay' Name +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'is_held' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'every' Keyword.Reserved +' ' Text +'b' Name +' ' Text +':=' Operator +' ' Text +'!' Operator +'(' Punctuation +'\\' Operator +'self' Name +'.' Literal.Number.Float +'parent_button_group' Name +')' Punctuation +'.' Literal.Number.Float +'buttons' Name +' ' Text +'do' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'b' Name +'.' Literal.Number.Float +'is_unhidden' Name +'(' Punctuation +')' Punctuation +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'b' Name +'.' Literal.Number.Float +'is_held' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'b' Name +'.' Literal.Number.Float +'repeat_delay' Name +' ' Text +':=' Operator +' ' Text +'self' Name +'.' Literal.Number.Float +'repeat_delay' Name +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'fire' Name +'(' Punctuation +'BUTTON_PRESS_EVENT' Name +',' Punctuation +' ' Text +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'handle_drag' Name.Function +'(' Punctuation +'e' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'\\' Operator +'self' Name +'.' Literal.Number.Float +'is_held' Name +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Button held down; toggle on/off as it goes over the button \n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'if' Keyword.Reserved +' ' Text +'self' Name +'.' Literal.Number.Float +'in_region' Name +'(' Punctuation +')' Punctuation +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'/' Operator +'self' Name +'.' Literal.Number.Float +'is_down' Name +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'go_down' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +' ' Text +'else' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'\\' Operator +'self' Name +'.' Literal.Number.Float +'is_down' Name +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'go_up' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'handle_release' Name.Function +'(' Punctuation +'e' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'\\' Operator +'self' Name +'.' Literal.Number.Float +'is_held' Name +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'is_held' Name +' ' Text +':=' Operator +' ' Text +'&null' Keyword.Constant +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'\\' Operator +'self' Name +'.' Literal.Number.Float +'is_down' Name +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'go_up' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'fire' Name +'(' Punctuation +'BUTTON_RELEASE_EVENT' Name +',' Punctuation +' ' Text +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'on_action' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'on_action' Name.Function +'(' Punctuation +'e' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'\\' Operator +'self' Name +'.' Literal.Number.Float +'toggles_flag' Name +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'\\' Operator +'self' Name +'.' Literal.Number.Float +'parent_check_box_group' Name +' ' Text +'then' Keyword.Reserved +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'parent_check_box_group' Name +'.' Literal.Number.Float +'set_which_one' Name +'(' Punctuation +'self' Name +')' Punctuation +'\n' Text + +' ' Text +'else' Keyword.Reserved +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'toggle_is_checked' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'fire' Name +'(' Punctuation +'ACTION_EVENT' Name +',' Punctuation +' ' Text +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'handle_accel' Name.Function +'(' Punctuation +'e' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'Component' Name +'.' Literal.Number.Float +'handle_accel' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'on_action' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'handle_default' Name.Function +'(' Punctuation +'e' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'\\' Operator +'self' Name +'.' Literal.Number.Float +'has_focus' Name +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'/' Operator +'self' Name +'.' Literal.Number.Float +'no_keyboard_flag' Name +' ' Text +'&' Operator +' ' Text +'e' Name +' ' Text +'==' Operator +' ' Text +'(' Punctuation +'"\\r"' Literal.String +' ' Text +'|' Operator +' ' Text +'"\\l"' Literal.String +' ' Text +'|' Operator +' ' Text +'" "' Literal.String +')' Punctuation +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'on_action' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'handle_event' Name.Function +'(' Punctuation +'e' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'===' Operator +' ' Text +'(' Punctuation +'&lpress' Keyword.Reserved +' ' Text +'|' Operator +' ' Text +'&rpress' Keyword.Reserved +' ' Text +'|' Operator +' ' Text +'&mpress' Keyword.Reserved +')' Punctuation +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'handle_press' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +' ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'===' Operator +' ' Text +'(' Punctuation +'&ldrag' Keyword.Reserved +' ' Text +'|' Operator +' ' Text +'&rdrag' Keyword.Reserved +' ' Text +'|' Operator +' ' Text +'&mdrag' Keyword.Reserved +')' Punctuation +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'handle_drag' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +' ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'===' Operator +' ' Text +'(' Punctuation +'&lrelease' Keyword.Reserved +' ' Text +'|' Operator +' ' Text +'&rrelease' Keyword.Reserved +' ' Text +'|' Operator +' ' Text +'&mrelease' Keyword.Reserved +')' Punctuation +' ' Text +'then' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'handle_release' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +' ' Text +'else' Keyword.Reserved +' ' Text +'\n' Text + +' ' Text +'handle_default' Name +'(' Punctuation +'e' Name +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Set the up/down images (if any) to the strings provided,\n' Comment.Single + +' ' Text +'# which should be in Icon image format.\n' Comment.Single + +' ' Text +'# The two images must have the same dimensions.\n' Comment.Single + +' ' Text +'# @param x The up image\n' Comment.Single + +' ' Text +'# @param y The down image\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_imgs' Name.Function +'(' Punctuation +'x' Name.Variable +',' Punctuation +' ' Text +'y' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'img_up' Name +' ' Text +':=' Operator +' ' Text +'x' Name +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'img_w' Name +' ' Text +':=' Operator +' ' Text +'img_width' Name +'(' Punctuation +'x' Name +')' Punctuation +' ' Text +'=' Operator +' ' Text +'img_width' Name +'(' Punctuation +'y' Name +')' Punctuation +' ' Text +'|' Operator +' ' Text +'fatal' Name +'(' Punctuation +'"Image widths differ"' Literal.String +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'img_h' Name +' ' Text +':=' Operator +' ' Text +'img_height' Name +'(' Punctuation +'x' Name +')' Punctuation +' ' Text +'=' Operator +' ' Text +'img_height' Name +'(' Punctuation +'y' Name +')' Punctuation +' ' Text +'|' Operator +' ' Text +'fatal' Name +'(' Punctuation +'"Image heights differ"' Literal.String +')' Punctuation +'\n\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'img_down' Name +' ' Text +':=' Operator +' ' Text +'y' Name +'\n\n' Text + +' ' Text +'return' Keyword.Reserved +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Set the image (if any) to the given string, which should be in Icon image\n' Comment.Single + +' ' Text +'# format.\n' Comment.Single + +' ' Text +'# @param x The image\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_img' Name.Function +'(' Punctuation +'x' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'img_up' Name +' ' Text +':=' Operator +' ' Text +'self' Name +'.' Literal.Number.Float +'img_down' Name +' ' Text +':=' Operator +' ' Text +'x' Name +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'img_w' Name +' ' Text +':=' Operator +' ' Text +'img_width' Name +'(' Punctuation +'x' Name +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'img_h' Name +' ' Text +':=' Operator +' ' Text +'img_height' Name +'(' Punctuation +'x' Name +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword.Reserved +' ' Text +'x' Name +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Toggle the checked status of the button. This method, and\n' Comment.Single + +' ' Text +'# the following two methods, may be\n' Comment.Single + +' ' Text +'# inappropriate for non-toggle styles of button.\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'toggle_is_checked' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'Toggle' Name +'.' Literal.Number.Float +'toggle_is_checked' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Set the status to checked.\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_is_checked' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'Toggle' Name +'.' Literal.Number.Float +'set_is_checked' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Set the status to unchecked.\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'clear_is_checked' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'Toggle' Name +'.' Literal.Number.Float +'clear_is_checked' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Set the button so that when it is pressed, it toggles\n' Comment.Single + +' ' Text +'# between two states, as indicated by the is_checked\n' Comment.Single + +' ' Text +'# flag.\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Instances of Checkbox have this flag on by default, but \n' Comment.Single + +' ' Text +'# TextButton and IconButton do not. When the flag is on,\n' Comment.Single + +' ' Text +'# the latter classes indicate their checked status by\n' Comment.Single + +' ' Text +'# showing the button as being "down".\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_toggles' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'toggles_flag' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Clear the toggles flag.\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'clear_toggles' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'toggles_flag' Name +' ' Text +':=' Operator +' ' Text +'&null' Keyword.Constant +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'#\n' Comment.Single + +' ' Text +'# Set the label of the button, if any.\n' Comment.Single + +' ' Text +'# @param x The label\n' Comment.Single + +' ' Text +'#\n' Comment.Single + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_label' Name.Function +'(' Punctuation +'x' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'label' Name +' ' Text +':=' Operator +' ' Text +'x' Name +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'invalidate' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'return' Keyword.Reserved +' ' Text +'x' Name +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'method' Keyword.Declaration +' ' Text +'set_one' Name.Function +'(' Punctuation +'attr' Name.Variable +',' Punctuation +' ' Text +'val' Name.Variable +')' Punctuation +'\n' Text + +' ' Text +'case' Keyword.Reserved +' ' Text +'attr' Name +' ' Text +'of' Keyword.Reserved +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'"label"' Literal.String +' ' Text +':' Punctuation +' ' Text +'set_label' Name +'(' Punctuation +'string_val' Name +'(' Punctuation +'attr' Name +',' Punctuation +' ' Text +'val' Name +')' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'"is_checked"' Literal.String +' ' Text +':' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'test_flag' Name +'(' Punctuation +'attr' Name +',' Punctuation +' ' Text +'val' Name +')' Punctuation +' ' Text +'then' Keyword.Reserved +'\n' Text + +' ' Text +'set_is_checked' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'else' Keyword.Reserved +'\n' Text + +' ' Text +'clear_is_checked' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'"toggles"' Literal.String +' ' Text +':' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'test_flag' Name +'(' Punctuation +'attr' Name +',' Punctuation +' ' Text +'val' Name +')' Punctuation +' ' Text +'then' Keyword.Reserved +'\n' Text + +' ' Text +'set_toggles' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'else' Keyword.Reserved +'\n' Text + +' ' Text +'clear_toggles' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'"no_keyboard"' Literal.String +' ' Text +':' Punctuation +'\n' Text + +' ' Text +'if' Keyword.Reserved +' ' Text +'test_flag' Name +'(' Punctuation +'attr' Name +',' Punctuation +' ' Text +'val' Name +')' Punctuation +' ' Text +'then' Keyword.Reserved +'\n' Text + +' ' Text +'set_no_keyboard' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'else' Keyword.Reserved +'\n' Text + +' ' Text +'clear_no_keyboard' Name +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'default' Keyword.Reserved +':' Punctuation +' ' Text +'self' Name +'.' Literal.Number.Float +'Component' Name +'.' Literal.Number.Float +'set_one' Name +'(' Punctuation +'attr' Name +',' Punctuation +' ' Text +'val' Name +')' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +' ' Text +'end' Keyword.Reserved +'\n\n' Text + +' ' Text +'initially' Keyword.Reserved +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'Component' Name +'.' Literal.Number.Float +'initially' Keyword.Reserved +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'self' Name +'.' Literal.Number.Float +'accepts_focus_flag' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'end' Keyword.Reserved +'\n' Text diff --git a/tests/examplefiles/example.u b/tests/examplefiles/urbiscript/example.u similarity index 100% rename from tests/examplefiles/example.u rename to tests/examplefiles/urbiscript/example.u diff --git a/tests/examplefiles/urbiscript/example.u.output b/tests/examplefiles/urbiscript/example.u.output new file mode 100644 index 0000000..43a8fac --- /dev/null +++ b/tests/examplefiles/urbiscript/example.u.output @@ -0,0 +1,3564 @@ +' ' Text +'// This is a one line comment. \n' Comment + +' ' Text +'/*' Comment.Multiline +' ' Comment.Multiline +'a' Comment.Multiline +'n' Comment.Multiline +' ' Comment.Multiline +'i' Comment.Multiline +'n' Comment.Multiline +'n' Comment.Multiline +'e' Comment.Multiline +'r' Comment.Multiline +' ' Comment.Multiline +'c' Comment.Multiline +'o' Comment.Multiline +'m' Comment.Multiline +'m' Comment.Multiline +'e' Comment.Multiline +'n' Comment.Multiline +'t' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' \n \n ' Text +'/*' Comment.Multiline +' ' Comment.Multiline +'n' Comment.Multiline +'e' Comment.Multiline +'s' Comment.Multiline +'t' Comment.Multiline +'e' Comment.Multiline +'d' Comment.Multiline +' ' Comment.Multiline +'/*' Comment.Multiline +' ' Comment.Multiline +'c' Comment.Multiline +'o' Comment.Multiline +'m' Comment.Multiline +'m' Comment.Multiline +'e' Comment.Multiline +'n' Comment.Multiline +'t' Comment.Multiline +'s' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' \n \n ' Text +'/*' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +'/*' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +'M' Comment.Multiline +'u' Comment.Multiline +'l' Comment.Multiline +'t' Comment.Multiline +'i' Comment.Multiline +'-' Comment.Multiline +'l' Comment.Multiline +'i' Comment.Multiline +'n' Comment.Multiline +'e' Comment.Multiline +'.' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' \n\n' Text + +'// Binary blob escape. \n' Comment + +'//"some text \\B(3)("\\") ouhyeah" == "\\"\\\\\\"";\n' Comment + +'"' Literal.String.Double +'some text ' Literal.String +'\\B(3)("\\")' Literal.String.Escape +' ouhyeah"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\"\\\\\\""' Literal.String.Double +';' Punctuation +'\n' Text + +"'" Literal.String.Single +'some text ' Literal.String +"\\B(3)('\\')" Literal.String.Escape +" ouhyeah'" Literal.String.Single +' ' Text +'==' Operator +' ' Text +"'" Literal.String.Single +"\\'\\\\\\''" Literal.String.Single +';' Punctuation +'\n\n' Text + +'//"\\B(4)()"\'()";\n' Comment + +'"' Literal.String.Double +'' Literal.String +'\\B(4)()"\'()' Literal.String.Escape +'"' Literal.String.Double +';' Punctuation +'\n' Text + +"'" Literal.String.Single +'' Literal.String +'\\B(4)()\'"()' Literal.String.Escape +"'" Literal.String.Single +';' Punctuation +'\n\n' Text + +'//blob size limits\n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(0)()' Literal.String.Escape +' oh !"' Literal.String.Double +'\n\n' Text + +'//blob format is wrong\n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(2)(' Literal.String +'aaa) oh !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(100)(' Literal.String +'aaa) oh !"' Literal.String.Double +'\n\n' Text + +'//multiple blob in a string\n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(3)(aaa)' Literal.String.Escape +' hey ! ' Literal.String +'\\B(3)(aaa)' Literal.String.Escape +' oh !"' Literal.String.Double +'\n\n' Text + +'// multiple digits blob size \n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(10)(aaaaaaaaaa)' Literal.String.Escape +' !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(10)(' Literal.String +'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(100)(' Literal.String +'a) !"' Literal.String.Double +'\n\n' Text + +'// multiple digits blob size \n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(007)(aaaaaaa)' Literal.String.Escape +' !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(007)(' Literal.String +'aa) !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(007)(' Literal.String +'aaaaaaaaaaaaaaaaaa) !"' Literal.String.Double +'\n\n' Text + +'// deprecated and restricted keyworks \n' Comment + +'emit' Keyword +' ' Text +'Event' Name.Builtin +'.' Operator +'new' Keyword +';' Punctuation +'\n' Text + +'static' Keyword +' ' Text +'int' Keyword.Reserved +' ' Text +'main' Name.Other +'()' Punctuation +';' Punctuation +'\n\n' Text + +'loopn' Keyword +' ' Text +'(' Punctuation +'2' Literal.Number.Float +')' Punctuation +' ' Text +'{' Punctuation +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'a"' Literal.String.Double +')' Punctuation +';' Punctuation +'}' Punctuation +';' Punctuation +'\n\n' Text + +'foreach' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +':' Operator +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +'2' Literal.Number.Float +',' Punctuation +'3' Literal.Number.Float +',' Punctuation +'4' Literal.Number.Float +'])' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'echo' Name.Other +'(' Punctuation +'i' Name.Other +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +'()' Punctuation +' ' Text +'{}' Punctuation +';' Punctuation +'\n \n' Text + +'var' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"if'" Literal.String.Single +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'this' Keyword +'.' Operator +"'" Literal.String.Single +"else'" Literal.String.Single +';' Punctuation +' \n \n' Text + +'var' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"%x'" Literal.String.Single +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"1 2 3'" Literal.String.Single +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'this' Keyword +'.' Operator +"'" Literal.String.Single +"[]'" Literal.String.Single +';' Punctuation +'\n \n' Text + +'// angles \n' Comment + +'pi' Name.Other +' ' Text +'==' Operator +' ' Text +'180deg' Literal.Number.Float +';' Punctuation +' \n' Text + +'pi' Name.Other +' ' Text +'==' Operator +' ' Text +'200grad' Literal.Number.Float +';' Punctuation +'\n \n' Text + +'// Dictionary\n' Comment + +'[' Punctuation +' ' Text +'=>' Operator +' ' Text +']' Punctuation +';' Punctuation +' ' Text +'// The empty dictionary \n' Comment + +'\n' Text + +'// duration \n' Comment + +'1d' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'24h' Literal.Number.Float +';' Punctuation +' \n' Text + +'0.5d' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'12h' Literal.Number.Float +';' Punctuation +' \n' Text + +'1h' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'60min' Literal.Number.Float +';' Punctuation +' \n' Text + +'1min' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'60s' Literal.Number.Float +';' Punctuation +' \n' Text + +'1s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1000ms' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'1s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n' Text + +'1s' Literal.Number.Float +' ' Text +'2s' Literal.Number.Float +' ' Text +'3s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'6' Literal.Number.Float +';' Punctuation +' \n' Text + +'1s' Literal.Number.Float +' ' Text +'1ms' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.001' Literal.Number.Float +';' Punctuation +' \n' Text + +'1ms' Literal.Number.Float +' ' Text +'1s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.001' Literal.Number.Float +';' Punctuation +'\n \n \n ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.0' Literal.Number.Float +';' Punctuation +' \n ' Text +'1.2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.2000' Literal.Number.Float +';' Punctuation +' \n ' Text +'1.234e6' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1234000' Literal.Number.Float +';' Punctuation +' \n ' Text +'1e+11' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1E+11' Literal.Number.Float +';' Punctuation +' \n ' Text +'1e10' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'10000000000' Literal.Number.Float +';' Punctuation +' \n ' Text +'1e30' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1e10' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'1e10' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'1e10' Literal.Number.Float +';' Punctuation +'\n \n \n' Text + +'0.000001' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'0.0000001' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'0.00000000001' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'1e+3' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'1E-5' Literal.Number.Float +';' Punctuation +' \n \n\n' Text + +'1' Literal.Number.Float +'.' Operator +';' Punctuation +' \n' Text + +'// [00004701:error] !!! syntax error: unexpected ;\n' Comment + +' \n ' Text +'0x2a' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'42' Literal.Number.Float +';' Punctuation +' \n ' Text +'0x2A' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'42' Literal.Number.Float +';' Punctuation +' \n ' Text +'0xabcdef' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'11259375' Literal.Number.Float +';' Punctuation +' \n ' Text +'0xABCDEF' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'11259375' Literal.Number.Float +';' Punctuation +' \n' Text + +'0xFFFFFFFF' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'4294967295' Literal.Number.Float +';' Punctuation +'\n \n \n' Text + +'//123foo; \n' Comment + +"//[00005658:error] !!! syntax error: invalid token: '123foo' \n" Comment + +'//12.3foo; \n' Comment + +"//[00018827:error] !!! syntax error: invalid token: '12.3foo' \n" Comment + +'0xabcdef' Literal.Number.Hex +';' Punctuation +' \n' Text + +'//[00060432] 11259375 \n' Comment + +'//0xabcdefg; \n' Comment + +"//[00061848:error] !!! syntax error: invalid token: '0xabcdefg'\n" Comment + +' \n \n' Text + +'[]' Punctuation +';' Punctuation +' ' Text +'// The empty list \n' Comment + +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n \n' Text + +'// Special characters. \n' Comment + +'"' Literal.String.Double +'\\""' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\""' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\\\"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\\\"' Literal.String.Double +';' Punctuation +' \n \n' Text + +'// ASCII characters. \n' Comment + +'"' Literal.String.Double +'\\a"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\007"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\a"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x07"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\b"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\010"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\b"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x08"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\f"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\014"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\f"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0c"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\n"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\012"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\n"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0a"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\r"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\015"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\r"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0d"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\t"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\011"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\t"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x09"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\v"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\013"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\v"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0b"' Literal.String.Double +';' Punctuation +' \n \n' Text + +'// Octal escapes. \n' Comment + +'"' Literal.String.Double +'\\0"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\00"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\0"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\000"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\0000"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\0"' Literal.String.Double +'"' Literal.String.Double +'0"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\062\\063"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'23"' Literal.String.Double +';' Punctuation +' \n \n' Text + +'// Hexadecimal escapes. \n' Comment + +'"' Literal.String.Double +'\\x00"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\0"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\x32\\x33"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'23"' Literal.String.Double +';' Punctuation +' \n \n \n \n' Text + +'"' Literal.String.Double +'foo"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'bar"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'baz"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'foobarbaz"' Literal.String.Double +';' Punctuation +'\n \n' Text + +'// Tuples \n' Comment + +'()' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'()' Punctuation +' \n' Text + +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +')' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +')' Punctuation +' \n' Text + +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +')' Punctuation +' \n' Text + +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +',' Punctuation +' ' Text +'4' Literal.Number.Float +',' Punctuation +')' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +',' Punctuation +' ' Text +'4' Literal.Number.Float +')' Punctuation +'\n \n' Text + +'function' Keyword.Declaration +' ' Text +'Global' Name.Builtin +'.' Operator +'verboseId' Name.Other +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'x' Name.Other +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'x' Name.Other +')' Punctuation +' ' Text +'|' Punctuation +' ' Text +'x' Name.Other +' \n' Text + +'}' Punctuation +'|;' Punctuation +' \n' Text + +'class' Keyword.Declaration +' ' Text +'verboseId' Name.Other +'(' Punctuation +'Global' Name.Builtin +')' Punctuation +'.' Operator +'math' Name.Other +' ' Text +':' Operator +' ' Text +'verboseId' Name.Other +'(' Punctuation +'Math' Name.Builtin +')' Punctuation +' \n' Text + +'{' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n' Text + +'{' Punctuation +' \n ' Text +'for' Keyword +' ' Text +'(' Punctuation +'3' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'ping"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +',' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'0.5s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'for' Keyword +' ' Text +'(' Punctuation +'3' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'pong"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +',' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n ' Text +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'2' Literal.Number.Float +';' Punctuation +' \n ' Text +'1' Literal.Number.Float +' ' Text +'-' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'-' Operator +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'2' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'3' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'6' Literal.Number.Float +';' Punctuation +' \n ' Text +'10' Literal.Number.Float +' ' Text +'/' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'5' Literal.Number.Float +';' Punctuation +' \n ' Text +'2' Literal.Number.Float +' ' Text +'**' Operator +' ' Text +'10' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1024' Literal.Number.Float +';' Punctuation +' \n ' Text +'-' Operator +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' ' Text +'==' Operator +' ' Text +'-' Operator +'3' Literal.Number.Float +';' Punctuation +' \n ' Text +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'3' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'7' Literal.Number.Float +';' Punctuation +' \n ' Text +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' ' Text +'*' Operator +' ' Text +'3' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'9' Literal.Number.Float +';' Punctuation +' \n ' Text +'-' Operator +'2' Literal.Number.Float +' ' Text +'**' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'-' Operator +'4' Literal.Number.Float +';' Punctuation +' \n ' Text +'-' Operator +' ' Text +'-' Operator +' ' Text +'-' Operator +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +'\n\n' Text + +'a' Name.Other +' ' Text +'=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'+=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'-=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'*=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'/=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'%=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'^=' Operator +' ' Text +'b' Name.Other +'\n\n \n' Text + +'var' Keyword.Declaration +' ' Text +'value' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +'|;' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'valueAlias' Name.Other +' ' Text +'=' Operator +' ' Text +'value' Name.Other +'|;' Punctuation +' \n' Text + +'value' Name.Other +' ' Text +'+=' Operator +' ' Text +'10' Literal.Number.Float +';' Punctuation +' \n' Text + +'valueAlias' Name.Other +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'myList' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'myList' Name.Other +'.' Operator +'specialFeature' Name.Other +' ' Text +'=' Operator +' ' Text +'42' Literal.Number.Float +'|;' Punctuation +' \n' Text + +'myList' Name.Other +' ' Text +'+=' Operator +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'myList' Name.Other +'.' Operator +'specialFeature' Name.Other +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'myOtherList' Name.Other +' ' Text +'=' Operator +' ' Text +'myList' Name.Other +' ' Text +'+' Operator +' ' Text +'[' Punctuation +'4' Literal.Number.Float +',' Punctuation +' ' Text +'5' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'myOtherList' Name.Other +'.' Operator +'specialFeature' Name.Other +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'something' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'somethingElse' Name.Other +' ' Text +'=' Operator +' ' Text +'something' Name.Other +'|;' Punctuation +' \n' Text + +'something' Name.Other +' ' Text +'+=' Operator +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'somethingElse' Name.Other +' ' Text +'+=' Operator +' ' Text +'[' Punctuation +'3' Literal.Number.Float +',' Punctuation +' ' Text +'4' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'something' Name.Other +';' Punctuation +' \n \n \n' Text + +'class' Keyword.Declaration +' ' Text +'Counter' Name.Other +' \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'count' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +'init' Name.Other +' ' Text +'(' Punctuation +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'this' Keyword +'.' Operator +'count' Name.Other +' ' Text +'=' Operator +' ' Text +'n' Name.Other +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'// Display the value, and the identity. \n' Comment + +' ' Text +'function' Keyword.Declaration +' ' Text +'asString' Name.Other +'()' Punctuation +' ' Text +'{' Punctuation +' ' Text +'"' Literal.String.Double +'%s @ %s"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'count' Name.Other +',' Punctuation +' ' Text +'uid' Name.Other +' ' Text +']' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"+'" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'new' Keyword +'(' Punctuation +'count' Name.Other +' ' Text +'+' Operator +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"-'" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'new' Keyword +'(' Punctuation +'count' Name.Other +' ' Text +'-' Operator +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'|;' Punctuation +'\n \n \n' Text + +'class' Keyword.Declaration +' ' Text +'ImmutableCounter' Name.Other +' ' Text +':' Operator +' ' Text +'Counter' Name.Other +' \n' Text + +'{' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"+='" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'this' Keyword +' ' Text +'+' Operator +' ' Text +'n' Name.Other +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"-='" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'this' Keyword +' ' Text +'-' Operator +' ' Text +'n' Name.Other +' ' Text +'}' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'|;' Punctuation +' \n \n' Text + +'var' Keyword.Declaration +' ' Text +'ic1' Name.Other +' ' Text +'=' Operator +' ' Text +'ImmutableCounter' Name.Other +'.' Operator +'new' Keyword +'(' Punctuation +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'ic2' Name.Other +' ' Text +'=' Operator +' ' Text +'ic1' Name.Other +';' Punctuation +' \n \n' Text + +'ic1' Name.Other +' ' Text +'+=' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n' Text + +'ic1' Name.Other +';' Punctuation +' \n' Text + +'ic2' Name.Other +';' Punctuation +' \n \n\n' Text + +'a' Name.Other +' ' Text +'<<' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'>>' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'^' Operator +' ' Text +'b' Name.Other +'\n \n' Text + +'4' Literal.Number.Float +' ' Text +'<<' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'16' Literal.Number.Float +';' Punctuation +' \n' Text + +'4' Literal.Number.Float +' ' Text +'>>' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +'\n \n' Text + +'!' Punctuation +'a' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'&&' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'||' Operator +' ' Text +'b' Name.Other +'\n \n' Text + +'true' Keyword.Constant +' ' Text +'&&' Operator +' ' Text +'true' Keyword.Constant +';' Punctuation +' \n' Text + +'true' Keyword.Constant +' ' Text +'||' Operator +' ' Text +'false' Keyword.Constant +';' Punctuation +' \n' Text + +'!' Punctuation +'true' Keyword.Constant +' ' Text +'==' Operator +' ' Text +'false' Keyword.Constant +';' Punctuation +' \n' Text + +'true' Keyword.Constant +' ' Text +'||' Operator +' ' Text +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'/' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'(' Punctuation +'false' Keyword.Constant +' ' Text +'&&' Operator +' ' Text +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'/' Operator +' ' Text +'0' Literal.Number.Float +'))' Punctuation +' ' Text +'==' Operator +' ' Text +'false' Keyword.Constant +';' Punctuation +'\n \n' Text + +'a' Name.Other +' ' Text +'==' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'!' Punctuation +'=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'===' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'!' Punctuation +'==' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'~=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'=~=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'<' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'<=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'>' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'>=' Operator +' ' Text +'b' Name.Other +'\n \n' Text + +'assert' Keyword +'{' Punctuation +' \n ' Text +'!' Punctuation +' ' Text +'(' Punctuation +'0' Literal.Number.Float +' ' Text +'<' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'0' Literal.Number.Float +' ' Text +'<=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n ' Text +'0' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n ' Text +'0' Literal.Number.Float +' ' Text +'!' Punctuation +'==' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n' Text + +'a' Name.Other +' ' Text +'in' Operator.Word +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'not' Operator.Word +' ' Text +'in' Operator.Word +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +'[' Punctuation +'args' Name.Other +']' Punctuation +'\n' Text + +'a' Name.Other +'[' Punctuation +'args' Name.Other +']' Punctuation +' ' Text +'=' Operator +' ' Text +'v' Name.Other +'\n \n' Text + +'1' Literal.Number.Float +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'0' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'3' Literal.Number.Float +' ' Text +'not' Operator.Word +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'0' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n \n' Text + +'"' Literal.String.Double +'one"' Literal.String.Double +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'"' Literal.String.Double +'zero"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'0' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'one"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'two"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'three"' Literal.String.Double +' ' Text +'not' Operator.Word +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'"' Literal.String.Double +'zero"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'0' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'one"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'two"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +'\n \n' Text + +'a' Name.Other +'.' Operator +'b' Name.Other +'\n' Text + +'a' Name.Other +'.' Operator +'b' Name.Other +'(' Punctuation +'args' Name.Other +')' Punctuation +'\n' Text + +'a' Name.Other +'->' Operator +'b' Name.Other +'\n' Text + +'a' Name.Other +'->' Operator +'b' Name.Other +' ' Text +'=' Operator +' ' Text +'v' Name.Other +'\n' Text + +'a' Name.Other +'.&' Operator +'b' Name.Other +'\n \n' Text + +'var' Keyword.Declaration +' ' Text +'obj' Name.Other +' ' Text +'=' Operator +' ' Text +'Object' Name.Builtin +'.' Operator +'new' Keyword +'|;' Punctuation +' \n' Text + +'function' Keyword.Declaration +' ' Text +'obj' Name.Other +'.' Operator +'f' Name.Other +'()' Punctuation +' ' Text +'{' Punctuation +' ' Text +'24' Literal.Number.Float +' ' Text +'}' Punctuation +'|;' Punctuation +' \n \n \n' Text + +'var' Keyword.Declaration +' ' Text +'f' Name.Other +' ' Text +'=' Operator +' ' Text +'function' Keyword.Declaration +'(' Punctuation +'a' Name.Other +',' Punctuation +' ' Text +'b' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'b' Name.Other +' ' Text +'+' Operator +' ' Text +'a' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'|' Punctuation +' \n' Text + +'f' Name.Other +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n \n\n' Text + +'function' Keyword.Declaration +' ' Text +'g3' Name.Other +'()' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'return' Keyword +';' Punctuation +' ' Text +'// Stop execution at this point and return void \n' Comment + +' ' Text +'echo' Name.Other +'(' Punctuation +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' ' Text +'// This is not executed \n' Comment + +'}' Punctuation +'|' Punctuation +' \n \n' Text + +'Object' Name.Builtin +'.' Operator +'setProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'define' Name.Other +'/' Operator +'set' Name.Other +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'getProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'get' Name.Other +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'removeProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'delete' Keyword.Reserved +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'hasProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'test' Name.Other +' ' Text +'for' Keyword +' ' Text +'the' Name.Other +' ' Text +'existence' Name.Other +' ' Text +'of' Name.Other +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'properties' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'get' Name.Other +' ' Text +'all' Name.Other +' ' Text +'the' Name.Other +' ' Text +'properties' Name.Other +' ' Text +'of' Name.Other +' ' Text +'a' Name.Other +' ' Text +'slot' Name.Other +'.' Operator +'\n\n' Text + +'enum' Keyword +' ' Text +'Suit' Name.Other +' \n' Text + +'{' Punctuation +' \n ' Text +'hearts' Name.Other +',' Punctuation +' \n ' Text +'diamonds' Name.Other +',' Punctuation +' \n ' Text +'clubs' Name.Other +',' Punctuation +' \n ' Text +'spades' Name.Other +',' Punctuation +' ' Text +'// Last comma is optional \n' Comment + +'}' Punctuation +';' Punctuation +' \n \n' Text + +'for' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'suit' Name.Other +' ' Text +'in' Operator.Word +' ' Text +'Suit' Name.Other +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'%s the ace of %s."' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'find_ace' Name.Other +'(' Punctuation +'suit' Name.Other +')' Punctuation +',' Punctuation +' ' Text +'suit' Name.Other +'])' Punctuation +';' Punctuation +' \n \n' Text + +'switch' Keyword +' ' Text +'(' Punctuation +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +'])' Punctuation +' ' Text +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'// The pattern does not match the values of the list. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'2' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +'])' Punctuation +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'fail"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n \n ' Text +'// The pattern does not match the tuple. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'[' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']]' Punctuation +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'fail"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n \n ' Text +'// The pattern matches and binds the variable "l" \n' Comment + +' ' Text +'// but the condition is not verified. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'l' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'l' Name.Other +'.' Operator +'size' Name.Other +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'fail"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n \n ' Text +'// The pattern matches. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'var' Keyword.Declaration +' ' Text +'a' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'b' Name.Other +'])' Punctuation +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'foo(%s, %s)"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'a' Name.Other +',' Punctuation +' ' Text +'b' Name.Other +'])' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** foo(1, 2)\n' Comment + +' \n' Text + +'{' Punctuation +' \n ' Text +'[' Punctuation +'"' Literal.String.Double +'b"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'b' Name.Other +',' Punctuation +' ' Text +'"' Literal.String.Double +'a"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'a' Name.Other +']' Punctuation +' ' Text +'=' Operator +' ' Text +'[' Punctuation +'"' Literal.String.Double +'a"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'b"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'c"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'3' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'a = %d, b = %d"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'a' Name.Other +',' Punctuation +' ' Text +'b' Name.Other +'])' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** a = 1, b = 2\n' Comment + +' \n \n' Text + +'switch' Keyword +' ' Text +'([' Punctuation +'"' Literal.String.Double +'speed"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'time"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'6s' Literal.Number.Float +'])' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'case' Keyword +' ' Text +'[' Punctuation +'"' Literal.String.Double +'speed"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'s' Name.Other +']' Punctuation +' ' Text +'if' Keyword +' ' Text +'s' Name.Other +' ' Text +'>' Operator +' ' Text +'3' Literal.Number.Float +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'Too fast"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'case' Keyword +' ' Text +'[' Punctuation +'"' Literal.String.Double +'speed"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'s' Name.Other +',' Punctuation +' ' Text +'"' Literal.String.Double +'time"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'t' Name.Other +']' Punctuation +' ' Text +'if' Keyword +' ' Text +'s' Name.Other +' ' Text +'*' Operator +' ' Text +'t' Name.Other +' ' Text +'>' Operator +' ' Text +'10' Literal.Number.Float +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'Too far"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** Too far\n' Comment + +' \n \n' Text + +'try' Keyword +' \n' Text + +'{' Punctuation +' \n ' Text +'throw' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'message"' Literal.String.Double +',' Punctuation +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n' Text + +'}' Punctuation +' \n' Text + +'catch' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'e' Name.Other +' ' Text +'if' Keyword +' ' Text +'e' Name.Other +'.' Operator +'isA' Name.Other +'(' Punctuation +'Exception' Name.Builtin +'))' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'e' Name.Other +'.' Operator +'message' Name.Other +')' Punctuation +' \n' Text + +'}' Punctuation +' \n' Text + +'catch' Keyword +' ' Text +'((' Punctuation +'var' Keyword.Declaration +' ' Text +'msg' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'value' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'value' Name.Other +'.' Operator +'isA' Name.Other +'(' Punctuation +'Float' Name.Builtin +'))' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'%s: %d"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'msg' Name.Other +',' Punctuation +' ' Text +'value' Name.Other +'])' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** message: 0\n' Comment + +' \n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'e' Name.Other +' ' Text +'=' Operator +' ' Text +'Event' Name.Builtin +'.' Operator +'new' Keyword +';' Punctuation +' \n ' Text +'at' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'msg' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'value' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'value' Name.Other +' ' Text +'%' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'%s: %d"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'msg' Name.Other +',' Punctuation +' ' Text +'value' Name.Other +'])' Punctuation +';' Punctuation +' \n \n ' Text +'// Does not trigger the "at" because the guard is not verified. \n' Comment + +' ' Text +'e' Name.Other +'!' Punctuation +'(' Punctuation +'"' Literal.String.Double +'message"' Literal.String.Double +',' Punctuation +' ' Text +'1' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n \n ' Text +'// Trigger the "at". \n' Comment + +' ' Text +'e' Name.Other +'!' Punctuation +'(' Punctuation +'"' Literal.String.Double +'message"' Literal.String.Double +',' Punctuation +' ' Text +'2' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** message: 2\n' Comment + +' \n' Text + +'for' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' ' Text +'i' Name.Other +' ' Text +'<' Operator +' ' Text +'8' Literal.Number.Float +';' Punctuation +' ' Text +'i' Name.Other +'++' Operator +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'%' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'!' Punctuation +'=' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'continue' Keyword +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'i' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n' Text + +'do' Keyword.Declaration +' ' Text +'(' Punctuation +'1024' Literal.Number.Float +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'assert' Keyword +'(' Punctuation +'this' Keyword +' ' Text +'==' Operator +' ' Text +'1024' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'assert' Keyword +'(' Punctuation +'sqrt' Name.Other +' ' Text +'==' Operator +' ' Text +'32' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'setSlot' Name.Other +'(' Punctuation +'"' Literal.String.Double +'y"' Literal.String.Double +',' Punctuation +' ' Text +'23' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'.' Operator +'y' Name.Other +';' Punctuation +' \n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'n' Name.Other +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Float +'|;' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'res' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n ' Text +'loop;' Keyword +'{' Punctuation +' \n ' Text +'n' Name.Other +'--' Operator +';' Punctuation +' \n ' Text +'res' Name.Other +' ' Text +'<<' Operator +' ' Text +'n' Name.Other +';' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'n' Name.Other +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'break' Keyword +' \n ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'res' Name.Other +' \n' Text + +'}' Punctuation +' \n \n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'n' Name.Other +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Float +'|;' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'res' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n ' Text +'loop|' Keyword +'{' Punctuation +' \n ' Text +'n' Name.Other +'--' Operator +';' Punctuation +' \n ' Text +'res' Name.Other +' ' Text +'<<' Operator +' ' Text +'n' Name.Other +';' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'n' Name.Other +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'break' Keyword +' \n ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'res' Name.Other +' \n' Text + +'}' Punctuation +' \n\n \n' Text + +'var' Keyword.Declaration +' ' Text +'j' Name.Other +' ' Text +'=' Operator +' ' Text +'3' Literal.Number.Float +'|' Punctuation +' \n' Text + +'while' Keyword +' ' Text +'(' Punctuation +'0' Literal.Number.Float +' ' Text +'<' Operator +' ' Text +'j' Name.Other +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'j' Name.Other +')' Punctuation +';' Punctuation +' \n ' Text +'j' Name.Other +'--' Operator +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +'=' Operator +' ' Text +'4' Literal.Number.Float +'|' Punctuation +' \n ' Text +'while|' Keyword +' ' Text +'(' Punctuation +'true' Keyword.Constant +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'i' Name.Other +' ' Text +'-=' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'"' Literal.String.Double +'in: "' Literal.String.Double +' ' Text +'+' Operator +' ' Text +'i' Name.Other +')' Punctuation +';' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +')' Punctuation +' \n ' Text +'break' Keyword +' \n ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'==' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' \n ' Text +'continue' Keyword +';' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'"' Literal.String.Double +'out: "' Literal.String.Double +' ' Text +'+' Operator +' ' Text +'i' Name.Other +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n \n \n' Text + +'function' Keyword.Declaration +' ' Text +'test' Name.Other +'(' Punctuation +'e' Name.Other +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'try' Keyword +' \n ' Text +'{' Punctuation +' ' Text +'throw' Keyword +' ' Text +'e' Name.Other +';' Punctuation +' ' Text +'}' Punctuation +' \n ' Text +'catch' Keyword +' ' Text +'(' Punctuation +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'zero"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +' \n ' Text +'catch' Keyword +' ' Text +'([' Punctuation +'var' Keyword.Declaration +' ' Text +'x' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'y' Name.Other +'])' Punctuation +' \n ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'x' Name.Other +' ' Text +'+' Operator +' ' Text +'y' Name.Other +')' Punctuation +' ' Text +'}' Punctuation +' \n' Text + +'}' Punctuation +' ' Text +'|' Punctuation +' ' Text +'{}' Punctuation +';' Punctuation +' \n \n' Text + +'try' Keyword +' ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'try"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +' \n' Text + +'catch' Keyword +' ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'catch"' Literal.String.Double +')}' Punctuation +' \n' Text + +'else' Keyword +' ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'else"' Literal.String.Double +')}' Punctuation +';' Punctuation +' \n \n \n' Text + +'try' Keyword +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'inside"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +' \n' Text + +'finally' Keyword +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'finally"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000001] *** inside \n' Comment + +'//[00000002] *** finally\n' Comment + +' \n' Text + +'at' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'start' Name.Other +')' Punctuation +' ' Text +'~' Operator +' ' Text +'1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'in : %s"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'(' Punctuation +'time' Name.Other +' ' Text +'-' Operator +' ' Text +'start' Name.Other +')' Punctuation +'.' Operator +'round' Name.Other +')' Punctuation +' \n' Text + +'onleave' Keyword +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'out: %s"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'(' Punctuation +'time' Name.Other +' ' Text +'-' Operator +' ' Text +'start' Name.Other +')' Punctuation +'.' Operator +'round' Name.Other +')' Punctuation +';' Punctuation +' \n \n' Text + +'// This emission is too short to trigger the at. \n' Comment + +'e' Name.Other +'!' Punctuation +'(' Punctuation +'time' Name.Other +')' Punctuation +';' Punctuation +' \n \n' Text + +'// This one is long enough. \n' Comment + +'// The body triggers 1s after the emission started. \n' Comment + +'e' Name.Other +'!' Punctuation +'(' Punctuation +'time' Name.Other +')' Punctuation +' ' Text +'~' Operator +' ' Text +'2s' Literal.Number.Float +';' Punctuation +' \n' Text + +'//[00001000] *** in : 1 \n' Comment + +'//[00002000] *** out: 2\n' Comment + +' \n\n' Text + +'timeout' Keyword +' ' Text +'(' Punctuation +'2.1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'every' Keyword +' ' Text +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'Are you still there?"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** Are you still there? \n' Comment + +'//[00001000] *** Are you still there? \n' Comment + +'//[00002000] *** Are you still there?\n' Comment + +' \n ' Text +'every|' Keyword +' ' Text +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'aba"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +';' Punctuation +' \n\n' Text + +'for,' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +'=' Operator +' ' Text +'3' Literal.Number.Float +';' Punctuation +' ' Text +'0' Literal.Number.Float +' ' Text +'<' Operator +' ' Text +'i' Name.Other +';' Punctuation +' ' Text +'i' Name.Other +' ' Text +'-=' Operator +' ' Text +'1' Literal.Number.Float +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'i' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n \n' Text + +'for&' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +':' Operator +' ' Text +'[' Punctuation +'0' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +'])' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'*' Operator +' ' Text +'i' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n' Text + +'loop,' Keyword +'{' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n\n' Text + +'waituntil' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'b' Name.Other +'))' Punctuation +';' Punctuation +' \n\n' Text + +'whenever' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'"' Literal.String.Double +'arg"' Literal.String.Double +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'arg' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'arg' Name.Other +' ' Text +'%' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'e (%s) on"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'arg' Name.Other +')' Punctuation +' \n' Text + +'else' Keyword +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'e off"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n\n\n ' Text +'while,' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'j' Name.Other +' ' Text +'=' Operator +' ' Text +'i' Name.Other +' ' Text +'-=' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'}' Punctuation +'|' Punctuation +' \n \n \n' Text + +'var' Keyword.Declaration +' ' Text +'y' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'0.5s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'y' Name.Other +' ' Text +'=' Operator +' ' Text +'100' Literal.Number.Float +' ' Text +'smooth' Name.Other +':' Operator +'3s' Literal.Number.Float +',' Punctuation +' \n' Text + +'}' Punctuation +',' Punctuation +'\n\n \n \n' Text diff --git a/tests/examplefiles/example.usd b/tests/examplefiles/usd/example.usd similarity index 100% rename from tests/examplefiles/example.usd rename to tests/examplefiles/usd/example.usd diff --git a/tests/examplefiles/usd/example.usd.output b/tests/examplefiles/usd/example.usd.output new file mode 100644 index 0000000..51efd3c --- /dev/null +++ b/tests/examplefiles/usd/example.usd.output @@ -0,0 +1,24394 @@ +'#usda 1.0' Comment.Single +'\n' Text.Whitespace + +'(' Punctuation +'\n ' Text.Whitespace +'defaultPrim' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"Rocks"' Literal.String +'\n ' Text.Whitespace +'endTimeCode' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'5' Literal.Number +'\n ' Text.Whitespace +'startTimeCode' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'1' Literal.Number +'\n ' Text.Whitespace +'upAxis' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"Z"' Literal.String +'\n' Text.Whitespace + +')' Punctuation +'\n\n' Text.Whitespace + +'class' Keyword.Tokens +' ' Text.Whitespace +'"name"' Literal.String +'\n' Text.Whitespace + +'{' Punctuation +'\n ' Text.Whitespace +'def' Keyword.Tokens +' ' Text.Whitespace +'Sphere' Text +' ' Text.Whitespace +'"MySphere"' Literal.String +'\n ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n\n' Text.Whitespace + +'class' Keyword.Tokens +' ' Text.Whitespace +'"inherited"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'inherits' Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'' Name.Namespace +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace + +'{' Punctuation +'\n ' Text.Whitespace +'over' Keyword.Tokens +' ' Text.Whitespace +'"MySphere"' Literal.String +'\n ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'double' Keyword.Type +' ' Text.Whitespace +'radius' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'3' Literal.Number +'\n ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n\n' Text.Whitespace + +'def' Keyword.Tokens +' ' Text.Whitespace +'"RedSphere"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'assetInfo' Text +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'asset' Keyword.Type +' ' Text.Whitespace +'identifier' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@./some_file.usd@' Literal.String.Interpol +'\n ' Text.Whitespace +'string' Keyword.Type +' ' Text.Whitespace +'name' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"Sphere"' Literal.String +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'specializes' Text +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'' Name.Namespace +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace + +'{' Punctuation +'\n ' Text.Whitespace +'color3f[]' Keyword.Type +' ' Text.Whitespace +'primvars:displayColor' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'0.8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +']' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n\n' Text.Whitespace + +'def' Keyword.Tokens +' ' Text.Whitespace +'"GreenSphere"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'assetInfo' Text +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'string' Keyword.Type +' ' Text.Whitespace +'name' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"Sphere"' Literal.String +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'specializes' Text +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'' Name.Namespace +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace + +'{' Punctuation +'\n ' Text.Whitespace +'color3f[]' Keyword.Type +' ' Text.Whitespace +'primvars:displayColor' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +']' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n\n\n' Text.Whitespace + +'def' Keyword.Tokens +' ' Text.Whitespace +'Scope' Text +' ' Text.Whitespace +'"variant_thing"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'variants' Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'string' Keyword.Type +' ' Text.Whitespace +'shadingVariant' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"Red"' Literal.String +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'add' Keyword.Type +' ' Text.Whitespace +'variantSets' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"shadingVariant"' Literal.String +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace + +'{' Punctuation +'\n ' Text.Whitespace +'variantSet' Keyword.Tokens +' ' Text.Whitespace +'"shadingVariant"' Literal.String +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'"Green"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'references' Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'' Name.Namespace +'\n\t\t\t' Text.Whitespace +'payload' Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@./something_that/doesnt/exist.usd@' Literal.String.Interpol +'\n ' Text.Whitespace +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'"Red"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'references' Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'' Name.Namespace +'\n ' Text.Whitespace +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n\n' Text.Whitespace + +'def' Keyword.Tokens +' ' Text.Whitespace +'Xform' Text +' ' Text.Whitespace +'"Rocks"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'kind' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"component"' Literal.String +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace + +'{' Punctuation +'\n ' Text.Whitespace +'def' Keyword.Tokens +' ' Text.Whitespace +'PointInstancer' Text +' ' Text.Whitespace +'"Instances"' Literal.String +'\n ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'vector3f[]' Keyword.Type +' ' Text.Whitespace +'angularVelocities' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'5' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'1.4754948e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-3.6699057e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2.864852e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-1.3486752e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2.87125e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'8.9582014e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-1.9462764e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3.762379e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-1.5327544e-9' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-7.648143e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2.8318103e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-3.4613994e-9' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-5.3290403e-11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-9.355394e-12' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-3.9073553e-11' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-5.7590197e-11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.2935869e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-2.5933455e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'5.351674e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.0502295e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3.3892524e-11' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-1.657694e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.379616e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.8324305e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'1.2923694e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2.0647031e-11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'6.388553e-11' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'1.0654887e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-8.548644e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-7.773067e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'6.786036e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-3.3324138e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'8.459508e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-4.4687608e-11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.3808948e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2.1368587e-9' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-2.44634e-14' Literal.Number +',' Punctuation +' ' Text.Whitespace +'7.813818e-14' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-5.9944833e-13' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-1.9949706e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-2.9450525e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-6.8380834e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'6.303264e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-2.1125923e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-2.2079956e-9' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'9.394451e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-5.0891366e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'7.111002e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'2.581828e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-3.8022245e-11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-9.955702e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'1.0992794e-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-8.442803e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-7.7597e-10' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'float3[]' Keyword.Type +' ' Text.Whitespace +'extent' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'1' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'-5.273652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-5.331042' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.39056742' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'5.329517' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5.33452' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.3929681' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'2' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'-5.273652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-5.331042' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.3999314' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'5.329517' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5.33452' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.3836041' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'3' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'-5.273652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-5.331042' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.42632082' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'5.329517' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5.33452' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.3572147' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'4' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'-5.273652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-5.331042' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.46973568' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'5.329517' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5.33452' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.31379983' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'5' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'-5.273652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-5.331042' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.530176' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'5.329517' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5.33452' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.25335953' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'quath[]' Keyword.Type +' ' Text.Whitespace +'orientations' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'1' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'0.468994' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.168091' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.454834' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.738281' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.382812' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.670898' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.481689' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.413574' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.470703' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.326416' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.564941' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.59375' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.505371' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.708496' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.482178' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.101196' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.35498' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.568848' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.675293' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.306885' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.385742' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.692383' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0164642' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.609375' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.770996' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.287109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.521973' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.224609' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.36792' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.628906' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.638184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.249512' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.724121' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.430664' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.208252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.496826' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.928223' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0809937' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0344238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.361572' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.815918' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.161743' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.547852' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0884399' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.349609' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.229858' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.651855' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.632324' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.287598' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.840332' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.302734' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.345703' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.287842' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.565918' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.714844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.293701' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.901367' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0376282' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.134277' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.409912' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.606934' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.134644' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.535156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.571777' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.929688' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0853882' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.155518' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.322754' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.591309' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.702148' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.337158' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.209595' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.518066' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.614746' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.533203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.263672' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0231018' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.318115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.891602' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.321533' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.556641' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.455811' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.652832' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.236328' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.125854' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.774902' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.529297' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.322021' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.26709' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0723877' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.121521' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.953125' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0931396' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.480469' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.870605' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0512695' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.234131' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.668945' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.696777' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.110046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.754883' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.409424' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.098877' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.50293' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.785645' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.39209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0108719' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.478516' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.422119' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.562012' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.578613' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.413574' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.37085' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.487549' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.679688' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.403564' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.463379' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.407227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.539551' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.573242' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.205444' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.760254' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.342773' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.512207' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.081543' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.541016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.480225' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.685547' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.556152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.654785' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.46875' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.205322' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0188904' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.510254' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.608398' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.607422' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.402344' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.682129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.42041' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.442871' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.366943' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.180664' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.835938' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.365967' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.207886' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.830078' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.468506' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.219238' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.59082' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.160645' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0231934' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.790527' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0663452' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.758789' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.333252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.555664' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.479004' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.525391' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.555176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.431152' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.756348' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00111389' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.160522' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.634277' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.389893' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.339111' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.599609' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.611328' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.492432' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.572754' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.397705' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.520996' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.490967' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.497803' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.69043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.185913' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.485596' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.190918' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.716797' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.462402' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.489258' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.181152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.65918' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.541504' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.753418' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.187378' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.271973' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.568848' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.401611' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.641113' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.628418' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.182129' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.421143' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.535156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.685547' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.257568' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.780273' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.614258' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0437622' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.109131' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.597168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0449829' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.702637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.384766' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0605164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.700195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.465088' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.538574' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0880737' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.103577' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.749512' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.647949' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.76709' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.370361' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0926514' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.515625' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.331055' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.462891' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.496338' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.655273' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.732422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.647461' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.114929' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.176758' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.316895' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.783203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.51709' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.137695' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.618652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.761719' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.1203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.151245' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.915527' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.253662' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.310059' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0374146' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.6875' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.517578' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0124664' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.508789' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.356934' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.337891' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.705566' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.510742' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.532715' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.261963' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.570801' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.566895' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.304688' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.268555' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.804688' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.43335' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.522461' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.490723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.471191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.51416' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.670898' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.572754' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.177124' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.436523' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.754395' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.229614' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.491211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.370117' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.532227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.608887' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.430176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.401123' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.598145' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.635742' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.294189' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.38916' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.398682' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.611328' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.213257' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.649414' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.831543' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.350098' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.388184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.187988' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.497314' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.344971' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.470215' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.642578' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.00505447' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.245728' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.485352' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.838867' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.475098' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.541016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.679199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.1427' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.329102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.221802' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.409668' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.821289' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.509766' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.465576' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.632324' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.351318' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.609375' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.121033' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.53125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.576172' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.442627' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.736328' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.503418' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0914307' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.594727' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.343506' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.60791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.398926' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.484375' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.196411' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.669922' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.527344' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.648926' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.105774' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.583008' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.477051' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.765625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.528809' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.279053' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.236694' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.656738' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.347656' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.525391' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.414551' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.72998' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.120544' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.345215' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.577637' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.473877' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.454834' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.432373' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.617676' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.300049' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0118637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.151733' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.941895' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.274902' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.63916' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.163818' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.699707' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.541992' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.357178' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.635742' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.417969' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.164795' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.709473' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.594238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.34082' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0489197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.474609' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.853516' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.209351' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.439941' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.592773' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.416504' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.530762' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0481262' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.865234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.454102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.206909' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.434814' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.42041' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.307861' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.734375' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.548828' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.506836' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.54248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.384277' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.37207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.356445' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.540039' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.665527' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.617676' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.589844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.264404' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.447754' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.511719' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.350098' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.326904' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.713379' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.654785' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.490723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.391357' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.421143' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.408203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.575195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.538086' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.46167' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.767578' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0193939' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.42334' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.480957' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.449951' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.648926' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.553223' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.265381' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0689697' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.976562' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.109619' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.173218' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.680664' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.525391' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.482666' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.166626' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.555176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.594238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.150757' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.5625' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.388916' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.208862' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.153442' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.884277' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.00372887' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.476318' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.333252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.813477' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.64502' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.660645' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.151733' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.353027' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0538025' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.581543' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.550781' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.596191' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.541504' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.179077' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.820312' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0462036' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.457275' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.225464' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.830566' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.223755' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.133179' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.665527' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.361084' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.639648' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.707031' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.44043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0447388' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.551758' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.61377' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.335938' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.366455' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.613281' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.836426' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.353516' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.393066' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.144409' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.721191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.452393' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.229614' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.47168' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.464355' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.630859' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.562012' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.264893' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0296783' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.586914' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.512207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.626465' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.56543' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.61084' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.537109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.136108' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0530701' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.270996' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.836426' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.473389' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.634766' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.370117' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.652344' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.186523' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.532715' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.729004' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.18811' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.38623' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0645142' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.530762' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.811523' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.235962' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.414551' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.618164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.667969' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0123596' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.429932' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.737305' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.489502' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.177734' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.647461' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.11261' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.617676' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.432129' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.704102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.461182' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.407471' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.354248' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.55127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.308105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.76123' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.147949' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.55127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.141846' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.316406' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.758789' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.230591' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.531738' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.814453' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0300446' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.581055' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.407715' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.136719' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.690918' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.489746' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.521973' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.618164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.325195' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.142456' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.584473' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.478271' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.639648' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.438477' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.63623' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.447754' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.449707' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.577637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.131348' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.78125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.196289' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.587402' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.46875' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.496338' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.434814' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.103394' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.379639' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.787598' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.474365' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.100098' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.434082' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.730957' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.51709' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.43457' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.615234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.302734' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.583984' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.64209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.463623' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.608887' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0441284' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.505371' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.12915' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.269775' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.80957' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.379639' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.36499' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0939331' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.844727' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.172852' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.598633' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.774902' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.105469' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.141479' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.482422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.61377' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.608887' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.3396' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.581055' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.716309' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.184326' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.204224' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.544922' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.792969' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.181152' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.400146' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.591309' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.692383' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.102966' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.203857' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.398193' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.60791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.65625' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.801758' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.357422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.335449' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.341797' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.043335' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.150757' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.884766' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.438965' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.173218' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.672852' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.376465' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.612793' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.649414' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.362061' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.481201' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.4646' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.662109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.603516' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.344238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.280762' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.489014' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.19165' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.800781' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.288086' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.82959' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0906372' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.469482' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.28833' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.341797' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.142822' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00710297' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.928711' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.523926' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.176636' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.598145' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.580566' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.564453' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.246948' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.589844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.521973' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.459717' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.496826' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.608887' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.413818' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.499023' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.828125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0282593' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.253662' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.464844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.804199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.102539' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.355957' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.693359' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.255615' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0837402' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.668457' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.415771' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.621094' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.638184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.18396' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.158691' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.731445' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.27002' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.605957' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.648926' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.623535' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0406799' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.434326' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.292236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.5' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.449707' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.679688' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.33252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.110657' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.888184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.297363' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.641113' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.267822' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.715332' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.072876' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0325317' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.407227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.799316' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.440918' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.560547' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.494385' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.381348' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.543945' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.247681' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.416016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.75' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.450928' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.601562' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.671387' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.388672' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.190796' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.348389' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.845215' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.292236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.28125' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.433594' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.464111' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.401123' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.660156' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.450195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.214111' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.85498' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.143677' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.596191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.440918' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.377197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.554688' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.561523' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.715332' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.274414' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.313232' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.477783' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.435059' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.686035' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.334717' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.744141' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.078064' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.392334' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.535156' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.319824' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.375488' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.851562' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.178101' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.513184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.283447' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0665894' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.807617' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.500977' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.762695' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.224976' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.341064' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.816895' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.155396' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.51709' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.202393' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0157318' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.497314' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.763184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.411865' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.605469' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.570312' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.39209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.393311' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0687256' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.682129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.172363' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.70752' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.947266' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0371704' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.212036' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.237427' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.268311' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.295898' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0045166' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.916504' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.429932' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.715332' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.178467' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.521484' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.338135' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.658203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.537598' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.404053' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.449707' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.74707' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.337646' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.354248' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.824219' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.343506' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.44873' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0349426' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0796509' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.937988' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0897827' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.325439' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.344238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.719238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.506836' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.327637' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.705078' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.387939' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.588867' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0739136' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.628418' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.335205' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.221191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.666504' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.771484' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.410889' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.477051' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0908813' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.538574' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.566406' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.619141' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0793457' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.684082' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.373047' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.557129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.287109' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.638672' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.64209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.41748' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0727539' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.681641' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.515137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.456787' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.247314' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.538086' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.609863' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.340332' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.471924' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.71582' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0874634' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.680664' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.129028' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.222412' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.684082' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.614746' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.32373' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.507324' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.799316' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.238647' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.216431' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.429932' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.736328' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00971222' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.522461' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.757324' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.644531' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.052002' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0913086' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.268799' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0161133' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.438232' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.857422' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.435059' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.742676' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.3125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.401611' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.804199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.469727' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.227783' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.283936' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.231079' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.451904' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.687988' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.519043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.451172' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.574219' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.420654' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.538574' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.140259' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.85791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0655518' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.489746' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.258301' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.481445' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.746094' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.381104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.140625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00349236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.95166' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.272217' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0164795' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.863281' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.354492' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.358398' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.584961' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.490967' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.630859' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.136963' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0425415' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.624512' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.487793' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.608398' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.16687' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.415039' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.871582' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.199951' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.543945' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.479736' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.336182' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.600586' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0562744' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.4729' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.569336' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.67041' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.583008' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.753906' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.302979' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00542068' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.395752' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.253906' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.640137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.607422' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.632812' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.652344' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.410889' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0731201' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.187134' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.481445' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.750488' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.412109' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.437744' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.744141' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.318115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.39209' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.555176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.668945' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0766602' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.488525' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.570312' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.519043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.300537' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.561035' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.171631' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.740723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.150146' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.631836' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.282471' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.283691' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.195923' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.89502' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.651855' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.702148' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0883179' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.272705' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.179688' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.733398' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.148804' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.638184' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.406494' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.695312' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.552734' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.213623' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.251953' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0709229' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.73291' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.62793' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.723145' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.568848' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.390869' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0258331' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.695312' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.552734' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.410889' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.206055' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.73877' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.104553' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.378906' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.547363' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.145142' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.431152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.453857' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.766113' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0645752' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.461182' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.388672' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.794922' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.391846' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.616211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.637207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.245972' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.522949' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0602417' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.642578' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.556641' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.492676' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.421631' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.394043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.651367' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.51416' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.423828' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.500488' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.552734' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.220703' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0689087' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.910156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.344238' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.177124' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.377197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.200806' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.886719' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.698242' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.253662' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.665039' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0756836' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.21106' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.267822' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.191895' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.92041' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.887207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.211792' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.296631' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.282715' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.523438' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.5' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.164551' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.669922' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.637207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.383789' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.585938' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.321777' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.567871' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.57666' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.193481' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.554688' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0535583' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.633789' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.2323' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.73584' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.395996' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.546875' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.694824' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.247437' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.869629' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.236938' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.347656' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.258301' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.173462' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.614746' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.461426' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.615723' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.115173' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.562988' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.818359' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0155182' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.598633' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.304932' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0189056' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.740234' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.521484' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0218353' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.553223' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.649414' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.561523' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.512695' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.397217' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.513672' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.151245' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.234863' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.959961' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0247345' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.305908' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.604492' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.492188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.546387' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.599121' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.686523' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.192627' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.364258' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.47876' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.411377' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.769531' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0985107' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.585449' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.271484' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.34668' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.680664' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.616211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0740356' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.47998' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.620117' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.666016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.017334' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.289307' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.6875' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.184937' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.401611' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.009552' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.896973' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.137817' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.654785' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.738281' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0872192' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.555664' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.531738' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.36377' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.525879' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.236938' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.133667' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.754395' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.597168' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.381104' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.640625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.516113' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.421387' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.218994' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.468262' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.683594' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.515625' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.583008' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.480225' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.416016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.506348' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.407227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.781738' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.311279' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.355225' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.396484' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.394531' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.443115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.700684' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.566895' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.721191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.379639' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.11969' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.708984' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.542969' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.158081' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.421387' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.163818' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.010582' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.847168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.505371' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.709473' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.27002' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.612793' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.219727' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0732422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.301025' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.80957' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.498535' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.681641' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.182129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.708496' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0115509' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.692383' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.416748' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.588867' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00333977' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.58252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.338379' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.711914' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.19873' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.656738' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.488525' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.567383' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0895996' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.635742' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.539062' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.488281' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.258301' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.615234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.659668' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.316162' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.293945' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.828613' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.468994' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.148193' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.267334' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.300293' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.1521' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.732422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.592285' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.69873' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.440674' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.35376' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.438477' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0406494' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.679199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.634277' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.366943' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.801758' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0582275' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.281006' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.524414' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.41333' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.127075' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.186401' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.882324' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.438721' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.474365' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.755371' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.110046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.620605' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.513672' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.584961' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0941772' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.05896' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00168514' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.958496' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.279297' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.825684' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.330322' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.226685' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.397217' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.385986' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.615723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.388672' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.566406' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.290527' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.516602' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.746582' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.30249' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.881348' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0742798' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.167603' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.435547' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.549316' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.27832' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.193115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.763672' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0157623' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.395752' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.130493' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.908691' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.460449' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.697754' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.510742' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.201416' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.726562' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.541016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.303711' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.294678' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.288086' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.392822' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.691406' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.533691' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.737305' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.626465' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.169434' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.187378' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.722168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.10022' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.278809' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0105209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.804688' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.153931' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.573242' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.101562' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.690918' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.702637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.134888' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.38208' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.552734' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.606934' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.424316' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.160034' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0267181' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.335205' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.928223' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.224365' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.381348' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.557617' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.702148' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.691406' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.125854' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.501465' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.504883' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.834961' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.232788' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.489746' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0942383' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.491455' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.541504' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.523438' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.4375' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.551758' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.432373' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.494629' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.513672' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.108704' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.459961' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.589844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.654785' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.438232' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.476562' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.706055' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.286377' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.361084' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.252441' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.392578' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.807129' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.788086' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0546875' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.507812' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.343994' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.454346' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.509766' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.504395' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.528809' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.104248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.975586' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.18103' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0692139' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.924316' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.149536' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0319824' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.349609' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.508789' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.458008' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.232056' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.690918' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.687988' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.620605' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.350342' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.137207' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.365723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.85791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.133911' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.335693' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.317871' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.403076' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.618164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.595215' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.458496' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.461426' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.618164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.441162' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.605957' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.502441' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.58252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.202271' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.456787' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.577637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.49585' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.459961' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.697754' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.644043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.216675' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.226318' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.412842' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.628906' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0456238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.657227' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.671875' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.20752' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.675293' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.222656' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.378174' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.548828' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.451416' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.593262' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.697754' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.4646' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.540039' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0749512' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.658691' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.495605' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.343994' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.449463' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.804688' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.127441' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.551758' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.178955' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.144043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.791016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.594238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0206604' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.185791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.387451' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.444092' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.786133' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.764648' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.463867' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.436768' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0957031' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.00309944' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.714844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.105286' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.690918' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.546387' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.481934' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.570801' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.378418' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.54248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0839844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.140991' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.82373' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.109497' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.725098' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.611816' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.296143' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0836792' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.163574' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.586914' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.788574' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.693359' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0698853' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.689453' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.197266' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.460693' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.621582' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.453613' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.442383' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.506348' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.666016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.340576' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.429443' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0577087' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.415527' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0742188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.904785' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0575256' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.779785' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.514648' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.352295' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.365723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.540039' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.170654' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.738281' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.987305' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.150146' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00455856' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0514832' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.623047' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.119263' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.412109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.653809' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.977539' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.11969' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0733032' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.157227' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.074646' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0269623' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.183105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.97998' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.666504' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.482178' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.428955' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.373047' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.25' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.115356' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.564941' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.777832' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.467529' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.79541' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.300293' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.242065' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.462646' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.456787' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.740234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.170288' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.259033' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.626953' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.652344' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.338623' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0396423' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.377441' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.59375' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.709473' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0614929' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0821533' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.919434' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.379395' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.242188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.235229' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.460693' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.820801' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.124756' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.628418' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.368652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.673828' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.504395' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.364014' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.738281' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.26123' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.452881' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.682617' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0543518' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.571289' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.683594' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.189087' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.692383' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.131348' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.632812' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.725586' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.113708' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.245239' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.387939' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.905273' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.170654' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0314331' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.609375' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0265198' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.372559' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.699219' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0329895' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.283691' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.740723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.60791' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.165771' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.155762' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.812988' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.536133' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.592285' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.456299' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.560059' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.357178' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.634277' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0870361' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.401367' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.654785' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.689941' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.517578' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.280273' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.421631' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.499023' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.622559' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.596191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0888062' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.484619' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.506836' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.529297' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.477539' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.220093' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.473633' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.765625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.375977' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.00972748' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.624023' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.203735' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.754395' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.492188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.100647' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.000545979' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.864746' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.228882' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.834473' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.301025' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.400391' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.456299' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.23877' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.587891' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.623535' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.536133' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.5625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.523926' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.349121' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.587402' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.292969' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.322021' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.682129' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.593262' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.556152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.566406' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.13269' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.10791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.829102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.539551' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0997314' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.394775' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.38501' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.350342' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.757324' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.786133' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.439941' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.397217' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.175537' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.879395' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.149536' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.29834' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.339355' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.696777' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.32373' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.467773' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.436768' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.386963' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.127808' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.754883' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.513672' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.604004' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.130737' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.515137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.59375' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.128418' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0111694' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.991699' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.000308275' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.558105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.265625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.785645' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0202484' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.695312' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.64502' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.264404' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.175171' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.5' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.54541' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0738525' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.668945' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0522766' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.243652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.583496' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.772949' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.341309' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.680176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.490479' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.424805' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.607422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.306641' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.544434' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.490234' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.640137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.285645' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.315918' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.63916' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.466553' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.488037' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.610352' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.414307' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.57959' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.631348' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.277344' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.43457' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.803711' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0847168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.138916' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.572266' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.58252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.186401' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.631836' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.47583' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.317139' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.583008' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.588867' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.461182' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.21814' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.707031' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.276123' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.61377' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0426941' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.92334' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.10791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.366211' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.366699' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.550781' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.749023' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0311584' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.235718' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0223236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.657227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.71582' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.754395' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.292236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.335938' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.482178' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.324219' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.489258' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.695312' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.414795' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.687012' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.375488' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.505859' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.362061' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.267578' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.722656' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.286865' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.568848' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.551758' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.46875' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0196533' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.689453' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.665039' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.427246' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.526855' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.312744' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.68457' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.344482' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.495361' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.40918' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.468018' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.071167' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.810547' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.344482' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.279541' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.22644' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.518555' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.775879' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.20459' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.785156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.466064' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.352295' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.543457' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.624512' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0345764' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.560059' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.493652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.469482' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.727539' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0794678' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.444336' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.550293' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.649414' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.280029' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.668945' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.264893' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.556641' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.415283' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.449951' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.425781' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0817871' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.780762' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.430664' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.220337' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.557129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.675293' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0508728' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.175171' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.791992' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.58252' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.543457' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.53125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.597656' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.255615' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.402832' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.424316' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.280029' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.76123' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.44043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.366699' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.681152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.455322' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.675293' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.268799' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.202637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.65625' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0601807' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.710449' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.654297' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.251953' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.794434' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0823364' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0695801' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.597656' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.692871' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0828247' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.700195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.150024' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.466797' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.635742' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.212646' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.57666' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.623047' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.494873' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.351074' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.493896' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.505371' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.647461' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.547363' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.15979' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.249634' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.17395' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.193726' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.932617' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.907227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.142944' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.160889' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.361328' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.546387' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.397217' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.618652' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.401367' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.463623' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.51416' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.588379' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.417969' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.603516' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.73584' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.190674' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.241211' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.27124' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0416565' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.895508' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.350098' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.284912' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.623535' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.456055' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.567383' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.558105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.518555' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.585938' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.276367' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.233398' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.913574' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0595398' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.328125' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.557617' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.60791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.128662' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.550781' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.179932' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.273438' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.70166' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.632812' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.279297' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.337158' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.812012' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.38623' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.208008' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.403564' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.648926' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.610352' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.883301' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.201904' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.420654' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0443726' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.479736' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.525879' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.435791' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.550781' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.727539' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.516602' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.293945' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.342773' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.482422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.366455' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.564453' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.560547' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.357422' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.483643' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.591797' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.537109' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.566895' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.310547' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.480713' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.592773' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.365723' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.903809' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.213135' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0608215' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.475342' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.624023' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.427734' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.449463' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.391846' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.452637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.689453' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.407715' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0802612' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.82959' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.12915' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.537109' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.00506592' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.568359' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.799316' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.195435' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.535156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.691406' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.485107' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0227966' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.412354' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.278076' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.339844' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.79834' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0248871' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.283691' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.486084' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.826172' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.702637' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.530273' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.393799' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.264404' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.639648' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.391602' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.158203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.64209' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.624512' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00078249' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.37793' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.683594' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.501953' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.705078' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0289154' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.5' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.577148' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.507812' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.639648' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.00888824' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0848389' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.478271' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.5625' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.668945' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.252197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.769043' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.213135' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.547363' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.446533' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.818848' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.331543' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.140869' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.555176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.39502' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.233398' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.693848' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.453857' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.569824' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.477783' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.490723' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.356934' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.532227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.508789' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.575195' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.417236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.688965' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.584961' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0932617' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.15686' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.802734' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.000578403' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.575684' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.416748' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.532715' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.451904' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.582031' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.527344' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.67334' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.436035' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.279541' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.332031' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.829102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.426514' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.143311' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.708984' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.139038' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.426514' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.543945' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.626953' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.703125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.101624' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.319336' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.00901794' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.382324' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.672363' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.633789' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.173584' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.694336' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.612305' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.335693' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.29248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.541016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.58252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.53125' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.888184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.383789' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.250977' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0299225' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.164917' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.616211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.549805' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.539551' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.28833' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.683594' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.599121' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.301025' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0667725' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.96582' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.189209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.162964' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.429443' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.416016' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.80127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0271606' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.834961' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.138794' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.289551' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.447021' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.0962524' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.109375' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.922852' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.356934' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.305176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.535645' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.561035' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.552246' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.625977' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.284912' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.679199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.255859' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.60498' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.441895' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.468506' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.468262' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.395508' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.270996' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.822754' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.30542' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.416748' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.207642' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.602051' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.648926' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.333496' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.230103' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.496094' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.768066' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.80127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.308105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.502441' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.103394' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.86377' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.446777' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.203003' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.114624' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.273682' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.230347' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.649902' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.670898' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.782715' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.469238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.0795898' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.401123' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.318604' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.569336' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.538574' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.533203' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0.549316' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.433594' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.427979' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0.571777' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'point3f[]' Keyword.Type +' ' Text.Whitespace +'positions' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'\n ' Text.Whitespace +'int[]' Keyword.Type +' ' Text.Whitespace +'protoIndices' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'\n ' Text.Whitespace +'int[]' Keyword.Type +' ' Text.Whitespace +'protoIndices' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'1' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'rel' Keyword.Type +' ' Text.Whitespace +'prototypes' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'' Name.Namespace +'\n ' Text.Whitespace +'uniform' Keyword.Token +' ' Text.Whitespace +'bool' Keyword.Type +' ' Text.Whitespace +'pruning:prunable' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'0' Literal.Number +'\n ' Text.Whitespace +'float3[]' Keyword.Type +' ' Text.Whitespace +'scales' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'\n ' Text.Whitespace +'vector3f[]' Keyword.Type +' ' Text.Whitespace +'velocities' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'2' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-8.437403e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-2.6998948e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'1.4985249e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4.9916143e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-3.3161673e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2.1237391e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'7.1713646e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.1938311e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-1.5178302e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-1.315916e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'1.1626155e-13' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3.6272495e-14' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-6.967436e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-1.806176e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'4.5742368e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-2.9294317e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'-6.894259e-10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-1.1477009e-9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861046' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.40861043' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.4086104' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'def' Keyword.Tokens +' ' Text.Whitespace +'Xform' Text +' ' Text.Whitespace +'"Prototypes"' Literal.String +'\n ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'def' Keyword.Tokens +' ' Text.Whitespace +'Xform' Text +' ' Text.Whitespace +'"Rock_0"' Literal.String +'\n ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'def' Keyword.Tokens +' ' Text.Whitespace +'Mesh' Text +' ' Text.Whitespace +'"mesh_0"' Literal.String +'\n ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'float3[]' Keyword.Type +' ' Text.Whitespace +'extent' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'1' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'(' Punctuation +'-0.9200616' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-1.1723773' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-0.9816961' Literal.Number +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'(' Punctuation +'1.1531225' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.1242445' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1.1446561' Literal.Number +')' Punctuation +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'int[]' Keyword.Type +' ' Text.Whitespace +'faceVertexCounts' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'1' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'int[]' Keyword.Type +' ' Text.Whitespace +'faceVertexIndices' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'1' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'6' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'7' Literal.Number +',' Punctuation +' ' Text.Whitespace +'6' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'7' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'12' Literal.Number +',' Punctuation +' ' Text.Whitespace +'11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'13' Literal.Number +',' Punctuation +' ' Text.Whitespace +'12' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'14' Literal.Number +',' Punctuation +' ' Text.Whitespace +'13' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'15' Literal.Number +',' Punctuation +' ' Text.Whitespace +'14' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'16' Literal.Number +',' Punctuation +' ' Text.Whitespace +'15' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'17' Literal.Number +',' Punctuation +' ' Text.Whitespace +'16' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'18' Literal.Number +',' Punctuation +' ' Text.Whitespace +'17' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'19' Literal.Number +',' Punctuation +' ' Text.Whitespace +'18' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'20' Literal.Number +',' Punctuation +' ' Text.Whitespace +'19' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'21' Literal.Number +',' Punctuation +' ' Text.Whitespace +'20' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'22' Literal.Number +',' Punctuation +' ' Text.Whitespace +'21' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'23' Literal.Number +',' Punctuation +' ' Text.Whitespace +'22' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'24' Literal.Number +',' Punctuation +' ' Text.Whitespace +'23' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'25' Literal.Number +',' Punctuation +' ' Text.Whitespace +'24' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2' Literal.Number +',' Punctuation +' ' Text.Whitespace +'25' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'27' Literal.Number +',' Punctuation +' ' Text.Whitespace +'26' Literal.Number +',' Punctuation +' ' Text.Whitespace +'3' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'28' Literal.Number +',' Punctuation +' ' Text.Whitespace +'27' Literal.Number +',' Punctuation +' ' Text.Whitespace +'4' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5' Literal.Number +',' Punctuation +' ' Text.Whitespace +'29' Literal.Number +',' Punctuation +' ' Text.Whitespace +'28' Literal.Number +',' Punctuation +' ' Text.Whitespace +'5' Literal.Number +',' Punctuation +' ' Text.Whitespace +'6' Literal.Number +',' Punctuation +' ' Text.Whitespace +'30' Literal.Number +',' Punctuation +' ' Text.Whitespace +'29' Literal.Number +',' Punctuation +' ' Text.Whitespace +'6' Literal.Number +',' Punctuation +' ' Text.Whitespace +'7' Literal.Number +',' Punctuation +' ' Text.Whitespace +'31' Literal.Number +',' Punctuation +' ' Text.Whitespace +'30' Literal.Number +',' Punctuation +' ' Text.Whitespace +'7' Literal.Number +',' Punctuation +' ' Text.Whitespace +'8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'32' Literal.Number +',' Punctuation +' ' Text.Whitespace +'31' Literal.Number +',' Punctuation +' ' Text.Whitespace +'8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'33' Literal.Number +',' Punctuation +' ' Text.Whitespace +'32' Literal.Number +',' Punctuation +' ' Text.Whitespace +'9' Literal.Number +',' Punctuation +' ' Text.Whitespace +'10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'34' Literal.Number +',' Punctuation +' ' Text.Whitespace +'33' Literal.Number +',' Punctuation +' ' Text.Whitespace +'10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'35' Literal.Number +',' Punctuation +' ' Text.Whitespace +'34' Literal.Number +',' Punctuation +' ' Text.Whitespace +'11' Literal.Number +',' Punctuation +' ' Text.Whitespace +'12' Literal.Number +',' Punctuation +' ' Text.Whitespace +'36' Literal.Number +',' Punctuation +' ' Text.Whitespace +'35' Literal.Number +',' Punctuation +' ' Text.Whitespace +'12' Literal.Number +',' Punctuation +' ' Text.Whitespace +'13' Literal.Number +',' Punctuation +' ' Text.Whitespace +'37' Literal.Number +',' Punctuation +' ' Text.Whitespace +'36' Literal.Number +',' Punctuation +' ' Text.Whitespace +'13' Literal.Number +',' Punctuation +' ' Text.Whitespace +'14' Literal.Number +',' Punctuation +' ' Text.Whitespace +'38' Literal.Number +',' Punctuation +' ' Text.Whitespace +'37' Literal.Number +',' Punctuation +' ' Text.Whitespace +'14' Literal.Number +',' Punctuation +' ' Text.Whitespace +'15' Literal.Number +',' Punctuation +' ' Text.Whitespace +'39' Literal.Number +',' Punctuation +' ' Text.Whitespace +'38' Literal.Number +',' Punctuation +' ' Text.Whitespace +'15' Literal.Number +',' Punctuation +' ' Text.Whitespace +'16' Literal.Number +',' Punctuation +' ' Text.Whitespace +'40' Literal.Number +',' Punctuation +' ' Text.Whitespace +'39' Literal.Number +',' Punctuation +' ' Text.Whitespace +'16' Literal.Number +',' Punctuation +' ' Text.Whitespace +'17' Literal.Number +',' Punctuation +' ' Text.Whitespace +'41' Literal.Number +',' Punctuation +' ' Text.Whitespace +'40' Literal.Number +',' Punctuation +' ' Text.Whitespace +'17' Literal.Number +',' Punctuation +' ' Text.Whitespace +'18' Literal.Number +',' Punctuation +' ' Text.Whitespace +'42' Literal.Number +',' Punctuation +' ' Text.Whitespace +'41' Literal.Number +',' Punctuation +' ' Text.Whitespace +'18' Literal.Number +',' Punctuation +' ' Text.Whitespace +'19' Literal.Number +',' Punctuation +' ' Text.Whitespace +'43' Literal.Number +',' Punctuation +' ' Text.Whitespace +'42' Literal.Number +',' Punctuation +' ' Text.Whitespace +'19' Literal.Number +',' Punctuation +' ' Text.Whitespace +'20' Literal.Number +',' Punctuation +' ' Text.Whitespace +'44' Literal.Number +',' Punctuation +' ' Text.Whitespace +'43' Literal.Number +',' Punctuation +' ' Text.Whitespace +'20' Literal.Number +',' Punctuation +' ' Text.Whitespace +'21' Literal.Number +',' Punctuation +' ' Text.Whitespace +'45' Literal.Number +',' Punctuation +' ' Text.Whitespace +'44' Literal.Number +',' Punctuation +' ' Text.Whitespace +'21' Literal.Number +',' Punctuation +' ' Text.Whitespace +'22' Literal.Number +',' Punctuation +' ' Text.Whitespace +'46' Literal.Number +',' Punctuation +' ' Text.Whitespace +'45' Literal.Number +',' Punctuation +' ' Text.Whitespace +'22' Literal.Number +',' Punctuation +' ' Text.Whitespace +'23' Literal.Number +',' Punctuation +' ' Text.Whitespace +'47' Literal.Number +',' Punctuation +' ' Text.Whitespace +'46' Literal.Number +',' Punctuation +' ' Text.Whitespace +'23' Literal.Number +',' Punctuation +' ' Text.Whitespace +'24' Literal.Number +',' Punctuation +' ' Text.Whitespace +'48' Literal.Number +',' Punctuation +' ' Text.Whitespace +'47' Literal.Number +',' Punctuation +' ' Text.Whitespace +'24' Literal.Number +',' Punctuation +' ' Text.Whitespace +'25' Literal.Number +',' Punctuation +' ' Text.Whitespace +'49' Literal.Number +',' Punctuation +' ' Text.Whitespace +'48' Literal.Number +',' Punctuation +' ' Text.Whitespace +'25' Literal.Number +',' Punctuation +' ' Text.Whitespace +'2' Literal.Number +',' Punctuation +' ' Text.Whitespace +'26' Literal.Number +',' Punctuation +' ' Text.Whitespace +'49' Literal.Number +',' Punctuation +' ' Text.Whitespace +'26' Literal.Number +',' Punctuation +' ' Text.Whitespace +'27' Literal.Number +',' Punctuation +' ' Text.Whitespace +'51' Literal.Number +',' Punctuation +' ' Text.Whitespace +'50' Literal.Number +',' Punctuation +' ' Text.Whitespace +'27' Literal.Number +',' Punctuation +' ' Text.Whitespace +'28' Literal.Number +',' Punctuation +' ' Text.Whitespace +'52' Literal.Number +',' Punctuation +' ' Text.Whitespace +'51' Literal.Number +',' Punctuation +' ' Text.Whitespace +'28' Literal.Number +',' Punctuation +' ' Text.Whitespace +'29' Literal.Number +',' Punctuation +' ' Text.Whitespace +'53' Literal.Number +',' Punctuation +' ' Text.Whitespace +'52' Literal.Number +',' Punctuation +' ' Text.Whitespace +'29' Literal.Number +',' Punctuation +' ' Text.Whitespace +'30' Literal.Number +',' Punctuation +' ' Text.Whitespace +'54' Literal.Number +',' Punctuation +' ' Text.Whitespace +'53' Literal.Number +',' Punctuation +' ' Text.Whitespace +'30' Literal.Number +',' Punctuation +' ' Text.Whitespace +'31' Literal.Number +',' Punctuation +' ' Text.Whitespace +'55' Literal.Number +',' Punctuation +' ' Text.Whitespace +'54' Literal.Number +',' Punctuation +' ' Text.Whitespace +'31' Literal.Number +',' Punctuation +' ' Text.Whitespace +'32' Literal.Number +',' Punctuation +' ' Text.Whitespace +'56' Literal.Number +',' Punctuation +' ' Text.Whitespace +'55' Literal.Number +',' Punctuation +' ' Text.Whitespace +'32' Literal.Number +',' Punctuation +' ' Text.Whitespace +'33' Literal.Number +',' Punctuation +' ' Text.Whitespace +'57' Literal.Number +',' Punctuation +' ' Text.Whitespace +'56' Literal.Number +',' Punctuation +' ' Text.Whitespace +'33' Literal.Number +',' Punctuation +' ' Text.Whitespace +'34' Literal.Number +',' Punctuation +' ' Text.Whitespace +'58' Literal.Number +',' Punctuation +' ' Text.Whitespace +'57' Literal.Number +',' Punctuation +' ' Text.Whitespace +'34' Literal.Number +',' Punctuation +' ' Text.Whitespace +'35' Literal.Number +',' Punctuation +' ' Text.Whitespace +'59' Literal.Number +',' Punctuation +' ' Text.Whitespace +'58' Literal.Number +',' Punctuation +' ' Text.Whitespace +'35' Literal.Number +',' Punctuation +' ' Text.Whitespace +'36' Literal.Number +',' Punctuation +' ' Text.Whitespace +'60' Literal.Number +',' Punctuation +' ' Text.Whitespace +'59' Literal.Number +',' Punctuation +' ' Text.Whitespace +'36' Literal.Number +',' Punctuation +' ' Text.Whitespace +'37' Literal.Number +',' Punctuation +' ' Text.Whitespace +'61' Literal.Number +',' Punctuation +' ' Text.Whitespace +'60' Literal.Number +',' Punctuation +' ' Text.Whitespace +'37' Literal.Number +',' Punctuation +' ' Text.Whitespace +'38' Literal.Number +',' Punctuation +' ' Text.Whitespace +'62' Literal.Number +',' Punctuation +' ' Text.Whitespace +'61' Literal.Number +',' Punctuation +' ' Text.Whitespace +'38' Literal.Number +',' Punctuation +' ' Text.Whitespace +'39' Literal.Number +',' Punctuation +' ' Text.Whitespace +'63' Literal.Number +',' Punctuation +' ' Text.Whitespace +'62' Literal.Number +',' Punctuation +' ' Text.Whitespace +'39' Literal.Number +',' Punctuation +' ' Text.Whitespace +'40' Literal.Number +',' Punctuation +' ' Text.Whitespace +'64' Literal.Number +',' Punctuation +' ' Text.Whitespace +'63' Literal.Number +',' Punctuation +' ' Text.Whitespace +'40' Literal.Number +',' Punctuation +' ' Text.Whitespace +'41' Literal.Number +',' Punctuation +' ' Text.Whitespace +'65' Literal.Number +',' Punctuation +' ' Text.Whitespace +'64' Literal.Number +',' Punctuation +' ' Text.Whitespace +'41' Literal.Number +',' Punctuation +' ' Text.Whitespace +'42' Literal.Number +',' Punctuation +' ' Text.Whitespace +'66' Literal.Number +',' Punctuation +' ' Text.Whitespace +'65' Literal.Number +',' Punctuation +' ' Text.Whitespace +'42' Literal.Number +',' Punctuation +' ' Text.Whitespace +'43' Literal.Number +',' Punctuation +' ' Text.Whitespace +'67' Literal.Number +',' Punctuation +' ' Text.Whitespace +'66' Literal.Number +',' Punctuation +' ' Text.Whitespace +'43' Literal.Number +',' Punctuation +' ' Text.Whitespace +'44' Literal.Number +',' Punctuation +' ' Text.Whitespace +'68' Literal.Number +',' Punctuation +' ' Text.Whitespace +'67' Literal.Number +',' Punctuation +' ' Text.Whitespace +'44' Literal.Number +',' Punctuation +' ' Text.Whitespace +'45' Literal.Number +',' Punctuation +' ' Text.Whitespace +'69' Literal.Number +',' Punctuation +' ' Text.Whitespace +'68' Literal.Number +',' Punctuation +' ' Text.Whitespace +'45' Literal.Number +',' Punctuation +' ' Text.Whitespace +'46' Literal.Number +',' Punctuation +' ' Text.Whitespace +'70' Literal.Number +',' Punctuation +' ' Text.Whitespace +'69' Literal.Number +',' Punctuation +' ' Text.Whitespace +'46' Literal.Number +',' Punctuation +' ' Text.Whitespace +'47' Literal.Number +',' Punctuation +' ' Text.Whitespace +'71' Literal.Number +',' Punctuation +' ' Text.Whitespace +'70' Literal.Number +',' Punctuation +' ' Text.Whitespace +'47' Literal.Number +',' Punctuation +' ' Text.Whitespace +'48' Literal.Number +',' Punctuation +' ' Text.Whitespace +'72' Literal.Number +',' Punctuation +' ' Text.Whitespace +'71' Literal.Number +',' Punctuation +' ' Text.Whitespace +'48' Literal.Number +',' Punctuation +' ' Text.Whitespace +'49' Literal.Number +',' Punctuation +' ' Text.Whitespace +'73' Literal.Number +',' Punctuation +' ' Text.Whitespace +'72' Literal.Number +',' Punctuation +' ' Text.Whitespace +'49' Literal.Number +',' Punctuation +' ' Text.Whitespace +'26' Literal.Number +',' Punctuation +' ' Text.Whitespace +'50' Literal.Number +',' Punctuation +' ' Text.Whitespace +'73' Literal.Number +',' Punctuation +' ' Text.Whitespace +'50' Literal.Number +',' Punctuation +' ' Text.Whitespace +'51' Literal.Number +',' Punctuation +' ' Text.Whitespace +'75' Literal.Number +',' Punctuation +' ' Text.Whitespace +'74' Literal.Number +',' Punctuation +' ' Text.Whitespace +'51' Literal.Number +',' Punctuation +' ' Text.Whitespace +'52' Literal.Number +',' Punctuation +' ' Text.Whitespace +'76' Literal.Number +',' Punctuation +' ' Text.Whitespace +'75' Literal.Number +',' Punctuation +' ' Text.Whitespace +'52' Literal.Number +',' Punctuation +' ' Text.Whitespace +'53' Literal.Number +',' Punctuation +' ' Text.Whitespace +'77' Literal.Number +',' Punctuation +' ' Text.Whitespace +'76' Literal.Number +',' Punctuation +' ' Text.Whitespace +'53' Literal.Number +',' Punctuation +' ' Text.Whitespace +'54' Literal.Number +',' Punctuation +' ' Text.Whitespace +'78' Literal.Number +',' Punctuation +' ' Text.Whitespace +'77' Literal.Number +',' Punctuation +' ' Text.Whitespace +'54' Literal.Number +',' Punctuation +' ' Text.Whitespace +'55' Literal.Number +',' Punctuation +' ' Text.Whitespace +'79' Literal.Number +',' Punctuation +' ' Text.Whitespace +'78' Literal.Number +',' Punctuation +' ' Text.Whitespace +'55' Literal.Number +',' Punctuation +' ' Text.Whitespace +'56' Literal.Number +',' Punctuation +' ' Text.Whitespace +'80' Literal.Number +',' Punctuation +' ' Text.Whitespace +'79' Literal.Number +',' Punctuation +' ' Text.Whitespace +'56' Literal.Number +',' Punctuation +' ' Text.Whitespace +'57' Literal.Number +',' Punctuation +' ' Text.Whitespace +'81' Literal.Number +',' Punctuation +' ' Text.Whitespace +'80' Literal.Number +',' Punctuation +' ' Text.Whitespace +'57' Literal.Number +',' Punctuation +' ' Text.Whitespace +'58' Literal.Number +',' Punctuation +' ' Text.Whitespace +'82' Literal.Number +',' Punctuation +' ' Text.Whitespace +'81' Literal.Number +',' Punctuation +' ' Text.Whitespace +'58' Literal.Number +',' Punctuation +' ' Text.Whitespace +'59' Literal.Number +',' Punctuation +' ' Text.Whitespace +'83' Literal.Number +',' Punctuation +' ' Text.Whitespace +'82' Literal.Number +',' Punctuation +' ' Text.Whitespace +'59' Literal.Number +',' Punctuation +' ' Text.Whitespace +'60' Literal.Number +',' Punctuation +' ' Text.Whitespace +'84' Literal.Number +',' Punctuation +' ' Text.Whitespace +'83' Literal.Number +',' Punctuation +' ' Text.Whitespace +'60' Literal.Number +',' Punctuation +' ' Text.Whitespace +'61' Literal.Number +',' Punctuation +' ' Text.Whitespace +'85' Literal.Number +',' Punctuation +' ' Text.Whitespace +'84' Literal.Number +',' Punctuation +' ' Text.Whitespace +'61' Literal.Number +',' Punctuation +' ' Text.Whitespace +'62' Literal.Number +',' Punctuation +' ' Text.Whitespace +'86' Literal.Number +',' Punctuation +' ' Text.Whitespace +'85' Literal.Number +',' Punctuation +' ' Text.Whitespace +'62' Literal.Number +',' Punctuation +' ' Text.Whitespace +'63' Literal.Number +',' Punctuation +' ' Text.Whitespace +'87' Literal.Number +',' Punctuation +' ' Text.Whitespace +'86' Literal.Number +',' Punctuation +' ' Text.Whitespace +'63' Literal.Number +',' Punctuation +' ' Text.Whitespace +'64' Literal.Number +',' Punctuation +' ' Text.Whitespace +'88' Literal.Number +',' Punctuation +' ' Text.Whitespace +'87' Literal.Number +',' Punctuation +' ' Text.Whitespace +'64' Literal.Number +',' Punctuation +' ' Text.Whitespace +'65' Literal.Number +',' Punctuation +' ' Text.Whitespace +'89' Literal.Number +',' Punctuation +' ' Text.Whitespace +'88' Literal.Number +',' Punctuation +' ' Text.Whitespace +'65' Literal.Number +',' Punctuation +' ' Text.Whitespace +'66' Literal.Number +',' Punctuation +' ' Text.Whitespace +'90' Literal.Number +',' Punctuation +' ' Text.Whitespace +'89' Literal.Number +',' Punctuation +' ' Text.Whitespace +'66' Literal.Number +',' Punctuation +' ' Text.Whitespace +'67' Literal.Number +',' Punctuation +' ' Text.Whitespace +'91' Literal.Number +',' Punctuation +' ' Text.Whitespace +'90' Literal.Number +',' Punctuation +' ' Text.Whitespace +'67' Literal.Number +',' Punctuation +' ' Text.Whitespace +'68' Literal.Number +',' Punctuation +' ' Text.Whitespace +'92' Literal.Number +',' Punctuation +' ' Text.Whitespace +'91' Literal.Number +',' Punctuation +' ' Text.Whitespace +'68' Literal.Number +',' Punctuation +' ' Text.Whitespace +'69' Literal.Number +',' Punctuation +' ' Text.Whitespace +'93' Literal.Number +',' Punctuation +' ' Text.Whitespace +'92' Literal.Number +',' Punctuation +' ' Text.Whitespace +'69' Literal.Number +',' Punctuation +' ' Text.Whitespace +'70' Literal.Number +',' Punctuation +' ' Text.Whitespace +'94' Literal.Number +',' Punctuation +' ' Text.Whitespace +'93' Literal.Number +',' Punctuation +' ' Text.Whitespace +'70' Literal.Number +',' Punctuation +' ' Text.Whitespace +'71' Literal.Number +',' Punctuation +' ' Text.Whitespace +'95' Literal.Number +',' Punctuation +' ' Text.Whitespace +'94' Literal.Number +',' Punctuation +' ' Text.Whitespace +'71' Literal.Number +',' Punctuation +' ' Text.Whitespace +'72' Literal.Number +',' Punctuation +' ' Text.Whitespace +'96' Literal.Number +',' Punctuation +' ' Text.Whitespace +'95' Literal.Number +',' Punctuation +' ' Text.Whitespace +'72' Literal.Number +',' Punctuation +' ' Text.Whitespace +'73' Literal.Number +',' Punctuation +' ' Text.Whitespace +'97' Literal.Number +',' Punctuation +' ' Text.Whitespace +'96' Literal.Number +',' Punctuation +' ' Text.Whitespace +'73' Literal.Number +',' Punctuation +' ' Text.Whitespace +'50' Literal.Number +',' Punctuation +' ' Text.Whitespace +'74' Literal.Number +',' Punctuation +' ' Text.Whitespace +'97' Literal.Number +',' Punctuation +' ' Text.Whitespace +'74' Literal.Number +',' Punctuation +' ' Text.Whitespace +'75' Literal.Number +',' Punctuation +' ' Text.Whitespace +'99' Literal.Number +',' Punctuation +' ' Text.Whitespace +'98' Literal.Number +',' Punctuation +' ' Text.Whitespace +'75' Literal.Number +',' Punctuation +' ' Text.Whitespace +'76' Literal.Number +',' Punctuation +' ' Text.Whitespace +'100' Literal.Number +',' Punctuation +' ' Text.Whitespace +'99' Literal.Number +',' Punctuation +' ' Text.Whitespace +'76' Literal.Number +',' Punctuation +' ' Text.Whitespace +'77' Literal.Number +',' Punctuation +' ' Text.Whitespace +'101' Literal.Number +',' Punctuation +' ' Text.Whitespace +'100' Literal.Number +',' Punctuation +' ' Text.Whitespace +'77' Literal.Number +',' Punctuation +' ' Text.Whitespace +'78' Literal.Number +',' Punctuation +' ' Text.Whitespace +'102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'101' Literal.Number +',' Punctuation +' ' Text.Whitespace +'78' Literal.Number +',' Punctuation +' ' Text.Whitespace +'79' Literal.Number +',' Punctuation +' ' Text.Whitespace +'103' Literal.Number +',' Punctuation +' ' Text.Whitespace +'102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'79' Literal.Number +',' Punctuation +' ' Text.Whitespace +'80' Literal.Number +',' Punctuation +' ' Text.Whitespace +'104' Literal.Number +',' Punctuation +' ' Text.Whitespace +'103' Literal.Number +',' Punctuation +' ' Text.Whitespace +'80' Literal.Number +',' Punctuation +' ' Text.Whitespace +'81' Literal.Number +',' Punctuation +' ' Text.Whitespace +'105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'104' Literal.Number +',' Punctuation +' ' Text.Whitespace +'81' Literal.Number +',' Punctuation +' ' Text.Whitespace +'82' Literal.Number +',' Punctuation +' ' Text.Whitespace +'106' Literal.Number +',' Punctuation +' ' Text.Whitespace +'105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'82' Literal.Number +',' Punctuation +' ' Text.Whitespace +'83' Literal.Number +',' Punctuation +' ' Text.Whitespace +'107' Literal.Number +',' Punctuation +' ' Text.Whitespace +'106' Literal.Number +',' Punctuation +' ' Text.Whitespace +'83' Literal.Number +',' Punctuation +' ' Text.Whitespace +'84' Literal.Number +',' Punctuation +' ' Text.Whitespace +'108' Literal.Number +',' Punctuation +' ' Text.Whitespace +'107' Literal.Number +',' Punctuation +' ' Text.Whitespace +'84' Literal.Number +',' Punctuation +' ' Text.Whitespace +'85' Literal.Number +',' Punctuation +' ' Text.Whitespace +'109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'108' Literal.Number +',' Punctuation +' ' Text.Whitespace +'85' Literal.Number +',' Punctuation +' ' Text.Whitespace +'86' Literal.Number +',' Punctuation +' ' Text.Whitespace +'110' Literal.Number +',' Punctuation +' ' Text.Whitespace +'109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'86' Literal.Number +',' Punctuation +' ' Text.Whitespace +'87' Literal.Number +',' Punctuation +' ' Text.Whitespace +'111' Literal.Number +',' Punctuation +' ' Text.Whitespace +'110' Literal.Number +',' Punctuation +' ' Text.Whitespace +'87' Literal.Number +',' Punctuation +' ' Text.Whitespace +'88' Literal.Number +',' Punctuation +' ' Text.Whitespace +'112' Literal.Number +',' Punctuation +' ' Text.Whitespace +'111' Literal.Number +',' Punctuation +' ' Text.Whitespace +'88' Literal.Number +',' Punctuation +' ' Text.Whitespace +'89' Literal.Number +',' Punctuation +' ' Text.Whitespace +'113' Literal.Number +',' Punctuation +' ' Text.Whitespace +'112' Literal.Number +',' Punctuation +' ' Text.Whitespace +'89' Literal.Number +',' Punctuation +' ' Text.Whitespace +'90' Literal.Number +',' Punctuation +' ' Text.Whitespace +'114' Literal.Number +',' Punctuation +' ' Text.Whitespace +'113' Literal.Number +',' Punctuation +' ' Text.Whitespace +'90' Literal.Number +',' Punctuation +' ' Text.Whitespace +'91' Literal.Number +',' Punctuation +' ' Text.Whitespace +'115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'114' Literal.Number +',' Punctuation +' ' Text.Whitespace +'91' Literal.Number +',' Punctuation +' ' Text.Whitespace +'92' Literal.Number +',' Punctuation +' ' Text.Whitespace +'116' Literal.Number +',' Punctuation +' ' Text.Whitespace +'115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'92' Literal.Number +',' Punctuation +' ' Text.Whitespace +'93' Literal.Number +',' Punctuation +' ' Text.Whitespace +'117' Literal.Number +',' Punctuation +' ' Text.Whitespace +'116' Literal.Number +',' Punctuation +' ' Text.Whitespace +'93' Literal.Number +',' Punctuation +' ' Text.Whitespace +'94' Literal.Number +',' Punctuation +' ' Text.Whitespace +'118' Literal.Number +',' Punctuation +' ' Text.Whitespace +'117' Literal.Number +',' Punctuation +' ' Text.Whitespace +'94' Literal.Number +',' Punctuation +' ' Text.Whitespace +'95' Literal.Number +',' Punctuation +' ' Text.Whitespace +'119' Literal.Number +',' Punctuation +' ' Text.Whitespace +'118' Literal.Number +',' Punctuation +' ' Text.Whitespace +'95' Literal.Number +',' Punctuation +' ' Text.Whitespace +'96' Literal.Number +',' Punctuation +' ' Text.Whitespace +'120' Literal.Number +',' Punctuation +' ' Text.Whitespace +'119' Literal.Number +',' Punctuation +' ' Text.Whitespace +'96' Literal.Number +',' Punctuation +' ' Text.Whitespace +'97' Literal.Number +',' Punctuation +' ' Text.Whitespace +'121' Literal.Number +',' Punctuation +' ' Text.Whitespace +'120' Literal.Number +',' Punctuation +' ' Text.Whitespace +'97' Literal.Number +',' Punctuation +' ' Text.Whitespace +'74' Literal.Number +',' Punctuation +' ' Text.Whitespace +'98' Literal.Number +',' Punctuation +' ' Text.Whitespace +'121' Literal.Number +',' Punctuation +' ' Text.Whitespace +'98' Literal.Number +',' Punctuation +' ' Text.Whitespace +'99' Literal.Number +',' Punctuation +' ' Text.Whitespace +'123' Literal.Number +',' Punctuation +' ' Text.Whitespace +'122' Literal.Number +',' Punctuation +' ' Text.Whitespace +'99' Literal.Number +',' Punctuation +' ' Text.Whitespace +'100' Literal.Number +',' Punctuation +' ' Text.Whitespace +'124' Literal.Number +',' Punctuation +' ' Text.Whitespace +'123' Literal.Number +',' Punctuation +' ' Text.Whitespace +'100' Literal.Number +',' Punctuation +' ' Text.Whitespace +'101' Literal.Number +',' Punctuation +' ' Text.Whitespace +'125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'124' Literal.Number +',' Punctuation +' ' Text.Whitespace +'101' Literal.Number +',' Punctuation +' ' Text.Whitespace +'102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'126' Literal.Number +',' Punctuation +' ' Text.Whitespace +'125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'102' Literal.Number +',' Punctuation +' ' Text.Whitespace +'103' Literal.Number +',' Punctuation +' ' Text.Whitespace +'127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'126' Literal.Number +',' Punctuation +' ' Text.Whitespace +'103' Literal.Number +',' Punctuation +' ' Text.Whitespace +'104' Literal.Number +',' Punctuation +' ' Text.Whitespace +'128' Literal.Number +',' Punctuation +' ' Text.Whitespace +'127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'104' Literal.Number +',' Punctuation +' ' Text.Whitespace +'105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'128' Literal.Number +',' Punctuation +' ' Text.Whitespace +'105' Literal.Number +',' Punctuation +' ' Text.Whitespace +'106' Literal.Number +',' Punctuation +' ' Text.Whitespace +'130' Literal.Number +',' Punctuation +' ' Text.Whitespace +'129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'106' Literal.Number +',' Punctuation +' ' Text.Whitespace +'107' Literal.Number +',' Punctuation +' ' Text.Whitespace +'131' Literal.Number +',' Punctuation +' ' Text.Whitespace +'130' Literal.Number +',' Punctuation +' ' Text.Whitespace +'107' Literal.Number +',' Punctuation +' ' Text.Whitespace +'108' Literal.Number +',' Punctuation +' ' Text.Whitespace +'132' Literal.Number +',' Punctuation +' ' Text.Whitespace +'131' Literal.Number +',' Punctuation +' ' Text.Whitespace +'108' Literal.Number +',' Punctuation +' ' Text.Whitespace +'109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'133' Literal.Number +',' Punctuation +' ' Text.Whitespace +'132' Literal.Number +',' Punctuation +' ' Text.Whitespace +'109' Literal.Number +',' Punctuation +' ' Text.Whitespace +'110' Literal.Number +',' Punctuation +' ' Text.Whitespace +'134' Literal.Number +',' Punctuation +' ' Text.Whitespace +'133' Literal.Number +',' Punctuation +' ' Text.Whitespace +'110' Literal.Number +',' Punctuation +' ' Text.Whitespace +'111' Literal.Number +',' Punctuation +' ' Text.Whitespace +'135' Literal.Number +',' Punctuation +' ' Text.Whitespace +'134' Literal.Number +',' Punctuation +' ' Text.Whitespace +'111' Literal.Number +',' Punctuation +' ' Text.Whitespace +'112' Literal.Number +',' Punctuation +' ' Text.Whitespace +'136' Literal.Number +',' Punctuation +' ' Text.Whitespace +'135' Literal.Number +',' Punctuation +' ' Text.Whitespace +'112' Literal.Number +',' Punctuation +' ' Text.Whitespace +'113' Literal.Number +',' Punctuation +' ' Text.Whitespace +'137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'136' Literal.Number +',' Punctuation +' ' Text.Whitespace +'113' Literal.Number +',' Punctuation +' ' Text.Whitespace +'114' Literal.Number +',' Punctuation +' ' Text.Whitespace +'138' Literal.Number +',' Punctuation +' ' Text.Whitespace +'137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'114' Literal.Number +',' Punctuation +' ' Text.Whitespace +'115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'139' Literal.Number +',' Punctuation +' ' Text.Whitespace +'138' Literal.Number +',' Punctuation +' ' Text.Whitespace +'115' Literal.Number +',' Punctuation +' ' Text.Whitespace +'116' Literal.Number +',' Punctuation +' ' Text.Whitespace +'140' Literal.Number +',' Punctuation +' ' Text.Whitespace +'139' Literal.Number +',' Punctuation +' ' Text.Whitespace +'116' Literal.Number +',' Punctuation +' ' Text.Whitespace +'117' Literal.Number +',' Punctuation +' ' Text.Whitespace +'141' Literal.Number +',' Punctuation +' ' Text.Whitespace +'140' Literal.Number +',' Punctuation +' ' Text.Whitespace +'117' Literal.Number +',' Punctuation +' ' Text.Whitespace +'118' Literal.Number +',' Punctuation +' ' Text.Whitespace +'142' Literal.Number +',' Punctuation +' ' Text.Whitespace +'141' Literal.Number +',' Punctuation +' ' Text.Whitespace +'118' Literal.Number +',' Punctuation +' ' Text.Whitespace +'119' Literal.Number +',' Punctuation +' ' Text.Whitespace +'143' Literal.Number +',' Punctuation +' ' Text.Whitespace +'142' Literal.Number +',' Punctuation +' ' Text.Whitespace +'119' Literal.Number +',' Punctuation +' ' Text.Whitespace +'120' Literal.Number +',' Punctuation +' ' Text.Whitespace +'144' Literal.Number +',' Punctuation +' ' Text.Whitespace +'143' Literal.Number +',' Punctuation +' ' Text.Whitespace +'120' Literal.Number +',' Punctuation +' ' Text.Whitespace +'121' Literal.Number +',' Punctuation +' ' Text.Whitespace +'145' Literal.Number +',' Punctuation +' ' Text.Whitespace +'144' Literal.Number +',' Punctuation +' ' Text.Whitespace +'121' Literal.Number +',' Punctuation +' ' Text.Whitespace +'98' Literal.Number +',' Punctuation +' ' Text.Whitespace +'122' Literal.Number +',' Punctuation +' ' Text.Whitespace +'145' Literal.Number +',' Punctuation +' ' Text.Whitespace +'122' Literal.Number +',' Punctuation +' ' Text.Whitespace +'123' Literal.Number +',' Punctuation +' ' Text.Whitespace +'147' Literal.Number +',' Punctuation +' ' Text.Whitespace +'146' Literal.Number +',' Punctuation +' ' Text.Whitespace +'123' Literal.Number +',' Punctuation +' ' Text.Whitespace +'124' Literal.Number +',' Punctuation +' ' Text.Whitespace +'148' Literal.Number +',' Punctuation +' ' Text.Whitespace +'147' Literal.Number +',' Punctuation +' ' Text.Whitespace +'124' Literal.Number +',' Punctuation +' ' Text.Whitespace +'125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'149' Literal.Number +',' Punctuation +' ' Text.Whitespace +'148' Literal.Number +',' Punctuation +' ' Text.Whitespace +'125' Literal.Number +',' Punctuation +' ' Text.Whitespace +'126' Literal.Number +',' Punctuation +' ' Text.Whitespace +'150' Literal.Number +',' Punctuation +' ' Text.Whitespace +'149' Literal.Number +',' Punctuation +' ' Text.Whitespace +'126' Literal.Number +',' Punctuation +' ' Text.Whitespace +'127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'151' Literal.Number +',' Punctuation +' ' Text.Whitespace +'150' Literal.Number +',' Punctuation +' ' Text.Whitespace +'127' Literal.Number +',' Punctuation +' ' Text.Whitespace +'128' Literal.Number +',' Punctuation +' ' Text.Whitespace +'152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'151' Literal.Number +',' Punctuation +' ' Text.Whitespace +'128' Literal.Number +',' Punctuation +' ' Text.Whitespace +'129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'153' Literal.Number +',' Punctuation +' ' Text.Whitespace +'152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'129' Literal.Number +',' Punctuation +' ' Text.Whitespace +'130' Literal.Number +',' Punctuation +' ' Text.Whitespace +'154' Literal.Number +',' Punctuation +' ' Text.Whitespace +'153' Literal.Number +',' Punctuation +' ' Text.Whitespace +'130' Literal.Number +',' Punctuation +' ' Text.Whitespace +'131' Literal.Number +',' Punctuation +' ' Text.Whitespace +'155' Literal.Number +',' Punctuation +' ' Text.Whitespace +'154' Literal.Number +',' Punctuation +' ' Text.Whitespace +'131' Literal.Number +',' Punctuation +' ' Text.Whitespace +'132' Literal.Number +',' Punctuation +' ' Text.Whitespace +'156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'155' Literal.Number +',' Punctuation +' ' Text.Whitespace +'132' Literal.Number +',' Punctuation +' ' Text.Whitespace +'133' Literal.Number +',' Punctuation +' ' Text.Whitespace +'157' Literal.Number +',' Punctuation +' ' Text.Whitespace +'156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'133' Literal.Number +',' Punctuation +' ' Text.Whitespace +'134' Literal.Number +',' Punctuation +' ' Text.Whitespace +'158' Literal.Number +',' Punctuation +' ' Text.Whitespace +'157' Literal.Number +',' Punctuation +' ' Text.Whitespace +'134' Literal.Number +',' Punctuation +' ' Text.Whitespace +'135' Literal.Number +',' Punctuation +' ' Text.Whitespace +'159' Literal.Number +',' Punctuation +' ' Text.Whitespace +'158' Literal.Number +',' Punctuation +' ' Text.Whitespace +'135' Literal.Number +',' Punctuation +' ' Text.Whitespace +'136' Literal.Number +',' Punctuation +' ' Text.Whitespace +'160' Literal.Number +',' Punctuation +' ' Text.Whitespace +'159' Literal.Number +',' Punctuation +' ' Text.Whitespace +'136' Literal.Number +',' Punctuation +' ' Text.Whitespace +'137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'161' Literal.Number +',' Punctuation +' ' Text.Whitespace +'160' Literal.Number +',' Punctuation +' ' Text.Whitespace +'137' Literal.Number +',' Punctuation +' ' Text.Whitespace +'138' Literal.Number +',' Punctuation +' ' Text.Whitespace +'162' Literal.Number +',' Punctuation +' ' Text.Whitespace +'161' Literal.Number +',' Punctuation +' ' Text.Whitespace +'138' Literal.Number +',' Punctuation +' ' Text.Whitespace +'139' Literal.Number +',' Punctuation +' ' Text.Whitespace +'163' Literal.Number +',' Punctuation +' ' Text.Whitespace +'162' Literal.Number +',' Punctuation +' ' Text.Whitespace +'139' Literal.Number +',' Punctuation +' ' Text.Whitespace +'140' Literal.Number +',' Punctuation +' ' Text.Whitespace +'164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'163' Literal.Number +',' Punctuation +' ' Text.Whitespace +'140' Literal.Number +',' Punctuation +' ' Text.Whitespace +'141' Literal.Number +',' Punctuation +' ' Text.Whitespace +'165' Literal.Number +',' Punctuation +' ' Text.Whitespace +'164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'141' Literal.Number +',' Punctuation +' ' Text.Whitespace +'142' Literal.Number +',' Punctuation +' ' Text.Whitespace +'166' Literal.Number +',' Punctuation +' ' Text.Whitespace +'165' Literal.Number +',' Punctuation +' ' Text.Whitespace +'142' Literal.Number +',' Punctuation +' ' Text.Whitespace +'143' Literal.Number +',' Punctuation +' ' Text.Whitespace +'167' Literal.Number +',' Punctuation +' ' Text.Whitespace +'166' Literal.Number +',' Punctuation +' ' Text.Whitespace +'143' Literal.Number +',' Punctuation +' ' Text.Whitespace +'144' Literal.Number +',' Punctuation +' ' Text.Whitespace +'168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'167' Literal.Number +',' Punctuation +' ' Text.Whitespace +'144' Literal.Number +',' Punctuation +' ' Text.Whitespace +'145' Literal.Number +',' Punctuation +' ' Text.Whitespace +'169' Literal.Number +',' Punctuation +' ' Text.Whitespace +'168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'145' Literal.Number +',' Punctuation +' ' Text.Whitespace +'122' Literal.Number +',' Punctuation +' ' Text.Whitespace +'146' Literal.Number +',' Punctuation +' ' Text.Whitespace +'169' Literal.Number +',' Punctuation +' ' Text.Whitespace +'146' Literal.Number +',' Punctuation +' ' Text.Whitespace +'147' Literal.Number +',' Punctuation +' ' Text.Whitespace +'171' Literal.Number +',' Punctuation +' ' Text.Whitespace +'170' Literal.Number +',' Punctuation +' ' Text.Whitespace +'147' Literal.Number +',' Punctuation +' ' Text.Whitespace +'148' Literal.Number +',' Punctuation +' ' Text.Whitespace +'172' Literal.Number +',' Punctuation +' ' Text.Whitespace +'171' Literal.Number +',' Punctuation +' ' Text.Whitespace +'148' Literal.Number +',' Punctuation +' ' Text.Whitespace +'149' Literal.Number +',' Punctuation +' ' Text.Whitespace +'173' Literal.Number +',' Punctuation +' ' Text.Whitespace +'172' Literal.Number +',' Punctuation +' ' Text.Whitespace +'149' Literal.Number +',' Punctuation +' ' Text.Whitespace +'150' Literal.Number +',' Punctuation +' ' Text.Whitespace +'174' Literal.Number +',' Punctuation +' ' Text.Whitespace +'173' Literal.Number +',' Punctuation +' ' Text.Whitespace +'150' Literal.Number +',' Punctuation +' ' Text.Whitespace +'151' Literal.Number +',' Punctuation +' ' Text.Whitespace +'175' Literal.Number +',' Punctuation +' ' Text.Whitespace +'174' Literal.Number +',' Punctuation +' ' Text.Whitespace +'151' Literal.Number +',' Punctuation +' ' Text.Whitespace +'152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'175' Literal.Number +',' Punctuation +' ' Text.Whitespace +'152' Literal.Number +',' Punctuation +' ' Text.Whitespace +'153' Literal.Number +',' Punctuation +' ' Text.Whitespace +'177' Literal.Number +',' Punctuation +' ' Text.Whitespace +'176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'153' Literal.Number +',' Punctuation +' ' Text.Whitespace +'154' Literal.Number +',' Punctuation +' ' Text.Whitespace +'178' Literal.Number +',' Punctuation +' ' Text.Whitespace +'177' Literal.Number +',' Punctuation +' ' Text.Whitespace +'154' Literal.Number +',' Punctuation +' ' Text.Whitespace +'155' Literal.Number +',' Punctuation +' ' Text.Whitespace +'179' Literal.Number +',' Punctuation +' ' Text.Whitespace +'178' Literal.Number +',' Punctuation +' ' Text.Whitespace +'155' Literal.Number +',' Punctuation +' ' Text.Whitespace +'156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'180' Literal.Number +',' Punctuation +' ' Text.Whitespace +'179' Literal.Number +',' Punctuation +' ' Text.Whitespace +'156' Literal.Number +',' Punctuation +' ' Text.Whitespace +'157' Literal.Number +',' Punctuation +' ' Text.Whitespace +'181' Literal.Number +',' Punctuation +' ' Text.Whitespace +'180' Literal.Number +',' Punctuation +' ' Text.Whitespace +'157' Literal.Number +',' Punctuation +' ' Text.Whitespace +'158' Literal.Number +',' Punctuation +' ' Text.Whitespace +'182' Literal.Number +',' Punctuation +' ' Text.Whitespace +'181' Literal.Number +',' Punctuation +' ' Text.Whitespace +'158' Literal.Number +',' Punctuation +' ' Text.Whitespace +'159' Literal.Number +',' Punctuation +' ' Text.Whitespace +'183' Literal.Number +',' Punctuation +' ' Text.Whitespace +'182' Literal.Number +',' Punctuation +' ' Text.Whitespace +'159' Literal.Number +',' Punctuation +' ' Text.Whitespace +'160' Literal.Number +',' Punctuation +' ' Text.Whitespace +'184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'183' Literal.Number +',' Punctuation +' ' Text.Whitespace +'160' Literal.Number +',' Punctuation +' ' Text.Whitespace +'161' Literal.Number +',' Punctuation +' ' Text.Whitespace +'185' Literal.Number +',' Punctuation +' ' Text.Whitespace +'184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'161' Literal.Number +',' Punctuation +' ' Text.Whitespace +'162' Literal.Number +',' Punctuation +' ' Text.Whitespace +'186' Literal.Number +',' Punctuation +' ' Text.Whitespace +'185' Literal.Number +',' Punctuation +' ' Text.Whitespace +'162' Literal.Number +',' Punctuation +' ' Text.Whitespace +'163' Literal.Number +',' Punctuation +' ' Text.Whitespace +'187' Literal.Number +',' Punctuation +' ' Text.Whitespace +'186' Literal.Number +',' Punctuation +' ' Text.Whitespace +'163' Literal.Number +',' Punctuation +' ' Text.Whitespace +'164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'187' Literal.Number +',' Punctuation +' ' Text.Whitespace +'164' Literal.Number +',' Punctuation +' ' Text.Whitespace +'165' Literal.Number +',' Punctuation +' ' Text.Whitespace +'189' Literal.Number +',' Punctuation +' ' Text.Whitespace +'188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'165' Literal.Number +',' Punctuation +' ' Text.Whitespace +'166' Literal.Number +',' Punctuation +' ' Text.Whitespace +'190' Literal.Number +',' Punctuation +' ' Text.Whitespace +'189' Literal.Number +',' Punctuation +' ' Text.Whitespace +'166' Literal.Number +',' Punctuation +' ' Text.Whitespace +'167' Literal.Number +',' Punctuation +' ' Text.Whitespace +'191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'190' Literal.Number +',' Punctuation +' ' Text.Whitespace +'167' Literal.Number +',' Punctuation +' ' Text.Whitespace +'168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'192' Literal.Number +',' Punctuation +' ' Text.Whitespace +'191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'168' Literal.Number +',' Punctuation +' ' Text.Whitespace +'169' Literal.Number +',' Punctuation +' ' Text.Whitespace +'193' Literal.Number +',' Punctuation +' ' Text.Whitespace +'192' Literal.Number +',' Punctuation +' ' Text.Whitespace +'169' Literal.Number +',' Punctuation +' ' Text.Whitespace +'146' Literal.Number +',' Punctuation +' ' Text.Whitespace +'170' Literal.Number +',' Punctuation +' ' Text.Whitespace +'193' Literal.Number +',' Punctuation +' ' Text.Whitespace +'170' Literal.Number +',' Punctuation +' ' Text.Whitespace +'171' Literal.Number +',' Punctuation +' ' Text.Whitespace +'195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'194' Literal.Number +',' Punctuation +' ' Text.Whitespace +'171' Literal.Number +',' Punctuation +' ' Text.Whitespace +'172' Literal.Number +',' Punctuation +' ' Text.Whitespace +'196' Literal.Number +',' Punctuation +' ' Text.Whitespace +'195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'172' Literal.Number +',' Punctuation +' ' Text.Whitespace +'173' Literal.Number +',' Punctuation +' ' Text.Whitespace +'197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'196' Literal.Number +',' Punctuation +' ' Text.Whitespace +'173' Literal.Number +',' Punctuation +' ' Text.Whitespace +'174' Literal.Number +',' Punctuation +' ' Text.Whitespace +'198' Literal.Number +',' Punctuation +' ' Text.Whitespace +'197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'174' Literal.Number +',' Punctuation +' ' Text.Whitespace +'175' Literal.Number +',' Punctuation +' ' Text.Whitespace +'199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'198' Literal.Number +',' Punctuation +' ' Text.Whitespace +'175' Literal.Number +',' Punctuation +' ' Text.Whitespace +'176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'200' Literal.Number +',' Punctuation +' ' Text.Whitespace +'199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'176' Literal.Number +',' Punctuation +' ' Text.Whitespace +'177' Literal.Number +',' Punctuation +' ' Text.Whitespace +'201' Literal.Number +',' Punctuation +' ' Text.Whitespace +'200' Literal.Number +',' Punctuation +' ' Text.Whitespace +'177' Literal.Number +',' Punctuation +' ' Text.Whitespace +'178' Literal.Number +',' Punctuation +' ' Text.Whitespace +'202' Literal.Number +',' Punctuation +' ' Text.Whitespace +'201' Literal.Number +',' Punctuation +' ' Text.Whitespace +'178' Literal.Number +',' Punctuation +' ' Text.Whitespace +'179' Literal.Number +',' Punctuation +' ' Text.Whitespace +'203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'202' Literal.Number +',' Punctuation +' ' Text.Whitespace +'179' Literal.Number +',' Punctuation +' ' Text.Whitespace +'180' Literal.Number +',' Punctuation +' ' Text.Whitespace +'204' Literal.Number +',' Punctuation +' ' Text.Whitespace +'203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'180' Literal.Number +',' Punctuation +' ' Text.Whitespace +'181' Literal.Number +',' Punctuation +' ' Text.Whitespace +'205' Literal.Number +',' Punctuation +' ' Text.Whitespace +'204' Literal.Number +',' Punctuation +' ' Text.Whitespace +'181' Literal.Number +',' Punctuation +' ' Text.Whitespace +'182' Literal.Number +',' Punctuation +' ' Text.Whitespace +'206' Literal.Number +',' Punctuation +' ' Text.Whitespace +'205' Literal.Number +',' Punctuation +' ' Text.Whitespace +'182' Literal.Number +',' Punctuation +' ' Text.Whitespace +'183' Literal.Number +',' Punctuation +' ' Text.Whitespace +'207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'206' Literal.Number +',' Punctuation +' ' Text.Whitespace +'183' Literal.Number +',' Punctuation +' ' Text.Whitespace +'184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'208' Literal.Number +',' Punctuation +' ' Text.Whitespace +'207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'184' Literal.Number +',' Punctuation +' ' Text.Whitespace +'185' Literal.Number +',' Punctuation +' ' Text.Whitespace +'209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'208' Literal.Number +',' Punctuation +' ' Text.Whitespace +'185' Literal.Number +',' Punctuation +' ' Text.Whitespace +'186' Literal.Number +',' Punctuation +' ' Text.Whitespace +'210' Literal.Number +',' Punctuation +' ' Text.Whitespace +'209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'186' Literal.Number +',' Punctuation +' ' Text.Whitespace +'187' Literal.Number +',' Punctuation +' ' Text.Whitespace +'211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'210' Literal.Number +',' Punctuation +' ' Text.Whitespace +'187' Literal.Number +',' Punctuation +' ' Text.Whitespace +'188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'212' Literal.Number +',' Punctuation +' ' Text.Whitespace +'211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'188' Literal.Number +',' Punctuation +' ' Text.Whitespace +'189' Literal.Number +',' Punctuation +' ' Text.Whitespace +'213' Literal.Number +',' Punctuation +' ' Text.Whitespace +'212' Literal.Number +',' Punctuation +' ' Text.Whitespace +'189' Literal.Number +',' Punctuation +' ' Text.Whitespace +'190' Literal.Number +',' Punctuation +' ' Text.Whitespace +'214' Literal.Number +',' Punctuation +' ' Text.Whitespace +'213' Literal.Number +',' Punctuation +' ' Text.Whitespace +'190' Literal.Number +',' Punctuation +' ' Text.Whitespace +'191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'215' Literal.Number +',' Punctuation +' ' Text.Whitespace +'214' Literal.Number +',' Punctuation +' ' Text.Whitespace +'191' Literal.Number +',' Punctuation +' ' Text.Whitespace +'192' Literal.Number +',' Punctuation +' ' Text.Whitespace +'216' Literal.Number +',' Punctuation +' ' Text.Whitespace +'215' Literal.Number +',' Punctuation +' ' Text.Whitespace +'192' Literal.Number +',' Punctuation +' ' Text.Whitespace +'193' Literal.Number +',' Punctuation +' ' Text.Whitespace +'217' Literal.Number +',' Punctuation +' ' Text.Whitespace +'216' Literal.Number +',' Punctuation +' ' Text.Whitespace +'193' Literal.Number +',' Punctuation +' ' Text.Whitespace +'170' Literal.Number +',' Punctuation +' ' Text.Whitespace +'194' Literal.Number +',' Punctuation +' ' Text.Whitespace +'217' Literal.Number +',' Punctuation +' ' Text.Whitespace +'194' Literal.Number +',' Punctuation +' ' Text.Whitespace +'195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'219' Literal.Number +',' Punctuation +' ' Text.Whitespace +'218' Literal.Number +',' Punctuation +' ' Text.Whitespace +'195' Literal.Number +',' Punctuation +' ' Text.Whitespace +'196' Literal.Number +',' Punctuation +' ' Text.Whitespace +'220' Literal.Number +',' Punctuation +' ' Text.Whitespace +'219' Literal.Number +',' Punctuation +' ' Text.Whitespace +'196' Literal.Number +',' Punctuation +' ' Text.Whitespace +'197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'221' Literal.Number +',' Punctuation +' ' Text.Whitespace +'220' Literal.Number +',' Punctuation +' ' Text.Whitespace +'197' Literal.Number +',' Punctuation +' ' Text.Whitespace +'198' Literal.Number +',' Punctuation +' ' Text.Whitespace +'222' Literal.Number +',' Punctuation +' ' Text.Whitespace +'221' Literal.Number +',' Punctuation +' ' Text.Whitespace +'198' Literal.Number +',' Punctuation +' ' Text.Whitespace +'199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'223' Literal.Number +',' Punctuation +' ' Text.Whitespace +'222' Literal.Number +',' Punctuation +' ' Text.Whitespace +'199' Literal.Number +',' Punctuation +' ' Text.Whitespace +'200' Literal.Number +',' Punctuation +' ' Text.Whitespace +'224' Literal.Number +',' Punctuation +' ' Text.Whitespace +'223' Literal.Number +',' Punctuation +' ' Text.Whitespace +'200' Literal.Number +',' Punctuation +' ' Text.Whitespace +'201' Literal.Number +',' Punctuation +' ' Text.Whitespace +'225' Literal.Number +',' Punctuation +' ' Text.Whitespace +'224' Literal.Number +',' Punctuation +' ' Text.Whitespace +'201' Literal.Number +',' Punctuation +' ' Text.Whitespace +'202' Literal.Number +',' Punctuation +' ' Text.Whitespace +'226' Literal.Number +',' Punctuation +' ' Text.Whitespace +'225' Literal.Number +',' Punctuation +' ' Text.Whitespace +'202' Literal.Number +',' Punctuation +' ' Text.Whitespace +'203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'226' Literal.Number +',' Punctuation +' ' Text.Whitespace +'203' Literal.Number +',' Punctuation +' ' Text.Whitespace +'204' Literal.Number +',' Punctuation +' ' Text.Whitespace +'228' Literal.Number +',' Punctuation +' ' Text.Whitespace +'227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'204' Literal.Number +',' Punctuation +' ' Text.Whitespace +'205' Literal.Number +',' Punctuation +' ' Text.Whitespace +'229' Literal.Number +',' Punctuation +' ' Text.Whitespace +'228' Literal.Number +',' Punctuation +' ' Text.Whitespace +'205' Literal.Number +',' Punctuation +' ' Text.Whitespace +'206' Literal.Number +',' Punctuation +' ' Text.Whitespace +'230' Literal.Number +',' Punctuation +' ' Text.Whitespace +'229' Literal.Number +',' Punctuation +' ' Text.Whitespace +'206' Literal.Number +',' Punctuation +' ' Text.Whitespace +'207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'231' Literal.Number +',' Punctuation +' ' Text.Whitespace +'230' Literal.Number +',' Punctuation +' ' Text.Whitespace +'207' Literal.Number +',' Punctuation +' ' Text.Whitespace +'208' Literal.Number +',' Punctuation +' ' Text.Whitespace +'232' Literal.Number +',' Punctuation +' ' Text.Whitespace +'231' Literal.Number +',' Punctuation +' ' Text.Whitespace +'208' Literal.Number +',' Punctuation +' ' Text.Whitespace +'209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'233' Literal.Number +',' Punctuation +' ' Text.Whitespace +'232' Literal.Number +',' Punctuation +' ' Text.Whitespace +'209' Literal.Number +',' Punctuation +' ' Text.Whitespace +'210' Literal.Number +',' Punctuation +' ' Text.Whitespace +'234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'233' Literal.Number +',' Punctuation +' ' Text.Whitespace +'210' Literal.Number +',' Punctuation +' ' Text.Whitespace +'211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'235' Literal.Number +',' Punctuation +' ' Text.Whitespace +'234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'211' Literal.Number +',' Punctuation +' ' Text.Whitespace +'212' Literal.Number +',' Punctuation +' ' Text.Whitespace +'236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'235' Literal.Number +',' Punctuation +' ' Text.Whitespace +'212' Literal.Number +',' Punctuation +' ' Text.Whitespace +'213' Literal.Number +',' Punctuation +' ' Text.Whitespace +'237' Literal.Number +',' Punctuation +' ' Text.Whitespace +'236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'213' Literal.Number +',' Punctuation +' ' Text.Whitespace +'214' Literal.Number +',' Punctuation +' ' Text.Whitespace +'238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'237' Literal.Number +',' Punctuation +' ' Text.Whitespace +'214' Literal.Number +',' Punctuation +' ' Text.Whitespace +'215' Literal.Number +',' Punctuation +' ' Text.Whitespace +'239' Literal.Number +',' Punctuation +' ' Text.Whitespace +'238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'215' Literal.Number +',' Punctuation +' ' Text.Whitespace +'216' Literal.Number +',' Punctuation +' ' Text.Whitespace +'240' Literal.Number +',' Punctuation +' ' Text.Whitespace +'239' Literal.Number +',' Punctuation +' ' Text.Whitespace +'216' Literal.Number +',' Punctuation +' ' Text.Whitespace +'217' Literal.Number +',' Punctuation +' ' Text.Whitespace +'241' Literal.Number +',' Punctuation +' ' Text.Whitespace +'240' Literal.Number +',' Punctuation +' ' Text.Whitespace +'217' Literal.Number +',' Punctuation +' ' Text.Whitespace +'194' Literal.Number +',' Punctuation +' ' Text.Whitespace +'218' Literal.Number +',' Punctuation +' ' Text.Whitespace +'241' Literal.Number +',' Punctuation +' ' Text.Whitespace +'218' Literal.Number +',' Punctuation +' ' Text.Whitespace +'219' Literal.Number +',' Punctuation +' ' Text.Whitespace +'243' Literal.Number +',' Punctuation +' ' Text.Whitespace +'242' Literal.Number +',' Punctuation +' ' Text.Whitespace +'219' Literal.Number +',' Punctuation +' ' Text.Whitespace +'220' Literal.Number +',' Punctuation +' ' Text.Whitespace +'244' Literal.Number +',' Punctuation +' ' Text.Whitespace +'243' Literal.Number +',' Punctuation +' ' Text.Whitespace +'220' Literal.Number +',' Punctuation +' ' Text.Whitespace +'221' Literal.Number +',' Punctuation +' ' Text.Whitespace +'245' Literal.Number +',' Punctuation +' ' Text.Whitespace +'244' Literal.Number +',' Punctuation +' ' Text.Whitespace +'221' Literal.Number +',' Punctuation +' ' Text.Whitespace +'222' Literal.Number +',' Punctuation +' ' Text.Whitespace +'246' Literal.Number +',' Punctuation +' ' Text.Whitespace +'245' Literal.Number +',' Punctuation +' ' Text.Whitespace +'222' Literal.Number +',' Punctuation +' ' Text.Whitespace +'223' Literal.Number +',' Punctuation +' ' Text.Whitespace +'247' Literal.Number +',' Punctuation +' ' Text.Whitespace +'246' Literal.Number +',' Punctuation +' ' Text.Whitespace +'223' Literal.Number +',' Punctuation +' ' Text.Whitespace +'224' Literal.Number +',' Punctuation +' ' Text.Whitespace +'248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'247' Literal.Number +',' Punctuation +' ' Text.Whitespace +'224' Literal.Number +',' Punctuation +' ' Text.Whitespace +'225' Literal.Number +',' Punctuation +' ' Text.Whitespace +'249' Literal.Number +',' Punctuation +' ' Text.Whitespace +'248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'225' Literal.Number +',' Punctuation +' ' Text.Whitespace +'226' Literal.Number +',' Punctuation +' ' Text.Whitespace +'250' Literal.Number +',' Punctuation +' ' Text.Whitespace +'249' Literal.Number +',' Punctuation +' ' Text.Whitespace +'226' Literal.Number +',' Punctuation +' ' Text.Whitespace +'227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'251' Literal.Number +',' Punctuation +' ' Text.Whitespace +'250' Literal.Number +',' Punctuation +' ' Text.Whitespace +'227' Literal.Number +',' Punctuation +' ' Text.Whitespace +'228' Literal.Number +',' Punctuation +' ' Text.Whitespace +'252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'251' Literal.Number +',' Punctuation +' ' Text.Whitespace +'228' Literal.Number +',' Punctuation +' ' Text.Whitespace +'229' Literal.Number +',' Punctuation +' ' Text.Whitespace +'253' Literal.Number +',' Punctuation +' ' Text.Whitespace +'252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'229' Literal.Number +',' Punctuation +' ' Text.Whitespace +'230' Literal.Number +',' Punctuation +' ' Text.Whitespace +'254' Literal.Number +',' Punctuation +' ' Text.Whitespace +'253' Literal.Number +',' Punctuation +' ' Text.Whitespace +'230' Literal.Number +',' Punctuation +' ' Text.Whitespace +'231' Literal.Number +',' Punctuation +' ' Text.Whitespace +'255' Literal.Number +',' Punctuation +' ' Text.Whitespace +'254' Literal.Number +',' Punctuation +' ' Text.Whitespace +'231' Literal.Number +',' Punctuation +' ' Text.Whitespace +'232' Literal.Number +',' Punctuation +' ' Text.Whitespace +'256' Literal.Number +',' Punctuation +' ' Text.Whitespace +'255' Literal.Number +',' Punctuation +' ' Text.Whitespace +'232' Literal.Number +',' Punctuation +' ' Text.Whitespace +'233' Literal.Number +',' Punctuation +' ' Text.Whitespace +'257' Literal.Number +',' Punctuation +' ' Text.Whitespace +'256' Literal.Number +',' Punctuation +' ' Text.Whitespace +'233' Literal.Number +',' Punctuation +' ' Text.Whitespace +'234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'258' Literal.Number +',' Punctuation +' ' Text.Whitespace +'257' Literal.Number +',' Punctuation +' ' Text.Whitespace +'234' Literal.Number +',' Punctuation +' ' Text.Whitespace +'235' Literal.Number +',' Punctuation +' ' Text.Whitespace +'259' Literal.Number +',' Punctuation +' ' Text.Whitespace +'258' Literal.Number +',' Punctuation +' ' Text.Whitespace +'235' Literal.Number +',' Punctuation +' ' Text.Whitespace +'236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'260' Literal.Number +',' Punctuation +' ' Text.Whitespace +'259' Literal.Number +',' Punctuation +' ' Text.Whitespace +'236' Literal.Number +',' Punctuation +' ' Text.Whitespace +'237' Literal.Number +',' Punctuation +' ' Text.Whitespace +'261' Literal.Number +',' Punctuation +' ' Text.Whitespace +'260' Literal.Number +',' Punctuation +' ' Text.Whitespace +'237' Literal.Number +',' Punctuation +' ' Text.Whitespace +'238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'262' Literal.Number +',' Punctuation +' ' Text.Whitespace +'261' Literal.Number +',' Punctuation +' ' Text.Whitespace +'238' Literal.Number +',' Punctuation +' ' Text.Whitespace +'239' Literal.Number +',' Punctuation +' ' Text.Whitespace +'263' Literal.Number +',' Punctuation +' ' Text.Whitespace +'262' Literal.Number +',' Punctuation +' ' Text.Whitespace +'239' Literal.Number +',' Punctuation +' ' Text.Whitespace +'240' Literal.Number +',' Punctuation +' ' Text.Whitespace +'264' Literal.Number +',' Punctuation +' ' Text.Whitespace +'263' Literal.Number +',' Punctuation +' ' Text.Whitespace +'240' Literal.Number +',' Punctuation +' ' Text.Whitespace +'241' Literal.Number +',' Punctuation +' ' Text.Whitespace +'265' Literal.Number +',' Punctuation +' ' Text.Whitespace +'264' Literal.Number +',' Punctuation +' ' Text.Whitespace +'241' Literal.Number +',' Punctuation +' ' Text.Whitespace +'218' Literal.Number +',' Punctuation +' ' Text.Whitespace +'242' Literal.Number +',' Punctuation +' ' Text.Whitespace +'265' Literal.Number +',' Punctuation +' ' Text.Whitespace +'242' Literal.Number +',' Punctuation +' ' Text.Whitespace +'243' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'243' Literal.Number +',' Punctuation +' ' Text.Whitespace +'244' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'244' Literal.Number +',' Punctuation +' ' Text.Whitespace +'245' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'245' Literal.Number +',' Punctuation +' ' Text.Whitespace +'246' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'246' Literal.Number +',' Punctuation +' ' Text.Whitespace +'247' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'247' Literal.Number +',' Punctuation +' ' Text.Whitespace +'248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'248' Literal.Number +',' Punctuation +' ' Text.Whitespace +'249' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'249' Literal.Number +',' Punctuation +' ' Text.Whitespace +'250' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'250' Literal.Number +',' Punctuation +' ' Text.Whitespace +'251' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'251' Literal.Number +',' Punctuation +' ' Text.Whitespace +'252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'252' Literal.Number +',' Punctuation +' ' Text.Whitespace +'253' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'253' Literal.Number +',' Punctuation +' ' Text.Whitespace +'254' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'254' Literal.Number +',' Punctuation +' ' Text.Whitespace +'255' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'255' Literal.Number +',' Punctuation +' ' Text.Whitespace +'256' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'256' Literal.Number +',' Punctuation +' ' Text.Whitespace +'257' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'257' Literal.Number +',' Punctuation +' ' Text.Whitespace +'258' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'258' Literal.Number +',' Punctuation +' ' Text.Whitespace +'259' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'259' Literal.Number +',' Punctuation +' ' Text.Whitespace +'260' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'260' Literal.Number +',' Punctuation +' ' Text.Whitespace +'261' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'261' Literal.Number +',' Punctuation +' ' Text.Whitespace +'262' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'262' Literal.Number +',' Punctuation +' ' Text.Whitespace +'263' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'263' Literal.Number +',' Punctuation +' ' Text.Whitespace +'264' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'264' Literal.Number +',' Punctuation +' ' Text.Whitespace +'265' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'265' Literal.Number +',' Punctuation +' ' Text.Whitespace +'242' Literal.Number +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'uniform' Keyword.Token +' ' Text.Whitespace +'token' Keyword.Type +' ' Text.Whitespace +'orientation' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"leftHanded"' Literal.String +'\n ' Text.Whitespace +'uniform' Keyword.Token +' ' Text.Whitespace +'token' Keyword.Type +' ' Text.Whitespace +'subdivisionScheme' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"none"' Literal.String +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/examplefiles/test.vb b/tests/examplefiles/vb.net/test.vb similarity index 100% rename from tests/examplefiles/test.vb rename to tests/examplefiles/vb.net/test.vb diff --git a/tests/examplefiles/vb.net/test.vb.output b/tests/examplefiles/vb.net/test.vb.output new file mode 100644 index 0000000..00c5d61 --- /dev/null +++ b/tests/examplefiles/vb.net/test.vb.output @@ -0,0 +1,2481 @@ +"' Copyright (c) 2008 Silken Web - Free BSD License\n" Comment + +"' All rights reserved.\n" Comment + +"'\n" Comment + +"' Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n" Comment + +"' * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer\n" Comment + +"' * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n" Comment + +"' * Neither the name of Silken Web nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n" Comment + +"'\n" Comment + +'\' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n' Comment + +"' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS\n" Comment + +"' BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\n" Comment + +"' GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" Comment + +"' LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\n" Comment + +"' DAMAGE.\n" Comment + +'\n' Text + +'Imports' Keyword +' ' Text +'System' Name.Namespace +'.' Name.Namespace +'Net' Name.Namespace +'.' Name.Namespace +'Mail' Name.Namespace +'\n' Text + +'Imports' Keyword +' ' Text +'SilkenWeb' Name.Namespace +'.' Name.Namespace +'Entities' Name.Namespace +'\n' Text + +'Imports' Keyword +' ' Text +'System' Name.Namespace +'.' Name.Namespace +'Text' Name.Namespace +'.' Name.Namespace +'RegularExpressions' Name.Namespace +'\n' Text + +'Imports' Keyword +' ' Text +'System' Name.Namespace +'.' Name.Namespace +'Reflection' Name.Namespace +'\n' Text + +'Imports' Keyword +' ' Text +'SilkenWeb' Name.Namespace +'.' Name.Namespace +'Validation' Name.Namespace +'\n' Text + +'Imports' Keyword +' ' Text +'System' Name.Namespace +'.' Name.Namespace +'Globalization' Name.Namespace +'\n' Text + +'Imports' Keyword +' ' Text +'SilkenWeb' Name.Namespace +'.' Name.Namespace +'Reflection' Name.Namespace +'\n\n' Text + +'Namespace' Keyword +' ' Text +'SilkenWeb' Name.Namespace +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Represents an Email and what you can do with it.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +"''' Keith Jackson\n" Comment + +' ' Text +"''' 11/04/2008\n" Comment + +' ' Text +"'''\n" Comment + +' ' Text +"''' This class is intended to be inherrited for providing all manner of system generated emails, each represented by it's own class.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'MustInherit' Keyword +' ' Text +'Class' Keyword +' ' Text +'EmailBase' Name.Class +' ' Text +':' Punctuation +' ' Text +'Implements' Keyword +' ' Text +'IValidatable' Name +',' Punctuation +' ' Text +'IDisposable' Name +'\n\n' Text + +'#Region " Constants "\n' Comment.Preproc + +'\n ' Text +'Public' Keyword +' ' Text +'Const' Keyword +' ' Text +'LenientRegexPattern' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*' Literal.String +'"' Literal.String +'\n ' Text +'Public' Keyword +' ' Text +'Const' Keyword +' ' Text +'StrictRegexPattern' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'^(([^<>()[\\]\\\\.,;:\\s@\\' Literal.String +'""' Literal.String +']+(\\.[^<>()[\\]\\\\.,;:\\s@\\' Literal.String +'""' Literal.String +']+)*)|(\\' Literal.String +'""' Literal.String +'.+\\' Literal.String +'""' Literal.String +'))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$' Literal.String +'"' Literal.String +'\n ' Text +'Public' Keyword +' ' Text +'Const' Keyword +' ' Text +'InvalidEmailAddressError' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'The Email address provided was invalid' Literal.String +'"' Literal.String +'\n ' Text +'Public' Keyword +' ' Text +'Const' Keyword +' ' Text +'InvalidEmailAddressErrorWithAddress' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'The Email address, {0}, provided was invalid' Literal.String +'"' Literal.String +'\n ' Text +'Public' Keyword +' ' Text +'Const' Keyword +' ' Text +'NullEmailAddressError' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'The Email address was not provided' Literal.String +'"' Literal.String +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n' Text + +'#Region " Fields "\n' Comment.Preproc + +'\n ' Text +'Private' Keyword +' ' Text +'disposedValue' Name +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +'\n\n ' Text +'Private' Keyword +' ' Text +'_message' Name +' ' Text +'As' Operator.Word +' ' Text +'MailMessage' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailMessage' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'Private' Keyword +' ' Text +'_mailClient' Name +' ' Text +'As' Operator.Word +' ' Text +'SmtpClient' Name +'\n\n ' Text +'Private' Keyword +' ' Text +'_useStrictValidation' Name +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n' Text + +'#Region " Construction "\n' Comment.Preproc + +'\n ' Text +"''' \n" Comment + +' ' Text +"''' Instantiates a new Email of the derived type.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'\'\'\' The email address of the sender of the message.\n' Comment + +' ' Text +'\'\'\' The email addresses of the recipients of the message.\n' Comment + +' ' Text +'\'\'\' The subject of the message.\n' Comment + +' ' Text +'\'\'\' The body of the message.\n' Comment + +' ' Text +'Protected' Keyword +' ' Text +'Sub' Keyword +' ' Text +'New' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'sender' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'subject' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'body' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'ParamArray' Keyword +' ' Text +'recipients' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'From' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailAddress' Name +'(' Punctuation +'sender' Name +')' Punctuation +'\n ' Text +'For' Keyword +' ' Text +'i' Name +' ' Text +'As' Operator.Word +' ' Text +'Integer' Keyword.Type +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'To' Keyword +' ' Text +'recipients' Name +'.' Punctuation +'Length' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'_message' Name +'.' Punctuation +'To' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'recipients' Name +'(' Punctuation +'i' Name +')' Punctuation +')' Punctuation +'\n ' Text +'Next' Keyword +'\n ' Text +'_message' Name +'.' Punctuation +'Subject' Name +' ' Text +'=' Operator +' ' Text +'subject' Name +'\n ' Text +'_message' Name +'.' Punctuation +'Body' Name +' ' Text +'=' Operator +' ' Text +'body' Name +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n' Text + +'#Region " Properties "\n' Comment.Preproc + +'\n ' Text +"''' \n" Comment + +' ' Text +"''' Gets the Attachments for the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Protected' Keyword +' ' Text +'Overridable' Keyword +' ' Text +'ReadOnly' Keyword +' ' Text +'Property' Keyword +' ' Text +'Attachments' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'AttachmentCollection' Name +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'Attachments' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The email addresses of the BCC recipients of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'BccRecipients' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'Bcc' Name +'.' Punctuation +'ToAddressStringArray' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'Bcc' Name +'.' Punctuation +'Clear' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'Bcc' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'value' Name +'.' Punctuation +'ToDelimitedString' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The body of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Protected' Keyword +' ' Text +'Overridable' Keyword +' ' Text +'Property' Keyword +' ' Text +'Body' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'Body' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'Body' Name +' ' Text +'=' Operator +' ' Text +'value' Name +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The email addresses of the CC recipients of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'CCRecipients' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'CC' Name +'.' Punctuation +'ToAddressStringArray' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'CC' Name +'.' Punctuation +'Clear' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'CC' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'value' Name +'.' Punctuation +'ToDelimitedString' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Gets or Sets a flag to indicate if the body of the message is HTML.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'IsBodyHtml' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'IsBodyHtml' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'IsBodyHtml' Name +' ' Text +'=' Operator +' ' Text +'value' Name +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Gets the Mail message wrapped by the EmailBase class.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Protected' Keyword +' ' Text +'ReadOnly' Keyword +' ' Text +'Property' Keyword +' ' Text +'Message' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'MailMessage' Name +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Gets or Sets the Priority of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'Priority' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'MailPriority' Name +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'Priority' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'MailPriority' Name +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'Priority' Name +' ' Text +'=' Operator +' ' Text +'value' Name +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The email addresses of the recipients of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'Recipients' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'To' Name +'.' Punctuation +'ToAddressStringArray' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'To' Name +'.' Punctuation +'Clear' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'To' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'value' Name +'.' Punctuation +'ToDelimitedString' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The reply email address of the sender of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'ReplyTo' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'If' Keyword +' ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'Is' Operator.Word +' ' Text +'Nothing' Keyword +' ' Text +'Then' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'String' Keyword.Type +'.' Punctuation +'Empty' Name +'\n ' Text +'Else' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +'.' Punctuation +'Address' Name +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'If' Keyword +' ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'Is' Operator.Word +' ' Text +'Nothing' Keyword +' ' Text +'Then' Keyword +'\n ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailAddress' Name +'(' Punctuation +'value' Name +')' Punctuation +'\n ' Text +'Else' Keyword +'\n ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailAddress' Name +'(' Punctuation +'value' Name +',' Punctuation +' ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +'.' Punctuation +'DisplayName' Name +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The reply display name of the sender of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'ReplyToDisplayName' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'If' Keyword +' ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'Is' Operator.Word +' ' Text +'Nothing' Keyword +' ' Text +'Then' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'String' Keyword.Type +'.' Punctuation +'Empty' Name +'\n ' Text +'Else' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +'.' Punctuation +'DisplayName' Name +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'If' Keyword +' ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'Is' Operator.Word +' ' Text +'Nothing' Keyword +' ' Text +'Then' Keyword +'\n ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailAddress' Name +'(' Punctuation +'_message' Name +'.' Punctuation +'From' Name +'.' Punctuation +'Address' Name +',' Punctuation +' ' Text +'value' Name +')' Punctuation +'\n ' Text +'Else' Keyword +'\n ' Text +'_message' Name +'.' Punctuation +'ReplyTo' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailAddress' Name +'(' Punctuation +'_message' Name +'.' Punctuation +'ReplyTo' Name +'.' Punctuation +'Address' Name +',' Punctuation +' ' Text +'value' Name +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The email address of the sender of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Overridable' Keyword +' ' Text +'Property' Keyword +' ' Text +'Sender' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'From' Name +'.' Punctuation +'Address' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Protected' Keyword +' ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'From' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailAddress' Name +'(' Punctuation +'value' Name +',' Punctuation +' ' Text +'_message' Name +'.' Punctuation +'From' Name +'.' Punctuation +'DisplayName' Name +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The display name of the sender of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Overridable' Keyword +' ' Text +'Property' Keyword +' ' Text +'SenderDisplayName' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'From' Name +'.' Punctuation +'DisplayName' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Protected' Keyword +' ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'From' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'MailAddress' Name +'(' Punctuation +'_message' Name +'.' Punctuation +'From' Name +'.' Punctuation +'Address' Name +',' Punctuation +' ' Text +'value' Name +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' The subject of the message.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Overridable' Keyword +' ' Text +'Property' Keyword +' ' Text +'Subject' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_message' Name +'.' Punctuation +'Subject' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Protected' Keyword +' ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'_message' Name +'.' Punctuation +'Subject' Name +' ' Text +'=' Operator +' ' Text +'value' Name +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n' Text + +'#Region " Methods "\n' Comment.Preproc + +'\n' Text + +'#Region " Send Methods "\n' Comment.Preproc + +'\n ' Text +"''' \n" Comment + +' ' Text +"''' Sends this email\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'\'\'\' The SMTP server to use to send the email.\n' Comment + +' ' Text +'Public' Keyword +' ' Text +'Sub' Keyword +' ' Text +'Send' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'mailServer' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'_mailClient' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'SmtpClient' Name +'(' Punctuation +'mailServer' Name +')' Punctuation +'\n ' Text +'_mailClient' Name +'.' Punctuation +'Send' Name +'(' Punctuation +'_message' Name +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Sends this email asynchronously.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'\'\'\' The SMTP server to use to send the email.\n' Comment + +' ' Text +'\'\'\' A user defined token passed to the recieving method on completion of the asynchronous task.\n' Comment + +' ' Text +'Public' Keyword +' ' Text +'Sub' Keyword +' ' Text +'SendAsync' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'mailServer' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'userToken' Name +' ' Text +'As' Operator.Word +' ' Text +'Object' Keyword.Type +')' Punctuation +'\n ' Text +'_mailClient' Name +' ' Text +'=' Operator +' ' Text +'New' Keyword +' ' Text +'SmtpClient' Name +'(' Punctuation +'mailServer' Name +')' Punctuation +'\n ' Text +'_mailClient' Name +'.' Punctuation +'SendAsync' Name +'(' Punctuation +'_message' Name +',' Punctuation +' ' Text +'userToken' Name +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Cancels an attempt to send this email asynchronously.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Sub' Keyword +' ' Text +'SendAsyncCancel' Name.Function +'(' Punctuation +')' Punctuation +'\n ' Text +'_mailClient' Name +'.' Punctuation +'SendAsyncCancel' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n' Text + +'#Region " IValidatable Implementation "\n' Comment.Preproc + +'\n ' Text +"''' \n" Comment + +' ' Text +"''' gets and Sets a flag to indicate whether to use strict validation.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Property' Keyword +' ' Text +'UseStrictValidation' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +'\n ' Text +'Get' Keyword +'\n ' Text +'Return' Keyword +' ' Text +'_useStrictValidation' Name +'\n ' Text +'End' Keyword +' ' Text +'Get' Keyword +'\n ' Text +'Set' Keyword +'(' Punctuation +'ByVal' Keyword +' ' Text +'value' Name +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +')' Punctuation +'\n ' Text +'_useStrictValidation' Name +' ' Text +'=' Operator +' ' Text +'value' Name +'\n ' Text +'End' Keyword +' ' Text +'Set' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Property' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Validates this email.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +"''' A ValidationResponse, containing a flag to indicate if validation was passed and a collection of Property Names and validation errors.\n" Comment + +' ' Text +'Public' Keyword +' ' Text +'Function' Keyword +' ' Text +'Validate' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'ValidationResponse' Name +' ' Text +'Implements' Keyword +' ' Text +'IValidatable' Name +'.' Punctuation +'Validate' Name +'\n\n ' Text +'Dim' Keyword +' ' Text +'retVal' Name +' ' Text +'As' Operator.Word +' ' Text +'New' Keyword +' ' Text +'ValidationResponse' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'Dim' Keyword +' ' Text +'mailRegEx' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'If' Keyword +'(' Punctuation +'_useStrictValidation' Name +',' Punctuation +' ' Text +'StrictRegexPattern' Name +',' Punctuation +' ' Text +'LenientRegexPattern' Name +')' Punctuation +'\n\n ' Text +'ValidateAddress' Name +'(' Punctuation +'"' Literal.String +'Sender' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'retVal' Name +',' Punctuation +' ' Text +'mailRegEx' Name +',' Punctuation +' ' Text +'True' Keyword +')' Punctuation +'\n ' Text +'ValidateAddresses' Name +'(' Punctuation +'"' Literal.String +'Recipients' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'retVal' Name +',' Punctuation +' ' Text +'mailRegEx' Name +',' Punctuation +' ' Text +'True' Keyword +')' Punctuation +'\n ' Text +'ValidateAddresses' Name +'(' Punctuation +'"' Literal.String +'CcRecipients' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'retVal' Name +',' Punctuation +' ' Text +'mailRegEx' Name +')' Punctuation +'\n ' Text +'ValidateAddresses' Name +'(' Punctuation +'"' Literal.String +'BccRecipients' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'retVal' Name +',' Punctuation +' ' Text +'mailRegEx' Name +')' Punctuation +'\n ' Text +'ValidateAddress' Name +'(' Punctuation +'"' Literal.String +'ReplyTo' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'retVal' Name +',' Punctuation +' ' Text +'mailRegEx' Name +')' Punctuation +'\n\n ' Text +'Return' Keyword +' ' Text +'retVal' Name +'\n\n ' Text +'End' Keyword +' ' Text +'Function' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Validates a single Email Address property.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'\'\'\' The name of the property to validate.\n' Comment + +' ' Text +'\'\'\' The validation response object.\n' Comment + +' ' Text +'\'\'\' The regular expression pattern to use for validation.\n' Comment + +' ' Text +'Private' Keyword +' ' Text +'Overloads' Keyword +' ' Text +'Sub' Keyword +' ' Text +'ValidateAddress' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'propertyName' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByRef' Keyword +' ' Text +'retVal' Name +' ' Text +'As' Operator.Word +' ' Text +'ValidationResponse' Name +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'mailRegEx' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'ValidateAddress' Name +'(' Punctuation +'propertyName' Name +',' Punctuation +' ' Text +'retVal' Name +',' Punctuation +' ' Text +'mailRegEx' Name +',' Punctuation +' ' Text +'False' Keyword +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Validates a single Email Address property.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'\'\'\' The name of the property to validate.\n' Comment + +' ' Text +'\'\'\' The validation response object.\n' Comment + +' ' Text +'\'\'\' The regular expression pattern to use for validation.\n' Comment + +' ' Text +'\'\'\' Indicates if the address is required; False if not specified.\n' Comment + +' ' Text +'Private' Keyword +' ' Text +'Overloads' Keyword +' ' Text +'Sub' Keyword +' ' Text +'ValidateAddress' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'propertyName' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByRef' Keyword +' ' Text +'retVal' Name +' ' Text +'As' Operator.Word +' ' Text +'ValidationResponse' Name +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'mailRegEx' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'required' Name +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +')' Punctuation +'\n\n ' Text +'Dim' Keyword +' ' Text +'emailAddress' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'ReflectionHelper' Name +'.' Punctuation +'Properties' Name +'.' Punctuation +'GetProperty' Name +'(' Punctuation +'Of' Keyword +' ' Text +'String' Keyword.Type +')' Punctuation +'(' Punctuation +'Me' Keyword +',' Punctuation +' ' Text +'propertyName' Name +')' Punctuation +'\n\n ' Text +'If' Keyword +' ' Text +'emailAddress' Name +' ' Text +'Is' Operator.Word +' ' Text +'Nothing' Keyword +' ' Text +'OrElse' Operator.Word +' ' Text +'emailAddress' Name +'.' Punctuation +'Length' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'Then' Keyword +'\n ' Text +'If' Keyword +' ' Text +'required' Name +' ' Text +'Then' Keyword +' ' Text +'retVal' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'New' Keyword +' ' Text +'KeyValuePair' Name +'(' Punctuation +'Of' Keyword +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'String' Keyword.Type +')' Punctuation +'(' Punctuation +'propertyName' Name +',' Punctuation +' ' Text +'NullEmailAddressError' Name +')' Punctuation +')' Punctuation +'\n ' Text +'Else' Keyword +'\n ' Text +'If' Keyword +' ' Text +'(' Punctuation +'Not' Keyword +' ' Text +'Regex' Name +'.' Punctuation +'IsMatch' Name +'(' Punctuation +'emailAddress' Name +',' Punctuation +' ' Text +'mailRegEx' Name +')' Punctuation +')' Punctuation +' ' Text +'Then' Keyword +'\n ' Text +'retVal' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'New' Keyword +' ' Text +'KeyValuePair' Name +'(' Punctuation +'Of' Keyword +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'String' Keyword.Type +')' Punctuation +'(' Punctuation +'propertyName' Name +',' Punctuation +' ' Text +'InvalidEmailAddressError' Name +')' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Validates a string array of Email Address property.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'\'\'\' The name of the property to validate.\n' Comment + +' ' Text +'\'\'\' The validation response object.\n' Comment + +' ' Text +'\'\'\' The regular expression pattern to use for validation.\n' Comment + +' ' Text +'Private' Keyword +' ' Text +'Overloads' Keyword +' ' Text +'Sub' Keyword +' ' Text +'ValidateAddresses' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'propertyName' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByRef' Keyword +' ' Text +'retVal' Name +' ' Text +'As' Operator.Word +' ' Text +'ValidationResponse' Name +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'mailRegEx' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +')' Punctuation +'\n ' Text +'ValidateAddresses' Name +'(' Punctuation +'propertyName' Name +',' Punctuation +' ' Text +'retVal' Name +',' Punctuation +' ' Text +'mailRegEx' Name +',' Punctuation +' ' Text +'False' Keyword +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +"''' \n" Comment + +' ' Text +"''' Validates a string array of Email Address property.\n" Comment + +' ' Text +"''' \n" Comment + +' ' Text +'\'\'\' The name of the property to validate.\n' Comment + +' ' Text +'\'\'\' The validation response object.\n' Comment + +' ' Text +'\'\'\' The regular expression pattern to use for validation.\n' Comment + +' ' Text +'\'\'\' Indicates if the address is required; False if not specified.\n' Comment + +' ' Text +'Private' Keyword +' ' Text +'Overloads' Keyword +' ' Text +'Sub' Keyword +' ' Text +'ValidateAddresses' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'propertyName' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByRef' Keyword +' ' Text +'retVal' Name +' ' Text +'As' Operator.Word +' ' Text +'ValidationResponse' Name +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'mailRegEx' Name +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'ByVal' Keyword +' ' Text +'required' Name +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +')' Punctuation +'\n\n ' Text +'Dim' Keyword +' ' Text +'emailAddresses' Name +'(' Punctuation +')' Punctuation +' ' Text +'As' Operator.Word +' ' Text +'String' Keyword.Type +' ' Text +'=' Operator +' ' Text +'ReflectionHelper' Name +'.' Punctuation +'Properties' Name +'.' Punctuation +'GetProperty' Name +'(' Punctuation +'Of' Keyword +' ' Text +'String' Keyword.Type +'(' Punctuation +')' Punctuation +')' Punctuation +'(' Punctuation +'Me' Keyword +',' Punctuation +' ' Text +'propertyName' Name +')' Punctuation +'\n\n ' Text +'If' Keyword +' ' Text +'emailAddresses' Name +' ' Text +'Is' Operator.Word +' ' Text +'Nothing' Keyword +' ' Text +'OrElse' Operator.Word +' ' Text +'emailAddresses' Name +'.' Punctuation +'Length' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'Then' Keyword +'\n ' Text +'If' Keyword +' ' Text +'required' Name +' ' Text +'Then' Keyword +' ' Text +'retVal' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'New' Keyword +' ' Text +'KeyValuePair' Name +'(' Punctuation +'Of' Keyword +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'String' Keyword.Type +')' Punctuation +'(' Punctuation +'propertyName' Name +',' Punctuation +' ' Text +'String' Keyword.Type +'.' Punctuation +'Format' Name +'(' Punctuation +'CultureInfo' Name +'.' Punctuation +'CurrentCulture' Name +',' Punctuation +' ' Text +'NullEmailAddressError' Name +')' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'Else' Keyword +'\n ' Text +'For' Keyword +' ' Text +'i' Name +' ' Text +'As' Operator.Word +' ' Text +'Integer' Keyword.Type +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'To' Keyword +' ' Text +'emailAddresses' Name +'.' Punctuation +'Length' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'If' Keyword +' ' Text +'(' Punctuation +'Not' Keyword +' ' Text +'Regex' Name +'.' Punctuation +'IsMatch' Name +'(' Punctuation +'emailAddresses' Name +'(' Punctuation +'i' Name +')' Punctuation +',' Punctuation +' ' Text +'mailRegEx' Name +')' Punctuation +')' Punctuation +' ' Text +'Then' Keyword +'\n ' Text +'retVal' Name +'.' Punctuation +'Add' Name +'(' Punctuation +'New' Keyword +' ' Text +'KeyValuePair' Name +'(' Punctuation +'Of' Keyword +' ' Text +'String' Keyword.Type +',' Punctuation +' ' Text +'String' Keyword.Type +')' Punctuation +'(' Punctuation +'propertyName' Name +',' Punctuation +' ' Text +'String' Keyword.Type +'.' Punctuation +'Format' Name +'(' Punctuation +'CultureInfo' Name +'.' Punctuation +'CurrentCulture' Name +',' Punctuation +' ' Text +'InvalidEmailAddressErrorWithAddress' Name +',' Punctuation +' ' Text +'emailAddresses' Name +'(' Punctuation +'i' Name +')' Punctuation +')' Punctuation +')' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'Next' Keyword +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n' Text + +'#Region " IDisposable Implementation "\n' Comment.Preproc + +'\n ' Text +'Protected' Keyword +' ' Text +'Overridable' Keyword +' ' Text +'Sub' Keyword +' ' Text +'Dispose' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'disposing' Name +' ' Text +'As' Operator.Word +' ' Text +'Boolean' Keyword.Type +')' Punctuation +'\n ' Text +'If' Keyword +' ' Text +'Not' Keyword +' ' Text +'Me' Keyword +'.' Punctuation +'disposedValue' Name +' ' Text +'Then' Keyword +'\n ' Text +'If' Keyword +' ' Text +'disposing' Name +' ' Text +'Then' Keyword +'\n ' Text +'_message' Name +'.' Punctuation +'Dispose' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'_mailClient' Name +' ' Text +'=' Operator +' ' Text +'Nothing' Keyword +'\n ' Text +'_message' Name +' ' Text +'=' Operator +' ' Text +'Nothing' Keyword +'\n ' Text +'End' Keyword +' ' Text +'If' Keyword +'\n ' Text +'Me' Keyword +'.' Punctuation +'disposedValue' Name +' ' Text +'=' Operator +' ' Text +'True' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +'Public' Keyword +' ' Text +'Sub' Keyword +' ' Text +'Dispose' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'Implements' Keyword +' ' Text +'IDisposable' Name +'.' Punctuation +'Dispose' Name +'\n ' Text +"' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.\n" Comment + +' ' Text +'Dispose' Name +'(' Punctuation +'True' Keyword +')' Punctuation +'\n ' Text +'GC' Name +'.' Punctuation +'SuppressFinalize' Name +'(' Punctuation +'Me' Keyword +')' Punctuation +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n' Text + +'#End Region' Comment.Preproc +'\n\n ' Text +'End' Keyword +' ' Text +'Class' Keyword +'\n\n' Text + +'End' Keyword +' ' Text +'Namespace' Keyword +'\n' Text diff --git a/tests/examplefiles/vbnet_test.bas b/tests/examplefiles/vb.net/vbnet_test.bas similarity index 100% rename from tests/examplefiles/vbnet_test.bas rename to tests/examplefiles/vb.net/vbnet_test.bas diff --git a/tests/examplefiles/vb.net/vbnet_test.bas.output b/tests/examplefiles/vb.net/vbnet_test.bas.output new file mode 100644 index 0000000..bfc41a8 --- /dev/null +++ b/tests/examplefiles/vb.net/vbnet_test.bas.output @@ -0,0 +1,237 @@ +'Public' Keyword +' ' Text +'Class' Keyword +' ' Text +'Form1' Name.Class +'\n ' Text +'Inherits' Keyword +' ' Text +'System' Name +'.' Punctuation +'Windows' Name +'.' Punctuation +'Forms' Name +'.' Punctuation +'Form' Name +'\n\n ' Text +'Private' Keyword +' ' Text +'t' Name +' ' Text +'As' Operator.Word +' ' Text +'New' Keyword +' ' Text +'System' Name +'.' Punctuation +'Timers' Name +'.' Punctuation +'Timer' Name +'(' Punctuation +'2000' Literal.Number.Integer +')' Punctuation +'\n\n ' Text +'Private' Keyword +' ' Text +'Sub' Keyword +' ' Text +'Form1_Load' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'sender' Name +' ' Text +'As' Operator.Word +' ' Text +'Object' Keyword.Type +',' Punctuation +' ' Text +'_\n' Text + +' ' Text +'ByVal' Keyword +' ' Text +'e' Name +' ' Text +'As' Operator.Word +' ' Text +'System' Name +'.' Punctuation +'EventArgs' Name +')' Punctuation +' ' Text +'Handles' Keyword +' ' Text +'MyBase' Keyword +'.' Punctuation +'Load' Name +'\n \n ' Text +'AddHandler' Keyword +' ' Text +'t' Name +'.' Punctuation +'Elapsed' Name +',' Punctuation +' ' Text +'AddressOf' Operator.Word +' ' Text +'TimerFired' Name +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +'Private' Keyword +' ' Text +'Sub' Keyword +' ' Text +'btnStart_Click' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'sender' Name +' ' Text +'As' Operator.Word +' ' Text +'System' Name +'.' Punctuation +'Object' Name +',' Punctuation +' ' Text +'_' Name +' \n ' Text +'ByVal' Keyword +' ' Text +'e' Name +' ' Text +'As' Operator.Word +' ' Text +'System' Name +'.' Punctuation +'EventArgs' Name +')' Punctuation +' ' Text +'Handles' Keyword +' ' Text +'btnStart' Name +'.' Punctuation +'Click' Name +'\n \n ' Text +'t' Name +'.' Punctuation +'Enabled' Name +' ' Text +'=' Operator +' ' Text +'True' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +'Private' Keyword +' ' Text +'Sub' Keyword +' ' Text +'btnStop_Click' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'sender' Name +' ' Text +'As' Operator.Word +' ' Text +'System' Name +'.' Punctuation +'Object' Name +',' Punctuation +' ' Text +'_\n' Text + +' ' Text +'ByVal' Keyword +' ' Text +'e' Name +' ' Text +'As' Operator.Word +' ' Text +'System' Name +'.' Punctuation +'EventArgs' Name +')' Punctuation +' ' Text +'Handles' Keyword +' ' Text +'btnStop' Name +'.' Punctuation +'Click' Name +'\n \n ' Text +'t' Name +'.' Punctuation +'Enabled' Name +' ' Text +'=' Operator +' ' Text +'False' Keyword +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n\n ' Text +'Public' Keyword +' ' Text +'Sub' Keyword +' ' Text +'TimerFired' Name.Function +'(' Punctuation +'ByVal' Keyword +' ' Text +'sender' Name +' ' Text +'As' Operator.Word +' ' Text +'Object' Keyword.Type +',' Punctuation +' ' Text +'_' Name +' \n ' Text +'ByVal' Keyword +' ' Text +'e' Name +' ' Text +'As' Operator.Word +' ' Text +'System' Name +'.' Punctuation +'Timers' Name +'.' Punctuation +'ElapsedEventArgs' Name +')' Punctuation +'\n \n ' Text +'Label1' Name +'.' Punctuation +'Text' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'Signal Time = ' Literal.String +'"' Literal.String +' ' Text +'&' Operator +' ' Text +'e' Name +'.' Punctuation +'SignalTime' Name +'.' Punctuation +'ToString' Name +'\n ' Text +'End' Keyword +' ' Text +'Sub' Keyword +'\n' Text + +'End' Keyword +' ' Text +'Class' Keyword +'\n' Text diff --git a/tests/examplefiles/example.vbs b/tests/examplefiles/vbscript/example.vbs similarity index 100% rename from tests/examplefiles/example.vbs rename to tests/examplefiles/vbscript/example.vbs diff --git a/tests/examplefiles/vbscript/example.vbs.output b/tests/examplefiles/vbscript/example.vbs.output new file mode 100644 index 0000000..7f2aad0 --- /dev/null +++ b/tests/examplefiles/vbscript/example.vbs.output @@ -0,0 +1,360 @@ +'rem VBScript examples' Comment.Single +'\n\n' Text.Whitespace + +"' Various constants of different types" Comment.Single +'\n' Text.Whitespace + +'const' Keyword.Declaration +' ' Text.Whitespace +'someText' Name.Constant +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String.Double +'some ' Literal.String.Double +'"' Literal.String.Double +' ' Text.Whitespace +'&' Operator +' ' Text.Whitespace +'"' Literal.String.Double +'""' Literal.String.Double +'text' Literal.String.Double +'""' Literal.String.Double +'"' Literal.String.Double +'\n' Text.Whitespace + +'const' Keyword.Declaration +' ' Text.Whitespace +'someInt' Name.Constant +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'123' Literal.Number.Integer +'\n' Text.Whitespace + +'const' Keyword.Declaration +' ' Text.Whitespace +'someHex' Name.Constant +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'&h3110c0d3' Literal.Number.Hex +'\n' Text.Whitespace + +'const' Keyword.Declaration +' ' Text.Whitespace +'someFloat' Name.Constant +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'123.45e-67' Literal.Number.Float +'\n' Text.Whitespace + +'const' Keyword.Declaration +' ' Text.Whitespace +'someDate' Name.Constant +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'#1/2/2016#' Literal.String +'\n' Text.Whitespace + +'const' Keyword.Declaration +' ' Text.Whitespace +'someTime' Name.Constant +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'#12:34:56 AM#' Literal.String +'\n' Text.Whitespace + +'const' Keyword.Declaration +' ' Text.Whitespace +'someBool' Name.Constant +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'vbTrue' Name.Constant +' ' Text.Whitespace +"' -1" Comment.Single +'\n\n' Text.Whitespace + +"' Do some math." Comment.Single +'\n' Text.Whitespace + +'radius' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'1.e2' Literal.Number.Float +'\n' Text.Whitespace + +'area' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'radius' Name +' ' Text.Whitespace +'^' Operator +' ' Text.Whitespace +'2' Literal.Number.Integer +' ' Text.Whitespace +'*' Operator +' ' Text.Whitespace +'3.1315' Literal.Number.Float +'\n' Text.Whitespace + +'a' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'17' Literal.Number.Integer +' ' Text.Whitespace +':' Punctuation +' ' Text.Whitespace +'b' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'23' Literal.Number.Integer +'\n' Text.Whitespace + +'c' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'sqr' Name.Builtin +'(' Punctuation +'a' Name +' ' Text.Whitespace +'^' Operator +'2' Literal.Number.Integer +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'b' Name +' ' Text.Whitespace +'^' Operator +' ' Text.Whitespace +'2' Literal.Number.Integer +')' Punctuation +'\n\n' Text.Whitespace + +"' Write 10 files." Comment.Single +'\n' Text.Whitespace + +'For' Keyword +' ' Text.Whitespace +'i' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'1' Literal.Number.Integer +' ' Text.Whitespace +'to' Name +' ' Text.Whitespace +'10' Literal.Number.Integer +'\n ' Text.Whitespace +'createFile' Name +'(' Punctuation +' ' Text.Whitespace +'i' Name +' ' Text.Whitespace +')' Punctuation +'\n' Text.Whitespace + +'Next' Keyword +'\n\n' Text.Whitespace + +'Public' Keyword +' ' Text.Whitespace +'Sub' Keyword.Declaration +' ' Text.Whitespace +'createFile' Name.Function +'(' Punctuation +'a' Name +')' Punctuation +'\n ' Text.Whitespace +'Dim' Keyword.Declaration +' ' Text.Whitespace +'fso' Name.Variable +',' Punctuation +' ' Text.Whitespace +'TargetFile' Name.Variable +'\n ' Text.Whitespace +'TargetPath' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String.Double +'C:\\some_' Literal.String.Double +'"' Literal.String.Double +' ' Text.Whitespace +'&' Operator +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'&' Operator +' ' Text.Whitespace +'"' Literal.String.Double +'.tmp' Literal.String.Double +'"' Literal.String.Double +'\n ' Text.Whitespace +'Set' Keyword +' ' Text.Whitespace +'fso' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'CreateObject' Name.Builtin +'(' Punctuation +'"' Literal.String.Double +'Scripting.FileSystemObject' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +'\n ' Text.Whitespace +'Set' Keyword +' ' Text.Whitespace +'TargetFile' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'fso' Name +'.' Punctuation +'CreateTextFile' Name +'(' Punctuation +'TargetPath' Name +')' Punctuation +'\n ' Text.Whitespace +'TargetFile' Name +'.' Punctuation +'WriteLine' Name +'(' Punctuation +'"' Literal.String.Double +'Hello ' Literal.String.Double +'"' Literal.String.Double +' ' Text.Whitespace +'&' Operator +' ' Text.Whitespace +'vbCrLf' Name.Constant +' ' Text.Whitespace +'&' Operator +' ' Text.Whitespace +'"' Literal.String.Double +'world!' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +'\n ' Text.Whitespace +'TargetFile' Name +'.' Punctuation +'Close' Name +'\n' Text.Whitespace + +'End' Keyword +' ' Text.Whitespace +'Sub' Keyword +'\n\n' Text.Whitespace + +"' Define a class with a property." Comment.Single +'\n' Text.Whitespace + +'Class' Keyword.Declaration +' ' Text.Whitespace +'Customer' Name.Class +'\n ' Text.Whitespace +'Private' Keyword +' ' Text.Whitespace +'m_CustomerName' Name +'\n\n ' Text.Whitespace +'Private' Keyword +' ' Text.Whitespace +'Sub' Keyword.Declaration +' ' Text.Whitespace +'Class_Initialize' Name.Function +'\n ' Text.Whitespace +'m_CustomerName' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String.Double +'"' Literal.String.Double +'\n ' Text.Whitespace +'End' Keyword +' ' Text.Whitespace +'Sub' Keyword +'\n\n ' Text.Whitespace +"' CustomerName property." Comment.Single +'\n ' Text.Whitespace +'Public' Keyword +' ' Text.Whitespace +'Property' Keyword.Declaration +' ' Text.Whitespace +'Get' Keyword.Declaration +' ' Text.Whitespace +'CustomerName' Name.Property +'\n ' Text.Whitespace +'CustomerName' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'m_CustomerName' Name +'\n ' Text.Whitespace +'End' Keyword +' ' Text.Whitespace +'Property' Keyword +'\n\n ' Text.Whitespace +'Public' Keyword +' ' Text.Whitespace +'Property' Keyword.Declaration +' ' Text.Whitespace +'Let' Keyword.Declaration +' ' Text.Whitespace +'CustomerName' Name.Property +'(' Punctuation +'custname' Name +')' Punctuation +'\n ' Text.Whitespace +'m_CustomerName' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'custname' Name +'\n ' Text.Whitespace +'End' Keyword +' ' Text.Whitespace +'Property' Keyword +'\n' Text.Whitespace + +'End' Keyword +' ' Text.Whitespace +'Class' Keyword +'\n\n' Text.Whitespace + +"' Special constructs" Comment.Single +'\n' Text.Whitespace + +'Option' Keyword +' ' Text.Whitespace +'Explicit' Keyword +'\n' Text.Whitespace + +'On' Keyword +' ' Text.Whitespace +'Error' Keyword +' ' Text.Whitespace +'Resume' Keyword +' ' Text.Whitespace +'Next' Keyword +'\n' Text.Whitespace + +'On' Keyword +' ' Text.Whitespace +'Error' Keyword +' ' Text.Whitespace +'Goto' Keyword +' ' Text.Whitespace +'0' Literal.Number.Integer +'\n\n' Text.Whitespace + +"' Comment without terminating CR/LF." Comment.Single +'\n' Text.Whitespace diff --git a/tests/examplefiles/varnish.vcl b/tests/examplefiles/vcl/varnish.vcl similarity index 100% rename from tests/examplefiles/varnish.vcl rename to tests/examplefiles/vcl/varnish.vcl diff --git a/tests/examplefiles/vcl/varnish.vcl.output b/tests/examplefiles/vcl/varnish.vcl.output new file mode 100644 index 0000000..7c8d254 --- /dev/null +++ b/tests/examplefiles/vcl/varnish.vcl.output @@ -0,0 +1,1573 @@ +'# This is the VCL configuration Varnish will automatically append to your VCL' Comment +'\n' Text + +'# file during compilation/loading. See the vcl(7) man page for details on syntax' Comment +'\n' Text + +'# and semantics.' Comment +'\n' Text + +'# New users is recommended to use the example.vcl file as a starting point.' Comment +'\n' Text + +'\n' Text + +'vcl ' Keyword.Reserved +'4.0' Name.Constant +';' Punctuation +'\n' Text + +'\n' Text + +'backend' Keyword +' foo' Name.Variable.Global +' {' Punctuation +' ' Text +'.host' Name.Attribute +' = ' Operator +'"' Literal.String +'192.168.1.1' Literal.String +'"' Literal.String +';' Punctuation +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'probe ' Keyword +'blatti ' Name.Variable.Global +'{' Punctuation +' ' Text +'.url' Name.Attribute +' = ' Operator +'"' Literal.String +'foo' Literal.String +'"' Literal.String +';' Punctuation +' ' Text +'}' Punctuation +'\n' Text + +'probe ' Keyword +'fooy ' Name.Variable.Global +'{' Punctuation +'\n' Text + +'\t' Text +'.url' Name.Attribute +' = ' Operator +'"' Literal.String +'beh' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'acl ' Keyword +'foo ' Name.Variable.Global +'{' Punctuation +'\n' Text + +'\t' Text +'"' Literal.String +'192.168.1.1' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'\t' Text +'"' Literal.String +'192.168.0.0' Literal.String +'"' Literal.String +'/' Operator +'24' Literal.Number +';' Punctuation +'\n' Text + +'\t' Text +'!' Operator +' ' Text +'"' Literal.String +'192.168.0.1' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'include' Keyword +' ' Text +'"' Literal.String +'foo.vcl' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'\n' Text + +'import' Keyword +' ' Text +'std' Name +';' Punctuation +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_init' Name.Function +' {' Punctuation +'\n' Text + +'\t' Text +'new' Keyword +' ' Text +'b' Name +' ' Text +'=' Operator +' ' Text +'director' Name.Function +'.' Punctuation +'foo' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_recv' Name.Function +' {' Punctuation +'\n' Text + +'\t' Text +'ban' Keyword +'(' Punctuation +'req.url' Name.Variable +' ' Text +'~' Operator +' ' Text +'"' Literal.String +'foo' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +'\t' Text +'rollback' Keyword +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'sub ' Keyword +'vcl_recv' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'req.method' Name.Variable +' ' Text +'==' Operator +' ' Text +'"' Literal.String +'PRI' Literal.String +'"' Literal.String +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +'\t' Text +'/*' Comment.Multiline +' We do not support SPDY or HTTP' Comment.Multiline +'/' Comment.Multiline +'2.0 ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text + +'\t' Text +'return' Keyword +' ' Text +'(' Punctuation +'synth' Name.Constant +'(' Punctuation +'405' Literal.Number +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'GET' Literal.String +'"' Literal.String +' ' Text +'&&' Operator +'\n' Text + +' ' Text +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'HEAD' Literal.String +'"' Literal.String +' ' Text +'&&' Operator +'\n' Text + +' ' Text +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'PUT' Literal.String +'"' Literal.String +' ' Text +'&&' Operator +'\n' Text + +' ' Text +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'POST' Literal.String +'"' Literal.String +' ' Text +'&&' Operator +'\n' Text + +' ' Text +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'TRACE' Literal.String +'"' Literal.String +' ' Text +'&&' Operator +'\n' Text + +' ' Text +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'OPTIONS' Literal.String +'"' Literal.String +' ' Text +'&&' Operator +'\n' Text + +' ' Text +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'DELETE' Literal.String +'"' Literal.String +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +' ' Text +'/*' Comment.Multiline +' Non-RFC2616 or CONNECT which is weird. ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'pipe' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'GET' Literal.String +'"' Literal.String +' ' Text +'&&' Operator +' ' Text +'req.method' Name.Variable +' ' Text +'!=' Operator +' ' Text +'"' Literal.String +'HEAD' Literal.String +'"' Literal.String +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +' ' Text +'/*' Comment.Multiline +' We only deal with GET and HEAD by default ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'pass' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'req.http.Authorization' Name.Variable +' ' Text +'||' Operator +' ' Text +'req.http.Cookie' Name.Variable +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +' ' Text +'/*' Comment.Multiline +' Not cacheable by default ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'pass' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'hash' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_pipe' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'# By default Connection: close is set on all piped requests, to stop' Comment +'\n' Text + +' ' Text +'# connection reuse from sending future requests directly to the' Comment +'\n' Text + +' ' Text +'# (potentially) wrong backend. If you do want this to happen, you can undo' Comment +'\n' Text + +' ' Text +'# it here.' Comment +'\n' Text + +' ' Text +'# unset bereq.http.connection;' Comment +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'pipe' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_pass' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'fetch' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_hash' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'hash_data' Keyword +'(' Punctuation +'req.url' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'req.http.host' Name.Variable +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +' ' Text +'hash_data' Keyword +'(' Punctuation +'req.http.host' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +' ' Text +'else' Keyword +' ' Text +'{' Operator +'\n' Text + +' ' Text +'hash_data' Keyword +'(' Punctuation +'server.ip' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'lookup' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_purge' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'synth' Name.Constant +'(' Punctuation +'200' Literal.Number +',' Operator +' ' Text +'"' Literal.String +'Purged' Literal.String +'"' Literal.String +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_hit' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'obj.ttl' Name.Variable +' ' Text +'>=' Operator +' ' Text +'0s' Literal.Date +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +' ' Text +'// A pure unadultered hit, deliver it' Comment +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'deliver' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'obj.ttl' Name.Variable +' ' Text +'+' Operator +' ' Text +'obj.grace' Name.Variable +' ' Text +'>' Operator +' ' Text +'0s' Literal.Date +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +' ' Text +'// Object is in grace, deliver it' Comment +'\n' Text + +' ' Text +'// Automatically triggers a background fetch' Comment +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'deliver' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +' ' Text +'// fetch & deliver once we get the result' Comment +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'miss' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_miss' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'fetch' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_deliver' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'set' Keyword +' ' Text +'resp.http.x-storage' Name.Variable +' ' Text +'=' Operator +' ' Text +'storage.s0.free' Name.Variable +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'deliver' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'/*' Comment.Multiline +'\n ' Comment.Multiline +'*' Comment.Multiline +' We can come here "invisibly" with the following errors: 413, 417 & 503\n ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text + +'sub ' Keyword +'vcl_synth' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'set' Keyword +' ' Text +'resp.http.Content-Type' Name.Variable +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'text/html; charset=utf-8' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'set' Keyword +' ' Text +'resp.http.Retry-After' Name.Variable +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'5' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'synthetic' Keyword +'(' Punctuation +' ' Text +'{"' Literal.String +'<' Literal.String +'!' Literal.String +'D' Literal.String +'O' Literal.String +'C' Literal.String +'T' Literal.String +'Y' Literal.String +'P' Literal.String +'E' Literal.String +' ' Literal.String +'h' Literal.String +'t' Literal.String +'m' Literal.String +'l' Literal.String +'>' Literal.String +'\n' Literal.String + +'<' Literal.String +'h' Literal.String +'t' Literal.String +'m' Literal.String +'l' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'e' Literal.String +'a' Literal.String +'d' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'t' Literal.String +'i' Literal.String +'t' Literal.String +'l' Literal.String +'e' Literal.String +'>' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'resp.status' Name.Variable +' ' Text +'+' Operator +' ' Text +'"' Literal.String +' ' Literal.String +'"' Literal.String +' ' Text +'+' Operator +' ' Text +'resp.reason' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'t' Literal.String +'i' Literal.String +'t' Literal.String +'l' Literal.String +'e' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'/' Literal.String +'h' Literal.String +'e' Literal.String +'a' Literal.String +'d' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'b' Literal.String +'o' Literal.String +'d' Literal.String +'y' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'1' Literal.String +'>' Literal.String +'E' Literal.String +'r' Literal.String +'r' Literal.String +'o' Literal.String +'r' Literal.String +' ' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'resp.status' Name.Variable +' ' Text +'+' Operator +' ' Text +'"' Literal.String +' ' Literal.String +'"' Literal.String +' ' Text +'+' Operator +' ' Text +'resp.reason' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'h' Literal.String +'1' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'resp.reason' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'p' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'3' Literal.String +'>' Literal.String +'G' Literal.String +'u' Literal.String +'r' Literal.String +'u' Literal.String +' ' Literal.String +'M' Literal.String +'e' Literal.String +'d' Literal.String +'i' Literal.String +'t' Literal.String +'a' Literal.String +'t' Literal.String +'i' Literal.String +'o' Literal.String +'n' Literal.String +':' Literal.String +'<' Literal.String +'/' Literal.String +'h' Literal.String +'3' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'X' Literal.String +'I' Literal.String +'D' Literal.String +':' Literal.String +' ' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'req.xid' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'p' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'r' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'V' Literal.String +'a' Literal.String +'r' Literal.String +'n' Literal.String +'i' Literal.String +'s' Literal.String +'h' Literal.String +' ' Literal.String +'c' Literal.String +'a' Literal.String +'c' 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 +'/' Literal.String +'p' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'/' Literal.String +'b' Literal.String +'o' Literal.String +'d' Literal.String +'y' Literal.String +'>' Literal.String +'\n' Literal.String + +'<' Literal.String +'/' Literal.String +'h' Literal.String +'t' Literal.String +'m' Literal.String +'l' Literal.String +'>' Literal.String +'\n' Literal.String + +'"}' Literal.String +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'deliver' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'#######################################################################' Comment +'\n' Text + +'# Backend Fetch' Comment +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_backend_fetch' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'fetch' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_backend_response' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'beresp.ttl' Name.Variable +' ' Text +'<=' Operator +' ' Text +'0s' Literal.Date +' ' Text +'||' Operator +'\n' Text + +' ' Text +'beresp.http.Set-Cookie' Name.Variable +' ' Text +'||' Operator +'\n' Text + +' ' Text +'beresp.http.Surrogate-control' Name.Variable +' ' Text +'~' Operator +' ' Text +'"' Literal.String +'no-store' Literal.String +'"' Literal.String +' ' Text +'||' Operator +'\n' Text + +' ' Text +'(' Punctuation +'!' Operator +'beresp.http.Surrogate-Control' Name.Variable +' ' Text +'&&' Operator +'\n' Text + +' ' Text +'beresp.http.Cache-Control' Name.Variable +' ' Text +'~' Operator +' ' Text +'"' Literal.String +'no-cache|no-store|private' Literal.String +'"' Literal.String +')' Punctuation +' ' Text +'||' Operator +'\n' Text + +' ' Text +'beresp.http.Vary' Name.Variable +' ' Text +'==' Operator +' ' Text +'"' Literal.String +'*' Literal.String +'"' Literal.String +')' Punctuation +' ' Text +'{' Operator +'\n' Text + +' ' Text +'/*' Comment.Multiline +'\n ' Comment.Multiline +'*' Comment.Multiline +' Mark as "Hit-For-Pass" for the next 2 minutes\n ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text + +' ' Text +'set' Keyword +' ' Text +'beresp.ttl' Name.Variable +' ' Text +'=' Operator +' ' Text +'120s' Literal.Date +';' Punctuation +'\n' Text + +' ' Text +'set' Keyword +' ' Text +'beresp.uncacheable' Name.Variable +' ' Text +'=' Operator +' ' Text +'true' Name.Builtin +';' Punctuation +'\n' Text + +' ' Text +'}' Operator +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'deliver' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_backend_error' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'set' Keyword +' ' Text +'beresp.http.Content-Type' Name.Variable +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'text/html; charset=utf-8' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'set' Keyword +' ' Text +'beresp.http.Retry-After' Name.Variable +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'5' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'synthetic' Keyword +'(' Punctuation +' ' Text +'{"' Literal.String +'<' Literal.String +'!' Literal.String +'D' Literal.String +'O' Literal.String +'C' Literal.String +'T' Literal.String +'Y' Literal.String +'P' Literal.String +'E' Literal.String +' ' Literal.String +'h' Literal.String +'t' Literal.String +'m' Literal.String +'l' Literal.String +'>' Literal.String +'\n' Literal.String + +'<' Literal.String +'h' Literal.String +'t' Literal.String +'m' Literal.String +'l' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'e' Literal.String +'a' Literal.String +'d' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'t' Literal.String +'i' Literal.String +'t' Literal.String +'l' Literal.String +'e' Literal.String +'>' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'beresp.status' Name.Variable +' ' Text +'+' Operator +' ' Text +'"' Literal.String +' ' Literal.String +'"' Literal.String +' ' Text +'+' Operator +' ' Text +'beresp.reason' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'t' Literal.String +'i' Literal.String +'t' Literal.String +'l' Literal.String +'e' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'/' Literal.String +'h' Literal.String +'e' Literal.String +'a' Literal.String +'d' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'b' Literal.String +'o' Literal.String +'d' Literal.String +'y' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'1' Literal.String +'>' Literal.String +'E' Literal.String +'r' Literal.String +'r' Literal.String +'o' Literal.String +'r' Literal.String +' ' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'beresp.status' Name.Variable +' ' Text +'+' Operator +' ' Text +'"' Literal.String +' ' Literal.String +'"' Literal.String +' ' Text +'+' Operator +' ' Text +'beresp.reason' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'h' Literal.String +'1' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'beresp.reason' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'p' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'3' Literal.String +'>' Literal.String +'G' Literal.String +'u' Literal.String +'r' Literal.String +'u' Literal.String +' ' Literal.String +'M' Literal.String +'e' Literal.String +'d' Literal.String +'i' Literal.String +'t' Literal.String +'a' Literal.String +'t' Literal.String +'i' Literal.String +'o' Literal.String +'n' Literal.String +':' Literal.String +'<' Literal.String +'/' Literal.String +'h' Literal.String +'3' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'X' Literal.String +'I' Literal.String +'D' Literal.String +':' Literal.String +' ' Literal.String +'"}' Literal.String +' ' Text +'+' Operator +' ' Text +'bereq.xid' Name.Variable +' ' Text +'+' Operator +' ' Text +'{"' Literal.String +'<' Literal.String +'/' Literal.String +'p' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'h' Literal.String +'r' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +' ' Literal.String +' ' Literal.String +'<' Literal.String +'p' Literal.String +'>' Literal.String +'V' Literal.String +'a' Literal.String +'r' Literal.String +'n' Literal.String +'i' Literal.String +'s' Literal.String +'h' Literal.String +' ' Literal.String +'c' Literal.String +'a' Literal.String +'c' 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 +'/' Literal.String +'p' Literal.String +'>' Literal.String +'\n' Literal.String + +' ' Literal.String +' ' Literal.String +'<' Literal.String +'/' Literal.String +'b' Literal.String +'o' Literal.String +'d' Literal.String +'y' Literal.String +'>' Literal.String +'\n' Literal.String + +'<' Literal.String +'/' Literal.String +'h' Literal.String +'t' Literal.String +'m' Literal.String +'l' Literal.String +'>' Literal.String +'\n' Literal.String + +'"}' Literal.String +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'deliver' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'#######################################################################' Comment +'\n' Text + +'# Housekeeping' Comment +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_init' Name.Function +' {' Punctuation +'\n' Text + +'}' Operator +'\n' Text + +'\n' Text + +'sub ' Keyword +'vcl_fini' Name.Function +' {' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'(' Punctuation +'ok' Name.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'}' Operator +'\n' Text diff --git a/tests/examplefiles/vctreestatus_hg b/tests/examplefiles/vctreestatus/vctreestatus_hg similarity index 100% rename from tests/examplefiles/vctreestatus_hg rename to tests/examplefiles/vctreestatus/vctreestatus_hg diff --git a/tests/examplefiles/vctreestatus/vctreestatus_hg.output b/tests/examplefiles/vctreestatus/vctreestatus_hg.output new file mode 100644 index 0000000..e03ff9c --- /dev/null +++ b/tests/examplefiles/vctreestatus/vctreestatus_hg.output @@ -0,0 +1,11 @@ +'M ' Generic.Inserted +'LICENSE\n' Text + +'M ' Generic.Inserted +'setup.py\n' Text + +'! ' Comment.Preproc +'setup.cfg\n' Text + +'? ' Comment.Preproc +'vctreestatus_hg\n' Text diff --git a/tests/examplefiles/example_coq.v b/tests/examplefiles/verilog/example_coq.v similarity index 100% rename from tests/examplefiles/example_coq.v rename to tests/examplefiles/verilog/example_coq.v diff --git a/tests/examplefiles/verilog/example_coq.v.output b/tests/examplefiles/verilog/example_coq.v.output new file mode 100644 index 0000000..a95c1c5 --- /dev/null +++ b/tests/examplefiles/verilog/example_coq.v.output @@ -0,0 +1,29 @@ +'Lemma' Name +' ' Text +'FalseLemma' Name +' ' Text +':' Operator +' ' Text +'False' Name +' ' Text +'<' Operator +'-' Operator +'>' Operator +' ' Text +'False' Name +'.' Punctuation +'\n' Text + +'tauto' Name +'.' Punctuation +'\n' Text + +'Qed' Name +'.' Punctuation +'\n' Text + +'Check' Name +' ' Text +'FalseLemma' Name +'.' Punctuation +'\n' Text diff --git a/tests/examplefiles/example.rpf b/tests/examplefiles/vgl/example.rpf similarity index 100% rename from tests/examplefiles/example.rpf rename to tests/examplefiles/vgl/example.rpf diff --git a/tests/examplefiles/vgl/example.rpf.output b/tests/examplefiles/vgl/example.rpf.output new file mode 100644 index 0000000..b775c24 --- /dev/null +++ b/tests/examplefiles/vgl/example.rpf.output @@ -0,0 +1,27 @@ +'declare' Keyword.Constant +' ' Text +'xyz' Name +' ' Text +'true' Keyword.Constant +'\n' Text + +'declare' Keyword.Constant +' ' Text +'s' Name +' ' Text +'"some string"' Literal.String +'\n' Text + +'i' Name +' ' Text +'=' Operator +' ' Text +'2' Literal.Number +'\n' Text + +'f' Name +' ' Text +'=' Operator +' ' Text +'0.2' Literal.Number +'\n' Text diff --git a/tests/examplefiles/test.vhdl b/tests/examplefiles/vhdl/test.vhdl similarity index 100% rename from tests/examplefiles/test.vhdl rename to tests/examplefiles/vhdl/test.vhdl diff --git a/tests/examplefiles/vhdl/test.vhdl.output b/tests/examplefiles/vhdl/test.vhdl.output new file mode 100644 index 0000000..f766293 --- /dev/null +++ b/tests/examplefiles/vhdl/test.vhdl.output @@ -0,0 +1,1612 @@ +'library' Keyword +' ' Text +'ieee' Name.Namespace +';' Punctuation +'\n' Text + +'use' Keyword +' ' Text +'ieee.std_logic_unsigned.' Name.Namespace +'all' Keyword +';' Punctuation +'\n' Text + +'use' Keyword +' ' Text +'ieee.std_logic_1164.' Name.Namespace +'all' Keyword +';' Punctuation +' \n' Text + +'use' Keyword +' ' Text +'ieee.numeric_std.' Name.Namespace +'all' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'entity' Keyword +' ' Text +'top_testbench' Name.Class +' ' Text +'is' Keyword +' ' Text +'--test' Comment.Single +'\n' Text + +'\t' Text +'generic' Keyword +' ' Text +'(' Punctuation +' ' Text +'-- test' Comment.Single +'\n' Text + +'\t ' Text +'n' Name +' ' Text +':' Operator +' ' Text +'integer' Keyword.Type +' ' Text +':' Operator +'=' Operator +' ' Text +'8' Literal.Number.Integer +' ' Text +'-- test' Comment.Single +'\n' Text + +'\t' Text +')' Punctuation +';' Punctuation +' ' Text +'-- test' Comment.Single +'\n' Text + +'end' Keyword +' ' Text +'top_testbench' Name.Class +';' Punctuation +' ' Text +'-- test' Comment.Single +'\n' Text + +'\n' Text + +'\n' Text + +'architecture' Keyword +' ' Text +'top_testbench_arch' Name.Class +' ' Text +'of' Keyword +' ' Text +'top_testbench' Name.Class +' ' Text +'is' Keyword +' \n\n ' Text +'component' Keyword +' ' Text +'top' Name.Class +' ' Text +'is' Keyword +'\n' Text + +' ' Text +'generic' Keyword +' ' Text +'(' Punctuation +'\n' Text + +' ' Text +'n' Name +' ' Text +':' Operator +' ' Text +'integer' Keyword.Type +'\n' Text + +' ' Text +')' Punctuation +' ' Text +';' Punctuation +'\n' Text + +' ' Text +'port' Keyword +' ' Text +'(' Punctuation +'\n' Text + +' ' Text +'clk' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'rst' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'d1' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic_vector' Keyword.Type +' ' Text +'(' Punctuation +'n' Name +'-' Operator +'1' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'d2' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic_vector' Keyword.Type +' ' Text +'(' Punctuation +'n' Name +'-' Operator +'1' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'operation' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'result' Name +' ' Text +':' Operator +' ' Text +'out' Keyword +' ' Text +'std_logic_vector' Keyword.Type +' ' Text +'(' Punctuation +'2' Literal.Number.Integer +'*' Operator +'n' Name +'-' Operator +'1' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'end' Keyword +' ' Text +'component' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'signal' Keyword +' ' Text +'clk' Name +' ' Text +':' Operator +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'signal' Keyword +' ' Text +'rst' Name +' ' Text +':' Operator +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +'\t' Text +'signal' Keyword +' ' Text +'operation' Name +' ' Text +':' Operator +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'signal' Keyword +' ' Text +'d1' Name +' ' Text +':' Operator +' ' Text +'std_logic_vector' Keyword.Type +' ' Text +'(' Punctuation +'n' Name +'-' Operator +'1' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'signal' Keyword +' ' Text +'d2' Name +' ' Text +':' Operator +' ' Text +'std_logic_vector' Keyword.Type +' ' Text +'(' Punctuation +'n' Name +'-' Operator +'1' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'signal' Keyword +' ' Text +'result' Name +' ' Text +':' Operator +' ' Text +'std_logic_vector' Keyword.Type +' ' Text +'(' Punctuation +'2' Literal.Number.Integer +'*' Operator +'n' Name +'-' Operator +'1' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' \n ' Text +'type' Keyword +' ' Text +'test_type' Name +' ' Text +'is' Keyword +' ' Text +'(' Punctuation +' ' Text +'a1' Name +',' Punctuation +' ' Text +'a2' Name +',' Punctuation +' ' Text +'a3' Name +',' Punctuation +' ' Text +'a4' Name +',' Punctuation +' ' Text +'a5' Name +',' Punctuation +' ' Text +'a6' Name +',' Punctuation +' ' Text +'a7' Name +',' Punctuation +' ' Text +'a8' Name +',' Punctuation +' ' Text +'a9' Name +',' Punctuation +' ' Text +'a10' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'attribute' Keyword +' ' Text +'enum_encoding' Name +' ' Text +'of' Keyword +' ' Text +'my_state' Name +' ' Text +':' Operator +' ' Text +'type' Keyword +' ' Text +'is' Keyword +' ' Text +'"001 010 011 100 111"' Literal.String +';' Punctuation +'\n' Text + +'begin' Keyword +'\n' Text + +'\n' Text + +' ' Text +'TESTUNIT' Name +' ' Text +':' Operator +' ' Text +'top' Name +' ' Text +'generic' Keyword +' ' Text +'map' Keyword +' ' Text +'(' Punctuation +'n' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'n' Name +')' Punctuation +'\n' Text + +' ' Text +'port' Keyword +' ' Text +'map' Keyword +' ' Text +'(' Punctuation +'clk' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'clk' Name +',' Punctuation +'\n' Text + +' ' Text +'rst' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'rst' Name +',' Punctuation +'\n' Text + +' ' Text +'d1' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'d1' Name +',' Punctuation +'\n' Text + +' ' Text +'d2' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'d2' Name +',' Punctuation +'\n' Text + +' ' Text +'operation' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'operation' Name +',' Punctuation +'\n' Text + +' ' Text +'result' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'result' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'clock_process' Name +' ' Text +':' Operator +' ' Text +'process' Keyword +'\n' Text + +' ' Text +'begin' Keyword +'\n' Text + +' ' Text +'clk' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'0'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'5' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +' ' Text +'clk' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'1'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'5' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +' ' Text +'end' Keyword +' ' Text +'process' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'data_process' Name +' ' Text +':' Operator +' ' Text +'process' Keyword +'\n' Text + +' ' Text +'begin' Keyword +' \n\t\t\n\t\t' Text +'-- test case #1\t' Comment.Single +'\n' Text + +'\t \t' Text +'operation' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'0'" Literal.String.Char +';' Punctuation +'\n' Text + +'\t\t\n ' Text +'rst' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'1'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'5' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +' ' Text +'rst' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'0'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'5' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +'\t\t\n\t\t' Text +'d1' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'to_unsigned' Name +'(' Punctuation +'60' Literal.Number.Integer +',' Punctuation +' ' Text +'d1' Name +"'length" Name.Attribute +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'d2' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'to_unsigned' Name +'(' Punctuation +'12' Literal.Number.Integer +',' Punctuation +' ' Text +'d2' Name +"'length" Name.Attribute +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'360' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +'\t\t\n\t\t' Text +'assert' Keyword +' ' Text +'(' Punctuation +'result' Name +' ' Text +'=' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'to_unsigned' Name +'(' Punctuation +'720' Literal.Number.Integer +',' Punctuation +' ' Text +'result' Name +"'length" Name.Attribute +')' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'report' Name +' ' Text +'"Test case #1 failed"' Literal.String +' ' Text +'severity' Keyword +' ' Text +'error' Name +';' Punctuation +' \n \n\t\t' Text +'-- test case #2\t' Comment.Single +'\n' Text + +'\t \t' Text +'operation' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'0'" Literal.String.Char +';' Punctuation +'\n' Text + +'\t\t\n ' Text +'rst' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'1'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'5' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +' ' Text +'rst' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +"'0'" Literal.String.Char +';' Punctuation +'\n' Text + +' ' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'5' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +'\t\t\n\t\t' Text +'d1' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'to_unsigned' Name +'(' Punctuation +'55' Literal.Number.Integer +',' Punctuation +' ' Text +'d1' Name +"'length" Name.Attribute +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'d2' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'to_unsigned' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'d2' Name +"'length" Name.Attribute +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'wait' Keyword +' ' Text +'for' Keyword +' ' Text +'360' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +'\t\t\n\t\t' Text +'assert' Keyword +' ' Text +'(' Punctuation +'result' Name +' ' Text +'=' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'to_unsigned' Name +'(' Punctuation +'55' Literal.Number.Integer +',' Punctuation +' ' Text +'result' Name +"'length" Name.Attribute +')' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'report' Name +' ' Text +'"Test case #2 failed"' Literal.String +' ' Text +'severity' Keyword +' ' Text +'error' Name +';' Punctuation +'\n' Text + +' \n ' Text +'-- etc ' Comment.Single +'\n' Text + +' \n ' Text +'end' Keyword +' ' Text +'process' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +'end' Keyword +' ' Text +'top_testbench_arch' Name.Class +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'configuration' Keyword +' ' Text +'testbench_for_top' Name.Class +' ' Text +'of' Keyword +' ' Text +'top_testbench' Name.Class +' ' Text +'is' Keyword +'\n' Text + +'\t' Text +'for' Keyword +' ' Text +'top_testbench_arch' Name +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'TESTUNIT' Name +' ' Text +':' Operator +' ' Text +'top' Name +'\n' Text + +'\t\t\t' Text +'use' Keyword +' ' Text +'entity' Keyword +' ' Text +'work' Name.Namespace +'.' Punctuation +'top' Name +'(' Punctuation +'top_arch' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'end' Keyword +' ' Text +'for' Keyword +';' Punctuation +'\n' Text + +'\t' Text +'end' Keyword +' ' Text +'for' Keyword +';' Punctuation +'\n' Text + +'end' Keyword +' ' Text +'testbench_for_top' Name.Class +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'function' Keyword +' ' Text +'compare' Name +'(' Punctuation +'A' Name +':' Operator +' ' Text +'std_logic' Keyword.Type +',' Punctuation +' ' Text +'B' Name +':' Operator +' ' Text +'std_Logic' Keyword.Type +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'std_logic' Keyword.Type +' ' Text +'is' Keyword +'\n' Text + +' ' Text +'constant' Keyword +' ' Text +'pi' Name +' ' Text +':' Operator +' ' Text +'real' Name +' ' Text +':' Operator +'=' Operator +' ' Text +'3' Literal.Number.Integer +'.' Punctuation +'14159' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'constant' Keyword +' ' Text +'half_pi' Name +' ' Text +':' Operator +' ' Text +'real' Name +' ' Text +':' Operator +'=' Operator +' ' Text +'pi' Name +' ' Text +'/' Operator +' ' Text +'2' Literal.Number.Integer +'.' Punctuation +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'constant' Keyword +' ' Text +'cycle_time' Name +' ' Text +':' Operator +' ' Text +'time' Keyword.Type +' ' Text +':' Operator +'=' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +' ' Text +'constant' Keyword +' ' Text +'N' Name +',' Punctuation +' ' Text +'N5' Name +' ' Text +':' Operator +' ' Text +'integer' Keyword.Type +' ' Text +':' Operator +'=' Operator +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n' Text + +'begin' Keyword +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'A' Name +' ' Text +'=' Operator +' ' Text +"'0'" Literal.String.Char +' ' Text +'and' Keyword +' ' Text +'B' Name +' ' Text +'=' Operator +' ' Text +"'1'" Literal.String.Char +')' Punctuation +' ' Text +'then' Keyword +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'B' Name +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'A' Name +';' Punctuation +'\n' Text + +' ' Text +'end' Keyword +' ' Text +'if' Keyword +' ' Text +';' Punctuation +'\n' Text + +'end' Keyword +' ' Text +'compare' Name.Class +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'procedure' Keyword +' ' Text +'print' Name +'(' Punctuation +'P' Name +' ' Text +':' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'7' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'U' Name +' ' Text +':' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'3' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +')' Punctuation +' ' Text +'is' Keyword +'\n' Text + +' ' Text +'variable' Keyword +' ' Text +'my_line' Name +' ' Text +':' Operator +' ' Text +'line' Name +';' Punctuation +'\n' Text + +' ' Text +'alias' Keyword +' ' Text +'swrite' Name +' ' Text +'is' Keyword +' ' Text +'write' Name +' ' Text +'[' Punctuation +'line' Name +',' Punctuation +' ' Text +'string' Keyword.Type +',' Punctuation +' ' Text +'side' Name +',' Punctuation +' ' Text +'width' Name +']' Punctuation +' ' Text +';' Punctuation +'\n' Text + +'begin' Keyword +'\n' Text + +' ' Text +'swrite' Name +'(' Punctuation +'my_line' Name +',' Punctuation +' ' Text +'"sqrt( "' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'write' Name +'(' Punctuation +'my_line' Name +',' Punctuation +' ' Text +'P' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'swrite' Name +'(' Punctuation +'my_line' Name +',' Punctuation +' ' Text +'" )= "' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'write' Name +'(' Punctuation +'my_line' Name +',' Punctuation +' ' Text +'U' Name +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'writeline' Name +'(' Punctuation +'output' Name +',' Punctuation +' ' Text +'my_line' Name +')' Punctuation +';' Punctuation +'\n' Text + +'end' Keyword +' ' Text +'print' Name.Class +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'entity' Keyword +' ' Text +'add32csa' Name.Class +' ' Text +'is' Keyword +' ' Text +'-- one stage of carry save adder for multiplier' Comment.Single +'\n' Text + +' ' Text +'port' Keyword +'(' Punctuation +'\n' Text + +' ' Text +'b' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +' ' Text +'-- a multiplier bit' Comment.Single +'\n' Text + +' ' Text +'a' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'31' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +' ' Text +'-- multiplicand' Comment.Single +'\n' Text + +' ' Text +'sum_in' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'31' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +' ' Text +'-- sums from previous stage' Comment.Single +'\n' Text + +' ' Text +'cin' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'31' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +' ' Text +'-- carrys from previous stage' Comment.Single +'\n' Text + +' ' Text +'sum_out' Name +' ' Text +':' Operator +' ' Text +'out' Keyword +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'31' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +';' Punctuation +' ' Text +'-- sums to next stage' Comment.Single +'\n' Text + +' ' Text +'cout' Name +' ' Text +':' Operator +' ' Text +'out' Keyword +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'31' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +')' Punctuation +';' Punctuation +' ' Text +'-- carrys to next stage' Comment.Single +'\n' Text + +'end' Keyword +' ' Text +'add32csa' Name.Class +';' Punctuation +'\n' Text + +'\n' Text + +'\n' Text + +'ARCHITECTURE' Keyword +' ' Text +'circuits' Name.Class +' ' Text +'of' Keyword +' ' Text +'add32csa' Name.Class +' ' Text +'IS' Keyword +'\n' Text + +' ' Text +'SIGNAL' Keyword +' ' Text +'zero' Name +' ' Text +':' Operator +' ' Text +'STD_LOGIC_VECTOR' Keyword.Type +'(' Punctuation +'31' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +' ' Text +':' Operator +'=' Operator +' ' Text +'X"00000000"' Literal.Number.Hex +';' Punctuation +'\n' Text + +' ' Text +'SIGNAL' Keyword +' ' Text +'aa' Name +' ' Text +':' Operator +' ' Text +'std_logic_vector' Keyword.Type +'(' Punctuation +'31' Literal.Number.Integer +' ' Text +'downto' Keyword +' ' Text +'0' Literal.Number.Integer +')' Punctuation +' ' Text +':' Operator +'=' Operator +' ' Text +'X"00000000"' Literal.Number.Hex +';' Punctuation +'\n' Text + +' \n ' Text +'COMPONENT' Keyword +' ' Text +'fadd' Name.Class +' ' Text +'-- duplicates entity port' Comment.Single +'\n' Text + +' ' Text +'PoRT' Keyword +'(' Punctuation +'a' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'b' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'cin' Name +' ' Text +':' Operator +' ' Text +'in' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'s' Name +' ' Text +':' Operator +' ' Text +'out' Keyword +' ' Text +'std_logic' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'cout' Name +' ' Text +':' Operator +' ' Text +'out' Keyword +' ' Text +'std_logic' Keyword.Type +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'end' Keyword +' ' Text +'comPonent' Keyword +' ' Text +'fadd' Name.Class +';' Punctuation +'\n' Text + +' \n' Text + +'begin' Keyword +' ' Text +'-- circuits of add32csa' Comment.Single +'\n' Text + +' ' Text +'aa' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'a' Name +' ' Text +'when' Keyword +' ' Text +'b' Name +'=' Operator +"'1'" Literal.String.Char +' ' Text +'else' Keyword +' ' Text +'zero' Name +' ' Text +'after' Keyword +' ' Text +'1' Literal.Number.Integer +' ' Text +'ns' Name +';' Punctuation +'\n' Text + +' ' Text +'stage' Name.Class +':' Operator +' ' Text +'for' Keyword +' ' Text +'I' Name +' ' Text +'in' Keyword +' ' Text +'0' Literal.Number.Integer +' ' Text +'to' Keyword +' ' Text +'31' Literal.Number.Integer +' ' Text +'generate' Keyword +'\n' Text + +' ' Text +'sta' Name +':' Operator +' ' Text +'fadd' Name +' ' Text +'port' Keyword +' ' Text +'map' Keyword +'(' Punctuation +'aa' Name +'(' Punctuation +'I' Name +')' Punctuation +',' Punctuation +' ' Text +'sum_in' Name +'(' Punctuation +'I' Name +')' Punctuation +',' Punctuation +' ' Text +'cin' Name +'(' Punctuation +'I' Name +')' Punctuation +' ' Text +',' Punctuation +' ' Text +'sum_out' Name +'(' Punctuation +'I' Name +')' Punctuation +',' Punctuation +' ' Text +'cout' Name +'(' Punctuation +'I' Name +')' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'end' Keyword +' ' Text +'generate' Keyword +' ' Text +'stage' Name.Class +';' Punctuation +' \n' Text + +'end' Keyword +' ' Text +'architecture' Keyword +' ' Text +'circuits' Name.Class +';' Punctuation +' ' Text +'-- of add32csa' Comment.Single +'\n' Text diff --git a/tests/examplefiles/phpcomplete.vim b/tests/examplefiles/vim/phpcomplete.vim similarity index 100% rename from tests/examplefiles/phpcomplete.vim rename to tests/examplefiles/vim/phpcomplete.vim diff --git a/tests/examplefiles/vim/phpcomplete.vim.output b/tests/examplefiles/vim/phpcomplete.vim.output new file mode 100644 index 0000000..7457f04 --- /dev/null +++ b/tests/examplefiles/vim/phpcomplete.vim.output @@ -0,0 +1,5012 @@ +'" Vim completion script' Comment +'\n' Text + +'" Language:\tPHP' Comment +'\n' Text + +'" Maintainer:\tMikolaj Machowski ( mikmach AT wp DOT pl )' Comment +'\n' Text + +'" Last Change:\t2006 May 9' Comment +'\n' Text + +'"' Comment +'\n' Text + +'" TODO:' Comment +'\n' Text + +'" - Class aware completion:' Comment +'\n' Text + +'" a) caching?' Comment +'\n' Text + +'" - Switching to HTML (XML?) completion (SQL) inside of phpStrings' Comment +'\n' Text + +'" - allow also for XML completion <- better do html_flavor for HTML' Comment +'\n' Text + +'" completion' Comment +'\n' Text + +'" - outside of getting parent tag may cause problems. Heh, even in' Comment +'\n' Text + +'" perfect conditions GetLastOpenTag doesn\'t cooperate... Inside of' Comment +'\n' Text + +'" phpStrings this can be even a bonus but outside of it is not the' Comment +'\n' Text + +'" best situation' Comment +'\n' Text + +'\n' Text + +'function' Keyword +'!' Punctuation +' ' Text +'phpcomplete' Text +'#' Text +'CompletePHP' Text +'(' Punctuation +'findstart' Text +',' Punctuation +' ' Text +'base' Text +')' Punctuation +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'a' Keyword +':' Text +'findstart' Text +'\n' Text + +'\t\t' Text +'unlet' Text +'!' Punctuation +' ' Text +'b' Keyword +':' Text +'php_menu' Text +'\n' Text + +'\t\t" Check if we are inside of PHP markup' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'pos' Text +' ' Text +'=' Punctuation +' ' Text +'getpos' Text +'(' Punctuation +"'.'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'phpbegin' Text +' ' Text +'=' Punctuation +' ' Text +'searchpairpos' Text +'(' Punctuation +"''" Literal.String.Single +',' Punctuation +' ' Text +"'bWn'" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t' Text +'\\' Text +' ' Text +'\'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'phpend' Text +' ' Text +'=' Punctuation +' ' Text +'searchpairpos' Text +'(' Punctuation +"''" Literal.String.Single +',' Punctuation +' ' Text +"'Wn'" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t' Text +'\\' Text +' ' Text +'\'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'phpbegin' Text +' ' Text +'=' Punctuation +'=' Punctuation +' ' Text +'[' Text +'0' Literal.Number +',' Punctuation +'0' Literal.Number +']' Text +' ' Text +'&' Text +'&' Text +' ' Text +'phpend' Text +' ' Text +'=' Punctuation +'=' Punctuation +' ' Text +'[' Text +'0' Literal.Number +',' Punctuation +'0' Literal.Number +']' Text +'\n' Text + +'\t\t\t" We are outside of any PHP markup. Complete HTML' Comment +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'htmlbegin' Text +' ' Text +'=' Punctuation +' ' Text +'htmlcomplete' Text +'#' Text +'CompleteTags' Text +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'cursor_col' Text +' ' Text +'=' Punctuation +' ' Text +'pos' Text +'[' Text +'2' Literal.Number +']' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'base' Text +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +"'.'" Literal.String.Single +')' Punctuation +'[' Text +'htmlbegin' Text +' ' Text +':' Text +' ' Text +'cursor_col' Text +']' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'b' Keyword +':' Text +'php_menu' Text +' ' Text +'=' Punctuation +' ' Text +'htmlcomplete' Text +'#' Text +'CompleteTags' Text +'(' Punctuation +'0' Literal.Number +',' Punctuation +' ' Text +'base' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'return' Keyword +' ' Text +'htmlbegin' Text +'\n' Text + +'\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t" locate the start of the word' Comment +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'line' Text +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +"'.'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'start' Keyword +' ' Text +'=' Punctuation +' ' Text +'col' Keyword +'(' Punctuation +"'.'" Literal.String.Single +')' Punctuation +' ' Text +'-' Punctuation +' ' Text +'1' Literal.Number +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'curline' Text +' ' Text +'=' Punctuation +' ' Text +'line' Text +'(' Punctuation +"'.'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'compl_begin' Text +' ' Text +'=' Punctuation +' ' Text +'col' Keyword +'(' Punctuation +"'.'" Literal.String.Single +')' Punctuation +' ' Text +'-' Punctuation +' ' Text +'2' Literal.Number +'\n' Text + +'\t\t\t' Text +'while' Keyword +' ' Text +'start' Keyword +' ' Text +'>' Punctuation +'=' Punctuation +' ' Text +'0' Literal.Number +' ' Text +'&' Text +'&' Text +' ' Text +'line' Text +'[' Text +'start' Keyword +' ' Text +'-' Punctuation +' ' Text +'1' Literal.Number +']' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'[a-zA-Z_0-9\\x7f-\\xff$]'" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'start' Keyword +' ' Text +'-' Punctuation +'=' Punctuation +' ' Text +'1' Literal.Number +'\n' Text + +'\t\t\t' Text +'endwhile' Keyword +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'b' Keyword +':' Text +'compl_context' Text +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +"'.'" Literal.String.Single +')' Punctuation +'[' Text +'0' Literal.Number +':' Text +'compl_begin' Text +']' Text +'\n' Text + +'\t\t\t' Text +'return' Keyword +' ' Text +'start' Keyword +'\n' Text + +'\n\t\t\t" We can be also inside of phpString with HTML tags. Deal with' Comment +'\n' Text + +'\t\t\t" it later (time, not lines).' Comment +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t' Text +'endif' Keyword +'\n' Text + +'\t" If exists b:php_menu it means completion was already constructed we' Comment +'\n' Text + +'\t" don\'t need to do anything more' Comment +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'exists' Text +'(' Punctuation +'"b:php_menu"' Literal.String.Double +')' Punctuation +'\n' Text + +'\t\t' Text +'return' Keyword +' ' Text +'b' Keyword +':' Text +'php_menu' Text +'\n' Text + +'\t' Text +'endif' Keyword +'\n' Text + +'\t" Initialize base return lists' Comment +'\n' Text + +'\t' Text +'let' Keyword +' ' Text +'res' Keyword +' ' Text +'=' Punctuation +' ' Text +'[' Text +']' Text +'\n' Text + +'\t' Text +'let' Keyword +' ' Text +'res2' Text +' ' Text +'=' Punctuation +' ' Text +'[' Text +']' Text +'\n' Text + +'\t" a:base is very short - we need context' Comment +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'exists' Text +'(' Punctuation +'"b:compl_context"' Literal.String.Double +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'context' Text +' ' Text +'=' Punctuation +' ' Text +'b' Keyword +':' Text +'compl_context' Text +'\n' Text + +'\t\t' Text +'unlet' Text +'!' Punctuation +' ' Text +'b' Keyword +':' Text +'compl_context' Text +'\n' Text + +'\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'!' Punctuation +'exists' Text +'(' Punctuation +"'g:php_builtin_functions'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'phpcomplete' Text +'#' Text +'LoadData' Text +'(' Punctuation +')' Punctuation +'\n' Text + +'\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t' Text +'let' Keyword +' ' Text +'scontext' Text +' ' Text +'=' Punctuation +' ' Text +'substitute' Text +'(' Punctuation +'context' Text +',' Punctuation +' ' Text +"'\\$\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*$'" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'scontext' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'\\(=\\s*new\\|extends\\)\\s\\+$'" Literal.String.Single +'\n' Text + +'\t\t" Complete class name' Comment +'\n' Text + +'\t\t" Internal solution for finding classes in current file.' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'file' Keyword +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +"'$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'filter' Text +'(' Punctuation +'file' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t' Text +'\\' Text +' ' Text +'\'v:val =~ "class\\\\s\\\\+[a-zA-Z_\\\\x7f-\\\\xff][a-zA-Z_0-9\\\\x7f-\\\\xff]*\\\\s*("\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'fnames' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'map' Text +'(' Punctuation +'tagfiles' Text +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'\'escape(v:val, " \\\\#%")\'' Literal.String.Single +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'jfile' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'file' Keyword +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_values' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jfile' Text +',' Punctuation +' ' Text +"'class\\s\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_classes' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'int_values' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'c_name' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +' ' Text +"'^[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'c_name' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'int_classes' Text +'[' Text +'c_name' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n\t\t" Prepare list of classes from tags file' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'ext_classes' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'fnames' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'map' Text +'(' Punctuation +'tagfiles' Text +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'\'escape(v:val, " \\\\#%")\'' Literal.String.Single +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'fnames' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'exe' Text +' ' Text +"'silent! vimgrep /^'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'.' Text +"'.*\\tc\\(\\t\\|$\\)/j '" Literal.String.Single +'.' Text +'fnames' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'qflist' Text +' ' Text +'=' Punctuation +' ' Text +'getqflist' Text +'(' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'len' Text +'(' Punctuation +'qflist' Text +')' Punctuation +' ' Text +'>' Punctuation +' ' Text +'0' Literal.Number +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'field' Text +' ' Text +'in' Keyword +' ' Text +'qflist' Text +'\n' Text + +'\t\t\t\t\t" [:space:] thing: we don\'t have to be so strict when' Comment +'\n' Text + +'\t\t\t\t\t" dealing with tags files - entries there were already' Comment +'\n' Text + +'\t\t\t\t\t" checked by ctags.' Comment +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'^[^[:space:]]\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'ext_classes' Text +'[' Text +'item' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n\t\t" Prepare list of built in classes from g:php_builtin_functions' Comment +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'!' Punctuation +'exists' Text +'(' Punctuation +'"g:php_omni_bi_classes"' Literal.String.Double +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'g' Keyword +':' Text +'php_omni_bi_classes' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'keys' Text +'(' Punctuation +'g' Keyword +':' Text +'php_builtin_object_functions' Text +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'g' Keyword +':' Text +'php_omni_bi_classes' Text +'[' Text +'substitute' Text +'(' Punctuation +'i' Keyword +',' Punctuation +' ' Text +"'::.*$'" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'classes' Text +' ' Text +'=' Punctuation +' ' Text +'sort' Keyword +'(' Punctuation +'keys' Text +'(' Punctuation +'int_classes' Text +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'classes' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'sort' Keyword +'(' Punctuation +'keys' Text +'(' Punctuation +'ext_classes' Text +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'classes' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'sort' Keyword +'(' Punctuation +'keys' Text +'(' Punctuation +'g' Keyword +':' Text +'php_omni_bi_classes' Text +')' Punctuation +')' Punctuation +'\n' Text + +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'m' Keyword +' ' Text +'in' Keyword +' ' Text +'classes' Text +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'m' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'\n' Text + +'\t\t\t\t' Text +'call' Keyword +' ' Text +'add' Text +'(' Punctuation +'res' Keyword +',' Punctuation +' ' Text +'m' Keyword +')' Punctuation +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'final_menu' Text +' ' Text +'=' Punctuation +' ' Text +'[' Text +']' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'res' Keyword +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'final_menu' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +',' Punctuation +' ' Text +"'kind'" Literal.String.Single +':' Text +"'c'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'return' Keyword +' ' Text +'final_menu' Text +'\n' Text + +'\n' Text + +'\t' Text +'elseif' Keyword +' ' Text +'scontext' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'\\(->\\|::\\)$'" Literal.String.Single +'\n' Text + +'\t\t" Complete user functions and variables' Comment +'\n' Text + +'\t\t" Internal solution for current file.' Comment +'\n' Text + +'\t\t" That seems as unnecessary repeating of functions but there are' Comment +'\n' Text + +'\t\t" few not so subtle differences as not appending of $ and addition' Comment +'\n' Text + +'\t\t" of \'kind\' tag (not necessary in regular completion)' Comment +'\n' Text + +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'scontext' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'->$'" Literal.String.Single +' ' Text +'&' Text +'&' Text +' ' Text +'scontext' Text +' ' Text +'!' Punctuation +'~' Punctuation +' ' Text +"'\\$this->$'" Literal.String.Single +'\n' Text + +'\n\t\t\t" Get name of the class' Comment +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'classname' Text +' ' Text +'=' Punctuation +' ' Text +'phpcomplete' Text +'#' Text +'GetClassName' Text +'(' Punctuation +'scontext' Text +')' Punctuation +'\n' Text + +'\n\t\t\t" Get location of class definition, we have to iterate through all' Comment +'\n' Text + +'\t\t\t" tags files separately because we need relative path from current' Comment +'\n' Text + +'\t\t\t" file to the exact file (tags file can be in different dir)' Comment +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'classname' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'classlocation' Text +' ' Text +'=' Punctuation +' ' Text +'phpcomplete' Text +'#' Text +'GetClassLocation' Text +'(' Punctuation +'classname' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'classlocation' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'classlocation' Text +' ' Text +'=' Punctuation +'=' Punctuation +' ' Text +"'VIMPHP_BUILTINOBJECT'" Literal.String.Single +'\n' Text + +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'object' Text +' ' Text +'in' Keyword +' ' Text +'keys' Text +'(' Punctuation +'g' Keyword +':' Text +'php_builtin_object_functions' Text +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'object' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^'" Literal.String.Single +'.' Text +'classname' Text +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'res' Keyword +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'substitute' Text +'(' Punctuation +'object' Text +',' Punctuation +' ' Text +"'.*::'" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t \t' Text +'\\' Text +' ' Text +"'info'" Literal.String.Single +':' Text +' ' Text +'g' Keyword +':' Text +'php_builtin_object_functions' Text +'[' Text +'object' Text +']' Text +'}' Text +']' Text +'\n' Text + +'\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t\t\t' Text +'return' Keyword +' ' Text +'res' Keyword +'\n' Text + +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'filereadable' Text +'(' Punctuation +'classlocation' Text +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'classfile' Text +' ' Text +'=' Punctuation +' ' Text +'readfile' Text +'(' Punctuation +'classlocation' Text +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'classcontent' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'classcontent' Text +' ' Text +'.' Text +'=' Punctuation +' ' Text +'"\\n"' Literal.String.Double +'.' Text +'phpcomplete' Text +'#' Text +'GetClassContents' Text +'(' Punctuation +'classfile' Text +',' Punctuation +' ' Text +'classname' Text +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'sccontent' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'classcontent' Text +',' Punctuation +' ' Text +'"\\n"' Literal.String.Double +')' Punctuation +'\n' Text + +'\n\t\t\t\t" YES, YES, YES! - we have whole content including extends!' Comment +'\n' Text + +'\t\t\t\t" Now we need to get two elements: public functions and public' Comment +'\n' Text + +'\t\t\t\t" vars' Comment +'\n' Text + +'\t\t\t\t" NO, NO, NO! - third separate filtering looking for content' Comment +'\n' Text + +'\t\t\t\t" :(, but all of them have differences. To squeeze them into' Comment +'\n' Text + +'\t\t\t\t" one implementation would require many additional arguments' Comment +'\n' Text + +'\t\t\t\t" and ifs. No good solution' Comment +'\n' Text + +'\t\t\t\t" Functions declared with public keyword or without any' Comment +'\n' Text + +'\t\t\t\t" keyword are public' Comment +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'functions' Text +' ' Text +'=' Punctuation +' ' Text +'filter' Text +'(' Punctuation +'deepcopy' Text +'(' Punctuation +'sccontent' Text +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +'\'v:val =~ "^\\\\s*\\\\(static\\\\s\\\\+\\\\|public\\\\s\\\\+\\\\)*function"\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'jfuncs' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'functions' Text +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'sfuncs' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jfuncs' Text +',' Punctuation +' ' Text +"'function\\s\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'c_functions' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'sfuncs' Text +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'f_name' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^&\\?\\zs[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'f_args' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*(\\zs.\\{-}\\ze)\\_s*{'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'f_name' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'c_functions' Text +'[' Text +'f_name' Text +'.' Text +"'('" Literal.String.Single +']' Text +' ' Text +'=' Punctuation +' ' Text +'f_args' Text +'\n' Text + +'\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t\t\t" Variables declared with var or with public keyword are' Comment +'\n' Text + +'\t\t\t\t" public' Comment +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'variables' Text +' ' Text +'=' Punctuation +' ' Text +'filter' Text +'(' Punctuation +'deepcopy' Text +'(' Punctuation +'sccontent' Text +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +'\'v:val =~ "^\\\\s*\\\\(public\\\\|var\\\\)\\\\s\\\\+\\\\$"\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'jvars' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'variables' Text +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'svars' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jvars' Text +',' Punctuation +' ' Text +"'\\$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'c_variables' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'svars' Text +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'c_var' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^\\zs[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'c_var' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'c_variables' Text +'[' Text +'c_var' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'all_values' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'c_functions' Text +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'c_variables' Text +')' Punctuation +'\n' Text + +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'m' Keyword +' ' Text +'in' Keyword +' ' Text +'sort' Keyword +'(' Punctuation +'keys' Text +'(' Punctuation +'all_values' Text +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'m' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +' ' Text +'&' Text +'&' Text +' ' Text +'m' Keyword +' ' Text +'!' Punctuation +'~' Punctuation +' ' Text +"'::'" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'call' Keyword +' ' Text +'add' Text +'(' Punctuation +'res' Keyword +',' Punctuation +' ' Text +'m' Keyword +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'elseif' Keyword +' ' Text +'m' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'::'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'\n' Text + +'\t\t\t\t\t\t' Text +'call' Keyword +' ' Text +'add' Text +'(' Punctuation +'res2' Text +',' Punctuation +' ' Text +'m' Keyword +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'start_list' Text +' ' Text +'=' Punctuation +' ' Text +'res' Keyword +' ' Text +'+' Punctuation +' ' Text +'res2' Text +'\n' Text + +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'=' Punctuation +' ' Text +'[' Text +']' Text +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'start_list' Text +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'has_key' Text +'(' Punctuation +'c_variables' Text +',' Punctuation +' ' Text +'i' Keyword +')' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'class' Text +' ' Text +'=' Punctuation +' ' Text +"' '" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'if' Keyword +' ' Text +'all_values' Text +'[' Text +'i' Keyword +']' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'class' Text +' ' Text +'=' Punctuation +' ' Text +'i' Keyword +'.' Text +"' class '" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'+' Punctuation +'=' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'info'" Literal.String.Single +':' Text +'class' Text +'.' Text +'all_values' Text +'[' Text +'i' Keyword +']' Text +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'kind'" Literal.String.Single +':' Text +"'v'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'+' Punctuation +'=' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'substitute' Text +'(' Punctuation +'i' Keyword +',' Punctuation +' ' Text +"'.*::'" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'info'" Literal.String.Single +':' Text +'i' Keyword +'.' Text +'all_values' Text +'[' Text +'i' Keyword +']' Text +'.' Text +"')'" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'kind'" Literal.String.Single +':' Text +"'f'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t\t\t' Text +'return' Keyword +' ' Text +'final_list' Text +'\n' Text + +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'a' Keyword +':' Text +'base' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^\\$'" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'adddollar' Text +' ' Text +'=' Punctuation +' ' Text +"'$'" Literal.String.Single +'\n' Text + +'\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'adddollar' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'file' Keyword +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +"'$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'jfile' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'file' Keyword +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'sfile' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jfile' Text +',' Punctuation +' ' Text +"'\\$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_vars' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'sfile' Text +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'i' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^\\$[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*=\\s*new'" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'val' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +' ' Text +"'^[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*'" Literal.String.Single +')' Punctuation +'.' Text +"'->'" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'val' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +' ' Text +"'^[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'val' Text +' ' Text +'!' Punctuation +'~' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'int_vars' Text +'[' Text +'adddollar' Text +'.' Text +'val' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n\t\t" ctags has good support for PHP, use tags file for external' Comment +'\n' Text + +'\t\t" variables' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'fnames' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'map' Text +'(' Punctuation +'tagfiles' Text +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'\'escape(v:val, " \\\\#%")\'' Literal.String.Single +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'ext_vars' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'fnames' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'sbase' Text +' ' Text +'=' Punctuation +' ' Text +'substitute' Text +'(' Punctuation +'a' Keyword +':' Text +'base' Text +',' Punctuation +' ' Text +"'^\\$'" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'exe' Text +' ' Text +"'silent! vimgrep /^'" Literal.String.Single +'.' Text +'sbase' Text +'.' Text +"'.*\\tv\\(\\t\\|$\\)/j '" Literal.String.Single +'.' Text +'fnames' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'qflist' Text +' ' Text +'=' Punctuation +' ' Text +'getqflist' Text +'(' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'len' Text +'(' Punctuation +'qflist' Text +')' Punctuation +' ' Text +'>' Punctuation +' ' Text +'0' Literal.Number +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'field' Text +' ' Text +'in' Keyword +' ' Text +'qflist' Text +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'^[^[:space:]]\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t" Add -> if it is possible object declaration' Comment +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'classname' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +'item' Text +'.' Text +"'\\s*=\\s*new\\s\\+'" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +'item' Text +'.' Text +"'->'" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'classname' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'=\\s*new\\s\\+\\zs[a-zA-Z_0-9\\x7f-\\xff]\\+\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'ext_vars' Text +'[' Text +'adddollar' Text +'.' Text +'item' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +'classname' Text +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n\t\t" Now we have all variables in int_vars dictionary' Comment +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'int_vars' Text +',' Punctuation +' ' Text +'ext_vars' Text +')' Punctuation +'\n' Text + +'\n\t\t" Internal solution for finding functions in current file.' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'file' Keyword +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +"'$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'filter' Text +'(' Punctuation +'file' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t' Text +'\\' Text +' ' Text +'\'v:val =~ "function\\\\s\\\\+&\\\\?[a-zA-Z_\\\\x7f-\\\\xff][a-zA-Z_0-9\\\\x7f-\\\\xff]*\\\\s*("\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'fnames' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'map' Text +'(' Punctuation +'tagfiles' Text +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'\'escape(v:val, " \\\\#%")\'' Literal.String.Single +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'jfile' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'file' Keyword +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_values' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jfile' Text +',' Punctuation +' ' Text +"'function\\s\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_functions' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'int_values' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'f_name' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^&\\?\\zs[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'f_args' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*(\\zs.\\{-}\\ze)\\_s*{'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'int_functions' Text +'[' Text +'f_name' Text +'.' Text +"'('" Literal.String.Single +']' Text +' ' Text +'=' Punctuation +' ' Text +'f_args' Text +'.' Text +"')'" Literal.String.Single +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n\t\t" Prepare list of functions from tags file' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'ext_functions' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'fnames' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'exe' Text +' ' Text +"'silent! vimgrep /^'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'.' Text +"'.*\\tf\\(\\t\\|$\\)/j '" Literal.String.Single +'.' Text +'fnames' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'qflist' Text +' ' Text +'=' Punctuation +' ' Text +'getqflist' Text +'(' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'len' Text +'(' Punctuation +'qflist' Text +')' Punctuation +' ' Text +'>' Punctuation +' ' Text +'0' Literal.Number +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'field' Text +' ' Text +'in' Keyword +' ' Text +'qflist' Text +'\n' Text + +'\t\t\t\t\t" File name' Comment +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'^[^[:space:]]\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'fname' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'\\t\\zs\\f\\+\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'prototype' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'function\\s\\+&\\?[^[:space:]]\\+\\s*(\\s*\\zs.\\{-}\\ze\\s*)\\s*{\\?'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'ext_functions' Text +'[' Text +'item' Text +'.' Text +"'('" Literal.String.Single +']' Text +' ' Text +'=' Punctuation +' ' Text +'prototype' Text +'.' Text +"') - '" Literal.String.Single +'.' Text +'fname' Text +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'all_values' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'int_functions' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'ext_functions' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'int_vars' Text +')' Punctuation +' ' Text +'" external variables are already in' Comment +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'g' Keyword +':' Text +'php_builtin_object_functions' Text +')' Punctuation +'\n' Text + +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'m' Keyword +' ' Text +'in' Keyword +' ' Text +'sort' Keyword +'(' Punctuation +'keys' Text +'(' Punctuation +'all_values' Text +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'m' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'\\(^\\|::\\)'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'\n' Text + +'\t\t\t\t' Text +'call' Keyword +' ' Text +'add' Text +'(' Punctuation +'res' Keyword +',' Punctuation +' ' Text +'m' Keyword +')' Punctuation +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'start_list' Text +' ' Text +'=' Punctuation +' ' Text +'res' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'=' Punctuation +' ' Text +'[' Text +']' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'start_list' Text +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'has_key' Text +'(' Punctuation +'int_vars' Text +',' Punctuation +' ' Text +'i' Keyword +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'class' Text +' ' Text +'=' Punctuation +' ' Text +"' '" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'if' Keyword +' ' Text +'all_values' Text +'[' Text +'i' Keyword +']' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'class' Text +' ' Text +'=' Punctuation +' ' Text +'i' Keyword +'.' Text +"' class '" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +',' Punctuation +' ' Text +"'info'" Literal.String.Single +':' Text +'class' Text +'.' Text +'all_values' Text +'[' Text +'i' Keyword +']' Text +',' Punctuation +' ' Text +"'kind'" Literal.String.Single +':' Text +"'v'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'+' Punctuation +'=' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'substitute' Text +'(' Punctuation +'i' Keyword +',' Punctuation +' ' Text +"'.*::'" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'info'" Literal.String.Single +':' Text +'i' Keyword +'.' Text +'all_values' Text +'[' Text +'i' Keyword +']' Text +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'kind'" Literal.String.Single +':' Text +"'f'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'return' Keyword +' ' Text +'final_list' Text +'\n' Text + +'\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'a' Keyword +':' Text +'base' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^\\$'" Literal.String.Single +'\n' Text + +'\t\t" Complete variables' Comment +'\n' Text + +'\t\t" Built-in variables {{{' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'g' Keyword +':' Text +'php_builtin_vars' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +"'$GLOBALS'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_SERVER'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_GET'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_POST'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_COOKIE'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_FILES'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_ENV'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_REQUEST'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$_SESSION'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$HTTP_SERVER_VARS'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$HTTP_ENV_VARS'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$HTTP_COOKIE_VARS'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$HTTP_GET_VARS'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$HTTP_POST_VARS'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$HTTP_POST_FILES'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$HTTP_SESSION_VARS'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$php_errormsg'" Literal.String.Single +':' Text +"''" Literal.String.Single +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'$this'" Literal.String.Single +':' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +'}' Text +'\n' Text + +'\t\t" }}}' Comment +'\n' Text + +'\n\t\t" Internal solution for current file.' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'file' Keyword +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +"'$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'jfile' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'file' Keyword +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_vals' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jfile' Text +',' Punctuation +' ' Text +"'\\ze\\$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_vars' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'int_vals' Text +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'i' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^\\$[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*=\\s*new'" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'val' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^\\$[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*'" Literal.String.Single +')' Punctuation +'.' Text +"'->'" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'val' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^\\$[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'val' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'int_vars' Text +'[' Text +'val' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'int_vars' Text +',' Punctuation +'g' Keyword +':' Text +'php_builtin_vars' Text +')' Punctuation +'\n' Text + +'\n\t\t" ctags has support for PHP, use tags file for external variables' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'fnames' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'map' Text +'(' Punctuation +'tagfiles' Text +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'\'escape(v:val, " \\\\#%")\'' Literal.String.Single +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'ext_vars' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'fnames' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'sbase' Text +' ' Text +'=' Punctuation +' ' Text +'substitute' Text +'(' Punctuation +'a' Keyword +':' Text +'base' Text +',' Punctuation +' ' Text +"'^\\$'" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +',' Punctuation +' ' Text +"''" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'exe' Text +' ' Text +"'silent! vimgrep /^'" Literal.String.Single +'.' Text +'sbase' Text +'.' Text +"'.*\\tv\\(\\t\\|$\\)/j '" Literal.String.Single +'.' Text +'fnames' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'qflist' Text +' ' Text +'=' Punctuation +' ' Text +'getqflist' Text +'(' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'len' Text +'(' Punctuation +'qflist' Text +')' Punctuation +' ' Text +'>' Punctuation +' ' Text +'0' Literal.Number +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'field' Text +' ' Text +'in' Keyword +' ' Text +'qflist' Text +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +"'$'" Literal.String.Single +'.' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'^[^[:space:]]\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'m_menu' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t" Add -> if it is possible object declaration' Comment +'\n' Text + +'\t\t\t\t\t' Text +'if' Keyword +' ' Text +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +'item' Text +'.' Text +"'\\s*=\\s*new\\s\\+'" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +'item' Text +'.' Text +"'->'" Literal.String.Single +'\n' Text + +'\t\t\t\t\t\t' Text +'let' Keyword +' ' Text +'m_menu' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'=\\s*new\\s\\+\\zs[a-zA-Z_0-9\\x7f-\\xff]\\+\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'ext_vars' Text +'[' Text +'item' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +'m_menu' Text +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'int_vars' Text +',' Punctuation +' ' Text +'ext_vars' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'g' Keyword +':' Text +'a0' Text +' ' Text +'=' Punctuation +' ' Text +'keys' Text +'(' Punctuation +'int_vars' Text +')' Punctuation +'\n' Text + +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'m' Keyword +' ' Text +'in' Keyword +' ' Text +'sort' Keyword +'(' Punctuation +'keys' Text +'(' Punctuation +'int_vars' Text +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'m' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^\\'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'\n' Text + +'\t\t\t\t' Text +'call' Keyword +' ' Text +'add' Text +'(' Punctuation +'res' Keyword +',' Punctuation +' ' Text +'m' Keyword +')' Punctuation +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_list' Text +' ' Text +'=' Punctuation +' ' Text +'res' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_dict' Text +' ' Text +'=' Punctuation +' ' Text +'[' Text +']' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'int_list' Text +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'int_vars' Text +'[' Text +'i' Keyword +']' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'class' Text +' ' Text +'=' Punctuation +' ' Text +"' '" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'if' Keyword +' ' Text +'int_vars' Text +'[' Text +'i' Keyword +']' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'class' Text +' ' Text +'=' Punctuation +' ' Text +'i' Keyword +'.' Text +"' class '" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'int_dict' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +',' Punctuation +' ' Text +"'info'" Literal.String.Single +':' Text +'class' Text +'.' Text +'int_vars' Text +'[' Text +'i' Keyword +']' Text +',' Punctuation +' ' Text +"'kind'" Literal.String.Single +':' Text +"'v'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'int_dict' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +',' Punctuation +' ' Text +"'kind'" Literal.String.Single +':' Text +"'v'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'return' Keyword +' ' Text +'int_dict' Text +'\n' Text + +'\n' Text + +'\t' Text +'else' Keyword +'\n' Text + +'\t\t" Complete everything else -' Comment +'\n' Text + +'\t\t" + functions, DONE' Comment +'\n' Text + +'\t\t" + keywords of language DONE' Comment +'\n' Text + +'\t\t" + defines (constant definitions), DONE' Comment +'\n' Text + +'\t\t" + extend keywords for predefined constants, DONE' Comment +'\n' Text + +'\t\t" + classes (after new), DONE' Comment +'\n' Text + +'\t\t" + limit choice after -> and :: to funcs and vars DONE' Comment +'\n' Text + +'\n\t\t" Internal solution for finding functions in current file.' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'file' Keyword +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +"'$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'filter' Text +'(' Punctuation +'file' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t' Text +'\\' Text +' ' Text +'\'v:val =~ "function\\\\s\\\\+&\\\\?[a-zA-Z_\\\\x7f-\\\\xff][a-zA-Z_0-9\\\\x7f-\\\\xff]*\\\\s*("\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'fnames' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'map' Text +'(' Punctuation +'tagfiles' Text +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'\'escape(v:val, " \\\\#%")\'' Literal.String.Single +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'jfile' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'file' Keyword +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_values' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jfile' Text +',' Punctuation +' ' Text +"'function\\s\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_functions' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'int_values' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'f_name' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^&\\?\\zs[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'f_args' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'\\' Text +' ' Text +"'^&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*(\\s*\\zs.\\{-}\\ze\\s*)\\_s*{'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'int_functions' Text +'[' Text +'f_name' Text +'.' Text +"'('" Literal.String.Single +']' Text +' ' Text +'=' Punctuation +' ' Text +'f_args' Text +'.' Text +"')'" Literal.String.Single +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n\t\t" Prepare list of functions from tags file' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'ext_functions' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'fnames' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'exe' Text +' ' Text +"'silent! vimgrep /^'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'.' Text +"'.*\\tf\\(\\t\\|$\\)/j '" Literal.String.Single +'.' Text +'fnames' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'qflist' Text +' ' Text +'=' Punctuation +' ' Text +'getqflist' Text +'(' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'len' Text +'(' Punctuation +'qflist' Text +')' Punctuation +' ' Text +'>' Punctuation +' ' Text +'0' Literal.Number +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'field' Text +' ' Text +'in' Keyword +' ' Text +'qflist' Text +'\n' Text + +'\t\t\t\t\t" File name' Comment +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'^[^[:space:]]\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'fname' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'\\t\\zs\\f\\+\\ze'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'prototype' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'function\\s\\+&\\?[^[:space:]]\\+\\s*(\\s*\\zs.\\{-}\\ze\\s*)\\s*{\\?'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'ext_functions' Text +'[' Text +'item' Text +'.' Text +"'('" Literal.String.Single +']' Text +' ' Text +'=' Punctuation +' ' Text +'prototype' Text +'.' Text +"') - '" Literal.String.Single +'.' Text +'fname' Text +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n\t\t" All functions' Comment +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'int_functions' Text +',' Punctuation +' ' Text +'ext_functions' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'int_functions' Text +',' Punctuation +' ' Text +'g' Keyword +':' Text +'php_builtin_functions' Text +')' Punctuation +'\n' Text + +'\n\t\t" Internal solution for finding constants in current file' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'file' Keyword +' ' Text +'=' Punctuation +' ' Text +'getline' Text +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +"'$'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'filter' Text +'(' Punctuation +'file' Keyword +',' Punctuation +' ' Text +'\'v:val =~ "define\\\\s*("\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'jfile' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'file' Keyword +',' Punctuation +' ' Text +"' '" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_values' Text +' ' Text +'=' Punctuation +' ' Text +'split' Text +'(' Punctuation +'jfile' Text +',' Punctuation +' ' Text +"'define\\s*(\\s*'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_constants' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'int_values' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'c_name' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'i' Keyword +',' Punctuation +' ' Text +'\'\\(["\'\']\\)\\zs[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\ze\\1\'' Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t" let c_value = matchstr(i,' Comment +'\n' Text + +'\t\t\t" \\ \'\\(["\'\']\\)[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\1\\s*,\\s*\\zs.\\{-}\\ze\\s*)\')' Comment +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'c_name' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'int_constants' Text +'[' Text +'c_name' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +' ' Text +'" c_value' Comment +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n\t\t" Prepare list of constants from tags file' Comment +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'fnames' Text +' ' Text +'=' Punctuation +' ' Text +'join' Keyword +'(' Punctuation +'map' Text +'(' Punctuation +'tagfiles' Text +'(' Punctuation +')' Punctuation +',' Punctuation +' ' Text +'\'escape(v:val, " \\\\#%")\'' Literal.String.Single +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'ext_constants' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'fnames' Text +' ' Text +'!' Punctuation +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'exe' Text +' ' Text +"'silent! vimgrep /^'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'.' Text +"'.*\\td\\(\\t\\|$\\)/j '" Literal.String.Single +'.' Text +'fnames' Text +'\n' Text + +'\t\t\t' Text +'let' Keyword +' ' Text +'qflist' Text +' ' Text +'=' Punctuation +' ' Text +'getqflist' Text +'(' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'len' Text +'(' Punctuation +'qflist' Text +')' Punctuation +' ' Text +'>' Punctuation +' ' Text +'0' Literal.Number +'\n' Text + +'\t\t\t\t' Text +'for' Keyword +' ' Text +'field' Text +' ' Text +'in' Keyword +' ' Text +'qflist' Text +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'item' Text +' ' Text +'=' Punctuation +' ' Text +'matchstr' Text +'(' Punctuation +'field' Text +'[' Text +"'text'" Literal.String.Single +']' Text +',' Punctuation +' ' Text +"'^[^[:space:]]\\+'" Literal.String.Single +')' Punctuation +'\n' Text + +'\t\t\t\t\t' Text +'let' Keyword +' ' Text +'ext_constants' Text +'[' Text +'item' Text +']' Text +' ' Text +'=' Punctuation +' ' Text +"''" Literal.String.Single +'\n' Text + +'\t\t\t\t' Text +'endfor' Keyword +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endif' Keyword +'\n' Text + +'\n\t\t" All constants' Comment +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'int_constants' Text +',' Punctuation +' ' Text +'ext_constants' Text +')' Punctuation +'\n' Text + +'\t\t" Treat keywords as constants' Comment +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'all_values' Text +' ' Text +'=' Punctuation +' ' Text +'{' Text +'}' Text +'\n' Text + +'\n\t\t" One big dictionary of functions' Comment +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'int_functions' Text +')' Punctuation +'\n' Text + +'\n\t\t" Add constants' Comment +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'int_constants' Text +')' Punctuation +'\n' Text + +'\t\t" Add keywords' Comment +'\n' Text + +'\t\t' Text +'call' Keyword +' ' Text +'extend' Text +'(' Punctuation +'all_values' Text +',' Punctuation +' ' Text +'g' Keyword +':' Text +'php_keywords' Text +')' Punctuation +'\n' Text + +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'m' Keyword +' ' Text +'in' Keyword +' ' Text +'sort' Keyword +'(' Punctuation +'keys' Text +'(' Punctuation +'all_values' Text +')' Punctuation +')' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'m' Keyword +' ' Text +'=' Punctuation +'~' Punctuation +' ' Text +"'^'" Literal.String.Single +'.' Text +'a' Keyword +':' Text +'base' Text +'\n' Text + +'\t\t\t\t' Text +'call' Keyword +' ' Text +'add' Text +'(' Punctuation +'res' Keyword +',' Punctuation +' ' Text +'m' Keyword +')' Punctuation +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'int_list' Text +' ' Text +'=' Punctuation +' ' Text +'res' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'=' Punctuation +' ' Text +'[' Text +']' Text +'\n' Text + +'\t\t' Text +'for' Keyword +' ' Text +'i' Keyword +' ' Text +'in' Keyword +' ' Text +'int_list' Text +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'has_key' Text +'(' Punctuation +'int_functions' Text +',' Punctuation +' ' Text +'i' Keyword +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'+' Punctuation +'=' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'info'" Literal.String.Single +':' Text +'i' Keyword +'.' Text +'int_functions' Text +'[' Text +'i' Keyword +']' Text +',' Punctuation +'\n' Text + +'\t\t\t\t\t\t' Text +'\\' Text +' ' Text +"'kind'" Literal.String.Single +':' Text +"'f'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t' Text +'elseif' Keyword +' ' Text +'has_key' Text +'(' Punctuation +'int_constants' Text +',' Punctuation +' ' Text +'i' Keyword +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +',' Punctuation +' ' Text +"'kind'" Literal.String.Single +':' Text +"'d'" Literal.String.Single +'}' Text +']' Text +'\n' Text + +'\t\t\t' Text +'else' Keyword +'\n' Text + +'\t\t\t\t' Text +'let' Keyword +' ' Text +'final_list' Text +' ' Text +'+' Punctuation +'=' Punctuation +' ' Text +'[' Text +'{' Text +"'word'" Literal.String.Single +':' Text +'i' Keyword +'}' Text +']' Text +'\n' Text + +'\t\t\t' Text +'endif' Keyword +'\n' Text + +'\t\t' Text +'endfor' Keyword +'\n' Text + +'\n' Text + +'\t\t' Text +'return' Keyword +' ' Text +'final_list' Text +'\n' Text + +'\n' Text + +'\t' Text +'endif' Keyword +'\n' Text + +'\n' Text + +'endfunction' Keyword +'\n' Text + +'" vim:set foldmethod=marker:' Comment +'\n' Text diff --git a/tests/examplefiles/vimrc b/tests/examplefiles/vim/vimrc similarity index 100% rename from tests/examplefiles/vimrc rename to tests/examplefiles/vim/vimrc diff --git a/tests/examplefiles/vim/vimrc.output b/tests/examplefiles/vim/vimrc.output new file mode 100644 index 0000000..52285b2 --- /dev/null +++ b/tests/examplefiles/vim/vimrc.output @@ -0,0 +1,131 @@ +'" A comment' Comment +'\n' Text + +'\n' Text + +':' Punctuation +'py' Keyword +' ' Text +'print' Name.Builtin +' ' Text +'"' Literal.String.Double +'py' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +':' Punctuation +':' Text +'pyt' Keyword +' ' Text +'print' Name.Builtin +' ' Text +"'" Literal.String.Single +'pyt' Literal.String.Single +"'" Literal.String.Single +'\n' Text + +' ' Text +'pyth' Keyword +'\t' Text +'print' Name.Builtin +' ' Text +"'''" Literal.String.Single +'pyth' Literal.String.Single +"'''" Literal.String.Single +'\n' Text + +' ' Text +':' Text +' ' Text +'pytho' Keyword +' ' Text +'print' Name.Builtin +' ' Text +'"' Literal.String.Double +'pytho' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'python' Keyword +' ' Text +'print' Name.Builtin +' ' Text +'"""' Literal.String.Double +'python' Literal.String.Double +'"""' Literal.String.Double +'\n' Text + +'\n' Text + +' ' Text +':' Text +' ' Text +':' Text +' ' Text +'python' Keyword +'<<' Operator +'E OF' Text +'\n' Text + +'print' Name.Builtin +' ' Text +'"""' Literal.String.Double +'my script' Literal.String.Double +'"""' Literal.String.Double +'\n' Text + +'\n' Text + +'def' Keyword +' ' Text +'MyFunc' Name.Function +'(' Punctuation +'str' Name.Builtin +')' Punctuation +':' Punctuation +'\n' Text + +' ' Text +'""" My Function """' Literal.String.Doc +'\n' Text + +' ' Text +'print' Name.Builtin +' ' Text +'str' Name.Builtin +'\n' Text + +'E OF' Text +'\n' Text + +'\n' Text + +'let' Keyword +' ' Text +'py' Keyword +' ' Text +'=' Punctuation +' ' Text +'42' Literal.Number +'\n' Text + +'echo' Text +' ' Text +'py' Keyword +'\n' Text + +'\n' Text + +'let' Keyword +' ' Text +'foo' Text +' ' Text +'=' Punctuation +' ' Text +'42' Literal.Number +'\n' Text + +'echo' Text +' ' Text +'foo' Text +'\n' Text diff --git a/tests/examplefiles/wdiff_example1.wdiff b/tests/examplefiles/wdiff/wdiff_example1.wdiff similarity index 100% rename from tests/examplefiles/wdiff_example1.wdiff rename to tests/examplefiles/wdiff/wdiff_example1.wdiff diff --git a/tests/examplefiles/wdiff/wdiff_example1.wdiff.output b/tests/examplefiles/wdiff/wdiff_example1.wdiff.output new file mode 100644 index 0000000..5218c6c --- /dev/null +++ b/tests/examplefiles/wdiff/wdiff_example1.wdiff.output @@ -0,0 +1,1123 @@ +'.. ' Text +'-' Text +'*' Text +'-' Text +' mode: rst ' Text +'-' Text +'*' Text +'-' Text +'\n\n' Text + +'{+' Generic.Inserted +'.. highlight:: python' Generic.Inserted +'+}' Generic.Inserted +'\n\n====================\nWrite your own lexer\n====================\n\nIf a lexer for your favorite language is missing in the Pygments package, you\ncan easily write your own and extend Pygments.\n\nAll you need can be found inside the :mod:`pygments.lexer` module. As you can\nread in the :doc:`API documentation `, a lexer is a class that is\ninitialized with some keyword arguments (the lexer options) and that provides a\n:meth:`.get_tokens_unprocessed()` method which is given a string or unicode\nobject with the data to ' Text +'[-' Generic.Deleted +'parse.' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'lex.' Generic.Inserted +'+}' Generic.Inserted +"\n\nThe :meth:`.get_tokens_unprocessed()` method must return an iterator or iterable\ncontaining tuples in the form ``(index, token, value)``. Normally you don't\nneed to do this since there are " Text +'[-' Generic.Deleted +'numerous' Generic.Deleted +'-]' Generic.Deleted +' base lexers ' Text +'{+' Generic.Inserted +'that do most of the work and that' Generic.Inserted +'+}' Generic.Inserted +'\nyou can subclass.\n\n\nRegexLexer\n==========\n\n' Text + +'[-' Generic.Deleted +'A very powerful (but quite easy to use)' Generic.Deleted +'-]' Generic.Deleted +'\n\n' Text + +'{+' Generic.Inserted +'The' Generic.Inserted +'+}' Generic.Inserted +' lexer ' Text +'{+' Generic.Inserted +"base class used by almost all of Pygments' lexers" Generic.Inserted +'+}' Generic.Inserted +' is the\n:class:`RegexLexer`. This\n' Text + +'[-' Generic.Deleted +'lexer base' Generic.Deleted +'-]' Generic.Deleted +' class allows you to define lexing rules in terms of\n*regular expressions* for different *states*.\n\nStates are groups of regular expressions that are matched against the input\nstring at the *current position*. If one of these expressions matches, a\ncorresponding action is performed ' Text +'[-' Generic.Deleted +'(normally' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'(such as' Generic.Inserted +'+}' Generic.Inserted +' yielding a token with a specific\n' Text + +'[-' Generic.Deleted +'type),' Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'type, or changing state),' Generic.Inserted +'+}' Generic.Inserted +' the current position is set to where the last match\nended and the matching process continues with the first regex of the current\nstate.\n\nLexer states are kept ' Text +'[-' Generic.Deleted +'in' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'on' Generic.Inserted +'+}' Generic.Inserted +' a ' Text +'[-' Generic.Deleted +'state' Generic.Deleted +'-]' Generic.Deleted +" stack: each time a new state is entered, the new\nstate is pushed onto the stack. The most basic lexers (like the `DiffLexer`)\njust need one state.\n\nEach state is defined as a list of tuples in the form (`regex`, `action`,\n`new_state`) where the last item is optional. In the most basic form, `action`\nis a token type (like `Name.Builtin`). That means: When `regex` matches, emit a\ntoken with the match text and type `tokentype` and push `new_state` on the state\nstack. If the new state is ``'#pop'``, the topmost state is popped from the\nstack instead. " Text +'[-' Generic.Deleted +'(To' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'To' Generic.Inserted +'+}' Generic.Inserted +" pop more than one state, use ``'#pop:2'`` and so " Text +'[-' Generic.Deleted +'on.)' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'on.' Generic.Inserted +'+}' Generic.Inserted +"\n``'#push'`` is a synonym for pushing the current state on the stack.\n\nThe following example shows the `DiffLexer` from the builtin lexers. Note that\nit contains some additional attributes `name`, `aliases` and `filenames` which\naren't required for a lexer. They are used by the builtin lexer lookup\nfunctions.\n\n" Text + +'[-' Generic.Deleted +'.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'::' Generic.Inserted +'+}' Generic.Inserted +"\n\n from pygments.lexer import RegexLexer\n from pygments.token import *\n\n class DiffLexer(RegexLexer):\n name = 'Diff'\n aliases = " Text +'[' Text +"'diff'" Text +']' Text +'\n filenames = ' Text +'[' Text +"'*.diff'" Text +']' Text +'\n\n tokens = ' Text +'{' Text +"\n 'root': " Text +'[' Text +"\n (r' .*\\n', Text),\n (r'\\" Text +'+' Text +".*\\n', Generic.Inserted),\n (r'" Text +'-' Text +".*\\n', Generic.Deleted),\n (r'@.*\\n', Generic.Subheading),\n (r'Index.*\\n', Generic.Heading),\n (r'=.*\\n', Generic.Heading),\n (r'.*\\n', Text),\n " Text +']' Text +'\n ' Text +'}' Text +'\n\nAs you can see this lexer only uses one state. When the lexer starts scanning\nthe text, it first checks if the current character is a space. If this is true\nit scans everything until newline and returns the ' Text +'[-' Generic.Deleted +'parsed' Generic.Deleted +'-]' Generic.Deleted +' data as ' Text +'{+' Generic.Inserted +'a' Generic.Inserted +'+}' Generic.Inserted +' `Text` ' Text +'[-' Generic.Deleted +'token.' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'token (which\nis the "no special highlighting" token).' Generic.Inserted +'+}' Generic.Inserted +"\n\nIf this rule doesn't match, it checks if the current char is a plus sign. And\nso on.\n\nIf no rule matches at the current position, the current char is emitted as an\n`Error` token that indicates a " Text +'[-' Generic.Deleted +'parsing' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'lexing' Generic.Inserted +'+}' Generic.Inserted +' error, and the position is increased by\n' Text + +'[-' Generic.Deleted +'1.' Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'one.' Generic.Inserted +'+}' Generic.Inserted +'\n\n\nAdding and testing a new lexer\n==============================\n\nTo make ' Text +'[-' Generic.Deleted +'pygments' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'Pygments' Generic.Inserted +'+}' Generic.Inserted +' aware of your new lexer, you have to perform the following\nsteps:\n\nFirst, change to the current directory containing the ' Text +'[-' Generic.Deleted +'pygments' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'Pygments' Generic.Inserted +'+}' Generic.Inserted +' source code:\n\n.. ' Text +'[-' Generic.Deleted +'sourcecode::' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'code' Generic.Inserted +'-' Generic.Inserted +'block::' Generic.Inserted +'+}' Generic.Inserted +' console\n\n $ cd .../pygments' Text +'-' Text +'main\n\n' Text + +'{+' Generic.Inserted +'Select a matching module under ``pygments/lexers``, or create a new module for\nyour lexer class.' Generic.Inserted +'+}' Generic.Inserted +'\n\nNext, make sure the lexer is known from outside of the module. All modules in\nthe ``pygments.lexers`` specify ``__all__``. For example, ' Text +'[-' Generic.Deleted +'``other.py`` sets:\n\n.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'``esoteric.py`` sets::' Generic.Inserted +'+}' Generic.Inserted +'\n\n __all__ = ' Text +'[' Text +"'BrainfuckLexer', 'BefungeLexer', ..." Text +']' Text +'\n\nSimply add the name of your lexer class to this list.\n\nFinally the lexer can be made ' Text +'[-' Generic.Deleted +'publically' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'publicly' Generic.Inserted +'+}' Generic.Inserted +' known by rebuilding the lexer mapping:\n\n.. ' Text +'[-' Generic.Deleted +'sourcecode::' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'code' Generic.Inserted +'-' Generic.Inserted +'block::' Generic.Inserted +'+}' Generic.Inserted +' console\n\n $ make mapfiles\n\nTo test the new lexer, store an example file with the proper extension in\n``tests/examplefiles``. For example, to test your ``DiffLexer``, add a\n``tests/examplefiles/example.diff`` containing a sample diff output.\n\nNow you can use pygmentize to render your example to HTML:\n\n.. ' Text +'[-' Generic.Deleted +'sourcecode::' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'code' Generic.Inserted +'-' Generic.Inserted +'block::' Generic.Inserted +'+}' Generic.Inserted +' console\n\n $ ./pygmentize ' Text +'-' Text +'O full ' Text +'-' Text +'f html ' Text +'-' Text +'o /tmp/example.html tests/examplefiles/example.diff\n\nNote that this ' Text +'[-' Generic.Deleted +'explicitely' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'explicitly' Generic.Inserted +'+}' Generic.Inserted +' calls the ``pygmentize`` in the current directory\nby preceding it with ``./``. This ensures your modifications are used.\nOtherwise a possibly already installed, unmodified version without your new\nlexer would have been called from the system search path (``$PATH``).\n\nTo view the result, open ``/tmp/example.html`` in your browser.\n\nOnce the example renders as expected, you should run the complete test suite:\n\n.. ' Text +'[-' Generic.Deleted +'sourcecode::' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'code' Generic.Inserted +'-' Generic.Inserted +'block::' Generic.Inserted +'+}' Generic.Inserted +' console\n\n $ make test\n\n' Text + +'{+' Generic.Inserted +'It also tests that your lexer fulfills the lexer API and certain invariants,\nsuch as that the concatenation of all token text is the same as the input text.' Generic.Inserted +'+}' Generic.Inserted +'\n\n\nRegex Flags\n===========\n\nYou can either define regex flags ' Text +'{+' Generic.Inserted +'locally' Generic.Inserted +'+}' Generic.Inserted +" in the regex (``r'(?x)foo bar'``) or\n" Text + +'{+' Generic.Inserted +'globally' Generic.Inserted +'+}' Generic.Inserted +' by adding a `flags` attribute to your lexer class. If no attribute is\ndefined, it defaults to `re.MULTILINE`. For more ' Text +'[-' Generic.Deleted +'informations' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'information' Generic.Inserted +'+}' Generic.Inserted +' about regular\nexpression flags see the ' Text +'{+' Generic.Inserted +'page about' Generic.Inserted +'+}' Generic.Inserted +' `regular expressions`_ ' Text +'[-' Generic.Deleted +'help page' Generic.Deleted +'-]' Generic.Deleted +' in the ' Text +'[-' Generic.Deleted +'python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'Python' Generic.Inserted +'+}' Generic.Inserted +'\ndocumentation.\n\n.. _regular expressions: ' Text +'[-' Generic.Deleted +'http://docs.python.org/lib/re' Generic.Deleted +'-' Generic.Deleted +'syntax.html' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'http://docs.python.org/library/re.html#regular' Generic.Inserted +'-' Generic.Inserted +'expression' Generic.Inserted +'-' Generic.Inserted +'syntax' Generic.Inserted +'+}' Generic.Inserted +'\n\n\nScanning multiple tokens at once\n================================\n\n' Text + +'{+' Generic.Inserted +'So far, the `action` element in the rule tuple of regex, action and state has\nbeen a single token type. Now we look at the first of several other possible\nvalues.' Generic.Inserted +'+}' Generic.Inserted +'\n\nHere is a more complex lexer that highlights INI files. INI files consist of\nsections, comments and ' Text +'[-' Generic.Deleted +'key' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'``key' Generic.Inserted +'+}' Generic.Inserted +' = ' Text +'[-' Generic.Deleted +'value pairs:\n\n.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'value`` pairs::' Generic.Inserted +'+}' Generic.Inserted +"\n\n from pygments.lexer import RegexLexer, bygroups\n from pygments.token import *\n\n class IniLexer(RegexLexer):\n name = 'INI'\n aliases = " Text +'[' Text +"'ini', 'cfg'" Text +']' Text +'\n filenames = ' Text +'[' Text +"'*.ini', '*.cfg'" Text +']' Text +'\n\n tokens = ' Text +'{' Text +"\n 'root': " Text +'[' Text +"\n (r'\\s" Text +'+' Text +"', Text),\n (r';.*?$', Comment),\n (r'\\" Text +'[' Text +'.*?\\' Text +']' Text +"$', Keyword),\n (r'(.*?)(\\s*)(=)(\\s*)(.*?)$',\n bygroups(Name.Attribute, Text, Operator, Text, String))\n " Text +']' Text +'\n ' Text +'}' Text +'\n\nThe lexer first looks for whitespace, comments and section names. ' Text +'[-' Generic.Deleted +'And later' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'Later' Generic.Inserted +'+}' Generic.Inserted +" it\nlooks for a line that looks like a key, value pair, separated by an ``'='``\nsign, and optional whitespace.\n\nThe `bygroups` helper " Text +'[-' Generic.Deleted +'makes sure that' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'yields' Generic.Inserted +'+}' Generic.Inserted +' each ' Text +'{+' Generic.Inserted +'capturing' Generic.Inserted +'+}' Generic.Inserted +' group ' Text +'[-' Generic.Deleted +'is yielded' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'in the regex' Generic.Inserted +'+}' Generic.Inserted +' with a different\ntoken type. First the `Name.Attribute` token, then a `Text` token for the\noptional whitespace, after that a `Operator` token for the equals sign. Then a\n`Text` token for the whitespace again. The rest of the line is returned as\n`String`.\n\nNote that for this to work, every part of the match must be inside a capturing\ngroup (a ``(...)``), and there must not be any nested capturing groups. If you\nnevertheless need a group, use a non' Text +'-' Text +'capturing group defined using this syntax:\n' Text + +'[-' Generic.Deleted +"``r'(?:some|words|here)'``" Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'``(?:some|words|here)``' Generic.Inserted +'+}' Generic.Inserted +" (note the ``?:`` after the beginning parenthesis).\n\nIf you find yourself needing a capturing group inside the regex which shouldn't\nbe part of the output but is used in the regular expressions for backreferencing\n(eg: ``r'(<(foo|bar)>)(.*?)()'``), you can pass `None` to the bygroups\nfunction and " Text +'[-' Generic.Deleted +'it will skip' Generic.Deleted +'-]' Generic.Deleted +" that group will be skipped in the output.\n\n\nChanging states\n===============\n\nMany lexers need multiple states to work as expected. For example, some\nlanguages allow multiline comments to be nested. Since this is a recursive\npattern it's impossible to lex just using regular expressions.\n\nHere is " Text +'[-' Generic.Deleted +'the solution:\n\n.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'a lexer that recognizes C' Generic.Inserted +'+' Generic.Inserted +'+' Generic.Inserted +' style comments (multi' Generic.Inserted +'-' Generic.Inserted +'line with ``/* */``\nand single' Generic.Inserted +'-' Generic.Inserted +'line with ``//`` until end of line)::' Generic.Inserted +'+}' Generic.Inserted +'\n\n from pygments.lexer import RegexLexer\n from pygments.token import *\n\n class ' Text +'[-' Generic.Deleted +'ExampleLexer(RegexLexer):' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'CppCommentLexer(RegexLexer):' Generic.Inserted +'+}' Generic.Inserted +"\n name = 'Example Lexer with states'\n\n tokens = " Text +'{' Text +"\n 'root': " Text +'[' Text +"\n (r'" Text +'[' Text +'^/' Text +']' Text +'+' Text +"', Text),\n (r'/\\*', Comment.Multiline, 'comment'),\n (r'//.*?$', Comment.Singleline),\n (r'/', Text)\n " Text +']' Text +",\n 'comment': " Text +'[' Text +"\n (r'" Text +'[' Text +'^*/' Text +']' Text +"', Comment.Multiline),\n (r'/\\*', Comment.Multiline, '#push'),\n (r'\\*/', Comment.Multiline, '#pop'),\n (r'" Text +'[' Text +'*/' Text +']' Text +"', Comment.Multiline)\n " Text +']' Text +'\n ' Text +'}' Text +"\n\nThis lexer starts lexing in the ``'root'`` state. It tries to match as much as\npossible until it finds a slash (``'/'``). If the next character after the slash\nis " Text +'[-' Generic.Deleted +'a star' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'an asterisk' Generic.Inserted +'+}' Generic.Inserted +" (``'*'``) the `RegexLexer` sends those two characters to the\noutput stream marked as `Comment.Multiline` and continues " Text +'[-' Generic.Deleted +'parsing' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'lexing' Generic.Inserted +'+}' Generic.Inserted +" with the rules\ndefined in the ``'comment'`` state.\n\nIf there wasn't " Text +'[-' Generic.Deleted +'a star' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'an asterisk' Generic.Inserted +'+}' Generic.Inserted +" after the slash, the `RegexLexer` checks if it's a\n" Text + +'[-' Generic.Deleted +'singleline' Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'Singleline' Generic.Inserted +'+}' Generic.Inserted +' comment ' Text +'[-' Generic.Deleted +'(eg:' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'(i.e.' Generic.Inserted +'+}' Generic.Inserted +" followed by a second slash). If this also wasn't the\ncase it must be a single " Text +'[-' Generic.Deleted +'slash' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'slash, which is not a comment starter' Generic.Inserted +'+}' Generic.Inserted +" (the separate\nregex for a single slash must also be given, else the slash would be marked as\nan error token).\n\nInside the ``'comment'`` state, we do the same thing again. Scan until the\nlexer finds a star or slash. If it's the opening of a multiline comment, push\nthe ``'comment'`` state on the stack and continue scanning, again in the\n``'comment'`` state. Else, check if it's the end of the multiline comment. If\nyes, pop one state from the stack.\n\nNote: If you pop from an empty stack you'll get an `IndexError`. (There is an\neasy way to prevent this from happening: don't ``'#pop'`` in the root state).\n\nIf the `RegexLexer` encounters a newline that is flagged as an error token, the\nstack is emptied and the lexer continues scanning in the ``'root'`` state. This\n" Text + +'[-' Generic.Deleted +'helps' Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'can help' Generic.Inserted +'+}' Generic.Inserted +' producing error' Text +'-' Text +'tolerant highlighting for erroneous input, e.g. when a\nsingle' Text +'-' Text +'line string is not closed.\n\n\nAdvanced state tricks\n=====================\n\nThere are a few more things you can do with states:\n\n' Text + +'-' Text +' You can push multiple states onto the stack if you give a tuple instead of a\n simple string as the third item in a rule tuple. For example, if you want to\n match a comment containing a directive, something ' Text +'[-' Generic.Deleted +'like::' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'like:\n\n .. code' Generic.Inserted +'-' Generic.Inserted +'block:: text' Generic.Inserted +'+}' Generic.Inserted +'\n\n /* rest of comment */\n\n you can use this ' Text +'[-' Generic.Deleted +'rule:\n\n .. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'rule::' Generic.Inserted +'+}' Generic.Inserted +'\n\n tokens = ' Text +'{' Text +"\n 'root': " Text +'[' Text +"\n (r'/\\* <', Comment, ('comment', 'directive')),\n ...\n " Text +']' Text +",\n 'directive': " Text +'[' Text +"\n (r'" Text +'[' Text +'^>' Text +']' Text +"*', Comment.Directive),\n (r'>', Comment, '#pop'),\n " Text +']' Text +",\n 'comment': " Text +'[' Text +"\n (r'" Text +'[' Text +'^*' Text +']' Text +'+' Text +"', Comment),\n (r'\\*/', Comment, '#pop'),\n (r'\\*', Comment),\n " Text +']' Text +'\n ' Text +'}' Text +"\n\n When this encounters the above sample, first ``'comment'`` and ``'directive'``\n are pushed onto the stack, then the lexer continues in the directive state\n until it finds the closing ``>``, then it continues in the comment state until\n the closing ``*/``. Then, both states are popped from the stack again and\n lexing continues in the root state.\n\n .. versionadded:: 0.9\n The tuple can contain the special ``'#push'`` and ``'#pop'`` (but not\n ``'#pop:n'``) directives.\n\n\n" Text + +'-' Text +' You can include the rules of a state in the definition of another. This is\n done by using `include` from ' Text +'[-' Generic.Deleted +'`pygments.lexer`:\n\n .. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'`pygments.lexer`::' Generic.Inserted +'+}' Generic.Inserted +'\n\n from pygments.lexer import RegexLexer, bygroups, include\n from pygments.token import *\n\n class ExampleLexer(RegexLexer):\n tokens = ' Text +'{' Text +"\n 'comments': " Text +'[' Text +"\n (r'/\\*.*?\\*/', Comment),\n (r'//.*?\\n', Comment),\n " Text +']' Text +",\n 'root': " Text +'[' Text +"\n include('comments'),\n (r'(function )(\\w" Text +'+' Text +')( ' Text +'{' Text +")',\n bygroups(Keyword, Name, Keyword), 'function'),\n (r'.', Text),\n " Text +']' Text +",\n 'function': " Text +'[' Text +"\n (r'" Text +'[' Text +'^' Text +'}' Text +'/' Text +']' Text +'+' Text +"', Text),\n include('comments'),\n (r'/', Text),\n " Text +'[-' Generic.Deleted +"(r'" Generic.Deleted +'}' Generic.Deleted +"'," Generic.Deleted +'-]' Generic.Deleted +'\n ' Text +'{+' Generic.Inserted +"(r'\\" Generic.Inserted +'}' Generic.Inserted +"'," Generic.Inserted +'+}' Generic.Inserted +" Keyword, '#pop'),\n " Text +']' Text +'\n ' Text +'}' Text +"\n\n This is a hypothetical lexer for a language that consist of functions and\n comments. Because comments can occur at toplevel and in functions, we need\n rules for comments in both states. As you can see, the `include` helper saves\n repeating rules that occur more than once (in this example, the state\n ``'comment'`` will never be entered by the lexer, as it's only there to be\n included in ``'root'`` and ``'function'``).\n\n" Text + +'-' Text +' Sometimes, you may want to "combine" a state from existing ones. This is\n possible with the ' Text +'[-' Generic.Deleted +'`combine`' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'`combined`' Generic.Inserted +'+}' Generic.Inserted +" helper from `pygments.lexer`.\n\n If you, instead of a new state, write ``combined('state1', 'state2')`` as the\n third item of a rule tuple, a new anonymous state will be formed from state1\n and state2 and if the rule matches, the lexer will enter this state.\n\n This is not used very often, but can be helpful in some cases, such as the\n `PythonLexer`'s string literal processing.\n\n" Text + +'-' Text +' If you want your lexer to start lexing in a different state you can modify the\n stack by ' Text +'[-' Generic.Deleted +'overloading' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'overriding' Generic.Inserted +'+}' Generic.Inserted +' the `get_tokens_unprocessed()` ' Text +'[-' Generic.Deleted +'method:\n\n .. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'method::' Generic.Inserted +'+}' Generic.Inserted +'\n\n from pygments.lexer import RegexLexer\n\n class ' Text +'[-' Generic.Deleted +'MyLexer(RegexLexer):' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'ExampleLexer(RegexLexer):' Generic.Inserted +'+}' Generic.Inserted +'\n tokens = ' Text +'{' Text +'...' Text +'}' Text +'\n\n def get_tokens_unprocessed(self, ' Text +'[-' Generic.Deleted +'text):\n stack = ' Generic.Deleted +'[' Generic.Deleted +"'root', 'otherstate'" Generic.Deleted +']' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +"text, stack=('root', 'otherstate')):" Generic.Inserted +'+}' Generic.Inserted +"\n for item in RegexLexer.get_tokens_unprocessed(text, stack):\n yield item\n\n Some lexers like the `PhpLexer` use this to make the leading ``', Name.Tag),\n " Text +']' Text +",\n 'script" Text +'-' Text +"content': " Text +'[' Text +"\n (r'(." Text +'+' Text +"?)(<\\s*/\\s*script\\s*>)',\n bygroups(using(JavascriptLexer), Name.Tag),\n '#pop'),\n " Text +']' Text +'\n ' Text +'}' Text +'\n\nHere the content of a ```` end tag is processed by the `JavascriptLexer`,\nwhile the end tag is yielded as a normal token with the `Name.Tag` type.\n\n' Text + +'[-' Generic.Deleted +'As an additional goodie, if the lexer class is replaced by `this` (imported from\n`pygments.lexer`), the "other" lexer will be the current one (because you cannot\nrefer to the current class within the code that runs at class definition time).' Generic.Deleted +'-]' Generic.Deleted +"\n\nAlso note the ``(r'<\\s*script\\s*', Name.Tag, ('script" Text +'-' Text +"content', 'tag'))`` rule.\nHere, two states are pushed onto the state stack, ``'script" Text +'-' Text +"content'`` and\n``'tag'``. That means that first ``'tag'`` is processed, which will " Text +'[-' Generic.Deleted +'parse' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'lex' Generic.Inserted +'+}' Generic.Inserted +"\nattributes and the closing ``>``, then the ``'tag'`` state is popped and the\nnext state on top of the stack will be ``'script" Text +'-' Text +"content'``.\n\n" Text + +'{+' Generic.Inserted +'Since you cannot refer to the class currently being defined, use `this`\n(imported from `pygments.lexer`) to refer to the current lexer class, i.e.\n``using(this)``. This construct may seem unnecessary, but this is often the\nmost obvious way of lexing arbitrary syntax between fixed delimiters without\nintroducing deeply nested states.' Generic.Inserted +'+}' Generic.Inserted +'\n\nThe `using()` helper has a special keyword argument, `state`, which works as\nfollows: if given, the lexer to use initially is not in the ``"root"`` state,\nbut in the state given by this argument. This ' Text +'[-' Generic.Deleted +'*only* works' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'does not work' Generic.Inserted +'+}' Generic.Inserted +' with ' Text +'[-' Generic.Deleted +'a `RegexLexer`.' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'advanced\n`RegexLexer` subclasses such as `ExtendedRegexLexer` (see below).' Generic.Inserted +'+}' Generic.Inserted +'\n\nAny other keywords arguments passed to `using()` are added to the keyword\narguments used to create the lexer.\n\n\nDelegating Lexer\n================\n\nAnother approach for nested lexers is the `DelegatingLexer` which is for example\nused for the template engine lexers. It takes two lexers as arguments on\ninitialisation: a `root_lexer` and a `language_lexer`.\n\nThe input is processed as follows: First, the whole text is lexed with the\n`language_lexer`. All tokens yielded with ' Text +'[-' Generic.Deleted +'a' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'the special' Generic.Inserted +'+}' Generic.Inserted +" type of ``Other`` are\nthen concatenated and given to the `root_lexer`. The language tokens of the\n`language_lexer` are then inserted into the `root_lexer`'s token stream at the\nappropriate positions.\n\n" Text + +'[-' Generic.Deleted +'.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'::' Generic.Inserted +'+}' Generic.Inserted +'\n\n from pygments.lexer import DelegatingLexer\n from pygments.lexers.web import HtmlLexer, PhpLexer\n\n class HtmlPhpLexer(DelegatingLexer):\n def __init__(self, **options):\n super(HtmlPhpLexer, self).__init__(HtmlLexer, PhpLexer, **options)\n\nThis procedure ensures that e.g. HTML with template tags in it is highlighted\ncorrectly even if the template tags are put into HTML tags or attributes.\n\nIf you want to change the needle token ``Other`` to something else, you can give\nthe lexer another token type as the third ' Text +'[-' Generic.Deleted +'parameter:\n\n.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'parameter::' Generic.Inserted +'+}' Generic.Inserted +'\n\n DelegatingLexer.__init__(MyLexer, OtherLexer, Text, **options)\n\n\nCallbacks\n=========\n\nSometimes the grammar of a language is so complex that a lexer would be unable\nto ' Text +'[-' Generic.Deleted +'parse' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'process' Generic.Inserted +'+}' Generic.Inserted +' it just by using regular expressions and stacks.\n\nFor this, the `RegexLexer` allows callbacks to be given in rule tuples, instead\nof token types (`bygroups` and `using` are nothing else but preimplemented\ncallbacks). The callback must be a function taking two arguments:\n\n* the lexer itself\n* the match object for the last matched rule\n\nThe callback must then return an iterable of (or simply yield) ``(index,\ntokentype, value)`` tuples, which are then just passed through by\n`get_tokens_unprocessed()`. The ``index`` here is the position of the token in\nthe input string, ``tokentype`` is the normal token type (like `Name.Builtin`),\nand ``value`` the associated part of the input string.\n\nYou can see an example ' Text +'[-' Generic.Deleted +'here:\n\n.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'here::' Generic.Inserted +'+}' Generic.Inserted +'\n\n from pygments.lexer import RegexLexer\n from pygments.token import Generic\n\n class HypotheticLexer(RegexLexer):\n\n def headline_callback(lexer, match):\n equal_signs = match.group(1)\n text = match.group(2)\n yield match.start(), Generic.Headline, equal_signs ' Text +'+' Text +' text ' Text +'+' Text +' equal_signs\n\n tokens = ' Text +'{' Text +"\n 'root': " Text +'[' Text +"\n (r'(=" Text +'+' Text +")(.*?)(\\1)', headline_callback)\n " Text +']' Text +'\n ' Text +'}' Text +'\n\nIf the regex for the `headline_callback` matches, the function is called with\nthe match object. Note that after the callback is done, processing continues\nnormally, that is, after the end of the previous match. The callback has no\npossibility to influence the position.\n\nThere are not really any simple examples for lexer callbacks, but you can see\nthem in action e.g. in the ' Text +'[-' Generic.Deleted +'`compiled.py`_ source code' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'`SMLLexer` class' Generic.Inserted +'+}' Generic.Inserted +' in ' Text +'[-' Generic.Deleted +'the `CLexer` and\n`JavaLexer` classes.' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'`ml.py`_.' Generic.Inserted +'+}' Generic.Inserted +'\n\n.. ' Text +'[-' Generic.Deleted +'_compiled.py: http://bitbucket.org/birkenfeld/pygments' Generic.Deleted +'-' Generic.Deleted +'main/src/tip/pygments/lexers/compiled.py' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'_ml.py: http://bitbucket.org/birkenfeld/pygments' Generic.Inserted +'-' Generic.Inserted +'main/src/tip/pygments/lexers/ml.py' Generic.Inserted +'+}' Generic.Inserted +"\n\n\nThe ExtendedRegexLexer class\n============================\n\nThe `RegexLexer`, even with callbacks, unfortunately isn't powerful enough for\nthe funky syntax rules of " Text +'[-' Generic.Deleted +'some' Generic.Deleted +'-]' Generic.Deleted +' languages ' Text +'[-' Generic.Deleted +'that will go unnamed,' Generic.Deleted +'-]' Generic.Deleted +" such as Ruby.\n\nBut fear not; even then you don't have to abandon the regular expression\n" Text + +'[-' Generic.Deleted +'approach. For' Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'approach:' Generic.Inserted +'+}' Generic.Inserted +' Pygments has a subclass of `RegexLexer`, the `ExtendedRegexLexer`.\nAll features known from RegexLexers are available here too, and the tokens are\nspecified in exactly the same way, *except* for one detail:\n\nThe `get_tokens_unprocessed()` method holds its internal state data not as local\nvariables, but in an instance of the `pygments.lexer.LexerContext` class, and\nthat instance is passed to callbacks as a third argument. This means that you\ncan modify the lexer state in callbacks.\n\nThe `LexerContext` class has the following members:\n\n* `text` ' Text +'-' Text +'-' Text +' the input text\n* `pos` ' Text +'-' Text +'-' Text +' the current starting position that is used for matching regexes\n* `stack` ' Text +'-' Text +'-' Text +' a list containing the state stack\n* `end` ' Text +'-' Text +'-' Text +" the maximum position to which regexes are matched, this defaults to\n the length of `text`\n\nAdditionally, the `get_tokens_unprocessed()` method can be given a\n`LexerContext` instead of a string and will then process this context instead of\ncreating a new one for the string argument.\n\nNote that because you can set the current position to anything in the callback,\nit won't be automatically be set by the caller after the callback is finished.\nFor example, this is how the hypothetical lexer above would be written with the\n" Text + +'[-' Generic.Deleted +'`ExtendedRegexLexer`:\n\n.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'`ExtendedRegexLexer`::' Generic.Inserted +'+}' Generic.Inserted +'\n\n from pygments.lexer import ExtendedRegexLexer\n from pygments.token import Generic\n\n class ExHypotheticLexer(ExtendedRegexLexer):\n\n def headline_callback(lexer, match, ctx):\n equal_signs = match.group(1)\n text = match.group(2)\n yield match.start(), Generic.Headline, equal_signs ' Text +'+' Text +' text ' Text +'+' Text +' equal_signs\n ctx.pos = match.end()\n\n tokens = ' Text +'{' Text +"\n 'root': " Text +'[' Text +"\n (r'(=" Text +'+' Text +")(.*?)(\\1)', headline_callback)\n " Text +']' Text +'\n ' Text +'}' Text +'\n\nThis might sound confusing (and it can really be). But it is needed, and for an\nexample look at the Ruby lexer in ' Text +'[-' Generic.Deleted +'`agile.py`_.' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'`ruby.py`_.' Generic.Inserted +'+}' Generic.Inserted +'\n\n.. ' Text +'[-' Generic.Deleted +'_agile.py: https://bitbucket.org/birkenfeld/pygments' Generic.Deleted +'-' Generic.Deleted +'main/src/tip/pygments/lexers/agile.py\n\n\nFiltering' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'_ruby.py: https://bitbucket.org/birkenfeld/pygments' Generic.Inserted +'-' Generic.Inserted +"main/src/tip/pygments/lexers/ruby.py\n\n\nHandling Lists of Keywords\n==========================\n\nFor a relatively short list (hundreds) you can construct an optimized regular\nexpression directly using ``words()`` (longer lists, see next section). This\nfunction handles a few things for you automatically, including escaping\nmetacharacters and Python's first" Generic.Inserted +'-' Generic.Inserted +'match rather than longest' Generic.Inserted +'-' Generic.Inserted +'match in\nalternations. Feel free to put the lists themselves in\n``pygments/lexers/_$lang_builtins.py`` (see examples there), and generated by\ncode if possible.\n\nAn example of using ``words()`` is something like::\n\n from pygments.lexer import RegexLexer, words, Name\n\n class MyLexer(RegexLexer):\n\n tokens = ' Generic.Inserted +'{' Generic.Inserted +"\n 'root': " Generic.Inserted +'[' Generic.Inserted +"\n (words(('else', 'elseif'), suffix=r'\\b'), Name.Builtin),\n (r'\\w" Generic.Inserted +'+' Generic.Inserted +"', Name),\n " Generic.Inserted +']' Generic.Inserted +',\n ' Generic.Inserted +'}' Generic.Inserted +'\n\nAs you can see, you can add ``prefix`` and ``suffix`` parts to the constructed\nregex.\n\n\nModifying' Generic.Inserted +'+}' Generic.Inserted +" Token Streams\n=======================\n\nSome languages ship a lot of builtin functions (for example PHP). The total\namount of those functions differs from system to system because not everybody\nhas every extension installed. In the case of PHP there are over 3000 builtin\nfunctions. That's an " Text +'[-' Generic.Deleted +'incredible' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'incredibly' Generic.Inserted +'+}' Generic.Inserted +' huge amount of functions, much more than you\n' Text + +'[-' Generic.Deleted +'can' Generic.Deleted +'-]' Generic.Deleted +'\n' Text + +'{+' Generic.Inserted +'want to' Generic.Inserted +'+}' Generic.Inserted +' put into a regular expression.\n\nBut because only `Name` tokens can be function names ' Text +'[-' Generic.Deleted +"it's" Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'this is' Generic.Inserted +'+}' Generic.Inserted +' solvable by\noverriding the ``get_tokens_unprocessed()`` method. The following lexer\nsubclasses the `PythonLexer` so that it highlights some additional names as\npseudo ' Text +'[-' Generic.Deleted +'keywords:\n\n.. sourcecode:: python' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'keywords::' Generic.Inserted +'+}' Generic.Inserted +'\n\n from ' Text +'[-' Generic.Deleted +'pygments.lexers.agile' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +'pygments.lexers.python' Generic.Inserted +'+}' Generic.Inserted +' import PythonLexer\n from pygments.token import Name, Keyword\n\n class MyPythonLexer(PythonLexer):\n EXTRA_KEYWORDS = ' Text +'[-' Generic.Deleted +'[' Generic.Deleted +"'foo'," Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +"set(('foo'," Generic.Inserted +'+}' Generic.Inserted +" 'bar', 'foobar', 'barfoo', 'spam', " Text +'[-' Generic.Deleted +"'eggs'" Generic.Deleted +']' Generic.Deleted +'-]' Generic.Deleted +' ' Text +'{+' Generic.Inserted +"'eggs'))" Generic.Inserted +'+}' Generic.Inserted +'\n\n def get_tokens_unprocessed(self, text):\n for index, token, value in PythonLexer.get_tokens_unprocessed(self, text):\n if token is Name and value in self.EXTRA_KEYWORDS:\n yield index, Keyword.Pseudo, value\n else:\n yield index, token, value\n\nThe `PhpLexer` and `LuaLexer` use this method to resolve builtin functions.\n\n' Text + +'[-' Generic.Deleted +'.. note:: Do not confuse this with the :doc:`filter ` system.' Generic.Deleted +'-]' Generic.Deleted +'\n' Text diff --git a/tests/examplefiles/wdiff_example3.wdiff b/tests/examplefiles/wdiff/wdiff_example3.wdiff similarity index 100% rename from tests/examplefiles/wdiff_example3.wdiff rename to tests/examplefiles/wdiff/wdiff_example3.wdiff diff --git a/tests/examplefiles/wdiff/wdiff_example3.wdiff.output b/tests/examplefiles/wdiff/wdiff_example3.wdiff.output new file mode 100644 index 0000000..2f06c1f --- /dev/null +++ b/tests/examplefiles/wdiff/wdiff_example3.wdiff.output @@ -0,0 +1,24 @@ +'This example is unbalanced open' Text +'-' Text +"close.\nWe can't treat these easily.\n\n" Text + +'{+' Generic.Inserted +' added? ' Generic.Inserted +'-]' Generic.Inserted +'\n' Text + +'[-' Generic.Deleted +' deleted? ' Generic.Deleted +'+}' Generic.Deleted +'\n\nsuddenly closed ' Text +'-' Text +']' Text +'\nsuddenly closed ' Text +'+' Text +'}' Text +'\n\n' Text + +'{+' Generic.Inserted +' added? ' Generic.Inserted +'[-' Generic.Inserted +' deleted?\n' Generic.Inserted diff --git a/tests/examplefiles/example.webidl b/tests/examplefiles/webidl/example.webidl similarity index 100% rename from tests/examplefiles/example.webidl rename to tests/examplefiles/webidl/example.webidl diff --git a/tests/examplefiles/webidl/example.webidl.output b/tests/examplefiles/webidl/example.webidl.output new file mode 100644 index 0000000..eb122b6 --- /dev/null +++ b/tests/examplefiles/webidl/example.webidl.output @@ -0,0 +1,11932 @@ +'/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */' Comment.Multiline +'\n' Text + +'/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this file,\n * You can obtain one at http://mozilla.org/MPL/2.0/.\n */' Comment.Multiline +'\n\n' Text + +'typedef' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'myLong' Name.Class +';' Punctuation +'\n' Text + +'typedef' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'AnotherNameForTestInterface' Name.Class +';' Punctuation +'\n' Text + +'typedef' Keyword +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'NullableTestInterface' Name.Class +';' Punctuation +'\n' Text + +'typedef' Keyword +' ' Text +'CustomEventInit' Name.Class +' ' Text +'TestDictionaryTypedef' Name.Class +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestExternalInterface' Name.Class +';' Punctuation +'\n\n' Text + +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"xyz"' Literal.String +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'TestRenamedInterface' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'callback' Keyword +' ' Text +'interface' Keyword +' ' Text +'TestCallbackInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'foo' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'bar' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'doSomething' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'doSomethingElse' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'arg' Name.Variable +',' Punctuation +' ' Text +'TestInterface' Name.Class +' ' Text +'otherArg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'doSequenceLongArg' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'doSequenceStringArg' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'doMozMapLongArg' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'getSequenceOfLong' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'getSequenceOfInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'getNullableSequenceOfInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'getSequenceOfNullableInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'getNullableSequenceOfNullableInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'>' Punctuation +' ' Text +'getSequenceOfCallbackInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'getNullableSequenceOfCallbackInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'getSequenceOfNullableCallbackInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'getNullableSequenceOfNullableCallbackInterfaces' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'getMozMapOfLong' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'Dict' Name.Class +'?' Punctuation +' ' Text +'getDictionary' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passArrayBuffer' Name.Function +'(' Punctuation +'ArrayBuffer' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableArrayBuffer' Name.Function +'(' Punctuation +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalArrayBuffer' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ArrayBuffer' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableArrayBuffer' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableArrayBufferWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passArrayBufferView' Name.Function +'(' Punctuation +'ArrayBufferView' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passInt8Array' Name.Function +'(' Punctuation +'Int8Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passInt16Array' Name.Function +'(' Punctuation +'Int16Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passInt32Array' Name.Function +'(' Punctuation +'Int32Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint8Array' Name.Function +'(' Punctuation +'Uint8Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint16Array' Name.Function +'(' Punctuation +'Uint16Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint32Array' Name.Function +'(' Punctuation +'Uint32Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint8ClampedArray' Name.Function +'(' Punctuation +'Uint8ClampedArray' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passFloat32Array' Name.Function +'(' Punctuation +'Float32Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passFloat64Array' Name.Function +'(' Punctuation +'Float64Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfArrayBuffers' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ArrayBuffer' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfNullableArrayBuffers' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ArrayBuffer' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicTypedArray' Name.Function +'(' Punctuation +'Float32Array' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicNullableTypedArray' Name.Function +'(' Punctuation +'Float32Array' Keyword.Type +'?' Punctuation +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'Uint8Array' Keyword.Type +' ' Text +'receiveUint8Array' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'Uint8Array' Keyword.Type +' ' Text +'uint8ArrayAttr' Name.Variable +';' Punctuation +'\n ' Text +'Promise' Keyword.Type +'<' Punctuation +'void' Keyword.Type +'>' Punctuation +' ' Text +'receivePromise' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'callback' Keyword +' ' Text +'interface' Keyword +' ' Text +'TestSingleOperationCallbackInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'TestInterface' Name.Class +' ' Text +'doSomething' Name.Function +'(' Punctuation +'short' Keyword.Type +' ' Text +'arg' Name.Variable +',' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'double' Keyword.Type +'>' Punctuation +' ' Text +'anotherArg' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'enum' Keyword +' ' Text +'TestEnum' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'"1"' Literal.String +',' Punctuation +'\n ' Text +'"a"' Literal.String +',' Punctuation +'\n ' Text +'"b"' Literal.String +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'callback' Keyword +' ' Text +'TestCallback' Name.Class +' ' Text +'=' Punctuation +' ' Text +'void' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'[' Punctuation +'TreatNonCallableAsNull' Name.Decorator +']' Punctuation +' ' Text +'callback' Keyword +' ' Text +'TestTreatAsNullCallback' Name.Class +' ' Text +'=' Punctuation +' ' Text +'void' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n' Text + +'// Callback return value tests' Comment.Single +'\n' Text + +'callback' Keyword +' ' Text +'TestIntegerReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'long' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableIntegerReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'long' Keyword.Type +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestBooleanReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'boolean' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestFloatReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'float' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestStringReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'DOMString' Keyword.Type +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestEnumReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestEnum' Name.Class +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestInterfaceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestInterface' Name.Class +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableInterfaceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestInterface' Name.Class +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestExternalInterfaceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestExternalInterface' Name.Class +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableExternalInterfaceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestExternalInterface' Name.Class +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestCallbackInterfaceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestCallbackInterface' Name.Class +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableCallbackInterfaceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestCallbackInterface' Name.Class +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestCallbackReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestCallback' Name.Class +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableCallbackReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'TestCallback' Name.Class +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestObjectReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'object' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableObjectReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'object' Keyword.Type +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestTypedArrayReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'ArrayBuffer' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableTypedArrayReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'ArrayBuffer' Keyword.Type +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestSequenceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'boolean' Keyword.Type +'>' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestNullableSequenceReturn' Name.Class +' ' Text +'=' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'boolean' Keyword.Type +'>' Punctuation +'?' Punctuation +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'// Callback argument tests' Comment.Single +'\n' Text + +'callback' Keyword +' ' Text +'TestIntegerArguments' Name.Class +' ' Text +'=' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'long' Keyword.Type +'?' Punctuation +' ' Text +'arg2' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg3' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg4' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestInterfaceArguments' Name.Class +' ' Text +'=' Punctuation +' ' Text +'void' Keyword.Type +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'arg2' Name.Variable +',' Punctuation +'\n ' Text +'TestExternalInterface' Name.Class +' ' Text +'arg3' Name.Variable +',' Punctuation +'\n ' Text +'TestExternalInterface' Name.Class +'?' Punctuation +' ' Text +'arg4' Name.Variable +',' Punctuation +'\n ' Text +'TestCallbackInterface' Name.Class +' ' Text +'arg5' Name.Variable +',' Punctuation +'\n ' Text +'TestCallbackInterface' Name.Class +'?' Punctuation +' ' Text +'arg6' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'arg7' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg8' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestExternalInterface' Name.Class +'>' Punctuation +' ' Text +'arg9' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestExternalInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg10' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'>' Punctuation +' ' Text +'arg11' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg12' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestStringEnumArguments' Name.Class +' ' Text +'=' Punctuation +' ' Text +'void' Keyword.Type +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'myString' Name.Variable +',' Punctuation +' ' Text +'DOMString' Keyword.Type +'?' Punctuation +' ' Text +'nullString' Name.Variable +',' Punctuation +'\n ' Text +'TestEnum' Name.Class +' ' Text +'myEnum' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestObjectArguments' Name.Class +' ' Text +'=' Punctuation +' ' Text +'void' Keyword.Type +'(' Punctuation +'object' Keyword.Type +' ' Text +'anObj' Name.Variable +',' Punctuation +' ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'anotherObj' Name.Variable +',' Punctuation +'\n ' Text +'ArrayBuffer' Keyword.Type +' ' Text +'buf' Name.Variable +',' Punctuation +' ' Text +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'buf2' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'callback' Keyword +' ' Text +'TestOptionalArguments' Name.Class +' ' Text +'=' Punctuation +' ' Text +'void' Keyword.Type +'(' Punctuation +'optional' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'aString' Name.Variable +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'object' Keyword.Type +' ' Text +'something' Name.Variable +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'aSeq' Name.Variable +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'anInterface' Name.Variable +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'anotherInterface' Name.Variable +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'aLong' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'// If you add a new test callback, add it to the forceCallbackGeneration' Comment.Single +'\n' Text + +'// method on TestInterface so it actually gets tested.' Comment.Single +'\n\n' Text + +'TestInterface' Name.Class +' ' Text +'implements' Keyword +' ' Text +'ImplementedInterface' Name.Class +';' Punctuation +'\n\n' Text + +'// This interface is only for use in the constructor below' Comment.Single +'\n' Text + +'interface' Keyword +' ' Text +'OnlyForUseInConstructor' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'Constructor' Name.Decorator +',' Punctuation +'\n ' Text +'Constructor' Name.Decorator +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'str' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'Constructor' Name.Decorator +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'num' Name.Variable +',' Punctuation +' ' Text +'boolean' Keyword.Type +'?' Punctuation +' ' Text +'boolArg' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'Constructor' Name.Decorator +'(' Punctuation +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'iface' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'Constructor' Name.Decorator +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'IndirectlyImplementedInterface' Name.Class +' ' Text +'iface' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'Constructor' Name.Decorator +'(' Punctuation +'Date' Name.Class +' ' Text +'arg1' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'Constructor' Name.Decorator +'(' Punctuation +'ArrayBuffer' Keyword.Type +' ' Text +'arrayBuf' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'Constructor' Name.Decorator +'(' Punctuation +'Uint8Array' Keyword.Type +' ' Text +'typedArr' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'// Constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3),' Comment.Single +'\n ' Text +'NamedConstructor' Name.Decorator +'=' Punctuation +'Test' Name +',' Punctuation +'\n ' Text +'NamedConstructor' Name.Decorator +'=' Punctuation +'Test' Name +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'str' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'NamedConstructor' Name.Decorator +'=' Punctuation +'Test2' Name +'(' Punctuation +'DictForConstructor' Name.Class +' ' Text +'dict' Name.Variable +',' Punctuation +' ' Text +'any' Keyword.Type +' ' Text +'any1' Name.Variable +',' Punctuation +' ' Text +'object' Keyword.Type +' ' Text +'obj1' Name.Variable +',' Punctuation +'\n ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'obj2' Name.Variable +',' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +' ' Text +'seq' Name.Variable +',' Punctuation +' ' Text +'optional' Keyword +' ' Text +'any' Keyword.Type +' ' Text +'any2' Name.Variable +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'object' Keyword.Type +' ' Text +'obj3' Name.Variable +',' Punctuation +' ' Text +'optional' Keyword +' ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'obj4' Name.Variable +')' Punctuation +',' Punctuation +'\n ' Text +'NamedConstructor' Name.Decorator +'=' Punctuation +'Test3' Name +'(' Punctuation +'(' Punctuation +'long' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +')' Punctuation +' ' Text +'arg1' Name.Variable +')' Punctuation +'\n ' Text +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'// Integer types' Comment.Single +'\n ' Text +'// XXXbz add tests for throwing versions of all the integer stuff' Comment.Single +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'readonlyByte' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'writableByte' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passByte' Name.Function +'(' Punctuation +'byte' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'byte' Keyword.Type +' ' Text +'receiveByte' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalByte' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalByteBeforeRequired' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'byte' Keyword.Type +' ' Text +'arg2' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalByteWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'0' Literal.Number.Oct +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalByteWithDefaultBeforeRequired' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'arg1' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'0' Literal.Number.Oct +',' Punctuation +' ' Text +'byte' Keyword.Type +' ' Text +'arg2' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableByte' Name.Function +'(' Punctuation +'byte' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableByte' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'byte' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicByte' Name.Function +'(' Punctuation +'byte' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'StoreInSlot' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'cachedByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'StoreInSlot' Name.Decorator +',' Punctuation +' ' Text +'Constant' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'cachedConstantByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'StoreInSlot' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'cachedWritableByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'sideEffectFreeByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +',' Punctuation +' ' Text +'DependsOn' Name.Decorator +'=' Punctuation +'DOMState' Name +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'domDependentByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +',' Punctuation +' ' Text +'DependsOn' Name.Decorator +'=' Punctuation +'Nothing' Name +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'constantByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'DependsOn' Name.Decorator +'=' Punctuation +'DeviceState' Name +',' Punctuation +' ' Text +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'deviceStateDependentByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +']' Punctuation +'\n ' Text +'byte' Keyword.Type +' ' Text +'returnByteSideEffectFree' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +',' Punctuation +' ' Text +'DependsOn' Name.Decorator +'=' Punctuation +'DOMState' Name +']' Punctuation +'\n ' Text +'byte' Keyword.Type +' ' Text +'returnDOMDependentByte' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +',' Punctuation +' ' Text +'DependsOn' Name.Decorator +'=' Punctuation +'Nothing' Name +']' Punctuation +'\n ' Text +'byte' Keyword.Type +' ' Text +'returnConstantByte' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'DependsOn' Name.Decorator +'=' Punctuation +'DeviceState' Name +',' Punctuation +' ' Text +'Affects' Name.Decorator +'=' Punctuation +'Nothing' Name +']' Punctuation +'\n ' Text +'byte' Keyword.Type +' ' Text +'returnDeviceStateDependentByte' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'[' Punctuation +'UnsafeInPrerendering' Name.Decorator +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'unsafePrerenderMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'UnsafeInPrerendering' Name.Decorator +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'unsafePrerenderWritable' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'UnsafeInPrerendering' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'unsafePrerenderReadonly' Name.Variable +';' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'short' Keyword.Type +' ' Text +'readonlyShort' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'short' Keyword.Type +' ' Text +'writableShort' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passShort' Name.Function +'(' Punctuation +'short' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'short' Keyword.Type +' ' Text +'receiveShort' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalShort' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'short' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalShortWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'short' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'readonlyLong' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'writableLong' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passLong' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'receiveLong' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalLong' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalLongWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'7' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'long long' Keyword.Type +' ' Text +'readonlyLongLong' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'long long' Keyword.Type +' ' Text +'writableLongLong' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passLongLong' Name.Function +'(' Punctuation +'long long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'long long' Keyword.Type +' ' Text +'receiveLongLong' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalLongLong' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'long long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalLongLongWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'long long' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'-12' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'octet' Keyword.Type +' ' Text +'readonlyOctet' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'octet' Keyword.Type +' ' Text +'writableOctet' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOctet' Name.Function +'(' Punctuation +'octet' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'octet' Keyword.Type +' ' Text +'receiveOctet' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalOctet' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'octet' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalOctetWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'octet' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'19' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'unsigned short' Keyword.Type +' ' Text +'readonlyUnsignedShort' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'unsigned short' Keyword.Type +' ' Text +'writableUnsignedShort' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnsignedShort' Name.Function +'(' Punctuation +'unsigned short' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'unsigned short' Keyword.Type +' ' Text +'receiveUnsignedShort' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnsignedShort' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'unsigned short' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnsignedShortWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'unsigned short' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'2' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'unsigned long' Keyword.Type +' ' Text +'readonlyUnsignedLong' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'unsigned long' Keyword.Type +' ' Text +'writableUnsignedLong' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnsignedLong' Name.Function +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'unsigned long' Keyword.Type +' ' Text +'receiveUnsignedLong' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnsignedLong' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'unsigned long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnsignedLongWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'unsigned long' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'6' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'unsigned long long' Keyword.Type +' ' Text +'readonlyUnsignedLongLong' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'unsigned long long' Keyword.Type +' ' Text +'writableUnsignedLongLong' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnsignedLongLong' Name.Function +'(' Punctuation +'unsigned long long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'unsigned long long' Keyword.Type +' ' Text +'receiveUnsignedLongLong' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnsignedLongLong' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'unsigned long long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnsignedLongLongWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'unsigned long long' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'17' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n\n ' Text +'attribute' Keyword +' ' Text +'float' Keyword.Type +' ' Text +'writableFloat' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'unrestricted float' Keyword.Type +' ' Text +'writableUnrestrictedFloat' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'float' Keyword.Type +'?' Punctuation +' ' Text +'writableNullableFloat' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'unrestricted float' Keyword.Type +'?' Punctuation +' ' Text +'writableNullableUnrestrictedFloat' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'double' Keyword.Type +' ' Text +'writableDouble' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'unrestricted double' Keyword.Type +' ' Text +'writableUnrestrictedDouble' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'double' Keyword.Type +'?' Punctuation +' ' Text +'writableNullableDouble' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'unrestricted double' Keyword.Type +'?' Punctuation +' ' Text +'writableNullableUnrestrictedDouble' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passFloat' Name.Function +'(' Punctuation +'float' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'unrestricted float' Keyword.Type +' ' Text +'arg2' Name.Variable +',' Punctuation +'\n ' Text +'float' Keyword.Type +'?' Punctuation +' ' Text +'arg3' Name.Variable +',' Punctuation +' ' Text +'unrestricted float' Keyword.Type +'?' Punctuation +' ' Text +'arg4' Name.Variable +',' Punctuation +'\n ' Text +'double' Keyword.Type +' ' Text +'arg5' Name.Variable +',' Punctuation +' ' Text +'unrestricted double' Keyword.Type +' ' Text +'arg6' Name.Variable +',' Punctuation +'\n ' Text +'double' Keyword.Type +'?' Punctuation +' ' Text +'arg7' Name.Variable +',' Punctuation +' ' Text +'unrestricted double' Keyword.Type +'?' Punctuation +' ' Text +'arg8' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'float' Keyword.Type +'>' Punctuation +' ' Text +'arg9' Name.Variable +',' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted float' Keyword.Type +'>' Punctuation +' ' Text +'arg10' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'float' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg11' Name.Variable +',' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted float' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg12' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'double' Keyword.Type +'>' Punctuation +' ' Text +'arg13' Name.Variable +',' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted double' Keyword.Type +'>' Punctuation +' ' Text +'arg14' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'double' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg15' Name.Variable +',' Punctuation +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted double' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg16' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'LenientFloat' Name.Decorator +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passLenientFloat' Name.Function +'(' Punctuation +'float' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'unrestricted float' Keyword.Type +' ' Text +'arg2' Name.Variable +',' Punctuation +'\n ' Text +'float' Keyword.Type +'?' Punctuation +' ' Text +'arg3' Name.Variable +',' Punctuation +' ' Text +'unrestricted float' Keyword.Type +'?' Punctuation +' ' Text +'arg4' Name.Variable +',' Punctuation +'\n ' Text +'double' Keyword.Type +' ' Text +'arg5' Name.Variable +',' Punctuation +' ' Text +'unrestricted double' Keyword.Type +' ' Text +'arg6' Name.Variable +',' Punctuation +'\n ' Text +'double' Keyword.Type +'?' Punctuation +' ' Text +'arg7' Name.Variable +',' Punctuation +' ' Text +'unrestricted double' Keyword.Type +'?' Punctuation +' ' Text +'arg8' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'float' Keyword.Type +'>' Punctuation +' ' Text +'arg9' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted float' Keyword.Type +'>' Punctuation +' ' Text +'arg10' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'float' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg11' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted float' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg12' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'double' Keyword.Type +'>' Punctuation +' ' Text +'arg13' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted double' Keyword.Type +'>' Punctuation +' ' Text +'arg14' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'double' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg15' Name.Variable +',' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'unrestricted double' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg16' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'LenientFloat' Name.Decorator +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'float' Keyword.Type +' ' Text +'lenientFloatAttr' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'LenientFloat' Name.Decorator +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'double' Keyword.Type +' ' Text +'lenientDoubleAttr' Name.Variable +';' Punctuation +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passUnrestricted' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'unrestricted float' Keyword.Type +' ' Text +'arg1' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'0' Literal.Number.Oct +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'unrestricted float' Keyword.Type +' ' Text +'arg2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'Infinity' Keyword.Constant +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'unrestricted float' Keyword.Type +' ' Text +'arg3' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'-Infinity' Keyword.Constant +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'unrestricted float' Keyword.Type +' ' Text +'arg4' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'NaN' Keyword.Constant +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'unrestricted double' Keyword.Type +' ' Text +'arg5' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'0' Literal.Number.Oct +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'unrestricted double' Keyword.Type +' ' Text +'arg6' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'Infinity' Keyword.Constant +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'unrestricted double' Keyword.Type +' ' Text +'arg7' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'-Infinity' Keyword.Constant +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'unrestricted double' Keyword.Type +' ' Text +'arg8' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'NaN' Keyword.Constant +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Castable interface types' Comment.Single +'\n ' Text +'// XXXbz add tests for throwing versions of all the castable interface stuff' Comment.Single +'\n ' Text +'TestInterface' Name.Class +' ' Text +'receiveSelf' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'receiveNullableSelf' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestInterface' Name.Class +' ' Text +'receiveWeakSelf' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'receiveWeakNullableSelf' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSelf' Name.Function +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableSelf' Name.Function +'(' Punctuation +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'nonNullSelf' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'nullableSelf' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'cachedSelf' Name.Variable +';' Punctuation +'\n ' Text +'// Optional arguments' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalSelf' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNonNullSelf' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalSelfWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Non-wrapper-cache interface types' Comment.Single +'\n ' Text +'[' Punctuation +'NewObject' Name.Decorator +']' Punctuation +'\n ' Text +'TestNonWrapperCacheInterface' Name.Class +' ' Text +'receiveNonWrapperCacheInterface' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'NewObject' Name.Decorator +']' Punctuation +'\n ' Text +'TestNonWrapperCacheInterface' Name.Class +'?' Punctuation +' ' Text +'receiveNullableNonWrapperCacheInterface' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'NewObject' Name.Decorator +']' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestNonWrapperCacheInterface' Name.Class +'>' Punctuation +' ' Text +'receiveNonWrapperCacheInterfaceSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'NewObject' Name.Decorator +']' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestNonWrapperCacheInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'receiveNullableNonWrapperCacheInterfaceSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'NewObject' Name.Decorator +']' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestNonWrapperCacheInterface' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNonWrapperCacheInterfaceNullableSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'NewObject' Name.Decorator +']' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestNonWrapperCacheInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNullableNonWrapperCacheInterfaceNullableSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Non-castable interface types' Comment.Single +'\n ' Text +'IndirectlyImplementedInterface' Name.Class +' ' Text +'receiveOther' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'IndirectlyImplementedInterface' Name.Class +'?' Punctuation +' ' Text +'receiveNullableOther' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'IndirectlyImplementedInterface' Name.Class +' ' Text +'receiveWeakOther' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'IndirectlyImplementedInterface' Name.Class +'?' Punctuation +' ' Text +'receiveWeakNullableOther' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOther' Name.Function +'(' Punctuation +'IndirectlyImplementedInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableOther' Name.Function +'(' Punctuation +'IndirectlyImplementedInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'IndirectlyImplementedInterface' Name.Class +' ' Text +'nonNullOther' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'IndirectlyImplementedInterface' Name.Class +'?' Punctuation +' ' Text +'nullableOther' Name.Variable +';' Punctuation +'\n ' Text +'// Optional arguments' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalOther' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'IndirectlyImplementedInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNonNullOther' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'IndirectlyImplementedInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalOtherWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'IndirectlyImplementedInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n\n ' Text +'// External interface types' Comment.Single +'\n ' Text +'TestExternalInterface' Name.Class +' ' Text +'receiveExternal' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestExternalInterface' Name.Class +'?' Punctuation +' ' Text +'receiveNullableExternal' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestExternalInterface' Name.Class +' ' Text +'receiveWeakExternal' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestExternalInterface' Name.Class +'?' Punctuation +' ' Text +'receiveWeakNullableExternal' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passExternal' Name.Function +'(' Punctuation +'TestExternalInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableExternal' Name.Function +'(' Punctuation +'TestExternalInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestExternalInterface' Name.Class +' ' Text +'nonNullExternal' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestExternalInterface' Name.Class +'?' Punctuation +' ' Text +'nullableExternal' Name.Variable +';' Punctuation +'\n ' Text +'// Optional arguments' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalExternal' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestExternalInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNonNullExternal' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestExternalInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalExternalWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestExternalInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Callback interface types' Comment.Single +'\n ' Text +'TestCallbackInterface' Name.Class +' ' Text +'receiveCallbackInterface' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestCallbackInterface' Name.Class +'?' Punctuation +' ' Text +'receiveNullableCallbackInterface' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestCallbackInterface' Name.Class +' ' Text +'receiveWeakCallbackInterface' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestCallbackInterface' Name.Class +'?' Punctuation +' ' Text +'receiveWeakNullableCallbackInterface' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passCallbackInterface' Name.Function +'(' Punctuation +'TestCallbackInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableCallbackInterface' Name.Function +'(' Punctuation +'TestCallbackInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestCallbackInterface' Name.Class +' ' Text +'nonNullCallbackInterface' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestCallbackInterface' Name.Class +'?' Punctuation +' ' Text +'nullableCallbackInterface' Name.Variable +';' Punctuation +'\n ' Text +'// Optional arguments' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalCallbackInterface' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestCallbackInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNonNullCallbackInterface' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestCallbackInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalCallbackInterfaceWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestCallbackInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Miscellaneous interface tests' Comment.Single +'\n ' Text +'IndirectlyImplementedInterface' Name.Class +' ' Text +'receiveConsequentialInterface' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passConsequentialInterface' Name.Function +'(' Punctuation +'IndirectlyImplementedInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Sequence types' Comment.Single +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'readonlySequence' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +' ' Text +'readonlySequenceOfDictionaries' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'readonlyNullableSequenceOfDictionaries' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +',' Punctuation +' ' Text +'Frozen' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +' ' Text +'readonlyFrozenSequence' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +',' Punctuation +' ' Text +'Frozen' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'readonlyFrozenNullableSequence' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'receiveSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNullableSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'receiveSequenceOfNullableInts' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNullableSequenceOfNullableInts' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfNullableInts' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalSequenceOfNullableInts' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceOfNullableInts' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'receiveCastableObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'>' Punctuation +' ' Text +'receiveCallbackObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'receiveNullableCastableObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestCallbackInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'receiveNullableCallbackObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'receiveCastableObjectNullableSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNullableCastableObjectNullableSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'receiveWeakCastableObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'receiveWeakNullableCastableObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'receiveWeakCastableObjectNullableSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'receiveWeakNullableCastableObjectNullableSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passCastableObjectSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableCastableObjectSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passCastableObjectNullableSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableCastableObjectNullableSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalSequence' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalSequenceWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'[]' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequence' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceWithDefaultValue2' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'[]' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalObjectSequence' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passExternalInterfaceSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'TestExternalInterface' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableExternalInterfaceSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'TestExternalInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'receiveStringSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passStringSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'ByteString' Keyword.Type +'>' Punctuation +' ' Text +'receiveByteStringSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passByteStringSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ByteString' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'receiveAnySequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNullableAnySequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'receiveAnySequenceSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'receiveObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'receiveNullableObjectSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfSequences' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfSequencesOfSequences' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'>' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'receiveSequenceOfSequences' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'>' Punctuation +'>' Punctuation +' ' Text +'receiveSequenceOfSequencesOfSequences' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// MozMap types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfNullableInts' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalMozMapOfNullableInts' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableMozMapOfNullableInts' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passCastableObjectMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableCastableObjectMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passCastableObjectNullableMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableCastableObjectNullableMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'TestInterface' Name.Class +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalMozMap' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableMozMap' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableMozMapWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalObjectMozMap' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passExternalInterfaceMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'TestExternalInterface' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableExternalInterfaceMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'TestExternalInterface' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passStringMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passByteStringMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'ByteString' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfMozMaps' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'receiveMozMap' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNullableMozMap' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'receiveMozMapOfNullableInts' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'receiveNullableMozMapOfNullableInts' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'MozMap' Name.Class +'<' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'receiveMozMapOfMozMaps' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'receiveAnyMozMap' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Typed array types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passArrayBuffer' Name.Function +'(' Punctuation +'ArrayBuffer' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableArrayBuffer' Name.Function +'(' Punctuation +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalArrayBuffer' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ArrayBuffer' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableArrayBuffer' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableArrayBufferWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passArrayBufferView' Name.Function +'(' Punctuation +'ArrayBufferView' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passInt8Array' Name.Function +'(' Punctuation +'Int8Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passInt16Array' Name.Function +'(' Punctuation +'Int16Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passInt32Array' Name.Function +'(' Punctuation +'Int32Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint8Array' Name.Function +'(' Punctuation +'Uint8Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint16Array' Name.Function +'(' Punctuation +'Uint16Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint32Array' Name.Function +'(' Punctuation +'Uint32Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUint8ClampedArray' Name.Function +'(' Punctuation +'Uint8ClampedArray' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passFloat32Array' Name.Function +'(' Punctuation +'Float32Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passFloat64Array' Name.Function +'(' Punctuation +'Float64Array' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfArrayBuffers' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ArrayBuffer' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfNullableArrayBuffers' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ArrayBuffer' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfArrayBuffers' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'ArrayBuffer' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfNullableArrayBuffers' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'ArrayBuffer' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicTypedArray' Name.Function +'(' Punctuation +'Float32Array' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicNullableTypedArray' Name.Function +'(' Punctuation +'Float32Array' Keyword.Type +'?' Punctuation +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'Uint8Array' Keyword.Type +' ' Text +'receiveUint8Array' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'Uint8Array' Keyword.Type +' ' Text +'uint8ArrayAttr' Name.Variable +';' Punctuation +'\n\n ' Text +'// DOMString types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passString' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableString' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalString' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalStringWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"abc"' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableString' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'DOMString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableStringWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'DOMString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicString' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'DOMString' Keyword.Type +' ' Text +'receiveString' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// ByteString types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passByteString' Name.Function +'(' Punctuation +'ByteString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableByteString' Name.Function +'(' Punctuation +'ByteString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalByteString' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ByteString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalByteStringWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ByteString' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"abc"' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableByteString' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ByteString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableByteStringWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'ByteString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicByteString' Name.Function +'(' Punctuation +'ByteString' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnionByteString' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'ByteString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnionByteStringWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'ByteString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"abc"' Literal.String +')' Punctuation +';' Punctuation +'\n\n ' Text +'// USVString types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passUSVS' Name.Function +'(' Punctuation +'USVString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUSVS' Name.Function +'(' Punctuation +'USVString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUSVS' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'USVString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUSVSWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'USVString' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"abc"' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableUSVS' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'USVString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableUSVSWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'USVString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicUSVS' Name.Function +'(' Punctuation +'USVString' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'USVString' Keyword.Type +' ' Text +'receiveUSVS' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Enumerated types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passEnum' Name.Function +'(' Punctuation +'TestEnum' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableEnum' Name.Function +'(' Punctuation +'TestEnum' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalEnum' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestEnum' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passEnumWithDefault' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestEnum' Name.Class +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"a"' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableEnum' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestEnum' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableEnumWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestEnum' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableEnumWithDefaultValue2' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestEnum' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"a"' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'TestEnum' Name.Class +' ' Text +'receiveEnum' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestEnum' Name.Class +'?' Punctuation +' ' Text +'receiveNullableEnum' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestEnum' Name.Class +' ' Text +'enumAttribute' Name.Variable +';' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'TestEnum' Name.Class +' ' Text +'readonlyEnumAttribute' Name.Variable +';' Punctuation +'\n\n ' Text +'// Callback types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passCallback' Name.Function +'(' Punctuation +'TestCallback' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableCallback' Name.Function +'(' Punctuation +'TestCallback' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalCallback' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestCallback' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableCallback' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestCallback' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableCallbackWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestCallback' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'TestCallback' Name.Class +' ' Text +'receiveCallback' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'TestCallback' Name.Class +'?' Punctuation +' ' Text +'receiveNullableCallback' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableTreatAsNullCallback' Name.Function +'(' Punctuation +'TestTreatAsNullCallback' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableTreatAsNullCallback' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestTreatAsNullCallback' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableTreatAsNullCallbackWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestTreatAsNullCallback' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestTreatAsNullCallback' Name.Class +' ' Text +'treatAsNullCallback' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestTreatAsNullCallback' Name.Class +'?' Punctuation +' ' Text +'nullableTreatAsNullCallback' Name.Variable +';' Punctuation +'\n\n ' Text +'// Force code generation of the various test callbacks we have.' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'forceCallbackGeneration' Name.Function +'(' Punctuation +'TestIntegerReturn' Name.Class +' ' Text +'arg1' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableIntegerReturn' Name.Class +' ' Text +'arg2' Name.Variable +',' Punctuation +'\n ' Text +'TestBooleanReturn' Name.Class +' ' Text +'arg3' Name.Variable +',' Punctuation +'\n ' Text +'TestFloatReturn' Name.Class +' ' Text +'arg4' Name.Variable +',' Punctuation +'\n ' Text +'TestStringReturn' Name.Class +' ' Text +'arg5' Name.Variable +',' Punctuation +'\n ' Text +'TestEnumReturn' Name.Class +' ' Text +'arg6' Name.Variable +',' Punctuation +'\n ' Text +'TestInterfaceReturn' Name.Class +' ' Text +'arg7' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableInterfaceReturn' Name.Class +' ' Text +'arg8' Name.Variable +',' Punctuation +'\n ' Text +'TestExternalInterfaceReturn' Name.Class +' ' Text +'arg9' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableExternalInterfaceReturn' Name.Class +' ' Text +'arg10' Name.Variable +',' Punctuation +'\n ' Text +'TestCallbackInterfaceReturn' Name.Class +' ' Text +'arg11' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableCallbackInterfaceReturn' Name.Class +' ' Text +'arg12' Name.Variable +',' Punctuation +'\n ' Text +'TestCallbackReturn' Name.Class +' ' Text +'arg13' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableCallbackReturn' Name.Class +' ' Text +'arg14' Name.Variable +',' Punctuation +'\n ' Text +'TestObjectReturn' Name.Class +' ' Text +'arg15' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableObjectReturn' Name.Class +' ' Text +'arg16' Name.Variable +',' Punctuation +'\n ' Text +'TestTypedArrayReturn' Name.Class +' ' Text +'arg17' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableTypedArrayReturn' Name.Class +' ' Text +'arg18' Name.Variable +',' Punctuation +'\n ' Text +'TestSequenceReturn' Name.Class +' ' Text +'arg19' Name.Variable +',' Punctuation +'\n ' Text +'TestNullableSequenceReturn' Name.Class +' ' Text +'arg20' Name.Variable +',' Punctuation +'\n ' Text +'TestIntegerArguments' Name.Class +' ' Text +'arg21' Name.Variable +',' Punctuation +'\n ' Text +'TestInterfaceArguments' Name.Class +' ' Text +'arg22' Name.Variable +',' Punctuation +'\n ' Text +'TestStringEnumArguments' Name.Class +' ' Text +'arg23' Name.Variable +',' Punctuation +'\n ' Text +'TestObjectArguments' Name.Class +' ' Text +'arg24' Name.Variable +',' Punctuation +'\n ' Text +'TestOptionalArguments' Name.Class +' ' Text +'arg25' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Any types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passAny' Name.Function +'(' Punctuation +'any' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicAny' Name.Function +'(' Punctuation +'any' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'any' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passAnyDefaultNull' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'any' Keyword.Type +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfAny' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableSequenceOfAny' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalSequenceOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalSequenceOfAnyWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfSequenceOfAny' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfNullableSequenceOfAny' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableSequenceOfNullableSequenceOfAny' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceOfNullableSequenceOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfAny' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableMozMapOfAny' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalMozMapOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableMozMapOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalMozMapOfAnyWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfMozMapOfAny' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfNullableMozMapOfAny' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableMozMapOfNullableMozMapOfAny' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableMozMapOfNullableMozMapOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableMozMapOfNullableSequenceOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceOfNullableMozMapOfAny' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'MozMap' Name.Class +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'any' Keyword.Type +' ' Text +'receiveAny' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// object types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passObject' Name.Function +'(' Punctuation +'object' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicObject' Name.Function +'(' Punctuation +'object' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableObject' Name.Function +'(' Punctuation +'object' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicNullableObject' Name.Function +'(' Punctuation +'object' Keyword.Type +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalObject' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'object' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableObject' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableObjectWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfObject' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfNullableObject' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableSequenceOfObject' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceOfNullableSequenceOfObject' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableSequenceOfNullableSequenceOfNullableObject' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfObject' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'object' Keyword.Type +' ' Text +'receiveObject' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'receiveNullableObject' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Union types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'// Some union tests are debug-only to avoid creating all those' Comment.Single +'\n ' Text +'// unused union types in opt builds.' Comment.Single +'\n' Text + +'#ifdef DEBUG' Comment.Preproc +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion2' Name.Function +'(' Punctuation +'(' Punctuation +'long' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'boolean' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion3' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'boolean' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion4' Name.Function +'(' Punctuation +'(' Punctuation +'Node' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'boolean' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion5' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'boolean' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion6' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion7' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion8' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'boolean' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion9' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'boolean' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion10' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion11' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'CustomEventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion12' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion13' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +'?' Punctuation +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion14' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +'?' Punctuation +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion15' Name.Function +'(' Punctuation +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion16' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion17' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion18' Name.Function +'(' Punctuation +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion19' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion20' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'[]' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion21' Name.Function +'(' Punctuation +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion22' Name.Function +'(' Punctuation +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion23' Name.Function +'(' Punctuation +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ImageData' Name.Class +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion24' Name.Function +'(' Punctuation +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ImageData' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion25' Name.Function +'(' Punctuation +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ImageData' Name.Class +'>' Punctuation +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion26' Name.Function +'(' Punctuation +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'ImageData' Name.Class +'?' Punctuation +'>' Punctuation +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion27' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'EventInit' Name.Class +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnion28' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithCallback' Name.Function +'(' Punctuation +'(' Punctuation +'EventHandler' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithByteString' Name.Function +'(' Punctuation +'(' Punctuation +'ByteString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithMozMap' Name.Function +'(' Punctuation +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithMozMapAndSequence' Name.Function +'(' Punctuation +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithSequenceAndMozMap' Name.Function +'(' Punctuation +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'MozMap' Name.Class +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithUSVS' Name.Function +'(' Punctuation +'(' Punctuation +'USVString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'#endif' Comment.Preproc +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithNullable' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +'?' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnion' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalUnion' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableUnion' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableUnionWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'//void passUnionWithInterfaces((TestInterface or TestExternalInterface) arg);' Comment.Single +'\n ' Text +'//void passUnionWithInterfacesAndNullable((TestInterface? or TestExternalInterface) arg);' Comment.Single +'\n ' Text +'//void passUnionWithSequence((sequence or long) arg);' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithArrayBuffer' Name.Function +'(' Punctuation +'(' Punctuation +'ArrayBuffer' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithString' Name.Function +'(' Punctuation +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'object' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'// Using an enum in a union. Note that we use some enum not declared in our' Comment.Single +'\n ' Text +'// binding file, because UnionTypes.h will need to include the binding header' Comment.Single +'\n ' Text +"// for this enum. Pick an enum from an interface that won't drag in too much" Comment.Single +'\n ' Text +'// stuff.' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithEnum' Name.Function +'(' Punctuation +'(' Punctuation +'SupportedType' Name.Class +' ' Text +'or' Keyword +' ' Text +'object' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +"// Trying to use a callback in a union won't include the test" Comment.Single +'\n ' Text +"// headers, unfortunately, so won't compile." Comment.Single +'\n ' Text +'//void passUnionWithCallback((TestCallback or long) arg);' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithObject' Name.Function +'(' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'//void passUnionWithDict((Dict or long) arg);' Comment.Single +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue1' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue2' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue3' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.5' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue4' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue5' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue6' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.5' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue7' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue8' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue9' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.5' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue10' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'Infinity' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue11' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue12' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue13' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'Infinity' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue14' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'ByteString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue15' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'ByteString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue16' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'ByteString' Keyword.Type +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.5' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue17' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'SupportedType' Name.Class +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"text/html"' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue18' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'SupportedType' Name.Class +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passUnionWithDefaultValue19' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'SupportedType' Name.Class +')' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.5' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue1' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue2' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue3' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue4' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue5' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue6' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue7' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue8' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue9' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue10' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue11' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue12' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'unrestricted float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue13' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'ByteString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue14' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'ByteString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue15' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'ByteString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.5' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue16' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'ByteString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue17' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'SupportedType' Name.Class +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"text/html"' Literal.String +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue18' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'SupportedType' Name.Class +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue19' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'SupportedType' Name.Class +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.5' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableUnionWithDefaultValue20' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'(' Punctuation +'double' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'SupportedType' Name.Class +')' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfUnions' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfUnions2' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicUnion' Name.Function +'(' Punctuation +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfNullableUnions' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicNullableUnion' Name.Function +'(' Punctuation +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +'?' Punctuation +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfUnions' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'// XXXbz no move constructor on some unions' Comment.Single +'\n ' Text +'// void passMozMapOfUnions2(MozMap<(object or long)> arg);' Comment.Single +'\n\n ' Text +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +' ' Text +'receiveUnion' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'receiveUnion2' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'(' Punctuation +'CanvasPattern' Name.Class +'?' Punctuation +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +' ' Text +'receiveUnionContainingNull' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +'?' Punctuation +' ' Text +'receiveNullableUnion' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'receiveNullableUnion2' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'attribute' Keyword +' ' Text +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +' ' Text +'writableUnion' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'(' Punctuation +'CanvasPattern' Name.Class +'?' Punctuation +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +' ' Text +'writableUnionContainingNull' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'(' Punctuation +'CanvasPattern' Name.Class +' ' Text +'or' Keyword +' ' Text +'CanvasGradient' Name.Class +')' Punctuation +'?' Punctuation +' ' Text +'writableNullableUnion' Name.Variable +';' Punctuation +'\n\n ' Text +'// Date types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passDate' Name.Function +'(' Punctuation +'Date' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableDate' Name.Function +'(' Punctuation +'Date' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalDate' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Date' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableDate' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Date' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullableDateWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Date' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passDateSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'Date' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullableDateSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'Date' Name.Class +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passDateMozMap' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'Date' Name.Class +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'Date' Name.Class +' ' Text +'receiveDate' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'Date' Name.Class +'?' Punctuation +' ' Text +'receiveNullableDate' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Promise types' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passPromise' Name.Function +'(' Punctuation +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullablePromise' Name.Function +'(' Punctuation +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalPromise' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullablePromise' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOptionalNullablePromiseWithDefaultValue' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'arg' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passPromiseSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passNullablePromiseSequence' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +'?' Punctuation +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'receivePromise' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'Promise' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'receiveAddrefedPromise' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// binaryNames tests' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'methodRenamedFrom' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'BinaryName' Name.Decorator +'=' Punctuation +'"otherMethodRenamedTo"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'otherMethodRenamedFrom' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'methodRenamedFrom' Name.Function +'(' Punctuation +'byte' Keyword.Type +' ' Text +'argument' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'attributeGetterRenamedFrom' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'attributeRenamedFrom' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'BinaryName' Name.Decorator +'=' Punctuation +'"otherAttributeRenamedTo"' Literal.String +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'otherAttributeRenamedFrom' Name.Variable +';' Punctuation +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passDictionary' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'x' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passDictionary2' Name.Function +'(' Punctuation +'Dict' Name.Class +' ' Text +'x' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'readonlyDictionary' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'Dict' Name.Class +'?' Punctuation +' ' Text +'readonlyNullableDictionary' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'writableDictionary' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +',' Punctuation +' ' Text +'Frozen' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'readonlyFrozenDictionary' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +',' Punctuation +' ' Text +'Frozen' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'Dict' Name.Class +'?' Punctuation +' ' Text +'readonlyFrozenNullableDictionary' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Cached' Name.Decorator +',' Punctuation +' ' Text +'Pure' Name.Decorator +',' Punctuation +' ' Text +'Frozen' Name.Decorator +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'writableFrozenDictionary' Name.Variable +';' Punctuation +'\n ' Text +'Dict' Name.Class +' ' Text +'receiveDictionary' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'Dict' Name.Class +'?' Punctuation +' ' Text +'receiveNullableDictionary' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passOtherDictionary' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'GrandparentDict' Name.Class +' ' Text +'x' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passSequenceOfDictionaries' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +' ' Text +'x' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passMozMapOfDictionaries' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'GrandparentDict' Name.Class +'>' Punctuation +' ' Text +'x' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'// No support for nullable dictionaries inside a sequence (nor should there be)' Comment.Single +'\n ' Text +'// void passSequenceOfNullableDictionaries(sequence x);' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passDictionaryOrLong' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'x' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passDictionaryOrLong' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'x' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'void' Keyword.Type +' ' Text +'passDictContainingDict' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'DictContainingDict' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passDictContainingSequence' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'DictContainingSequence' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'DictContainingSequence' Name.Class +' ' Text +'receiveDictContainingSequence' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicDictionary' Name.Function +'(' Punctuation +'Dict' Name.Class +'...' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// EnforceRange/Clamp tests' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'dontEnforceRangeOrClamp' Name.Function +'(' Punctuation +'byte' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'doEnforceRange' Name.Function +'(' Punctuation +'[' Punctuation +'EnforceRange' Name.Decorator +']' Punctuation +' ' Text +'byte' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'doClamp' Name.Function +'(' Punctuation +'[' Punctuation +'Clamp' Name.Decorator +']' Punctuation +' ' Text +'byte' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'EnforceRange' Name.Decorator +']' Punctuation +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'enforcedByte' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Clamp' Name.Decorator +']' Punctuation +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'clampedByte' Name.Variable +';' Punctuation +'\n\n ' Text +'// Typedefs' Comment.Single +'\n ' Text +'const' Keyword +' ' Text +'myLong' Name.Class +' ' Text +'myLongConstant' Name.Constant +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'exerciseTypedefInterfaces1' Name.Function +'(' Punctuation +'AnotherNameForTestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'AnotherNameForTestInterface' Name.Class +' ' Text +'exerciseTypedefInterfaces2' Name.Function +'(' Punctuation +'NullableTestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'exerciseTypedefInterfaces3' Name.Function +'(' Punctuation +'YetAnotherNameForTestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Deprecated methods and attributes' Comment.Single +'\n ' Text +'[' Punctuation +'Deprecated' Name.Decorator +'=' Punctuation +'"GetAttributeNode"' Literal.String +']' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'deprecatedAttribute' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Deprecated' Name.Decorator +'=' Punctuation +'"GetAttributeNode"' Literal.String +']' Punctuation +'\n ' Text +'byte' Keyword.Type +' ' Text +'deprecatedMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Deprecated' Name.Decorator +'=' Punctuation +'"GetAttributeNode"' Literal.String +']' Punctuation +'\n ' Text +'byte' Keyword.Type +' ' Text +'deprecatedMethodWithContext' Name.Function +'(' Punctuation +'any' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Static methods and attributes' Comment.Single +'\n ' Text +'static' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'staticAttribute' Name.Variable +';' Punctuation +'\n ' Text +'static' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'staticMethod' Name.Function +'(' Punctuation +'boolean' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'static' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'staticMethodWithContext' Name.Function +'(' Punctuation +'any' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Testing static method with a reserved C++ keyword as the name' Comment.Single +'\n ' Text +'static' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'assert' Name.Function +'(' Punctuation +'boolean' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Deprecated static methods and attributes' Comment.Single +'\n ' Text +'[' Punctuation +'Deprecated' Name.Decorator +'=' Punctuation +'"GetAttributeNode"' Literal.String +']' Punctuation +'\n ' Text +'static' Keyword +' ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'staticDeprecatedAttribute' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Deprecated' Name.Decorator +'=' Punctuation +'"GetAttributeNode"' Literal.String +']' Punctuation +'\n ' Text +'static' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'staticDeprecatedMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Deprecated' Name.Decorator +'=' Punctuation +'"GetAttributeNode"' Literal.String +']' Punctuation +'\n ' Text +'static' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'staticDeprecatedMethodWithContext' Name.Function +'(' Punctuation +'any' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Overload resolution tests' Comment.Single +'\n ' Text +'//void overload1(DOMString... strs);' Comment.Single +'\n ' Text +'boolean' Keyword.Type +' ' Text +'overload1' Name.Function +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'TestInterface' Name.Class +' ' Text +'overload1' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'strs' Name.Variable +',' Punctuation +' ' Text +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload2' Name.Function +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload2' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload2' Name.Function +'(' Punctuation +'boolean' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload2' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload2' Name.Function +'(' Punctuation +'Date' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload3' Name.Function +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload3' Name.Function +'(' Punctuation +'TestCallback' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload3' Name.Function +'(' Punctuation +'boolean' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload4' Name.Function +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload4' Name.Function +'(' Punctuation +'TestCallbackInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload4' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload5' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload5' Name.Function +'(' Punctuation +'TestEnum' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload6' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload6' Name.Function +'(' Punctuation +'boolean' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload7' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload7' Name.Function +'(' Punctuation +'boolean' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload7' Name.Function +'(' Punctuation +'ByteString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload8' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload8' Name.Function +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload9' Name.Function +'(' Punctuation +'long' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload9' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload10' Name.Function +'(' Punctuation +'long' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload10' Name.Function +'(' Punctuation +'object' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload11' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload11' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload12' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload12' Name.Function +'(' Punctuation +'boolean' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload13' Name.Function +'(' Punctuation +'long' Keyword.Type +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload13' Name.Function +'(' Punctuation +'boolean' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload14' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload14' Name.Function +'(' Punctuation +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload15' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload15' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload16' Name.Function +'(' Punctuation +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload16' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload17' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload17' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload18' Name.Function +'(' Punctuation +'MozMap' Name.Class +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload18' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'DOMString' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload19' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload19' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload20' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'overload20' Name.Function +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Variadic handling' Comment.Single +'\n ' Text +'void' Keyword.Type +' ' Text +'passVariadicThirdArg' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'long' Keyword.Type +' ' Text +'arg2' Name.Variable +',' Punctuation +' ' Text +'TestInterface' Name.Class +'...' Punctuation +' ' Text +'arg3' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Conditionally exposed methods/attributes' Comment.Single +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable1' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable2' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"ghi.jkl"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable3' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"ghi.jkl"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable4' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable5' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable6' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable7' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"ghi.jkl"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable8' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable9' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'prefable10' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'prefable11' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable12' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'prefable13' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable14' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable15' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'prefable16' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'prefable17' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'prefable18' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'prefable19' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +',' Punctuation +' ' Text +'ChromeOnly' Name.Decorator +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'prefable20' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Conditionally exposed methods/attributes involving [SecureContext]' Comment.Single +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'conditionalOnSecureContext1' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +',' Punctuation +' ' Text +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'conditionalOnSecureContext2' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +',' Punctuation +' ' Text +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'conditionalOnSecureContext3' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +',' Punctuation +' ' Text +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'conditionalOnSecureContext4' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'conditionalOnSecureContext5' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +',' Punctuation +' ' Text +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'conditionalOnSecureContext6' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +',' Punctuation +' ' Text +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'conditionalOnSecureContext7' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'SecureContext' Name.Decorator +',' Punctuation +' ' Text +'Pref' Name.Decorator +'=' Punctuation +'"abc.def"' Literal.String +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'conditionalOnSecureContext8' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// Miscellania' Comment.Single +'\n ' Text +'[' Punctuation +'LenientThis' Name.Decorator +']' Punctuation +' ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'attrWithLenientThis' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Unforgeable' Name.Decorator +']' Punctuation +' ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'unforgeableAttr' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Unforgeable' Name.Decorator +',' Punctuation +' ' Text +'ChromeOnly' Name.Decorator +']' Punctuation +' ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'unforgeableAttr2' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Unforgeable' Name.Decorator +']' Punctuation +' ' Text +'long' Keyword.Type +' ' Text +'unforgeableMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Unforgeable' Name.Decorator +',' Punctuation +' ' Text +'ChromeOnly' Name.Decorator +']' Punctuation +' ' Text +'long' Keyword.Type +' ' Text +'unforgeableMethod2' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'stringifier' Keyword +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passRenamedInterface' Name.Function +'(' Punctuation +'TestRenamedInterface' Name.Class +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'PutForwards' Name.Decorator +'=' Punctuation +'writableByte' Name +']' Punctuation +' ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'putForwardsAttr' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'PutForwards' Name.Decorator +'=' Punctuation +'writableByte' Name +',' Punctuation +' ' Text +'LenientThis' Name.Decorator +']' Punctuation +' ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'putForwardsAttr2' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'PutForwards' Name.Decorator +'=' Punctuation +'writableByte' Name +',' Punctuation +' ' Text +'ChromeOnly' Name.Decorator +']' Punctuation +' ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'TestInterface' Name.Class +' ' Text +'putForwardsAttr3' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Throws' Name.Decorator +']' Punctuation +' ' Text +'void' Keyword.Type +' ' Text +'throwingMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'[' Punctuation +'Throws' Name.Decorator +']' Punctuation +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'throwingAttr' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'GetterThrows' Name.Decorator +']' Punctuation +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'throwingGetterAttr' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'SetterThrows' Name.Decorator +']' Punctuation +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'throwingSetterAttr' Name.Variable +';' Punctuation +'\n ' Text +'legacycaller' Keyword +' ' Text +'short' Keyword.Type +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +' ' Text +'TestInterface' Name.Class +' ' Text +'arg2' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'passArgsWithDefaults' Name.Function +'(' Punctuation +'optional' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'arg1' Name.Variable +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'arg2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'Dict' Name.Class +' ' Text +'arg3' Name.Variable +',' Punctuation +' ' Text +'optional' Keyword +' ' Text +'double' Keyword.Type +' ' Text +'arg4' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5.0' Literal.Number.Float +',' Punctuation +'\n ' Text +'optional' Keyword +' ' Text +'float' Keyword.Type +' ' Text +'arg5' Name.Variable +')' Punctuation +';' Punctuation +'\n\n ' Text +'attribute' Keyword +' ' Text +'any' Keyword.Type +' ' Text +'jsonifierShouldSkipThis' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestParentInterface' Name.Class +' ' Text +'jsonifierShouldSkipThis2' Name.Variable +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'TestCallbackInterface' Name.Class +' ' Text +'jsonifierShouldSkipThis3' Name.Variable +';' Punctuation +'\n ' Text +'jsonifier' Keyword +';' Punctuation +'\n\n ' Text +'attribute' Keyword +' ' Text +'byte' Keyword.Type +' ' Text +'dashed-attribute' Name.Variable +';' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'dashed-method' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n ' Text +'// If you add things here, add them to TestExampleGen and TestJSImplGen as well' Comment.Single +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestParentInterface' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestChildInterface' Name.Class +' ' Text +':' Punctuation +' ' Text +'TestParentInterface' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestNonWrapperCacheInterface' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'ImplementedInterfaceParent' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'implementedParentMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'implementedParentProperty' Name.Variable +';' Punctuation +'\n\n ' Text +'const' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'implementedParentConstant' Name.Constant +' ' Text +'=' Punctuation +' ' Text +'8' Literal.Number.Integer +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'ImplementedInterfaceParent' Name.Class +' ' Text +'implements' Keyword +' ' Text +'IndirectlyImplementedInterface' Name.Class +';' Punctuation +'\n\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'IndirectlyImplementedInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'indirectlyImplementedMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'indirectlyImplementedProperty' Name.Variable +';' Punctuation +'\n\n ' Text +'const' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'indirectlyImplementedConstant' Name.Constant +' ' Text +'=' Punctuation +' ' Text +'9' Literal.Number.Integer +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'ImplementedInterface' Name.Class +' ' Text +':' Punctuation +' ' Text +'ImplementedInterfaceParent' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'implementedMethod' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'implementedProperty' Name.Variable +';' Punctuation +'\n\n ' Text +'const' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'implementedConstant' Name.Constant +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'DiamondImplements' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'diamondImplementedProperty' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'DiamondBranch1A' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'DiamondBranch1B' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'DiamondBranch2A' Name.Class +' ' Text +':' Punctuation +' ' Text +'DiamondImplements' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n' Text + +'[' Punctuation +'NoInterfaceObject' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'DiamondBranch2B' Name.Class +' ' Text +':' Punctuation +' ' Text +'DiamondImplements' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n' Text + +'TestInterface' Name.Class +' ' Text +'implements' Keyword +' ' Text +'DiamondBranch1A' Name.Class +';' Punctuation +'\n' Text + +'TestInterface' Name.Class +' ' Text +'implements' Keyword +' ' Text +'DiamondBranch1B' Name.Class +';' Punctuation +'\n' Text + +'TestInterface' Name.Class +' ' Text +'implements' Keyword +' ' Text +'DiamondBranch2A' Name.Class +';' Punctuation +'\n' Text + +'TestInterface' Name.Class +' ' Text +'implements' Keyword +' ' Text +'DiamondBranch2B' Name.Class +';' Punctuation +'\n' Text + +'DiamondBranch1A' Name.Class +' ' Text +'implements' Keyword +' ' Text +'DiamondImplements' Name.Class +';' Punctuation +'\n' Text + +'DiamondBranch1B' Name.Class +' ' Text +'implements' Keyword +' ' Text +'DiamondImplements' Name.Class +';' Punctuation +'\n\n' Text + +'dictionary' Keyword +' ' Text +'Dict' Name.Class +' ' Text +':' Punctuation +' ' Text +'ParentDict' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'TestEnum' Name.Class +' ' Text +'someEnum' Name.Variable +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'x' Name.Variable +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'a' Name.Variable +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'b' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'8' Literal.Number.Integer +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'z' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'9' Literal.Number.Integer +';' Punctuation +'\n ' Text +'[' Punctuation +'EnforceRange' Name.Decorator +']' Punctuation +' ' Text +'unsigned long' Keyword.Type +' ' Text +'enforcedUnsignedLong' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Clamp' Name.Decorator +']' Punctuation +' ' Text +'unsigned long' Keyword.Type +' ' Text +'clampedUnsignedLong' Name.Variable +';' Punctuation +'\n ' Text +'DOMString' Keyword.Type +' ' Text +'str' Name.Variable +';' Punctuation +'\n ' Text +'DOMString' Keyword.Type +' ' Text +'empty' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +';' Punctuation +'\n ' Text +'TestEnum' Name.Class +' ' Text +'otherEnum' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"b"' Literal.String +';' Punctuation +'\n ' Text +'DOMString' Keyword.Type +' ' Text +'otherStr' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"def"' Literal.String +';' Punctuation +'\n ' Text +'DOMString' Keyword.Type +'?' Punctuation +' ' Text +'yetAnotherStr' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'DOMString' Keyword.Type +' ' Text +'template' Name.Variable +';' Punctuation +'\n ' Text +'ByteString' Keyword.Type +' ' Text +'byteStr' Name.Variable +';' Punctuation +'\n ' Text +'ByteString' Keyword.Type +' ' Text +'emptyByteStr' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'""' Literal.String +';' Punctuation +'\n ' Text +'ByteString' Keyword.Type +' ' Text +'otherByteStr' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"def"' Literal.String +';' Punctuation +'\n ' Text +'object' Keyword.Type +' ' Text +'someObj' Name.Variable +';' Punctuation +'\n ' Text +'boolean' Keyword.Type +' ' Text +'prototype' Name.Variable +';' Punctuation +'\n ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'anotherObj' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'TestCallback' Name.Class +'?' Punctuation +' ' Text +'someCallback' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'any' Keyword.Type +' ' Text +'someAny' Name.Variable +';' Punctuation +'\n ' Text +'any' Keyword.Type +' ' Text +'anotherAny' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n\n ' Text +'unrestricted float' Keyword.Type +' ' Text +'urFloat' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'0' Literal.Number.Oct +';' Punctuation +'\n ' Text +'unrestricted float' Keyword.Type +' ' Text +'urFloat2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.1' Literal.Number.Float +';' Punctuation +'\n ' Text +'unrestricted float' Keyword.Type +' ' Text +'urFloat3' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'-1.1' Literal.Number.Float +';' Punctuation +'\n ' Text +'unrestricted float' Keyword.Type +'?' Punctuation +' ' Text +'urFloat4' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'unrestricted float' Keyword.Type +' ' Text +'infUrFloat' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'Infinity' Keyword.Constant +';' Punctuation +'\n ' Text +'unrestricted float' Keyword.Type +' ' Text +'negativeInfUrFloat' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'-Infinity' Keyword.Constant +';' Punctuation +'\n ' Text +'unrestricted float' Keyword.Type +' ' Text +'nanUrFloat' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'NaN' Keyword.Constant +';' Punctuation +'\n\n ' Text +'unrestricted double' Keyword.Type +' ' Text +'urDouble' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'0' Literal.Number.Oct +';' Punctuation +'\n ' Text +'unrestricted double' Keyword.Type +' ' Text +'urDouble2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1.1' Literal.Number.Float +';' Punctuation +'\n ' Text +'unrestricted double' Keyword.Type +' ' Text +'urDouble3' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'-1.1' Literal.Number.Float +';' Punctuation +'\n ' Text +'unrestricted double' Keyword.Type +'?' Punctuation +' ' Text +'urDouble4' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'unrestricted double' Keyword.Type +' ' Text +'infUrDouble' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'Infinity' Keyword.Constant +';' Punctuation +'\n ' Text +'unrestricted double' Keyword.Type +' ' Text +'negativeInfUrDouble' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'-Infinity' Keyword.Constant +';' Punctuation +'\n ' Text +'unrestricted double' Keyword.Type +' ' Text +'nanUrDouble' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'NaN' Keyword.Constant +';' Punctuation +'\n\n ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +' ' Text +'floatOrString' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"str"' Literal.String +';' Punctuation +'\n ' Text +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableFloatOrString' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'"str"' Literal.String +';' Punctuation +'\n ' Text +'(' Punctuation +'object' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'objectOrLong' Name.Variable +';' Punctuation +'\n' Text + +'#ifdef DEBUG' Comment.Preproc +'\n ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'eventInitOrLong' Name.Variable +';' Punctuation +'\n ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableEventInitOrLong' Name.Variable +';' Punctuation +'\n ' Text +'(' Punctuation +'HTMLElement' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableHTMLElementOrLong' Name.Variable +';' Punctuation +'\n ' Text +'// CustomEventInit is useful to test because it needs rooting.' Comment.Single +'\n ' Text +'(' Punctuation +'CustomEventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'eventInitOrLong2' Name.Variable +';' Punctuation +'\n ' Text +'(' Punctuation +'CustomEventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableEventInitOrLong2' Name.Variable +';' Punctuation +'\n ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'eventInitOrLongWithDefaultValue' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'(' Punctuation +'CustomEventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'eventInitOrLongWithDefaultValue2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'eventInitOrLongWithDefaultValue3' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n ' Text +'(' Punctuation +'CustomEventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'eventInitOrLongWithDefaultValue4' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableEventInitOrLongWithDefaultValue' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'(' Punctuation +'CustomEventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableEventInitOrLongWithDefaultValue2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'(' Punctuation +'EventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableEventInitOrLongWithDefaultValue3' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n ' Text +'(' Punctuation +'CustomEventInit' Name.Class +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableEventInitOrLongWithDefaultValue4' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'objectSequenceOrLong' Name.Variable +';' Punctuation +'\n ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'objectSequenceOrLongWithDefaultValue1' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +' ' Text +'objectSequenceOrLongWithDefaultValue2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'[]' Punctuation +';' Punctuation +'\n ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableObjectSequenceOrLong' Name.Variable +';' Punctuation +'\n ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableObjectSequenceOrLongWithDefaultValue1' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'1' Literal.Number.Integer +';' Punctuation +'\n ' Text +'(' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'or' Keyword +' ' Text +'long' Keyword.Type +')' Punctuation +'?' Punctuation +' ' Text +'nullableObjectSequenceOrLongWithDefaultValue2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'[]' Punctuation +';' Punctuation +'\n' Text + +'#endif' Comment.Preproc +'\n\n ' Text +'ArrayBuffer' Keyword.Type +' ' Text +'arrayBuffer' Name.Variable +';' Punctuation +'\n ' Text +'ArrayBuffer' Keyword.Type +'?' Punctuation +' ' Text +'nullableArrayBuffer' Name.Variable +';' Punctuation +'\n ' Text +'Uint8Array' Keyword.Type +' ' Text +'uint8Array' Name.Variable +';' Punctuation +'\n ' Text +'Float64Array' Keyword.Type +'?' Punctuation +' ' Text +'float64Array' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'seq1' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'seq2' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'[]' Punctuation +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'seq3' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'seq4' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'seq5' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'[]' Punctuation +';' Punctuation +'\n\n ' Text +'long' Keyword.Type +' ' Text +'dashed-name' Name.Variable +';' Punctuation +'\n\n ' Text +'required' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'requiredLong' Name.Variable +';' Punctuation +'\n ' Text +'required' Keyword +' ' Text +'object' Keyword.Type +' ' Text +'requiredObject' Name.Variable +';' Punctuation +'\n\n ' Text +'CustomEventInit' Name.Class +' ' Text +'customEventInit' Name.Variable +';' Punctuation +'\n ' Text +'TestDictionaryTypedef' Name.Class +' ' Text +'dictionaryTypedef' Name.Variable +';' Punctuation +'\n\n ' Text +'Promise' Keyword.Type +'<' Punctuation +'void' Keyword.Type +'>' Punctuation +' ' Text +'promise' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'Promise' Keyword.Type +'<' Punctuation +'void' Keyword.Type +'>' Punctuation +'>' Punctuation +' ' Text +'promiseSequence' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'dictionary' Keyword +' ' Text +'ParentDict' Name.Class +' ' Text +':' Punctuation +' ' Text +'GrandparentDict' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'c' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'5' Literal.Number.Integer +';' Punctuation +'\n ' Text +'TestInterface' Name.Class +' ' Text +'someInterface' Name.Variable +';' Punctuation +'\n ' Text +'TestInterface' Name.Class +'?' Punctuation +' ' Text +'someNullableInterface' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'TestExternalInterface' Name.Class +' ' Text +'someExternalInterface' Name.Variable +';' Punctuation +'\n ' Text +'any' Keyword.Type +' ' Text +'parentAny' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'dictionary' Keyword +' ' Text +'DictContainingDict' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'Dict' Name.Class +' ' Text +'memberDict' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'dictionary' Keyword +' ' Text +'DictContainingSequence' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'long' Keyword.Type +'>' Punctuation +' ' Text +'ourSequence' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'TestInterface' Name.Class +'>' Punctuation +' ' Text +'ourSequence2' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'ourSequence3' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +' ' Text +'ourSequence4' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'?' Punctuation +'>' Punctuation +' ' Text +'ourSequence5' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'ourSequence6' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'ourSequence7' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'>' Punctuation +'?' Punctuation +' ' Text +'ourSequence8' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'object' Keyword.Type +'?' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'ourSequence9' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'(' Punctuation +'float' Keyword.Type +' ' Text +'or' Keyword +' ' Text +'DOMString' Keyword.Type +')' Punctuation +'>' Punctuation +' ' Text +'ourSequence10' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'dictionary' Keyword +' ' Text +'DictForConstructor' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'Dict' Name.Class +' ' Text +'dict' Name.Variable +';' Punctuation +'\n ' Text +'DictContainingDict' Name.Class +' ' Text +'dict2' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +' ' Text +'seq1' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +'>' Punctuation +'?' Punctuation +' ' Text +'seq2' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'sequence' Keyword.Type +'<' Punctuation +'Dict' Name.Class +'>' Punctuation +'?' Punctuation +'>' Punctuation +' ' Text +'seq3' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'seq4' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'any' Keyword.Type +'>' Punctuation +' ' Text +'seq5' Name.Variable +';' Punctuation +'\n ' Text +'sequence' Keyword.Type +'<' Punctuation +'DictContainingSequence' Name.Class +'>' Punctuation +' ' Text +'seq6' Name.Variable +';' Punctuation +'\n ' Text +'object' Keyword.Type +' ' Text +'obj1' Name.Variable +';' Punctuation +'\n ' Text +'object' Keyword.Type +'?' Punctuation +' ' Text +'obj2' Name.Variable +';' Punctuation +'\n ' Text +'any' Keyword.Type +' ' Text +'any1' Name.Variable +' ' Text +'=' Punctuation +' ' Text +'null' Keyword.Constant +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'dictionary' Keyword +' ' Text +'DictWithConditionalMembers' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'[' Punctuation +'ChromeOnly' Name.Decorator +']' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'chromeOnlyMember' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'Func' Name.Decorator +'=' Punctuation +'"TestFuncControlledMember"' Literal.String +']' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'funcControlledMember' Name.Variable +';' Punctuation +'\n ' Text +'[' Punctuation +'ChromeOnly' Name.Decorator +',' Punctuation +' ' Text +'Func' Name.Decorator +'=' Punctuation +'"nsGenericHTMLElement::TouchEventsEnabled"' Literal.String +']' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'chromeOnlyFuncControlledMember' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedGetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'item' Name.Function +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'idx' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'unsigned long' Keyword.Type +' ' Text +'length' Name.Variable +';' Punctuation +'\n ' Text +'legacycaller' Keyword +' ' Text +'void' Keyword.Type +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestNamedGetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedGetterAndSetterAndNamedGetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'myName' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'setter' Keyword +' ' Text +'creator' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +',' Punctuation +' ' Text +'long' Keyword.Type +' ' Text +'arg' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedAndNamedGetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'namedItem' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'unsigned long' Keyword.Type +' ' Text +'length' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'setter' Keyword +' ' Text +'creator' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'setItem' Name.Function +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'idx' Name.Variable +',' Punctuation +' ' Text +'DOMString' Keyword.Type +' ' Text +'item' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'idx' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestNamedSetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'setter' Keyword +' ' Text +'creator' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'myName' Name.Variable +',' Punctuation +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'item' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedAndNamedSetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'setter' Keyword +' ' Text +'creator' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +',' Punctuation +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'item' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'setter' Keyword +' ' Text +'creator' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'setNamedItem' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +',' Punctuation +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'item' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedAndNamedGetterAndSetterInterface' Name.Class +' ' Text +':' Punctuation +' ' Text +'TestIndexedSetterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'item' Name.Function +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'namedItem' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'setter' Keyword +' ' Text +'creator' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +',' Punctuation +' ' Text +'long' Keyword.Type +' ' Text +'item' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'setter' Keyword +' ' Text +'creator' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +',' Punctuation +' ' Text +'DOMString' Keyword.Type +' ' Text +'item' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'stringifier' Keyword +' ' Text +'DOMString' Keyword.Type +' ' Text +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'unsigned long' Keyword.Type +' ' Text +'length' Name.Variable +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedDeleterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'deleter' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'delItem' Name.Function +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'idx' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedDeleterWithRetvalInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'deleter' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'delItem' Name.Function +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestNamedDeleterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'deleter' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestNamedDeleterWithRetvalInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'deleter' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'delNamedItem' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestIndexedAndNamedDeleterInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'deleter' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'unsigned long' Keyword.Type +' ' Text +'index' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'deleter' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'delNamedItem' Name.Function +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n ' Text +'getter' Keyword +' ' Text +'long' Keyword.Type +' ' Text +'(' Punctuation +'DOMString' Keyword.Type +' ' Text +'name' Name.Variable +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'interface' Keyword +' ' Text +'TestCppKeywordNamedMethodsInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'boolean' Keyword.Type +' ' Text +'continue' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'boolean' Keyword.Type +' ' Text +'delete' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'volatile' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'Deprecated' Name.Decorator +'=' Punctuation +'"GetAttributeNode"' Literal.String +',' Punctuation +' ' Text +'Constructor' Name.Decorator +'(' Punctuation +')' Punctuation +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'TestDeprecatedInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'static' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'alsoDeprecated' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n\n' Text + +'[' Punctuation +'Constructor' Name.Decorator +'(' Punctuation +'Promise' Keyword.Type +'<' Punctuation +'void' Keyword.Type +'>' Punctuation +' ' Text +'promise' Name.Variable +')' Punctuation +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'TestInterfaceWithPromiseConstructorArg' Name.Class +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'namespace' Keyword +' ' Text +'TestNamespace' Name.Namespace +' ' Text +'{' Punctuation +'\n ' Text +'readonly' Keyword +' ' Text +'attribute' Keyword +' ' Text +'boolean' Keyword.Type +' ' Text +'foo' Name.Variable +';' Punctuation +'\n ' Text +'long' Keyword.Type +' ' Text +'bar' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'partial' Keyword +' ' Text +'namespace' Keyword +' ' Text +'TestNamespace' Name.Namespace +' ' Text +'{' Punctuation +'\n ' Text +'void' Keyword.Type +' ' Text +'baz' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'ClassString' Name.Decorator +'=' Punctuation +'"RenamedNamespaceClassName"' Literal.String +']' Punctuation +'\n' Text + +'namespace' Keyword +' ' Text +'TestRenamedNamespace' Name.Namespace +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'ProtoObjectHack' Name.Decorator +']' Punctuation +'\n' Text + +'namespace' Keyword +' ' Text +'TestProtoObjectHackedNamespace' Name.Namespace +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'[' Punctuation +'SecureContext' Name.Decorator +']' Punctuation +'\n' Text + +'interface' Keyword +' ' Text +'TestSecureContextInterface' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'static' Keyword +' ' Text +'void' Keyword.Type +' ' Text +'alsoSecureContext' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n' Text diff --git a/tests/examplefiles/example.whiley b/tests/examplefiles/whiley/example.whiley similarity index 100% rename from tests/examplefiles/example.whiley rename to tests/examplefiles/whiley/example.whiley diff --git a/tests/examplefiles/whiley/example.whiley.output b/tests/examplefiles/whiley/example.whiley.output new file mode 100644 index 0000000..5779465 --- /dev/null +++ b/tests/examplefiles/whiley/example.whiley.output @@ -0,0 +1,2755 @@ +'/**\n * Example Whiley program, taken from the Whiley benchmark suite.\n * https://github.com/Whiley/WyBench/blob/master/src/101_interpreter/Main.whiley\n */' Literal.String.Doc +'\n\n' Text + +'import' Keyword.Namespace +' ' Text +'whiley' Name +'.' Punctuation +'lang' Name +'.' Punctuation +'System' Name +'\n' Text + +'import' Keyword.Namespace +' ' Text +'whiley' Name +'.' Punctuation +'lang' Name +'.' Punctuation +'Int' Name +'\n' Text + +'import' Keyword.Namespace +' ' Text +'whiley' Name +'.' Punctuation +'io' Name +'.' Punctuation +'File' Name +'\n' Text + +'import' Keyword.Namespace +' ' Text +'string' Name +' ' Text +'from' Keyword.Namespace +' ' Text +'whiley' Name +'.' Punctuation +'lang' Name +'.' Punctuation +'ASCII' Name +'\n' Text + +'import' Keyword.Namespace +' ' Text +'char' Name +' ' Text +'from' Keyword.Namespace +' ' Text +'whiley' Name +'.' Punctuation +'lang' Name +'.' Punctuation +'ASCII' Name +'\n\n' Text + +'// ====================================================' Comment.Single +'\n' Text + +'// A simple calculator for expressions' Comment.Single +'\n' Text + +'// ====================================================' Comment.Single +'\n\n' Text + +'constant' Keyword.Declaration +' ' Text +'ADD' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'0' Literal.Number.Integer +'\n' Text + +'constant' Keyword.Declaration +' ' Text +'SUB' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'constant' Keyword.Declaration +' ' Text +'MUL' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'2' Literal.Number.Integer +'\n' Text + +'constant' Keyword.Declaration +' ' Text +'DIV' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'3' Literal.Number.Integer +'\n\n' Text + +'// binary operation' Comment.Single +'\n' Text + +'type' Keyword.Declaration +' ' Text +'BOp' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'(' Punctuation +'int' Keyword.Type +' ' Text +'x' Name +')' Punctuation +' ' Text +'where' Keyword.Reserved +' ' Text +'ADD' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'x' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'x' Name +' ' Text +'<' Operator +'=' Operator +' ' Text +'DIV' Name +'\n' Text + +'type' Keyword.Declaration +' ' Text +'BinOp' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'BOp' Name +' ' Text +'op' Name +',' Punctuation +' ' Text +'Expr' Name +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'Expr' Name +' ' Text +'rhs' Name +' ' Text +'}' Punctuation +' \n\n' Text + +'// variables' Comment.Single +'\n' Text + +'type' Keyword.Declaration +' ' Text +'Var' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'string' Name +' ' Text +'id' Name +' ' Text +'}' Punctuation +'\n\n' Text + +'// list access' Comment.Single +'\n' Text + +'type' Keyword.Declaration +' ' Text +'ListAccess' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' \n ' Text +'Expr' Name +' ' Text +'src' Name +',' Punctuation +' \n ' Text +'Expr' Name +' ' Text +'index' Name +'\n' Text + +'}' Punctuation +' \n\n' Text + +'// expression tree' Comment.Single +'\n' Text + +'type' Keyword.Declaration +' ' Text +'Expr' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'int' Keyword.Type +' ' Text +'|' Operator +' ' Text +'// constant' Comment.Single +'\n ' Text +'Var' Name +' ' Text +'|' Operator +' ' Text +'// variable' Comment.Single +'\n ' Text +'BinOp' Name +' ' Text +'|' Operator +' ' Text +'// binary operator' Comment.Single +'\n ' Text +'Expr' Name +'[' Punctuation +']' Punctuation +' ' Text +'|' Operator +' ' Text +'// array constructor' Comment.Single +'\n ' Text +'ListAccess' Name +' ' Text +'// list access' Comment.Single +'\n\n' Text + +'// values' Comment.Single +'\n' Text + +'type' Keyword.Declaration +' ' Text +'Value' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'int' Keyword.Type +' ' Text +'|' Operator +' ' Text +'Value' Name +'[' Punctuation +']' Punctuation +'\n\n' Text + +'// stmts' Comment.Single +'\n' Text + +'type' Keyword.Declaration +' ' Text +'Print' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'Expr' Name +' ' Text +'rhs' Name +' ' Text +'}' Punctuation +'\n' Text + +'type' Keyword.Declaration +' ' Text +'Set' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'string' Name +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'Expr' Name +' ' Text +'rhs' Name +' ' Text +'}' Punctuation +'\n' Text + +'type' Keyword.Declaration +' ' Text +'Stmt' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'Print' Name +' ' Text +'|' Operator +' ' Text +'Set' Name +'\n\n' Text + +'// ====================================================' Comment.Single +'\n' Text + +'// Expression Evaluator' Comment.Single +'\n' Text + +'// ====================================================' Comment.Single +'\n\n' Text + +'type' Keyword.Declaration +' ' Text +'RuntimeError' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'string' Name +' ' Text +'msg' Name +' ' Text +'}' Punctuation +'\n' Text + +'type' Keyword.Declaration +' ' Text +'Environment' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'[' Punctuation +'{' Punctuation +'string' Name +' ' Text +'k' Name +',' Punctuation +' ' Text +'Value' Name +' ' Text +'v' Name +'}' Punctuation +']' Punctuation +'\n\n' Text + +'// Evaluate an expression in a given environment reducing either to a' Comment.Single +'\n' Text + +'// value, or a runtime error. The latter occurs if evaluation gets' Comment.Single +'\n' Text + +'// "stuck" (e.g. expression is // not well-formed)' Comment.Single +'\n' Text + +'function' Keyword.Declaration +' ' Text +'evaluate' Name +'(' Punctuation +'Expr' Name +' ' Text +'e' Name +',' Punctuation +' ' Text +'Environment' Name +' ' Text +'env' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'Value' Name +' ' Text +'|' Operator +' ' Text +'RuntimeError' Name +':' Operator +'\n ' Text +'//' Comment.Single +'\n ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'int' Keyword.Type +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'e' Name +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'Var' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'env' Name +'[' Punctuation +'e' Name +'.' Punctuation +'id' Name +']' Punctuation +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'BinOp' Name +':' Operator +'\n ' Text +'Value' Name +'|' Operator +'RuntimeError' Name +' ' Text +'lhs' Name +' ' Text +'=' Operator +' ' Text +'evaluate' Name +'(' Punctuation +'e' Name +'.' Punctuation +'lhs' Name +',' Punctuation +' ' Text +'env' Name +')' Punctuation +'\n ' Text +'Value' Name +'|' Operator +'RuntimeError' Name +' ' Text +'rhs' Name +' ' Text +'=' Operator +' ' Text +'evaluate' Name +'(' Punctuation +'e' Name +'.' Punctuation +'rhs' Name +',' Punctuation +' ' Text +'env' Name +')' Punctuation +'\n ' Text +'// check if stuck' Comment.Single +'\n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'(' Punctuation +'lhs' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'int' Keyword.Type +' ' Text +'&' Operator +'&' Operator +' ' Text +'rhs' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'int' Keyword.Type +')' Punctuation +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'msg' Name +':' Operator +' ' Text +'"' Literal.String +'arithmetic attempted on non-numeric value' Literal.String +'"' Literal.String +'}' Punctuation +'\n ' Text +'// switch statement would be good' Comment.Single +'\n ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +'.' Punctuation +'op' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'ADD' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'lhs' Name +' ' Text +'+' Operator +' ' Text +'rhs' Name +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +'.' Punctuation +'op' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'SUB' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'lhs' Name +' ' Text +'-' Operator +' ' Text +'rhs' Name +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +'.' Punctuation +'op' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'MUL' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'lhs' Name +' ' Text +'*' Operator +' ' Text +'rhs' Name +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'rhs' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'lhs' Name +' ' Text +'/' Operator +' ' Text +'rhs' Name +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'msg' Name +':' Operator +' ' Text +'"' Literal.String +'divide-by-zero' Literal.String +'"' Literal.String +'}' Punctuation +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'Expr' Name +'[' Punctuation +']' Punctuation +':' Operator +'\n ' Text +'[' Punctuation +'Value' Name +']' Punctuation +' ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'[' Punctuation +']' Punctuation +'\n ' Text +'for' Keyword.Reserved +' ' Text +'i' Name +' ' Text +'in' Keyword.Reserved +' ' Text +'e' Name +':' Operator +'\n ' Text +'Value' Name +'|' Operator +'RuntimeError' Name +' ' Text +'v' Name +' ' Text +'=' Operator +' ' Text +'evaluate' Name +'(' Punctuation +'i' Name +',' Punctuation +' ' Text +'env' Name +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'v' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'RuntimeError' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'v' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'r' Name +' ' Text +'+' Operator +'+' Operator +' ' Text +'[' Punctuation +'v' Name +']' Punctuation +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'e' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'ListAccess' Name +':' Operator +'\n ' Text +'Value' Name +'|' Operator +'RuntimeError' Name +' ' Text +'src' Name +' ' Text +'=' Operator +' ' Text +'evaluate' Name +'(' Punctuation +'e' Name +'.' Punctuation +'src' Name +',' Punctuation +' ' Text +'env' Name +')' Punctuation +'\n ' Text +'Value' Name +'|' Operator +'RuntimeError' Name +' ' Text +'index' Name +' ' Text +'=' Operator +' ' Text +'evaluate' Name +'(' Punctuation +'e' Name +'.' Punctuation +'index' Name +',' Punctuation +' ' Text +'env' Name +')' Punctuation +'\n ' Text +'// santity checks' Comment.Single +'\n ' Text +'if' Keyword.Reserved +' ' Text +'src' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'[' Punctuation +'Value' Name +']' Punctuation +' ' Text +'&' Operator +'&' Operator +' ' Text +'index' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'int' Keyword.Type +' ' Text +'&' Operator +'&' Operator +' ' Text +'index' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'&' Operator +'&' Operator +' ' Text +'index' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'src' Name +'|' Operator +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'src' Name +'[' Punctuation +'index' Name +']' Punctuation +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'msg' Name +':' Operator +' ' Text +'"' Literal.String +'invalid list access' Literal.String +'"' Literal.String +'}' Punctuation +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'0' Literal.Number.Integer +' ' Text +'// dead-code' Comment.Single +'\n\n' Text + +'// ====================================================' Comment.Single +'\n' Text + +'// Expression Parser' Comment.Single +'\n' Text + +'// ====================================================' Comment.Single +'\n\n' Text + +'type' Keyword.Declaration +' ' Text +'State' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'string' Name +' ' Text +'input' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'pos' Name +' ' Text +'}' Punctuation +'\n' Text + +'type' Keyword.Declaration +' ' Text +'SyntaxError' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'string' Name +' ' Text +'msg' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'start' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'end' Name +' ' Text +'}' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +' ' Text +'SyntaxError' Name +'(' Punctuation +'string' Name +' ' Text +'msg' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'start' Name +',' Punctuation +' ' Text +'int' Keyword.Type +' ' Text +'end' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'SyntaxError' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +' ' Text +'msg' Name +':' Operator +' ' Text +'msg' Name +',' Punctuation +' ' Text +'start' Name +':' Operator +' ' Text +'start' Name +',' Punctuation +' ' Text +'end' Name +':' Operator +' ' Text +'end' Name +' ' Text +'}' Punctuation +'\n\n' Text + +'// Top-level parse method' Comment.Single +'\n' Text + +'function' Keyword.Declaration +' ' Text +'parse' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'(' Punctuation +'Stmt' Name +',' Punctuation +'State' Name +')' Punctuation +'|' Operator +'SyntaxError' Name +':' Operator +'\n ' Text +'//' Comment.Single +'\n ' Text +'Var' Name +' ' Text +'keyword' Name +',' Punctuation +' ' Text +'Var' Name +' ' Text +'v' Name +'\n ' Text +'Expr' Name +' ' Text +'e' Name +'\n ' Text +'int' Keyword.Type +' ' Text +'start' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +'\n ' Text +'//' Comment.Single +'\n ' Text +'keyword' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'parseIdentifier' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'switch' Keyword.Reserved +' ' Text +'keyword' Name +'.' Punctuation +'id' Name +':' Operator +'\n ' Text +'case' Keyword.Reserved +' ' Text +'"' Literal.String +'print' Literal.String +'"' Literal.String +':' Operator +'\n ' Text +'any' Keyword.Type +' ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseAddSubExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'(' Punctuation +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +')' Punctuation +':' Operator +'\n ' Text +'e' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'rhs' Name +':' Operator +' ' Text +'e' Name +'}' Punctuation +',' Punctuation +'st' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +' ' Text +'// error case' Comment.Single +'\n ' Text +'case' Keyword.Reserved +' ' Text +'"' Literal.String +'set' Literal.String +'"' Literal.String +':' Operator +'\n ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'v' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'parseIdentifier' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'any' Keyword.Type +' ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseAddSubExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'(' Punctuation +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +')' Punctuation +':' Operator +'\n ' Text +'e' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'lhs' Name +':' Operator +' ' Text +'v' Name +'.' Punctuation +'id' Name +',' Punctuation +' ' Text +'rhs' Name +':' Operator +' ' Text +'e' Name +'}' Punctuation +',' Punctuation +'st' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +' ' Text +'// error case' Comment.Single +'\n ' Text +'default' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'SyntaxError' Name +'(' Punctuation +'"' Literal.String +'unknown statement' Literal.String +'"' Literal.String +',' Punctuation +'start' Name +',' Punctuation +'st' Name +'.' Punctuation +'pos' Name +'-' Operator +'1' Literal.Number.Integer +')' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +' ' Text +'parseAddSubExpr' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'(' Punctuation +'Expr' Name +',' Punctuation +' ' Text +'State' Name +')' Punctuation +'|' Operator +'SyntaxError' Name +':' Operator +' \n ' Text +'//' Comment.Single +'\n ' Text +'Expr' Name +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'Expr' Name +' ' Text +'rhs' Name +' \n ' Text +'// First, pass left-hand side ' Comment.Single +'\n ' Text +'any' Keyword.Type +' ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseMulDivExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'//' Comment.Single +'\n ' Text +'if' Keyword.Reserved +' ' Text +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +'\n ' Text +'// ' Comment.Single +'\n ' Text +'lhs' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'// Second, see if there is a right-hand side' Comment.Single +'\n ' Text +'if' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'+'" Literal.String.Char +':' Operator +'\n ' Text +'// add expression' Comment.Single +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseAddSubExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +' \n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'(' Punctuation +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +')' Punctuation +':' Operator +'\n ' Text +'rhs' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'op' Name +':' Operator +' ' Text +'ADD' Name +',' Punctuation +' ' Text +'lhs' Name +':' Operator +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'rhs' Name +':' Operator +' ' Text +'rhs' Name +'}' Punctuation +',' Punctuation +'st' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'-'" Literal.String.Char +':' Operator +'\n ' Text +'// subtract expression' Comment.Single +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseAddSubExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +' \n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'(' Punctuation +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +')' Punctuation +':' Operator +'\n ' Text +'rhs' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'op' Name +':' Operator +' ' Text +'SUB' Name +',' Punctuation +' ' Text +'lhs' Name +':' Operator +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'rhs' Name +':' Operator +' ' Text +'rhs' Name +'}' Punctuation +',' Punctuation +'st' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +' \n ' Text +'// No right-hand side' Comment.Single +'\n ' Text +'return' Keyword.Reserved +' ' Text +'(' Punctuation +'lhs' Name +',' Punctuation +'st' Name +')' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +' ' Text +'parseMulDivExpr' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'(' Punctuation +'Expr' Name +',' Punctuation +' ' Text +'State' Name +')' Punctuation +'|' Operator +'SyntaxError' Name +':' Operator +' \n ' Text +'// First, parse left-hand side' Comment.Single +'\n ' Text +'Expr' Name +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'Expr' Name +' ' Text +'rhs' Name +'\n ' Text +'any' Keyword.Type +' ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseTerm' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +'\n ' Text +'//' Comment.Single +'\n ' Text +'lhs' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'// Second, see if there is a right-hand side' Comment.Single +'\n ' Text +'if' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'*'" Literal.String.Char +':' Operator +'\n ' Text +'// add expression' Comment.Single +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseMulDivExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +' \n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'(' Punctuation +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +')' Punctuation +':' Operator +'\n ' Text +'rhs' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'op' Name +':' Operator +' ' Text +'MUL' Name +',' Punctuation +' ' Text +'lhs' Name +':' Operator +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'rhs' Name +':' Operator +' ' Text +'rhs' Name +'}' Punctuation +',' Punctuation +' ' Text +'st' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'/'" Literal.String.Char +':' Operator +'\n ' Text +'// subtract expression' Comment.Single +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseMulDivExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +' \n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'(' Punctuation +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +')' Punctuation +':' Operator +'\n ' Text +'rhs' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'return' Keyword.Reserved +' ' Text +'{' Punctuation +'op' Name +':' Operator +' ' Text +'DIV' Name +',' Punctuation +' ' Text +'lhs' Name +':' Operator +' ' Text +'lhs' Name +',' Punctuation +' ' Text +'rhs' Name +':' Operator +' ' Text +'rhs' Name +'}' Punctuation +',' Punctuation +' ' Text +'st' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +'\n ' Text +'// No right-hand side' Comment.Single +'\n ' Text +'return' Keyword.Reserved +' ' Text +'(' Punctuation +'lhs' Name +',' Punctuation +'st' Name +')' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +' ' Text +'parseTerm' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'(' Punctuation +'Expr' Name +',' Punctuation +' ' Text +'State' Name +')' Punctuation +'|' Operator +'SyntaxError' Name +':' Operator +'\n ' Text +'//' Comment.Single +'\n ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'st' Name +')' Punctuation +' \n ' Text +'if' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +':' Operator +'\n ' Text +'if' Keyword.Reserved +' ' Text +'ASCII' Name +'.' Punctuation +'isLetter' Name +'(' Punctuation +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +')' Punctuation +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'parseIdentifier' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'ASCII' Name +'.' Punctuation +'isDigit' Name +'(' Punctuation +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +')' Punctuation +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'parseNumber' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +' ' Text +'=' Operator +'=' Operator +' ' Text +"'['" Literal.String.Char +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'parseList' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'//' Comment.Single +'\n ' Text +'return' Keyword.Reserved +' ' Text +'SyntaxError' Name +'(' Punctuation +'"' Literal.String +'expecting number or variable' Literal.String +'"' Literal.String +',' Punctuation +'st' Name +'.' Punctuation +'pos' Name +',' Punctuation +'st' Name +'.' Punctuation +'pos' Name +')' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +' ' Text +'parseIdentifier' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'(' Punctuation +'Var' Name +',' Punctuation +' ' Text +'State' Name +')' Punctuation +':' Operator +'\n ' Text +'//' Comment.Single +'\n ' Text +'string' Name +' ' Text +'txt' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'"' Literal.String +'\n ' Text +'// inch forward until end of identifier reached' Comment.Single +'\n ' Text +'while' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'ASCII' Name +'.' Punctuation +'isLetter' Name +'(' Punctuation +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +')' Punctuation +':' Operator +'\n ' Text +'txt' Name +' ' Text +'=' Operator +' ' Text +'txt' Name +' ' Text +'+' Operator +'+' Operator +' ' Text +'[' Punctuation +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +']' Punctuation +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'return' Keyword.Reserved +' ' Text +'(' Punctuation +'{' Punctuation +'id' Name +':' Operator +'txt' Name +'}' Punctuation +',' Punctuation +' ' Text +'st' Name +')' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +' ' Text +'parseNumber' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'(' Punctuation +'Expr' Name +',' Punctuation +' ' Text +'State' Name +')' Punctuation +'|' Operator +'SyntaxError' Name +':' Operator +' \n ' Text +'// inch forward until end of identifier reached' Comment.Single +'\n ' Text +'int' Keyword.Type +' ' Text +'start' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +'\n ' Text +'while' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'ASCII' Name +'.' Punctuation +'isDigit' Name +'(' Punctuation +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +')' Punctuation +':' Operator +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +' \n ' Text +'//' Comment.Single +'\n ' Text +'int' Keyword.Type +'|' Operator +'null' Keyword.Constant +' ' Text +'iv' Name +' ' Text +'=' Operator +' ' Text +'Int' Name +'.' Punctuation +'parse' Name +'(' Punctuation +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'start' Name +'.' Punctuation +'.' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'iv' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'null' Keyword.Constant +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'SyntaxError' Name +'(' Punctuation +'"' Literal.String +'Error parsing number' Literal.String +'"' Literal.String +',' Punctuation +'start' Name +',' Punctuation +'st' Name +'.' Punctuation +'pos' Name +')' Punctuation +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'iv' Name +',' Punctuation +' ' Text +'st' Name +'\n\n' Text + +'function' Keyword.Declaration +' ' Text +'parseList' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'(' Punctuation +'Expr' Name +',' Punctuation +' ' Text +'State' Name +')' Punctuation +'|' Operator +'SyntaxError' Name +':' Operator +' \n ' Text +'//' Comment.Single +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +' ' Text +"// skip '['" Comment.Single +'\n ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'[' Punctuation +'Expr' Name +']' Punctuation +' ' Text +'l' Name +' ' Text +'=' Operator +' ' Text +'[' Punctuation +']' Punctuation +' ' Text +'// initial list' Comment.Single +'\n ' Text +'bool' Keyword.Type +' ' Text +'firstTime' Name +' ' Text +'=' Operator +' ' Text +'true' Keyword.Constant +'\n ' Text +'while' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +' ' Text +'!' Operator +'=' Operator +' ' Text +"']'" Literal.String.Char +':' Operator +'\n ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'firstTime' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +' ' Text +'!' Operator +'=' Operator +' ' Text +"','" Literal.String.Char +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'SyntaxError' Name +'(' Punctuation +'"' Literal.String +'expecting comma' Literal.String +'"' Literal.String +',' Punctuation +'st' Name +'.' Punctuation +'pos' Name +',' Punctuation +'st' Name +'.' Punctuation +'pos' Name +')' Punctuation +'\n ' Text +'else' Keyword.Reserved +' ' Text +'if' Keyword.Reserved +' ' Text +'!' Operator +'firstTime' Name +':' Operator +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +' ' Text +"// skip ','" Comment.Single +'\n ' Text +'firstTime' Name +' ' Text +'=' Operator +' ' Text +'false' Keyword.Constant +'\n ' Text +'any' Keyword.Type +' ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parseAddSubExpr' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +':' Operator +'\n ' Text +'return' Keyword.Reserved +' ' Text +'r' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'Expr' Name +' ' Text +'e' Name +'\n ' Text +'e' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'// perform annoying error check ' Comment.Single +'\n ' Text +'l' Name +' ' Text +'=' Operator +' ' Text +'l' Name +' ' Text +'+' Operator +'+' Operator +' ' Text +'[' Punctuation +'e' Name +']' Punctuation +'\n ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'return' Keyword.Reserved +' ' Text +'l' Name +',' Punctuation +'st' Name +'\n \n' Text + +'// Parse all whitespace upto end-of-file' Comment.Single +'\n' Text + +'function' Keyword.Declaration +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'State' Name +' ' Text +'st' Name +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'State' Name +':' Operator +'\n ' Text +'while' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +' ' Text +'&' Operator +'&' Operator +' ' Text +'ASCII' Name +'.' Punctuation +'isWhiteSpace' Name +'(' Punctuation +'st' Name +'.' Punctuation +'input' Name +'[' Punctuation +'st' Name +'.' Punctuation +'pos' Name +']' Punctuation +')' Punctuation +':' Operator +'\n ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'=' Operator +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n ' Text +'return' Keyword.Reserved +' ' Text +'st' Name +'\n\n' Text + +'// ====================================================' Comment.Single +'\n' Text + +'// Main Method' Comment.Single +'\n' Text + +'// ====================================================' Comment.Single +'\n\n' Text + +'public' Keyword.Declaration +' ' Text +'method' Keyword.Declaration +' ' Text +'main' Name +'(' Punctuation +'System' Name +'.' Punctuation +'Console' Name +' ' Text +'sys' Name +')' Punctuation +':' Operator +'\n ' Text +'if' Keyword.Reserved +'(' Punctuation +'|' Operator +'sys' Name +'.' Punctuation +'args' Name +'|' Operator +' ' Text +'=' Operator +'=' Operator +' ' Text +'0' Literal.Number.Integer +')' Punctuation +':' Operator +'\n ' Text +'sys' Name +'.' Punctuation +'out' Name +'.' Punctuation +'println' Name +'(' Punctuation +'"' Literal.String +'no parameter provided!' Literal.String +'"' Literal.String +')' Punctuation +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'File' Name +'.' Punctuation +'Reader' Name +' ' Text +'file' Name +' ' Text +'=' Operator +' ' Text +'File' Name +'.' Punctuation +'Reader' Name +'(' Punctuation +'sys' Name +'.' Punctuation +'args' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +')' Punctuation +'\n ' Text +'string' Name +' ' Text +'input' Name +' ' Text +'=' Operator +' ' Text +'ASCII' Name +'.' Punctuation +'fromBytes' Name +'(' Punctuation +'file' Name +'.' Punctuation +'readAll' Name +'(' Punctuation +')' Punctuation +')' Punctuation +'\n \n ' Text +'Environment' Name +' ' Text +'env' Name +' ' Text +'=' Operator +' ' Text +'Environment' Name +'(' Punctuation +')' Punctuation +'\n ' Text +'State' Name +' ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'{' Punctuation +'pos' Name +':' Operator +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'input' Name +':' Operator +' ' Text +'input' Name +'}' Punctuation +'\n ' Text +'while' Keyword.Reserved +' ' Text +'st' Name +'.' Punctuation +'pos' Name +' ' Text +'<' Operator +' ' Text +'|' Operator +'st' Name +'.' Punctuation +'input' Name +'|' Operator +':' Operator +'\n ' Text +'Stmt' Name +' ' Text +'s' Name +'\n ' Text +'any' Keyword.Type +' ' Text +'r' Name +' ' Text +'=' Operator +' ' Text +'parse' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'r' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'SyntaxError' Name +':' Operator +'\n ' Text +'sys' Name +'.' Punctuation +'out' Name +'.' Punctuation +'println' Name +'(' Punctuation +'"' Literal.String +'syntax error: ' Literal.String +'"' Literal.String +' ' Text +'+' Operator +'+' Operator +' ' Text +'r' Name +'.' Punctuation +'msg' Name +')' Punctuation +' \n ' Text +'return' Keyword.Reserved +'\n ' Text +'s' Name +',' Punctuation +'st' Name +' ' Text +'=' Operator +' ' Text +'r' Name +'\n ' Text +'Value' Name +'|' Operator +'RuntimeError' Name +' ' Text +'v' Name +' ' Text +'=' Operator +' ' Text +'evaluate' Name +'(' Punctuation +'s' Name +'.' Punctuation +'rhs' Name +',' Punctuation +'env' Name +')' Punctuation +'\n ' Text +'if' Keyword.Reserved +' ' Text +'v' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'RuntimeError' Name +':' Operator +'\n ' Text +'sys' Name +'.' Punctuation +'out' Name +'.' Punctuation +'println' Name +'(' Punctuation +'"' Literal.String +'runtime error: ' Literal.String +'"' Literal.String +' ' Text +'+' Operator +'+' Operator +' ' Text +'v' Name +'.' Punctuation +'msg' Name +')' Punctuation +' \n ' Text +'return' Keyword.Reserved +'\n ' Text +'if' Keyword.Reserved +' ' Text +'s' Name +' ' Text +'is' Keyword.Reserved +' ' Text +'Set' Name +':' Operator +'\n ' Text +'env' Name +'[' Punctuation +'s' Name +'.' Punctuation +'lhs' Name +']' Punctuation +' ' Text +'=' Operator +' ' Text +'v' Name +'\n ' Text +'else' Keyword.Reserved +':' Operator +'\n ' Text +'sys' Name +'.' Punctuation +'out' Name +'.' Punctuation +'println' Name +'(' Punctuation +'r' Name +')' Punctuation +'\n ' Text +'st' Name +' ' Text +'=' Operator +' ' Text +'parseWhiteSpace' Name +'(' Punctuation +'st' Name +')' Punctuation +'\n \n' Text diff --git a/tests/examplefiles/example.x10 b/tests/examplefiles/x10/example.x10 similarity index 100% rename from tests/examplefiles/example.x10 rename to tests/examplefiles/x10/example.x10 diff --git a/tests/examplefiles/x10/example.x10.output b/tests/examplefiles/x10/example.x10.output new file mode 100644 index 0000000..39887a3 --- /dev/null +++ b/tests/examplefiles/x10/example.x10.output @@ -0,0 +1,82 @@ +'/** Example file for the X10 programming langauge (http://x10-lang.org).\n */' Comment.Multiline +'\n' Text + +'class' Keyword +' ' Text +'E' Text +'x' Text +'a' Text +'m' Text +'p' Text +'l' Text +'e' Text +' ' Text +'{' Text +'\n' Text + +'\n' Text + +' ' Text +'public' Keyword.Declaration +' ' Text +'static' Keyword.Declaration +' ' Text +'def' Keyword +' ' Text +'m' Text +'a' Text +'i' Text +'n' Text +'(' Text +'R' Text +'a' Text +'i' Text +'l' Text +'[' Text +'S' Text +'t' Text +'r' Text +'i' Text +'n' Text +'g' Text +']' Text +')' Text +' ' Text +'{' Text +'\n' Text + +'\t' Text +'C' Text +'o' Text +'n' Text +'s' Text +'o' Text +'l' Text +'e' Text +'.' Text +'O' Text +'U' Text +'T' Text +'.' Text +'p' Text +'r' Text +'i' Text +'n' Text +'t' Text +'l' Text +'n' Text +'(' Text +'"Hello World!"' Literal.String +')' Text +';' Text +' ' Text +'// say hello.\n' Comment.Single + +' ' Text +'}' Text +'\n' Text + +'\n' Text + +'}' Text +'\n' Text diff --git a/tests/examplefiles/xml_example b/tests/examplefiles/xml/xml_example similarity index 100% rename from tests/examplefiles/xml_example rename to tests/examplefiles/xml/xml_example diff --git a/tests/examplefiles/xml/xml_example.output b/tests/examplefiles/xml/xml_example.output new file mode 100644 index 0000000..3cd69c2 --- /dev/null +++ b/tests/examplefiles/xml/xml_example.output @@ -0,0 +1,13503 @@ +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' abort ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' abs ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' abstract ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' accept ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' access ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' aliased ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' all ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' and ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' array ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' at ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' begin ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' body ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' constant ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' declare ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' delay ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' delta ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' digits ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' do ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' else ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' elsif ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' end ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' entry ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' exception ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' exit ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' for ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' function ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' generic ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' goto ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' in ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' is ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' limited ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' mod ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' new ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' not ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' null ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' of ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' or ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' others ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' out ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' package ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' pragma ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' private ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' procedure ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' protected ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' raise ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' range ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' rem ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' record ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' renames ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' requeue ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' return ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' reverse ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' separate ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' subtype ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' tagged ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' task ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' terminate ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' then ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' type ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' until ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' use ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' when ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' while ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' with ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' xor ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\n\n ' Text +'' Name.Tag +'\n\n\n\n\n\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\n\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t \t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n\t \t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n \t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n \t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'BEGIN' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'END' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'if' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'else' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'while' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'do' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'for' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'in' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'continue' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'break' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'print' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'printf' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'getline' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'function' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'return' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'next' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'exit' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'ARGC' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'ARGV' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'CONVFMT' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'ENVIRON' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'FILENAME' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'FNR' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'FS' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'NF' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'NR' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'OFMT' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'OFS' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'ORS' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'RS' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'RSTART' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'RLENGTH' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'SUBSEP' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'gsub' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'index' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'length' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'match' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'split' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'sprintf' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'sub' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'substr' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'tolower' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'toupper' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'atan2' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'cos' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'exp' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'int' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'log' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'rand' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'sin' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'sqrt' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'srand' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'close' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'fflush' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'system' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' break ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' case ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' else ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' esac ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' exit ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' export ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' for ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' function ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' in ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' return ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' select ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' then ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' until ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' while ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' . ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' done ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' do ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' elif ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' fi ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' if ' Text +'' Name.Tag +'\n\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' cp ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' date ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' echo ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' eval ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dcop ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dcopstart ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dcopfind ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' break ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' case ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' continue ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' default ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' do ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' else ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' enum ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' extern ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' for ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' goto ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' if ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' inline ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' return ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' sizeof ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' struct ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' switch ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' typedef ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' union ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' while ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' auto ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' char ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' const ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' double ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' float ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' int ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' long ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' register ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' restrict ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' short ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' signed ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' static ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' unsigned ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' void ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' volatile ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' _Imaginary ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' _Complex ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' _Bool ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' FIXME ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' TODO ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' ### ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +' ' Text +'' Comment +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' aaa ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' access-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' address ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' alias ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' arp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' async-bootp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' banner ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' boot ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' bridge ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' buffers ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' busy-message ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' call-history-mib ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' cdp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' chat-script ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' class-map ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' clock ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' cns ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' config-register ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' controller ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' crypto ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default-value ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dialer ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dialer-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dnsix-dmdp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dnsix-nat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' downward-compatible-config ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' enable ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' end ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' exception ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' exit ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' file ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' frame-relay ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' help ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' hostname ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' interface ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ip ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' isdn ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' isdn-mib ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' kerberos ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' key ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' line ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' logging ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' login-string ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' map-class ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' map-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' memory-size ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' menu ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' modemcap ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' multilink ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' netbios ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' no ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ntp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' partition ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' policy-map ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' priority-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' privilege ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' process-max-time ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' prompt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' queue-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' resume-string ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rlogin ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rmon ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' route-map ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' router ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rtr ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' scheduler ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' service ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' snmp-server ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sntp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' stackmaker ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' state-machine ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' subscriber-policy ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tacacs-server ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' template ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' terminal-queue ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tftp-server ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' time-range ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' username ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' virtual-profile ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' virtual-template ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' vpdn ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' vpdn-group ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' x25 ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' x29 ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting-threshold ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting-transits ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' address-pool ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' as-path ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' audit ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' auth-proxy ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' authentication ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' authorization ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' bgp-community ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' bootp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' cef ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' classless ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' community-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default-gateway ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default-network ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dhcp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dhcp-server ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' domain-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' domain-lookup ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' domain-name ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dvmrp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' exec-callback ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' extcommunity-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' finger ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' flow-aggregation ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' flow-cache ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' flow-export ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' forward-protocol ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ftp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' gratuitous-arps ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' host ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' host-routing ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' hp-host ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' http ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' icmp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' inspect ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' local ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' mrm ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' mroute ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' msdp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' multicast ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' multicast-routing ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' name-server ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' nat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' new-model ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ospf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' password ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' password-encryption ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' pgm ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' pim ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' port-map ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' prefix-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' radius ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rcmd ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' reflexive-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' route ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' routing ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rsvp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rtcp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sap ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sdr ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' security ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' source-route ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' subnet-zero ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tacacs ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tcp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tcp-small-servers ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' telnet ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tftp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' timestamps ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' udp-small-servers ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' vrf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' wccp ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting-threshold ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' accounting-transits ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' address-pool ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' as-path ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' audit ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' auth-proxy ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' authentication ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' authorization ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' bgp-community ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' bootp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' cef ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' classless ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' community-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default-gateway ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default-network ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dhcp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dhcp-server ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' domain-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' domain-lookup ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' domain-name ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' dvmrp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' exec-callback ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' extcommunity-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' finger ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' flow-aggregation ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' flow-cache ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' flow-export ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' forward-protocol ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ftp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' gratuitous-arps ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' host ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' host-routing ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' hp-host ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' http ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' icmp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' inspect ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' local ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' mrm ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' mroute ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' msdp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' multicast ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' multicast-routing ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' name-server ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' nat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' new-model ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ospf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' password ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' password-encryption ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' pgm ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' pim ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' port-map ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' prefix-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' radius ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rcmd ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' reflexive-list ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' route ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' routing ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rsvp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' rtcp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sap ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sdr ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' security ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' source-route ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' subnet-zero ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tacacs ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tcp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tcp-small-servers ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' telnet ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tftp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' timestamps ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' udp-small-servers ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' vrf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' wccp ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n ' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n\n\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +' if ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' else ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' for ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' in ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' while ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' do ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' continue ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' break ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' with ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' try ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' catch ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' switch ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' case ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' new ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' var ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' function ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' return ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' this ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' delete ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' true ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' false ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' void ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' throw ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' typeof ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' const ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default ' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +' Anchor ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Applet ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Area ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Array ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Boolean ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Button ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Checkbox ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Date ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Document ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Event ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FileUpload ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Form ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Frame ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Function ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Hidden ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' History ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Image ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Layer ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Linke ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Location ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Math ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Navigator ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Number ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Object ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Option ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Password ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Radio ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RegExp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Reset ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Screen ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Select ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' String ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Submit ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Text ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Textarea ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Window ' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +' abs ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' acos ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' alert ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' anchor ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' apply ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' asin ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' atan ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' atan2 ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' back ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' blur ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' call ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' captureEvents ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ceil ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' charAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' charCodeAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' clearInterval ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' clearTimeout ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' click ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' close ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' compile ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' concat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' confirm ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' cos ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' disableExternalCapture ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' enableExternalCapture ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' eval ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' exec ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' exp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' find ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' floor ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' focus ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' forward ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' fromCharCode ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getDay ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getFullYear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getHours ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getMilliseconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getMinutes ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getMonth ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getSeconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getSelection ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getTimezoneOffset ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCDay ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCFullYear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCHours ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCMilliseconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCMinutes ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCMonth ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' getUTCSeconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' go ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' handleEvent ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' home ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' indexOf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' javaEnabled ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' join ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' lastIndexOf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' link ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' load ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' log ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' match ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' max ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' min ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' moveAbove ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' moveBelow ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' moveBy ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' moveTo ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' moveToAbsolute ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' open ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' parse ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' plugins.refresh ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' pop ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' pow ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' preference ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' print ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' prompt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' push ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' random ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' releaseEvents ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' reload ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' replace ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' reset ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' resizeBy ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' resizeTo ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' reverse ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' round ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' routeEvent ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' scrollBy ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' scrollTo ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' search ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' select ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setFullYear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setHours ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setInterval ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setMilliseconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setMinutes ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setMonth ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setSeconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setTimeout ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setUTCDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setUTCFullYear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setUTCHours ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setUTCMilliseconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setUTCMinutes ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setUTCMonth ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' setUTCSeconds ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' shift ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sin ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' slice ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sort ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' splice ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' split ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' sqrt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' stop ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' String formatting ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' submit ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' substr ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' substring ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' taintEnabled ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' tan ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' test ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' toLocaleString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' toLowerCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' toSource ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' toString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' toUpperCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' toUTCString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' unshift ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' unwatch ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' UTC ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' valueOf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' watch ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' write ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' writeln ' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +' break ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' case ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' catch ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' continue ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' default ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' do ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' else ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' for ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' function ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' if ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' in ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' return ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' switch ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' try ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' var ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' while ' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +' Abs ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ACos ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayAppend ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayAvg ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayClear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayDeleteAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayInsertAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayIsEmpty ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayLen ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayMax ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayMin ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayNew ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayPrepend ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayResize ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArraySet ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArraySort ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArraySum ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArraySwap ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ArrayToList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Asc ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ASin ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Atn ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitAnd ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitMaskClear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitMaskRead ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitMaskSet ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitNot ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitOr ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitSHLN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitSHRN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BitXor ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Ceiling ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Chr ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CJustify ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Compare ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CompareNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Cos ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateDateTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateObject ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateODBCDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateODBCDateTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateODBCTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateTimeSpan ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CreateUUID ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DateAdd ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DateCompare ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DateConvert ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DateDiff ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DateFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DatePart ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Day ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DayOfWeek ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DayOfWeekAsString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DayOfYear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DaysInMonth ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DaysInYear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DecimalFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DecrementValue ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Decrypt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DeleteClientVariable ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DirectoryExists ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DollarFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Duplicate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Encrypt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Evaluate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Exp ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ExpandPath ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FileExists ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Find ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FindNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FindOneOf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FirstDayOfMonth ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Fix ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FormatBaseN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetAuthUser ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetBaseTagData ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetBaseTagList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetBaseTemplatePath ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetClientVariablesList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetCurrentTemplatePath ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetDirectoryFromPath ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetException ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetFileFromPath ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetFunctionList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetHttpRequestData ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetHttpTimeString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetK2ServerDocCount ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetK2ServerDocCountLimit ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetLocale ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetMetaData ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetMetricData ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetPageContext ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetProfileSections ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetProfileString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetServiceSettings ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetTempDirectory ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetTempFile ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetTemplatePath ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetTickCount ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetTimeZoneInfo ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' GetToken ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Hash ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Hour ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' HTMLCodeFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' HTMLEditFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IIf ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IncrementValue ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' InputBaseN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Insert ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Int ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsArray ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsBinary ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsBoolean ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsCustomFunction ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsDebugMode ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsDefined ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsK2ServerABroker ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsK2ServerDocCountExceeded ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsK2ServerOnline ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsLeapYear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsNumeric ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsNumericDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsObject ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsQuery ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsSimpleValue ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsStruct ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsUserInRole ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsWDDX ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsXmlDoc ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsXmlElement ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IsXmlRoot ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' JavaCast ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' JSStringFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Left ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Len ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListAppend ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListChangeDelims ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListContains ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListContainsNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListDeleteAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListFind ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListFindNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListFirst ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListGetAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListInsertAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListLast ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListLen ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListPrepend ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListQualify ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListRest ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListSetAt ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListSort ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListToArray ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListValueCount ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ListValueCountNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LJustify ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Log ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Log10 ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSCurrencyFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSDateFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSEuroCurrencyFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSIsCurrency ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSIsDate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSIsNumeric ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSNumberFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSParseCurrency ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSParseDateTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSParseEuroCurrency ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSParseNumber ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LSTimeFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LTrim ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Max ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Mid ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Min ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Minute ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Month ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' MonthAsString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Now ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' NumberFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ParagraphFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ParameterExists ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ParseDateTime ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Pi ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' PreserveSingleQuotes ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Quarter ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' QueryAddColumn ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' QueryAddRow ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' QueryNew ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' QuerySetCell ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' QuotedValueList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Rand ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Randomize ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RandRange ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' REFind ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' REFindNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RemoveChars ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RepeatString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Replace ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ReplaceList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ReplaceNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' REReplace ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' REReplaceNoCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Reverse ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Right ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RJustify ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Round ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RTrim ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Second ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SetEncoding ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SetLocale ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SetProfileString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SetVariable ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Sgn ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Sin ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SpanExcluding ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SpanIncluding ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Sqr ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StripCR ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructAppend ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructClear ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructCopy ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructCount ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructDelete ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructFind ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructFindKey ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructFindValue ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructGet ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructInsert ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructIsEmpty ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructKeyArray ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructKeyExists ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructKeyList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructNew ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructSort ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' StructUpdate ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Tan ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' TimeFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ToBase64 ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ToBinary ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ToString ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Trim ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' UCase ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' URLDecode ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' URLEncodedFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' URLSessionFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Val ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ValueList ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Week ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' WriteOutput ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' XmlChildPos ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' XmlElemNew ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' XmlFormat ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' XmlNew ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' XmlParse ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' XmlSearch ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' XmlTransform ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' Year ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' YesNoFormat ' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n \t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t' Text +'' Name.Tag +'\n\n\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t\t' Text +'' Name.Tag +'\n\n\t' Text +'' Name.Tag +'\n\n' Text + +'' Name.Tag +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment.Preproc +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Comment +'\n' Text + +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BEGIN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BY ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CASE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CLOSE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CONST ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DO ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ELSE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ELSIF ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' END ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FOR ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IF ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' IMPORT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LOOP ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' MODULE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' NEW ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' OF ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' OUT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' PROCEDURE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' REPEAT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' THEN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' TO ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' TYPE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' UNTIL ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' VAR ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' WHILE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' WITH ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ASSERT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' EXIT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' HALT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RETURN ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ANYPTR ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ANYREC ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ARRAY ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BOOLEAN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SHORTCHAR ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CHAR ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BYTE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SHORTINT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' INTEGER ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LONGINT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' POINTER ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' RECORD ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SHORTREAL ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' REAL ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SET ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ABSTRACT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' EMPTY ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' EXTENSIBLE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LIMITED ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ABS ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ASH ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' BITS ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CAP ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' CHR ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' DEC ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ENTIER ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' EXCL ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' INC ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' INCL ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LEN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' LONG ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' MAX ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' MIN ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ODD ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' ORD ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SHORT ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' SIZE ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' FALSE ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' INF ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' NIL ' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +' TRUE ' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text diff --git a/tests/examplefiles/xorg.conf b/tests/examplefiles/xorg.conf/xorg.conf similarity index 100% rename from tests/examplefiles/xorg.conf rename to tests/examplefiles/xorg.conf/xorg.conf diff --git a/tests/examplefiles/xorg.conf/xorg.conf.output b/tests/examplefiles/xorg.conf/xorg.conf.output new file mode 100644 index 0000000..d12ef06 --- /dev/null +++ b/tests/examplefiles/xorg.conf/xorg.conf.output @@ -0,0 +1,137 @@ +'Section' Literal.String.Escape +' ' Text +'"Files"' Literal.String.Escape +'\n\t' Text +'ModulePath' Name.Builtin +' ' Text +'"/usr/lib64/opengl/nvidia/extensions"' Name.Constant +'\n\t' Text +'ModulePath' Name.Builtin +' ' Text +'"/usr/lib64/xorg/modules"' Name.Constant +'\n' Text + +'EndSection' Literal.String.Escape +'\n\n' Text + +'Section' Literal.String.Escape +' ' Text +'"ServerLayout"' Literal.String.Escape +'\n\t' Text +'Identifier' Name.Builtin +' ' Text +'"XFree86 Configured"' Name.Constant +'\n\t' Text +'Screen' Name.Builtin +' ' Text +'"Screen"' Name.Constant +'\n' Text + +'EndSection' Literal.String.Escape +'\n\n' Text + +'Section' Literal.String.Escape +' ' Text +'"ServerFlags"' Literal.String.Escape +'\n\t' Text +'Option' Name.Builtin +' ' Text +'"AutoAddDevices" "false"' Name.Constant +'\n' Text + +'EndSection' Literal.String.Escape +'\n\n' Text + +'Section' Literal.String.Escape +' ' Text +'"Screen"' Literal.String.Escape +'\n ' Text +'Identifier' Name.Builtin +' ' Text +'"Screen"' Name.Constant +'\n\t' Text +'Device' Name.Builtin +' ' Text +'"Card0"' Name.Constant +'\n\t' Text +'DefaultDepth' Name.Builtin +' ' Text +'24' Name.Constant +'\n\t' Text +'SubSection' Literal.String.Escape +' ' Text +'"Display"' Literal.String.Escape +'\n\t\t' Text +'Depth' Name.Builtin +' ' Text +'24' Name.Constant +'\n\t' Text +'EndSubSection' Literal.String.Escape +'\n ' Text +'Option' Name.Builtin +' ' Text +'"UseEDIDDpi" "False"' Name.Constant +'\n ' Text +'Option' Name.Builtin +' ' Text +'"DPI" "96 x 96"' Name.Constant +'\n' Text + +'EndSection' Literal.String.Escape +'\n\n' Text + +'Section' Literal.String.Escape +' ' Text +'"Device"' Literal.String.Escape +'\n ' Text +'Identifier' Name.Builtin +' ' Text +'"Card0"' Name.Constant +'\n ' Text +'Driver' Name.Builtin +' ' Text +'"nvidia"' Name.Constant +'\n ' Text +'VendorName' Name.Builtin +' ' Text +'"NVIDIA Corporation" ' Name.Constant +'# inline comment' Comment +'\n ' Text +'#Option "RenderAccel" "true"' Comment +'\n \n ' Text +'#Option "NvAgp" "3"' Comment +'\n ' Text +'#Option "AllowGLXWithComposite" "true"' Comment +'\n ' Text +'#Option "AddARGBGLXVisuals" "true"' Comment +'\n ' Text +'#Option "XAANoOffscreenPixmaps" "true"' Comment +'\n ' Text +'#Option "DRI" "true"' Comment +'\n \n ' Text +'#Option "UseEvents" "false"' Comment +'\n ' Text +'#Option "TripleBuffer" "1"' Comment +'\n ' Text +'#Option "DamageEvents" "1"' Comment +'\n ' Text +'##Option "BackingStore" "1"' Comment +'\n ' Text +'#Option "PixmapCacheSize" "70000"' Comment +'\n ' Text +'#Option "OnDemandVBlankInterrupts" "true"' Comment +'\n' Text + +'EndSection' Literal.String.Escape +'\n\n' Text + +'Section' Literal.String.Escape +' ' Text +'"Extensions"' Literal.String.Escape +'\n' Text + +'# Option "Composite" "Disabled"' Comment +'\n' Text + +'EndSection' Literal.String.Escape +'\n' Text diff --git a/tests/examplefiles/test-3.0.xq b/tests/examplefiles/xquery/test-3.0.xq similarity index 100% rename from tests/examplefiles/test-3.0.xq rename to tests/examplefiles/xquery/test-3.0.xq diff --git a/tests/examplefiles/xquery/test-3.0.xq.output b/tests/examplefiles/xquery/test-3.0.xq.output new file mode 100644 index 0000000..42f0f82 --- /dev/null +++ b/tests/examplefiles/xquery/test-3.0.xq.output @@ -0,0 +1,2106 @@ +'xquery' Keyword.Pseudo +' ' Text +'version' Keyword.Pseudo +' ' Text +'"3.0"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'namespace' Keyword.Declaration +' ' Text +'other' Name.Namespace +' ' Text +'=' Operator +' ' Text +'"http://other"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:straight-var1' Name +' ' Text +':=' Operator +' ' Text +"'one'" Literal.String.Single +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'private' Name.Decorator +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:private-var' Name +' ' Text +':=' Operator +' ' Text +"'secret'" Literal.String.Single +';' Punctuation +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'public' Name.Decorator +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:public-var' Name +' ' Text +':=' Operator +' ' Text +"'not-secret'" Literal.String.Single +';' Punctuation +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'other:annotation' Name.Decorator +'(' Punctuation +"'param1'" Literal.String.Single +',' Punctuation +' ' Text +'"param2"' Literal.String.Double +')' Punctuation +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:some-var' Name +' ' Text +':=' Operator +' ' Text +"'anything'" Literal.String.Single +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'local:straight-var2' Name +' ' Text +':=' Operator +' ' Text +"'two'" Literal.String.Single +';' Punctuation +'\n\n\n' Text + +'(:' Comment +' ' Comment +'S' Comment +'i' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'M' Comment +'a' Comment +'p' Comment +' ' Comment +'O' Comment +'p' Comment +'e' Comment +'r' Comment +'a' Comment +'t' Comment +'o' Comment +'r' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:word-count' Name.Function +'(' Punctuation +'$' Name.Variable +'elms' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +'*' Punctuation +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:integer' Keyword.Type +' ' Text +'{' Punctuation +'\n\t' Text +'sum' Name.Function +'(' Punctuation +'$' Name.Variable +'elms' Name +' ' Text +'!' Operator +' ' Text +'count' Name.Function +'(' Punctuation +'tokenize' Name.Function +'(' Punctuation +'.' Punctuation +',' Punctuation +' ' Text +"'\\s+'" Literal.String.Single +')' Punctuation +')' Punctuation +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:add' Name.Function +'(' Punctuation +'$' Name.Variable +'a' Name +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'a' Name +' ' Text +'+' Operator +' ' Text +'$' Name.Variable +'b' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:dispatch' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +' ' Text +'as' Keyword +' ' Text +'node' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'item' Keyword +'(' Punctuation +')' Punctuation +'*' Operator +' ' Text +'{' Punctuation +'\n ' Text +'typeswitch' Keyword +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'text' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'$' Name.Variable +'node' Name +'\n ' Text +'case' Keyword +' ' Text +'comment' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'$' Name.Variable +'node' Name +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'bill' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:bill' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'btitle' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:btitle' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'section-id' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:section-id' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'bill-text' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:bill-text' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'case' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'strike' Name +')' Punctuation +' ' Text +'return' Keyword +' ' Text +'local:strike' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n ' Text +'default' Keyword +' ' Text +'return' Keyword +' ' Text +'local:passthru' Name.Function +'(' Punctuation +'$' Name.Variable +'node' Name +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'`' Comment +'s' Comment +'w' Comment +'i' Comment +'t' Comment +'c' Comment +'h' Comment +'`' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'r' Comment +'e' Comment +'s' Comment +'s' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:noise' Name.Function +'(' Punctuation +'$' Name.Variable +'animal' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'duck' Name +' ' Text +':=' Operator +' ' Text +'"Duck"' Literal.String.Double +',' Punctuation +'\n\t' Text +'$' Name.Variable +'quack' Name +' ' Text +':=' Operator +' ' Text +'"Quack"' Literal.String.Double +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'switch' Keyword +' ' Text +'(' Punctuation +'$' Name.Variable +'animal' Name +')' Punctuation +'\n\t\t\t' Text +'case' Keyword +' ' Text +'"Cow"' Literal.String.Double +' ' Text +'return' Keyword +' ' Text +'"Moo"' Literal.String.Double +'\n\t\t\t' Text +'case' Keyword +' ' Text +"'Cat'" Literal.String.Single +' ' Text +'return' Keyword +' ' Text +"'Meow'" Literal.String.Single +'\n\t\t\t' Text +'case' Keyword +' ' Text +'$' Name.Variable +'duck' Name +' ' Text +'return' Keyword +' ' Text +'$' Name.Variable +'quack' Name +'\n\t\t\t' Text +'default' Keyword +' ' Text +'return' Keyword +' ' Text +'"What\'s that odd noise?"' Literal.String.Double +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'`' Comment +'g' Comment +'r' Comment +'o' Comment +'u' Comment +'p' Comment +' ' Comment +'b' Comment +'y' Comment +'`' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'r' Comment +'e' Comment +'s' Comment +'s' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'w' Comment +'i' Comment +'t' Comment +'h' Comment +' ' Comment +'b' Comment +'i' Comment +'n' Comment +'d' Comment +'i' Comment +'n' Comment +'g' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:a-to-z' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'data' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +'*' Punctuation +' ' Text +':=' Operator +' ' Text +'(' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'A' Literal +'p' Literal +'p' Literal +'l' Literal +'e' Literal +'s' Literal +'' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'B' Literal +'a' Literal +'n' Literal +'a' Literal +'n' Literal +'a' Literal +'s' Literal +'' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'A' Literal +'p' Literal +'r' Literal +'i' Literal +'c' Literal +'o' Literal +'t' Literal +'s' Literal +'' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'P' Literal +'e' Literal +'a' Literal +'r' Literal +'s' Literal +'' Name.Tag +',' Punctuation +'\n\t\t' Text +'<' Name.Tag +'item' Name.Tag +'>' Name.Tag +'B' Literal +'r' Literal +'a' Literal +'m' Literal +'b' Literal +'l' Literal +'e' Literal +'s' Literal +'' Name.Tag +'\n\t' Text +')' Punctuation +' ' Text +'return' Keyword +'\n\t\t' Text +'<' Name.Tag +'GroupedItems' Name.Tag +'>' Name.Tag +'{' Punctuation +'\n\t\t\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'item' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'data' Name +'\n\t\t\t' Text +'group by' Keyword +' ' Text +'$' Name.Variable +'key' Name +' ' Text +':=' Operator +' ' Text +'upper-case' Name.Function +'(' Punctuation +'substring' Name.Function +'(' Punctuation +'$' Name.Variable +'item' Name +',' Punctuation +' ' Text +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +')' Punctuation +'\n\t\t\t' Text +'order by' Keyword +' ' Text +'$' Name.Variable +'key' Name +'\n\t\t\t' Text +'return' Keyword +'\n\t\t\t\t' Text +'<' Name.Tag +'Group' Name.Tag +' ' Text +'key' Name.Tag +'=' Operator +'"' Punctuation +'{' Punctuation +'$' Name.Variable +'key' Name +'}' Punctuation +'"' Punctuation +'>' Name.Tag +'{' Punctuation +'$' Name.Variable +'item' Name +'}' Punctuation +'' Name.Tag +'\n\t\t' Text +'}' Punctuation +'' Name.Tag +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'`' Comment +'g' Comment +'r' Comment +'o' Comment +'u' Comment +'p' Comment +' ' Comment +'b' Comment +'y' Comment +'`' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'r' Comment +'e' Comment +'s' Comment +'s' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:plays-by-character' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'plays' Name +' ' Text +':=' Operator +' ' Text +'(' Punctuation +'\n\t\t' Text +'document' Keyword +' ' Text +'{' Punctuation +'\n\t\t\t' Text +'<' Name.Tag +'play' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'title' Name.Tag +'>' Name.Tag +'H' Literal +'a' Literal +'m' Literal +'l' Literal +'e' Literal +'t' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'characters' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'H' Literal +'a' Literal +'m' Literal +'l' Literal +'e' Literal +'t' Literal +'' Name.Tag +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'C' Literal +'l' Literal +'a' Literal +'u' Literal +'d' Literal +'i' Literal +'u' Literal +'s' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'P' Literal +'o' Literal +'l' Literal +'o' Literal +'n' Literal +'i' Literal +'u' Literal +'s' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'R' Literal +'o' Literal +'s' Literal +'e' Literal +'n' Literal +'c' Literal +'r' Literal +'a' Literal +'n' Literal +'t' Literal +'z' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'G' Literal +'u' Literal +'i' Literal +'l' Literal +'d' Literal +'e' Literal +'n' Literal +'s' Literal +'t' Literal +'e' Literal +'r' Literal +'n' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'F' Literal +'r' Literal +'a' Literal +'n' Literal +'c' Literal +'i' Literal +'s' Literal +'c' Literal +'o' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'R' Literal +'e' Literal +'y' Literal +'n' Literal +'a' Literal +'l' Literal +'d' Literal +'o' Literal +'' Name.Tag +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'' Name.Tag +'\n\t\t' Text +'}' Punctuation +',' Punctuation +'\n\t\t' Text +'document' Keyword +' ' Text +'{' Punctuation +'\n\t\t\t' Text +'<' Name.Tag +'play' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'title' Name.Tag +'>' Name.Tag +'R' Literal +'o' Literal +'s' Literal +'e' Literal +'n' Literal +'k' Literal +'r' Literal +'a' Literal +'n' Literal +'t' Literal +'z' Literal +' ' Literal +'a' Literal +'n' Literal +'d' Literal +' ' Literal +'G' Literal +'u' Literal +'i' Literal +'l' Literal +'d' Literal +'e' Literal +'n' Literal +'s' Literal +'t' Literal +'e' Literal +'r' Literal +'n' Literal +' ' Literal +'a' Literal +'r' Literal +'e' Literal +' ' Literal +'D' Literal +'e' Literal +'a' Literal +'d' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'characters' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'A' Literal +'l' Literal +'f' Literal +'r' Literal +'e' Literal +'d' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'R' Literal +'o' Literal +'s' Literal +'e' Literal +'n' Literal +'c' Literal +'r' Literal +'a' Literal +'n' Literal +'t' Literal +'z' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'G' Literal +'u' Literal +'i' Literal +'l' Literal +'d' Literal +'e' Literal +'n' Literal +'s' Literal +'t' Literal +'e' Literal +'r' Literal +'n' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'H' Literal +'a' Literal +'m' Literal +'l' Literal +'e' Literal +'t' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'<' Name.Tag +'character' Name.Tag +'>' Name.Tag +'C' Literal +'l' Literal +'a' Literal +'u' Literal +'d' Literal +'i' Literal +'u' Literal +'s' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'\t' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'' Name.Tag +'\n\t\t' Text +'}' Punctuation +'\n\t' Text +')' Punctuation +' ' Text +'return' Keyword +'\n\n\t\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'play' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'plays' Name +'/' Punctuation +'play' Name.Tag +'\n\t\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'title' Name +' ' Text +':=' Operator +' ' Text +'$' Name.Variable +'play' Name +'/' Punctuation +'title' Name.Tag +'\n\t\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'character' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'play' Name +'/' Punctuation +'characters' Name.Tag +'/' Punctuation +'character' Name.Tag +'\n\t\t' Text +'group by' Keyword +' ' Text +'$' Name.Variable +'character' Name +'\n\t\t' Text +'return' Keyword +'\n\t\t\t' Text +'<' Name.Tag +'character' Name.Tag +' ' Text +'name' Name.Tag +'=' Operator +'"' Punctuation +'{' Punctuation +'$' Name.Variable +'character' Name +'}' Punctuation +'"' Punctuation +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'{' Punctuation +'\n\t\t\t\t' Text +'$' Name.Variable +'title' Name +' ' Text +'!' Operator +' ' Text +'<' Name.Tag +'play' Name.Tag +'>' Name.Tag +'{' Punctuation +' ' Text +'.' Punctuation +' ' Text +'}' Punctuation +'' Name.Tag +'\n \t\t' Text +'}' Punctuation +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'' Name.Tag +'\t\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +'\n\t' Text +'%' Name.Decorator +'other:a' Name.Decorator +'\n\t' Text +'%' Name.Decorator +'private' Name.Decorator +'\n\t' Text +'%' Name.Decorator +'other:b' Name.Decorator +'(' Punctuation +"'1'" Literal.String.Single +')' Punctuation +'\n\t' Text +'%' Name.Decorator +'other:c' Name.Decorator +'(' Punctuation +'"1"' Literal.String.Double +',' Punctuation +' ' Text +'"2"' Literal.String.Double +',' Punctuation +' ' Text +'"3"' Literal.String.Double +',' Punctuation +' ' Text +'"4"' Literal.String.Double +')' Punctuation +'\n' Text + +'function' Keyword.Declaration +' ' Text +'local:very-annotated' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'thing' Name +' ' Text +':=' Operator +' ' Text +'"thing"' Literal.String.Double +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'$' Name.Variable +'thing' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'%' Name.Decorator +'public' Name.Decorator +' ' Text +'function' Keyword.Declaration +' ' Text +'local:slightly-annotated' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'nothing' Name +' ' Text +':=' Operator +' ' Text +'(' Punctuation +')' Punctuation +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'$' Name.Variable +'nothing' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:ordered' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'hit' Name +' ' Text +'in' Operator.Word +' ' Text +'doc' Name.Function +'(' Punctuation +'"/db/doc-with-indexes.xml"' Literal.String.Double +')' Punctuation +'//' Punctuation +'tei:p' Name.Tag +'[' Punctuation +'other:query' Name.Function +'(' Punctuation +'.' Punctuation +',' Punctuation +' ' Text +'$' Name.Variable +'search-expression' Name +')' Punctuation +']' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'score' Name +' ' Text +'as' Keyword +' ' Text +'xs:float' Keyword.Type +' ' Text +':=' Operator +' ' Text +'other:score' Name.Function +'(' Punctuation +'$' Name.Variable +'hit' Name +')' Punctuation +'\n\t' Text +'order by' Keyword +' ' Text +'$' Name.Variable +'score' Name +' ' Text +'descending' Keyword +'\n\t' Text +'return' Keyword +' ' Text +'(' Punctuation +'\n\t\t' Text +'<' Name.Tag +'p' Name.Tag +'>' Name.Tag +'S' Literal +'c' Literal +'o' Literal +'r' Literal +'e' Literal +':' Literal +' ' Literal +'{' Punctuation +'$' Name.Variable +'score' Name +'}' Punctuation +':' Literal +'' Name.Tag +',' Punctuation +'\n\t\t' Text +'other:summarize' Name.Function +'(' Punctuation +'$' Name.Variable +'hit' Name +',' Punctuation +' ' Text +'<' Name.Tag +'config' Name.Tag +' ' Text +'width' Name.Tag +'=' Operator +'"' Punctuation +'4' Name.Attribute +'0' Name.Attribute +'"' Punctuation +'/>' Name.Tag +')' Punctuation +'\n\t' Text +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:concat-expr' Name.Function +'(' Punctuation +'$' Name.Variable +'postfix' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'concatenated' Name +' ' Text +':=' Operator +' ' Text +'other:uri' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'||' Operator +' ' Text +'"/"' Literal.String.Double +' ' Text +'||' Operator +' ' Text +'$' Name.Variable +'postfix' Name +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'$' Name.Variable +'concatenated' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:human-units' Name.Function +'(' Punctuation +'$' Name.Variable +'bytes' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'unit' Name +' ' Text +':=' Operator +' ' Text +'if' Keyword +'(' Punctuation +'$' Name.Variable +'bytes' Name +' ' Text +'>' Operator +' ' Text +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'3' Literal.Number.Integer +')' Punctuation +')' Punctuation +' ' Text +'then' Keyword +'\n\t\t' Text +'(' Punctuation +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'3' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text +'"GB"' Literal.String.Double +')' Punctuation +'\n\t' Text +'else' Keyword +' ' Text +'if' Keyword +'(' Punctuation +'$' Name.Variable +'bytes' Name +' ' Text +'>' Operator +' ' Text +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +')' Punctuation +')' Punctuation +' ' Text +'then' Keyword +'\n\t\t' Text +'(' Punctuation +'math:pow' Name.Function +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text +'"MB"' Literal.String.Double +')' Punctuation +'\n\t' Text +'else' Keyword +'\n\t\t' Text +'(' Punctuation +'1024' Literal.Number.Integer +',' Punctuation +' ' Text +'"KB"' Literal.String.Double +')' Punctuation +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'format-number' Name.Function +'(' Punctuation +'$' Name.Variable +'bytes' Name +' ' Text +'div' Keyword +' ' Text +'$' Name.Variable +'unit' Name +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +',' Punctuation +' ' Text +'".00"' Literal.String.Double +')' Punctuation +' ' Text +'||' Operator +' ' Text +'" "' Literal.String.Double +' ' Text +'||' Operator +' ' Text +'$' Name.Variable +'unit' Name +'[' Punctuation +'2' Literal.Number.Integer +']' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:merge-simple' Name.Function +'(' Punctuation +'$' Name.Variable +'a' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +' ' Text +'{' Punctuation +'\n\t' Text +'(' Punctuation +'$' Name.Variable +'a' Name +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +')' Punctuation +'\t\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'1' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:apply' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +',' Punctuation +' ' Text +'$' Name.Variable +'value' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'$' Name.Variable +'value' Name +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'2' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:apply-all' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +',' Punctuation +' ' Text +'$' Name.Variable +'list' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'list' Name +' ' Text +'!' Operator +' ' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'.' Operator +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'3' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:apply-all-long' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +' ' Text +'as' Keyword +' ' Text +'function' Keyword.Type +'(' Punctuation +'xs:string' Keyword.Type +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +',' Punctuation +' ' Text +'$' Name.Variable +'list' Name +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'list' Name +' ' Text +'!' Operator +' ' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'.' Operator +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'(:' Comment +' ' Comment +'h' Comment +'i' Comment +'g' Comment +'h' Comment +'e' Comment +'r' Comment +' ' Comment +'o' Comment +'r' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +' ' Comment +'e' Comment +'x' Comment +'a' Comment +'m' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +'4' Comment +' ' Comment +':)' Comment +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:merge' Name.Function +'(' Punctuation +'$' Name.Variable +'func' Name +' ' Text +'as' Keyword +' ' Text +'function' Keyword.Type +'(' Punctuation +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'xs:string' Name.Tag +'+' Operator +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'$' Name.Variable +'a' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +'+' Operator +' ' Text +'{' Punctuation +'\n\t' Text +'$' Name.Variable +'func' Name +'(' Punctuation +'$' Name.Variable +'a' Name +',' Punctuation +' ' Text +'$' Name.Variable +'b' Name +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'to-upper' Name +' ' Text +':=' Operator +' ' Text +'upper-case' Name.Function +'#' Keyword.Type +'1' Literal.Number.Integer +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'to-upper-long' Name +' ' Text +'as' Keyword +' ' Text +'function' Keyword.Type +'(' Punctuation +'xs:string' Keyword.Type +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +' ' Text +':=' Operator +' ' Text +'upper-case' Name.Function +'#' Keyword.Type +'1' Literal.Number.Integer +'\n' Text + +'return' Keyword +'\n ' Text +'<' Name.Tag +'case' Name.Tag +'>' Name.Tag +'\n' Literal + +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'{' Punctuation +'\n ' Text +'local:apply-all' Name.Function +'(' Punctuation +'$' Name.Variable +'to-upper' Name +',' Punctuation +' ' Text +'(' Punctuation +'"Hello"' Literal.String.Double +',' Punctuation +' ' Text +'"world!"' Literal.String.Double +')' Punctuation +')' Punctuation +' ' Text +'!' Operator +' ' Text +'<' Name.Tag +'upper' Name.Tag +'>' Name.Tag +'{' Punctuation +'.' Punctuation +'}' Punctuation +'' Name.Tag +',' Punctuation +'\n ' Text +'local:apply-all-long' Name.Function +'(' Punctuation +'lower-case' Name.Function +'#' Keyword.Type +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'(' Punctuation +'"Hello"' Literal.String.Double +',' Punctuation +' ' Text +'"world!"' Literal.String.Double +')' Punctuation +')' Punctuation +' ' Text +'!' Operator +' ' Text +'<' Name.Tag +'lower' Name.Tag +'>' Name.Tag +'{' Punctuation +'.' Punctuation +'}' Punctuation +'' Name.Tag +'\n ' Text +'}' Punctuation +'\n' Literal + +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'' Name.Tag +'\n' Text diff --git a/tests/examplefiles/test-exist-update.xq b/tests/examplefiles/xquery/test-exist-update.xq similarity index 100% rename from tests/examplefiles/test-exist-update.xq rename to tests/examplefiles/xquery/test-exist-update.xq diff --git a/tests/examplefiles/xquery/test-exist-update.xq.output b/tests/examplefiles/xquery/test-exist-update.xq.output new file mode 100644 index 0000000..024c0da --- /dev/null +++ b/tests/examplefiles/xquery/test-exist-update.xq.output @@ -0,0 +1,772 @@ +'xquery' Keyword.Pseudo +' ' Text +'version' Keyword.Pseudo +' ' Text +'"3.0"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:add-log-message' Name.Function +'(' Punctuation +'$' Name.Variable +'message' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'empty-sequence' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +'?' Punctuation +'\n' Text + +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'logfile-collection' Name +' ' Text +':=' Operator +' ' Text +'"/db/apps/exist101/log"' Literal.String.Double +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'logfile-name' Name +' ' Text +':=' Operator +' ' Text +'"exist101-log.xml"' Literal.String.Double +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'logfile-full' Name +' ' Text +':=' Operator +' ' Text +'concat' Name.Function +'(' Punctuation +'$' Name.Variable +'logfile-collection' Name +',' Punctuation +' ' Text +"'/'" Literal.String.Single +',' Punctuation +' ' Text +'$' Name.Variable +'logfile-name' Name +')' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'logfile-created' Name +' ' Text +':=' Operator +'\n\t' Text +'if' Keyword +'(' Punctuation +'doc-available' Name.Function +'(' Punctuation +'$' Name.Variable +'logfile-full' Name +')' Punctuation +')' Punctuation +'then' Keyword +'\n\t\t' Text +'$' Name.Variable +'logfile-full' Name +'\n\t' Text +'else' Keyword +'\n\t\t' Text +'xmldb:store' Name.Function +'(' Punctuation +'$' Name.Variable +'logfile-collection' Name +',' Punctuation +' ' Text +'$' Name.Variable +'logfile-name' Name +',' Punctuation +' ' Text +'<' Name.Tag +'eXist101-Log' Name.Tag +'/>' Name.Tag +')' Punctuation +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +'\n\t\t\t' Text +'<' Name.Tag +'LogEntry' Name.Tag +' ' Text +'timestamp' Name.Tag +'=' Operator +'"' Punctuation +'{' Punctuation +'current-dateTime' Name.Function +'(' Punctuation +')' Punctuation +'}' Punctuation +'"' Punctuation +'>' Name.Tag +'{' Punctuation +'$' Name.Variable +'message' Name +'}' Punctuation +'' Name.Tag +'\n\t\t' Text +'into' Keyword +' ' Text +'doc' Name.Function +'(' Punctuation +'$' Name.Variable +'logfile-full' Name +')' Punctuation +'/' Punctuation +'*' Name.Tag +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:insert-attributes' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'elm' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +':=' Operator +' ' Text +'doc' Name.Function +'(' Punctuation +"'/db/Path/To/Some/Document.xml'" Literal.String.Single +')' Punctuation +'/' Punctuation +'*' Name.Tag +'\n\t' Text +'return' Keyword +' ' Text +'(' Punctuation +'\n\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'<' Name.Tag +'NEW' Name.Tag +'/>' Name.Tag +' ' Text +'into' Keyword +' ' Text +'$' Name.Variable +'elm' Name +',' Punctuation +'\n\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'attribute' Keyword +' ' Text +'x' Name.Variable +' ' Text +'{' Punctuation +' ' Text +"'y'" Literal.String.Single +' ' Text +'}' Punctuation +' ' Text +'into' Keyword +' ' Text +'$' Name.Variable +'elm' Name +'/' Punctuation +'*' Name.Tag +'[' Punctuation +'last' Name.Function +'(' Punctuation +')' Punctuation +']' Punctuation +',' Punctuation +'\n\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'attribute' Keyword +' ' Text +'a' Name.Variable +' ' Text +'{' Punctuation +' ' Text +"'b'" Literal.String.Single +' ' Text +'}' Punctuation +' ' Text +'into' Keyword +' ' Text +'$' Name.Variable +'elm' Name +'/' Punctuation +'*' Name.Tag +'[' Punctuation +'last' Name.Function +'(' Punctuation +')' Punctuation +']' Punctuation +'\n\t' Text +')' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:insert-elem' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'elm' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +':=' Operator +' ' Text +'doc' Name.Function +'(' Punctuation +"'/db/Path/To/Some/Document.xml'" Literal.String.Single +')' Punctuation +'/' Punctuation +'*' Name.Tag +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'<' Name.Tag +'NEW' Name.Tag +' ' Text +'x' Name.Tag +'=' Operator +'"' Punctuation +'y' Name.Attribute +'"' Punctuation +' ' Text +'a' Name.Tag +'=' Operator +'"' Punctuation +'b' Name.Attribute +'"' Punctuation +'/>' Name.Tag +' ' Text +'into' Keyword +' ' Text +'$' Name.Variable +'elm' Name +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:insert-elem2' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'elm' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +':=' Operator +' ' Text +'doc' Name.Function +'(' Punctuation +"'/db/Path/To/Some/Document.xml'" Literal.String.Single +')' Punctuation +'/' Punctuation +'*' Name.Tag +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'new-element' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +':=' Operator +' ' Text +'<' Name.Tag +'NEW' Name.Tag +' ' Text +'x' Name.Tag +'=' Operator +'"' Punctuation +'y' Name.Attribute +'"' Punctuation +' ' Text +'a' Name.Tag +'=' Operator +'"' Punctuation +'b' Name.Attribute +'"' Punctuation +'/>' Name.Tag +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'$' Name.Variable +'new-element' Name +' ' Text +'into' Keyword +' ' Text +'$' Name.Variable +'elm' Name +'\t\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:insert-single' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'<' Name.Tag +'LogEntry' Name.Tag +'>' Name.Tag +'S' Literal +'o' Literal +'m' Literal +'e' Literal +'t' Literal +'h' Literal +'i' Literal +'n' Literal +'g' Literal +' ' Literal +'h' Literal +'a' Literal +'p' Literal +'p' Literal +'e' Literal +'n' Literal +'e' Literal +'d' Literal +'.' Literal +'.' Literal +'.' Literal +'' Name.Tag +' ' Text +'into' Keyword +' ' Text +'doc' Name.Function +'(' Punctuation +"'/db/logs/mainlog.xml'" Literal.String.Single +')' Punctuation +'/' Punctuation +'*' Name.Tag +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:trim-insert' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'document' Name +' ' Text +':=' Operator +' ' Text +'doc' Name.Function +'(' Punctuation +"'/db/logs/mainlog.xml'" Literal.String.Single +')' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'newentry' Name +' ' Text +':=' Operator +' ' Text +'<' Name.Tag +'LogEntry' Name.Tag +'>' Name.Tag +'S' Literal +'o' Literal +'m' Literal +'e' Literal +'t' Literal +'h' Literal +'i' Literal +'n' Literal +'g' Literal +' ' Literal +'h' Literal +'a' Literal +'p' Literal +'p' Literal +'e' Literal +'n' Literal +'e' Literal +'d' Literal +'.' Literal +'.' Literal +'.' Literal +'' Name.Tag +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'update' Keyword +' ' Text +'delete' Keyword +' ' Text +'$' Name.Variable +'document' Name +'/' Punctuation +'*' Name.Tag +'/' Punctuation +'LogEntry' Name.Tag +'[' Punctuation +'position' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'ge' Operator.Word +' ' Text +'10' Literal.Number.Integer +']' Punctuation +',' Punctuation +'\n\t\t' Text +'if' Keyword +'(' Punctuation +'exists' Name.Function +'(' Punctuation +'$' Name.Variable +'document' Name +'/' Punctuation +'*' Name.Tag +'/' Punctuation +'LogEntry' Name.Tag +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +')' Punctuation +')' Punctuation +'then' Keyword +'\n\t\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'$' Name.Variable +'newentry' Name +' ' Text +'preceding' Keyword +' ' Text +'$' Name.Variable +'document' Name +'/' Punctuation +'*' Name.Tag +'/' Punctuation +'LogEntry' Name.Tag +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +'\n\t\t' Text +'else' Keyword +'\n\t\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'$' Name.Variable +'newentry' Name +' ' Text +'into' Keyword +' ' Text +'$' Name.Variable +'document' Name +'/' Punctuation +'*' Name.Tag +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:attempt-document-node-insert' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t\n\t' Text +'(:' Comment +' ' Comment +'T' Comment +'h' Comment +'i' Comment +'s' Comment +' ' Comment +'i' Comment +'s' Comment +' ' Comment +'i' Comment +'n' Comment +'v' Comment +'a' Comment +'l' Comment +'i' Comment +'d' Comment +':' Comment +' ' Comment +':)' Comment +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'document' Name +' ' Text +'as' Keyword +' ' Text +'document-node' Name.Tag +'' Text +'(' Punctuation +')' Punctuation +' ' Text +':=' Operator +' ' Text +'<' Name.Tag +'Root' Name.Tag +'>' Name.Tag +'<' Name.Tag +'a' Name.Tag +'/>' Name.Tag +'' Name.Tag +'\n\t' Text +'return' Keyword +'\n\t\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'<' Name.Tag +'b' Name.Tag +'/>' Name.Tag +' ' Text +'into' Keyword +' ' Text +'$' Name.Variable +'document' Name +'/' Punctuation +'*' Name.Tag +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'local:attempt-attr-update-with-node' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'update' Keyword +' ' Text +'replace' Keyword +' ' Text +'doc' Name.Function +'(' Punctuation +"'/db/test/test.xml'" Literal.String.Single +')' Punctuation +'/' Punctuation +'*' Name.Tag +'/' Punctuation +'@name' Name.Attribute +' ' Text +'with' Keyword +'\n\t\t' Text +'<' Name.Tag +'a' Name.Tag +'>' Name.Tag +'a' Literal +'a' Literal +'a' Literal +'<' Name.Tag +'b' Name.Tag +'>' Name.Tag +'b' Literal +'b' Literal +'b' Literal +'' Name.Tag +'' Name.Tag +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n\n' Text + +'(#' Punctuation +' ' Text +'exist:batch-transaction' Name.Variable +' ' Literal +'#)' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'update' Keyword +' ' Text +'delete' Keyword +' ' Text +'$' Name.Variable +'document' Name +'/' Punctuation +'*' Name.Tag +'/' Punctuation +'LogEntry' Name.Tag +'[' Punctuation +'position' Name.Function +'(' Punctuation +')' Punctuation +' ' Text +'ge' Operator.Word +' ' Text +'10' Literal.Number.Integer +']' Punctuation +',' Punctuation +'\n\t' Text +'update' Keyword +' ' Text +'insert' Keyword +' ' Text +'$' Name.Variable +'newentry' Name +' ' Text +'preceding' Keyword +' ' Text +'$' Name.Variable +'document' Name +'/' Punctuation +'*' Name.Tag +'/' Punctuation +'LogEntry' Name.Tag +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/examplefiles/test.xqy b/tests/examplefiles/xquery/test.xqy similarity index 100% rename from tests/examplefiles/test.xqy rename to tests/examplefiles/xquery/test.xqy diff --git a/tests/examplefiles/xquery/test.xqy.output b/tests/examplefiles/xquery/test.xqy.output new file mode 100644 index 0000000..5feeb75 --- /dev/null +++ b/tests/examplefiles/xquery/test.xqy.output @@ -0,0 +1,1761 @@ +'(:' Comment +' ' Comment +'m' Comment +'a' Comment +'d' Comment +'e' Comment +' ' Comment +'u' Comment +'p' Comment +' ' Comment +'f' Comment +'u' Comment +'n' Comment +'c' Comment +'t' Comment +'i' Comment +'o' Comment +'n' Comment +'s' Comment +',' Comment +' ' Comment +'e' Comment +'t' Comment +'c' Comment +' ' Comment +'j' Comment +'u' Comment +'s' Comment +'t' Comment +' ' Comment +'t' Comment +'o' Comment +' ' Comment +'t' Comment +'e' Comment +'s' Comment +'t' Comment +' ' Comment +'x' Comment +'q' Comment +'u' Comment +'e' Comment +'r' Comment +'y' Comment +' ' Comment +'p' Comment +'a' Comment +'r' Comment +'s' Comment +'i' Comment +'n' Comment +'g' Comment +' ' Comment +'(:' Comment +' ' Comment +'e' Comment +'v' Comment +'e' Comment +'n' Comment +' ' Comment +'e' Comment +'m' Comment +'b' Comment +'e' Comment +'d' Comment +'d' Comment +'e' Comment +'d' Comment +' ' Comment +'c' Comment +'o' Comment +'m' Comment +'m' Comment +'e' Comment +'n' Comment +'t' Comment +'s' Comment +'\n' Comment + +'o' Comment +'n' Comment +' ' Comment +'m' Comment +'u' Comment +'l' Comment +'t' Comment +'i' Comment +'p' Comment +'l' Comment +'e' Comment +' ' Comment +':)' Comment +'\n' Comment + +'l' Comment +'i' Comment +'n' Comment +'e' Comment +'s' Comment +'\n' Comment + +':)' Comment +'\n' Text + +'xquery' Keyword.Pseudo +' ' Text +'version' Keyword.Pseudo +' ' Text +'"1.0"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'module' Keyword.Declaration +' ' Text +'namespace' Keyword.Declaration +' ' Text +'xqueryexample' Name.Namespace +' ' Text +'"http://example.com/namespace"' Literal.String.Double +';' Punctuation +'\n' Text + +'import' Keyword.Pseudo +' ' Text +'module' Keyword.Pseudo +' ' Text +'namespace' Keyword +' ' Text +'importedns' Name.Namespace +' ' Text +'=' Operator +' ' Text +'"http://example.com/ns/imported"' Literal.String.Double +' ' Text +'at' Keyword +' ' Text +'"no/such/file.xqy"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'namespace' Keyword.Declaration +' ' Text +'sess' Name.Namespace +' ' Text +'=' Operator +' ' Text +'"com.example.session"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'amazing' Name +' ' Text +':=' Operator +' ' Text +'"awesome"' Literal.String.Double +';' Punctuation +'\n' Text + +'declare' Keyword.Declaration +' ' Text +'variable' Keyword.Declaration +' ' Text +'$' Name.Variable +'SESSIONS' Name +' ' Text +'as' Keyword +' ' Text +'element' Name.Tag +'' Text +'(' Punctuation +'sess:session' Name +')' Punctuation +'*' Operator +' ' Text +':=' Operator +' ' Text +'c:sessions' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n\n' Text + +'declare' Keyword.Declaration +' ' Text +'option' Keyword.Declaration +' ' Text +'sess:clear' Name.Variable +' ' Text +'"false"' Literal.String.Double +';' Punctuation +'\n\n' Text + +'define' Keyword.Declaration +' ' Text +'function' Keyword.Declaration +' ' Text +'whatsit' Name.Function +'(' Punctuation +'$' Name.Variable +'param' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +')' Punctuation +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +' ' Text +'{' Punctuation +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'var1' Name +' ' Text +':=' Operator +' ' Text +'1' Literal.Number.Integer +'\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'var2' Name +' ' Text +':=' Operator +' ' Text +'2' Literal.Number.Integer +'\n\t' Text +'return' Keyword +' ' Text +'(' Punctuation +'1' Literal.Number.Integer +' ' Text +'+' Operator +' ' Text +'2' Literal.Number.Integer +' ' Text +'div' Keyword +' ' Text +'(' Punctuation +'$' Name.Variable +'var1' Name +' ' Text +'+' Operator +' ' Text +'$' Name.Variable +'var2' Name +')' Punctuation +')' Punctuation +'\n\n\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'let' Name +' ' Text +':=' Operator +' ' Text +'<' Name.Tag +'x' Name.Tag +'>' Name.Tag +'"' Literal +'t' Literal +'e' Literal +'s' Literal +'t' Literal +'"' Literal +'' Name.Tag +'\n\t' Text +'return' Keyword +' ' Text +'(:' Comment +' ' Comment +'s' Comment +'o' Comment +'m' Comment +'e' Comment +' ' Comment +'w' Comment +'h' Comment +'i' Comment +'t' Comment +'e' Comment +'s' Comment +'p' Comment +'a' Comment +'c' Comment +'e' Comment +' ' Comment +':)' Comment +' ' Text +'element' Keyword +' ' Text +'element' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t' Text +'attribute' Keyword +' ' Text +'attribute' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'1' Literal.Number.Integer +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t' Text +'element' Keyword +' ' Text +'test' Name.Variable +' ' Text +'{' Punctuation +' ' Text +"'a'" Literal.String.Single +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'foo' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"bar"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t' Text +'fn:doc' Name.Function +'(' Punctuation +')' Punctuation +'[' Punctuation +' ' Text +'foo' Name.Tag +'/' Punctuation +'@bar' Name.Attribute +' ' Text +'eq' Operator.Word +' ' Text +'$' Name.Variable +'let' Name +' ' Text +']' Punctuation +',' Punctuation +'\n ' Text +'//' Punctuation +'x' Name.Tag +'/' Punctuation +'with' Keyword +'/' Punctuation +'another' Name.Tag +'/' Punctuation +'*' Name.Tag +'/' Punctuation +'*:version' Name.Tag +'/' Punctuation +'xpath' Name.Tag +'/' Punctuation +'@attr' Name.Attribute +' ' Text +'}' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'bride' Name +' ' Text +':=' Operator +' ' Text +'"Bride"' Literal.String.Double +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'test' Name +' ' Text +':=' Operator +' ' Text +'validate' Keyword +' ' Text +'lax' Keyword +' ' Text +'{' Punctuation +' ' Text +'<' Name.Tag +'some' Name.Tag +'>' Name.Tag +'h' Literal +'t' Literal +'m' Literal +'l' Literal +'' Name.Tag +' ' Text +'}' Punctuation +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'test' Name +' ' Text +':=' Operator +' ' Text +'validate' Keyword +' ' Text +'strict' Keyword +' ' Text +'{' Punctuation +' ' Text +'<' Name.Tag +'some' Name.Tag +'>' Name.Tag +'h' Literal +'t' Literal +'m' Literal +'l' Literal +'' Name.Tag +' ' Text +'}' Punctuation +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'test' Name +' ' Text +':=' Operator +' ' Text +'validate' Keyword +' ' Text +'{' Punctuation +' ' Text +'<' Name.Tag +'some' Name.Tag +'>' Name.Tag +'h' Literal +'t' Literal +'m' Literal +'l' Literal +'' Name.Tag +' ' Text +'}' Punctuation +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'test' Name +' ' Text +':=' Operator +' ' Text +'$' Name.Variable +'var1' Name +'/' Punctuation +'*:Article' Name.Tag +' ' Text +'(:' Comment +' ' Comment +'c' Comment +'o' Comment +'m' Comment +'m' Comment +'e' Comment +'n' Comment +'t' Comment +' ' Comment +'h' Comment +'e' Comment +'r' Comment +'e' Comment +' ' Comment +':)' Comment +' ' Text +'[' Punctuation +'fn:not' Name.Function +'(' Punctuation +')' Punctuation +']' Punctuation +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'test' Name +' ' Text +':=' Operator +' ' Text +'$' Name.Variable +'var1' Name +'/' Punctuation +'@*:name' Name.Attribute +'/' Punctuation +'fn:string' Name.Function +'(' Punctuation +')' Punctuation +'\n\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'noop' Name +' ' Text +':=' Operator +' ' Text +'ordered' Keyword +' ' Text +'{' Punctuation +' ' Text +'$' Name.Variable +'test' Name +' ' Text +'}' Punctuation +'\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'noop' Name +' ' Text +':=' Operator +' ' Text +'unordered' Keyword +' ' Text +'{' Punctuation +' ' Text +'$' Name.Variable +'test' Name +' ' Text +'}' Punctuation +'\n\n' Text + +'let' Keyword +' ' Text +'$' Name.Variable +'noop' Name +' ' Text +':=' Operator +'\n\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'version' Name +' ' Text +'at' Keyword +' ' Text +'$' Name.Variable +'i' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'versions' Name +'/' Punctuation +'version' Name.Tag +'\n\t\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'row' Name +' ' Text +':=' Operator +' ' Text +'if' Keyword +'(' Punctuation +'$' Name.Variable +'i' Name +' ' Text +'mod' Keyword +' ' Text +'2' Literal.Number.Integer +' ' Text +'eq' Operator.Word +' ' Text +'0' Literal.Number.Integer +')' Punctuation +' ' Text +'then' Keyword +' ' Text +'"even"' Literal.String.Double +' ' Text +'else' Keyword +' ' Text +'"odd"' Literal.String.Double +'\n\t\t' Text +'order by' Keyword +' ' Text +'$' Name.Variable +'version' Name +' ' Text +'descending' Keyword +'\n\t\t' Text +'return' Keyword +'\n\n' Text + +'return' Keyword +'\n' Text + +'<' Name.Tag +'html' Name.Tag +' ' Text +'xmlns' Name.Tag +'=' Operator +'"' Punctuation +'h' Name.Attribute +'t' Name.Attribute +'t' Name.Attribute +'p' Name.Attribute +':' Name.Attribute +'/' Name.Attribute +'/' Name.Attribute +'w' Name.Attribute +'w' Name.Attribute +'w' Name.Attribute +'.' Name.Attribute +'w' Name.Attribute +'3' Name.Attribute +'.' Name.Attribute +'o' Name.Attribute +'r' Name.Attribute +'g' Name.Attribute +'/' Name.Attribute +'1' Name.Attribute +'9' Name.Attribute +'9' Name.Attribute +'9' Name.Attribute +'/' Name.Attribute +'x' Name.Attribute +'h' Name.Attribute +'t' Name.Attribute +'m' Name.Attribute +'l' Name.Attribute +'"' Punctuation +'>' Name.Tag +'\n' Literal + +'{' Punctuation +'\n\t' Text +'<' Name.Tag +'outer' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'<' Name.Tag +'movie' Name.Tag +'>' Name.Tag +'\n' Literal + +'\t' Literal +'\t' Literal +'<' Name.Tag +'title' Name.Tag +'>' Name.Tag +'T' Literal +'h' Literal +'e' Literal +' ' Literal +'P' Literal +'r' Literal +'i' Literal +'n' Literal +'c' Literal +'e' Literal +'s' Literal +'s' Literal +' ' Literal +'{' Punctuation +' ' Text +'fn:capitalize' Name.Function +'(' Punctuation +'$' Name.Variable +'bride' Name +')' Punctuation +' ' Text +'}' Punctuation +'' Name.Tag +'\n' Literal + +'\t' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'<' Name.Tag +'form' Name.Tag +' ' Text +'action' Name.Tag +'=' Operator +'"' Punctuation +'"' Punctuation +' ' Text +'method' Name.Tag +'=' Operator +'"' Punctuation +'p' Name.Attribute +'o' Name.Attribute +'s' Name.Attribute +'t' Name.Attribute +'"' Punctuation +' ' Text +'id' Name.Tag +'=' Operator +'"' Punctuation +'s' Name.Attribute +'e' Name.Attribute +'s' Name.Attribute +'s' Name.Attribute +'i' Name.Attribute +'o' Name.Attribute +'n' Name.Attribute +'-' Name.Attribute +'f' Name.Attribute +'o' Name.Attribute +'r' Name.Attribute +'m' Name.Attribute +'"' Punctuation +' ' Text +'call' Name.Tag +'=' Operator +'"' Punctuation +'c' Name.Attribute +'a' Name.Attribute +'l' Name.Attribute +'l' Name.Attribute +'s' Name.Attribute +'o' Name.Attribute +'m' Name.Attribute +'e' Name.Attribute +'t' Name.Attribute +'h' Name.Attribute +'i' Name.Attribute +'n' Name.Attribute +'g' Name.Attribute +'(' Name.Attribute +')' Name.Attribute +'"' Punctuation +'>' Name.Tag +'\n' Literal + +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'<' Name.Tag +'input' Name.Tag +' ' Text +'type' Name.Tag +'=' Operator +'"' Punctuation +'h' Name.Attribute +'i' Name.Attribute +'d' Name.Attribute +'d' Name.Attribute +'e' Name.Attribute +'n' Name.Attribute +'"' Punctuation +' ' Text +'name' Name.Tag +'=' Operator +'"' Punctuation +'{' Punctuation +'$' Name.Variable +'d:DEBUG-FIELD' Name +'}' Punctuation +'"' Punctuation +' ' Text +'value' Name.Tag +'=' Operator +'"' Punctuation +'{' Punctuation +'$' Name.Variable +'d:DEBUG' Name +'}' Punctuation +'"' Punctuation +'/>' Name.Tag +'\n' Literal + +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +' ' Literal +'{' Punctuation +'\n\t\t\t\t' Text +'(:' Comment +' ' Comment +'p' Comment +'l' Comment +'a' Comment +'c' Comment +'e' Comment +'h' Comment +'o' Comment +'l' Comment +'d' Comment +'e' Comment +'r' Comment +' ' Comment +'f' Comment +'o' Comment +'r' Comment +' ' Comment +'l' Comment +'o' Comment +'c' Comment +'a' Comment +'l' Comment +' ' Comment +'s' Comment +'e' Comment +'s' Comment +'s' Comment +'i' Comment +'o' Comment +'n' Comment +'s' Comment +' ' Comment +':)' Comment +'\n\t\t\t\t' Text +'element' Keyword +' ' Text +'div' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'id' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"sessions-local"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'class' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"hidden"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'element' Keyword +' ' Text +'h1' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"Local Sessions"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'element' Keyword +' ' Text +'p' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t' Text +"'These sessions use storage provided by your browser.'" Literal.String.Single +',' Punctuation +'\n\t\t\t\t\t\t' Text +"'You can also '" Literal.String.Single +',' Punctuation +'\n\t\t\t\t\t\t' Text +'element' Keyword +' ' Text +'a' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'href' Name.Variable +' ' Text +'{' Punctuation +' ' Text +"'session-import-local.xqy'" Literal.String.Single +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +"'import'" Literal.String.Single +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t' Text +"' sessions from local XML files.'" Literal.String.Single +'\n\t\t\t\t\t' Text +'}' Punctuation +'\n\t\t\t\t' Text +'}' Punctuation +'\n\t\t\t' Text +'}' Punctuation +'\n' Literal + +'\t' Literal +'\t' Literal +'\t' Literal +'{' Punctuation +'\n\t\t\t\t' Text +'for' Keyword +' ' Text +'$' Name.Variable +'i' Name +' ' Text +'in' Operator.Word +' ' Text +'$' Name.Variable +'sessions' Name +'\n\t\t\t\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'id' Name +' ' Text +':=' Operator +' ' Text +'c:session-id' Name.Function +'(' Punctuation +'$' Name.Variable +'i' Name +')' Punctuation +'\n\t\t\t\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'uri' Name +' ' Text +':=' Operator +' ' Text +'c:session-uri' Name.Function +'(' Punctuation +'$' Name.Variable +'i' Name +')' Punctuation +'\n\t\t\t\t' Text +'(:' Comment +' ' Comment +'w' Comment +'e' Comment +' ' Comment +'o' Comment +'n' Comment +'l' Comment +'y' Comment +' ' Comment +'c' Comment +'a' Comment +'r' Comment +'e' Comment +' ' Comment +'a' Comment +'b' Comment +'o' Comment +'u' Comment +'t' Comment +' ' Comment +'t' Comment +'h' Comment +'e' Comment +' ' Comment +'l' Comment +'o' Comment +'c' Comment +'k' Comment +' ' Comment +'t' Comment +'h' Comment +'a' Comment +'t' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'i' Comment +'r' Comment +'e' Comment +'s' Comment +' ' Comment +'l' Comment +'a' Comment +'s' Comment +'t' Comment +' ' Comment +':)' Comment +'\n\t\t\t\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'conflicting' Name +' ' Text +':=' Operator +' ' Text +'c:conflicting-locks' Name.Function +'(' Punctuation +'$' Name.Variable +'uri' Name +',' Punctuation +' ' Text +'1' Literal.Number.Integer +')' Punctuation +'\n\t\t\t\t' Text +'let' Keyword +' ' Text +'$' Name.Variable +'name' Name +' ' Text +'as' Keyword +' ' Text +'xs:string' Keyword.Type +' ' Text +':=' Operator +' ' Text +'(' Punctuation +'$' Name.Variable +'i' Name +'/' Punctuation +'sess:name' Name.Tag +',' Punctuation +' ' Text +'"(unnamed)"' Literal.String.Double +')' Punctuation +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +'\n\t\t\t\t' Text +'return' Keyword +' ' Text +'element' Keyword +' ' Text +'tr' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t' Text +'element' Keyword +' ' Text +'td' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'$' Name.Variable +'name' Name +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'element' Keyword +' ' Text +'td' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'string' Name.Function +'(' Punctuation +'$' Name.Variable +'i' Name +'/' Punctuation +'sec:user' Name.Tag +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'element' Keyword +' ' Text +'td' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'data' Name.Function +'(' Punctuation +'$' Name.Variable +'i' Name +'/' Punctuation +'sess:created' Name.Tag +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'element' Keyword +' ' Text +'td' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'data' Name.Function +'(' Punctuation +'$' Name.Variable +'i' Name +'/' Punctuation +'sess:last-modified' Name.Tag +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t' Text +'element' Keyword +' ' Text +'td' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +'empty' Name.Function +'(' Punctuation +'$' Name.Variable +'conflicting' Name +')' Punctuation +')' Punctuation +' ' Text +'then' Keyword +' ' Text +'(' Punctuation +')' Punctuation +' ' Text +'else' Keyword +'\n\t\t\t\t\t\t' Text +'text' Keyword +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t' Text +'"by"' Literal.String.Double +',' Punctuation +' ' Text +'$' Name.Variable +'conflicting' Name +'/' Punctuation +'lock:owner' Name.Tag +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'"until"' Literal.String.Double +',' Punctuation +' ' Text +'adjust-dateTime-to-timezone' Name.Function +'(' Punctuation +'\n\t\t\t\t\t\t\t\t' Text +'x:epoch-seconds-to-dateTime' Name.Function +'(' Punctuation +'\n\t\t\t\t\t\t\t\t\t' Text +'$' Name.Variable +'conflicting' Name +'/' Punctuation +'lock:timestamp' Name.Tag +' ' Text +'+' Operator +' ' Text +'$' Name.Variable +'conflicting' Name +'/' Punctuation +'lock:timeout' Name.Tag +'\n\t\t\t\t\t\t\t\t' Text +')' Punctuation +'\n\t\t\t\t\t\t\t' Text +')' Punctuation +'\n\t\t\t\t\t\t' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t' Text +'(:' Comment +' ' Comment +'o' Comment +'n' Comment +'l' Comment +'y' Comment +' ' Comment +'s' Comment +'h' Comment +'o' Comment +'w' Comment +' ' Comment +'r' Comment +'e' Comment +'s' Comment +'u' Comment +'m' Comment +'e' Comment +' ' Comment +'b' Comment +'u' Comment +'t' Comment +'t' Comment +'o' Comment +'n' Comment +' ' Comment +'i' Comment +'f' Comment +' ' Comment +'t' Comment +'h' Comment +'e' Comment +'r' Comment +'e' Comment +' ' Comment +'a' Comment +'r' Comment +'e' Comment +' ' Comment +'n' Comment +'o' Comment +' ' Comment +'c' Comment +'o' Comment +'n' Comment +'f' Comment +'l' Comment +'i' Comment +'c' Comment +'t' Comment +'i' Comment +'n' Comment +'g' Comment +' ' Comment +'l' Comment +'o' Comment +'c' Comment +'k' Comment +'s' Comment +' ' Comment +':)' Comment +'\n\t\t\t\t\t\t' Text +'element' Keyword +' ' Text +'input' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'type' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"button"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'title' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t\t' Text +'data' Name.Function +'(' Punctuation +'$' Name.Variable +'i' Name +'/' Punctuation +'sess:query-buffers' Name.Tag +'/' Punctuation +'sess:query' Name.Tag +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'onclick' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t\t' Text +'concat' Name.Function +'(' Punctuation +'"list.resumeSession(\'"' Literal.String.Double +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +',' Punctuation +' ' Text +'"\')"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'value' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t\t' Text +'"Resume"' Literal.String.Double +',' Punctuation +' ' Text +'(' Punctuation +"' '" Literal.String.Single +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +')' Punctuation +'[' Punctuation +' ' Text +'$' Name.Variable +'d:DEBUG' Name +' ' Text +']' Punctuation +' ' Text +'}' Punctuation +'\n\t\t\t\t\t\t' Text +'}' Punctuation +'[' Punctuation +' ' Text +'not' Name.Function +'(' Punctuation +'$' Name.Variable +'conflicting' Name +')' Punctuation +' ' Text +']' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t' Text +'$' Name.Variable +'x:NBSP' Name +',' Punctuation +'\n\t\t\t\t\t\t' Text +'(:' Comment +' ' Comment +'c' Comment +'l' Comment +'o' Comment +'n' Comment +'e' Comment +' ' Comment +'b' Comment +'u' Comment +'t' Comment +'t' Comment +'o' Comment +'n' Comment +' ' Comment +':)' Comment +'\n\t\t\t\t\t\t' Text +'element' Keyword +' ' Text +'input' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'type' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"button"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'title' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"clone this session"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'onclick' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t\t' Text +'concat' Name.Function +'(' Punctuation +'"list.cloneSession(\'"' Literal.String.Double +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +',' Punctuation +' ' Text +'"\', this)"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'value' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"Clone"' Literal.String.Double +',' Punctuation +' ' Text +'(' Punctuation +"' '" Literal.String.Single +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +')' Punctuation +'[' Punctuation +' ' Text +'$' Name.Variable +'d:DEBUG' Name +' ' Text +']' Punctuation +' ' Text +'}' Punctuation +'\n\t\t\t\t\t\t' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t' Text +'$' Name.Variable +'x:NBSP' Name +',' Punctuation +'\n\t\t\t\t\t\t' Text +'(:' Comment +' ' Comment +'e' Comment +'x' Comment +'p' Comment +'o' Comment +'r' Comment +'t' Comment +' ' Comment +'b' Comment +'u' Comment +'t' Comment +'t' Comment +'o' Comment +'n' Comment +' ' Comment +':)' Comment +'\n\t\t\t\t\t\t' Text +'element' Keyword +' ' Text +'input' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'type' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"button"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'title' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"export this session"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'onclick' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t\t' Text +'concat' Name.Function +'(' Punctuation +'"list.exportServerSession(\'"' Literal.String.Double +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +',' Punctuation +' ' Text +'"\', this)"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'value' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"Export"' Literal.String.Double +',' Punctuation +' ' Text +'(' Punctuation +"' '" Literal.String.Single +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +')' Punctuation +'[' Punctuation +' ' Text +'$' Name.Variable +'d:DEBUG' Name +' ' Text +']' Punctuation +' ' Text +'}' Punctuation +'\n\t\t\t\t\t\t' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t' Text +'$' Name.Variable +'x:NBSP' Name +',' Punctuation +'\n\t\t\t\t\t\t' Text +'(:' Comment +' ' Comment +'o' Comment +'n' Comment +'l' Comment +'y' Comment +' ' Comment +'s' Comment +'h' Comment +'o' Comment +'w' Comment +' ' Comment +'d' Comment +'e' Comment +'l' Comment +'e' Comment +'t' Comment +'e' Comment +' ' Comment +'b' Comment +'u' Comment +'t' Comment +'t' Comment +'o' Comment +'n' Comment +' ' Comment +'i' Comment +'f' Comment +' ' Comment +'t' Comment +'h' Comment +'e' Comment +'r' Comment +'e' Comment +' ' Comment +'a' Comment +'r' Comment +'e' Comment +' ' Comment +'n' Comment +'o' Comment +' ' Comment +'c' Comment +'o' Comment +'n' Comment +'f' Comment +'l' Comment +'i' Comment +'c' Comment +'t' Comment +'i' Comment +'n' Comment +'g' Comment +' ' Comment +'l' Comment +'o' Comment +'c' Comment +'k' Comment +'s' Comment +' ' Comment +':)' Comment +'\n\t\t\t\t\t\t' Text +'element' Keyword +' ' Text +'input' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'type' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"button"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'title' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"permanently delete this session"' Literal.String.Double +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'onclick' Name.Variable +' ' Text +'{' Punctuation +'\n\t\t\t\t\t\t\t\t' Text +'concat' Name.Function +'(' Punctuation +'"list.deleteSession(\'"' Literal.String.Double +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +',' Punctuation +' ' Text +'"\', this)"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +',' Punctuation +'\n\t\t\t\t\t\t\t' Text +'attribute' Keyword +' ' Text +'value' Name.Variable +' ' Text +'{' Punctuation +' ' Text +'"Delete"' Literal.String.Double +',' Punctuation +' ' Text +'(' Punctuation +"' '" Literal.String.Single +',' Punctuation +' ' Text +'$' Name.Variable +'id' Name +')' Punctuation +'[' Punctuation +' ' Text +'$' Name.Variable +'d:DEBUG' Name +' ' Text +']' Punctuation +' ' Text +'}' Punctuation +'\n\t\t\t\t\t\t' Text +'}' Punctuation +'[' Punctuation +' ' Text +'not' Name.Function +'(' Punctuation +'$' Name.Variable +'conflicting' Name +')' Punctuation +' ' Text +']' Punctuation +'\n\t\t\t\t\t' Text +'}' Punctuation +'\n\t\t\t\t' Text +'}' Punctuation +'\n\t\t\t' Text +'}' Punctuation +'\n' Literal + +'\t' Literal +'' Name.Tag +'\n' Literal + +'\t' Literal +'' Name.Tag +'\n' Text + +'}' Punctuation +'\n' Literal + +' ' Literal +' ' Literal +'<' Name.Tag +'tr' Name.Tag +'>' Name.Tag +'<' Name.Tag +'td' Name.Tag +'>' Name.Tag +'' Literal.String.Doc +' ' Literal +'' Name.Tag +'' Name.Tag +'\n' Literal + +'' Name.Tag +'\n' Text diff --git a/tests/examplefiles/test.xsl b/tests/examplefiles/xslt/test.xsl similarity index 100% rename from tests/examplefiles/test.xsl rename to tests/examplefiles/xslt/test.xsl diff --git a/tests/examplefiles/xslt/test.xsl.output b/tests/examplefiles/xslt/test.xsl.output new file mode 100644 index 0000000..83a86b9 --- /dev/null +++ b/tests/examplefiles/xslt/test.xsl.output @@ -0,0 +1,103 @@ +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t' Text +'' Keyword +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\n\t' Text +'' Keyword +'\n\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t\t\t' Text +'' Name.Tag +'' Name.Tag +'' Keyword +'\n\t\t\t' Text +'' Name.Tag +'' Name.Tag +'' Keyword +'\n\t\t\t' Text +'' Name.Tag +'' Name.Tag +'' Keyword +'\n\t\t' Text +'' Name.Tag +'\n\t\t' Text +'' Name.Tag +'\n\t' Text +'' Keyword +'\n\n' Text + +'' Keyword +'\n' Text diff --git a/tests/examplefiles/example.xtend b/tests/examplefiles/xtend/example.xtend similarity index 61% rename from tests/examplefiles/example.xtend rename to tests/examplefiles/xtend/example.xtend index f6a51f7..6c37d1b 100644 --- a/tests/examplefiles/example.xtend +++ b/tests/examplefiles/xtend/example.xtend @@ -11,20 +11,20 @@ class BottleSong { } def singTheSong(int all) ''' - «FOR i : all .. 1» - «i.Bottles» of beer on the wall, «i.bottles» of beer. - Take one down and pass it around, «(i - 1).bottles» of beer on the wall. + «FOR i : all .. 1» + «i.Bottles» of beer on the wall, «i.bottles» of beer. + Take one down and pass it around, «(i - 1).bottles» of beer on the wall. - «ENDFOR» + «ENDFOR» No more bottles of beer on the wall, no more bottles of beer. - Go to the store and buy some more, «all.bottles» of beer on the wall. + Go to the store and buy some more, «all.bottles» of beer on the wall. ''' def private java.lang.String bottles(int i) { switch i { case 0 : 'no more bottles' case 1 : 'one bottle' - default : '''«i» bottles''' + default : '''«i» bottles''' }.toString } diff --git a/tests/examplefiles/xtend/example.xtend.output b/tests/examplefiles/xtend/example.xtend.output new file mode 100644 index 0000000..3ee7b94 --- /dev/null +++ b/tests/examplefiles/xtend/example.xtend.output @@ -0,0 +1,478 @@ +'package' Keyword.Namespace +' ' Text +'beer' Name +'\n' Text + +'\n' Text + +'import' Keyword.Namespace +' ' Text +'static' Name.Namespace +' ' Text +'extension' Name +' ' Text +'beer' Name +'.' Operator +'BottleSupport' Name +'.' Operator +'*' Operator +'\n' Text + +'import' Keyword.Namespace +' ' Text +'org.junit.Test' Name.Namespace +'\n' Text + +'\n' Text + +'class' Keyword.Declaration +' ' Text +'BottleSong' Name.Class +' ' Text +'{' Operator +'\n' Text + +'\n' Text + +'\t' Text +'@Test' Name.Decorator +'\n' Text + +'\t' Text +'def' Keyword.Declaration +' ' Text +'void' Keyword.Type +' ' Text +'singIt' Name.Function +'(' Operator +')' Operator +' ' Text +'{' Operator +'\n' Text + +'\t\t' Text +'println' Name +'(' Operator +'singTheSong' Name +'(' Operator +'99' Literal.Number.Integer +')' Operator +')' Operator +'\n' Text + +'\t' Text +'}' Operator +'\n' Text + +'\t' Text +'\n' Text + +'\t' Text +'def' Keyword.Declaration +' ' Text +'singTheSong' Name.Function +'(' Operator +'int' Keyword.Type +' ' Text +'all' Name +')' Operator +' ' Text +"'''" Literal.String +'\n' Literal.String + +'\t' Literal.String +'\t' Literal.String +'«' Literal.String +'FOR' Keyword +' ' Text +'i' Name +' ' Text +':' Operator +' ' Text +'all' Name +' ' Text +'.' Operator +'.' Operator +' ' Text +'1' Literal.Number.Integer +'»' Literal.String +'\n' Literal.String + +'\t' Literal.String +'\t' Literal.String +'\t' Literal.String +'«' Literal.String +'i' Name +'.' Operator +'Bottles' Name +'»' Literal.String +' ' Literal.String +'o' Literal.String +'f' Literal.String +' ' Literal.String +'b' Literal.String +'e' Literal.String +'e' Literal.String +'r' Literal.String +' ' Literal.String +'o' Literal.String +'n' Literal.String +' ' Literal.String +'t' Literal.String +'h' Literal.String +'e' Literal.String +' ' Literal.String +'w' Literal.String +'a' Literal.String +'l' Literal.String +'l' Literal.String +',' Literal.String +' ' Literal.String +'«' Literal.String +'i' Name +'.' Operator +'bottles' Name +'»' Literal.String +' ' Literal.String +'o' Literal.String +'f' Literal.String +' ' Literal.String +'b' Literal.String +'e' Literal.String +'e' Literal.String +'r' Literal.String +'.' Literal.String +'\n' Literal.String + +'\t' Literal.String +'\t' Literal.String +'\t' Literal.String +'T' Literal.String +'a' Literal.String +'k' Literal.String +'e' Literal.String +' ' Literal.String +'o' Literal.String +'n' Literal.String +'e' Literal.String +' ' Literal.String +'d' Literal.String +'o' Literal.String +'w' Literal.String +'n' Literal.String +' ' Literal.String +'a' Literal.String +'n' Literal.String +'d' Literal.String +' ' Literal.String +'p' Literal.String +'a' Literal.String +'s' Literal.String +'s' Literal.String +' ' Literal.String +'i' Literal.String +'t' Literal.String +' ' Literal.String +'a' Literal.String +'r' Literal.String +'o' Literal.String +'u' Literal.String +'n' Literal.String +'d' Literal.String +',' Literal.String +' ' Literal.String +'«' Literal.String +'(' Operator +'i' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +')' Operator +'.' Operator +'bottles' Name +'»' Literal.String +' ' Literal.String +'o' Literal.String +'f' Literal.String +' ' Literal.String +'b' Literal.String +'e' Literal.String +'e' Literal.String +'r' Literal.String +' ' Literal.String +'o' Literal.String +'n' Literal.String +' ' Literal.String +'t' Literal.String +'h' Literal.String +'e' Literal.String +' ' Literal.String +'w' Literal.String +'a' Literal.String +'l' Literal.String +'l' Literal.String +'.' Literal.String +'\n' Literal.String + +'\t' Literal.String +'\t' Literal.String +'\t' Literal.String +'\n' Literal.String + +'\t' Literal.String +'\t' Literal.String +'«' Literal.String +'ENDFOR' Keyword +'»' Literal.String +'\n' Literal.String + +'\t' Literal.String +'\t' Literal.String +'N' Literal.String +'o' Literal.String +' ' Literal.String +'m' Literal.String +'o' Literal.String +'r' Literal.String +'e' Literal.String +' ' Literal.String +'b' Literal.String +'o' Literal.String +'t' Literal.String +'t' Literal.String +'l' Literal.String +'e' Literal.String +'s' Literal.String +' ' Literal.String +'o' Literal.String +'f' Literal.String +' ' Literal.String +'b' Literal.String +'e' Literal.String +'e' Literal.String +'r' Literal.String +' ' Literal.String +'o' Literal.String +'n' Literal.String +' ' Literal.String +'t' Literal.String +'h' Literal.String +'e' Literal.String +' ' Literal.String +'w' Literal.String +'a' Literal.String +'l' Literal.String +'l' Literal.String +',' Literal.String +' ' Literal.String +'n' Literal.String +'o' Literal.String +' ' Literal.String +'m' Literal.String +'o' Literal.String +'r' Literal.String +'e' Literal.String +' ' Literal.String +'b' Literal.String +'o' Literal.String +'t' Literal.String +'t' Literal.String +'l' Literal.String +'e' Literal.String +'s' Literal.String +' ' Literal.String +'o' Literal.String +'f' Literal.String +' ' Literal.String +'b' Literal.String +'e' Literal.String +'e' Literal.String +'r' Literal.String +'.' Literal.String +'\n' Literal.String + +'\t' Literal.String +'\t' Literal.String +'G' Literal.String +'o' Literal.String +' ' Literal.String +'t' Literal.String +'o' Literal.String +' ' Literal.String +'t' Literal.String +'h' Literal.String +'e' Literal.String +' ' Literal.String +'s' Literal.String +'t' Literal.String +'o' Literal.String +'r' Literal.String +'e' Literal.String +' ' Literal.String +'a' Literal.String +'n' Literal.String +'d' Literal.String +' ' Literal.String +'b' Literal.String +'u' Literal.String +'y' Literal.String +' ' Literal.String +'s' Literal.String +'o' Literal.String +'m' Literal.String +'e' Literal.String +' ' Literal.String +'m' Literal.String +'o' Literal.String +'r' Literal.String +'e' Literal.String +',' Literal.String +' ' Literal.String +'«' Literal.String +'all' Name +'.' Operator +'bottles' Name +'»' Literal.String +' ' Literal.String +'o' Literal.String +'f' Literal.String +' ' Literal.String +'b' Literal.String +'e' Literal.String +'e' Literal.String +'r' Literal.String +' ' Literal.String +'o' Literal.String +'n' Literal.String +' ' Literal.String +'t' Literal.String +'h' Literal.String +'e' Literal.String +' ' Literal.String +'w' Literal.String +'a' Literal.String +'l' Literal.String +'l' Literal.String +'.' Literal.String +'\n' Literal.String + +'\t' Literal.String +"'''" Literal.String +'\n' Text + +'\n' Text + +'\t' Text +'def' Keyword.Declaration +' ' Text +'private' Keyword.Declaration +' ' Text +'java' Name +'.' Operator +'lang' Name +'.' Operator +'String' Name +' ' Text +'bottles' Name.Function +'(' Operator +'int' Keyword.Type +' ' Text +'i' Name +')' Operator +' ' Text +'{' Operator +'\n' Text + +'\t\t' Text +'switch' Keyword +' ' Text +'i' Name +' ' Text +'{' Operator +'\n' Text + +'\t\t\t' Text +'case' Keyword +' ' Text +'0' Literal.Number.Integer +' ' Text +':' Operator +' ' Text +"'no more bottles'" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'case' Keyword +' ' Text +'1' Literal.Number.Integer +' ' Text +':' Operator +' ' Text +"'one bottle'" Literal.String.Single +'\n' Text + +'\t\t\t' Text +'default' Keyword +' ' Text +':' Operator +' ' Text +"'''" Literal.String +'«' Literal.String +'i' Name +'»' Literal.String +' ' Literal.String +'b' Literal.String +'o' Literal.String +'t' Literal.String +'t' Literal.String +'l' Literal.String +'e' Literal.String +'s' Literal.String +"'''" Literal.String +'\n' Text + +'\t\t' Text +'}' Operator +'.' Operator +'toString' Name +'\n' Text + +'\t' Text +'}' Operator +'\t' Text +'\n' Text + +'\t' Text +'\n' Text + +'\t' Text +'def' Keyword.Declaration +' ' Text +'String' Name +' ' Text +'Bottles' Name.Function +'(' Operator +'int' Keyword.Type +' ' Text +'i' Name +')' Operator +' ' Text +'{' Operator +'\n' Text + +'\t\t' Text +'bottles' Name +'(' Operator +'i' Name +')' Operator +'.' Operator +'toFirstUpper' Name +'\n' Text + +'\t' Text +'}' Operator +'\n' Text + +'}' Operator +'\n' Text diff --git a/tests/examplefiles/demo.xul.in b/tests/examplefiles/xul+mozpreproc/demo.xul.in similarity index 100% rename from tests/examplefiles/demo.xul.in rename to tests/examplefiles/xul+mozpreproc/demo.xul.in diff --git a/tests/examplefiles/xul+mozpreproc/demo.xul.in.output b/tests/examplefiles/xul+mozpreproc/demo.xul.in.output new file mode 100644 index 0000000..8a337c1 --- /dev/null +++ b/tests/examplefiles/xul+mozpreproc/demo.xul.in.output @@ -0,0 +1,35 @@ +'' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n' Text + +'#' Comment.Preproc +'if' Comment.Preproc +' ' Text +'defined' Keyword +'(' Punctuation +'__foo__' Name.Variable +')' Punctuation +'\n' Text + +'' Name.Tag +'\n' Text + +'#' Comment.Preproc +'endif' Comment.Preproc +'\n' Text + +'' Name.Tag +'\n' Text diff --git a/tests/examplefiles/example.sls b/tests/examplefiles/yaml+jinja/example.sls similarity index 100% rename from tests/examplefiles/example.sls rename to tests/examplefiles/yaml+jinja/example.sls diff --git a/tests/examplefiles/yaml+jinja/example.sls.output b/tests/examplefiles/yaml+jinja/example.sls.output new file mode 100644 index 0000000..022e055 --- /dev/null +++ b/tests/examplefiles/yaml+jinja/example.sls.output @@ -0,0 +1,401 @@ +'include' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'moosefs' Literal.Scalar.Plain +'\n\n' Text + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'mnt' Name.Variable +' ' Text +'in' Keyword +' ' Text +'salt' Name.Variable +'[' Operator +"'cmd.run'" Literal.String.Single +']' Operator +'(' Operator +"'ls /dev/data/moose*'" Literal.String.Single +')' Operator +'.split' Name.Variable +'(' Operator +')' Operator +' ' Text +'%}' Comment.Preproc +'\n' Text + +'/mnt/moose' Name.Tag +'{{' Comment.Preproc +' ' Text +'mnt' Name.Variable +'[' Operator +'-' Operator +'1' Literal.Number +']' Operator +' ' Text +'}}' Comment.Preproc +':' Punctuation +'\n' Text + +' ' Text +'mount.mounted' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'device' Name.Tag +':' Punctuation +' ' Text +'{{' Comment.Preproc +' ' Text +'mnt' Name.Variable +' ' Text +'}}' Comment.Preproc +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'fstype' Name.Tag +':' Punctuation +' ' Text +'xfs' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'mkmnt' Name.Tag +':' Punctuation +' ' Text +'True' Literal.Scalar.Plain +'\n' Text + +' ' Text +'file.directory' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'user' Name.Tag +':' Punctuation +' ' Text +'mfs' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'group' Name.Tag +':' Punctuation +' ' Text +'mfs' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'require' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'user' Name.Tag +':' Punctuation +' ' Text +'mfs' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'group' Name.Tag +':' Punctuation +' ' Text +'mfs' Literal.Scalar.Plain +'\n' Text + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n\n' Text + +'/etc/mfshdd.cfg' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'file.managed' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'source' Name.Tag +':' Punctuation +' ' Text +'salt://moosefs/mfshdd.cfg' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'user' Name.Tag +':' Punctuation +' ' Text +'root' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'group' Name.Tag +':' Punctuation +' ' Text +'root' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'mode' Name.Tag +':' Punctuation +' ' Text +'644' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'template' Name.Tag +':' Punctuation +' ' Text +'jinja' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'require' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'pkg' Name.Tag +':' Punctuation +' ' Text +'mfs-chunkserver' Literal.Scalar.Plain +'\n\n' Text + +'/etc/mfschunkserver.cfg' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'file.managed' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'source' Name.Tag +':' Punctuation +' ' Text +'salt://moosefs/mfschunkserver.cfg' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'user' Name.Tag +':' Punctuation +' ' Text +'root' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'group' Name.Tag +':' Punctuation +' ' Text +'root' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'mode' Name.Tag +':' Punctuation +' ' Text +'644' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'template' Name.Tag +':' Punctuation +' ' Text +'jinja' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'require' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'pkg' Name.Tag +':' Punctuation +' ' Text +'mfs-chunkserver' Literal.Scalar.Plain +'\n\n' Text + +'mfs-chunkserver' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'pkg' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'installed' Literal.Scalar.Plain +'\n' Text + +'mfschunkserver' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'service' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'running' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'require' Name.Tag +':' Punctuation +'\n' Text + +'{%' Comment.Preproc +' ' Text +'for' Keyword +' ' Text +'mnt' Name.Variable +' ' Text +'in' Keyword +' ' Text +'salt' Name.Variable +'[' Operator +"'cmd.run'" Literal.String.Single +']' Operator +'(' Operator +"'ls /dev/data/moose*'" Literal.String.Single +')' Operator +' ' Text +'%}' Comment.Preproc +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'mount' Name.Tag +':' Punctuation +' ' Text +'/mnt/moose' Literal.Scalar.Plain +'{{' Comment.Preproc +' ' Text +'mnt' Name.Variable +'[' Operator +'-' Operator +'1' Literal.Number +']' Operator +' ' Text +'}}' Comment.Preproc +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'file' Name.Tag +':' Punctuation +' ' Text +'/mnt/moose' Literal.Scalar.Plain +'{{' Comment.Preproc +' ' Text +'mnt' Name.Variable +'[' Operator +'-' Operator +'1' Literal.Number +']' Operator +' ' Text +'}}' Comment.Preproc +'\n' Text + +'{%' Comment.Preproc +' ' Text +'endfor' Keyword +' ' Text +'%}' Comment.Preproc +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'file' Name.Tag +':' Punctuation +' ' Text +'/etc/mfschunkserver.cfg' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'file' Name.Tag +':' Punctuation +' ' Text +'/etc/mfshdd.cfg' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'file' Name.Tag +':' Punctuation +' ' Text +'/var/lib/mfs' Literal.Scalar.Plain +'\n' Text diff --git a/tests/examplefiles/example.yaml b/tests/examplefiles/yaml/example.yaml similarity index 100% rename from tests/examplefiles/example.yaml rename to tests/examplefiles/yaml/example.yaml diff --git a/tests/examplefiles/yaml/example.yaml.output b/tests/examplefiles/yaml/example.yaml.output new file mode 100644 index 0000000..92a1a10 --- /dev/null +++ b/tests/examplefiles/yaml/example.yaml.output @@ -0,0 +1,1696 @@ +'#' Comment.Single +'\n' Text + +'# Regression tests' Comment.Single +'\n' Text + +'#' Comment.Single +'\n\n' Text + +'%TAG' Name.Tag +' ' Text +'!' Keyword.Type +' ' Text +'tag:example.com:foo/' Keyword.Type +'\n' Text + +'---' Name.Namespace +'\n' Text + +'test' Name.Tag +':' Punctuation +' ' Text +'!foo/bar' Keyword.Type +' ' Text +'{' Punctuation.Indicator +'a' Name.Tag +':' Punctuation +' ' Text +"'" Literal.String +'asdf' Literal.String +"'" Literal.String +'}' Punctuation.Indicator +'\n' Text + +'test2' Name.Tag +':' Punctuation +' ' Text +'fred' Literal.Scalar.Plain +'\n' Text + +'...' Name.Namespace +'\n\n' Text + +'#' Comment.Single +'\n' Text + +'# Examples from the Preview section of the YAML specification' Comment.Single +'\n' Text + +'# (http://yaml.org/spec/1.2/#Preview)' Comment.Single +'\n' Text + +'#' Comment.Single +'\n\n' Text + +'# Sequence of scalars' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Mark' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'McGwire' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Ken' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Griffey' Literal.Scalar.Plain +'\n\n' Text + +'# Mapping scalars to scalars' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'hr' Name.Tag +':' Punctuation +' ' Text +'65' Literal.Scalar.Plain +' ' Text +'# Home runs' Comment.Single +'\n' Text + +'avg' Name.Tag +':' Punctuation +' ' Text +'0.278' Literal.Scalar.Plain +' ' Text +'# Batting average' Comment.Single +'\n' Text + +'rbi' Name.Tag +':' Punctuation +' ' Text +'147' Literal.Scalar.Plain +' ' Text +'# Runs Batted In' Comment.Single +'\n\n' Text + +'# Mapping scalars to sequences' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'american' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Boston' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Red' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sox' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Detroit' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Tigers' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'New' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'York' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Yankees' Literal.Scalar.Plain +'\n' Text + +'national' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'New' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'York' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Mets' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Chicago' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Cubs' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Atlanta' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Braves' Literal.Scalar.Plain +'\n\n' Text + +'# Sequence of mappings' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'-' Punctuation.Indicator +'\n' Text + +' ' Text +'name' Name.Tag +':' Punctuation +' ' Text +'Mark' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'McGwire' Literal.Scalar.Plain +'\n' Text + +' ' Text +'hr' Name.Tag +':' Punctuation +' ' Text +'65' Literal.Scalar.Plain +'\n' Text + +' ' Text +'avg' Name.Tag +':' Punctuation +' ' Text +'0.278' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +'\n' Text + +' ' Text +'name' Name.Tag +':' Punctuation +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +' ' Text +'hr' Name.Tag +':' Punctuation +' ' Text +'63' Literal.Scalar.Plain +'\n' Text + +' ' Text +'avg' Name.Tag +':' Punctuation +' ' Text +'0.288' Literal.Scalar.Plain +'\n\n' Text + +'# Sequence of sequences' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'[' Punctuation.Indicator +'name' Name.Variable +' ' Text +',' Punctuation.Indicator +' ' Text +'hr' Name.Variable +',' Punctuation.Indicator +' ' Text +'avg' Name.Variable +' ' Text +']' Punctuation.Indicator +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'[' Punctuation.Indicator +'Mark' Name.Variable +' ' Name.Variable +'McGwire' Name.Variable +',' Punctuation.Indicator +' ' Text +'65' Name.Variable +',' Punctuation.Indicator +' ' Text +'0.278' Name.Variable +']' Punctuation.Indicator +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'[' Punctuation.Indicator +'Sammy' Name.Variable +' ' Name.Variable +'Sosa' Name.Variable +' ' Text +',' Punctuation.Indicator +' ' Text +'63' Name.Variable +',' Punctuation.Indicator +' ' Text +'0.288' Name.Variable +']' Punctuation.Indicator +'\n\n' Text + +'# Mapping of mappings' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'Mark McGwire' Name.Tag +':' Punctuation +' ' Text +'{' Punctuation.Indicator +'hr' Name.Tag +':' Punctuation +' ' Text +'65' Name.Variable +',' Punctuation.Indicator +' avg' Name.Tag +':' Punctuation +' ' Text +'0.278' Name.Variable +'}' Punctuation.Indicator +'\n' Text + +'Sammy Sosa' Name.Tag +':' Punctuation +' ' Text +'{' Punctuation.Indicator +'\n' Text + +' hr' Name.Tag +':' Punctuation +' ' Text +'63' Name.Variable +',' Punctuation.Indicator +'\n' Text + +' avg' Name.Tag +':' Punctuation +' ' Text +'0.288' Name.Variable +'\n' Text + +' ' Text +'}' Punctuation.Indicator +'\n\n' Text + +'# Two documents in a stream' Comment.Single +'\n' Text + +'---' Name.Namespace +' ' Text +'# Ranking of 1998 home runs' Comment.Single +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Mark' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'McGwire' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Ken' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Griffey' Literal.Scalar.Plain +'\n' Text + +'---' Name.Namespace +' ' Text +'# Team ranking' Comment.Single +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Chicago' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Cubs' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'St' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Louis' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Cardinals' Literal.Scalar.Plain +'\n\n' Text + +'# Documents with the end indicator' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'time' Name.Tag +':' Punctuation +' ' Text +'20:03:20' Literal.Scalar.Plain +'\n' Text + +'player' Name.Tag +':' Punctuation +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +'action' Name.Tag +':' Punctuation +' ' Text +'strike' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'(miss)' Literal.Scalar.Plain +'\n' Text + +'...' Name.Namespace +'\n' Text + +'---' Name.Namespace +'\n' Text + +'time' Name.Tag +':' Punctuation +' ' Text +'20:03:47' Literal.Scalar.Plain +'\n' Text + +'player' Name.Tag +':' Punctuation +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +'action' Name.Tag +':' Punctuation +' ' Text +'grand' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'slam' Literal.Scalar.Plain +'\n' Text + +'...' Name.Namespace +'\n\n' Text + +'# Comments' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'hr' Name.Tag +':' Punctuation +' ' Text +'# 1998 hr ranking' Comment.Single +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Mark' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'McGwire' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +'rbi' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'# 1998 rbi ranking' Comment.Single +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Ken' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Griffey' Literal.Scalar.Plain +'\n\n' Text + +'# Anchors and aliases' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'hr' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Mark' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'McGwire' Literal.Scalar.Plain +'\n' Text + +' ' Text +'# Following node labeled SS' Comment.Single +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'&SS' Name.Label +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +'rbi' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'*SS' Name.Variable +' ' Text +'# Subsequent occurrence' Comment.Single +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Ken' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Griffey' Literal.Scalar.Plain +'\n\n' Text + +'# Mapping between sequences' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'?' Punctuation.Indicator +' ' Text +'-' Punctuation.Indicator +' ' Text +'Detroit' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Tigers' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'Chicago' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'cubs' Literal.Scalar.Plain +'\n' Text + +':' Punctuation.Indicator +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'2001-07-23' Literal.Scalar.Plain +'\n' Text + +'?' Punctuation.Indicator +' ' Text +'[' Punctuation.Indicator +' ' Text +'New' Name.Variable +' ' Name.Variable +'York' Name.Variable +' ' Name.Variable +'Yankees' Name.Variable +',' Punctuation.Indicator +'\n' Text + +' ' Text +'Atlanta' Name.Variable +' ' Name.Variable +'Braves' Name.Variable +' ' Text +']' Punctuation.Indicator +'\n' Text + +':' Punctuation.Indicator +' ' Text +'[' Punctuation.Indicator +' ' Text +'2001-07-02' Name.Variable +',' Punctuation.Indicator +' ' Text +'2001-08-12' Name.Variable +',' Punctuation.Indicator +'\n' Text + +' ' Text +'2001-08-14' Name.Variable +' ' Text +']' Punctuation.Indicator +'\n\n' Text + +'# Inline nested mapping' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'# products purchased' Comment.Single +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'item ' Name.Tag +':' Punctuation +' ' Text +'Super' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Hoop' Literal.Scalar.Plain +'\n' Text + +' ' Text +'quantity' Name.Tag +':' Punctuation +' ' Text +'1' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'item ' Name.Tag +':' Punctuation +' ' Text +'Basketball' Literal.Scalar.Plain +'\n' Text + +' ' Text +'quantity' Name.Tag +':' Punctuation +' ' Text +'4' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'item ' Name.Tag +':' Punctuation +' ' Text +'Big' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Shoes' Literal.Scalar.Plain +'\n' Text + +' ' Text +'quantity' Name.Tag +':' Punctuation +' ' Text +'1' Literal.Scalar.Plain +'\n\n' Text + +'# Literal scalars' Comment.Single +'\n' Text + +'---' Name.Namespace +' ' Text +'|' Punctuation.Indicator +' ' Text +'# ASCII art' Comment.Single +'\n' Text + +' ' Text +'\\//||\\/||' Name.Constant +'\n' Text + +' ' Text +'// || ||__' Name.Constant +'\n' Text + +'\n' Text + +'# Folded scalars' Comment.Single +'\n' Text + +'---' Name.Namespace +' ' Text +'>' Punctuation.Indicator +'\n' Text + +' ' Text +"Mark McGwire's" Name.Constant +'\n' Text + +' ' Text +'year was crippled' Name.Constant +'\n' Text + +' ' Text +'by a knee injury.' Name.Constant +'\n' Text + +'\n' Text + +'# Preserved indented block in a folded scalar' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'>' Punctuation.Indicator +'\n' Text + +' ' Text +'Sammy Sosa completed another' Name.Constant +'\n' Text + +' ' Text +'fine season with great stats.' Name.Constant +'\n' Text + +'\n' Text + +' ' Text +'63 Home Runs' Name.Constant +'\n' Text + +' ' Text +'0.288 Batting Average' Name.Constant +'\n' Text + +'\n' Text + +' ' Text +'What a year!' Name.Constant +'\n' Text + +'\n' Text + +'# Indentation determines scope' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'name' Name.Tag +':' Punctuation +' ' Text +'Mark' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'McGwire' Literal.Scalar.Plain +'\n' Text + +'accomplishment' Name.Tag +':' Punctuation +' ' Text +'>' Punctuation.Indicator +'\n' Text + +' ' Text +'Mark set a major league' Name.Constant +'\n' Text + +' ' Text +'home run record in 1998.' Name.Constant +'\n' Text + +'stats' Name.Tag +':' Punctuation +' ' Text +'|' Punctuation.Indicator +'\n' Text + +' ' Text +'65 Home Runs' Name.Constant +'\n' Text + +' ' Text +'0.278 Batting Average' Name.Constant +'\n' Text + +'\n' Text + +'# Quoted scalars' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'unicode' Name.Tag +':' Punctuation +' ' Text +'"' Literal.String +'Sosa' Literal.String +' ' Name.Variable +'did' Literal.String +' ' Name.Variable +'fine.' Literal.String +'\\u263A' Literal.String.Escape +'"' Literal.String +'\n' Text + +'control' Name.Tag +':' Punctuation +' ' Text +'"' Literal.String +'\\b' Literal.String +'1998' Literal.String +'\\t' Literal.String +'1999' Literal.String +'\\t' Literal.String +'2000' Literal.String +'\\n' Literal.String +'"' Literal.String +'\n' Text + +'hex esc' Name.Tag +':' Punctuation +' ' Text +'"' Literal.String +'\\x0d' Literal.String.Escape +'\\x0a' Literal.String.Escape +' ' Name.Variable +'is' Literal.String +' ' Name.Variable +'\\r' Literal.String +'\\n' Literal.String +'"' Literal.String +'\n' Text + +'single' Name.Tag +':' Punctuation +' ' Text +"'" Literal.String +'"Howdy!"' Literal.String +' ' Name.Variable +'he' Literal.String +' ' Name.Variable +'cried.' Literal.String +"'" Literal.String +'\n' Text + +'quoted' Name.Tag +':' Punctuation +' ' Text +"'" Literal.String +' ' Name.Variable +'#' Literal.String +' ' Name.Variable +'not' Literal.String +' ' Name.Variable +'a' Literal.String +' ' Name.Variable +"''" Literal.String.Escape +'comment' Literal.String +"''" Literal.String.Escape +'.' Literal.String +"'" Literal.String +'\n' Text + +'tie-fighter' Name.Tag +':' Punctuation +' ' Text +"'" Literal.String +'|\\-*-/|' Literal.String +"'" Literal.String +'\n\n' Text + +'# Multi-line flow scalars' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'plain' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'This' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'unquoted' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'scalar' Literal.Scalar.Plain +'\n' Text + +' ' Text +'spans' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'many' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'lines.' Literal.Scalar.Plain +'\n' Text + +'quoted' Name.Tag +':' Punctuation +' ' Text +'"' Literal.String +'So' Literal.String +' ' Name.Variable +'does' Literal.String +' ' Name.Variable +'this' Literal.String +'\n' Text + +' ' Text +'quoted' Literal.String +' ' Name.Variable +'scalar.' Literal.String +'\\n' Literal.String +'"' Literal.String +'\n\n' Text + +'# Integers' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'canonical' Name.Tag +':' Punctuation +' ' Text +'12345' Literal.Scalar.Plain +'\n' Text + +'decimal' Name.Tag +':' Punctuation +' ' Text +'+12_345' Literal.Scalar.Plain +'\n' Text + +'sexagesimal' Name.Tag +':' Punctuation +' ' Text +'3:25:45' Literal.Scalar.Plain +'\n' Text + +'octal' Name.Tag +':' Punctuation +' ' Text +'014' Literal.Scalar.Plain +'\n' Text + +'hexadecimal' Name.Tag +':' Punctuation +' ' Text +'0xC' Literal.Scalar.Plain +'\n\n' Text + +'# Floating point' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'canonical' Name.Tag +':' Punctuation +' ' Text +'1.23015e+3' Literal.Scalar.Plain +'\n' Text + +'exponential' Name.Tag +':' Punctuation +' ' Text +'12.3015e+02' Literal.Scalar.Plain +'\n' Text + +'sexagesimal' Name.Tag +':' Punctuation +' ' Text +'20:30.15' Literal.Scalar.Plain +'\n' Text + +'fixed' Name.Tag +':' Punctuation +' ' Text +'1_230.15' Literal.Scalar.Plain +'\n' Text + +'negative infinity' Name.Tag +':' Punctuation +' ' Text +'-.inf' Literal.Scalar.Plain +'\n' Text + +'not a number' Name.Tag +':' Punctuation +' ' Text +'.NaN' Literal.Scalar.Plain +'\n\n' Text + +'# Miscellaneous' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'null' Name.Tag +':' Punctuation +' ' Text +'~' Literal.Scalar.Plain +'\n' Text + +'true' Name.Tag +':' Punctuation +' ' Text +'boolean' Literal.Scalar.Plain +'\n' Text + +'false' Name.Tag +':' Punctuation +' ' Text +'boolean' Literal.Scalar.Plain +'\n' Text + +'string' Name.Tag +':' Punctuation +' ' Text +"'" Literal.String +'12345' Literal.String +"'" Literal.String +'\n\n' Text + +'# Timestamps' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'canonical' Name.Tag +':' Punctuation +' ' Text +'2001-12-15T02:59:43.1Z' Literal.Scalar.Plain +'\n' Text + +'iso8601' Name.Tag +':' Punctuation +' ' Text +'2001-12-14t21:59:43.10-05:00' Literal.Scalar.Plain +'\n' Text + +'spaced' Name.Tag +':' Punctuation +' ' Text +'2001-12-14' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'21:59:43.10' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'-5' Literal.Scalar.Plain +'\n' Text + +'date' Name.Tag +':' Punctuation +' ' Text +'2002-12-14' Literal.Scalar.Plain +'\n\n' Text + +'# Various explicit tags' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'not-date' Name.Tag +':' Punctuation +' ' Text +'!!str' Keyword.Type +' ' Text +'2002-04-28' Literal.Scalar.Plain +'\n' Text + +'picture' Name.Tag +':' Punctuation +' ' Text +'!!binary' Keyword.Type +' ' Text +'|' Punctuation.Indicator +'\n' Text + +' ' Text +'R0lGODlhDAAMAIQAAP//9/X' Name.Constant +'\n' Text + +' ' Text +'17unp5WZmZgAAAOfn515eXv' Name.Constant +'\n' Text + +' ' Text +'Pz7Y6OjuDg4J+fn5OTk6enp' Name.Constant +'\n' Text + +' ' Text +'56enmleECcgggoBADs=' Name.Constant +'\n' Text + +'application specific tag' Name.Tag +':' Punctuation +' ' Text +'!something' Keyword.Type +' ' Text +'|' Punctuation.Indicator +'\n' Text + +' ' Text +'The semantics of the tag' Name.Constant +'\n' Text + +' ' Text +'above may be different for' Name.Constant +'\n' Text + +' ' Text +'different documents.' Name.Constant +'\n' Text + +'\n' Text + +'# Global tags' Comment.Single +'\n' Text + +'%TAG' Name.Tag +' ' Text +'!' Keyword.Type +' ' Text +'tag:clarkevans.com,2002:' Keyword.Type +'\n' Text + +'---' Name.Namespace +' ' Text +'!shape' Keyword.Type +'\n' Text + +' ' Text +'# Use the ! handle for presenting' Comment.Single +'\n' Text + +' ' Text +'# tag:clarkevans.com,2002:circle' Comment.Single +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'!circle' Keyword.Type +'\n' Text + +' ' Text +'center' Name.Tag +':' Punctuation +' ' Text +'&ORIGIN' Name.Label +' ' Text +'{' Punctuation.Indicator +'x' Name.Tag +':' Punctuation +' ' Text +'73' Name.Variable +',' Punctuation.Indicator +' y' Name.Tag +':' Punctuation +' ' Text +'129' Name.Variable +'}' Punctuation.Indicator +'\n' Text + +' ' Text +'radius' Name.Tag +':' Punctuation +' ' Text +'7' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'!line' Keyword.Type +'\n' Text + +' ' Text +'start' Name.Tag +':' Punctuation +' ' Text +'*ORIGIN' Name.Variable +'\n' Text + +' ' Text +'finish' Name.Tag +':' Punctuation +' ' Text +'{' Punctuation.Indicator +' x' Name.Tag +':' Punctuation +' ' Text +'89' Name.Variable +',' Punctuation.Indicator +' y' Name.Tag +':' Punctuation +' ' Text +'102' Name.Variable +' ' Text +'}' Punctuation.Indicator +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'!label' Keyword.Type +'\n' Text + +' ' Text +'start' Name.Tag +':' Punctuation +' ' Text +'*ORIGIN' Name.Variable +'\n' Text + +' ' Text +'color' Name.Tag +':' Punctuation +' ' Text +'0xFFEEBB' Literal.Scalar.Plain +'\n' Text + +' ' Text +'text' Name.Tag +':' Punctuation +' ' Text +'Pretty' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'vector' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'drawing.' Literal.Scalar.Plain +'\n\n' Text + +'# Unordered sets' Comment.Single +'\n' Text + +'---' Name.Namespace +' ' Text +'!!set' Keyword.Type +'\n' Text + +'# sets are represented as a' Comment.Single +'\n' Text + +'# mapping where each key is' Comment.Single +'\n' Text + +'# associated with the empty string' Comment.Single +'\n' Text + +'?' Punctuation.Indicator +' ' Text +'Mark' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'McGwire' Literal.Scalar.Plain +'\n' Text + +'?' Punctuation.Indicator +' ' Text +'Sammy' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Sosa' Literal.Scalar.Plain +'\n' Text + +'?' Punctuation.Indicator +' ' Text +'Ken' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Griff' Literal.Scalar.Plain +'\n\n' Text + +'# Ordered mappings' Comment.Single +'\n' Text + +'---' Name.Namespace +' ' Text +'!!omap' Keyword.Type +'\n' Text + +'# ordered maps are represented as' Comment.Single +'\n' Text + +'# a sequence of mappings, with' Comment.Single +'\n' Text + +'# each mapping having one key' Comment.Single +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Mark McGwire' Name.Tag +':' Punctuation +' ' Text +'65' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Sammy Sosa' Name.Tag +':' Punctuation +' ' Text +'63' Literal.Scalar.Plain +'\n' Text + +'-' Punctuation.Indicator +' ' Text +'Ken Griffy' Name.Tag +':' Punctuation +' ' Text +'58' Literal.Scalar.Plain +'\n\n' Text + +'# Full length example' Comment.Single +'\n' Text + +'---' Name.Namespace +' ' Text +'!' Keyword.Type +'\n' Text + +'invoice' Name.Tag +':' Punctuation +' ' Text +'34843' Literal.Scalar.Plain +'\n' Text + +'date ' Name.Tag +':' Punctuation +' ' Text +'2001-01-23' Literal.Scalar.Plain +'\n' Text + +'bill-to' Name.Tag +':' Punctuation +' ' Text +'&id001' Name.Label +'\n' Text + +' ' Text +'given ' Name.Tag +':' Punctuation +' ' Text +'Chris' Literal.Scalar.Plain +'\n' Text + +' ' Text +'family ' Name.Tag +':' Punctuation +' ' Text +'Dumars' Literal.Scalar.Plain +'\n' Text + +' ' Text +'address' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'lines' Name.Tag +':' Punctuation +' ' Text +'|' Punctuation.Indicator +'\n' Text + +' ' Text +'458 Walkman Dr.' Name.Constant +'\n' Text + +' ' Text +'Suite #292' Name.Constant +'\n' Text + +' ' Text +'city ' Name.Tag +':' Punctuation +' ' Text +'Royal' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Oak' Literal.Scalar.Plain +'\n' Text + +' ' Text +'state ' Name.Tag +':' Punctuation +' ' Text +'MI' Literal.Scalar.Plain +'\n' Text + +' ' Text +'postal ' Name.Tag +':' Punctuation +' ' Text +'48046' Literal.Scalar.Plain +'\n' Text + +'ship-to' Name.Tag +':' Punctuation +' ' Text +'*id001' Name.Variable +'\n' Text + +'product' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'sku ' Name.Tag +':' Punctuation +' ' Text +'BL394D' Literal.Scalar.Plain +'\n' Text + +' ' Text +'quantity ' Name.Tag +':' Punctuation +' ' Text +'4' Literal.Scalar.Plain +'\n' Text + +' ' Text +'description ' Name.Tag +':' Punctuation +' ' Text +'Basketball' Literal.Scalar.Plain +'\n' Text + +' ' Text +'price ' Name.Tag +':' Punctuation +' ' Text +'450.00' Literal.Scalar.Plain +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'sku ' Name.Tag +':' Punctuation +' ' Text +'BL4438H' Literal.Scalar.Plain +'\n' Text + +' ' Text +'quantity ' Name.Tag +':' Punctuation +' ' Text +'1' Literal.Scalar.Plain +'\n' Text + +' ' Text +'description ' Name.Tag +':' Punctuation +' ' Text +'Super' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Hoop' Literal.Scalar.Plain +'\n' Text + +' ' Text +'price ' Name.Tag +':' Punctuation +' ' Text +'2392.00' Literal.Scalar.Plain +'\n' Text + +'tax ' Name.Tag +':' Punctuation +' ' Text +'251.42' Literal.Scalar.Plain +'\n' Text + +'total' Name.Tag +':' Punctuation +' ' Text +'4443.52' Literal.Scalar.Plain +'\n' Text + +'comments' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'Late' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'afternoon' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'is' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'best.' Literal.Scalar.Plain +'\n' Text + +' ' Text +'Backup' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'contact' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'is' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'Nancy' Literal.Scalar.Plain +'\n' Text + +' ' Text +'Billsmer' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'@' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'338-4338.' Literal.Scalar.Plain +'\n\n' Text + +'# Another full-length example' Comment.Single +'\n' Text + +'---' Name.Namespace +'\n' Text + +'Time' Name.Tag +':' Punctuation +' ' Text +'2001-11-23' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'15:01:42' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'-5' Literal.Scalar.Plain +'\n' Text + +'User' Name.Tag +':' Punctuation +' ' Text +'ed' Literal.Scalar.Plain +'\n' Text + +'Warning' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'This' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'is' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'an' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'error' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'message' Literal.Scalar.Plain +'\n' Text + +' ' Text +'for' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'the' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'log' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'file' Literal.Scalar.Plain +'\n' Text + +'---' Name.Namespace +'\n' Text + +'Time' Name.Tag +':' Punctuation +' ' Text +'2001-11-23' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'15:02:31' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'-5' Literal.Scalar.Plain +'\n' Text + +'User' Name.Tag +':' Punctuation +' ' Text +'ed' Literal.Scalar.Plain +'\n' Text + +'Warning' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'A' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'slightly' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'different' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'error' Literal.Scalar.Plain +'\n' Text + +' ' Text +'message.' Literal.Scalar.Plain +'\n' Text + +'---' Name.Namespace +'\n' Text + +'Date' Name.Tag +':' Punctuation +' ' Text +'2001-11-23' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'15:03:17' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'-5' Literal.Scalar.Plain +'\n' Text + +'User' Name.Tag +':' Punctuation +' ' Text +'ed' Literal.Scalar.Plain +'\n' Text + +'Fatal' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'Unknown' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'variable' Literal.Scalar.Plain +' ' Literal.Scalar.Plain +'"bar"' Literal.Scalar.Plain +'\n' Text + +'Stack' Name.Tag +':' Punctuation +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'file' Name.Tag +':' Punctuation +' ' Text +'TopClass.py' Literal.Scalar.Plain +'\n' Text + +' ' Text +'line' Name.Tag +':' Punctuation +' ' Text +'23' Literal.Scalar.Plain +'\n' Text + +' ' Text +'code' Name.Tag +':' Punctuation +' ' Text +'|' Punctuation.Indicator +'\n' Text + +' ' Text +'x = MoreObject("345\\n")' Name.Constant +'\n' Text + +' ' Text +'-' Punctuation.Indicator +' ' Text +'file' Name.Tag +':' Punctuation +' ' Text +'MoreClass.py' Literal.Scalar.Plain +'\n' Text + +' ' Text +'line' Name.Tag +':' Punctuation +' ' Text +'58' Literal.Scalar.Plain +'\n' Text + +' ' Text +'code' Name.Tag +':' Punctuation +' ' Text +'|' Punctuation.Indicator +'-' Punctuation.Indicator +'\n' Text + +' ' Text +'foo = bar' Name.Constant +'\n' Text diff --git a/tests/examplefiles/test.yang b/tests/examplefiles/yang/test.yang similarity index 100% rename from tests/examplefiles/test.yang rename to tests/examplefiles/yang/test.yang diff --git a/tests/examplefiles/yang/test.yang.output b/tests/examplefiles/yang/test.yang.output new file mode 100644 index 0000000..6ecbf6d --- /dev/null +++ b/tests/examplefiles/yang/test.yang.output @@ -0,0 +1,264 @@ +'module' Keyword +' ' Text.Whitespace +'server-system' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'yang-version' Keyword +' ' Text.Whitespace +'1.1' Literal.Number.Float +';' Punctuation +'\n ' Text.Whitespace +'namespace' Keyword +' ' Text.Whitespace +'"http://autlan.dt/gribok/yang/example"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'prefix' Keyword +' ' Text.Whitespace +'ex' Name.Variable +';' Punctuation +'\n\n ' Text.Whitespace +'import' Keyword +' ' Text.Whitespace +'ietf-yang-types' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'prefix' Keyword +' ' Text.Whitespace +'yang' Name.Variable +';' Punctuation +'\n ' Text.Whitespace +'reference' Keyword +'\n ' Text.Whitespace +'"RFC 6991: Common YANG Data Types."' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'organization' Keyword +' ' Text.Whitespace +'"Gribok"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'contact' Keyword +' ' Text.Whitespace +'"gribok@example.org"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'description' Keyword +'\n ' Text.Whitespace +'"An example module"' Literal.String.Double +';' Punctuation +'\n\n ' Text.Whitespace +'revision' Keyword +' ' Text.Whitespace +'2020-04-03' Name.Label +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'description' Keyword +' ' Text.Whitespace +'"Example yang"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'/*' Comment +'\n' Comment + +' ' Comment +' ' Comment +' ' Comment +' ' Comment +' ' Comment +'*' Comment +' ' Comment +'C' Comment +'o' Comment +'m' Comment +'m' Comment +'e' Comment +'n' Comment +'t' Comment +' ' Comment +'f' Comment +'o' Comment +'r' Comment +' ' Comment +'c' Comment +'o' Comment +'n' Comment +'t' Comment +'a' Comment +'i' Comment +'n' Comment +'e' Comment +'r' Comment +' ' Comment +'s' Comment +'y' Comment +'s' Comment +'t' Comment +'e' Comment +'m' Comment +'\n' Comment + +' ' Comment +' ' Comment +' ' Comment +' ' Comment +' ' Comment +'*/' Comment +'\n\n ' Text.Whitespace +'container' Keyword +' ' Text.Whitespace +'system' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'leaf' Keyword +' ' Text.Whitespace +'host-name' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'type' Keyword +' ' Text.Whitespace +'string' Name.Class +';' Punctuation +'\n ' Text.Whitespace +'description' Keyword +' ' Text.Whitespace +'"Hostname for this system"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'leaf-list' Keyword +' ' Text.Whitespace +'domain-search' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'type' Keyword +' ' Text.Whitespace +'string' Name.Class +';' Punctuation +'\n ' Text.Whitespace +'description' Keyword +' ' Text.Whitespace +'"List of domain names to search"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'container' Keyword +' ' Text.Whitespace +'login' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'leaf' Keyword +' ' Text.Whitespace +'message' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'type' Keyword +' ' Text.Whitespace +'string' Name.Class +';' Punctuation +'\n ' Text.Whitespace +'description' Keyword +'\n ' Text.Whitespace +'"Message given at start of login session"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'list' Keyword +' ' Text.Whitespace +'user' Name.Class +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'key' Keyword +' ' Text.Whitespace +'"name"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'leaf' Keyword +' ' Text.Whitespace +'name' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'type' Keyword +' ' Text.Whitespace +'string' Name.Class +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'leaf' Keyword +' ' Text.Whitespace +'uuid' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'type' Keyword +' ' Text.Whitespace +'yang' Name.Namespace +':' Punctuation +'uuid' Name.Variable +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'leaf' Keyword +' ' Text.Whitespace +'full-name' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'type' Keyword +' ' Text.Whitespace +'string' Name.Class +';' Punctuation +'\n ' Text.Whitespace +'mandatory' Keyword +' ' Text.Whitespace +'true' Name.Class +';' Punctuation +'\n ' Text.Whitespace +'description' Keyword +'\n ' Text.Whitespace +'"The full name of user See also \'name\'. This could\n be, for example, a reference to the user name"' Literal.String.Double +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'leaf' Keyword +' ' Text.Whitespace +'class' Name.Variable +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'type' Keyword +' ' Text.Whitespace +'string' Name.Class +';' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/examplefiles/test.bro b/tests/examplefiles/zeek/test.bro similarity index 100% rename from tests/examplefiles/test.bro rename to tests/examplefiles/zeek/test.bro diff --git a/tests/examplefiles/zeek/test.bro.output b/tests/examplefiles/zeek/test.bro.output new file mode 100644 index 0000000..6005095 --- /dev/null +++ b/tests/examplefiles/zeek/test.bro.output @@ -0,0 +1,2493 @@ +'@load notice' Comment.Preproc +'\n' Text + +'@load utils/thresholds' Comment.Preproc +'\n' Text + +'\n' Text + +'module' Keyword.Namespace +' ' Text +'SSH' Name.Namespace +';' Punctuation +'\n' Text + +'\n' Text + +'export' Keyword +' ' Text +'{' Punctuation +'\n' Text + +'\t' Text +'redef' Keyword +' ' Text +'enum' Keyword.Type +' ' Text +'Log::ID' Name.Class +' ' Text +'+' Operator +'=' Operator +' ' Text +'{' Punctuation +' ' Text +'SSH' Name +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'redef' Keyword +' ' Text +'enum' Keyword.Type +' ' Text +'Notice::Type' Name.Class +' ' Text +'+' Operator +'=' Operator +' ' Text +'{' Punctuation +'\n' Text + +'\t\t' Text +'Login' Name +',' Punctuation +'\n' Text + +'\t\t' Text +'Password_Guessing' Name +',' Punctuation +'\n' Text + +'\t\t' Text +'Login_By_Password_Guesser' Name +',' Punctuation +'\n' Text + +'\t\t' Text +'Login_From_Interesting_Hostname' Name +',' Punctuation +'\n' Text + +'\t\t' Text +'Bytecount_Inconsistency' Name +',' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'type' Keyword +' ' Text +'Info' Name.Class +':' Operator +' ' Text +'record' Keyword.Type +' ' Text +'{' Punctuation +'\n' Text + +'\t\t' Text +'ts' Name +':' Punctuation +' ' Text +'time' Keyword.Type +' ' Text +'&log' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'uid' Name +':' Punctuation +' ' Text +'string' Keyword.Type +' ' Text +'&log' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'id' Name +':' Punctuation +' ' Text +'conn_id' Name +' ' Text +'&log' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'status' Name +':' Punctuation +' ' Text +'string' Keyword.Type +' ' Text +'&log' Keyword.Pseudo +' ' Text +'&optional' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'direction' Name +':' Punctuation +' ' Text +'string' Keyword.Type +' ' Text +'&log' Keyword.Pseudo +' ' Text +'&optional' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'remote_location' Name +':' Punctuation +' ' Text +'geo_location' Name +' ' Text +'&log' Keyword.Pseudo +' ' Text +'&optional' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'client' Name +':' Punctuation +' ' Text +'string' Keyword.Type +' ' Text +'&log' Keyword.Pseudo +' ' Text +'&optional' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'server' Name +':' Punctuation +' ' Text +'string' Keyword.Type +' ' Text +'&log' Keyword.Pseudo +' ' Text +'&optional' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\t' Text +'resp_size' Name +':' Punctuation +' ' Text +'count' Keyword.Type +' ' Text +'&log' Keyword.Pseudo +' ' Text +'&default' Keyword.Pseudo +'=' Operator +'0' Literal.Number.Float +';' Punctuation +'\n' Text + +'\t\t\n\t\t' Text +'## Indicate if the SSH session is done being watched.' Comment +'\n' Text + +'\t\t' Text +'done' Name +':' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'&default' Keyword.Pseudo +'=' Operator +'F' Keyword.Constant +';' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'const' Keyword.Declaration +' ' Text +'password_guesses_limit' Name +' ' Text +'=' Operator +' ' Text +'30' Literal.Number.Float +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\n\t' Text +'# The size in bytes at which the SSH connection is presumed to be' Comment +'\n' Text + +'\t' Text +'# successful.' Comment +'\n' Text + +'\t' Text +'const' Keyword.Declaration +' ' Text +'authentication_data_size' Name +' ' Text +'=' Operator +' ' Text +'5500' Literal.Number.Float +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\n\t' Text +'# The amount of time to remember presumed non-successful logins to build' Comment +'\n' Text + +'\t' Text +'# model of a password guesser.' Comment +'\n' Text + +'\t' Text +'const' Keyword.Declaration +' ' Text +'guessing_timeout' Name +' ' Text +'=' Operator +' ' Text +'30 mins' Literal.Number.Float +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +"# The set of countries for which you'd like to throw notices upon successful login" Comment +'\n' Text + +'\t' Text +'# requires Bro compiled with libGeoIP support' Comment +'\n' Text + +'\t' Text +'const' Keyword.Declaration +' ' Text +'watched_countries' Name +':' Punctuation +' ' Text +'set' Keyword.Type +'[' Punctuation +'string' Keyword.Type +']' Punctuation +' ' Text +'=' Operator +' ' Text +'{' Punctuation +'"' Literal.String +'R' Literal.String +'O' Literal.String +'"' Literal.String +'}' Punctuation +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'# Strange/bad host names to originate successful SSH logins' Comment +'\n' Text + +'\t' Text +'const' Keyword.Declaration +' ' Text +'interesting_hostnames' Name +' ' Text +'=' Operator +'\n' Text + +'\t\t\t' Text +'/' Literal.String.Regex +'^' Literal.String.Regex +'d' Literal.String.Regex +'?' Literal.String.Regex +'n' Literal.String.Regex +'s' Literal.String.Regex +'[' Literal.String.Regex +'0' Literal.String.Regex +'-' Literal.String.Regex +'9' Literal.String.Regex +']' Literal.String.Regex +'*' Literal.String.Regex +'\\.' Literal.String.Escape +'/' Literal.String.Regex +' ' Text +'|' Operator +'\n' Text + +'\t\t\t' Text +'/' Literal.String.Regex +'^' Literal.String.Regex +'s' Literal.String.Regex +'m' Literal.String.Regex +'t' Literal.String.Regex +'p' Literal.String.Regex +'[' Literal.String.Regex +'0' Literal.String.Regex +'-' Literal.String.Regex +'9' Literal.String.Regex +']' Literal.String.Regex +'*' Literal.String.Regex +'\\.' Literal.String.Escape +'/' Literal.String.Regex +' ' Text +'|' Operator +'\n' Text + +'\t\t\t' Text +'/' Literal.String.Regex +'^' Literal.String.Regex +'m' Literal.String.Regex +'a' Literal.String.Regex +'i' Literal.String.Regex +'l' Literal.String.Regex +'[' Literal.String.Regex +'0' Literal.String.Regex +'-' Literal.String.Regex +'9' Literal.String.Regex +']' Literal.String.Regex +'*' Literal.String.Regex +'\\.' Literal.String.Escape +'/' Literal.String.Regex +' ' Text +'|' Operator +'\n' Text + +'\t\t\t' Text +'/' Literal.String.Regex +'^' Literal.String.Regex +'p' Literal.String.Regex +'o' Literal.String.Regex +'p' Literal.String.Regex +'[' Literal.String.Regex +'0' Literal.String.Regex +'-' Literal.String.Regex +'9' Literal.String.Regex +']' Literal.String.Regex +'*' Literal.String.Regex +'\\.' Literal.String.Escape +'/' Literal.String.Regex +' ' Text +'|' Operator +'\n' Text + +'\t\t\t' Text +'/' Literal.String.Regex +'^' Literal.String.Regex +'i' Literal.String.Regex +'m' Literal.String.Regex +'a' Literal.String.Regex +'p' Literal.String.Regex +'[' Literal.String.Regex +'0' Literal.String.Regex +'-' Literal.String.Regex +'9' Literal.String.Regex +']' Literal.String.Regex +'*' Literal.String.Regex +'\\.' Literal.String.Escape +'/' Literal.String.Regex +' ' Text +'|' Operator +'\n' Text + +'\t\t\t' Text +'/' Literal.String.Regex +'^' Literal.String.Regex +'w' Literal.String.Regex +'w' Literal.String.Regex +'w' Literal.String.Regex +'[' Literal.String.Regex +'0' Literal.String.Regex +'-' Literal.String.Regex +'9' Literal.String.Regex +']' Literal.String.Regex +'*' Literal.String.Regex +'\\.' Literal.String.Escape +'/' Literal.String.Regex +' ' Text +'|' Operator +'\n' Text + +'\t\t\t' Text +'/' Literal.String.Regex +'^' Literal.String.Regex +'f' Literal.String.Regex +'t' Literal.String.Regex +'p' Literal.String.Regex +'[' Literal.String.Regex +'0' Literal.String.Regex +'-' Literal.String.Regex +'9' Literal.String.Regex +']' Literal.String.Regex +'*' Literal.String.Regex +'\\.' Literal.String.Escape +'/' Literal.String.Regex +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'# This is a table with orig subnet as the key, and subnet as the value.' Comment +'\n' Text + +'\t' Text +'const' Keyword.Declaration +' ' Text +'ignore_guessers' Name +':' Punctuation +' ' Text +'table' Keyword.Type +'[' Punctuation +'subnet' Keyword.Type +']' Punctuation +' ' Text +'of' Operator.Word +' ' Text +'subnet' Keyword.Type +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\n\t' Text +'# If true, we tell the event engine to not look at further data' Comment +'\n' Text + +'\t' Text +'# packets after the initial SSH handshake. Helps with performance' Comment +'\n' Text + +'\t' Text +'# (especially with large file transfers) but precludes some' Comment +'\n' Text + +'\t' Text +'# kinds of analyses (e.g., tracking connection size).' Comment +'\n' Text + +'\t' Text +'const' Keyword.Declaration +' ' Text +'skip_processing_after_detection' Name +' ' Text +'=' Operator +' ' Text +'F' Keyword.Constant +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\n\t' Text +'# Keeps count of how many rejections a host has had' Comment +'\n' Text + +'\t' Text +'global' Keyword.Declaration +' ' Text +'password_rejections' Name +':' Punctuation +' ' Text +'table' Keyword.Type +'[' Punctuation +'addr' Keyword.Type +']' Punctuation +' ' Text +'of' Operator.Word +' ' Text +'TrackCount' Name +' \n\t\t' Text +'&write_expire' Keyword.Pseudo +'=' Operator +'guessing_timeout' Name +'\n' Text + +'\t\t' Text +'&synchronized' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'# Keeps track of hosts identified as guessing passwords' Comment +'\n' Text + +'\t' Text +"# TODO: guessing_timeout doesn't work correctly here. If a user redefs" Comment +'\n' Text + +'\t' Text +"# the variable, it won't take effect." Comment +'\n' Text + +'\t' Text +'global' Keyword.Declaration +' ' Text +'password_guessers' Name +':' Punctuation +' ' Text +'set' Keyword.Type +'[' Punctuation +'addr' Keyword.Type +']' Punctuation +' ' Text +'&read_expire' Keyword.Pseudo +'=' Operator +'guessing_timeout' Name +'+' Operator +'1hr' Literal.Number.Float +' ' Text +'&synchronized' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\t\n\t' Text +'global' Keyword.Declaration +' ' Text +'log_ssh' Name +':' Punctuation +' ' Text +'event' Keyword.Type +'(' Punctuation +'rec' Name +':' Punctuation +' ' Text +'Info' Name +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'# Configure DPD and the packet filter' Comment +'\n' Text + +'redef' Keyword +' ' Text +'capture_filters' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'{' Punctuation +' ' Text +'[' Punctuation +'"' Literal.String +'s' Literal.String +'s' Literal.String +'h' Literal.String +'"' Literal.String +']' Punctuation +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'t' Literal.String +'c' Literal.String +'p' Literal.String +' ' Literal.String +'p' Literal.String +'o' Literal.String +'r' Literal.String +'t' Literal.String +' ' Literal.String +'2' Literal.String +'2' Literal.String +'"' Literal.String +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'redef' Keyword +' ' Text +'dpd_config' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'{' Punctuation +' ' Text +'[' Punctuation +'ANALYZER_SSH' Name +']' Punctuation +' ' Text +'=' Operator +' ' Text +'[' Punctuation +'$' Operator +'ports' Name +' ' Text +'=' Operator +' ' Text +'set' Keyword.Type +'(' Punctuation +'22/tcp' Literal.Number +')' Punctuation +']' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'redef' Keyword +' ' Text +'record' Keyword.Type +' ' Text +'connection' Name.Class +' ' Text +'+' Operator +'=' Operator +' ' Text +'{' Punctuation +'\n' Text + +'\t' Text +'ssh' Name +':' Punctuation +' ' Text +'Info' Name +' ' Text +'&optional' Keyword.Pseudo +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +'event' Keyword.Type +' ' Text +'bro_init' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +'{' Punctuation +'\n' Text + +'\t' Text +'Log::create_stream' Name.Function +'(' Punctuation +'SSH' Name +',' Punctuation +' ' Text +'[' Punctuation +'$' Operator +'columns' Name +'=' Operator +'Info' Name +',' Punctuation +' ' Text +'$' Operator +'ev' Name +'=' Operator +'log_ssh' Name +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'function' Keyword.Type +' ' Text +'set_session' Name.Function +'(' Punctuation +'c' Name +':' Punctuation +' ' Text +'connection' Name +')' Punctuation +'\n' Text + +'\t' Text +'{' Punctuation +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +' ' Text +'c' Name +'?$' Operator +'ssh' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t' Text +'local' Keyword.Declaration +' ' Text +'info' Name +':' Punctuation +' ' Text +'Info' Name +';' Punctuation +'\n' Text + +'\t\t' Text +'info' Name +'$' Operator +'ts' Name +'=' Operator +'network_time' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'info' Name +'$' Operator +'uid' Name +'=' Operator +'c' Name +'$' Operator +'uid' Name +';' Punctuation +'\n' Text + +'\t\t' Text +'info' Name +'$' Operator +'id' Name +'=' Operator +'c' Name +'$' Operator +'id' Name +';' Punctuation +'\n' Text + +'\t\t' Text +'c' Name +'$' Operator +'ssh' Name +' ' Text +'=' Operator +' ' Text +'info' Name +';' Punctuation +'\n' Text + +'\t\t' Text +'}' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'function' Keyword.Type +' ' Text +'check_ssh_connection' Name.Function +'(' Punctuation +'c' Name +':' Punctuation +' ' Text +'connection' Name +',' Punctuation +' ' Text +'done' Name +':' Punctuation +' ' Text +'bool' Keyword.Type +')' Punctuation +'\n' Text + +'\t' Text +'{' Punctuation +'\n' Text + +'\t' Text +'# If done watching this connection, just return.' Comment +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'done' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'return' Keyword +';' Punctuation +'\n' Text + +'\t\n\t' Text +'# If this is still a live connection and the byte count has not' Comment +'\n' Text + +'\t' Text +'# crossed the threshold, just return and let the resheduled check happen later.' Comment +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +'done' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +' ' Text +'<' Operator +' ' Text +'authentication_data_size' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'return' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'# Make sure the server has sent back more than 50 bytes to filter out' Comment +'\n' Text + +'\t' Text +'# hosts that are just port scanning. Nothing is ever logged if the server' Comment +'\n' Text + +'\t' Text +"# doesn't send back at least 50 bytes." Comment +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +' ' Text +'<' Operator +' ' Text +'50' Literal.Number.Float +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'return' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'local' Keyword.Declaration +' ' Text +'status' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'f' Literal.String +'a' Literal.String +'i' Literal.String +'l' Literal.String +'u' Literal.String +'r' Literal.String +'e' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'\t' Text +'local' Keyword.Declaration +' ' Text +'direction' Name +' ' Text +'=' Operator +' ' Text +'Site::is_local_addr' Name.Function +'(' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +')' Punctuation +' ' Text +'?' Punctuation +' ' Text +'"' Literal.String +'t' Literal.String +'o' Literal.String +'"' Literal.String +' ' Text +':' Punctuation +' ' Text +'"' Literal.String +'f' Literal.String +'r' Literal.String +'o' Literal.String +'m' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'\t' Text +'local' Keyword.Declaration +' ' Text +'location' Name +':' Punctuation +' ' Text +'geo_location' Name +';' Punctuation +'\n' Text + +'\t' Text +'location' Name +' ' Text +'=' Operator +' ' Text +'(' Punctuation +'direction' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'"' Literal.String +'t' Literal.String +'o' Literal.String +'"' Literal.String +')' Punctuation +' ' Text +'?' Punctuation +' ' Text +'lookup_location' Name.Function +'(' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'resp_h' Name +')' Punctuation +' ' Text +':' Punctuation +' ' Text +'lookup_location' Name.Function +'(' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\t\n\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'done' Name +' ' Text +'&' Operator +'&' Operator +' ' Text +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +' ' Text +'<' Operator +' ' Text +'authentication_data_size' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t' Text +'# presumed failure' Comment +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +' ' Text +'!' Operator +'in' Operator.Word +' ' Text +'password_rejections' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +' ' Text +'=' Operator +' ' Text +'new_track_count' Name.Function +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t\n\t\t' Text +'# Track the number of rejections' Comment +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +'(' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +' ' Text +'in' Operator.Word +' ' Text +'ignore_guessers' Name +' ' Text +'&' Operator +'&' Operator +'\n' Text + +'\t\t ' Text +'c' Name +'$' Operator +'id' Name +'$' Operator +'resp_h' Name +' ' Text +'in' Operator.Word +' ' Text +'ignore_guessers' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +')' Punctuation +' ' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'+' Operator +'+' Operator +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +'$' Operator +'n' Name +';' Punctuation +'\n' Text + +'\t\t\t\n\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'default_check_threshold' Name.Function +'(' Punctuation +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +')' Punctuation +' ' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t' Text +'add' Keyword +' ' Text +'password_guessers' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t' Text +'NOTICE' Name.Function +'(' Punctuation +'[' Punctuation +'$' Operator +'note' Name +'=' Operator +'Password_Guessing' Name +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'conn' Name +'=' Operator +'c' Name +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'msg' Name +'=' Operator +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'S' Literal.String +'S' Literal.String +'H' Literal.String +' ' Literal.String +'p' Literal.String +'a' Literal.String +'s' Literal.String +'s' Literal.String +'w' Literal.String +'o' Literal.String +'r' Literal.String +'d' Literal.String +' ' Literal.String +'g' Literal.String +'u' Literal.String +'e' Literal.String +'s' Literal.String +'s' Literal.String +'i' Literal.String +'n' Literal.String +'g' Literal.String +' ' Literal.String +'b' Literal.String +'y' Literal.String +' ' Literal.String +'%s' Literal.String.Escape +'"' Literal.String +',' Punctuation +' ' Text +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'sub' Name +'=' Operator +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'%d' Literal.String.Escape +' ' Literal.String +'f' Literal.String +'a' Literal.String +'i' Literal.String +'l' Literal.String +'e' Literal.String +'d' Literal.String +' ' Literal.String +'l' Literal.String +'o' Literal.String +'g' Literal.String +'i' Literal.String +'n' Literal.String +'s' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +'$' Operator +'n' Name +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'n' Name +'=' Operator +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +'$' Operator +'n' Name +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t' Text +'}' Punctuation +'\n' Text + +'\t\t' Text +'}' Punctuation +' \n\t' Text +'# TODO: This is to work around a quasi-bug in Bro which occasionally ' Comment +'\n' Text + +'\t' Text +'# causes the byte count to be oversized.' Comment +'\n' Text + +'\t' Text +'# Watch for Gregors work that adds an actual counter of bytes transferred.' Comment +'\n' Text + +'\t' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +' ' Text +'<' Operator +' ' Text +'20000000' Literal.Number +' ' Text +')' Punctuation +' \n\t\t' Text +'{' Punctuation +' \n\t\t' Text +'# presumed successful login' Comment +'\n' Text + +'\t\t' Text +'status' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'s' Literal.String +'u' Literal.String +'c' Literal.String +'c' Literal.String +'e' Literal.String +'s' Literal.String +'s' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'\t\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'done' Name +' ' Text +'=' Operator +' ' Text +'T' Keyword.Constant +';' Punctuation +'\n' Text + +'\n' Text + +'\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +' ' Text +'in' Operator.Word +' ' Text +'password_rejections' Name +' ' Text +'&' Operator +'&' Operator +'\n' Text + +'\t\t ' Text +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +'$' Operator +'n' Name +' ' Text +'>' Operator +' ' Text +'password_guesses_limit' Name +' ' Text +'&' Operator +'&' Operator +'\n' Text + +'\t\t ' Text +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +' ' Text +'!' Operator +'in' Operator.Word +' ' Text +'password_guessers' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t' Text +'add' Keyword +' ' Text +'password_guessers' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t' Text +'NOTICE' Name.Function +'(' Punctuation +'[' Punctuation +'$' Operator +'note' Name +'=' Operator +'Login_By_Password_Guesser' Name +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'conn' Name +'=' Operator +'c' Name +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'n' Name +'=' Operator +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +'$' Operator +'n' Name +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'msg' Name +'=' Operator +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'S' Literal.String +'u' Literal.String +'c' Literal.String +'c' Literal.String +'e' Literal.String +'s' Literal.String +'s' Literal.String +'f' Literal.String +'u' Literal.String +'l' Literal.String +' ' Literal.String +'S' Literal.String +'S' Literal.String +'H' Literal.String +' ' Literal.String +'l' Literal.String +'o' Literal.String +'g' Literal.String +'i' Literal.String +'n' Literal.String +' ' Literal.String +'b' Literal.String +'y' Literal.String +' ' Literal.String +'p' Literal.String +'a' Literal.String +'s' Literal.String +'s' Literal.String +'w' Literal.String +'o' Literal.String +'r' Literal.String +'d' Literal.String +' ' Literal.String +'g' Literal.String +'u' Literal.String +'e' Literal.String +'s' Literal.String +'s' Literal.String +'e' Literal.String +'r' Literal.String +' ' Literal.String +'%s' Literal.String.Escape +'"' Literal.String +',' Punctuation +' ' Text +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t ' Text +'$' Operator +'sub' Name +'=' Operator +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'%d' Literal.String.Escape +' ' Literal.String +'f' Literal.String +'a' Literal.String +'i' Literal.String +'l' Literal.String +'e' Literal.String +'d' Literal.String +' ' Literal.String +'l' Literal.String +'o' Literal.String +'g' Literal.String +'i' Literal.String +'n' Literal.String +'s' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'password_rejections' Name +'[' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +']' Punctuation +'$' Operator +'n' Name +')' Punctuation +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t' Text +'}' Punctuation +'\n' Text + +'\t\t\n\t\t' Text +'local' Keyword.Declaration +' ' Text +'message' Name +' ' Text +'=' Operator +' ' Text +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'S' Literal.String +'S' Literal.String +'H' Literal.String +' ' Literal.String +'l' Literal.String +'o' Literal.String +'g' Literal.String +'i' Literal.String +'n' Literal.String +' ' Literal.String +'%s' Literal.String.Escape +' ' Literal.String +'%s' Literal.String.Escape +' ' Literal.String +'\\"' Literal.String.Escape +'%s' Literal.String.Escape +'\\"' Literal.String.Escape +' ' Literal.String +'\\"' Literal.String.Escape +'%s' Literal.String.Escape +'\\"' Literal.String.Escape +' ' Literal.String +'%f' Literal.String.Escape +' ' Literal.String +'%f' Literal.String.Escape +' ' Literal.String +'%s' Literal.String.Escape +' ' Literal.String +'(' Literal.String +'t' Literal.String +'r' Literal.String +'i' Literal.String +'g' Literal.String +'g' Literal.String +'e' Literal.String +'r' Literal.String +'e' Literal.String +'d' Literal.String +' ' Literal.String +'w' Literal.String +'i' Literal.String +'t' Literal.String +'h' Literal.String +' ' Literal.String +'%d' Literal.String.Escape +' ' Literal.String +'b' Literal.String +'y' Literal.String +'t' Literal.String +'e' Literal.String +'s' Literal.String +')' Literal.String +'"' Literal.String +',' Punctuation +'\n' Text + +'\t\t ' Text +'direction' Name +',' Punctuation +' ' Text +'location' Name +'$' Operator +'country_code' Name +',' Punctuation +' ' Text +'location' Name +'$' Operator +'region' Name +',' Punctuation +' ' Text +'location' Name +'$' Operator +'city' Name +',' Punctuation +'\n' Text + +'\t\t ' Text +'location' Name +'$' Operator +'latitude' Name +',' Punctuation +' ' Text +'location' Name +'$' Operator +'longitude' Name +',' Punctuation +'\n' Text + +'\t\t ' Text +'id_string' Name.Function +'(' Punctuation +'c' Name +'$' Operator +'id' Name +')' Punctuation +',' Punctuation +' ' Text +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'NOTICE' Name.Function +'(' Punctuation +'[' Punctuation +'$' Operator +'note' Name +'=' Operator +'Login' Name +',' Punctuation +'\n' Text + +'\t\t ' Text +'$' Operator +'conn' Name +'=' Operator +'c' Name +',' Punctuation +'\n' Text + +'\t\t ' Text +'$' Operator +'msg' Name +'=' Operator +'message' Name +',' Punctuation +'\n' Text + +'\t\t ' Text +'$' Operator +'sub' Name +'=' Operator +'location' Name +'$' Operator +'country_code' Name +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t\n\t\t' Text +'# Check to see if this login came from an interesting hostname' Comment +'\n' Text + +'\t\t' Text +'when' Keyword +' ' Text +'(' Punctuation +' ' Text +'local' Keyword.Declaration +' ' Text +'hostname' Name +' ' Text +'=' Operator +' ' Text +'lookup_addr' Name.Function +'(' Punctuation +'c' Name +'$' Operator +'id' Name +'$' Operator +'orig_h' Name +')' Punctuation +' ' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'interesting_hostnames' Name +' ' Text +'in' Operator.Word +' ' Text +'hostname' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\t' Text +'NOTICE' Name.Function +'(' Punctuation +'[' Punctuation +'$' Operator +'note' Name +'=' Operator +'Login_From_Interesting_Hostname' Name +',' Punctuation +'\n' Text + +'\t\t\t\t ' Text +'$' Operator +'conn' Name +'=' Operator +'c' Name +',' Punctuation +'\n' Text + +'\t\t\t\t ' Text +'$' Operator +'msg' Name +'=' Operator +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'S' Literal.String +'t' Literal.String +'r' Literal.String +'a' Literal.String +'n' Literal.String +'g' Literal.String +'e' Literal.String +' ' Literal.String +'l' Literal.String +'o' Literal.String +'g' Literal.String +'i' Literal.String +'n' Literal.String +' ' Literal.String +'f' Literal.String +'r' Literal.String +'o' Literal.String +'m' Literal.String +' ' Literal.String +'%s' Literal.String.Escape +'"' Literal.String +',' Punctuation +' ' Text +'hostname' Name +')' Punctuation +',' Punctuation +'\n' Text + +'\t\t\t\t ' Text +'$' Operator +'sub' Name +'=' Operator +'hostname' Name +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t\t\t' Text +'}' Punctuation +'\n' Text + +'\t\t\t' Text +'}' Punctuation +'\n' Text + +'\t\t\t\n\t\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'location' Name +'$' Operator +'country_code' Name +' ' Text +'in' Operator.Word +' ' Text +'watched_countries' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t\t\n\t\t\t' Text +'}' Punctuation +'\n' Text + +'\t\t\t\n\t\t' Text +'}' Punctuation +'\n' Text + +'\t' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'200000000' Literal.Number +' ' Text +')' Punctuation +' \n\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t' Text +'NOTICE' Name.Function +'(' Punctuation +'[' Punctuation +'$' Operator +'note' Name +'=' Operator +'Bytecount_Inconsistency' Name +',' Punctuation +'\n' Text + +'\t\t ' Text +'$' Operator +'conn' Name +'=' Operator +'c' Name +',' Punctuation +'\n' Text + +'\t\t ' Text +'$' Operator +'msg' Name +'=' Operator +'"' Literal.String +'D' Literal.String +'u' Literal.String +'r' Literal.String +'i' Literal.String +'n' Literal.String +'g' Literal.String +' ' Literal.String +'b' Literal.String +'y' Literal.String +'t' Literal.String +'e' Literal.String +' ' Literal.String +'c' Literal.String +'o' Literal.String +'u' Literal.String +'n' Literal.String +'t' Literal.String +'i' Literal.String +'n' Literal.String +'g' Literal.String +' ' Literal.String +'i' Literal.String +'n' Literal.String +' ' Literal.String +'S' Literal.String +'S' Literal.String +'H' Literal.String +' ' Literal.String +'a' Literal.String +'n' Literal.String +'a' Literal.String +'l' Literal.String +'y' Literal.String +'s' Literal.String +'i' Literal.String +'s' Literal.String +',' Literal.String +' ' Literal.String +'a' Literal.String +'n' Literal.String +' ' Literal.String +'o' Literal.String +'v' Literal.String +'e' Literal.String +'r' Literal.String +'l' Literal.String +'y' Literal.String +' ' Literal.String +'l' Literal.String +'a' Literal.String +'r' Literal.String +'g' Literal.String +'e' Literal.String +' ' Literal.String +'v' Literal.String +'a' Literal.String +'l' Literal.String +'u' Literal.String +'e' Literal.String +' ' Literal.String +'w' Literal.String +'a' Literal.String +'s' Literal.String +' ' Literal.String +'s' Literal.String +'e' Literal.String +'e' Literal.String +'n' Literal.String +'.' Literal.String +'"' Literal.String +',' Punctuation +'\n' Text + +'\t\t ' Text +'$' Operator +'sub' Name +'=' Operator +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'%d' Literal.String.Escape +'"' Literal.String +',' Punctuation +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +')' Punctuation +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'remote_location' Name +' ' Text +'=' Operator +' ' Text +'location' Name +';' Punctuation +'\n' Text + +'\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'status' Name +' ' Text +'=' Operator +' ' Text +'status' Name +';' Punctuation +'\n' Text + +'\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'direction' Name +' ' Text +'=' Operator +' ' Text +'direction' Name +';' Punctuation +'\n' Text + +'\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'resp_size' Name +' ' Text +'=' Operator +' ' Text +'c' Name +'$' Operator +'resp' Name +'$' Operator +'size' Name +';' Punctuation +'\n' Text + +'\t\n\t' Text +'Log::write' Name.Function +'(' Punctuation +'SSH' Name +',' Punctuation +' ' Text +'c' Name +'$' Operator +'ssh' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\t\n\t' Text +'# Set the "done" flag to prevent the watching event from rescheduling' Comment +'\n' Text + +'\t' Text +'# after detection is done.' Comment +'\n' Text + +'\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'done' Name +';' Punctuation +'\n' Text + +'\t\n\t' Text +"# Stop watching this connection, we don't care about it anymore." Comment +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'skip_processing_after_detection' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'{' Punctuation +'\n' Text + +'\t\t' Text +'skip_further_processing' Name.Function +'(' Punctuation +'c' Name +'$' Operator +'id' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'set_record_packets' Name.Function +'(' Punctuation +'c' Name +'$' Operator +'id' Name +',' Punctuation +' ' Text +'F' Keyword.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'\t\t' Text +'}' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'event' Keyword.Type +' ' Text +'connection_state_remove' Name.Function +'(' Punctuation +'c' Name +':' Punctuation +' ' Text +'connection' Name +')' Punctuation +' ' Text +'&priority' Keyword.Pseudo +'=' Operator +'-' Operator +'5' Literal.Number.Float +'\n' Text + +'\t' Text +'{' Punctuation +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +'?$' Operator +'ssh' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'check_ssh_connection' Name.Function +'(' Punctuation +'c' Name +',' Punctuation +' ' Text +'T' Keyword.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'event' Keyword.Type +' ' Text +'ssh_watcher' Name.Function +'(' Punctuation +'c' Name +':' Punctuation +' ' Text +'connection' Name +')' Punctuation +'\n' Text + +'\t' Text +'{' Punctuation +'\n' Text + +'\t' Text +'local' Keyword.Declaration +' ' Text +'id' Name +' ' Text +'=' Operator +' ' Text +'c' Name +'$' Operator +'id' Name +';' Punctuation +'\n' Text + +'\t' Text +"# don't go any further if this connection is gone already!" Comment +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +'connection_exists' Name.Function +'(' Punctuation +'id' Name +')' Punctuation +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'return' Keyword +';' Punctuation +'\n' Text + +'\n' Text + +'\t' Text +'check_ssh_connection' Name.Function +'(' Punctuation +'c' Name +',' Punctuation +' ' Text +'F' Keyword.Constant +')' Punctuation +';' Punctuation +'\n' Text + +'\t' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +' ' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'done' Name +' ' Text +')' Punctuation +'\n' Text + +'\t\t' Text +'schedule' Keyword +' ' Text +'+' Operator +'15secs' Literal.Number.Float +' ' Text +'{' Punctuation +' ' Text +'ssh_watcher' Name.Function +'(' Punctuation +'c' Name +')' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'event' Keyword.Type +' ' Text +'ssh_server_version' Name.Function +'(' Punctuation +'c' Name +':' Punctuation +' ' Text +'connection' Name +',' Punctuation +' ' Text +'version' Name +':' Punctuation +' ' Text +'string' Keyword.Type +')' Punctuation +' ' Text +'&priority' Keyword.Pseudo +'=' Operator +'5' Literal.Number.Float +'\n' Text + +'\t' Text +'{' Punctuation +'\n' Text + +'\t' Text +'set_session' Name.Function +'(' Punctuation +'c' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'server' Name +' ' Text +'=' Operator +' ' Text +'version' Name +';' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +'\n' Text + +'\t\n' Text + +'event' Keyword.Type +' ' Text +'ssh_client_version' Name.Function +'(' Punctuation +'c' Name +':' Punctuation +' ' Text +'connection' Name +',' Punctuation +' ' Text +'version' Name +':' Punctuation +' ' Text +'string' Keyword.Type +')' Punctuation +' ' Text +'&priority' Keyword.Pseudo +'=' Operator +'5' Literal.Number.Float +'\n' Text + +'\t' Text +'{' Punctuation +'\n' Text + +'\t' Text +'set_session' Name.Function +'(' Punctuation +'c' Name +')' Punctuation +';' Punctuation +'\n' Text + +'\t' Text +'c' Name +'$' Operator +'ssh' Name +'$' Operator +'client' Name +' ' Text +'=' Operator +' ' Text +'version' Name +';' Punctuation +'\n' Text + +'\t' Text +'schedule' Keyword +' ' Text +'+' Operator +'15secs' Literal.Number.Float +' ' Text +'{' Punctuation +' ' Text +'ssh_watcher' Name.Function +'(' Punctuation +'c' Name +')' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\t' Text +'}' Punctuation +'\n' Text diff --git a/tests/examplefiles/test.zeek b/tests/examplefiles/zeek/test.zeek similarity index 100% rename from tests/examplefiles/test.zeek rename to tests/examplefiles/zeek/test.zeek diff --git a/tests/examplefiles/zeek/test.zeek.output b/tests/examplefiles/zeek/test.zeek.output new file mode 100644 index 0000000..116bfc9 --- /dev/null +++ b/tests/examplefiles/zeek/test.zeek.output @@ -0,0 +1,1595 @@ +'# An example of the Zeek scripting language.' Comment +'\n' Text + +'\n' Text + +'##! A Zeekygen-style summmary comment.' Comment +'\n' Text + +'\n' Text + +'# TODO: just an example of a todo-indicator' Comment +'\n' Text + +'\n' Text + +'@load base/frameworks/notice' Comment.Preproc +'\n' Text + +'\n' Text + +'@if' Comment.Preproc +' ' Text +'(' Punctuation +' ' Text +'F' Keyword.Constant +' ' Text +')' Punctuation +'\n' Text + +'@endif' Comment.Preproc +'\n' Text + +'\n' Text + +'module' Keyword.Namespace +' ' Text +'Example' Name.Namespace +';' Punctuation +'\n' Text + +'\n' Text + +'export' Keyword +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'type' Keyword +' ' Text +'mycount' Name +':' Operator +' ' Text +'count' Keyword.Type +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'type' Keyword +' ' Text +'SimpleEnum' Name.Class +':' Operator +' ' Text +'enum' Keyword.Type +' ' Text +'{' Punctuation +' ' Text +'ONE' Name +',' Punctuation +' ' Text +'TWO' Name +',' Punctuation +' ' Text +'THREE' Name +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'redef' Keyword +' ' Text +'enum' Keyword.Type +' ' Text +'SimpleEnum' Name.Class +' ' Text +'+' Operator +'=' Operator +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'## A Zeekygen-style comment.' Comment +'\n' Text + +' ' Text +'FOUR' Name +',' Punctuation +'\n' Text + +' ' Text +'FIVE' Name +',' Punctuation +' ' Text +'##< A Zeekygen-style comment.' Comment +'\n' Text + +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'type' Keyword +' ' Text +'SimpleRecord' Name.Class +':' Operator +' ' Text +'record' Keyword.Type +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'field1' Name +':' Punctuation +' ' Text +'count' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'field2' Name +':' Punctuation +' ' Text +'bool' Keyword.Type +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +' ' Text +'&redef' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'redef' Keyword +' ' Text +'record' Keyword.Type +' ' Text +'SimpleRecord' Name.Class +' ' Text +'+' Operator +'=' Operator +' ' Text +'{' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'field3' Name +':' Punctuation +' ' Text +'string' Keyword.Type +' ' Text +'&optional' Keyword.Pseudo +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'field4' Name +':' Punctuation +' ' Text +'string' Keyword.Type +' ' Text +'&default' Keyword.Pseudo +'=' Operator +'"' Literal.String +'b' Literal.String +'l' Literal.String +'a' Literal.String +'h' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'const' Keyword.Declaration +' ' Text +'init_option' Name +':' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'=' Operator +' ' Text +'T' Keyword.Constant +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'option' Keyword.Declaration +' ' Text +'runtime_option' Name +':' Punctuation +' ' Text +'bool' Keyword.Type +' ' Text +'=' Operator +' ' Text +'F' Keyword.Constant +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'global' Keyword.Declaration +' ' Text +'test_opaque' Name +':' Punctuation +' ' Text +'opaque' Keyword.Type +' ' Text +'of' Operator.Word +' ' Text +'md5' Keyword.Type +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'global' Keyword.Declaration +' ' Text +'test_vector' Name +':' Punctuation +' ' Text +'vector' Keyword.Type +' ' Text +'of' Operator.Word +' ' Text +'count' Keyword.Type +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'global' Keyword.Declaration +' ' Text +'myfunction' Name +':' Punctuation +' ' Text +'function' Keyword.Type +'(' Punctuation +'msg' Name +':' Punctuation +' ' Text +'string' Keyword.Type +',' Punctuation +' ' Text +'c' Name +':' Punctuation +' ' Text +'count' Keyword.Type +' ' Text +'&default' Keyword.Pseudo +'=' Operator +'0' Literal.Number.Float +')' Punctuation +':' Punctuation +' ' Text +'count' Keyword.Type +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'global' Keyword.Declaration +' ' Text +'myhook' Name +':' Punctuation +' ' Text +'hook' Keyword.Type +'(' Punctuation +'tag' Name +':' Punctuation +' ' Text +'string' Keyword.Type +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'global' Keyword.Declaration +' ' Text +'myevent' Name +':' Punctuation +' ' Text +'event' Keyword.Type +'(' Punctuation +'tag' Name +':' Punctuation +' ' Text +'string' Keyword.Type +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text + +'\n' Text + +'function' Keyword.Type +' ' Text +'myfunction' Name.Function +'(' Punctuation +'msg' Name +':' Punctuation +' ' Text +'string' Keyword.Type +',' Punctuation +' ' Text +'c' Name +':' Punctuation +' ' Text +'count' Keyword.Type +')' Punctuation +':' Punctuation +' ' Text +'count' Keyword.Type +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'"' Literal.String +'i' Literal.String +'n' Literal.String +' ' Literal.String +'m' Literal.String +'y' Literal.String +'f' Literal.String +'u' Literal.String +'n' Literal.String +'c' Literal.String +'t' Literal.String +'i' Literal.String +'o' Literal.String +'n' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'msg' Name +',' Punctuation +' ' Text +'c' Name +';' Punctuation +'\n' Text + +' ' Text +'return' Keyword +' ' Text +'0' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'event' Keyword.Type +' ' Text +'myevent' Name.Function +'(' Punctuation +'msg' Name +':' Punctuation +' ' Text +'string' Keyword.Type +')' Punctuation +' ' Text +'&priority' Keyword.Pseudo +'=' Operator +'1' Literal.Number.Float +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'"' Literal.String +'i' Literal.String +'n' Literal.String +' ' Literal.String +'m' Literal.String +'y' Literal.String +'e' Literal.String +'v' Literal.String +'e' Literal.String +'n' Literal.String +'t' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'hook' Keyword.Type +' ' Text +'myhook' Name.Function +'(' Punctuation +'msg' Name +':' Punctuation +' ' Text +'string' Keyword.Type +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'"' Literal.String +'i' Literal.String +'n' Literal.String +' ' Literal.String +'m' Literal.String +'y' Literal.String +'e' Literal.String +'v' Literal.String +'e' Literal.String +'n' Literal.String +'t' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +'event' Keyword.Type +' ' Text +'zeek_init' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'local' Keyword.Declaration +' ' Text +'b' Name +' ' Text +'=' Operator +' ' Text +'T' Keyword.Constant +';' Punctuation +'\n' Text + +' ' Text +'local' Keyword.Declaration +' ' Text +'s' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'\\x' Literal.String.Escape +'f' Literal.String +'f' Literal.String +'\\x' Literal.String.Escape +'a' Literal.String +'f' Literal.String +'\\"' Literal.String.Escape +'a' Literal.String +'n' Literal.String +'d' Literal.String +' ' Literal.String +'m' Literal.String +'o' Literal.String +'r' Literal.String +'e' Literal.String +' ' Literal.String +'a' Literal.String +'f' Literal.String +'t' Literal.String +'e' Literal.String +'r' Literal.String +' ' Literal.String +'t' Literal.String +'h' Literal.String +'e' Literal.String +' ' Literal.String +'e' Literal.String +'s' Literal.String +'c' Literal.String +'a' Literal.String +'p' Literal.String +'e' Literal.String +'d' Literal.String +' ' Literal.String +'q' Literal.String +'u' Literal.String +'o' Literal.String +'t' Literal.String +'e' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'local' Keyword.Declaration +' ' Text +'p' Name +' ' Text +'=' Operator +' ' Text +'/' Literal.String.Regex +'f' Literal.String.Regex +'o' Literal.String.Regex +'o' Literal.String.Regex +'|' Literal.String.Regex +'b' Literal.String.Regex +'a' Literal.String.Regex +'r' Literal.String.Regex +'\\x' Literal.String.Escape +'b' Literal.String.Regex +'e' Literal.String.Regex +'\\/' Literal.String.Escape +'a' Literal.String.Regex +'n' Literal.String.Regex +'d' Literal.String.Regex +' ' Literal.String.Regex +'m' Literal.String.Regex +'o' Literal.String.Regex +'r' Literal.String.Regex +'e' Literal.String.Regex +' ' Literal.String.Regex +'a' Literal.String.Regex +'f' Literal.String.Regex +'t' Literal.String.Regex +'e' Literal.String.Regex +'r' Literal.String.Regex +' ' Literal.String.Regex +'t' Literal.String.Regex +'h' Literal.String.Regex +'e' Literal.String.Regex +' ' Literal.String.Regex +'e' Literal.String.Regex +'s' Literal.String.Regex +'c' Literal.String.Regex +'a' Literal.String.Regex +'p' Literal.String.Regex +'e' Literal.String.Regex +'d' Literal.String.Regex +' ' Literal.String.Regex +'s' Literal.String.Regex +'l' Literal.String.Regex +'a' Literal.String.Regex +'s' Literal.String.Regex +'h' Literal.String.Regex +'/' Literal.String.Regex +';' Punctuation +'\n' Text + +' ' Text +'local' Keyword.Declaration +' ' Text +'c' Name +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Float +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'local' Keyword.Declaration +' ' Text +'sr' Name +' ' Text +'=' Operator +' ' Text +'SimpleRecord' Name.Function +'(' Punctuation +'$' Operator +'field1' Name +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +',' Punctuation +' ' Text +'$' Operator +'field2' Name +' ' Text +'=' Operator +' ' Text +'T' Keyword.Constant +',' Punctuation +' ' Text +'$' Operator +'field3' Name +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'h' Literal.String +'i' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'sr' Name +'?$' Operator +'field3' Name +',' Punctuation +' ' Text +'sr' Name +'$' Operator +'field1' Name +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'local' Keyword.Declaration +' ' Text +'myset' Name +':' Punctuation +' ' Text +'set' Keyword.Type +'[' Punctuation +'string' Keyword.Type +']' Punctuation +' ' Text +'=' Operator +' ' Text +'set' Keyword.Type +'(' Punctuation +'"' Literal.String +'o' Literal.String +'n' Literal.String +'e' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'t' Literal.String +'w' Literal.String +'o' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'"' Literal.String +'t' Literal.String +'h' Literal.String +'r' Literal.String +'e' Literal.String +'e' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'add' Keyword +' ' Text +'myset' Name +'[' Punctuation +'"' Literal.String +'f' Literal.String +'o' Literal.String +'u' Literal.String +'r' Literal.String +'"' Literal.String +']' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'delete' Keyword +' ' Text +'myset' Name +'[' Punctuation +'"' Literal.String +'o' Literal.String +'n' Literal.String +'e' Literal.String +'"' Literal.String +']' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +' ' Text +'ms' Name +' ' Text +'in' Operator.Word +' ' Text +'myset' Name +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'ms' Name +' ' Text +'is' Operator.Word +' ' Text +'string' Keyword.Type +',' Punctuation +' ' Text +'s' Name +' ' Text +'as' Operator.Word +' ' Text +'string' Keyword.Type +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'s' Name +'[' Punctuation +'1' Literal.Number.Float +':' Punctuation +'3' Literal.Number.Float +']' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'local' Keyword.Declaration +' ' Text +'tern' Name +':' Punctuation +' ' Text +'count' Keyword.Type +' ' Text +'=' Operator +' ' Text +'s' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'"' Literal.String +'t' Literal.String +'w' Literal.String +'o' Literal.String +'"' Literal.String +' ' Text +'?' Punctuation +' ' Text +'2' Literal.Number.Float +' ' Text +':' Punctuation +' ' Text +'0' Literal.Number.Float +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'s' Name +' ' Text +'!' Operator +'in' Operator.Word +' ' Text +'myset' Name +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'fmt' Name.Function +'(' Punctuation +'"' Literal.String +'e' Literal.String +'r' Literal.String +'r' Literal.String +'o' Literal.String +'r' Literal.String +' ' Literal.String +'%4.2f' Literal.String.Escape +':' Literal.String +' ' Literal.String +'%s' Literal.String.Escape +'"' Literal.String +',' Punctuation +' ' Text +'3.14159' Literal.Number +',' Punctuation +' ' Text +'"' Literal.String +'w' Literal.String +'t' Literal.String +'f' Literal.String +'?' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'switch' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +' ' Text +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'case' Keyword +' ' Text +'1' Literal.Number.Float +':' Punctuation +'\n' Text + +' ' Text +'break' Keyword +';' Punctuation +'\n' Text + +' ' Text +'case' Keyword +' ' Text +'2' Literal.Number.Float +':' Punctuation +'\n' Text + +' ' Text +'fallthrough' Keyword +';' Punctuation +'\n' Text + +' ' Text +'default' Keyword +':' Punctuation +'\n' Text + +' ' Text +'break' Keyword +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'!' Operator +' ' Text +'b' Name +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'"' Literal.String +'h' Literal.String +'e' Literal.String +'r' Literal.String +'e' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'"' Literal.String +'t' Literal.String +'h' Literal.String +'e' Literal.String +'r' Literal.String +'e' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'while' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +' ' Text +'!' Operator +'=' Operator +' ' Text +'0' Literal.Number.Float +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +' ' Text +'>' Operator +'=' Operator +' ' Text +'5' Literal.Number.Float +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'c' Name +' ' Text +'+' Operator +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +' ' Text +'c' Name +' ' Text +'=' Operator +'=' Operator +' ' Text +'8' Literal.Number.Float +' ' Text +')' Punctuation +'\n' Text + +' ' Text +'c' Name +' ' Text +'-' Operator +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'c' Name +' ' Text +'=' Operator +' ' Text +'c' Name +' ' Text +'/' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'c' Name +' ' Text +'=' Operator +' ' Text +'c' Name +' ' Text +'/' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'c' Name +' ' Text +'=' Operator +' ' Text +'c' Name +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'|' Operator +'myset' Name +'|' Operator +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'~' Operator +'5' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1' Literal.Number.Float +' ' Text +'&' Operator +' ' Text +'0xff' Literal.Number.Hex +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'2' Literal.Number.Float +' ' Text +'^' Operator +' ' Text +'5' Literal.Number.Float +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'myfunction' Name.Function +' ' Text +'(' Punctuation +'"' Literal.String +'h' Literal.String +'e' Literal.String +'l' Literal.String +'l' Literal.String +'o' Literal.String +' ' Literal.String +'f' Literal.String +'u' Literal.String +'n' Literal.String +'c' Literal.String +'t' Literal.String +'i' Literal.String +'o' Literal.String +'n' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'hook' Keyword.Type +' ' Text +'myhook' Name.Function +'(' Punctuation +'"' Literal.String +'h' Literal.String +'e' Literal.String +'l' Literal.String +'l' Literal.String +' ' Literal.String +'h' Literal.String +'o' Literal.String +'o' Literal.String +'k' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'event' Keyword.Type +' ' Text +'myevent' Name.Function +'(' Punctuation +'"' Literal.String +'h' Literal.String +'e' Literal.String +'l' Literal.String +'l' Literal.String +'o' Literal.String +' ' Literal.String +'e' Literal.String +'v' Literal.String +'e' Literal.String +'n' Literal.String +'t' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'schedule' Keyword +' ' Text +'1sec' Literal.Number.Float +' ' Text +'{' Punctuation +' ' Text +'myevent' Name.Function +'(' Punctuation +'"' Literal.String +'h' Literal.String +'e' Literal.String +'l' Literal.String +'l' Literal.String +'o' Literal.String +' ' Literal.String +'s' Literal.String +'c' Literal.String +'h' Literal.String +'e' Literal.String +'d' Literal.String +'u' Literal.String +'l' Literal.String +'e' Literal.String +'d' Literal.String +' ' Literal.String +'e' Literal.String +'v' Literal.String +'e' Literal.String +'n' Literal.String +'t' Literal.String +'"' Literal.String +')' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'0' Literal.Number.Float +',' Punctuation +' ' Text +'7' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'0xff' Literal.Number.Hex +',' Punctuation +' ' Text +'0xdeadbeef' Literal.Number.Hex +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'3.14159' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1234.0' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1234e0' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'.003E-23' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'.003E+23' Literal.Number.Float +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'123/udp' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'8000/tcp' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'13/icmp' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'42/unknown' Literal.Number +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'google.com' Literal.String +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'192.168.50.1' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'255.255.255.255' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'0.0.0.0' Literal.Number +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'10.0.0.0' Literal.Number +'/' Operator +'16' Literal.Number.Float +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:0db8:85a3:0000:0000:8a2e:0370:7334]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# test for case insensitivity' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:0DB8:85A3:0000:0000:8A2E:0370:7334]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# any case mixture is allowed' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:0dB8:85a3:0000:0000:8A2E:0370:7334]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# leading zeroes of a 16-bit group may be omitted' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:db8:85a3:0:0:8a2e:370:7334]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# a single occurrence of consecutive groups of zeroes may be replaced by ::' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:db8:85a3::8a2e:370:7334]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# all zeroes should work' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[0:0:0:0:0:0:0:0]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# all zeroes condensed should work' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[::]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# hybrid ipv6-ipv4 address should work' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:db8:0:0:0:FFFF:192.168.0.5]' Literal.Number +';' Punctuation +'\n' Text + +' ' Text +'# hybrid ipv6-ipv4 address with zero ommission should work' Comment +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:db8::FFFF:192.168.0.5]' Literal.Number +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'[2001:0db8:85a3:0000:0000:8a2e:0370:7334]' Literal.Number +'/' Operator +'64' Literal.Number.Float +';' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1day' Literal.Number.Float +',' Punctuation +' ' Text +'1days' Literal.Number.Float +',' Punctuation +' ' Text +'1.0day' Literal.Number.Float +',' Punctuation +' ' Text +'1.0days' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1hr' Literal.Number.Float +',' Punctuation +' ' Text +'1hrs' Literal.Number.Float +',' Punctuation +' ' Text +'1.0hr' Literal.Number.Float +',' Punctuation +' ' Text +'1.0hrs' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1min' Literal.Number.Float +',' Punctuation +' ' Text +'1mins' Literal.Number.Float +',' Punctuation +' ' Text +'1.0min' Literal.Number.Float +',' Punctuation +' ' Text +'1.0mins' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1sec' Literal.Number.Float +',' Punctuation +' ' Text +'1secs' Literal.Number.Float +',' Punctuation +' ' Text +'1.0sec' Literal.Number.Float +',' Punctuation +' ' Text +'1.0secs' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1msec' Literal.Number.Float +',' Punctuation +' ' Text +'1msecs' Literal.Number.Float +',' Punctuation +' ' Text +'1.0msec' Literal.Number.Float +',' Punctuation +' ' Text +'1.0msecs' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'print' Keyword +' ' Text +'1usec' Literal.Number.Float +',' Punctuation +' ' Text +'1usecs' Literal.Number.Float +',' Punctuation +' ' Text +'1.0usec' Literal.Number.Float +',' Punctuation +' ' Text +'1.0usecs' Literal.Number.Float +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text diff --git a/tests/examplefiles/test.zep b/tests/examplefiles/zephir/test.zep similarity index 100% rename from tests/examplefiles/test.zep rename to tests/examplefiles/zephir/test.zep diff --git a/tests/examplefiles/zephir/test.zep.output b/tests/examplefiles/zephir/test.zep.output new file mode 100644 index 0000000..36fff22 --- /dev/null +++ b/tests/examplefiles/zephir/test.zep.output @@ -0,0 +1,159 @@ +'namespace' Keyword +' ' Text +'Test' Name.Other +';' Punctuation +'\n\n' Text + +'use' Keyword +' ' Text +'Test\\Foo' Name.Other +';' Punctuation +'\n\n' Text + +'class' Keyword.Reserved +' ' Text +'Bar' Name.Other +'\n' Text + +'{' Punctuation +'\n ' Text +'protected' Keyword.Reserved +' ' Text +'a' Name.Other +';' Punctuation +'\n ' Text +'private' Keyword.Reserved +' ' Text +'b' Name.Other +';' Punctuation +'\n ' Text +'public' Keyword.Reserved +' ' Text +'c' Name.Other +' ' Text +'{' Punctuation +'set' Name.Other +',' Punctuation +' ' Text +'get' Name.Other +'}' Punctuation +';' Punctuation +'\n\n ' Text +'public' Keyword.Reserved +' ' Text +'function' Keyword.Declaration +' ' Text +'__construct' Name.Other +'(' Punctuation +'string' Keyword.Reserved +' ' Text +'str' Name.Other +',' Punctuation +' ' Text +'boolean' Keyword.Reserved +' ' Text +'bool' Keyword.Reserved +')' Punctuation +'\n ' Text +'{' Punctuation +'\n ' Text +'let' Keyword.Declaration +' ' Text +'this' Keyword +'->' Operator +'c' Name.Other +' ' Text +'=' Operator +' ' Text +'str' Name.Other +';' Punctuation +'\n ' Text +'this' Keyword +'->' Operator +'setC' Name.Other +'(' Punctuation +'bool' Keyword.Reserved +')' Punctuation +';' Punctuation +'\n ' Text +'let' Keyword.Declaration +' ' Text +'this' Keyword +'->' Operator +'b' Name.Other +' ' Text +'=' Operator +' ' Text +'[' Punctuation +']' Punctuation +';' Punctuation +'\n ' Text +'}' Punctuation +'\n\n ' Text +'public' Keyword.Reserved +' ' Text +'function' Keyword.Declaration +' ' Text +'sayHello' Name.Other +'(' Punctuation +'string' Keyword.Reserved +' ' Text +'name' Name.Other +')' Punctuation +'\n ' Text +'{' Punctuation +'\n ' Text +'echo' Keyword +' ' Text +'"Hello "' Literal.String.Double +' ' Text +'.' Punctuation +' ' Text +'name' Name.Other +';' Punctuation +'\n ' Text +'}' Punctuation +'\n\n ' Text +'protected' Keyword.Reserved +' ' Text +'function' Keyword.Declaration +' ' Text +'loops' Name.Other +'(' Punctuation +')' Punctuation +'\n ' Text +'{' Punctuation +'\n ' Text +'for' Keyword +' ' Text +'a' Name.Other +' ' Text +'in' Keyword +' ' Text +'b' Name.Other +' ' Text +'{' Punctuation +'\n ' Text +'echo' Keyword +' ' Text +'a' Name.Other +';' Punctuation +'\n ' Text +'}' Punctuation +'\n ' Text +'loop' Keyword +' ' Text +'{' Punctuation +'\n ' Text +'return' Keyword +' ' Text +'"boo!"' Literal.String.Double +';' Punctuation +'\n ' Text +'}' Punctuation +'\n ' Text +'}' Punctuation +'\n\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/examplefiles/example.zig b/tests/examplefiles/zig/example.zig similarity index 100% rename from tests/examplefiles/example.zig rename to tests/examplefiles/zig/example.zig diff --git a/tests/examplefiles/zig/example.zig.output b/tests/examplefiles/zig/example.zig.output new file mode 100644 index 0000000..5707e6e --- /dev/null +++ b/tests/examplefiles/zig/example.zig.output @@ -0,0 +1,2661 @@ +'const' Keyword.Reserved +' ' Text.Whitespace +'std' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@import' Name.Builtin +'(' Punctuation +'"' Literal.String +'std' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'Allocator' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'mem' Name +'.' Punctuation +'Allocator' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'mem' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'std' Name +'.' Punctuation +'mem' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'ast' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'std' Name +'.' Punctuation +'zig' Name +'.' Punctuation +'ast' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'Visib' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@import' Name.Builtin +'(' Punctuation +'"' Literal.String +'visib.zig' Literal.String +'"' Literal.String +')' Punctuation +'.' Punctuation +'Visib' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'event' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'std' Name +'.' Punctuation +'event' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'Value' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@import' Name.Builtin +'(' Punctuation +'"' Literal.String +'value.zig' Literal.String +'"' Literal.String +')' Punctuation +'.' Punctuation +'Value' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'Token' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'std' Name +'.' Punctuation +'zig' Name +'.' Punctuation +'Token' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'errmsg' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@import' Name.Builtin +'(' Punctuation +'"' Literal.String +'errmsg.zig' Literal.String +'"' Literal.String +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'Scope' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@import' Name.Builtin +'(' Punctuation +'"' Literal.String +'scope.zig' Literal.String +'"' Literal.String +')' Punctuation +'.' Punctuation +'Scope' Name +';' Punctuation +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'Compilation' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@import' Name.Builtin +'(' Punctuation +'"' Literal.String +'compilation.zig' Literal.String +'"' Literal.String +')' Punctuation +'.' Punctuation +'Compilation' Name +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'Decl' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'struct' Keyword +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'id' Name +':' Operator +' ' Text.Whitespace +'Id' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'name' Name +':' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'visib' Name +':' Operator +' ' Text.Whitespace +'Visib' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'resolution' Name +':' Operator +' ' Text.Whitespace +'event' Name +'.' Punctuation +'Future' Name +'(' Punctuation +'Compilation' Name +'.' Punctuation +'BuildError' Name +'!' Operator +'void' Keyword.Type +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'parent_scope' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Scope' Name +',' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'// TODO when we destroy the decl, deref the tree scope\n' Comment.Single + +' ' Text.Whitespace +'tree_scope' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Scope' Name +'.' Punctuation +'AstTree' Name +',' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'Table' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'std' Name +'.' Punctuation +'HashMap' Name +'(' Punctuation +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +',' Punctuation +' ' Text.Whitespace +'*' Operator +'Decl' Name +',' Punctuation +' ' Text.Whitespace +'mem' Name +'.' Punctuation +'hash_slice_u8' Name +',' Punctuation +' ' Text.Whitespace +'mem' Name +'.' Punctuation +'eql_slice_u8' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'fn' Keyword +' ' Text.Whitespace +'cast' Name +'(' Punctuation +'base' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Decl' Name +',' Punctuation +' ' Text.Whitespace +'comptime' Keyword.Reserved +' ' Text.Whitespace +'T' Name +':' Operator +' ' Text.Whitespace +'type' Keyword.Type +')' Punctuation +' ' Text.Whitespace +'?' Operator +'*' Operator +'T' Name +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'base' Name +'.' Punctuation +'id' Name +' ' Text.Whitespace +'!' Operator +'=' Operator +' ' Text.Whitespace +'@field' Name.Builtin +'(' Punctuation +'Id' Name +',' Punctuation +' ' Text.Whitespace +'@typeName' Name.Builtin +'(' Punctuation +'T' Name +')' Punctuation +')' Punctuation +')' Punctuation +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'null' Keyword.Constant +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'@fieldParentPtr' Name.Builtin +'(' Punctuation +'T' Name +',' Punctuation +' ' Text.Whitespace +'"' Literal.String +'base' Literal.String +'"' Literal.String +',' Punctuation +' ' Text.Whitespace +'base' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'fn' Keyword +' ' Text.Whitespace +'isExported' Name +'(' Punctuation +'base' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'const' Keyword.Reserved +' ' Text.Whitespace +'Decl' Name +',' Punctuation +' ' Text.Whitespace +'tree' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'ast' Name +'.' Punctuation +'Tree' Name +')' Punctuation +' ' Text.Whitespace +'bool' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'switch' Keyword +' ' Text.Whitespace +'(' Punctuation +'base' Name +'.' Punctuation +'id' Name +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Id' Name +'.' Punctuation +'Fn' Name +' ' Text.Whitespace +'=' Operator +'>' Operator +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'fn_decl' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@fieldParentPtr' Name.Builtin +'(' Punctuation +'Fn' Name +',' Punctuation +' ' Text.Whitespace +'"' Literal.String +'base' Literal.String +'"' Literal.String +',' Punctuation +' ' Text.Whitespace +'base' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'fn_decl' Name +'.' Punctuation +'isExported' Name +'(' Punctuation +'tree' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'else' Keyword +' ' Text.Whitespace +'=' Operator +'>' Operator +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'false' Keyword.Constant +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'fn' Keyword +' ' Text.Whitespace +'getSpan' Name +'(' Punctuation +'base' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'const' Keyword.Reserved +' ' Text.Whitespace +'Decl' Name +')' Punctuation +' ' Text.Whitespace +'errmsg' Name +'.' Punctuation +'Span' Name +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'switch' Keyword +' ' Text.Whitespace +'(' Punctuation +'base' Name +'.' Punctuation +'id' Name +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Id' Name +'.' Punctuation +'Fn' Name +' ' Text.Whitespace +'=' Operator +'>' Operator +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'fn_decl' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@fieldParentPtr' Name.Builtin +'(' Punctuation +'Fn' Name +',' Punctuation +' ' Text.Whitespace +'"' Literal.String +'base' Literal.String +'"' Literal.String +',' Punctuation +' ' Text.Whitespace +'base' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'fn_proto' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'fn_decl' Name +'.' Punctuation +'fn_proto' Name +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'start' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'fn_proto' Name +'.' Punctuation +'fn_token' Name +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'end' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'fn_proto' Name +'.' Punctuation +'name_token' Name +' ' Text.Whitespace +'orelse' Keyword +' ' Text.Whitespace +'start' Name +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'errmsg' Name +'.' Punctuation +'Span' Name +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'.' Punctuation +'first' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'start' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'.' Punctuation +'last' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'end' Name +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'1' Literal.Number.Integer +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'else' Keyword +' ' Text.Whitespace +'=' Operator +'>' Operator +' ' Text.Whitespace +'@panic' Name.Builtin +'(' Punctuation +'"' Literal.String +'TODO' Literal.String +'"' Literal.String +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'fn' Keyword +' ' Text.Whitespace +'findRootScope' Name +'(' Punctuation +'base' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'const' Keyword.Reserved +' ' Text.Whitespace +'Decl' Name +')' Punctuation +' ' Text.Whitespace +'*' Operator +'Scope' Name +'.' Punctuation +'Root' Name +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'base' Name +'.' Punctuation +'parent_scope' Name +'.' Punctuation +'findRoot' Name +'(' Punctuation +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'Id' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'enum' Keyword +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Var' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Fn' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'CompTime' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'Var' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'struct' Keyword +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'base' Name +':' Operator +' ' Text.Whitespace +'Decl' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'Fn' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'struct' Keyword +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'base' Name +':' Operator +' ' Text.Whitespace +'Decl' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'value' Name +':' Operator +' ' Text.Whitespace +'Val' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'fn_proto' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'ast' Name +'.' Punctuation +'Node' Name +'.' Punctuation +'FnProto' Name +',' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'// TODO https://github.com/ziglang/zig/issues/683 and then make this anonymous\n' Comment.Single + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'Val' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'union' Keyword +'(' Punctuation +'enum' Keyword +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Unresolved' Name +':' Operator +' ' Text.Whitespace +'void' Keyword.Type +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Fn' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Value' Name +'.' Punctuation +'Fn' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'FnProto' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Value' Name +'.' Punctuation +'FnProto' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'fn' Keyword +' ' Text.Whitespace +'externLibName' Name +'(' Punctuation +'self' Name +':' Operator +' ' Text.Whitespace +'Fn' Name +',' Punctuation +' ' Text.Whitespace +'tree' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'ast' Name +'.' Punctuation +'Tree' Name +')' Punctuation +' ' Text.Whitespace +'?' Operator +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'self' Name +'.' Punctuation +'fn_proto' Name +'.' Punctuation +'extern_export_inline_token' Name +')' Punctuation +' ' Text.Whitespace +'|' Operator +'tok_index' Name +'|' Operator +' ' Text.Whitespace +'x' Name +':' Operator +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'token' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'tree' Name +'.' Punctuation +'tokens' Name +'.' Punctuation +'at' Name +'(' Punctuation +'tok_index' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'break' Keyword +' ' Text.Whitespace +':' Operator +'x' Name +' ' Text.Whitespace +'switch' Keyword +' ' Text.Whitespace +'(' Punctuation +'token' Name +'.' Punctuation +'id' Name +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Token' Name +'.' Punctuation +'Id' Name +'.' Punctuation +'Extern' Name +' ' Text.Whitespace +'=' Operator +'>' Operator +' ' Text.Whitespace +'tree' Name +'.' Punctuation +'tokenSlicePtr' Name +'(' Punctuation +'token' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'else' Keyword +' ' Text.Whitespace +'=' Operator +'>' Operator +' ' Text.Whitespace +'null' Keyword.Constant +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +' ' Text.Whitespace +'else' Keyword +' ' Text.Whitespace +'null' Keyword.Constant +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'fn' Keyword +' ' Text.Whitespace +'isExported' Name +'(' Punctuation +'self' Name +':' Operator +' ' Text.Whitespace +'Fn' Name +',' Punctuation +' ' Text.Whitespace +'tree' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'ast' Name +'.' Punctuation +'Tree' Name +')' Punctuation +' ' Text.Whitespace +'bool' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'self' Name +'.' Punctuation +'fn_proto' Name +'.' Punctuation +'extern_export_inline_token' Name +')' Punctuation +' ' Text.Whitespace +'|' Operator +'tok_index' Name +'|' Operator +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'token' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'tree' Name +'.' Punctuation +'tokens' Name +'.' Punctuation +'at' Name +'(' Punctuation +'tok_index' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'token' Name +'.' Punctuation +'id' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +'Token' Name +'.' Punctuation +'Id' Name +'.' Punctuation +'Keyword_export' Name +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +' ' Text.Whitespace +'else' Keyword +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'false' Keyword.Constant +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'CompTime' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'struct' Keyword +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'base' Name +':' Operator +' ' Text.Whitespace +'Decl' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'pub' Keyword.Reserved +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'info_zen' Name +' ' Text.Whitespace +'=' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Communicate intent precisely.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Edge cases matter.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Favor reading code over writing code.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Only one obvious way to do things.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Runtime crashes are better than bugs.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Compile errors are better than runtime crashes.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Incremental improvements.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Avoid local maximums.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Reduce the amount one must remember.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Minimize energy spent on coding style.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ * Together we serve end users.' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\' Literal.String.Heredoc +'\n' Text.Whitespace + +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'fn' Keyword +' ' Text.Whitespace +'cmdZen' Name +'(' Punctuation +'allocator' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Allocator' Name +',' Punctuation +' ' Text.Whitespace +'args' Name +':' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +')' Punctuation +' ' Text.Whitespace +'!' Operator +'void' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'try' Keyword +' ' Text.Whitespace +'stdout' Name +'.' Punctuation +'write' Name +'(' Punctuation +'info_zen' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'const' Keyword.Reserved +' ' Text.Whitespace +'usage_internal' Name +' ' Text.Whitespace +'=' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\usage: zig internal [subcommand]' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\Sub-Commands:' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ build-info Print static compiler build-info' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\' Literal.String.Heredoc +'\n' Text.Whitespace + +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'fn' Keyword +' ' Text.Whitespace +'cmdInternal' Name +'(' Punctuation +'allocator' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Allocator' Name +',' Punctuation +' ' Text.Whitespace +'args' Name +':' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +')' Punctuation +' ' Text.Whitespace +'!' Operator +'void' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'args' Name +'.' Punctuation +'len' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +'0' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'try' Keyword +' ' Text.Whitespace +'stderr' Name +'.' Punctuation +'write' Name +'(' Punctuation +'usage_internal' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'os' Name +'.' Punctuation +'exit' Name +'(' Punctuation +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'sub_commands' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'Command' Name +'{' Punctuation +'Command' Name +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'.' Punctuation +'name' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'build-info' Literal.String +'"' Literal.String +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'.' Punctuation +'exec' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'cmdInternalBuildInfo' Name +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'}' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'for' Keyword +' ' Text.Whitespace +'(' Punctuation +'sub_commands' Name +')' Punctuation +' ' Text.Whitespace +'|' Operator +'sub_command' Name +'|' Operator +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'mem' Name +'.' Punctuation +'eql' Name +'(' Punctuation +'u8' Keyword.Type +',' Punctuation +' ' Text.Whitespace +'sub_command' Name +'.' Punctuation +'name' Name +',' Punctuation +' ' Text.Whitespace +'args' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +')' Punctuation +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'try' Keyword +' ' Text.Whitespace +'sub_command' Name +'.' Punctuation +'exec' Name +'(' Punctuation +'allocator' Name +',' Punctuation +' ' Text.Whitespace +'args' Name +'[' Punctuation +'1' Literal.Number.Integer +'.' Punctuation +'.' Punctuation +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'try' Keyword +' ' Text.Whitespace +'stderr' Name +'.' Punctuation +'print' Name +'(' Punctuation +'"' Literal.String +'unknown sub command: {}' Literal.String +'\\n' Literal.String.Escape +'\\n' Literal.String.Escape +'"' Literal.String +',' Punctuation +' ' Text.Whitespace +'args' Name +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'try' Keyword +' ' Text.Whitespace +'stderr' Name +'.' Punctuation +'write' Name +'(' Punctuation +'usage_internal' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'fn' Keyword +' ' Text.Whitespace +'cmdInternalBuildInfo' Name +'(' Punctuation +'allocator' Name +':' Operator +' ' Text.Whitespace +'*' Operator +'Allocator' Name +',' Punctuation +' ' Text.Whitespace +'args' Name +':' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +')' Punctuation +' ' Text.Whitespace +'!' Operator +'void' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'try' Keyword +' ' Text.Whitespace +'stdout' Name +'.' Punctuation +'print' Name +'(' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_CMAKE_BINARY_DIR {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_CXX_COMPILER {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_LLVM_CONFIG_EXE {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_LLD_INCLUDE_PATH {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_LLD_LIBRARIES {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_STD_FILES {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_C_HEADER_FILES {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\ZIG_DIA_GUIDS_LIB {}' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +'\\\\' Literal.String.Heredoc +'\n' Text.Whitespace + +' ' Text.Whitespace +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_CMAKE_BINARY_DIR' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_CXX_COMPILER' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_LLVM_CONFIG_EXE' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_LLD_INCLUDE_PATH' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_LLD_LIBRARIES' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_STD_FILES' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_C_HEADER_FILES' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'std' Name +'.' Punctuation +'cstr' Name +'.' Punctuation +'toSliceConst' Name +'(' Punctuation +'c' Name +'.' Punctuation +'ZIG_DIA_GUIDS_LIB' Name +')' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'fn' Keyword +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'a' Name +':' Operator +' ' Text.Whitespace +'u128' Keyword.Type +',' Punctuation +' ' Text.Whitespace +'expected' Name +':' Operator +' ' Text.Whitespace +'f32' Keyword.Type +')' Punctuation +' ' Text.Whitespace +'void' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'x' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'__floatuntisf' Name +'(' Punctuation +'a' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'testing' Name +'.' Punctuation +'expect' Name +'(' Punctuation +'x' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +'expected' Name +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'test' Keyword +' ' Text.Whitespace +'"' Literal.String +'floatuntisf' Literal.String +'"' Literal.String +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'0.0' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'1.0' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'2' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'2.0' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'20' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'20.0' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x7FFFFF8000000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FFFFFEp+62' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x7FFFFF0000000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FFFFFCp+62' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x8000008000000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.000001p+127' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x8000000000000800' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.0p+127' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x8000010000000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.000002p+127' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x8000000000000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.000000p+127' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E8000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72EA000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBA8p+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72EB000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBACp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72EC000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBBp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E6000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCB98p+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E7000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCB9Cp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E4000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCB9p+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0xFFFFFFFFFFFFFFFE' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1p+64' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0xFFFFFFFFFFFFFFFF' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1p+64' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E8000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72EA000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72EB000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72EBFFFFFF' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72EC000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBCp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E8000001' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E6000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E7000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E7FFFFFF' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E4000001' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'0x0007FB72E4000000' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCB8p+50' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCB90000000000001' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBA0000000000000' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBAFFFFFFFFFFFFF' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBAp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBB0000000000000' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBCp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBB0000000000001' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBCp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBBFFFFFFFFFFFFF' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBCp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBC0000000000000' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBCp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBC0000000000001' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBCp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBD0000000000000' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBCp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBD0000000000001' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBEp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBDFFFFFFFFFFFFF' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBEp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'test__floatuntisf' Name +'(' Punctuation +'make_ti' Name +'(' Punctuation +'0x0000000000001FED' Literal.Number.Hex +',' Punctuation +' ' Text.Whitespace +'0xCBE0000000000000' Literal.Number.Hex +')' Punctuation +',' Punctuation +' ' Text.Whitespace +'0x1.FEDCBEp+76' Literal.Number.Float +')' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +'fn' Keyword +' ' Text.Whitespace +'trimStart' Name +'(' Punctuation +'slice' Name +':' Operator +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +',' Punctuation +' ' Text.Whitespace +'ch' Name +':' Operator +' ' Text.Whitespace +'u8' Keyword.Type +')' Punctuation +' ' Text.Whitespace +'[' Punctuation +']' Punctuation +'const' Keyword.Reserved +' ' Text.Whitespace +'u8' Keyword.Type +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'var' Keyword.Reserved +' ' Text.Whitespace +'i' Name +':' Operator +' ' Text.Whitespace +'usize' Keyword.Type +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'0' Literal.Number.Integer +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'const' Keyword.Reserved +' ' Text.Whitespace +'test_string' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'test' Literal.String +'\\"' Literal.String.Escape +'string' Literal.String +'"' Literal.String +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'for' Keyword +' ' Text.Whitespace +'(' Punctuation +'slice' Name +')' Punctuation +' ' Text.Whitespace +'|' Operator +'b' Name +'|' Operator +' ' Text.Whitespace +'{' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +"'\\xa3'" Literal.String.Escape +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +"'\\ua3d3'" Literal.String.Escape +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +"'\\Ua3d3d3'" Literal.String.Escape +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +"'\\t'" Literal.String.Escape +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +"'\\n'" Literal.String.Escape +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +"'\\\\'" Literal.String.Escape +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +"'\\''" Literal.String.Escape +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'=' Operator +'=' Operator +' ' Text.Whitespace +'\'"\'' Literal.String +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'!' Operator +'=' Operator +' ' Text.Whitespace +"'n'" Literal.String +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'b' Name +' ' Text.Whitespace +'!' Operator +'=' Operator +' ' Text.Whitespace +"'-'" Literal.String +')' Punctuation +' ' Text.Whitespace +'break' Keyword +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'i' Name +' ' Text.Whitespace +'+' Operator +'=' Operator +' ' Text.Whitespace +'1' Literal.Number.Integer +';' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'\n' Text.Whitespace + +' ' Text.Whitespace +'return' Keyword +' ' Text.Whitespace +'slice' Name +'[' Punctuation +'i' Name +'.' Punctuation +'.' Punctuation +']' Punctuation +';' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_anchor.html index 4c247cb..1296cc3 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_0_anchor.html @@ -1,6 +1,6 @@
      -
      1# a
      -2# b
      -3# c
      + 
      1# a
      +2# b
      +3# c
       
      diff --git a/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_3_anchor.html index 0200a29..2d34b60 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_1_start_1_special_3_anchor.html @@ -1,6 +1,6 @@
      -
      1# a
      -2# b
      -3# c
      + 
      1# a
      +2# b
      +3# c
       
      diff --git a/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_0_anchor.html index 53dc0e7..4238be4 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_0_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      - 9# b
      -10# c
      + 
       8# a
      + 9# b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_3_anchor.html index 1f2f5ca..9ebd673 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_1_start_8_special_3_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      - 9# b
      -10# c
      + 
       8# a
      + 9# b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_0_anchor.html index 911d9b9..2c643a3 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_0_anchor.html @@ -1,6 +1,6 @@
      -
       # a
      -2# b
      - # c
      + 
       # a
      +2# b
      + # c
       
      diff --git a/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_3_anchor.html index 7f2c518..70f9512 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_2_start_1_special_3_anchor.html @@ -1,6 +1,6 @@
      -
       # a
      -2# b
      - # c
      + 
       # a
      +2# b
      + # c
       
      diff --git a/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_0_anchor.html index ce635c0..03d6142 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_0_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      -  # b
      -10# c
      + 
       8# a
      +  # b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_3_anchor.html index 08d3da7..7314eeb 100644 --- a/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_cls_step_2_start_8_special_3_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      -  # b
      -10# c
      + 
       8# a
      +  # b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_anchor.html index 6098070..f0299cb 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_anchor.html @@ -1,6 +1,6 @@
      -
      1# a
      -2# b
      -3# c
      + 
      1# a
      +2# b
      +3# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_noanchor.html index 6098070..fae1da7 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_0_noanchor.html @@ -1,6 +1,6 @@
      -
      1# a
      -2# b
      -3# c
      + 
      1# a
      +2# b
      +3# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_anchor.html index 8a41726..436d3c1 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_anchor.html @@ -1,6 +1,6 @@
      -
      1# a
      -2# b
      -3# c
      + 
      1# a
      +2# b
      +3# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_noanchor.html index 8a41726..6d2b4d3 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_1_special_3_noanchor.html @@ -1,6 +1,6 @@
      -
      1# a
      -2# b
      + 
      1# a
      +2# b
       3# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_anchor.html index 58bbddc..0fa9dd7 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      - 9# b
      -10# c
      + 
       8# a
      + 9# b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_noanchor.html index 58bbddc..4ae62b4 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_0_noanchor.html @@ -1,6 +1,6 @@
      -
       8# a
      - 9# b
      -10# c
      + 
       8# a
      + 9# b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_anchor.html index 90f1e9b..0f3daf9 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      - 9# b
      -10# c
      + 
       8# a
      + 9# b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_noanchor.html index 90f1e9b..43174f5 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_1_start_8_special_3_noanchor.html @@ -1,6 +1,6 @@
      -
       8# a
      + 
       8# a
        9# b
      -10# c
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_anchor.html index bf4bf25..a719d32 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_anchor.html @@ -1,6 +1,6 @@
      -
       # a
      -2# b
      - # c
      + 
       # a
      +2# b
      + # c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_noanchor.html index bf4bf25..10b1e06 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_0_noanchor.html @@ -1,6 +1,6 @@
      -
       # a
      -2# b
      - # c
      + 
       # a
      +2# b
      + # c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_anchor.html index d198ce0..0c2334a 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_anchor.html @@ -1,6 +1,6 @@
      -
       # a
      -2# b
      - # c
      + 
       # a
      +2# b
      + # c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_noanchor.html index d198ce0..04c69f5 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_1_special_3_noanchor.html @@ -1,6 +1,6 @@
      -
       # a
      -2# b
      + 
       # a
      +2# b
        # c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_anchor.html index 56a0921..8462306 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      -  # b
      -10# c
      + 
       8# a
      +  # b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_noanchor.html index 56a0921..4773f52 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_0_noanchor.html @@ -1,6 +1,6 @@
      -
       8# a
      -  # b
      -10# c
      + 
       8# a
      +  # b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_anchor.html index 81f314d..b51fb6f 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_anchor.html @@ -1,6 +1,6 @@
      -
       8# a
      -  # b
      -10# c
      + 
       8# a
      +  # b
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_noanchor.html b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_noanchor.html index 81f314d..98ef6a7 100644 --- a/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/inline_nocls_step_2_start_8_special_3_noanchor.html @@ -1,6 +1,6 @@
      -
       8# a
      + 
       8# a
         # b
      -10# c
      +10# c
       
      diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_anchor.html index 3665353..f434816 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_anchor.html @@ -2,9 +2,9 @@
  • diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_noanchor.html index 1f3c424..1cbd0e6 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_noanchor.html @@ -2,8 +2,8 @@ diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_anchor.html index 03ff144..81c7a13 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_anchor.html @@ -2,9 +2,9 @@ diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_noanchor.html index 34b469e..719d68b 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_noanchor.html @@ -2,8 +2,8 @@ diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_anchor.html index 3bbb52a..b443f22 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_anchor.html @@ -2,9 +2,9 @@ diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_noanchor.html index 6e901af..c0808c3 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_noanchor.html @@ -2,8 +2,8 @@ diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_anchor.html index 2d69b75..7928c32 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_anchor.html @@ -2,9 +2,9 @@ diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_noanchor.html index eecace4..851e20d 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_noanchor.html @@ -2,8 +2,8 @@ diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor.html index 576a524..afa37c9 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_anchor.html @@ -2,9 +2,9 @@
    -
    1
    -2
    -3
    +
    1
    +2
    +3
    diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_noanchor.html index ddc7594..d3d325b 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
    1
    -2
    -3
    +
    1
    +2
    +3
    diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_anchor.html index ab0fdfb..5c01c52 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_1_special_3_anchor.html @@ -2,8 +2,8 @@
    -
    1
    -2
    +    
    1
    +2
     3
    -
    1
    -2
    +    
    1
    +2
     3
    -
     8
    - 9
    -10
    +
     8
    + 9
    +10
    diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_noanchor.html index b8bf29e..07fba68 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    - 9
    -10
    +
     8
    + 9
    +10
    diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_anchor.html index 98d1abb..aeeffef 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_anchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
      9
    -10
    +10
    diff --git a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_noanchor.html index 67642ac..0d70990 100644 --- a/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_1_start_8_special_3_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
      9
    -10
    +10
    diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_anchor.html index 80e5bdb..bd2180a 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_anchor.html @@ -2,9 +2,9 @@
    -
     
    -2
    - 
    +
     
    +2
    + 
    diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_noanchor.html index a95ad95..c343e4f 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
     
    -2
    - 
    +
     
    +2
    + 
    diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_anchor.html index 1a4cc59..63316d2 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_1_special_3_anchor.html @@ -2,8 +2,8 @@
    -
     
    -2
    +    
     
    +2
      
    -
     
    -2
    +    
     
    +2
      
    -
     8
    -  
    -10
    +
     8
    +  
    +10
    diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_noanchor.html index 907c06f..82750eb 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    -  
    -10
    +
     8
    +  
    +10
    diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_anchor.html index a39b486..b2e87d4 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_anchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
       
    -10
    +10
    diff --git a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_noanchor.html b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_noanchor.html index 25bde60..74e1b8b 100644 --- a/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_cls_step_2_start_8_special_3_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
       
    -10
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_anchor.html index 41ea57f..efbed24 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_anchor.html @@ -2,9 +2,9 @@
    -
    1
    -2
    -3
    +
    1
    +2
    +3
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_noanchor.html index 07ded26..4e2fc44 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
    1
    -2
    -3
    +
    1
    +2
    +3
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_anchor.html index f43e8bb..5db1fa5 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_1_special_3_anchor.html @@ -2,8 +2,8 @@
    -
    1
    -2
    +    
    1
    +2
     3
    -
    1
    -2
    +    
    1
    +2
     3
    -
     8
    - 9
    -10
    +
     8
    + 9
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_noanchor.html index e938799..a9e04f3 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    - 9
    -10
    +
     8
    + 9
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_anchor.html index 6cd0f9f..9402619 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_anchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
      9
    -10
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_noanchor.html index 12ed3fb..5c8fd7a 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_1_start_8_special_3_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
      9
    -10
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_anchor.html index eee9392..75def9a 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_anchor.html @@ -2,9 +2,9 @@
    -
     
    -2
    - 
    +
     
    +2
    + 
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_noanchor.html index b67689b..450940b 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
     
    -2
    - 
    +
     
    +2
    + 
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_anchor.html index 11a4444..db6be9f 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_1_special_3_anchor.html @@ -2,8 +2,8 @@
    -
     
    -2
    +    
     
    +2
      
    -
     
    -2
    +    
     
    +2
      
    -
     8
    -  
    -10
    +
     8
    +  
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor.html index f29ea4b..e24f9d1 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_0_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    -  
    -10
    +
     8
    +  
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor.html index 30ac581..25b1ba5 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_anchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
       
    -10
    +10
    diff --git a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor.html b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor.html index a2ca8b8..0dea846 100644 --- a/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor.html +++ b/tests/html_linenos_expected_output/table_nocls_step_2_start_8_special_3_noanchor.html @@ -2,9 +2,9 @@
    -
     8
    +    
     8
       
    -10
    +10
    diff --git a/tests/snippets/apacheconf/test_directive_no_args.txt b/tests/snippets/apacheconf/test_directive_no_args.txt new file mode 100644 index 0000000..3c8df4c --- /dev/null +++ b/tests/snippets/apacheconf/test_directive_no_args.txt @@ -0,0 +1,14 @@ +---input--- +Example +ServerName localhost + +---tokens--- +'Example' Name.Builtin +'' Text +'\n' Text + +'ServerName' Name.Builtin +' ' Text +'localhost' Text +'' Text +'\n' Text diff --git a/tests/snippets/apacheconf/test_fix_lock_absolute_path.txt b/tests/snippets/apacheconf/test_fix_lock_absolute_path.txt new file mode 100644 index 0000000..25a19b6 --- /dev/null +++ b/tests/snippets/apacheconf/test_fix_lock_absolute_path.txt @@ -0,0 +1,9 @@ +---input--- +LockFile /var/lock/apache2/accept.lock + +---tokens--- +'LockFile' Name.Builtin +' ' Text +'/var/lock/apache2/accept.lock' Literal.String.Other +'' Text +'\n' Text diff --git a/tests/snippets/apacheconf/test_include_globs.txt b/tests/snippets/apacheconf/test_include_globs.txt new file mode 100644 index 0000000..4430d9e --- /dev/null +++ b/tests/snippets/apacheconf/test_include_globs.txt @@ -0,0 +1,9 @@ +---input--- +Include /etc/httpd/conf.d/*.conf + +---tokens--- +'Include' Name.Builtin +' ' Text +'/etc/httpd/conf.d/*.conf' Literal.String.Other +'' Text +'\n' Text diff --git a/tests/snippets/apacheconf/test_malformed_scoped_directive_closing_tag.txt b/tests/snippets/apacheconf/test_malformed_scoped_directive_closing_tag.txt new file mode 100644 index 0000000..a6f8246 --- /dev/null +++ b/tests/snippets/apacheconf/test_malformed_scoped_directive_closing_tag.txt @@ -0,0 +1,20 @@ +---input--- + + + +---tokens--- +'' Name.Tag +'\n' Text + +'<' Error +'/' Error +'VirtualHost' Name.Builtin +'' Text +'\n' Text + +'>' Error +'\n' Text diff --git a/tests/snippets/apacheconf/test_multi_include_globs.txt b/tests/snippets/apacheconf/test_multi_include_globs.txt new file mode 100644 index 0000000..316bc1e --- /dev/null +++ b/tests/snippets/apacheconf/test_multi_include_globs.txt @@ -0,0 +1,9 @@ +---input--- +Include /etc/httpd/conf.d/*/*.conf + +---tokens--- +'Include' Name.Builtin +' ' Text +'/etc/httpd/conf.d/*/*.conf' Literal.String.Other +'' Text +'\n' Text diff --git a/tests/snippets/apacheconf/test_multi_include_globs_root.txt b/tests/snippets/apacheconf/test_multi_include_globs_root.txt new file mode 100644 index 0000000..34b20cd --- /dev/null +++ b/tests/snippets/apacheconf/test_multi_include_globs_root.txt @@ -0,0 +1,9 @@ +---input--- +Include /*conf/*.conf + +---tokens--- +'Include' Name.Builtin +' ' Text +'/*conf/*.conf' Literal.String.Other +'' Text +'\n' Text diff --git a/tests/snippets/apacheconf/test_multiline_argument.txt b/tests/snippets/apacheconf/test_multiline_argument.txt new file mode 100644 index 0000000..fa2e069 --- /dev/null +++ b/tests/snippets/apacheconf/test_multiline_argument.txt @@ -0,0 +1,21 @@ +---input--- +SecAction \ + "id:'900001', \ + phase:1, \ + t:none, \ + setvar:tx.critical_anomaly_score=5, \ + setvar:tx.error_anomaly_score=4, \ + setvar:tx.warning_anomaly_score=3, \ + setvar:tx.notice_anomaly_score=2, \ + nolog, \ + pass" + +---tokens--- +'SecAction' Name.Builtin +' ' Text +'\\\n' Text + +' ' Text +'"id:\'900001\', \\\n phase:1, \\\n t:none, \\\n setvar:tx.critical_anomaly_score=5, \\\n setvar:tx.error_anomaly_score=4, \\\n setvar:tx.warning_anomaly_score=3, \\\n setvar:tx.notice_anomaly_score=2, \\\n nolog, \\\n pass"' Literal.String.Double +'' Text +'\n' Text diff --git a/tests/snippets/apacheconf/test_multiline_comment.txt b/tests/snippets/apacheconf/test_multiline_comment.txt new file mode 100644 index 0000000..87a4e89 --- /dev/null +++ b/tests/snippets/apacheconf/test_multiline_comment.txt @@ -0,0 +1,12 @@ +---input--- +#SecAction \ + "id:'900004', \ + phase:1, \ + t:none, \ + setvar:tx.anomaly_score_blocking=on, \ + nolog, \ + pass" + +---tokens--- +'#SecAction \\\n "id:\'900004\', \\\n phase:1, \\\n t:none, \\\n setvar:tx.anomaly_score_blocking=on, \\\n nolog, \\\n pass"' Comment +'\n' Text diff --git a/tests/snippets/apacheconf/test_normal_scoped_directive.txt b/tests/snippets/apacheconf/test_normal_scoped_directive.txt new file mode 100644 index 0000000..3088113 --- /dev/null +++ b/tests/snippets/apacheconf/test_normal_scoped_directive.txt @@ -0,0 +1,14 @@ +---input--- + + + +---tokens--- +'' Name.Tag +'\n' Text + +'' Name.Tag +'\n' Text diff --git a/tests/snippets/asm/test_cpuid.txt b/tests/snippets/asm/test_cpuid.txt new file mode 100644 index 0000000..cf73a2c --- /dev/null +++ b/tests/snippets/asm/test_cpuid.txt @@ -0,0 +1,9 @@ +# CPU is a valid directive, and we don't want to parse this as +# cpu id, but as a single token. See bug #1517 + +---input--- +cpuid + +---tokens--- +'cpuid' Name.Function +'\n' Text diff --git a/tests/snippets/bibtex/test_basic_bst.txt b/tests/snippets/bibtex/test_basic_bst.txt new file mode 100644 index 0000000..7e8129a --- /dev/null +++ b/tests/snippets/bibtex/test_basic_bst.txt @@ -0,0 +1,54 @@ +---input--- +% BibTeX standard bibliography style `plain' + +INTEGERS { output.state before.all } + +FUNCTION {sort.format.title} +{ 't := +"A " #2 + "An " #3 + "The " #4 t chop.word + chop.word +chop.word +sortify +#1 global.max$ substring$ +} + +ITERATE {call.type$} + +---tokens--- +"% BibTeX standard bibliography style `plain'" Comment +'\n\n' Text + +'INTEGERS { output.state before.all }' Comment +'\n\n' Text + +'FUNCTION {sort.format.title}' Comment +'\n' Text + +"{ 't :=" Comment +'\n' Text + +'"A " #2' Comment +'\n ' Text +'"An " #3' Comment +'\n ' Text +'"The " #4 t chop.word' Comment +'\n ' Text +'chop.word' Comment +'\n' Text + +'chop.word' Comment +'\n' Text + +'sortify' Comment +'\n' Text + +'#1 global.max$ substring$' Comment +'\n' Text + +'}' Comment +'\n\n' Text + +'ITERATE {call.type$}' Comment +'\n' Text diff --git a/tests/snippets/bibtex/test_comment.txt b/tests/snippets/bibtex/test_comment.txt new file mode 100644 index 0000000..abb594a --- /dev/null +++ b/tests/snippets/bibtex/test_comment.txt @@ -0,0 +1,7 @@ +---input--- +@COMMENT{test} + +---tokens--- +'@COMMENT' Comment +'{test}' Comment +'\n' Text diff --git a/tests/snippets/bibtex/test_entry.txt b/tests/snippets/bibtex/test_entry.txt new file mode 100644 index 0000000..3d1ee83 --- /dev/null +++ b/tests/snippets/bibtex/test_entry.txt @@ -0,0 +1,63 @@ +---input--- +This is a comment. + +@ARTICLE{ruckenstein-diffusion, + author = "Liu, Hongquin" # and # "Ruckenstein, Eli", + year = 1997, + month = JAN, + pages = "888-895" +} + +---tokens--- +'This is a comment.' Comment +'\n\n' Text + +'@ARTICLE' Name.Class +'{' Punctuation +'ruckenstein-diffusion' Name.Label +',' Punctuation +'\n ' Text +'author' Name.Attribute +' ' Text +'=' Punctuation +' ' Text +'"' Literal.String +'Liu, Hongquin' Literal.String +'"' Literal.String +' ' Text +'#' Punctuation +' ' Text +'and' Name.Variable +' ' Text +'#' Punctuation +' ' Text +'"' Literal.String +'Ruckenstein, Eli' Literal.String +'"' Literal.String +',' Punctuation +'\n ' Text +'year' Name.Attribute +' ' Text +'=' Punctuation +' ' Text +'1997' Literal.Number +',' Punctuation +'\n ' Text +'month' Name.Attribute +' ' Text +'=' Punctuation +' ' Text +'JAN' Name.Variable +',' Punctuation +'\n ' Text +'pages' Name.Attribute +' ' Text +'=' Punctuation +' ' Text +'"' Literal.String +'888-895' Literal.String +'"' Literal.String +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/bibtex/test_mismatched_brace.txt b/tests/snippets/bibtex/test_mismatched_brace.txt new file mode 100644 index 0000000..9f7f74f --- /dev/null +++ b/tests/snippets/bibtex/test_mismatched_brace.txt @@ -0,0 +1,10 @@ +---input--- +@PREAMBLE(""} + +---tokens--- +'@PREAMBLE' Name.Class +'(' Punctuation +'"' Literal.String +'"' Literal.String +'}' Error +'\n' Text diff --git a/tests/snippets/bibtex/test_missing_body.txt b/tests/snippets/bibtex/test_missing_body.txt new file mode 100644 index 0000000..882fa70 --- /dev/null +++ b/tests/snippets/bibtex/test_missing_body.txt @@ -0,0 +1,10 @@ +---input--- +@ARTICLE xxx + +---tokens--- +'@ARTICLE' Name.Class +' ' Text +'x' Error +'x' Error +'x' Error +'\n' Text diff --git a/tests/snippets/bibtex/test_preamble.txt b/tests/snippets/bibtex/test_preamble.txt new file mode 100644 index 0000000..9b4d476 --- /dev/null +++ b/tests/snippets/bibtex/test_preamble.txt @@ -0,0 +1,11 @@ +---input--- +@PREAMBLE{"% some LaTeX code here"} + +---tokens--- +'@PREAMBLE' Name.Class +'{' Punctuation +'"' Literal.String +'% some LaTeX code here' Literal.String +'"' Literal.String +'}' Punctuation +'\n' Text diff --git a/tests/snippets/bibtex/test_string.txt b/tests/snippets/bibtex/test_string.txt new file mode 100644 index 0000000..0a521bd --- /dev/null +++ b/tests/snippets/bibtex/test_string.txt @@ -0,0 +1,15 @@ +---input--- +@STRING(SCI = "Science") + +---tokens--- +'@STRING' Name.Class +'(' Punctuation +'SCI' Name.Attribute +' ' Text +'=' Punctuation +' ' Text +'"' Literal.String +'Science' Literal.String +'"' Literal.String +')' Punctuation +'\n' Text diff --git a/tests/snippets/c/test_comment_end.txt b/tests/snippets/c/test_comment_end.txt new file mode 100644 index 0000000..da46acc --- /dev/null +++ b/tests/snippets/c/test_comment_end.txt @@ -0,0 +1,31 @@ +In the past the "*/" was marked as an error to "helpfully" +indicate a wrong comment end. + +---input--- +int m21=((result_0*0+result_1*/*0<-----*/1)%mod+mod)%mod; + +---tokens--- +'int' Keyword.Type +' ' Text +'m21' Name +'=' Operator +'(' Punctuation +'(' Punctuation +'result_0' Name +'*' Operator +'0' Literal.Number.Integer +'+' Operator +'result_1' Name +'*' Operator +'/*0<-----*/' Comment.Multiline +'1' Literal.Number.Integer +')' Punctuation +'%' Operator +'mod' Name +'+' Operator +'mod' Name +')' Punctuation +'%' Operator +'mod' Name +';' Punctuation +'\n' Text diff --git a/tests/snippets/c/test_label.txt b/tests/snippets/c/test_label.txt new file mode 100644 index 0000000..722961b --- /dev/null +++ b/tests/snippets/c/test_label.txt @@ -0,0 +1,31 @@ +---input--- +int main() +{ +foo: + goto foo; +} + +---tokens--- +'int' Keyword.Type +' ' Text +'main' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +'{' Punctuation +'\n' Text + +'foo' Name.Label +':' Punctuation +'\n' Text + +' ' Text +'goto' Keyword +' ' Text +'foo' Name +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/c/test_label_followed_by_statement.txt b/tests/snippets/c/test_label_followed_by_statement.txt new file mode 100644 index 0000000..4119a73 --- /dev/null +++ b/tests/snippets/c/test_label_followed_by_statement.txt @@ -0,0 +1,35 @@ +---input--- +int main() +{ +foo:return 0; + goto foo; +} + +---tokens--- +'int' Keyword.Type +' ' Text +'main' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +'{' Punctuation +'\n' Text + +'foo' Name.Label +':' Punctuation +'return' Keyword +' ' Text +'0' Literal.Number.Integer +';' Punctuation +'\n' Text + +' ' Text +'goto' Keyword +' ' Text +'foo' Name +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/c/test_label_space_before_colon.txt b/tests/snippets/c/test_label_space_before_colon.txt new file mode 100644 index 0000000..53548e8 --- /dev/null +++ b/tests/snippets/c/test_label_space_before_colon.txt @@ -0,0 +1,32 @@ +---input--- +int main() +{ +foo : + goto foo; +} + +---tokens--- +'int' Keyword.Type +' ' Text +'main' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +'{' Punctuation +'\n' Text + +'foo' Name.Label +' ' Text +':' Punctuation +'\n' Text + +' ' Text +'goto' Keyword +' ' Text +'foo' Name +';' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/c/test_numbers.txt b/tests/snippets/c/test_numbers.txt new file mode 100644 index 0000000..6473512 --- /dev/null +++ b/tests/snippets/c/test_numbers.txt @@ -0,0 +1,20 @@ +---input--- +42 23.42 23. .42 023 0xdeadbeef 23e+42 42e-23 + +---tokens--- +'42' Literal.Number.Integer +' ' Text +'23.42' Literal.Number.Float +' ' Text +'23.' Literal.Number.Float +' ' Text +'.42' Literal.Number.Float +' ' Text +'023' Literal.Number.Oct +' ' Text +'0xdeadbeef' Literal.Number.Hex +' ' Text +'23e+42' Literal.Number.Float +' ' Text +'42e-23' Literal.Number.Float +'\n' Text diff --git a/tests/snippets/c/test_preproc_file.txt b/tests/snippets/c/test_preproc_file.txt new file mode 100644 index 0000000..c00af1d --- /dev/null +++ b/tests/snippets/c/test_preproc_file.txt @@ -0,0 +1,9 @@ +---input--- +#include + +---tokens--- +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'' Comment.PreprocFile +'\n' Comment.Preproc diff --git a/tests/snippets/c/test_preproc_file2.txt b/tests/snippets/c/test_preproc_file2.txt new file mode 100644 index 0000000..a0ce5a6 --- /dev/null +++ b/tests/snippets/c/test_preproc_file2.txt @@ -0,0 +1,9 @@ +---input--- +#include "foo.h" + +---tokens--- +'#' Comment.Preproc +'include' Comment.Preproc +' ' Text +'"foo.h"' Comment.PreprocFile +'\n' Comment.Preproc diff --git a/tests/snippets/c/test_switch.txt b/tests/snippets/c/test_switch.txt new file mode 100644 index 0000000..9f882f7 --- /dev/null +++ b/tests/snippets/c/test_switch.txt @@ -0,0 +1,56 @@ +---input--- +int main() +{ + switch (0) + { + case 0: + default: + ; + } +} + +---tokens--- +'int' Keyword.Type +' ' Text +'main' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +'{' Punctuation +'\n' Text + +' ' Text +'switch' Keyword +' ' Text +'(' Punctuation +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'case' Keyword +' ' Text +'0' Literal.Number.Integer +':' Operator +'\n' Text + +' ' Text +'default' Keyword +':' Operator +'\n' Text + +' ' Text +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/c/test_switch_space_before_colon.txt b/tests/snippets/c/test_switch_space_before_colon.txt new file mode 100644 index 0000000..c2de099 --- /dev/null +++ b/tests/snippets/c/test_switch_space_before_colon.txt @@ -0,0 +1,58 @@ +---input--- +int main() +{ + switch (0) + { + case 0 : + default : + ; + } +} + +---tokens--- +'int' Keyword.Type +' ' Text +'main' Name.Function +'(' Punctuation +')' Punctuation +'\n' Text + +'{' Punctuation +'\n' Text + +' ' Text +'switch' Keyword +' ' Text +'(' Punctuation +'0' Literal.Number.Integer +')' Punctuation +'\n' Text + +' ' Text +'{' Punctuation +'\n' Text + +' ' Text +'case' Keyword +' ' Text +'0' Literal.Number.Integer +' ' Text +':' Operator +'\n' Text + +' ' Text +'default' Keyword +' ' Text +':' Operator +'\n' Text + +' ' Text +';' Punctuation +'\n' Text + +' ' Text +'}' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/cfm/test_basic_comment.txt b/tests/snippets/cfm/test_basic_comment.txt new file mode 100644 index 0000000..c07a72a --- /dev/null +++ b/tests/snippets/cfm/test_basic_comment.txt @@ -0,0 +1,8 @@ +---input--- + + +---tokens--- +'' Comment.Multiline +'\n' Text diff --git a/tests/snippets/cfm/test_nested_comment.txt b/tests/snippets/cfm/test_nested_comment.txt new file mode 100644 index 0000000..f8aaf4c --- /dev/null +++ b/tests/snippets/cfm/test_nested_comment.txt @@ -0,0 +1,12 @@ +---input--- + ---> + +---tokens--- +'' Comment.Multiline +' ' Comment.Multiline +'--->' Comment.Multiline +'\n' Text diff --git a/tests/snippets/coffeescript/test_beware_infinite_loop.txt b/tests/snippets/coffeescript/test_beware_infinite_loop.txt new file mode 100644 index 0000000..6ae9b75 --- /dev/null +++ b/tests/snippets/coffeescript/test_beware_infinite_loop.txt @@ -0,0 +1,14 @@ +# This demonstrates the case that "This isn't really guarding" comment +# refers to. + +---input--- +/a/x; + +---tokens--- +'' Text +'/' Operator +'a' Name.Other +'/' Operator +'x' Name.Other +';' Punctuation +'\n' Text diff --git a/tests/snippets/coffeescript/test_mixed_slashes.txt b/tests/snippets/coffeescript/test_mixed_slashes.txt new file mode 100644 index 0000000..7577b66 --- /dev/null +++ b/tests/snippets/coffeescript/test_mixed_slashes.txt @@ -0,0 +1,13 @@ +---input--- +a?/foo/:1/2; + +---tokens--- +'a' Name.Other +'?' Operator +'/foo/' Literal.String.Regex +':' Operator +'1' Literal.Number.Integer +'/' Operator +'2' Literal.Number.Integer +';' Punctuation +'\n' Text diff --git a/tests/snippets/conftest.py b/tests/snippets/conftest.py new file mode 100644 index 0000000..b476642 --- /dev/null +++ b/tests/snippets/conftest.py @@ -0,0 +1,31 @@ +""" + Generated lexer tests + ~~~~~~~~~~~~~~~~~~~~~ + + Checks that lexers output the expected tokens for each sample + under lexers/*/test_*.txt. + + After making a change, rather than updating the samples manually, + run `pytest --update-goldens tests/lexers`. + + To add a new sample, create a new file matching this pattern. + 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. + :license: BSD, see LICENSE for details. +""" + +import pytest + +from tests.conftest import LexerInlineTestItem + + +def pytest_collect_file(parent, path): + if path.ext == '.txt': + return LexerTestFile.from_parent(parent, fspath=path) + + +class LexerTestFile(pytest.File): + def collect(self): + yield LexerInlineTestItem.from_parent(self, name='') diff --git a/tests/snippets/console/fake_ps2_prompt.txt b/tests/snippets/console/fake_ps2_prompt.txt new file mode 100644 index 0000000..4921d30 --- /dev/null +++ b/tests/snippets/console/fake_ps2_prompt.txt @@ -0,0 +1,14 @@ +# Test that missing backslash means it's no prompt. + +---input--- +$ echo "> not a prompt" +> not a prompt + +---tokens--- +'$ ' Generic.Prompt +'echo' Name.Builtin +' ' Text +'"> not a prompt"' Literal.String.Double +'\n' Text + +'> not a prompt\n' Generic.Output diff --git a/tests/snippets/console/prompt_in_output.txt b/tests/snippets/console/prompt_in_output.txt new file mode 100644 index 0000000..96481d1 --- /dev/null +++ b/tests/snippets/console/prompt_in_output.txt @@ -0,0 +1,21 @@ +# Test that output that looks like a prompt is not detected as such. + +---input--- +$ cat \ +> test.txt +line1 +> file content, not prompt! + +---tokens--- +'$ ' Generic.Prompt +'cat' Text +' ' Text +'\\\n' Literal.String.Escape + +'> ' Generic.Prompt +'test.txt' Text +'\n' Text + +'line1\n' Generic.Output + +'> file content, not prompt!\n' Generic.Output diff --git a/tests/snippets/console/ps2_prompt.txt b/tests/snippets/console/ps2_prompt.txt new file mode 100644 index 0000000..f0aff93 --- /dev/null +++ b/tests/snippets/console/ps2_prompt.txt @@ -0,0 +1,15 @@ +---input--- +$ ls\ +> /does/not/exist +ls: cannot access ... + +---tokens--- +'$ ' Generic.Prompt +'ls' Text +'\\\n' Literal.String.Escape + +'> ' Generic.Prompt +'/does/not/exist' Text +'\n' Text + +'ls: cannot access ...\n' Generic.Output diff --git a/tests/snippets/console/test_comment_after_prompt.txt b/tests/snippets/console/test_comment_after_prompt.txt new file mode 100644 index 0000000..f115715 --- /dev/null +++ b/tests/snippets/console/test_comment_after_prompt.txt @@ -0,0 +1,6 @@ +---input--- +$# comment + +---tokens--- +'$' Generic.Prompt +'# comment\n' Comment.Single diff --git a/tests/snippets/console/test_newline_in_echo.txt b/tests/snippets/console/test_newline_in_echo.txt new file mode 100644 index 0000000..f1335f1 --- /dev/null +++ b/tests/snippets/console/test_newline_in_echo.txt @@ -0,0 +1,16 @@ +---input--- +$ echo \ +> hi +hi + +---tokens--- +'$ ' Generic.Prompt +'echo' Name.Builtin +' ' Text +'\\\n' Literal.String.Escape + +'> ' Generic.Prompt +'hi' Text +'\n' Text + +'hi\n' Generic.Output diff --git a/tests/snippets/console/test_newline_in_ls.txt b/tests/snippets/console/test_newline_in_ls.txt new file mode 100644 index 0000000..d556a98 --- /dev/null +++ b/tests/snippets/console/test_newline_in_ls.txt @@ -0,0 +1,16 @@ +---input--- +$ ls \ +> hi +hi + +---tokens--- +'$ ' Generic.Prompt +'ls' Text +' ' Text +'\\\n' Literal.String.Escape + +'> ' Generic.Prompt +'hi' Text +'\n' Text + +'hi\n' Generic.Output diff --git a/tests/snippets/console/test_virtualenv.txt b/tests/snippets/console/test_virtualenv.txt new file mode 100644 index 0000000..2b0182f --- /dev/null +++ b/tests/snippets/console/test_virtualenv.txt @@ -0,0 +1,11 @@ +---input--- +(env) [~/project]$ foo -h + +---tokens--- +'(env)' Generic.Prompt.VirtualEnv +' ' Text +'[~/project]$ ' Generic.Prompt +'foo' Text +' ' Text +'-h' Text +'\n' Text diff --git a/tests/snippets/coq/test_unicode.txt b/tests/snippets/coq/test_unicode.txt new file mode 100644 index 0000000..2007f7d --- /dev/null +++ b/tests/snippets/coq/test_unicode.txt @@ -0,0 +1,15 @@ +---input--- +Check (α ≻ β). + +---tokens--- +'Check' Keyword.Namespace +' ' Text +'(' Operator +'α' Name +' ' Text +'≻' Name.Builtin.Pseudo +' ' Text +'β' Name +')' Operator +'.' Operator +'\n' Text diff --git a/tests/snippets/cpp/test_good_comment.txt b/tests/snippets/cpp/test_good_comment.txt new file mode 100644 index 0000000..a6998e7 --- /dev/null +++ b/tests/snippets/cpp/test_good_comment.txt @@ -0,0 +1,6 @@ +---input--- +/* foo */ + +---tokens--- +'/* foo */' Comment.Multiline +'\n' Text diff --git a/tests/snippets/cpp/test_open_comment.txt b/tests/snippets/cpp/test_open_comment.txt new file mode 100644 index 0000000..3799214 --- /dev/null +++ b/tests/snippets/cpp/test_open_comment.txt @@ -0,0 +1,5 @@ +---input--- +/* foo + +---tokens--- +'/* foo\n' Comment.Multiline diff --git a/tests/snippets/crystal/test_annotation.txt b/tests/snippets/crystal/test_annotation.txt new file mode 100644 index 0000000..8962e17 --- /dev/null +++ b/tests/snippets/crystal/test_annotation.txt @@ -0,0 +1,16 @@ +---input--- +@[FOO::Bar::Baz(opt: "xx")] + +---tokens--- +'@[' Operator +'FOO::Bar::Baz' Name.Decorator +'(' Punctuation +'opt' Literal.String.Symbol +':' Punctuation +' ' Text +'"' Literal.String.Double +'xx' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +']' Operator +'\n' Text diff --git a/tests/snippets/crystal/test_array_access.txt b/tests/snippets/crystal/test_array_access.txt new file mode 100644 index 0000000..99c27c7 --- /dev/null +++ b/tests/snippets/crystal/test_array_access.txt @@ -0,0 +1,11 @@ +---input--- +[5][5]? + +---tokens--- +'[' Operator +'5' Literal.Number.Integer +']' Operator +'[' Operator +'5' Literal.Number.Integer +']?' Operator +'\n' Text diff --git a/tests/snippets/crystal/test_chars.txt b/tests/snippets/crystal/test_chars.txt new file mode 100644 index 0000000..0a0c5b0 --- /dev/null +++ b/tests/snippets/crystal/test_chars.txt @@ -0,0 +1,25 @@ +---input--- +'a' +'я' +'\u{1234}' +' +' +'abc' + +---tokens--- +"'a'" Literal.String.Char +'\n' Text + +"'я'" Literal.String.Char +'\n' Text + +"'\\u{1234}'" Literal.String.Char +'\n' Text + +"'\n'" Literal.String.Char +'\n' Text + +"'" Error +'abc' Name +"'" Error +'\n' Text diff --git a/tests/snippets/crystal/test_constant_and_module.txt b/tests/snippets/crystal/test_constant_and_module.txt new file mode 100644 index 0000000..547ec79 --- /dev/null +++ b/tests/snippets/crystal/test_constant_and_module.txt @@ -0,0 +1,14 @@ +---input--- +HTTP +HTTP::Server.new + +---tokens--- +'HTTP' Name.Constant +'\n' Text + +'HTTP' Name +'::' Operator +'Server' Name +'.' Operator +'new' Name +'\n' Text diff --git a/tests/snippets/crystal/test_escaped_bracestring.txt b/tests/snippets/crystal/test_escaped_bracestring.txt new file mode 100644 index 0000000..7bcf845 --- /dev/null +++ b/tests/snippets/crystal/test_escaped_bracestring.txt @@ -0,0 +1,19 @@ +---input--- +str.gsub(%r{\\\\}, "/") + +---tokens--- +'str' Name +'.' Operator +'gsub' Name +'(' Punctuation +'%r{' Literal.String.Regex +'\\\\' Literal.String.Regex +'\\\\' Literal.String.Regex +'}' Literal.String.Regex +',' Punctuation +' ' Text +'"' Literal.String.Double +'/' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +'\n' Text diff --git a/tests/snippets/crystal/test_escaped_interpolation.txt b/tests/snippets/crystal/test_escaped_interpolation.txt new file mode 100644 index 0000000..31ff900 --- /dev/null +++ b/tests/snippets/crystal/test_escaped_interpolation.txt @@ -0,0 +1,9 @@ +---input--- +"\#{a + b}" + +---tokens--- +'"' Literal.String.Double +'\\#' Literal.String.Escape +'{a + b}' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/crystal/test_interpolation_nested_curly.txt b/tests/snippets/crystal/test_interpolation_nested_curly.txt new file mode 100644 index 0000000..eceb04a --- /dev/null +++ b/tests/snippets/crystal/test_interpolation_nested_curly.txt @@ -0,0 +1,56 @@ +---input--- +"A#{ (3..5).group_by { |x| x/2}.map do |k,v| "#{k}" end.join }" + "Z" + +---tokens--- +'"' Literal.String.Double +'A' Literal.String.Double +'#{' Literal.String.Interpol +' ' Text +'(' Punctuation +'3' Literal.Number.Integer +'..' Operator +'5' Literal.Number.Integer +')' Punctuation +'.' Operator +'group_by' Name +' ' Text +'{' Literal.String.Interpol +' ' Text +'|' Operator +'x' Name +'|' Operator +' ' Text +'x' Name +'/' Operator +'2' Literal.Number.Integer +'}' Literal.String.Interpol +'.' Operator +'map' Name +' ' Text +'do' Keyword +' ' Text +'|' Operator +'k' Name +',' Punctuation +'v' Name +'|' Operator +' ' Text +'"' Literal.String.Double +'#{' Literal.String.Interpol +'k' Name +'}' Literal.String.Interpol +'"' Literal.String.Double +' ' Text +'end' Keyword +'.' Operator +'join' Name +' ' Text +'}' Literal.String.Interpol +'"' Literal.String.Double +' ' Text +'+' Operator +' ' Text +'"' Literal.String.Double +'Z' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/crystal/test_lib.txt b/tests/snippets/crystal/test_lib.txt new file mode 100644 index 0000000..41c0bf0 --- /dev/null +++ b/tests/snippets/crystal/test_lib.txt @@ -0,0 +1,58 @@ +---input--- +@[Link("some")] +lib LibSome +@[CallConvention("X86_StdCall")] +fun foo="some.foo"(thing : Void*) : LibC::Int +end + +---tokens--- +'@[' Operator +'Link' Name.Decorator +'(' Punctuation +'"' Literal.String.Double +'some' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +']' Operator +'\n' Text + +'lib' Keyword +' ' Text +'LibSome' Name.Namespace +'\n' Text + +'@[' Operator +'CallConvention' Name.Decorator +'(' Punctuation +'"' Literal.String.Double +'X86_StdCall' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +']' Operator +'\n' Text + +'fun' Keyword +' ' Text +'foo' Name.Function +'=' Operator +'"' Literal.String.Double +'some.foo' Literal.String.Double +'"' Literal.String.Double +'(' Punctuation +'thing' Name +' ' Text +':' Punctuation +' ' Text +'Void' Name +'*' Operator +')' Punctuation +' ' Text +':' Punctuation +' ' Text +'LibC' Name +'::' Operator +'Int' Name +'\n' Text + +'end' Keyword +'\n' Text diff --git a/tests/snippets/crystal/test_macro.txt b/tests/snippets/crystal/test_macro.txt new file mode 100644 index 0000000..a66c288 --- /dev/null +++ b/tests/snippets/crystal/test_macro.txt @@ -0,0 +1,76 @@ +---input--- +def<=>(other : self) : Int +{%for field in %w(first_name middle_name last_name)%} +cmp={{field.id}}<=>other.{{field.id}} +return cmp if cmp!=0 +{%end%} +0 +end + +---tokens--- +'def' Keyword +'<=>' Name.Function +'(' Punctuation +'other' Name +' ' Text +':' Punctuation +' ' Text +'self' Keyword +')' Punctuation +' ' Text +':' Punctuation +' ' Text +'Int' Name +'\n' Text + +'{%' Literal.String.Interpol +'for' Keyword +' ' Text +'field' Name +' ' Text +'in' Keyword +' ' Text +'%w(' Literal.String.Other +'first_name middle_name last_name' Literal.String.Other +')' Literal.String.Other +'%}' Literal.String.Interpol +'\n' Text + +'cmp' Name +'=' Operator +'{{' Literal.String.Interpol +'field' Name +'.' Operator +'id' Name +'}}' Literal.String.Interpol +'<=>' Operator +'other' Name +'.' Operator +'{{' Literal.String.Interpol +'field' Name +'.' Operator +'id' Name +'}}' Literal.String.Interpol +'\n' Text + +'return' Keyword +' ' Text +'cmp' Name +' ' Text +'if' Keyword +' ' Text +'cmp' Name +'!=' Operator +'0' Literal.Number.Integer +'\n' Text + +'{%' Literal.String.Interpol +'end' Keyword +'%}' Literal.String.Interpol +'\n' Text + +'0' Literal.Number.Integer +'\n' Text + +'end' Keyword +'\n' Text diff --git a/tests/snippets/crystal/test_operator_methods.txt b/tests/snippets/crystal/test_operator_methods.txt new file mode 100644 index 0000000..e4942ef --- /dev/null +++ b/tests/snippets/crystal/test_operator_methods.txt @@ -0,0 +1,18 @@ +---input--- +([] of Int32).[]?(5) + +---tokens--- +'(' Punctuation +'[' Operator +']' Operator +' ' Text +'of' Keyword +' ' Text +'Int32' Name +')' Punctuation +'.' Operator +'[]?' Name.Operator +'(' Punctuation +'5' Literal.Number.Integer +')' Punctuation +'\n' Text diff --git a/tests/snippets/crystal/test_percent_strings.txt b/tests/snippets/crystal/test_percent_strings.txt new file mode 100644 index 0000000..dd53ec3 --- /dev/null +++ b/tests/snippets/crystal/test_percent_strings.txt @@ -0,0 +1,41 @@ +---input--- +%(hello ("world")) +%[hello ["world"]] +%{hello "world"} +%> +%|hello "world"| + +---tokens--- +'%(' Literal.String.Other +'hello ' Literal.String.Other +'(' Literal.String.Other +'"world"' Literal.String.Other +')' Literal.String.Other +')' Literal.String.Other +'\n' Text + +'%[' Literal.String.Other +'hello ' Literal.String.Other +'[' Literal.String.Other +'"world"' Literal.String.Other +']' Literal.String.Other +']' Literal.String.Other +'\n' Text + +'%{' Literal.String.Other +'hello "world"' Literal.String.Other +'}' Literal.String.Other +'\n' Text + +'%<' Literal.String.Other +'hello ' Literal.String.Other +'<' Literal.String.Other +'"world"' Literal.String.Other +'>' Literal.String.Other +'>' Literal.String.Other +'\n' Text + +'%|' Literal.String.Other +'hello "world"' Literal.String.Other +'|' Literal.String.Other +'\n' Text diff --git a/tests/snippets/crystal/test_percent_strings_special.txt b/tests/snippets/crystal/test_percent_strings_special.txt new file mode 100644 index 0000000..96999af --- /dev/null +++ b/tests/snippets/crystal/test_percent_strings_special.txt @@ -0,0 +1,31 @@ +---input--- +%Q(hello \n #{name}) +%q(hello \n #{name}) +%w(foo\nbar baz) + +---tokens--- +'%Q(' Literal.String.Other +'hello ' Literal.String.Other +'\\n' Literal.String.Escape +' ' Literal.String.Other +'#{' Literal.String.Interpol +'name' Name +'}' Literal.String.Interpol +')' Literal.String.Other +'\n' Text + +'%q(' Literal.String.Other +'hello ' Literal.String.Other +'\\' Literal.String.Other +'n ' Literal.String.Other +'#' Literal.String.Other +'{name}' Literal.String.Other +')' Literal.String.Other +'\n' Text + +'%w(' Literal.String.Other +'foo' Literal.String.Other +'\\' Literal.String.Other +'nbar baz' Literal.String.Other +')' Literal.String.Other +'\n' Text diff --git a/tests/snippets/crystal/test_pseudo_builtins.txt b/tests/snippets/crystal/test_pseudo_builtins.txt new file mode 100644 index 0000000..3b1b471 --- /dev/null +++ b/tests/snippets/crystal/test_pseudo_builtins.txt @@ -0,0 +1,20 @@ +---input--- +record Cls do +def_equals s +end + +---tokens--- +'record' Name.Builtin.Pseudo +' ' Text +'Cls' Name +' ' Text +'do' Keyword +'\n' Text + +'def_equals' Name.Builtin.Pseudo +' ' Text +'s' Name +'\n' Text + +'end' Keyword +'\n' Text diff --git a/tests/snippets/crystal/test_pseudo_keywords.txt b/tests/snippets/crystal/test_pseudo_keywords.txt new file mode 100644 index 0000000..497200d --- /dev/null +++ b/tests/snippets/crystal/test_pseudo_keywords.txt @@ -0,0 +1,50 @@ +---input--- +def f(x : T, line = __LINE__) forall T +if x.is_a?(String) +pp! x +end +end + +---tokens--- +'def' Keyword +' ' Text +'f' Name.Function +'(' Punctuation +'x' Name +' ' Text +':' Punctuation +' ' Text +'T' Name +',' Punctuation +' ' Text +'line' Name +' ' Text +'=' Operator +' ' Text +'__LINE__' Keyword.Pseudo +')' Punctuation +' ' Text +'forall' Keyword.Pseudo +' ' Text +'T' Name +'\n' Text + +'if' Keyword +' ' Text +'x' Name +'.is_a?' Keyword.Pseudo +'(' Punctuation +'String' Name +')' Punctuation +'\n' Text + +'pp!' Name.Builtin.Pseudo +' ' Text +'x' Name +'\n' Text + +'end' Keyword +'\n' Text + +'end' Keyword +'\n' Text diff --git a/tests/snippets/crystal/test_range_syntax1.txt b/tests/snippets/crystal/test_range_syntax1.txt new file mode 100644 index 0000000..72d47e8 --- /dev/null +++ b/tests/snippets/crystal/test_range_syntax1.txt @@ -0,0 +1,8 @@ +---input--- +1...3 + +---tokens--- +'1' Literal.Number.Integer +'...' Operator +'3' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/crystal/test_range_syntax2.txt b/tests/snippets/crystal/test_range_syntax2.txt new file mode 100644 index 0000000..a72f838 --- /dev/null +++ b/tests/snippets/crystal/test_range_syntax2.txt @@ -0,0 +1,10 @@ +---input--- +1 .. 3 + +---tokens--- +'1' Literal.Number.Integer +' ' Text +'..' Operator +' ' Text +'3' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/csound/test_braced_strings.txt b/tests/snippets/csound/test_braced_strings.txt new file mode 100644 index 0000000..4ffa520 --- /dev/null +++ b/tests/snippets/csound/test_braced_strings.txt @@ -0,0 +1,11 @@ +---input--- +{{ +characters$MACRO. +}} + +---tokens--- +'{{' Literal.String +'\ncharacters$MACRO.\n' Literal.String + +'}}' Literal.String +'\n' Text diff --git a/tests/snippets/csound/test_comments.txt b/tests/snippets/csound/test_comments.txt new file mode 100644 index 0000000..3cb98c3 --- /dev/null +++ b/tests/snippets/csound/test_comments.txt @@ -0,0 +1,16 @@ +---input--- +/* + * comment + */ +; comment +// comment + +---tokens--- +'/*\n * comment\n */' Comment.Multiline +'\n' Text + +'; comment' Comment.Single +'\n' Text + +'// comment' Comment.Single +'\n' Text diff --git a/tests/snippets/csound/test_escape_sequences.txt b/tests/snippets/csound/test_escape_sequences.txt new file mode 100644 index 0000000..3a09327 --- /dev/null +++ b/tests/snippets/csound/test_escape_sequences.txt @@ -0,0 +1,122 @@ +---input--- +"\\" +{{\\}} +"\a" +{{\a}} +"\b" +{{\b}} +"\n" +{{\n}} +"\r" +{{\r}} +"\t" +{{\t}} +"\"" +{{\"}} +"\012" +{{\012}} +"\345" +{{\345}} +"\67" +{{\67}} + +---tokens--- +'"' Literal.String +'\\\\' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\\\' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\a' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\a' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\b' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\b' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\n' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\n' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\r' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\r' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\t' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\t' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\"' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\"' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\012' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\012' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\345' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\345' Literal.String.Escape +'}}' Literal.String +'\n' Text + +'"' Literal.String +'\\67' Literal.String.Escape +'"' Literal.String +'\n' Text + +'{{' Literal.String +'\\67' Literal.String.Escape +'}}' Literal.String +'\n' Text diff --git a/tests/snippets/csound/test_function_like_macro_definitions.txt b/tests/snippets/csound/test_function_like_macro_definitions.txt new file mode 100644 index 0000000..4ba9388 --- /dev/null +++ b/tests/snippets/csound/test_function_like_macro_definitions.txt @@ -0,0 +1,44 @@ +---input--- +#define MACRO(ARG1#ARG2) #macro_body# +#define/**/ +MACRO(ARG1'ARG2' ARG3)/**/ +#\#macro +body\## + +---tokens--- +'#define' Comment.Preproc +' ' Text +'MACRO' Comment.Preproc +'(' Punctuation +'ARG1' Comment.Preproc +'#' Punctuation +'ARG2' Comment.Preproc +')' Punctuation +' ' Text +'#' Punctuation +'macro_body' Comment.Preproc +'#' Punctuation +'\n' Text + +'#define' Comment.Preproc +'/**/' Comment.Multiline +'\n' Text + +'MACRO' Comment.Preproc +'(' Punctuation +'ARG1' Comment.Preproc +"'" Punctuation +'ARG2' Comment.Preproc +"'" Punctuation +' ' Text +'ARG3' Comment.Preproc +')' Punctuation +'/**/' Comment.Multiline +'\n' Text + +'#' Punctuation +'\\#' Comment.Preproc +'macro\nbody' Comment.Preproc +'\\#' Comment.Preproc +'#' Punctuation +'\n' Text diff --git a/tests/snippets/csound/test_function_like_macros.txt b/tests/snippets/csound/test_function_like_macros.txt new file mode 100644 index 0000000..776e705 --- /dev/null +++ b/tests/snippets/csound/test_function_like_macros.txt @@ -0,0 +1,40 @@ +---input--- +$MACRO.(((x#y\)))' "(#'x)\)x\))"# {{x\))x)\)(#'}}); + +---tokens--- +'$MACRO.' Comment.Preproc +'(' Punctuation +'(' Comment.Preproc +'(' Comment.Preproc +'x#y\\)' Comment.Preproc +')' Comment.Preproc +')' Comment.Preproc +"'" Punctuation +' ' Comment.Preproc +'"' Literal.String +'(' Error +'#' Error +"'" Error +'x' Literal.String +')' Error +'\\)' Comment.Preproc +'x' Literal.String +'\\)' Comment.Preproc +')' Error +'"' Literal.String +'#' Punctuation +' ' Comment.Preproc +'{{' Literal.String +'x' Literal.String +'\\)' Comment.Preproc +')' Error +'x' Literal.String +')' Error +'\\)' Comment.Preproc +'(' Error +'#' Error +"'" Error +'}}' Literal.String +')' Punctuation +';' Comment.Single +'\n' Text diff --git a/tests/snippets/csound/test_global_value_identifiers.txt b/tests/snippets/csound/test_global_value_identifiers.txt new file mode 100644 index 0000000..7dfa760 --- /dev/null +++ b/tests/snippets/csound/test_global_value_identifiers.txt @@ -0,0 +1,30 @@ +---input--- +0dbfs +A4 +kr +ksmps +nchnls +nchnls_i +sr + +---tokens--- +'0dbfs' Name.Variable.Global +'\n' Text + +'A4' Name.Variable.Global +'\n' Text + +'kr' Name.Variable.Global +'\n' Text + +'ksmps' Name.Variable.Global +'\n' Text + +'nchnls' Name.Variable.Global +'\n' Text + +'nchnls_i' Name.Variable.Global +'\n' Text + +'sr' Name.Variable.Global +'\n' Text diff --git a/tests/snippets/csound/test_goto_statements.txt b/tests/snippets/csound/test_goto_statements.txt new file mode 100644 index 0000000..2225328 --- /dev/null +++ b/tests/snippets/csound/test_goto_statements.txt @@ -0,0 +1,176 @@ +---input--- +goto aLabel +igoto aLabel +kgoto aLabel +reinit aLabel +rigoto aLabel +tigoto aLabel +cggoto 1==0, aLabel +cigoto 1==0, aLabel +cingoto 1==0, aLabel +ckgoto 1==0, aLabel +cngoto 1==0, aLabel +cnkgoto 1==0, aLabel +timout 0, 0, aLabel +loop_ge 0, 0, 0, aLabel +loop_gt 0, 0, 0, aLabel +loop_le 0, 0, 0, aLabel +loop_lt 0, 0, 0, aLabel + +---tokens--- +'goto' Keyword +' ' Text +'aLabel' Name.Label +'\n' Text + +'igoto' Keyword +' ' Text +'aLabel' Name.Label +'\n' Text + +'kgoto' Keyword +' ' Text +'aLabel' Name.Label +'\n' Text + +'reinit' Keyword.Pseudo +' ' Text +'aLabel' Name.Label +'\n' Text + +'rigoto' Keyword.Pseudo +' ' Text +'aLabel' Name.Label +'\n' Text + +'tigoto' Keyword.Pseudo +' ' Text +'aLabel' Name.Label +'\n' Text + +'cggoto' Keyword.Pseudo +' ' Text +'1' Literal.Number.Integer +'==' Operator +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'cigoto' Keyword.Pseudo +' ' Text +'1' Literal.Number.Integer +'==' Operator +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'cingoto' Keyword.Pseudo +' ' Text +'1' Literal.Number.Integer +'==' Operator +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'ckgoto' Keyword.Pseudo +' ' Text +'1' Literal.Number.Integer +'==' Operator +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'cngoto' Keyword.Pseudo +' ' Text +'1' Literal.Number.Integer +'==' Operator +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'cnkgoto' Keyword.Pseudo +' ' Text +'1' Literal.Number.Integer +'==' Operator +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'timout' Keyword.Pseudo +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'loop_ge' Keyword.Pseudo +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'loop_gt' Keyword.Pseudo +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'loop_le' Keyword.Pseudo +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text + +'loop_lt' Keyword.Pseudo +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'0' Literal.Number.Integer +',' Punctuation +' ' Text +'aLabel' Name.Label +'\n' Text diff --git a/tests/snippets/csound/test_include_directives.txt b/tests/snippets/csound/test_include_directives.txt new file mode 100644 index 0000000..ea1c368 --- /dev/null +++ b/tests/snippets/csound/test_include_directives.txt @@ -0,0 +1,14 @@ +---input--- +#include/**/"file.udo" +#include/**/|file.udo| + +---tokens--- +'#include' Comment.Preproc +'/**/' Comment.Multiline +'"file.udo"' Literal.String +'\n' Text + +'#include' Comment.Preproc +'/**/' Comment.Multiline +'|file.udo|' Literal.String +'\n' Text diff --git a/tests/snippets/csound/test_includestr_directives.txt b/tests/snippets/csound/test_includestr_directives.txt new file mode 100644 index 0000000..bdd9cda --- /dev/null +++ b/tests/snippets/csound/test_includestr_directives.txt @@ -0,0 +1,11 @@ +---input--- +#includestr/**/"$MACRO..udo" + +---tokens--- +'#includestr' Comment.Preproc +'/**/' Comment.Multiline +'"' Literal.String +'$MACRO.' Comment.Preproc +'.udo' Literal.String +'"' Literal.String +'\n' Text diff --git a/tests/snippets/csound/test_instrument_blocks.txt b/tests/snippets/csound/test_instrument_blocks.txt new file mode 100644 index 0000000..1fa6941 --- /dev/null +++ b/tests/snippets/csound/test_instrument_blocks.txt @@ -0,0 +1,42 @@ +---input--- +instr/**/1,/**/N_a_M_e_,/**/+Name/**/// + iDuration = p3 + outc:a(aSignal) +endin + +---tokens--- +'instr' Keyword.Declaration +'/**/' Comment.Multiline +'1' Name.Function +',' Punctuation +'/**/' Comment.Multiline +'N_a_M_e_' Name.Function +',' Punctuation +'/**/' Comment.Multiline +'+' Punctuation +'Name' Name.Function +'/**/' Comment.Multiline +'//' Comment.Single +'\n' Text + +' ' Text +'i' Keyword.Type +'Duration' Name +' ' Text +'=' Operator +' ' Text +'p3' Name.Variable.Instance +'\n' Text + +' ' Text +'outc' Name.Builtin +':' Punctuation +'a' Keyword.Type +'(' Punctuation +'a' Keyword.Type +'Signal' Name +')' Punctuation +'\n' Text + +'endin' Keyword.Declaration +'\n' Text diff --git a/tests/snippets/csound/test_keywords.txt b/tests/snippets/csound/test_keywords.txt new file mode 100644 index 0000000..ccd8158 --- /dev/null +++ b/tests/snippets/csound/test_keywords.txt @@ -0,0 +1,62 @@ +---input--- +do +else +elseif +endif +enduntil +fi +if +ithen +kthen +od +then +until +while +return +rireturn + +---tokens--- +'do' Keyword +'\n' Text + +'else' Keyword +'\n' Text + +'elseif' Keyword +'\n' Text + +'endif' Keyword +'\n' Text + +'enduntil' Keyword +'\n' Text + +'fi' Keyword +'\n' Text + +'if' Keyword +'\n' Text + +'ithen' Keyword +'\n' Text + +'kthen' Keyword +'\n' Text + +'od' Keyword +'\n' Text + +'then' Keyword +'\n' Text + +'until' Keyword +'\n' Text + +'while' Keyword +'\n' Text + +'return' Keyword.Pseudo +'\n' Text + +'rireturn' Keyword.Pseudo +'\n' Text diff --git a/tests/snippets/csound/test_labels.txt b/tests/snippets/csound/test_labels.txt new file mode 100644 index 0000000..2f5de7f --- /dev/null +++ b/tests/snippets/csound/test_labels.txt @@ -0,0 +1,13 @@ +---input--- +aLabel: + label2: + +---tokens--- +'aLabel' Name.Label +':' Punctuation +'\n' Text + +' ' Text +'label2' Name.Label +':' Punctuation +'\n' Text diff --git a/tests/snippets/csound/test_macro_preprocessor_directives.txt b/tests/snippets/csound/test_macro_preprocessor_directives.txt new file mode 100644 index 0000000..310cce2 --- /dev/null +++ b/tests/snippets/csound/test_macro_preprocessor_directives.txt @@ -0,0 +1,20 @@ +---input--- +#ifdef MACRO +#ifndef MACRO +#undef MACRO + +---tokens--- +'#ifdef' Comment.Preproc +' ' Text +'MACRO' Comment.Preproc +'\n' Text + +'#ifndef' Comment.Preproc +' ' Text +'MACRO' Comment.Preproc +'\n' Text + +'#undef' Comment.Preproc +' ' Text +'MACRO' Comment.Preproc +'\n' Text diff --git a/tests/snippets/csound/test_name.txt b/tests/snippets/csound/test_name.txt new file mode 100644 index 0000000..2bb3f51 --- /dev/null +++ b/tests/snippets/csound/test_name.txt @@ -0,0 +1,9 @@ +---input--- +kG:V + +---tokens--- +'k' Keyword.Type +'G' Name +':' Punctuation +'V' Name +'\n' Text diff --git a/tests/snippets/csound/test_numbers.txt b/tests/snippets/csound/test_numbers.txt new file mode 100644 index 0000000..87dc46f --- /dev/null +++ b/tests/snippets/csound/test_numbers.txt @@ -0,0 +1,52 @@ +---input--- +123 0123456789 +0xabcdef0123456789 0XABCDEF +1e2 +3e+4 +5e-6 +7E8 +9E+0 +1E-2 +3. +4.56 +.789 + +---tokens--- +'123' Literal.Number.Integer +' ' Text +'0123456789' Literal.Number.Integer +'\n' Text + +'0x' Keyword.Type +'abcdef0123456789' Literal.Number.Hex +' ' Text +'0X' Keyword.Type +'ABCDEF' Literal.Number.Hex +'\n' Text + +'1e2' Literal.Number.Float +'\n' Text + +'3e+4' Literal.Number.Float +'\n' Text + +'5e-6' Literal.Number.Float +'\n' Text + +'7E8' Literal.Number.Float +'\n' Text + +'9E+0' Literal.Number.Float +'\n' Text + +'1E-2' Literal.Number.Float +'\n' Text + +'3.' Literal.Number.Float +'\n' Text + +'4.56' Literal.Number.Float +'\n' Text + +'.789' Literal.Number.Float +'\n' Text diff --git a/tests/snippets/csound/test_object_like_macro_definitions.txt b/tests/snippets/csound/test_object_like_macro_definitions.txt new file mode 100644 index 0000000..fb2b7ab --- /dev/null +++ b/tests/snippets/csound/test_object_like_macro_definitions.txt @@ -0,0 +1,30 @@ +---input--- +# define MACRO#macro_body# +#define/**/ +MACRO/**/ +#\#macro +body\## + +---tokens--- +'# \tdefine' Comment.Preproc +' ' Text +'MACRO' Comment.Preproc +'#' Punctuation +'macro_body' Comment.Preproc +'#' Punctuation +'\n' Text + +'#define' Comment.Preproc +'/**/' Comment.Multiline +'\n' Text + +'MACRO' Comment.Preproc +'/**/' Comment.Multiline +'\n' Text + +'#' Punctuation +'\\#' Comment.Preproc +'macro\nbody' Comment.Preproc +'\\#' Comment.Preproc +'#' Punctuation +'\n' Text diff --git a/tests/snippets/csound/test_operators.txt b/tests/snippets/csound/test_operators.txt new file mode 100644 index 0000000..107aa66 --- /dev/null +++ b/tests/snippets/csound/test_operators.txt @@ -0,0 +1,114 @@ +---input--- ++ +- +~ +¬ +! +* +/ +^ +% +<< +>> +< +> +<= +>= +== +!= +& +# +| +&& +|| +? +: ++= +-= +*= +/= + +---tokens--- +'+' Operator +'\n' Text + +'-' Operator +'\n' Text + +'~' Operator +'\n' Text + +'¬' Operator +'\n' Text + +'!' Operator +'\n' Text + +'*' Operator +'\n' Text + +'/' Operator +'\n' Text + +'^' Operator +'\n' Text + +'%' Operator +'\n' Text + +'<<' Operator +'\n' Text + +'>>' Operator +'\n' Text + +'<' Operator +'\n' Text + +'>' Operator +'\n' Text + +'<=' Operator +'\n' Text + +'>=' Operator +'\n' Text + +'==' Operator +'\n' Text + +'!=' Operator +'\n' Text + +'&' Operator +'\n' Text + +'#' Operator +'\n' Text + +'|' Operator +'\n' Text + +'&&' Operator +'\n' Text + +'||' Operator +'\n' Text + +'?' Operator +'\n' Text + +':' Operator +'\n' Text + +'+=' Operator +'\n' Text + +'-=' Operator +'\n' Text + +'*=' Operator +'\n' Text + +'/=' Operator +'\n' Text diff --git a/tests/snippets/csound/test_other_preprocessor_directives.txt b/tests/snippets/csound/test_other_preprocessor_directives.txt new file mode 100644 index 0000000..ce3a4a0 --- /dev/null +++ b/tests/snippets/csound/test_other_preprocessor_directives.txt @@ -0,0 +1,26 @@ +---input--- +#else +#end +#endif +### +@ 12345 +@@ 67890 + +---tokens--- +'#else' Comment.Preproc +'\n' Text + +'#end' Comment.Preproc +'\n' Text + +'#endif' Comment.Preproc +'\n' Text + +'###' Comment.Preproc +'\n' Text + +'@ \t12345' Comment.Preproc +'\n' Text + +'@@ \t67890' Comment.Preproc +'\n' Text diff --git a/tests/snippets/csound/test_printks_and_prints_escape_sequences.txt b/tests/snippets/csound/test_printks_and_prints_escape_sequences.txt new file mode 100644 index 0000000..230598f --- /dev/null +++ b/tests/snippets/csound/test_printks_and_prints_escape_sequences.txt @@ -0,0 +1,290 @@ +---input--- +printks "%!" +printks "%%" +printks "%n" +printks "%N" +printks "%r" +printks "%R" +printks "%t" +printks "%T" +printks "\\a" +printks "\\A" +printks "\\b" +printks "\\B" +printks "\\n" +printks "\\N" +printks "\\r" +printks "\\R" +printks "\\t" +printks "\\T" +prints "%!" +prints "%%" +prints "%n" +prints "%N" +prints "%r" +prints "%R" +prints "%t" +prints "%T" +prints "\\a" +prints "\\A" +prints "\\b" +prints "\\B" +prints "\\n" +prints "\\N" +prints "\\r" +prints "\\R" +prints "\\t" +prints "\\T" + +---tokens--- +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%!' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%%' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%n' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%N' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%r' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%R' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%t' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'%T' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\a' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\A' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\b' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\B' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\n' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\N' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\r' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\R' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\t' Literal.String.Escape +'"' Literal.String +'\n' Text + +'printks' Name.Builtin +' ' Text +'"' Literal.String +'\\\\T' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%!' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%%' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%n' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%N' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%r' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%R' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%t' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'%T' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\a' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\A' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\b' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\B' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\n' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\N' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\r' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\R' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\t' Literal.String.Escape +'"' Literal.String +'\n' Text + +'prints' Name.Builtin +' ' Text +'"' Literal.String +'\\\\T' Literal.String.Escape +'"' Literal.String +'\n' Text diff --git a/tests/snippets/csound/test_quoted_strings.txt b/tests/snippets/csound/test_quoted_strings.txt new file mode 100644 index 0000000..46aec4f --- /dev/null +++ b/tests/snippets/csound/test_quoted_strings.txt @@ -0,0 +1,9 @@ +---input--- +"characters$MACRO." + +---tokens--- +'"' Literal.String +'characters' Literal.String +'$MACRO.' Comment.Preproc +'"' Literal.String +'\n' Text diff --git a/tests/snippets/csound/test_user_defined_opcodes.txt b/tests/snippets/csound/test_user_defined_opcodes.txt new file mode 100644 index 0000000..0bf747f --- /dev/null +++ b/tests/snippets/csound/test_user_defined_opcodes.txt @@ -0,0 +1,24 @@ +---input--- +opcode/**/aUDO,/**/i[],/**/aik// + aUDO +endop + +---tokens--- +'opcode' Keyword.Declaration +'/**/' Comment.Multiline +'aUDO' Name.Function +',' Punctuation +'/**/' Comment.Multiline +'i[]' Keyword.Type +',' Punctuation +'/**/' Comment.Multiline +'aik' Keyword.Type +'//' Comment.Single +'\n' Text + +' ' Text +'aUDO' Name.Function +'\n' Text + +'endop' Keyword.Declaration +'\n' Text diff --git a/tests/snippets/doscon/test_gt_only.txt b/tests/snippets/doscon/test_gt_only.txt new file mode 100644 index 0000000..b37b8fa --- /dev/null +++ b/tests/snippets/doscon/test_gt_only.txt @@ -0,0 +1,11 @@ +---input--- +> py +hi + +---tokens--- +'>' Generic.Prompt +' ' Text +'py' Text +'\n' Text + +'hi\n' Generic.Output diff --git a/tests/snippets/ezhil/test_function.txt b/tests/snippets/ezhil/test_function.txt new file mode 100644 index 0000000..6f88394 --- /dev/null +++ b/tests/snippets/ezhil/test_function.txt @@ -0,0 +1,99 @@ +---input--- +# (C) முத்தையா அண்ணாமலை 2013, 2015 +நிரல்பாகம் gcd ( x, y ) +மு = max(x,y) + q = min(x,y) + +@( q == 0 ) ஆனால் + பின்கொடு மு +முடி +பின்கொடு gcd( மு - q , q ) +முடி + +---tokens--- +'# (C) முத்தையா அண்ணாமலை 2013, 2015\n' Comment.Single + +'நிரல்பாகம்' Keyword +' ' Text +'gcd' Name +' ' Text +'(' Punctuation +' ' Text +'x' Name +',' Operator +' ' Text +'y' Name +' ' Text +')' Punctuation +'\n' Text + +'மு' Name +' ' Text +'=' Operator +' ' Text +'max' Name.Builtin +'(' Punctuation +'x' Name +',' Operator +'y' Name +')' Punctuation +'\n' Text + +' ' Text +'q' Name +' ' Text +'=' Operator +' ' Text +'min' Name.Builtin +'(' Punctuation +'x' Name +',' Operator +'y' Name +')' Punctuation +'\n' Text + +'\n' Text + +'@' Operator +'(' Punctuation +' ' Text +'q' Name +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +')' Punctuation +' ' Text +'ஆனால்' Keyword +'\n' Text + +' ' Text +'பின்கொடு' Keyword +' ' Text +'மு' Name +'\n' Text + +'முடி' Keyword +'\n' Text + +'பின்கொடு' Keyword +' ' Text +'gcd' Name +'(' Punctuation +' ' Text +'மு' Name +' ' Text +'-' Operator +' ' Text +'q' Name +' ' Text +',' Operator +' ' Text +'q' Name +' ' Text +')' Punctuation +'\n' Text + +'முடி' Keyword +'\n' Text diff --git a/tests/snippets/ezhil/test_gcd_expr.txt b/tests/snippets/ezhil/test_gcd_expr.txt new file mode 100644 index 0000000..0e5cd29 --- /dev/null +++ b/tests/snippets/ezhil/test_gcd_expr.txt @@ -0,0 +1,21 @@ +---input--- +1^3+(5-5)*gcd(a,b) + +---tokens--- +'1' Literal.Number.Integer +'^' Operator +'3' Literal.Number.Integer +'+' Operator +'(' Punctuation +'5' Literal.Number.Integer +'-' Operator +'5' Literal.Number.Integer +')' Punctuation +'*' Operator +'gcd' Name +'(' Punctuation +'a' Name +',' Operator +'b' Name +')' Punctuation +'\n' Text diff --git a/tests/snippets/ezhil/test_if_statement.txt b/tests/snippets/ezhil/test_if_statement.txt new file mode 100644 index 0000000..b4f3b5b --- /dev/null +++ b/tests/snippets/ezhil/test_if_statement.txt @@ -0,0 +1,28 @@ +---input--- +@( 0 > 3 ) ஆனால் + பதிப்பி "wont print" +முடி + +---tokens--- +'@' Operator +'(' Punctuation +' ' Text +'0' Literal.Number.Integer +' ' Text +'>' Operator +' ' Text +'3' Literal.Number.Integer +' ' Text +')' Punctuation +' ' Text +'ஆனால்' Keyword +'\n' Text + +' ' Text +'பதிப்பி' Keyword +' ' Text +'"wont print"' Literal.String +'\n' Text + +'முடி' Keyword +'\n' Text diff --git a/tests/snippets/ezhil/test_sum.txt b/tests/snippets/ezhil/test_sum.txt new file mode 100644 index 0000000..2ce200d --- /dev/null +++ b/tests/snippets/ezhil/test_sum.txt @@ -0,0 +1,8 @@ +---input--- +1+3 + +---tokens--- +'1' Literal.Number.Integer +'+' Operator +'3' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/gas/test_comments.txt b/tests/snippets/gas/test_comments.txt new file mode 100644 index 0000000..723e66a --- /dev/null +++ b/tests/snippets/gas/test_comments.txt @@ -0,0 +1,29 @@ +---input--- +lock addq $0, /* comments */ (%rsp) /* +// comments +*/ xorq %rax, %rax // comments + +---tokens--- +'lock' Name.Attribute +' ' Text +'addq' Name.Function +' ' Text +'$0' Name.Constant +',' Punctuation +' ' Text +'/* comments */' Comment.Multiline +' ' Text +'(' Punctuation +'%rsp' Name.Variable +')' Punctuation +' ' Text +'/*\n// comments\n*/' Comment.Multiline +' ' Text +'xorq' Name.Function +' ' Text +'%rax' Name.Variable +',' Punctuation +' ' Text +'%rax' Name.Variable +' ' Text +'// comments\n' Comment.Single diff --git a/tests/snippets/gdscript/test_comment.txt b/tests/snippets/gdscript/test_comment.txt new file mode 100644 index 0000000..1b85dd5 --- /dev/null +++ b/tests/snippets/gdscript/test_comment.txt @@ -0,0 +1,6 @@ +---input--- +# Comment + +---tokens--- +'# Comment' Comment.Single +'\n' Text diff --git a/tests/snippets/gdscript/test_export_array.txt b/tests/snippets/gdscript/test_export_array.txt new file mode 100644 index 0000000..6b6410e --- /dev/null +++ b/tests/snippets/gdscript/test_export_array.txt @@ -0,0 +1,17 @@ +---input--- +export (Array, AudioStream) var streams + +---tokens--- +'export' Keyword +' ' Text +'(' Punctuation +'Array' Name.Builtin.Type +',' Punctuation +' ' Text +'AudioStream' Name +')' Punctuation +' ' Text +'var' Keyword +' ' Text +'streams' Name +'\n' Text diff --git a/tests/snippets/gdscript/test_function_with_types.txt b/tests/snippets/gdscript/test_function_with_types.txt new file mode 100644 index 0000000..0525694 --- /dev/null +++ b/tests/snippets/gdscript/test_function_with_types.txt @@ -0,0 +1,33 @@ +---input--- +func abc(arg: String) -> void: + print("Hello", arg) + +---tokens--- +'func' Keyword +' ' Text +'abc' Name +'(' Punctuation +'arg' Name +':' Punctuation +' ' Text +'String' Name.Builtin.Type +')' Punctuation +' ' Text +'-' Operator +'>' Operator +' ' Text +'void' Name +':' Punctuation +'\n' Text + +'\t' Text +'print' Name.Builtin +'(' Punctuation +'"' Literal.String.Double +'Hello' Literal.String.Double +'"' Literal.String.Double +',' Punctuation +' ' Text +'arg' Name +')' Punctuation +'\n' Text diff --git a/tests/snippets/gdscript/test_inner_class.txt b/tests/snippets/gdscript/test_inner_class.txt new file mode 100644 index 0000000..4c69275 --- /dev/null +++ b/tests/snippets/gdscript/test_inner_class.txt @@ -0,0 +1,20 @@ +---input--- +class InnerClass: + var a = 5 + +---tokens--- +'class' Keyword +' ' Text +'InnerClass' Name +':' Punctuation +'\n' Text + +'\t' Text +'var' Keyword +' ' Text +'a' Name +' ' Text +'=' Operator +' ' Text +'5' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/gdscript/test_multiline_string.txt b/tests/snippets/gdscript/test_multiline_string.txt new file mode 100644 index 0000000..d886983 --- /dev/null +++ b/tests/snippets/gdscript/test_multiline_string.txt @@ -0,0 +1,8 @@ +---input--- +""" +Multiline +""" + +---tokens--- +'"""\nMultiline\n"""' Literal.String.Doc +'\n' Text diff --git a/tests/snippets/gdscript/test_signal.txt b/tests/snippets/gdscript/test_signal.txt new file mode 100644 index 0000000..ab861f7 --- /dev/null +++ b/tests/snippets/gdscript/test_signal.txt @@ -0,0 +1,15 @@ +---input--- +signal sig (arg1, arg2) + +---tokens--- +'signal' Keyword +' ' Text +'sig' Name +' ' Text +'(' Punctuation +'arg1' Name +',' Punctuation +' ' Text +'arg2' Name +')' Punctuation +'\n' Text diff --git a/tests/snippets/gdscript/test_simple_function.txt b/tests/snippets/gdscript/test_simple_function.txt new file mode 100644 index 0000000..50ab82f --- /dev/null +++ b/tests/snippets/gdscript/test_simple_function.txt @@ -0,0 +1,22 @@ +---input--- +func abc(arg): + print("Hello, World!") + +---tokens--- +'func' Keyword +' ' Text +'abc' Name +'(' Punctuation +'arg' Name +')' Punctuation +':' Punctuation +'\n' Text + +'\t' Text +'print' Name.Builtin +'(' Punctuation +'"' Literal.String.Double +'Hello, World!' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +'\n' Text diff --git a/tests/snippets/gdscript/test_variable_declaration_and_assigment.txt b/tests/snippets/gdscript/test_variable_declaration_and_assigment.txt new file mode 100644 index 0000000..65b4b96 --- /dev/null +++ b/tests/snippets/gdscript/test_variable_declaration_and_assigment.txt @@ -0,0 +1,12 @@ +---input--- +var abc = 5.4 + +---tokens--- +'var' Keyword +' ' Text +'abc' Name +' ' Text +'=' Operator +' ' Text +'5.4' Literal.Number.Float +'\n' Text diff --git a/tests/snippets/haskell/test_promoted_names.txt b/tests/snippets/haskell/test_promoted_names.txt new file mode 100644 index 0000000..087cd26 --- /dev/null +++ b/tests/snippets/haskell/test_promoted_names.txt @@ -0,0 +1,10 @@ +---input--- +'x ': '[] + +---tokens--- +"'x" Name +' ' Text +"':" Keyword.Type +' ' Text +"'[]" Keyword.Type +'\n' Text diff --git a/tests/snippets/http/test_application_calendar_xml.txt b/tests/snippets/http/test_application_calendar_xml.txt new file mode 100644 index 0000000..81fff58 --- /dev/null +++ b/tests/snippets/http/test_application_calendar_xml.txt @@ -0,0 +1,28 @@ +---input--- +GET / HTTP/1.0 +Content-Type: application/calendar+xml + + + +---tokens--- +'GET' Name.Function +' ' Text +'/' Name.Namespace +' ' Text +'HTTP' Keyword.Reserved +'/' Operator +'1.0' Literal.Number +'\n' Text + +'Content-Type' Name.Attribute +'' Text +':' Operator +' ' Text +'application/calendar+xml' Literal +'\n' Text + +'\n' Text + +'' Name.Tag +'\n' Text diff --git a/tests/snippets/http/test_application_xml.txt b/tests/snippets/http/test_application_xml.txt new file mode 100644 index 0000000..6b3cffa --- /dev/null +++ b/tests/snippets/http/test_application_xml.txt @@ -0,0 +1,28 @@ +---input--- +GET / HTTP/1.0 +Content-Type: application/xml + + + +---tokens--- +'GET' Name.Function +' ' Text +'/' Name.Namespace +' ' Text +'HTTP' Keyword.Reserved +'/' Operator +'1.0' Literal.Number +'\n' Text + +'Content-Type' Name.Attribute +'' Text +':' Operator +' ' Text +'application/xml' Literal +'\n' Text + +'\n' Text + +'' Name.Tag +'\n' Text diff --git a/tests/snippets/http/test_http_status_line.txt b/tests/snippets/http/test_http_status_line.txt new file mode 100644 index 0000000..8f8449d --- /dev/null +++ b/tests/snippets/http/test_http_status_line.txt @@ -0,0 +1,12 @@ +---input--- +HTTP/1.1 200 OK + +---tokens--- +'HTTP' Keyword.Reserved +'/' Operator +'1.1' Literal.Number +' ' Text +'200' Literal.Number +' ' Text +'OK' Name.Exception +'\n' Text diff --git a/tests/snippets/http/test_http_status_line_without_reason_phrase.txt b/tests/snippets/http/test_http_status_line_without_reason_phrase.txt new file mode 100644 index 0000000..91bfa0e --- /dev/null +++ b/tests/snippets/http/test_http_status_line_without_reason_phrase.txt @@ -0,0 +1,10 @@ +---input--- +HTTP/1.1 200 + +---tokens--- +'HTTP' Keyword.Reserved +'/' Operator +'1.1' Literal.Number +' ' Text +'200' Literal.Number +'\n' Text diff --git a/tests/snippets/http/test_http_status_line_without_reason_phrase_rfc_7230.txt b/tests/snippets/http/test_http_status_line_without_reason_phrase_rfc_7230.txt new file mode 100644 index 0000000..e0c9896 --- /dev/null +++ b/tests/snippets/http/test_http_status_line_without_reason_phrase_rfc_7230.txt @@ -0,0 +1,11 @@ +---input--- +HTTP/1.1 200 + +---tokens--- +'HTTP' Keyword.Reserved +'/' Operator +'1.1' Literal.Number +' ' Text +'200' Literal.Number +' ' Text +'\n' Text diff --git a/tests/snippets/idris/test_compiler_directive.txt b/tests/snippets/idris/test_compiler_directive.txt new file mode 100644 index 0000000..cc56e9a --- /dev/null +++ b/tests/snippets/idris/test_compiler_directive.txt @@ -0,0 +1,20 @@ +---input--- +%link C "object.o" +%name Vect xs + +---tokens--- +'%link' Keyword.Reserved +' ' Text +'C' Keyword.Type +' ' Text +'"' Literal.String +'object.o' Literal.String +'"' Literal.String +'\n' Text + +'%name' Keyword.Reserved +' ' Text +'Vect' Keyword.Type +' ' Text +'xs' Text +'\n' Text diff --git a/tests/snippets/idris/test_reserved_word.txt b/tests/snippets/idris/test_reserved_word.txt new file mode 100644 index 0000000..53c94e0 --- /dev/null +++ b/tests/snippets/idris/test_reserved_word.txt @@ -0,0 +1,29 @@ +---input--- +namespace Foobar + links : String + links = "abc" + +---tokens--- +'namespace' Keyword.Reserved +' ' Text +'Foobar' Keyword.Type +'\n' Text + +' ' Text +'links' Name.Function +' ' Text +':' Operator.Word +' ' Text +'String' Keyword.Type +'\n' Text + +' ' Text +' ' Text +'links' Text +' ' Text +'=' Operator.Word +' ' Text +'"' Literal.String +'abc' Literal.String +'"' Literal.String +'\n' Text diff --git a/tests/snippets/ini/test_indented_entries_1.txt b/tests/snippets/ini/test_indented_entries_1.txt new file mode 100644 index 0000000..b22b2fa --- /dev/null +++ b/tests/snippets/ini/test_indented_entries_1.txt @@ -0,0 +1,16 @@ +---input--- +[section] + key1=value1 + key2=value2 + +---tokens--- +'[section]' Keyword +'\n ' Text +'key1' Name.Attribute +'=' Operator +'value1' Literal.String +'\n ' Text +'key2' Name.Attribute +'=' Operator +'value2' Literal.String +'\n' Text diff --git a/tests/snippets/ini/test_indented_entries_2.txt b/tests/snippets/ini/test_indented_entries_2.txt new file mode 100644 index 0000000..4175bab --- /dev/null +++ b/tests/snippets/ini/test_indented_entries_2.txt @@ -0,0 +1,20 @@ +---input--- +[section] + key1 = value1 + key2 = value2 + +---tokens--- +'[section]' Keyword +'\n ' Text +'key1' Name.Attribute +' ' Text +'=' Operator +' ' Text +'value1' Literal.String +'\n ' Text +'key2' Name.Attribute +' ' Text +'=' Operator +' ' Text +'value2' Literal.String +'\n' Text diff --git a/tests/snippets/ini/test_indented_entries_3.txt b/tests/snippets/ini/test_indented_entries_3.txt new file mode 100644 index 0000000..cf5bdcb --- /dev/null +++ b/tests/snippets/ini/test_indented_entries_3.txt @@ -0,0 +1,20 @@ +---input--- +[section] + key 1 = value1 + key 2 = value2 + +---tokens--- +'[section]' Keyword +'\n ' Text +'key 1' Name.Attribute +' ' Text +'=' Operator +' ' Text +'value1' Literal.String +'\n ' Text +'key 2' Name.Attribute +' ' Text +'=' Operator +' ' Text +'value2' Literal.String +'\n' Text diff --git a/tests/snippets/j/test_deal_operator.txt b/tests/snippets/j/test_deal_operator.txt new file mode 100644 index 0000000..34253c9 --- /dev/null +++ b/tests/snippets/j/test_deal_operator.txt @@ -0,0 +1,8 @@ +---input--- +3?10 + +---tokens--- +'3' Literal.Number.Integer +'?' Operator +'10' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/j/test_deal_operator_fixed_seed.txt b/tests/snippets/j/test_deal_operator_fixed_seed.txt new file mode 100644 index 0000000..c291720 --- /dev/null +++ b/tests/snippets/j/test_deal_operator_fixed_seed.txt @@ -0,0 +1,9 @@ +---input--- +3?.10 + +---tokens--- +'3' Literal.Number.Integer +'?' Operator +'.' Operator +'10' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/java/test_enhanced_for.txt b/tests/snippets/java/test_enhanced_for.txt new file mode 100644 index 0000000..1844c56 --- /dev/null +++ b/tests/snippets/java/test_enhanced_for.txt @@ -0,0 +1,21 @@ +---input--- +label: +for(String var2: var1) {} + +---tokens--- +'label:' Name.Label +'\n' Text + +'for' Keyword +'(' Punctuation +'String' Name +' ' Text +'var2' Name +':' Punctuation +' ' Text +'var1' Name +')' Punctuation +' ' Text +'{' Punctuation +'}' Punctuation +'\n' Text diff --git a/tests/snippets/java/test_numeric_literals.txt b/tests/snippets/java/test_numeric_literals.txt new file mode 100644 index 0000000..5295bd8 --- /dev/null +++ b/tests/snippets/java/test_numeric_literals.txt @@ -0,0 +1,34 @@ +---input--- +0 5L 9__542_72l 0xbEEf 0X9_A 0_35 01 0b0___101_0 0. .7_17F 3e-1_3d 1f 6_01.9e+3 0x.1Fp3 0XEP8D + +---tokens--- +'0' Literal.Number.Integer +' ' Text +'5L' Literal.Number.Integer +' ' Text +'9__542_72l' Literal.Number.Integer +' ' Text +'0xbEEf' Literal.Number.Hex +' ' Text +'0X9_A' Literal.Number.Hex +' ' Text +'0_35' Literal.Number.Oct +' ' Text +'01' Literal.Number.Oct +' ' Text +'0b0___101_0' Literal.Number.Bin +' ' Text +'0.' Literal.Number.Float +' ' Text +'.7_17F' Literal.Number.Float +' ' Text +'3e-1_3d' Literal.Number.Float +' ' Text +'1f' Literal.Number.Float +' ' Text +'6_01.9e+3' Literal.Number.Float +' ' Text +'0x.1Fp3' Literal.Number.Float +' ' Text +'0XEP8D' Literal.Number.Float +'\n' Text diff --git a/tests/snippets/json/test_basic.txt b/tests/snippets/json/test_basic.txt new file mode 100644 index 0000000..b6f595c --- /dev/null +++ b/tests/snippets/json/test_basic.txt @@ -0,0 +1,30 @@ +---input--- +{"foo": "bar", "foo2": [1, 2, 3], "\u0123": "\u0123"} + +---tokens--- +'{' Punctuation +'"foo"' Name.Tag +':' Punctuation +' ' Text +'"bar"' Literal.String.Double +',' Punctuation +' ' Text +'"foo2"' Name.Tag +':' Punctuation +' ' Text +'[' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'3' Literal.Number.Integer +'],' Punctuation +' ' Text +'"\\u0123"' Name.Tag +':' Punctuation +' ' Text +'"\\u0123"' Literal.String.Double +'}' Punctuation +'\n' Text diff --git a/tests/snippets/json/test_basic_bare.txt b/tests/snippets/json/test_basic_bare.txt new file mode 100644 index 0000000..de30f65 --- /dev/null +++ b/tests/snippets/json/test_basic_bare.txt @@ -0,0 +1,23 @@ +---input--- +"foo": "bar", "foo2": [1, 2, 3] + +---tokens--- +'"foo"' Name.Tag +':' Punctuation +' ' Text +'"bar"' Literal.String.Double +',' Punctuation +' ' Text +'"foo2"' Name.Tag +':' Punctuation +' ' Text +'[' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +',' Punctuation +' ' Text +'3' Literal.Number.Integer +']' Punctuation +'\n' Text diff --git a/tests/snippets/julia/test_unicode.txt b/tests/snippets/julia/test_unicode.txt new file mode 100644 index 0000000..36f3577 --- /dev/null +++ b/tests/snippets/julia/test_unicode.txt @@ -0,0 +1,37 @@ +# Test that unicode character, √, in an expression is recognized + +---input--- +s = √((1/n) * sum(count .^ 2) - mu .^2) + +---tokens--- +'s' Name +' ' Text +'=' Operator +' ' Text +'√' Operator +'(' Punctuation +'(' Punctuation +'1' Literal.Number.Integer +'/' Operator +'n' Name +')' Punctuation +' ' Text +'*' Operator +' ' Text +'sum' Name +'(' Punctuation +'count' Name +' ' Text +'.^' Operator +' ' Text +'2' Literal.Number.Integer +')' Punctuation +' ' Text +'-' Operator +' ' Text +'mu' Name +' ' Text +'.^' Operator +'2' Literal.Number.Integer +')' Punctuation +'\n' Text diff --git a/tests/snippets/kotlin/test_can_cope_generics_in_destructuring.txt b/tests/snippets/kotlin/test_can_cope_generics_in_destructuring.txt new file mode 100644 index 0000000..8a880a5 --- /dev/null +++ b/tests/snippets/kotlin/test_can_cope_generics_in_destructuring.txt @@ -0,0 +1,27 @@ +---input--- +val (a: List, b: Set) = + +---tokens--- +'val' Keyword.Declaration +' ' Text +'(' Punctuation +'a' Name.Variable +':' Punctuation +' ' Text +'List' Name +'<' Operator +'Something' Name +'>' Operator +',' Punctuation +' ' Text +'b' Name.Variable +':' Punctuation +' ' Text +'Set' Name +'<' Operator +'Wobble' Name +'>' Operator +')' Punctuation +' ' Text +'=' Operator +'\n' Text diff --git a/tests/snippets/kotlin/test_can_cope_with_backtick_names_in_functions.txt b/tests/snippets/kotlin/test_can_cope_with_backtick_names_in_functions.txt new file mode 100644 index 0000000..ab2ef6d --- /dev/null +++ b/tests/snippets/kotlin/test_can_cope_with_backtick_names_in_functions.txt @@ -0,0 +1,8 @@ +---input--- +fun `wo bble` + +---tokens--- +'fun' Keyword.Declaration +' ' Text +'`wo bble`' Name.Function +'\n' Text diff --git a/tests/snippets/kotlin/test_can_cope_with_commas_and_dashes_in_backtick_Names.txt b/tests/snippets/kotlin/test_can_cope_with_commas_and_dashes_in_backtick_Names.txt new file mode 100644 index 0000000..6d3c4ec --- /dev/null +++ b/tests/snippets/kotlin/test_can_cope_with_commas_and_dashes_in_backtick_Names.txt @@ -0,0 +1,8 @@ +---input--- +fun `wo,-bble` + +---tokens--- +'fun' Keyword.Declaration +' ' Text +'`wo,-bble`' Name.Function +'\n' Text diff --git a/tests/snippets/kotlin/test_can_cope_with_destructuring.txt b/tests/snippets/kotlin/test_can_cope_with_destructuring.txt new file mode 100644 index 0000000..b51c1e0 --- /dev/null +++ b/tests/snippets/kotlin/test_can_cope_with_destructuring.txt @@ -0,0 +1,16 @@ +---input--- +val (a, b) = + +---tokens--- +'val' Keyword.Declaration +' ' Text +'(' Punctuation +'a' Name.Variable +',' Punctuation +' ' Text +'b' Name.Variable +')' Punctuation +' ' Text +'=' Operator +' ' Text +'\n' Text diff --git a/tests/snippets/kotlin/test_can_cope_with_generics.txt b/tests/snippets/kotlin/test_can_cope_with_generics.txt new file mode 100644 index 0000000..ed616ec --- /dev/null +++ b/tests/snippets/kotlin/test_can_cope_with_generics.txt @@ -0,0 +1,34 @@ +---input--- +inline fun VaultService.queryBy(): Vault.Page { + +---tokens--- +'inline' Keyword.Declaration +' ' Text +'fun' Keyword.Declaration +' ' Text +'<' Operator +'reified' Keyword +' ' Text +'T' Name +' ' Text +':' Punctuation +' ' Text +'ContractState' Name +'>' Operator +' ' Text +'VaultService' Name +'.' Punctuation +'queryBy' Name.Function +'(' Punctuation +')' Punctuation +':' Punctuation +' ' Text +'Vault' Name +'.' Punctuation +'Page' Name.Attribute +'<' Operator +'T' Name +'>' Operator +' ' Text +'{' Punctuation +'\n' Text diff --git a/tests/snippets/kotlin/test_modifier_keyword.txt b/tests/snippets/kotlin/test_modifier_keyword.txt new file mode 100644 index 0000000..b30f65b --- /dev/null +++ b/tests/snippets/kotlin/test_modifier_keyword.txt @@ -0,0 +1,18 @@ +---input--- +data class A(val data: String) + +---tokens--- +'data' Keyword.Declaration +' ' Text +'class' Keyword.Declaration +' ' Text +'A' Name.Class +'(' Punctuation +'val' Keyword.Declaration +' ' Text +'data' Name.Variable +':' Punctuation +' ' Text +'String' Keyword.Type +')' Punctuation +'\n' Text diff --git a/tests/snippets/kotlin/test_should_cope_with_multiline_comments.txt b/tests/snippets/kotlin/test_should_cope_with_multiline_comments.txt new file mode 100644 index 0000000..ee7c327 --- /dev/null +++ b/tests/snippets/kotlin/test_should_cope_with_multiline_comments.txt @@ -0,0 +1,12 @@ +---input--- +""" +this +is +a +comment""" + +---tokens--- +'"""' Literal.String +'\nthis\nis\na\ncomment' Literal.String +'"""' Literal.String +'\n' Text diff --git a/tests/snippets/kotlin/test_string_interpolation.txt b/tests/snippets/kotlin/test_string_interpolation.txt new file mode 100644 index 0000000..c254f11 --- /dev/null +++ b/tests/snippets/kotlin/test_string_interpolation.txt @@ -0,0 +1,35 @@ +---input--- +val something = "something" +"Here is $something" +"Here is ${something.toUpperList()}" + +---tokens--- +'val' Keyword.Declaration +' ' Text +'something' Name.Variable +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'something' Literal.String +'"' Literal.String +'\n' Text + +'"' Literal.String +'Here is ' Literal.String +'$' Literal.String.Interpol +'something' Name +'"' Literal.String +'\n' Text + +'"' Literal.String +'Here is ' Literal.String +'${' Literal.String.Interpol +'something' Name +'.' Punctuation +'toUpperList' Name.Attribute +'(' Punctuation +')' Punctuation +'}' Literal.String.Interpol +'"' Literal.String +'\n' Text diff --git a/tests/snippets/less/test_single_line_comments.txt b/tests/snippets/less/test_single_line_comments.txt new file mode 100644 index 0000000..093f3b7 --- /dev/null +++ b/tests/snippets/less/test_single_line_comments.txt @@ -0,0 +1,21 @@ +---input--- +.font-light { + font-weight: 100; // Comment +} + +---tokens--- +'.' Punctuation +'font-light' Name.Class +' ' Text +'{' Punctuation +'\n ' Text +'font-weight' Keyword +':' Punctuation +' ' Text +'100' Literal.Number.Integer +';' Punctuation +' ' Text +'// Comment\n' Comment.Single + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/mason/test_handles_tags_correctly.txt b/tests/snippets/mason/test_handles_tags_correctly.txt new file mode 100644 index 0000000..2f3f064 --- /dev/null +++ b/tests/snippets/mason/test_handles_tags_correctly.txt @@ -0,0 +1,69 @@ +---input--- +<%class> +has 'foo'; +has 'bar' => (required => 1); +has 'baz' => (isa => 'Int', default => 17); + + +---tokens--- +'<%class>' Name.Tag +'\n' Text + +'' Name +'has' Name +' ' Text +"'foo'" Literal.String +';' Punctuation +'\n' Text + +'' Name +'has' Name +' ' Text +"'bar'" Literal.String +' ' Text +'=' Operator +'>' Operator +' ' Text +'(' Punctuation +'' Name +'required' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'1' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +'' Name +'has' Name +' ' Text +"'baz'" Literal.String +' ' Text +'=' Operator +'>' Operator +' ' Text +'(' Punctuation +'' Name +'isa' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +"'Int'" Literal.String +',' Punctuation +' ' Text +'' Name +'default' Name +' ' Text +'=' Operator +'>' Operator +' ' Text +'17' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text + +'' Name.Tag +'\n' Text diff --git a/tests/snippets/matlab/test_classes_with_properties.txt b/tests/snippets/matlab/test_classes_with_properties.txt new file mode 100644 index 0000000..7de838e --- /dev/null +++ b/tests/snippets/matlab/test_classes_with_properties.txt @@ -0,0 +1,105 @@ +---input--- +classdef Name < dynamicprops + properties + % i am a comment + name1 + name2 + end + properties (Constant = true, SetAccess = protected) + % i too am a comment + matrix = [0, 1, 2]; + string = 'i am a string' + end + methods + % i am also a comment + function self = Name() + % i am a comment inside a constructor + end + end +end + +---tokens--- +'classdef' Keyword +' ' Text.Whitespace +'Name' Name +' ' Text.Whitespace +'<' Operator +' ' Text.Whitespace +'dynamicprops' Keyword +'\n ' Text.Whitespace +'properties' Keyword +'\n ' Text.Whitespace +'% i am a comment' Comment +'\n ' Text.Whitespace +'name1' Name +'\n ' Text.Whitespace +'name2' Name +'\n ' Text.Whitespace +'end' Keyword +'\n ' Text.Whitespace +'properties' Keyword +' ' Text.Whitespace +'(' Punctuation +'Constant' Name.Builtin +' ' Text.Whitespace +'=' Punctuation +' ' Text.Whitespace +'true' Keyword +',' Punctuation +' ' Text.Whitespace +'SetAccess' Name.Builtin +' ' Text.Whitespace +'=' Punctuation +' ' Text.Whitespace +'protected' Keyword +')' Punctuation +'\n ' Text.Whitespace +'% i too am a comment' Comment +'\n ' Text.Whitespace +'matrix' Name +' ' Text.Whitespace +'=' Punctuation +' ' Text.Whitespace +'[' Punctuation +'0' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'2' Literal.Number.Integer +']' Punctuation +';' Punctuation +'\n ' Text.Whitespace +'string' Name +' ' Text.Whitespace +'=' Punctuation +' ' Text.Whitespace +"'" Literal.String +"i am a string'" Literal.String +'\n ' Text.Whitespace +'end' Keyword +'\n ' Text.Whitespace +'methods' Keyword +'\n ' Text.Whitespace +'% i am also a comment' Comment +'\n ' Text.Whitespace +'function' Keyword +' ' Text.Whitespace +'self' Text +' ' Text.Whitespace +'=' Punctuation +' ' Text.Whitespace +'Name' Name.Function +'(' Punctuation +')' Punctuation +'\n ' Text.Whitespace +'% i am a comment inside a constructor' Comment +'\n ' Text.Whitespace +'end' Keyword +'\n ' Text.Whitespace +'end' Keyword +'\n' Text.Whitespace + +'end' Keyword +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_command_mode.txt b/tests/snippets/matlab/test_command_mode.txt new file mode 100644 index 0000000..e9a8c11 --- /dev/null +++ b/tests/snippets/matlab/test_command_mode.txt @@ -0,0 +1,12 @@ +# MATLAB allows char function arguments to not be enclosed by parentheses +# or contain quote characters, as long as they are space separated. Test +# that one common such function is formatted appropriately. + +---input--- +help sin + +---tokens--- +'help' Name.Builtin +' ' Text.Whitespace +'sin' Name.Builtin +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_comment_after_continuation.txt b/tests/snippets/matlab/test_comment_after_continuation.txt new file mode 100644 index 0000000..baf88e3 --- /dev/null +++ b/tests/snippets/matlab/test_comment_after_continuation.txt @@ -0,0 +1,25 @@ +# Test that text after the line continuation ellipses is marked as a comment. + +---input--- +set('T',300,... a comment +'P',101325); + +---tokens--- +'set' Name.Builtin +'(' Punctuation +"'" Literal.String +"T'" Literal.String +',' Punctuation +'300' Literal.Number.Integer +',' Punctuation +'...' Keyword +' a comment' Comment +'\n' Text.Whitespace + +"'" Literal.String +"P'" Literal.String +',' Punctuation +'101325' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_dot_operator.txt b/tests/snippets/matlab/test_dot_operator.txt new file mode 100644 index 0000000..b858cd3 --- /dev/null +++ b/tests/snippets/matlab/test_dot_operator.txt @@ -0,0 +1,10 @@ +# 1./x is (1)(./)(x), not (1.)(/)(x) + +---input--- +1./x + +---tokens--- +'1' Literal.Number.Integer +'./' Operator +'x' Name +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_keywords_ended_by_newline.txt b/tests/snippets/matlab/test_keywords_ended_by_newline.txt new file mode 100644 index 0000000..59dca03 --- /dev/null +++ b/tests/snippets/matlab/test_keywords_ended_by_newline.txt @@ -0,0 +1,36 @@ +# Test that keywords on their own line are marked as keywords. + +---input--- +if x > 100 + disp('x > 100') +else + disp('x < 100') +end + +---tokens--- +'if' Keyword +' ' Text.Whitespace +'x' Name +' ' Text.Whitespace +'>' Operator +' ' Text.Whitespace +'100' Literal.Number.Integer +'\n ' Text.Whitespace +'disp' Name.Builtin +'(' Punctuation +"'" Literal.String +"x > 100'" Literal.String +')' Punctuation +'\n' Text.Whitespace + +'else' Keyword +'\n ' Text.Whitespace +'disp' Name.Builtin +'(' Punctuation +"'" Literal.String +"x < 100'" Literal.String +')' Punctuation +'\n' Text.Whitespace + +'end' Keyword +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_line_continuation.txt b/tests/snippets/matlab/test_line_continuation.txt new file mode 100644 index 0000000..1e47368 --- /dev/null +++ b/tests/snippets/matlab/test_line_continuation.txt @@ -0,0 +1,25 @@ +# Test that line continuation by ellipses does not produce generic +# output on the second line. + +---input--- +set('T',300,... +'P',101325); + +---tokens--- +'set' Name.Builtin +'(' Punctuation +"'" Literal.String +"T'" Literal.String +',' Punctuation +'300' Literal.Number.Integer +',' Punctuation +'...' Keyword +'\n' Text.Whitespace + +"'" Literal.String +"P'" Literal.String +',' Punctuation +'101325' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_multiple_spaces_variable_assignment.txt b/tests/snippets/matlab/test_multiple_spaces_variable_assignment.txt new file mode 100644 index 0000000..ec5ac24 --- /dev/null +++ b/tests/snippets/matlab/test_multiple_spaces_variable_assignment.txt @@ -0,0 +1,13 @@ +# Test that multiple spaces with an equal sign doesn't get formatted to a string. + +---input--- +x = 100; + +---tokens--- +'x' Name +' ' Text.Whitespace +'=' Punctuation +' ' Text.Whitespace +'100' Literal.Number.Integer +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_one_space_assignment.txt b/tests/snippets/matlab/test_one_space_assignment.txt new file mode 100644 index 0000000..ceafb6e --- /dev/null +++ b/tests/snippets/matlab/test_one_space_assignment.txt @@ -0,0 +1,13 @@ +# Test that one space before an equal sign is formatted correctly. + +---input--- +x = 100; + +---tokens--- +'x' Name +' ' Text.Whitespace +'=' Punctuation +' ' Text.Whitespace +'100' Literal.Number.Integer +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_operator_multiple_space.txt b/tests/snippets/matlab/test_operator_multiple_space.txt new file mode 100644 index 0000000..e13d3a3 --- /dev/null +++ b/tests/snippets/matlab/test_operator_multiple_space.txt @@ -0,0 +1,13 @@ +# Test that multiple spaces with an operator doesn't get formatted to a string. + +---input--- +x > 100; + +---tokens--- +'x' Name +' ' Text.Whitespace +'>' Operator +' ' Text.Whitespace +'100' Literal.Number.Integer +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/matlab/test_single_line.txt b/tests/snippets/matlab/test_single_line.txt new file mode 100644 index 0000000..72a48f8 --- /dev/null +++ b/tests/snippets/matlab/test_single_line.txt @@ -0,0 +1,18 @@ +---input--- +set('T',300,'P',101325); + +---tokens--- +'set' Name.Builtin +'(' Punctuation +"'" Literal.String +"T'" Literal.String +',' Punctuation +'300' Literal.Number.Integer +',' Punctuation +"'" Literal.String +"P'" Literal.String +',' Punctuation +'101325' Literal.Number.Integer +')' Punctuation +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/md/test_bold_fenced_by_asterisk.txt b/tests/snippets/md/test_bold_fenced_by_asterisk.txt new file mode 100644 index 0000000..7ab6a4b --- /dev/null +++ b/tests/snippets/md/test_bold_fenced_by_asterisk.txt @@ -0,0 +1,15 @@ +---input--- +**bold** + +(**bold**) + +---tokens--- +'**bold**' Generic.Strong +'\n' Text + +'\n' Text + +'(' Text +'**bold**' Generic.Strong +')' Text +'\n' Text diff --git a/tests/snippets/md/test_bold_fenced_by_underscore.txt b/tests/snippets/md/test_bold_fenced_by_underscore.txt new file mode 100644 index 0000000..5c82269 --- /dev/null +++ b/tests/snippets/md/test_bold_fenced_by_underscore.txt @@ -0,0 +1,15 @@ +---input--- +__bold__ + +(__bold__) + +---tokens--- +'__bold__' Generic.Strong +'\n' Text + +'\n' Text + +'(' Text +'__bold__' Generic.Strong +')' Text +'\n' Text diff --git a/tests/snippets/md/test_bulleted_list_1.txt b/tests/snippets/md/test_bulleted_list_1.txt new file mode 100644 index 0000000..6bb58fb --- /dev/null +++ b/tests/snippets/md/test_bulleted_list_1.txt @@ -0,0 +1,14 @@ +---input--- +* foo +* bar + +---tokens--- +'*' Keyword +' ' Text +'foo' Text +'\n' Text + +'*' Keyword +' ' Text +'bar' Text +'\n' Text diff --git a/tests/snippets/md/test_bulleted_list_2.txt b/tests/snippets/md/test_bulleted_list_2.txt new file mode 100644 index 0000000..9283611 --- /dev/null +++ b/tests/snippets/md/test_bulleted_list_2.txt @@ -0,0 +1,14 @@ +---input--- +- foo +- bar + +---tokens--- +'-' Keyword +' ' Text +'foo' Text +'\n' Text + +'-' Keyword +' ' Text +'bar' Text +'\n' Text diff --git a/tests/snippets/md/test_bulleted_list_3.txt b/tests/snippets/md/test_bulleted_list_3.txt new file mode 100644 index 0000000..b714200 --- /dev/null +++ b/tests/snippets/md/test_bulleted_list_3.txt @@ -0,0 +1,14 @@ +---input--- +* *foo* +* bar + +---tokens--- +'*' Keyword +' ' Text +'*foo*' Generic.Emph +'\n' Text + +'*' Keyword +' ' Text +'bar' Text +'\n' Text diff --git a/tests/snippets/md/test_bulleted_list_4.txt b/tests/snippets/md/test_bulleted_list_4.txt new file mode 100644 index 0000000..fe29d0a --- /dev/null +++ b/tests/snippets/md/test_bulleted_list_4.txt @@ -0,0 +1,19 @@ +---input--- +``` +code +``` +* *foo* +* bar + +---tokens--- +'```\ncode\n```\n' Literal.String.Backtick + +'*' Keyword +' ' Text +'*foo*' Generic.Emph +'\n' Text + +'*' Keyword +' ' Text +'bar' Text +'\n' Text diff --git a/tests/snippets/md/test_code_block_fenced_by_backticks.txt b/tests/snippets/md/test_code_block_fenced_by_backticks.txt new file mode 100644 index 0000000..4f8fefa --- /dev/null +++ b/tests/snippets/md/test_code_block_fenced_by_backticks.txt @@ -0,0 +1,15 @@ +---input--- +``` +code +``` + +``` +multi +`line` +code +``` + +---tokens--- +'```\ncode\n```\n' Literal.String.Backtick + +'\n```\nmulti\n`line`\ncode\n```\n' Literal.String.Backtick diff --git a/tests/snippets/md/test_code_block_with_language.txt b/tests/snippets/md/test_code_block_with_language.txt new file mode 100644 index 0000000..088ae26 --- /dev/null +++ b/tests/snippets/md/test_code_block_with_language.txt @@ -0,0 +1,16 @@ +---input--- +```python +import this +``` + +---tokens--- +'```' Literal.String.Backtick +'python' Literal.String.Backtick +'\n' Text + +'import' Keyword.Namespace +' ' Text +'this' Name.Namespace +'\n' Text + +'```\n' Literal.String.Backtick diff --git a/tests/snippets/md/test_escape_italics.txt b/tests/snippets/md/test_escape_italics.txt new file mode 100644 index 0000000..6251259 --- /dev/null +++ b/tests/snippets/md/test_escape_italics.txt @@ -0,0 +1,23 @@ +---input--- +\*no italics\* + +\_ no italics \_ + +---tokens--- +'\\*' Text +'no' Text +' ' Text +'italics' Text +'\\*' Text +'\n' Text + +'\n' Text + +'\\_' Text +' ' Text +'no' Text +' ' Text +'italics' Text +' ' Text +'\\_' Text +'\n' Text diff --git a/tests/snippets/md/test_inline_code.txt b/tests/snippets/md/test_inline_code.txt new file mode 100644 index 0000000..c79c528 --- /dev/null +++ b/tests/snippets/md/test_inline_code.txt @@ -0,0 +1,36 @@ +---input--- +code: `code` + + `**code**` + +(`code`) + +code (`in brackets`) + +---tokens--- +'code:' Text +' ' Text +'`code`' Literal.String.Backtick +'\n' Text + +'\n' Text + +' ' Text +'`**code**`' Literal.String.Backtick +'\n' Text + +'\n' Text + +'(' Text +'`code`' Literal.String.Backtick +')' Text +'\n' Text + +'\n' Text + +'code' Text +' ' Text +'(' Text +'`in brackets`' Literal.String.Backtick +')' Text +'\n' Text diff --git a/tests/snippets/md/test_inline_code_after_block.txt b/tests/snippets/md/test_inline_code_after_block.txt new file mode 100644 index 0000000..9be80ac --- /dev/null +++ b/tests/snippets/md/test_inline_code_after_block.txt @@ -0,0 +1,19 @@ +---input--- +``` +code +``` +* nocode +* `code` + +---tokens--- +'```\ncode\n```\n' Literal.String.Backtick + +'*' Keyword +' ' Text +'nocode' Text +'\n' Text + +'*' Keyword +' ' Text +'`code`' Literal.String.Backtick +'\n' Text diff --git a/tests/snippets/md/test_inline_code_in_list.txt b/tests/snippets/md/test_inline_code_in_list.txt new file mode 100644 index 0000000..643f0e5 --- /dev/null +++ b/tests/snippets/md/test_inline_code_in_list.txt @@ -0,0 +1,26 @@ +---input--- +* `code` + +- `code` + +1. `code` + +---tokens--- +'*' Keyword +' ' Text +'`code`' Literal.String.Backtick +'\n' Text + +'\n' Text + +'-' Keyword +' ' Text +'`code`' Literal.String.Backtick +'\n' Text + +'\n' Text + +'1.' Keyword +' ' Text +'`code`' Literal.String.Backtick +'\n' Text diff --git a/tests/snippets/md/test_invalid_bold.txt b/tests/snippets/md/test_invalid_bold.txt new file mode 100644 index 0000000..cc55d83 --- /dev/null +++ b/tests/snippets/md/test_invalid_bold.txt @@ -0,0 +1,31 @@ +---input--- +**no bold__ + +__no bold** + +*no bold* + +_no bold_ + +---tokens--- +'**no' Text +' ' Text +'bold__' Text +'\n' Text + +'\n' Text + +'__no' Text +' ' Text +'bold**' Text +'\n' Text + +'\n' Text + +'*no bold*' Generic.Emph +'\n' Text + +'\n' Text + +'_no bold_' Generic.Emph +'\n' Text diff --git a/tests/snippets/md/test_invalid_italics.txt b/tests/snippets/md/test_invalid_italics.txt new file mode 100644 index 0000000..7e7cbc3 --- /dev/null +++ b/tests/snippets/md/test_invalid_italics.txt @@ -0,0 +1,31 @@ +---input--- +*no italics_ + +_no italics* + +**no italics** + +__no italics__ + +---tokens--- +'*no' Text +' ' Text +'italics_' Text +'\n' Text + +'\n' Text + +'_no' Text +' ' Text +'italics*' Text +'\n' Text + +'\n' Text + +'**no italics**' Generic.Strong +'\n' Text + +'\n' Text + +'__no italics__' Generic.Strong +'\n' Text diff --git a/tests/snippets/md/test_italics_and_bold.txt b/tests/snippets/md/test_italics_and_bold.txt new file mode 100644 index 0000000..70a426e --- /dev/null +++ b/tests/snippets/md/test_italics_and_bold.txt @@ -0,0 +1,21 @@ +---input--- +**bold** and *italics* + +*italics* and **bold** + +---tokens--- +'**bold**' Generic.Strong +' ' Text +'and' Text +' ' Text +'*italics*' Generic.Emph +'\n' Text + +'\n' Text + +'*italics*' Generic.Emph +' ' Text +'and' Text +' ' Text +'**bold**' Generic.Strong +'\n' Text diff --git a/tests/snippets/md/test_italics_fenced_by_asterisk.txt b/tests/snippets/md/test_italics_fenced_by_asterisk.txt new file mode 100644 index 0000000..0a43d60 --- /dev/null +++ b/tests/snippets/md/test_italics_fenced_by_asterisk.txt @@ -0,0 +1,15 @@ +---input--- +*italics* + +(*italics*) + +---tokens--- +'*italics*' Generic.Emph +'\n' Text + +'\n' Text + +'(' Text +'*italics*' Generic.Emph +')' Text +'\n' Text diff --git a/tests/snippets/md/test_italics_fenced_by_underscore.txt b/tests/snippets/md/test_italics_fenced_by_underscore.txt new file mode 100644 index 0000000..d712ca6 --- /dev/null +++ b/tests/snippets/md/test_italics_fenced_by_underscore.txt @@ -0,0 +1,15 @@ +---input--- +_italics_ + +(_italics_) + +---tokens--- +'_italics_' Generic.Emph +'\n' Text + +'\n' Text + +'(' Text +'_italics_' Generic.Emph +')' Text +'\n' Text diff --git a/tests/snippets/md/test_italics_no_multiline.txt b/tests/snippets/md/test_italics_no_multiline.txt new file mode 100644 index 0000000..ad2007b --- /dev/null +++ b/tests/snippets/md/test_italics_no_multiline.txt @@ -0,0 +1,10 @@ +---input--- +*no +italics* + +---tokens--- +'*no' Text +'\n' Text + +'italics*' Text +'\n' Text diff --git a/tests/snippets/md/test_links.txt b/tests/snippets/md/test_links.txt new file mode 100644 index 0000000..83b274e --- /dev/null +++ b/tests/snippets/md/test_links.txt @@ -0,0 +1,23 @@ +---input--- +[text](link) + +![Image of foo](https://bar.baz) + +---tokens--- +'[' Text +'text' Name.Tag +']' Text +'(' Text +'link' Name.Attribute +')' Text +'\n' Text + +'\n' Text + +'![' Text +'Image of foo' Name.Tag +']' Text +'(' Text +'https://bar.baz' Name.Attribute +')' Text +'\n' Text diff --git a/tests/snippets/md/test_mentions.txt b/tests/snippets/md/test_mentions.txt new file mode 100644 index 0000000..7c7ef01 --- /dev/null +++ b/tests/snippets/md/test_mentions.txt @@ -0,0 +1,10 @@ +---input--- +note for @me: + +---tokens--- +'note' Text +' ' Text +'for' Text +' ' Text +'@me:' Name.Entity +'\n' Text diff --git a/tests/snippets/md/test_numbered_list.txt b/tests/snippets/md/test_numbered_list.txt new file mode 100644 index 0000000..0f38643 --- /dev/null +++ b/tests/snippets/md/test_numbered_list.txt @@ -0,0 +1,14 @@ +---input--- +1. foo +2. bar + +---tokens--- +'1.' Keyword +' ' Text +'foo' Text +'\n' Text + +'2.' Keyword +' ' Text +'bar' Text +'\n' Text diff --git a/tests/snippets/md/test_quote.txt b/tests/snippets/md/test_quote.txt new file mode 100644 index 0000000..cc64ec2 --- /dev/null +++ b/tests/snippets/md/test_quote.txt @@ -0,0 +1,10 @@ +---input--- +> a +> quote + +---tokens--- +'> ' Keyword +'a\n' Generic.Emph + +'> ' Keyword +'quote\n' Generic.Emph diff --git a/tests/snippets/md/test_reference_style_links.txt b/tests/snippets/md/test_reference_style_links.txt new file mode 100644 index 0000000..3acc687 --- /dev/null +++ b/tests/snippets/md/test_reference_style_links.txt @@ -0,0 +1,18 @@ +---input--- +[an example][id] +[id]: http://example.com + +---tokens--- +'[' Text +'an example' Name.Tag +']' Text +'[' Text +'id' Name.Label +']' Text +'\n' Text + +'[' Text +'id' Name.Label +']: ' Text +'http://example.com' Name.Attribute +'\n' Text diff --git a/tests/snippets/md/test_strikethrough.txt b/tests/snippets/md/test_strikethrough.txt new file mode 100644 index 0000000..3c63e97 --- /dev/null +++ b/tests/snippets/md/test_strikethrough.txt @@ -0,0 +1,9 @@ +---input--- +~~striked~~not striked + +---tokens--- +'~~striked~~' Generic.Deleted +'not' Text +' ' Text +'striked' Text +'\n' Text diff --git a/tests/snippets/md/test_task_list.txt b/tests/snippets/md/test_task_list.txt new file mode 100644 index 0000000..e821ff8 --- /dev/null +++ b/tests/snippets/md/test_task_list.txt @@ -0,0 +1,34 @@ +---input--- +- [ ] sample task + +* [ ] sample task + + * [ ] sample task + +---tokens--- +'- ' Keyword +'[ ]' Keyword +' ' Text +'sample' Text +' ' Text +'task' Text +'\n' Text + +'\n' Text + +'* ' Keyword +'[ ]' Keyword +' ' Text +'sample' Text +' ' Text +'task' Text +'\n' Text + +'\n ' Text +'* ' Keyword +'[ ]' Keyword +' ' Text +'sample' Text +' ' Text +'task' Text +'\n' Text diff --git a/tests/snippets/md/test_topics.txt b/tests/snippets/md/test_topics.txt new file mode 100644 index 0000000..aa84fc9 --- /dev/null +++ b/tests/snippets/md/test_topics.txt @@ -0,0 +1,10 @@ +---input--- +message to #you: + +---tokens--- +'message' Text +' ' Text +'to' Text +' ' Text +'#you:' Name.Entity +'\n' Text diff --git a/tests/snippets/objectivec/test_literal_number_bool.txt b/tests/snippets/objectivec/test_literal_number_bool.txt new file mode 100644 index 0000000..131c399 --- /dev/null +++ b/tests/snippets/objectivec/test_literal_number_bool.txt @@ -0,0 +1,7 @@ +---input--- +@NO; + +---tokens--- +'@NO' Literal.Number +';' Punctuation +'\n' Text diff --git a/tests/snippets/objectivec/test_literal_number_bool_expression.txt b/tests/snippets/objectivec/test_literal_number_bool_expression.txt new file mode 100644 index 0000000..a492e22 --- /dev/null +++ b/tests/snippets/objectivec/test_literal_number_bool_expression.txt @@ -0,0 +1,9 @@ +---input--- +@(YES); + +---tokens--- +'@(' Literal +'YES' Name.Builtin +')' Literal +';' Punctuation +'\n' Text diff --git a/tests/snippets/objectivec/test_literal_number_expression.txt b/tests/snippets/objectivec/test_literal_number_expression.txt new file mode 100644 index 0000000..f70d062 --- /dev/null +++ b/tests/snippets/objectivec/test_literal_number_expression.txt @@ -0,0 +1,11 @@ +---input--- +@(1+2); + +---tokens--- +'@(' Literal +'1' Literal.Number.Integer +'+' Operator +'2' Literal.Number.Integer +')' Literal +';' Punctuation +'\n' Text diff --git a/tests/snippets/objectivec/test_literal_number_int.txt b/tests/snippets/objectivec/test_literal_number_int.txt new file mode 100644 index 0000000..907a030 --- /dev/null +++ b/tests/snippets/objectivec/test_literal_number_int.txt @@ -0,0 +1,9 @@ +---input--- +@(1); + +---tokens--- +'@(' Literal +'1' Literal.Number.Integer +')' Literal +';' Punctuation +'\n' Text diff --git a/tests/snippets/objectivec/test_literal_number_nested_expression.txt b/tests/snippets/objectivec/test_literal_number_nested_expression.txt new file mode 100644 index 0000000..8226cb6 --- /dev/null +++ b/tests/snippets/objectivec/test_literal_number_nested_expression.txt @@ -0,0 +1,15 @@ +---input--- +@(1+(2+3)); + +---tokens--- +'@(' Literal +'1' Literal.Number.Integer +'+' Operator +'(' Punctuation +'2' Literal.Number.Integer +'+' Operator +'3' Literal.Number.Integer +')' Punctuation +')' Literal +';' Punctuation +'\n' Text diff --git a/tests/snippets/objectivec/test_module_import.txt b/tests/snippets/objectivec/test_module_import.txt new file mode 100644 index 0000000..918d155 --- /dev/null +++ b/tests/snippets/objectivec/test_module_import.txt @@ -0,0 +1,9 @@ +---input--- +@import ModuleA; + +---tokens--- +'@import' Keyword +' ' Text +'ModuleA' Name +';' Punctuation +'\n' Text diff --git a/tests/snippets/peg/test_basic.txt b/tests/snippets/peg/test_basic.txt new file mode 100644 index 0000000..78d240e --- /dev/null +++ b/tests/snippets/peg/test_basic.txt @@ -0,0 +1,17 @@ +---input--- +rule<-("terminal"/nonterminal/[cls])* + +---tokens--- +'rule' Name.Class +'<-' Operator +'(' Punctuation +'"terminal"' Literal.String.Double +'/' Operator +'nonterminal' Name.Class +'/' Operator +'[' Punctuation +'cls' Literal.String +']' Punctuation +')' Punctuation +'*' Operator +'\n' Text diff --git a/tests/snippets/peg/test_modified_strings.txt b/tests/snippets/peg/test_modified_strings.txt new file mode 100644 index 0000000..21a5987 --- /dev/null +++ b/tests/snippets/peg/test_modified_strings.txt @@ -0,0 +1,21 @@ +# see for example: +# - http://textx.github.io/Arpeggio/ +# - https://nim-lang.org/docs/pegs.html +# - https://github.com/erikrose/parsimonious +# can't handle parsimonious-style regex while ~ is a cut operator + +---input--- +~"regex" i"insensitive" "multimod"ilx ("not modified") + +---tokens--- +'~' Operator +'"regex"' Literal.String.Double +' ' Text +'i"insensitive"' Literal.String.Double +' ' Text +'"multimod"ilx' Literal.String.Double +' ' Text +'(' Punctuation +'"not modified"' Literal.String.Double +')' Punctuation +'\n' Text diff --git a/tests/snippets/peg/test_operators.txt b/tests/snippets/peg/test_operators.txt new file mode 100644 index 0000000..b901c81 --- /dev/null +++ b/tests/snippets/peg/test_operators.txt @@ -0,0 +1,29 @@ +# see for example: +# - https://github.com/gvanrossum/pegen +# - https://nim-lang.org/docs/pegs.html + +---input--- +rule = 'a' | 'b' +rule: 'a' ~ 'b' + +---tokens--- +'rule' Name.Class +' ' Text +'=' Operator +' ' Text +"'a'" Literal.String.Single +' ' Text +'|' Operator +' ' Text +"'b'" Literal.String.Single +'\n' Text + +'rule' Name.Class +':' Operator +' ' Text +"'a'" Literal.String.Single +' ' Text +'~' Operator +' ' Text +"'b'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/php/test_string_escaping_run.txt b/tests/snippets/php/test_string_escaping_run.txt new file mode 100644 index 0000000..e31fbfc --- /dev/null +++ b/tests/snippets/php/test_string_escaping_run.txt @@ -0,0 +1,16 @@ +---input--- + + +---tokens--- +'' Comment.Preproc +'\n' Other diff --git a/tests/snippets/powershell/test_remoting_session.txt b/tests/snippets/powershell/test_remoting_session.txt new file mode 100644 index 0000000..9d9db60 --- /dev/null +++ b/tests/snippets/powershell/test_remoting_session.txt @@ -0,0 +1,19 @@ +---input--- +[Long-NetBIOS-Hostname]: PS C:\> Get-ChildItem + +---tokens--- +'[' Punctuation +'Long' Name +'-NetBIOS' Name +'-Hostname' Name +']' Punctuation +':' Error +' ' Text +'PS ' Name.Builtin +'C' Name +':' Error +'\\' Punctuation +'>' Punctuation +' ' Text +'Get-ChildItem' Name.Builtin +'\n' Text diff --git a/tests/snippets/powershell/test_session.txt b/tests/snippets/powershell/test_session.txt new file mode 100644 index 0000000..3821244 --- /dev/null +++ b/tests/snippets/powershell/test_session.txt @@ -0,0 +1,28 @@ +---input--- +PS C:\> Get-ChildItem + +PS> Get-ChildItem + +PS > Get-ChildItem + +---tokens--- +'PS ' Name.Builtin +'C' Name +':' Error +'\\' Punctuation +'>' Punctuation +' ' Text +'Get-ChildItem' Name.Builtin +'\n\n' Text + +'PS' Name +'>' Punctuation +' ' Text +'Get-ChildItem' Name.Builtin +'\n\n' Text + +'PS ' Name.Builtin +'>' Punctuation +' ' Text +'Get-ChildItem' Name.Builtin +'\n' Text diff --git a/tests/snippets/praat/test_broken_unquoted_string.txt b/tests/snippets/praat/test_broken_unquoted_string.txt new file mode 100644 index 0000000..573b807 --- /dev/null +++ b/tests/snippets/praat/test_broken_unquoted_string.txt @@ -0,0 +1,16 @@ +---input--- +printline string +... 'interpolated' string + +---tokens--- +'printline' Keyword +' ' Text +'string' Literal.String +'\n' Text + +'...' Punctuation +' ' Text +"'interpolated'" Literal.String.Interpol +' ' Text +'string' Literal.String +'\n' Text diff --git a/tests/snippets/praat/test_function_call.txt b/tests/snippets/praat/test_function_call.txt new file mode 100644 index 0000000..ebb24a6 --- /dev/null +++ b/tests/snippets/praat/test_function_call.txt @@ -0,0 +1,20 @@ +---input--- +selected("Sound", i+(a*b)) + +---tokens--- +'selected' Name.Function +'(' Punctuation +'"' Literal.String +'Sound' Literal.String +'"' Literal.String +',' Punctuation +' ' Text +'i' Text +'+' Operator +'(' Text +'a' Text +'*' Operator +'b' Text +')' Text +')' Punctuation +'\n' Text diff --git a/tests/snippets/praat/test_inline_if.txt b/tests/snippets/praat/test_inline_if.txt new file mode 100644 index 0000000..02b10a5 --- /dev/null +++ b/tests/snippets/praat/test_inline_if.txt @@ -0,0 +1,27 @@ +---input--- +var = if true == 1 then -1 else 0 fi + +---tokens--- +'var' Text +' ' Text +'=' Operator +' ' Text +'if' Keyword +' ' Text +'true' Text +' ' Text +'==' Operator +' ' Text +'1' Literal.Number +' ' Text +'then' Keyword +' ' Text +'-' Operator +'1' Literal.Number +' ' Text +'else' Keyword +' ' Text +'0' Literal.Number +' ' Text +'fi' Keyword +'\n' Text diff --git a/tests/snippets/praat/test_interpolated_indexed_numeric_with_precision.txt b/tests/snippets/praat/test_interpolated_indexed_numeric_with_precision.txt new file mode 100644 index 0000000..82849ee --- /dev/null +++ b/tests/snippets/praat/test_interpolated_indexed_numeric_with_precision.txt @@ -0,0 +1,6 @@ +---input--- +'a[3]:3' + +---tokens--- +"'a[3]:3'" Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/praat/test_interpolated_local_numeric_with_precision.txt b/tests/snippets/praat/test_interpolated_local_numeric_with_precision.txt new file mode 100644 index 0000000..651509b --- /dev/null +++ b/tests/snippets/praat/test_interpolated_local_numeric_with_precision.txt @@ -0,0 +1,6 @@ +---input--- +'a.a:3' + +---tokens--- +"'a.a:3'" Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/praat/test_interpolated_numeric_hash.txt b/tests/snippets/praat/test_interpolated_numeric_hash.txt new file mode 100644 index 0000000..419faa1 --- /dev/null +++ b/tests/snippets/praat/test_interpolated_numeric_hash.txt @@ -0,0 +1,6 @@ +---input--- +'a["b"]' + +---tokens--- +'\'a["b"]\'' Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/praat/test_interpolated_numeric_indexed.txt b/tests/snippets/praat/test_interpolated_numeric_indexed.txt new file mode 100644 index 0000000..3cd1b42 --- /dev/null +++ b/tests/snippets/praat/test_interpolated_numeric_indexed.txt @@ -0,0 +1,6 @@ +---input--- +'a[3]' + +---tokens--- +"'a[3]'" Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/praat/test_interpolated_numeric_with_precision.txt b/tests/snippets/praat/test_interpolated_numeric_with_precision.txt new file mode 100644 index 0000000..800ac35 --- /dev/null +++ b/tests/snippets/praat/test_interpolated_numeric_with_precision.txt @@ -0,0 +1,6 @@ +---input--- +'a:3' + +---tokens--- +"'a:3'" Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/praat/test_interpolated_string_hash.txt b/tests/snippets/praat/test_interpolated_string_hash.txt new file mode 100644 index 0000000..608873d --- /dev/null +++ b/tests/snippets/praat/test_interpolated_string_hash.txt @@ -0,0 +1,6 @@ +---input--- +'a$["b"]' + +---tokens--- +'\'a$["b"]\'' Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/praat/test_interpolated_string_indexed.txt b/tests/snippets/praat/test_interpolated_string_indexed.txt new file mode 100644 index 0000000..a50b5d1 --- /dev/null +++ b/tests/snippets/praat/test_interpolated_string_indexed.txt @@ -0,0 +1,6 @@ +---input--- +'a$[3]' + +---tokens--- +"'a$[3]'" Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/praat/test_interpolation_boundary.txt b/tests/snippets/praat/test_interpolation_boundary.txt new file mode 100644 index 0000000..d125e82 --- /dev/null +++ b/tests/snippets/praat/test_interpolation_boundary.txt @@ -0,0 +1,14 @@ +---input--- +"'" + "'" + +---tokens--- +'"' Literal.String +"'" Literal.String +'"' Literal.String +' ' Text +'+' Operator +' ' Text +'"' Literal.String +"'" Literal.String +'"' Literal.String +'\n' Text diff --git a/tests/snippets/praat/test_numeric_assignment.txt b/tests/snippets/praat/test_numeric_assignment.txt new file mode 100644 index 0000000..ed95456 --- /dev/null +++ b/tests/snippets/praat/test_numeric_assignment.txt @@ -0,0 +1,11 @@ +---input--- +var = -15e4 + +---tokens--- +'var' Text +' ' Text +'=' Operator +' ' Text +'-' Operator +'15e4' Literal.Number +'\n' Text diff --git a/tests/snippets/praat/test_string_assignment.txt b/tests/snippets/praat/test_string_assignment.txt new file mode 100644 index 0000000..0e1a86e --- /dev/null +++ b/tests/snippets/praat/test_string_assignment.txt @@ -0,0 +1,12 @@ +---input--- +var$ = "foo" + +---tokens--- +'var$' Text +' ' Text +'=' Operator +' ' Text +'"' Literal.String +'foo' Literal.String +'"' Literal.String +'\n' Text diff --git a/tests/snippets/praat/test_string_escaped_quotes.txt b/tests/snippets/praat/test_string_escaped_quotes.txt new file mode 100644 index 0000000..6867a31 --- /dev/null +++ b/tests/snippets/praat/test_string_escaped_quotes.txt @@ -0,0 +1,13 @@ +---input--- +"it said ""foo""" + +---tokens--- +'"' Literal.String +'it said ' Literal.String +'"' Literal.String +'"' Literal.String +'foo' Literal.String +'"' Literal.String +'"' Literal.String +'"' Literal.String +'\n' Text diff --git a/tests/snippets/promql/test_expression_and_comment.txt b/tests/snippets/promql/test_expression_and_comment.txt new file mode 100644 index 0000000..3ee2bfa --- /dev/null +++ b/tests/snippets/promql/test_expression_and_comment.txt @@ -0,0 +1,15 @@ +---input--- +go_gc_duration_seconds{instance="localhost:9090"} # single comment + +---tokens--- +'go_gc_duration_seconds' Name.Variable +'{' Punctuation +'instance' Name.Label +'=' Operator +'"' Punctuation +'localhost:9090' Literal.String +'"' Punctuation +'}' Punctuation +' ' Text.Whitespace +'# single comment' Comment.Single +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_function_delta.txt b/tests/snippets/promql/test_function_delta.txt new file mode 100644 index 0000000..8b1f9b0 --- /dev/null +++ b/tests/snippets/promql/test_function_delta.txt @@ -0,0 +1,19 @@ +---input--- +delta(cpu_temp_celsius{host="zeus"}[2h]) + +---tokens--- +'delta' Keyword.Reserved +'(' Operator +'cpu_temp_celsius' Name.Variable +'{' Punctuation +'host' Name.Label +'=' Operator +'"' Punctuation +'zeus' Literal.String +'"' Punctuation +'}' Punctuation +'[' Punctuation +'2h' Literal.String +']' Punctuation +')' Operator +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_function_multi_line.txt b/tests/snippets/promql/test_function_multi_line.txt new file mode 100644 index 0000000..31664cc --- /dev/null +++ b/tests/snippets/promql/test_function_multi_line.txt @@ -0,0 +1,80 @@ +---input--- +label_replace( + sum by (instance) ( + irate(node_disk_read_bytes_total[2m]) + ) / 1024 / 1024, + "device", + 'disk', + "instance", + ".*" +) + +---tokens--- +'label_replace' Keyword.Reserved +'(' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +'sum' Keyword +' ' Text.Whitespace +'by' Keyword +' ' Text.Whitespace +'(' Operator +'instance' Name.Variable +')' Operator +' ' Text.Whitespace +'(' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +'irate' Keyword.Reserved +'(' Operator +'node_disk_read_bytes_total' Name.Variable +'[' Punctuation +'2m' Literal.String +']' Punctuation +')' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +')' Operator +' ' Text.Whitespace +'/' Operator +' ' Text.Whitespace +'1024' Literal.Number.Integer +' ' Text.Whitespace +'/' Operator +' ' Text.Whitespace +'1024' Literal.Number.Integer +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'"' Punctuation +'device' Literal.String +'"' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +"'" Punctuation +'disk' Literal.String +"'" Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'"' Punctuation +'instance' Literal.String +'"' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'"' Punctuation +'.*' Literal.String +'"' Punctuation +'\n' Text.Whitespace + +')' Operator +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_function_multi_line_with_offset.txt b/tests/snippets/promql/test_function_multi_line_with_offset.txt new file mode 100644 index 0000000..a7462fb --- /dev/null +++ b/tests/snippets/promql/test_function_multi_line_with_offset.txt @@ -0,0 +1,87 @@ +---input--- +label_replace( + avg by(instance) + (irate(node_cpu_seconds_total{mode = "idle"}[5m] offset 3s) + ) * 100, + "device", + "cpu", + "instance", + ".*" +) + +---tokens--- +'label_replace' Keyword.Reserved +'(' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +'avg' Keyword +' ' Text.Whitespace +'by' Keyword +'(' Operator +'instance' Name.Variable +')' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +'(' Operator +'irate' Keyword.Reserved +'(' Operator +'node_cpu_seconds_total' Name.Variable +'{' Punctuation +'mode' Name.Label +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Punctuation +'idle' Literal.String +'"' Punctuation +'}' Punctuation +'[' Punctuation +'5m' Literal.String +']' Punctuation +' ' Text.Whitespace +'offset' Keyword +' ' Text.Whitespace +'3s' Literal.String +')' Operator +'\n' Text.Whitespace + +' ' Text.Whitespace +')' Operator +' ' Text.Whitespace +'*' Operator +' ' Text.Whitespace +'100' Literal.Number.Integer +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'"' Punctuation +'device' Literal.String +'"' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'"' Punctuation +'cpu' Literal.String +'"' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'"' Punctuation +'instance' Literal.String +'"' Punctuation +',' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'"' Punctuation +'.*' Literal.String +'"' Punctuation +'\n' Text.Whitespace + +')' Operator +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_function_sum_with_args.txt b/tests/snippets/promql/test_function_sum_with_args.txt new file mode 100644 index 0000000..3d677e1 --- /dev/null +++ b/tests/snippets/promql/test_function_sum_with_args.txt @@ -0,0 +1,19 @@ +---input--- +sum by (app, proc) (instance_memory_usage_bytes) + +---tokens--- +'sum' Keyword +' ' Text.Whitespace +'by' Keyword +' ' Text.Whitespace +'(' Operator +'app' Name.Variable +',' Punctuation +' ' Text.Whitespace +'proc' Name.Variable +')' Operator +' ' Text.Whitespace +'(' Operator +'instance_memory_usage_bytes' Name.Variable +')' Operator +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_metric.txt b/tests/snippets/promql/test_metric.txt new file mode 100644 index 0000000..e4889cf --- /dev/null +++ b/tests/snippets/promql/test_metric.txt @@ -0,0 +1,6 @@ +---input--- +go_gc_duration_seconds + +---tokens--- +'go_gc_duration_seconds' Name.Variable +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_metric_multiple_labels.txt b/tests/snippets/promql/test_metric_multiple_labels.txt new file mode 100644 index 0000000..bcb0b64 --- /dev/null +++ b/tests/snippets/promql/test_metric_multiple_labels.txt @@ -0,0 +1,19 @@ +---input--- +go_gc_duration_seconds{instance="localhost:9090",job="alertmanager"} + +---tokens--- +'go_gc_duration_seconds' Name.Variable +'{' Punctuation +'instance' Name.Label +'=' Operator +'"' Punctuation +'localhost:9090' Literal.String +'"' Punctuation +',' Punctuation +'job' Name.Label +'=' Operator +'"' Punctuation +'alertmanager' Literal.String +'"' Punctuation +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_metric_multiple_labels_with_spaces.txt b/tests/snippets/promql/test_metric_multiple_labels_with_spaces.txt new file mode 100644 index 0000000..3ca3d49 --- /dev/null +++ b/tests/snippets/promql/test_metric_multiple_labels_with_spaces.txt @@ -0,0 +1,22 @@ +---input--- +go_gc_duration_seconds{ instance="localhost:9090", job="alertmanager" } + +---tokens--- +'go_gc_duration_seconds' Name.Variable +'{' Punctuation +' ' Text.Whitespace +'instance' Name.Label +'=' Operator +'"' Punctuation +'localhost:9090' Literal.String +'"' Punctuation +',' Punctuation +' ' Text.Whitespace +'job' Name.Label +'=' Operator +'"' Punctuation +'alertmanager' Literal.String +'"' Punctuation +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/promql/test_metric_one_label.txt b/tests/snippets/promql/test_metric_one_label.txt new file mode 100644 index 0000000..8baeafb --- /dev/null +++ b/tests/snippets/promql/test_metric_one_label.txt @@ -0,0 +1,13 @@ +---input--- +go_gc_duration_seconds{instance="localhost:9090"} + +---tokens--- +'go_gc_duration_seconds' Name.Variable +'{' Punctuation +'instance' Name.Label +'=' Operator +'"' Punctuation +'localhost:9090' Literal.String +'"' Punctuation +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/properties/test_comments.txt b/tests/snippets/properties/test_comments.txt new file mode 100644 index 0000000..b785cd2 --- /dev/null +++ b/tests/snippets/properties/test_comments.txt @@ -0,0 +1,12 @@ +# Assures lines lead by either # or ! are recognized as a comment + +---input--- +! a comment +# also a comment + +---tokens--- +'! a comment' Comment +'\n' Text + +'# also a comment' Comment +'\n' Text diff --git a/tests/snippets/properties/test_escaped_space_in_key.txt b/tests/snippets/properties/test_escaped_space_in_key.txt new file mode 100644 index 0000000..5b94781 --- /dev/null +++ b/tests/snippets/properties/test_escaped_space_in_key.txt @@ -0,0 +1,10 @@ +---input--- +key = value + +---tokens--- +'key' Name.Attribute +' ' Text +'=' Operator +' ' Text +'value' Literal.String +'\n' Text diff --git a/tests/snippets/properties/test_escaped_space_in_value.txt b/tests/snippets/properties/test_escaped_space_in_value.txt new file mode 100644 index 0000000..5cf7eb5 --- /dev/null +++ b/tests/snippets/properties/test_escaped_space_in_value.txt @@ -0,0 +1,10 @@ +---input--- +key = doubleword\ value + +---tokens--- +'key' Name.Attribute +' ' Text +'=' Operator +' ' Text +'doubleword\\ value' Literal.String +'\n' Text diff --git a/tests/snippets/properties/test_just_key.txt b/tests/snippets/properties/test_just_key.txt new file mode 100644 index 0000000..7af7379 --- /dev/null +++ b/tests/snippets/properties/test_just_key.txt @@ -0,0 +1,6 @@ +---input--- +justkey + +---tokens--- +'justkey' Name.Attribute +'\n' Text diff --git a/tests/snippets/properties/test_just_key_with_space.txt b/tests/snippets/properties/test_just_key_with_space.txt new file mode 100644 index 0000000..0e00950 --- /dev/null +++ b/tests/snippets/properties/test_just_key_with_space.txt @@ -0,0 +1,6 @@ +---input--- +just\ key + +---tokens--- +'just\\ key' Name.Attribute +'\n' Text diff --git a/tests/snippets/properties/test_leading_whitespace_comments.txt b/tests/snippets/properties/test_leading_whitespace_comments.txt new file mode 100644 index 0000000..337734c --- /dev/null +++ b/tests/snippets/properties/test_leading_whitespace_comments.txt @@ -0,0 +1,6 @@ +---input--- +# comment + +---tokens--- +'# comment' Comment +'\n' Text diff --git a/tests/snippets/properties/test_space_delimited_kv_pair.txt b/tests/snippets/properties/test_space_delimited_kv_pair.txt new file mode 100644 index 0000000..0f79fc3 --- /dev/null +++ b/tests/snippets/properties/test_space_delimited_kv_pair.txt @@ -0,0 +1,7 @@ +---input--- +key value + +---tokens--- +'key' Name.Attribute +' ' Text +'value\n' Literal.String diff --git a/tests/snippets/python/test_fstring_01a.txt b/tests/snippets/python/test_fstring_01a.txt new file mode 100644 index 0000000..406e2cc --- /dev/null +++ b/tests/snippets/python/test_fstring_01a.txt @@ -0,0 +1,25 @@ +---input--- +f'My name is {name}, my age next year is {age+1}, my anniversary is {anniversary:%A, %B %d, %Y}.' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'My name is ' Literal.String.Single +'{' Literal.String.Interpol +'name' Name +'}' Literal.String.Interpol +', my age next year is ' Literal.String.Single +'{' Literal.String.Interpol +'age' Name +'+' Operator +'1' Literal.Number.Integer +'}' Literal.String.Interpol +', my anniversary is ' Literal.String.Single +'{' Literal.String.Interpol +'anniversary' Name +':' Literal.String.Interpol +'%A, %B %d, %Y' Literal.String.Single +'}' Literal.String.Interpol +'.' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_01b.txt b/tests/snippets/python/test_fstring_01b.txt new file mode 100644 index 0000000..278258e --- /dev/null +++ b/tests/snippets/python/test_fstring_01b.txt @@ -0,0 +1,25 @@ +---input--- +f"My name is {name}, my age next year is {age+1}, my anniversary is {anniversary:%A, %B %d, %Y}." + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'My name is ' Literal.String.Double +'{' Literal.String.Interpol +'name' Name +'}' Literal.String.Interpol +', my age next year is ' Literal.String.Double +'{' Literal.String.Interpol +'age' Name +'+' Operator +'1' Literal.Number.Integer +'}' Literal.String.Interpol +', my anniversary is ' Literal.String.Double +'{' Literal.String.Interpol +'anniversary' Name +':' Literal.String.Interpol +'%A, %B %d, %Y' Literal.String.Double +'}' Literal.String.Interpol +'.' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_02a.txt b/tests/snippets/python/test_fstring_02a.txt new file mode 100644 index 0000000..359c13b --- /dev/null +++ b/tests/snippets/python/test_fstring_02a.txt @@ -0,0 +1,13 @@ +---input--- +f'He said his name is {name!r}.' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'He said his name is ' Literal.String.Single +'{' Literal.String.Interpol +'name' Name +'!r}' Literal.String.Interpol +'.' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_02b.txt b/tests/snippets/python/test_fstring_02b.txt new file mode 100644 index 0000000..abef160 --- /dev/null +++ b/tests/snippets/python/test_fstring_02b.txt @@ -0,0 +1,13 @@ +---input--- +f"He said his name is {name!r}." + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'He said his name is ' Literal.String.Double +'{' Literal.String.Interpol +'name' Name +'!r}' Literal.String.Interpol +'.' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_03a.txt b/tests/snippets/python/test_fstring_03a.txt new file mode 100644 index 0000000..3edee4c --- /dev/null +++ b/tests/snippets/python/test_fstring_03a.txt @@ -0,0 +1,14 @@ +---input--- +f'input={value:#06x}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'input=' Literal.String.Single +'{' Literal.String.Interpol +'value' Name +':' Literal.String.Interpol +'#06x' Literal.String.Single +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_03b.txt b/tests/snippets/python/test_fstring_03b.txt new file mode 100644 index 0000000..f772389 --- /dev/null +++ b/tests/snippets/python/test_fstring_03b.txt @@ -0,0 +1,14 @@ +---input--- +f"input={value:#06x}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'input=' Literal.String.Double +'{' Literal.String.Interpol +'value' Name +':' Literal.String.Interpol +'#06x' Literal.String.Double +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_04a.txt b/tests/snippets/python/test_fstring_04a.txt new file mode 100644 index 0000000..85619ab --- /dev/null +++ b/tests/snippets/python/test_fstring_04a.txt @@ -0,0 +1,13 @@ +---input--- +f'{"quoted string"}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'"' Literal.String.Double +'quoted string' Literal.String.Double +'"' Literal.String.Double +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_04b.txt b/tests/snippets/python/test_fstring_04b.txt new file mode 100644 index 0000000..bd6308c --- /dev/null +++ b/tests/snippets/python/test_fstring_04b.txt @@ -0,0 +1,13 @@ +---input--- +f"{'quoted string'}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +"'" Literal.String.Single +'quoted string' Literal.String.Single +"'" Literal.String.Single +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_05a.txt b/tests/snippets/python/test_fstring_05a.txt new file mode 100644 index 0000000..1807457 --- /dev/null +++ b/tests/snippets/python/test_fstring_05a.txt @@ -0,0 +1,16 @@ +---input--- +f'{f"{inner}"}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'inner' Name +'}' Literal.String.Interpol +'"' Literal.String.Double +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_05b.txt b/tests/snippets/python/test_fstring_05b.txt new file mode 100644 index 0000000..b0f3ebd --- /dev/null +++ b/tests/snippets/python/test_fstring_05b.txt @@ -0,0 +1,16 @@ +---input--- +f"{f'{inner}'}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'inner' Name +'}' Literal.String.Interpol +"'" Literal.String.Single +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_06a.txt b/tests/snippets/python/test_fstring_06a.txt new file mode 100644 index 0000000..0ba0809 --- /dev/null +++ b/tests/snippets/python/test_fstring_06a.txt @@ -0,0 +1,16 @@ +# SyntaxError: f-string expression part cannot include a backslash + +---input--- +f'{\'quoted string\'}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'\\' Error +"'" Literal.String.Single +'quoted string' Literal.String.Single +"\\'" Literal.String.Escape +'}' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_06b.txt b/tests/snippets/python/test_fstring_06b.txt new file mode 100644 index 0000000..f98b3dc --- /dev/null +++ b/tests/snippets/python/test_fstring_06b.txt @@ -0,0 +1,16 @@ +# SyntaxError: f-string expression part cannot include a backslash + +---input--- +f"{\"quoted string\"}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'\\' Error +'"' Literal.String.Double +'quoted string' Literal.String.Double +'\\"' Literal.String.Escape +'}' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_07a.txt b/tests/snippets/python/test_fstring_07a.txt new file mode 100644 index 0000000..6394220 --- /dev/null +++ b/tests/snippets/python/test_fstring_07a.txt @@ -0,0 +1,17 @@ +---input--- +f'{{ {4*10} }}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{{' Literal.String.Escape +' ' Literal.String.Single +'{' Literal.String.Interpol +'4' Literal.Number.Integer +'*' Operator +'10' Literal.Number.Integer +'}' Literal.String.Interpol +' ' Literal.String.Single +'}}' Literal.String.Escape +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_07b.txt b/tests/snippets/python/test_fstring_07b.txt new file mode 100644 index 0000000..c7e87bc --- /dev/null +++ b/tests/snippets/python/test_fstring_07b.txt @@ -0,0 +1,17 @@ +---input--- +f"{{ {4*10} }}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{{' Literal.String.Escape +' ' Literal.String.Double +'{' Literal.String.Interpol +'4' Literal.Number.Integer +'*' Operator +'10' Literal.Number.Integer +'}' Literal.String.Interpol +' ' Literal.String.Double +'}}' Literal.String.Escape +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_08a.txt b/tests/snippets/python/test_fstring_08a.txt new file mode 100644 index 0000000..61b6cc8 --- /dev/null +++ b/tests/snippets/python/test_fstring_08a.txt @@ -0,0 +1,15 @@ +---input--- +f'{{{4*10}}}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{{' Literal.String.Escape +'{' Literal.String.Interpol +'4' Literal.Number.Integer +'*' Operator +'10' Literal.Number.Integer +'}' Literal.String.Interpol +'}}' Literal.String.Escape +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_08b.txt b/tests/snippets/python/test_fstring_08b.txt new file mode 100644 index 0000000..41eb13a --- /dev/null +++ b/tests/snippets/python/test_fstring_08b.txt @@ -0,0 +1,15 @@ +---input--- +f"{{{4*10}}}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{{' Literal.String.Escape +'{' Literal.String.Interpol +'4' Literal.Number.Integer +'*' Operator +'10' Literal.Number.Integer +'}' Literal.String.Interpol +'}}' Literal.String.Escape +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_09a.txt b/tests/snippets/python/test_fstring_09a.txt new file mode 100644 index 0000000..3dcec51 --- /dev/null +++ b/tests/snippets/python/test_fstring_09a.txt @@ -0,0 +1,14 @@ +---input--- +fr'x={4*10}' + +---tokens--- +'fr' Literal.String.Affix +"'" Literal.String.Single +'x=' Literal.String.Single +'{' Literal.String.Interpol +'4' Literal.Number.Integer +'*' Operator +'10' Literal.Number.Integer +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_09b.txt b/tests/snippets/python/test_fstring_09b.txt new file mode 100644 index 0000000..72932b2 --- /dev/null +++ b/tests/snippets/python/test_fstring_09b.txt @@ -0,0 +1,14 @@ +---input--- +fr"x={4*10}" + +---tokens--- +'fr' Literal.String.Affix +'"' Literal.String.Double +'x=' Literal.String.Double +'{' Literal.String.Interpol +'4' Literal.Number.Integer +'*' Operator +'10' Literal.Number.Integer +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_10a.txt b/tests/snippets/python/test_fstring_10a.txt new file mode 100644 index 0000000..02fba2b --- /dev/null +++ b/tests/snippets/python/test_fstring_10a.txt @@ -0,0 +1,18 @@ +---input--- +f'abc {a["x"]} def' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'abc ' Literal.String.Single +'{' Literal.String.Interpol +'a' Name +'[' Punctuation +'"' Literal.String.Double +'x' Literal.String.Double +'"' Literal.String.Double +']' Punctuation +'}' Literal.String.Interpol +' def' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_10b.txt b/tests/snippets/python/test_fstring_10b.txt new file mode 100644 index 0000000..4615093 --- /dev/null +++ b/tests/snippets/python/test_fstring_10b.txt @@ -0,0 +1,18 @@ +---input--- +f"abc {a['x']} def" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'abc ' Literal.String.Double +'{' Literal.String.Interpol +'a' Name +'[' Punctuation +"'" Literal.String.Single +'x' Literal.String.Single +"'" Literal.String.Single +']' Punctuation +'}' Literal.String.Interpol +' def' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_11a.txt b/tests/snippets/python/test_fstring_11a.txt new file mode 100644 index 0000000..6116c96 --- /dev/null +++ b/tests/snippets/python/test_fstring_11a.txt @@ -0,0 +1,18 @@ +---input--- +f'''abc {a['x']} def''' + +---tokens--- +'f' Literal.String.Affix +"'''" Literal.String.Single +'abc ' Literal.String.Single +'{' Literal.String.Interpol +'a' Name +'[' Punctuation +"'" Literal.String.Single +'x' Literal.String.Single +"'" Literal.String.Single +']' Punctuation +'}' Literal.String.Interpol +' def' Literal.String.Single +"'''" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_11b.txt b/tests/snippets/python/test_fstring_11b.txt new file mode 100644 index 0000000..77c3d6f --- /dev/null +++ b/tests/snippets/python/test_fstring_11b.txt @@ -0,0 +1,18 @@ +---input--- +f"""abc {a["x"]} def""" + +---tokens--- +'f' Literal.String.Affix +'"""' Literal.String.Double +'abc ' Literal.String.Double +'{' Literal.String.Interpol +'a' Name +'[' Punctuation +'"' Literal.String.Double +'x' Literal.String.Double +'"' Literal.String.Double +']' Punctuation +'}' Literal.String.Interpol +' def' Literal.String.Double +'"""' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_12a.txt b/tests/snippets/python/test_fstring_12a.txt new file mode 100644 index 0000000..cc8eeab --- /dev/null +++ b/tests/snippets/python/test_fstring_12a.txt @@ -0,0 +1,16 @@ +---input--- +f'''{x ++1}''' + +---tokens--- +'f' Literal.String.Affix +"'''" Literal.String.Single +'{' Literal.String.Interpol +'x' Name +'\n' Text + +'+' Operator +'1' Literal.Number.Integer +'}' Literal.String.Interpol +"'''" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_12b.txt b/tests/snippets/python/test_fstring_12b.txt new file mode 100644 index 0000000..160b2d9 --- /dev/null +++ b/tests/snippets/python/test_fstring_12b.txt @@ -0,0 +1,16 @@ +---input--- +f"""{x ++1}""" + +---tokens--- +'f' Literal.String.Affix +'"""' Literal.String.Double +'{' Literal.String.Interpol +'x' Name +'\n' Text + +'+' Operator +'1' Literal.Number.Integer +'}' Literal.String.Interpol +'"""' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_13a.txt b/tests/snippets/python/test_fstring_13a.txt new file mode 100644 index 0000000..b556a5b --- /dev/null +++ b/tests/snippets/python/test_fstring_13a.txt @@ -0,0 +1,17 @@ +---input--- +f'''{d[0 +]}''' + +---tokens--- +'f' Literal.String.Affix +"'''" Literal.String.Single +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +'0' Literal.Number.Integer +'\n' Text + +']' Punctuation +'}' Literal.String.Interpol +"'''" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_13b.txt b/tests/snippets/python/test_fstring_13b.txt new file mode 100644 index 0000000..1e9fd60 --- /dev/null +++ b/tests/snippets/python/test_fstring_13b.txt @@ -0,0 +1,17 @@ +---input--- +f"""{d[0 +]}""" + +---tokens--- +'f' Literal.String.Affix +'"""' Literal.String.Double +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +'0' Literal.Number.Integer +'\n' Text + +']' Punctuation +'}' Literal.String.Interpol +'"""' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_14a.txt b/tests/snippets/python/test_fstring_14a.txt new file mode 100644 index 0000000..de202a2 --- /dev/null +++ b/tests/snippets/python/test_fstring_14a.txt @@ -0,0 +1,20 @@ +---input--- +f'result: {value:{width}.{precision}}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'result: ' Literal.String.Single +'{' Literal.String.Interpol +'value' Name +':' Literal.String.Interpol +'{' Literal.String.Interpol +'width' Name +'}' Literal.String.Interpol +'.' Literal.String.Single +'{' Literal.String.Interpol +'precision' Name +'}' Literal.String.Interpol +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_14b.txt b/tests/snippets/python/test_fstring_14b.txt new file mode 100644 index 0000000..83aaad5 --- /dev/null +++ b/tests/snippets/python/test_fstring_14b.txt @@ -0,0 +1,20 @@ +---input--- +f"result: {value:{width}.{precision}}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'result: ' Literal.String.Double +'{' Literal.String.Interpol +'value' Name +':' Literal.String.Interpol +'{' Literal.String.Interpol +'width' Name +'}' Literal.String.Interpol +'.' Literal.String.Double +'{' Literal.String.Interpol +'precision' Name +'}' Literal.String.Interpol +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_15a.txt b/tests/snippets/python/test_fstring_15a.txt new file mode 100644 index 0000000..635e879 --- /dev/null +++ b/tests/snippets/python/test_fstring_15a.txt @@ -0,0 +1,42 @@ +---input--- +'a' 'b' f'{x}' '{c}' f'str<{y:^4}>' 'd' 'e' + +---tokens--- +"'" Literal.String.Single +'a' Literal.String.Single +"'" Literal.String.Single +' ' Text +"'" Literal.String.Single +'b' Literal.String.Single +"'" Literal.String.Single +' ' Text +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'x' Name +'}' Literal.String.Interpol +"'" Literal.String.Single +' ' Text +"'" Literal.String.Single +'{c}' Literal.String.Interpol +"'" Literal.String.Single +' ' Text +'f' Literal.String.Affix +"'" Literal.String.Single +'str<' Literal.String.Single +'{' Literal.String.Interpol +'y' Name +':' Literal.String.Interpol +'^4' Literal.String.Single +'}' Literal.String.Interpol +'>' Literal.String.Single +"'" Literal.String.Single +' ' Text +"'" Literal.String.Single +'d' Literal.String.Single +"'" Literal.String.Single +' ' Text +"'" Literal.String.Single +'e' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_15b.txt b/tests/snippets/python/test_fstring_15b.txt new file mode 100644 index 0000000..1a1ab25 --- /dev/null +++ b/tests/snippets/python/test_fstring_15b.txt @@ -0,0 +1,42 @@ +---input--- +"a" "b" f"{x}" "{c}" f"str<{y:^4}>" "d" "e" + +---tokens--- +'"' Literal.String.Double +'a' Literal.String.Double +'"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'b' Literal.String.Double +'"' Literal.String.Double +' ' Text +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'x' Name +'}' Literal.String.Interpol +'"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'{c}' Literal.String.Interpol +'"' Literal.String.Double +' ' Text +'f' Literal.String.Affix +'"' Literal.String.Double +'str<' Literal.String.Double +'{' Literal.String.Interpol +'y' Name +':' Literal.String.Interpol +'^4' Literal.String.Double +'}' Literal.String.Interpol +'>' Literal.String.Double +'"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'d' Literal.String.Double +'"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'e' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_16a.txt b/tests/snippets/python/test_fstring_16a.txt new file mode 100644 index 0000000..cbd4d14 --- /dev/null +++ b/tests/snippets/python/test_fstring_16a.txt @@ -0,0 +1,18 @@ +---input--- +f'{i}:{d[i]}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'i' Name +'}' Literal.String.Interpol +':' Literal.String.Single +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +'i' Name +']' Punctuation +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_16b.txt b/tests/snippets/python/test_fstring_16b.txt new file mode 100644 index 0000000..8ce173f --- /dev/null +++ b/tests/snippets/python/test_fstring_16b.txt @@ -0,0 +1,18 @@ +---input--- +f"{i}:{d[i]}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'i' Name +'}' Literal.String.Interpol +':' Literal.String.Double +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +'i' Name +']' Punctuation +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_17a.txt b/tests/snippets/python/test_fstring_17a.txt new file mode 100644 index 0000000..a1b5b3a --- /dev/null +++ b/tests/snippets/python/test_fstring_17a.txt @@ -0,0 +1,14 @@ +---input--- +f'x = {x:+3}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'x = ' Literal.String.Single +'{' Literal.String.Interpol +'x' Name +':' Literal.String.Interpol +'+3' Literal.String.Single +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_17b.txt b/tests/snippets/python/test_fstring_17b.txt new file mode 100644 index 0000000..5f34b17 --- /dev/null +++ b/tests/snippets/python/test_fstring_17b.txt @@ -0,0 +1,14 @@ +---input--- +f"x = {x:+3}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'x = ' Literal.String.Double +'{' Literal.String.Interpol +'x' Name +':' Literal.String.Interpol +'+3' Literal.String.Double +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_18a.txt b/tests/snippets/python/test_fstring_18a.txt new file mode 100644 index 0000000..60d0512 --- /dev/null +++ b/tests/snippets/python/test_fstring_18a.txt @@ -0,0 +1,25 @@ +---input--- +f'{fn(lst,2)} {fn(lst,3)}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'fn' Name +'(' Punctuation +'lst' Name +',' Punctuation +'2' Literal.Number.Integer +')' Punctuation +'}' Literal.String.Interpol +' ' Literal.String.Single +'{' Literal.String.Interpol +'fn' Name +'(' Punctuation +'lst' Name +',' Punctuation +'3' Literal.Number.Integer +')' Punctuation +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_18b.txt b/tests/snippets/python/test_fstring_18b.txt new file mode 100644 index 0000000..a189d00 --- /dev/null +++ b/tests/snippets/python/test_fstring_18b.txt @@ -0,0 +1,25 @@ +---input--- +f"{fn(lst,2)} {fn(lst,3)}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'fn' Name +'(' Punctuation +'lst' Name +',' Punctuation +'2' Literal.Number.Integer +')' Punctuation +'}' Literal.String.Interpol +' ' Literal.String.Double +'{' Literal.String.Interpol +'fn' Name +'(' Punctuation +'lst' Name +',' Punctuation +'3' Literal.Number.Integer +')' Punctuation +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_19a.txt b/tests/snippets/python/test_fstring_19a.txt new file mode 100644 index 0000000..6e412a3 --- /dev/null +++ b/tests/snippets/python/test_fstring_19a.txt @@ -0,0 +1,46 @@ +---input--- +f'mapping is { {a:b for (a, b) in ((1, 2), (3, 4))} }' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'mapping is ' Literal.String.Single +'{' Literal.String.Interpol +' ' Text +'{' Punctuation +'a' Name +':' Punctuation +'b' Name +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'a' Name +',' Punctuation +' ' Text +'b' Name +')' Punctuation +' ' Text +'in' Operator.Word +' ' Text +'(' Punctuation +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text +'(' Punctuation +'3' Literal.Number.Integer +',' Punctuation +' ' Text +'4' Literal.Number.Integer +')' Punctuation +')' Punctuation +'}' Punctuation +' ' Text +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_19b.txt b/tests/snippets/python/test_fstring_19b.txt new file mode 100644 index 0000000..5c9d6f7 --- /dev/null +++ b/tests/snippets/python/test_fstring_19b.txt @@ -0,0 +1,46 @@ +---input--- +f"mapping is { {a:b for (a, b) in ((1, 2), (3, 4))} }" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'mapping is ' Literal.String.Double +'{' Literal.String.Interpol +' ' Text +'{' Punctuation +'a' Name +':' Punctuation +'b' Name +' ' Text +'for' Keyword +' ' Text +'(' Punctuation +'a' Name +',' Punctuation +' ' Text +'b' Name +')' Punctuation +' ' Text +'in' Operator.Word +' ' Text +'(' Punctuation +'(' Punctuation +'1' Literal.Number.Integer +',' Punctuation +' ' Text +'2' Literal.Number.Integer +')' Punctuation +',' Punctuation +' ' Text +'(' Punctuation +'3' Literal.Number.Integer +',' Punctuation +' ' Text +'4' Literal.Number.Integer +')' Punctuation +')' Punctuation +'}' Punctuation +' ' Text +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_20a.txt b/tests/snippets/python/test_fstring_20a.txt new file mode 100644 index 0000000..a72a7a4 --- /dev/null +++ b/tests/snippets/python/test_fstring_20a.txt @@ -0,0 +1,17 @@ +---input--- +f'a={d["a"]}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'a=' Literal.String.Single +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +'"' Literal.String.Double +'a' Literal.String.Double +'"' Literal.String.Double +']' Punctuation +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_20b.txt b/tests/snippets/python/test_fstring_20b.txt new file mode 100644 index 0000000..556f7de --- /dev/null +++ b/tests/snippets/python/test_fstring_20b.txt @@ -0,0 +1,17 @@ +---input--- +f"a={d['a']}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'a=' Literal.String.Double +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +"'" Literal.String.Single +'a' Literal.String.Single +"'" Literal.String.Single +']' Punctuation +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_21a.txt b/tests/snippets/python/test_fstring_21a.txt new file mode 100644 index 0000000..1a59100 --- /dev/null +++ b/tests/snippets/python/test_fstring_21a.txt @@ -0,0 +1,15 @@ +---input--- +f'a={d[a]}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'a=' Literal.String.Single +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +'a' Name +']' Punctuation +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_21b.txt b/tests/snippets/python/test_fstring_21b.txt new file mode 100644 index 0000000..7e3ed08 --- /dev/null +++ b/tests/snippets/python/test_fstring_21b.txt @@ -0,0 +1,15 @@ +---input--- +f"a={d[a]}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'a=' Literal.String.Double +'{' Literal.String.Interpol +'d' Name +'[' Punctuation +'a' Name +']' Punctuation +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_22a.txt b/tests/snippets/python/test_fstring_22a.txt new file mode 100644 index 0000000..6a3b792 --- /dev/null +++ b/tests/snippets/python/test_fstring_22a.txt @@ -0,0 +1,14 @@ +---input--- +fr'{header}:\s+' + +---tokens--- +'fr' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'header' Name +'}' Literal.String.Interpol +':' Literal.String.Single +'\\' Literal.String.Single +'s+' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_22b.txt b/tests/snippets/python/test_fstring_22b.txt new file mode 100644 index 0000000..75a08aa --- /dev/null +++ b/tests/snippets/python/test_fstring_22b.txt @@ -0,0 +1,14 @@ +---input--- +fr"{header}:\s+" + +---tokens--- +'fr' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'header' Name +'}' Literal.String.Interpol +':' Literal.String.Double +'\\' Literal.String.Double +'s+' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_23a.txt b/tests/snippets/python/test_fstring_23a.txt new file mode 100644 index 0000000..ae944ed --- /dev/null +++ b/tests/snippets/python/test_fstring_23a.txt @@ -0,0 +1,11 @@ +---input--- +f'{a!r}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'a' Name +'!r}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_23b.txt b/tests/snippets/python/test_fstring_23b.txt new file mode 100644 index 0000000..8038c8b --- /dev/null +++ b/tests/snippets/python/test_fstring_23b.txt @@ -0,0 +1,11 @@ +---input--- +f"{a!r}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'a' Name +'!r}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_24a.txt b/tests/snippets/python/test_fstring_24a.txt new file mode 100644 index 0000000..9dd1e94 --- /dev/null +++ b/tests/snippets/python/test_fstring_24a.txt @@ -0,0 +1,23 @@ +---input--- +f'{(lambda x: x*2)(3)}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'(' Punctuation +'lambda' Keyword +' ' Text +'x' Name +':' Punctuation +' ' Text +'x' Name +'*' Operator +'2' Literal.Number.Integer +')' Punctuation +'(' Punctuation +'3' Literal.Number.Integer +')' Punctuation +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_24b.txt b/tests/snippets/python/test_fstring_24b.txt new file mode 100644 index 0000000..0ef51a5 --- /dev/null +++ b/tests/snippets/python/test_fstring_24b.txt @@ -0,0 +1,23 @@ +---input--- +f"{(lambda x: x*2)(3)}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'(' Punctuation +'lambda' Keyword +' ' Text +'x' Name +':' Punctuation +' ' Text +'x' Name +'*' Operator +'2' Literal.Number.Integer +')' Punctuation +'(' Punctuation +'3' Literal.Number.Integer +')' Punctuation +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_25a.txt b/tests/snippets/python/test_fstring_25a.txt new file mode 100644 index 0000000..e42453e --- /dev/null +++ b/tests/snippets/python/test_fstring_25a.txt @@ -0,0 +1,24 @@ +---input--- +extra = f'{extra},waiters:{len(self._waiters)}' + +---tokens--- +'extra' Name +' ' Text +'=' Operator +' ' Text +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'extra' Name +'}' Literal.String.Interpol +',waiters:' Literal.String.Single +'{' Literal.String.Interpol +'len' Name.Builtin +'(' Punctuation +'self' Name.Builtin.Pseudo +'.' Operator +'_waiters' Name +')' Punctuation +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_25b.txt b/tests/snippets/python/test_fstring_25b.txt new file mode 100644 index 0000000..2ba4b72 --- /dev/null +++ b/tests/snippets/python/test_fstring_25b.txt @@ -0,0 +1,24 @@ +---input--- +extra = f"{extra},waiters:{len(self._waiters)}" + +---tokens--- +'extra' Name +' ' Text +'=' Operator +' ' Text +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'extra' Name +'}' Literal.String.Interpol +',waiters:' Literal.String.Double +'{' Literal.String.Interpol +'len' Name.Builtin +'(' Punctuation +'self' Name.Builtin.Pseudo +'.' Operator +'_waiters' Name +')' Punctuation +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_26a.txt b/tests/snippets/python/test_fstring_26a.txt new file mode 100644 index 0000000..c644d44 --- /dev/null +++ b/tests/snippets/python/test_fstring_26a.txt @@ -0,0 +1,20 @@ +---input--- +message.append(f" [line {lineno:2d}]") + +---tokens--- +'message' Name +'.' Operator +'append' Name +'(' Punctuation +'f' Literal.String.Affix +'"' Literal.String.Double +' [line ' Literal.String.Double +'{' Literal.String.Interpol +'lineno' Name +':' Literal.String.Interpol +'2d' Literal.String.Double +'}' Literal.String.Interpol +']' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +'\n' Text diff --git a/tests/snippets/python/test_fstring_26b.txt b/tests/snippets/python/test_fstring_26b.txt new file mode 100644 index 0000000..7396410 --- /dev/null +++ b/tests/snippets/python/test_fstring_26b.txt @@ -0,0 +1,20 @@ +---input--- +message.append(f' [line {lineno:2d}]') + +---tokens--- +'message' Name +'.' Operator +'append' Name +'(' Punctuation +'f' Literal.String.Affix +"'" Literal.String.Single +' [line ' Literal.String.Single +'{' Literal.String.Interpol +'lineno' Name +':' Literal.String.Interpol +'2d' Literal.String.Single +'}' Literal.String.Interpol +']' Literal.String.Single +"'" Literal.String.Single +')' Punctuation +'\n' Text diff --git a/tests/snippets/python/test_fstring_27a.txt b/tests/snippets/python/test_fstring_27a.txt new file mode 100644 index 0000000..cd8bdbe --- /dev/null +++ b/tests/snippets/python/test_fstring_27a.txt @@ -0,0 +1,11 @@ +---input--- +f"{foo=}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'foo' Name +'=}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_27b.txt b/tests/snippets/python/test_fstring_27b.txt new file mode 100644 index 0000000..7773ab3 --- /dev/null +++ b/tests/snippets/python/test_fstring_27b.txt @@ -0,0 +1,11 @@ +---input--- +f'{foo=}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'foo' Name +'=}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_28a.txt b/tests/snippets/python/test_fstring_28a.txt new file mode 100644 index 0000000..6aca321 --- /dev/null +++ b/tests/snippets/python/test_fstring_28a.txt @@ -0,0 +1,11 @@ +---input--- +f'{foo=!s}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'foo' Name +'=!s}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_28b.txt b/tests/snippets/python/test_fstring_28b.txt new file mode 100644 index 0000000..14183eb --- /dev/null +++ b/tests/snippets/python/test_fstring_28b.txt @@ -0,0 +1,11 @@ +---input--- +f"{foo=!s}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'foo' Name +'=!s}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_29a.txt b/tests/snippets/python/test_fstring_29a.txt new file mode 100644 index 0000000..8171506 --- /dev/null +++ b/tests/snippets/python/test_fstring_29a.txt @@ -0,0 +1,15 @@ +---input--- +f"{math.pi=!f:.2f}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'math' Name +'.' Operator +'pi' Name +'=!f:' Literal.String.Interpol +'.2f' Literal.String.Double +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_29b.txt b/tests/snippets/python/test_fstring_29b.txt new file mode 100644 index 0000000..de5b508 --- /dev/null +++ b/tests/snippets/python/test_fstring_29b.txt @@ -0,0 +1,15 @@ +---input--- +f'{math.pi=!f:.2f}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'math' Name +'.' Operator +'pi' Name +'=!f:' Literal.String.Interpol +'.2f' Literal.String.Single +'}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_30a.txt b/tests/snippets/python/test_fstring_30a.txt new file mode 100644 index 0000000..f295cfe --- /dev/null +++ b/tests/snippets/python/test_fstring_30a.txt @@ -0,0 +1,16 @@ +---input--- +f"{ chr(65) =}" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +' ' Text +'chr' Name.Builtin +'(' Punctuation +'65' Literal.Number.Integer +')' Punctuation +' ' Text +'=}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_30b.txt b/tests/snippets/python/test_fstring_30b.txt new file mode 100644 index 0000000..10a2af8 --- /dev/null +++ b/tests/snippets/python/test_fstring_30b.txt @@ -0,0 +1,16 @@ +---input--- +f'{ chr(65) =}' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +' ' Text +'chr' Name.Builtin +'(' Punctuation +'65' Literal.Number.Integer +')' Punctuation +' ' Text +'=}' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_31a.txt b/tests/snippets/python/test_fstring_31a.txt new file mode 100644 index 0000000..eac0167 --- /dev/null +++ b/tests/snippets/python/test_fstring_31a.txt @@ -0,0 +1,15 @@ +---input--- +f"{chr(65) = }" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'chr' Name.Builtin +'(' Punctuation +'65' Literal.Number.Integer +')' Punctuation +' ' Text +'= }' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_31b.txt b/tests/snippets/python/test_fstring_31b.txt new file mode 100644 index 0000000..40702da --- /dev/null +++ b/tests/snippets/python/test_fstring_31b.txt @@ -0,0 +1,15 @@ +---input--- +f'{chr(65) = }' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'chr' Name.Builtin +'(' Punctuation +'65' Literal.Number.Integer +')' Punctuation +' ' Text +'= }' Literal.String.Interpol +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_32a.txt b/tests/snippets/python/test_fstring_32a.txt new file mode 100644 index 0000000..666134c --- /dev/null +++ b/tests/snippets/python/test_fstring_32a.txt @@ -0,0 +1,15 @@ +---input--- +f'*{n=:30}*' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'*' Literal.String.Single +'{' Literal.String.Interpol +'n' Name +'=:' Literal.String.Interpol +'30' Literal.String.Single +'}' Literal.String.Interpol +'*' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_32b.txt b/tests/snippets/python/test_fstring_32b.txt new file mode 100644 index 0000000..9e08725 --- /dev/null +++ b/tests/snippets/python/test_fstring_32b.txt @@ -0,0 +1,15 @@ +---input--- +f"*{n=:30}*" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'*' Literal.String.Double +'{' Literal.String.Interpol +'n' Name +'=:' Literal.String.Interpol +'30' Literal.String.Double +'}' Literal.String.Interpol +'*' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_33a.txt b/tests/snippets/python/test_fstring_33a.txt new file mode 100644 index 0000000..232491b --- /dev/null +++ b/tests/snippets/python/test_fstring_33a.txt @@ -0,0 +1,15 @@ +---input--- +f'*{n=!r:30}*' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'*' Literal.String.Single +'{' Literal.String.Interpol +'n' Name +'=!r:' Literal.String.Interpol +'30' Literal.String.Single +'}' Literal.String.Interpol +'*' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_33b.txt b/tests/snippets/python/test_fstring_33b.txt new file mode 100644 index 0000000..1481e81 --- /dev/null +++ b/tests/snippets/python/test_fstring_33b.txt @@ -0,0 +1,15 @@ +---input--- +f"*{n=!r:30}*" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'*' Literal.String.Double +'{' Literal.String.Interpol +'n' Name +'=!r:' Literal.String.Interpol +'30' Literal.String.Double +'}' Literal.String.Interpol +'*' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_34a.txt b/tests/snippets/python/test_fstring_34a.txt new file mode 100644 index 0000000..6bd510a --- /dev/null +++ b/tests/snippets/python/test_fstring_34a.txt @@ -0,0 +1,20 @@ +---input--- +f"*{f'{n=}':30}*" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'*' Literal.String.Double +'{' Literal.String.Interpol +'f' Literal.String.Affix +"'" Literal.String.Single +'{' Literal.String.Interpol +'n' Name +'=}' Literal.String.Interpol +"'" Literal.String.Single +':' Literal.String.Interpol +'30' Literal.String.Double +'}' Literal.String.Interpol +'*' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_34b.txt b/tests/snippets/python/test_fstring_34b.txt new file mode 100644 index 0000000..4cb7e63 --- /dev/null +++ b/tests/snippets/python/test_fstring_34b.txt @@ -0,0 +1,20 @@ +---input--- +f'*{f"{n=}":30}*' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'*' Literal.String.Single +'{' Literal.String.Interpol +'f' Literal.String.Affix +'"' Literal.String.Double +'{' Literal.String.Interpol +'n' Name +'=}' Literal.String.Interpol +'"' Literal.String.Double +':' Literal.String.Interpol +'30' Literal.String.Single +'}' Literal.String.Interpol +'*' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_35a.txt b/tests/snippets/python/test_fstring_35a.txt new file mode 100644 index 0000000..f09edc1 --- /dev/null +++ b/tests/snippets/python/test_fstring_35a.txt @@ -0,0 +1,15 @@ +---input--- +f'*{n=:+<30}*' + +---tokens--- +'f' Literal.String.Affix +"'" Literal.String.Single +'*' Literal.String.Single +'{' Literal.String.Interpol +'n' Name +'=:' Literal.String.Interpol +'+<30' Literal.String.Single +'}' Literal.String.Interpol +'*' Literal.String.Single +"'" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_35b.txt b/tests/snippets/python/test_fstring_35b.txt new file mode 100644 index 0000000..794f7b6 --- /dev/null +++ b/tests/snippets/python/test_fstring_35b.txt @@ -0,0 +1,15 @@ +---input--- +f"*{n=:+<30}*" + +---tokens--- +'f' Literal.String.Affix +'"' Literal.String.Double +'*' Literal.String.Double +'{' Literal.String.Interpol +'n' Name +'=:' Literal.String.Interpol +'+<30' Literal.String.Double +'}' Literal.String.Interpol +'*' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_fstring_36a.txt b/tests/snippets/python/test_fstring_36a.txt new file mode 100644 index 0000000..4b6ab23 --- /dev/null +++ b/tests/snippets/python/test_fstring_36a.txt @@ -0,0 +1,16 @@ +---input--- + +f'''{foo + = !s:20}''' + +---tokens--- +'f' Literal.String.Affix +"'''" Literal.String.Single +'{' Literal.String.Interpol +'foo' Name +'\n ' Text +'= !s:' Literal.String.Interpol +'20' Literal.String.Single +'}' Literal.String.Interpol +"'''" Literal.String.Single +'\n' Text diff --git a/tests/snippets/python/test_fstring_36b.txt b/tests/snippets/python/test_fstring_36b.txt new file mode 100644 index 0000000..abc9cf3 --- /dev/null +++ b/tests/snippets/python/test_fstring_36b.txt @@ -0,0 +1,16 @@ +---input--- + +f"""{foo + = !s:20}""" + +---tokens--- +'f' Literal.String.Affix +'"""' Literal.String.Double +'{' Literal.String.Interpol +'foo' Name +'\n ' Text +'= !s:' Literal.String.Interpol +'20' Literal.String.Double +'}' Literal.String.Interpol +'"""' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_needs_name.txt b/tests/snippets/python/test_needs_name.txt new file mode 100644 index 0000000..60c782c --- /dev/null +++ b/tests/snippets/python/test_needs_name.txt @@ -0,0 +1,55 @@ +# Tests that '@' is recognized as an Operator + +---input--- +S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r) + +---tokens--- +'S' Name +' ' Text +'=' Operator +' ' Text +'(' Punctuation +'H' Name +' ' Text +'@' Operator +' ' Text +'beta' Name +' ' Text +'-' Operator +' ' Text +'r' Name +')' Punctuation +'.' Operator +'T' Name +' ' Text +'@' Operator +' ' Text +'inv' Name +'(' Punctuation +'H' Name +' ' Text +'@' Operator +' ' Text +'V' Name +' ' Text +'@' Operator +' ' Text +'H' Name +'.' Operator +'T' Name +')' Punctuation +' ' Text +'@' Operator +' ' Text +'(' Punctuation +'H' Name +' ' Text +'@' Operator +' ' Text +'beta' Name +' ' Text +'-' Operator +' ' Text +'r' Name +')' Punctuation +'\n' Text diff --git a/tests/snippets/python/test_pep_515.txt b/tests/snippets/python/test_pep_515.txt new file mode 100644 index 0000000..a5f2f35 --- /dev/null +++ b/tests/snippets/python/test_pep_515.txt @@ -0,0 +1,28 @@ +# Tests that the lexer can parse numeric literals with underscores + +---input--- +1_000_000 +1_000.000_001 +1_000e1_000j +0xCAFE_F00D +0b_0011_1111_0100_1110 +0o_777_123 + +---tokens--- +'1_000_000' Literal.Number.Integer +'\n' Text + +'1_000.000_001' Literal.Number.Float +'\n' Text + +'1_000e1_000j' Literal.Number.Float +'\n' Text + +'0xCAFE_F00D' Literal.Number.Hex +'\n' Text + +'0b_0011_1111_0100_1110' Literal.Number.Bin +'\n' Text + +'0o_777_123' Literal.Number.Oct +'\n' Text diff --git a/tests/snippets/python/test_raw_fstring.txt b/tests/snippets/python/test_raw_fstring.txt new file mode 100644 index 0000000..0dd51c1 --- /dev/null +++ b/tests/snippets/python/test_raw_fstring.txt @@ -0,0 +1,46 @@ +# Tests that the lexer can parse raw f-strings + +---input--- +rf"m_\nu = x" + +f"m_\nu = {x}" + +rf"m_{{\nu}} = {x}" + +---tokens--- +'rf' Literal.String.Affix +'"' Literal.String.Double +'m_' Literal.String.Double +'\\' Literal.String.Double +'nu = x' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'\n' Text + +'f' Literal.String.Affix +'"' Literal.String.Double +'m_' Literal.String.Double +'\\n' Literal.String.Escape +'u = ' Literal.String.Double +'{' Literal.String.Interpol +'x' Name +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text + +'\n' Text + +'rf' Literal.String.Affix +'"' Literal.String.Double +'m_' Literal.String.Double +'{{' Literal.String.Escape +'\\' Literal.String.Double +'nu' Literal.String.Double +'}}' Literal.String.Escape +' = ' Literal.String.Double +'{' Literal.String.Interpol +'x' Name +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/python/test_walrus_operator.txt b/tests/snippets/python/test_walrus_operator.txt new file mode 100644 index 0000000..05935ec --- /dev/null +++ b/tests/snippets/python/test_walrus_operator.txt @@ -0,0 +1,21 @@ +# Tests that ':=' is recognized as an Operator + +---input--- +if (a := 2) > 4: + +---tokens--- +'if' Keyword +' ' Text +'(' Punctuation +'a' Name +' ' Text +':=' Operator +' ' Text +'2' Literal.Number.Integer +')' Punctuation +' ' Text +'>' Operator +' ' Text +'4' Literal.Number.Integer +':' Punctuation +'\n' Text diff --git a/tests/snippets/python2/test_cls_builtin.txt b/tests/snippets/python2/test_cls_builtin.txt new file mode 100644 index 0000000..333845d --- /dev/null +++ b/tests/snippets/python2/test_cls_builtin.txt @@ -0,0 +1,34 @@ +# Tests that a cls token gets interpreted as a Token.Name.Builtin.Pseudo + +---input--- +class TestClass(): + @classmethod + def hello(cls): + pass + +---tokens--- +'class' Keyword +' ' Text +'TestClass' Name.Class +'(' Punctuation +')' Punctuation +':' Punctuation +'\n' Text + +' ' Text +'@classmethod' Name.Decorator +'\n' Text + +' ' Text +'def' Keyword +' ' Text +'hello' Name.Function +'(' Punctuation +'cls' Name.Builtin.Pseudo +')' Punctuation +':' Punctuation +'\n' Text + +' ' Text +'pass' Keyword +'\n' Text diff --git a/tests/snippets/qbasic/test_keywords_with_dollar.txt b/tests/snippets/qbasic/test_keywords_with_dollar.txt new file mode 100644 index 0000000..21c4fba --- /dev/null +++ b/tests/snippets/qbasic/test_keywords_with_dollar.txt @@ -0,0 +1,22 @@ +---input--- +DIM x +x = RIGHT$("abc", 1) + +---tokens--- +'DIM' Keyword.Declaration +' ' Text.Whitespace +'x' Name.Variable.Global +'\n' Text + +'x' Name.Variable.Global +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'RIGHT$' Keyword.Reserved +'(' Punctuation +'"abc"' Literal.String.Double +',' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer.Long +')' Punctuation +'\n' Text diff --git a/tests/snippets/r/test_call.txt b/tests/snippets/r/test_call.txt new file mode 100644 index 0000000..1e80313 --- /dev/null +++ b/tests/snippets/r/test_call.txt @@ -0,0 +1,12 @@ +---input--- +f(1, a) + +---tokens--- +'f' Name.Function +'(' Punctuation +'1' Literal.Number +',' Punctuation +' ' Text +'a' Name +')' Punctuation +'\n' Text diff --git a/tests/snippets/r/test_custom_operator.txt b/tests/snippets/r/test_custom_operator.txt new file mode 100644 index 0000000..a8261a1 --- /dev/null +++ b/tests/snippets/r/test_custom_operator.txt @@ -0,0 +1,10 @@ +---input--- +7 % and % 8 + +---tokens--- +'7' Literal.Number +' ' Text +'% and %' Operator +' ' Text +'8' Literal.Number +'\n' Text diff --git a/tests/snippets/r/test_dot_indexing.txt b/tests/snippets/r/test_dot_indexing.txt new file mode 100644 index 0000000..6294496 --- /dev/null +++ b/tests/snippets/r/test_dot_indexing.txt @@ -0,0 +1,9 @@ +---input--- +.[1] + +---tokens--- +'.' Name +'[' Punctuation +'1' Literal.Number +']' Punctuation +'\n' Text diff --git a/tests/snippets/r/test_dot_name.txt b/tests/snippets/r/test_dot_name.txt new file mode 100644 index 0000000..513abef --- /dev/null +++ b/tests/snippets/r/test_dot_name.txt @@ -0,0 +1,10 @@ +---input--- +. <- 1 + +---tokens--- +'.' Name +' ' Text +'<-' Operator +' ' Text +'1' Literal.Number +'\n' Text diff --git a/tests/snippets/r/test_indexing.txt b/tests/snippets/r/test_indexing.txt new file mode 100644 index 0000000..396a2d3 --- /dev/null +++ b/tests/snippets/r/test_indexing.txt @@ -0,0 +1,9 @@ +---input--- +a[1] + +---tokens--- +'a' Name +'[' Punctuation +'1' Literal.Number +']' Punctuation +'\n' Text diff --git a/tests/snippets/r/test_name1.txt b/tests/snippets/r/test_name1.txt new file mode 100644 index 0000000..d685ee7 --- /dev/null +++ b/tests/snippets/r/test_name1.txt @@ -0,0 +1,6 @@ +---input--- +._a_2.c + +---tokens--- +'._a_2.c' Name +'\n' Text diff --git a/tests/snippets/r/test_name2.txt b/tests/snippets/r/test_name2.txt new file mode 100644 index 0000000..557650d --- /dev/null +++ b/tests/snippets/r/test_name2.txt @@ -0,0 +1,8 @@ +# Invalid names are valid if backticks are used + +---input--- +`.1 blah` + +---tokens--- +'`.1 blah`' Name +'\n' Text diff --git a/tests/snippets/r/test_name3.txt b/tests/snippets/r/test_name3.txt new file mode 100644 index 0000000..52e359b --- /dev/null +++ b/tests/snippets/r/test_name3.txt @@ -0,0 +1,8 @@ +# Internal backticks can be escaped + +---input--- +`.1 \` blah` + +---tokens--- +'`.1 \\` blah`' Name +'\n' Text diff --git a/tests/snippets/ruby/test_escaped_bracestring.txt b/tests/snippets/ruby/test_escaped_bracestring.txt new file mode 100644 index 0000000..7bcf845 --- /dev/null +++ b/tests/snippets/ruby/test_escaped_bracestring.txt @@ -0,0 +1,19 @@ +---input--- +str.gsub(%r{\\\\}, "/") + +---tokens--- +'str' Name +'.' Operator +'gsub' Name +'(' Punctuation +'%r{' Literal.String.Regex +'\\\\' Literal.String.Regex +'\\\\' Literal.String.Regex +'}' Literal.String.Regex +',' Punctuation +' ' Text +'"' Literal.String.Double +'/' Literal.String.Double +'"' Literal.String.Double +')' Punctuation +'\n' Text diff --git a/tests/snippets/ruby/test_interpolation_nested_curly.txt b/tests/snippets/ruby/test_interpolation_nested_curly.txt new file mode 100644 index 0000000..eceb04a --- /dev/null +++ b/tests/snippets/ruby/test_interpolation_nested_curly.txt @@ -0,0 +1,56 @@ +---input--- +"A#{ (3..5).group_by { |x| x/2}.map do |k,v| "#{k}" end.join }" + "Z" + +---tokens--- +'"' Literal.String.Double +'A' Literal.String.Double +'#{' Literal.String.Interpol +' ' Text +'(' Punctuation +'3' Literal.Number.Integer +'..' Operator +'5' Literal.Number.Integer +')' Punctuation +'.' Operator +'group_by' Name +' ' Text +'{' Literal.String.Interpol +' ' Text +'|' Operator +'x' Name +'|' Operator +' ' Text +'x' Name +'/' Operator +'2' Literal.Number.Integer +'}' Literal.String.Interpol +'.' Operator +'map' Name +' ' Text +'do' Keyword +' ' Text +'|' Operator +'k' Name +',' Punctuation +'v' Name +'|' Operator +' ' Text +'"' Literal.String.Double +'#{' Literal.String.Interpol +'k' Name +'}' Literal.String.Interpol +'"' Literal.String.Double +' ' Text +'end' Keyword +'.' Operator +'join' Name +' ' Text +'}' Literal.String.Interpol +'"' Literal.String.Double +' ' Text +'+' Operator +' ' Text +'"' Literal.String.Double +'Z' Literal.String.Double +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/ruby/test_operator_methods.txt b/tests/snippets/ruby/test_operator_methods.txt new file mode 100644 index 0000000..f444ee4 --- /dev/null +++ b/tests/snippets/ruby/test_operator_methods.txt @@ -0,0 +1,9 @@ +---input--- +x.==4 + +---tokens--- +'x' Name +'.' Operator +'==' Name.Operator +'4' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/ruby/test_range_syntax1.txt b/tests/snippets/ruby/test_range_syntax1.txt new file mode 100644 index 0000000..df7c40c --- /dev/null +++ b/tests/snippets/ruby/test_range_syntax1.txt @@ -0,0 +1,8 @@ +---input--- +1..3 + +---tokens--- +'1' Literal.Number.Integer +'..' Operator +'3' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/ruby/test_range_syntax2.txt b/tests/snippets/ruby/test_range_syntax2.txt new file mode 100644 index 0000000..72d47e8 --- /dev/null +++ b/tests/snippets/ruby/test_range_syntax2.txt @@ -0,0 +1,8 @@ +---input--- +1...3 + +---tokens--- +'1' Literal.Number.Integer +'...' Operator +'3' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/ruby/test_range_syntax3.txt b/tests/snippets/ruby/test_range_syntax3.txt new file mode 100644 index 0000000..a72f838 --- /dev/null +++ b/tests/snippets/ruby/test_range_syntax3.txt @@ -0,0 +1,10 @@ +---input--- +1 .. 3 + +---tokens--- +'1' Literal.Number.Integer +' ' Text +'..' Operator +' ' Text +'3' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/shell/test_array_nums.txt b/tests/snippets/shell/test_array_nums.txt new file mode 100644 index 0000000..a7474a0 --- /dev/null +++ b/tests/snippets/shell/test_array_nums.txt @@ -0,0 +1,14 @@ +---input--- +a=(1 2 3) + +---tokens--- +'a' Name.Variable +'=' Operator +'(' Operator +'1' Literal.Number +' ' Text +'2' Literal.Number +' ' Text +'3' Literal.Number +')' Operator +'\n' Text diff --git a/tests/snippets/shell/test_curly_no_escape_and_quotes.txt b/tests/snippets/shell/test_curly_no_escape_and_quotes.txt new file mode 100644 index 0000000..607b95e --- /dev/null +++ b/tests/snippets/shell/test_curly_no_escape_and_quotes.txt @@ -0,0 +1,15 @@ +---input--- +echo "${a//["b"]/}" + +---tokens--- +'echo' Name.Builtin +' ' Text +'"' Literal.String.Double +'${' Literal.String.Interpol +'a' Name.Variable +'//[' Punctuation +'"b"' Literal.String.Double +']/' Punctuation +'}' Literal.String.Interpol +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/shell/test_curly_with_escape.txt b/tests/snippets/shell/test_curly_with_escape.txt new file mode 100644 index 0000000..b657787 --- /dev/null +++ b/tests/snippets/shell/test_curly_with_escape.txt @@ -0,0 +1,13 @@ +---input--- +echo ${a//[\"]/} + +---tokens--- +'echo' Name.Builtin +' ' Text +'${' Literal.String.Interpol +'a' Name.Variable +'//[' Punctuation +'\\"' Literal.String.Escape +']/' Punctuation +'}' Literal.String.Interpol +'\n' Text diff --git a/tests/snippets/shell/test_end_of_line_nums.txt b/tests/snippets/shell/test_end_of_line_nums.txt new file mode 100644 index 0000000..8164dae --- /dev/null +++ b/tests/snippets/shell/test_end_of_line_nums.txt @@ -0,0 +1,15 @@ +---input--- +a=1 +b=2 # comment + +---tokens--- +'a' Name.Variable +'=' Operator +'1' Literal.Number +'\n' Text + +'b' Name.Variable +'=' Operator +'2' Literal.Number +' ' Text +'# comment\n' Comment.Single diff --git a/tests/snippets/shell/test_parsed_single.txt b/tests/snippets/shell/test_parsed_single.txt new file mode 100644 index 0000000..c11b3c7 --- /dev/null +++ b/tests/snippets/shell/test_parsed_single.txt @@ -0,0 +1,8 @@ +---input--- +a=$'abc\'' + +---tokens--- +'a' Name.Variable +'=' Operator +"$'abc\\''" Literal.String.Single +'\n' Text diff --git a/tests/snippets/shell/test_short_variable_names.txt b/tests/snippets/shell/test_short_variable_names.txt new file mode 100644 index 0000000..5adde79 --- /dev/null +++ b/tests/snippets/shell/test_short_variable_names.txt @@ -0,0 +1,26 @@ +---input--- +x="$" +y="$_" +z="$abc" + +---tokens--- +'x' Name.Variable +'=' Operator +'"' Literal.String.Double +'$' Text +'"' Literal.String.Double +'\n' Text + +'y' Name.Variable +'=' Operator +'"' Literal.String.Double +'$_' Name.Variable +'"' Literal.String.Double +'\n' Text + +'z' Name.Variable +'=' Operator +'"' Literal.String.Double +'$abc' Name.Variable +'"' Literal.String.Double +'\n' Text diff --git a/tests/snippets/shexc/test_prefixed_name_starting_with_number.txt b/tests/snippets/shexc/test_prefixed_name_starting_with_number.txt new file mode 100644 index 0000000..ca1c293 --- /dev/null +++ b/tests/snippets/shexc/test_prefixed_name_starting_with_number.txt @@ -0,0 +1,8 @@ +---input--- +alice:6f6e4241-75a2-4780-9b2a-40da53082e54 + +---tokens--- +'alice' Name.Namespace +':' Punctuation +'6f6e4241-75a2-4780-9b2a-40da53082e54' Name.Tag +'\n' Text diff --git a/tests/snippets/smarty/test_nested_curly.txt b/tests/snippets/smarty/test_nested_curly.txt new file mode 100644 index 0000000..493aa49 --- /dev/null +++ b/tests/snippets/smarty/test_nested_curly.txt @@ -0,0 +1,18 @@ +---input--- +{templateFunction param={anotherFunction} param2=$something} + +---tokens--- +'{' Comment.Preproc +'templateFunction' Name.Function +' ' Text +'param' Name.Attribute +'=' Operator +'{' Comment.Preproc +'anotherFunction' Name.Attribute +'}' Comment.Preproc +' ' Text +'param2' Name.Attribute +'=' Operator +'$something' Name.Variable +'}' Comment.Preproc +'\n' Other diff --git a/tests/snippets/systemverilog/test_basic.txt b/tests/snippets/systemverilog/test_basic.txt new file mode 100644 index 0000000..9307538 --- /dev/null +++ b/tests/snippets/systemverilog/test_basic.txt @@ -0,0 +1,181 @@ +# Examine tokens emitted by the SV lexer for a trivial module. +# Not intended to stress any particular corner of the language. + +---input--- +// Adder flops the sum of its inputs +module Adder #( + parameter int N = 42 +) ( + output logic [N-1:0] y, + output logic co, + + input logic [N-1:0] a, + input logic [N-1:0] b, + input logic ci, + + input logic clk +); + always_ff @(posedge clk) begin + {co, y} <= a + b + ci; + end +endmodule : Adder + +---tokens--- +'// Adder flops the sum of its inputs\n' Comment.Single + +'module' Keyword +' ' Text +'Adder' Name +' ' Text +'#' Punctuation +'(' Punctuation +'\n' Text + +' ' Text +'parameter' Keyword +' ' Text +'int' Keyword.Type +' ' Text +'N' Name +' ' Text +'=' Operator +' ' Text +'42' Literal.Number.Integer +'\n' Text + +')' Punctuation +' ' Text +'(' Punctuation +'\n' Text + +' ' Text +'output' Keyword +' ' Text +'logic' Keyword.Type +' ' Text +'[' Punctuation +'N' Name +'-' Operator +'1' Literal.Number.Integer +':' Operator +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'y' Name +',' Punctuation +'\n' Text + +' ' Text +'output' Keyword +' ' Text +'logic' Keyword.Type +' ' Text +'co' Name +',' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'input' Keyword +' ' Text +'logic' Keyword.Type +' ' Text +'[' Punctuation +'N' Name +'-' Operator +'1' Literal.Number.Integer +':' Operator +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'a' Name +',' Punctuation +'\n' Text + +' ' Text +'input' Keyword +' ' Text +'logic' Keyword.Type +' ' Text +'[' Punctuation +'N' Name +'-' Operator +'1' Literal.Number.Integer +':' Operator +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'b' Name +',' Punctuation +'\n' Text + +' ' Text +'input' Keyword +' ' Text +'logic' Keyword.Type +' ' Text +'ci' Name +',' Punctuation +'\n' Text + +'\n' Text + +' ' Text +'input' Keyword +' ' Text +'logic' Keyword.Type +' ' Text +'clk' Name +'\n' Text + +')' Punctuation +';' Punctuation +'\n' Text + +' ' Text +'always_ff' Keyword +' ' Text +'@' Punctuation +'(' Punctuation +'posedge' Keyword +' ' Text +'clk' Name +')' Punctuation +' ' Text +'begin' Keyword +'\n' Text + +' ' Text +'{' Punctuation +'co' Name +',' Punctuation +' ' Text +'y' Name +'}' Punctuation +' ' Text +'<' Operator +'=' Operator +' ' Text +'a' Name +' ' Text +'+' Operator +' ' Text +'b' Name +' ' Text +'+' Operator +' ' Text +'ci' Name +';' Punctuation +'\n' Text + +' ' Text +'end' Keyword +'\n' Text + +'endmodule' Keyword +' ' Text +':' Operator +' ' Text +'Adder' Name +'\n' Text diff --git a/tests/snippets/systemverilog/test_classes.txt b/tests/snippets/systemverilog/test_classes.txt new file mode 100644 index 0000000..fce86a7 --- /dev/null +++ b/tests/snippets/systemverilog/test_classes.txt @@ -0,0 +1,95 @@ +# Most of the interesting types of class declarations + +---input--- +class Foo; +endclass + +class Bar; +endclass : Bar + +class Fiz extends Buz; +endclass : Fiz + +class Free #(parameter type T = byte) extends Beer #(T); +endclass : Free + +---tokens--- +'class' Keyword.Declaration +' ' Text +'Foo' Name.Class +';' Punctuation +'\n' Text + +'endclass' Keyword.Declaration +'\n' Text + +'\n' Text + +'class' Keyword.Declaration +' ' Text +'Bar' Name.Class +';' Punctuation +'\n' Text + +'endclass' Keyword.Declaration +' ' Text +':' Punctuation +' ' Text +'Bar' Name.Class +'\n' Text + +'\n' Text + +'class' Keyword.Declaration +' ' Text +'Fiz' Name.Class +' ' Text +'extends' Keyword.Declaration +' ' Text +'Buz' Name.Class +';' Punctuation +'\n' Text + +'endclass' Keyword.Declaration +' ' Text +':' Punctuation +' ' Text +'Fiz' Name.Class +'\n' Text + +'\n' Text + +'class' Keyword.Declaration +' ' Text +'Free' Name.Class +' ' Text +'#' Punctuation +'(' Punctuation +'parameter' Keyword +' ' Text +'type' Keyword.Type +' ' Text +'T' Name +' ' Text +'=' Operator +' ' Text +'byte' Keyword.Type +')' Punctuation +' ' Text +'extends' Keyword.Declaration +' ' Text +'Beer' Name.Class +' ' Text +'#' Punctuation +'(' Punctuation +'T' Name +')' Punctuation +';' Punctuation +'\n' Text + +'endclass' Keyword.Declaration +' ' Text +':' Punctuation +' ' Text +'Free' Name.Class +'\n' Text diff --git a/tests/snippets/systemverilog/test_numbers.txt b/tests/snippets/systemverilog/test_numbers.txt new file mode 100644 index 0000000..fa0ee5f --- /dev/null +++ b/tests/snippets/systemverilog/test_numbers.txt @@ -0,0 +1,168 @@ +# Believe it or not, SystemVerilog supports spaces before and after the base +# specifier (ie 'b, 'd, 'h). See IEEE 1800-2017 Section 5.7.1 for examples. + +---input--- +8'b10101010 +8 'b10101010 +8'b 10101010 +8'sb10101010 +8'Sb10101010 +8'B10101010 +8'b1010_1010 +8'b10xXzZ?10 + +24'o01234567 +24 'o01234567 +24'o 01234567 +24'so01234567 +24'So01234567 +24'O01234567 +24'o0123_4567 +24'o01xXzZ?7 + +32'd27182818 +32 'd27182818 +32'd 27182818 +32'sd27182818 +32'Sd27182818 +32'D27182818 +32'd2718_2818 +32'd27xXzZ?8 + +32'hdeadbeef +32 'hdeadbeef +32'h deadbeef +32'shdeadbeef +32'Shdeadbeef +32'Hdeadbeef +32'hdead_beef +32'hdexXzZ?f + +'0 '1 'x 'X 'z 'Z + +42 1234_5678 + +---tokens--- +"8'b10101010" Literal.Number.Bin +'\n' Text + +"8 'b10101010" Literal.Number.Bin +'\n' Text + +"8'b 10101010" Literal.Number.Bin +'\n' Text + +"8'sb10101010" Literal.Number.Bin +'\n' Text + +"8'Sb10101010" Literal.Number.Bin +'\n' Text + +"8'B10101010" Literal.Number.Bin +'\n' Text + +"8'b1010_1010" Literal.Number.Bin +'\n' Text + +"8'b10xXzZ?10" Literal.Number.Bin +'\n' Text + +'\n' Text + +"24'o01234567" Literal.Number.Oct +'\n' Text + +"24 'o01234567" Literal.Number.Oct +'\n' Text + +"24'o 01234567" Literal.Number.Oct +'\n' Text + +"24'so01234567" Literal.Number.Oct +'\n' Text + +"24'So01234567" Literal.Number.Oct +'\n' Text + +"24'O01234567" Literal.Number.Oct +'\n' Text + +"24'o0123_4567" Literal.Number.Oct +'\n' Text + +"24'o01xXzZ?7" Literal.Number.Oct +'\n' Text + +'\n' Text + +"32'd27182818" Literal.Number.Integer +'\n' Text + +"32 'd27182818" Literal.Number.Integer +'\n' Text + +"32'd 27182818" Literal.Number.Integer +'\n' Text + +"32'sd27182818" Literal.Number.Integer +'\n' Text + +"32'Sd27182818" Literal.Number.Integer +'\n' Text + +"32'D27182818" Literal.Number.Integer +'\n' Text + +"32'd2718_2818" Literal.Number.Integer +'\n' Text + +"32'd27xXzZ?8" Literal.Number.Integer +'\n' Text + +'\n' Text + +"32'hdeadbeef" Literal.Number.Hex +'\n' Text + +"32 'hdeadbeef" Literal.Number.Hex +'\n' Text + +"32'h deadbeef" Literal.Number.Hex +'\n' Text + +"32'shdeadbeef" Literal.Number.Hex +'\n' Text + +"32'Shdeadbeef" Literal.Number.Hex +'\n' Text + +"32'Hdeadbeef" Literal.Number.Hex +'\n' Text + +"32'hdead_beef" Literal.Number.Hex +'\n' Text + +"32'hdexXzZ?f" Literal.Number.Hex +'\n' Text + +'\n' Text + +"'0" Literal.Number +' ' Text +"'1" Literal.Number +' ' Text +"'x" Literal.Number +' ' Text +"'X" Literal.Number +' ' Text +"'z" Literal.Number +' ' Text +"'Z" Literal.Number +'\n' Text + +'\n' Text + +'42' Literal.Number.Integer +' ' Text +'1234_5678' Literal.Number.Integer +'\n' Text diff --git a/tests/snippets/systemverilog/test_operators.txt b/tests/snippets/systemverilog/test_operators.txt new file mode 100644 index 0000000..5c8dc2e --- /dev/null +++ b/tests/snippets/systemverilog/test_operators.txt @@ -0,0 +1,213 @@ +# See 1800-2017 Table 11-2: Operator Precedence and Associativity +# Note that the duplicates (unary/binary) have been removed, +# ie '+', '-', '&', '|', '^', '~^', '^~' +# Note: This is a inconsistent mix of operator and punctuation +# Note: Operators would ideally be represented as one token: ':' ':' -> '::', '~' '&' -> '~&' + +---input--- +() [] :: . ++ - ! ~ & ~& | ~| ^ ~^ ^~ ++ -- +** +* / % +<< >> <<< >>> +< <= > >= inside dist +== != === !== ==? !=? +&& +|| +?: +-> <-> += += -= *= /= %= &= ^= |= <<= >>= <<<= >>>= := :/ <= +{} {{}} + +---tokens--- +'(' Punctuation +')' Punctuation +' ' Text +'[' Punctuation +']' Punctuation +' ' Text +':' Operator +':' Operator +' ' Text +'.' Punctuation +'\n' Text + +'+' Operator +' ' Text +'-' Operator +' ' Text +'!' Operator +' ' Text +'~' Operator +' ' Text +'&' Operator +' ' Text +'~' Operator +'&' Operator +' ' Text +'|' Operator +' ' Text +'~' Operator +'|' Operator +' ' Text +'^' Operator +' ' Text +'~' Operator +'^' Operator +' ' Text +'^' Operator +'~' Operator +' ' Text +'+' Operator +'+' Operator +' ' Text +'-' Operator +'-' Operator +'\n' Text + +'*' Operator +'*' Operator +'\n' Text + +'*' Operator +' ' Text +'/' Operator +' ' Text +'%' Operator +'\n' Text + +'<' Operator +'<' Operator +' ' Text +'>' Operator +'>' Operator +' ' Text +'<' Operator +'<' Operator +'<' Operator +' ' Text +'>' Operator +'>' Operator +'>' Operator +'\n' Text + +'<' Operator +' ' Text +'<' Operator +'=' Operator +' ' Text +'>' Operator +' ' Text +'>' Operator +'=' Operator +' ' Text +'inside' Operator.Word +' ' Text +'dist' Operator.Word +'\n' Text + +'=' Operator +'=' Operator +' ' Text +'!' Operator +'=' Operator +' ' Text +'=' Operator +'=' Operator +'=' Operator +' ' Text +'!' Operator +'=' Operator +'=' Operator +' ' Text +'=' Operator +'=' Operator +'?' Operator +' ' Text +'!' Operator +'=' Operator +'?' Operator +'\n' Text + +'&' Operator +'&' Operator +'\n' Text + +'|' Operator +'|' Operator +'\n' Text + +'?' Operator +':' Operator +'\n' Text + +'-' Operator +'>' Operator +' ' Text +'<' Operator +'-' Operator +'>' Operator +'\n' Text + +'=' Operator +' ' Text +'+' Operator +'=' Operator +' ' Text +'-' Operator +'=' Operator +' ' Text +'*' Operator +'=' Operator +' ' Text +'/' Operator +'=' Operator +' ' Text +'%' Operator +'=' Operator +' ' Text +'&' Operator +'=' Operator +' ' Text +'^' Operator +'=' Operator +' ' Text +'|' Operator +'=' Operator +' ' Text +'<' Operator +'<' Operator +'=' Operator +' ' Text +'>' Operator +'>' Operator +'=' Operator +' ' Text +'<' Operator +'<' Operator +'<' Operator +'=' Operator +' ' Text +'>' Operator +'>' Operator +'>' Operator +'=' Operator +' ' Text +':' Operator +'=' Operator +' ' Text +':' Operator +'/' Operator +' ' Text +'<' Operator +'=' Operator +'\n' Text + +'{' Punctuation +'}' Punctuation +' ' Text +'{' Punctuation +'{' Punctuation +'}' Punctuation +'}' Punctuation +'\n' Text diff --git a/tests/snippets/turtle/test_prefixed_name_starting_with_number.txt b/tests/snippets/turtle/test_prefixed_name_starting_with_number.txt new file mode 100644 index 0000000..ca1c293 --- /dev/null +++ b/tests/snippets/turtle/test_prefixed_name_starting_with_number.txt @@ -0,0 +1,8 @@ +---input--- +alice:6f6e4241-75a2-4780-9b2a-40da53082e54 + +---tokens--- +'alice' Name.Namespace +':' Punctuation +'6f6e4241-75a2-4780-9b2a-40da53082e54' Name.Tag +'\n' Text diff --git a/tests/snippets/typescript/test_function_definition.txt b/tests/snippets/typescript/test_function_definition.txt new file mode 100644 index 0000000..a2e10a8 --- /dev/null +++ b/tests/snippets/typescript/test_function_definition.txt @@ -0,0 +1,18 @@ +---input--- +async function main() { +} + +---tokens--- +'async' Keyword +' ' Text +'function' Keyword.Declaration +' ' Text +'main' Name.Other +'(' Punctuation +')' Punctuation +' ' Text +'{' Punctuation +'\n' Text + +'}' Punctuation +'\n' Text diff --git a/tests/snippets/usd/test_attribute.txt b/tests/snippets/usd/test_attribute.txt new file mode 100644 index 0000000..74e6789 --- /dev/null +++ b/tests/snippets/usd/test_attribute.txt @@ -0,0 +1,174 @@ +---input--- +double foo = 8.0 + +custom double foo = 8.0 + +uniform double foo = 8.0 + +custom uniform double foo = 8.0 + +custom double foo_underscore_name = 8.0 + +double[] foo_underscore_name = [10.1, 12.0, 13] + +double[] primvar:foo_thing = [10.1, 12.0, 13] + +custom int[] foo = [8, 10, 14] + +custom int[] foo.timeSamples = { + 1: [8, 0, 14], + 2: [-8, 0, 14], +} + +---tokens--- +'double' Keyword.Type +' ' Text.Whitespace +'foo' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'8.0' Literal.Number +'\n\n' Text.Whitespace + +'custom' Keyword.Token +' ' Text.Whitespace +'double' Keyword.Type +' ' Text.Whitespace +'foo' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'8.0' Literal.Number +'\n\n' Text.Whitespace + +'uniform' Keyword.Token +' ' Text.Whitespace +'double' Keyword.Type +' ' Text.Whitespace +'foo' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'8.0' Literal.Number +'\n\n' Text.Whitespace + +'custom' Keyword.Token +' ' Text.Whitespace +'uniform' Keyword.Token +' ' Text.Whitespace +'double' Keyword.Type +' ' Text.Whitespace +'foo' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'8.0' Literal.Number +'\n\n' Text.Whitespace + +'custom' Keyword.Token +' ' Text.Whitespace +'double' Keyword.Type +' ' Text.Whitespace +'foo_underscore_name' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'8.0' Literal.Number +'\n\n' Text.Whitespace + +'double[]' Keyword.Type +' ' Text.Whitespace +'foo_underscore_name' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'10.1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'12.0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'13' Literal.Number +']' Punctuation +'\n\n' Text.Whitespace + +'double[]' Keyword.Type +' ' Text.Whitespace +'primvar:foo_thing' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'10.1' Literal.Number +',' Punctuation +' ' Text.Whitespace +'12.0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'13' Literal.Number +']' Punctuation +'\n\n' Text.Whitespace + +'custom' Keyword.Token +' ' Text.Whitespace +'int[]' Keyword.Type +' ' Text.Whitespace +'foo' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'10' Literal.Number +',' Punctuation +' ' Text.Whitespace +'14' Literal.Number +']' Punctuation +'\n\n' Text.Whitespace + +'custom' Keyword.Token +' ' Text.Whitespace +'int[]' Keyword.Type +' ' Text.Whitespace +'foo' Name.Attribute +'.' Text +'timeSamples' Name.Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'1' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'14' Literal.Number +']' Punctuation +',' Punctuation +'\n ' Text.Whitespace +'2' Literal.Number +':' Punctuation +' ' Text.Whitespace +'[' Punctuation +'-8' Literal.Number +',' Punctuation +' ' Text.Whitespace +'0' Literal.Number +',' Punctuation +' ' Text.Whitespace +'14' Literal.Number +']' Punctuation +',' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_composition_arcs.txt b/tests/snippets/usd/test_composition_arcs.txt new file mode 100644 index 0000000..0270c93 --- /dev/null +++ b/tests/snippets/usd/test_composition_arcs.txt @@ -0,0 +1,101 @@ +---input--- +def Xform "BottleMedical" ( + kind = "prop" + payload = @./BottleMedical_payload.usd@ + variants = { + string modelingVariant = "LiquidBottleLg" + string shadingComplexity = "full" + } + add variantSets = ["modelingVariant", "shadingComplexity"] +) +{ + variantSet "modelingVariant" = { + "ALL_VARIANTS" { + } + } +} + +---tokens--- +'def' Keyword.Tokens +' ' Text.Whitespace +'Xform' Text +' ' Text.Whitespace +'"BottleMedical"' Literal.String +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'kind' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"prop"' Literal.String +'\n ' Text.Whitespace +'payload' Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'@./BottleMedical_payload.usd@' Literal.String.Interpol +'' Name.Namespace +'\n ' Text.Whitespace +'variants' Keyword.Tokens +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'string' Keyword.Type +' ' Text.Whitespace +'modelingVariant' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"LiquidBottleLg"' Literal.String +'\n ' Text.Whitespace +'string' Keyword.Type +' ' Text.Whitespace +'shadingComplexity' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"full"' Literal.String +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'add' Keyword.Type +' ' Text.Whitespace +'variantSets' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'"modelingVariant"' Literal.String +',' Punctuation +' ' Text.Whitespace +'"shadingComplexity"' Literal.String +']' Punctuation +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace + +'{' Punctuation +'\n ' Text.Whitespace +'variantSet' Keyword.Tokens +' ' Text.Whitespace +'"modelingVariant"' Literal.String +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'"ALL_VARIANTS"' Literal.String +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_metadata.txt b/tests/snippets/usd/test_metadata.txt new file mode 100644 index 0000000..edc4614 --- /dev/null +++ b/tests/snippets/usd/test_metadata.txt @@ -0,0 +1,36 @@ +# Make sure metadata [the stuff inside ()s] don't match as Attributes. + +---input--- +float[] primvars:skel:jointWeights = [1] ( + elementSize = 1 + interpolation = "constant" +) + +---tokens--- +'float[]' Keyword.Type +' ' Text.Whitespace +'primvars:skel:jointWeights' Name.Attribute +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'1' Literal.Number +']' Punctuation +' ' Text.Whitespace +'(' Punctuation +'\n ' Text.Whitespace +'elementSize' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'1' Literal.Number +'\n ' Text.Whitespace +'interpolation' Name.Builtins +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"constant"' Literal.String +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_numbers.txt b/tests/snippets/usd/test_numbers.txt new file mode 100644 index 0000000..a4e0f88 --- /dev/null +++ b/tests/snippets/usd/test_numbers.txt @@ -0,0 +1,21 @@ +---input--- +8 8.0123312132, -4 -14.123 1e10 0.1e10 10.123e+10 0.123e-14 + +---tokens--- +'8' Literal.Number +' ' Text.Whitespace +'8.0123312132' Literal.Number +',' Punctuation +' ' Text.Whitespace +'-4' Literal.Number +' ' Text.Whitespace +'-14.123' Literal.Number +' ' Text.Whitespace +'1e10' Literal.Number +' ' Text.Whitespace +'0.1e10' Literal.Number +' ' Text.Whitespace +'10.123e+10' Literal.Number +' ' Text.Whitespace +'0.123e-14' Literal.Number +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_outer_match_at_sign.txt b/tests/snippets/usd/test_outer_match_at_sign.txt new file mode 100644 index 0000000..de0bc72 --- /dev/null +++ b/tests/snippets/usd/test_outer_match_at_sign.txt @@ -0,0 +1,14 @@ +# Make sure that text between located between quotes and @@s are not matched. + +---input--- +@firststring@ something else @secondstring@ + +---tokens--- +'@firststring@' Literal.String.Interpol +' ' Text.Whitespace +'something' Text +' ' Text.Whitespace +'else' Text +' ' Text.Whitespace +'@secondstring@' Literal.String.Interpol +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_outer_match_double.txt b/tests/snippets/usd/test_outer_match_double.txt new file mode 100644 index 0000000..773da13 --- /dev/null +++ b/tests/snippets/usd/test_outer_match_double.txt @@ -0,0 +1,12 @@ +---input--- +'firststring' something else 'secondstring' + +---tokens--- +"'firststring'" Literal.String +' ' Text.Whitespace +'something' Text +' ' Text.Whitespace +'else' Text +' ' Text.Whitespace +"'secondstring'" Literal.String +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_outer_match_single.txt b/tests/snippets/usd/test_outer_match_single.txt new file mode 100644 index 0000000..773da13 --- /dev/null +++ b/tests/snippets/usd/test_outer_match_single.txt @@ -0,0 +1,12 @@ +---input--- +'firststring' something else 'secondstring' + +---tokens--- +"'firststring'" Literal.String +' ' Text.Whitespace +'something' Text +' ' Text.Whitespace +'else' Text +' ' Text.Whitespace +"'secondstring'" Literal.String +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_string_multiple_line.txt b/tests/snippets/usd/test_string_multiple_line.txt new file mode 100644 index 0000000..b3ab1fd --- /dev/null +++ b/tests/snippets/usd/test_string_multiple_line.txt @@ -0,0 +1,20 @@ +---input--- +""" +Some text multiline +""" + +"""Some text multiline +""" + +""" +Some text multiline""" + +---tokens--- +'"""\nSome text multiline\n"""' Literal.String +'\n\n' Text.Whitespace + +'"""Some text multiline\n"""' Literal.String +'\n\n' Text.Whitespace + +'"""\nSome text multiline"""' Literal.String +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_string_priority.txt b/tests/snippets/usd/test_string_priority.txt new file mode 100644 index 0000000..481a416 --- /dev/null +++ b/tests/snippets/usd/test_string_priority.txt @@ -0,0 +1,10 @@ +# Make sure that no other rules override a string match. + +---input--- +""" +custom int[] foo = [8, 10, 14] +""" + +---tokens--- +'"""\ncustom int[] foo = [8, 10, 14]\n"""' Literal.String +'\n' Text.Whitespace diff --git a/tests/snippets/usd/test_string_single_line.txt b/tests/snippets/usd/test_string_single_line.txt new file mode 100644 index 0000000..b5058ce --- /dev/null +++ b/tests/snippets/usd/test_string_single_line.txt @@ -0,0 +1,6 @@ +---input--- +"Some 'text" + +---tokens--- +'"Some \'text"' Literal.String +'\n' Text.Whitespace diff --git a/tests/snippets/vbscript/test_floats.txt b/tests/snippets/vbscript/test_floats.txt new file mode 100644 index 0000000..9493a3b --- /dev/null +++ b/tests/snippets/vbscript/test_floats.txt @@ -0,0 +1,34 @@ +---input--- +1. +1.e1 +.1 +1.2 +1.2e3 +1.2e+3 +1.2e-3 +1e2 + +---tokens--- +'1.' Literal.Number.Float +'\n' Text.Whitespace + +'1.e1' Literal.Number.Float +'\n' Text.Whitespace + +'.1' Literal.Number.Float +'\n' Text.Whitespace + +'1.2' Literal.Number.Float +'\n' Text.Whitespace + +'1.2e3' Literal.Number.Float +'\n' Text.Whitespace + +'1.2e+3' Literal.Number.Float +'\n' Text.Whitespace + +'1.2e-3' Literal.Number.Float +'\n' Text.Whitespace + +'1e2' Literal.Number.Float +'\n' Text.Whitespace diff --git a/tests/snippets/vbscript/test_floats_multiple.txt b/tests/snippets/vbscript/test_floats_multiple.txt new file mode 100644 index 0000000..30a3708 --- /dev/null +++ b/tests/snippets/vbscript/test_floats_multiple.txt @@ -0,0 +1,7 @@ +---input--- +1e2.1e2 + +---tokens--- +'1e2' Literal.Number.Float +'.1e2' Literal.Number.Float +'\n' Text.Whitespace diff --git a/tests/snippets/vbscript/test_integers.txt b/tests/snippets/vbscript/test_integers.txt new file mode 100644 index 0000000..132ef7e --- /dev/null +++ b/tests/snippets/vbscript/test_integers.txt @@ -0,0 +1,14 @@ +---input--- +1 +23 +456 + +---tokens--- +'1' Literal.Number.Integer +'\n' Text.Whitespace + +'23' Literal.Number.Integer +'\n' Text.Whitespace + +'456' Literal.Number.Integer +'\n' Text.Whitespace diff --git a/tests/snippets/vbscript/test_invalid_character.txt b/tests/snippets/vbscript/test_invalid_character.txt new file mode 100644 index 0000000..6a1e6f1 --- /dev/null +++ b/tests/snippets/vbscript/test_invalid_character.txt @@ -0,0 +1,10 @@ +---input--- +a;bc +d + +---tokens--- +'a' Name +';bc\n' Error + +'d' Name +'\n' Text.Whitespace diff --git a/tests/snippets/vbscript/test_names.txt b/tests/snippets/vbscript/test_names.txt new file mode 100644 index 0000000..404844f --- /dev/null +++ b/tests/snippets/vbscript/test_names.txt @@ -0,0 +1,18 @@ +---input--- +thingy +thingy123 +_thingy +_123 + +---tokens--- +'thingy' Name +'\n' Text.Whitespace + +'thingy123' Name +'\n' Text.Whitespace + +'_thingy' Name +'\n' Text.Whitespace + +'_123' Name +'\n' Text.Whitespace diff --git a/tests/snippets/vbscript/test_reject_almost_float.txt b/tests/snippets/vbscript/test_reject_almost_float.txt new file mode 100644 index 0000000..478e6a3 --- /dev/null +++ b/tests/snippets/vbscript/test_reject_almost_float.txt @@ -0,0 +1,7 @@ +---input--- +.e1 + +---tokens--- +'.' Punctuation +'e1' Name +'\n' Text.Whitespace diff --git a/tests/snippets/vbscript/test_unterminated_string.txt b/tests/snippets/vbscript/test_unterminated_string.txt new file mode 100644 index 0000000..e92060b --- /dev/null +++ b/tests/snippets/vbscript/test_unterminated_string.txt @@ -0,0 +1,7 @@ +---input--- +"x\nx + +---tokens--- +'"' Literal.String.Double +'x\\nx' Literal.String.Double +'\n' Error diff --git a/tests/snippets/whiley/test_whiley_operator.txt b/tests/snippets/whiley/test_whiley_operator.txt new file mode 100644 index 0000000..50761db --- /dev/null +++ b/tests/snippets/whiley/test_whiley_operator.txt @@ -0,0 +1,10 @@ +---input--- +123 ∀ x + +---tokens--- +'123' Literal.Number.Integer +' ' Text +'∀' Operator +' ' Text +'x' Name +'\n' Text diff --git a/tests/snippets/yaml/test_yaml.txt b/tests/snippets/yaml/test_yaml.txt new file mode 100644 index 0000000..fcdd610 --- /dev/null +++ b/tests/snippets/yaml/test_yaml.txt @@ -0,0 +1,13 @@ +# Bug #1528: This previously parsed 'token # innocent' as a tag + +---input--- +here: token # innocent: comment + +---tokens--- +'here' Name.Tag +':' Punctuation +' ' Text +'token' Literal.Scalar.Plain +' ' Text +'# innocent: comment' Comment.Single +'\n' Text diff --git a/tests/snippets/yang/test_float_value.txt b/tests/snippets/yang/test_float_value.txt new file mode 100644 index 0000000..b49f479 --- /dev/null +++ b/tests/snippets/yang/test_float_value.txt @@ -0,0 +1,11 @@ +# Float value `1.1` should be explicitly highlighted + +---input--- +yang-version 1.1; + +---tokens--- +'yang-version' Keyword +' ' Text.Whitespace +'1.1' Literal.Number.Float +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/yang/test_integer_value.txt b/tests/snippets/yang/test_integer_value.txt new file mode 100644 index 0000000..149d19c --- /dev/null +++ b/tests/snippets/yang/test_integer_value.txt @@ -0,0 +1,11 @@ +# Integer value `5` should be explicitly highlighted + +---input--- +value 5; + +---tokens--- +'value' Keyword +' ' Text.Whitespace +'5' Literal.Number.Integer +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/yang/test_namespace_1.txt b/tests/snippets/yang/test_namespace_1.txt new file mode 100644 index 0000000..1caf138 --- /dev/null +++ b/tests/snippets/yang/test_namespace_1.txt @@ -0,0 +1,11 @@ +# Namespace `urn:test:std:yang` should not be explicitly highlighted + +---input--- +namespace urn:test:std:yang; + +---tokens--- +'namespace' Keyword +' ' Text.Whitespace +'urn:test:std:yang' Name.Variable +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/yang/test_namespace_2.txt b/tests/snippets/yang/test_namespace_2.txt new file mode 100644 index 0000000..a245f7c --- /dev/null +++ b/tests/snippets/yang/test_namespace_2.txt @@ -0,0 +1,13 @@ +# namespace-prefix `yang` should be explicitly highlighted + +---input--- +type yang:counter64; + +---tokens--- +'type' Keyword +' ' Text.Whitespace +'yang' Name.Namespace +':' Punctuation +'counter64' Name.Variable +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/yang/test_revision_date.txt b/tests/snippets/yang/test_revision_date.txt new file mode 100644 index 0000000..09ff5a6 --- /dev/null +++ b/tests/snippets/yang/test_revision_date.txt @@ -0,0 +1,11 @@ +# Revision-date `2020-08-03` should be explicitly highlighted + +---input--- +revision 2020-03-08{ + +---tokens--- +'revision' Keyword +' ' Text.Whitespace +'2020-03-08' Name.Label +'{' Punctuation +'\n' Text.Whitespace diff --git a/tests/snippets/yang/test_string_value.txt b/tests/snippets/yang/test_string_value.txt new file mode 100644 index 0000000..41dcae5 --- /dev/null +++ b/tests/snippets/yang/test_string_value.txt @@ -0,0 +1,11 @@ +# String value `"5"` should be not explicitly highlighted + +---input--- +value "5"; + +---tokens--- +'value' Keyword +' ' Text.Whitespace +'"5"' Literal.String.Double +';' Punctuation +'\n' Text.Whitespace diff --git a/tests/support/empty.py b/tests/support/empty.py index 40a96af..e69de29 100644 --- a/tests/support/empty.py +++ b/tests/support/empty.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/tests/support/html_formatter.py b/tests/support/html_formatter.py index 169cd4a..5f04fd5 100644 --- a/tests/support/html_formatter.py +++ b/tests/support/html_formatter.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from pygments.formatters import HtmlFormatter diff --git a/tests/support/python_lexer.py b/tests/support/python_lexer.py index 565ee67..78d9c4a 100644 --- a/tests/support/python_lexer.py +++ b/tests/support/python_lexer.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # pygments.lexers.python (as CustomLexer) for test_cmdline.py from pygments.lexers import PythonLexer diff --git a/tests/test_analyze_lexer.py b/tests/test_analyze_lexer.py deleted file mode 100644 index 0391507..0000000 --- a/tests/test_analyze_lexer.py +++ /dev/null @@ -1,69 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Pygments basic API tests - ~~~~~~~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -from os import path - -import pytest - -from pygments import lexers - -TESTDIR = path.dirname(path.abspath(__file__)) - - -def _guess_lexer_for_file(filename): - return lexers.guess_lexer(open(path.join(TESTDIR, 'examplefiles', filename), - 'r', encoding='utf-8').read()) - - -@pytest.mark.skip(reason="This is identified as T-SQL") -def test_guess_lexer_fsharp(): - lx = _guess_lexer_for_file('Deflate.rs') - assert lx.__class__.__name__ == 'FSharpLexer' - - -def test_guess_lexer_brainfuck(): - lx = lexers.guess_lexer(">>[-]<<[->>+<<]") - assert lx.__class__.__name__ == 'BrainfuckLexer' - - -def test_guess_lexer_singularity(): - lx = _guess_lexer_for_file('Singularity') - assert lx.__class__.__name__ == 'SingularityLexer' - - -@pytest.mark.skip(reason="This is identified as MIME") -def test_guess_lexer_matlab(): - lx = lexers.guess_lexer(r'A \ B') - assert lx.__class__.__name__ == 'OctaveLexer' - - -@pytest.mark.skip(reason="This is identified as Python") -def test_guess_lexer_hybris(): - lx = _guess_lexer_for_file('hybris_File.hy') - assert lx.__class__.__name__ == 'HybrisLexer' - - -def test_guess_lexer_forth(): - lx = _guess_lexer_for_file('demo.frt') - assert lx.__class__.__name__ == 'ForthLexer' - - -def test_guess_lexer_modula2(): - lx = _guess_lexer_for_file('modula2_test_cases.def') - assert lx.__class__.__name__ == 'Modula2Lexer' - - -def test_guess_lexer_unicon(): - lx = _guess_lexer_for_file('example.icn') - assert lx.__class__.__name__ == 'UcodeLexer' - - -def test_guess_lexer_ezhil(): - lx = _guess_lexer_for_file('ezhil_primefactors.n') - assert lx.__class__.__name__ == 'EzhilLexer' diff --git a/tests/test_apache_conf.py b/tests/test_apache_conf.py deleted file mode 100644 index a19cb84..0000000 --- a/tests/test_apache_conf.py +++ /dev/null @@ -1,134 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Basic Apache Configuration Test - ~~~~~~~~~~~~~~~~~-------------- - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import textwrap - -import pytest - -from pygments.token import Text, Number, Token -from pygments.lexers import configs - - -@pytest.fixture(scope='module') -def lexer(): - yield configs.ApacheConfLexer() - - -def test_multiline_comment(lexer): - fragment = '#SecAction \\\n "id:\'900004\', \\\n phase:1, \\\n t:none, \\\n setvar:tx.anomaly_score_blocking=on, \\\n nolog, \\\n pass"\n \n' - tokens = [ - (Token.Comment, '#SecAction \\\n "id:\'900004\', \\\n phase:1, \\\n t:none, \\\n setvar:tx.anomaly_score_blocking=on, \\\n nolog, \\\n pass"'), - (Token.Text, '\n \n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_multiline_argument(lexer): - fragment = 'SecAction \\\n "id:\'900001\', \\\n phase:1, \\\n t:none, \\\n setvar:tx.critical_anomaly_score=5, \\\n setvar:tx.error_anomaly_score=4, \\\n setvar:tx.warning_anomaly_score=3, \\\n setvar:tx.notice_anomaly_score=2, \\\n nolog, \\\n pass"\n' - tokens = [ - (Token.Name.Builtin, 'SecAction'), - (Token.Text, ' '), - (Token.Text, '\\\n'), - (Token.Text, ' '), - (Token.Literal.String.Double, '"id:\'900001\', \\\n phase:1, \\\n t:none, \\\n setvar:tx.critical_anomaly_score=5, \\\n setvar:tx.error_anomaly_score=4, \\\n setvar:tx.warning_anomaly_score=3, \\\n setvar:tx.notice_anomaly_score=2, \\\n nolog, \\\n pass"'), - (Token.Text, ''), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_directive_no_args(lexer): - fragment = 'Example\nServerName localhost' - tokens = [ - (Token.Name.Builtin, 'Example'), - (Token.Text, ''), - (Token.Text, '\n'), - (Token.Name.Builtin, 'ServerName'), - (Token.Text, ' '), - (Token.Text, 'localhost'), - (Token.Text, ''), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_include_globs(lexer): - fragment = 'Include /etc/httpd/conf.d/*.conf' - tokens = [ - (Token.Name.Builtin, 'Include'), - (Token.Text, ' '), - (Token.String.Other, '/etc/httpd/conf.d/*.conf'), - (Token.Text, ''), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_multi_include_globs(lexer): - fragment = 'Include /etc/httpd/conf.d/*/*.conf' - tokens = [ - (Token.Name.Builtin, 'Include'), - (Token.Text, ' '), - (Token.String.Other, '/etc/httpd/conf.d/*/*.conf'), - (Token.Text, ''), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_multi_include_globs_root(lexer): - fragment = 'Include /*conf/*.conf' - tokens = [ - (Token.Name.Builtin, 'Include'), - (Token.Text, ' '), - (Token.String.Other, '/*conf/*.conf'), - (Token.Text, ''), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_fix_lock_absolute_path(lexer): - fragment = 'LockFile /var/lock/apache2/accept.lock' - tokens = [ - (Token.Name.Builtin, 'LockFile'), - (Token.Text, ' '), - (Token.String.Other, '/var/lock/apache2/accept.lock'), - (Token.Text, ''), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_normal_scoped_directive(lexer): - fragment = '\n' - tokens = [ - (Token.Name.Tag, ''), - (Token.Text, '\n'), - (Token.Name.Tag, ''), - (Token.Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_malformed_scoped_directive_closing_tag(lexer): - fragment = '\n' - tokens = [ - (Token.Name.Tag, ''), - (Token.Text, '\n'), - (Token.Error, '<'), - (Token.Error, '/'), - (Token.Name.Builtin, 'VirtualHost'), - (Token.Text, ''), - (Token.Text, '\n'), - (Token.Error, '>'), - (Token.Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - diff --git a/tests/test_asm.py b/tests/test_asm.py deleted file mode 100644 index b972c10..0000000 --- a/tests/test_asm.py +++ /dev/null @@ -1,68 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Basic GasLexer/NasmLexer Test - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.token import Token -from pygments.lexers import NasmLexer, GasLexer - - -@pytest.fixture(scope='module') -def lexer_gas(): - yield GasLexer() - -@pytest.fixture(scope='module') -def lexer_nasm(): - yield NasmLexer() - - -def test_comments(lexer_gas): - fragment = ''' - lock addq $0, /* comments */ (%rsp) /* - // comments - */ xorq %rax, %rax // comments - ''' - tokens = [ - (Token.Text, ' '), - (Token.Name.Attribute, 'lock'), - (Token.Text, ' '), - (Token.Name.Function, 'addq'), - (Token.Text, ' '), - (Token.Name.Constant, '$0'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Comment.Multiline, '/* comments */'), - (Token.Text, ' '), - (Token.Punctuation, '('), - (Token.Name.Variable, '%rsp'), - (Token.Punctuation, ')'), - (Token.Text, ' '), - (Token.Comment.Multiline, '/*\n // comments\n */'), - (Token.Text, ' '), - (Token.Name.Function, 'xorq'), - (Token.Text, ' '), - (Token.Name.Variable, '%rax'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Name.Variable, '%rax'), - (Token.Text, ' '), - (Token.Comment.Single, '// comments\n'), - (Token.Text, ' \n') - ] - assert list(lexer_gas.get_tokens(fragment)) == tokens - -def test_cpuid(lexer_nasm): - # CPU is a valid directive, and we don't want to parse this as - # cpu id, but as a single token. See bug #1517 - fragment = 'cpuid' - expected = [ - (Token.Name.Function, 'cpuid'), - (Token.Text, '\n'), - ] - assert expected == list(lexer_nasm.get_tokens(fragment)) diff --git a/tests/test_basic.py b/tests/test_basic.py deleted file mode 100644 index fd054dd..0000000 --- a/tests/test_basic.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Pygments Basic lexers tests - ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.lexers.basic import VBScriptLexer -from pygments.token import Error, Name, Number, Punctuation, String, Whitespace - - -@pytest.fixture(scope='module') -def lexer(): - yield VBScriptLexer() - - -def assert_are_tokens_of_type(lexer, examples, expected_token_type): - for test_number, example in enumerate(examples.split(), 1): - token_count = 0 - for token_type, token_value in lexer.get_tokens(example): - if token_type != Whitespace: - token_count += 1 - assert token_type == expected_token_type, \ - 'token_type #%d for %s is be %s but must be %s' % \ - (test_number, token_value, token_type, expected_token_type) - assert token_count == 1, \ - '%s must yield exactly 1 token instead of %d' % (example, token_count) - - -def assert_tokens_match(lexer, text, expected_tokens_without_trailing_newline): - actual_tokens = tuple(lexer.get_tokens(text)) - if (len(actual_tokens) >= 1) and (actual_tokens[-1] == (Whitespace, '\n')): - actual_tokens = tuple(actual_tokens[:-1]) - assert expected_tokens_without_trailing_newline == actual_tokens, \ - 'text must yield expected tokens: %s' % text - - -def test_can_lex_float(lexer): - assert_are_tokens_of_type(lexer, - '1. 1.e1 .1 1.2 1.2e3 1.2e+3 1.2e-3 1e2', - Number.Float) - assert_tokens_match(lexer, - '1e2.1e2', - ((Number.Float, '1e2'), (Number.Float, '.1e2'))) - - -def test_can_reject_almost_float(lexer): - assert_tokens_match(lexer, '.e1', ((Punctuation, '.'), (Name, 'e1'))) - - -def test_can_lex_integer(lexer): - assert_are_tokens_of_type(lexer, '1 23 456', Number.Integer) - - -def test_can_lex_names(lexer): - assert_are_tokens_of_type(lexer, 'thingy thingy123 _thingy _123', Name) - - -def test_can_recover_after_unterminated_string(lexer): - assert_tokens_match(lexer, - '"x\nx', - ((String.Double, '"'), (String.Double, 'x'), - (Error, '\n'), (Name, 'x'))) - - -def test_can_recover_from_invalid_character(lexer): - assert_tokens_match(lexer, - 'a;bc\nd', - ((Name, 'a'), (Error, ';bc\n'), (Name, 'd'))) diff --git a/tests/test_basic_api.py b/tests/test_basic_api.py index b860060..24e42ca 100644 --- a/tests/test_basic_api.py +++ b/tests/test_basic_api.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ Pygments basic API tests ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -186,7 +185,7 @@ def test_formatter_encodings(): # encoding and outencoding option fmt = HtmlFormatter(encoding="latin1", outencoding="utf8") tokens = [(Text, "ä")] - assert "ä".encode("utf8") in format(tokens, fmt) + assert "ä".encode() in format(tokens, fmt) @pytest.mark.parametrize('cls', [getattr(formatters, name) @@ -272,7 +271,7 @@ class TestFilters: # We don't read as binary and decode, but instead read as text, as # we need consistent line endings. Otherwise we'll get \r\n on # Windows - with open(TESTFILE, 'r', encoding='utf-8') as fp: + with open(TESTFILE, encoding='utf-8') as fp: text = fp.read() tokens = list(lx.get_tokens(text)) assert all(isinstance(t[1], str) for t in tokens), \ diff --git a/tests/test_bibtex.py b/tests/test_bibtex.py deleted file mode 100644 index b56eccf..0000000 --- a/tests/test_bibtex.py +++ /dev/null @@ -1,240 +0,0 @@ -# -*- coding: utf-8 -*- -""" - BibTeX Test - ~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import textwrap - -import pytest - -from pygments.lexers import BibTeXLexer, BSTLexer -from pygments.token import Token - - -@pytest.fixture(scope='module') -def lexer(): - yield BibTeXLexer() - - -def test_preamble(lexer): - data = '@PREAMBLE{"% some LaTeX code here"}' - tokens = [ - (Token.Name.Class, '@PREAMBLE'), - (Token.Punctuation, '{'), - (Token.String, '"'), - (Token.String, '% some LaTeX code here'), - (Token.String, '"'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(data)) == tokens - - -def test_string(lexer): - data = '@STRING(SCI = "Science")' - tokens = [ - (Token.Name.Class, '@STRING'), - (Token.Punctuation, '('), - (Token.Name.Attribute, 'SCI'), - (Token.Text, ' '), - (Token.Punctuation, '='), - (Token.Text, ' '), - (Token.String, '"'), - (Token.String, 'Science'), - (Token.String, '"'), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(data)) == tokens - - -def test_entry(lexer): - data = """ - This is a comment. - - @ARTICLE{ruckenstein-diffusion, - author = "Liu, Hongquin" # and # "Ruckenstein, Eli", - year = 1997, - month = JAN, - pages = "888-895" - } - """ - - tokens = [ - (Token.Comment, 'This is a comment.'), - (Token.Text, '\n\n'), - (Token.Name.Class, '@ARTICLE'), - (Token.Punctuation, '{'), - (Token.Name.Label, 'ruckenstein-diffusion'), - (Token.Punctuation, ','), - (Token.Text, '\n '), - (Token.Name.Attribute, 'author'), - (Token.Text, ' '), - (Token.Punctuation, '='), - (Token.Text, ' '), - (Token.String, '"'), - (Token.String, 'Liu, Hongquin'), - (Token.String, '"'), - (Token.Text, ' '), - (Token.Punctuation, '#'), - (Token.Text, ' '), - (Token.Name.Variable, 'and'), - (Token.Text, ' '), - (Token.Punctuation, '#'), - (Token.Text, ' '), - (Token.String, '"'), - (Token.String, 'Ruckenstein, Eli'), - (Token.String, '"'), - (Token.Punctuation, ','), - (Token.Text, '\n '), - (Token.Name.Attribute, 'year'), - (Token.Text, ' '), - (Token.Punctuation, '='), - (Token.Text, ' '), - (Token.Number, '1997'), - (Token.Punctuation, ','), - (Token.Text, '\n '), - (Token.Name.Attribute, 'month'), - (Token.Text, ' '), - (Token.Punctuation, '='), - (Token.Text, ' '), - (Token.Name.Variable, 'JAN'), - (Token.Punctuation, ','), - (Token.Text, '\n '), - (Token.Name.Attribute, 'pages'), - (Token.Text, ' '), - (Token.Punctuation, '='), - (Token.Text, ' '), - (Token.String, '"'), - (Token.String, '888-895'), - (Token.String, '"'), - (Token.Text, '\n'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(textwrap.dedent(data))) == tokens - - -def test_comment(lexer): - data = '@COMMENT{test}' - tokens = [ - (Token.Comment, '@COMMENT'), - (Token.Comment, '{test}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(data)) == tokens - - -def test_missing_body(lexer): - data = '@ARTICLE xxx' - tokens = [ - (Token.Name.Class, '@ARTICLE'), - (Token.Text, ' '), - (Token.Error, 'x'), - (Token.Error, 'x'), - (Token.Error, 'x'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(data)) == tokens - - -def test_mismatched_brace(lexer): - data = '@PREAMBLE(""}' - tokens = [ - (Token.Name.Class, '@PREAMBLE'), - (Token.Punctuation, '('), - (Token.String, '"'), - (Token.String, '"'), - (Token.Error, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(data)) == tokens - - -def test_basic_bst(): - lexer = BSTLexer() - data = """ - % BibTeX standard bibliography style `plain' - - INTEGERS { output.state before.all } - - FUNCTION {sort.format.title} - { 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ - } - - ITERATE {call.type$} - """ - tokens = [ - (Token.Comment.SingleLine, "% BibTeX standard bibliography style `plain'"), - (Token.Text, '\n\n'), - (Token.Keyword, 'INTEGERS'), - (Token.Text, ' '), - (Token.Punctuation, '{'), - (Token.Text, ' '), - (Token.Name.Variable, 'output.state'), - (Token.Text, ' '), - (Token.Name.Variable, 'before.all'), - (Token.Text, ' '), - (Token.Punctuation, '}'), - (Token.Text, '\n\n'), - (Token.Keyword, 'FUNCTION'), - (Token.Text, ' '), - (Token.Punctuation, '{'), - (Token.Name.Variable, 'sort.format.title'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - (Token.Punctuation, '{'), - (Token.Text, ' '), - (Token.Name.Function, "'t"), - (Token.Text, ' '), - (Token.Name.Variable, ':='), - (Token.Text, '\n'), - (Token.Literal.String, '"A "'), - (Token.Text, ' '), - (Token.Literal.Number, '#2'), - (Token.Text, '\n '), - (Token.Literal.String, '"An "'), - (Token.Text, ' '), - (Token.Literal.Number, '#3'), - (Token.Text, '\n '), - (Token.Literal.String, '"The "'), - (Token.Text, ' '), - (Token.Literal.Number, '#4'), - (Token.Text, ' '), - (Token.Name.Variable, 't'), - (Token.Text, ' '), - (Token.Name.Variable, 'chop.word'), - (Token.Text, '\n '), - (Token.Name.Variable, 'chop.word'), - (Token.Text, '\n'), - (Token.Name.Variable, 'chop.word'), - (Token.Text, '\n'), - (Token.Name.Variable, 'sortify'), - (Token.Text, '\n'), - (Token.Literal.Number, '#1'), - (Token.Text, ' '), - (Token.Name.Builtin, 'global.max$'), - (Token.Text, ' '), - (Token.Name.Builtin, 'substring$'), - (Token.Text, '\n'), - (Token.Punctuation, '}'), - (Token.Text, '\n\n'), - (Token.Keyword, 'ITERATE'), - (Token.Text, ' '), - (Token.Punctuation, '{'), - (Token.Name.Builtin, 'call.type$'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(textwrap.dedent(data))) == tokens diff --git a/tests/test_cfm.py b/tests/test_cfm.py deleted file mode 100644 index 54cf502..0000000 --- a/tests/test_cfm.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Basic ColdfusionHtmlLexer Test - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.token import Token -from pygments.lexers import ColdfusionHtmlLexer - - -@pytest.fixture(scope='module') -def lexer(): - yield ColdfusionHtmlLexer() - - -def test_basic_comment(lexer): - fragment = '' - expected = [ - (Token.Comment.Multiline, ''), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == expected - - -def test_nested_comment(lexer): - fragment = ' --->' - expected = [ - (Token.Comment.Multiline, ''), - (Token.Comment.Multiline, ' '), - (Token.Comment.Multiline, '--->'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == expected diff --git a/tests/test_clexer.py b/tests/test_clexer.py deleted file mode 100644 index c636f7f..0000000 --- a/tests/test_clexer.py +++ /dev/null @@ -1,265 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Basic CLexer Test - ~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import textwrap - -import pytest - -from pygments.token import Text, Number, Token -from pygments.lexers import CLexer - - -@pytest.fixture(scope='module') -def lexer(): - yield CLexer() - - -def test_numbers(lexer): - code = '42 23.42 23. .42 023 0xdeadbeef 23e+42 42e-23' - wanted = [] - for item in zip([Number.Integer, Number.Float, Number.Float, - Number.Float, Number.Oct, Number.Hex, - Number.Float, Number.Float], code.split()): - wanted.append(item) - wanted.append((Text, ' ')) - wanted = wanted[:-1] + [(Text, '\n')] - assert list(lexer.get_tokens(code)) == wanted - - -def test_switch(lexer): - fragment = '''\ - int main() - { - switch (0) - { - case 0: - default: - ; - } - } - ''' - tokens = [ - (Token.Keyword.Type, 'int'), - (Token.Text, ' '), - (Token.Name.Function, 'main'), - (Token.Punctuation, '('), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Punctuation, '{'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'switch'), - (Token.Text, ' '), - (Token.Punctuation, '('), - (Token.Literal.Number.Integer, '0'), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Punctuation, '{'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'case'), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '0'), - (Token.Operator, ':'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'default'), - (Token.Operator, ':'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Punctuation, ';'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(textwrap.dedent(fragment))) == tokens - - -def test_switch_space_before_colon(lexer): - fragment = '''\ - int main() - { - switch (0) - { - case 0 : - default : - ; - } - } - ''' - tokens = [ - (Token.Keyword.Type, 'int'), - (Token.Text, ' '), - (Token.Name.Function, 'main'), - (Token.Punctuation, '('), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Punctuation, '{'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'switch'), - (Token.Text, ' '), - (Token.Punctuation, '('), - (Token.Literal.Number.Integer, '0'), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Punctuation, '{'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'case'), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '0'), - (Token.Text, ' '), - (Token.Operator, ':'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'default'), - (Token.Text, ' '), - (Token.Operator, ':'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Punctuation, ';'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(textwrap.dedent(fragment))) == tokens - - -def test_label(lexer): - fragment = '''\ - int main() - { - foo: - goto foo; - } - ''' - tokens = [ - (Token.Keyword.Type, 'int'), - (Token.Text, ' '), - (Token.Name.Function, 'main'), - (Token.Punctuation, '('), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Punctuation, '{'), - (Token.Text, '\n'), - (Token.Name.Label, 'foo'), - (Token.Punctuation, ':'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'goto'), - (Token.Text, ' '), - (Token.Name, 'foo'), - (Token.Punctuation, ';'), - (Token.Text, '\n'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(textwrap.dedent(fragment))) == tokens - - -def test_label_space_before_colon(lexer): - fragment = '''\ - int main() - { - foo : - goto foo; - } - ''' - tokens = [ - (Token.Keyword.Type, 'int'), - (Token.Text, ' '), - (Token.Name.Function, 'main'), - (Token.Punctuation, '('), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Punctuation, '{'), - (Token.Text, '\n'), - (Token.Name.Label, 'foo'), - (Token.Text, ' '), - (Token.Punctuation, ':'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'goto'), - (Token.Text, ' '), - (Token.Name, 'foo'), - (Token.Punctuation, ';'), - (Token.Text, '\n'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(textwrap.dedent(fragment))) == tokens - - -def test_label_followed_by_statement(lexer): - fragment = '''\ - int main() - { - foo:return 0; - goto foo; - } - ''' - tokens = [ - (Token.Keyword.Type, 'int'), - (Token.Text, ' '), - (Token.Name.Function, 'main'), - (Token.Punctuation, '('), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Punctuation, '{'), - (Token.Text, '\n'), - (Token.Name.Label, 'foo'), - (Token.Punctuation, ':'), - (Token.Keyword, 'return'), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '0'), - (Token.Punctuation, ';'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'goto'), - (Token.Text, ' '), - (Token.Name, 'foo'), - (Token.Punctuation, ';'), - (Token.Text, '\n'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(textwrap.dedent(fragment))) == tokens - - -def test_preproc_file(lexer): - fragment = '#include \n' - tokens = [ - (Token.Comment.Preproc, '#'), - (Token.Comment.Preproc, 'include'), - (Token.Text, ' '), - (Token.Comment.PreprocFile, ''), - (Token.Comment.Preproc, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_preproc_file2(lexer): - fragment = '#include "foo.h"\n' - tokens = [ - (Token.Comment.Preproc, '#'), - (Token.Comment.Preproc, 'include'), - (Token.Text, ' '), - (Token.Comment.PreprocFile, '"foo.h"'), - (Token.Comment.Preproc, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index d740fcc..52009b9 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ Command line test ~~~~~~~~~~~~~~~~~ @@ -15,6 +14,7 @@ import tempfile from io import BytesIO from os import path +import pytest from pytest import raises from pygments import cmdline, highlight @@ -69,10 +69,14 @@ def check_success(*cmdline, **kwds): def check_failure(*cmdline, **kwds): expected_code = kwds.pop('code', 1) - code, out, err = run_cmdline(*cmdline, **kwds) - assert code == expected_code - assert out == '' - return err + try: + code, out, err = run_cmdline(*cmdline, **kwds) + except SystemExit as err: + assert err.args[0] == expected_code + else: + assert code == expected_code + assert out == '' + return err def test_normal(): @@ -149,7 +153,7 @@ def test_stream_opt(): def test_h_opt(): o = check_success('-h') - assert 'Usage:' in o + assert 'usage:' in o def test_L_opt(): @@ -220,23 +224,30 @@ def test_N_opt(): assert 'text' == o.strip() -def test_invalid_opts(): - for opts in [ - ('-X',), - ('-L', '-lpy'), - ('-L', '-fhtml'), - ('-L', '-Ox'), - ('-S', 'default', '-l', 'py', '-f', 'html'), - ('-S', 'default'), - ('-a', 'arg'), - ('-H',), - (TESTFILE, TESTFILE), - ('-H', 'formatter'), - ('-H', 'foo', 'bar'), - ('-s',), - ('-s', TESTFILE), - ]: - check_failure(*opts, code=2) +def test_C_opt(): + o = check_success('-C', stdin='#!python3\n') + assert 'python' == o.strip() + o = check_success('-C', stdin='x') + assert 'text' == o.strip() + + +@pytest.mark.parametrize('opts', [ + ('-X',), + ('-L', '-lpy'), + ('-L', '-fhtml'), + ('-L', '-Ox'), + ('-S', 'default', '-l', 'py', '-f', 'html'), + ('-S', 'default'), + ('-a', 'arg'), + ('-H',), + (TESTFILE, TESTFILE), + ('-H', 'formatter'), + ('-H', 'foo', 'bar'), + ('-s',), + ('-s', TESTFILE), +]) +def test_invalid_opts(opts): + check_failure(*opts, code=2) def test_errors(): diff --git a/tests/test_coffeescript.py b/tests/test_coffeescript.py index 60ddfcd..56af6ba 100644 --- a/tests/test_coffeescript.py +++ b/tests/test_coffeescript.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ CoffeeScript tests ~~~~~~~~~~~~~~~~~~ @@ -51,35 +50,3 @@ def test_coffee_slashes(lexer, golden): if '/' in s: is_regex = t is Token.String.Regex assert is_regex == slashes_are_regex_here, (t, s) - - -def test_mixed_slashes(lexer): - fragment = u'a?/foo/:1/2;\n' - tokens = [ - (Token.Name.Other, u'a'), - (Token.Operator, u'?'), - (Token.Literal.String.Regex, u'/foo/'), - (Token.Operator, u':'), - (Token.Literal.Number.Integer, u'1'), - (Token.Operator, u'/'), - (Token.Literal.Number.Integer, u'2'), - (Token.Punctuation, u';'), - (Token.Text, u'\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_beware_infinite_loop(lexer): - # This demonstrates the case that "This isn't really guarding" comment - # refers to. - fragment = '/a/x;\n' - tokens = [ - (Token.Text, ''), - (Token.Operator, '/'), - (Token.Name.Other, 'a'), - (Token.Operator, '/'), - (Token.Name.Other, 'x'), - (Token.Punctuation, ';'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens diff --git a/tests/test_coq.py b/tests/test_coq.py deleted file mode 100644 index 6b4e27d..0000000 --- a/tests/test_coq.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Coq Tests - ~~~~~~~~~~~~~ - :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.lexers import CoqLexer -from pygments.token import Token - -@pytest.fixture(scope='module') -def lexer(): - yield CoqLexer() - -def test_coq_unicode(lexer): - fragment = 'Check (α ≻ β).\n' - tokens = [ - (Token.Keyword.Namespace, 'Check'), - (Token.Text, ' '), - (Token.Operator, '('), - (Token.Name, 'α'), - (Token.Text, ' '), - (Token.Name.Builtin.Pseudo, '≻'), - (Token.Text, ' '), - (Token.Name, 'β'), - (Token.Operator, ')'), - (Token.Operator, '.'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens diff --git a/tests/test_cpp.py b/tests/test_cpp.py deleted file mode 100644 index e847079..0000000 --- a/tests/test_cpp.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -""" - CPP Tests - ~~~~~~~~~ - - :copyright: Copyright 2006-2016 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.lexers import CppLexer, CLexer -from pygments.token import Token - -from pygments.lexers import guess_lexer - - -@pytest.fixture(scope='module') -def lexer(): - yield CppLexer() - - -def test_good_comment(lexer): - fragment = '/* foo */\n' - tokens = [ - (Token.Comment.Multiline, '/* foo */'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_open_comment(lexer): - fragment = '/* foo\n' - tokens = [ - (Token.Comment.Multiline, '/* foo\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - -def test_guess_c_lexer(): - code = ''' - #include - #include - - int main(void); - - int main(void) { - uint8_t x = 42; - uint8_t y = x + 1; - - /* exit 1 for success! */ - return 1; - } - ''' - lexer = guess_lexer(code) - assert isinstance(lexer, CLexer) diff --git a/tests/test_crystal.py b/tests/test_crystal.py index ae0dd7f..61e020f 100644 --- a/tests/test_crystal.py +++ b/tests/test_crystal.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ Basic CrystalLexer Test ~~~~~~~~~~~~~~~~~~~~~~~ @@ -9,8 +8,7 @@ import pytest -from pygments.token import Text, Operator, Keyword, Name, String, Number, \ - Punctuation, Error +from pygments.token import Text, String, Number, Punctuation, Error from pygments.lexers import CrystalLexer @@ -19,139 +17,6 @@ def lexer(): yield CrystalLexer() -def test_range_syntax1(lexer): - fragment = '1...3\n' - tokens = [ - (Number.Integer, '1'), - (Operator, '...'), - (Number.Integer, '3'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_range_syntax2(lexer): - fragment = '1 .. 3\n' - tokens = [ - (Number.Integer, '1'), - (Text, ' '), - (Operator, '..'), - (Text, ' '), - (Number.Integer, '3'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_interpolation_nested_curly(lexer): - fragment = ( - '"A#{ (3..5).group_by { |x| x/2}.map ' - 'do |k,v| "#{k}" end.join }" + "Z"\n') - tokens = [ - (String.Double, '"'), - (String.Double, 'A'), - (String.Interpol, '#{'), - (Text, ' '), - (Punctuation, '('), - (Number.Integer, '3'), - (Operator, '..'), - (Number.Integer, '5'), - (Punctuation, ')'), - (Operator, '.'), - (Name, 'group_by'), - (Text, ' '), - (String.Interpol, '{'), - (Text, ' '), - (Operator, '|'), - (Name, 'x'), - (Operator, '|'), - (Text, ' '), - (Name, 'x'), - (Operator, '/'), - (Number.Integer, '2'), - (String.Interpol, '}'), - (Operator, '.'), - (Name, 'map'), - (Text, ' '), - (Keyword, 'do'), - (Text, ' '), - (Operator, '|'), - (Name, 'k'), - (Punctuation, ','), - (Name, 'v'), - (Operator, '|'), - (Text, ' '), - (String.Double, '"'), - (String.Interpol, '#{'), - (Name, 'k'), - (String.Interpol, '}'), - (String.Double, '"'), - (Text, ' '), - (Keyword, 'end'), - (Operator, '.'), - (Name, 'join'), - (Text, ' '), - (String.Interpol, '}'), - (String.Double, '"'), - (Text, ' '), - (Operator, '+'), - (Text, ' '), - (String.Double, '"'), - (String.Double, 'Z'), - (String.Double, '"'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_escaped_interpolation(lexer): - fragment = '"\\#{a + b}"\n' - # i.e. no actual interpolation - tokens = [ - (String.Double, '"'), - (String.Escape, '\\#'), - (String.Double, '{a + b}'), - (String.Double, '"'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_operator_methods(lexer): - fragment = '([] of Int32).[]?(5)\n' - tokens = [ - (Punctuation, '('), - (Operator, '['), - (Operator, ']'), - (Text, ' '), - (Keyword, 'of'), - (Text, ' '), - (Name, 'Int32'), - (Punctuation, ')'), - (Operator, '.'), - (Name.Operator, '[]?'), - (Punctuation, '('), - (Number.Integer, '5'), - (Punctuation, ')'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_array_access(lexer): - fragment = '[5][5]?\n' - tokens = [ - (Operator, '['), - (Number.Integer, '5'), - (Operator, ']'), - (Operator, '['), - (Number.Integer, '5'), - (Operator, ']?'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - def test_numbers(lexer): for kind, testset in [ (Number.Integer, '0 1 1_000_000 1u8 11231231231121312i64'), @@ -213,329 +78,3 @@ def test_empty_percent_strings(lexer): (Punctuation, ')'), (Text, '\n'), ] - - -def test_percent_strings(lexer): - fragment = ( - '%(hello ("world"))\n' - '%[hello ["world"]]\n' - '%{hello "world"}\n' - '%>\n' - '%|hello "world"|\n') - tokens = [ - (String.Other, '%('), - (String.Other, 'hello '), - (String.Other, '('), - (String.Other, '"world"'), - (String.Other, ')'), - (String.Other, ')'), - (Text, '\n'), - (String.Other, '%['), - (String.Other, 'hello '), - (String.Other, '['), - (String.Other, '"world"'), - (String.Other, ']'), - (String.Other, ']'), - (Text, '\n'), - (String.Other, '%{'), - (String.Other, 'hello "world"'), - (String.Other, '}'), - (Text, '\n'), - (String.Other, '%<'), - (String.Other, 'hello '), - (String.Other, '<'), - (String.Other, '"world"'), - (String.Other, '>'), - (String.Other, '>'), - (Text, '\n'), - (String.Other, '%|'), - (String.Other, 'hello "world"'), - (String.Other, '|'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_special_percent_strings(lexer): - fragment = '%Q(hello \\n #{name})\n%q(hello \\n #{name})\n%w(foo\\nbar baz)\n' - tokens = [ - (String.Other, '%Q('), - (String.Other, 'hello '), - (String.Escape, '\\n'), - (String.Other, ' '), - (String.Interpol, '#{'), - (Name, 'name'), - (String.Interpol, '}'), - (String.Other, ')'), - (Text, '\n'), - # The ones below have no interpolation. - (String.Other, '%q('), - (String.Other, 'hello '), - (String.Other, '\\'), - (String.Other, 'n '), - (String.Other, '#'), - (String.Other, '{name}'), - (String.Other, ')'), - (Text, '\n'), - (String.Other, '%w('), - (String.Other, 'foo'), - (String.Other, '\\'), - (String.Other, 'nbar baz'), - (String.Other, ')'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_pseudo_keywords(lexer): - fragment = ( - 'def f(x : T, line = __LINE__) forall T\n' - 'if x.is_a?(String)\n' - 'pp! x\n' - 'end\n' - 'end\n') - tokens = [ - (Keyword, 'def'), - (Text, ' '), - (Name.Function, 'f'), - (Punctuation, '('), - (Name, 'x'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Name, 'T'), - (Punctuation, ','), - (Text, ' '), - (Name, 'line'), - (Text, ' '), - (Operator, '='), - (Text, ' '), - (Keyword.Pseudo, '__LINE__'), - (Punctuation, ')'), - (Text, ' '), - (Keyword.Pseudo, 'forall'), - (Text, ' '), - (Name, 'T'), - (Text, '\n'), - (Keyword, 'if'), - (Text, ' '), - (Name, 'x'), - (Keyword.Pseudo, '.is_a?'), - (Punctuation, '('), - (Name, 'String'), - (Punctuation, ')'), - (Text, '\n'), - (Name.Builtin.Pseudo, 'pp!'), - (Text, ' '), - (Name, 'x'), - (Text, '\n'), - (Keyword, 'end'), - (Text, '\n'), - (Keyword, 'end'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_pseudo_builtins(lexer): - fragment = 'record Cls do\ndef_equals s\nend\n' - tokens = [ - (Name.Builtin.Pseudo, 'record'), - (Text, ' '), - (Name, 'Cls'), - (Text, ' '), - (Keyword, 'do'), - (Text, '\n'), - (Name.Builtin.Pseudo, 'def_equals'), - (Text, ' '), - (Name, 's'), - (Text, '\n'), - (Keyword, 'end'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_constant_and_module(lexer): - fragment = 'HTTP\nHTTP::Server.new\n' - tokens = [ - (Name.Constant, 'HTTP'), - (Text, '\n'), - (Name, 'HTTP'), - (Operator, '::'), - (Name, 'Server'), - (Operator, '.'), - (Name, 'new'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_macro(lexer): - fragment = ( - 'def<=>(other : self) : Int\n' - '{%for field in %w(first_name middle_name last_name)%}\n' - 'cmp={{field.id}}<=>other.{{field.id}}\n' - 'return cmp if cmp!=0\n' - '{%end%}\n' - '0\n' - 'end\n') - tokens = [ - (Keyword, 'def'), - (Name.Function, '<=>'), - (Punctuation, '('), - (Name, 'other'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Keyword, 'self'), - (Punctuation, ')'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Name, 'Int'), - (Text, '\n'), - (String.Interpol, '{%'), - (Keyword, 'for'), - (Text, ' '), - (Name, 'field'), - (Text, ' '), - (Keyword, 'in'), - (Text, ' '), - (String.Other, '%w('), - (String.Other, 'first_name middle_name last_name'), - (String.Other, ')'), - (String.Interpol, '%}'), - (Text, '\n'), - (Name, 'cmp'), - (Operator, '='), - (String.Interpol, '{{'), - (Name, 'field'), - (Operator, '.'), - (Name, 'id'), - (String.Interpol, '}}'), - (Operator, '<=>'), - (Name, 'other'), - (Operator, '.'), - (String.Interpol, '{{'), - (Name, 'field'), - (Operator, '.'), - (Name, 'id'), - (String.Interpol, '}}'), - (Text, '\n'), - (Keyword, 'return'), - (Text, ' '), - (Name, 'cmp'), - (Text, ' '), - (Keyword, 'if'), - (Text, ' '), - (Name, 'cmp'), - (Operator, '!='), - (Number.Integer, '0'), - (Text, '\n'), - (String.Interpol, '{%'), - (Keyword, 'end'), - (String.Interpol, '%}'), - (Text, '\n'), - (Number.Integer, '0'), - (Text, '\n'), - (Keyword, 'end'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_lib(lexer): - fragment = ( - '@[Link("some")]\nlib LibSome\n' - '@[CallConvention("X86_StdCall")]\nfun foo="some.foo"(thing : Void*) : LibC::Int\n' - 'end\n') - tokens = [ - (Operator, '@['), - (Name.Decorator, 'Link'), - (Punctuation, '('), - (String.Double, '"'), - (String.Double, 'some'), - (String.Double, '"'), - (Punctuation, ')'), - (Operator, ']'), - (Text, '\n'), - (Keyword, 'lib'), - (Text, ' '), - (Name.Namespace, 'LibSome'), - (Text, '\n'), - (Operator, '@['), - (Name.Decorator, 'CallConvention'), - (Punctuation, '('), - (String.Double, '"'), - (String.Double, 'X86_StdCall'), - (String.Double, '"'), - (Punctuation, ')'), - (Operator, ']'), - (Text, '\n'), - (Keyword, 'fun'), - (Text, ' '), - (Name.Function, 'foo'), - (Operator, '='), - (String.Double, '"'), - (String.Double, 'some.foo'), - (String.Double, '"'), - (Punctuation, '('), - (Name, 'thing'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Name, 'Void'), - (Operator, '*'), - (Punctuation, ')'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Name, 'LibC'), - (Operator, '::'), - (Name, 'Int'), - (Text, '\n'), - (Keyword, 'end'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_escaped_bracestring(lexer): - fragment = 'str.gsub(%r{\\\\\\\\}, "/")\n' - tokens = [ - (Name, 'str'), - (Operator, '.'), - (Name, 'gsub'), - (Punctuation, '('), - (String.Regex, '%r{'), - (String.Regex, '\\\\'), - (String.Regex, '\\\\'), - (String.Regex, '}'), - (Punctuation, ','), - (Text, ' '), - (String.Double, '"'), - (String.Double, '/'), - (String.Double, '"'), - (Punctuation, ')'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_annotation(lexer): - fragment = '@[FOO::Bar::Baz(opt: "xx")]\n' - tokens = [ - (Operator, '@['), - (Name.Decorator, 'FOO::Bar::Baz'), - (Punctuation, '('), - (String.Symbol, 'opt'), - (Punctuation, ':'), - (Text, ' '), - (String.Double, '"'), - (String.Double, 'xx'), - (String.Double, '"'), - (Punctuation, ')'), - (Operator, ']'), - (Text, '\n'), - ] diff --git a/tests/test_csound.py b/tests/test_csound.py deleted file mode 100644 index cee0784..0000000 --- a/tests/test_csound.py +++ /dev/null @@ -1,524 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Csound lexer tests - ~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -from textwrap import dedent - -import pytest - -from pygments.token import Comment, Error, Keyword, Name, Number, Operator, \ - Punctuation, String, Text -from pygments.lexers import CsoundOrchestraLexer - - -@pytest.fixture(scope='module') -def lexer(): - yield CsoundOrchestraLexer() - - -def test_comments(lexer): - fragment = dedent('''\ - /* - * comment - */ - ; comment - // comment - ''') - tokens = [ - (Comment.Multiline, '/*\n * comment\n */'), - (Text, '\n'), - (Comment.Single, '; comment'), - (Text, '\n'), - (Comment.Single, '// comment'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_instrument_blocks(lexer): - fragment = dedent('''\ - instr/**/1,/**/N_a_M_e_,/**/+Name/**/// - iDuration = p3 - outc:a(aSignal) - endin - ''') - tokens = [ - (Keyword.Declaration, 'instr'), - (Comment.Multiline, '/**/'), - (Name.Function, '1'), - (Punctuation, ','), - (Comment.Multiline, '/**/'), - (Name.Function, 'N_a_M_e_'), - (Punctuation, ','), - (Comment.Multiline, '/**/'), - (Punctuation, '+'), - (Name.Function, 'Name'), - (Comment.Multiline, '/**/'), - (Comment.Single, '//'), - (Text, '\n'), - (Text, ' '), - (Keyword.Type, 'i'), - (Name, 'Duration'), - (Text, ' '), - (Operator, '='), - (Text, ' '), - (Name.Variable.Instance, 'p3'), - (Text, '\n'), - (Text, ' '), - (Name.Builtin, 'outc'), - (Punctuation, ':'), - (Keyword.Type, 'a'), - (Punctuation, '('), - (Keyword.Type, 'a'), - (Name, 'Signal'), - (Punctuation, ')'), - (Text, '\n'), - (Keyword.Declaration, 'endin'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_user_defined_opcodes(lexer): - fragment = dedent('''\ - opcode/**/aUDO,/**/i[],/**/aik// - aUDO - endop - ''') - tokens = [ - (Keyword.Declaration, 'opcode'), - (Comment.Multiline, '/**/'), - (Name.Function, 'aUDO'), - (Punctuation, ','), - (Comment.Multiline, '/**/'), - (Keyword.Type, 'i[]'), - (Punctuation, ','), - (Comment.Multiline, '/**/'), - (Keyword.Type, 'aik'), - (Comment.Single, '//'), - (Text, '\n'), - (Text, ' '), - (Name.Function, 'aUDO'), - (Text, '\n'), - (Keyword.Declaration, 'endop'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_numbers(lexer): - fragment = '123 0123456789' - tokens = [ - (Number.Integer, '123'), - (Text, ' '), - (Number.Integer, '0123456789'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - fragment = '0xabcdef0123456789 0XABCDEF' - tokens = [ - (Keyword.Type, '0x'), - (Number.Hex, 'abcdef0123456789'), - (Text, ' '), - (Keyword.Type, '0X'), - (Number.Hex, 'ABCDEF'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - fragments = ['1e2', '3e+4', '5e-6', '7E8', '9E+0', '1E-2', '3.', '4.56', '.789'] - for fragment in fragments: - tokens = [ - (Number.Float, fragment), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_quoted_strings(lexer): - fragment = '"characters$MACRO."' - tokens = [ - (String, '"'), - (String, 'characters'), - (Comment.Preproc, '$MACRO.'), - (String, '"'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_braced_strings(lexer): - fragment = dedent('''\ - {{ - characters$MACRO. - }} - ''') - tokens = [ - (String, '{{'), - (String, '\ncharacters$MACRO.\n'), - (String, '}}'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_escape_sequences(lexer): - for character in ['\\', 'a', 'b', 'n', 'r', 't', '"', '012', '345', '67']: - escapedCharacter = '\\' + character - fragment = '"' + escapedCharacter + '"' - tokens = [ - (String, '"'), - (String.Escape, escapedCharacter), - (String, '"'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - fragment = '{{' + escapedCharacter + '}}' - tokens = [ - (String, '{{'), - (String.Escape, escapedCharacter), - (String, '}}'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_operators(lexer): - fragments = ['+', '-', '~', '¬', '!', '*', '/', '^', '%', '<<', '>>', '<', '>', - '<=', '>=', '==', '!=', '&', '#', '|', '&&', '||', '?', ':', '+=', - '-=', '*=', '/='] - for fragment in fragments: - tokens = [ - (Operator, fragment), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_global_value_identifiers(lexer): - for fragment in ['0dbfs', 'A4', 'kr', 'ksmps', 'nchnls', 'nchnls_i', 'sr']: - tokens = [ - (Name.Variable.Global, fragment), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_keywords(lexer): - fragments = ['do', 'else', 'elseif', 'endif', 'enduntil', 'fi', 'if', 'ithen', - 'kthen', 'od', 'then', 'until', 'while'] - for fragment in fragments: - tokens = [ - (Keyword, fragment), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - for fragment in ['return', 'rireturn']: - tokens = [ - (Keyword.Pseudo, fragment), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_labels(lexer): - fragment = dedent('''\ - aLabel: - label2: - ''') - tokens = [ - (Name.Label, 'aLabel'), - (Punctuation, ':'), - (Text, '\n'), - (Text, ' '), - (Name.Label, 'label2'), - (Punctuation, ':'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_printks_and_prints_escape_sequences(lexer): - escapedCharacters = ['%!', '%%', '%n', '%N', '%r', '%R', '%t', '%T', '\\\\a', - '\\\\A', '\\\\b', '\\\\B', '\\\\n', '\\\\N', '\\\\r', - '\\\\R', '\\\\t', '\\\\T'] - for opcode in ['printks', 'prints']: - for escapedCharacter in escapedCharacters: - fragment = opcode + ' "' + escapedCharacter + '"' - tokens = [ - (Name.Builtin, opcode), - (Text, ' '), - (String, '"'), - (String.Escape, escapedCharacter), - (String, '"'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_goto_statements(lexer): - for keyword in ['goto', 'igoto', 'kgoto']: - fragment = keyword + ' aLabel' - tokens = [ - (Keyword, keyword), - (Text, ' '), - (Name.Label, 'aLabel'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - for opcode in ['reinit', 'rigoto', 'tigoto']: - fragment = opcode + ' aLabel' - tokens = [ - (Keyword.Pseudo, opcode), - (Text, ' '), - (Name.Label, 'aLabel'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - for opcode in ['cggoto', 'cigoto', 'cingoto', 'ckgoto', 'cngoto', 'cnkgoto']: - fragment = opcode + ' 1==0, aLabel' - tokens = [ - (Keyword.Pseudo, opcode), - (Text, ' '), - (Number.Integer, '1'), - (Operator, '=='), - (Number.Integer, '0'), - (Punctuation, ','), - (Text, ' '), - (Name.Label, 'aLabel'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - fragment = 'timout 0, 0, aLabel' - tokens = [ - (Keyword.Pseudo, 'timout'), - (Text, ' '), - (Number.Integer, '0'), - (Punctuation, ','), - (Text, ' '), - (Number.Integer, '0'), - (Punctuation, ','), - (Text, ' '), - (Name.Label, 'aLabel'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - for opcode in ['loop_ge', 'loop_gt', 'loop_le', 'loop_lt']: - fragment = opcode + ' 0, 0, 0, aLabel' - tokens = [ - (Keyword.Pseudo, opcode), - (Text, ' '), - (Number.Integer, '0'), - (Punctuation, ','), - (Text, ' '), - (Number.Integer, '0'), - (Punctuation, ','), - (Text, ' '), - (Number.Integer, '0'), - (Punctuation, ','), - (Text, ' '), - (Name.Label, 'aLabel'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_include_directives(lexer): - for character in ['"', '|']: - fragment = '#include/**/' + character + 'file.udo' + character - tokens = [ - (Comment.Preproc, '#include'), - (Comment.Multiline, '/**/'), - (String, character + 'file.udo' + character), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_includestr_directives(lexer): - fragment = '#includestr/**/"$MACRO..udo"' - tokens = [ - (Comment.Preproc, '#includestr'), - (Comment.Multiline, '/**/'), - (String, '"'), - (Comment.Preproc, '$MACRO.'), - (String, '.udo'), - (String, '"'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_object_like_macro_definitions(lexer): - fragment = dedent('''\ - # \tdefine MACRO#macro_body# - #define/**/ - MACRO/**/ - #\\#macro - body\\## - ''') - tokens = [ - (Comment.Preproc, '# \tdefine'), - (Text, ' '), - (Comment.Preproc, 'MACRO'), - (Punctuation, '#'), - (Comment.Preproc, 'macro_body'), - (Punctuation, '#'), - (Text, '\n'), - (Comment.Preproc, '#define'), - (Comment.Multiline, '/**/'), - (Text, '\n'), - (Comment.Preproc, 'MACRO'), - (Comment.Multiline, '/**/'), - (Text, '\n'), - (Punctuation, '#'), - (Comment.Preproc, '\\#'), - (Comment.Preproc, 'macro\nbody'), - (Comment.Preproc, '\\#'), - (Punctuation, '#'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_function_like_macro_definitions(lexer): - fragment = dedent('''\ - #define MACRO(ARG1#ARG2) #macro_body# - #define/**/ - MACRO(ARG1'ARG2' ARG3)/**/ - #\\#macro - body\\## - ''') - tokens = [ - (Comment.Preproc, '#define'), - (Text, ' '), - (Comment.Preproc, 'MACRO'), - (Punctuation, '('), - (Comment.Preproc, 'ARG1'), - (Punctuation, '#'), - (Comment.Preproc, 'ARG2'), - (Punctuation, ')'), - (Text, ' '), - (Punctuation, '#'), - (Comment.Preproc, 'macro_body'), - (Punctuation, '#'), - (Text, '\n'), - (Comment.Preproc, '#define'), - (Comment.Multiline, '/**/'), - (Text, '\n'), - (Comment.Preproc, 'MACRO'), - (Punctuation, '('), - (Comment.Preproc, 'ARG1'), - (Punctuation, "'"), - (Comment.Preproc, 'ARG2'), - (Punctuation, "'"), - (Text, ' '), - (Comment.Preproc, 'ARG3'), - (Punctuation, ')'), - (Comment.Multiline, '/**/'), - (Text, '\n'), - (Punctuation, '#'), - (Comment.Preproc, '\\#'), - (Comment.Preproc, 'macro\nbody'), - (Comment.Preproc, '\\#'), - (Punctuation, '#'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_macro_preprocessor_directives(lexer): - for directive in ['#ifdef', '#ifndef', '#undef']: - fragment = directive + ' MACRO' - tokens = [ - (Comment.Preproc, directive), - (Text, ' '), - (Comment.Preproc, 'MACRO'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_other_preprocessor_directives(lexer): - fragment = dedent('''\ - #else - #end - #endif - ### - @ \t12345 - @@ \t67890 - ''') - tokens = [ - (Comment.Preproc, '#else'), - (Text, '\n'), - (Comment.Preproc, '#end'), - (Text, '\n'), - (Comment.Preproc, '#endif'), - (Text, '\n'), - (Comment.Preproc, '###'), - (Text, '\n'), - (Comment.Preproc, '@ \t12345'), - (Text, '\n'), - (Comment.Preproc, '@@ \t67890'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_function_like_macros(lexer): - fragment = "$MACRO.(((x#y\\)))' \"(#'x)\\)x\\))\"# {{x\\))x)\\)(#'}});" - tokens = [ - (Comment.Preproc, '$MACRO.'), - (Punctuation, '('), - (Comment.Preproc, '('), - (Comment.Preproc, '('), - (Comment.Preproc, 'x#y\\)'), - (Comment.Preproc, ')'), - (Comment.Preproc, ')'), - (Punctuation, "'"), - (Comment.Preproc, ' '), - (String, '"'), - (Error, '('), - (Error, '#'), - (Error, "'"), - (String, 'x'), - (Error, ')'), - (Comment.Preproc, '\\)'), - (String, 'x'), - (Comment.Preproc, '\\)'), - (Error, ')'), - (String, '"'), - (Punctuation, '#'), - (Comment.Preproc, ' '), - (String, '{{'), - (String, 'x'), - (Comment.Preproc, '\\)'), - (Error, ')'), - (String, 'x'), - (Error, ')'), - (Comment.Preproc, '\\)'), - (Error, '('), - (Error, '#'), - (Error, "'"), - (String, '}}'), - (Punctuation, ')'), - (Comment.Single, ';'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_name(lexer): - fragment = 'kG:V' - tokens = [ - (Keyword.Type, 'k'), - (Name, 'G'), - (Punctuation, ':'), - (Name, 'V'), - (Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens diff --git a/tests/test_data.py b/tests/test_data.py index 5388910..ff209bb 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -1,9 +1,8 @@ -# -*- coding: utf-8 -*- """ Data Tests ~~~~~~~~~~ - :copyright: Copyright 2006-2016 by the Pygments team, see AUTHORS. + :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ @@ -11,7 +10,7 @@ import time import pytest -from pygments.lexers.data import JsonLexer, JsonBareObjectLexer, JsonLdLexer, YamlLexer +from pygments.lexers.data import JsonLexer, JsonBareObjectLexer, JsonLdLexer from pygments.token import Token, Punctuation, Text, Number, String, Keyword, Name @@ -30,62 +29,59 @@ def lexer_json_ld(): yield JsonLdLexer() -@pytest.fixture(scope='module') -def lexer_yaml(): - yield YamlLexer() - - @pytest.mark.parametrize( 'text, expected_token_types', ( - # Integers - ('0', (Number.Integer,)), - ('-1', (Number.Integer,)), - ('1234567890', (Number.Integer,)), - ('-1234567890', (Number.Integer,)), - - # Floats, including scientific notation - ('123456789.0123456789', (Number.Float,)), - ('-123456789.0123456789', (Number.Float,)), - ('1e10', (Number.Float,)), - ('-1E10', (Number.Float,)), - ('1e-10', (Number.Float,)), - ('-1E+10', (Number.Float,)), - ('1.0e10', (Number.Float,)), - ('-1.0E10', (Number.Float,)), - ('1.0e-10', (Number.Float,)), - ('-1.0E+10', (Number.Float,)), - - # Strings (escapes are tested elsewhere) - ('""', (String.Double,)), - ('"abc"', (String.Double,)), - ('"ひらがな"', (String.Double,)), - ('"123"', (String.Double,)), - ('"[]"', (String.Double,)), - ('"{}"', (String.Double,)), - ('"true"', (String.Double,)), - ('"false"', (String.Double,)), - ('"null"', (String.Double,)), - ('":,"', (String.Double,)), - - # Constants - ('true', (Keyword.Constant, )), - ('false', (Keyword.Constant, )), - ('null', (Keyword.Constant, )), - - # Whitespace - ('\u0020', (Text,)), # space - ('\u000a', (Text,)), # newline - ('\u000d', (Text,)), # carriage return - ('\u0009', (Text,)), # tab - - # Arrays - ('[]', (Punctuation,)), - ('["a", "b"]', (Punctuation, String.Double, Punctuation, Text, String.Double, Punctuation)), - - # Objects - ('{}', (Punctuation,)), - ('{"a": "b"}', (Punctuation, Name.Tag, Punctuation, Text, String.Double, Punctuation)), + # Integers + ('0', (Number.Integer,)), + ('-1', (Number.Integer,)), + ('1234567890', (Number.Integer,)), + ('-1234567890', (Number.Integer,)), + + # Floats, including scientific notation + ('123456789.0123456789', (Number.Float,)), + ('-123456789.0123456789', (Number.Float,)), + ('1e10', (Number.Float,)), + ('-1E10', (Number.Float,)), + ('1e-10', (Number.Float,)), + ('-1E+10', (Number.Float,)), + ('1.0e10', (Number.Float,)), + ('-1.0E10', (Number.Float,)), + ('1.0e-10', (Number.Float,)), + ('-1.0E+10', (Number.Float,)), + + # Strings (escapes are tested elsewhere) + ('""', (String.Double,)), + ('"abc"', (String.Double,)), + ('"ひらがな"', (String.Double,)), + ('"123"', (String.Double,)), + ('"[]"', (String.Double,)), + ('"{}"', (String.Double,)), + ('"true"', (String.Double,)), + ('"false"', (String.Double,)), + ('"null"', (String.Double,)), + ('":,"', (String.Double,)), + + # Constants + ('true', (Keyword.Constant, )), + ('false', (Keyword.Constant, )), + ('null', (Keyword.Constant, )), + + # Whitespace + ('\u0020', (Text,)), # space + ('\u000a', (Text,)), # newline + ('\u000d', (Text,)), # carriage return + ('\u0009', (Text,)), # tab + + # Arrays + ('[]', (Punctuation,)), + ('["a", "b"]', (Punctuation, String.Double, Punctuation, + Text, String.Double, Punctuation)), + + # Objects + ('{}', (Punctuation,)), + ('{"a": "b"}', (Punctuation, Name.Tag, Punctuation, + Text, String.Double, Punctuation)), ) ) def test_json_literals_positive_match(lexer_json, text, expected_token_types): @@ -93,15 +89,16 @@ def test_json_literals_positive_match(lexer_json, text, expected_token_types): tokens = list(lexer_json.get_tokens_unprocessed(text)) assert len(tokens) == len(expected_token_types) - assert all(token[1] is expected_token for token, expected_token in zip(tokens, expected_token_types)) + 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 @pytest.mark.parametrize( 'text', ( - '"', '\\', '/', 'b', 'f', 'n', 'r', 't', - 'u0123', 'u4567', 'u89ab', 'ucdef', 'uABCD', 'uEF01', + '"', '\\', '/', 'b', 'f', 'n', 'r', 't', + 'u0123', 'u4567', 'u89ab', 'ucdef', 'uABCD', 'uEF01', ) ) def test_json_object_key_escapes_positive_match(lexer_json, text): @@ -116,8 +113,8 @@ def test_json_object_key_escapes_positive_match(lexer_json, text): @pytest.mark.parametrize( 'text', ( - '"', '\\', '/', 'b', 'f', 'n', 'r', 't', - 'u0123', 'u4567', 'u89ab', 'ucdef', 'uABCD', 'uEF01', + '"', '\\', '/', 'b', 'f', 'n', 'r', 't', + 'u0123', 'u4567', 'u89ab', 'ucdef', 'uABCD', 'uEF01', ) ) def test_json_string_escapes_positive_match(lexer_json, text): @@ -203,79 +200,3 @@ def test_json_ld_keywords_negative_match(lexer_json_ld, keyword): assert len(tokens) == 6 assert tokens[1][1] is Token.Name.Tag assert tokens[1][2] == '"%s"' % keyword - - -def test_basic_json(lexer_json): - fragment = '{"foo": "bar", "foo2": [1, 2, 3], "\\u0123": "\\u0123"}\n' - tokens = [ - (Token.Punctuation, '{'), - (Token.Name.Tag, '"foo"'), - (Token.Punctuation, ':'), - (Token.Text, ' '), - (Token.Literal.String.Double, '"bar"'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Name.Tag, '"foo2"'), - (Token.Punctuation, ':'), - (Token.Text, ' '), - (Token.Punctuation, '['), - (Token.Literal.Number.Integer, '1'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '2'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '3'), - (Token.Punctuation, '],'), - (Token.Text, ' '), - (Token.Name.Tag, '"\\u0123"'), - (Token.Punctuation, ':'), - (Token.Text, ' '), - (Token.Literal.String.Double, '"\\u0123"'), - (Token.Punctuation, '}'), - (Token.Text, '\n'), - ] - assert list(lexer_json.get_tokens(fragment)) == tokens - - -def test_basic_bare(lexer_bare): - # This is the same as testBasic for JsonLexer above, except the - # enclosing curly braces are removed. - fragment = '"foo": "bar", "foo2": [1, 2, 3]\n' - tokens = [ - (Token.Name.Tag, '"foo"'), - (Token.Punctuation, ':'), - (Token.Text, ' '), - (Token.Literal.String.Double, '"bar"'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Name.Tag, '"foo2"'), - (Token.Punctuation, ':'), - (Token.Text, ' '), - (Token.Punctuation, '['), - (Token.Literal.Number.Integer, '1'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '2'), - (Token.Punctuation, ','), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '3'), - (Token.Punctuation, ']'), - (Token.Text, '\n'), - ] - assert list(lexer_bare.get_tokens(fragment)) == tokens - - -def test_yaml(lexer_yaml): - # Bug #1528: This previously parsed 'token # innocent' as a tag - fragment = 'here: token # innocent: comment\n' - tokens = [ - (Token.Name.Tag, 'here'), - (Token.Punctuation, ':'), - (Token.Text, ' '), - (Token.Literal.Scalar.Plain, 'token'), - (Token.Text, ' '), - (Token.Comment.Single, '# innocent: comment'), - (Token.Text, '\n'), - ] - assert list(lexer_yaml.get_tokens(fragment)) == tokens diff --git a/tests/test_examplefiles.py b/tests/test_examplefiles.py deleted file mode 100644 index 102c154..0000000 --- a/tests/test_examplefiles.py +++ /dev/null @@ -1,131 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Pygments tests with example files - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import os -import pprint -import difflib -import pickle - -import pytest - -from pygments.lexers import get_lexer_for_filename, get_lexer_by_name -from pygments.token import Error -from pygments.util import ClassNotFound - -# You can set this to True to store the exact token type output of example -# files in tests/examplefiles/output, and on the next run the test will -# want them to stay the same. In the repository, this should stay False. -STORE_OUTPUT = False - -STATS = {} - -TESTDIR = os.path.dirname(__file__) - - -def get_example_files(): - STATS.clear() - outdir = os.path.join(TESTDIR, 'examplefiles', 'output') - if STORE_OUTPUT and not os.path.isdir(outdir): - os.makedirs(outdir) - for fn in os.listdir(os.path.join(TESTDIR, 'examplefiles')): - if fn.startswith('.') or fn.endswith('#'): - continue - - absfn = os.path.join(TESTDIR, 'examplefiles', fn) - if not os.path.isfile(absfn): - continue - - extension = os.getenv('TEST_EXT') - if extension and not absfn.endswith(extension): - continue - - yield fn - - -@pytest.mark.parametrize('filename', get_example_files()) -def test_examplefile(filename): - absfn = os.path.join(TESTDIR, 'examplefiles', filename) - with open(absfn, 'rb') as f: - text = f.read() - try: - utext = text.decode('utf-8') - except UnicodeError: - utext = text.decode('latin1') - - lx = None - if '_' in filename: - try: - lx = get_lexer_by_name(filename.split('_')[0]) - except ClassNotFound: - pass - if lx is None: - try: - lx = get_lexer_for_filename(absfn, code=utext) - except ClassNotFound: - raise AssertionError('file %r has no registered extension, ' - 'nor is of the form _filename ' - 'for overriding, thus no lexer found.' - % filename) - - text = text.replace(b'\r\n', b'\n') - text = text.strip(b'\n') + b'\n' - try: - text = text.decode('utf-8') - if text.startswith('\ufeff'): - text = text[len('\ufeff'):] - except UnicodeError: - text = text.decode('latin1') - ntext = [] - tokens = [] - import time - t1 = time.time() - for type, val in lx.get_tokens(text): - ntext.append(val) - assert type != Error, \ - 'lexer %s generated error token for %s: %r at position %d' % \ - (lx, absfn, val, len(''.join(ntext))) - tokens.append((type, val)) - t2 = time.time() - STATS[os.path.basename(absfn)] = \ - (len(text), 1000 * (t2 - t1), 1000 * (t2 - t1) / len(text)) - if ''.join(ntext) != text: - print('\n'.join(difflib.unified_diff(''.join(ntext).splitlines(), - text.splitlines()))) - raise AssertionError('round trip failed for ' + absfn) - - # check output against previous run if enabled - if STORE_OUTPUT: - # no previous output -- store it - outfn = os.path.join(TESTDIR, 'examplefiles', 'output', filename) - if not os.path.isfile(outfn): - with open(outfn, 'wb') as fp: - pickle.dump(tokens, fp) - return - # otherwise load it and compare - with open(outfn, 'rb') as fp: - stored_tokens = pickle.load(fp) - if stored_tokens != tokens: - f1 = pprint.pformat(stored_tokens) - f2 = pprint.pformat(tokens) - print('\n'.join(difflib.unified_diff(f1.splitlines(), - f2.splitlines()))) - assert False, absfn - - -def teardown_module(): - N = 7 - stats = list(STATS.items()) - stats.sort(key=lambda x: x[1][1]) - print('\nExample files that took longest absolute time:') - for fn, t in stats[-N:]: - print('%-30s %6d chars %8.2f ms %7.3f ms/char' % ((fn,) + t)) - stats.sort(key=lambda x: x[1][2]) - print('\nExample files that took longest relative time:') - for fn, t in stats[-N:]: - print('%-30s %6d chars %8.2f ms %7.3f ms/char' % ((fn,) + t)) diff --git a/tests/test_ezhil.py b/tests/test_ezhil.py deleted file mode 100644 index beca4c6..0000000 --- a/tests/test_ezhil.py +++ /dev/null @@ -1,177 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Basic EzhilLexer Test - ~~~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2015 Muthiah Annamalai - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.token import Operator, Number, Text, Token -from pygments.lexers import EzhilLexer - - -@pytest.fixture(scope='module') -def lexer(): - yield EzhilLexer() - - -def test_sum(lexer): - fragment = '1+3\n' - tokens = [ - (Number.Integer, '1'), - (Operator, '+'), - (Number.Integer, '3'), - (Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_gcd_expr(lexer): - fragment = '1^3+(5-5)*gcd(a,b)\n' - tokens = [ - (Token.Number.Integer, '1'), - (Token.Operator, '^'), - (Token.Literal.Number.Integer, '3'), - (Token.Operator, '+'), - (Token.Punctuation, '('), - (Token.Literal.Number.Integer, '5'), - (Token.Operator, '-'), - (Token.Literal.Number.Integer, '5'), - (Token.Punctuation, ')'), - (Token.Operator, '*'), - (Token.Name, 'gcd'), - (Token.Punctuation, '('), - (Token.Name, 'a'), - (Token.Operator, ','), - (Token.Name, 'b'), - (Token.Punctuation, ')'), - (Token.Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_if_statement(lexer): - fragment = """@( 0 > 3 ) ஆனால் - பதிப்பி "wont print" -முடி""" - tokens = [ - (Token.Operator, '@'), - (Token.Punctuation, '('), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '0'), - (Token.Text, ' '), - (Token.Operator, '>'), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '3'), - (Token.Text, ' '), - (Token.Punctuation, ')'), - (Token.Text, ' '), - (Token.Keyword, 'ஆனால்'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'பதிப்பி'), - (Token.Text, ' '), - (Token.Literal.String, '"wont print"'), - (Token.Text, '\n'), - (Token.Keyword, 'முடி'), - (Token.Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_function(lexer): - fragment = """# (C) முத்தையா அண்ணாமலை 2013, 2015 -நிரல்பாகம் gcd ( x, y ) -மு = max(x,y) - q = min(x,y) - -@( q == 0 ) ஆனால் - பின்கொடு மு -முடி -பின்கொடு gcd( மு - q , q ) -முடி\n""" - tokens = [ - (Token.Comment.Single, - '# (C) \u0bae\u0bc1\u0ba4\u0bcd\u0ba4\u0bc8\u0baf\u0bbe \u0b85' - '\u0ba3\u0bcd\u0ba3\u0bbe\u0bae\u0bb2\u0bc8 2013, 2015\n'), - (Token.Keyword, 'நிரல்பாகம்'), - (Token.Text, ' '), - (Token.Name, 'gcd'), - (Token.Text, ' '), - (Token.Punctuation, '('), - (Token.Text, ' '), - (Token.Name, 'x'), - (Token.Operator, ','), - (Token.Text, ' '), - (Token.Name, 'y'), - (Token.Text, ' '), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Name, '\u0bae\u0bc1'), - (Token.Text, ' '), - (Token.Operator, '='), - (Token.Text, ' '), - (Token.Name.Builtin, 'max'), - (Token.Punctuation, '('), - (Token.Name, 'x'), - (Token.Operator, ','), - (Token.Name, 'y'), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Name, 'q'), - (Token.Text, ' '), - (Token.Operator, '='), - (Token.Text, ' '), - (Token.Name.Builtin, 'min'), - (Token.Punctuation, '('), - (Token.Name, 'x'), - (Token.Operator, ','), - (Token.Name, 'y'), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Text, '\n'), - (Token.Operator, '@'), - (Token.Punctuation, '('), - (Token.Text, ' '), - (Token.Name, 'q'), - (Token.Text, ' '), - (Token.Operator, '=='), - (Token.Text, ' '), - (Token.Literal.Number.Integer, '0'), - (Token.Text, ' '), - (Token.Punctuation, ')'), - (Token.Text, ' '), - (Token.Keyword, 'ஆனால்'), - (Token.Text, '\n'), - (Token.Text, ' '), - (Token.Keyword, 'பின்கொடு'), - (Token.Text, ' '), - (Token.Name, '\u0bae\u0bc1'), - (Token.Text, '\n'), - (Token.Keyword, 'முடி'), - (Token.Text, '\n'), - (Token.Keyword, '\u0baa\u0bbf\u0ba9\u0bcd\u0b95\u0bca\u0b9f\u0bc1'), - (Token.Text, ' '), - (Token.Name, 'gcd'), - (Token.Punctuation, '('), - (Token.Text, ' '), - (Token.Name, '\u0bae\u0bc1'), - (Token.Text, ' '), - (Token.Operator, '-'), - (Token.Text, ' '), - (Token.Name, 'q'), - (Token.Text, ' '), - (Token.Operator, ','), - (Token.Text, ' '), - (Token.Name, 'q'), - (Token.Text, ' '), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - (Token.Keyword, 'முடி'), # '\u0bae\u0bc1\u0b9f\u0bbf'), - (Token.Text, '\n') - ] - assert list(lexer.get_tokens(fragment)) == tokens diff --git a/tests/test_gdscript.py b/tests/test_gdscript.py deleted file mode 100644 index d52d8ff..0000000 --- a/tests/test_gdscript.py +++ /dev/null @@ -1,167 +0,0 @@ -# -*- coding: utf-8 -*- -""" - GDScript Tests - ~~~~~~~~~~~~~~ - - :copyright: Copyright 2020 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.lexers import GDScriptLexer -from pygments.token import Token - - -@pytest.fixture(scope="module") -def lexer(): - yield GDScriptLexer() - - -def test_variable_declaration_and_assigment(lexer): - fragment = "var abc = 5.4" - tokens = [ - (Token.Keyword, "var"), - (Token.Text, " "), - (Token.Name, "abc"), - (Token.Text, " "), - (Token.Operator, "="), - (Token.Text, " "), - (Token.Number.Float, "5.4"), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_simple_function(lexer): - fragment = "func abc(arg):\n\tprint(\"Hello, World!\")" - tokens = [ - (Token.Keyword, "func"), - (Token.Text, " "), - (Token.Name, "abc"), - (Token.Punctuation, "("), - (Token.Name, "arg"), - (Token.Punctuation, ")"), - (Token.Punctuation, ":"), - (Token.Text, "\n"), - (Token.Text, "\t"), - (Token.Name.Builtin, "print"), - (Token.Punctuation, "("), - (Token.Literal.String.Double, "\""), - (Token.Literal.String.Double, "Hello, World!"), - (Token.Literal.String.Double, "\""), - (Token.Punctuation, ")"), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_function_with_types(lexer): - fragment = "func abc(arg: String) -> void:\n\tprint(\"Hello\", arg)" - tokens = [ - (Token.Keyword, "func"), - (Token.Text, " "), - (Token.Name, "abc"), - (Token.Punctuation, "("), - (Token.Name, "arg"), - (Token.Punctuation, ":"), - (Token.Text, " "), - (Token.Name.Builtin.Type, "String"), - (Token.Punctuation, ")"), - (Token.Text, " "), - (Token.Operator, "-"), - (Token.Operator, ">"), - (Token.Text, " "), - (Token.Name, "void"), - (Token.Punctuation, ":"), - (Token.Text, "\n"), - (Token.Text, "\t"), - (Token.Name.Builtin, "print"), - (Token.Punctuation, "("), - (Token.Literal.String.Double, "\""), - (Token.Literal.String.Double, "Hello"), - (Token.Literal.String.Double, "\""), - (Token.Punctuation, ","), - (Token.Text, " "), - (Token.Name, "arg"), - (Token.Punctuation, ")"), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_signal(lexer): - fragment = "signal sig (arg1, arg2)" - tokens = [ - (Token.Keyword, "signal"), - (Token.Text, " "), - (Token.Name, "sig"), - (Token.Text, " "), - (Token.Punctuation, "("), - (Token.Name, "arg1"), - (Token.Punctuation, ","), - (Token.Text, " "), - (Token.Name, "arg2"), - (Token.Punctuation, ")"), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_export_array(lexer): - fragment = "export (Array, AudioStream) var streams" - tokens = [ - (Token.Keyword, "export"), - (Token.Text, " "), - (Token.Punctuation, "("), - (Token.Name.Builtin.Type, "Array"), - (Token.Punctuation, ","), - (Token.Text, " "), - (Token.Name, "AudioStream"), - (Token.Punctuation, ")"), - (Token.Text, " "), - (Token.Keyword, "var"), - (Token.Text, " "), - (Token.Name, "streams"), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_inner_class(lexer): - fragment = "class InnerClass:\n\tvar a = 5" - tokens = [ - (Token.Keyword, "class"), - (Token.Text, " "), - (Token.Name, "InnerClass"), - (Token.Punctuation, ":"), - (Token.Text, "\n"), - (Token.Text, "\t"), - (Token.Keyword, "var"), - (Token.Text, " "), - (Token.Name, "a"), - (Token.Text, " "), - (Token.Operator, "="), - (Token.Text, " "), - (Token.Literal.Number.Integer, "5"), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_comment(lexer): - fragment = "# Comment" - tokens = [ - (Token.Comment.Single, "# Comment"), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens - - -def test_multiline_string(lexer): - fragment = '"""\nMultiline\n"""' - tokens = [ - (Token.Literal.String.Doc, '"""\nMultiline\n"""'), - (Token.Text, "\n"), - ] - assert list(lexer.get_tokens(fragment)) == tokens diff --git a/tests/test_grammar_notation.py b/tests/test_grammar_notation.py deleted file mode 100644 index 1ac35f5..0000000 --- a/tests/test_grammar_notation.py +++ /dev/null @@ -1,94 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Basic Grammar Notation Tests - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.token import Token -from pygments.lexers import PegLexer - - -@pytest.fixture(scope='module') -def lexer_peg(): - yield PegLexer() - - -def test_peg_basic(lexer_peg): - fragment = 'rule<-("terminal"/nonterminal/[cls])*\n' - tokens = [ - (Token.Name.Class, 'rule'), - (Token.Operator, '<-'), - (Token.Punctuation, '('), - (Token.String.Double, '"terminal"'), - (Token.Operator, '/'), - (Token.Name.Class, 'nonterminal'), - (Token.Operator, '/'), - (Token.Punctuation, '['), - (Token.String, 'cls'), - (Token.Punctuation, ']'), - (Token.Punctuation, ')'), - (Token.Operator, '*'), - (Token.Text, '\n'), - ] - assert list(lexer_peg.get_tokens(fragment)) == tokens - - -def test_peg_operators(lexer_peg): - # see for example: - # - https://github.com/gvanrossum/pegen - # - https://nim-lang.org/docs/pegs.html - fragment = "rule = 'a' | 'b'\n" - tokens = [ - (Token.Name.Class, 'rule'), - (Token.Text, ' '), - (Token.Operator, '='), - (Token.Text, ' '), - (Token.String.Single, "'a'"), - (Token.Text, ' '), - (Token.Operator, '|'), - (Token.Text, ' '), - (Token.String.Single, "'b'"), - (Token.Text, '\n'), - ] - assert list(lexer_peg.get_tokens(fragment)) == tokens - fragment = "rule: 'a' ~ 'b'\n" - tokens = [ - (Token.Name.Class, 'rule'), - (Token.Operator, ':'), - (Token.Text, ' '), - (Token.String.Single, "'a'"), - (Token.Text, ' '), - (Token.Operator, '~'), - (Token.Text, ' '), - (Token.String.Single, "'b'"), - (Token.Text, '\n'), - ] - assert list(lexer_peg.get_tokens(fragment)) == tokens - - -def test_peg_modified_strings(lexer_peg): - # see for example: - # - http://textx.github.io/Arpeggio/ - # - https://nim-lang.org/docs/pegs.html - # - https://github.com/erikrose/parsimonious - fragment = '~"regex" i"insensitive" "multimod"ilx ("not modified")\n' - tokens = [ - # can't handle parsimonious-style regex while ~ is a cut operator - (Token.Operator, '~'), - (Token.String.Double, '"regex"'), - (Token.Text, ' '), - (Token.String.Double, 'i"insensitive"'), - (Token.Text, ' '), - (Token.String.Double, '"multimod"ilx'), - (Token.Text, ' '), - (Token.Punctuation, '('), - (Token.String.Double, '"not modified"'), - (Token.Punctuation, ')'), - (Token.Text, '\n'), - ] - assert list(lexer_peg.get_tokens(fragment)) == tokens diff --git a/tests/test_guess.py b/tests/test_guess.py new file mode 100644 index 0000000..83a8a71 --- /dev/null +++ b/tests/test_guess.py @@ -0,0 +1,184 @@ +""" + Pygments basic API tests + ~~~~~~~~~~~~~~~~~~~~~~~~ + + :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from pathlib import Path + +import pytest + +from pygments.lexers import guess_lexer, get_lexer_by_name +from pygments.lexers.basic import CbmBasicV2Lexer +from pygments.lexers.ecl import ECLLexer + +TESTDIR = Path(__file__).resolve().parent + + +def get_input(lexer, filename): + return Path(TESTDIR, 'examplefiles', lexer, filename).read_text(encoding='utf-8') + + +@pytest.mark.skip(reason="This is identified as T-SQL") +def test_guess_lexer_fsharp(): + lx = guess_lexer(get_input('fsharp', 'Deflate.fs')) + assert lx.__class__.__name__ == 'FSharpLexer' + + +def test_guess_lexer_brainfuck(): + lx = guess_lexer('>>[-]<<[->>+<<]') + assert lx.__class__.__name__ == 'BrainfuckLexer' + + +def test_guess_lexer_singularity(): + lx = guess_lexer(get_input('singularity', 'Singularity')) + assert lx.__class__.__name__ == 'SingularityLexer' + + +@pytest.mark.skip(reason="This is identified as MIME") +def test_guess_lexer_matlab(): + lx = guess_lexer(r'A \ B') + assert lx.__class__.__name__ == 'OctaveLexer' + + +@pytest.mark.skip(reason="This is identified as Python") +def test_guess_lexer_hybris(): + lx = guess_lexer(get_input('hybris', 'hybris_File.hy')) + assert lx.__class__.__name__ == 'HybrisLexer' + + +def test_guess_lexer_forth(): + lx = guess_lexer(get_input('forth', 'demo.frt')) + assert lx.__class__.__name__ == 'ForthLexer' + + +def test_guess_lexer_modula2(): + lx = guess_lexer(get_input('modula2', 'modula2_test_cases.def')) + assert lx.__class__.__name__ == 'Modula2Lexer' + + +def test_guess_lexer_unicon(): + lx = guess_lexer(get_input('unicon', 'example.icn')) + assert lx.__class__.__name__ == 'UcodeLexer' + + +def test_guess_lexer_ezhil(): + lx = guess_lexer(get_input('ezhil', 'ezhil_primefactors.n')) + assert lx.__class__.__name__ == 'EzhilLexer' + + +def test_guess_lexer_gdscript(): + lx = guess_lexer(get_input('gdscript', 'gdscript_example.gd')) + assert lx.__class__.__name__ == 'GDScriptLexer' + + +def test_guess_lexer_gap(): + lx = guess_lexer(get_input('gap', 'example.gd')) + assert lx.__class__.__name__ == 'GAPLexer' + lx = guess_lexer(get_input('gap', 'example.gi')) + assert lx.__class__.__name__ == 'GAPLexer' + + +def test_guess_lexer_easytrieve(): + lx = guess_lexer(get_input('easytrieve', 'example.ezt')) + assert lx.__class__.__name__ == 'EasytrieveLexer' + lx = guess_lexer(get_input('easytrieve', 'example.mac')) + assert lx.__class__.__name__ == 'EasytrieveLexer' + + +def test_guess_lexer_jcl(): + lx = guess_lexer(get_input('jcl', 'example.jcl')) + assert lx.__class__.__name__ == 'JclLexer' + + +def test_guess_lexer_rexx(): + lx = guess_lexer(get_input('rexx', 'example.rexx')) + assert lx.__class__.__name__ == 'RexxLexer' + + +def test_easytrieve_can_guess_from_text(): + lx = get_lexer_by_name('easytrieve') + assert lx.analyse_text('MACRO') + assert lx.analyse_text('\nMACRO') + assert lx.analyse_text(' \nMACRO') + assert lx.analyse_text(' \n MACRO') + assert lx.analyse_text('*\nMACRO') + assert lx.analyse_text('*\n *\n\n \n*\n MACRO') + + +def test_rexx_can_guess_from_text(): + lx = get_lexer_by_name('rexx') + assert lx.analyse_text('/* */') == pytest.approx(0.01) + assert lx.analyse_text('''/* Rexx */ + say "hello world"''') == pytest.approx(1.0) + val = lx.analyse_text('/* */\n' + 'hello:pRoceduRe\n' + ' say "hello world"') + assert val > 0.5 + val = lx.analyse_text('''/* */ + if 1 > 0 then do + say "ok" + end + else do + say "huh?" + end''') + assert val > 0.2 + val = lx.analyse_text('''/* */ + greeting = "hello world!" + parse value greeting "hello" name "!" + say name''') + assert val > 0.2 + + +def test_guess_cmake_lexer_from_header(): + headers = [ + "CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)", + "cmake_minimum_required(version 3.13) # CMake version check", + " CMAKE_MINIMUM_REQUIRED\t( VERSION 2.6 FATAL_ERROR ) ", + ] + for header in headers: + code = '\n'.join([ + header, + 'project(example)', + 'set(CMAKE_CXX_STANDARD 14)', + 'set(SOURCE_FILES main.cpp)', + 'add_executable(example ${SOURCE_FILES})', + ]) + lexer = guess_lexer(code) + assert lexer.__class__.__name__ == 'CMakeLexer', \ + "header must be detected as CMake: %r" % header + + +def test_guess_c_lexer(): + code = ''' + #include + #include + + int main(void); + + int main(void) { + uint8_t x = 42; + uint8_t y = x + 1; + + /* exit 1 for success! */ + return 1; + } + ''' + lexer = guess_lexer(code) + assert lexer.__class__.__name__ == 'CLexer' + + +def test_cbmbasicv2_analyse_text(): + text = "10 PRINT \"PART 1\"" + res = CbmBasicV2Lexer.analyse_text(text) + assert res == 0.2 + + +def test_ecl_analyze_text(): + text = r""" + STRING ABC -> size32_t lenAbc, const char * abc; + """ + res = ECLLexer.analyse_text(text) + assert res == 0.01 diff --git a/tests/test_haskell.py b/tests/test_haskell.py deleted file mode 100644 index a9a15bb..0000000 --- a/tests/test_haskell.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Haskell Tests - ~~~~~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.lexers import HaskellLexer -from pygments.token import Token - - -@pytest.fixture(scope='module') -def lexer(): - yield HaskellLexer() - - -def test_promoted_names(lexer): - fragment = "'x ': '[]\n" - tokens = [ - (Token.Name, '\'x'), - (Token.Text, ' '), - (Token.Keyword.Type, '\':'), - (Token.Text, ' '), - (Token.Keyword.Type, '\'[]'), - (Token.Text, '\n'), - ] - assert list(lexer.get_tokens(fragment)) == tokens diff --git a/tests/test_hdl.py b/tests/test_hdl.py deleted file mode 100644 index cad3f34..0000000 --- a/tests/test_hdl.py +++ /dev/null @@ -1,687 +0,0 @@ -# -*- coding: utf-8 -*- -""" - HDL Tests - ~~~~~~~~~ - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import pytest - -from pygments.lexers import SystemVerilogLexer -from pygments.token import (Comment, Keyword, Name, Number, Operator, - Punctuation, Text) - - -@pytest.fixture(scope='module') -def lexer(): - yield SystemVerilogLexer() - - -SYSTEMVERILOG_BASIC_TEXT = """\ -// Adder flops the sum of its inputs -module Adder #( - parameter int N = 42 -) ( - output logic [N-1:0] y, - output logic co, - - input logic [N-1:0] a, - input logic [N-1:0] b, - input logic ci, - - input logic clk -); - always_ff @(posedge clk) begin - {co, y} <= a + b + ci; - end -endmodule : Adder -""" - -SYSTEMVERILOG_BASIC_TOKENS = [ - (Comment.Single, '// Adder flops the sum of its inputs\n'), - (Keyword, 'module'), - (Text, ' '), - (Name, 'Adder'), - (Text, ' '), - (Punctuation, '#'), - (Punctuation, '('), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'parameter'), - (Text, ' '), - (Keyword.Type, 'int'), - (Text, ' '), - (Name, 'N'), - (Text, ' '), - (Operator, '='), - (Text, ' '), - (Number.Integer, '42'), - (Text, '\n'), - - (Punctuation, ')'), - (Text, ' '), - (Punctuation, '('), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'output'), - (Text, ' '), - (Keyword.Type, 'logic'), - (Text, ' '), - (Punctuation, '['), - (Name, 'N'), - (Operator, '-'), - (Number.Integer, '1'), - (Operator, ':'), - (Number.Integer, '0'), - (Punctuation, ']'), - (Text, ' '), - (Name, 'y'), - (Punctuation, ','), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'output'), - (Text, ' '), - (Keyword.Type, 'logic'), - (Text, ' '), - (Name, 'co'), - (Punctuation, ','), - (Text, '\n'), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'input'), - (Text, ' '), - (Keyword.Type, 'logic'), - (Text, ' '), - (Punctuation, '['), - (Name, 'N'), - (Operator, '-'), - (Number.Integer, '1'), - (Operator, ':'), - (Number.Integer, '0'), - (Punctuation, ']'), - (Text, ' '), - (Name, 'a'), - (Punctuation, ','), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'input'), - (Text, ' '), - (Keyword.Type, 'logic'), - (Text, ' '), - (Punctuation, '['), - (Name, 'N'), - (Operator, '-'), - (Number.Integer, '1'), - (Operator, ':'), - (Number.Integer, '0'), - (Punctuation, ']'), - (Text, ' '), - (Name, 'b'), - (Punctuation, ','), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'input'), - (Text, ' '), - (Keyword.Type, 'logic'), - (Text, ' '), - (Name, 'ci'), - (Punctuation, ','), - (Text, '\n'), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'input'), - (Text, ' '), - (Keyword.Type, 'logic'), - (Text, ' '), - (Name, 'clk'), - (Text, '\n'), - - (Punctuation, ')'), - (Punctuation, ';'), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'always_ff'), - (Text, ' '), - (Punctuation, '@'), - (Punctuation, '('), - (Keyword, 'posedge'), - (Text, ' '), - (Name, 'clk'), - (Punctuation, ')'), - (Text, ' '), - (Keyword, 'begin'), - (Text, '\n'), - - (Text, ' '), - (Punctuation, '{'), - (Name, 'co'), - (Punctuation, ','), - (Text, ' '), - (Name, 'y'), - (Punctuation, '}'), - (Text, ' '), - (Operator, '<'), - (Operator, '='), - (Text, ' '), - (Name, 'a'), - (Text, ' '), - (Operator, '+'), - (Text, ' '), - (Name, 'b'), - (Text, ' '), - (Operator, '+'), - (Text, ' '), - (Name, 'ci'), - (Punctuation, ';'), - (Text, '\n'), - - (Text, ' '), - (Keyword, 'end'), - (Text, '\n'), - - (Keyword, 'endmodule'), - (Text, ' '), - (Operator, ':'), - (Text, ' '), - (Name, 'Adder'), - (Text, '\n'), -] - -def test_systemverilog_basic(lexer): - """A basic SystemVerilog test. - - Examine tokens emitted by the SV lexer for a trivial module. - Not intended to stress any particular corner of the language. - """ - tokens = list(lexer.get_tokens(SYSTEMVERILOG_BASIC_TEXT)) - assert tokens == SYSTEMVERILOG_BASIC_TOKENS - - -# Believe it or not, SystemVerilog supports spaces before and after the base -# specifier (ie 'b, 'd, 'h). See IEEE 1800-2017 Section 5.7.1 for examples. -SYSTEMVERILOG_NUMBERS_TEXT = """ -8'b10101010 -8 'b10101010 -8'b 10101010 -8'sb10101010 -8'Sb10101010 -8'B10101010 -8'b1010_1010 -8'b10xXzZ?10 - -24'o01234567 -24 'o01234567 -24'o 01234567 -24'so01234567 -24'So01234567 -24'O01234567 -24'o0123_4567 -24'o01xXzZ?7 - -32'd27182818 -32 'd27182818 -32'd 27182818 -32'sd27182818 -32'Sd27182818 -32'D27182818 -32'd2718_2818 -32'd27xXzZ?8 - -32'hdeadbeef -32 'hdeadbeef -32'h deadbeef -32'shdeadbeef -32'Shdeadbeef -32'Hdeadbeef -32'hdead_beef -32'hdexXzZ?f - -'0 '1 'x 'X 'z 'Z - -42 1234_5678 -""" - -SYSTEMVERILOG_NUMBERS_TOKENS = [ - (Number.Bin, "8'b10101010"), - (Text, '\n'), - (Number.Bin, "8 'b10101010"), - (Text, '\n'), - (Number.Bin, "8'b 10101010"), - (Text, '\n'), - (Number.Bin, "8'sb10101010"), - (Text, '\n'), - (Number.Bin, "8'Sb10101010"), - (Text, '\n'), - (Number.Bin, "8'B10101010"), - (Text, '\n'), - (Number.Bin, "8'b1010_1010"), - (Text, '\n'), - (Number.Bin, "8'b10xXzZ?10"), - (Text, '\n'), - (Text, '\n'), - (Number.Oct, "24'o01234567"), - (Text, '\n'), - (Number.Oct, "24 'o01234567"), - (Text, '\n'), - (Number.Oct, "24'o 01234567"), - (Text, '\n'), - (Number.Oct, "24'so01234567"), - (Text, '\n'), - (Number.Oct, "24'So01234567"), - (Text, '\n'), - (Number.Oct, "24'O01234567"), - (Text, '\n'), - (Number.Oct, "24'o0123_4567"), - (Text, '\n'), - (Number.Oct, "24'o01xXzZ?7"), - (Text, '\n'), - (Text, '\n'), - (Number.Integer, "32'd27182818"), - (Text, '\n'), - (Number.Integer, "32 'd27182818"), - (Text, '\n'), - (Number.Integer, "32'd 27182818"), - (Text, '\n'), - (Number.Integer, "32'sd27182818"), - (Text, '\n'), - (Number.Integer, "32'Sd27182818"), - (Text, '\n'), - (Number.Integer, "32'D27182818"), - (Text, '\n'), - (Number.Integer, "32'd2718_2818"), - (Text, '\n'), - (Number.Integer, "32'd27xXzZ?8"), - (Text, '\n'), - (Text, '\n'), - (Number.Hex, "32'hdeadbeef"), - (Text, '\n'), - (Number.Hex, "32 'hdeadbeef"), - (Text, '\n'), - (Number.Hex, "32'h deadbeef"), - (Text, '\n'), - (Number.Hex, "32'shdeadbeef"), - (Text, '\n'), - (Number.Hex, "32'Shdeadbeef"), - (Text, '\n'), - (Number.Hex, "32'Hdeadbeef"), - (Text, '\n'), - (Number.Hex, "32'hdead_beef"), - (Text, '\n'), - (Number.Hex, "32'hdexXzZ?f"), - (Text, '\n'), - (Text, '\n'), - (Number, "'0"), - (Text, ' '), - (Number, "'1"), - (Text, ' '), - (Number, "'x"), - (Text, ' '), - (Number, "'X"), - (Text, ' '), - (Number, "'z"), - (Text, ' '), - (Number, "'Z"), - (Text, '\n'), - (Text, '\n'), - (Number.Integer, '42'), - (Text, ' '), - (Number.Integer, '1234_5678'), - (Text, '\n'), -] - -def test_systemverilog_numbers(lexer): - """Test most types of numbers""" - tokens = list(lexer.get_tokens(SYSTEMVERILOG_NUMBERS_TEXT)) - assert tokens == SYSTEMVERILOG_NUMBERS_TOKENS - - -# See 1800-2017 Table 11-2: Operator Precedence and Associativity -# Note that the duplicates (unary/binary) have been removed, -# ie '+', '-', '&', '|', '^', '~^', '^~' -SYSTEMVERILOG_OPERATORS_TEXT = """ -() [] :: . -+ - ! ~ & ~& | ~| ^ ~^ ^~ ++ -- -** -* / % -<< >> <<< >>> -< <= > >= inside dist -== != === !== ==? !=? -&& -|| -?: --> <-> -= += -= *= /= %= &= ^= |= <<= >>= <<<= >>>= := :/ <= -{} {{}} -""" - -# Note: This is a inconsistent mix of operator and punctuation -SYSTEMVERILOG_OPERATORS_TOKENS = [ - (Punctuation, '('), - (Punctuation, ')'), - (Text, ' '), - (Punctuation, '['), - (Punctuation, ']'), - (Text, ' '), - # Note: This should be '::' - (Operator, ':'), - (Operator, ':'), - (Text, ' '), - (Punctuation, '.'), - (Text, '\n'), - (Operator, '+'), - (Text, ' '), - (Operator, '-'), - (Text, ' '), - (Operator, '!'), - (Text, ' '), - (Operator, '~'), - (Text, ' '), - (Operator, '&'), - (Text, ' '), - # Note: This should be '~&' - (Operator, '~'), - (Operator, '&'), - (Text, ' '), - (Operator, '|'), - (Text, ' '), - # Note: This should be '~|' - (Operator, '~'), - (Operator, '|'), - (Text, ' '), - (Operator, '^'), - (Text, ' '), - # Note: This should be '~^' - (Operator, '~'), - (Operator, '^'), - (Text, ' '), - # Note: This should be '^~' - (Operator, '^'), - (Operator, '~'), - (Text, ' '), - # Note: This should be '++' - (Operator, '+'), - (Operator, '+'), - (Text, ' '), - # Note: This should be '--' - (Operator, '-'), - (Operator, '-'), - (Text, '\n'), - # Note: This should be '**' - (Operator, '*'), - (Operator, '*'), - (Text, '\n'), - (Operator, '*'), - (Text, ' '), - (Operator, '/'), - (Text, ' '), - (Operator, '%'), - (Text, '\n'), - # Note: This should be '<<' - (Operator, '<'), - (Operator, '<'), - (Text, ' '), - # Note: This should be '>>' - (Operator, '>'), - (Operator, '>'), - (Text, ' '), - # Note: This should be '<<<' - (Operator, '<'), - (Operator, '<'), - (Operator, '<'), - (Text, ' '), - # Note: This should be '>>>' - (Operator, '>'), - (Operator, '>'), - (Operator, '>'), - (Text, '\n'), - (Operator, '<'), - (Text, ' '), - # Note: This should be '<=' - (Operator, '<'), - (Operator, '='), - (Text, ' '), - (Operator, '>'), - (Text, ' '), - # Note: This should be '>=' - (Operator, '>'), - (Operator, '='), - (Text, ' '), - (Operator.Word, 'inside'), - (Text, ' '), - (Operator.Word, 'dist'), - (Text, '\n'), - # Note: This should be '==' - (Operator, '='), - (Operator, '='), - (Text, ' '), - # Note: This should be '!=' - (Operator, '!'), - (Operator, '='), - (Text, ' '), - # Note: This should be '===' - (Operator, '='), - (Operator, '='), - (Operator, '='), - (Text, ' '), - # Note: This should be '!==' - (Operator, '!'), - (Operator, '='), - (Operator, '='), - (Text, ' '), - # Note: This should be '==?' - (Operator, '='), - (Operator, '='), - (Operator, '?'), - (Text, ' '), - # Note: This should be '!=?' - (Operator, '!'), - (Operator, '='), - (Operator, '?'), - (Text, '\n'), - # Note: This should be '&&' - (Operator, '&'), - (Operator, '&'), - (Text, '\n'), - # Note: This should be '||' - (Operator, '|'), - (Operator, '|'), - (Text, '\n'), - (Operator, '?'), - (Operator, ':'), - (Text, '\n'), - # Note: This should be '->' - (Operator, '-'), - (Operator, '>'), - (Text, ' '), - # Note: This should be '<->' - (Operator, '<'), - (Operator, '-'), - (Operator, '>'), - (Text, '\n'), - (Operator, '='), - (Text, ' '), - # Note: This should be '+=' - (Operator, '+'), - (Operator, '='), - (Text, ' '), - # Note: This should be '-=' - (Operator, '-'), - (Operator, '='), - (Text, ' '), - # Note: This should be '*=' - (Operator, '*'), - (Operator, '='), - (Text, ' '), - # Note: This should be '/=' - (Operator, '/'), - (Operator, '='), - (Text, ' '), - # Note: This should be '%=' - (Operator, '%'), - (Operator, '='), - (Text, ' '), - # Note: This should be '&=' - (Operator, '&'), - (Operator, '='), - (Text, ' '), - # Note: This should be '^=' - (Operator, '^'), - (Operator, '='), - (Text, ' '), - # Note: This should be '|=' - (Operator, '|'), - (Operator, '='), - (Text, ' '), - # Note: This should be '<<=' - (Operator, '<'), - (Operator, '<'), - (Operator, '='), - (Text, ' '), - # Note: This should be '>>=' - (Operator, '>'), - (Operator, '>'), - (Operator, '='), - (Text, ' '), - # Note: This should be '<<<=' - (Operator, '<'), - (Operator, '<'), - (Operator, '<'), - (Operator, '='), - (Text, ' '), - # Note: This should be '>>>=' - (Operator, '>'), - (Operator, '>'), - (Operator, '>'), - (Operator, '='), - (Text, ' '), - # Note: This should be ':=' - (Operator, ':'), - (Operator, '='), - (Text, ' '), - # Note: This should be ':/' - (Operator, ':'), - (Operator, '/'), - (Text, ' '), - # Note: This should be '<=' - (Operator, '<'), - (Operator, '='), - (Text, '\n'), - (Punctuation, '{'), - (Punctuation, '}'), - (Text, ' '), - # Note: This should be '{{' - (Punctuation, '{'), - (Punctuation, '{'), - # Note: This should be '}}' - (Punctuation, '}'), - (Punctuation, '}'), - (Text, '\n'), -] - -def test_systemverilog_operators(lexer): - """Test various operators""" - tokens = list(lexer.get_tokens(SYSTEMVERILOG_OPERATORS_TEXT)) - assert tokens == SYSTEMVERILOG_OPERATORS_TOKENS - - -# Most of the interesting types of class declarations -SYSTEMVERILOG_CLASSES_TEXT = """ -class Foo; -endclass - -class Bar; -endclass : Bar - -class Fiz extends Buz; -endclass : Fiz - -class Free #(parameter type T = byte) extends Beer #(T); -endclass : Free -""" - -SYSTEMVERILOG_CLASSES_TOKENS = [ - (Keyword.Declaration, 'class'), - (Text, ' '), - (Name.Class, 'Foo'), - (Punctuation, ';'), - (Text, '\n'), - (Keyword.Declaration, 'endclass'), - (Text, '\n'), - (Text, '\n'), - (Keyword.Declaration, 'class'), - (Text, ' '), - (Name.Class, 'Bar'), - (Punctuation, ';'), - (Text, '\n'), - (Keyword.Declaration, 'endclass'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Name.Class, 'Bar'), - (Text, '\n'), - (Text, '\n'), - (Keyword.Declaration, 'class'), - (Text, ' '), - (Name.Class, 'Fiz'), - (Text, ' '), - (Keyword.Declaration, 'extends'), - (Text, ' '), - (Name.Class, 'Buz'), - (Punctuation, ';'), - (Text, '\n'), - (Keyword.Declaration, 'endclass'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Name.Class, 'Fiz'), - (Text, '\n'), - (Text, '\n'), - (Keyword.Declaration, 'class'), - (Text, ' '), - (Name.Class, 'Free'), - (Text, ' '), - (Punctuation, '#'), - (Punctuation, '('), - (Keyword, 'parameter'), - (Text, ' '), - (Keyword.Type, 'type'), - (Text, ' '), - (Name, 'T'), - (Text, ' '), - (Operator, '='), - (Text, ' '), - (Keyword.Type, 'byte'), - (Punctuation, ')'), - (Text, ' '), - (Keyword.Declaration, 'extends'), - (Text, ' '), - (Name.Class, 'Beer'), - (Text, ' '), - (Punctuation, '#'), - (Punctuation, '('), - (Name, 'T'), - (Punctuation, ')'), - (Punctuation, ';'), - (Text, '\n'), - (Keyword.Declaration, 'endclass'), - (Text, ' '), - (Punctuation, ':'), - (Text, ' '), - (Name.Class, 'Free'), - (Text, '\n'), -] - -def test_systemverilog_classes(lexer): - """Test class/extends/endclass group captures""" - tokens = list(lexer.get_tokens(SYSTEMVERILOG_CLASSES_TEXT)) - assert tokens == SYSTEMVERILOG_CLASSES_TOKENS diff --git a/tests/test_html_formatter.py b/tests/test_html_formatter.py index 5138a1c..5dd7173 100644 --- a/tests/test_html_formatter.py +++ b/tests/test_html_formatter.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ Pygments HTML formatter tests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -7,7 +6,6 @@ :license: BSD, see LICENSE for details. """ -import io import os import re import tempfile @@ -24,7 +22,7 @@ from pygments.style import Style TESTDIR = path.dirname(path.abspath(__file__)) TESTFILE = path.join(TESTDIR, 'test_html_formatter.py') -with io.open(TESTFILE, encoding='utf-8') as fp: +with open(TESTFILE, encoding='utf-8') as fp: tokensource = list(PythonLexer().get_tokens(fp.read())) @@ -54,7 +52,7 @@ def test_external_css(): try: fmt2.format(tokensource, tfile) assert path.isfile(path.join(TESTDIR, 'fmt2.css')) - except IOError: + except OSError: # test directory not writable pass tfile.close() @@ -149,12 +147,12 @@ def test_get_style_defs_contains_default_line_numbers_styles(): style_defs = HtmlFormatter().get_style_defs().splitlines() assert style_defs[1] == ( - 'td.linenos pre ' - '{ color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; }' + 'td.linenos .normal ' + '{ color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }' ) assert style_defs[2] == ( 'span.linenos ' - '{ color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; }' + '{ color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }' ) @@ -168,7 +166,7 @@ def test_get_style_defs_contains_style_specific_line_numbers_styles(): style_defs = HtmlFormatter(style=TestStyle).get_style_defs().splitlines() assert style_defs[1] == ( - 'td.linenos pre ' + 'td.linenos .normal ' '{ color: #ff0000; background-color: #0000ff; padding-left: 5px; padding-right: 5px; }' ) assert style_defs[2] == ( @@ -176,7 +174,7 @@ def test_get_style_defs_contains_style_specific_line_numbers_styles(): '{ color: #ff0000; background-color: #0000ff; padding-left: 5px; padding-right: 5px; }' ) assert style_defs[3] == ( - 'td.linenos pre.special ' + 'td.linenos .special ' '{ color: #00ff00; background-color: #ffffff; padding-left: 5px; padding-right: 5px; }' ) assert style_defs[4] == ( diff --git a/tests/test_html_lexer.py b/tests/test_html_lexer.py index 62f1c8d..0d4f082 100644 --- a/tests/test_html_lexer.py +++ b/tests/test_html_lexer.py @@ -1,9 +1,8 @@ -# -*- coding: utf-8 -*- """ HTML Lexer Tests ~~~~~~~~~~~~~~~~ - :copyright: Copyright 2020-2020 by the Pygments team, see AUTHORS. + :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ @@ -14,45 +13,45 @@ import pytest from pygments.lexers.html import HtmlLexer from pygments.token import Token +MAX_HL_TIME = 10 + + @pytest.fixture(scope='module') def lexer_html(): yield HtmlLexer() -def test_simple_html(lexer_html): - """ extremely basic happy-path case - - more tests are in test_examplefiles """ - - fragment = "\n\t\n\t\thello world\n\t\n" - tokens = list(lexer_html.get_tokens(fragment)) - assert all(x[1] != Token.Error for x in tokens) def test_happy_javascript_fragment(lexer_html): - """ valid, even long Javascript fragments should still get parsed ok """ + """valid, even long Javascript fragments should still get parsed ok""" fragment = "" start_time = time.time() tokens = list(lexer_html.get_tokens(fragment)) assert all(x[1] != Token.Error for x in tokens) - assert time.time() - start_time < 5, 'The HTML lexer might have an expensive happy-path script case' + assert time.time() - start_time < MAX_HL_TIME, \ + 'The HTML lexer might have an expensive happy-path script case' + def test_happy_css_fragment(lexer_html): - """ valid, even long CSS fragments should still get parsed ok """ + """valid, even long CSS fragments should still get parsed ok""" fragment = "" start_time = time.time() tokens = list(lexer_html.get_tokens(fragment)) assert all(x[1] != Token.Error for x in tokens) - assert time.time() - start_time < 5, 'The HTML lexer might have an expensive happy-path style case' + assert time.time() - start_time < MAX_HL_TIME, \ + 'The HTML lexer might have an expensive happy-path style case' + def test_long_unclosed_javascript_fragment(lexer_html): - """ unclosed, long Javascript fragments should parse quickly """ + """unclosed, long Javascript fragments should parse quickly""" reps = 2000 fragment = "