From 9a6b3a1c9c8a277b0bc3c918c0ab178eef9d9fe9 Mon Sep 17 00:00:00 2001
From: Maximiliano Curia
Date: Fri, 18 Nov 2016 15:02:09 +0000
Subject: [PATCH] Import ksyntax-highlighting_5.28.0.orig.tar.xz
[dgit import orig ksyntax-highlighting_5.28.0.orig.tar.xz]
---
.arcconfig | 3 +
.gitignore | 9 +
.kateconfig | 1 +
.krazy | 2 +
CMakeLists.txt | 87 +
COPYING.LIB | 510 ++
KF5SyntaxHighlightingConfig.cmake.in | 5 +
README.md | 32 +
add_license.sh | 31 +
autotests/CMakeLists.txt | 34 +
autotests/folding/Dockerfile.fold | 19 +
autotests/folding/Kconfig.fold | 15 +
autotests/folding/Makefile.fold | 25 +
autotests/folding/basic.markdown.fold | 6 +
autotests/folding/basic.xml.fold | 4 +
autotests/folding/complex.xml.fold | 13 +
autotests/folding/cube.obj.fold | 33 +
autotests/folding/cube.ply.fold | 26 +
autotests/folding/cube.stl.fold | 30 +
autotests/folding/example.rmd.fold | 39 +
autotests/folding/firstNonSpace.c.fold | 7 +
autotests/folding/folding.cpp.fold | 15 +
autotests/folding/git-rebase.fold | 32 +
autotests/folding/hello.exs.fold | 11 +
autotests/folding/highlight.ahdl.fold | 43 +
autotests/folding/highlight.asm-avr.fold | 75 +
autotests/folding/highlight.asm-nasm.fold | 27 +
autotests/folding/highlight.asp.fold | 58 +
autotests/folding/highlight.awk.fold | 28 +
autotests/folding/highlight.bib.fold | 31 +
autotests/folding/highlight.cmake.fold | 49 +
autotests/folding/highlight.css.fold | 49 +
autotests/folding/highlight.d.fold | 195 +
autotests/folding/highlight.do.fold | 89 +
autotests/folding/highlight.dox.fold | 227 +
autotests/folding/highlight.erl.fold | 68 +
autotests/folding/highlight.exu.fold | 97 +
autotests/folding/highlight.f90.fold | 181 +
autotests/folding/highlight.glsl.fold | 62 +
autotests/folding/highlight.hs.fold | 124 +
autotests/folding/highlight.js.fold | 134 +
autotests/folding/highlight.jsp.fold | 170 +
autotests/folding/highlight.lex.fold | 82 +
autotests/folding/highlight.lhs.fold | 124 +
autotests/folding/highlight.lisp.fold | 36 +
autotests/folding/highlight.ly.fold | 114 +
autotests/folding/highlight.m.fold | 61 +
autotests/folding/highlight.mac.fold | 145 +
autotests/folding/highlight.mup.fold | 103 +
autotests/folding/highlight.pb.fold | 87 +
autotests/folding/highlight.php.fold | 23 +
autotests/folding/highlight.pike.fold | 24 +
autotests/folding/highlight.pl.fold | 44 +
autotests/folding/highlight.pov.fold | 76 +
autotests/folding/highlight.prg.fold | 71 +
autotests/folding/highlight.qml.fold | 59 +
autotests/folding/highlight.rb.fold | 551 ++
autotests/folding/highlight.scheme.fold | 186 +
autotests/folding/highlight.sh.fold | 207 +
autotests/folding/highlight.spec.fold | 212 +
autotests/folding/highlight.t2t.fold | 90 +
autotests/folding/highlight.tcl.fold | 50 +
autotests/folding/highlight.tex.fold | 73 +
autotests/folding/highlight.wrl.fold | 41 +
autotests/folding/highlight.xml.fold | 67 +
autotests/folding/highlight.xsl.fold | 109 +
autotests/folding/highlight.y.fold | 54 +
autotests/folding/highlight_lpc.c.fold | 64 +
autotests/folding/highlight_ocaml.ml.fold | 105 +
autotests/folding/highlight_octave.m.fold | 74 +
autotests/folding/learnelixir.exs.fold | 397 +
autotests/folding/light52_muldiv.vhdl.fold | 239 +
autotests/folding/light52_tb.vhdl.fold | 180 +
autotests/folding/meson.build.fold | 21 +
autotests/folding/or1200_dc_fsm.v.fold | 563 ++
autotests/folding/or1200_du.v.fold | 1803 ++++
.../folding/preprocessor-bug363280.c.fold | 8 +
.../folding/preprocessor-bug363280.cpp.fold | 8 +
autotests/folding/review128925-1.css.fold | 112 +
autotests/folding/review128925-1.scss.fold | 211 +
autotests/folding/review128925-2.css.fold | 62 +
autotests/folding/review128925-2.scss.fold | 81 +
autotests/folding/review128935.html.fold | 164 +
autotests/folding/test.bash.fold | 6 +
autotests/folding/test.bb.fold | 34 +
autotests/folding/test.c.fold | 56 +
autotests/folding/test.cmake.fold | 31 +
autotests/folding/test.css.fold | 18 +
autotests/folding/test.desktop.fold | 19 +
autotests/folding/test.diff.fold | 48 +
autotests/folding/test.eml.fold | 94 +
autotests/folding/test.frag.fold | 26 +
autotests/folding/test.htm.fold | 17 +
autotests/folding/test.ijs.fold | 61 +
autotests/folding/test.js.fold | 8 +
autotests/folding/test.json.fold | 13 +
autotests/folding/test.markdown.fold | 39 +
autotests/folding/test.mss.fold | 215 +
autotests/folding/test.py.fold | 28 +
autotests/folding/test.qml.fold | 23 +
autotests/folding/test.sql.fold | 6 +
autotests/folding/test.tex.fold | 5 +
autotests/folding/test_syntax.sql.fold | 41 +
autotests/foldingtest.cpp | 186 +
autotests/highlighter_benchmark.cpp | 102 +
autotests/html/Dockerfile.html | 26 +
autotests/html/Kconfig.html | 22 +
autotests/html/Makefile.html | 32 +
autotests/html/basic.markdown.html | 13 +
autotests/html/basic.xml.html | 11 +
autotests/html/complex.xml.html | 20 +
autotests/html/cube.obj.html | 40 +
autotests/html/cube.ply.html | 33 +
autotests/html/cube.stl.html | 37 +
autotests/html/example.rmd.html | 46 +
autotests/html/firstNonSpace.c.html | 14 +
autotests/html/folding.cpp.html | 22 +
autotests/html/git-rebase.html | 39 +
autotests/html/hello.exs.html | 18 +
autotests/html/highlight.ahdl.html | 50 +
autotests/html/highlight.asm-avr.html | 82 +
autotests/html/highlight.asm-nasm.html | 34 +
autotests/html/highlight.asp.html | 65 +
autotests/html/highlight.awk.html | 35 +
autotests/html/highlight.bib.html | 38 +
autotests/html/highlight.cmake.html | 56 +
autotests/html/highlight.css.html | 56 +
autotests/html/highlight.d.html | 202 +
autotests/html/highlight.do.html | 96 +
autotests/html/highlight.dox.html | 234 +
autotests/html/highlight.erl.html | 75 +
autotests/html/highlight.exu.html | 104 +
autotests/html/highlight.f90.html | 188 +
autotests/html/highlight.glsl.html | 69 +
autotests/html/highlight.hs.html | 131 +
autotests/html/highlight.js.html | 141 +
autotests/html/highlight.jsp.html | 177 +
autotests/html/highlight.lex.html | 89 +
autotests/html/highlight.lhs.html | 131 +
autotests/html/highlight.lisp.html | 43 +
autotests/html/highlight.ly.html | 121 +
autotests/html/highlight.m.html | 68 +
autotests/html/highlight.mac.html | 152 +
autotests/html/highlight.mup.html | 110 +
autotests/html/highlight.pb.html | 94 +
autotests/html/highlight.php.html | 30 +
autotests/html/highlight.pike.html | 31 +
autotests/html/highlight.pl.html | 51 +
autotests/html/highlight.pov.html | 83 +
autotests/html/highlight.prg.html | 78 +
autotests/html/highlight.qml.html | 66 +
autotests/html/highlight.rb.html | 558 ++
autotests/html/highlight.scheme.html | 193 +
autotests/html/highlight.sh.html | 214 +
autotests/html/highlight.spec.html | 219 +
autotests/html/highlight.t2t.html | 97 +
autotests/html/highlight.tcl.html | 57 +
autotests/html/highlight.tex.html | 80 +
autotests/html/highlight.wrl.html | 48 +
autotests/html/highlight.xml.html | 74 +
autotests/html/highlight.xsl.html | 116 +
autotests/html/highlight.y.html | 61 +
autotests/html/highlight_lpc.c.html | 71 +
autotests/html/highlight_ocaml.ml.html | 112 +
autotests/html/highlight_octave.m.html | 81 +
autotests/html/learnelixir.exs.html | 404 +
autotests/html/light52_muldiv.vhdl.html | 246 +
autotests/html/light52_tb.vhdl.html | 187 +
autotests/html/meson.build.html | 28 +
autotests/html/or1200_dc_fsm.v.html | 570 ++
autotests/html/or1200_du.v.html | 1810 ++++
autotests/html/preprocessor-bug363280.c.html | 15 +
.../html/preprocessor-bug363280.cpp.html | 15 +
autotests/html/review128925-1.css.html | 119 +
autotests/html/review128925-1.scss.html | 218 +
autotests/html/review128925-2.css.html | 69 +
autotests/html/review128925-2.scss.html | 88 +
autotests/html/review128935.html.html | 171 +
autotests/html/test.bash.html | 13 +
autotests/html/test.bb.html | 41 +
autotests/html/test.c.html | 63 +
autotests/html/test.cmake.html | 38 +
autotests/html/test.css.html | 25 +
autotests/html/test.desktop.html | 26 +
autotests/html/test.diff.html | 55 +
autotests/html/test.eml.html | 101 +
autotests/html/test.frag.html | 33 +
autotests/html/test.htm.html | 24 +
autotests/html/test.ijs.html | 68 +
autotests/html/test.js.html | 15 +
autotests/html/test.json.html | 20 +
autotests/html/test.markdown.html | 46 +
autotests/html/test.mss.html | 222 +
autotests/html/test.py.html | 35 +
autotests/html/test.qml.html | 30 +
autotests/html/test.sql.html | 13 +
autotests/html/test.tex.html | 12 +
autotests/html/test_syntax.sql.html | 48 +
autotests/htmlhighlighter_test.cpp | 116 +
autotests/input/Dockerfile | 19 +
autotests/input/Kconfig | 15 +
autotests/input/Makefile | 25 +
autotests/input/basic.markdown | 6 +
autotests/input/basic.xml | 4 +
autotests/input/complex.xml | 13 +
autotests/input/cube.obj | 33 +
autotests/input/cube.ply | 26 +
autotests/input/cube.stl | 30 +
autotests/input/example.rmd | 39 +
autotests/input/firstNonSpace.c | 7 +
autotests/input/folding.cpp | 15 +
autotests/input/git-rebase | 32 +
autotests/input/git-rebase.syntax | 1 +
autotests/input/hello.exs | 11 +
autotests/input/highlight.ahdl | 43 +
autotests/input/highlight.asm-avr | 75 +
autotests/input/highlight.asm-nasm | 27 +
autotests/input/highlight.asm-nasm.syntax | 1 +
autotests/input/highlight.asp | 58 +
autotests/input/highlight.awk | 28 +
autotests/input/highlight.bib | 31 +
autotests/input/highlight.cmake | 49 +
autotests/input/highlight.css | 49 +
autotests/input/highlight.d | 195 +
autotests/input/highlight.do | 89 +
autotests/input/highlight.dox | 227 +
autotests/input/highlight.erl | 68 +
autotests/input/highlight.exu | 97 +
autotests/input/highlight.f90 | 181 +
autotests/input/highlight.glsl | 62 +
autotests/input/highlight.hs | 124 +
autotests/input/highlight.js | 134 +
autotests/input/highlight.jsp | 170 +
autotests/input/highlight.lex | 82 +
autotests/input/highlight.lhs | 124 +
autotests/input/highlight.lisp | 36 +
autotests/input/highlight.ly | 114 +
autotests/input/highlight.m | 61 +
autotests/input/highlight.m.syntax | 1 +
autotests/input/highlight.mac | 145 +
autotests/input/highlight.mup | 103 +
autotests/input/highlight.pb | 87 +
autotests/input/highlight.php | 23 +
autotests/input/highlight.pike | 24 +
autotests/input/highlight.pl | 44 +
autotests/input/highlight.pov | 76 +
autotests/input/highlight.prg | 71 +
autotests/input/highlight.prg.syntax | 1 +
autotests/input/highlight.qml | 59 +
autotests/input/highlight.rb | 551 ++
autotests/input/highlight.scheme | 186 +
autotests/input/highlight.sh | 207 +
autotests/input/highlight.sh.syntax | 1 +
autotests/input/highlight.spec | 212 +
autotests/input/highlight.t2t | 90 +
autotests/input/highlight.tcl | 50 +
autotests/input/highlight.tex | 73 +
autotests/input/highlight.wrl | 41 +
autotests/input/highlight.xml | 67 +
autotests/input/highlight.xsl | 109 +
autotests/input/highlight.y | 54 +
autotests/input/highlight_lpc.c | 64 +
autotests/input/highlight_lpc.c.syntax | 1 +
autotests/input/highlight_ocaml.ml | 105 +
autotests/input/highlight_octave.m | 74 +
autotests/input/highlight_octave.m.syntax | 1 +
autotests/input/learnelixir.exs | 397 +
autotests/input/light52_muldiv.vhdl | 239 +
autotests/input/light52_tb.vhdl | 180 +
autotests/input/meson.build | 21 +
autotests/input/or1200_dc_fsm.v | 563 ++
autotests/input/or1200_du.v | 1803 ++++
autotests/input/preprocessor-bug363280.c | 8 +
autotests/input/preprocessor-bug363280.cpp | 8 +
autotests/input/review128925-1.css | 112 +
autotests/input/review128925-1.scss | 211 +
autotests/input/review128925-2.css | 62 +
autotests/input/review128925-2.scss | 81 +
autotests/input/review128935.html | 164 +
autotests/input/test.bash | 6 +
autotests/input/test.bb | 34 +
autotests/input/test.c | 56 +
autotests/input/test.c.syntax | 1 +
autotests/input/test.cmake | 31 +
autotests/input/test.css | 18 +
autotests/input/test.css.syntax | 1 +
autotests/input/test.desktop | 19 +
autotests/input/test.diff | 48 +
autotests/input/test.eml | 94 +
autotests/input/test.frag | 26 +
autotests/input/test.htm | 17 +
autotests/input/test.htm.syntax | 1 +
autotests/input/test.ijs | 61 +
autotests/input/test.js | 8 +
autotests/input/test.json | 13 +
autotests/input/test.markdown | 39 +
autotests/input/test.mss | 215 +
autotests/input/test.py | 28 +
autotests/input/test.qml | 23 +
autotests/input/test.sql | 6 +
autotests/input/test.sql.syntax | 1 +
autotests/input/test.tex | 5 +
autotests/input/test_syntax.sql | 41 +
autotests/input/test_syntax.sql.syntax | 1 +
autotests/reference/Dockerfile.ref | 19 +
autotests/reference/Kconfig.ref | 15 +
autotests/reference/Makefile.ref | 25 +
autotests/reference/basic.markdown.ref | 6 +
autotests/reference/basic.xml.ref | 4 +
autotests/reference/complex.xml.ref | 13 +
autotests/reference/cube.obj.ref | 33 +
autotests/reference/cube.ply.ref | 26 +
autotests/reference/cube.stl.ref | 30 +
autotests/reference/example.rmd.ref | 39 +
autotests/reference/firstNonSpace.c.ref | 7 +
autotests/reference/folding.cpp.ref | 15 +
autotests/reference/git-rebase.ref | 32 +
autotests/reference/hello.exs.ref | 11 +
autotests/reference/highlight.ahdl.ref | 43 +
autotests/reference/highlight.asm-avr.ref | 75 +
autotests/reference/highlight.asm-nasm.ref | 27 +
autotests/reference/highlight.asp.ref | 58 +
autotests/reference/highlight.awk.ref | 28 +
autotests/reference/highlight.bib.ref | 31 +
autotests/reference/highlight.cmake.ref | 49 +
autotests/reference/highlight.css.ref | 49 +
autotests/reference/highlight.d.ref | 195 +
autotests/reference/highlight.do.ref | 89 +
autotests/reference/highlight.dox.ref | 227 +
autotests/reference/highlight.erl.ref | 68 +
autotests/reference/highlight.exu.ref | 97 +
autotests/reference/highlight.f90.ref | 181 +
autotests/reference/highlight.glsl.ref | 62 +
autotests/reference/highlight.hs.ref | 124 +
autotests/reference/highlight.js.ref | 134 +
autotests/reference/highlight.jsp.ref | 170 +
autotests/reference/highlight.lex.ref | 82 +
autotests/reference/highlight.lhs.ref | 124 +
autotests/reference/highlight.lisp.ref | 36 +
autotests/reference/highlight.ly.ref | 114 +
autotests/reference/highlight.m.ref | 61 +
autotests/reference/highlight.mac.ref | 145 +
autotests/reference/highlight.mup.ref | 103 +
autotests/reference/highlight.pb.ref | 87 +
autotests/reference/highlight.php.ref | 23 +
autotests/reference/highlight.pike.ref | 24 +
autotests/reference/highlight.pl.ref | 44 +
autotests/reference/highlight.pov.ref | 76 +
autotests/reference/highlight.prg.ref | 71 +
autotests/reference/highlight.qml.ref | 59 +
autotests/reference/highlight.rb.ref | 551 ++
autotests/reference/highlight.scheme.ref | 186 +
autotests/reference/highlight.sh.ref | 207 +
autotests/reference/highlight.spec.ref | 212 +
autotests/reference/highlight.t2t.ref | 90 +
autotests/reference/highlight.tcl.ref | 50 +
autotests/reference/highlight.tex.ref | 73 +
autotests/reference/highlight.wrl.ref | 41 +
autotests/reference/highlight.xml.ref | 67 +
autotests/reference/highlight.xsl.ref | 109 +
autotests/reference/highlight.y.ref | 54 +
autotests/reference/highlight_lpc.c.ref | 64 +
autotests/reference/highlight_ocaml.ml.ref | 105 +
autotests/reference/highlight_octave.m.ref | 74 +
autotests/reference/learnelixir.exs.ref | 397 +
autotests/reference/light52_muldiv.vhdl.ref | 239 +
autotests/reference/light52_tb.vhdl.ref | 180 +
autotests/reference/meson.build.ref | 21 +
autotests/reference/or1200_dc_fsm.v.ref | 563 ++
autotests/reference/or1200_du.v.ref | 1803 ++++
.../reference/preprocessor-bug363280.c.ref | 8 +
.../reference/preprocessor-bug363280.cpp.ref | 8 +
autotests/reference/review128925-1.css.ref | 112 +
autotests/reference/review128925-1.scss.ref | 211 +
autotests/reference/review128925-2.css.ref | 62 +
autotests/reference/review128925-2.scss.ref | 81 +
autotests/reference/review128935.html.ref | 164 +
autotests/reference/test.bash.ref | 6 +
autotests/reference/test.bb.ref | 34 +
autotests/reference/test.c.ref | 56 +
autotests/reference/test.cmake.ref | 31 +
autotests/reference/test.css.ref | 18 +
autotests/reference/test.desktop.ref | 19 +
autotests/reference/test.diff.ref | 48 +
autotests/reference/test.eml.ref | 94 +
autotests/reference/test.frag.ref | 26 +
autotests/reference/test.htm.ref | 17 +
autotests/reference/test.ijs.ref | 61 +
autotests/reference/test.js.ref | 8 +
autotests/reference/test.json.ref | 13 +
autotests/reference/test.markdown.ref | 39 +
autotests/reference/test.mss.ref | 215 +
autotests/reference/test.py.ref | 28 +
autotests/reference/test.qml.ref | 23 +
autotests/reference/test.sql.ref | 6 +
autotests/reference/test.tex.ref | 5 +
autotests/reference/test_syntax.sql.ref | 41 +
autotests/repository_benchmark.cpp | 40 +
autotests/syntaxrepository_test.cpp | 185 +
autotests/test-config.h.in | 19 +
autotests/testhighlighter.cpp | 186 +
autotests/theme_test.cpp | 177 +
autotests/update-reference-data.sh.in | 5 +
autotests/wildcardmatcher_test.cpp | 87 +
data/CMakeLists.txt | 51 +
data/generators/cmake-gen.sh | 110 +
data/generators/generate-php.pl | 58 +
data/generators/get-Qt-classes.sh | 40 +
data/generators/get-Qt-macros.sh | 33 +
data/generators/nsis-gen.py | 23 +
data/schema/language.xsd | 719 ++
data/schema/validatehl.sh | 2 +
data/syntax/4dos.xml | 926 ++
data/syntax/abap.xml | 285 +
data/syntax/abc.xml | 88 +
data/syntax/actionscript.xml | 334 +
data/syntax/ada.xml | 202 +
data/syntax/agda.xml | 107 +
data/syntax/ahdl.xml | 145 +
data/syntax/ahk.xml | 1139 +++
data/syntax/alert.xml | 83 +
data/syntax/alert_indent.xml | 43 +
data/syntax/ample.xml | 3814 ++++++++
data/syntax/ansforth94.xml | 601 ++
data/syntax/ansic89.xml | 156 +
data/syntax/ansys.xml | 2064 +++++
data/syntax/apache.xml | 634 ++
data/syntax/asm-avr.xml | 212 +
data/syntax/asm-dsp56k.xml | 329 +
data/syntax/asm-m68k.xml | 651 ++
data/syntax/asm6502.xml | 118 +
data/syntax/asn1.xml | 69 +
data/syntax/asp.xml | 393 +
data/syntax/asterisk.xml | 81 +
data/syntax/awk.xml | 209 +
data/syntax/bash.xml | 964 ++
data/syntax/bibtex.xml | 108 +
data/syntax/bitbake.xml | 185 +
data/syntax/bmethod.xml | 96 +
data/syntax/boo.xml | 314 +
data/syntax/c.xml | 242 +
data/syntax/carto-css.xml | 405 +
data/syntax/ccss.xml | 658 ++
data/syntax/cg.xml | 288 +
data/syntax/cgis.xml | 146 +
data/syntax/changelog.xml | 29 +
data/syntax/chicken.xml | 437 +
data/syntax/cisco.xml | 312 +
data/syntax/clipper.xml | 500 ++
data/syntax/clojure.xml | 797 ++
data/syntax/cmake.xml | 1301 +++
data/syntax/coffee.xml | 268 +
data/syntax/coldfusion.xml | 732 ++
data/syntax/commonlisp.xml | 1200 +++
data/syntax/component-pascal.xml | 172 +
data/syntax/context.xml | 132 +
data/syntax/cpp.xml | 1612 ++++
data/syntax/crk.xml | 158 +
data/syntax/cs.xml | 166 +
data/syntax/css.xml | 1119 +++
data/syntax/cubescript.xml | 456 +
data/syntax/cue.xml | 74 +
data/syntax/curry.xml | 364 +
data/syntax/d.xml | 819 ++
data/syntax/debianchangelog.xml | 218 +
data/syntax/debiancontrol.xml | 65 +
data/syntax/desktop.xml | 30 +
data/syntax/diff.xml | 119 +
data/syntax/djangotemplate.xml | 330 +
data/syntax/dockerfile.xml | 61 +
data/syntax/dosbat.xml | 311 +
data/syntax/dot.xml | 172 +
data/syntax/doxygen.xml | 514 ++
data/syntax/doxygenlua.xml | 481 +
data/syntax/dtd.xml | 110 +
data/syntax/e.xml | 261 +
data/syntax/eiffel.xml | 125 +
data/syntax/elixir.xml | 240 +
data/syntax/email.xml | 106 +
data/syntax/erlang.xml | 250 +
data/syntax/euphoria.xml | 375 +
data/syntax/fasm.xml | 899 ++
data/syntax/fastq.xml | 35 +
data/syntax/ferite.xml | 117 +
data/syntax/fgl-4gl.xml | 363 +
data/syntax/fgl-per.xml | 172 +
data/syntax/fortran.xml | 580 ++
data/syntax/freebasic.xml | 608 ++
data/syntax/fsharp.xml | 287 +
data/syntax/fstab.xml | 96 +
data/syntax/ftl.xml | 91 +
data/syntax/gap.xml | 7835 +++++++++++++++++
data/syntax/gcc.xml | 581 ++
data/syntax/gcode.xml | 203 +
data/syntax/gdb.xml | 53 +
data/syntax/gdl.xml | 313 +
data/syntax/gettext.xml | 191 +
data/syntax/git-ignore.xml | 40 +
data/syntax/git-rebase.xml | 65 +
data/syntax/gitolite.xml | 44 +
data/syntax/glosstex.xml | 46 +
data/syntax/glsl.xml | 1217 +++
data/syntax/gnuassembler.xml | 303 +
data/syntax/gnuplot.xml | 890 ++
data/syntax/go.xml | 176 +
data/syntax/grammar.xml | 145 +
data/syntax/groovy.xml | 3884 ++++++++
data/syntax/haml.xml | 523 ++
data/syntax/hamlet.xml | 104 +
data/syntax/haskell.xml | 518 ++
data/syntax/haxe.xml | 181 +
data/syntax/html.xml | 226 +
data/syntax/hunspell-aff.xml | 236 +
data/syntax/hunspell-dat.xml | 48 +
data/syntax/hunspell-dic.xml | 85 +
data/syntax/hunspell-idx.xml | 40 +
data/syntax/idconsole.xml | 2146 +++++
data/syntax/idl.xml | 116 +
data/syntax/ilerpg.xml | 725 ++
data/syntax/inform.xml | 405 +
data/syntax/ini.xml | 80 +
data/syntax/isocpp.xml | 516 ++
data/syntax/j.xml | 119 +
data/syntax/jam.xml | 347 +
data/syntax/java.xml | 3858 ++++++++
data/syntax/javadoc.xml | 108 +
data/syntax/javascript.xml | 258 +
data/syntax/jira.xml | 720 ++
data/syntax/json.xml | 104 +
data/syntax/jsp.xml | 3070 +++++++
data/syntax/julia.xml | 290 +
data/syntax/k.xml | 430 +
data/syntax/kbasic.xml | 97 +
data/syntax/kconfig.xml | 1144 +++
data/syntax/kdesrc-buildrc.xml | 248 +
data/syntax/kotlin.xml | 298 +
data/syntax/latex.xml | 700 ++
data/syntax/ld.xml | 83 +
data/syntax/ldif.xml | 305 +
data/syntax/less.xml | 1101 +++
data/syntax/lex.xml | 144 +
data/syntax/lilypond.xml | 1199 +++
data/syntax/literate-curry.xml | 50 +
data/syntax/literate-haskell.xml | 38 +
data/syntax/logtalk.xml | 206 +
data/syntax/lpc.xml | 166 +
data/syntax/lsl.xml | 1050 +++
data/syntax/lua.xml | 300 +
data/syntax/m3u.xml | 51 +
data/syntax/m4.xml | 193 +
data/syntax/mab.xml | 30 +
data/syntax/magma.xml | 154 +
data/syntax/makefile.xml | 218 +
data/syntax/mako.xml | 255 +
data/syntax/mandoc.xml | 89 +
data/syntax/markdown.xml | 134 +
data/syntax/mason.xml | 236 +
data/syntax/mathematica.xml | 3229 +++++++
data/syntax/matlab.xml | 230 +
data/syntax/maxima.xml | 1890 ++++
data/syntax/mediawiki.xml | 623 ++
data/syntax/mel.xml | 1381 +++
data/syntax/mergetagtext.xml | 145 +
data/syntax/meson.xml | 117 +
data/syntax/metafont.xml | 1009 +++
data/syntax/mips.xml | 359 +
data/syntax/modelica.xml | 260 +
data/syntax/modelines.xml | 194 +
data/syntax/modula-2.xml | 188 +
data/syntax/monobasic.xml | 215 +
data/syntax/mup.xml | 865 ++
data/syntax/nagios.xml | 84 +
data/syntax/nasm.xml | 893 ++
data/syntax/nemerle.xml | 208 +
data/syntax/nesc.xml | 192 +
data/syntax/noweb.xml | 52 +
data/syntax/nsis.xml | 494 ++
data/syntax/objectivec.xml | 128 +
data/syntax/objectivecpp.xml | 318 +
data/syntax/ocaml.xml | 615 ++
data/syntax/ocamllex.xml | 81 +
data/syntax/ocamlyacc.xml | 160 +
data/syntax/octave.xml | 2219 +++++
data/syntax/oors.xml | 94 +
data/syntax/opal.xml | 331 +
data/syntax/opencl.xml | 257 +
data/syntax/pango.xml | 159 +
data/syntax/pascal.xml | 219 +
data/syntax/perl.xml | 842 ++
data/syntax/pgn.xml | 108 +
data/syntax/php.xml | 5645 ++++++++++++
data/syntax/picsrc.xml | 402 +
data/syntax/pig.xml | 202 +
data/syntax/pike.xml | 121 +
data/syntax/pli.xml | 455 +
data/syntax/ply.xml | 54 +
data/syntax/postscript.xml | 434 +
data/syntax/povray.xml | 976 ++
data/syntax/ppd.xml | 58 +
data/syntax/praat.xml | 510 ++
data/syntax/progress.xml | 1709 ++++
data/syntax/prolog.xml | 1109 +++
data/syntax/protobuf.xml | 121 +
data/syntax/puppet.xml | 711 ++
data/syntax/purebasic.xml | 1766 ++++
data/syntax/python.xml | 624 ++
data/syntax/q.xml | 210 +
data/syntax/qmake.xml | 128 +
data/syntax/qml.xml | 170 +
data/syntax/r.xml | 152 +
data/syntax/rapidq.xml | 432 +
data/syntax/relaxng.xml | 117 +
data/syntax/relaxngcompact.xml | 108 +
data/syntax/replicode.xml | 200 +
data/syntax/rest.xml | 109 +
data/syntax/rexx.xml | 134 +
data/syntax/rhtml.xml | 1234 +++
data/syntax/rib.xml | 143 +
data/syntax/rmarkdown.xml | 80 +
data/syntax/roff.xml | 197 +
data/syntax/rpmspec.xml | 505 ++
data/syntax/rsiidl.xml | 442 +
data/syntax/rtf.xml | 49 +
data/syntax/ruby.xml | 924 ++
data/syntax/rust.xml | 366 +
data/syntax/sather.xml | 141 +
data/syntax/scala.xml | 3503 ++++++++
data/syntax/scheme.xml | 436 +
data/syntax/sci.xml | 1191 +++
data/syntax/scss.xml | 1139 +++
data/syntax/sed.xml | 267 +
data/syntax/sgml.xml | 46 +
data/syntax/sieve.xml | 67 +
data/syntax/sisu.xml | 157 +
data/syntax/sml.xml | 104 +
data/syntax/spice.xml | 50 +
data/syntax/sql-mysql.xml | 474 +
data/syntax/sql-oracle.xml | 2174 +++++
data/syntax/sql-postgresql.xml | 813 ++
data/syntax/sql.xml | 956 ++
data/syntax/stata.xml | 3231 +++++++
data/syntax/stl.xml | 31 +
data/syntax/systemc.xml | 134 +
data/syntax/systemverilog.xml | 1028 +++
data/syntax/tads3.xml | 175 +
data/syntax/taskjuggler.xml | 386 +
data/syntax/tcl.xml | 565 ++
data/syntax/tcsh.xml | 868 ++
data/syntax/template-toolkit.xml | 331 +
data/syntax/texinfo.xml | 63 +
data/syntax/textile.xml | 103 +
data/syntax/tibasic.xml | 71 +
data/syntax/toml.xml | 128 +
data/syntax/txt2tags.xml | 67 +
data/syntax/uscript.xml | 186 +
data/syntax/vala.xml | 282 +
data/syntax/valgrind-suppression.xml | 51 +
data/syntax/varnish.xml | 349 +
data/syntax/varnish4.xml | 372 +
data/syntax/varnishcc.xml | 103 +
data/syntax/varnishcc4.xml | 128 +
data/syntax/varnishtest.xml | 567 ++
data/syntax/varnishtest4.xml | 723 ++
data/syntax/vcard.xml | 45 +
data/syntax/velocity.xml | 51 +
data/syntax/vera.xml | 648 ++
data/syntax/verilog.xml | 257 +
data/syntax/vhdl.xml | 666 ++
data/syntax/vrml.xml | 139 +
data/syntax/wavefront-obj.xml | 69 +
data/syntax/winehq.xml | 36 +
data/syntax/wml.xml | 210 +
data/syntax/xharbour.xml | 543 ++
data/syntax/xml.xml | 150 +
data/syntax/xmldebug.xml | 594 ++
data/syntax/xonotic-console.xml | 5659 ++++++++++++
data/syntax/xorg.xml | 65 +
data/syntax/xslt.xml | 439 +
data/syntax/xul.xml | 627 ++
data/syntax/yacas.xml | 237 +
data/syntax/yacc.xml | 164 +
data/syntax/yaml.xml | 199 +
data/syntax/zonnon.xml | 144 +
data/syntax/zsh.xml | 959 ++
data/themes/breeze-dark.theme | 177 +
data/themes/default.theme | 177 +
data/themes/printing.theme | 176 +
data/themes/theme-data.qrc | 8 +
examples/CMakeLists.txt | 4 +
examples/codeeditor.cpp | 356 +
examples/codeeditor.h | 63 +
examples/main.cpp | 40 +
metainfo.yaml | 20 +
org_kde_ksyntaxhighlighting.categories | 1 +
src/CMakeLists.txt | 3 +
src/Messages.sh | 15 +
src/cli/CMakeLists.txt | 4 +
src/cli/kate-syntax-highlighter.cpp | 126 +
src/indexer/CMakeLists.txt | 7 +
src/indexer/katehighlightingindexer.cpp | 175 +
src/lib/CMakeLists.txt | 68 +
src/lib/abstracthighlighter.cpp | 261 +
src/lib/abstracthighlighter.h | 180 +
src/lib/abstracthighlighter_p.h | 46 +
src/lib/context.cpp | 233 +
src/lib/context_p.h | 94 +
src/lib/contextswitch.cpp | 95 +
src/lib/contextswitch_p.h | 50 +
src/lib/definition.cpp | 562 ++
src/lib/definition.h | 185 +
src/lib/definition_p.h | 96 +
src/lib/definitiondownloader.cpp | 187 +
src/lib/definitiondownloader.h | 106 +
src/lib/definitionref_p.h | 55 +
src/lib/foldingregion.cpp | 54 +
src/lib/foldingregion.h | 99 +
src/lib/format.cpp | 254 +
src/lib/format.h | 132 +
src/lib/format_p.h | 49 +
src/lib/htmlhighlighter.cpp | 129 +
src/lib/htmlhighlighter.h | 54 +
src/lib/keywordlist.cpp | 92 +
src/lib/keywordlist_p.h | 55 +
src/lib/matchresult.cpp | 48 +
src/lib/matchresult_p.h | 42 +
src/lib/repository.cpp | 268 +
src/lib/repository.h | 163 +
src/lib/repository_p.h | 61 +
src/lib/rule.cpp | 701 ++
src/lib/rule_p.h | 253 +
src/lib/state.cpp | 117 +
src/lib/state.h | 76 +
src/lib/state_p.h | 57 +
src/lib/syntaxhighlighter.cpp | 192 +
src/lib/syntaxhighlighter.h | 77 +
src/lib/textstyledata_p.h | 61 +
src/lib/theme.cpp | 118 +
src/lib/theme.h | 359 +
src/lib/themedata.cpp | 253 +
src/lib/themedata_p.h | 151 +
src/lib/wildcardmatcher.cpp | 79 +
src/lib/wildcardmatcher_p.h | 43 +
src/lib/xml_p.h | 36 +
743 files changed, 194961 insertions(+)
create mode 100644 .arcconfig
create mode 100644 .gitignore
create mode 100644 .kateconfig
create mode 100644 .krazy
create mode 100644 CMakeLists.txt
create mode 100644 COPYING.LIB
create mode 100644 KF5SyntaxHighlightingConfig.cmake.in
create mode 100644 README.md
create mode 100755 add_license.sh
create mode 100644 autotests/CMakeLists.txt
create mode 100644 autotests/folding/Dockerfile.fold
create mode 100644 autotests/folding/Kconfig.fold
create mode 100644 autotests/folding/Makefile.fold
create mode 100644 autotests/folding/basic.markdown.fold
create mode 100644 autotests/folding/basic.xml.fold
create mode 100644 autotests/folding/complex.xml.fold
create mode 100644 autotests/folding/cube.obj.fold
create mode 100644 autotests/folding/cube.ply.fold
create mode 100644 autotests/folding/cube.stl.fold
create mode 100644 autotests/folding/example.rmd.fold
create mode 100644 autotests/folding/firstNonSpace.c.fold
create mode 100644 autotests/folding/folding.cpp.fold
create mode 100644 autotests/folding/git-rebase.fold
create mode 100644 autotests/folding/hello.exs.fold
create mode 100644 autotests/folding/highlight.ahdl.fold
create mode 100644 autotests/folding/highlight.asm-avr.fold
create mode 100644 autotests/folding/highlight.asm-nasm.fold
create mode 100644 autotests/folding/highlight.asp.fold
create mode 100644 autotests/folding/highlight.awk.fold
create mode 100644 autotests/folding/highlight.bib.fold
create mode 100644 autotests/folding/highlight.cmake.fold
create mode 100644 autotests/folding/highlight.css.fold
create mode 100644 autotests/folding/highlight.d.fold
create mode 100644 autotests/folding/highlight.do.fold
create mode 100644 autotests/folding/highlight.dox.fold
create mode 100644 autotests/folding/highlight.erl.fold
create mode 100644 autotests/folding/highlight.exu.fold
create mode 100644 autotests/folding/highlight.f90.fold
create mode 100644 autotests/folding/highlight.glsl.fold
create mode 100644 autotests/folding/highlight.hs.fold
create mode 100644 autotests/folding/highlight.js.fold
create mode 100644 autotests/folding/highlight.jsp.fold
create mode 100644 autotests/folding/highlight.lex.fold
create mode 100644 autotests/folding/highlight.lhs.fold
create mode 100644 autotests/folding/highlight.lisp.fold
create mode 100644 autotests/folding/highlight.ly.fold
create mode 100644 autotests/folding/highlight.m.fold
create mode 100644 autotests/folding/highlight.mac.fold
create mode 100644 autotests/folding/highlight.mup.fold
create mode 100644 autotests/folding/highlight.pb.fold
create mode 100644 autotests/folding/highlight.php.fold
create mode 100644 autotests/folding/highlight.pike.fold
create mode 100644 autotests/folding/highlight.pl.fold
create mode 100644 autotests/folding/highlight.pov.fold
create mode 100644 autotests/folding/highlight.prg.fold
create mode 100644 autotests/folding/highlight.qml.fold
create mode 100644 autotests/folding/highlight.rb.fold
create mode 100644 autotests/folding/highlight.scheme.fold
create mode 100644 autotests/folding/highlight.sh.fold
create mode 100644 autotests/folding/highlight.spec.fold
create mode 100644 autotests/folding/highlight.t2t.fold
create mode 100644 autotests/folding/highlight.tcl.fold
create mode 100644 autotests/folding/highlight.tex.fold
create mode 100644 autotests/folding/highlight.wrl.fold
create mode 100644 autotests/folding/highlight.xml.fold
create mode 100644 autotests/folding/highlight.xsl.fold
create mode 100644 autotests/folding/highlight.y.fold
create mode 100644 autotests/folding/highlight_lpc.c.fold
create mode 100644 autotests/folding/highlight_ocaml.ml.fold
create mode 100644 autotests/folding/highlight_octave.m.fold
create mode 100644 autotests/folding/learnelixir.exs.fold
create mode 100644 autotests/folding/light52_muldiv.vhdl.fold
create mode 100644 autotests/folding/light52_tb.vhdl.fold
create mode 100644 autotests/folding/meson.build.fold
create mode 100644 autotests/folding/or1200_dc_fsm.v.fold
create mode 100644 autotests/folding/or1200_du.v.fold
create mode 100644 autotests/folding/preprocessor-bug363280.c.fold
create mode 100644 autotests/folding/preprocessor-bug363280.cpp.fold
create mode 100644 autotests/folding/review128925-1.css.fold
create mode 100644 autotests/folding/review128925-1.scss.fold
create mode 100644 autotests/folding/review128925-2.css.fold
create mode 100644 autotests/folding/review128925-2.scss.fold
create mode 100644 autotests/folding/review128935.html.fold
create mode 100644 autotests/folding/test.bash.fold
create mode 100644 autotests/folding/test.bb.fold
create mode 100644 autotests/folding/test.c.fold
create mode 100644 autotests/folding/test.cmake.fold
create mode 100644 autotests/folding/test.css.fold
create mode 100644 autotests/folding/test.desktop.fold
create mode 100644 autotests/folding/test.diff.fold
create mode 100644 autotests/folding/test.eml.fold
create mode 100644 autotests/folding/test.frag.fold
create mode 100644 autotests/folding/test.htm.fold
create mode 100644 autotests/folding/test.ijs.fold
create mode 100644 autotests/folding/test.js.fold
create mode 100644 autotests/folding/test.json.fold
create mode 100644 autotests/folding/test.markdown.fold
create mode 100644 autotests/folding/test.mss.fold
create mode 100644 autotests/folding/test.py.fold
create mode 100644 autotests/folding/test.qml.fold
create mode 100644 autotests/folding/test.sql.fold
create mode 100644 autotests/folding/test.tex.fold
create mode 100644 autotests/folding/test_syntax.sql.fold
create mode 100644 autotests/foldingtest.cpp
create mode 100644 autotests/highlighter_benchmark.cpp
create mode 100644 autotests/html/Dockerfile.html
create mode 100644 autotests/html/Kconfig.html
create mode 100644 autotests/html/Makefile.html
create mode 100644 autotests/html/basic.markdown.html
create mode 100644 autotests/html/basic.xml.html
create mode 100644 autotests/html/complex.xml.html
create mode 100644 autotests/html/cube.obj.html
create mode 100644 autotests/html/cube.ply.html
create mode 100644 autotests/html/cube.stl.html
create mode 100644 autotests/html/example.rmd.html
create mode 100644 autotests/html/firstNonSpace.c.html
create mode 100644 autotests/html/folding.cpp.html
create mode 100644 autotests/html/git-rebase.html
create mode 100644 autotests/html/hello.exs.html
create mode 100644 autotests/html/highlight.ahdl.html
create mode 100644 autotests/html/highlight.asm-avr.html
create mode 100644 autotests/html/highlight.asm-nasm.html
create mode 100644 autotests/html/highlight.asp.html
create mode 100644 autotests/html/highlight.awk.html
create mode 100644 autotests/html/highlight.bib.html
create mode 100644 autotests/html/highlight.cmake.html
create mode 100644 autotests/html/highlight.css.html
create mode 100644 autotests/html/highlight.d.html
create mode 100644 autotests/html/highlight.do.html
create mode 100644 autotests/html/highlight.dox.html
create mode 100644 autotests/html/highlight.erl.html
create mode 100644 autotests/html/highlight.exu.html
create mode 100644 autotests/html/highlight.f90.html
create mode 100644 autotests/html/highlight.glsl.html
create mode 100644 autotests/html/highlight.hs.html
create mode 100644 autotests/html/highlight.js.html
create mode 100644 autotests/html/highlight.jsp.html
create mode 100644 autotests/html/highlight.lex.html
create mode 100644 autotests/html/highlight.lhs.html
create mode 100644 autotests/html/highlight.lisp.html
create mode 100644 autotests/html/highlight.ly.html
create mode 100644 autotests/html/highlight.m.html
create mode 100644 autotests/html/highlight.mac.html
create mode 100644 autotests/html/highlight.mup.html
create mode 100644 autotests/html/highlight.pb.html
create mode 100644 autotests/html/highlight.php.html
create mode 100644 autotests/html/highlight.pike.html
create mode 100644 autotests/html/highlight.pl.html
create mode 100644 autotests/html/highlight.pov.html
create mode 100644 autotests/html/highlight.prg.html
create mode 100644 autotests/html/highlight.qml.html
create mode 100644 autotests/html/highlight.rb.html
create mode 100644 autotests/html/highlight.scheme.html
create mode 100644 autotests/html/highlight.sh.html
create mode 100644 autotests/html/highlight.spec.html
create mode 100644 autotests/html/highlight.t2t.html
create mode 100644 autotests/html/highlight.tcl.html
create mode 100644 autotests/html/highlight.tex.html
create mode 100644 autotests/html/highlight.wrl.html
create mode 100644 autotests/html/highlight.xml.html
create mode 100644 autotests/html/highlight.xsl.html
create mode 100644 autotests/html/highlight.y.html
create mode 100644 autotests/html/highlight_lpc.c.html
create mode 100644 autotests/html/highlight_ocaml.ml.html
create mode 100644 autotests/html/highlight_octave.m.html
create mode 100644 autotests/html/learnelixir.exs.html
create mode 100644 autotests/html/light52_muldiv.vhdl.html
create mode 100644 autotests/html/light52_tb.vhdl.html
create mode 100644 autotests/html/meson.build.html
create mode 100644 autotests/html/or1200_dc_fsm.v.html
create mode 100644 autotests/html/or1200_du.v.html
create mode 100644 autotests/html/preprocessor-bug363280.c.html
create mode 100644 autotests/html/preprocessor-bug363280.cpp.html
create mode 100644 autotests/html/review128925-1.css.html
create mode 100644 autotests/html/review128925-1.scss.html
create mode 100644 autotests/html/review128925-2.css.html
create mode 100644 autotests/html/review128925-2.scss.html
create mode 100644 autotests/html/review128935.html.html
create mode 100644 autotests/html/test.bash.html
create mode 100644 autotests/html/test.bb.html
create mode 100644 autotests/html/test.c.html
create mode 100644 autotests/html/test.cmake.html
create mode 100644 autotests/html/test.css.html
create mode 100644 autotests/html/test.desktop.html
create mode 100644 autotests/html/test.diff.html
create mode 100644 autotests/html/test.eml.html
create mode 100644 autotests/html/test.frag.html
create mode 100644 autotests/html/test.htm.html
create mode 100644 autotests/html/test.ijs.html
create mode 100644 autotests/html/test.js.html
create mode 100644 autotests/html/test.json.html
create mode 100644 autotests/html/test.markdown.html
create mode 100644 autotests/html/test.mss.html
create mode 100644 autotests/html/test.py.html
create mode 100644 autotests/html/test.qml.html
create mode 100644 autotests/html/test.sql.html
create mode 100644 autotests/html/test.tex.html
create mode 100644 autotests/html/test_syntax.sql.html
create mode 100644 autotests/htmlhighlighter_test.cpp
create mode 100644 autotests/input/Dockerfile
create mode 100644 autotests/input/Kconfig
create mode 100644 autotests/input/Makefile
create mode 100644 autotests/input/basic.markdown
create mode 100644 autotests/input/basic.xml
create mode 100644 autotests/input/complex.xml
create mode 100644 autotests/input/cube.obj
create mode 100644 autotests/input/cube.ply
create mode 100644 autotests/input/cube.stl
create mode 100644 autotests/input/example.rmd
create mode 100644 autotests/input/firstNonSpace.c
create mode 100644 autotests/input/folding.cpp
create mode 100644 autotests/input/git-rebase
create mode 100644 autotests/input/git-rebase.syntax
create mode 100644 autotests/input/hello.exs
create mode 100644 autotests/input/highlight.ahdl
create mode 100644 autotests/input/highlight.asm-avr
create mode 100644 autotests/input/highlight.asm-nasm
create mode 100644 autotests/input/highlight.asm-nasm.syntax
create mode 100644 autotests/input/highlight.asp
create mode 100644 autotests/input/highlight.awk
create mode 100644 autotests/input/highlight.bib
create mode 100644 autotests/input/highlight.cmake
create mode 100644 autotests/input/highlight.css
create mode 100644 autotests/input/highlight.d
create mode 100644 autotests/input/highlight.do
create mode 100644 autotests/input/highlight.dox
create mode 100644 autotests/input/highlight.erl
create mode 100644 autotests/input/highlight.exu
create mode 100644 autotests/input/highlight.f90
create mode 100644 autotests/input/highlight.glsl
create mode 100644 autotests/input/highlight.hs
create mode 100644 autotests/input/highlight.js
create mode 100644 autotests/input/highlight.jsp
create mode 100644 autotests/input/highlight.lex
create mode 100644 autotests/input/highlight.lhs
create mode 100644 autotests/input/highlight.lisp
create mode 100644 autotests/input/highlight.ly
create mode 100644 autotests/input/highlight.m
create mode 100644 autotests/input/highlight.m.syntax
create mode 100644 autotests/input/highlight.mac
create mode 100644 autotests/input/highlight.mup
create mode 100644 autotests/input/highlight.pb
create mode 100644 autotests/input/highlight.php
create mode 100644 autotests/input/highlight.pike
create mode 100644 autotests/input/highlight.pl
create mode 100644 autotests/input/highlight.pov
create mode 100644 autotests/input/highlight.prg
create mode 100644 autotests/input/highlight.prg.syntax
create mode 100644 autotests/input/highlight.qml
create mode 100644 autotests/input/highlight.rb
create mode 100644 autotests/input/highlight.scheme
create mode 100644 autotests/input/highlight.sh
create mode 100644 autotests/input/highlight.sh.syntax
create mode 100644 autotests/input/highlight.spec
create mode 100644 autotests/input/highlight.t2t
create mode 100644 autotests/input/highlight.tcl
create mode 100644 autotests/input/highlight.tex
create mode 100644 autotests/input/highlight.wrl
create mode 100644 autotests/input/highlight.xml
create mode 100644 autotests/input/highlight.xsl
create mode 100644 autotests/input/highlight.y
create mode 100644 autotests/input/highlight_lpc.c
create mode 100644 autotests/input/highlight_lpc.c.syntax
create mode 100644 autotests/input/highlight_ocaml.ml
create mode 100644 autotests/input/highlight_octave.m
create mode 100644 autotests/input/highlight_octave.m.syntax
create mode 100644 autotests/input/learnelixir.exs
create mode 100644 autotests/input/light52_muldiv.vhdl
create mode 100644 autotests/input/light52_tb.vhdl
create mode 100644 autotests/input/meson.build
create mode 100644 autotests/input/or1200_dc_fsm.v
create mode 100644 autotests/input/or1200_du.v
create mode 100644 autotests/input/preprocessor-bug363280.c
create mode 100644 autotests/input/preprocessor-bug363280.cpp
create mode 100644 autotests/input/review128925-1.css
create mode 100644 autotests/input/review128925-1.scss
create mode 100644 autotests/input/review128925-2.css
create mode 100644 autotests/input/review128925-2.scss
create mode 100644 autotests/input/review128935.html
create mode 100644 autotests/input/test.bash
create mode 100644 autotests/input/test.bb
create mode 100644 autotests/input/test.c
create mode 100644 autotests/input/test.c.syntax
create mode 100644 autotests/input/test.cmake
create mode 100644 autotests/input/test.css
create mode 100644 autotests/input/test.css.syntax
create mode 100644 autotests/input/test.desktop
create mode 100644 autotests/input/test.diff
create mode 100644 autotests/input/test.eml
create mode 100644 autotests/input/test.frag
create mode 100644 autotests/input/test.htm
create mode 100644 autotests/input/test.htm.syntax
create mode 100644 autotests/input/test.ijs
create mode 100644 autotests/input/test.js
create mode 100644 autotests/input/test.json
create mode 100644 autotests/input/test.markdown
create mode 100644 autotests/input/test.mss
create mode 100644 autotests/input/test.py
create mode 100644 autotests/input/test.qml
create mode 100644 autotests/input/test.sql
create mode 100644 autotests/input/test.sql.syntax
create mode 100644 autotests/input/test.tex
create mode 100644 autotests/input/test_syntax.sql
create mode 100644 autotests/input/test_syntax.sql.syntax
create mode 100644 autotests/reference/Dockerfile.ref
create mode 100644 autotests/reference/Kconfig.ref
create mode 100644 autotests/reference/Makefile.ref
create mode 100644 autotests/reference/basic.markdown.ref
create mode 100644 autotests/reference/basic.xml.ref
create mode 100644 autotests/reference/complex.xml.ref
create mode 100644 autotests/reference/cube.obj.ref
create mode 100644 autotests/reference/cube.ply.ref
create mode 100644 autotests/reference/cube.stl.ref
create mode 100644 autotests/reference/example.rmd.ref
create mode 100644 autotests/reference/firstNonSpace.c.ref
create mode 100644 autotests/reference/folding.cpp.ref
create mode 100644 autotests/reference/git-rebase.ref
create mode 100644 autotests/reference/hello.exs.ref
create mode 100644 autotests/reference/highlight.ahdl.ref
create mode 100644 autotests/reference/highlight.asm-avr.ref
create mode 100644 autotests/reference/highlight.asm-nasm.ref
create mode 100644 autotests/reference/highlight.asp.ref
create mode 100644 autotests/reference/highlight.awk.ref
create mode 100644 autotests/reference/highlight.bib.ref
create mode 100644 autotests/reference/highlight.cmake.ref
create mode 100644 autotests/reference/highlight.css.ref
create mode 100644 autotests/reference/highlight.d.ref
create mode 100644 autotests/reference/highlight.do.ref
create mode 100644 autotests/reference/highlight.dox.ref
create mode 100644 autotests/reference/highlight.erl.ref
create mode 100644 autotests/reference/highlight.exu.ref
create mode 100644 autotests/reference/highlight.f90.ref
create mode 100644 autotests/reference/highlight.glsl.ref
create mode 100644 autotests/reference/highlight.hs.ref
create mode 100644 autotests/reference/highlight.js.ref
create mode 100644 autotests/reference/highlight.jsp.ref
create mode 100644 autotests/reference/highlight.lex.ref
create mode 100644 autotests/reference/highlight.lhs.ref
create mode 100644 autotests/reference/highlight.lisp.ref
create mode 100644 autotests/reference/highlight.ly.ref
create mode 100644 autotests/reference/highlight.m.ref
create mode 100644 autotests/reference/highlight.mac.ref
create mode 100644 autotests/reference/highlight.mup.ref
create mode 100644 autotests/reference/highlight.pb.ref
create mode 100644 autotests/reference/highlight.php.ref
create mode 100644 autotests/reference/highlight.pike.ref
create mode 100644 autotests/reference/highlight.pl.ref
create mode 100644 autotests/reference/highlight.pov.ref
create mode 100644 autotests/reference/highlight.prg.ref
create mode 100644 autotests/reference/highlight.qml.ref
create mode 100644 autotests/reference/highlight.rb.ref
create mode 100644 autotests/reference/highlight.scheme.ref
create mode 100644 autotests/reference/highlight.sh.ref
create mode 100644 autotests/reference/highlight.spec.ref
create mode 100644 autotests/reference/highlight.t2t.ref
create mode 100644 autotests/reference/highlight.tcl.ref
create mode 100644 autotests/reference/highlight.tex.ref
create mode 100644 autotests/reference/highlight.wrl.ref
create mode 100644 autotests/reference/highlight.xml.ref
create mode 100644 autotests/reference/highlight.xsl.ref
create mode 100644 autotests/reference/highlight.y.ref
create mode 100644 autotests/reference/highlight_lpc.c.ref
create mode 100644 autotests/reference/highlight_ocaml.ml.ref
create mode 100644 autotests/reference/highlight_octave.m.ref
create mode 100644 autotests/reference/learnelixir.exs.ref
create mode 100644 autotests/reference/light52_muldiv.vhdl.ref
create mode 100644 autotests/reference/light52_tb.vhdl.ref
create mode 100644 autotests/reference/meson.build.ref
create mode 100644 autotests/reference/or1200_dc_fsm.v.ref
create mode 100644 autotests/reference/or1200_du.v.ref
create mode 100644 autotests/reference/preprocessor-bug363280.c.ref
create mode 100644 autotests/reference/preprocessor-bug363280.cpp.ref
create mode 100644 autotests/reference/review128925-1.css.ref
create mode 100644 autotests/reference/review128925-1.scss.ref
create mode 100644 autotests/reference/review128925-2.css.ref
create mode 100644 autotests/reference/review128925-2.scss.ref
create mode 100644 autotests/reference/review128935.html.ref
create mode 100644 autotests/reference/test.bash.ref
create mode 100644 autotests/reference/test.bb.ref
create mode 100644 autotests/reference/test.c.ref
create mode 100644 autotests/reference/test.cmake.ref
create mode 100644 autotests/reference/test.css.ref
create mode 100644 autotests/reference/test.desktop.ref
create mode 100644 autotests/reference/test.diff.ref
create mode 100644 autotests/reference/test.eml.ref
create mode 100644 autotests/reference/test.frag.ref
create mode 100644 autotests/reference/test.htm.ref
create mode 100644 autotests/reference/test.ijs.ref
create mode 100644 autotests/reference/test.js.ref
create mode 100644 autotests/reference/test.json.ref
create mode 100644 autotests/reference/test.markdown.ref
create mode 100644 autotests/reference/test.mss.ref
create mode 100644 autotests/reference/test.py.ref
create mode 100644 autotests/reference/test.qml.ref
create mode 100644 autotests/reference/test.sql.ref
create mode 100644 autotests/reference/test.tex.ref
create mode 100644 autotests/reference/test_syntax.sql.ref
create mode 100644 autotests/repository_benchmark.cpp
create mode 100644 autotests/syntaxrepository_test.cpp
create mode 100644 autotests/test-config.h.in
create mode 100644 autotests/testhighlighter.cpp
create mode 100644 autotests/theme_test.cpp
create mode 100755 autotests/update-reference-data.sh.in
create mode 100644 autotests/wildcardmatcher_test.cpp
create mode 100644 data/CMakeLists.txt
create mode 100755 data/generators/cmake-gen.sh
create mode 100755 data/generators/generate-php.pl
create mode 100755 data/generators/get-Qt-classes.sh
create mode 100755 data/generators/get-Qt-macros.sh
create mode 100755 data/generators/nsis-gen.py
create mode 100644 data/schema/language.xsd
create mode 100755 data/schema/validatehl.sh
create mode 100644 data/syntax/4dos.xml
create mode 100644 data/syntax/abap.xml
create mode 100644 data/syntax/abc.xml
create mode 100644 data/syntax/actionscript.xml
create mode 100644 data/syntax/ada.xml
create mode 100644 data/syntax/agda.xml
create mode 100644 data/syntax/ahdl.xml
create mode 100644 data/syntax/ahk.xml
create mode 100644 data/syntax/alert.xml
create mode 100644 data/syntax/alert_indent.xml
create mode 100644 data/syntax/ample.xml
create mode 100644 data/syntax/ansforth94.xml
create mode 100644 data/syntax/ansic89.xml
create mode 100644 data/syntax/ansys.xml
create mode 100644 data/syntax/apache.xml
create mode 100644 data/syntax/asm-avr.xml
create mode 100644 data/syntax/asm-dsp56k.xml
create mode 100644 data/syntax/asm-m68k.xml
create mode 100644 data/syntax/asm6502.xml
create mode 100644 data/syntax/asn1.xml
create mode 100644 data/syntax/asp.xml
create mode 100644 data/syntax/asterisk.xml
create mode 100644 data/syntax/awk.xml
create mode 100644 data/syntax/bash.xml
create mode 100644 data/syntax/bibtex.xml
create mode 100644 data/syntax/bitbake.xml
create mode 100644 data/syntax/bmethod.xml
create mode 100644 data/syntax/boo.xml
create mode 100644 data/syntax/c.xml
create mode 100644 data/syntax/carto-css.xml
create mode 100644 data/syntax/ccss.xml
create mode 100644 data/syntax/cg.xml
create mode 100644 data/syntax/cgis.xml
create mode 100644 data/syntax/changelog.xml
create mode 100644 data/syntax/chicken.xml
create mode 100644 data/syntax/cisco.xml
create mode 100644 data/syntax/clipper.xml
create mode 100644 data/syntax/clojure.xml
create mode 100644 data/syntax/cmake.xml
create mode 100644 data/syntax/coffee.xml
create mode 100644 data/syntax/coldfusion.xml
create mode 100644 data/syntax/commonlisp.xml
create mode 100644 data/syntax/component-pascal.xml
create mode 100644 data/syntax/context.xml
create mode 100644 data/syntax/cpp.xml
create mode 100644 data/syntax/crk.xml
create mode 100644 data/syntax/cs.xml
create mode 100644 data/syntax/css.xml
create mode 100644 data/syntax/cubescript.xml
create mode 100644 data/syntax/cue.xml
create mode 100644 data/syntax/curry.xml
create mode 100644 data/syntax/d.xml
create mode 100644 data/syntax/debianchangelog.xml
create mode 100644 data/syntax/debiancontrol.xml
create mode 100644 data/syntax/desktop.xml
create mode 100644 data/syntax/diff.xml
create mode 100644 data/syntax/djangotemplate.xml
create mode 100644 data/syntax/dockerfile.xml
create mode 100644 data/syntax/dosbat.xml
create mode 100644 data/syntax/dot.xml
create mode 100644 data/syntax/doxygen.xml
create mode 100644 data/syntax/doxygenlua.xml
create mode 100644 data/syntax/dtd.xml
create mode 100644 data/syntax/e.xml
create mode 100644 data/syntax/eiffel.xml
create mode 100644 data/syntax/elixir.xml
create mode 100644 data/syntax/email.xml
create mode 100644 data/syntax/erlang.xml
create mode 100644 data/syntax/euphoria.xml
create mode 100644 data/syntax/fasm.xml
create mode 100644 data/syntax/fastq.xml
create mode 100644 data/syntax/ferite.xml
create mode 100644 data/syntax/fgl-4gl.xml
create mode 100644 data/syntax/fgl-per.xml
create mode 100644 data/syntax/fortran.xml
create mode 100644 data/syntax/freebasic.xml
create mode 100644 data/syntax/fsharp.xml
create mode 100644 data/syntax/fstab.xml
create mode 100644 data/syntax/ftl.xml
create mode 100644 data/syntax/gap.xml
create mode 100644 data/syntax/gcc.xml
create mode 100644 data/syntax/gcode.xml
create mode 100644 data/syntax/gdb.xml
create mode 100644 data/syntax/gdl.xml
create mode 100644 data/syntax/gettext.xml
create mode 100644 data/syntax/git-ignore.xml
create mode 100644 data/syntax/git-rebase.xml
create mode 100644 data/syntax/gitolite.xml
create mode 100644 data/syntax/glosstex.xml
create mode 100644 data/syntax/glsl.xml
create mode 100644 data/syntax/gnuassembler.xml
create mode 100644 data/syntax/gnuplot.xml
create mode 100644 data/syntax/go.xml
create mode 100644 data/syntax/grammar.xml
create mode 100644 data/syntax/groovy.xml
create mode 100644 data/syntax/haml.xml
create mode 100644 data/syntax/hamlet.xml
create mode 100644 data/syntax/haskell.xml
create mode 100644 data/syntax/haxe.xml
create mode 100644 data/syntax/html.xml
create mode 100644 data/syntax/hunspell-aff.xml
create mode 100644 data/syntax/hunspell-dat.xml
create mode 100644 data/syntax/hunspell-dic.xml
create mode 100644 data/syntax/hunspell-idx.xml
create mode 100644 data/syntax/idconsole.xml
create mode 100644 data/syntax/idl.xml
create mode 100644 data/syntax/ilerpg.xml
create mode 100644 data/syntax/inform.xml
create mode 100644 data/syntax/ini.xml
create mode 100644 data/syntax/isocpp.xml
create mode 100644 data/syntax/j.xml
create mode 100644 data/syntax/jam.xml
create mode 100644 data/syntax/java.xml
create mode 100644 data/syntax/javadoc.xml
create mode 100644 data/syntax/javascript.xml
create mode 100644 data/syntax/jira.xml
create mode 100644 data/syntax/json.xml
create mode 100644 data/syntax/jsp.xml
create mode 100644 data/syntax/julia.xml
create mode 100644 data/syntax/k.xml
create mode 100644 data/syntax/kbasic.xml
create mode 100644 data/syntax/kconfig.xml
create mode 100644 data/syntax/kdesrc-buildrc.xml
create mode 100644 data/syntax/kotlin.xml
create mode 100644 data/syntax/latex.xml
create mode 100644 data/syntax/ld.xml
create mode 100644 data/syntax/ldif.xml
create mode 100644 data/syntax/less.xml
create mode 100644 data/syntax/lex.xml
create mode 100644 data/syntax/lilypond.xml
create mode 100644 data/syntax/literate-curry.xml
create mode 100644 data/syntax/literate-haskell.xml
create mode 100644 data/syntax/logtalk.xml
create mode 100644 data/syntax/lpc.xml
create mode 100644 data/syntax/lsl.xml
create mode 100644 data/syntax/lua.xml
create mode 100644 data/syntax/m3u.xml
create mode 100644 data/syntax/m4.xml
create mode 100644 data/syntax/mab.xml
create mode 100644 data/syntax/magma.xml
create mode 100644 data/syntax/makefile.xml
create mode 100644 data/syntax/mako.xml
create mode 100644 data/syntax/mandoc.xml
create mode 100644 data/syntax/markdown.xml
create mode 100644 data/syntax/mason.xml
create mode 100644 data/syntax/mathematica.xml
create mode 100644 data/syntax/matlab.xml
create mode 100644 data/syntax/maxima.xml
create mode 100644 data/syntax/mediawiki.xml
create mode 100644 data/syntax/mel.xml
create mode 100644 data/syntax/mergetagtext.xml
create mode 100644 data/syntax/meson.xml
create mode 100644 data/syntax/metafont.xml
create mode 100644 data/syntax/mips.xml
create mode 100644 data/syntax/modelica.xml
create mode 100644 data/syntax/modelines.xml
create mode 100644 data/syntax/modula-2.xml
create mode 100644 data/syntax/monobasic.xml
create mode 100644 data/syntax/mup.xml
create mode 100644 data/syntax/nagios.xml
create mode 100644 data/syntax/nasm.xml
create mode 100644 data/syntax/nemerle.xml
create mode 100644 data/syntax/nesc.xml
create mode 100644 data/syntax/noweb.xml
create mode 100644 data/syntax/nsis.xml
create mode 100644 data/syntax/objectivec.xml
create mode 100644 data/syntax/objectivecpp.xml
create mode 100644 data/syntax/ocaml.xml
create mode 100644 data/syntax/ocamllex.xml
create mode 100644 data/syntax/ocamlyacc.xml
create mode 100644 data/syntax/octave.xml
create mode 100644 data/syntax/oors.xml
create mode 100644 data/syntax/opal.xml
create mode 100644 data/syntax/opencl.xml
create mode 100644 data/syntax/pango.xml
create mode 100644 data/syntax/pascal.xml
create mode 100644 data/syntax/perl.xml
create mode 100644 data/syntax/pgn.xml
create mode 100644 data/syntax/php.xml
create mode 100644 data/syntax/picsrc.xml
create mode 100644 data/syntax/pig.xml
create mode 100644 data/syntax/pike.xml
create mode 100644 data/syntax/pli.xml
create mode 100644 data/syntax/ply.xml
create mode 100644 data/syntax/postscript.xml
create mode 100644 data/syntax/povray.xml
create mode 100644 data/syntax/ppd.xml
create mode 100644 data/syntax/praat.xml
create mode 100644 data/syntax/progress.xml
create mode 100644 data/syntax/prolog.xml
create mode 100644 data/syntax/protobuf.xml
create mode 100644 data/syntax/puppet.xml
create mode 100644 data/syntax/purebasic.xml
create mode 100644 data/syntax/python.xml
create mode 100644 data/syntax/q.xml
create mode 100644 data/syntax/qmake.xml
create mode 100644 data/syntax/qml.xml
create mode 100644 data/syntax/r.xml
create mode 100644 data/syntax/rapidq.xml
create mode 100644 data/syntax/relaxng.xml
create mode 100644 data/syntax/relaxngcompact.xml
create mode 100644 data/syntax/replicode.xml
create mode 100644 data/syntax/rest.xml
create mode 100644 data/syntax/rexx.xml
create mode 100644 data/syntax/rhtml.xml
create mode 100644 data/syntax/rib.xml
create mode 100644 data/syntax/rmarkdown.xml
create mode 100644 data/syntax/roff.xml
create mode 100644 data/syntax/rpmspec.xml
create mode 100644 data/syntax/rsiidl.xml
create mode 100644 data/syntax/rtf.xml
create mode 100644 data/syntax/ruby.xml
create mode 100644 data/syntax/rust.xml
create mode 100644 data/syntax/sather.xml
create mode 100644 data/syntax/scala.xml
create mode 100644 data/syntax/scheme.xml
create mode 100644 data/syntax/sci.xml
create mode 100644 data/syntax/scss.xml
create mode 100644 data/syntax/sed.xml
create mode 100644 data/syntax/sgml.xml
create mode 100644 data/syntax/sieve.xml
create mode 100644 data/syntax/sisu.xml
create mode 100644 data/syntax/sml.xml
create mode 100644 data/syntax/spice.xml
create mode 100644 data/syntax/sql-mysql.xml
create mode 100644 data/syntax/sql-oracle.xml
create mode 100644 data/syntax/sql-postgresql.xml
create mode 100644 data/syntax/sql.xml
create mode 100644 data/syntax/stata.xml
create mode 100644 data/syntax/stl.xml
create mode 100644 data/syntax/systemc.xml
create mode 100644 data/syntax/systemverilog.xml
create mode 100644 data/syntax/tads3.xml
create mode 100644 data/syntax/taskjuggler.xml
create mode 100644 data/syntax/tcl.xml
create mode 100644 data/syntax/tcsh.xml
create mode 100644 data/syntax/template-toolkit.xml
create mode 100644 data/syntax/texinfo.xml
create mode 100644 data/syntax/textile.xml
create mode 100644 data/syntax/tibasic.xml
create mode 100644 data/syntax/toml.xml
create mode 100644 data/syntax/txt2tags.xml
create mode 100644 data/syntax/uscript.xml
create mode 100644 data/syntax/vala.xml
create mode 100644 data/syntax/valgrind-suppression.xml
create mode 100644 data/syntax/varnish.xml
create mode 100644 data/syntax/varnish4.xml
create mode 100644 data/syntax/varnishcc.xml
create mode 100644 data/syntax/varnishcc4.xml
create mode 100644 data/syntax/varnishtest.xml
create mode 100644 data/syntax/varnishtest4.xml
create mode 100644 data/syntax/vcard.xml
create mode 100644 data/syntax/velocity.xml
create mode 100644 data/syntax/vera.xml
create mode 100644 data/syntax/verilog.xml
create mode 100644 data/syntax/vhdl.xml
create mode 100644 data/syntax/vrml.xml
create mode 100644 data/syntax/wavefront-obj.xml
create mode 100644 data/syntax/winehq.xml
create mode 100644 data/syntax/wml.xml
create mode 100644 data/syntax/xharbour.xml
create mode 100644 data/syntax/xml.xml
create mode 100644 data/syntax/xmldebug.xml
create mode 100644 data/syntax/xonotic-console.xml
create mode 100644 data/syntax/xorg.xml
create mode 100644 data/syntax/xslt.xml
create mode 100644 data/syntax/xul.xml
create mode 100644 data/syntax/yacas.xml
create mode 100644 data/syntax/yacc.xml
create mode 100644 data/syntax/yaml.xml
create mode 100644 data/syntax/zonnon.xml
create mode 100644 data/syntax/zsh.xml
create mode 100644 data/themes/breeze-dark.theme
create mode 100644 data/themes/default.theme
create mode 100644 data/themes/printing.theme
create mode 100644 data/themes/theme-data.qrc
create mode 100644 examples/CMakeLists.txt
create mode 100644 examples/codeeditor.cpp
create mode 100644 examples/codeeditor.h
create mode 100644 examples/main.cpp
create mode 100644 metainfo.yaml
create mode 100644 org_kde_ksyntaxhighlighting.categories
create mode 100644 src/CMakeLists.txt
create mode 100755 src/Messages.sh
create mode 100644 src/cli/CMakeLists.txt
create mode 100644 src/cli/kate-syntax-highlighter.cpp
create mode 100644 src/indexer/CMakeLists.txt
create mode 100644 src/indexer/katehighlightingindexer.cpp
create mode 100644 src/lib/CMakeLists.txt
create mode 100644 src/lib/abstracthighlighter.cpp
create mode 100644 src/lib/abstracthighlighter.h
create mode 100644 src/lib/abstracthighlighter_p.h
create mode 100644 src/lib/context.cpp
create mode 100644 src/lib/context_p.h
create mode 100644 src/lib/contextswitch.cpp
create mode 100644 src/lib/contextswitch_p.h
create mode 100644 src/lib/definition.cpp
create mode 100644 src/lib/definition.h
create mode 100644 src/lib/definition_p.h
create mode 100644 src/lib/definitiondownloader.cpp
create mode 100644 src/lib/definitiondownloader.h
create mode 100644 src/lib/definitionref_p.h
create mode 100644 src/lib/foldingregion.cpp
create mode 100644 src/lib/foldingregion.h
create mode 100644 src/lib/format.cpp
create mode 100644 src/lib/format.h
create mode 100644 src/lib/format_p.h
create mode 100644 src/lib/htmlhighlighter.cpp
create mode 100644 src/lib/htmlhighlighter.h
create mode 100644 src/lib/keywordlist.cpp
create mode 100644 src/lib/keywordlist_p.h
create mode 100644 src/lib/matchresult.cpp
create mode 100644 src/lib/matchresult_p.h
create mode 100644 src/lib/repository.cpp
create mode 100644 src/lib/repository.h
create mode 100644 src/lib/repository_p.h
create mode 100644 src/lib/rule.cpp
create mode 100644 src/lib/rule_p.h
create mode 100644 src/lib/state.cpp
create mode 100644 src/lib/state.h
create mode 100644 src/lib/state_p.h
create mode 100644 src/lib/syntaxhighlighter.cpp
create mode 100644 src/lib/syntaxhighlighter.h
create mode 100644 src/lib/textstyledata_p.h
create mode 100644 src/lib/theme.cpp
create mode 100644 src/lib/theme.h
create mode 100644 src/lib/themedata.cpp
create mode 100644 src/lib/themedata_p.h
create mode 100644 src/lib/wildcardmatcher.cpp
create mode 100644 src/lib/wildcardmatcher_p.h
create mode 100644 src/lib/xml_p.h
diff --git a/.arcconfig b/.arcconfig
new file mode 100644
index 0000000..b9b60c8
--- /dev/null
+++ b/.arcconfig
@@ -0,0 +1,3 @@
+{
+ "phabricator.uri" : "https://phabricator.kde.org/project/profile/152/"
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..02b6adb
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+*.kdev4
+*~
+*.rej
+*.orig
+*.out
+CMakeLists.txt.user
+callgrind.*
+heaptrack.*
+po
diff --git a/.kateconfig b/.kateconfig
new file mode 100644
index 0000000..4442086
--- /dev/null
+++ b/.kateconfig
@@ -0,0 +1 @@
+// kate: space-indent on; indent-width 4; remove-trailing-spaces modified;
diff --git a/.krazy b/.krazy
new file mode 100644
index 0000000..02e434c
--- /dev/null
+++ b/.krazy
@@ -0,0 +1,2 @@
+CHECKSETS kde5
+SKIP /autotests/input/
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..0e8f2b0
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,87 @@
+project(SyntaxHighlighting)
+
+cmake_minimum_required(VERSION 2.8.12)
+
+find_package(ECM 5.26.0 REQUIRED NO_MODULE)
+set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
+if(POLICY CMP0063)
+ cmake_policy(SET CMP0063 NEW)
+endif()
+
+include(FeatureSummary)
+include(GenerateExportHeader)
+include(ECMSetupVersion)
+include(ECMGenerateHeaders)
+include(ECMGeneratePriFile)
+include(ECMPackageConfigHelpers)
+include(ECMPoQmTools)
+include(ECMQtDeclareLoggingCategory)
+include(KDEInstallDirs)
+include(KDEFrameworkCompilerSettings)
+include(KDECMakeSettings)
+
+set(KF5_VERSION "5.28.0")
+
+ecm_setup_version(${KF5_VERSION}
+ VARIABLE_PREFIX SyntaxHighlighting
+ VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/ksyntaxhighlighting_version.h"
+ PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5SyntaxHighlightingConfigVersion.cmake"
+)
+
+#
+# Dependencies
+#
+set(REQUIRED_QT_VERSION "5.6.0")
+find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED COMPONENTS Core Gui Network Test)
+find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE QUIET OPTIONAL_COMPONENTS Widgets XmlPatterns)
+set_package_properties(Qt5 PROPERTIES URL "http://qt-project.org/")
+set_package_properties(Qt5Widgets PROPERTIES PURPOSE "Example application.")
+set_package_properties(Qt5XmlPatterns PROPERTIES PURPOSE "Compile-time validation of syntax definition files.")
+
+find_package(Perl REQUIRED)
+set_package_properties(Perl PROPERTIES PURPOSE "Auto-generate PHP syntax definition files.")
+
+#
+# Translations
+#
+if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
+ ecm_install_po_files_as_qm(po)
+endif()
+
+#
+# Actually build the stuff
+#
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+add_subdirectory(data)
+add_subdirectory(src)
+add_subdirectory(examples)
+add_subdirectory(autotests)
+
+#
+# CMake package config file generation
+#
+set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5SyntaxHighlighting")
+
+ecm_configure_package_config_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/KF5SyntaxHighlightingConfig.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/KF5SyntaxHighlightingConfig.cmake"
+ INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+)
+
+install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/KF5SyntaxHighlightingConfig.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/KF5SyntaxHighlightingConfigVersion.cmake"
+ DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+ COMPONENT Devel)
+
+install(EXPORT KF5SyntaxHighlightingTargets
+ DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+ FILE KF5SyntaxHighlightingTargets.cmake
+ NAMESPACE KF5::)
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ksyntaxhighlighting_version.h"
+ DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF5}"
+ COMPONENT Devel)
+install(FILES org_kde_ksyntaxhighlighting.categories DESTINATION ${KDE_INSTALL_CONFDIR})
+
+feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff --git a/COPYING.LIB b/COPYING.LIB
new file mode 100644
index 0000000..2d2d780
--- /dev/null
+++ b/COPYING.LIB
@@ -0,0 +1,510 @@
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations
+below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it
+becomes a de-facto standard. To achieve this, non-free programs must
+be allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control
+compilation and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at least
+ three years, to give the same user the materials specified in
+ Subsection 6a, above, for a charge no more than the cost of
+ performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply, and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License
+may add an explicit geographical distribution limitation excluding those
+countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms
+of the ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library.
+It is safest to attach them to the start of each source file to most
+effectively convey the exclusion of warranty; and each file should
+have at least the "copyright" line and a pointer to where the full
+notice is found.
+
+
+
+ Copyright (C)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or
+your school, if any, to sign a "copyright disclaimer" for the library,
+if necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James
+ Random Hacker.
+
+ , 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/KF5SyntaxHighlightingConfig.cmake.in b/KF5SyntaxHighlightingConfig.cmake.in
new file mode 100644
index 0000000..d4cfc8a
--- /dev/null
+++ b/KF5SyntaxHighlightingConfig.cmake.in
@@ -0,0 +1,5 @@
+@PACKAGE_INIT@
+
+find_package(Qt5 @Qt5Core_VERSION_MAJOR@.@Qt5Core_VERSION_MINOR@ NO_MODULE REQUIRED COMPONENTS Core Gui)
+
+include("${CMAKE_CURRENT_LIST_DIR}/KF5SyntaxHighlightingTargets.cmake")
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..1eedc0a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,32 @@
+# Syntax Highlighting
+
+Syntax highlighting engine for Kate syntax definitions
+
+## Introduction
+
+This is a stand-alone implementation of the Kate syntax highlighting engine.
+It's meant as a building block for text editors as well as for simple highlighted
+text rendering (e.g. as HTML), supporting both integration with a custom editor
+as well as a ready-to-use QSyntaxHighlighter sub-class.
+
+## Syntax Definition Files
+
+This library uses Kate syntax definition files for the actual highlighting,
+the file format is documented [here](https://docs.kde.org/stable5/en/applications/katepart/highlight.html).
+
+More than 250 syntax definition files are included, additional ones are
+picked up from the file system if present, so you can easily extend this
+by application-specific syntax definitions for example.
+
+## Out of scope
+
+To not turn this into yet another text editor, the following things are considered
+out of scope:
+
+* code folding, beyond providing folding range information
+* auto completion
+* spell checking
+* user interface for configuration
+* management of text buffers or documents
+
+If you need any of this, check out [KTextEditor](https://api.kde.org/frameworks/ktexteditor/html/).
diff --git a/add_license.sh b/add_license.sh
new file mode 100755
index 0000000..00af0e5
--- /dev/null
+++ b/add_license.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+find "$@" -name '*.h' -o -name '*.cpp' -o -name '*.qml' -o -name '*.c' | grep -v /3rdparty/ | grep -v /input | while read FILE; do
+ if grep -qiE "Copyright \(C\) [0-9, -]{4,} " "$FILE" ; then continue; fi
+ thisfile=`basename $FILE`
+ authorName=`git config user.name`
+ authorEmail=`git config user.email`
+ thisYear=`date +%Y`
+ cat < "$FILE".tmp
+/*
+ Copyright (C) $thisYear $authorName <$authorEmail>
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+EOF
+ cat "$FILE" >> "$FILE".tmp
+ mv "$FILE".tmp "$FILE"
+done
+
diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
new file mode 100644
index 0000000..5db5d42
--- /dev/null
+++ b/autotests/CMakeLists.txt
@@ -0,0 +1,34 @@
+configure_file(test-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/test-config.h)
+configure_file(update-reference-data.sh.in ${CMAKE_CURRENT_BINARY_DIR}/update-reference-data.sh)
+
+add_executable(wildcardmatcher_test wildcardmatcher_test.cpp ${CMAKE_SOURCE_DIR}/src/lib/wildcardmatcher.cpp)
+add_test(NAME wildcardmatcher_test COMMAND wildcardmatcher_test)
+target_link_libraries(wildcardmatcher_test KF5SyntaxHighlighting Qt5::Test)
+
+add_executable(syntaxrepository_test syntaxrepository_test.cpp)
+add_test(NAME syntaxrepository_test COMMAND syntaxrepository_test)
+target_link_libraries(syntaxrepository_test KF5SyntaxHighlighting Qt5::Test)
+
+add_executable(theme_test theme_test.cpp)
+add_test(NAME theme_test COMMAND theme_test)
+target_link_libraries(theme_test KF5SyntaxHighlighting Qt5::Test)
+
+add_executable(testhighlighter_test testhighlighter.cpp)
+add_test(NAME testhighlighter_test COMMAND testhighlighter_test)
+target_link_libraries(testhighlighter_test KF5SyntaxHighlighting Qt5::Test)
+
+add_executable(htmlhighlighter_test htmlhighlighter_test.cpp)
+add_test(NAME htmlhighlighter_test COMMAND htmlhighlighter_test)
+target_link_libraries(htmlhighlighter_test KF5SyntaxHighlighting Qt5::Test)
+
+add_executable(folding_test foldingtest.cpp)
+add_test(NAME folding_test COMMAND folding_test)
+target_link_libraries(folding_test KF5SyntaxHighlighting Qt5::Test)
+
+add_executable(highlighter_benchmark highlighter_benchmark.cpp)
+add_test(NAME highlighter_benchmark COMMAND highlighter_benchmark)
+target_link_libraries(highlighter_benchmark KF5SyntaxHighlighting Qt5::Test)
+
+add_executable(repository_benchmark repository_benchmark.cpp)
+add_test(NAME repository_benchmark COMMAND repository_benchmark)
+target_link_libraries(repository_benchmark KF5SyntaxHighlighting Qt5::Test)
diff --git a/autotests/folding/Dockerfile.fold b/autotests/folding/Dockerfile.fold
new file mode 100644
index 0000000..95a81d3
--- /dev/null
+++ b/autotests/folding/Dockerfile.fold
@@ -0,0 +1,19 @@
+# LGPLv2+ example file
+
+# This is a comment
+FROM ubuntu:14.04
+MAINTAINER James Turnbull # comment
+ENV REFRESHED_AT 2014-06-01
+
+RUN apt-get -yqq update
+RUN apt-get install -yqq software-properties-common python-software-properties
+RUN add-apt-repository ppa:chris-lea/redis-server
+RUN apt-get -yqq update
+RUN apt-get -yqq install redis-server redis-tools
+RUN apt-get -yqq update # comment
+
+VOLUME [ "/var/lib/redis", "/var/log/redis/" ]
+
+EXPOSE 6379
+
+CMD []
diff --git a/autotests/folding/Kconfig.fold b/autotests/folding/Kconfig.fold
new file mode 100644
index 0000000..26df6be
--- /dev/null
+++ b/autotests/folding/Kconfig.fold
@@ -0,0 +1,15 @@
+This is wrong but should not crash ] ) } !
+
+# comment
+
+config BR2_PACKAGE_GAMMARAY
+ bool "gammaray"
+ depends on BR2_PACKAGE_QT5
+ help
+ GammaRay Qt introspection probe.
+ second line of help, with correct indentation
+ third line underindented and thus wrong
+ default 'true'
+
+menu myMenumenu myMenu
+endmenu
diff --git a/autotests/folding/Makefile.fold b/autotests/folding/Makefile.fold
new file mode 100644
index 0000000..1aae297
--- /dev/null
+++ b/autotests/folding/Makefile.fold
@@ -0,0 +1,25 @@
+# comment
+
+include Makefile.in
+
+.PHONY: all
+
+all: target
+
+foo = bar $(var) \
+ $(baz) quux
+
+ifeq ($(CC),gcc)
+ bla=$(call func,param1,param2)
+else
+ libs=$(normal_libs)
+endif
+
+target1:
+ error
+
+target2: bla.cpp $@
+ $(CC) bla.c -o bla.o
+ $(CC) bla.o $< \
+ -o bla.exe
+ @echo "hello"
diff --git a/autotests/folding/basic.markdown.fold b/autotests/folding/basic.markdown.fold
new file mode 100644
index 0000000..f9a5bb3
--- /dev/null
+++ b/autotests/folding/basic.markdown.fold
@@ -0,0 +1,6 @@
+normal
+
+* item1
+still part of item
+
+normal text again
diff --git a/autotests/folding/basic.xml.fold b/autotests/folding/basic.xml.fold
new file mode 100644
index 0000000..1d6ab4b
--- /dev/null
+++ b/autotests/folding/basic.xml.fold
@@ -0,0 +1,4 @@
+ version="1.0" encoding="UTF-8"?>
+ attr1="a1">
+ />
+ >
diff --git a/autotests/folding/complex.xml.fold b/autotests/folding/complex.xml.fold
new file mode 100644
index 0000000..0c79e82
--- /dev/null
+++ b/autotests/folding/complex.xml.fold
@@ -0,0 +1,13 @@
+ version="1.0" encoding="UTF-8"?>
+language SYSTEM "language.dtd"
+[
+
+
+
+] >
+ attr1="a1" attr2="2.03" attr3="&entity;">
+ />
+ >
+
+>
diff --git a/autotests/folding/cube.obj.fold b/autotests/folding/cube.obj.fold
new file mode 100644
index 0000000..ef06c98
--- /dev/null
+++ b/autotests/folding/cube.obj.fold
@@ -0,0 +1,33 @@
+# cube.obj
+#
+
+g cube
+
+v 0.0 0.0 0.0
+v 0.0 0.0 1.0
+v 0.0 1.0 0.0
+v 0.0 1.0 1.0
+v 1.0 0.0 0.0
+v 1.0 0.0 1.0
+v 1.0 1.0 0.0
+v 1.0 1.0 1.0
+
+vn 0.0 0.0 1.0
+vn 0.0 0.0 -1.0
+vn 0.0 1.0 0.0
+vn 0.0 -1.0 0.0
+vn 1.0 0.0 0.0
+vn -1.0 0.0 0.0
+
+f 1//2 7//2 5//2
+f 1//2 3//2 7//2
+f 1//6 4//6 3//6
+f 1//6 2//6 4//6
+f 3//3 8//3 7//3
+f 3//3 4//3 8//3
+f 5//5 7//5 8//5
+f 5//5 8//5 6//5
+f 1//4 5//4 6//4
+f 1//4 6//4 2//4
+f 2//1 6//1 8//1
+f 2//1 8//1 4//1
diff --git a/autotests/folding/cube.ply.fold b/autotests/folding/cube.ply.fold
new file mode 100644
index 0000000..08d5f89
--- /dev/null
+++ b/autotests/folding/cube.ply.fold
@@ -0,0 +1,26 @@
+error before header
+
+ply
+format ascii 1.0
+comment TODO this is a comment
+element vertex 8
+property float x
+property float y
+property float z
+element face 6
+property list uint int vertex_indices
+end_header
+-1 -1 -1
+1 -1 -1
+1 1 -1
+-1 1 -1
+-1 -1 1
+1 -1 1
+1 1 1
+-1 1 1
+4 0 1 2 3
+4 5 4 7 6
+4 6 2 1 5
+4 3 7 4 0
+4 7 3 2 6
+4 5 1 0 4
diff --git a/autotests/folding/cube.stl.fold b/autotests/folding/cube.stl.fold
new file mode 100644
index 0000000..ae74fd9
--- /dev/null
+++ b/autotests/folding/cube.stl.fold
@@ -0,0 +1,30 @@
+solid cube_corner
+ facet normal 0.0 -1.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 1.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+ facet normal 0.0 0.0 -1.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 1.0 0.0 0.0
+ endloop
+ endfacet
+ facet normal -1.0 0.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ vertex 0.0 1.0 0.0
+ endloop
+ endfacet
+ facet normal 0.577 0.577 0.577
+ outer loop
+ vertex 1.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+endsolid
diff --git a/autotests/folding/example.rmd.fold b/autotests/folding/example.rmd.fold
new file mode 100644
index 0000000..154c31c
--- /dev/null
+++ b/autotests/folding/example.rmd.fold
@@ -0,0 +1,39 @@
+---
+title: " test"
+author: " me"
+date: " 07.10.2014"
+output: html_document
+---
+
+This is a simple test document. It shows syntax highlighting switches between YAML (above), R blocks
+```{r, echo=FALSE}
+for (i in 1:10) {
+ if(i>=10) print(i)
+}
+# two blank lines below
+
+sessionInfo()
+```
+
+LaTeX equations,
+$$
+h_{i}(t \mid q,C) = h_{0}(t) e^{\beta_{1}quality_{i} + \beta_{2}C_{iq}}
+$$
+
+and Markdown. A [link](http://example.com) in Markdown.
+
+Inline `r y <- 5 + x - sin(3)` R code.
+Inline `y <- 5 + x - sin(3)` code.
+
+
+ Heading
+ =======
+
+ Sub-heading
+ -----------
+ A list of editors:
+ * kate
+ * vim
+ * emacs
+
+*italic*, **bold**, `monospace`
diff --git a/autotests/folding/firstNonSpace.c.fold b/autotests/folding/firstNonSpace.c.fold
new file mode 100644
index 0000000..570ba90
--- /dev/null
+++ b/autotests/folding/firstNonSpace.c.fold
@@ -0,0 +1,7 @@
+#define 1
+ #define 2
+ #define 3
+ #define 4
+ #define 5
+ #define tab
+
diff --git a/autotests/folding/folding.cpp.fold b/autotests/folding/folding.cpp.fold
new file mode 100644
index 0000000..68e89c3
--- /dev/null
+++ b/autotests/folding/folding.cpp.fold
@@ -0,0 +1,15 @@
+/**
+ * multi-line comment
+ */
+
+/* comment */
+{ { } {
+//BEGIN
+}
+//END
+}
+
+#if 0
+#elif 1
+#else
+#endif
diff --git a/autotests/folding/git-rebase.fold b/autotests/folding/git-rebase.fold
new file mode 100644
index 0000000..43041bb
--- /dev/null
+++ b/autotests/folding/git-rebase.fold
@@ -0,0 +1,32 @@
+pick 318aceb Add test for Makefile highlighting
+p 4c7182a Add first batch of test files resurrected from Kate 4.6
+r 6f7d8a7 Sync xml files with KTextEditor
+reword 8f0dbdc Add another batch of resurrected tests from Kate 4.6
+e 828de45 Add some more resurrected tests from Kate 4.6
+edit 6aa6264 Add simple coverage information for syntax definition tests
+s 63df253 Add more syntax highlighting tests from Kate 4.6
+squash 3e7771f Add three more tests recovered from Kate 4.6
+f 5c7fd91 Add Kate 4.6 ASP syntax test
+fixup 7a777ff Implement case-sensitive overrides for keyword rules
+exec 2b16665 Implement dynamic DetectChar rules
+drop dd808dc Quote captured strings we replace in regular expressions
+x 0b703a3 Add a few more tests from the Kate 4.6 test suite
+
+# Rebase a27a854..0b703a3 onto a27a854 (13 command(s))
+#
+# Commands:
+# p, pick = use commit
+# r, reword = use commit, but edit the commit message
+# e, edit = use commit, but stop for amending
+# s, squash = use commit, but meld into previous commit
+# f, fixup = like "squash", but discard this commit's log message
+# x, exec = run command (the rest of the line) using shell
+# d, drop = remove commit
+#
+# These lines can be re-ordered; they are executed from top to bottom.
+#
+# If you remove a line here THAT COMMIT WILL BE LOST.
+#
+# However, if you remove everything, the rebase will be aborted.
+#
+# Note that empty commits are commented out
diff --git a/autotests/folding/hello.exs.fold b/autotests/folding/hello.exs.fold
new file mode 100644
index 0000000..cca72a1
--- /dev/null
+++ b/autotests/folding/hello.exs.fold
@@ -0,0 +1,11 @@
+parent = self()
+
+# Spawns an Elixir process (not an operating system one!)
+spawn_link(fn ->
+ send parent, {:msg, "hello world"}
+end)
+
+# Block until the message is received
+receive do
+ {:msg, contents} -> IO.puts contents
+end
diff --git a/autotests/folding/highlight.ahdl.fold b/autotests/folding/highlight.ahdl.fold
new file mode 100644
index 0000000..26924b4
--- /dev/null
+++ b/autotests/folding/highlight.ahdl.fold
@@ -0,0 +1,43 @@
+-- Test file for kate's syntax highlighting
+Title "Test file";
+
+-- BEGIN region (a region marker region) :)
+
+% multiline comment
+goes on here %
+
+-- END
+
+FUNCTION FCT ( Clk, Key) RETURNS ( pulse) ;
+
+SUBDESIGN CDCLOCK2
+(
+in : INPUT; -- go in
+out[3..0] : OUTPUT; -- come out
+)
+
+VARIABLE
+start : soft;
+usec[3..0] : node;
+
+BEGIN
+
+in = FCT( clock, some_key) ; -- senseless code
+
+-- comment
+blubb = ( blobb[] == H"3ff") ;
+
+IF in THEN asdf
+-- folde me
+END IF ;
+
+TABLE
+-- missing code
+END TABLE
+
+
+END ;
+
+-- hex, octal, binary
+H"0" => B"1000000";
+O"01234567";
diff --git a/autotests/folding/highlight.asm-avr.fold b/autotests/folding/highlight.asm-avr.fold
new file mode 100644
index 0000000..62e3ee9
--- /dev/null
+++ b/autotests/folding/highlight.asm-avr.fold
@@ -0,0 +1,75 @@
+;********************************************************************
+;* LED flasher: LED will flash with a X on/off ratio at PD6
+;*
+;* NOTE: delay depends in the value of X, 1 is fast, 255 is slow
+;*
+;* No copyright ©1998 RES® * FREEWARE *
+;*
+;* NOTE: Connect a low current LED with a 1k resistor in serie from
+;* Vdd to pin 11 of the MCU. (Or a normal LED with a 330ohm)
+;*
+;* RES® can be reached by email: digitalaudio@mail.com
+;* or visit the website: http://home.wanadoo.nl/electro1/avr
+;*
+;* Version :1.0
+;* Date :12/26/98
+;* Author :Rob's ElectroSoft®
+;* Target MCU :AT90S1200-12PI@4MHz
+;********************************************************************
+
+.include "1200def.inc"
+
+ rjmp RESET ;reset handle
+
+
+;* Long delay
+
+;* Register variables
+
+ .def T1 = r1
+ .def T2 = r2
+ .def temp = r19
+
+;* Code
+
+longDelay:
+ clr T1 ;T1 used as delay 2nd count
+ clr T2 ;T2 used as delay 3d count
+delay_1:
+ dec T2
+ brne delay_1
+ dec T1
+ brne delay_1
+ dec temp ;temp must be preset as
+ brne delay_1 ; delay master count
+ ret
+
+
+;* Resets the data direction register D
+
+;* Defines
+
+ .equ led = 6 ;LED at PD6
+
+;* Code
+
+RESET:
+ sbi DDRD, led ;connect LED to PORTD pin 6
+
+
+;* Main program
+
+;* This part will let the LED go on and off by X
+
+;* Register variables
+
+ .equ X = 10 ;enter delaytime X
+
+flash:
+ sbi PORTD, led ;LED on
+ ldi temp, X ;X sec delay
+ rcall longDelay
+ cbi PORTD, led ;LED off
+ ldi temp, X ;X sec delay
+ rcall longDelay
+ rjmp flash ;another run
diff --git a/autotests/folding/highlight.asm-nasm.fold b/autotests/folding/highlight.asm-nasm.fold
new file mode 100644
index 0000000..a5da4d1
--- /dev/null
+++ b/autotests/folding/highlight.asm-nasm.fold
@@ -0,0 +1,27 @@
+; Example file for nasm.xml kate syntax file
+; compile with `nasm example.asm -f elf -o example.o`
+; and link with 'gcc example.o -o example`
+; Public domain
+; kate: hl Intel x86 (NASM);
+
+section .data
+
+hello dd 'Hello World', 0x0A, 0h
+printf_param dd '%s', 0q
+
+section .text
+
+extern printf
+
+global main
+main:
+ push ebp
+ mov ebp, esp
+
+ push hello
+ push printf_param
+ call printf
+
+ mov eax, 0b
+ leave
+ ret
diff --git a/autotests/folding/highlight.asp.fold b/autotests/folding/highlight.asp.fold
new file mode 100644
index 0000000..b938201
--- /dev/null
+++ b/autotests/folding/highlight.asp.fold
@@ -0,0 +1,58 @@
+<% 'kate: hl ASP;
+if ( instr(request.servervariables("PATH_INFO"),"login.asp") <= 0 and instr(request.servervariables("PATH_INFO"),"inset") <= 0 and instr(request.servervariables("PATH_INFO"),"Data") <= 0 and instr(request.servervariables("PATH_INFO"),"dropDown") <= 0 ) then
+ Session("originalRequestedPage") = Request.ServerVariables("PATH_INFO") & "?" & Request.ServerVariables("QUERY_STRING")
+end if
+
+function countRecords( rsToCount )
+ numRecs = 0
+
+ do until rsToCount.eof
+ numRecs = numRecs + 1
+
+ rsToCount.movenext
+ loop
+
+ rsToCount.close ' just to make sure nobody
+ ' tries to operate on the recordset,
+ ' which has already reached eof
+
+ countRecords = numRecs
+end function
+
+function unique( rs, sortColumn ) ' return unique instances of text in sortColumn within rs
+ dim sorted()
+
+ redim sorted(1)
+ dim i
+ i = 0
+ do until rs.eof
+ if (not find( rs(sortColumn), sorted )) then
+ redim preserve sorted(i+1)
+ sorted(i) = rs(sortColumn)
+ i = i + 1
+ end if
+ rs.MoveNext
+ loop
+
+ redim preserve sorted(i-1) ' the function will add an extra blank entry to the array
+
+ rs.Close ' close the recordset - we'll be using it again - and reset i - well be using it again, too
+
+ unique = sorted
+end function
+
+sub testSub( variable ) ' do nothing impressive...
+ dim newVar
+
+ newVar = variable
+
+ if ( variable = true )
+ response.end
+ else %>else %>
+
+We are writing text.
+<%=newVar%>
+We have written text and outputted a variable.
+
+<% end if
+end sub %>
diff --git a/autotests/folding/highlight.awk.fold b/autotests/folding/highlight.awk.fold
new file mode 100644
index 0000000..1aeb187
--- /dev/null
+++ b/autotests/folding/highlight.awk.fold
@@ -0,0 +1,28 @@
+#!/usr
+# AWK hl test
+
+# BEGIN and END are also matched as patterns
+BEGIN {
+ p = 0;
+}
+
+/some pattern/ {
+ p++;
+}
+
+# / inside brackets is not considered end of expression
+# a loose division operator (/) is not mismatched as a pattern.
+$1 =~ /[^abc/]def/ || b == 3 / 5 {
+
+ gsub ( FILENAME );
+
+}
+
+# TODO and FIXME also work in comments in Awk.
+
+# Also backslash in patterns works.
+/\/usr\/bin\/awk/ { print "This is me"; }
+
+END {
+ print p;
+}
diff --git a/autotests/folding/highlight.bib.fold b/autotests/folding/highlight.bib.fold
new file mode 100644
index 0000000..9d521ee
--- /dev/null
+++ b/autotests/folding/highlight.bib.fold
@@ -0,0 +1,31 @@
+% test file for kate's bibtex syntax highlighting
+
+@Article{ artikel,
+author = {Me},
+title = {Something},
+journal = {JHEP},
+year = {2003},
+}
+
+@Book
+
+{
+
+boek,
+author = "Someone",
+title = "Something",
+journal = "Nucl. Phys. B",
+year = "2003",
+}
+
+This is ignored by BibTeX, no special highlighting
+%This is not a comment, it is just ignored (thanks to the people in #latex) :)
+
+@string{test="lange string die ik niet vaak opnieuw wil intikken"}
+
+@PhdThesis{ thesis,
+author = {Me},
+title = {Dunno},
+school = {ITFA},
+year = {2005, hopefully},
+}
diff --git a/autotests/folding/highlight.cmake.fold b/autotests/folding/highlight.cmake.fold
new file mode 100644
index 0000000..67b67d4
--- /dev/null
+++ b/autotests/folding/highlight.cmake.fold
@@ -0,0 +1,49 @@
+#this CMakeLists.txt doesn't do anything useful, but it shoudl demonstrate the cmake syntax highlighting
+#Alexander Neundorf
+
+#ok this is a comment
+#and another line
+#a built-in command, it's bold black
+ADD_DEFINITIONS(-Wall -Wctor-dtor-privacy -Woverloaded-virtual -Wno-long-long -pipe -fno-builtin -fno-exceptions)
+
+#and another function
+INCLUDE_DIRECTORIES(
+#comments are also highlighted inside function parameters
+#variables are Qt::blue
+${CMAKE_CURRENT_SOURCE_DIR}/../../lib/qt4/include/Qt
+)
+
+# BEGIN defining a macro
+MACRO(ECOS_ADD_EXECUTABLE _exe_NAME )
+
+#special parameters are italic, see the STATIC in the next line
+ADD_LIBRARY(${_exe_NAME} STATIC ${ARGN})
+#but not in the following line ?
+ ADD_LIBRARY(${_exe_NAME} STATIC ${ARGN})
+# it seems the kate highlighting file could need some love, Alex
+
+
+#another command with a bunch of variables and special parameters
+ ADD_CUSTOM_COMMAND(
+ TARGET ${_exe_NAME}
+ PRE_LINK
+ COMMAND ${CMAKE_C_COMPILER}
+ ARGS -o ${_exe_NAME}
+$\(${_exe_NAME}_SRC_OBJS\) -nostdlib -nostartfiles -Lecos/install/lib -Ttarget.ld
+ )
+
+#add the created files to the make_clean_files
+ SET(ECOS_ADD_MAKE_CLEAN_FILES ${ECOS_ADD_MAKE_CLEAN_FILES};${_exe_NAME};)
+#and another command...
+ SET_DIRECTORY_PROPERTIES(
+ PROPERTIES
+ ADDITIONAL_MAKE_CLEAN_FILES "${ECOS_ADD_MAKE_CLEAN_FILES}"
+ )
+ENDMACRO(ECOS_ADD_EXECUTABLE)
+# END of macro
+
+#calling a self-defined function, variables are also Qt::blue here
+ECOS_ADD_EXECUTABLE(${PROJECT_NAME} ${the_sources} ${qt4_moc_SRCS})
+
+
+
diff --git a/autotests/folding/highlight.css.fold b/autotests/folding/highlight.css.fold
new file mode 100644
index 0000000..f808543
--- /dev/null
+++ b/autotests/folding/highlight.css.fold
@@ -0,0 +1,49 @@
+/* *
+ * This is a pseudo CSS file to test Kate's CSS syntax highlighting.
+ */
+
+@import url("othersheet.css") screen, tv;
+
+body {
+ font-size: 15pt;
+ font-family: Verdana, Helvetica, "Bitstream Vera Sans", sans-serif;
+ margin-top: 0px; /* yet another comment */
+ margin-bottom: 0px;
+ // this is no comment, it's just broken!
+ margin-left: 0px;
+ margin-right: 0px;
+}
+
+.something
+{
+ margin-right: 0px;
+ color: #cdd;
+ color: #AAFE04;
+ color: rgb(10%,30%,43%);
+ background: maroon;
+}
+
+a:hover {
+}
+
+#header,
+p.intro:first-letter,
+p:lang(nl),
+img[align="right"]
+{
+ border: 1px solid Qt::red !important;
+ -moz-border-radius: 15px; /* unknown properties render italic */
+}
+
+@media print {
+
+ #header
+ {
+ display: none;
+ }
+
+}
+
+/*
+TODO: add more tests, e.g. media
+*/
diff --git a/autotests/folding/highlight.d.fold b/autotests/folding/highlight.d.fold
new file mode 100644
index 0000000..44bcb09
--- /dev/null
+++ b/autotests/folding/highlight.d.fold
@@ -0,0 +1,195 @@
+/********
+* Highlight testing module.
+*
+* Do not attempt to run this!
+***********/
+module highlighttest;
+import X = null;
+
+/++ Pragma directives. DDoc + DDoc embedded items. Special Tokens.
++
++ ---
++ // comment
++ #line 12 "hightlighttest.d" /* block comment */
++ #line __LINE__ __FILE__ /++ embedded block comment +/
++
++ pragma /* */ (msg, "what?");
++ pragma(/++ +/ lib, "insane.a");
++ pragma(D_Custom_Extension, "custom data");
++ ---
++/
+
+/// version condition
+version = X;
+version (X) ;
+version(linux) { }
+
+/// linkage
+extern
+ (C) { }
+extern :
+;
+extern (Windows) { }
+
+/// alias & typedef
+alias int.min minint;
+typedef int myint;
+
+int main(char[][] args) {
+ /// statements
+ if (1) { }
+ else { }
+ with (N) { x = B}
+
+ /// attributes
+ auto x = 1;
+ static if (true) { }
+ void (in X, out Y) { } // NOTE: using in like this is rare, more common to use as an expression and no way to tell apart?
+
+ /// deprecated
+ deprecated void fct ();
+
+ /// types
+ void a;
+ ushort u;
+ int[uint] AA;
+ class C;
+ enum N : int { A = 5, B }
+ typeof(u) u2;
+
+ /// expressions
+ x = cast(int) 55;
+ void* p = null;
+ p = cast(void*) new int;
+ x = 1 in AA; // NOTE: a THIRD use of in. How to detect??
+ assert (true);
+
+ /// libsymbols
+ string s = "";
+ throw new Exception;
+ TypeInfo ti = typeid(int);
+
+ /// tests
+ debug { }
+ debug (2) { }
+ debug (DSymb) { }
+ unittest { }
+
+ /// scope (as attribute and as statement)
+ scope struct S;
+ scope (exit) { }
+ scope
+ (success) { } // NOTE: rules cannot match across new-lines
+ scope (failure) { }
+
+ /// Properties
+ x = int.min;
+ s = (5-3).stringof;
+
+ /// strings
+ s = r"raw string";
+ s = x"00FF";
+ s = \n \a;
+ s = \u1234;
+ s = \U12345678;
+ s = \& ;
+ char c = 'a';
+ s = "abc 012 \" \n \x12 \u1234 \U12345678";
+ s = `BQString '"`;
+
+ /// region markers
+ //BEGIN x
+ //END x
+
+ /// DDoc
+ /*******
+ * DDoc
+ *
+ * Section:
+ * New section.
+ * $(I italic)
+ *******/
+ /+++++++
+ + DDoc
+ + /+
+ + +/
+ +++++++/
+
+ // comments
+ // FIXME NOTE
+ /* comment */
+ /+ comment /+ nested comment +/ +/
+
+ /// brace folding
+ {
+ }
+
+ /** normal text
+ * ---
+ * .x;
+ * ..
+ * ...
+ * ....
+ * .....
+ * _._
+ * _e1
+ * ---
+ */
+
+ /// float and int literals
+ int i;
+ real r;
+ ireal ir;
+ r = .0;
+ r = 0f;
+ ir = 0e0i;
+ ir = 0.fi;
+ r = 0.0e0;
+ r = 0xF.Fp0;
+ r = 0x_._p0_;
+ i = 5;
+ i = -1;
+ i = 0b10;
+ i = 0070;
+ i = 00;
+ i = 0xF0;
+
+ /// ranges
+ int[] A;
+ i = A[1];
+ A = A[0..$];
+ A = A[0..0];
+ A = A[0..length];
+
+ /// labels
+ label:
+ goto label;
+
+ /// function, delegate
+ creal function () fp = function creal() { return 0f+0fi; } ;
+ void delegate (in int i, lazy int b) dg = delegate void (int, int) { }
+
+ /// in, out, body
+ // NOTE: highlighting in & out as statements here could be difficult
+ float F ()
+ in { }
+ out (result) { }
+ body { }
+
+ /// try, catch, finally
+ try {
+ throw new Exception("oh no... ");
+ } catch (Exception e) {
+ } finally {
+ }
+
+ /// mixin
+ mixin("return false;").stringof;
+
+ /// templates
+ macro; // what does this do?
+ template Tp (T) {
+ Tp t;
+ }
+ Tp!(int) y;
+}
diff --git a/autotests/folding/highlight.do.fold b/autotests/folding/highlight.do.fold
new file mode 100644
index 0000000..83ae062
--- /dev/null
+++ b/autotests/folding/highlight.do.fold
@@ -0,0 +1,89 @@
+/* Test file for kate's stata syntax highlighting
+*/
+*! version 1.2.0 2mar2003 E. Leuven
+program define spellsplit
+ version 7
+ syntax [anything], spell(varlist min=2 max=2) [ by(varlist)]
+ tokenize `spell'
+ local date0 `1'
+ local date1 `2'
+ local f0 : format `date0'
+ local f1 : format `date1'
+
+ /* set default statistic */
+ local current "mean"
+
+ gettoken left anything : anything, match(prns)
+ while "`left'"!="" {
+ if "`prns'"!="" {
+ if !inlist("`left'","mean","sum") {
+ di as error "Statistic `left' not supported"
+ exit 198
+ }
+ local current "`left'"
+ }
+ else {
+ local `current'vars ``current'vars' `left'
+ }
+ gettoken left anything : anything, match(prns)
+ }
+ if ("`meanvars'"!="") {
+ confirm var `meanvars'
+ unab meanvars : `meanvars'
+ }
+ if ("`sumvars'"!="") {
+ confirm var `sumvars'
+ unab sumvars : `sumvars'
+ }
+
+ quietly {
+ g _count = 1
+ local xvars `meanvars' `sumvars' _count
+
+ /* create dummy by-var if no by option is specified */
+ if "`by'"=="" {
+ tempvar by
+ g byte `by' = 1
+ }
+ tempvar `xvars' `by'
+
+ /* create negative for subtraction when spell ends */
+ cap foreach v of varlist `xvars' {
+ g double ``v'' = -`v'
+ local txvars `txvars' ``v''
+ }
+ cap foreach v of varlist `by' {
+ g double ``v'' = `v'
+ local txvars `txvars' ``v''
+ }
+
+ stack `date0' `xvars' `by' `date1' `txvars', into(`date0' `xvars' `by') clear
+
+ /* calculate totals per date */
+ cap foreach v of varlist `xvars' {
+ egen double ``v'' = sum(`v'), by(`by' `date0')
+ }
+
+ /* unique dates only */
+ by `by' `date0', sort: keep if _n==1
+
+ /* calculate totals (+ when spell starts - when ends) */
+ sort `by'
+ cap foreach v of varlist `xvars' {
+ by `by': replace `v' = sum(``v'')
+ }
+ by `by': g `date1' = `date0'[_n + 1]
+
+ drop if `date0'>`date1'
+ drop _stack
+ drop if _count==0
+ order `by' `date0' `date1' `xvars'
+ format `date0' `f0'
+ format `date1' `f1'
+
+ cap for var `meanvars': replace X = X/_count
+
+ compress
+ }
+
+end
diff --git a/autotests/folding/highlight.dox.fold b/autotests/folding/highlight.dox.fold
new file mode 100644
index 0000000..ad907ab
--- /dev/null
+++ b/autotests/folding/highlight.dox.fold
@@ -0,0 +1,227 @@
+This is a pseudo doxygen file to test Kate's doxyge syntax highlighting.
+
+Normal text, no HL.
+===================
+a multiline comment may begin with a /*! */ , too. That should work,
+because it is the same "entrance rule".
+
+popping tests:
+/** multiline */ end of doxygen HL mode
+/*! multiline */ end of doxygen HL mode
+//! singleline, where */ should be ignored! still doxygen HL mode
+/// singleline, where */ should be ignored! still doxygen HL mode
+///< singleline, where */ should be ignored! still doxygen HL mode
+begin and end immediately:
+/********/ actually no doxygen comment - used for "info boxes" :)
+/**/ <-- it really works --- end of doxygen HL mode
+/*! */ end of doxygen HL mode
+
+
+/** \code rest of line is normal comment HL */ end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \file aword rest of line is normal comment HL */ end of doxygen HL mode
+/** \file */ aword <-- pop! no doxygen HL mode
+/** \file aword rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \brief A short description */ end of doxygen HL mode
+/** \brief */ A <-- pop! end of doxygen HL mode
+/** \brief A short description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \page aword rest of line is string */ end of doxygen HL mode
+/** \page */ aword <-- pop! end of doxygen HL mode
+/** \page aword rest of line is string
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword */ aword <-- pop! end of doxygen HL mode
+/** \image */ aword aword <-- pop! end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Tests for HTML tags in doxygen HL mode:
+=======================================
+/** */ end of doxygen HL mode
+/** */> end of doxygen HL mode
+/** */'> end of doxygen HL mode
+/** */b'> end of doxygen HL mode
+/** */lubb'> end of doxygen HL mode
+/** */blubb'> end of doxygen HL mode
+/** */'blubb'> end of doxygen HL mode
+/** */='blubb'> end of doxygen HL mode
+/** */f='blubb'> end of doxygen HL mode
+/** */href='blubb'> end of doxygen HL mode
+/** */ end of doxygen HL mode
+/** */> end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** */"blubb"> end of doxygen HL mode
+/** */="blubb"> end of doxygen HL mode
+/** */ref="blubb"> end of doxygen HL mode
+/** */href="blubb"> end of doxygen HL mode
+/** */ href="blubb"> end of doxygen HL mode
+/** <*/ a href="blubb"> end of doxygen HL mode
+
+//! */ stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! */ stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! <*/a href="blubb"> stay in doygen HL mode
+//! stay in doygen HL
+/** \code rest of line is normal comment HL */ end of doxygen HL mode
+/** \code rest of */> end of doxygen HL mode
+/** \code rest of */'> end of doxygen HL mode
+/** \code rest of */blubb'> end of doxygen HL mode
+/** \code rest of */'blubb'> end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest */"blubb"> of end of doxygen HL mode
+/** \code rest */ref="blubb"> of end of doxygen HL mode
+/** \code rest <*/ a href="blubb"> of end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode text
+ */ end of doxygen HL mode
+
+
+/** \file aword rest of line is normal comment HL */ end of doxygen HL mode
+/** \file awo*/ rd end of doxygen HL mode
+/** \file awo*/gnored_here>rd end of doxygen HL mode
+/** \file awo<*/ html_should_be_ignored_here>rd end of doxygen HL mode
+/** \file a*/ word end of doxygen HL mode
+/** \file aword rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \brief A short of description */ end of doxygen HL mode
+/** \brief A short of */> end of doxygen HL mode
+/** \brief A short of */blubb'> end of doxygen HL mode
+/** \brief A short of */'blubb'> end of doxygen HL mode
+/** \brief A short of */='blubb'> end of doxygen HL mode
+/** \brief A short of */href='blubb'> end of doxygen HL mode
+/** \brief A short of <*/ /a href='blubb'> end of doxygen HL mode
+/** \brief A short */> of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short */"blubb"> of end of doxygen HL mode
+/** \brief A short */="blubb"> of end of doxygen HL mode
+/** \brief A short */ref="blubb"> of end of doxygen HL mode
+/** \brief A short of description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \page aword A short of description */ end of doxygen HL mode
+/** \page aword A short of */> end of doxygen HL mode
+/** \page aword A short of */blubb'> end of doxygen HL mode
+/** \page aword A short of */'blubb'> end of doxygen HL mode
+/** \page aword A short of */='blubb'> end of doxygen HL mode
+/** \page aword A short of */href='blubb'> end of doxygen HL mode
+/** \page aword A short of <*/ /a href='blubb'> end of doxygen HL mode
+/** \page aword A short */> of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short */"blubb"> of end of doxygen HL mode
+/** \page aword A short */="blubb"> of end of doxygen HL mode
+/** \page aword A short */ref="blubb"> of end of doxygen HL mode
+/** \page aword A short <*/ a href="blubb"> of end of doxygen HL mode
+/** \page aword A shor*/ t of end of doxygen HL mode
+/** \page awor*/ d A short of end of doxygen HL mode
+/** \page */ aword A short of end of doxygen HL mode
+/** \page aword A short of description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword aword rest of line is*/ end of doxygen HL mode
+/** \image aword aword*/ end of doxygen HL mode
+/** \image aword aw*/ ord end of doxygen HL mode
+/** \image aword */ aword end of doxygen HL mode
+/** \image aword*/ end of doxygen HL mode
+/** \image awo*/ rd end of doxygen HL mode
+/** \image */ aword end of doxygen HL mode
+/** \ima*/ ge end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Some further tests for singlelinecomments (* / should not pop!)
+===============================================================
+/// a singlelinecommment blubb blubb */. stay in doxygen HL mode
+/// \code a singlelinecommment blubb b*/ lubb. stay in doxygen HL mode
+/// \code */ a singlelinecommment blubb blubb. stay in doxygen HL mode
+/// \code a singlelinecommment blubb blubb
+/// \brief a descriptive text (string) stay in doxygen HL mode
+/// \brief a descriptive text (string)*/ description should go on here
+/// \brief a descriptive text */(string) description should go on here
+/// \brief */a descriptive text (string) description should go on here
+/// \ref aword a descriptive text (string) */ description should go on here
+/// \ref aword a descriptive text (str*/ing) description should go on here
+/// \ref aword a des*/criptive text (string) description should go on here
+/// \ref aword*/ a descriptive text (string) description should go on here
+/// \ref aw*/ord a descriptive text (string) description should go on here
+/// \ref */aword a descriptive text (string) description should go on here
+
+HTML comment tests:
+===================
+//! \ref word descriptive text (string)
+normal HL mode.
+//! \ref w descriptive text (string)
+/** \ref word descriptive text (string)
+normal HL mode.
+/** \ref w
+ * normal doxygen HL mode.
+ */
+
+
+And final tests for a word: a single char:
+===========================================
+
+//! \ref word descriptive text (string)
+//! \ref w descriptive text (string)
+
+
+//! \image word1 word2 b descriptive text (string)
+//! \image a word b descriptive text (string)
+
+
+//! \brief A b c d e description should go on here
+
+
+//! \file word rest of line is normal comment HL
+//! \file a word rest of line is normal comment HL
+
+no doxygen HL mode here.
+== END OF TESTFILE ==
diff --git a/autotests/folding/highlight.erl.fold b/autotests/folding/highlight.erl.fold
new file mode 100644
index 0000000..5b485cb
--- /dev/null
+++ b/autotests/folding/highlight.erl.fold
@@ -0,0 +1,68 @@
+% testing for the erlang syntax highlighter
+% NOTE alerts work in comments to TODO !
+
+% pragmas (show as keywords)
+-module
+-export
+-define
+-undef
+-ifdef
+-ifndef
+-else
+-endif
+-include
+-include_lib
+
+% key words
+after begin case catch cond end fun if let of query receive all_true some_true
+
+% operators
+div rem or xor bor bxor bsl bsr and band not bnot
++ - * / == /= =:= =/= < =< > >= ++ -- = ! <-
+
+% separators (show as functions)
+( ) { } [ ] . : | || ; , ? -> #
+
+% functions - predefined (part of erlang module) - show as functions
+abs accept alarm apply atom_to_list binary_to_list binary_to_term check_process_code
+concat_binary date delete_module disconnect_node element erase exit float float_to_list
+garbage_collect get get_keys group_leader halt hd integer_to_list is_alive is_atom is_binary
+is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive
+is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_float list_to_integer
+list_to_pid list_to_tuple load_module loaded localtime make_ref module_loaded node nodes now
+open_port pid_to_list port_close port_command port_connect port_control ports pre_loaded process_flag
+process_info processes purge_module put register registered round self setelement size
+spawn spawn_link spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_to_list
+unlink unregister whereis
+
+% functions - inferred
+module:function
+function()
+
+% atoms (show as "char")
+% begin with underscore, lowercase, contain numbers letters and @ - or anything between ''
+middle_underscore
+abc ab4d a@cd8 a@
+'And this is (\012) an atom \' Atoo' Variable 'atom again'
+
+% variables (begin with capital letter or underscore, contain numbers, letters and @)
+_leadingUnderscore AbdD@ B45@c
+
+% this is a string
+"a string sits between \" double quotes" atom "more string"
+
+% integers (decimal)
+1. 234 $A
+
+% integers (specified base)
+2#10101 34#567
+
+% float
+12.23 12.9e-67 12.8E+89 33.34e89
+
+% and finally some real code, so we can see what it looks like...
+-module(codetest). % everything is in a module
+-export([fac/1]). % name and number of arguments - need this to be called outside of the module
+
+fac(N) when N > 0 -> N * fac(N-1);
+fac(N) when N == 0 -> 1.
diff --git a/autotests/folding/highlight.exu.fold b/autotests/folding/highlight.exu.fold
new file mode 100644
index 0000000..84f561f
--- /dev/null
+++ b/autotests/folding/highlight.exu.fold
@@ -0,0 +1,97 @@
+-- Test file for Kate's Euphoria syntax highlighting/code folding.
+-- BEGIN region marker test
+
+-- code here
+
+-- END region marker test
+
+-- The N Queens Problem:
+-- Place N Queens on an NxN chess board
+-- such that they don't threaten each other.
+constant N = 8 -- try some other sizes
+constant ROW = 1, COLUMN = 2
+constant TRUE = 1, FALSE = 0
+type square(sequence x)
+-- a square on the board
+ return length(x) = 2
+end type
+type row(integer x)
+-- a row on the board
+ return x >= 1 and x <= N
+end type
+
+function threat(square q1, square q2)
+-- do two queens threaten each other?
+ if q1[COLUMN] = q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] - q1[COLUMN] = q2[ROW] - q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] + q1[COLUMN] = q2[ROW] + q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] = q2[ROW] then
+ return TRUE
+ else
+ return FALSE
+ end if
+end function
+
+function conflict(square q, sequence queens)
+-- Would square p cause a conflict with other queens on board so far?
+ for i = 1 to length(queens) do
+ if threat(q, queens[i]) then
+ return TRUE
+ end if
+ end for
+ return FALSE
+end function
+
+integer soln
+soln = 0 -- solution number
+
+procedure print_board(sequence queens)
+-- print a solution, showing the Queens on the board
+ integer k
+ position(1, 1)
+ printf(1, "Solution #%d\n\n ", soln)
+ for c = 'a' to 'a' + N - 1 do
+ printf(1, "%2s", c)
+ end for
+ puts(1, "\n")
+ for r = 1 to N do
+ printf(1, "%2d ", r)
+ for c = 1 to N do
+ if find({r,c}, queens) then
+ puts(1, "Q ")
+ else
+ puts(1, ". ")
+ end if
+ end for
+ puts(1, "\n")
+ end for
+ puts(1, "\nPress Enter. (q to quit) ")
+ while TRUE do
+ k = get_key()
+ if k = 'q' then
+ abort(0)
+ elsif k != -1 then
+ exit
+ end if
+ end while
+end procedure
+
+procedure place_queen(sequence queens)
+-- place queens on a NxN chess board
+-- (recursive procedure)
+ row r -- only need to consider one row for each queen
+ if length(queens) = N then
+ soln += 1
+ print_board(queens)
+ return
+ end if
+ r = length(queens)+1
+ for c = 1 to N do
+ if not conflict({r,c}, queens) then
+ place_queen(append(queens, {r,c}))
+ end if
+ end for
+end procedure
diff --git a/autotests/folding/highlight.f90.fold b/autotests/folding/highlight.f90.fold
new file mode 100644
index 0000000..2ea0f76
--- /dev/null
+++ b/autotests/folding/highlight.f90.fold
@@ -0,0 +1,181 @@
+! This file is an example to test the syntax highlighting file F.xml
+! (for fortran 90 and F)
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS AN EXAMPLE OF A MODULE !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+module module_example
+
+ ! use 'implicit none' when you want all variables to be declared
+ implicit none
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! PUBLICS AND PRIVATES
+
+ ! In fortran 90 you can define your own operator
+ public :: operator(.norm.)
+ public :: operator(+) ! <-- you can also overload the usual operators
+ public :: factorial
+ public :: example_fn
+
+ private :: point3d_add
+ private :: point3d_norm
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! USER-DEFINED TYPES...
+
+ ! This is a definition to use in declarations of real variables,
+ ! parameters, etc.
+ integer, parameter, public :: kr = selected_real_kind(10)
+
+ ! This is a user-defined type
+ type, public :: point3d
+ real(kind=kr) :: x, y, z
+ end type point3d
+
+ ! This type is useless: it is only an example of type definition!
+ type, public :: example_type
+ complex(kind=kr) :: c ! <-- a complex number (two reals of kind kr)!
+ real, dimension(-10:10) :: & ! <-- this line does not end here!
+ r1, r2 ! <-- this is the final part of the previous line
+ real, pointer, dimension(:) :: pointer_to_array_of_real
+ real, dimension(:), pointer :: array_of_pointer_to_real
+ end type example_type
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! INTERFACES...
+
+ ! Interface for the norm of a 3-D vector
+ interface operator(.norm.)
+ module procedure point3d_norm
+ end interface
+
+ ! Interface for the operator '+'
+ interface operator(+)
+ module procedure point3d_add
+ end interface
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! SOME DECLARATIONS...
+
+ ! A real number can be declared with the following line:
+ real(kind=kr) :: real_var1
+ ! But if you are not interested on the precision of floating point numbers,
+ ! you can use simply:
+ real :: real_var2
+
+ ! An array can be declared in two ways:
+ real(kind=kr), dimension(1:10, -4:5), private :: a, b, c
+ real(kind=kr), private :: d(1:10, -4:5)
+
+ ! This is a string with fixed lenght
+ character(len=10) :: str_var
+
+ ! This is an allocatable array, which can be a target of a pointer
+ type(example_type), private, dimension(:), allocatable, target :: &
+ many_examples
+
+! Fortran 90 hasn't got its own preprocessor, it uses the C preprocessor!
+#ifdef XXX
+c <-- this is a comment in the old fortran 77 style (fixed form)
+c This is a free form file, so we shouldn't use this kind of comments!
+c But fortran 90 still understands fixed form, when parsing sources with
+c the *.f extension.
+ c ! <-- this 'c' shouldn't be highlighted as a comment!
+#endif
+
+contains
+
+
+ ! The sum of two points
+ pure function point3d_add(a, b) result(rs)
+ type(point3d) :: rs
+ type(point3d), intent(in) :: a, b
+ rs%x = a%x + b%x
+ rs%y = a%y + b%y
+ rs%z = a%z + b%z
+ end function point3d_add
+
+
+ ! The norm of a point
+ pure function point3d_norm(a) result(rs)
+ real(kind=kr) :: rs
+ type(point3d), intent(in) :: a
+ rs = sqrt(a%x * a%x + a%y * a%y + a%z * a%z)
+ end function point3d_norm
+
+
+ ! A simple recursive function
+ recursive function factorial(i) result (rs)
+ integer :: rs
+ integer, intent(in) :: i
+ if ( i <= 1 ) then
+ rs = 1
+ else else
+ rs = i * factorial(i - 1)
+ end if
+ end function factorial
+
+
+ ! This is a useless function
+ subroutine example_fn(int_arg, real_arg, str_arg)
+ integer, intent(in) :: int_arg
+ real(kind=kr), intent(out) :: real_arg
+ character(len=*), intent(in) :: str_arg
+
+ type(example_type), pointer :: p
+ integer :: n, i, j
+ logical :: flag
+
+ flag = .true. ! .true. is not an operator!
+ if ( flag .and. flag ) then ! .and. is a pre-defined operator
+ print *, "blabla"
+ end if
+
+ ! Examples of inquiry functions: allocated, lbound, ubound.
+ if ( .not. allocated(many_examples) ) then
+ allocate( many_examples(10) )
+ end if
+ print *, "Lower bound = ", lbound(many_examples, 1)
+ print *, "Upper bound = ", ubound(many_examples, 1)
+
+ p => many_examples(5) ! <-- p is a pointer
+
+ ! A strange way to calculate i*i: add the first i odd numbers
+ i = 6
+ j = 0
+ do n = 1, i
+ j = j + (2*n - 1)
+ end do
+ print *, "i*i = ", i*i, j
+
+ real_arg = real(j) ! <-- here the highlighting is not very good:
+ ! it is unable to distinguish between this and a definition like:
+ ! real(kind=kr) :: a
+ deallocate( many_examples )
+ end subroutine example_fn
+
+end module module_example
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS THE MAIN PROGRAM !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+program example
+ use module_example
+
+ ! this is another example of use of the 'implicit' keyword
+ implicit double precision (a-h,o-z)
+
+ real(kind=kr) :: var_out
+
+ type(point3d) :: &
+ a = point3d(0.0_kr, 1.0_kr, 2.0_kr), &
+ b = point3d(4.0_kr, 5.0_kr, 6.0_kr)
+
+ print *, "a + b = ", .norm. (a + b)
+ print *, "factorial of 5 = ", factorial(5)
+
+ call example_fn(1, var_out, "hello!")
+
+end program example
diff --git a/autotests/folding/highlight.glsl.fold b/autotests/folding/highlight.glsl.fold
new file mode 100644
index 0000000..53df4f1
--- /dev/null
+++ b/autotests/folding/highlight.glsl.fold
@@ -0,0 +1,62 @@
+// This is a test file for the Katepart GLSL Syntax Highlighting.
+
+normal text
+// this is a single-line comment
+normal text
+/* this
+is a multi-line
+comment */
+normal text
+
+some_symbol.some_member;
+some_symbol.some_member_function();
+some_function();
+
+// this is a function
+void main()
+{
+ float f = 1.4e3; // decimal float literal
+ int i1 = 2884; // decimal int literal
+ int i2 = 0x44; // hex int literal
+ int i3 = 0456; // octal int literal
+}
+
+// this is a structure
+struct some_struct
+{
+ vec3 some_member_vector;
+} ;
+
+# this is
+#preprocessor code
+
+// all keywords
+break continue do for while
+if else
+true false
+discard return
+struct
+
+// all basic types
+float int void bool
+mat2 mat3 mat4
+vec2 vec3 vec4
+ivec2 ivec3 ivec4
+bvec2 bvec3 bvec4
+sampler1D sampler2D sampler3D
+samplerCube sampler1DShadow sampler1DShadow
+
+// all type qualifiers
+attribute const uniform varying
+in out inout
+
+// attensions:
+// FIXME
+// TODO
+// BUG
+
+// some of the std functions
+radians degrees sin cos tan asin acos atan
+
+// some of the std variables
+gl_Position gl_PointSize gl_ClipVertex
diff --git a/autotests/folding/highlight.hs.fold b/autotests/folding/highlight.hs.fold
new file mode 100644
index 0000000..4aa90e2
--- /dev/null
+++ b/autotests/folding/highlight.hs.fold
@@ -0,0 +1,124 @@
+-- test file for Haskell syntax highlighting in KDE's Kate
+
+-- The test file for literate Haskell can be easily created like this:
+-- cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+-- You only have to manually edit the multi-line comment below.
+
+-- this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+-- I could even start a new
+-- one-line comment.
+
+-}
+
+-- a data definition
+
+data Tree a = Br (Tree a) (Tree a) | Leaf a | Nil deriving (Show, Eq)
+
+
+-- function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted
+
+funnyfunction::(Tree a)=>[a]->Integer->Int->Bool
+
+
+-- strings and chars
+-- first line of function definitions (type declaration) should be highlighted
+
+strangefunction::Int->String
+strangefunction 1 = "hello"
+strangefunction 2 = "what's up"
+strangefunction 3 = (strangefunction 1) ++ ", " ++ (strangefunction 2)
+strangefunction 4 = 'a':'b':'c':'"':[] -- will return "abc"
+strangefunction 5 = '\n':[]
+strangefunction 6 = '\invalidhaskell':[]
+
+-- function name including the single quote character
+-- and infix operator (`div`)
+
+justtesting'::Int->Int
+justtesting' 2 = 2+1
+justtesting' 9 = 7 `div` 2
+
+-- same definition as above, slightly different function name and a couple more whitespaces
+
+justtesting'' :: Int -> Int
+justtesting'' 2 = 3
+justtesting'' 9 = 3 + 9 - 9
+
+-- the following lines are copied out of Haskell's "Prelude.hs"
+
+infixl 7 *, /, `quot`, `rem`, `div`, `mod`, :%, %
+
+
+-- everything highlighted except the "a"
+
+class Bounded a where
+ minBound, maxBound :: a
+
+class (Num a, Ord a) => Real a where
+ toRational :: a -> Rational
+
+-- finally, some keyword lists
+
+-- keywords
+
+case, class, data, deriving, do, else, if, in, infixl, infixr, instance, let, module, of, primitive,
+then, type, where
+
+-- infix operators
+
+quot, rem, div, mod, elem, notElem, seq
+
+-- this stuff is not handled yet
+
+!!, %, &&, $!, $, *, **, -,., /=, <, <=, =<<, ==, >, >=, >>, >>=, ^, ^^, ++, ||
+
+-- functions
+
+FilePath, IOError, abs, acos, acosh, all, and, any, appendFile,
+approxRational, asTypeOf, asin, asinh, atan, atan2, atanh, basicIORun,
+break, catch, ceiling, chr, compare, concat, concatMap, const, cos, cosh,
+curry, cycle, decodeFloat, denominator, digitToInt, div, divMod, drop,
+dropWhile, either, elem, encodeFloat, enumFrom, enumFromThen,
+enumFromThenTo, enumFromTo, error, even, exp, exponent, fail, filter, flip,
+floatDigits, floatRadix, floatRange, floor, fmap, foldl, foldl1, foldr,
+foldr1, fromDouble, fromEnum, fromInt, fromInteger, fromIntegral,
+fromRational, fst, gcd, getChar, getContents, getLine, head, id, inRange,
+index, init, intToDigit, interact, ioError, isAlpha, isAlphaNum, isAscii,
+isControl, isDenormalized, isDigit, isHexDigit, isIEEE, isInfinite, isLower,
+isNaN, isNegativeZero, isOctDigit, isPrint, isSpace, isUpper, iterate, last,
+lcm, length, lex, lexDigits, lexLitChar, lines, log, logBase, lookup, map,
+mapM, mapM_, max, maxBound, maximum, maybe, min, minBound, minimum, mod,
+negate, not, notElem, null, numerator, odd, or, ord, otherwise, pi, pred,
+primExitWith, print, product, properFraction, putChar, putStr, putStrLn,
+quot, quotRem, range, rangeSize, read, readDec, readFile, readFloat,
+readHex, readIO, readInt, readList, readLitChar, readLn, readOct, readParen,
+readSigned, reads, readsPrec, realToFrac, recip, rem, repeat, replicate,
+return, reverse, round, scaleFloat, scanl, scanl1, scanr, scanr1, seq,
+sequence, sequence_, show, showChar, showInt, showList, showLitChar,
+showParen, showSigned, showString, shows, showsPrec, significand, signum,
+sin, sinh, snd, span, splitAt, sqrt, subtract, succ, sum, tail, take,
+either, elem, encodeFloat, enumFrom, enumFromThen, enumFromThenTo,
+enumFromTo, error, even, exp, exponent, fail, filter, flip, floatDigits,
+floatRadix, floatRange, floor, fmap, takeWhile, tan, tanh, threadToIOResult,
+toEnum, toInt, toInteger, toLower, toRational, toUpper, truncate, uncurry,
+undefined, unlines, until, unwords, unzip, unzip3, userError, words,
+writeFile, zip, zip3, zipWith, zipWith3
+
+-- type constructors
+
+Bool, Char, Double, Either, Float, IO, Integer, Int, Maybe, Ordering, Rational, Ratio, ReadS,
+ShowS, String
+
+-- classes
+
+Bounded, Enum, Eq, Floating, Fractional, Functor, Integral, Ix, Monad, Num, Ord, Read, RealFloat,
+RealFrac, Real, Show
+
+-- data constructors
+
+EQ, False, GT, Just, LT, Left, Nothing, Right, True
diff --git a/autotests/folding/highlight.js.fold b/autotests/folding/highlight.js.fold
new file mode 100644
index 0000000..00524a0
--- /dev/null
+++ b/autotests/folding/highlight.js.fold
@@ -0,0 +1,134 @@
+/* test.js - test for javascript.xml syntax file */
+// Note: this script will not, and is not supposed to, comile in any js engine.
+
+/*
+ NOTE: The words "todo", "fixme" and "note" should be rendered in a different style
+ within comments, match should be caseless (to test for regexp insensitive attribute).
+ The regex used for this rule is */
+ String = /\b(?:fixme|todo|note)\b/
+ /* Thus, for example "Notebook" is not caught by
+ this rule. (the "?:" in the subpattern is there to avoid the regex engine wasting time
+ saving a backref, which is not used for anything. I do not know if the overhead of parsing
+ that is greater than the time saved by not capturing the text...)
+ The rule for catching these words is placed in a context "Comment common", which is used
+ by both comment contexts (single line, multiline) using the new "IncludeRules" item.
+*/
+
+// test if regex support works - nice with new fallthrough prop in context:)
+somestring.replace( /dooh/ , "bah!");
+re=/foo/ig; // hehe
+
+somestring.search(
+ /^foo\w+\s\d{0,15}$/
+ );
+
+ re =
+ /dooh/;
+
+// This is supposedly legal:
+re = somebool ? /foo/ : /bar/;
+
+// NOTE - Special case: an empty regex, not a comment.
+// The rule uses a positive lookahead assertion to catch it: "//(?=;)".
+re = //;
+re = /a|b/;
+
+/*
+ Tests for the regex parser.
+ It will parse classes, quanitfiers, special characters and regex operaters,
+ as specified in the netscape documentation for javascript.
+ Regexps are only parsed in their clean form, as the RegExp(string) constructor
+ is using a quoted string.
+ TODO: Find out if more regex feats should be supported.
+ Consider using more itemDatas - assertion, quantifier are options.
+*/
+
+re = /^text\s+\d+\s*$/;
+re = /a pattern with caret \(^\) in it/;
+re = /(\d{0,4})\D/;
+re = /[a-zA-Z_]+/;
+re = /[^\d^]+/;
+re = /\s+?\w+\.$/;
+re = /\/\//;
+re = /a|b/;
+
+// a test if #pop back from a comment will work
+re = /* /foo/*/ /bar/;
+// ^ POP
+// ^ we got back after pop in comment, if there is regexp attribs here :-)
+
+/*
+ Some tests if the fallthrough works.
+ The fallthrough happens if a regexp is not found in a possible (!) position,
+ which is after "search(" or "replace(" or "=" or "?" or ":" in version 0.1 of the xml file
+*/
+
+var foo = 'bar';
+// ^ fallthrough!
+
+
+somestring.replace( new RegExp("\\b\\w+\\b"), "word: $1");
+// ^ fallthrough expected. ("new" whould be bold)
+
+
+something.method =
+ function ( a, b, c ) { /* ... */ }
+// ^ fallthrough ?!
+
+something.other =
+function ( d, e, f ) { /* ... */ }
+// fallthrough expected at col 0 ("function" should be bold)
+
+var ary = new Array(5);
+// ^ fallthrough ? (if keyword is correctly rendered)
+
+var b = a ? 1 : 0;
+// ^ ^ fallthroughs. numbers must be rendered correctly.
+
+var c = d ? true : false;
+
+var conditinalstring = b ?
+ "something" :
+ "something else";
+// guess...
+
+
+/*
+ Normal program flow...
+*/
+
+if (something)
+ dostuff();
+else
+ dont();
+
+ return;
+
+try { bla() } catch (e) { alert("ERROR! : " + e) }
+
+for (int i=0; i < j; i++)
+ document.write("i is" + i + " ");
+
+while (something)
+{
+ block();
+ picky:
+ if (!1)
+ break;
+ else
+ continue;
+}
+
+with (a) {
+ do {
+ stuff( b ); // a.b if it exists
+ } while (itmakessense);
+}
+
+switch (i) {
+ case 0:
+ f();
+ break;
+ default:
+ break;
+}
diff --git a/autotests/folding/highlight.jsp.fold b/autotests/folding/highlight.jsp.fold
new file mode 100644
index 0000000..b938095
--- /dev/null
+++ b/autotests/folding/highlight.jsp.fold
@@ -0,0 +1,170 @@
+<%--
+ This page won't actually work, as it is simply designed to display jsp syntax highlighting.
+--%>
+<%@ page info="A Page to Test Kate Jsp Syntax Highlighting" language="java" errorPage="/test-error-page.jsp"%>
+<%@ include file="/include/myglobalvars.jsp"%> --%>
+<%@ page import="java.util.*,
+ java.io.*,
+ java.math.*" %>
+<%@ taglib uri="/WEB-INF/lib/si_taglib.tld" prefix="si"%>
+
+
+<%
+ // We can decipher our expected parameters here.
+ String parm1 = noNull(request.getParameter(PARAMETER_1)).trim();
+ String parm2 = noNull(request.getParameter(PARAMETER_2)).trim();
+ String parm3 = noNull(request.getParameter(PARAMETER_3)).trim();
+ String parm4 = noNull(request.getParameter(PARAMETER_4)).trim();
+ String parm5 = noNull(request.getParameter(PARAMETER_5)).trim();
+
+ // A sample collection of Integers to display some code folding.
+ List intList = getIntList(10);
+
+
+%>
+
+ A Sample Jsp
+
+
+
+
+ <%-- The top label table. --%>
+
+
+ The following parameters were detected:
+
+
+
+ <%-- Display the parameters which might have been passed in. --%>
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_1
+ <%=PARAMETER_1%>
+ "<%=parm1%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_2
+ <%=PARAMETER_2%>
+ "<%=parm2%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_3
+ <%=PARAMETER_3%>
+ "<%=parm3%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_4
+ <%=PARAMETER_4%>
+ "<%=parm4%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_5
+ <%=PARAMETER_5%>
+ "<%=parm5%>"
+
+
+
+
+
+ <%-- Display our list of random Integers (shows code folding). --%>
+
+<%
+ if (intList != null && intList.size() > 0) {
+%>
+ Here are the elements of intList...
+<%
+ Iterator intListIt = intList.iterator();
+ while (intListIt.hasNext()) {
+ Integer i = (Integer) intListIt.next();
+%>
+ <%=i.toString()%>
+<%
+ }
+ } else {
+%>
+ Oooops, we forgot to initialize intList!
+<%
+ }
+%>
+
+
+
+
+ <%-- We can call javascript functions. --%>
+
+
+
+ <%-- If we actually had defined a tag library. --%>
+
+
+
+ <%-- Expression language. --%>
+
+
+
+
+
+ myParam's value: ""
+
+
+
+<%!
+ /* A place for class variables and functions... */
+
+ // Define some sample parameter names that this page might understand.
+ private static final String PARAMETER_1 = "p1";
+ private static final String PARAMETER_2 = "p2";
+ private static final String PARAMETER_3 = "p3";
+ private static final String PARAMETER_4 = "p4";
+ private static final String PARAMETER_5 = "p5";
+
+ // Returns str trimmed, or an empty string if str is null.
+ private static String noNull(String str) {
+ String retStr;
+ if (str == null)
+ retStr = "";
+ else
+ retStr = str.trim();
+
+ return retStr;
+ }
+
+ // Returns a list of Integers with listSize elements.
+ private static List getIntList(int listSize) {
+ ArrayList retList = new ArrayList(listSize);
+ for (int i = 0; i < listSize; i++)
+ retList.add(new Integer( (int) (Math.random() * 100) ));
+
+ return retList;
+ }
+%>
diff --git a/autotests/folding/highlight.lex.fold b/autotests/folding/highlight.lex.fold
new file mode 100644
index 0000000..5e9d693
--- /dev/null
+++ b/autotests/folding/highlight.lex.fold
@@ -0,0 +1,82 @@
+/ * This test file tests kates Lex/Flex highlighting */
+
+%option c++
+%option yyclass="KateTester"
+%option yylineno
+
+ /* This is a C(++) comment */
+
+/* This one is a lex comment ! */
+
+%{
+#include
+#include "realparser.hpp"
+using namespace std;
+%}
+
+/* Some definitions */
+DIGIT [0-9]
+LETTER [_a-zA-Z]
+
+%% %%
+
+ /* Comment *shall be indented here* */
+[ \t\n\r]+
+
+ /* Note: there is a bad } just here vvv */
+\/\*([^\*]|\*[^/])*\*\/ { foo(a, b, c); } }
+
+ /* A start condition scope... */
+{
+ "a" {
+
+ /* C mode ! */
+ return 0;
+}
+
+ "b" %{
+
+ /* C mode, too ! */
+ return 0;
+%}
+
+ "c" return 0; // C++ comment
+}
+
+ /* Big rule */
+\"([^"\\]|\\.)*\" {
+
+ yylval.string_val = new char[strlen(yytext) + 1];
+ int j = 0, i = 1;
+
+ while (yytext[i] != '"')
+ if (yytext[i] != '\\')
+ yylval.string_val[j++] = yytext[i++];
+ else
+ switch (yytext[i + 1])
+ {
+ case 'n':
+ yylval.string_val[j++] = '\n'; i += 2;
+ break;
+ default:
+ yylval.string_val[j++] << yytext[i + 1], i += 2;
+ }
+
+ yylval.string_val[j] = 0;
+ return TOK_STRING;
+
+}
+
+ /* Dot (match all) */
+. { return yylval.int_val = yytext[0];}
+
+%% %%
+
+// Here is pure C(++)
+#include
+
+int main(void)
+{
+ std::cout << "Hello, World\n";
+ return 0;
+}
diff --git a/autotests/folding/highlight.lhs.fold b/autotests/folding/highlight.lhs.fold
new file mode 100644
index 0000000..9dc52e5
--- /dev/null
+++ b/autotests/folding/highlight.lhs.fold
@@ -0,0 +1,124 @@
+test file for Haskell syntax highlighting in KDE's Kate
+
+The test file for literate Haskell can be easily created like this:
+ cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+You only have to manually edit the multi-line comment below.
+
+this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+I could even start a new
+one-line comment.
+
+-}
+
+a data definition
+
+> data Tree a = Br (Tree a) (Tree a) | Leaf a | Nil deriving (Show, Eq)
+
+
+function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted
+
+> funnyfunction::(Tree a)=>[a]->Integer->Int->Bool
+
+
+strings and chars
+first line of function definitions (type declaration) should be highlighted
+
+> strangefunction::Int->String
+> strangefunction 1 = "hello"
+> strangefunction 2 = "what's up"
+> strangefunction 3 = (strangefunction 1) ++ ", " ++ (strangefunction 2)
+> strangefunction 4 = 'a':'b':'c':'"':[] -- will return "abc"
+> strangefunction 5 = '\n':[]
+> strangefunction 6 = '\invalidhaskell':[]
+
+function name including the single quote character
+and infix operator (`div`)
+
+> justtesting'::Int->Int
+> justtesting' 2 = 2+1
+> justtesting' 9 = 7 `div` 2
+
+same definition as above, slightly different function name and a couple more whitespaces
+
+> justtesting'' :: Int -> Int
+> justtesting'' 2 = 3
+> justtesting'' 9 = 3 + 9 - 9
+
+the following lines are copied out of Haskell's "Prelude.hs"
+
+> infixl 7 *, /, `quot`, `rem`, `div`, `mod`, :%, %
+
+
+everything highlighted except the "a"
+
+> class Bounded a where
+> minBound, maxBound :: a
+
+> class (Num a, Ord a) => Real a where
+> toRational :: a -> Rational
+
+finally, some keyword lists
+
+keywords
+
+> case, class, data, deriving, do, else, if, in, infixl, infixr, instance, let, module, of, primitive,
+> then, type, where
+
+infix operators
+
+> quot, rem, div, mod, elem, notElem, seq
+
+this stuff is not handled yet
+
+> !!, %, &&, $!, $, *, **, -,., /=, <, <=, =<<, ==, >, >=, >>, >>=, ^, ^^, ++, ||
+
+functions
+
+> FilePath, IOError, abs, acos, acosh, all, and, any, appendFile,
+> approxRational, asTypeOf, asin, asinh, atan, atan2, atanh, basicIORun,
+> break, catch, ceiling, chr, compare, concat, concatMap, const, cos, cosh,
+> curry, cycle, decodeFloat, denominator, digitToInt, div, divMod, drop,
+> dropWhile, either, elem, encodeFloat, enumFrom, enumFromThen,
+> enumFromThenTo, enumFromTo, error, even, exp, exponent, fail, filter, flip,
+> floatDigits, floatRadix, floatRange, floor, fmap, foldl, foldl1, foldr,
+> foldr1, fromDouble, fromEnum, fromInt, fromInteger, fromIntegral,
+> fromRational, fst, gcd, getChar, getContents, getLine, head, id, inRange,
+> index, init, intToDigit, interact, ioError, isAlpha, isAlphaNum, isAscii,
+> isControl, isDenormalized, isDigit, isHexDigit, isIEEE, isInfinite, isLower,
+> isNaN, isNegativeZero, isOctDigit, isPrint, isSpace, isUpper, iterate, last,
+> lcm, length, lex, lexDigits, lexLitChar, lines, log, logBase, lookup, map,
+> mapM, mapM_, max, maxBound, maximum, maybe, min, minBound, minimum, mod,
+> negate, not, notElem, null, numerator, odd, or, ord, otherwise, pi, pred,
+> primExitWith, print, product, properFraction, putChar, putStr, putStrLn,
+> quot, quotRem, range, rangeSize, read, readDec, readFile, readFloat,
+> readHex, readIO, readInt, readList, readLitChar, readLn, readOct, readParen,
+> readSigned, reads, readsPrec, realToFrac, recip, rem, repeat, replicate,
+> return, reverse, round, scaleFloat, scanl, scanl1, scanr, scanr1, seq,
+> sequence, sequence_, show, showChar, showInt, showList, showLitChar,
+> showParen, showSigned, showString, shows, showsPrec, significand, signum,
+> sin, sinh, snd, span, splitAt, sqrt, subtract, succ, sum, tail, take,
+> either, elem, encodeFloat, enumFrom, enumFromThen, enumFromThenTo,
+> enumFromTo, error, even, exp, exponent, fail, filter, flip, floatDigits,
+> floatRadix, floatRange, floor, fmap, takeWhile, tan, tanh, threadToIOResult,
+> toEnum, toInt, toInteger, toLower, toRational, toUpper, truncate, uncurry,
+> undefined, unlines, until, unwords, unzip, unzip3, userError, words,
+> writeFile, zip, zip3, zipWith, zipWith3
+
+type constructors
+
+> Bool, Char, Double, Either, Float, IO, Integer, Int, Maybe, Ordering, Rational, Ratio, ReadS,
+> ShowS, String
+
+classes
+
+> Bounded, Enum, Eq, Floating, Fractional, Functor, Integral, Ix, Monad, Num, Ord, Read, RealFloat,
+> RealFrac, Real, Show
+
+data constructors
+
+> EQ, False, GT, Just, LT, Left, Nothing, Right, True
diff --git a/autotests/folding/highlight.lisp.fold b/autotests/folding/highlight.lisp.fold
new file mode 100644
index 0000000..5b6bf55
--- /dev/null
+++ b/autotests/folding/highlight.lisp.fold
@@ -0,0 +1,36 @@
+;; This test file tests kates common lisp highlighting
+#|
+multilinecomment :)
+|#
+
+;BEGIN region marker
+
+;END end
+
+(defun bin-search (obj vec)
+ (let ((len (length vec)))
+ (and (not (zerop len))
+ (finder obj vec 0 (- len 1)))))
+
+(defun parse-date (str)
+ (let ((toks (tokens str #'constituent 0)))
+ (list (parse-integer (first toks))
+ (parse-month (second toks))
+ (parse-integer (third toks)))))
+
+(defconstant month-names
+ #("jan" "feb" "mar" "apr" "may" "jun"
+ "jul" "aug" "sep" "oct" "nov" "dec"))
+
+(defstruct buf
+ vec (start -1) (used -1) (new -1) (end -1))
+
+(defparameter *words* (make-hash-table :size 10000))
+
+(defmacro while (test &rest body)
+ `(do ()
+ ((not ,test))
+ ,@body))
+
+(define-modify-macro append1f (val)
+ (lambda (lst val) (append lst (list val))))
diff --git a/autotests/folding/highlight.ly.fold b/autotests/folding/highlight.ly.fold
new file mode 100644
index 0000000..a7e787b
--- /dev/null
+++ b/autotests/folding/highlight.ly.fold
@@ -0,0 +1,114 @@
+% This is a file to test the Lilypond highlighting features of Katepart.
+% This is NOT a valid lilypond file, because it also shows the
+% highlighting of some invalid lilypond constructs!
+% This is a line comment.
+
+%{
+this is a block comment, that can occur inside a line, or across
+multiple lines.
+%}
+
+\header {
+ title = "Katepart Lilypond syntax highlighting test file"
+ composer = %{ "Wilbert Berendsen"%} "Anonymus"
+ poet = "The KDE team"
+ opus = "1"
+ copyright = "Share and enjoy!"
+}
+
+\paper {
+ #( set-paper-size "a4") % a hash introduces scheme
+ indent = 0 % recognize variable names inside \paper, \layout etc.
+ between-system-space = 3\mm
+}
+
+\layout {
+ \context {
+ \Score
+ \remove Bar_number_engraver % recognize engraver names
+ \remove "Bar_number_engraver" % also when quoted!
+ }
+}
+
+% { and << block are folded
+\score {
+ \new StaffGroup <<
+ \new ChordNames \chordmode { c2sus4/f g2/d c1 }
+ \new Staff \new Voice ="mel" {
+ \key f \major
+ \time 4/4
+ \partial 4
+ \set Staff.instrumentName = "Bla."
+ \once \override Staff.NoteHead #'color = #red
+ % dynamics, articulations and markup
+ c8\p d\< e-. f-> g a\f c-5\markup { Hoi}
+ \notemode { c d e f }
+ \repeat volta 2 {
+ % complex durations are highlighted:
+ g4*2/3
+ }
+ \times 2/3 { e8 f g}
+ % there is some error checking:
+ % often made mistake to have octavemarks after the duration:
+ c2'
+ % invalid durations are caught:
+ g3
+ }
+ \context Lyrics \lyricsto "mel" {
+ \set fontSize = #1
+ this is a line of ly -- rics.
+ with4 dur -- a -- tions.2.
+ % errors like forgetting spaces are found:
+ space-- flight %{ i.s.o.%} space -- flight
+ space at end for -- got -- ten as well.}
+
+ \new DrumStaff \drummode { hihat4 bassdrum8 }
+ \new FiguredBass \figuremode {
+ <5 4>8 <6->
+ }
+ >>
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = #( ly:make-moment 60 2)
+ }
+ }
+}
+
+av = #( define-music-function ( parser location voice)
+( string?)
+; scheme comments are recognized in scheme
+; Lilypond inside scheme works as well:
+#{
+ \set associatedVoice = $voice
+#} )
+
+
+
+
+% inside scheme some elements are highlighted:
+#( define ( naturalise-pitch p)
+ ( let* ( ( o ( ly:pitch-octave p) )
+ ( a ( * 4 ( ly:pitch-alteration p) ) )
+ ( n ( ly:pitch-notename p) ) )
+ ( bla 'ArticulationEvent 'ChoirStaff)
+ ( cond
+ ( ( > a 2) ( set! a ( - a 4) ) ( set! n ( + n 1) ) )
+ ( ( < a -2) ( set! a ( + a 4) ) ( set! n ( - n 1) ) ) )
+
+ ( if ( < n 0) ( begin ( set! o ( - o 1) ) ( set! n ( + n 7) ) ) )
+ ( if ( > n 6) ( begin ( set! o ( + o 1) ) ( set! n ( - n 7) ) ) )
+
+ ( ly:make-pitch o n ( / a 4) ) ) )
+
+% markup is also highlighted
+\markup {
+ \line {
+ text test Voice Staff % note Lilypond keywords are not highlighted here
+ }
+ \score { \relative c' { 2( d) } }
+ \italic bla
+ \override #'( baseline-skip . 2) {
+ \underline blu
+ }
+}
diff --git a/autotests/folding/highlight.m.fold b/autotests/folding/highlight.m.fold
new file mode 100644
index 0000000..302659f
--- /dev/null
+++ b/autotests/folding/highlight.m.fold
@@ -0,0 +1,61 @@
+%%=====================================================
+% MATLAB test code for Kate/Kwrite syntax highlighting
+% kate: hl Matlab
+%%=====================================================
+
+% Numbers _____________________________________________
+5, 5.5, .1, 0.1, 0.4e5, 1.2e-5, 5i, 5.3i, 6j, .345+3i
+5', 5.5', .1', 0.1', 0.4e5', 1.2e-5', 5i', 5.3i', 6j', .345+3i'
+
+% Operators ___________________________________________
+% relational operators
+'asdf'~=4, c<=4, d>=4, ab, a==b, b||c, b&&c
+% elementwise arithmetic operators
+a.^b, a.*b a./b, 1:4:5
+% single-character binary arithmetic
+a+3, a-3, a*2, a^3, a/3, a\3, a|b, a&b
+% unary operators
+a = ~g; g = @sfdgdsf(sdfsd,345); g.' + 1i.' - ('asdf').'
+% separators and delimiter
+(asd),[sadf];{asdf},;;,;;;()
+% continuation
+a = 1+ ...
+ 2;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+% complete strings
+'string' % simple string
+'''' % string containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' 'asdf''' variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + (asdf)' - 'asdf'.' + []''''.';''
+'sadf'.' % string transpose
+% adjoint
+{'asdf'}' + 1
+('asdf')' + 1
+['asdf']' + 1
+'' var''' % empty string, var with >1 adjoints
+[5]'*{5}'*('asd')'.'+(5)'*6'*asdf'*asdf'.' % many adjoints
+A'*B + 1 % adjoint
+A.'*B + 1 % transpose
+A.'.'*B + 1 % double transpose
+A'.' + 1 % adjoint, then transpose
+A.'' % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function, persistent, global
+switch, case, otherwise
+if, else, elseif
+try, catch
+for, while, break, continue
+end, return
+function, FUNCTION, Function % case sensitive!
diff --git a/autotests/folding/highlight.mac.fold b/autotests/folding/highlight.mac.fold
new file mode 100644
index 0000000..ad7ee63
--- /dev/null
+++ b/autotests/folding/highlight.mac.fold
@@ -0,0 +1,145 @@
+/*
+------------------------------------------------------------------------
+Efficient Galois Fields in Maxima
+
+by Alasdair McAndrew
+and later extended by Fabrizio Caruso and Jacopo Daurizio
+
+it is distribuited together with gf_roots by Jacopo Daurizio
+
+Authors:
+
+Fabrizio Caruso (optimizations, testing)
+Jacopo D'Aurizio (optimizations, modular roots)
+Alasdair McAndrew (original version of the package, pohlig-helman log, etc... )
+------------------------------------------------------------------------*/
+
+/* Released under terms of the GNU General Public License, version 2,
+ * by permission of the authors to Robert Dodier circa 2007-12-02.
+ */
+
+/* Defines a flag for dealing with large fields. If it is set to "false",
+then lookup tables are used for exponentiation and logarithms. Otherwise
+other algorithms are used */
+
+define_variable(largefield,true,bool)$
+define_variable(gf_char,0,integer)$
+define_variable(gf_exp,0,integer)$
+define_variable(gf_order,0,integer)$
+define_variable (gf_one, 'gf_one, any_check)$
+define_variable (gf_prim, 'gf_prim, any_check)$
+define_variable (gf_irr, 'gf_irr, any_check)$
+define_variable (gf_list, 'gf_list, any_check)$
+define_variable (gen_powers, 'gf_list, any_check)$
+remvalue(x,z,gf_char,gf_exp,gf_irr,pg,gp,lg,gf_prim,gf_one,gf_order,gf_list,gen_powers)$
+
+
+/* --------------------------------------------------------------------------------------------- */
+/* Settings */
+
+GF_VERBOSE:false; /* Verbosity */
+GF_WARNING: true; /* Warnings */
+GF_IRREDUCIBILITY_CHECK:false; /* Irreducibility test for the minimal polynomial of the extension */
+
+/*
+------------------------------------------------------------------------------------------------ */
+
+
+/* It defines a new current field with gf_char=b, min. pol.= p of deg= e*/
+gf_set([ars]):=block([gj,m,i,j,dg],
+ if length(ars)=1 then
+ (
+ gf_setp(ars[1]),
+ return(true)
+ )
+ else
+ (
+ if length(ars)=2 then
+ (
+ if numberp(ars[2]) then
+ (
+ if ars[2]=0 and GF_WARNING then
+ (
+ print("WARNING: the irreducible is zero! We assume GF(",ars[1],")"),
+ gf_setp(ars[1]),
+ return(true)
+ )
+ else
+ (
+ error("ERROR: you tried to extend with a non-zero constant!"),
+ return(false)
+ )
+ )
+ else
+ (
+ dg:hipow(ars[2],x),
+
+ if dg=1 then
+ gf_setp(ars[1]),
+ gf_irr:ars[2],
+ gf_exp:dg,
+ return(true)
+ )
+ )
+ else
+ (
+ gf_exp:ars[2],
+ if gf_exp=1 then
+ (
+ gf_setp(ars[1]),
+ gf_irr:rat(ars[3]),
+ return(true)
+ ),
+ gf_irr:rat(ars[3])
+ )
+ ),
+
+ gf_char:ars[1],
+ gf_one:rat(1,x),
+ gf_order:gf_char^gf_exp-1,
+
+ m:makelist(coeff(gf_irr,x,i),i,0,gf_exp),
+ gf_list:[[first(m),0]],j:1,
+ for i:2 thru gf_exp+1 do if m[i]=0 then j:j+1 else ( gf_list:endcons([m[i],j],gf_list), j:1 ),
+
+ if not(primep(gf_char)) then error("ERROR: Gf_Char must be a prime number.")
+ else
+ modulus:gf_char,
+ if GF_IRREDUCIBILITY_CHECK and
+ hipow(args(factor(ars[3]))[1],x)#hipow(rat(ars[3]),x) then
+ error("ERROR: Polynomial is not irreducible"),
+
+ if not(largefield) then
+ (
+ pg:mkpowers(),
+ lg:mklogs()
+ )
+ else
+ (
+ if GF_VERBOSE then
+ print("finding a primitive element..."),
+
+ gf_prim:rat(gf_findprim(),x),
+ if GF_VERBOSE then
+ print("...primitive element found.")
+
+ ),
+ modulus:false, /* it resets the modulus */
+ return(true)
+
+ )$
+
+
+/* Prints out information about the field */
+gf_info():=block(
+ print("Prime gf_char value: ",gf_char),
+ print("Exponent: ", gf_exp),
+ print("Multiplicative order: ",gf_order),
+ print("Irreducible polynomial: ",gf_irr),
+ print("Primitive element: ",gf_prim),
+ if (largefield) then
+ print("Largefield flag is true; powers and logarithms not computed.")
+ else
+ print("Largefield flag is false; powers and logarithms computed."),
+ disp()
+)$
diff --git a/autotests/folding/highlight.mup.fold b/autotests/folding/highlight.mup.fold
new file mode 100644
index 0000000..e9afd19
--- /dev/null
+++ b/autotests/folding/highlight.mup.fold
@@ -0,0 +1,103 @@
+// This is a MUP highlighting test.
+// Mup is a shareware music publisher from www.arkkra.com
+
+// contexts
+score
+music
+staff 1
+voice 1 3
+
+top
+top2
+bottom
+bottom2
+grids
+
+headshapes
+
+
+header
+footer
+header2
+footer2
+
+// parameters and values
+score
+ units = cm;
+ key = 3#minor
+ key = 3# minor
+ rehstyle=circled
+
+
+
+
+mussym above all: 1 "ferm" ;
+
+define NAME
+// this is a macro definition, these are collapsable
+@
+
+ifdef NAME
+// this is conditionally "compiled"
+endif
+
+ifndef NAME
+// this is conditionally "compiled" when the macro has not been defined
+else
+// else clause
+endif
+
+
+// Various Tests
+
+// tablature
+1: e ^f; f; b ^c5; c#5;
+bar
+
+1: d+^e+ g^a; e+a; g ^/; c ^/ c+^/;
+bar
+
+// cross-staff stems
+1: 1e+g+c++;
+2: cc+; ee+; g with g+ above; with c+c++ above;
+bar
+
+1: 2+4ceg;4; // tie implied by added time values
+
+// slurs
+1: 2f a c+; dbd+;
+bar
+1: 2fac+ slur; dbd+;
+bar
+
+// alternation
+1: 2c alt 2; 2c+;2g;
+bar
+
+// bar to draw if repeatstart happens to be on new line
+(dblbar) repeatstart
+1: [up]8f bm with staff below;a;4s ebm;4s bm with staff below;8b;[len 11]d ebm;
+2: 4s bm with staff above;8a;b ebm;[down;len 14]b bm with staff above;d;4s ebm;
+bar
+
+// locations
+3: 2cf; [=h] egc+;
+1: [cue; with >; =_ch] fa;
+
+
+roll up 1 1 to 1 2: 2; 4;
+roll down 1 1 to 1 2: 2; 4;
+
+lyrics above 1,3 ; below 2,4 ; between 5&6 : "<1. >Hi, hi";
+
+title "page \% of \#"
+
+// shaped whole rests
+1: 4mr; // use a quarter rest symbol
+1: 1/4mr; // use a quadruple whole rest symbol
+2: 2.. mr; // use a double-dotted half rest
+
+// tuplets
+1: {4f; g;}3num,4.+2.
+bar
+
diff --git a/autotests/folding/highlight.pb.fold b/autotests/folding/highlight.pb.fold
new file mode 100644
index 0000000..aad9803
--- /dev/null
+++ b/autotests/folding/highlight.pb.fold
@@ -0,0 +1,87 @@
+; This is a test file for kate's PureBasic highlighting.
+
+; BMP2x Converter by Sven Langenkamp
+
+UseJPEGImageEncoder()
+UsePNGImageEncoder()
+
+Declare Convert(JPEG)
+
+Enumeration 1
+ #JPEG
+ #PNG
+EndEnumeration
+
+; BEGIN section
+
+
+; END
+
+Global Count
+Global file.s
+Global filename.s
+Global fileext.s
+Global OutputFormat
+Global JPEGQuality
+
+Count = 0
+OutputFormat = 1
+JPEGQuality = -1
+
+; MAIN PROGRAM------------------------------------------------------------------
+
+;Request Options
+PrintN("Output Format")
+PrintN(" [1] JPEG")
+PrintN(" [2] PNG")
+Print ("> ")
+OutputFormat = Int(Input())
+
+Select OutputFormat
+ Case #JPEG:
+ fileext = ".jpg"
+ ;Request JPEG Quality
+ PrintN("")
+ PrintN("JPEG Quality")
+ PrintN(" [0-10]")
+ Print ("> ")
+ JPEGQuality = Int(Input())
+
+ Case #PNG:
+ fileext = ".png"
+EndSelect
+
+;Convert all BMP files in the current directory
+ExamineDirectory(0, "", "*.bmp")
+While NextDirectoryEntry()
+ file = DirectoryEntryName()
+ filename = GetFilePart(file)
+
+ If LoadImage(0, file)
+ Select OutputFormat
+ Case #JPEG:
+ Convert(JPEGQuality)
+
+ Case #PNG:
+ Convert(-1)
+ EndSelect
+ Count = Count +1
+ EndIf
+
+Wend
+
+PrintN(Str(Count) + " files converted")
+CloseConsole()
+
+; PROCUDURES--------------------------------------------------------------------
+
+Procedure Convert(JPEG)
+ Shared filename, fileext
+
+ If JPEG > -1
+ SaveImage(0, filename + fileext, #PB_ImagePlugin_JPEG, JPEG)
+ Else
+ SaveImage(0, filename + fileext, #PB_ImagePlugin_PNG)
+ EndIf
+ PrintN(file + " converted to " + filename + fileext)
+EndProcedure
diff --git a/autotests/folding/highlight.php.fold b/autotests/folding/highlight.php.fold
new file mode 100644
index 0000000..a77104d
--- /dev/null
+++ b/autotests/folding/highlight.php.fold
@@ -0,0 +1,23 @@
+
+/* This is a pseudo PHP file to test Kate's PHP syntax highlighting. */
+# TODO: this is incomplete, add more syntax examples!
+# this is also a comment.
+// Even this is a comment
+function test($varname) {
+ return "bla"; # this is also a comment
+}
+
+?>
+
+
+
+
+ print "test "; ?>
+
+
+<<
+This is the $string inside the variable (which seems to be rendered as a string)
+It works well, I think.
+DOOH
+?>
diff --git a/autotests/folding/highlight.pike.fold b/autotests/folding/highlight.pike.fold
new file mode 100644
index 0000000..5c65bae
--- /dev/null
+++ b/autotests/folding/highlight.pike.fold
@@ -0,0 +1,24 @@
+#! /bin/env pike
+
+/* This file is a syntax highlight test for Kate.
+ * FIXME: Improve it to contain more (and more unusual) syntax examples.
+ */
+
+
+#define PIKE_ON_THE_WEB /* Is this address correct? */ "http://pike.ida.liu.se/"
+
+
+int main(int argc, array(string) args)
+{
+ // Write funny things with Pike :)
+ write(`+("Command line arguments (%d of them): ", @map(args, `+, " ")) + "\n", argc);
+
+ write("\nVisit Pike site at %s\n\n", PIKE_ON_THE_WEB);
+
+ for (int i = 1; i <= 3; i++)
+ write(":" + ")" * i + " ");
+
+ write("\n" + ({ "Bye", "bye"} ) * "-" + "!\n");
+
+ return 0;
+}
diff --git a/autotests/folding/highlight.pl.fold b/autotests/folding/highlight.pl.fold
new file mode 100644
index 0000000..8e7ac74
--- /dev/null
+++ b/autotests/folding/highlight.pl.fold
@@ -0,0 +1,44 @@
+#!/usr/bin/perl -w
+# This is a pseudo Perl file to test Kate's Perl syntax highlighting.
+# TODO: this is incomplete, add more syntax examples!
+
+sub prg($)
+{
+ my $var = shift;
+
+ $var =~ s/ bla/ foo/igs;/ foo/igs ;
+ $var =~ s! bla! foo!igs;! foo!igs ;
+ $var =~ s# bla# foo#igs;# foo#igs ;
+ $var =~ tr/a-z/A-Z/;
+ ($match) = ($var =~ m/ (.*?)/igs );
+
+ $test = 2/453453.21;
+ $test /= 2;
+
+ print qq~ d fsd fsdf sdfl sd~
+
+ $" = ' /' ;
+
+ $foo = << __EOF;
+d ahfdklf klsdfl sdf sd
+fsd sdf sdfsdlkf sd
+__EOF
+
+ $x = " dasds" ;
+
+ next if( $match eq " two" );
+ next if( $match =~ / go/i );
+
+ @array = (1,2,3); # a comment
+ @array = qw( apple foo bar) ;
+ push(@array, 4);
+ %hash = (red => ' rot' ,
+ blue => ' blau' );
+ print keys(%hash);
+}
+
+sub blah {
+}
+
+&blah;
+prg(" test" );
diff --git a/autotests/folding/highlight.pov.fold b/autotests/folding/highlight.pov.fold
new file mode 100644
index 0000000..01e848c
--- /dev/null
+++ b/autotests/folding/highlight.pov.fold
@@ -0,0 +1,76 @@
+//BEGIN TEST
+// test scene for POV-Ray syntax highlighting
+
+/* test comment */
+
+/* nested /* comments */ do not work */
+
+#version 3.5;
+//END
+global_settings { assumed_gamma 1.0 }
+
+// ----------------------------------------
+
+camera {
+ location <5.0, -12.0, 2.0>
+ up z sky z
+ look_at <0.0, 0.0, 0.5>
+ angle 40
+}
+
+sky_sphere {
+ pigment {
+ gradient z
+ color_map {
+ [0.0 rgb <0.6,0.7,1.0>]
+ [0.2 rgb <0.2,0.3,0.9>]
+ }
+ }
+}
+
+light_source {
+ <3, 1, 2>*1000
+ color rgb <2.2, 1.8, 1.5>
+}
+
+// ----------------------------------------
+
+#declare TEST=0;
+
+#ifdef (TEST)
+ plane {
+ z, 0
+ texture {
+ pigment {
+ checker
+ color rgb 1, color rgb 0
+ }
+ }
+ }
+#end
+
+#macro Sphere(Pos, Radius)
+ sphere {
+ , Radius
+ texture {
+ pigment { color rgb 1 }
+ finish{
+ diffuse 0.3
+ ambient 0.0
+ specular 0.6
+ reflection 0.8
+ }
+ }
+ }
+#end
+
+#local Cnt=0;
+#local Seed=seed(0);
+
+#while (Cnt<10000)
+ Sphere(
+ -100+*200,
+ 0.3+pow(rand(Seed),2)*0.7
+ )
+ #local Cnt=Cnt+1;
+#end
diff --git a/autotests/folding/highlight.prg.fold b/autotests/folding/highlight.prg.fold
new file mode 100644
index 0000000..9f03189
--- /dev/null
+++ b/autotests/folding/highlight.prg.fold
@@ -0,0 +1,71 @@
+// Test file to test kate's clipper highlighting
+// kate: hl Clipper;
+
+//BEGIN INCLUDES
+#include
+#include "logo.ch"
+
+#define PRGVERSION "0.0.1"
+//END
+
+//BEGIN CODE
+static ws, win
+static driver := getDriver()
+/* a multiline
+ comment
+*/
+
+function main( formName )
+ local form
+ local fileName
+
+ if empty(formName)
+ ?? "Usage: ./form_ui &\n"
+ CANCEL
+ else else
+ fileName := formName
+ endif
+ ws := UIWorkSpace()
+
+ form := UIForm( fileName )
+ win := form:parseFile()
+// ?? valtype(win),chr(10)
+ if win == NIL
+ CANCEL
+ endif
+ win:show()
+
+ ws:run()
+ ws:quit()
+return 0
+
+/* Setting dialog */
+function settingsDialog()
+ ?? "TODO: Settings dialog&\n"
+return
+
+/* About dialog */
+function aboutDialog()
+ local dlg := UIWindow("About", win, "aboutDlg", .F.)
+ local hl, lside, t, bb, bD
+
+ hl := UIHBox(,4,8)
+ lside := UIVBox()
+ lside:add(UIImage(eas_logo_mini,.T.))
+ hl:add(lside,.F.,.F.)
+ dlg:userSpace:add(hl,.T.,.T.)
+ t := UIVBox()
+ hl:add(t,.T.,.T.)
+
+ t:add(UILabel("License: GPL version 2 or later"))
+ bb := UIButtonBar()
+ t:add(bb)
+ bD := UIButton(win, "&Close", {|o,e| dlg:close() } )
+ bb:add( bD )
+
+ dlg:setFocus(bD)
+ dlg:setDefault(bD)
+ dlg:setPlacement( .T. )
+ dlg:show()
+return
+//END
diff --git a/autotests/folding/highlight.qml.fold b/autotests/folding/highlight.qml.fold
new file mode 100644
index 0000000..2494d70
--- /dev/null
+++ b/autotests/folding/highlight.qml.fold
@@ -0,0 +1,59 @@
+import Qt 4.6
+
+// some random qml snippets stolen from the qt docs
+
+Rectangle {
+ important: true
+ propertyAsdf:
+ id: container
+ signalA: bla
+ property string label
+ signal clicked
+ radius: 5; border.color: "black"
+ color: mouse.pressed ? "steelblue" : "lightsteelblue"
+ gradient: Gradient {
+ GradientStop { position: mouse.pressed ? 1.0 : 0.0; color: "steelblue" }
+ GradientStop { position: mouse.pressed ? 0.0 : 1.0; color: "lightsteelblue" }
+ }
+ MouseRegion { id: mouse; anchors.fill: parent; onClicked: container.clicked() }
+ Text { anchors.fill: parent; text: container.label; anchors.centerIn: parent }
+}
+
+Rectangle {
+ Script {
+ function calculateMyHeight() {
+ return Math.max(otherItem.height, thirdItem.height);
+ }
+ }
+
+ anchors.centerIn: parent
+ width: Math.min(otherItem.width, 10)
+ height: calculateMyHeight()
+ color: { if (width > 10) "blue"; else "red" }
+}
+
+Rectangle {
+ default property color innerColor: "black"
+ property color innerColor: "black"
+ property alias text: textElement.text
+ property alias aliasXYZ: testElement.text
+ signal bar
+ signal bar(var blah, string yxcv)
+ width: 240; height: 320;
+ width: 100; height: 30; source: "images/toolbutton.sci"
+ ListView {
+ anchors.fill: parent
+ model: contactModel
+ delegate: Component {
+ Text {
+ text: modelData.firstName + " " + modelData.lastName
+ }
+ }
+ }
+}
+
+Item {
+ function say(text) {
+ console.log("You said " + text);
+ }
+}
diff --git a/autotests/folding/highlight.rb.fold b/autotests/folding/highlight.rb.fold
new file mode 100644
index 0000000..8ae2980
--- /dev/null
+++ b/autotests/folding/highlight.rb.fold
@@ -0,0 +1,551 @@
+# This file is a testcase for the highlighting of Ruby code
+# It's not executable code, but a collection of code snippets
+#
+
+require 'Config'
+require 'DO/Clients'
+require 'DO/DBClients'
+
+ def CGI::escapeElement(string, *elements)
+ elements = elements[0] if elements[0].kind_of?(Array)
+ unless elements.empty?
+ string.gsub(/<\/?(?:#{elements.join("|")})(?!\w)(?:.|\n)*?>/ni) do
+ CGI::escapeHTML($&)
+ end
+ else else
+ string
+ end
+ end
+
+case inputLine
+ when "debug"
+ dumpDebugInfo
+ dumpSymbols
+ when /p\s+(\w+)/
+ dumpVariable($1)
+ when "quit", "exit"
+ exit
+ else else
+ print "Illegal command: #{inputLine}"
+end
+
+
+kind = case year #hi there
+ when 1850..1889 then "Blues"
+ when 1890..1909 then "Ragtime"
+ when 1910..1929 then "New Orleans Jazz"
+ when 1930..1939 then "Swing"
+ when 1940..1950 then "Bebop"
+ else "Jazz"else "Jazz"
+ end
+
+ # URL-encode a string.
+ # url_encoded_string = CGI::escape("'Stop!' said Fred")
+ # # => "%27Stop%21%27+said+Fred"
+ def CGI::escape(string)
+ string.gsub(/([^ a-zA-Z0-9_.-]+)/n) do
+ '%' + $1.unpack('H2' * $1.size).join('%').upcase
+ end .tr(' ', '+')
+ end
+
+
+# Class ClientManager
+#
+# definition : Import, store and export the various data used by the application.
+# This class is the sole interface between the application and the underlying database.
+
+mon, day, year = $1, $2, $3 if /(\d\d)-(\d\d)-(\d\d)/
+puts "a = #{a}" if fDebug
+print total unless total == 0
+
+while gets
+ next if /^#/ # Skip comments
+ parseLine unless /^$/ # Don't parse empty lines
+end
+
+if artist == "John Coltrane" #hi there
+ artist = "'Trane" #hi there
+end unless nicknames == "no" #hi there
+
+handle = if aSong.artist == "Gillespie" then #hi there
+ "Dizzy"
+ elsif aSong.artist == "Parker" thenelsif aSong.artist == "Parker" then
+ "Bird"
+ else #hi thereelse #hi there
+ "unknown"
+ end
+
+if aSong.artist == "Gillespie" then handle = "Dizzy"
+elsif aSong.artist == "Parker" then handle = "Bird"elsif aSong.artist == "Parker" then handle = "Bird"
+else handle = "unknown"else handle = "unknown"
+end #hi there
+
+if aSong.artist == "Gillespie" then
+ handle = "Dizzy"
+elsif aSong.artist == "Parker" thenelsif aSong.artist == "Parker" then
+ handle = "Bird"
+else else
+ handle = "unknown"
+end
+
+if aSong.artist == "Gillespie"
+ handle = "Dizzy"
+elsif aSong.artist == "Parker"elsif aSong.artist == "Parker"
+ handle = "Bird"
+else else
+ handle = "unknown"
+end
+
+ case line
+ when /title=(.*)/
+ puts "Title is #$1"
+ when /track=(.*)/
+ puts "Track is #$1"
+ when /artist=(.*)/
+ puts "Artist is #$1"
+end
+
+case shape
+ when Square, Rectangle
+ # ...
+ when Circle
+ # ...
+ when Triangle
+ # ...
+ else else
+ # ...
+end
+
+
+until playList.duration > 60 #hi there
+ playList.add(songList.pop)
+end
+
+3.times do
+ print "Ho! "
+end
+
+loop {
+ # block ...
+}
+
+songList.each do |aSong|
+ aSong.play
+end
+
+for aSong in songList
+ aSong.play
+end
+
+for i in ['fee', 'fi', 'fo', 'fum']
+ print i, " "
+end
+for i in 1..3
+ print i, " "
+end
+for i in File.open("ordinal").find_all { |l| l =~ /d$/}
+ print i.chomp, " "
+end
+
+class Periods
+ def each
+ yield "Classical"
+ yield "Jazz"
+ yield "Rock"
+ end
+end
+
+
+periods = Periods.new
+for genre in periods
+ print genre, " "
+end
+
+while gets
+ next if /^\s*#/ # skip comments
+ break if /^END/ # stop at end
+ # substitute stuff in backticks and try again
+ redo if gsub!(/`(.*?)`/) { eval($1) }
+ # process line ...
+end
+
+i=0
+loop do
+ i += 1
+ next if i < 3
+ print i
+ break if i > 4
+end
+
+for i in 1..100
+ print "Now at #{i}. Restart? "
+ retry if gets =~ /^y/i
+end
+
+def doUntil(cond)
+ yield
+ retry unless cond
+end
+
+i = 0
+doUntil(i > 3) {
+ print i, " "
+ i += 1
+}
+
+def system_call
+ # ... code which throws SystemCallError
+rescue SystemCallErrorrescue SystemCallError
+ $stderr.print "IO failed: " + $!
+ opFile.close
+ File.delete(opName)
+ raise
+end
+
+class ClientManager
+
+ # constructor
+ def initialize(dbase)
+ @dbClient = DBClient.new(dbase)
+ @clients = Clients.new
+ end
+
+ def prout(a, b, xy="jj") 24 end
+ ###############################################################
+ #
+ # CLIENTS SECTION
+ #
+ ###############################################################
+
+ # update the clients object by retrieving the related data from the database
+ # returns the number of clients
+ def refreshClients
+ @clients.clean
+ unless @sqlQuery.nil? then
+ @sqlQuery.selectClient.each do |row|
+ @clients.addClient(row[0],row[1],row[2],row[3],row[4],row[5], row[6], row[7], row[8])
+ end
+ else else
+ puts "SqlQuery wasn't created : cannot read data from database"
+ end
+ return @clients.length
+ end
+
+ # insert a client in the database and refreshes the local clients object
+ # we assume that none of the arguments is null
+ # we assume that the client, identified by raison_sociale doesn't already exists
+ def addClient(raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact)
+ id = "0"
+ unless @sqlQuery.nil? then
+ id = @sqlQuery.insertClient(raison_sociale, division, departement, adresse, cp, ville, nom_contact,tel_contact)
+ else else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients.addClient(id, raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact) # synchronize local object with DB
+ end
+
+ # deletes a client from the database and updates the local Clients object accordingly
+ def delClient(nomclient_brut)
+ raison_sociale, div, dep = Clients.getIdentifiers(nomclient_brut)
+ listeContratsExp, listeContratsSup, listeContratsProd, listePropositionsExp, listePropositionsSup = []
+
+ listeContratsExp = @contratsExpertise.getContratsFromClient(nomclient_brut)
+ listeContratsSup = @contratsSupport.getContratsFromClient(nomclient_brut)
+ listeContratsProd = @contratsProduits.getContratsFromClient(nomclient_brut)
+ listePropositionsExp = @propositionsExpertise.getPropositionsFromClient(nomclient_brut)
+ listePropositionsSup = @propositionsSupport.getPropositionsFromClient(nomclient_brut)
+
+ unless @sqlQuery.nil? then
+ @sqlQuery.deleteClient(raison_sociale, div, dep)
+
+ @sqlQuery.deleteContracts(Config::EXPERTISE,listeContratsExp)
+ @sqlQuery.deleteContracts(Config::SUPPORT,listeContratsSup)
+ @sqlQuery.deleteContracts(Config::PRODUIT,listeContratsProd)
+ @sqlQuery.deletePropositions(Config::EXPERTISE,listePropositionsExp)
+ @sqlQuery.deletePropositions(Config::SUPPORT,listePropositionsSup)
+ else else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients.delClient(raison_sociale,div,dep)
+
+ @contratsExpertise.deleteContracts(listeContratsExp)
+ @contratsSupport.deleteContracts(listeContratsSup)
+ @contratsProduits.deleteContracts(listeContratsProd)
+ @propositionsExpertise.deletePropositions(listePropositionsExp)
+ @propositionsSupport.deletePropositions(listePropositionsSup)
+ end
+end
+
+ # Mixin module for HTML version 3 generation methods.
+ module Html3 # :nodoc:
+
+ # The DOCTYPE declaration for this version of HTML
+ def doctype
+ % ||
+ end
+
+ # Initialise the HTML generation methods for this version.
+ def element_init
+ extend TagMaker
+ methods = ""
+ # - -
+ for element in % w[ A TT I B U STRIKE BIG SMALL SUB SUP EM STRONG
+ DFN CODE SAMP KBD VAR CITE FONT ADDRESS DIV center MAP
+ APPLET PRE XMP LISTING DL OL UL DIR MENU SELECT table TITLE
+ STYLE SCRIPT H1 H2 H3 H4 H5 H6 TEXTAREA FORM BLOCKQUOTE
+ CAPTION ]
+ methods += <<- BEGIN + nn_element_def(element) + <<-END
+ def #{element.downcase}(attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # - O EMPTY
+ for element in % w[ IMG BASE BASEFONT BR AREA LINK PARAM HR INPUT
+ ISINDEX META ]
+ methods += <<- BEGIN + nOE_element_def(element) + <<-END
+ def #{element.downcase}(attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # O O or - O
+ for element in % w[ HTML HEAD BODY P PLAINTEXT DT DD LI OPTION tr
+ th td ]
+ methods += <<- BEGIN + nO_element_def(element) + <<-END
+ def #{element.downcase}(attributes = {})
+ BEGIN
+ end
+ END
+ end
+ eval(methods)
+ end
+
+ end
+
+# following snippet from Webrick's log.rb
+# notice the erronous handling of the query method is_a?
+def format(arg)
+ str = if arg.is_a?(Exception)
+ "#{arg.class}: #{arg.message}\n\t" <<
+ arg.backtrace.join("\n\t") << "\n"
+ elsif arg.respond_to?(:to_str)elsif arg.respond_to?(:to_str)
+ arg.to_str
+ else else
+ arg.inspect
+ end
+end
+
+# following snippet from Webrick's httputils.rb
+# Splitting regexps on several lines might be bad form,
+# but not illegal in Ruby.
+# This should probably be supported in the highlighting
+def split_header_value(str)
+ str.scan(/((?:"(?:\\.|[^"])+?"|[^",]+)+)
+ (?:,\s*|\Z)/xn).collect{ |v| v[0] }
+end
+
+# snippet from Net::Telnet
+string.gsub(/#{IAC}(
+ [#{IAC}#{AO}#{AYT}#{DM}#{IP}#{NOP}]|
+ [#{DO}#{DONT}#{WILL}#{WONT}]
+ [#{OPT_BINARY}-#{OPT_NEW_ENVIRON}#{OPT_EXOPL}]|
+ #{SB}[^#{IAC}]*#{IAC}#{SE}
+ )/xno)
+
+# following snippet from Webrick's httpresponse.rb
+# the HEREDOC is not recognized as such
+@body << <<- _end_of_html_
+
+
+ #{HTMLUtils::escape(@reason_phrase)}
+
+ #{HTMLUtils::escape(@reason_phrase)}
+ #{HTMLUtils::escape(ex.message)}
+
+_end_of_html_
+
+
+# snippet from Webrick's httpproxy.rb
+# here we should make sure that the symbol definition ':' doesn't override
+# the module operator '::'
+Net::HTTP::version_1_2 if RUBY_VERSION < "1.7"
+
+# snippet from Webrick's cookie.rb
+# the beginning of the regexp is erronously highlighted like an operator
+key, val = x.split(/=/,2)
+
+# the following are division operators
+# it's a bit tricky to keep the operator apart from the regexp
+result = 8 / 4
+result /= divisor
+
+# 2008-06-01 regexp and division operator syntax has been fixed:
+result = 8/4 # division
+result = 8/foo # division
+result = /8/ # regexp
+result = 8//4/ # division and regexp
+
+10/10 # division
+10/ 10 # division
+10 /10 # division
+10 / 10 # division
+
+foo/10 # division
+foo/ 10 # division
+foo /10/ # regexp
+foo / 10 # division
+
+foo/10/10 # both division
+total/count/2 # both division
+total/(count/2) # both division
+
+@foo/10 # division
+@foo /10 # division
+
+"hello"/10 # division
+"hello" / 10 # division
+
+/regexp//10 # division
+/regexp/ / 10 # division
+
+Math::PI/10 # division
+Math::foo /rx/ # regexp
+
+# 2008-06-05 similar fix for modulo operator:
+
+10%4 # modulo
+10 %4 # modulo
+10% 4 # modulo
+10 % 4 # modulo
+
+foo%4 # modulo
+# foo %4 # illegal %string
+foo% 4 # modulo
+foo % 4 # modulo
+
+foo % (4) # modulo
+
+foo % (4) # %string
+foo % q(4) # %string
+foo % Q(4) # %string
+foo % %4% # %string
+
+foo = % |blah| # GDL input
+foo % % |blah| # modulo and GDL
+
+# mix in any way you want
+result = 10//regexp//20/foo//regexp//20
+
+# test cases for general delimited input
+# quoted strings
+% Q|this is a string|
+% Q{this is a string}
+% Q(this is a string)
+% Q>
+% Q[this is a string]
+
+% |also a string|
+% {also a string}
+% (also a string)
+% >
+% [also a string]
+
+# apostrophed strings
+% q|apostrophed|
+% q{apostrophed}
+% q(apostrophed)
+% q>
+% q[apostrophed]
+
+# regular expressions
+% r{expression}
+% r(expression)
+% r>
+% r[expression]
+% r|expression|
+
+# shell commands
+% x{ls -l}
+% x(ls -l)
+% x>
+% x[ls -l]
+
+# sometimes it's useful to have the command on multiple lines
+% x{ls -l |
+grep test }
+
+# alternative syntax
+`ls -l`
+`echo ' '`
+
+# token array
+% w{one two three}
+% w(one two three)
+% w>
+% w[one two three]
+
+# snippet from Net::IMAP
+# I object to putting String, Integer and Array into kernel methods.
+# While these classes are builtin in Ruby, this is an implementation detail
+# that should not be exposed to the user.
+# If we want to handle all std-lib classes, fine. But then they should be in their
+# own std-lib keyword category.
+
+def send_data(data)
+ case data
+ when nil
+ put_string("NIL")
+ when String
+ send_string_data(data)
+ when Integer
+ send_number_data(data)
+ when Array
+ send_list_data(data)
+ when Time
+ send_time_data(data)
+ when Symbol
+ send_symbol_data(data)
+ else else
+ data.send_data(self)
+ end
+end
+
+# snippet from Net::POP
+# class names can have numbers in them as long as they don't begin with numbers
+# Ruby doesn't internally really make much of a difference between a class name and a constant
+
+# class aliases
+ POP = POP3
+ POPSession = POP3
+ POP3Session = POP3
+
+# "member access"
+POP::Session.COUNT.attribute.calc_with(2){ |arg| puts arg }
+
+# snippet from Net::SMTP
+# This breaks the code folding. I think we would need to
+# handle the '\' that continues the statement to the next line
+# in some way to make these kind of things not break something.
+raise ArgumentError, 'both user and secret are required'\
+ unless user and secret
+
+# string escapes must detect escaping the escape char
+str = "\\"
+str = "\\\\"
+# this is not part of the string
+% x{echo \\\}\\} # prints \}\
+# this is not part of the command
+
+# these are all symbols
+:abc
+:abc!
+:abc?
+:abc=
+:[]
+:[]=
+:@abc
+:@@abc
+:$abc
diff --git a/autotests/folding/highlight.scheme.fold b/autotests/folding/highlight.scheme.fold
new file mode 100644
index 0000000..c42b22f
--- /dev/null
+++ b/autotests/folding/highlight.scheme.fold
@@ -0,0 +1,186 @@
+; This is a test file to test kates scheme highlighting
+; This is a comment
+
+;; Another comment, usually used.
+;BEGIN region marker
+;; a vektor
+#(1 2 3 4 5)
+;END region marker
+;; this represents integer 28 (FIXME: does not work perfectly atm!)
+28 028 #e28 #i28 ;; Normal, normal, exact, inexact
+#b11100 #o34 #d28 #x1c ;; Bin, okt, dec, hex
+#oe34 #eo34 ;; combined.
+
+;; char.
+(#\y #\space) ;; list: `y' space.
+(#\ #\\ #\)) ;; list of spaces, backslash and`)'.
+#\newline ;; a newline-char
+#\NewLine ;; another one :)
+
+"Hello, world" ;; a string
+
+"hoho, what do you
+want to do ;; this is NO comment
+with that?"
+
+;; R5RS definiert diese beiden.
+"Das ist \"in Anführungszeichen\" und mit \\ Backslash."
+
+(let ((x (+ 1 2)) (y "blah")) ;; `let' highlighting.
+ (and (number? x) ;; `and' highlighting.
+ (string? y)))
+
+(let* ((x 2) (y (+ x 1))) ;; `let*' too.
+ (or (negative? x) ;; `or' anyways.
+ (negative? y)))
+
+(do ((vec (make-vector 5)) ;; `do' you may guess!
+ (i 0 (+ i 1)))
+ ((= i 5) vec)
+ (vector-set! vec i i))
+
+(quasiquote ((+ 1 2) (unquote (+ 1 2))))
+;; same as: `((+ 1 2) ,(+ 1 2))
+
+;; see above.
+(quasiquote ((+ 1 2) (unquote-splicing (list 1 2 3))))
+;; same as: `((+ 1 2) ,@(+ 1 2))
+
+;; not necessary.
+(quote ())
+
+(cond ((string? x) (string->symbol x)) ;; `cond' highlighting.
+ ((symbol? x) => (lambda (x) x)) ;; `=>' highlighting.
+ (else ;; `else' highlighting.
+ (error "Blah")))
+
+(case x ;; `case' highlighting.
+ ((#t) 'true) ((#f) 'false)
+ ((()) 'null)
+ ((0) 'zero))
+
+;; highlight `let-syntax' and `syntax-rules' .
+(let-syntax ((when (syntax-rules ()
+ ((when test stmt1 stmt2 ...)
+ ;; hl `begin' .
+ (if test (begin stmt1 stmt2 ...))))))
+ (let ((if #t)) ;; here`if' is actually no keyword.
+ (when if (set! if 'now)) ;; nor here.
+ if))
+
+(letrec-syntax ...) ;; hl `letrec-syntax'.
+
+(define-syntax when
+ (syntax-rules ()
+ ((when test stmt1 stmt2 ...)
+ (if test (begin stmt1 stmt2 ...))))))
+
+;; variable definitions.
+(define natural-numbers ;; hl `define' and the var name
+ ;; endless stream of all natual numbers.
+ (letrec ((next-cell ;; hl `letrec'.
+ (lambda (x) ;; hl `lambda'.
+ ;; hl `delay' .
+ (cons x (delay (next-cell (+ x 1)))))))
+ (next-cell 0)))
+
+;; a procedure with unusual but allowed name.
+(define 1+
+ (lambda (x)
+ (+ x 1)))
+
+;; a predicate
+(define between?
+ (lambda (x y z)
+ (if (and (>= x y) (<= x z))
+ #t ;; True
+ #f))) ;; False.
+
+;; imperative procedure
+(define set-something!
+ (lambda (required-argument another-one . all-remaining-args)
+ (set-car! another-one (lambda all-args
+ (set-cdr! required-argument
+ (append all-remaining-args
+ all-args))))))
+
+(define compose
+ (lambda (f g)
+ (lambda (x)
+ (f (g x)))))
+
+;; syntactical sugar for procedure-definitions.
+(define (compose f g)
+ (lambda (x)
+ (f (g x))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; NOW: Guile extensions ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; procedure-generator.
+(define ((compose f g) x)
+ (f (g x)))
+
+;; scheme doesn't say, which chars may be in variables...
+;; At least: Guile accepts umlauts
+(define-private (timetr??? sprache) ;; hl `define-private'.
+ (list-dialekt? sprache))
+
+(define-public x #t) ;; hl `define-public'.
+(define-module (foo bar)) ;; hl `define-module'.
+(define-macro (neither . exprs) ;; hl `define-macro'.
+ `(and ,@(map (lambda (x) `(not ,x)) exprs)))
+
+(defmacro neither exprs ;; `defmacro' as well.
+ `(and ,@(map (lambda (x) `(not ,x)) exprs)))
+
+;; hl, but I really don't know what this is supposed to do :-)
+(define-syntax-macro ...)
+
+;; hl GOOPS-`defines'
+(define-method (foo bar (baz ) qux) ...)
+(define-class ...)
+(define-generic foo)
+(define-accessor bar)
+
+;; Keywords!
+(blah #:foo 33 #:bar 44)
+
+;; another convention for symbols:
+#{foo}#
+
+#{a
+few
+lines}#
+
+#{4711}#
+
+;; more chars.
+#\nul #\nl #\esc #\bs #\bel #\syn #\ack #\sp ;; etc, utc, itc, oops (this is boring)
+
+#!
+ guile block-comment.
+!#
+
+;; now, a bit hairy:
+#! comment !#
+still comment!!!
+!#
+'now-no-comment-anymore
+
+;; more precise:
+#! comment !#
+still comment
+!# still comment!
+!#
+'now-no-comment-anymore
+
+(while (> foo 10) ;; Highlight `while'.
+ (set! foo (- foo 1))
+ (catch #t ;; Highlight `catch'.
+ (lambda () (display foo))
+ (lambda (key . args)
+ (if (eq? key 'system-error)
+ (break) ;; Highlight `break'.
+ (continue))))) ;; Highlight `continue'.
diff --git a/autotests/folding/highlight.sh.fold b/autotests/folding/highlight.sh.fold
new file mode 100644
index 0000000..9f81112
--- /dev/null
+++ b/autotests/folding/highlight.sh.fold
@@ -0,0 +1,207 @@
+#! /bin/sh
+# This is a test script for the Katepart Bash Syntax Highlighting by
+# Wilbert Berendsen. This is not runnable !!!
+
+
+# The highlighting recognizes basic types of input, and has a few special cases that
+# are all in FindCommands. The main objective is to create really proper nesting of
+# (multiline) strings, variables, expressions, etc.
+
+
+
+# ============== Tests: ===============
+
+# basic types:
+echo 'single quoted string'
+echo "double quoted string"
+echo $'string with esc\apes\x0din it'
+echo $"string meant to be translated"
+
+
+# comments:
+# this is a comment
+#this too
+echo this is#nt a comment
+dcop kate EditInterface#1 #this is
+
+
+# brace expansion
+mv my_file.{JPG,jpg}
+
+
+# special characters are escaped:
+echo \(output\) \&\| \> \< \" \' \*
+
+
+# variable substitution:
+echo $filename.ext
+echo $filename_ext
+echo ${filename}_ext
+echo text${array[$subscript]}.text
+echo text${array["string"]}.text
+echo ${!prefix*}
+echo ${!redir}
+echo short are $_, $$, $?, ${@}, etc.
+echo ${variable/a/d}
+echo ${1:-default}
+
+
+# expression subst:
+echo $(( cd << ed + 1 ))
+
+
+# command subst:
+echo $(ls -l)
+echo `cat myfile`
+
+
+# file subst:
+echo $(<$filename)
+echo $( my_file.txt 2>&1
+
+
+# All substitutions also work in strings:
+echo "subst ${in}side string" 'not $inside this ofcourse'
+echo "The result is $(( $a + $b )) . Thanks!"
+echo "Your homedir contains `ls $HOME |wc -l` files."
+
+
+# Escapes in strings:
+p="String \` with \$ escapes \" ";
+
+
+# keywords are black, builtins dark purple and common commands lighter purple
+set
+exit
+login
+
+
+# Other colorings:
+error() {
+ cat /usr/bin/lesspipe.sh
+ runscript >& redir.bak
+ exec 3>&4
+}
+
+
+# do - done make code blocks
+while [ $p -lt $q ]
+do
+ chown 0644 $file.$p
+done
+
+
+# braces as well
+run_prog | sort -u |
+{
+ echo Header
+ while read a b d
+ do
+ echo $a/$b/$c
+ done
+ echo Footer
+}
+
+
+# Any constructions can be nested:
+echo "A long string with $(
+ if [ $count -gt 100 ] ; then
+ echo "much"
+ else
+ echo "not much"
+ fi ) substitutions." ;
+
+
+# Even the case construct is correctly folded:
+test -f blaat &&
+( do_something
+ case $p in
+ *bak)
+ do_bak $p
+ ;;
+ *)
+ dont_bak $p
+ ;;
+ esac
+) # despite the extra parentheses in the case construction.
+
+
+# variable assignments:
+DIR=/dev
+p=`ls`
+LC_ALL="nl" dcop 'kate*'
+_VAR=val
+ARR=(this is an array)
+ARR2=([this]=too [and]="this too")
+usage="$0 -- version $VERSION
+Multiple lines of output
+can be possible."
+ANSWER=yes # here 'yes' isn't highlighed as command
+
+
+# Some commands expect variable names, these are colored correctly:
+export PATH=/my/bin:$PATH BLAAT
+export A B D
+local p=3 x y='\'
+read x y z <<< $hallo
+unset B
+declare -a VAR1 VAR2 && exit
+declare less a && b
+
+# options are recoqnized:
+zip -f=file.zip
+./configure --destdir=/usr
+make destdir=/usr/
+
+
+# [[ and [ correctly need spaces to be regarded as structure,
+# otherwise they are patterns (currently treated as normal text)
+if [ "$p" == "" ] ; then
+ ls /usr/bin/[a-z]*
+elif [[ $p == 0 ]] ; then
+ ls /usr/share/$p
+fi
+
+# Fixed:
+ls a[ab]* # dont try to interprete as assignment with subscript (fixed)
+a[ab]
+a[ab]=sa
+
+
+# Here documents are difficult to catch:
+cat > myfile << __EOF__
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded.
+__EOF__
+
+
+# quoted:
+cat << "EOF" | egrep "this" >&4 # the rest of the line is still considered bash source
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded. :->
+EOF
+
+
+# indented:
+if true
+then
+ cat <<- EOF
+ Indented text with a $dollar or \$two
+ EOF
+elif [ -d $file ] ; then
+ cat <<- "EOF"
+ Indented text without a $dollar
+ EOF
+fi
+
+
+case 1 in
+2) echo xxx;
+;;
+1) echo yyy;
+esac esac
+
+ls #should be outside of case 1 folding block
diff --git a/autotests/folding/highlight.spec.fold b/autotests/folding/highlight.spec.fold
new file mode 100644
index 0000000..6ed00cf
--- /dev/null
+++ b/autotests/folding/highlight.spec.fold
@@ -0,0 +1,212 @@
+# Test file for rpmspec.xml
+
+# Comments start with a # in column="0":
+
+# Some comment
+
+# When they don't start in column="0", that they are recognized as comments, but with an alert:
+ # This is a bad comment.
+# RPM spec says clear that comments must start at the begin of the line. However, in practice
+# the RPM software is more permissive, depending on the context. But for our syntax highlighting,
+# we give, while recognizing the as comment, at least a little alert. Comments should not contain
+# the character % (which is marked as warning), but 2 of them are okay: %%. TODO is higlighted.
+
+# A spec file starts with "Normal" context. Here, you can specify values for some tags:
+Name: kradioripper-unstable # Note that here in no comment possible!
+Name: name only _one_ word allowed
+Name: %macro no further syntax check after macro!
+# Some tags support only _one_ word as value
+Version: 0.4test5 up-from-the-space-this-is-an-error
+# Some tag can have parameters: Any char in paranthesis:
+Summary: Recorder for internet radios (based on Streamripper)
+Summary(de.UTF-8): Aufnahmeprogramm für Internetradios (basiert auf Streamripper)
+# requiere free text:
+License: License 1 2 3
+# requiere a well defines value:
+Requires( / ( = ): Some, value()
+# new type "switch" accepts: yes, no, 0, 1
+AutoReq: yes
+AutoReq: yes invalid
+AutoReq: %macro no further syntax check after macro!
+AutoReq: no
+AutoReq: 0
+AutoReq: 1
+# requiere a number:
+Epoch: 123123
+Epoch: 123123 invalid
+Epoch: %macro no further syntax check afer macro!
+# If tags are used that are not known, they are not highlighted:
+Invalidtag: Some value
+Invalid content in this section (only tags are allowed)
+
+# You can use conditions in specs (highlighted with region markers):
+%if 0%{?mandriva_version}
+# numbers and strings are distingished: string:
+%if lsdksfj
+# number:
+%if 23472398
+# string:
+%if lksdjfsl72939
+# invalid:
+%if 92437lsdkfjdsl
+# valid:
+%if "lsdfj %ksdf(sdfs) 3489"
+Release: %mkrel 1.2
+%else %else
+Release: 0
+%endif
+# requiere a well defined value:
+%ifos fixed_value
+# You must use these special macros (%%if etc.) always at the start of the line - if not,
+# that's bad but not an arror. You must also always use the specified form. Everything else is an
+# error:
+ %if
+something %if
+%{if}
+%if(some options)
+# However, this are different macros and therefore correct:
+%ifx
+%{ifx}
+%ifx(some options)
+
+# the \ is escaped in the line. At the end of the line it escapes the line break:
+echo This is \" a text \\ and here\
+it continues.
+
+%define name value
+%define invalid_näme value
+%define macroname multi\
+line content with references like %0 %* %# %{-f} %{-f*} %1 %2 and so on
+%global name value
+%global invalid_näme value
+%undefine name
+%undefine name too-many-parameters
+
+# This special comment is treated and highlighted like a tag:
+# norootforbuild
+# It can't have parameters, so every following non-whitespace character is not good:
+# norootforbuild DONT WRITE ANYTHING HERE!
+# wrong spacing is also recognized:
+# norootforbuild
+# and also an indeet is not fine for norootforbuild:
+ # norootforbuild
+
+# This following "Conflicts" tag will be removed by set-version.sh,
+# if it is a "kradioripper" release (and not a "kradioripper-unstable" release)...
+Conflicts: kradioripper
+
+
+%description
+# Here, a new section starts. It contains a value for the RPM field "description" and is therefor
+# colored like values:
+A KDE program for ripping internet radios. Based on StreamRipper.
+
+
+# A section start can have parameters:
+%description -l de.UTF-8
+Ein KDE-Aufnahmeprogramm für Internetradios. Basiert auf StreamRipper.
+
+# These sections starts are errors:
+ %description not at the first line
+%{description} wrong form
+%description(no options allowed, only parameters!)
+
+
+%prep
+# This starts a section that defines the commands to prepare the build.
+# q means quit. n sets the directory:
+%setup -q -n kradioripper
+echo Test
+# Macros can have different forms: Valid:
+%abc
+%abcÃndOfMacro
+%abc(def)EndOfMacro
+%{abc}EndOfMacro
+%{something but no single %}EndOfMacro
+%{abc:def}EndOfMacro
+%(abc)
+# Invalid:
+%ÃInvalidChar
+%
+%)
+%}
+# You can use macros inside of macro calls: Fine:
+%{something %but no %{sin%(fine)gle} }EndOfMacro
+# Bad:
+%{No closing paranthesis (No syntax highlightig for this error available)
+
+
+%build
+cmake ./ -DCMAKE_INSTALL_PREFIX=%{_prefix}
+%__make %{?jobs:-j %jobs}
+
+
+%install
+%if 0%{?suse_version}
+%makeinstall
+%suse_update_desktop_file kradioripper
+%endif
+%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
+make install DESTDIR=%{buildroot}
+desktop-file-install --delete-original --vendor fedora --dir=%{buildroot}/%{_datadir}/applications/kde4 %{buildroot}/%{_datadir}/applications/kde4/kradioripper.desktop
+%endif
+%if 0%{?mandriva_version}
+%makeinstall_std
+%endif
+
+
+%clean
+rm -rf "%{buildroot}"
+
+
+%files
+%defattr(-,root,root)
+%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
+%{_datadir}/applications/kde4/fedora-kradioripper.desktop
+%else %else
+%{_datadir}/applications/kde4/kradioripper.desktop
+%endif
+%{_bindir}/kradioripper
+%{_datadir}/locale/*/LC_MESSAGES/kradioripper.mo
+%if 0%{?mandriva_version}
+# TODO The %%doc macro is actually broken for mandriva 2009 in build service...
+%dir %{_datadir}/apps/kradioripper
+%{_datadir}/apps/kradioripper/*
+%else %else
+%doc COPYING LICENSE LICENSE.GPL2 LICENSE.GPL3 NEWS WARRANTY
+%dir %{_datadir}/kde4/apps/kradioripper
+%{_datadir}/kde4/apps/kradioripper/*
+%endif
+
+
+%changelog
+* Sun May 04 2008 email@email.com
+- some text
+- some text
+ in two lines
+- some text
+ in two lines
+ + with subtext
+ - and more subtext
+ in two lines
+* Tue Apr 24 2007 Name
+- text
+ * When the star isn't at column 0, than it doesn't indicate
+ a new date
+* Wen Sep 08 2003 Wrong weekday
+* Mon Mai 08 2003 Wrong month
+* Mon Sep 0 2003 bad day
+* Mon Sep 8 2003 good day
+* Mon Sep 08 2003 good day
+* Mon Sep 32 2003 bad day
+* Mon Sep 08 03 bad year
+* Mon Sep 08 2003 Name
+# When using macros, the error check is disabled:
+* %myDataMacro Title of the entry
+- Text
+ - can
+ - be
+ - indeeded
+ - without
+ - problems
+
diff --git a/autotests/folding/highlight.t2t.fold b/autotests/folding/highlight.t2t.fold
new file mode 100644
index 0000000..428f204
--- /dev/null
+++ b/autotests/folding/highlight.t2t.fold
@@ -0,0 +1,90 @@
+txt2tags sample
+
+
+%!--includeconf: config.t2t
+% disabled here because there is no external file
+%!preproc: 'JUST A TEST' ' '
+%!postproc: '(?i)()' ' shots\1'
+
+%!--include: menu.t2t
+
+= Title 1 = = Title 1 =
+
+
+== My Subtitle 1 ==[some definition] == My Subtitle 1 ==[some definition]
+
+Some examples:
+
+- A paragraph with **bold**, //italic// and --strike--.
+- You can even __underline your docs__!
+
+- And use **//bold and italic//**
+- or //**italic and bold**//
+
+Here is a nice pic: [img/t2tpowered.png].
+
+- And a [link to a cool website http://txt2tags.sf.net]!
+
+- A table :
+
+ || Name | Age | Gender |
+ | John | 33 | Male |
+ | Mary | 19 | Female |
+
+
+``` A verbatim line
+
+And it's working for ``special code`` like this.
+
+```
+Unfortunately I can't color this verbatim content yet.
+```
+
+
+== My Subtitle 2 == == My Subtitle 2 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc Lorem ipsum etc
+
+- Test d'écriture avec des accents à la française. Ãa marche ou pas ?
+
+== My Subtitle 3 == == My Subtitle 3 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc
+
+Here is a direct link: http://kde.org
+
+
+- Another boring part...
+
+
+
+=== My Subsubtitle 1 === === My Subsubtitle 1 ===
+
+//It's a level 3 header//
+
+- list 1
+- list 2
+ - list 2b
+- list 3
+
+
+=== My Subsubtitle 2 === === My Subsubtitle 2 ===
+
+//It's another level 3 header//
+
++ ordered list 1
++ list 2
+ + list 2B
+ + list 2C
++ list 3
+
+
+== My Subtitle 4 == == My Subtitle 4 ==
+
+nothing to say here...
+
diff --git a/autotests/folding/highlight.tcl.fold b/autotests/folding/highlight.tcl.fold
new file mode 100644
index 0000000..7b6264c
--- /dev/null
+++ b/autotests/folding/highlight.tcl.fold
@@ -0,0 +1,50 @@
+# tcl syntax highlighting sample script for Kate
+#
+# author: JM. Philippe 15/03/04
+
+# escaped characters
+set String \{
+set String \{
+set String \"
+set String " \" "
+set String " \{ "
+
+#comments and not comments
+# is comments
+;#is comments
+ # is comments
+# is html comment
+puts ok; # is comments
+set String [string map { { »is not comments } } $String]
+set String \#not_a_comment
+
+# blocks
+proc test { arg1 { arg2 { } } { arg3 { fr fq r} } } {
+ if { 1} { ; #comments
+ set String \{; # not a block start
+ }
+}
+
+proc test args {
+ set String \}; # not a block end
+}
+
+# BEGIN - collapsable comments
+# blablabla
+# END
+
+# strings
+set String "feqr feqr $gqer gqe"
+set String "feqr
+feqr \" $gqer \
+gqe
+"
+set String { feqr
+feqr \{ $gqer \
+gqe
+}
+
+# variables
+set b+1 [incr b]
+set { incr-b} ${b+1}
+puts ${incr-b}
diff --git a/autotests/folding/highlight.tex.fold b/autotests/folding/highlight.tex.fold
new file mode 100644
index 0000000..015b4cc
--- /dev/null
+++ b/autotests/folding/highlight.tex.fold
@@ -0,0 +1,73 @@
+% LaTeX test file for kate's syntax highlighting and code folding
+
+\ordinaryLaTeXcommandwithoption[10pt,a4paper]{article}
+% BEGIN region
+%comment, this is all ok % $
+\%no comments please
+\\%comment
+% END of region
+
+\newcommand{\nohighlighting}
+
+\section{normal}
+
+\ref{blue}
+\pageref{blue}
+\cite{blue}
+
+\begin {environmentshavespecialcolors}
+normal
+\end{environmentshavespecialcolors}
+
+$equations are green, \commands somewhat darker$
+normal
+$$ equations are green, \commands somewhat darker$$
+normal
+\(
+\frac{1}{2}
+\begin {test}
+\end {test}
+\)
+normal
+\[
+%comment
+displaymath
+\]
+normal
+\begin {equation}
+green\darkergreen
+\begin {test}
+\test
+\end {test}
+\end {equation}
+
+\begin {equation*}
+green\darkergreen
+%comment
+\begin {test}
+\test
+\end {test}
+\%no comment
+\end {equation*}
+
+\{ %this should be comment
+
+\verb%this shouldn't be%and this should be normal text
+
+\begin {verbatim}
+text inside a verbatim environment is also treated special $ %,
+you can even put a \begin{verbatim} inside
+\end{verbatim}
+
+normal
+
+\begin {Verbatim}
+&@@#^%&^#$
+\end{Verbatim}
+
+
+\begin {Verbatim*}
+@*&^#@*(^#(*@&
+\end{Verbatim*}
+
+normal
diff --git a/autotests/folding/highlight.wrl.fold b/autotests/folding/highlight.wrl.fold
new file mode 100644
index 0000000..c800b08
--- /dev/null
+++ b/autotests/folding/highlight.wrl.fold
@@ -0,0 +1,41 @@
+#VRML V2.0 utf8
+#
+# VRML highlighting test for Kate's syntax highlighting
+#
+
+# Keywords
+DEF, EXTERNPROTO, FALSE, IS, NULL, PROTO, ROUTE, TO, TRUE, USE, eventIn,
+eventOut, exposedField, field
+
+# Data types
+MFColor, MFFloat, MFInt32, MFNode. MFRotation, MFString, MFTime, MFVec2f,
+MFVec3f, SFBool, SFColor, SFFloat, SFImage, SFInt32, SFNode, SFRotation,
+SFString, SFTime, SFVec2f, SFVec3f
+
+# Predefined nodes
+Anchor, Appearance, AudioClip, Background, Billboard, Box, Collision, Color,
+ColorInterpolator, Cone, Coordinate, CoordinateInterpolator, Cylinder,
+CylinderSensor, DirectionalLight, ElevationGrid, Extrusion, Fog, FontStyle,
+Group, ImageTexture, IndexedFaceSet, IndexedLineSet, Inline, LOD, Material,
+MovieTexture, NavigationInfo, Normal, NormalInterpolator, OrientationInterpolator,
+PixelTexture, PlaneSensor, PointLight, PointSet, PositionInterpolator,
+ProximitySensor, ScalarInterpolator, Script, Shape, Sound, Sphere, SphereSensor,
+SpotLight, Switch, Text, TextureCoordinate, TextureTransform, TimeSensor,
+TouchSensor, Transform, Viewpoint, VisibilitySensor, WorldInfo
+
+# Some real VRML constructs to see if highlighting of int, float etc. works
+NavigationInfo {
+ avatarSize [0.25, 1.6, 0.75]
+ headlight TRUE
+ speed 1
+ type ["WALK", "ANY"]
+ visibilityLimit 0.0
+}
+
+# some further testing for strings: linefeeds are allowed within strings
+Text {
+ string ["some special in-string characters: \" \\
+ some more text in the next line
+ and yet another line"]
+}
+
diff --git a/autotests/folding/highlight.xml.fold b/autotests/folding/highlight.xml.fold
new file mode 100644
index 0000000..b120aea
--- /dev/null
+++ b/autotests/folding/highlight.xml.fold
@@ -0,0 +1,67 @@
+ version="1.0" encoding="UTF-8"?>
+language SYSTEM "language.dtd">
+
+
+
+This is a pseudo XML file to test Kate's XML syntax highlighting.
+
+Doctype:
+ HTML PUBLIC "-//SOME_DOCTYPE 0.01//EN" SYSTEM "foobar.dtd">
+
+Processing instruction:
+ processing instruction ?>
+
+Comments:
+
+
+
+Comment inside element:
+ attr="foobar">content >
+
+Markup inside comment:
+
+
+Empty element:
+ />
+ />
+
+Simple element plus content:
+ >some content >
+ attr="foobar">some
+ content >
+
+Namespace for elements and attributes:
+ >content >
+ ns:attr="content content">content >
+
+Elements containing allowed characters:
+ foo="test"/>
+ foo="test"/>
+
+Elements containing allowed start characters:
+ <:element foo="test"/>
+ <_element foo="test"/>
+
+Single quotes (the same as double quotes):
+ attr='content content'>content >
+
+Allowed Whitespace:
+ attr = "test" >
+ content >
+
+Entities:
+
+ å
+ å
+ å
+ И
+ 水
+ attr="foo å & bar"/>
+
+Illegal XML, should not be highlighted:
+ <0foobar> -- no digit as first character
+ <-foo> -- no dash as first character
diff --git a/autotests/folding/highlight.xsl.fold b/autotests/folding/highlight.xsl.fold
new file mode 100644
index 0000000..feea15b
--- /dev/null
+++ b/autotests/folding/highlight.xsl.fold
@@ -0,0 +1,109 @@
+ version="1.0" encoding="iso-8859-15"?>
+
+
+
+
+
+
+
+
+Linux at Home Links
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/autotests/folding/highlight.y.fold b/autotests/folding/highlight.y.fold
new file mode 100644
index 0000000..2b121a9
--- /dev/null
+++ b/autotests/folding/highlight.y.fold
@@ -0,0 +1,54 @@
+/* Yacc / Bison hl test file.
+ * It won't compile :-) Sure !
+ */
+
+%{
+
+#include
+using namespace std;
+
+extern KateParser *parser;
+
+%}
+
+% locations
+
+%union {
+ int int_val;
+ double double_val;
+ bool bool_val;
+ char *string_val;
+ char *ident_val;
+ struct var *v;
+ void *ptr;
+}
+
+%token TOK_NOT_EQUAL "!="
+%token TOK_LESSER_E "<="
+%token TOK_GREATER_E ">="
+%token TOK_EQUAL_2 "=="
+
+%type type type_proc
+
+%% %%
+
+prog: KW_PROGRAM ident { parser->start($2); } prog_beg_glob_decl instructions { parser->endproc(0); } dev_procedures KW_ENDP ;
+
+number: integer_number
+ | TOK_DOUBLE
+ {
+ $$ = new var;
+ $$->type = KW_REEL;
+ $$->cl = var::LITTERAL;
+ $$->real = $1;
+ } ;
+
+%% %%
+
+#include
+
+int main(void)
+{
+ puts("Hello, World!");
+ return 0;
+}
diff --git a/autotests/folding/highlight_lpc.c.fold b/autotests/folding/highlight_lpc.c.fold
new file mode 100644
index 0000000..350ce06
--- /dev/null
+++ b/autotests/folding/highlight_lpc.c.fold
@@ -0,0 +1,64 @@
+// NOTE: This is a test file for kate's LPC syntax highlighting.
+
+// This is a Single-Line Comment
+/* This is a Multi-
+ Line Comment */
+
+// This again is a Single-Line Comment which should end here /*
+
+// And this is an evil single line comment \
+ which should include this and the next line because of the \
+ Do not use this style at home, kids.
+// BEGIN region marker
+
+// END of region marker
+
+private void create()
+{
+// Some Preprocessor stuff:
+#define SOME_STUFF if(foo("bar")) \
+ { \
+ bar("foo"); \
+ } // Preprocessor, Keyword, Preprocessor-String, Multiline
+
+ // Some closures:
+ #'create;
+ #'?!;
+
+
+ /* Some other Data Types: */
+
+ int i = 1; // Integer.
+ float b = 2.34; // Float.
+ int c = 0b001; // Binary
+ int e = 0x019Beef; // Hexadecimal
+ int f = 0o2345; // Octal
+ string a = "Wheee"; // String
+ string x = "Wheee\
+ heee"; // Multi-Line String, again, don't use this.
+
+
+
+ /* Some keywords: */
+ if(1)
+ {
+ switch(2)
+ {
+ case 3:
+ 4;
+ break;
+ }
+ }
+
+ else
+ {
+ return 0;
+ }
+}
+
+/*
+WARNING: If the above function is part of a multi-line comment,
+ it's buggy. The WARNING: itself should be a comment-keyword.
+ That's not actually part of the language, but simply used
+ to highlight important stuff inside comments like TODO: etc.
+*/
diff --git a/autotests/folding/highlight_ocaml.ml.fold b/autotests/folding/highlight_ocaml.ml.fold
new file mode 100644
index 0000000..2403ed1
--- /dev/null
+++ b/autotests/folding/highlight_ocaml.ml.fold
@@ -0,0 +1,105 @@
+(* ocaml test file -- a big stew of Objective Caml syntax to use to
+ test Kate's syntax highlighting. This will not run! :-) *)
+
+(* First a little piece of real OCaml that should look right: *)
+
+ #load "basic";;
+ (* Return a default value for a BASIC variable given its identifer. *)
+ let default_value (ident : string) : basic_value =
+ assert (String.length ident > 0);
+ match ident.[String.length ident - 1] with
+ | '$' -> Str ""
+ | '%' -> Int 0
+ | '!' -> Flt 0.0
+ | _ -> Flt 0.0
+ ;;
+
+(* Directives: *)
+#load "pa_o";;
+ #load "pa_o";;
+object # meth ;; (* not a directive - a method call *)
+object
+ # meth ;; (* not a directive - a method call *)
+
+(* OCaml keywords: *)
+and as assert asr (* etc. there so many... *)
+
+(* Additional OCaml Revised Syntax keywords: *)
+(* These are in a seperate category so they can be coloured to look
+ like identifiers when ordinary OCaml syntax is being used: *)
+declare where value
+
+(* There's no way to reliably highlight all OCaml type expressions,
+ (they can be very complex) so just the built-in type names are highlighted.*)
+exn lazy_t format unit int real char string ref array bool list option
+
+
+let integers : int list = [
+ 123456789; (* decimal *)
+ -0xabcedf0123456789; (* hexadecimal *)
+ 0xABCDEF0123456789; (* hexadecimal *)
+ -0o1234567; (* octal *)
+ 0b01001010101010; (* binary *)
+ -0Xabcedf0123456789; (* hexadecimal *)
+ 0XABCDEF0123456789; (* hexadecimal *)
+ -0O1234567; (* octal *)
+ 0B01001010101010; (* binary *)
+ -123_456_789; (* Underscores are allowed in numeric constants. *)
+ 0x_abce_df01_2345_6789;
+ -0o12_34_567;
+ 0b_0100_1010_1010_1101;
+];;
+
+let floats : real list = [
+ 12345.6789;
+ -1.23456789e4; (* All variations of the exponent form *)
+ 1.23456789e+4;
+ -1.23456789e-4;
+ 1.23456789E-4;
+ -1.23456789E+4;
+ 12_345.6789; (* Underscores are allowed in numeric constants. *)
+ -1.23_456_789e+4;
+ 12_345.6789;
+];;
+
+let characters : char list = [
+ 'a';
+ ' ';
+ '�';
+ '\n'; '\r'; '\t'; '\b'; (* Control characters. Only these four: not the full C-language range. *)
+ '\000'; '\128'; (* Decimal character codes. These are always 3 digits. *)
+ '\x02'; '\xff'; '\xFF'; (* Hexadecimal character codes. These are always 3 digits. *)
+ '\\'; '\''; '\"'; '"' (* Quote character escapes. *)
+];;
+
+(* Quotes used to mark constants in parsers should
+ not be confused with character constant quotes.
+ "Ticks" at the end of identifiers should
+ not be confused with character constant quotes. *)
+let basic_identifier =
+ parser
+ [< ''F'; ''N'; name = s >] -> ID (s, 'f')
+ | [< name = s' >] -> ID (s','i')
+;;
+
+let strings : string list = [
+ ""; (* Empty string *)
+ "a"; " "; "�"; "ab";
+ "A\nB"; "A\rB"; "A\tB"; "A\bB"; (* Control characters. Only these four: not the full C-language range. *)
+ "A\000B"; "A\128B"; (* Decimal character codes. These are always 3 digits. *)
+ "A\x02B"; "A\xffB"; "A\xFFB"; (* Hexadecimal character codes. These are always 3 digits. *)
+ "A\\B"; "A\'B"; "A'B"; "A\"B"; (* Quote character escapes. *)
+ "A multiline\
+ string";
+];
+
+let camlp4_quotations = [
+ <> ;
+ <:QUOTE > ;
+ <:QU�T� > ;
+ << A quote with an escape: \>> (end-quote symbol) >> ;
+ << A quote with an escape: \<< (plain start quote-symbol) >> ;
+ << A quote with an escape: \<:Trouv�< (labelled start-quote symbol) >> ;
+];;
+
+(* end *)
diff --git a/autotests/folding/highlight_octave.m.fold b/autotests/folding/highlight_octave.m.fold
new file mode 100644
index 0000000..ee3fdbd
--- /dev/null
+++ b/autotests/folding/highlight_octave.m.fold
@@ -0,0 +1,74 @@
+##=====================================================
+% Octave test code for Kate/Kwrite syntax highlighting
+% (shamelessly copied from Matlab's, since the two
+% are very similar)
+% kate: hl Octave;
+##=====================================================
+
+% Numbers _____________________________________________
+5, 5.5, .1, 0.1, 0.4e5, 1.2e-5, 5i, 5.3i, 6j, .345+3i
+5', 5.5', .1', 0.1', 0.4e5', 1.2e-5', 5i', 5.3i', 6j', .345+3i'
+
+% Operators ___________________________________________
+% relational operators
+'asdf'~=4, c<=4, d>=4, ab, a==b, b||c, b&&c
+% elementwise arithmetic operators
+a.^b, a.*b a./b, 1:4:5
+% single-character binary arithmetic
+a+3, a-3, a*2, a^3, a/3, a\3, a|b, a&b
+% unary operators
+a = ~g; g = @sfdgdsf(sdfsd,345); g.' + 1i.' - ('asdf').'
+% separators and delimiter
+(asd),[sadf];{asdf},;;,;;;()
+% continuation
+a = 1+ ...
+ 2;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+'str''\'
+% complete strings
+'string' % simple string
+'''' '\'' % strings containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' "asdf""" variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + (asdf)' - 'asdf'.' + []''''.';''
+'sadf'.' % string transpose
+% adjoint
+{'asdf'}' + 1
+('asdf')' + 1
+['asdf']' + 1
+'' var''' % empty string, var with >1 adjoints
+[5]'*{5}'*('asd')'.'+(5)'*6'*asdf'*asdf'.' % many adjoints
+A'*B + 1 % adjoint
+A.'*B + 1 % transpose
+A.'.'*B + 1 % double transpose
+A'.' + 1 % adjoint, then transpose
+A.'' % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function , persistent, global
+endfunction
+
+switch , case, otherwise
+endswitch
+
+if , else, elseif
+endif
+
+try , end_try_catch
+for , while , break, continue
+endfor
+
+endwhile
+return
+function , FUNCTION, Function % case sensitive!
+endfunction
diff --git a/autotests/folding/learnelixir.exs.fold b/autotests/folding/learnelixir.exs.fold
new file mode 100644
index 0000000..1f51bd1
--- /dev/null
+++ b/autotests/folding/learnelixir.exs.fold
@@ -0,0 +1,397 @@
+# Original: https://learnxinyminutes.com/docs/elixir/
+
+# Single line comments start with a number symbol.
+
+# There's no multi-line comment,
+# but you can stack multiple comments.
+
+# To use the elixir shell use the `iex` command.
+# Compile your modules with the `elixirc` command.
+
+# Both should be in your path if you installed elixir correctly.
+
+## ---------------------------
+## -- Basic types
+## ---------------------------
+
+# There are numbers
+3 # integer
+0x1F # integer
+3.0 # float
+
+# Atoms, that are literals, a constant with name. They start with `:`.
+:hello # atom
+
+# Tuples that are stored contiguously in memory.
+{1,2,3} # tuple
+
+# We can access a tuple element with the `elem` function:
+elem({1, 2, 3}, 0) #=> 1
+
+# Lists that are implemented as linked lists.
+[1,2,3] # list
+
+# We can access the head and tail of a list as follows:
+[head | tail] = [1,2,3]
+head #=> 1
+tail #=> [2,3]
+
+# In elixir, just like in Erlang, the `=` denotes pattern matching and
+# not an assignment.
+#
+# This means that the left-hand side (pattern) is matched against a
+# right-hand side.
+#
+# This is how the above example of accessing the head and tail of a list works.
+
+# A pattern match will error when the sides don't match, in this example
+# the tuples have different sizes.
+# {a, b, c} = {1, 2} #=> ** (MatchError) no match of right hand side value: {1,2}
+
+# There are also binaries
+<<1,2,3>> # binary
+
+# Strings and char lists
+"hello" # string
+'hello' # char list
+
+# Multi-line strings
+"""
+I'm a multi-line
+string.
+"""
+#=> "I'm a multi-line\nstring.\n"
+
+# Strings are all encoded in UTF-8:
+"héllò" #=> "héllò"
+
+# Strings are really just binaries, and char lists are just lists.
+<> #=> "abc"
+[?a, ?b, ?c] #=> 'abc'
+
+# `?a` in elixir returns the ASCII integer for the letter `a`
+?a #=> 97
+
+# To concatenate lists use `++`, for binaries use `<>`
+[1,2,3] ++ [4,5] #=> [1,2,3,4,5]
+'hello ' ++ 'world' #=> 'hello world'
+
+<<1,2,3>> <> <<4,5>> #=> <<1,2,3,4,5>>
+"hello " <> "world" #=> "hello world"
+
+# Ranges are represented as `start..end` (both inclusive)
+1..10 #=> 1..10
+lower..upper = 1..10 # Can use pattern matching on ranges as well
+[lower, upper] #=> [1, 10]
+
+## ---------------------------
+## -- Operators
+## ---------------------------
+
+# Some math
+1 + 1 #=> 2
+10 - 5 #=> 5
+5 * 2 #=> 10
+10 / 2 #=> 5.0
+
+# In elixir the operator `/` always returns a float.
+
+# To do integer division use `div`
+div(10, 2) #=> 5
+
+# To get the division remainder use `rem`
+rem(10, 3) #=> 1
+
+# There are also boolean operators: `or`, `and` and `not`.
+# These operators expect a boolean as their first argument.
+true and true #=> true
+false or true #=> true
+# 1 and true #=> ** (ArgumentError) argument error
+
+# Elixir also provides `||`, `&&` and `!` which accept arguments of any type.
+# All values except `false` and `nil` will evaluate to true.
+1 || true #=> 1
+false && 1 #=> false
+nil && 20 #=> nil
+!true #=> false
+
+# For comparisons we have: `==`, `!=`, `===`, `!==`, `<=`, `>=`, `<` and `>`
+1 == 1 #=> true
+1 != 1 #=> false
+1 < 2 #=> true
+
+# `===` and `!==` are more strict when comparing integers and floats:
+1 == 1.0 #=> true
+1 === 1.0 #=> false
+
+# We can also compare two different data types:
+1 < :hello #=> true
+
+# The overall sorting order is defined below:
+# number < atom < reference < functions < port < pid < tuple < list < bit string
+
+# To quote Joe Armstrong on this: "The actual order is not important,
+# but that a total ordering is well defined is important."
+
+## ---------------------------
+## -- Control Flow
+## ---------------------------
+
+# `if` expression
+if false do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# There's also `unless`
+unless true do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# Remember pattern matching? Many control-flow structures in elixir rely on it.
+
+# `case` allows us to compare a value against many patterns:
+case {:one, :two} do
+ {:four, :five} ->
+ "This won't match"
+ {:one, x} ->
+ "This will match and bind `x` to `:two`"
+ _ ->
+ "This will match any value"
+end
+
+# It's common to bind the value to `_` if we don't need it.
+# For example, if only the head of a list matters to us:
+[head | _] = [1,2,3]
+head #=> 1
+
+# For better readability we can do the following:
+[head | _tail] = [:a, :b, :c]
+head #=> :a
+
+# `cond` lets us check for many conditions at the same time.
+# Use `cond` instead of nesting many `if` expressions.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ 1 + 2 == 3 ->
+ "But I will"
+end
+
+# It is common to set the last condition equal to `true`, which will always match.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ true ->
+ "But I will (this is essentially an else)"
+end
+
+# `try/catch` is used to catch values that are thrown, it also supports an
+# `after` clause that is invoked whether or not a value is caught.
+try do
+ throw(:hello)
+catch
+ message -> "Got #{message}."
+after
+ IO.puts("I'm the after clause.")
+end
+#=> I'm the after clause
+# "Got :hello"
+
+## ---------------------------
+## -- Modules and Functions
+## ---------------------------
+
+# Anonymous functions (notice the dot)
+square = fn(x) -> x * x end
+square.(5) #=> 25
+
+# They also accept many clauses and guards.
+# Guards let you fine tune pattern matching,
+# they are indicated by the `when` keyword:
+f = fn
+ x, y when x > 0 -> x + y
+ x, y -> x * y
+end
+
+f.(1, 3) #=> 4
+f.(-1, 3) #=> -3
+
+# Elixir also provides many built-in functions.
+# These are available in the current scope.
+is_number(10) #=> true
+is_list("hello") #=> false
+elem({1,2,3}, 0) #=> 1
+
+# You can group several functions into a module. Inside a module use `def`
+# to define your functions.
+defmodule Math do
+ def sum(a, b) do
+ a + b
+ end
+
+ def square(x) do
+ x * x
+ end
+end
+
+Math.sum(1, 2) #=> 3
+Math.square(3) #=> 9
+
+# To compile our simple Math module save it as `math.ex` and use `elixirc`
+# in your terminal: elixirc math.ex
+
+# Inside a module we can define functions with `def` and private functions with `defp`.
+# A function defined with `def` is available to be invoked from other modules,
+# a private function can only be invoked locally.
+defmodule PrivateMath do
+ def sum(a, b) do
+ do_sum(a, b)
+ end
+
+ defp do_sum(a, b) do
+ a + b
+ end
+end
+
+PrivateMath.sum(1, 2) #=> 3
+# PrivateMath.do_sum(1, 2) #=> ** (UndefinedFunctionError)
+
+# Function declarations also support guards and multiple clauses:
+defmodule Geometry do
+ def area({:rectangle, w, h}) do
+ w * h
+ end
+
+ def area({:circle, r}) when is_number(r) do
+ 3.14 * r * r
+ end
+end
+
+Geometry.area({:rectangle, 2, 3}) #=> 6
+Geometry.area({:circle, 3}) #=> 28.25999999999999801048
+# Geometry.area({:circle, "not_a_number"})
+#=> ** (FunctionClauseError) no function clause matching in Geometry.area/1
+
+# Due to immutability, recursion is a big part of elixir
+defmodule Recursion do
+ def sum_list([head | tail], acc) do
+ sum_list(tail, acc + head)
+ end
+
+ def sum_list([], acc) do
+ acc
+ end
+end
+
+Recursion.sum_list([1,2,3], 0) #=> 6
+
+# Elixir modules support attributes, there are built-in attributes and you
+# may also add custom ones.
+defmodule MyMod do
+ @moduledoc """
+ This is a built-in attribute on a example module.
+ """
+
+ @my_data 100 # This is a custom attribute.
+ IO.inspect(@my_data) #=> 100
+end
+
+## ---------------------------
+## -- Structs and Exceptions
+## ---------------------------
+
+# Structs are extensions on top of maps that bring default values,
+# compile-time guarantees and polymorphism into Elixir.
+defmodule Person do
+ defstruct name: nil, age: 0, height: 0
+end
+
+joe_info = %Person{ name: "Joe", age: 30, height: 180 }
+#=> %Person{age: 30, height: 180, name: "Joe"}
+
+# Access the value of name
+joe_info.name #=> "Joe"
+
+# Update the value of age
+older_joe_info = %{ joe_info | age: 31 }
+#=> %Person{age: 31, height: 180, name: "Joe"}
+
+# The `try` block with the `rescue` keyword is used to handle exceptions
+try do
+ raise "some error"
+rescue
+ RuntimeError -> "rescued a runtime error"
+ _error -> "this will rescue any error"
+end
+#=> "rescued a runtime error"
+
+# All exceptions have a message
+try do
+ raise "some error"
+rescue
+ x in [RuntimeError] ->
+ x.message
+end
+#=> "some error"
+
+## ---------------------------
+## -- Concurrency
+## ---------------------------
+
+# Elixir relies on the actor model for concurrency. All we need to write
+# concurrent programs in elixir are three primitives: spawning processes,
+# sending messages and receiving messages.
+
+# To start a new process we use the `spawn` function, which takes a function
+# as argument.
+f = fn -> 2 * 2 end #=> #Function
+spawn(f) #=> #PID<0.40.0>
+
+# `spawn` returns a pid (process identifier), you can use this pid to send
+# messages to the process. To do message passing we use the `send` operator.
+# For all of this to be useful we need to be able to receive messages. This is
+# achieved with the `receive` mechanism:
+
+# The `receive do` block is used to listen for messages and process
+# them when they are received. A `receive do` block will only
+# process one received message. In order to process multiple
+# messages, a function with a `receive do` block must recursively
+# call itself to get into the `receive do` block again.
+
+defmodule Geometry do
+ def area_loop do
+ receive do
+ {:rectangle, w, h} ->
+ IO.puts("Area = #{w * h}")
+ area_loop()
+ {:circle, r} ->
+ IO.puts("Area = #{3.14 * r * r}")
+ area_loop()
+ end
+ end
+end
+
+# Compile the module and create a process that evaluates `area_loop` in the shell
+pid = spawn(fn -> Geometry.area_loop() end) #=> #PID<0.40.0>
+# Alternatively
+pid = spawn(Geometry, :area_loop, [])
+
+# Send a message to `pid` that will match a pattern in the receive statement
+send pid, {:rectangle, 2, 3}
+#=> Area = 6
+# {:rectangle,2,3}
+
+send pid, {:circle, 2}
+#=> Area = 12.56000000000000049738
+# {:circle,2}
+
+# The shell is also a process, you can use `self` to get the current pid
+self() #=> #PID<0.27.0>
diff --git a/autotests/folding/light52_muldiv.vhdl.fold b/autotests/folding/light52_muldiv.vhdl.fold
new file mode 100644
index 0000000..c5d461e
--- /dev/null
+++ b/autotests/folding/light52_muldiv.vhdl.fold
@@ -0,0 +1,239 @@
+--------------------------------------------------------------------------------
+-- light52_muldiv.vhdl -- Simple multiplier/divider module.
+--------------------------------------------------------------------------------
+-- The 8051 mul and div instructions are both unsigned and operands are 8 bit.
+--
+-- This module implements the division as a sequential state machine which takes
+-- 8 cycles to complete.
+-- The multiplier can be implemented as sequential or as combinational, in which
+-- case it will use a DSP block in those architectures that support it.
+-- No attempt has been made to make this module generic or reusable.
+--
+-- If you want a combinational multiplier but don't want to waste a DSP block
+-- in this module, you need to modify this file adding whatever synthesis
+-- pragmas your tool of choice needs.
+--
+-- Note that unlike the division state machine, the combinational product logic
+-- is always operating: when SEQUENTIAL_MULTIPLIER=true, prod_out equals
+-- data_a * data_b with a latency of 1 clock cycle, and mul_ready is hardwired
+-- to '1'.
+--
+-- FIXME explain division algorithm.
+--------------------------------------------------------------------------------
+-- GENERICS:
+--
+-- SEQUENTIAL_MULTIPLIER -- Sequential vs. combinational multiplier.
+-- When true, a sequential implementation will be used for the multiplier,
+-- which will usually save a lot of logic or a dedicated multiplier.
+-- When false, a combinational registered multiplier will be used.
+--
+--------------------------------------------------------------------------------
+-- INTERFACE SIGNALS:
+--
+-- clk : Clock, active rising edge.
+-- reset : Synchronous reset. Clears only the control registers not
+-- visible to the programmer -- not the output registers.
+--
+-- data_a : Numerator input, should be connected to the ACC register.
+-- data_b : Denominator input, should be connected to the B register.
+-- start : Assert for 1 cycle to start the division state machine
+-- (and the product if SEQUENTIAL_MULTIPLIER=true);
+--
+-- prod_out : Product output, valid only when mul_ready='1'.
+-- quot_out : Quotient output, valid only when div_ready='1'.
+-- rem_out : Remainder output, valid only when div_ready='1'.
+-- div_ov_out : Division overflow flag, valid only when div_ready='1'.
+-- mul_ov_out : Product overflow flag, valid only when mul_ready='1'.
+--
+-- mul_ready : Asserted permanently if SEQUENTIAL_MULTIPLIER=false.
+-- div_ready : Deasserted the cycle after start is asserted.
+-- Asserted when the division has completed.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+use work.light52_pkg.all;
+use work.light52_ucode_pkg.all;
+
+entity light52_muldiv is
+ generic (
+ SEQUENTIAL_MULTIPLIER : boolean := false
+ );
+ port(
+ clk : in std_logic;
+ reset : in std_logic;
+
+ data_a : in t_byte;
+ data_b : in t_byte;
+ start : in std_logic;
+
+ prod_out : out t_word;
+ quot_out : out t_byte;
+ rem_out : out t_byte;
+ div_ov_out : out std_logic;
+ mul_ov_out : out std_logic;
+
+ mul_ready : out std_logic;
+ div_ready : out std_logic
+ );
+end entity light52_muldiv;
+
+architecture sequential of light52_muldiv is
+
+signal bit_ctr : integer range 0 to 8;
+
+signal b_shift_reg : t_word;
+
+signal den_ge_256 : std_logic;
+signal num_ge_den : std_logic;
+signal sub_num : std_logic;
+
+signal denominator : t_byte;
+signal rem_reg : t_byte;
+signal quot_reg : t_byte;
+signal prod_reg : t_word;
+signal ready : std_logic;
+
+signal load_regs : std_logic;
+
+begin
+
+-- Control logic ---------------------------------------------------------------
+
+control_counter: process (clk)
+begin
+ if clk'event and clk='1' then
+ if reset='1' then
+ bit_ctr <= 8;
+ else
+ if load_regs='1' then
+ bit_ctr <= 0;
+ elsif bit_ctr /= 8 then
+ bit_ctr <= bit_ctr + 1;
+ end if;
+ end if;
+ end if;
+end process control_counter ;
+
+-- Internal signal ready is asserted after 8 cycles.
+-- The sequential multiplier will use this signal too, IF it takes 8 cycles.
+
+ready <= '1' when bit_ctr >= 8 else '0';
+
+
+---- Divider logic -------------------------------------------------------------
+
+-- What we do is a simple base-2 'shift-and-subtract' algorithm that takes
+-- 8 cycles to complete. We can get away with this because we deal with unsigned
+-- numbers only.
+
+divider_registers: process (clk)
+begin
+ if clk'event and clk='1' then
+ -- denominator shift register
+ if load_regs='1' then
+ b_shift_reg <= "0" & data_b & "0000000";
+ -- Division overflow can be determined upon loading B reg data.
+ -- OV will be raised only on div-by-zero.
+ if data_b=X"00" then
+ div_ov_out <= '1';
+ else
+ div_ov_out <= '0';
+ end if;
+ else
+ b_shift_reg <= "0" & b_shift_reg(b_shift_reg'high downto 1);
+ end if;
+
+ -- numerator register
+ if load_regs='1' then
+ rem_reg <= data_a;
+ elsif bit_ctr/=8 and sub_num='1' then
+ rem_reg <= rem_reg - denominator;
+ end if;
+
+ --- quotient register
+ if load_regs='1' then
+ quot_reg <= (others => '0');
+ elsif bit_ctr/=8 then
+ quot_reg <= quot_reg(quot_reg'high-1 downto 0) & sub_num;
+ end if;
+
+ load_regs <= start;
+ end if;
+end process divider_registers ;
+
+denominator <= b_shift_reg(7 downto 0);
+
+-- The 16-bit comparison between b_shift_reg (denominator) and the zero-extended
+-- rem_reg (numerator) can be simplified by splitting it in 2:
+-- If the shifted denominator high byte is not zero, it is >=256...
+den_ge_256 <= '1' when b_shift_reg(15 downto 8) /= X"00" else '0';
+-- ...otherwise we need to compare the low bytes.
+num_ge_den <= '1' when rem_reg >= denominator else '0';
+sub_num <= '1' when den_ge_256='0' and num_ge_den='1' else '0';
+
+
+quot_out <= quot_reg;
+prod_out <= prod_reg;
+rem_out <= rem_reg;
+
+div_ready <= ready;
+
+---- Multiplier logic ----------------------------------------------------------
+
+---- Combinational multiplier -----------------------------
+multiplier_combinational: if not SEQUENTIAL_MULTIPLIER generate
+
+registered_combinational_multiplier:process (clk)
+begin
+ if clk'event and clk='1' then
+ prod_reg <= data_a * data_b; -- t_byte is unsigned
+ end if;
+end process registered_combinational_multiplier ;
+
+-- The multiplier output is valid in the cycle after the operands are loaded,
+-- so by the time MUL is executed it's already done.
+mul_ready <= '1';
+
+mul_ov_out <= '1' when prod_reg(15 downto 8)/=X"00" else '0';
+prod_out <= prod_reg;
+
+end generate multiplier_combinational ;
+
+---- Sequential multiplier --------------------------------
+multiplier_sequential: if SEQUENTIAL_MULTIPLIER generate
+
+assert false
+report "Sequential multiplier implementation not done yet."&
+ " Use combinational implementation."
+severity failure;
+
+end generate multiplier_sequential ;
+
+end sequential;
diff --git a/autotests/folding/light52_tb.vhdl.fold b/autotests/folding/light52_tb.vhdl.fold
new file mode 100644
index 0000000..44fdcff
--- /dev/null
+++ b/autotests/folding/light52_tb.vhdl.fold
@@ -0,0 +1,180 @@
+--------------------------------------------------------------------------------
+-- light52_tb.vhdl --
+--------------------------------------------------------------------------------
+-- This test bench simulates the execution of some program (whose object code
+-- is in package obj_code_pkg, in the form of a memory init constant) and logs
+-- the execution to a text file called 'hw_sim_log.txt' (light52_tb_pkg.vhdl).
+--
+-- This test bench does no actual tests on the core. Instead, the simulation log
+-- is meant to be matched against the simulation log produced by running the
+-- same program on the software simulator B51 (also included with this project).
+--
+-- This will catch errors in the implementation of the CPU if the simulated
+-- program has anough coverage -- the opcode tester is meant to cover all CPU
+-- opcodes in many (not all) of their corner cases.
+-- This scheme will not help in catching errors in the peripheral modules,
+-- mainly because the current version of B51 does not simulate them.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.std_logic_arith.all;
+use ieee.std_logic_unsigned.all;
+use std.textio.all;
+
+use work.light52_pkg.all;
+use work.obj_code_pkg.all;
+use work.light52_tb_pkg.all;
+use work.txt_util.all;
+
+entity light52_tb is
+generic (BCD : boolean := true);
+end;
+
+
+architecture testbench of light52_tb is
+
+--------------------------------------------------------------------------------
+-- Simulation parameters
+-- FIXME these should be in parameter package
+
+-- Simulated clock period is the same as the usual target, the DE-1 board
+constant T : time := 20 ns; -- 50MHz
+constant SIMULATION_LENGTH : integer := 400000;
+
+--------------------------------------------------------------------------------
+-- MPU interface
+
+signal clk : std_logic := '0';
+signal reset : std_logic := '1';
+
+signal p0_out : std_logic_vector(7 downto 0);
+signal p1_out : std_logic_vector(7 downto 0);
+signal p2_in : std_logic_vector(7 downto 0);
+signal p3_in : std_logic_vector(7 downto 0);
+
+signal external_irq : std_logic_vector(7 downto 0);
+
+signal txd, rxd : std_logic;
+
+--------------------------------------------------------------------------------
+-- Logging signals & simulation control
+
+-- Asserted high to disable the clock and terminate the simulation.
+signal done : std_logic := '0';
+
+-- Log file
+file log_file: TEXT open write_mode is "hw_sim_log.txt";
+-- Console output log file
+file con_file: TEXT open write_mode is "hw_sim_console_log.txt";
+-- Info record needed by the logging fuctions
+signal log_info : t_log_info;
+
+begin
+
+---- UUT instantiation ---------------------------------------------------------
+
+uut: entity work.light52_mcu
+ generic map (
+ IMPLEMENT_BCD_INSTRUCTIONS => BCD,
+ CODE_ROM_SIZE => work.obj_code_pkg.XCODE_SIZE,
+ XDATA_RAM_SIZE => work.obj_code_pkg.XDATA_SIZE,
+ OBJ_CODE => work.obj_code_pkg.object_code
+ )
+ port map (
+ clk => clk,
+ reset => reset,
+
+ txd => txd,
+ rxd => rxd,
+
+ external_irq => external_irq,
+
+ p0_out => p0_out,
+ p1_out => p1_out,
+ p2_in => p2_in,
+ p3_in => p3_in
+ ) ;
+
+ -- UART is looped back in the test bench.
+ rxd <= txd;
+
+ -- I/O ports are looped back and otherwise unused.
+ p2_in <= p0_out;
+ p3_in <= p1_out;
+
+ -- External IRQ inputs are tied to port P1 for test purposes
+ external_irq <= p1_out;
+
+ ---- Master clock: free running clock used as main module clock ------------
+ run_master_clock: process (done, clk)
+ begin
+ if done = '0' then
+ clk <= not clk after T/2;
+ end if;
+ end process run_master_clock ;
+
+
+ ---- Main simulation process: reset MCU and wait for fixed period ----------
+
+ drive_uut: process
+ begin
+ -- Leave reset asserted for a few clock cycles...
+ reset <= '1';
+ wait for T*4;
+ reset <= '0';
+
+ -- ...and wait for the test to hit a termination condition (evaluated by
+ -- function log_cpu_activity) or to just timeout.
+ wait for T*SIMULATION_LENGTH;
+
+ -- If we arrive here, the simulation timed out (termination conditions
+ -- trigger a failed assertion).
+ -- So print a timeout message and quit.
+ print("TB timed out.");
+ done <= '1';
+ wait;
+
+ end process drive_uut ;
+
+
+ -- Logging process: launch logger functions --------------------------------
+ log_execution: process
+ begin
+ -- Log cpu activity until done='1'.
+ log_cpu_activity(clk, reset, done, "/uut",
+ log_info, work.obj_code_pkg.XCODE_SIZE, "log_info",
+ X"0000", log_file, con_file);
+
+ -- Flush console log file when finished.
+ log_flush_console(log_info, con_file);
+
+ wait;
+ end process log_execution ;
+
+end architecture testbench;
diff --git a/autotests/folding/meson.build.fold b/autotests/folding/meson.build.fold
new file mode 100644
index 0000000..f20c35b
--- /dev/null
+++ b/autotests/folding/meson.build.fold
@@ -0,0 +1,21 @@
+# Unit test for Meson syntax highlight. License: LGPL
+project('projectname', 'cpp')
+
+
+
+sourcefiles = [ 'a.cpp', 'b.cpp']
+
+foreach sourcefile : sourcefiles
+ message('this is a source file: ' + sourcefile)
+endforeach
+
+x=1
+if x+1 == 2 and x-1 == 0
+ message('I can work in this universe!')
+endif
+
+subprojectresult = subproject('mysubprojectdir')
+
+mysharedlib = shared_library('libraryname', sourcefiles, linkwith: subprojectresult.staticlib)
+
+executable('myprogram', [ 'test.cpp'] , linkwith: mysharedlib)
diff --git a/autotests/folding/or1200_dc_fsm.v.fold b/autotests/folding/or1200_dc_fsm.v.fold
new file mode 100644
index 0000000..c54fbe7
--- /dev/null
+++ b/autotests/folding/or1200_dc_fsm.v.fold
@@ -0,0 +1,563 @@
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's DC FSM ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Data cache state machine ////
+//// ////
+//// To Do: ////
+//// - Test error during line read or write ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// - Julius Baxter, julius@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000, 2010 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+// $Log: or1200_dc_fsm.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+//
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+`define OR1200_DCFSM_IDLE 3'd0
+`define OR1200_DCFSM_CLOADSTORE 3'd1
+`define OR1200_DCFSM_LOOP2 3'd2
+`define OR1200_DCFSM_LOOP3 3'd3
+`define OR1200_DCFSM_LOOP4 3'd4
+`define OR1200_DCFSM_FLUSH5 3'd5
+`define OR1200_DCFSM_INV6 3'd6
+`define OR1200_DCFSM_WAITSPRCS7 3'd7
+
+
+
+//
+// Data cache FSM for cache line of 16 bytes (4x singleword)
+//
+
+module or1200_dc_fsm
+ (
+ // Clock and reset
+ clk, rst,
+
+ // Internal i/f to top level DC
+ dc_en, dcqmem_cycstb_i, dcqmem_ci_i, dcqmem_we_i, dcqmem_sel_i,
+ tagcomp_miss, biudata_valid, biudata_error, lsu_addr,
+ dcram_we, biu_read, biu_write, biu_do_sel, dcram_di_sel, first_hit_ack,
+ first_miss_ack, first_miss_err, burst, tag_we, tag_valid, dc_addr,
+ dc_no_writethrough, tag_dirty, dirty, tag, tag_v, dc_block_flush,
+ dc_block_writeback, spr_dat_i, mtspr_dc_done, spr_cswe
+ );
+
+ //
+ // I/O
+ //
+ input clk;
+ input rst;
+ input dc_en;
+ input dcqmem_cycstb_i;
+ input dcqmem_ci_i;
+ input dcqmem_we_i;
+ input [3:0] dcqmem_sel_i;
+ input tagcomp_miss;
+ input biudata_valid;
+ input biudata_error;
+ input [31:0] lsu_addr;
+ output [3:0] dcram_we;
+ output biu_read;
+ output biu_write;
+ output dcram_di_sel;
+ output biu_do_sel;
+ output first_hit_ack;
+ output first_miss_ack;
+ output first_miss_err;
+ output burst;
+ output tag_we;
+ output tag_valid;
+ output [31:0] dc_addr;
+ input dc_no_writethrough;
+ output tag_dirty;
+ input dirty;
+ input [`OR1200_DCTAG_W-2:0] tag;
+ input tag_v;
+ input dc_block_flush;
+ input dc_block_writeback;
+ input [31:0] spr_dat_i;
+ output mtspr_dc_done;
+ input spr_cswe;
+
+
+ //
+ // Internal wires and regs
+ //
+ reg [31:0] addr_r;
+ reg [2:0] state;
+ reg [`OR1200_DCLS-1:0] cnt;
+ reg hitmiss_eval;
+ reg store;
+ reg load;
+ reg cache_inhibit;
+ reg cache_miss;
+ reg cache_dirty_needs_writeback;
+ reg did_early_load_ack;
+ reg cache_spr_block_flush;
+ reg cache_spr_block_writeback;
+ reg cache_wb;
+ wire load_hit_ack;
+ wire load_miss_ack;
+ wire load_inhibit_ack;
+ wire store_hit_ack;
+ wire store_hit_writethrough_ack;
+ wire store_miss_writethrough_ack;
+ wire store_inhibit_ack;
+ wire store_miss_ack;
+ wire dcram_we_after_line_load;
+ wire dcram_we_during_line_load;
+ wire tagram_we_end_of_loadstore_loop;
+ wire tagram_dirty_bit_set;
+ wire writethrough;
+ wire cache_inhibit_with_eval;
+ wire [(`OR1200_DCLS-1)-2:0] next_addr_word;
+
+ //
+ // Cache inhibit
+ //
+
+ // Indicates whether cache is inhibited, during hitmiss_eval and after
+ assign cache_inhibit_with_eval = (hitmiss_eval & dcqmem_ci_i) |
+ (!hitmiss_eval & cache_inhibit);
+
+ //
+ // Generate of DCRAM write enables
+ //
+
+ // WE when non-writethrough, and had to wait for a line to load.
+ assign dcram_we_after_line_load = (state == `OR1200_DCFSM_LOOP3) &
+ dcqmem_we_i & !cache_dirty_needs_writeback &
+ !did_early_load_ack;
+
+ // WE when receiving the data cache line
+ assign dcram_we_during_line_load = (state == `OR1200_DCFSM_LOOP2) & load &
+ biudata_valid;
+
+ assign dcram_we =(// Write when hit - make sure it is only when hit - could
+ // maybe be doing write through and don't want to corrupt
+ // cache lines corresponding to the writethrough addr_r.
+ ({4{store_hit_ack | store_hit_writethrough_ack}} |
+ // Write after load of line
+ {4{dcram_we_after_line_load}}) &
+ dcqmem_sel_i ) |
+ // Write during load
+ {4{dcram_we_during_line_load}};
+
+ //
+ // Tag RAM signals
+ //
+
+ // WE to tag RAM when we finish loading a line.
+ assign tagram_we_end_of_loadstore_loop = ((state==`OR1200_DCFSM_LOOP2) &
+ biudata_valid & !(|cnt));
+
+`ifndef OR1200_DC_WRITETHROUGH
+ // No writethrough, so mark a line dirty whenever we write to it
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack;
+
+ // Generate done signal for MTSPR instructions that may block execution
+ assign mtspr_dc_done = // Either DC disabled or we're not selected, or
+ !dc_en | !spr_cswe |
+ // Requested address not valid or writeback and !dirty
+ ((state==`OR1200_DCFSM_FLUSH5) &
+ (!tag_v | (cache_spr_block_writeback & !dirty))) |
+ // Writeback or flush is finished
+ ((state==`OR1200_DCFSM_LOOP3) &
+ (cache_spr_block_flush | cache_spr_block_writeback))|
+ // Invalidate of clean line finished
+ ((state==`OR1200_DCFSM_INV6) & cache_spr_block_flush);
+
+
+`else
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ // For dirty bit setting when having writethrough but not for stack
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack;
+ `else
+ // Lines will never be dirty if always writethrough
+ assign tagram_dirty_bit_set = 0;
+ `endif
+
+ assign mtspr_dc_done = 1'b1;
+
+`endif
+
+ assign tag_dirty = tagram_dirty_bit_set;
+
+ // WE to tag RAM
+ assign tag_we = tagram_we_end_of_loadstore_loop |
+ tagram_dirty_bit_set | (state == `OR1200_DCFSM_INV6);
+
+
+ // Valid bit
+ // Set valid when end of line load, or marking dirty (is still valid)
+ assign tag_valid = ( tagram_we_end_of_loadstore_loop &
+ (load | (store & cache_spr_block_writeback)) ) |
+ tagram_dirty_bit_set;
+
+
+
+ //
+ // BIU read and write
+ //
+
+ assign biu_read = // Bus read request when:
+ // 1) Have a miss and not dirty or a load with inhibit
+ ((state == `OR1200_DCFSM_CLOADSTORE) &
+ (((hitmiss_eval & tagcomp_miss & !dirty &
+ !(store & writethrough)) |
+ (load & cache_inhibit_with_eval)) & dcqmem_cycstb_i)) |
+ // 2) In the loop and loading
+ ((state == `OR1200_DCFSM_LOOP2) & load);
+
+
+ assign biu_write = // Bus write request when:
+ // 1) Have a miss and dirty or store with inhibit
+ ((state == `OR1200_DCFSM_CLOADSTORE) &
+ (((hitmiss_eval & tagcomp_miss & dirty) |
+ (store & writethrough)) |
+ (store & cache_inhibit_with_eval)) & dcqmem_cycstb_i) |
+ // 2) In the loop and storing
+ ((state == `OR1200_DCFSM_LOOP2) & store);
+
+ //
+ // Select for data to actual cache RAM (from LSU or BIU)
+ //
+ // Data to DCRAM - from external bus when loading (from IU when store)
+ assign dcram_di_sel = load;
+ // Data to external bus - always from IU except in case of bursting back
+ // the line to memory. (1 selects DCRAM)
+ assign biu_do_sel = (state == `OR1200_DCFSM_LOOP2) & store;
+
+ // 3-bit wire for calculating next word of burst write, depending on
+ // line size of data cache.
+ assign next_addr_word = addr_r[`OR1200_DCLS-1:2] + 1;
+
+ // Address to cache RAM (tag address also derived from this)
+ assign dc_addr =
+ // First check if we've got a block flush or WB op
+ ((dc_block_flush & !cache_spr_block_flush) |
+ (dc_block_writeback & !cache_spr_block_writeback)) ?
+ spr_dat_i :
+ (state==`OR1200_DCFSM_FLUSH5) ? addr_r:
+ // If no SPR action, then always put out address from LSU
+ (state==`OR1200_DCFSM_IDLE | hitmiss_eval) ? lsu_addr :
+ // Next, if in writeback loop, when ACKed must immediately
+ // output next word address (the RAM address takes a cycle
+ // to increment, but it's needed immediately for burst)
+ // otherwise, output our registered address.
+ (state==`OR1200_DCFSM_LOOP2 & biudata_valid & store ) ?
+ {addr_r[31:`OR1200_DCLS], next_addr_word, 2'b00} : addr_r;
+
+`ifdef OR1200_DC_WRITETHROUGH
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ assign writethrough = !dc_no_writethrough;
+ `else
+ assign writethrough = 1;
+ `endif
+`else
+ assign writethrough = 0;
+`endif
+
+ //
+ // ACK generation for LSU
+ //
+
+ // ACK for when it's a cache hit
+ assign first_hit_ack = load_hit_ack | store_hit_ack |
+ store_hit_writethrough_ack |
+ store_miss_writethrough_ack |
+ store_inhibit_ack | store_miss_ack ;
+
+ // ACK for when it's a cache miss - load only, is used in MUX for data back
+ // LSU straight off external data bus. In
+ // this was is also used for cache inhibit
+ // loads.
+ // first_hit_ack takes precedence over first_miss_ack
+ assign first_miss_ack = ~first_hit_ack & (load_miss_ack | load_inhibit_ack);
+
+ // ACK cache hit on load
+ assign load_hit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i & load;
+
+ // ACK cache hit on store, no writethrough
+ assign store_hit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i &
+ store & !writethrough;
+
+ // ACK cache hit on store with writethrough
+ assign store_hit_writethrough_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ !cache_miss & !cache_inhibit &
+ store & writethrough & biudata_valid;
+
+ // ACK cache miss on store with writethrough
+ assign store_miss_writethrough_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ cache_miss & !cache_inhibit &
+ store & writethrough & biudata_valid;
+
+ // ACK store when cacheinhibit
+ assign store_inhibit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ store & cache_inhibit & biudata_valid;
+
+
+ // Get the _early_ ack on first ACK back from wishbone during load only
+ // Condition is that we're in the loop - that it's the first ack we get (can
+ // tell from value of cnt), and we're loading a line to read from it (not
+ // loading to write to it, in the case of a write without writethrough.)
+ assign load_miss_ack = ((state== `OR1200_DCFSM_LOOP2) & load &
+ (cnt==((1 << `OR1200_DCLS) - 4)) & biudata_valid &
+ !(dcqmem_we_i & !writethrough));
+
+ assign load_inhibit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ load & cache_inhibit & biudata_valid;
+
+ // This will be case of write through disabled, and had to load a line.
+ assign store_miss_ack = dcram_we_after_line_load;
+
+ assign first_miss_err = biudata_error & dcqmem_cycstb_i;
+
+ // Signal burst when in the load/store loop. We will always try to burst.
+ assign burst = (state == `OR1200_DCFSM_LOOP2);
+
+ //
+ // Main DC FSM
+ //
+ always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ state <= `OR1200_DCFSM_IDLE;
+ addr_r <= 32'd0;
+ hitmiss_eval <= 1'b0;
+ store <= 1'b0;
+ load <= 1'b0;
+ cnt <= `OR1200_DCLS'd0;
+ cache_miss <= 1'b0;
+ cache_dirty_needs_writeback <= 1'b0;
+ cache_inhibit <= 1'b0;
+ did_early_load_ack <= 1'b0;
+ cache_spr_block_flush <= 1'b0;
+ cache_spr_block_writeback <= 1'b0;
+ end
+ else
+ case (state) // synopsys parallel_case
+
+ `OR1200_DCFSM_IDLE : begin
+ if (dc_en & (dc_block_flush | dc_block_writeback))
+ begin
+ cache_spr_block_flush <= dc_block_flush;
+ cache_spr_block_writeback <= dc_block_writeback;
+ hitmiss_eval <= 1'b1;
+ state <= `OR1200_DCFSM_FLUSH5;
+ addr_r <= spr_dat_i;
+ end
+ else if (dc_en & dcqmem_cycstb_i)
+ begin
+ state <= `OR1200_DCFSM_CLOADSTORE;
+ hitmiss_eval <= 1'b1;
+ store <= dcqmem_we_i;
+ load <= !dcqmem_we_i;
+ end
+
+
+ end // case: `OR1200_DCFSM_IDLE
+
+ `OR1200_DCFSM_CLOADSTORE: begin
+ hitmiss_eval <= 1'b0;
+ if (hitmiss_eval) begin
+ cache_inhibit <= dcqmem_ci_i; // Check for cache inhibit here
+ cache_miss <= tagcomp_miss;
+ cache_dirty_needs_writeback <= dirty;
+ addr_r <= lsu_addr;
+ end
+
+ // Evaluate any cache line load/stores in first cycle:
+ //
+ if (hitmiss_eval & tagcomp_miss & !(store & writethrough) &
+ !dcqmem_ci_i)
+ begin
+ // Miss - first either:
+ // 1) write back dirty line
+ if (dirty) begin
+ // Address for writeback
+ addr_r <= {tag, lsu_addr[`OR1200_DCINDXH:2],2'd0};
+ load <= 1'b0;
+ store <= 1'b1;
+`ifdef OR1200_VERBOSE
+ $display("%t: dcache miss and dirty", $time);
+`endif
+ end
+ // 2) load requested line
+ else begin
+ addr_r <= lsu_addr;
+ load <= 1'b1;
+ store <= 1'b0;
+ end // else: !if(dirty)
+ state <= `OR1200_DCFSM_LOOP2;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS) - 4);
+ end
+ else if (// Strobe goes low
+ !dcqmem_cycstb_i |
+ // Cycle finishes
+ (!hitmiss_eval & (biudata_valid | biudata_error)) |
+ // Cache hit in first cycle....
+ (hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i &
+ // .. and you're not doing a writethrough store..
+ !(store & writethrough))) begin
+ state <= `OR1200_DCFSM_IDLE;
+ load <= 1'b0;
+ store <= 1'b0;
+ cache_inhibit <= 1'b0;
+ cache_dirty_needs_writeback <= 1'b0;
+ end
+ end // case: `OR1200_DCFSM_CLOADSTORE
+
+ `OR1200_DCFSM_LOOP2 : begin // loop/abort
+ if (!dc_en| biudata_error) begin
+ state <= `OR1200_DCFSM_IDLE;
+ load <= 1'b0;
+ store <= 1'b0;
+ cnt <= `OR1200_DCLS'd0;
+ end
+ if (biudata_valid & (|cnt)) begin
+ cnt <= cnt - 4;
+ addr_r[`OR1200_DCLS-1:2] <= addr_r[`OR1200_DCLS-1:2] + 1;
+ end
+ else if (biudata_valid & !(|cnt)) begin
+ state <= `OR1200_DCFSM_LOOP3;
+ addr_r <= lsu_addr;
+ load <= 1'b0;
+ store <= 1'b0;
+ end
+
+ // Track if we did an early ack during a load
+ if (load_miss_ack)
+ did_early_load_ack <= 1'b1;
+
+
+ end // case: `OR1200_DCFSM_LOOP2
+
+ `OR1200_DCFSM_LOOP3: begin // figure out next step
+ if (cache_dirty_needs_writeback) begin
+ // Just did store of the dirty line so now load new one
+ load <= 1'b1;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS) - 4);
+ // Address of line to be loaded
+ addr_r <= lsu_addr;
+ cache_dirty_needs_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_LOOP2;
+ end // if (cache_dirty_needs_writeback)
+ else if (cache_spr_block_flush | cache_spr_block_writeback) begin
+ // Just wrote back the line to memory, we're finished.
+ cache_spr_block_flush <= 1'b0;
+ cache_spr_block_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_WAITSPRCS7;
+ end
+ else begin
+ // Just loaded a new line, finish up
+ did_early_load_ack <= 1'b0;
+ state <= `OR1200_DCFSM_LOOP4;
+ end
+ end // case: `OR1200_DCFSM_LOOP3
+
+ `OR1200_DCFSM_LOOP4: begin
+ state <= `OR1200_DCFSM_IDLE;
+ end
+
+ `OR1200_DCFSM_FLUSH5: begin
+ hitmiss_eval <= 1'b0;
+ if (hitmiss_eval & !tag_v)
+ begin
+ // Not even cached, just ignore
+ cache_spr_block_flush <= 1'b0;
+ cache_spr_block_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_WAITSPRCS7;
+ end
+ else if (hitmiss_eval & tag_v)
+ begin
+ // Tag is valid - what do we do?
+ if ((cache_spr_block_flush | cache_spr_block_writeback) &
+ dirty) begin
+ // Need to writeback
+ // Address for writeback (spr_dat_i has already changed so
+ // use line number from addr_r)
+ addr_r <= {tag, addr_r[`OR1200_DCINDXH:2],2'd0};
+ load <= 1'b0;
+ store <= 1'b1;
+`ifdef OR1200_VERBOSE
+ $display("%t: block flush: dirty block", $time);
+`endif
+ state <= `OR1200_DCFSM_LOOP2;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS) - 4);
+ end
+ else if (cache_spr_block_flush & !dirty)
+ begin
+ // Line not dirty, just need to invalidate
+ state <= `OR1200_DCFSM_INV6;
+ end // else: !if(dirty)
+ else if (cache_spr_block_writeback & !dirty)
+ begin
+ // Nothing to do - line is valid but not dirty
+ cache_spr_block_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_WAITSPRCS7;
+ end
+ end // if (hitmiss_eval & tag_v)
+ end
+ `OR1200_DCFSM_INV6: begin
+ cache_spr_block_flush <= 1'b0;
+ // Wait until SPR CS goes low before going back to idle
+ if (!spr_cswe)
+ state <= `OR1200_DCFSM_IDLE;
+ end
+ `OR1200_DCFSM_WAITSPRCS7: begin
+ // Wait until SPR CS goes low before going back to idle
+ if (!spr_cswe)
+ state <= `OR1200_DCFSM_IDLE;
+ end
+
+ endcase // case (state)
+
+ end // always @ (posedge clk or `OR1200_RST_EVENT rst)
+
+
+endmodule
diff --git a/autotests/folding/or1200_du.v.fold b/autotests/folding/or1200_du.v.fold
new file mode 100644
index 0000000..97a6319
--- /dev/null
+++ b/autotests/folding/or1200_du.v.fold
@@ -0,0 +1,1803 @@
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's Debug Unit ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://www.opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Basic OR1200 debug unit. ////
+//// ////
+//// To Do: ////
+//// - make it smaller and faster ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+//
+// $Log: or1200_du.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+//
+// Debug unit
+//
+
+module or1200_du(
+ // RISC Internal Interface
+ clk, rst,
+ dcpu_cycstb_i, dcpu_we_i, dcpu_adr_i, dcpu_dat_lsu,
+ dcpu_dat_dc, icpu_cycstb_i,
+ ex_freeze, branch_op, ex_insn, id_pc,
+ spr_dat_npc, rf_dataw,
+ du_dsr, du_dmr1, du_stall, du_addr, du_dat_i, du_dat_o,
+ du_read, du_write, du_except_stop, du_hwbkpt, du_flush_pipe,
+ spr_cs, spr_write, spr_addr, spr_dat_i, spr_dat_o,
+
+ // External Debug Interface
+ dbg_stall_i, dbg_ewt_i, dbg_lss_o, dbg_is_o, dbg_wp_o, dbg_bp_o,
+ dbg_stb_i, dbg_we_i, dbg_adr_i, dbg_dat_i, dbg_dat_o, dbg_ack_o
+);
+
+parameter dw = `OR1200_OPERAND_WIDTH;
+parameter aw = `OR1200_OPERAND_WIDTH;
+
+//
+// I/O
+//
+
+//
+// RISC Internal Interface
+//
+input clk; // Clock
+input rst; // Reset
+input dcpu_cycstb_i; // LSU status
+input dcpu_we_i; // LSU status
+input [31:0] dcpu_adr_i; // LSU addr
+input [31:0] dcpu_dat_lsu; // LSU store data
+input [31:0] dcpu_dat_dc; // LSU load data
+input [`OR1200_FETCHOP_WIDTH-1:0] icpu_cycstb_i; // IFETCH unit status
+input ex_freeze; // EX stage freeze
+input [`OR1200_BRANCHOP_WIDTH-1:0] branch_op; // Branch op
+input [dw-1:0] ex_insn; // EX insn
+input [31:0] id_pc; // insn fetch EA
+input [31:0] spr_dat_npc; // Next PC (for trace)
+input [31:0] rf_dataw; // ALU result (for trace)
+output [`OR1200_DU_DSR_WIDTH-1:0] du_dsr; // DSR
+output [24: 0] du_dmr1;
+output du_stall; // Debug Unit Stall
+output [aw-1:0] du_addr; // Debug Unit Address
+input [dw-1:0] du_dat_i; // Debug Unit Data In
+output [dw-1:0] du_dat_o; // Debug Unit Data Out
+output du_read; // Debug Unit Read Enable
+output du_write; // Debug Unit Write Enable
+input [13:0] du_except_stop; // Exception masked by DSR
+output du_hwbkpt; // Cause trap exception (HW Breakpoints)
+output du_flush_pipe; // Cause pipeline flush and pc<-npc
+input spr_cs; // SPR Chip Select
+input spr_write; // SPR Read/Write
+input [aw-1:0] spr_addr; // SPR Address
+input [dw-1:0] spr_dat_i; // SPR Data Input
+output [dw-1:0] spr_dat_o; // SPR Data Output
+
+//
+// External Debug Interface
+//
+input dbg_stall_i; // External Stall Input
+input dbg_ewt_i; // External Watchpoint Trigger Input
+output [3:0] dbg_lss_o; // External Load/Store Unit Status
+output [1:0] dbg_is_o; // External Insn Fetch Status
+output [10:0] dbg_wp_o; // Watchpoints Outputs
+output dbg_bp_o; // Breakpoint Output
+input dbg_stb_i; // External Address/Data Strobe
+input dbg_we_i; // External Write Enable
+input [aw-1:0] dbg_adr_i; // External Address Input
+input [dw-1:0] dbg_dat_i; // External Data Input
+output [dw-1:0] dbg_dat_o; // External Data Output
+output dbg_ack_o; // External Data Acknowledge (not WB compatible)
+reg [dw-1:0] dbg_dat_o; // External Data Output
+reg dbg_ack_o; // External Data Acknowledge (not WB compatible)
+
+
+//
+// Some connections go directly from the CPU through DU to Debug I/F
+//
+`ifdef OR1200_DU_STATUS_UNIMPLEMENTED
+assign dbg_lss_o = 4'b0000;
+
+reg [1:0] dbg_is_o;
+//
+// Show insn activity (temp, must be removed)
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dbg_is_o <= 2'b00;
+ else if (!ex_freeze & ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[16]))
+ dbg_is_o <= ~dbg_is_o;
+`ifdef UNUSED
+assign dbg_is_o = 2'b00;
+`endif
+`else
+assign dbg_lss_o = dcpu_cycstb_i ? {dcpu_we_i, 3'b000} : 4'b0000;
+assign dbg_is_o = {1'b0, icpu_cycstb_i};
+`endif
+assign dbg_wp_o = 11'b000_0000_0000;
+
+//
+// Some connections go directly from Debug I/F through DU to the CPU
+//
+assign du_stall = dbg_stall_i;
+assign du_addr = dbg_adr_i;
+assign du_dat_o = dbg_dat_i;
+assign du_read = dbg_stb_i && !dbg_we_i;
+assign du_write = dbg_stb_i && dbg_we_i;
+
+//
+// After a sw breakpoint, the replaced instruction need to be executed.
+// We flush the entire pipeline and set the pc to the current address
+// to execute the restored address.
+//
+
+reg du_flush_pipe_r;
+reg dbg_stall_i_r;
+
+assign du_flush_pipe = du_flush_pipe_r;
+
+//
+// Register du_flush_pipe
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ du_flush_pipe_r <= 1'b0;
+ end
+ else begin
+ du_flush_pipe_r <= (dbg_stall_i_r && !dbg_stall_i && |du_except_stop);
+ end
+end
+
+//
+// Detect dbg_stall falling edge
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ dbg_stall_i_r <= 1'b0;
+ end
+ else begin
+ dbg_stall_i_r <= dbg_stall_i;
+ end
+end
+
+reg dbg_ack;
+//
+// Generate acknowledge -- just delay stb signal
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ dbg_ack <= 1'b0;
+ dbg_ack_o <= 1'b0;
+ end
+ else begin
+ dbg_ack <= dbg_stb_i; // valid when du_dat_i
+ dbg_ack_o <= dbg_ack & dbg_stb_i; // valid when dbg_dat_o
+ end
+end
+
+//
+// Register data output
+//
+always @(posedge clk)
+ dbg_dat_o <= du_dat_i;
+
+`ifdef OR1200_DU_IMPLEMENTED
+
+//
+// Debug Mode Register 1
+//
+`ifdef OR1200_DU_DMR1
+reg [24:0] dmr1; // DMR1 implemented
+`else
+wire [24:0] dmr1; // DMR1 not implemented
+`endif
+assign du_dmr1 = dmr1;
+
+//
+// Debug Mode Register 2
+//
+`ifdef OR1200_DU_DMR2
+reg [23:0] dmr2; // DMR2 implemented
+`else
+wire [23:0] dmr2; // DMR2 not implemented
+`endif
+
+//
+// Debug Stop Register
+//
+`ifdef OR1200_DU_DSR
+reg [`OR1200_DU_DSR_WIDTH-1:0] dsr; // DSR implemented
+`else
+wire [`OR1200_DU_DSR_WIDTH-1:0] dsr; // DSR not implemented
+`endif
+
+//
+// Debug Reason Register
+//
+`ifdef OR1200_DU_DRR
+reg [13:0] drr; // DRR implemented
+`else
+wire [13:0] drr; // DRR not implemented
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR0
+reg [31:0] dvr0;
+`else
+wire [31:0] dvr0;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR1
+reg [31:0] dvr1;
+`else
+wire [31:0] dvr1;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR2
+reg [31:0] dvr2;
+`else
+wire [31:0] dvr2;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR3
+reg [31:0] dvr3;
+`else
+wire [31:0] dvr3;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR4
+reg [31:0] dvr4;
+`else
+wire [31:0] dvr4;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR5
+reg [31:0] dvr5;
+`else
+wire [31:0] dvr5;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR6
+reg [31:0] dvr6;
+`else
+wire [31:0] dvr6;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR7
+reg [31:0] dvr7;
+`else
+wire [31:0] dvr7;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR0
+reg [7:0] dcr0;
+`else
+wire [7:0] dcr0;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR1
+reg [7:0] dcr1;
+`else
+wire [7:0] dcr1;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR2
+reg [7:0] dcr2;
+`else
+wire [7:0] dcr2;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR3
+reg [7:0] dcr3;
+`else
+wire [7:0] dcr3;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR4
+reg [7:0] dcr4;
+`else
+wire [7:0] dcr4;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR5
+reg [7:0] dcr5;
+`else
+wire [7:0] dcr5;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR6
+reg [7:0] dcr6;
+`else
+wire [7:0] dcr6;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR7
+reg [7:0] dcr7;
+`else
+wire [7:0] dcr7;
+`endif
+
+//
+// Debug Watchpoint Counter Register 0
+//
+`ifdef OR1200_DU_DWCR0
+reg [31:0] dwcr0;
+`else
+wire [31:0] dwcr0;
+`endif
+
+//
+// Debug Watchpoint Counter Register 1
+//
+`ifdef OR1200_DU_DWCR1
+reg [31:0] dwcr1;
+`else
+wire [31:0] dwcr1;
+`endif
+
+//
+// Internal wires
+//
+wire dmr1_sel; // DMR1 select
+wire dmr2_sel; // DMR2 select
+wire dsr_sel; // DSR select
+wire drr_sel; // DRR select
+wire dvr0_sel,
+ dvr1_sel,
+ dvr2_sel,
+ dvr3_sel,
+ dvr4_sel,
+ dvr5_sel,
+ dvr6_sel,
+ dvr7_sel; // DVR selects
+wire dcr0_sel,
+ dcr1_sel,
+ dcr2_sel,
+ dcr3_sel,
+ dcr4_sel,
+ dcr5_sel,
+ dcr6_sel,
+ dcr7_sel; // DCR selects
+wire dwcr0_sel,
+ dwcr1_sel; // DWCR selects
+reg dbg_bp_r;
+reg ex_freeze_q;
+`ifdef OR1200_DU_HWBKPTS
+reg [31:0] match_cond0_ct;
+reg [31:0] match_cond1_ct;
+reg [31:0] match_cond2_ct;
+reg [31:0] match_cond3_ct;
+reg [31:0] match_cond4_ct;
+reg [31:0] match_cond5_ct;
+reg [31:0] match_cond6_ct;
+reg [31:0] match_cond7_ct;
+reg match_cond0_stb;
+reg match_cond1_stb;
+reg match_cond2_stb;
+reg match_cond3_stb;
+reg match_cond4_stb;
+reg match_cond5_stb;
+reg match_cond6_stb;
+reg match_cond7_stb;
+reg match0;
+reg match1;
+reg match2;
+reg match3;
+reg match4;
+reg match5;
+reg match6;
+reg match7;
+reg wpcntr0_match;
+reg wpcntr1_match;
+reg incr_wpcntr0;
+reg incr_wpcntr1;
+reg [10:0] wp;
+`endif
+wire du_hwbkpt;
+reg du_hwbkpt_hold;
+`ifdef OR1200_DU_READREGS
+reg [31:0] spr_dat_o;
+`endif
+reg [13:0] except_stop; // Exceptions that stop because of DSR
+`ifdef OR1200_DU_TB_IMPLEMENTED
+wire tb_enw;
+reg [7:0] tb_wadr;
+reg [31:0] tb_timstmp;
+`endif
+wire [31:0] tbia_dat_o;
+wire [31:0] tbim_dat_o;
+wire [31:0] tbar_dat_o;
+wire [31:0] tbts_dat_o;
+
+//
+// DU registers address decoder
+//
+`ifdef OR1200_DU_DMR1
+assign dmr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DMR1));
+`endif
+`ifdef OR1200_DU_DMR2
+assign dmr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DMR2));
+`endif
+`ifdef OR1200_DU_DSR
+assign dsr_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DSR));
+`endif
+`ifdef OR1200_DU_DRR
+assign drr_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DRR));
+`endif
+`ifdef OR1200_DU_DVR0
+assign dvr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR0));
+`endif
+`ifdef OR1200_DU_DVR1
+assign dvr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR1));
+`endif
+`ifdef OR1200_DU_DVR2
+assign dvr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR2));
+`endif
+`ifdef OR1200_DU_DVR3
+assign dvr3_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR3));
+`endif
+`ifdef OR1200_DU_DVR4
+assign dvr4_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR4));
+`endif
+`ifdef OR1200_DU_DVR5
+assign dvr5_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR5));
+`endif
+`ifdef OR1200_DU_DVR6
+assign dvr6_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR6));
+`endif
+`ifdef OR1200_DU_DVR7
+assign dvr7_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR7));
+`endif
+`ifdef OR1200_DU_DCR0
+assign dcr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR0));
+`endif
+`ifdef OR1200_DU_DCR1
+assign dcr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR1));
+`endif
+`ifdef OR1200_DU_DCR2
+assign dcr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR2));
+`endif
+`ifdef OR1200_DU_DCR3
+assign dcr3_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR3));
+`endif
+`ifdef OR1200_DU_DCR4
+assign dcr4_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR4));
+`endif
+`ifdef OR1200_DU_DCR5
+assign dcr5_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR5));
+`endif
+`ifdef OR1200_DU_DCR6
+assign dcr6_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR6));
+`endif
+`ifdef OR1200_DU_DCR7
+assign dcr7_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR7));
+`endif
+`ifdef OR1200_DU_DWCR0
+assign dwcr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DWCR0));
+`endif
+`ifdef OR1200_DU_DWCR1
+assign dwcr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DWCR1));
+`endif
+
+// Track previous ex_freeze to detect when signals are updated
+always @(posedge clk)
+ ex_freeze_q <= ex_freeze;
+
+//
+// Decode started exception
+//
+// du_except_stop comes from or1200_except
+//
+always @(du_except_stop or ex_freeze_q) begin
+ except_stop = 14'b00_0000_0000_0000;
+ casez (du_except_stop)
+ 14'b1?_????_????_????:
+ except_stop[`OR1200_DU_DRR_TTE] = 1'b1;
+ 14'b01_????_????_????: begin
+ except_stop[`OR1200_DU_DRR_IE] = 1'b1;
+ end
+ 14'b00_1???_????_????: begin
+ except_stop[`OR1200_DU_DRR_IME] = 1'b1;
+ end
+ 14'b00_01??_????_????:
+ except_stop[`OR1200_DU_DRR_IPFE] = 1'b1;
+ 14'b00_001?_????_????: begin
+ except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
+ end
+ 14'b00_0001_????_????:
+ except_stop[`OR1200_DU_DRR_IIE] = 1'b1;
+ 14'b00_0000_1???_????: begin
+ except_stop[`OR1200_DU_DRR_AE] = 1'b1;
+ end
+ 14'b00_0000_01??_????: begin
+ except_stop[`OR1200_DU_DRR_DME] = 1'b1;
+ end
+ 14'b00_0000_001?_????:
+ except_stop[`OR1200_DU_DRR_DPFE] = 1'b1;
+ 14'b00_0000_0001_????:
+ except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
+ 14'b00_0000_0000_1???: begin
+ except_stop[`OR1200_DU_DRR_RE] = 1'b1;
+ end
+ 14'b00_0000_0000_01??: begin
+ except_stop[`OR1200_DU_DRR_TE] = 1'b1 & ~ex_freeze_q;
+ end
+ 14'b00_0000_0000_001?: begin
+ except_stop[`OR1200_DU_DRR_FPE] = 1'b1;
+ end
+ 14'b00_0000_0000_0001:
+ except_stop[`OR1200_DU_DRR_SCE] = 1'b1 & ~ex_freeze_q;
+ default:
+ except_stop = 14'b00_0000_0000_0000;
+ endcase // casez (du_except_stop)
+end
+
+//
+// dbg_bp_o is registered
+//
+assign dbg_bp_o = dbg_bp_r;
+
+//
+// Breakpoint activation register
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dbg_bp_r <= 1'b0;
+ else if (!ex_freeze)
+ dbg_bp_r <= |except_stop
+`ifdef OR1200_DU_DMR1_ST
+ | ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[16]) & dmr1[`OR1200_DU_DMR1_ST]
+`endif
+`ifdef OR1200_DU_DMR1_BT
+ | (branch_op != `OR1200_BRANCHOP_NOP) & (branch_op != `OR1200_BRANCHOP_RFE) & dmr1[`OR1200_DU_DMR1_BT]
+`endif
+ ;
+ else
+ dbg_bp_r <= |except_stop;
+
+//
+// Write to DMR1
+//
+`ifdef OR1200_DU_DMR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dmr1 <= 25'h000_0000;
+ else if (dmr1_sel && spr_write)
+`ifdef OR1200_DU_HWBKPTS
+ dmr1 <= spr_dat_i[24:0];
+`else
+ dmr1 <= {1'b0, spr_dat_i[23:22], 22'h00_0000};
+`endif
+`else
+assign dmr1 = 25'h000_0000;
+`endif
+
+//
+// Write to DMR2
+//
+`ifdef OR1200_DU_DMR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dmr2 <= 24'h00_0000;
+ else if (dmr2_sel && spr_write)
+ dmr2 <= spr_dat_i[23:0];
+`else
+assign dmr2 = 24'h00_0000;
+`endif
+
+//
+// Write to DSR
+//
+`ifdef OR1200_DU_DSR
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dsr <= {`OR1200_DU_DSR_WIDTH{1'b0}};
+ else if (dsr_sel && spr_write)
+ dsr <= spr_dat_i[`OR1200_DU_DSR_WIDTH-1:0];
+`else
+assign dsr = {`OR1200_DU_DSR_WIDTH{1'b0}};
+`endif
+
+//
+// Write to DRR
+//
+`ifdef OR1200_DU_DRR
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ drr <= 14'b0;
+ else if (drr_sel && spr_write)
+ drr <= spr_dat_i[13:0];
+ else
+ drr <= drr | except_stop;
+`else
+assign drr = 14'b0;
+`endif
+
+//
+// Write to DVR0
+//
+`ifdef OR1200_DU_DVR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr0 <= 32'h0000_0000;
+ else if (dvr0_sel && spr_write)
+ dvr0 <= spr_dat_i[31:0];
+`else
+assign dvr0 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR1
+//
+`ifdef OR1200_DU_DVR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr1 <= 32'h0000_0000;
+ else if (dvr1_sel && spr_write)
+ dvr1 <= spr_dat_i[31:0];
+`else
+assign dvr1 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR2
+//
+`ifdef OR1200_DU_DVR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr2 <= 32'h0000_0000;
+ else if (dvr2_sel && spr_write)
+ dvr2 <= spr_dat_i[31:0];
+`else
+assign dvr2 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR3
+//
+`ifdef OR1200_DU_DVR3
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr3 <= 32'h0000_0000;
+ else if (dvr3_sel && spr_write)
+ dvr3 <= spr_dat_i[31:0];
+`else
+assign dvr3 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR4
+//
+`ifdef OR1200_DU_DVR4
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr4 <= 32'h0000_0000;
+ else if (dvr4_sel && spr_write)
+ dvr4 <= spr_dat_i[31:0];
+`else
+assign dvr4 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR5
+//
+`ifdef OR1200_DU_DVR5
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr5 <= 32'h0000_0000;
+ else if (dvr5_sel && spr_write)
+ dvr5 <= spr_dat_i[31:0];
+`else
+assign dvr5 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR6
+//
+`ifdef OR1200_DU_DVR6
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr6 <= 32'h0000_0000;
+ else if (dvr6_sel && spr_write)
+ dvr6 <= spr_dat_i[31:0];
+`else
+assign dvr6 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR7
+//
+`ifdef OR1200_DU_DVR7
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr7 <= 32'h0000_0000;
+ else if (dvr7_sel && spr_write)
+ dvr7 <= spr_dat_i[31:0];
+`else
+assign dvr7 = 32'h0000_0000;
+`endif
+
+//
+// Write to DCR0
+//
+`ifdef OR1200_DU_DCR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr0 <= 8'h00;
+ else if (dcr0_sel && spr_write)
+ dcr0 <= spr_dat_i[7:0];
+`else
+assign dcr0 = 8'h00;
+`endif
+
+//
+// Write to DCR1
+//
+`ifdef OR1200_DU_DCR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr1 <= 8'h00;
+ else if (dcr1_sel && spr_write)
+ dcr1 <= spr_dat_i[7:0];
+`else
+assign dcr1 = 8'h00;
+`endif
+
+//
+// Write to DCR2
+//
+`ifdef OR1200_DU_DCR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr2 <= 8'h00;
+ else if (dcr2_sel && spr_write)
+ dcr2 <= spr_dat_i[7:0];
+`else
+assign dcr2 = 8'h00;
+`endif
+
+//
+// Write to DCR3
+//
+`ifdef OR1200_DU_DCR3
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr3 <= 8'h00;
+ else if (dcr3_sel && spr_write)
+ dcr3 <= spr_dat_i[7:0];
+`else
+assign dcr3 = 8'h00;
+`endif
+
+//
+// Write to DCR4
+//
+`ifdef OR1200_DU_DCR4
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr4 <= 8'h00;
+ else if (dcr4_sel && spr_write)
+ dcr4 <= spr_dat_i[7:0];
+`else
+assign dcr4 = 8'h00;
+`endif
+
+//
+// Write to DCR5
+//
+`ifdef OR1200_DU_DCR5
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr5 <= 8'h00;
+ else if (dcr5_sel && spr_write)
+ dcr5 <= spr_dat_i[7:0];
+`else
+assign dcr5 = 8'h00;
+`endif
+
+//
+// Write to DCR6
+//
+`ifdef OR1200_DU_DCR6
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr6 <= 8'h00;
+ else if (dcr6_sel && spr_write)
+ dcr6 <= spr_dat_i[7:0];
+`else
+assign dcr6 = 8'h00;
+`endif
+
+//
+// Write to DCR7
+//
+`ifdef OR1200_DU_DCR7
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr7 <= 8'h00;
+ else if (dcr7_sel && spr_write)
+ dcr7 <= spr_dat_i[7:0];
+`else
+assign dcr7 = 8'h00;
+`endif
+
+//
+// Write to DWCR0
+//
+`ifdef OR1200_DU_DWCR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dwcr0 <= 32'h0000_0000;
+ else if (dwcr0_sel && spr_write)
+ dwcr0 <= spr_dat_i[31:0];
+ else if (incr_wpcntr0)
+ dwcr0[`OR1200_DU_DWCR_COUNT] <= dwcr0[`OR1200_DU_DWCR_COUNT] + 16'h0001;
+`else
+assign dwcr0 = 32'h0000_0000;
+`endif
+
+//
+// Write to DWCR1
+//
+`ifdef OR1200_DU_DWCR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dwcr1 <= 32'h0000_0000;
+ else if (dwcr1_sel && spr_write)
+ dwcr1 <= spr_dat_i[31:0];
+ else if (incr_wpcntr1)
+ dwcr1[`OR1200_DU_DWCR_COUNT] <= dwcr1[`OR1200_DU_DWCR_COUNT] + 16'h0001;
+`else
+assign dwcr1 = 32'h0000_0000;
+`endif
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+always @(spr_addr or dsr or drr or dmr1 or dmr2
+ or dvr0 or dvr1 or dvr2 or dvr3 or dvr4
+ or dvr5 or dvr6 or dvr7
+ or dcr0 or dcr1 or dcr2 or dcr3 or dcr4
+ or dcr5 or dcr6 or dcr7
+ or dwcr0 or dwcr1
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ or tb_wadr or tbia_dat_o or tbim_dat_o
+ or tbar_dat_o or tbts_dat_o
+`endif
+ )
+ casez (spr_addr[`OR1200_DUOFS_BITS]) // synopsys parallel_case
+`ifdef OR1200_DU_DVR0
+ `OR1200_DU_DVR0:
+ spr_dat_o = dvr0;
+`endif
+`ifdef OR1200_DU_DVR1
+ `OR1200_DU_DVR1:
+ spr_dat_o = dvr1;
+`endif
+`ifdef OR1200_DU_DVR2
+ `OR1200_DU_DVR2:
+ spr_dat_o = dvr2;
+`endif
+`ifdef OR1200_DU_DVR3
+ `OR1200_DU_DVR3:
+ spr_dat_o = dvr3;
+`endif
+`ifdef OR1200_DU_DVR4
+ `OR1200_DU_DVR4:
+ spr_dat_o = dvr4;
+`endif
+`ifdef OR1200_DU_DVR5
+ `OR1200_DU_DVR5:
+ spr_dat_o = dvr5;
+`endif
+`ifdef OR1200_DU_DVR6
+ `OR1200_DU_DVR6:
+ spr_dat_o = dvr6;
+`endif
+`ifdef OR1200_DU_DVR7
+ `OR1200_DU_DVR7:
+ spr_dat_o = dvr7;
+`endif
+`ifdef OR1200_DU_DCR0
+ `OR1200_DU_DCR0:
+ spr_dat_o = {24'h00_0000, dcr0};
+`endif
+`ifdef OR1200_DU_DCR1
+ `OR1200_DU_DCR1:
+ spr_dat_o = {24'h00_0000, dcr1};
+`endif
+`ifdef OR1200_DU_DCR2
+ `OR1200_DU_DCR2:
+ spr_dat_o = {24'h00_0000, dcr2};
+`endif
+`ifdef OR1200_DU_DCR3
+ `OR1200_DU_DCR3:
+ spr_dat_o = {24'h00_0000, dcr3};
+`endif
+`ifdef OR1200_DU_DCR4
+ `OR1200_DU_DCR4:
+ spr_dat_o = {24'h00_0000, dcr4};
+`endif
+`ifdef OR1200_DU_DCR5
+ `OR1200_DU_DCR5:
+ spr_dat_o = {24'h00_0000, dcr5};
+`endif
+`ifdef OR1200_DU_DCR6
+ `OR1200_DU_DCR6:
+ spr_dat_o = {24'h00_0000, dcr6};
+`endif
+`ifdef OR1200_DU_DCR7
+ `OR1200_DU_DCR7:
+ spr_dat_o = {24'h00_0000, dcr7};
+`endif
+`ifdef OR1200_DU_DMR1
+ `OR1200_DU_DMR1:
+ spr_dat_o = {7'h00, dmr1};
+`endif
+`ifdef OR1200_DU_DMR2
+ `OR1200_DU_DMR2:
+ spr_dat_o = {8'h00, dmr2};
+`endif
+`ifdef OR1200_DU_DWCR0
+ `OR1200_DU_DWCR0:
+ spr_dat_o = dwcr0;
+`endif
+`ifdef OR1200_DU_DWCR1
+ `OR1200_DU_DWCR1:
+ spr_dat_o = dwcr1;
+`endif
+`ifdef OR1200_DU_DSR
+ `OR1200_DU_DSR:
+ spr_dat_o = {18'b0, dsr};
+`endif
+`ifdef OR1200_DU_DRR
+ `OR1200_DU_DRR:
+ spr_dat_o = {18'b0, drr};
+`endif
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ `OR1200_DU_TBADR:
+ spr_dat_o = {24'h000000, tb_wadr};
+ `OR1200_DU_TBIA:
+ spr_dat_o = tbia_dat_o;
+ `OR1200_DU_TBIM:
+ spr_dat_o = tbim_dat_o;
+ `OR1200_DU_TBAR:
+ spr_dat_o = tbar_dat_o;
+ `OR1200_DU_TBTS:
+ spr_dat_o = tbts_dat_o;
+`endif
+ default:
+ spr_dat_o = 32'h0000_0000;
+ endcase
+`endif
+
+//
+// DSR alias
+//
+assign du_dsr = dsr;
+
+`ifdef OR1200_DU_HWBKPTS
+
+//
+// Compare To What (Match Condition 0)
+//
+always @(dcr0 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr0[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond0_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond0_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond0_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond0_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond0_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond0_ct = dcpu_adr_i; // load/store EA
+ default:match_cond0_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 0)
+//
+always @(dcr0 or dcpu_cycstb_i)
+ case (dcr0[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond0_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond0_stb = 1'b1; // insn fetch EA
+ default:match_cond0_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 0
+//
+always @(match_cond0_stb or dcr0 or dvr0 or match_cond0_ct)
+ casex ({match_cond0_stb, dcr0[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match0 = 1'b0;
+ 4'b1_001: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} ==
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_010: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} <
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_011: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} <=
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_100: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} >
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_101: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} >=
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_110: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} !=
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ endcase
+
+//
+// Watchpoint 0
+//
+always @(dmr1 or match0)
+ case (dmr1[`OR1200_DU_DMR1_CW0])
+ 2'b00: wp[0] = match0;
+ 2'b01: wp[0] = match0;
+ 2'b10: wp[0] = match0;
+ 2'b11: wp[0] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 1)
+//
+always @(dcr1 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr1[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond1_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond1_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond1_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond1_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond1_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond1_ct = dcpu_adr_i; // load/store EA
+ default:match_cond1_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 1)
+//
+always @(dcr1 or dcpu_cycstb_i)
+ case (dcr1[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond1_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond1_stb = 1'b1; // insn fetch EA
+ default:match_cond1_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 1
+//
+always @(match_cond1_stb or dcr1 or dvr1 or match_cond1_ct)
+ casex ({match_cond1_stb, dcr1[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match1 = 1'b0;
+ 4'b1_001: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} ==
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_010: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} <
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_011: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} <=
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_100: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} >
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_101: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} >=
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_110: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} !=
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ endcase
+
+//
+// Watchpoint 1
+//
+always @(dmr1 or match1 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW1])
+ 2'b00: wp[1] = match1;
+ 2'b01: wp[1] = match1 & wp[0];
+ 2'b10: wp[1] = match1 | wp[0];
+ 2'b11: wp[1] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 2)
+//
+always @(dcr2 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr2[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond2_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond2_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond2_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond2_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond2_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond2_ct = dcpu_adr_i; // load/store EA
+ default:match_cond2_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 2)
+//
+always @(dcr2 or dcpu_cycstb_i)
+ case (dcr2[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond2_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond2_stb = 1'b1; // insn fetch EA
+ default:match_cond2_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 2
+//
+always @(match_cond2_stb or dcr2 or dvr2 or match_cond2_ct)
+ casex ({match_cond2_stb, dcr2[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match2 = 1'b0;
+ 4'b1_001: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} ==
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_010: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} <
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_011: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} <=
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_100: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} >
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_101: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} >=
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_110: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} !=
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ endcase
+
+//
+// Watchpoint 2
+//
+always @(dmr1 or match2 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW2])
+ 2'b00: wp[2] = match2;
+ 2'b01: wp[2] = match2 & wp[1];
+ 2'b10: wp[2] = match2 | wp[1];
+ 2'b11: wp[2] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 3)
+//
+always @(dcr3 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr3[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond3_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond3_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond3_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond3_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond3_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond3_ct = dcpu_adr_i; // load/store EA
+ default:match_cond3_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 3)
+//
+always @(dcr3 or dcpu_cycstb_i)
+ case (dcr3[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond3_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond3_stb = 1'b1; // insn fetch EA
+ default:match_cond3_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 3
+//
+always @(match_cond3_stb or dcr3 or dvr3 or match_cond3_ct)
+ casex ({match_cond3_stb, dcr3[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match3 = 1'b0;
+ 4'b1_001: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} ==
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_010: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} <
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_011: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} <=
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_100: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} >
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_101: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} >=
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_110: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} !=
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ endcase
+
+//
+// Watchpoint 3
+//
+always @(dmr1 or match3 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW3])
+ 2'b00: wp[3] = match3;
+ 2'b01: wp[3] = match3 & wp[2];
+ 2'b10: wp[3] = match3 | wp[2];
+ 2'b11: wp[3] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 4)
+//
+always @(dcr4 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr4[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond4_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond4_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond4_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond4_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond4_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond4_ct = dcpu_adr_i; // load/store EA
+ default:match_cond4_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 4)
+//
+always @(dcr4 or dcpu_cycstb_i)
+ case (dcr4[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond4_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond4_stb = 1'b1; // insn fetch EA
+ default:match_cond4_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 4
+//
+always @(match_cond4_stb or dcr4 or dvr4 or match_cond4_ct)
+ casex ({match_cond4_stb, dcr4[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match4 = 1'b0;
+ 4'b1_001: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} ==
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_010: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} <
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_011: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} <=
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_100: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} >
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_101: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} >=
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_110: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} !=
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ endcase
+
+//
+// Watchpoint 4
+//
+always @(dmr1 or match4 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW4])
+ 2'b00: wp[4] = match4;
+ 2'b01: wp[4] = match4 & wp[3];
+ 2'b10: wp[4] = match4 | wp[3];
+ 2'b11: wp[4] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 5)
+//
+always @(dcr5 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr5[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond5_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond5_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond5_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond5_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond5_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond5_ct = dcpu_adr_i; // load/store EA
+ default:match_cond5_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 5)
+//
+always @(dcr5 or dcpu_cycstb_i)
+ case (dcr5[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond5_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond5_stb = 1'b1; // insn fetch EA
+ default:match_cond5_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 5
+//
+always @(match_cond5_stb or dcr5 or dvr5 or match_cond5_ct)
+ casex ({match_cond5_stb, dcr5[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match5 = 1'b0;
+ 4'b1_001: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} ==
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_010: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} <
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_011: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} <=
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_100: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} >
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_101: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} >=
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_110: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} !=
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ endcase
+
+//
+// Watchpoint 5
+//
+always @(dmr1 or match5 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW5])
+ 2'b00: wp[5] = match5;
+ 2'b01: wp[5] = match5 & wp[4];
+ 2'b10: wp[5] = match5 | wp[4];
+ 2'b11: wp[5] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 6)
+//
+always @(dcr6 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr6[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond6_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond6_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond6_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond6_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond6_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond6_ct = dcpu_adr_i; // load/store EA
+ default:match_cond6_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 6)
+//
+always @(dcr6 or dcpu_cycstb_i)
+ case (dcr6[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond6_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond6_stb = 1'b1; // insn fetch EA
+ default:match_cond6_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 6
+//
+always @(match_cond6_stb or dcr6 or dvr6 or match_cond6_ct)
+ casex ({match_cond6_stb, dcr6[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match6 = 1'b0;
+ 4'b1_001: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} ==
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_010: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} <
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_011: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} <=
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_100: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} >
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_101: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} >=
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_110: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} !=
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ endcase
+
+//
+// Watchpoint 6
+//
+always @(dmr1 or match6 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW6])
+ 2'b00: wp[6] = match6;
+ 2'b01: wp[6] = match6 & wp[5];
+ 2'b10: wp[6] = match6 | wp[5];
+ 2'b11: wp[6] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 7)
+//
+always @(dcr7 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr7[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond7_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond7_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond7_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond7_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond7_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond7_ct = dcpu_adr_i; // load/store EA
+ default:match_cond7_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 7)
+//
+always @(dcr7 or dcpu_cycstb_i)
+ case (dcr7[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond7_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond7_stb = 1'b1; // insn fetch EA
+ default:match_cond7_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 7
+//
+always @(match_cond7_stb or dcr7 or dvr7 or match_cond7_ct)
+ casex ({match_cond7_stb, dcr7[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match7 = 1'b0;
+ 4'b1_001: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} ==
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_010: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} <
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_011: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} <=
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_100: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} >
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_101: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} >=
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_110: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} !=
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ endcase
+
+//
+// Watchpoint 7
+//
+always @(dmr1 or match7 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW7])
+ 2'b00: wp[7] = match7;
+ 2'b01: wp[7] = match7 & wp[6];
+ 2'b10: wp[7] = match7 | wp[6];
+ 2'b11: wp[7] = 1'b0;
+ endcase
+
+//
+// Increment Watchpoint Counter 0
+//
+always @(wp or dmr2)
+ if (dmr2[`OR1200_DU_DMR2_WCE0])
+ incr_wpcntr0 = |(wp & ~dmr2[`OR1200_DU_DMR2_AWTC]);
+ else
+ incr_wpcntr0 = 1'b0;
+
+//
+// Match Condition Watchpoint Counter 0
+//
+always @(dwcr0)
+ if (dwcr0[`OR1200_DU_DWCR_MATCH] == dwcr0[`OR1200_DU_DWCR_COUNT])
+ wpcntr0_match = 1'b1;
+ else
+ wpcntr0_match = 1'b0;
+
+
+//
+// Watchpoint 8
+//
+always @(dmr1 or wpcntr0_match or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW8])
+ 2'b00: wp[8] = wpcntr0_match;
+ 2'b01: wp[8] = wpcntr0_match & wp[7];
+ 2'b10: wp[8] = wpcntr0_match | wp[7];
+ 2'b11: wp[8] = 1'b0;
+ endcase
+
+
+//
+// Increment Watchpoint Counter 1
+//
+always @(wp or dmr2)
+ if (dmr2[`OR1200_DU_DMR2_WCE1])
+ incr_wpcntr1 = |(wp & dmr2[`OR1200_DU_DMR2_AWTC]);
+ else
+ incr_wpcntr1 = 1'b0;
+
+//
+// Match Condition Watchpoint Counter 1
+//
+always @(dwcr1)
+ if (dwcr1[`OR1200_DU_DWCR_MATCH] == dwcr1[`OR1200_DU_DWCR_COUNT])
+ wpcntr1_match = 1'b1;
+ else
+ wpcntr1_match = 1'b0;
+
+//
+// Watchpoint 9
+//
+always @(dmr1 or wpcntr1_match or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW9])
+ 2'b00: wp[9] = wpcntr1_match;
+ 2'b01: wp[9] = wpcntr1_match & wp[8];
+ 2'b10: wp[9] = wpcntr1_match | wp[8];
+ 2'b11: wp[9] = 1'b0;
+ endcase
+
+//
+// Watchpoint 10
+//
+always @(dmr1 or dbg_ewt_i or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW10])
+ 2'b00: wp[10] = dbg_ewt_i;
+ 2'b01: wp[10] = dbg_ewt_i & wp[9];
+ 2'b10: wp[10] = dbg_ewt_i | wp[9];
+ 2'b11: wp[10] = 1'b0;
+ endcase
+
+`endif
+
+//
+// Watchpoints can cause trap exception
+//
+`ifdef OR1200_DU_HWBKPTS
+assign du_hwbkpt = |(wp & dmr2[`OR1200_DU_DMR2_WGB]) | du_hwbkpt_hold | (dbg_bp_r & ~dsr[`OR1200_DU_DSR_TE]);
+`else
+assign du_hwbkpt = 1'b0;
+`endif
+
+// Hold du_hwbkpt if ex_freeze is active in order to cause trap exception
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ du_hwbkpt_hold <= 1'b0;
+ else if (du_hwbkpt & ex_freeze)
+ du_hwbkpt_hold <= 1'b1;
+ else if (!ex_freeze)
+ du_hwbkpt_hold <= 1'b0;
+
+`ifdef OR1200_DU_TB_IMPLEMENTED
+//
+// Simple trace buffer
+// (right now hardcoded for Xilinx Virtex FPGAs)
+//
+// Stores last 256 instruction addresses, instruction
+// machine words and ALU results
+//
+
+//
+// Trace buffer write enable
+//
+assign tb_enw = ~ex_freeze & ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[16]);
+
+//
+// Trace buffer write address pointer
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ tb_wadr <= 8'h00;
+ else if (tb_enw)
+ tb_wadr <= tb_wadr + 8'd1;
+
+//
+// Free running counter (time stamp)
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ tb_timstmp <= 32'h00000000;
+ else if (!dbg_bp_r)
+ tb_timstmp <= tb_timstmp + 32'd1;
+
+//
+// Trace buffer RAMs
+//
+
+or1200_dpram_256x32 tbia_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbia_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(spr_dat_npc),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+
+);
+
+or1200_dpram_256x32 tbim_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbim_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(ex_insn),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+);
+
+or1200_dpram_256x32 tbar_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbar_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(rf_dataw),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+);
+
+or1200_dpram_256x32 tbts_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbts_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(tb_timstmp),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+);
+
+`else
+
+assign tbia_dat_o = 32'h0000_0000;
+assign tbim_dat_o = 32'h0000_0000;
+assign tbar_dat_o = 32'h0000_0000;
+assign tbts_dat_o = 32'h0000_0000;
+
+`endif // OR1200_DU_TB_IMPLEMENTED
+
+`else // OR1200_DU_IMPLEMENTED
+
+//
+// When DU is not implemented, drive all outputs as would when DU is disabled
+//
+assign dbg_bp_o = 1'b0;
+assign du_dsr = {`OR1200_DU_DSR_WIDTH{1'b0}};
+assign du_dmr1 = {25{1'b0}};
+assign du_hwbkpt = 1'b0;
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+assign spr_dat_o = 32'h0000_0000;
+`ifdef OR1200_DU_UNUSED_ZERO
+`endif
+`endif
+
+`endif
+
+endmodule
diff --git a/autotests/folding/preprocessor-bug363280.c.fold b/autotests/folding/preprocessor-bug363280.c.fold
new file mode 100644
index 0000000..bf559fb
--- /dev/null
+++ b/autotests/folding/preprocessor-bug363280.c.fold
@@ -0,0 +1,8 @@
+#if 1
+int x; // variable shall not be grey
+#endif
+#if defined (A)
+int y; // variable shall not be grey
+#elif defined (B)
+int z; // variable shall not be grey
+#endif
diff --git a/autotests/folding/preprocessor-bug363280.cpp.fold b/autotests/folding/preprocessor-bug363280.cpp.fold
new file mode 100644
index 0000000..3430631
--- /dev/null
+++ b/autotests/folding/preprocessor-bug363280.cpp.fold
@@ -0,0 +1,8 @@
+#if 1
+int x; // variable shall not be grey
+#endif
+#if defined (A)
+int y; // variable shall not be grey
+#elif defined (B)
+int z; // variable shall not be grey
+#endif
diff --git a/autotests/folding/review128925-1.css.fold b/autotests/folding/review128925-1.css.fold
new file mode 100644
index 0000000..4fa6ba6
--- /dev/null
+++ b/autotests/folding/review128925-1.css.fold
@@ -0,0 +1,112 @@
+/*
+ * CSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most CSS syntax, CSS3 properties, @media, @font-face and
+ * @keyframes annotations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8";
+
+@import url("components/button.css");
+
+
+/* Properties */
+
+html, body {
+ font-family: "Droid Sans", Arial, sans-serif;
+ font-size: 11pt;
+ line-height: 1.5em;
+ max-width: calc(100% - 300px);
+ background: #fff000;
+ text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
+ box-sizing: border-box;
+}
+
+
+/* Selectors */
+
+blockquote {
+ margin: 0;
+}
+
+header #logo {
+ width: 100px;
+}
+
+div#footer .link {
+ color: blue;
+}
+
+sidebar #subscribe .subscribe_form input[type="text"] {
+ font-size: 20px;
+}
+
+sidebar #subscribe .subscribe_form:nth-child(2n + 1):hover input[class*="small-"] {
+ font-weight: bold;
+}
+
+
+/* Media Queries */
+
+@media print {
+ .container {
+ width: 100%;
+ }
+}
+
+@media screen and (min-width: 768px) {
+ .container {
+ width: 600px;
+ }
+}
+
+@media screen and (min-width: 768px) and (max-width: 960px) {
+ .container {
+ width: 720px;
+ }
+}
+
+
+/* Fontface */
+
+@font-face {
+ font-family: MyHelvetica;
+ src: local("Helvetica Neue Bold"),
+ local("HelveticaNeue-Bold"),
+ url(MgOpenModernaBold.ttf);
+ font-weight: bold;
+}
+
+/* Animation (Keyframes) */
+
+@keyframes slidein {
+ from {
+ margin-left: 100%;
+ width: 300%;
+ }
+
+ to {
+ margin-left: 0%;
+ width: 100%;
+ }
+}
+
+
+/* Region markers */
+
+/*BEGIN Comment */
+
+
+
+/*END Comment */
+
diff --git a/autotests/folding/review128925-1.scss.fold b/autotests/folding/review128925-1.scss.fold
new file mode 100644
index 0000000..9bd366c
--- /dev/null
+++ b/autotests/folding/review128925-1.scss.fold
@@ -0,0 +1,211 @@
+/*
+ * SCSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most SCSS syntax, CSS3 properties, advanced code structure.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-15
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8";
+
+@import "mixins/button";
+
+// Variable define
+
+$image-path: "../../static/images";
+$default-text-color: #333 !default; // Default can be overrided
+$default-font-size: 16px !default;
+$default-font-family: Roboto, "Droid Sans", sans-serif;
+$default-font-weight: 400;
+$default-line-height: $default-font-size * 1.8;
+$shadow-transparence: 0.25;
+$box-shadow: 0 0 3px rgba(0,0,0,$shadow-transparence);
+$page-width: 100rem; // kabab-case
+$gapOfArticle: 20px; // camelCase
+$body_background_color: white; // snake_case
+
+// Mixins
+
+@mixin border-radius($radius) {
+ -webkit-border-radius: $radius;
+ -moz-border-radius: $radius;
+ -ms-border-radius: $radius;
+ border-radius: $radius;
+}
+
+.box { @include border-radius(10px); }
+
+// Nesting
+
+#home-page {
+
+ header {
+ width: 80%;
+ margin: 0 auto;
+
+ .cover {
+ @include border-radius(20px);
+ max-width: 100%;
+
+ &:hover {
+ background: #ffffff;
+ }
+
+ .like-button {
+ font-size: $default-font-size * 0.8;
+
+ @media (max-width: 300px) and (min-width: 200px) {
+ font-size: $default-font-size * 0.8;
+
+ .icon {
+ width: 20px;
+ height: 20px;
+ }
+ }
+
+ @media print {
+ display: none;
+ }
+ }
+ }
+ }
+}
+
+// Extend and inheritance
+
+.message {
+ border: $border-light;
+ background-color: #f0f0f0;
+}
+
+.message-danger {
+ @extend .message;
+}
+
+
+// Control structures
+
+@mixin does-parent-exist {
+ @if & {
+ &:hover {
+ color: red;
+ }
+ } @else {
+ a {
+ color: red;
+ }
+ }
+}
+
+
+// Operators
+
+.container { width: 100%; }
+
+article[role="main"] {
+ float: left;
+ width: 600px / 960px * 100%;
+}
+
+aside[role="complementary"] {
+ float: right;
+ width: 300px / 960px * 100%;
+}
+
+
+// Functions - see http://sass-lang.com/documentation/Sass/Script/Functions.html
+
+$color1: hsl(120deg, 100%, 50%);
+$color2: rgb($red, $green, blue($color1));
+$color3: mix($color1, $color2, [$weight]);
+
+
+// Properties
+
+html, body {
+ font-family: "Droid Sans", Arial, sans-serif;
+ font-size: 11pt;
+ line-height: 1.5em;
+ max-width: 300px + $page-width - $gap / 2;
+ background: $bg_color;
+ text-shadow: 0 0 2px rgba(0,0,0, $transparence);
+ box-sizing: border-box;
+}
+
+
+// Selectors
+
+blockquote {
+ margin: 0;
+}
+
+header #logo {
+ width: 100px;
+}
+
+div#footer .link {
+ color: blue;
+}
+
+sidebar #subscribe .subscribe_form input[type="text"] {
+ font-size: 20px;
+}
+
+sidebar #subscribe .subscribe_form:nth-child(2n + 1):hover input[class*="small-"] {
+ font-weight: bold;
+}
+
+
+// Media Queries
+
+@media print {
+ .container {
+ width: 100%;
+ }
+}
+
+@media screen and (min-width: 768px) {
+ .container {
+ width: 600px;
+ }
+}
+
+@media screen and (min-width: 768px) and (max-width: 960px) {
+ .container {
+ width: 720px;
+ }
+}
+
+
+// Fontface
+
+@font-face {
+ font-family: MyHelvetica;
+ src: local("Helvetica Neue Bold"),
+ local("HelveticaNeue-Bold"),
+ url(MgOpenModernaBold.ttf);
+ font-weight: bold;
+}
+
+// Animation (Keyframes)
+
+@keyframes slidein {
+ from {
+ margin-left: 100%;
+ width: 300%;
+ }
+
+ to {
+ margin-left: 0%;
+ width: 100%;
+ }
+}
diff --git a/autotests/folding/review128925-2.css.fold b/autotests/folding/review128925-2.css.fold
new file mode 100644
index 0000000..c1473a3
--- /dev/null
+++ b/autotests/folding/review128925-2.css.fold
@@ -0,0 +1,62 @@
+/*
+ * CSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex CSS syntax that can test unexpected situations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+/* Comments with special content */
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+/* Comments in special positions */
+
+header/* comment here */ .active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue/* comment here */ ;
+ font-family: Arial /* comment here */ ,
+ "Droid Sans", /* comment here */
+ sans-serif/* comment here */ ;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */ ) /* comment here */ { /* comment here */ }
+
+
+/* Strings with special content */
+
+@import url("{} $variable /* comment */");
+
+
+/* Without extra breaklines and spaces */
+
+pre.primary:hover.large:nth-child(2n-1){ font-size:17px;font-family:"Noto Sans";-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.3)}
+
+
+/* With unnecessary breaklines and spaces */
+
+blockquote .ref
+ {
+ flex : 0 1 30%;
+ flex-wrap : wrap;
+ }
+
+@media screen and (orientation: landscape) {
+ .sidebar {
+ width: 500px; } }
+
+
+/* Special selectors: HTML5 allows user defined tags */
+
+header {
+ flex {
+ width: 300px;
+ }
+}
diff --git a/autotests/folding/review128925-2.scss.fold b/autotests/folding/review128925-2.scss.fold
new file mode 100644
index 0000000..826707c
--- /dev/null
+++ b/autotests/folding/review128925-2.scss.fold
@@ -0,0 +1,81 @@
+/*
+ * SCSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex SCSS syntax that can test unexpected situations.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+// Comments with special content
+
+// .class-selector #id "string" 'comment' // comment {} [] () /* comment */ text
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+// Comments in special positions
+
+$color: black /* comment here */ ;
+
+header/* comment here */ .active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue/* comment here */ ;
+ font-family: Arial /* comment here */ ,
+ "Droid Sans", /* comment here */
+ sans-serif/* comment here */ ;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */ ) /* comment here */ { /* comment here */ }
+
+
+// Strings with special content
+
+@import "{} $variable /* comment */";
+@import "{}";
+
+// Without extra breaklines and spaces
+
+pre.primary:hover.large:nth-child(2n-1){ font-size:$default-font-size;font-family:"Noto Sans";-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.3)}
+
+// With unnecessary breaklines and spaces
+
+blockquote .ref
+ {
+ flex : 0 1 30%;
+ flex-wrap : wrap;
+ }
+
+.sidebar {
+ width: 300px; }
+ @media screen and (orientation: landscape) {
+ .sidebar {
+ width: 500px; } }
+
+// Variable interpolation: #{}
+
+$name: foo;
+$attr: border;
+p.#{ $name} {
+ #{ $attr}-color: blue;
+}
+
+p {
+ $font-size: 12px;
+ $line-height: 30px;
+ font: #{$font-size}/#{$line-height};
+}
+
+// Special selectors: HTML5 allows user defined tags
+
+header {
+ flex {
+ width: 300px;
+ }
+}
diff --git a/autotests/folding/review128935.html.fold b/autotests/folding/review128935.html.fold
new file mode 100644
index 0000000..9a5887a
--- /dev/null
+++ b/autotests/folding/review128935.html.fold
@@ -0,0 +1,164 @@
+
+
+html>
+
+
+
+
+
+HTML Syntax Highlight Sample File (Standard)
+
+
+>
+
+
+
+
+
+
+>
+ This is a div.
This is a span
+
>
+ This is a div.
+
>
+ >
+
+
+ This is a paragraph.
+
+
+This is heading 1
+This is heading 2
+This is heading 3
+This is heading 4
+This is heading 5
+This is heading 6
+
+This is a link
+
+
+
+
+
+
+
+>
+ List item
+ List item
+ List item
+ List item
+ List item
+ >
+
+>
+ List item
+ List item
+ List item
+ List item
+ List item
+ >
+
+>
+
+ Table head
+ Table head
+ Table head
+
+
+ Table head
+ Table head
+ Table head
+
+
>
+
+
+
+>
+ >
+
+ >This is a nav. >
+
+ >
+ This is an article.
+ This is an article.
+ >
+
+ >
+
+ >
+
+ >
+
+
+
+
+
+ Just For Fun: The Story of an Accidental Revolutionary
+ Linus Torvalds
+
+ A humorous autobiography of Linus Torvalds, the creator of the Linux
+ kernel, co-written with David Diamond. The book primarily theorizes
+ the Law of Linus that all evolution contributed by humanity starts
+ for survival, sustains socially and entertains at last. As well as
+ this the book explains Torvalds' view of himself, the free software
+ movement and the development of Linux.
+
+
+
+
+
+
+
+
+
+
+
+
+
+>
+ THIS IS A DIV.
+
THIS IS A PARAGRAPH.
+
THIS IS A HEADING.
+
>
+
+
+
+Magic button
+
+
+
+
+
+
+ GNU/Linux
+ BSD
+ Windows
+ macOS
+
+
+
+
+ id=name class=a-sweet-block data-counter=175>This is a div.
>
+
+
+
+
diff --git a/autotests/folding/test.bash.fold b/autotests/folding/test.bash.fold
new file mode 100644
index 0000000..579e214
--- /dev/null
+++ b/autotests/folding/test.bash.fold
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+for i in `ls tests/auto/output/*.html`; do
+ refFile=`echo $i | sed -e s,build,src, | sed -e s,output,reference, | sed -e s,.html,.ref.html,`
+ cp -v $i $refFile
+done
diff --git a/autotests/folding/test.bb.fold b/autotests/folding/test.bb.fold
new file mode 100644
index 0000000..98d9089
--- /dev/null
+++ b/autotests/folding/test.bb.fold
@@ -0,0 +1,34 @@
+# syntax test file for Bitbake receipes
+
+SUMMARY = "GammaRay Qt introspection probe"
+HOMEPAGE = "http://www.kdab.com/gammaray"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL.txt;md5=2abfe5daa817fd4346b6d55293941415"
+
+inherit cmake_qt5
+
+SRC_URI = "git://github.com/KDAB/GammaRay;branch=master"
+
+SRCREV = "139e003174f48b0c883fc6c200ef2efb7467bff1"
+PV = "2.4.0+git${SRCPV}"
+
+DEPENDS = "qtdeclarative"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " -DGAMMARAY_BUILD_UI=OFF"
+
+FILES_${PN}-dev += " \
+ /usr/lib/cmake/* \
+ /usr/mkspecs/modules/* \
+"
+FILES_${PN}-dbg += " \
+ /usr/lib/.debug/* \
+ /usr/lib/gammaray/*/*/.debug \
+ /usr/lib/gammaray/*/*/styles/.debug \
+"
+
+# error: unterinated string
+VAR *= "abc
+ this is wrong
diff --git a/autotests/folding/test.c.fold b/autotests/folding/test.c.fold
new file mode 100644
index 0000000..7b43b2d
--- /dev/null
+++ b/autotests/folding/test.c.fold
@@ -0,0 +1,56 @@
+#include
+#include "stdint.h"
+
+#define SOME_VAR 1
+#ifdef SOME_VAR
+
+#define MULTILINE_MACRO one \
+two \
+three
+
+static uint64_t intWithSuffix = 42ull;
+static int octNum = 07232;
+static int invalidOctNum = 09231;
+static uint64_t hexNum = 0xDEADBEEF42;
+static uint64_t invalidHexNum = 0xGLDFKG;
+static char binNum = 0b0101010;
+
+static double d1 = 42.;
+static double d2 = .42;
+static double d3 = 42.3e1;
+static double d4 = .2e-12;
+static double d5 = 32.e+12;
+static float floatQualifier = 23.123f;
+
+static const char c1 = 'c';
+static const char c2 = '\n';
+static const char c2a = '\120'; // octal
+static const char c2b = '\x1f'; // hex
+static const char c2c = '\'';
+static const char c2d = '\\';
+static const char* c3 = "string";
+static const char* c4 = "\"string\n\t\012\x12\"";
+static const char* c5 = "multiline \
+ string";
+
+//BEGIN region
+// TODO comment FIXME comment ### comment
+//END region
+
+#wrong
+
+/**
+ * Doxygen
+ * @param p1 text
+ * \brief bold text
+ * \dot
+ * a -> b
+ * \enddot
+ *
+ * \verbatim
+ *
+ * \endverbatim
+ * text
+ */
+
+#endif
diff --git a/autotests/folding/test.cmake.fold b/autotests/folding/test.cmake.fold
new file mode 100644
index 0000000..5c543cb
--- /dev/null
+++ b/autotests/folding/test.cmake.fold
@@ -0,0 +1,31 @@
+# comment
+
+#[[.rst:
+MyModule
+--------
+
+bla bla
+#]]
+
+#.rst:
+# ATTENTION
+# alternative doc comment
+#
+
+#[=====[.rst:
+
+3rd form
+
+]=====]
+
+set(CMAKE_AUTOMOC ON)
+if (POLICY CMP042)
+ target_link_libraries(myTaget SHARED Qt5::Core)
+else ()else ()
+ add_executable(myTaget ${some_var})
+endif ()
+
+macro (my_macro arg1)
+ foreach (arg ${ARGN})
+ endforeach ()
+endmacro ()
diff --git a/autotests/folding/test.css.fold b/autotests/folding/test.css.fold
new file mode 100644
index 0000000..0edd45b
--- /dev/null
+++ b/autotests/folding/test.css.fold
@@ -0,0 +1,18 @@
+h1 {
+ text-color: "red";
+}
+
+/* PHP code, invalid in CSS context */
+for()
+
+
+
+h2 {
+ text-weight: bold;
+}
+
diff --git a/autotests/folding/test.desktop.fold b/autotests/folding/test.desktop.fold
new file mode 100644
index 0000000..77db817
--- /dev/null
+++ b/autotests/folding/test.desktop.fold
@@ -0,0 +1,19 @@
+# test file for .dekstop syntax highlighting
+[Desktop Entry] [Desktop Entry]
+GenericName=Text Editor
+GenericName[ar]=Ù
ØØ±Ùر ÙØµÙص
+Name=KWrite
+Name[ar]=ÙØ§ØªØ¨Ù
+Comment=KDE Text Editor
+Comment[ar]=Ù
ØØ±Ùر ÙØµÙص ÙÙØ¯Ù
+MimeType=text/plain;
+Exec=kwrite %U
+StartupNotify=true
+Icon=kwrite
+X-DocPath=kwrite/index.html
+Type=Application
+Terminal=false
+InitialPreference=8
+X-DBUS-StartupType=Multi
+X-DBUS-ServiceName=org.kde.kwrite
+Categories=Qt;KDE;Utility;TextEditor;
diff --git a/autotests/folding/test.diff.fold b/autotests/folding/test.diff.fold
new file mode 100644
index 0000000..95ef591
--- /dev/null
+++ b/autotests/folding/test.diff.fold
@@ -0,0 +1,48 @@
+commit 2b16665838c8afeaa0f065cafc747438de35876b
+Author: Volker Krause
+Date: Sat Oct 8 13:31:51 2016 +0200
+
+ Implement dynamic DetectChar rules
+
+ Needed for Perl highlighting.
+
+diff --git a/src/lib/rule.cpp b/src/lib/rule.cpp
+index f588985..c4c3b92 100644
+--- a/src/lib/rule.cpp
++++ b/src/lib/rule.cpp
+@@ -308,12 +308,22 @@ bool DetectChar::doLoad(QXmlStreamReader& reader)
+ if (s.isEmpty())
+ return false;
+ m_char = s.at(0);
++ if (isDynamic()) {
++ m_captureIndex = m_char.digitValue();
++ }
+ return true;
+ }
+
+ MatchResult DetectChar::doMatch(const QString& text, int offset, const QStringList &captures)
+ {
+- Q_UNUSED(captures); // TODO
++ if (isDynamic()) {
++ if (captures.size() <= m_captureIndex || captures.at(m_captureIndex).isEmpty())
++ return offset;
++ if (text.at(offset) == captures.at(m_captureIndex).at(0))
++ return offset + 1;
++ return offset;
++ }
++
+ if (text.at(offset) == m_char)
+ return offset + 1;
+ return offset;
+diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h
+index d8862ae..d9cedbf 100644
+--- a/src/lib/rule_p.h
++++ b/src/lib/rule_p.h
+@@ -103,6 +103,7 @@ protected:
+
+ private:
+ QChar m_char;
++ int m_captureIndex;
+ };
+
+ class Detect2Char : public Rule
diff --git a/autotests/folding/test.eml.fold b/autotests/folding/test.eml.fold
new file mode 100644
index 0000000..373a421
--- /dev/null
+++ b/autotests/folding/test.eml.fold
@@ -0,0 +1,94 @@
+Return-Path:
+X-Sieve: CMU Sieve 2.3
+X-Virus-Scanned: amavisd-new at site
+Authentication-Results: linux.site (amavisd-new); dkim=pass (1024-bit key)
+ header.d=kde.org
+Received: from postbox.kde.org (localhost.localdomain [127.0.0.1])
+ by postbox.kde.org (Postfix) with ESMTP id 3167DB6E75;
+ Wed, 5 Oct 2016 20:21:47 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kde.org; s=default;
+ t=1475698907; bh=6i+3UfR6HLC54wVtp5SF4sVWvQn63jzu9vD2zJal/kY=;
+ h=From:To:Subject:Date:Reply-To:List-Id:List-Unsubscribe:List-Post:
+ List-Help:List-Subscribe:From;
+ b=M5nfHbmJe/4DPuidrJ901dUzX3FmpVpyUrPM961Or9bKrMO+z9gaTUwbfPR74Rq8B
+ Rv66yf3ZaDuRZxv/ARPzpr8qnDTtf13WRFZ/ySdqqqQJKeBqCAd7/wbR0kHhypvpwe
+ z4nY6+bNnjvFelPXR56o16b+/Ib2GTYJ9hwiG97U=
+X-Original-To: kwrite-devel@kde.org
+Delivered-To: kwrite-devel@localhost.kde.org
+Received-SPF: Neutral (access neither permitted nor denied) identity=mailfrom;
+ client-ip=85.214.234.26; helo=h2265959.stratoserver.net;
+ envelope-from=vkrause@kde.org; receiver=kwrite-devel@kde.org
+From: Volker Krause
+To: kwrite-devel@kde.org
+Subject: Highlighting semantics: line end context switches when popping back
+ into previous line context stack
+Date: Wed, 05 Oct 2016 22:19:17 +0200
+Message-ID: <2420385.jiZKTgWtgY@vkpc5>
+Organization: KDE
+User-Agent: KMail/4.14.10 (Linux/4.1.13-5-default; KDE/4.14.16; x86_64;
+ git-91275a7; 2015-12-13)
+MIME-Version: 1.0
+Content-Type: multipart/signed; boundary="nextPart1575059.2yRQ5x6HOo";
+ micalg="pgp-sha1"; protocol="application/pgp-signature"
+X-BeenThere: kwrite-devel@kde.org
+X-Mailman-Version: 2.1.16
+Precedence: list
+Reply-To: kwrite-devel@kde.org
+List-Id: Kate/KWrite Mailing List
+List-Unsubscribe: ,
+
+List-Post:
+List-Help:
+List-Subscribe: ,
+
+Errors-To: kwrite-devel-bounces@kde.org
+Sender: "KWrite-Devel"
+
+
+--nextPart1575059.2yRQ5x6HOo
+Content-Transfer-Encoding: 7Bit
+Content-Type: text/plain; charset="us-ascii"
+
+Hi,
+
+when trying to add the unit test for the new Praat highlighting to
+KF5::SyntaxHighlighting it turned out that the output doesn't match at all
+that of Kate. We managed to trace this back to the following rather surprising
+(and apparently undocumented) behavior in Kate:
+
+When a context switch (anywhere in a line) pops more contexts than were on the
+stack when starting the line, it executes line end context switches of the
+previous line contexts.
+
+| | | | | | The corresponding code is in KateHighlighting::generateContextStack(),
+| | > | > KF5::SyntaxHighlighting doesn't do this (yet), Praat is apparently the first
+> | > format we have tests for that uses this behavior.
+
+> Does anyone remember why we do this, or happens to know which highlighting
+> files besides Praat rely on this?
+
+> > Archeology can trace this back to the dark CVS ages even, one reference
+> > Dominik has dug up is a 10 year old SVN commit
+> > (https://quickgit.kde.org/?p=kdelibs.git&a=commit&h=90ef47f582277745f727d89f05f72f1e1705fdc4
+> >), where Christoph claims to understand what this code does ;)
+
+> > > As this is highly unexpected and hard to reason about behavior, Dominik and I
+> > > > were wondering if we can possibly drop this, and rather fix affected
+> > > > > highlighting files instead?
+
+Regards,
+Volker
+--nextPart1575059.2yRQ5x6HOo
+Content-Type: application/pgp-signature; name="signature.asc"
+Content-Description: This is a digitally signed message part.
+Content-Transfer-Encoding: 7Bit
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iD8DBQBX9WBIf5bM1k0S0kcRAireAJ4lCWa08Y5yU1ezIvKVCAfnkhcUbACgou0O
+X4c+lkPI0tti59KV1vetaeU=
+=VqDS
+-----END PGP SIGNATURE-----
+
+--nextPart1575059.2yRQ5x6HOo--
diff --git a/autotests/folding/test.frag.fold b/autotests/folding/test.frag.fold
new file mode 100644
index 0000000..a6a7bc1
--- /dev/null
+++ b/autotests/folding/test.frag.fold
@@ -0,0 +1,26 @@
+#version 330 core
+
+// single line comment
+
+/* single line commonet */
+
+/*
+ multi line comment
+ */
+
+in ColorFormat {
+ vec3 color;
+} fs_in;
+
+out vec4 fragColor;
+
+vec3 fun(const in vec3 foo) {
+ foo[2] = foo.x;
+
+ return foo;
+}
+
+void main()
+{
+ fragColor = vec4( fs_in.color, 1.0 );
+}
diff --git a/autotests/folding/test.htm.fold b/autotests/folding/test.htm.fold
new file mode 100644
index 0000000..277e11a
--- /dev/null
+++ b/autotests/folding/test.htm.fold
@@ -0,0 +1,17 @@
+HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+
+ This is a title
+ >
+
+
+ Hello world!
+
+ >
+
diff --git a/autotests/folding/test.ijs.fold b/autotests/folding/test.ijs.fold
new file mode 100644
index 0000000..7ff269b
--- /dev/null
+++ b/autotests/folding/test.ijs.fold
@@ -0,0 +1,61 @@
+Comment
+NB. This is a single line comment, check regions overlapping priority: 1 2.3 +/ &. 'quoted text'
+NB.(
+NB. This is a foldable multi line comment
+NB.)
+
+String literal
+''
+''''
+'This is quoted text'
+'And this '' and this NB. and this' 'Yet another quoted text'
+
+Numeric literal
+12 34.56 _7.89 1e2 1.2e3 _. _ __ 123j_456 2b111.111 1r23 123456x 1.2e3j4.5e6 _j_ __j_ _.j_. _j3p4j_.
+
+Parenthesis
+( )
+
+Adverb
+~ / \ /. \. } b. f. M. t. t:
+
+Conjuction
+^: . .. .: : :. :: ;. !. !: " ` `: @ @. @: & &. &: &.: d. D. D: H. L: S: T.
+
+Control
+assert. break. case. catch. catchd. catcht. continue. do. else. elseif. end. fcase. for. for_abc. goto_abc. if. label_abc. return. select. throw. try. while. whilst.
+
+Copula
+a =: 123
+(a) =: 123
+(a;b;c) =: 123
+'a b c' =: 123
+'a b c' =. '123'
+'`a b c' =. '123'
+'a' =: 123
+('a';'b';'c') =: 123
+
+Explicit argument
+x y m n u v x. y. m. n. u. v.
+
+Noun
+a. a:
+
+Verb
+= < <. <: > >. >: _: + +. +: * *. *: - -. -: % %. %: ^ ^. $ $. $: ~. ~: | |. |: , ,. ,: ; ;: # #. #: ! /: \: [ [: ] { {. {: {:: }. }: ". ": ? ?. A. C. e. E. i. i: I. j. L. o. p. p.. p: q: r. s: u: x: _9: _8: _7: _6: _5: _4: _3: _2: _1: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9:
+
+Combined
+for_abc. i. 5 do. 55 return. end.
+a=. b =: 123 +/ # i. 10
+123 'qwerty'
+a_b =: '123' [ c__d =. 4 : 0 NB. foldable definition begins
+ x +/ y
+)
+e__12 =: define NB. foldable definition begins
+ if. x do. NB. inner foldable region begins
+ y=. y + x NB. comment after code
+ x +/ y
+ else. NB. inner foldable region begins
+ y +/ y
+ end.
+)
diff --git a/autotests/folding/test.js.fold b/autotests/folding/test.js.fold
new file mode 100644
index 0000000..b2cd6f0
--- /dev/null
+++ b/autotests/folding/test.js.fold
@@ -0,0 +1,8 @@
+/* comment */
+
+function fun()
+{
+ var boo = { 'key': [ 1, 2.0, 3.0e1, 004, 0x5 ] } ;
+}
+
+class MyClass; // reserved keywords
diff --git a/autotests/folding/test.json.fold b/autotests/folding/test.json.fold
new file mode 100644
index 0000000..622ad42
--- /dev/null
+++ b/autotests/folding/test.json.fold
@@ -0,0 +1,13 @@
+{
+ "float": 3.1415,
+ "int": 123,
+ "string": "\a \"b' \n",
+ "array": [ 1, 2, 3 ] ,
+ "object": {
+ "mult-line": "so this folds"
+ } ,
+ "folded array": [
+ 1, 2, 3
+ ]
+ "error key": "due to missing comma"
+}
diff --git a/autotests/folding/test.markdown.fold b/autotests/folding/test.markdown.fold
new file mode 100644
index 0000000..b8b4a9d
--- /dev/null
+++ b/autotests/folding/test.markdown.fold
@@ -0,0 +1,39 @@
+# H1
+
+## H2
+
+### H3
+
+Multi-line paragraph bla bla bla
+bla bla bla.
+
+Intentional line break
+via two spaces at line.
+
+Formats: _italic_, **bold**, `monospace`, ~~strikeout~~
+
+Bullet list:
+
+* item1
+* item2
+
+Numbered list:
+
+1. item 1
+2. item 2
+
+[link](http://kde.org)
+
+ code 1
+ code 2
+
+normal text
+
+> block quote _italic_
+> more block quote
+
+normal text
+
+Title: some text
+
+normal text
diff --git a/autotests/folding/test.mss.fold b/autotests/folding/test.mss.fold
new file mode 100644
index 0000000..49e0b97
--- /dev/null
+++ b/autotests/folding/test.mss.fold
@@ -0,0 +1,215 @@
+/* kate: hl CartoCSS
+ This file contains some content coming from
+ https://github.com/gravitystorm/openstreetmap-carto
+ with CC0 license. This file is just for testing
+ katepart highlighting engine.
+ */
+
+#world {
+// this syntax
+polygon-opacity: 50%;
+
+// is equivalent to
+polygon-opacity: 0.5;
+}
+
+@admin-boundaries: #ac46ac;
+
+/* For performance reasons, the admin border layers are split into three groups
+for low, middle and high zoom levels.
+For each zoomlevel, all borders come from a single attachment, to handle
+overlapping borders correctly.
+*/
+
+#admin-low-zoom[zoom < 11], // test
+#admin-mid-zoom[zoom >= 11][zoom < 13],
+#admin-high-zoom[zoom >= 13] {
+ [admin_level = '2'],
+ [admin_level = '3'] {
+ [zoom >= 4] {
+ background/line-color: white;
+ background/line-width: 0.6;
+ line-color: @admin-boundaries;
+ line-width: 0.6;
+ }
+ [zoom >= 7] {
+ background/line-width: 2;
+ line-width: 2;
+ }
+ [zoom >= 10] {
+ [admin_level = '2'] {
+ background/line-width: 6;
+ line-width: 6;
+ }
+ [admin_level = '3'] {
+ background/line-width: 5;
+ line-width: 5;
+ line-dasharray: 4,2;
+ line-clip: false;
+ }
+ }
+ }
+ [admin_level = '4'] {
+ [zoom >= 4] {
+ background/line-color: white;
+ background/line-width: 0.6;
+ line-color: @admin-boundaries;
+ line-width: 0.6;
+ line-dasharray: 4,3;
+ line-clip: false;
+ }
+ [zoom >= 7] {
+ background/line-width: 1;
+ line-width: 1;
+ }
+ [zoom >= 11] {
+ background/line-width: 3;
+ line-width: 3;
+ }
+ }
+ /*
+ The following code prevents admin boundaries from being rendered on top of
+ each other. Comp-op works on the entire attachment, not on the individual
+ border. Therefore, this code generates an attachment containing a set of
+ @admin-boundaries/white dashed lines (of which only the top one is visible),
+ and with `comp-op: darken` the white part is ignored, while the
+ @admin-boundaries colored part is rendered (as long as the background is not
+ darker than @admin-boundaries).
+ The SQL has `ORDER BY admin_level`, so the boundary with the lowest
+ admin_level is rendered on top, and therefore the only visible boundary.
+ */
+ opacity: 0.4;
+ comp-op: darken;
+}
+
+#admin-mid-zoom[zoom >= 11][zoom < 13],
+#admin-high-zoom[zoom >= 13] {
+ [admin_level = '5'][zoom >= 11] {
+ background/line-color: white;
+ background/line-width: 2;
+ line-color: @admin-boundaries;
+ line-width: 2;
+ line-dasharray: 6,3,2,3,2,3;
+ line-clip: false;
+ }
+ [admin_level = '6'][zoom >= 11] {
+ background/line-color: white;
+ background/line-width: 2;
+ line-color: @admin-boundaries;
+ line-width: 2;
+ line-dasharray: 6,3,2,3;
+ line-clip: false;
+ }
+ [admin_level = '7'],
+ [admin_level = '8'] {
+ [zoom >= 12] {
+ background/line-color: white;
+ background/line-width: 1.5;
+ line-color: @admin-boundaries;
+ line-width: 1.5;
+ line-dasharray: 5,2;
+ line-clip: false;
+ }
+ }
+ opacity: 0.5;
+ comp-op: darken;
+}
+
+#admin-high-zoom[zoom >= 13] {
+ [admin_level = '9'],
+ [admin_level = '10'] {
+ [zoom >= 13] {
+ background/line-color: white;
+ background/line-width: 2;
+ line-color: @admin-boundaries;
+ line-width: 2;
+ line-dasharray: 2,3;
+ line-clip: false;
+ }
+ }
+ opacity: 0.5;
+ comp-op: darken;
+}
+
+
+
+#nature-reserve-boundaries {
+ [way_pixels > 100][zoom >= 7] {
+ [zoom < 10] {
+ ::fill {
+ opacity: 0.05;
+ polygon-fill: green;
+ }
+ }
+ a/line-width: 1;
+ a/line-offset: -0.5;
+ a/line-color: green;
+ a/line-opacity: 0.15;
+ a/line-join: round;
+ a/line-cap: round;
+ b/line-width: 2;
+ b/line-offset: -1;
+ b/line-color: green;
+ b/line-opacity: 0.15;
+ b/line-join: round;
+ b/line-cap: round;
+ [zoom >= 10] {
+ a/line-width: 2;
+ a/line-offset: -1;
+ b/line-width: 4;
+ b/line-offset: -2;
+ }
+ [zoom >= 14] {
+ b/line-width: 6;
+ b/line-offset: -3;
+ }
+ }
+}
+
+#building-text {
+[zoom >= 14][way_pixels > 3000],
+[zoom >= 17] {
+text-name: "[name]";
+text-size: 11;
+text-fill: #444;
+text-face-name: @book-fonts;
+text-halo-radius: 1;
+text-wrap-width: 20;
+text-halo-fill: rgba(255,255,255,0.5);
+text-placement: interior;
+}
+}
+
+@marina-text: #576ddf; // also swimming_pool
+@landcover-face-name: @oblique-fonts;
+@standard-wrap-width: 30;
+
+.points {
+ [feature = 'tourism_alpine_hut'][zoom >= 13] {
+ point-file: url('symbols/alpinehut.p.16.png');
+ point-placement: interior;
+ }
+ }
+
+ [feature = 'highway_bus_stop'] {
+ [zoom >= 16] {
+ marker-file: url('symbols/square.svg');
+ marker-fill: @transportation-icon;
+ marker-placement: interior;
+ marker-width: 6;
+ }
+ [zoom >= 17] {
+ marker-file: url('symbols/bus_stop.p.12.png');
+ marker-width: 12;
+ }
+ }
+
+[feature = 'highway_primary'] {
+[zoom >= 7][zoom < 12] {
+line-width: 0.5;
+line-color: @primary-fill;
+[zoom >= 9] { line-width: 1.2; }
+[zoom >= 10] { line-width: 2; }
+[zoom >= 11] { line-width: .5; }
+}
+}
diff --git a/autotests/folding/test.py.fold b/autotests/folding/test.py.fold
new file mode 100644
index 0000000..ae0b98a
--- /dev/null
+++ b/autotests/folding/test.py.fold
@@ -0,0 +1,28 @@
+# comment with ALERT
+
+ ''' multiline
+ comment
+ ###
+ '''
+
+def func( x) :
+ """ API docs """
+ if x == 42:
+ func( )
+ c1 = { }
+ c2 = {
+ 2.4,
+ 0x42
+ }
+ a1 = [ ]
+ a2 = [
+ "a", 032, (
+ ) ]
+ else:
+ print( """ multi
+ line
+ string""" )
+ print( "single \
+ continued line ")
+ print( 'single line')
+ return float( len( a2) )
diff --git a/autotests/folding/test.qml.fold b/autotests/folding/test.qml.fold
new file mode 100644
index 0000000..316ff65
--- /dev/null
+++ b/autotests/folding/test.qml.fold
@@ -0,0 +1,23 @@
+/*
+ * multi line comment
+ */
+
+// single line comment
+
+import QtQuick 2.0
+
+Rectangle {
+ property real myNumProp: 0.1e12;
+ property alias sub.color;
+ signal mySignal(int arg1, string arg2)
+ color: "lightsteelblue"
+ width: 320
+ height: width/2
+
+ Rectangle {
+ id: sub
+ width: 0x10
+ height: 007
+ objectName: 'single quote'
+ }
+}
diff --git a/autotests/folding/test.sql.fold b/autotests/folding/test.sql.fold
new file mode 100644
index 0000000..c7a5f3b
--- /dev/null
+++ b/autotests/folding/test.sql.fold
@@ -0,0 +1,6 @@
+-- comment
+
+CREATE TABLE stuff COLUMNS(col1 INT, col2 Varchar);
+SELECT * FROM stuff WHERE id = 'string';
+select * from stuff where id < 0.42;
+Select col1, col2 From stuff Where stuff.col1 IS NOT NuLL;
diff --git a/autotests/folding/test.tex.fold b/autotests/folding/test.tex.fold
new file mode 100644
index 0000000..8da60c9
--- /dev/null
+++ b/autotests/folding/test.tex.fold
@@ -0,0 +1,5 @@
+% commet
+
+text \texttt{more text}
+
+\verb!verbatim text! normal text
diff --git a/autotests/folding/test_syntax.sql.fold b/autotests/folding/test_syntax.sql.fold
new file mode 100644
index 0000000..62db7f0
--- /dev/null
+++ b/autotests/folding/test_syntax.sql.fold
@@ -0,0 +1,41 @@
+-- kate: hl SQL (Oracle)
+-- test case shipped with highlighting in bugzilla, LGPL
+
+begin
+ q'{adfasdf'sadfasdf j}'{' hkjhkhkjhkjh khlkhklj'fghdfghdfgh'hkjh'jkhkh'a'
+ Q'(asldflahsl;'dkjfhklsdfh)'
+ q'[asdasd;'asdasd'a]sd'asd'asasd]';11111111[1']; asdasdasdasd'errrrrrrrrrrrrrr-p
+
+ q'agdfgsdfgfhfghjfgh'f'f'sdfg'sdfg'dfg#a' dafdfadasfasdf;
+
+ Q'#gdfgsdfgsdfgsdfgsdfg#' afgasasdfasdfasfasdfasdfasdfasdfsdf
+
+ if sldfjsdj then
+ case
+ when 1=1 then
+ aslfjsldkfj;
+ when 2=2 then
+ asdfg;
+ else
+ null;
+ end case ;
+
+ if sdfjh then
+ for i in 1 .. 2
+ LOOP
+ dbms_output.put_line(q';ololo;');
+ END Loop ;
+
+ while true
+ loop
+ dbms_output.put_line('1111');
+ end loop ;
+ end if ;
+ ksjfklasjd;
+ fklj;
+ elsif
+ sdklfjsdklfj;
+ else
+ sdfdfsdf;
+ end if ;
+end ;
diff --git a/autotests/foldingtest.cpp b/autotests/foldingtest.cpp
new file mode 100644
index 0000000..ab07c96
--- /dev/null
+++ b/autotests/foldingtest.cpp
@@ -0,0 +1,186 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "test-config.h"
+
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+class FoldingHighlighter : public AbstractHighlighter
+{
+public:
+ void highlightFile(const QString &inFileName, const QString &outFileName)
+ {
+ QFile outFile(outFileName);
+ if (!outFile.open(QFile::WriteOnly | QFile::Truncate)) {
+ qWarning() << "Failed to open output file" << outFileName << ":" << outFile.errorString();
+ return;
+ }
+ m_out.setDevice(&outFile);
+ m_out.setCodec("UTF-8");
+
+ QFile f(inFileName);
+ if (!f.open(QFile::ReadOnly)) {
+ qWarning() << "Failed to open input file" << inFileName << ":" << f.errorString();
+ return;
+ }
+
+ QTextStream in(&f);
+ in.setCodec("UTF-8");
+ State state;
+ bool indentationFoldEnabled = definition().indentationBasedFoldingEnabled();
+ if (indentationFoldEnabled)
+ m_out << "";
+ while (!in.atEnd()) {
+ const auto currentLine = in.readLine();
+ state = highlightLine(currentLine, state);
+
+ if (indentationFoldEnabled != state.indentationBasedFoldingEnabled()) {
+ indentationFoldEnabled = state.indentationBasedFoldingEnabled();
+ if (indentationFoldEnabled)
+ m_out << "";
+ else
+ m_out << " ";
+ }
+
+ int offset = 0;
+ foreach (const auto &fold, m_folds) {
+ m_out << currentLine.mid(offset, fold.offset - offset);
+ if (fold.region.type() == FoldingRegion::Begin)
+ m_out << "";
+ else
+ m_out << "";
+ m_out << currentLine.mid(fold.offset, fold.length);
+ if (fold.region.type() == FoldingRegion::Begin)
+ m_out << " ";
+ else
+ m_out << "";
+ offset = fold.offset + fold.length;
+ }
+ m_out << currentLine.mid(offset) << '\n';
+ m_folds.clear();
+ }
+
+ m_out.flush();
+ }
+
+protected:
+ void applyFormat(int offset, int length, const Format &format) Q_DECL_OVERRIDE
+ {
+ Q_UNUSED(offset);
+ Q_UNUSED(length);
+ Q_UNUSED(format);
+ }
+
+ void applyFolding(int offset, int length, FoldingRegion region) Q_DECL_OVERRIDE
+ {
+ Q_ASSERT(region.isValid());
+ m_folds.push_back({offset, length, region});
+ }
+
+private:
+ QTextStream m_out;
+ struct Fold { int offset; int length; FoldingRegion region; };
+ QVector m_folds;
+};
+
+
+class FoldingTest : public QObject
+{
+ Q_OBJECT
+public:
+ explicit FoldingTest(QObject *parent = Q_NULLPTR) : QObject(parent) {}
+private:
+
+private Q_SLOTS:
+ void initTestCase()
+ {
+ QStandardPaths::enableTestMode(true);
+ }
+
+ void testFolding_data()
+ {
+ QTest::addColumn("inFile");
+ QTest::addColumn("outFile");
+ QTest::addColumn("refFile");
+ QTest::addColumn("syntax");
+
+ QDir dir(QStringLiteral(TESTSRCDIR "/input"));
+ foreach (const auto &fileName, dir.entryList(QDir::Files | QDir::NoSymLinks | QDir::Readable, QDir::Name)) {
+ const auto inFile = dir.absoluteFilePath(fileName);
+ if (inFile.endsWith(QLatin1String(".syntax")))
+ continue;
+
+ QString syntax;
+ QFile syntaxOverride(inFile + QStringLiteral(".syntax"));
+ if (syntaxOverride.exists() && syntaxOverride.open(QFile::ReadOnly))
+ syntax = QString::fromUtf8(syntaxOverride.readAll()).trimmed();
+
+ QTest::newRow(fileName.toUtf8().constData()) << inFile
+ << (QStringLiteral(TESTBUILDDIR "/folding.out/") + fileName + QStringLiteral(".fold"))
+ << (QStringLiteral(TESTSRCDIR "/folding/") + fileName + QStringLiteral(".fold"))
+ << syntax;
+ }
+
+ QDir().mkpath(QStringLiteral(TESTBUILDDIR "/folding.out/"));
+ }
+
+ void testFolding()
+ {
+ QFETCH(QString, inFile);
+ QFETCH(QString, outFile);
+ QFETCH(QString, refFile);
+ QFETCH(QString, syntax);
+
+ Repository m_repo;
+
+ auto def = m_repo.definitionForFileName(inFile);
+ if (!syntax.isEmpty())
+ def = m_repo.definitionForName(syntax);
+
+ FoldingHighlighter highlighter;
+
+ QVERIFY(def.isValid());
+ highlighter.setDefinition(def);
+ highlighter.highlightFile(inFile, outFile);
+
+ auto args = QStringList() << QStringLiteral("-u") << refFile << outFile;
+ QProcess proc;
+ proc.setProcessChannelMode(QProcess::ForwardedChannels);
+ proc.start(QStringLiteral("diff"), args);
+ QVERIFY(proc.waitForFinished());
+ QCOMPARE(proc.exitCode(), 0);
+ }
+
+};
+
+QTEST_GUILESS_MAIN(FoldingTest)
+
+#include "foldingtest.moc"
diff --git a/autotests/highlighter_benchmark.cpp b/autotests/highlighter_benchmark.cpp
new file mode 100644
index 0000000..e4ec321
--- /dev/null
+++ b/autotests/highlighter_benchmark.cpp
@@ -0,0 +1,102 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "test-config.h"
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+class NullHighlighter : public AbstractHighlighter
+{
+public:
+ void highlightFile(const QString &inFileName)
+ {
+ QFile f(inFileName);
+ if (!f.open(QFile::ReadOnly)) {
+ qWarning() << "Failed to open input file" << inFileName << ":" << f.errorString();
+ return;
+ }
+
+ QTextStream in(&f);
+ State state;
+ while (!in.atEnd())
+ state = highlightLine(in.readLine(), state);
+ }
+
+protected:
+ void applyFormat(int, int, const Format&) Q_DECL_OVERRIDE {}
+};
+
+class HighlighterBenchmark : public QObject
+{
+ Q_OBJECT
+public:
+ explicit HighlighterBenchmark(QObject *parent = Q_NULLPTR) : QObject(parent), m_repo(Q_NULLPTR) {}
+
+private:
+ Repository *m_repo;
+
+private Q_SLOTS:
+ void initTestCase()
+ {
+ m_repo = new Repository;
+ }
+
+ void cleanupTestCase()
+ {
+ delete m_repo;
+ m_repo = Q_NULLPTR;
+ }
+
+ void benchmarkHighlight_data()
+ {
+ QTest::addColumn("inFile");
+ QTest::addColumn("syntax");
+
+ QTest::newRow("mimedb") << QStringLiteral(":/qt-project.org/qmime/freedesktop.org.xml") << QStringLiteral("XML");
+ }
+
+ void benchmarkHighlight()
+ {
+ QFETCH(QString, inFile);
+ QFETCH(QString, syntax);
+ QVERIFY(m_repo);
+
+ NullHighlighter highlighter;
+ auto def = m_repo->definitionForFileName(inFile);
+ if (!syntax.isEmpty())
+ def = m_repo->definitionForName(syntax);
+ QVERIFY(def.isValid());
+ highlighter.setDefinition(def);
+ QBENCHMARK {
+ highlighter.highlightFile(inFile);
+ }
+ }
+
+};
+
+QTEST_GUILESS_MAIN(HighlighterBenchmark)
+
+#include "highlighter_benchmark.moc"
+
diff --git a/autotests/html/Dockerfile.html b/autotests/html/Dockerfile.html
new file mode 100644
index 0000000..ef324f6
--- /dev/null
+++ b/autotests/html/Dockerfile.html
@@ -0,0 +1,26 @@
+
+
+
+Dockerfile
+
+
+# LGPLv2+ example file
+
+# This is a comment
+FROM ubuntu:14.04
+MAINTAINER James Turnbull <james@example.com> # comment
+ENV REFRESHED_AT 2014-06-01
+
+RUN apt-get -yqq update
+RUN apt-get install -yqq software-properties-common python-software-properties
+RUN add-apt-repository ppa:chris-lea/redis-server
+RUN apt-get -yqq update
+RUN apt-get -yqq install redis-server redis-tools
+RUN apt-get -yqq update # comment
+
+VOLUME [ "/var/lib/redis" , "/var/log/redis/" ]
+
+EXPOSE 6379
+
+CMD []
+
diff --git a/autotests/html/Kconfig.html b/autotests/html/Kconfig.html
new file mode 100644
index 0000000..ab4ca14
--- /dev/null
+++ b/autotests/html/Kconfig.html
@@ -0,0 +1,22 @@
+
+
+
+Kconfig
+
+
+This is wrong but should not crash ] ) } !
+
+# comment
+
+config BR2_PACKAGE_GAMMARAY
+ bool "gammaray"
+ depends on BR2_PACKAGE_QT5
+ help
+ GammaRay Qt introspection probe.
+ second line of help, with correct indentation
+ third line underindented and thus wrong
+ default 'true'
+
+menu myMenu
+endmenu
+
diff --git a/autotests/html/Makefile.html b/autotests/html/Makefile.html
new file mode 100644
index 0000000..4d81c81
--- /dev/null
+++ b/autotests/html/Makefile.html
@@ -0,0 +1,32 @@
+
+
+
+Makefile
+
+
+# comment
+
+include Makefile.in
+
+.PHONY: all
+
+all: target
+
+foo = bar $( var ) \
+ $( baz ) quux
+
+ifeq ($( CC ) ,gcc)
+ bla =$( call func , param1 , param2 )
+else
+ libs =$( normal_libs )
+endif
+
+target1:
+ error
+
+target2: bla.cpp $@
+ $( CC ) bla.c -o bla.o
+ $( CC ) bla.o $< \
+ - o bla.exe
+ @ echo "hello"
+
diff --git a/autotests/html/basic.markdown.html b/autotests/html/basic.markdown.html
new file mode 100644
index 0000000..8ee1f19
--- /dev/null
+++ b/autotests/html/basic.markdown.html
@@ -0,0 +1,13 @@
+
+
+
+basic.markdown
+
+
+normal
+
+* item1
+still part of item
+
+normal text again
+
diff --git a/autotests/html/basic.xml.html b/autotests/html/basic.xml.html
new file mode 100644
index 0000000..770b081
--- /dev/null
+++ b/autotests/html/basic.xml.html
@@ -0,0 +1,11 @@
+
+
+
+basic.xml
+
+
+<?xml version="1.0" encoding="UTF-8"?>
+<element attr1= "a1" >
+ <sub-element/>
+</element>
+
diff --git a/autotests/html/complex.xml.html b/autotests/html/complex.xml.html
new file mode 100644
index 0000000..117029d
--- /dev/null
+++ b/autotests/html/complex.xml.html
@@ -0,0 +1,20 @@
+
+
+
+complex.xml
+
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+ <!-- comment line 1
+ comment line 2 -->
+ <!ENTITY name "(?![0-9])[\w_:][\w.:_-]*" >
+ <!ENTITY entref " & (#[0-9]+|#[xX][0-9A-Fa-f]+| &name; );" >
+]>
+<element attr1= "a1" attr2= "2.03" attr3= " &entity; " >
+ <sub-element/>
+</element>
+
+<wrong <very wrong >>
+
diff --git a/autotests/html/cube.obj.html b/autotests/html/cube.obj.html
new file mode 100644
index 0000000..6ecd1df
--- /dev/null
+++ b/autotests/html/cube.obj.html
@@ -0,0 +1,40 @@
+
+
+
+cube.obj
+
+
+# cube.obj
+#
+
+g cube
+
+v 0.0 0.0 0.0
+v 0.0 0.0 1.0
+v 0.0 1.0 0.0
+v 0.0 1.0 1.0
+v 1.0 0.0 0.0
+v 1.0 0.0 1.0
+v 1.0 1.0 0.0
+v 1.0 1.0 1.0
+
+vn 0.0 0.0 1.0
+vn 0.0 0.0 -1.0
+vn 0.0 1.0 0.0
+vn 0.0 -1.0 0.0
+vn 1.0 0.0 0.0
+vn -1.0 0.0 0.0
+
+f 1 //2 7 //2 5 //2
+f 1 //2 3 //2 7 //2
+f 1 //6 4 //6 3 //6
+f 1 //6 2 //6 4 //6
+f 3 //3 8 //3 7 //3
+f 3 //3 4 //3 8 //3
+f 5 //5 7 //5 8 //5
+f 5 //5 8 //5 6 //5
+f 1 //4 5 //4 6 //4
+f 1 //4 6 //4 2 //4
+f 2 //1 6 //1 8 //1
+f 2 //1 8 //1 4 //1
+
diff --git a/autotests/html/cube.ply.html b/autotests/html/cube.ply.html
new file mode 100644
index 0000000..39d9102
--- /dev/null
+++ b/autotests/html/cube.ply.html
@@ -0,0 +1,33 @@
+
+
+
+cube.ply
+
+
+error before header
+
+ply
+format ascii 1.0
+comment TODO this is a comment
+element vertex 8
+property float x
+property float y
+property float z
+element face 6
+property list uint int vertex_indices
+end_header
+-1 -1 -1
+1 -1 -1
+1 1 -1
+-1 1 -1
+-1 -1 1
+1 -1 1
+1 1 1
+-1 1 1
+4 0 1 2 3
+4 5 4 7 6
+4 6 2 1 5
+4 3 7 4 0
+4 7 3 2 6
+4 5 1 0 4
+
diff --git a/autotests/html/cube.stl.html b/autotests/html/cube.stl.html
new file mode 100644
index 0000000..0a23eab
--- /dev/null
+++ b/autotests/html/cube.stl.html
@@ -0,0 +1,37 @@
+
+
+
+cube.stl
+
+
+solid cube_corner
+ facet normal 0.0 -1.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 1.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+ facet normal 0.0 0.0 -1.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 1.0 0.0 0.0
+ endloop
+ endfacet
+ facet normal -1.0 0.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ vertex 0.0 1.0 0.0
+ endloop
+ endfacet
+ facet normal 0.577 0.577 0.577
+ outer loop
+ vertex 1.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+endsolid
+
diff --git a/autotests/html/example.rmd.html b/autotests/html/example.rmd.html
new file mode 100644
index 0000000..9d7b639
--- /dev/null
+++ b/autotests/html/example.rmd.html
@@ -0,0 +1,46 @@
+
+
+
+example.rmd
+
+
+---
+title: "test"
+author: "me"
+date: "07.10.2014"
+output: html_document
+---
+
+This is a simple test document. It shows syntax highlighting switches between YAML (above), R blocks
+```{r, echo=FALSE}
+for (i in 1 :10 ) {
+ if (i>=10 ) print (i)
+}
+# two blank lines below
+
+sessionInfo ()
+```
+
+LaTeX equations,
+$$
+h_{i}(t \mid q,C) = h_{0}(t) e^{ \beta _{1}quality_{i} + \beta _{2}C_{iq}}
+$$
+
+and Markdown. A [link](http://example.com) in Markdown.
+
+Inline `r y <- 5 + x - sin (3 )` R code.
+Inline `y <- 5 + x - sin(3)` code.
+
+
+ Heading
+ =======
+
+ Sub-heading
+ -----------
+ A list of editors:
+ * kate
+ * vim
+ * emacs
+
+*italic*, **bold**, `monospace`
+
diff --git a/autotests/html/firstNonSpace.c.html b/autotests/html/firstNonSpace.c.html
new file mode 100644
index 0000000..55e02dd
--- /dev/null
+++ b/autotests/html/firstNonSpace.c.html
@@ -0,0 +1,14 @@
+
+
+
+firstNonSpace.c
+
+
+#define 1
+ #define 2
+ #define 3
+ #define 4
+ #define 5
+ #define tab
+
+
diff --git a/autotests/html/folding.cpp.html b/autotests/html/folding.cpp.html
new file mode 100644
index 0000000..d20112c
--- /dev/null
+++ b/autotests/html/folding.cpp.html
@@ -0,0 +1,22 @@
+
+
+
+folding.cpp
+
+
+/**
+ * multi-line comment
+ */
+
+/* comment */
+{ { } {
+//BEGIN
+}
+//END
+}
+
+#if 0
+#elif 1
+#else
+#endif
+
diff --git a/autotests/html/git-rebase.html b/autotests/html/git-rebase.html
new file mode 100644
index 0000000..17d6da9
--- /dev/null
+++ b/autotests/html/git-rebase.html
@@ -0,0 +1,39 @@
+
+
+
+git-rebase
+
+
+pick 318aceb Add test for Makefile highlighting
+p 4c7182a Add first batch of test files resurrected from Kate 4.6
+r 6f7d8a7 Sync xml files with KTextEditor
+reword 8f0dbdc Add another batch of resurrected tests from Kate 4.6
+e 828de45 Add some more resurrected tests from Kate 4.6
+edit 6aa6264 Add simple coverage information for syntax definition tests
+s 63df253 Add more syntax highlighting tests from Kate 4.6
+squash 3e7771f Add three more tests recovered from Kate 4.6
+f 5c7fd91 Add Kate 4.6 ASP syntax test
+fixup 7a777ff Implement case-sensitive overrides for keyword rules
+exec 2b16665 Implement dynamic DetectChar rules
+drop dd808dc Quote captured strings we replace in regular expressions
+x 0b703a3 Add a few more tests from the Kate 4.6 test suite
+
+# Rebase a27a854 .. 0b703a3 onto a27a854 (13 command(s))
+#
+# Commands:
+# p, pick = use commit
+# r, reword = use commit, but edit the commit message
+# e, edit = use commit, but stop for amending
+# s, squash = use commit, but meld into previous commit
+# f, fixup = like "squash", but discard this commit's log message
+# x, exec = run command (the rest of the line) using shell
+# d, drop = remove commit
+#
+# These lines can be re-ordered; they are executed from top to bottom.
+#
+# If you remove a line here THAT COMMIT WILL BE LOST.
+#
+# However, if you remove everything, the rebase will be aborted.
+#
+# Note that empty commits are commented out
+
diff --git a/autotests/html/hello.exs.html b/autotests/html/hello.exs.html
new file mode 100644
index 0000000..43d76a5
--- /dev/null
+++ b/autotests/html/hello.exs.html
@@ -0,0 +1,18 @@
+
+
+
+hello.exs
+
+
+parent = self()
+
+# Spawns an Elixir process (not an operating system one!)
+spawn_link(fn ->
+ send parent, {:msg , "hello world" }
+end )
+
+# Block until the message is received
+receive do
+ {:msg , contents} -> IO .puts contents
+end
+
diff --git a/autotests/html/highlight.ahdl.html b/autotests/html/highlight.ahdl.html
new file mode 100644
index 0000000..b833298
--- /dev/null
+++ b/autotests/html/highlight.ahdl.html
@@ -0,0 +1,50 @@
+
+
+
+highlight.ahdl
+
+
+-- Test file for kate's syntax highlighting
+Title "Test file" ;
+
+-- BEGIN region (a region marker region) :)
+
+% multiline comment
+goes on here %
+
+-- END
+
+FUNCTION FCT (Clk, Key) RETURNS (pulse);
+
+SUBDESIGN CDCLOCK2
+(
+in : INPUT ; -- go in
+out[3 ..0 ] : OUTPUT ; -- come out
+)
+
+VARIABLE
+start : soft ;
+usec[3 ..0 ] : node ;
+
+BEGIN
+
+in = FCT(clock, some_key); -- senseless code
+
+-- comment
+blubb = (blobb[] == H"3ff" );
+
+IF in THEN asdf
+-- folde me
+END IF ;
+
+TABLE
+-- missing code
+END TABLE
+
+
+END ;
+
+-- hex, octal, binary
+H"0" => B"1000000" ;
+O"01234567" ;
+
diff --git a/autotests/html/highlight.asm-avr.html b/autotests/html/highlight.asm-avr.html
new file mode 100644
index 0000000..867894e
--- /dev/null
+++ b/autotests/html/highlight.asm-avr.html
@@ -0,0 +1,82 @@
+
+
+
+highlight.asm-avr
+
+
+;********************************************************************
+;* LED flasher: LED will flash with a X on/off ratio at PD6
+;*
+;* NOTE: delay depends in the value of X, 1 is fast, 255 is slow
+;*
+;* No copyright ©1998 RES® * FREEWARE *
+;*
+;* NOTE: Connect a low current LED with a 1k resistor in serie from
+;* Vdd to pin 11 of the MCU. (Or a normal LED with a 330ohm)
+;*
+;* RES® can be reached by email: digitalaudio@mail.com
+;* or visit the website: http://home.wanadoo.nl/electro1/avr
+;*
+;* Version :1.0
+;* Date :12/26/98
+;* Author :Rob's ElectroSoft®
+;* Target MCU :AT90S1200-12PI@4MHz
+;********************************************************************
+
+.include "1200def.inc"
+
+ rjmp RESET ;reset handle
+
+
+;* Long delay
+
+;* Register variables
+
+ .def T1 = r1
+ .def T2 = r2
+ .def temp = r19
+
+;* Code
+
+longDelay:
+ clr T1 ;T1 used as delay 2nd count
+ clr T2 ;T2 used as delay 3d count
+delay_1:
+ dec T2
+ brne delay_1
+ dec T1
+ brne delay_1
+ dec temp ;temp must be preset as
+ brne delay_1 ; delay master count
+ ret
+
+
+;* Resets the data direction register D
+
+;* Defines
+
+ .equ led = 6 ;LED at PD6
+
+;* Code
+
+RESET:
+ sbi DDRD, led ;connect LED to PORTD pin 6
+
+
+;* Main program
+
+;* This part will let the LED go on and off by X
+
+;* Register variables
+
+ .equ X = 10 ;enter delaytime X
+
+flash:
+ sbi PORTD, led ;LED on
+ ldi temp, X ;X sec delay
+ rcall longDelay
+ cbi PORTD, led ;LED off
+ ldi temp, X ;X sec delay
+ rcall longDelay
+ rjmp flash ;another run
+
diff --git a/autotests/html/highlight.asm-nasm.html b/autotests/html/highlight.asm-nasm.html
new file mode 100644
index 0000000..6ae4028
--- /dev/null
+++ b/autotests/html/highlight.asm-nasm.html
@@ -0,0 +1,34 @@
+
+
+
+highlight.asm-nasm
+
+
+; Example file for nasm.xml kate syntax file
+; compile with `nasm example.asm -f elf -o example.o`
+; and link with 'gcc example.o -o example`
+; Public domain
+; kate: hl Intel x86 (NASM);
+
+section .data
+
+hello dd 'Hello World' , 0x0A, 0 h
+printf_param dd '%s' , 0q
+
+section .text
+
+extern printf
+
+global main
+main:
+ push ebp
+ mov ebp , esp
+
+ push hello
+ push printf_param
+ call printf
+
+ mov eax , 0b
+ leave
+ ret
+
diff --git a/autotests/html/highlight.asp.html b/autotests/html/highlight.asp.html
new file mode 100644
index 0000000..85a1bba
--- /dev/null
+++ b/autotests/html/highlight.asp.html
@@ -0,0 +1,65 @@
+
+
+
+highlight.asp
+
+
+<% 'kate: hl ASP;
+if ( instr ( request .servervariables ( "PATH_INFO" ), "login.asp" ) <= 0 and instr ( request .servervariables ( "PATH_INFO" ), "inset" ) <= 0 and instr ( request .servervariables ( "PATH_INFO" ), "Data" ) <= 0 and instr ( request .servervariables ( "PATH_INFO" ), "dropDown" ) <= 0 ) then
+ Session ( "originalRequestedPage" ) = Request .ServerVariables ( "PATH_INFO" ) & "?" & Request .ServerVariables ( "QUERY_STRING" )
+end if
+
+function countRecords( rsToCount )
+ numRecs = 0
+
+ do until rsToCount.eof
+ numRecs = numRecs + 1
+
+ rsToCount.movenext
+ loop
+
+ rsToCount.close ' just to make sure nobody
+ ' tries to operate on the recordset,
+ ' which has already reached eof
+
+ countRecords = numRecs
+end function
+
+function unique( rs, sortColumn ) ' return unique instances of text in sortColumn within rs
+ dim sorted()
+
+ redim sorted( 1 )
+ dim i
+ i = 0
+ do until rs.eof
+ if ( not find( rs( sortColumn), sorted )) then
+ redim preserve sorted( i+1 )
+ sorted( i) = rs( sortColumn)
+ i = i + 1
+ end if
+ rs.MoveNext
+ loop
+
+ redim preserve sorted( i-1 ) ' the function will add an extra blank entry to the array
+
+ rs.Close ' close the recordset - we'll be using it again - and reset i - well be using it again, too
+
+ unique = sorted
+end function
+
+sub testSub( variable ) ' do nothing impressive...
+ dim newVar
+
+ newVar = variable
+
+ if ( variable = true )
+ response .end
+ else %>
+
+<p> We are writing text.</p>
+<p class= "stuff" > <% =newVar%> </p>
+<p> We have written text and outputted a variable.</p>
+
+<% end if
+end sub %>
+
diff --git a/autotests/html/highlight.awk.html b/autotests/html/highlight.awk.html
new file mode 100644
index 0000000..594a2d6
--- /dev/null
+++ b/autotests/html/highlight.awk.html
@@ -0,0 +1,35 @@
+
+
+
+highlight.awk
+
+
+#!/usr
+# AWK hl test
+
+# BEGIN and END are also matched as patterns
+BEGIN {
+ p = 0 ;
+}
+
+/ some pattern / {
+ p++;
+}
+
+# / inside brackets is not considered end of expression
+# a loose division operator (/) is not mismatched as a pattern.
+$1 =~ /[^ abc/ ] def / || b == 3 / 5 {
+
+ gsub ( FILENAME );
+
+}
+
+# TODO and FIXME also work in comments in Awk.
+
+# Also backslash in patterns works.
+/\ /usr \ /bin \ /awk / { print "This is me" ; }
+
+END {
+ print p;
+}
+
diff --git a/autotests/html/highlight.bib.html b/autotests/html/highlight.bib.html
new file mode 100644
index 0000000..48cc672
--- /dev/null
+++ b/autotests/html/highlight.bib.html
@@ -0,0 +1,38 @@
+
+
+
+highlight.bib
+
+
+% test file for kate's bibtex syntax highlighting
+
+@Article {artikel ,
+author = {Me},
+title = {Something},
+journal = {JHEP},
+year = {2003},
+}
+
+@Book
+
+{
+
+boek ,
+author = "Someone ",
+title = "Something ",
+journal = "Nucl. Phys. B ",
+year = "2003 ",
+}
+
+This is ignored by BibTeX, no special highlighting
+%This is not a comment, it is just ignored (thanks to the people in #latex) :)
+
+@string {test="lange string die ik niet vaak opnieuw wil intikken"}
+
+@PhdThesis {thesis ,
+author = {Me},
+title = {Dunno},
+school = {ITFA},
+year = {2005, hopefully},
+}
+
diff --git a/autotests/html/highlight.cmake.html b/autotests/html/highlight.cmake.html
new file mode 100644
index 0000000..3d69f8b
--- /dev/null
+++ b/autotests/html/highlight.cmake.html
@@ -0,0 +1,56 @@
+
+
+
+highlight.cmake
+
+
+#this CMakeLists.txt doesn't do anything useful, but it shoudl demonstrate the cmake syntax highlighting
+#Alexander Neundorf <neundorf@kde.org>
+
+#ok this is a comment
+#and another line
+#a built-in command, it's bold black
+ADD_DEFINITIONS (-Wall -Wctor-dtor-privacy -Woverloaded-virtual -Wno-long-long -pipe -fno-builtin -fno-exceptions)
+
+#and another function
+INCLUDE_DIRECTORIES (
+#comments are also highlighted inside function parameters
+#variables are Qt::blue
+${ CMAKE_CURRENT_SOURCE_DIR } /../../lib/qt4/include/Qt
+)
+
+# BEGIN defining a macro
+MACRO (ECOS_ADD_EXECUTABLE _exe_NAME )
+
+#special parameters are italic, see the STATIC in the next line
+ADD_LIBRARY (${_exe_NAME} STATIC ${ARGN} )
+#but not in the following line ?
+ ADD_LIBRARY (${_exe_NAME} STATIC ${ARGN} )
+# it seems the kate highlighting file could need some love, Alex
+
+
+#another command with a bunch of variables and special parameters
+ ADD_CUSTOM_COMMAND (
+ TARGET ${_exe_NAME}
+ PRE_LINK
+ COMMAND ${ CMAKE_C_COMPILER }
+ ARGS -o ${_exe_NAME}
+$\(${_exe_NAME} _SRC_OBJS\) -nostdlib -nostartfiles -Lecos/install /lib -Ttarget.ld
+ )
+
+#add the created files to the make_clean_files
+ SET (ECOS_ADD_MAKE_CLEAN_FILES ${ECOS_ADD_MAKE_CLEAN_FILES} ;${_exe_NAME} ;)
+#and another command...
+ SET_DIRECTORY_PROPERTIES (
+ PROPERTIES
+ ADDITIONAL_MAKE_CLEAN_FILES " ${ECOS_ADD_MAKE_CLEAN_FILES} "
+ )
+ENDMACRO (ECOS_ADD_EXECUTABLE)
+# END of macro
+
+#calling a self-defined function, variables are also Qt::blue here
+ECOS_ADD_EXECUTABLE (${ PROJECT_NAME } ${the_sources} ${qt4_moc_SRCS} )
+
+
+
+
diff --git a/autotests/html/highlight.css.html b/autotests/html/highlight.css.html
new file mode 100644
index 0000000..7dcb4ab
--- /dev/null
+++ b/autotests/html/highlight.css.html
@@ -0,0 +1,56 @@
+
+
+
+highlight.css
+
+
+/**
+ * This is a pseudo CSS file to test Kate's CSS syntax highlighting.
+ */
+
+@import url("othersheet.css" ) screen , tv ;
+
+body {
+ font-size: 15pt ;
+ font-family: Verdana, Helvetica, "Bitstream Vera Sans" , sans-serif ;
+ margin-top: 0px ; /* yet another comment */
+ margin-bottom: 0px ;
+ // this is no comment, it's just broken!
+ margin-left: 0px ;
+ margin-right: 0px ;
+}
+
+.something
+{
+ margin-right: 0px ;
+ color: #cdd ;
+ color: #AAFE04 ;
+ color: rgb(10% ,30% ,43%) ;
+ background: maroon ;
+}
+
+a:hover {
+}
+
+#header ,
+p.intro :first-letter ,
+p:lang(nl) ,
+img[align= "right" ]
+{
+ border: 1px solid Qt::red !important ;
+ -moz-border-radius: 15px ; /* unknown properties render italic */
+}
+
+@media print {
+
+ #header
+ {
+ display: none ;
+ }
+
+}
+
+/*
+TODO : add more tests, e.g. media
+*/
+
diff --git a/autotests/html/highlight.d.html b/autotests/html/highlight.d.html
new file mode 100644
index 0000000..5e97d7b
--- /dev/null
+++ b/autotests/html/highlight.d.html
@@ -0,0 +1,202 @@
+
+
+
+highlight.d
+
+
+/********
+* Highlight testing module.
+*
+* Do not attempt to run this!
+***********/
+module highlighttest ;
+import X = null ;
+
+/++ Pragma directives. DDoc + DDoc embedded items. Special Tokens.
++
++ ---
++ // comment
++ #line 12 "hightlighttest.d" /* block comment */
++ #line __LINE__ __FILE__ /++ embedded block comment +/
++
++ pragma /* */ (msg , "what?" );
++ pragma (/++ +/ lib , "insane.a" );
++ pragma (D_Custom_Extension, "custom data" );
++ ---
++/
+
+/// version condition
+version = X;
+version (X) ;
+version (linux ) {}
+
+/// linkage
+extern
+ (C ) {}
+extern :
+;
+extern (Windows ) {}
+
+/// alias & typedef
+alias int .min minint;
+typedef int myint;
+
+int main(char [][] args) {
+ /// statements
+ if (1 ) {}
+ else {}
+ with (N) {x = B}
+
+ /// attributes
+ auto x = 1 ;
+ static if (true ) {}
+ void (in X, out Y) {} // NOTE : using in like this is rare, more common to use as an expression and no way to tell apart?
+
+ /// deprecated
+ deprecated void fct ();
+
+ /// types
+ void a;
+ ushort u;
+ int [uint ] AA;
+ class C;
+ enum N : int { A = 5 , B }
+ typeof (u) u2;
+
+ /// expressions
+ x = cast (int ) 55 ;
+ void * p = null ;
+ p = cast (void *) new int ;
+ x = 1 in AA; // NOTE : a THIRD use of in. How to detect??
+ assert (true );
+
+ /// libsymbols
+ string s = "" ;
+ throw new Exception ;
+ TypeInfo ti = typeid (int );
+
+ /// tests
+ debug {}
+ debug (2 ) {}
+ debug (DSymb) {}
+ unittest {}
+
+ /// scope (as attribute and as statement)
+ scope struct S;
+ scope (exit ) {}
+ scope
+ (success) {} // NOTE : rules cannot match across new-lines
+ scope (failure ) {}
+
+ /// Properties
+ x = int .min ;
+ s = (5 -3 ).stringof ;
+
+ /// strings
+ s = r"raw string" ;
+ s = x"00FF" ;
+ s = \n \a ;
+ s = \u1234 ;
+ s = \U12345678 ;
+ s = \& ;
+ char c = 'a' ;
+ s = "abc 012 \" \n \x12 \u1234 \U12345678 " ;
+ s = `BQString '"` ;
+
+ /// region markers
+ //BEGIN x
+ //END x
+
+ /// DDoc
+ /*******
+ * DDoc
+ *
+ * Section:
+ * New section.
+ * $(I italic )
+ *******/
+ /+++++++
+ + DDoc
+ + /+
+ + +/
+ +++++++/
+
+ // comments
+ // FIXME NOTE
+ /* comment */
+ /+ comment /+ nested comment +/ +/
+
+ /// brace folding
+ {
+ }
+
+ /** normal text
+ * ---
+ * .x;
+ * ..
+ * ...
+ * ....
+ * .....
+ * _._
+ * _e1
+ * ---
+ */
+
+ /// float and int literals
+ int i;
+ real r;
+ ireal ir;
+ r = .0 ;
+ r = 0f ;
+ ir = 0e0i ;
+ ir = 0.fi ;
+ r = 0.0e0 ;
+ r = 0xF.Fp0 ;
+ r = 0x_._p0_ ;
+ i = 5 ;
+ i = -1 ;
+ i = 0b10 ;
+ i = 0070 ;
+ i = 00 ;
+ i = 0xF0 ;
+
+ /// ranges
+ int [] A;
+ i = A[1 ];
+ A = A[0 ..$];
+ A = A[0 ..0 ];
+ A = A[0 ..length];
+
+ /// labels
+ label:
+ goto label;
+
+ /// function, delegate
+ creal function () fp = function creal () { return 0f +0fi ; };
+ void delegate (in int i, lazy int b) dg = delegate void (int , int ) {}
+
+ /// in, out, body
+ // NOTE : highlighting in & out as statements here could be difficult
+ float F ()
+ in {}
+ out (result) {}
+ body {}
+
+ /// try, catch, finally
+ try {
+ throw new Exception ("oh no... " );
+ } catch (Exception e) {
+ } finally {
+ }
+
+ /// mixin
+ mixin ("return false;" ).stringof ;
+
+ /// templates
+ macro ; // what does this do?
+ template Tp (T) {
+ Tp t;
+ }
+ Tp!(int ) y;
+}
+
diff --git a/autotests/html/highlight.do.html b/autotests/html/highlight.do.html
new file mode 100644
index 0000000..40ac67d
--- /dev/null
+++ b/autotests/html/highlight.do.html
@@ -0,0 +1,96 @@
+
+
+
+highlight.do
+
+
+/* Test file for kate's stata syntax highlighting
+*/
+*! version 1.2.0 2mar2003 E. Leuven
+program define spellsplit
+ version 7
+ syntax [anything], spell(varlist min =2 max =2) [ by (varlist )]
+ tokenize `spell'
+ local date0 `1'
+ local date1 `2'
+ local f0 : format `date0'
+ local f1 : format `date1'
+
+ /* set default statistic */
+ local current "mean"
+
+ gettoken left anything : anything, match (prns)
+ while "`left'" !="" {
+ if "`prns'" !="" {
+ if !inlist ("`left'" ,"mean" ,"sum" ) {
+ di as error "Statistic `left' not supported"
+ exit 198
+ }
+ local current "`left'"
+ }
+ else {
+ local `current' vars ``current' vars' `left'
+ }
+ gettoken left anything : anything, match (prns)
+ }
+ if ("`meanvars'" !="" ) {
+ confirm var `meanvars'
+ unab meanvars : `meanvars'
+ }
+ if ("`sumvars'" !="" ) {
+ confirm var `sumvars'
+ unab sumvars : `sumvars'
+ }
+
+ quietly {
+ g _count = 1
+ local xvars `meanvars' `sumvars' _count
+
+ /* create dummy by-var if no by option is specified */
+ if "`by'" =="" {
+ tempvar by
+ g byte `by' = 1
+ }
+ tempvar `xvars' `by'
+
+ /* create negative for subtraction when spell ends */
+ cap foreach v of varlist `xvars' {
+ g double ``v' ' = -`v'
+ local txvars `txvars' ``v' '
+ }
+ cap foreach v of varlist `by' {
+ g double ``v' ' = `v'
+ local txvars `txvars' ``v' '
+ }
+
+ stack `date0' `xvars' `by' `date1' `txvars' , into(`date0' `xvars' `by' ) clear
+
+ /* calculate totals per date */
+ cap foreach v of varlist `xvars' {
+ egen double ``v' ' = sum (`v' ), by (`by' `date0' )
+ }
+
+ /* unique dates only */
+ by `by' `date0' , sort : keep if _n ==1
+
+ /* calculate totals (+ when spell starts - when ends) */
+ sort `by'
+ cap foreach v of varlist `xvars' {
+ by `by' : replace `v' = sum (``v' ')
+ }
+ by `by' : g `date1' = `date0' [_n + 1]
+
+ drop if `date0' >`date1'
+ drop _stack
+ drop if _count==0
+ order `by' `date0' `date1' `xvars'
+ format `date0' `f0'
+ format `date1' `f1'
+
+ cap for var `meanvars' : replace X = X/_count
+
+ compress
+ }
+
+end
+
diff --git a/autotests/html/highlight.dox.html b/autotests/html/highlight.dox.html
new file mode 100644
index 0000000..7eeae66
--- /dev/null
+++ b/autotests/html/highlight.dox.html
@@ -0,0 +1,234 @@
+
+
+
+highlight.dox
+
+
+This is a pseudo doxygen file to test Kate's doxyge syntax highlighting.
+
+Normal text, no HL.
+===================
+a multiline comment may begin with a /*! */ , too. That should work,
+because it is the same "entrance rule".
+
+popping tests:
+/** multiline */ end of doxygen HL mode
+/*! multiline */ end of doxygen HL mode
+//! singleline, where */ should be ignored! still doxygen HL mode
+/// singleline, where */ should be ignored! still doxygen HL mode
+///< singleline, where */ should be ignored! still doxygen HL mode
+begin and end immediately:
+/********/ actually no doxygen comment - used for "info boxes" :)
+/**/ <-- it really works --- end of doxygen HL mode
+/*!*/ end of doxygen HL mode
+
+<tag> <normal comment HL>
+/** \code rest of line is normal comment HL */ end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+<tag> <word> <normal comment HL>
+/** \file aword rest of line is normal comment HL */ end of doxygen HL mode
+/** \file */ aword <-- pop! no doxygen HL mode
+/** \file aword rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+<tag> <rest of line is string>
+/** \brief A short description */ end of doxygen HL mode
+/** \brief */ A <-- pop! end of doxygen HL mode
+/** \brief A short description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+<tag> <word> <rest of line is string>
+/** \page aword rest of line is string */ end of doxygen HL mode
+/** \page */ aword <-- pop! end of doxygen HL mode
+/** \page aword rest of line is string
+ * comment HL mode
+ */ end of doxygen HL mode
+
+<tag> <word> <word> <normal comment HL>
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword */ aword <-- pop! end of doxygen HL mode
+/** \image */ aword aword <-- pop! end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Tests for HTML tags in doxygen HL mode:
+=======================================
+/** <a href= "blubb" href= 'blubb' > */ end of doxygen HL mode
+/** <a href= "blubb" href= 'blubb' */ > end of doxygen HL mode
+/** <a href= "blubb" href= 'blubb */ '> end of doxygen HL mode
+/** <a href= "blubb" href= 'blub */ b'> end of doxygen HL mode
+/** <a href= "blubb" href= 'b */ lubb'> end of doxygen HL mode
+/** <a href= "blubb" href= ' */ blubb'> end of doxygen HL mode
+/** <a href= "blubb" href= */ 'blubb'> end of doxygen HL mode
+/** <a href= "blubb" href */ ='blubb'> end of doxygen HL mode
+/** <a href= "blubb" hre */ f='blubb'> end of doxygen HL mode
+/** <a href= "blubb" */ href='blubb'> end of doxygen HL mode
+/** <a href= "blubb" > */ end of doxygen HL mode
+/** <a href= "blubb" */ > end of doxygen HL mode
+/** <a href= "blubb */ "> end of doxygen HL mode
+/** <a href= "blub */ b"> end of doxygen HL mode
+/** <a href= " */ blubb"> end of doxygen HL mode
+/** <a href= */ "blubb"> end of doxygen HL mode
+/** <a href */ ="blubb"> end of doxygen HL mode
+/** <a h */ ref="blubb"> end of doxygen HL mode
+/** <a */ href="blubb"> end of doxygen HL mode
+/** <a */ href="blubb"> end of doxygen HL mode
+/** <*/ a href="blubb"> end of doxygen HL mode
+
+//! <a href= "blubb" href= 'blubb' > */ stay in doygen HL mode
+//! <a href= "blubb" href= 'blubb' * /> stay in doygen HL mode
+//! <a href= "blubb" href= 'blubb*/' > stay in doygen HL mode
+//! <a href= "blubb" href= 'blu*/bb' > stay in doygen HL mode
+//! <a href= "blubb" href= '*/blubb' > stay in doygen HL mode
+//! <a href= "blubb" href=*/ 'blubb' > stay in doygen HL mode
+//! <a href= "blubb" > */ stay in doygen HL mode
+//! <a href= "blubb" * /> stay in doygen HL mode
+//! <a href= "blubb*/" > stay in doygen HL mode
+//! <a href= "blub*/b" > stay in doygen HL mode
+//! <a href= "*/blubb" > stay in doygen HL mode
+//! <a href=*/ "blubb" > stay in doygen HL mode
+//! <a href*/= "blubb" > stay in doygen HL mode
+//! <a h*/ref= "blubb" > stay in doygen HL mode
+//! <a */href= "blubb" > stay in doygen HL mode
+//! <a */ href= "blubb" > stay in doygen HL mode
+//! <*/a href="blubb"> stay in doygen HL mode
+//! <a href= "blubb" > stay in doygen HL <mode
+here should be normal HL mode (no doxygen!)
+
+Tests for HTML tags in doxygen HL mode with tags:
+=================================================
+<tag> <normal comment HL>
+/** \code rest <a href="blubb"> of </a href='blubb'> line is normal comment HL */ end of doxygen HL mode
+/** \code rest <a href="blubb"> of </a href='blubb' */ > end of doxygen HL mode
+/** \code rest <a href="blubb"> of </a href='blubb */ '> end of doxygen HL mode
+/** \code rest <a href="blubb"> of </a href=' */ blubb'> end of doxygen HL mode
+/** \code rest <a href="blubb"> of </a href= */ 'blubb'> end of doxygen HL mode
+/** \code rest <a href="blubb */ "> of </a href=*/'blubb'> end of doxygen HL mode
+/** \code rest <a href= */ "blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \code rest <a h */ ref="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \code rest < */ a href="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode <html> text </html>
+ */ end of doxygen HL mode
+
+<tag> <word> <normal comment HL>
+/** \file awo<html_should_be_ignored_here>rd rest of line is normal comment HL */ end of doxygen HL mode
+/** \file awo<html_should_be_ignored_here> */ rd end of doxygen HL mode
+/** \file awo<html_should_be_i */ gnored_here>rd end of doxygen HL mode
+/** \file awo< */ html_should_be_ignored_here>rd end of doxygen HL mode
+/** \file a */ wo<html_should_be_ignored_here>rd end of doxygen HL mode
+/** \file aword rest of line is normal co <code>mment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+<tag> <rest of line is string>
+/** \brief A short <a href= "blubb" > of </a href= 'blubb' > description */ end of doxygen HL mode
+/** \brief A short <a href= "blubb" > of </a href= 'blubb' */ > end of doxygen HL mode
+/** \brief A short <a href= "blubb" > of </a href= ' */ blubb'> end of doxygen HL mode
+/** \brief A short <a href= "blubb" > of </a href= */ 'blubb'> end of doxygen HL mode
+/** \brief A short <a href= "blubb" > of </a href */ ='blubb'> end of doxygen HL mode
+/** \brief A short <a href= "blubb" > of </a */ href='blubb'> end of doxygen HL mode
+/** \brief A short <a href= "blubb" > of <*/ /a href='blubb'> end of doxygen HL mode
+/** \brief A short <a href= "blubb" */ > of </a href='blubb'> end of doxygen HL mode
+/** \brief A short <a href= "blubb */ "> of </a href='blubb'> end of doxygen HL mode
+/** \brief A short <a href= " */ blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \brief A short <a href= */ "blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \brief A short <a href */ ="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \brief A short <a h */ ref="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \brief A short <a href= "blubb" > of </a href= 'blubb' > description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+<tag> <word> <rest of line is string>
+/** \page aword A short <a href= "blubb" > of </a href= 'blubb' > description */ end of doxygen HL mode
+/** \page aword A short <a href= "blubb" > of </a href= 'blubb' */ > end of doxygen HL mode
+/** \page aword A short <a href= "blubb" > of </a href= ' */ blubb'> end of doxygen HL mode
+/** \page aword A short <a href= "blubb" > of </a href= */ 'blubb'> end of doxygen HL mode
+/** \page aword A short <a href= "blubb" > of </a href */ ='blubb'> end of doxygen HL mode
+/** \page aword A short <a href= "blubb" > of </a */ href='blubb'> end of doxygen HL mode
+/** \page aword A short <a href= "blubb" > of <*/ /a href='blubb'> end of doxygen HL mode
+/** \page aword A short <a href= "blubb" */ > of </a href='blubb'> end of doxygen HL mode
+/** \page aword A short <a href= "blubb */ "> of </a href='blubb'> end of doxygen HL mode
+/** \page aword A short <a href= " */ blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page aword A short <a href= */ "blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page aword A short <a href */ ="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page aword A short <a h */ ref="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page aword A short <*/ a href="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page aword A shor*/ t <a href="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page awor */ d A short <a href="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page */ aword A short <a href="blubb"> of </a href='blubb'> end of doxygen HL mode
+/** \page aword A short <a href= "blubb" > of </a href= 'blubb' > description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+<tag> <word> <word> <rest of line is string>
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword aword rest of line is*/ end of doxygen HL mode
+/** \image aword aword */ end of doxygen HL mode
+/** \image aword aw */ ord end of doxygen HL mode
+/** \image aword */ aword end of doxygen HL mode
+/** \image aword */ end of doxygen HL mode
+/** \image awo */ rd end of doxygen HL mode
+/** \image */ aword end of doxygen HL mode
+/** \ima */ ge end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Some further tests for singlelinecomments (* / should not pop!)
+===============================================================
+/// a singlelinecommment blubb blubb */. stay in doxygen HL mode
+/// \code a singlelinecommment blubb b */ lubb. stay in doxygen HL mode
+/// \code */ a singlelinecommment blubb blubb. stay in doxygen HL mode
+/// \code a singlelinecommment blubb blubb
+/// \brief a descriptive text (string) stay in doxygen HL mode
+/// \brief a descriptive text (string) */ description should go on here
+/// \brief a descriptive text */(string) description should go on here
+/// \brief */a descriptive text (string) description should go on here
+/// \ref aword a descriptive text (string) */ description should go on here
+/// \ref aword a descriptive text (str*/ing) description should go on here
+/// \ref aword a des*/criptive text (string) description should go on here
+/// \ref aword*/ a descriptive text (string) description should go on here
+/// \ref aw*/ord a descriptive text (string) description should go on here
+/// \ref */aword a descriptive text (string) description should go on here
+
+HTML comment tests:
+===================
+//! \ref word de <!--*/ --> scriptive text (string)
+normal HL mode.
+//! \ref w descriptive text (string)
+/** \ref word de <!-- */ -->scriptive text (string)
+normal HL mode.
+/** \ref w <!--
+ * HTML comments
+ * -->
+ * normal doxygen HL mode.
+ */
+
+
+And final tests for a word: a single char:
+===========================================
+<tag> <word> <rest of line as string>
+//! \ref word descriptive text (string)
+//! \ref w descriptive text (string)
+
+<tag> <word> <word> <rest is normal HL>
+//! \image word1 word2 b descriptive text (string)
+//! \image a word b descriptive text (string)
+
+<tag> <rest of line is string>
+//! \brief A b c d e description should go on here
+
+<tag> <word> <rest of line is normal doxygen HL mode>
+//! \file word rest of line is normal comment HL
+//! \file a word rest of line is normal comment HL
+
+no doxygen HL mode here.
+== END OF TESTFILE ==
+
diff --git a/autotests/html/highlight.erl.html b/autotests/html/highlight.erl.html
new file mode 100644
index 0000000..8424c84
--- /dev/null
+++ b/autotests/html/highlight.erl.html
@@ -0,0 +1,75 @@
+
+
+
+highlight.erl
+
+
+% testing for the erlang syntax highlighter
+% NOTE alerts work in comments to TODO !
+
+% pragmas (show as keywords)
+-module
+-export
+-define
+-undef
+-ifdef
+-ifndef
+-else
+-endif
+-include
+-include _lib
+
+% key words
+after begin case catch cond end fun if let of query receive all_true some_true
+
+% operators
+div rem or xor bor bxor bsl bsr and band not bnot
++ - * / == /= =:= =/= < =< > >= ++ -- = ! <-
+
+% separators (show as functions)
+( ) { } [ ] . : | || ; , ? -> #
+
+% functions - predefined (part of erlang module) - show as functions
+abs accept alarm apply atom_to_list binary_to_list binary_to_term check_process_code
+concat_binary date delete_module disconnect_node element erase exit float float_to_list
+garbage_collect get get_keys group_leader halt hd integer_to_list is_alive is_atom is_binary
+is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive
+is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_float list_to_integer
+list_to_pid list_to_tuple load_module loaded localtime make_ref module_loaded node nodes now
+open_port pid_to_list port_close port_command port_connect port_control ports pre_loaded process_flag
+process_info processes purge_module put register registered round self setelement size
+spawn spawn_link spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_to_list
+unlink unregister whereis
+
+% functions - inferred
+module:function
+function ()
+
+% atoms (show as "char")
+% begin with underscore, lowercase, contain numbers letters and @ - or anything between ''
+middle_underscore
+abc ab4d a@cd8 a@
+'And this is (\012) an atom \' Atoo ' Variable 'atom again'
+
+% variables (begin with capital letter or underscore, contain numbers, letters and @)
+_leadingUnderscore AbdD@ B45@c
+
+% this is a string
+"a string sits between \" double quotes " atom " more string "
+
+% integers (decimal)
+1 . 234 $A
+
+% integers (specified base)
+2#10101 34#567
+
+% float
+12.23 12.9e-67 12.8E+89 33.34e89
+
+% and finally some real code, so we can see what it looks like...
+-module ( codetest ). % everything is in a module
+-export ([ fac /1 ]). % name and number of arguments - need this to be called outside of the module
+
+fac ( N ) when N > 0 -> N * fac ( N -1 );
+fac ( N ) when N == 0 -> 1 .
+
diff --git a/autotests/html/highlight.exu.html b/autotests/html/highlight.exu.html
new file mode 100644
index 0000000..5631898
--- /dev/null
+++ b/autotests/html/highlight.exu.html
@@ -0,0 +1,104 @@
+
+
+
+highlight.exu
+
+
+-- Test file for Kate's Euphoria syntax highlighting/code folding.
+-- BEGIN region marker test
+
+-- code here
+
+-- END region marker test
+
+-- The N Queens Problem:
+-- Place N Queens on an NxN chess board
+-- such that they don't threaten each other.
+constant N = 8 -- try some other sizes
+constant ROW = 1 , COLUMN = 2
+constant TRUE = 1 , FALSE = 0
+type square(sequence x)
+-- a square on the board
+ return length (x) = 2
+end type
+type row(integer x)
+-- a row on the board
+ return x >= 1 and x <= N
+end type
+
+function threat(square q1, square q2)
+-- do two queens threaten each other?
+ if q1[COLUMN] = q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] - q1[COLUMN] = q2[ROW] - q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] + q1[COLUMN] = q2[ROW] + q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] = q2[ROW] then
+ return TRUE
+ else
+ return FALSE
+ end if
+end function
+
+function conflict(square q, sequence queens)
+-- Would square p cause a conflict with other queens on board so far?
+ for i = 1 to length (queens) do
+ if threat(q, queens[i]) then
+ return TRUE
+ end if
+ end for
+ return FALSE
+end function
+
+integer soln
+soln = 0 -- solution number
+
+procedure print_board(sequence queens)
+-- print a solution, showing the Queens on the board
+ integer k
+ position (1 , 1 )
+ printf (1 , "Solution #%d\n\n " , soln)
+ for c = 'a' to 'a' + N - 1 do
+ printf (1 , "%2s" , c)
+ end for
+ puts (1 , "\n" )
+ for r = 1 to N do
+ printf (1 , "%2d " , r)
+ for c = 1 to N do
+ if find ({r,c}, queens) then
+ puts (1 , "Q " )
+ else
+ puts (1 , ". " )
+ end if
+ end for
+ puts (1 , "\n" )
+ end for
+ puts (1 , "\nPress Enter. (q to quit) " )
+ while TRUE do
+ k = get_key ()
+ if k = 'q' then
+ abort (0 )
+ elsif k != -1 then
+ exit
+ end if
+ end while
+end procedure
+
+procedure place_queen(sequence queens)
+-- place queens on a NxN chess board
+-- (recursive procedure)
+ row r -- only need to consider one row for each queen
+ if length (queens) = N then
+ soln += 1
+ print_board(queens)
+ return
+ end if
+ r = length (queens)+1
+ for c = 1 to N do
+ if not conflict({r,c}, queens) then
+ place_queen(append (queens, {r,c}))
+ end if
+ end for
+end procedure
+
diff --git a/autotests/html/highlight.f90.html b/autotests/html/highlight.f90.html
new file mode 100644
index 0000000..897b853
--- /dev/null
+++ b/autotests/html/highlight.f90.html
@@ -0,0 +1,188 @@
+
+
+
+highlight.f90
+
+
+! This file is an example to test the syntax highlighting file F.xml
+! (for fortran 90 and F)
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS AN EXAMPLE OF A MODULE !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+module module_example
+
+ ! use 'implicit none' when you want all variables to be declared
+ implicit none
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! PUBLICS AND PRIVATES
+
+ ! In fortran 90 you can define your own operator
+ public :: operator (.norm. )
+ public :: operator (+ ) ! <-- you can also overload the usual operators
+ public :: factorial
+ public :: example_fn
+
+ private :: point3d_add
+ private :: point3d_norm
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! USER-DEFINED TYPES...
+
+ ! This is a definition to use in declarations of real variables,
+ ! parameters, etc.
+ integer , parameter , public :: kr = selected_real_kind (10 )
+
+ ! This is a user-defined type
+ type , public :: point3d
+ real(kind=kr) :: x, y, z
+ end type point3d
+
+ ! This type is useless: it is only an example of type definition!
+ type , public :: example_type
+ complex(kind=kr) :: c ! <-- a complex number (two reals of kind kr)!
+ real , dimension(-10:10) :: & ! <-- this line does not end here!
+ r1, r2 ! <-- this is the final part of the previous line
+ real , pointer , dimension(:) :: pointer_to_array_of_real
+ real , dimension(:) , pointer :: array_of_pointer_to_real
+ end type example_type
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! INTERFACES...
+
+ ! Interface for the norm of a 3-D vector
+ interface operator (.norm. )
+ module procedure point3d_norm
+ end interface
+
+ ! Interface for the operator '+'
+ interface operator (+ )
+ module procedure point3d_add
+ end interface
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! SOME DECLARATIONS...
+
+ ! A real number can be declared with the following line:
+ real(kind=kr) :: real_var1
+ ! But if you are not interested on the precision of floating point numbers,
+ ! you can use simply:
+ real :: real_var2
+
+ ! An array can be declared in two ways:
+ real(kind=kr) , dimension(1:10, -4:5) , private :: a, b, c
+ real(kind=kr) , private :: d(1 :10 , - 4 :5 )
+
+ ! This is a string with fixed lenght
+ character(len=10) :: str_var
+
+ ! This is an allocatable array, which can be a target of a pointer
+ type(example_type) , private , dimension(:) , allocatable , target :: &
+ many_examples
+
+! Fortran 90 hasn't got its own preprocessor, it uses the C preprocessor!
+#ifdef XXX
+c <-- this is a comment in the old fortran 77 style (fixed form)
+c This is a free form file, so we shouldn't use this kind of comments!
+c But fortran 90 still understands fixed form, when parsing sources with
+c the *.f extension.
+ c ! <-- this 'c' shouldn't be highlighted as a comment!
+#endif
+
+contains
+
+
+ ! The sum of two points
+ pure function point3d_add(a, b) result (rs)
+ type(point3d) :: rs
+ type(point3d) , intent(in) :: a, b
+ rs%x = a%x + b%x
+ rs%y = a%y + b%y
+ rs%z = a%z + b%z
+ end function point3d_add
+
+
+ ! The norm of a point
+ pure function point3d_norm(a) result (rs)
+ real(kind=kr) :: rs
+ type(point3d) , intent(in) :: a
+ rs = sqrt (a%x * a%x + a%y * a%y + a%z * a%z)
+ end function point3d_norm
+
+
+ ! A simple recursive function
+ recursive function factorial(i) result (rs)
+ integer :: rs
+ integer , intent(in) :: i
+ if ( i < = 1 ) then
+ rs = 1
+ else
+ rs = i * factorial(i - 1 )
+ end if
+ end function factorial
+
+
+ ! This is a useless function
+ subroutine example_fn(int_arg, real_arg, str_arg)
+ integer , intent(in) :: int_arg
+ real(kind=kr) , intent(out) :: real_arg
+ character(len=*) , intent(in) :: str_arg
+
+ type(example_type) , pointer :: p
+ integer :: n, i, j
+ logical :: flag
+
+ flag = .true. ! .true. is not an operator!
+ if ( flag .and. flag ) then ! .and. is a pre-defined operator
+ print * , "blabla"
+ end if
+
+ ! Examples of inquiry functions: allocated, lbound, ubound.
+ if ( .not. allocated (many_examples) ) then
+ allocate ( many_examples(10 ) )
+ end if
+ print * , "Lower bound = " , lbound (many_examples, 1 )
+ print * , "Upper bound = " , ubound (many_examples, 1 )
+
+ p = > many_examples(5 ) ! <-- p is a pointer
+
+ ! A strange way to calculate i*i: add the first i odd numbers
+ i = 6
+ j = 0
+ do n = 1 , i
+ j = j + (2 * n - 1 )
+ end do
+ print * , "i*i = " , i* i, j
+
+ real_arg = real (j) ! <-- here the highlighting is not very good:
+ ! it is unable to distinguish between this and a definition like:
+ ! real(kind=kr) :: a
+ deallocate ( many_examples )
+ end subroutine example_fn
+
+end module module_example
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS THE MAIN PROGRAM !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+program example
+ use module_example
+
+ ! this is another example of use of the 'implicit' keyword
+ implicit double precision (a- h,o- z)
+
+ real(kind=kr) :: var_out
+
+ type(point3d) :: &
+ a = point3d(0.0_kr , 1.0_kr , 2.0_kr ), &
+ b = point3d(4.0_kr , 5.0_kr , 6.0_kr )
+
+ print * , "a + b = " , .norm. (a + b)
+ print * , "factorial of 5 = " , factorial(5 )
+
+ call example_fn(1 , var_out, "hello!" )
+
+end program example
+
diff --git a/autotests/html/highlight.glsl.html b/autotests/html/highlight.glsl.html
new file mode 100644
index 0000000..bb22782
--- /dev/null
+++ b/autotests/html/highlight.glsl.html
@@ -0,0 +1,69 @@
+
+
+
+highlight.glsl
+
+
+// This is a test file for the Katepart GLSL Syntax Highlighting.
+
+normal text
+// this is a single-line comment
+normal text
+/* this
+is a multi-line
+comment */
+normal text
+
+some_symbol.some_member ;
+some_symbol.some_member_function ();
+some_function ();
+
+// this is a function
+void main ()
+{
+ float f = 1.4e3 ; // decimal float literal
+ int i1 = 2884 ; // decimal int literal
+ int i2 = 0x44 ; // hex int literal
+ int i3 = 0456 ; // octal int literal
+}
+
+// this is a structure
+struct some_struct
+{
+ vec3 some_member_vector;
+};
+
+# this is
+#preprocessor code
+
+// all keywords
+break continue do for while
+if else
+true false
+discard return
+struct
+
+// all basic types
+float int void bool
+mat2 mat3 mat4
+vec2 vec3 vec4
+ivec2 ivec3 ivec4
+bvec2 bvec3 bvec4
+sampler1D sampler2D sampler3D
+samplerCube sampler1DShadow sampler1DShadow
+
+// all type qualifiers
+attribute const uniform varying
+in out inout
+
+// attensions:
+// FIXME
+// TODO
+// BUG
+
+// some of the std functions
+radians degrees sin cos tan asin acos atan
+
+// some of the std variables
+gl_Position gl_PointSize gl_ClipVertex
+
diff --git a/autotests/html/highlight.hs.html b/autotests/html/highlight.hs.html
new file mode 100644
index 0000000..0551dc0
--- /dev/null
+++ b/autotests/html/highlight.hs.html
@@ -0,0 +1,131 @@
+
+
+
+highlight.hs
+
+
+-- test file for Haskell syntax highlighting in KDE's Kate
+
+-- The test file for literate Haskell can be easily created like this:
+-- cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+-- You only have to manually edit the multi-line comment below.
+
+-- this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+-- I could even start a new
+-- one-line comment.
+
+-}
+
+-- a data definition
+
+data Tree a = Br (Tree a) (Tree a) | Leaf a | Nil deriving (Show , Eq )
+
+
+-- function definition, "funnyfunction::", "Integer" , "Int" , "Bool" should be highlighted
+
+funnyfunction :: (Tree a)=> [a]-> Integer -> Int -> Bool
+
+
+-- strings and chars
+-- first line of function definitions (type declaration) should be highlighted
+
+strangefunction :: Int -> String
+strangefunction 1 = "hello"
+strangefunction 2 = "what's up"
+strangefunction 3 = (strangefunction 1 ) ++ ", " ++ (strangefunction 2 )
+strangefunction 4 = 'a' : 'b' : 'c' : '"' : [] -- will return "abc"
+strangefunction 5 = '\n' : []
+strangefunction 6 = '\invalidhaskell' : []
+
+-- function name including the single quote character
+-- and infix operator (`div`)
+
+justtesting' :: Int -> Int
+justtesting' 2 = 2 + 1
+justtesting' 9 = 7 `div` 2
+
+-- same definition as above, slightly different function name and a couple more whitespaces
+
+justtesting'' :: Int -> Int
+justtesting'' 2 = 3
+justtesting'' 9 = 3 + 9 - 9
+
+-- the following lines are copied out of Haskell's "Prelude.hs"
+
+infixl 7 * , / , `quot` , `rem` , `div` , `mod` , :% , %
+
+
+-- everything highlighted except the "a"
+
+class Bounded a where
+ minBound , maxBound :: a
+
+class (Num a, Ord a) => Real a where
+ toRational :: a -> Rational
+
+-- finally, some keyword lists
+
+-- keywords
+
+case , class , data , deriving , do , else , if , in , infixl , infixr , instance , let , module , of , primitive ,
+then , type , where
+
+-- infix operators
+
+quot , rem , div , mod , elem , notElem , seq
+
+-- this stuff is not handled yet
+
+!! , % , && , $! , $ , * , ** , - ,. , /= , < , <= , =<< , == , > , >= , >> , >>= , ^ , ^^ , ++ , ||
+
+-- functions
+
+FilePath , IOError , abs , acos , acosh , all , and , any , appendFile ,
+approxRational , asTypeOf , asin , asinh , atan , atan2 , atanh , basicIORun ,
+break , catch , ceiling , chr , compare , concat , concatMap , const , cos , cosh ,
+curry , cycle , decodeFloat , denominator , digitToInt , div , divMod , drop ,
+dropWhile , either , elem , encodeFloat , enumFrom , enumFromThen ,
+enumFromThenTo , enumFromTo , error , even , exp , exponent , fail , filter , flip ,
+floatDigits , floatRadix , floatRange , floor , fmap , foldl , foldl1 , foldr ,
+foldr1 , fromDouble , fromEnum , fromInt , fromInteger , fromIntegral ,
+fromRational , fst , gcd , getChar , getContents , getLine , head , id , inRange ,
+index , init , intToDigit , interact , ioError , isAlpha , isAlphaNum , isAscii ,
+isControl , isDenormalized , isDigit , isHexDigit , isIEEE , isInfinite , isLower ,
+isNaN , isNegativeZero , isOctDigit , isPrint , isSpace , isUpper , iterate , last ,
+lcm , length , lex , lexDigits , lexLitChar , lines , log , logBase , lookup , map ,
+mapM , mapM_ , max , maxBound , maximum , maybe , min , minBound , minimum , mod ,
+negate , not , notElem , null , numerator , odd , or , ord , otherwise , pi , pred ,
+primExitWith , print , product , properFraction , putChar , putStr , putStrLn ,
+quot , quotRem , range , rangeSize , read , readDec , readFile , readFloat ,
+readHex , readIO , readInt , readList , readLitChar , readLn , readOct , readParen ,
+readSigned , reads , readsPrec , realToFrac , recip , rem , repeat , replicate ,
+return , reverse , round , scaleFloat , scanl , scanl1 , scanr , scanr1 , seq ,
+sequence , sequence_ , show , showChar , showInt , showList , showLitChar ,
+showParen , showSigned , showString , shows , showsPrec , significand , signum ,
+sin , sinh , snd , span , splitAt , sqrt , subtract , succ , sum , tail , take ,
+either , elem , encodeFloat , enumFrom , enumFromThen , enumFromThenTo ,
+enumFromTo , error , even , exp , exponent , fail , filter , flip , floatDigits ,
+floatRadix , floatRange , floor , fmap , takeWhile , tan , tanh , threadToIOResult ,
+toEnum , toInt , toInteger , toLower , toRational , toUpper , truncate , uncurry ,
+undefined , unlines , until , unwords , unzip , unzip3 , userError , words ,
+writeFile , zip , zip3 , zipWith , zipWith3
+
+-- type constructors
+
+Bool , Char , Double , Either , Float , IO , Integer , Int , Maybe , Ordering , Rational , Ratio , ReadS ,
+ShowS , String
+
+-- classes
+
+Bounded , Enum , Eq , Floating , Fractional , Functor , Integral , Ix , Monad , Num , Ord , Read , RealFloat ,
+RealFrac , Real , Show
+
+-- data constructors
+
+EQ , False , GT , Just , LT , Left , Nothing , Right , True
+
diff --git a/autotests/html/highlight.js.html b/autotests/html/highlight.js.html
new file mode 100644
index 0000000..20d75d5
--- /dev/null
+++ b/autotests/html/highlight.js.html
@@ -0,0 +1,141 @@
+
+
+
+highlight.js
+
+
+/* test.js - test for javascript.xml syntax file */
+// Note: this script will not, and is not supposed to, comile in any js engine.
+
+/*
+ NOTE : The words "todo", "fixme" and "note" should be rendered in a different style
+ within comments, match should be caseless (to test for regexp insensitive attribute).
+ The regex used for this rule is */
+ String = / \b(? :fixme | todo | note )\b /
+ /* Thus, for example "Notebook" is not caught by
+ this rule. (the "?:" in the subpattern is there to avoid the regex engine wasting time
+ saving a backref, which is not used for anything. I do not know if the overhead of parsing
+ that is greater than the time saved by not capturing the text...)
+ The rule for catching these words is placed in a context "Comment common", which is used
+ by both comment contexts (single line, multiline) using the new "IncludeRules" item.
+*/
+
+// test if regex support works - nice with new fallthrough prop in context:)
+somestring .replace ( /dooh/ , "bah!" );
+re=/foo/ig ; // hehe
+
+somestring .search (
+ / ^ foo \w + \s\d {0,15}$ /
+ );
+
+ re =
+ /dooh/ ;
+
+// This is supposedly legal:
+re = somebool ? /foo/ : /bar/ ;
+
+// NOTE - Special case: an empty regex, not a comment.
+// The rule uses a positive lookahead assertion to catch it: "//(?=;)".
+re = //;
+re = /a | b/ ;
+
+/*
+ Tests for the regex parser.
+ It will parse classes, quanitfiers, special characters and regex operaters,
+ as specified in the netscape documentation for javascript.
+ Regexps are only parsed in their clean form, as the RegExp(string) constructor
+ is using a quoted string.
+ TODO : Find out if more regex feats should be supported.
+ Consider using more itemDatas - assertion, quantifier are options.
+*/
+
+re = / ^ text \s + \d + \s *$ / ;
+re = /a pattern with caret \( ^ \) in it/ ;
+re = / ( \d {0,4}) \D / ;
+re = / [a-zA-Z_] + / ;
+re = / [ ^\d ^] + / ;
+re = / \s +? \w +\.$ / ;
+re = / \/\/ / ;
+re = /a | b/ ;
+
+// a test if #pop back from a comment will work
+re = /*/foo/*/ /bar/ ;
+// ^ POP
+// ^ we got back after pop in comment, if there is regexp attribs here :-)
+
+/*
+ Some tests if the fallthrough works.
+ The fallthrough happens if a regexp is not found in a possible (!) position,
+ which is after "search(" or "replace(" or "=" or "?" or ":" in version 0.1 of the xml file
+*/
+
+var foo = 'bar' ;
+// ^ fallthrough!
+
+
+somestring .replace ( new RegExp (" \\ b \\ w+ \\ b" ), "word: $1" );
+// ^ fallthrough expected. ("new" whould be bold)
+
+
+something .method =
+ function ( a, b, c ) { /* ... */ }
+// ^ fallthrough ?!
+
+something .other =
+function ( d, e, f ) { /* ... */ }
+// fallthrough expected at col 0 ("function" should be bold)
+
+var ary = new Array (5 );
+// ^ fallthrough ? (if keyword is correctly rendered)
+
+var b = a ? 1 : 0 ;
+// ^ ^ fallthroughs. numbers must be rendered correctly.
+
+var c = d ? true : false ;
+
+var conditinalstring = b ?
+ "something" :
+ "something else" ;
+// guess...
+
+
+/*
+ Normal program flow...
+*/
+
+if (something)
+ dostuff ();
+else
+ dont ();
+
+ return ;
+
+try { bla () } catch (e) { alert ("ERROR! : " + e) }
+
+for (int i=0 ; i < j; i++)
+ document .write ("i is" + i + "<br>" );
+
+while (something)
+{
+ block ();
+ picky :
+ if (!1 )
+ break ;
+ else
+ continue ;
+}
+
+with (a) {
+ do {
+ stuff ( b ); // a.b if it exists
+ } while (itmakessense);
+}
+
+switch (i) {
+ case 0 :
+ f ();
+ break ;
+ default :
+ break ;
+}
+
diff --git a/autotests/html/highlight.jsp.html b/autotests/html/highlight.jsp.html
new file mode 100644
index 0000000..919297f
--- /dev/null
+++ b/autotests/html/highlight.jsp.html
@@ -0,0 +1,177 @@
+
+
+
+highlight.jsp
+
+
+<%--
+ This page won't actually work, as it is simply designed to display jsp syntax highlighting.
+--%>
+<%@ page info ="A Page to Test Kate Jsp Syntax Highlighting" language ="java" errorPage ="/test-error-page.jsp" %>
+<%@ include file ="/include/myglobalvars.jsp" %> --%>
+<%@ page import ="java.util.*,
+ java.io.*,
+ java.math.*" %>
+<%@ taglib uri ="/WEB-INF/lib/si_taglib.tld" prefix ="si" %>
+<jsp:useBean id ="aPageBean" scope ="page" class ="my.package.MyPageBean" />
+<jsp:useBean id ="aRequestBean" scope ="request" class ="my.package.MyRequestBean" />
+<%
+ // We can decipher our expected parameters here.
+ String parm1 = noNull(request.getParameter(PARAMETER_1)).trim();
+ String parm2 = noNull(request.getParameter(PARAMETER_2)).trim();
+ String parm3 = noNull(request.getParameter(PARAMETER_3)).trim();
+ String parm4 = noNull(request.getParameter(PARAMETER_4)).trim();
+ String parm5 = noNull(request.getParameter(PARAMETER_5)).trim();
+
+ // A sample collection of Integers to display some code folding.
+ List intList = getIntList(10 );
+
+
+%>
+<html>
+ <title>A Sample Jsp</title>
+ <head>
+ <script language ="javascript" ><!--
+ function doAlert1() {
+ alert("This is the first javascript example.");
+ }
+
+ function doAlert2() {
+ alert("This is the second javascript example.");
+ }
+ //--> </script>
+ </head>
+ <body>
+ <%-- The top label table. --%>
+ <table width ="400" cellpadding ="0" cellspacing ="0" border ="0" >
+ <tr>
+ <td><font size ="3" ><b>The following parameters were detected:</b></font></td>
+ </tr>
+ </table>
+
+ <%-- Display the parameters which might have been passed in. --%>
+ <table width ="400" cellpadding ="0" cellspacing ="0" border ="0" >
+ <%-- Label; Actual Parameter String; Value Detected --%>
+ <tr>
+ <td><b>PARAMETER_1</b></td>
+ <td align ="center" ><%= PARAMETER_1%> </td>
+ <td align ="right" >"<%= parm1%> "</td>
+ </tr>
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+ <tr>
+ <td><b>PARAMETER_2</b></td>
+ <td align ="center" ><%= PARAMETER_2%> </td>
+ <td align ="right" >"<%= parm2%> "</td>
+ </tr>
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+ <tr>
+ <td><b>PARAMETER_3</b></td>
+ <td align ="center" ><%= PARAMETER_3%> </td>
+ <td align ="right" >"<%= parm3%> "</td>
+ </tr>
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+ <tr>
+ <td><b>PARAMETER_4</b></td>
+ <td align ="center" ><%= PARAMETER_4%> </td>
+ <td align ="right" >"<%= parm4%> "</td>
+ </tr>
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+ <tr>
+ <td><b>PARAMETER_5</b></td>
+ <td align ="center" ><%= PARAMETER_5%> </td>
+ <td align ="right" >"<%= parm5%> "</td>
+ </tr>
+ </table>
+
+ <br><br>
+
+ <%-- Display our list of random Integers (shows code folding). --%>
+ <table width ="400" cellpadding ="0" cellspacing ="0" border ="0" >
+<%
+ if (intList != null && intList.size() > 0 ) {
+%>
+ <tr><td><b>Here are the elements of intList...</b></td></tr>
+<%
+ Iterator intListIt = intList.iterator();
+ while (intListIt.hasNext()) {
+ Integer i = (Integer ) intListIt.next();
+%>
+ <tr><td><%= i.toString()%> </td></tr>
+<%
+ }
+ } else {
+%>
+ <tr><td><font color ="blue" ><b><i>Oooops, we forgot to initialize intList!</i></b></font></td></tr>
+<%
+ }
+%>
+ </table>
+
+ <br><br>
+
+ <%-- We can call javascript functions. --%>
+ <table width ="400" cellpadding ="0" cellspacing ="0" border ="0" >
+ <tr><td colspan ="2" ><b>Test our javascript...</b></td></tr>
+ <tr>
+ <td><input type ="button" name ="button1" value ="Alert 1" onmouseup ="javascript:doAlert1()" ></td>
+ <td><input type ="button" name ="button2" value ="Alert 2" onmouseup ="javascript:doAlert2()" ></td>
+ </tr>
+ </table>
+
+ <br><br>
+ <%-- If we actually had defined a tag library. --%>
+ <table width ="400" cellpadding ="0" cellspacing ="0" border ="0" >
+ <tr><td>
+ <my:SampleTag prop1 ="first" prop2 ="third" >
+ <my:SampleTagChild nameProp ="value1" />
+ <my:SampleTagChild nameProp ="value2" />
+ </my:SampleTag>
+ </td></tr>
+ </table>
+
+ <br><br>
+ <%-- Expression language. --%>
+ <table width ="400" cellpadding ="0" cellspacing ="0" border ="0" >
+ <c:if test =" ${ !empty param.aParam} " >
+ <c:set var ="myParam" scope ="session" value =" ${ param.aParam} " />
+ </c:if>
+
+ <tr><td>myParam's value: "<c:out value =" ${ myParam} " default =="Default" /> "</td></tr>
+ </table>
+ </body>
+</html>
+<%!
+ /* A place for class variables and functions... */
+
+ // Define some sample parameter names that this page might understand.
+ private static final String PARAMETER_1 = "p1" ;
+ private static final String PARAMETER_2 = "p2" ;
+ private static final String PARAMETER_3 = "p3" ;
+ private static final String PARAMETER_4 = "p4" ;
+ private static final String PARAMETER_5 = "p5" ;
+
+ // Returns str trimmed, or an empty string if str is null.
+ private static String noNull(String str) {
+ String retStr;
+ if (str == null )
+ retStr = "" ;
+ else
+ retStr = str.trim();
+
+ return retStr;
+ }
+
+ // Returns a list of Integers with listSize elements.
+ private static List getIntList(int listSize) {
+ ArrayList retList = new ArrayList (listSize);
+ for (int i = 0 ; i < listSize; i++)
+ retList.add(new Integer ( (int ) (Math .random() * 100 ) ));
+
+ return retList;
+ }
+%>
+
diff --git a/autotests/html/highlight.lex.html b/autotests/html/highlight.lex.html
new file mode 100644
index 0000000..7838c6d
--- /dev/null
+++ b/autotests/html/highlight.lex.html
@@ -0,0 +1,89 @@
+
+
+
+highlight.lex
+
+
+/* This test file tests kates Lex/Flex highlighting */
+
+%option c++
+%option yyclass="KateTester"
+%option yylineno
+
+ /* This is a C(++) comment */
+
+/* This one is a lex comment ! */
+
+%{
+#include <iostream>
+#include "realparser.hpp"
+using namespace std;
+%}
+
+/* Some definitions */
+DIGIT [0-9]
+LETTER [_a-zA-Z]
+
+%%
+
+ /* Comment *shall be indented here* */
+[ \t\n\r ]+
+
+ /* Note: there is a bad } just here vvv */
+\/\* ([^ \* ]| \* [^/])* \*\/ { foo(a, b, c); } }
+
+ /* A start condition scope... */
+<ESC> {
+ "a" {
+
+ /* C mode ! */
+ return 0 ;
+}
+
+ "b" %{
+
+ /* C mode, too ! */
+ return 0 ;
+%}
+
+ "c" return 0 ; // C++ comment
+}
+
+ /* Big rule */
+\" ([^" \\ ]| \\ .)* \" {
+
+ yylval.string_val = new char [strlen(yytext) + 1 ];
+ int j = 0 , i = 1 ;
+
+ while (yytext[i] != '"' )
+ if (yytext[i] != ' \\ ' )
+ yylval.string_val[j++] = yytext[i++];
+ else
+ switch (yytext[i + 1 ])
+ {
+ case 'n' :
+ yylval.string_val[j++] = ' \n ' ; i += 2 ;
+ break ;
+ default :
+ yylval.string_val[j++] << yytext[i + 1 ], i += 2 ;
+ }
+
+ yylval.string_val[j] = 0 ;
+ return TOK_STRING;
+
+}
+
+ /* Dot (match all) */
+. {return yylval.int_val = yytext[0 ];}
+
+%%
+
+// Here is pure C(++)
+#include <iostream>
+
+int main(void )
+{
+ std::cout << "Hello, World \n " ;
+ return 0 ;
+}
+
diff --git a/autotests/html/highlight.lhs.html b/autotests/html/highlight.lhs.html
new file mode 100644
index 0000000..2c7d38c
--- /dev/null
+++ b/autotests/html/highlight.lhs.html
@@ -0,0 +1,131 @@
+
+
+
+highlight.lhs
+
+
+test file for Haskell syntax highlighting in KDE's Kate
+
+The test file for literate Haskell can be easily created like this:
+ cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+You only have to manually edit the multi-line comment below.
+
+this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+I could even start a new
+one-line comment.
+
+-}
+
+a data definition
+
+> data Tree a = Br (Tree a) (Tree a) | Leaf a | Nil deriving (Show , Eq )
+
+
+function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted
+
+> funnyfunction :: (Tree a)=> [a]-> Integer -> Int -> Bool
+
+
+strings and chars
+first line of function definitions (type declaration) should be highlighted
+
+> strangefunction :: Int -> String
+> strangefunction 1 = "hello"
+> strangefunction 2 = "what's up"
+> strangefunction 3 = (strangefunction 1 ) ++ ", " ++ (strangefunction 2 )
+> strangefunction 4 = 'a' : 'b' : 'c' : '"' : [] -- will return "abc"
+> strangefunction 5 = '\n' : []
+> strangefunction 6 = '\invalidhaskell' : []
+
+function name including the single quote character
+and infix operator (`div`)
+
+> justtesting' :: Int -> Int
+> justtesting' 2 = 2 + 1
+> justtesting' 9 = 7 `div` 2
+
+same definition as above, slightly different function name and a couple more whitespaces
+
+> justtesting'' :: Int -> Int
+> justtesting'' 2 = 3
+> justtesting'' 9 = 3 + 9 - 9
+
+the following lines are copied out of Haskell's "Prelude.hs"
+
+> infixl 7 * , / , `quot` , `rem` , `div` , `mod` , :% , %
+
+
+everything highlighted except the "a"
+
+> class Bounded a where
+> minBound , maxBound :: a
+
+> class (Num a, Ord a) => Real a where
+> toRational :: a -> Rational
+
+finally, some keyword lists
+
+keywords
+
+> case , class , data , deriving , do , else , if , in , infixl , infixr , instance , let , module , of , primitive ,
+> then , type , where
+
+infix operators
+
+> quot , rem , div , mod , elem , notElem , seq
+
+this stuff is not handled yet
+
+> !! , % , && , $! , $ , * , ** , - ,. , /= , < , <= , =<< , == , > , >= , >> , >>= , ^ , ^^ , ++ , ||
+
+functions
+
+> FilePath , IOError , abs , acos , acosh , all , and , any , appendFile ,
+> approxRational , asTypeOf , asin , asinh , atan , atan2 , atanh , basicIORun ,
+> break , catch , ceiling , chr , compare , concat , concatMap , const , cos , cosh ,
+> curry , cycle , decodeFloat , denominator , digitToInt , div , divMod , drop ,
+> dropWhile , either , elem , encodeFloat , enumFrom , enumFromThen ,
+> enumFromThenTo , enumFromTo , error , even , exp , exponent , fail , filter , flip ,
+> floatDigits , floatRadix , floatRange , floor , fmap , foldl , foldl1 , foldr ,
+> foldr1 , fromDouble , fromEnum , fromInt , fromInteger , fromIntegral ,
+> fromRational , fst , gcd , getChar , getContents , getLine , head , id , inRange ,
+> index , init , intToDigit , interact , ioError , isAlpha , isAlphaNum , isAscii ,
+> isControl , isDenormalized , isDigit , isHexDigit , isIEEE , isInfinite , isLower ,
+> isNaN , isNegativeZero , isOctDigit , isPrint , isSpace , isUpper , iterate , last ,
+> lcm , length , lex , lexDigits , lexLitChar , lines , log , logBase , lookup , map ,
+> mapM , mapM_ , max , maxBound , maximum , maybe , min , minBound , minimum , mod ,
+> negate , not , notElem , null , numerator , odd , or , ord , otherwise , pi , pred ,
+> primExitWith , print , product , properFraction , putChar , putStr , putStrLn ,
+> quot , quotRem , range , rangeSize , read , readDec , readFile , readFloat ,
+> readHex , readIO , readInt , readList , readLitChar , readLn , readOct , readParen ,
+> readSigned , reads , readsPrec , realToFrac , recip , rem , repeat , replicate ,
+> return , reverse , round , scaleFloat , scanl , scanl1 , scanr , scanr1 , seq ,
+> sequence , sequence_ , show , showChar , showInt , showList , showLitChar ,
+> showParen , showSigned , showString , shows , showsPrec , significand , signum ,
+> sin , sinh , snd , span , splitAt , sqrt , subtract , succ , sum , tail , take ,
+> either , elem , encodeFloat , enumFrom , enumFromThen , enumFromThenTo ,
+> enumFromTo , error , even , exp , exponent , fail , filter , flip , floatDigits ,
+> floatRadix , floatRange , floor , fmap , takeWhile , tan , tanh , threadToIOResult ,
+> toEnum , toInt , toInteger , toLower , toRational , toUpper , truncate , uncurry ,
+> undefined , unlines , until , unwords , unzip , unzip3 , userError , words ,
+> writeFile , zip , zip3 , zipWith , zipWith3
+
+type constructors
+
+> Bool , Char , Double , Either , Float , IO , Integer , Int , Maybe , Ordering , Rational , Ratio , ReadS ,
+> ShowS , String
+
+classes
+
+> Bounded , Enum , Eq , Floating , Fractional , Functor , Integral , Ix , Monad , Num , Ord , Read , RealFloat ,
+> RealFrac , Real , Show
+
+data constructors
+
+> EQ , False , GT , Just , LT , Left , Nothing , Right , True
+
diff --git a/autotests/html/highlight.lisp.html b/autotests/html/highlight.lisp.html
new file mode 100644
index 0000000..6d59f6b
--- /dev/null
+++ b/autotests/html/highlight.lisp.html
@@ -0,0 +1,43 @@
+
+
+
+highlight.lisp
+
+
+;; This test file tests kates common lisp highlighting
+#|
+multilinecomment :)
+|#
+
+;BEGIN region marker
+
+;END end
+
+( defun bin-search ( obj vec)
+ ( let (( len ( length vec)))
+ ( and ( not ( zerop len))
+ ( finder obj vec 0 ( - len 1 )))))
+
+( defun parse-date ( str)
+ ( let (( toks ( tokens str #'constituent 0 )))
+ ( list ( parse-integer ( first toks))
+ ( parse-month ( second toks))
+ ( parse-integer ( third toks)))))
+
+( defconstant month-names
+ #( "jan" "feb" "mar" "apr" "may" "jun"
+ "jul" "aug" "sep" "oct" "nov" "dec" ))
+
+( defstruct buf
+ vec ( start -1) ( used -1) ( new -1) ( end -1))
+
+( defparameter *words* ( make-hash-table :size 10000 ))
+
+( defmacro while ( test &rest body)
+ `( do ()
+ (( not ,test))
+ ,@body))
+
+( define-modify-macro append1f ( val)
+ ( lambda ( lst val) ( append lst ( list val))))
+
diff --git a/autotests/html/highlight.ly.html b/autotests/html/highlight.ly.html
new file mode 100644
index 0000000..3eafd4b
--- /dev/null
+++ b/autotests/html/highlight.ly.html
@@ -0,0 +1,121 @@
+
+
+
+highlight.ly
+
+
+% This is a file to test the Lilypond highlighting features of Katepart.
+% This is NOT a valid lilypond file, because it also shows the
+% highlighting of some invalid lilypond constructs!
+% This is a line comment.
+
+%{
+this is a block comment, that can occur inside a line, or across
+multiple lines.
+%}
+
+\header {
+ title = "Katepart Lilypond syntax highlighting test file"
+ composer = %{"Wilbert Berendsen"%} "Anonymus"
+ poet = "The KDE team"
+ opus = "1"
+ copyright = "Share and enjoy!"
+}
+
+\paper {
+ # ( set-paper-size "a4" ) % a hash introduces scheme
+ indent = 0 % recognize variable names inside \paper, \layout etc.
+ between-system-space = 3\mm
+}
+
+\layout {
+ \context {
+ \Score
+ \remove Bar_number_engraver % recognize engraver names
+ \remove "Bar_number_engraver" % also when quoted!
+ }
+}
+
+% { and << block are folded
+\score {
+ \new StaffGroup <<
+ \new ChordNames \chordmode { c2 sus4/f g2 /d c1 }
+ \new Staff \new Voice ="mel" {
+ \key f \major
+ \time 4/4
+ \partial 4
+ \set Staff .instrumentName = "Bla."
+ \once \override Staff .NoteHead #'color = #red
+ % dynamics, articulations and markup
+ c8 \p d\< e-. f-> g a\f c-5 \markup { Hoi}
+ \notemode { c d e f }
+ \repeat volta 2 {
+ % complex durations are highlighted:
+ g4*2/3
+ }
+ \times 2/3 { e8 f g}
+ % there is some error checking:
+ % often made mistake to have octavemarks after the duration:
+ c2'
+ % invalid durations are caught:
+ g3
+ }
+ \context Lyrics \lyricsto "mel" {
+ \set fontSize = # 1
+ this is a line of ly -- rics.
+ with 4 dur -- a -- tions. 2.
+ % errors like forgetting spaces are found:
+ space-- flight %{i.s.o.%} space -- flight
+ space at end for -- got -- ten as well.}
+
+ \new DrumStaff \drummode { hihat 4 bassdrum 8 }
+ \new FiguredBass \figuremode {
+ < 5 4> 8 < 6->
+ }
+ >>
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = # ( ly:make-moment 60 2 )
+ }
+ }
+}
+
+av = # (define-music-function (parser location voice)
+( string? )
+; scheme comments are recognized in scheme
+; Lilypond inside scheme works as well:
+#{
+ \set associatedVoice = $voice
+#})
+
+
+
+
+% inside scheme some elements are highlighted:
+# (define (naturalise-pitch p)
+ ( let* ((o (ly:pitch-octave p))
+ (a (* 4 (ly:pitch-alteration p)))
+ (n (ly:pitch-notename p)))
+ (bla ' ArticulationEvent ' ChoirStaff )
+ ( cond
+ ((> a 2 ) ( set! a (- a 4 )) ( set! n (+ n 1 )))
+ ((< a -2 ) ( set! a (+ a 4 )) ( set! n (- n 1 ))))
+
+ ( if (< n 0 ) ( begin ( set! o (- o 1 )) ( set! n (+ n 7 ))))
+ ( if (> n 6 ) ( begin ( set! o (+ o 1 )) ( set! n (- n 7 ))))
+
+ (ly:make-pitch o n (/ a 4 ))) )
+
+% markup is also highlighted
+\markup {
+ \line {
+ text test Voice Staff % note Lilypond keywords are not highlighted here
+ }
+ \score { \relative c' { < ceg> 2 ( d) } }
+ \italic bla
+ \override #' ( baseline-skip . 2 ) {
+ \underline blu
+ }
+}
+
diff --git a/autotests/html/highlight.m.html b/autotests/html/highlight.m.html
new file mode 100644
index 0000000..3296705
--- /dev/null
+++ b/autotests/html/highlight.m.html
@@ -0,0 +1,68 @@
+
+
+
+highlight.m
+
+
+%%=====================================================
+% MATLAB test code for Kate/Kwrite syntax highlighting
+% kate: hl Matlab
+%%=====================================================
+
+% Numbers _____________________________________________
+5 , 5.5 , .1 , 0.1 , 0.4e5 , 1.2e-5 , 5i , 5.3i , 6j , .345 +3i
+5 ', 5.5 ', .1 ', 0.1 ', 0.4e5 ', 1.2e-5 ', 5i ', 5.3i ', 6j ', .345 +3i '
+
+% Operators ___________________________________________
+% relational operators
+'asdf' ~=4 , c<=4 , d>=4 , a<b, a>b, a==b, b||c, b&&c
+% elementwise arithmetic operators
+a.^b, a.*b a./b, 1 :4 :5
+% single-character binary arithmetic
+a+3 , a-3 , a*2 , a^3 , a/3 , a\3 , a|b, a&b
+% unary operators
+a = ~g; g = @sfdgdsf(sdfsd,345 ); g.' + 1i .' - ('asdf' ).'
+% separators and delimiter
+(asd),[sadf];{asdf},;;,;;;()
+% continuation
+a = 1 + ...
+ 2 ;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+% complete strings
+'string' % simple string
+'''' % string containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' 'asdf''' variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + (asdf)' - 'asdf' .' + []''''.';''
+'sadf' .' % string transpose
+% adjoint
+{'asdf' }' + 1
+('asdf' )' + 1
+['asdf' ]' + 1
+'' var''' % empty string, var with >1 adjoints
+[5 ]'*{5 }'*('asd' )'.'+(5 )'*6 '*asdf'*asdf'.' % many adjoints
+A'*B + 1 % adjoint
+A.'*B + 1 % transpose
+A.'.'*B + 1 % double transpose
+A'.' + 1 % adjoint, then transpose
+A.'' % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function , persistent , global
+switch , case , otherwise
+if , else , elseif
+try , catch
+for , while , break , continue
+end , return
+function , FUNCTION, Function % case sensitive!
+
diff --git a/autotests/html/highlight.mac.html b/autotests/html/highlight.mac.html
new file mode 100644
index 0000000..62a6068
--- /dev/null
+++ b/autotests/html/highlight.mac.html
@@ -0,0 +1,152 @@
+
+
+
+highlight.mac
+
+
+/*
+------------------------------------------------------------------------
+Efficient Galois Fields in Maxima
+
+by Alasdair McAndrew
+and later extended by Fabrizio Caruso and Jacopo Daurizio
+
+it is distribuited together with gf_roots by Jacopo Daurizio
+
+Authors:
+
+Fabrizio Caruso (optimizations, testing)
+Jacopo D'Aurizio (optimizations, modular roots)
+Alasdair McAndrew (original version of the package, pohlig-helman log, etc... )
+------------------------------------------------------------------------*/
+
+/* Released under terms of the GNU General Public License, version 2,
+ * by permission of the authors to Robert Dodier circa 2007-12-02.
+ */
+
+/* Defines a flag for dealing with large fields. If it is set to "false",
+then lookup tables are used for exponentiation and logarithms. Otherwise
+other algorithms are used */
+
+define_variable (largefield ,true ,bool )$
+define_variable (gf_char ,0 ,integer )$
+define_variable (gf_exp ,0 ,integer )$
+define_variable (gf_order ,0 ,integer )$
+define_variable (gf_one , ' gf_one , any_check )$
+define_variable (gf_prim , ' gf_prim , any_check )$
+define_variable (gf_irr , ' gf_irr , any_check )$
+define_variable (gf_list , ' gf_list , any_check )$
+define_variable (gen_powers , ' gf_list , any_check )$
+remvalue (x ,z ,gf_char ,gf_exp ,gf_irr ,pg ,gp ,lg ,gf_prim ,gf_one ,gf_order ,gf_list ,gen_powers )$
+
+
+/* --------------------------------------------------------------------------------------------- */
+/* Settings */
+
+GF_VERBOSE :false ; /* Verbosity */
+GF_WARNING : true ; /* Warnings */
+GF_IRREDUCIBILITY_CHECK :false ; /* Irreducibility test for the minimal polynomial of the extension */
+
+/*
+------------------------------------------------------------------------------------------------ */
+
+
+/* It defines a new current field with gf_char=b, min. pol.= p of deg= e*/
+gf_set ([ars ]):=block ([gj ,m ,i ,j ,dg ],
+ if length (ars )=1 then
+ (
+ gf_setp (ars [1 ]),
+ return (true )
+ )
+ else
+ (
+ if length (ars )=2 then
+ (
+ if numberp (ars [2 ]) then
+ (
+ if ars [2 ]=0 and GF_WARNING then
+ (
+ print ("WARNING: the irreducible is zero! We assume GF(" ,ars [1 ],")" ),
+ gf_setp (ars [1 ]),
+ return (true )
+ )
+ else
+ (
+ error ("ERROR: you tried to extend with a non-zero constant!" ),
+ return (false )
+ )
+ )
+ else
+ (
+ dg :hipow (ars [2 ],x ),
+
+ if dg =1 then
+ gf_setp (ars [1 ]),
+ gf_irr :ars [2 ],
+ gf_exp :dg ,
+ return (true )
+ )
+ )
+ else
+ (
+ gf_exp :ars [2 ],
+ if gf_exp =1 then
+ (
+ gf_setp (ars [1 ]),
+ gf_irr :rat (ars [3 ]),
+ return (true )
+ ),
+ gf_irr :rat (ars [3 ])
+ )
+ ),
+
+ gf_char :ars [1 ],
+ gf_one :rat (1 ,x ),
+ gf_order :gf_char ^gf_exp -1 ,
+
+ m :makelist (coeff (gf_irr ,x ,i ),i ,0 ,gf_exp ),
+ gf_list :[[first (m ),0 ]],j :1 ,
+ for i :2 thru gf_exp +1 do if m [i ]=0 then j :j +1 else ( gf_list :endcons ([m [i ],j ],gf_list ), j :1 ),
+
+ if not (primep (gf_char )) then error ("ERROR: Gf_Char must be a prime number." )
+ else
+ modulus :gf_char ,
+ if GF_IRREDUCIBILITY_CHECK and
+ hipow (args (factor (ars [3 ]))[1 ],x )#hipow (rat (ars [3 ]),x ) then
+ error ("ERROR: Polynomial is not irreducible" ),
+
+ if not (largefield ) then
+ (
+ pg :mkpowers (),
+ lg :mklogs ()
+ )
+ else
+ (
+ if GF_VERBOSE then
+ print ("finding a primitive element..." ),
+
+ gf_prim :rat (gf_findprim (),x ),
+ if GF_VERBOSE then
+ print ("...primitive element found." )
+
+ ),
+ modulus :false , /* it resets the modulus */
+ return (true )
+
+ )$
+
+
+/* Prints out information about the field */
+gf_info ():=block (
+ print ("Prime gf_char value: " ,gf_char ),
+ print ("Exponent: " , gf_exp ),
+ print ("Multiplicative order: " ,gf_order ),
+ print ("Irreducible polynomial: " ,gf_irr ),
+ print ("Primitive element: " ,gf_prim ),
+ if (largefield ) then
+ print ("Largefield flag is true; powers and logarithms not computed." )
+ else
+ print ("Largefield flag is false; powers and logarithms computed." ),
+ disp ()
+)$
+
diff --git a/autotests/html/highlight.mup.html b/autotests/html/highlight.mup.html
new file mode 100644
index 0000000..48c6a3b
--- /dev/null
+++ b/autotests/html/highlight.mup.html
@@ -0,0 +1,110 @@
+
+
+
+highlight.mup
+
+
+// This is a MUP highlighting test.
+// Mup is a shareware music publisher from www.arkkra.com
+
+// contexts
+score
+music
+staff 1
+voice 1 3
+
+top
+top2
+bottom
+bottom2
+grids
+
+headshapes
+
+
+header
+footer
+header2
+footer2
+
+// parameters and values
+score
+ units = cm ;
+ key = 3#minor
+ key = 3# minor
+ rehstyle =circled
+
+
+
+
+mussym above all : 1 "ferm" ;
+
+define NAME
+// this is a macro definition, these are collapsable
+@
+
+ifdef NAME
+// this is conditionally "compiled"
+endif
+
+ifndef NAME
+// this is conditionally "compiled" when the macro has not been defined
+else
+// else clause
+endif
+
+
+// Various Tests
+
+// tablature
+1: e ^f; f; b ^c5; c#5;
+bar
+
+1: d+^e+ g^a; e+a; g ^/; c ^/ c+^/;
+bar
+
+// cross-staff stems
+1: 1e+g+c++;
+2: cc+; ee+; g with g+ above ; with c+c++ above ;
+bar
+
+1: 2+4ceg;4; // tie implied by added time values
+
+// slurs
+1: 2f<d> a<b> c+<d+> ; dbd+;
+bar
+1: 2fac+ slur ; dbd+;
+bar
+
+// alternation
+1: 2c alt 2 ; 2c+;2g;
+bar
+
+// bar to draw if repeatstart happens to be on new line
+(dblbar ) repeatstart
+1: [ up ] 8f bm with staff below ;a;4s ebm ;4s bm with staff below ;8b;[ len 11 ] d ebm ;
+2: 4s bm with staff above ;8a;b ebm ;[ down ;len 14 ] b bm with staff above ;d;4s ebm ;
+bar
+
+// locations
+3: 2cf; [ =h ] egc+;
+1: [ cue ; with > ; =_ch ] fa;
+
+
+roll up 1 1 to 1 2: 2; 4;
+roll down 1 1 to 1 2: 2; 4;
+
+lyrics above 1,3 ; below 2,4 ; between 5&6 : " < 1. > Hi, hi" ;
+
+title "page \% of \# "
+
+// shaped whole rests
+1: 4mr; // use a quarter rest symbol
+1: 1/4mr; // use a quadruple whole rest symbol
+2: 2.. mr; // use a double-dotted half rest
+
+// tuplets
+1: { 4f; g;} 3n um ,4.+2.
+bar
+
+
diff --git a/autotests/html/highlight.pb.html b/autotests/html/highlight.pb.html
new file mode 100644
index 0000000..09a3ee8
--- /dev/null
+++ b/autotests/html/highlight.pb.html
@@ -0,0 +1,94 @@
+
+
+
+highlight.pb
+
+
+; This is a test file for kate's PureBasic highlighting.
+
+; BMP2x Converter by Sven Langenkamp
+
+UseJPEGImageEncoder ()
+UsePNGImageEncoder ()
+
+Declare Convert(JPEG)
+
+Enumeration 1
+ #JPEG
+ #PNG
+EndEnumeration
+
+; BEGIN section
+
+
+; END
+
+Global Count
+Global file.s
+Global filename.s
+Global fileext.s
+Global OutputFormat
+Global JPEGQuality
+
+Count = 0
+OutputFormat = 1
+JPEGQuality = -1
+
+; MAIN PROGRAM------------------------------------------------------------------
+
+;Request Options
+PrintN ("Output Format" )
+PrintN (" [1] JPEG" )
+PrintN (" [2] PNG" )
+Print ("> " )
+OutputFormat = Int (Input ())
+
+Select OutputFormat
+ Case #JPEG :
+ fileext = ".jpg"
+ ;Request JPEG Quality
+ PrintN ("" )
+ PrintN ("JPEG Quality" )
+ PrintN (" [0-10]" )
+ Print ("> " )
+ JPEGQuality = Int (Input ())
+
+ Case #PNG :
+ fileext = ".png"
+EndSelect
+
+;Convert all BMP files in the current directory
+ExamineDirectory (0 , "" , "*.bmp" )
+While NextDirectoryEntry ()
+ file = DirectoryEntryName ()
+ filename = GetFilePart (file)
+
+ If LoadImage (0 , file)
+ Select OutputFormat
+ Case #JPEG :
+ Convert(JPEGQuality)
+
+ Case #PNG :
+ Convert(-1 )
+ EndSelect
+ Count = Count +1
+ EndIf
+
+Wend
+
+PrintN (Str (Count) + " files converted" )
+CloseConsole ()
+
+; PROCUDURES--------------------------------------------------------------------
+
+Procedure Convert(JPEG)
+ Shared filename, fileext
+
+ If JPEG > -1
+ SaveImage (0 , filename + fileext, #PB_ImagePlugin_JPEG , JPEG)
+ Else
+ SaveImage (0 , filename + fileext, #PB_ImagePlugin_PNG )
+ EndIf
+ PrintN (file + " converted to " + filename + fileext)
+EndProcedure
+
diff --git a/autotests/html/highlight.php.html b/autotests/html/highlight.php.html
new file mode 100644
index 0000000..56c772a
--- /dev/null
+++ b/autotests/html/highlight.php.html
@@ -0,0 +1,30 @@
+
+
+
+highlight.php
+
+
+<?
+/* This is a pseudo PHP file to test Kate's PHP syntax highlighting. */
+# TODO : this is incomplete, add more syntax examples!
+# this is also a comment.
+// Even this is a comment
+function test( $varname ) {
+ return "bla" ; # this is also a comment
+}
+
+?>
+
+<?php echo ( "hello test" ); ?>
+
+<html>
+ <? print "<title>test</title>" ; ?>
+</html>
+
+<?php
+$var = <<<DOOH
+This is the $string inside the variable (which seems to be rendered as a string)
+It works well, I think.
+DOOH
+?>
+
diff --git a/autotests/html/highlight.pike.html b/autotests/html/highlight.pike.html
new file mode 100644
index 0000000..7f63985
--- /dev/null
+++ b/autotests/html/highlight.pike.html
@@ -0,0 +1,31 @@
+
+
+
+highlight.pike
+
+
+#! /bin/env pike
+
+/* This file is a syntax highlight test for Kate.
+ * FIXME: Improve it to contain more (and more unusual) syntax examples.
+ */
+
+
+#define PIKE_ON_THE_WEB /* Is this address correct? */ "http://pike.ida.liu.se/"
+
+
+int main(int argc, array (string ) args)
+{
+ // Write funny things with Pike :)
+ write(`+ ("Command line arguments (%d of them): " , @map(args, `+ , " " )) + " \n " , argc);
+
+ write(" \n Visit Pike site at %s \n\n " , PIKE_ON_THE_WEB);
+
+ for (int i = 1 ; i <= 3 ; i++)
+ write(":" + ")" * i + " " );
+
+ write(" \n " + ({"Bye" , "bye" }) * "-" + "! \n " );
+
+ return 0 ;
+}
+
diff --git a/autotests/html/highlight.pl.html b/autotests/html/highlight.pl.html
new file mode 100644
index 0000000..b72018a
--- /dev/null
+++ b/autotests/html/highlight.pl.html
@@ -0,0 +1,51 @@
+
+
+
+highlight.pl
+
+
+#!/usr/bin/perl -w
+# This is a pseudo Perl file to test Kate's Perl syntax highlighting.
+# TODO : this is incomplete, add more syntax examples!
+
+sub prg ($ )
+{
+ my $var = shift ;
+
+ $var =~ s/ bla / foo /igs ;
+ $var =~ s! bla ! foo !igs ;
+ $var =~ s# bla # foo #igs ;
+ $var =~ tr /a-z/A-Z/ ;
+ ($match ) = ($var =~ m/ ( . *?) /igs );
+
+ $test = 2 /453453.21 ;
+ $test /= 2 ;
+
+ print qq~ d fsd fsdf sdfl sd ~
+
+ $" = ' / ' ;
+
+ $foo = << __EOF;
+d ahfdklf klsdfl sdf sd
+fsd sdf sdfsdlkf sd
+__EOF
+
+ $x = " dasds " ;
+
+ next if ( $match eq " two " );
+ next if ( $match =~ / go /i );
+
+ @array = (1 ,2 ,3 ); # a comment
+ @array = qw( apple foo bar) ;
+ push (@array , 4 );
+ %hash = (red => ' rot ' ,
+ blue => ' blau ' );
+ print keys (%hash );
+}
+
+sub blah {
+}
+
+&blah;
+prg(" test " );
+
diff --git a/autotests/html/highlight.pov.html b/autotests/html/highlight.pov.html
new file mode 100644
index 0000000..e566558
--- /dev/null
+++ b/autotests/html/highlight.pov.html
@@ -0,0 +1,83 @@
+
+
+
+highlight.pov
+
+
+//BEGIN TEST
+// test scene for POV-Ray syntax highlighting
+
+/* test comment */
+
+/* nested /* comments */ do not work */
+
+#version 3.5 ;
+//END
+global_settings { assumed_gamma 1.0 }
+
+// ----------------------------------------
+
+camera {
+ location < 5.0 , - 12.0 , 2.0 >
+ up z sky z
+ look_at < 0.0 , 0.0 , 0.5 >
+ angle 40
+}
+
+sky_sphere {
+ pigment {
+ gradient z
+ color_map {
+ [ 0.0 rgb < 0.6 , 0.7 , 1.0 >]
+ [ 0.2 rgb < 0.2 , 0.3 , 0.9 >]
+ }
+ }
+}
+
+light_source {
+ < 3 , 1 , 2 >* 1000
+ color rgb < 2.2 , 1.8 , 1.5 >
+}
+
+// ----------------------------------------
+
+#declare TEST = 0 ;
+
+#ifdef ( TEST )
+ plane {
+ z , 0
+ texture {
+ pigment {
+ checker
+ color rgb 1 , color rgb 0
+ }
+ }
+ }
+#end
+
+#macro Sphere ( Pos , Radius )
+ sphere {
+ < Pos . x , Pos . y , Radius * 1.3 >, Radius
+ texture {
+ pigment { color rgb 1 }
+ finish {
+ diffuse 0.3
+ ambient 0.0
+ specular 0.6
+ reflection 0.8
+ }
+ }
+ }
+#end
+
+#local Cnt = 0 ;
+#local Seed = seed ( 0 );
+
+#while ( Cnt < 10000 )
+ Sphere (
+ - 100 +< rand ( Seed ), rand ( Seed )>* 200 ,
+ 0.3 + pow ( rand ( Seed ), 2 )* 0.7
+ )
+ #local Cnt = Cnt + 1 ;
+#end
+
diff --git a/autotests/html/highlight.prg.html b/autotests/html/highlight.prg.html
new file mode 100644
index 0000000..cc6f18a
--- /dev/null
+++ b/autotests/html/highlight.prg.html
@@ -0,0 +1,78 @@
+
+
+
+highlight.prg
+
+
+// Test file to test kate's clipper highlighting
+// kate: hl Clipper;
+
+//BEGIN INCLUDES
+#include <clip-ui.ch>
+#include "logo.ch"
+
+#define PRGVERSION "0.0.1"
+//END
+
+//BEGIN CODE
+static ws, win
+static driver := getDriver()
+/* a multiline
+ comment
+*/
+
+function main( formName )
+ local form
+ local fileName
+
+ if empty (formName)
+ ?? "Usage: ./form_ui <form.xfl>& \n "
+ CANCEL
+ else
+ fileName := formName
+ endif
+ ws := UIWorkSpace()
+
+ form := UIForm( fileName )
+ win := form :parseFile()
+// ?? valtype(win),chr(10)
+ if win == NIL
+ CANCEL
+ endif
+ win:show()
+
+ ws:run ()
+ ws:quit ()
+return 0
+
+/* Setting dialog */
+function settingsDialog()
+ ?? "TODO: Settings dialog& \n "
+return
+
+/* About dialog */
+function aboutDialog()
+ local dlg := UIWindow("About" , win, "aboutDlg" , .F. )
+ local hl, lside, t, bb, bD
+
+ hl := UIHBox(,4,8)
+ lside := UIVBox()
+ lside:add(UIImage(eas_logo_mini,.T. ))
+ hl:add(lside,.F. ,.F. )
+ dlg:userSpace:add(hl,.T. ,.T. )
+ t := UIVBox()
+ hl:add(t,.T. ,.T. )
+
+ t:add(UILabel("License: GPL version 2 or later" ))
+ bb := UIButtonBar()
+ t:add(bb)
+ bD := UIButton(win, "&Close" , {|o,e| dlg:close() } )
+ bb:add( bD )
+
+ dlg:setFocus(bD)
+ dlg:setDefault(bD)
+ dlg:setPlacement( .T. )
+ dlg:show()
+return
+//END
+
diff --git a/autotests/html/highlight.qml.html b/autotests/html/highlight.qml.html
new file mode 100644
index 0000000..e74d91c
--- /dev/null
+++ b/autotests/html/highlight.qml.html
@@ -0,0 +1,66 @@
+
+
+
+highlight.qml
+
+
+import Qt 4.6
+
+// some random qml snippets stolen from the qt docs
+
+Rectangle {
+ important : true
+ propertyAsdf :
+ id : container
+ signalA : bla
+ property string label
+ signal clicked
+ radius : 5 ; border .color : "black"
+ color : mouse .pressed ? "steelblue" : "lightsteelblue"
+ gradient : Gradient {
+ GradientStop { position : mouse .pressed ? 1.0 : 0.0 ; color : "steelblue" }
+ GradientStop { position : mouse .pressed ? 0.0 : 1.0 ; color : "lightsteelblue" }
+ }
+ MouseRegion { id : mouse; anchors .fill : parent; onClicked : container .clicked () }
+ Text { anchors .fill : parent; text : container .label ; anchors .centerIn : parent }
+}
+
+Rectangle {
+ Script {
+ function calculateMyHeight () {
+ return Math .max (otherItem .height , thirdItem .height );
+ }
+ }
+
+ anchors .centerIn : parent
+ width : Math .min (otherItem .width , 10 )
+ height : calculateMyHeight ()
+ color : { if (width > 10 ) "blue" ; else "red" }
+}
+
+Rectangle {
+ default property color innerColor: "black"
+ property color innerColor: "black"
+ property alias text: textElement .text
+ property alias aliasXYZ: testElement .text
+ signal bar
+ signal bar(var blah, string yxcv)
+ width : 240 ; height : 320 ;
+ width : 100 ; height : 30 ; source : "images/toolbutton.sci"
+ ListView {
+ anchors .fill : parent
+ model : contactModel
+ delegate : Component {
+ Text {
+ text : modelData .firstName + " " + modelData .lastName
+ }
+ }
+ }
+}
+
+Item {
+ function say (text) {
+ console .log ("You said " + text);
+ }
+}
+
diff --git a/autotests/html/highlight.rb.html b/autotests/html/highlight.rb.html
new file mode 100644
index 0000000..8e2bb99
--- /dev/null
+++ b/autotests/html/highlight.rb.html
@@ -0,0 +1,558 @@
+
+
+
+highlight.rb
+
+
+# This file is a testcase for the highlighting of Ruby code
+# It's not executable code, but a collection of code snippets
+#
+
+require 'Config'
+require 'DO/Clients'
+require 'DO/DBClients'
+
+ def CGI :: escapeElement (string, * elements)
+ elements = elements[ 0 ] if elements[ 0 ] .kind_of? (Array )
+ unless elements.empty?
+ string.gsub (/<\/?(?: #{ elements.join ("|" )} )(?!\w)(?:.|\n)*?>/ni ) do
+ CGI :: escapeHTML ($& )
+ end
+ else
+ string
+ end
+ end
+
+case inputLine
+ when "debug"
+ dumpDebugInfo
+ dumpSymbols
+ when /p\s+(\w+)/
+ dumpVariable($1 )
+ when "quit" , "exit"
+ exit
+ else
+ print "Illegal command: #{ inputLine} "
+end
+
+
+kind = case year #hi there
+ when 1850 .. 1889 then "Blues"
+ when 1890 .. 1909 then "Ragtime"
+ when 1910 .. 1929 then "New Orleans Jazz"
+ when 1930 .. 1939 then "Swing"
+ when 1940 .. 1950 then "Bebop"
+ else "Jazz"
+ end
+
+ # URL-encode a string.
+ # url_encoded_string = CGI::escape("'Stop!' said Fred")
+ # # => "%27Stop%21%27+said+Fred"
+ def CGI :: escape (string)
+ string.gsub (/([^ a-zA-Z0-9_.-]+)/n ) do
+ '%' + $1 .unpack ('H2' * $1 .size ).join ('%' ).upcase
+ end .tr (' ' , '+' )
+ end
+
+
+# Class ClientManager
+#
+# definition : Import, store and export the various data used by the application.
+# This class is the sole interface between the application and the underlying database.
+
+mon, day, year = $1 , $2 , $3 if /(\d\d)-(\d\d)-(\d\d)/
+puts "a = #{ a} " if fDebug
+print total unless total == 0
+
+while gets
+ next if /^#/ # Skip comments
+ parseLine unless /^$/ # Don't parse empty lines
+end
+
+if artist == "John Coltrane" #hi there
+ artist = "'Trane" #hi there
+end unless nicknames == "no" #hi there
+
+handle = if aSong.artist == "Gillespie" then #hi there
+ "Dizzy"
+ elsif aSong.artist == "Parker" then
+ "Bird"
+ else #hi there
+ "unknown"
+ end
+
+if aSong.artist == "Gillespie" then handle = "Dizzy"
+elsif aSong.artist == "Parker" then handle = "Bird"
+else handle = "unknown"
+end #hi there
+
+if aSong.artist == "Gillespie" then
+ handle = "Dizzy"
+elsif aSong.artist == "Parker" then
+ handle = "Bird"
+else
+ handle = "unknown"
+end
+
+if aSong.artist == "Gillespie"
+ handle = "Dizzy"
+elsif aSong.artist == "Parker"
+ handle = "Bird"
+else
+ handle = "unknown"
+end
+
+ case line
+ when /title=(.*)/
+ puts "Title is #$1"
+ when /track=(.*)/
+ puts "Track is #$1"
+ when /artist=(.*)/
+ puts "Artist is #$1"
+end
+
+case shape
+ when Square , Rectangle
+ # ...
+ when Circle
+ # ...
+ when Triangle
+ # ...
+ else
+ # ...
+end
+
+
+until playList.duration > 60 #hi there
+ playList.add (songList.pop )
+end
+
+3 .times do
+ print "Ho! "
+end
+
+loop {
+ # block ...
+}
+
+songList.each do | aSong|
+ aSong.play
+end
+
+for aSong in songList
+ aSong.play
+end
+
+for i in [ 'fee' , 'fi' , 'fo' , 'fum' ]
+ print i, " "
+end
+for i in 1 .. 3
+ print i, " "
+end
+for i in File .open ("ordinal" ).find_all { | l| l =~ /d$/ }
+ print i.chomp , " "
+end
+
+class Periods
+ def each
+ yield "Classical"
+ yield "Jazz"
+ yield "Rock"
+ end
+end
+
+
+periods = Periods .new
+for genre in periods
+ print genre, " "
+end
+
+while gets
+ next if /^\s*#/ # skip comments
+ break if /^END/ # stop at end
+ # substitute stuff in backticks and try again
+ redo if gsub! (/`(.*?)`/ ) { eval ($1 ) }
+ # process line ...
+end
+
+i= 0
+loop do
+ i += 1
+ next if i < 3
+ print i
+ break if i > 4
+end
+
+for i in 1 .. 100
+ print "Now at #{ i} . Restart? "
+ retry if gets =~ /^y/i
+end
+
+def doUntil(cond)
+ yield
+ retry unless cond
+end
+
+i = 0
+doUntil(i > 3 ) {
+ print i, " "
+ i += 1
+}
+
+def system_call
+ # ... code which throws SystemCallError
+rescue SystemCallError
+ $stderr .print "IO failed: " + $!
+ opFile.close
+ File .delete (opName)
+ raise
+end
+
+class ClientManager
+
+ # constructor
+ def initialize(dbase)
+ @dbClient = DBClient .new (dbase)
+ @clients = Clients .new
+ end
+
+ def prout(a, b, xy= "jj" ) 24 end
+ ###############################################################
+ #
+ # CLIENTS SECTION
+ #
+ ###############################################################
+
+ # update the clients object by retrieving the related data from the database
+ # returns the number of clients
+ def refreshClients
+ @clients .clean
+ unless @sqlQuery .nil? then
+ @sqlQuery .selectClient.each do | row|
+ @clients .addClient (row[ 0 ] ,row[ 1 ] ,row[ 2 ] ,row[ 3 ] ,row[ 4 ] ,row[ 5 ] , row[ 6 ] , row[ 7 ] , row[ 8 ] )
+ end
+ else
+ puts "SqlQuery wasn't created : cannot read data from database"
+ end
+ return @clients .length
+ end
+
+ # insert a client in the database and refreshes the local clients object
+ # we assume that none of the arguments is null
+ # we assume that the client, identified by raison_sociale doesn't already exists
+ def addClient(raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact)
+ id = "0"
+ unless @sqlQuery .nil? then
+ id = @sqlQuery .insertClient (raison_sociale, division, departement, adresse, cp, ville, nom_contact,tel_contact)
+ else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients .addClient (id, raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact) # synchronize local object with DB
+ end
+
+ # deletes a client from the database and updates the local Clients object accordingly
+ def delClient(nomclient_brut)
+ raison_sociale, div, dep = Clients .getIdentifiers (nomclient_brut)
+ listeContratsExp, listeContratsSup, listeContratsProd, listePropositionsExp, listePropositionsSup = []
+
+ listeContratsExp = @contratsExpertise .getContratsFromClient (nomclient_brut)
+ listeContratsSup = @contratsSupport .getContratsFromClient (nomclient_brut)
+ listeContratsProd = @contratsProduits .getContratsFromClient (nomclient_brut)
+ listePropositionsExp = @propositionsExpertise .getPropositionsFromClient (nomclient_brut)
+ listePropositionsSup = @propositionsSupport .getPropositionsFromClient (nomclient_brut)
+
+ unless @sqlQuery .nil? then
+ @sqlQuery .deleteClient (raison_sociale, div, dep)
+
+ @sqlQuery .deleteContracts (Config :: EXPERTISE ,listeContratsExp)
+ @sqlQuery .deleteContracts (Config :: SUPPORT ,listeContratsSup)
+ @sqlQuery .deleteContracts (Config :: PRODUIT ,listeContratsProd)
+ @sqlQuery .deletePropositions (Config :: EXPERTISE ,listePropositionsExp)
+ @sqlQuery .deletePropositions (Config :: SUPPORT ,listePropositionsSup)
+ else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients .delClient (raison_sociale,div,dep)
+
+ @contratsExpertise .deleteContracts (listeContratsExp)
+ @contratsSupport .deleteContracts (listeContratsSup)
+ @contratsProduits .deleteContracts (listeContratsProd)
+ @propositionsExpertise .deletePropositions (listePropositionsExp)
+ @propositionsSupport .deletePropositions (listePropositionsSup)
+ end
+end
+
+ # Mixin module for HTML version 3 generation methods.
+ module Html3 # :nodoc:
+
+ # The DOCTYPE declaration for this version of HTML
+ def doctype
+ %| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
+ end
+
+ # Initialise the HTML generation methods for this version.
+ def element_init
+ extend TagMaker
+ methods = ""
+ # - -
+ for element in %w[ A TT I B U STRIKE BIG SMALL SUB SUP EM STRONG
+ DFN CODE SAMP KBD VAR CITE FONT ADDRESS DIV center MAP
+ APPLET PRE XMP LISTING DL OL UL DIR MENU SELECT table TITLE
+ STYLE SCRIPT H1 H2 H3 H4 H5 H6 TEXTAREA FORM BLOCKQUOTE
+ CAPTION ]
+ methods += <<- BEGIN + nn_element_def(element) + <<-END
+ def #{ element.downcase } (attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # - O EMPTY
+ for element in %w[ IMG BASE BASEFONT BR AREA LINK PARAM HR INPUT
+ ISINDEX META ]
+ methods += <<- BEGIN + nOE_element_def(element) + <<-END
+ def #{ element.downcase } (attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # O O or - O
+ for element in %w[ HTML HEAD BODY P PLAINTEXT DT DD LI OPTION tr
+ th td ]
+ methods += <<- BEGIN + nO_element_def(element) + <<-END
+ def #{ element.downcase } (attributes = {})
+ BEGIN
+ end
+ END
+ end
+ eval (methods)
+ end
+
+ end
+
+# following snippet from Webrick's log.rb
+# notice the erronous handling of the query method is_a?
+def format (arg)
+ str = if arg.is_a? (Exception )
+ " #{ arg.class } : #{ arg.message } \n\t" <<
+ arg.backtrace.join ("\n\t" ) << "\n"
+ elsif arg.respond_to? (:to_str )
+ arg.to_str
+ else
+ arg.inspect
+ end
+end
+
+# following snippet from Webrick's httputils.rb
+# Splitting regexps on several lines might be bad form,
+# but not illegal in Ruby.
+# This should probably be supported in the highlighting
+def split_header_value(str)
+ str.scan (/((?:"(?:\\.|[^"])+?"|[^",]+)+)
+ (?:,\s*|\Z)/xn ).collect {| v| v[ 0 ] }
+end
+
+# snippet from Net::Telnet
+string.gsub (/ #{ IAC } (
+ [ #{ IAC }#{ AO }#{ AYT }#{ DM }#{ IP }#{ NOP } ]|
+ [ #{ DO }#{ DONT }#{ WILL }#{ WONT } ]
+ [ #{ OPT_BINARY } - #{ OPT_NEW_ENVIRON }#{ OPT_EXOPL } ]|
+ #{ SB } [^ #{ IAC } ]* #{ IAC }#{ SE }
+ )/xno )
+
+# following snippet from Webrick's httpresponse.rb
+# the HEREDOC is not recognized as such
+@body << <<- _end_of_html_
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+ <HEAD><TITLE> #{ HTMLUtils :: escape (@reason_phrase )} </TITLE></HEAD>
+ <BODY>
+ <H1> #{ HTMLUtils :: escape (@reason_phrase )} </H1>
+ #{ HTMLUtils :: escape (ex.message )}
+ <HR>
+_end_of_html_
+
+
+# snippet from Webrick's httpproxy.rb
+# here we should make sure that the symbol definition ':' doesn't override
+# the module operator '::'
+Net :: HTTP :: version_1_2 if RUBY_VERSION < "1.7"
+
+# snippet from Webrick's cookie.rb
+# the beginning of the regexp is erronously highlighted like an operator
+key, val = x.split (/=/ ,2 )
+
+# the following are division operators
+# it's a bit tricky to keep the operator apart from the regexp
+result = 8 / 4
+result /= divisor
+
+# 2008-06-01 regexp and division operator syntax has been fixed:
+result = 8 / 4 # division
+result = 8 / foo # division
+result = /8/ # regexp
+result = 8 / /4/ # division and regexp
+
+10 / 10 # division
+10 / 10 # division
+10 / 10 # division
+10 / 10 # division
+
+foo/ 10 # division
+foo/ 10 # division
+foo /10/ # regexp
+foo / 10 # division
+
+foo/ 10 / 10 # both division
+total/ count/ 2 # both division
+total/ (count/ 2 ) # both division
+
+@foo / 10 # division
+@foo / 10 # division
+
+"hello" / 10 # division
+"hello" / 10 # division
+
+/regexp/ / 10 # division
+/regexp/ / 10 # division
+
+Math :: PI / 10 # division
+Math :: foo /rx/ # regexp
+
+# 2008-06-05 similar fix for modulo operator:
+
+10 % 4 # modulo
+10 % 4 # modulo
+10 % 4 # modulo
+10 % 4 # modulo
+
+foo% 4 # modulo
+# foo %4 # illegal %string
+foo% 4 # modulo
+foo % 4 # modulo
+
+foo % (4 ) # modulo
+
+foo %( 4 ) # %string
+foo %q( 4 ) # %string
+foo %Q( 4 ) # %string
+foo %% 4 % # %string
+
+foo = %| blah | # GDL input
+foo % %| blah | # modulo and GDL
+
+# mix in any way you want
+result = 10 / /regexp/ / 20 / foo/ /regexp/ / 20
+
+# test cases for general delimited input
+# quoted strings
+%Q| this is a string |
+%Q{ this is a string }
+%Q( this is a string )
+%Q< this is a string >
+%Q[ this is a string ]
+
+%| also a string |
+%{ also a string }
+%( also a string )
+%< also a string >
+%[ also a string ]
+
+# apostrophed strings
+%q| apostrophed |
+%q{ apostrophed }
+%q( apostrophed )
+%q< apostrophed >
+%q[ apostrophed ]
+
+# regular expressions
+%r{ expression }
+%r( expression )
+%r< expression >
+%r[ expression ]
+%r| expression |
+
+# shell commands
+%x{ ls -l }
+%x( ls -l )
+%x< ls -l >
+%x[ ls -l ]
+
+# sometimes it's useful to have the command on multiple lines
+%x{ ls -l |
+grep test }
+
+# alternative syntax
+`ls -l`
+`echo ' '`
+
+# token array
+%w{ one two three }
+%w( one two three )
+%w< one two three >
+%w[ one two three ]
+
+# snippet from Net::IMAP
+# I object to putting String, Integer and Array into kernel methods.
+# While these classes are builtin in Ruby, this is an implementation detail
+# that should not be exposed to the user.
+# If we want to handle all std-lib classes, fine. But then they should be in their
+# own std-lib keyword category.
+
+def send_data(data)
+ case data
+ when nil
+ put_string("NIL" )
+ when String
+ send_string_data(data)
+ when Integer
+ send_number_data(data)
+ when Array
+ send_list_data(data)
+ when Time
+ send_time_data(data)
+ when Symbol
+ send_symbol_data(data)
+ else
+ data.send_data (self )
+ end
+end
+
+# snippet from Net::POP
+# class names can have numbers in them as long as they don't begin with numbers
+# Ruby doesn't internally really make much of a difference between a class name and a constant
+
+# class aliases
+ POP = POP3
+ POPSession = POP3
+ POP3Session = POP3
+
+# "member access"
+POP :: Session .COUNT .attribute.calc_with (2 ){ | arg| puts arg }
+
+# snippet from Net::SMTP
+# This breaks the code folding. I think we would need to
+# handle the '\' that continues the statement to the next line
+# in some way to make these kind of things not break something.
+raise ArgumentError , 'both user and secret are required' \
+ unless user and secret
+
+# string escapes must detect escaping the escape char
+str = "\\"
+str = "\\\\"
+# this is not part of the string
+%x{ echo \\\}\\ } # prints \}\
+# this is not part of the command
+
+# these are all symbols
+:abc
+:abc!
+:abc?
+:abc=
+:[]
+:[]=
+:@abc
+:@@abc
+:$abc
+
diff --git a/autotests/html/highlight.scheme.html b/autotests/html/highlight.scheme.html
new file mode 100644
index 0000000..e83b790
--- /dev/null
+++ b/autotests/html/highlight.scheme.html
@@ -0,0 +1,193 @@
+
+
+
+highlight.scheme
+
+
+; This is a test file to test kates scheme highlighting
+; This is a comment
+
+;; Another comment, usually used.
+;BEGIN region marker
+;; a vektor
+#( 1 2 3 4 5 )
+;END region marker
+;; this represents integer 28 (FIXME: does not work perfectly atm!)
+28 028 #e 28 #i 28 ;; Normal, normal, exact, inexact
+#b 11100 #o 34 #d 28 #x 1 c ;; Bin, okt, dec, hex
+#o e34 #e o34 ;; combined.
+
+;; char.
+( #\y #\space ) ;; list: `y' space.
+( #\ #\\ #\) ) ;; list of spaces, backslash and`)'.
+#\newline ;; a newline-char
+#\N ewLine ;; another one :)
+
+"Hello, world" ;; a string
+
+"hoho, what do you
+want to do ;; this is NO comment
+with that?"
+
+;; R5RS definiert diese beiden.
+"Das ist \" in Anführungszeichen \" und mit \\ Backslash."
+
+( let ( ( x ( + 1 2 ) ) ( y "blah" ) ) ;; `let' highlighting.
+ ( and ( number? x) ;; `and' highlighting.
+ ( string? y) ) )
+
+( let* ( ( x 2 ) ( y ( + x 1 ) ) ) ;; `let*' too.
+ ( or ( negative? x) ;; `or' anyways.
+ ( negative? y) ) )
+
+( do ( ( vec ( make-vector 5 ) ) ;; `do' you may guess!
+ ( i 0 ( + i 1 ) ) )
+ ( ( = i 5 ) vec)
+ ( vector-set! vec i i) )
+
+( quasiquote ( ( + 1 2 ) ( unquote ( + 1 2 ) ) ) )
+;; same as: `((+ 1 2) ,(+ 1 2))
+
+;; see above.
+( quasiquote ( ( + 1 2 ) ( unquote-splicing ( list 1 2 3 ) ) ) )
+;; same as: `((+ 1 2) ,@(+ 1 2))
+
+;; not necessary.
+( quote () )
+
+( cond ( ( string? x) ( string->symbol x) ) ;; `cond' highlighting.
+ ( ( symbol? x) => ( lambda ( x) x) ) ;; `=>' highlighting.
+ ( else ;; `else' highlighting.
+ ( error "Blah" ) ) )
+
+( case x ;; `case' highlighting.
+ ( ( #t ) 'true) ( ( #f ) 'false)
+ ( ( () ) 'null)
+ ( ( 0 ) 'zero) )
+
+;; highlight `let-syntax' and `syntax-rules' .
+( let-syntax ( ( when ( syntax-rules ()
+ ( ( when test stmt1 stmt2 ...)
+ ;; hl `begin' .
+ ( if test ( begin stmt1 stmt2 ...) ) ) ) ) )
+ ( let ( ( if #t ) ) ;; here`if' is actually no keyword.
+ ( when if ( set! if 'now) ) ;; nor here.
+ if ) )
+
+( letrec-syntax ...) ;; hl `letrec-syntax'.
+
+( define-syntax when
+ ( syntax-rules ()
+ ( ( when test stmt1 stmt2 ...)
+ ( if test ( begin stmt1 stmt2 ...) ) ) ) ) )
+
+;; variable definitions.
+( define natural-numbers ;; hl `define' and the var name
+ ;; endless stream of all natual numbers.
+ ( letrec ( ( next-cell ;; hl `letrec'.
+ ( lambda ( x) ;; hl `lambda'.
+ ;; hl `delay' .
+ ( cons x ( delay ( next-cell ( + x 1 ) ) ) ) ) ) )
+ ( next-cell 0 ) ) )
+
+;; a procedure with unusual but allowed name.
+( define 1+
+ ( lambda ( x)
+ ( + x 1 ) ) )
+
+;; a predicate
+( define between ?
+ ( lambda ( x y z)
+ ( if ( and ( >= x y) ( <= x z) )
+ #t ;; True
+ #f ) ) ) ;; False.
+
+;; imperative procedure
+( define set-something !
+ ( lambda ( required-argument another-one . all-remaining-args)
+ ( set-car! another-one ( lambda all-args
+ ( set-cdr! required-argument
+ ( append all-remaining-args
+ all-args) ) ) ) ) )
+
+( define compose
+ ( lambda ( f g)
+ ( lambda ( x)
+ ( f ( g x) ) ) ) )
+
+;; syntactical sugar for procedure-definitions.
+( define ( compose f g)
+ ( lambda ( x)
+ ( f ( g x) ) ) )
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; NOW: Guile extensions ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; procedure-generator.
+( define ( ( compose f g) x)
+ ( f ( g x) ) )
+
+;; scheme doesn't say, which chars may be in variables...
+;; At least: Guile accepts umlauts
+( define-private ( timetr??? sprache) ;; hl `define-private'.
+ ( list-dialekt? sprache) )
+
+( define-public x #t ) ;; hl `define-public'.
+( define-module ( foo bar) ) ;; hl `define-module'.
+( define-macro ( neither . exprs) ;; hl `define-macro'.
+ `( and ,@( map ( lambda ( x) `( not ,x) ) exprs) ) )
+
+( defmacro neither exprs ;; `defmacro' as well.
+ `( and ,@( map ( lambda ( x) `( not ,x) ) exprs) ) )
+
+;; hl, but I really don't know what this is supposed to do :-)
+( define-syntax-macro ...)
+
+;; hl GOOPS-`defines'
+( define-method ( foo bar ( baz <vector>) qux) ...)
+( define-class <foo> ...)
+( define-generic foo )
+( define-accessor bar )
+
+;; Keywords!
+( blah #:foo 33 #:bar 44 )
+
+;; another convention for symbols:
+#{foo}#
+
+#{a
+few
+lines}#
+
+#{4711 }#
+
+;; more chars.
+#\nul #\nl #\esc #\bs #\bel #\syn #\ack #\sp ;; etc, utc, itc, oops (this is boring)
+
+#!
+ guile block-comment.
+!#
+
+;; now, a bit hairy:
+#! comment !#
+still comment!!!
+!#
+'now-no-comment-anymore
+
+;; more precise:
+#! comment !#
+still comment
+!# still comment!
+!#
+'now-no-comment-anymore
+
+( while ( > foo 10 ) ;; Highlight `while'.
+ ( set! foo ( - foo 1 ) )
+ ( catch #t ;; Highlight `catch'.
+ ( lambda () ( display foo) )
+ ( lambda ( key . args)
+ ( if ( eq? key 'system-error)
+ ( break ) ;; Highlight `break'.
+ ( continue ) ) ) ) ) ;; Highlight `continue'.
+
diff --git a/autotests/html/highlight.sh.html b/autotests/html/highlight.sh.html
new file mode 100644
index 0000000..b661a14
--- /dev/null
+++ b/autotests/html/highlight.sh.html
@@ -0,0 +1,214 @@
+
+
+
+highlight.sh
+
+
+#! /bin/sh
+# This is a test script for the Katepart Bash Syntax Highlighting by
+# Wilbert Berendsen. This is not runnable !!!
+
+
+# The highlighting recognizes basic types of input, and has a few special cases that
+# are all in FindCommands. The main objective is to create really proper nesting of
+# (multiline) strings, variables, expressions, etc.
+
+
+
+# ============== Tests: ===============
+
+# basic types:
+echo 'single quoted string'
+echo "double quoted string"
+echo $'string with esc \a pes \x0d in it'
+echo $" string meant to be translated"
+
+
+# comments:
+# this is a comment
+#this too
+echo this is#nt a comment
+dcop kate EditInterface#1 #this is
+
+
+# brace expansion
+mv my_file.{JPG,jpg}
+
+
+# special characters are escaped:
+echo \( output\) \&\| \> \< \" \' \*
+
+
+# variable substitution:
+echo $filename .ext
+echo $filename_ext
+echo ${filename} _ext
+echo text${array[$subscript]} .text
+echo text${array[ "string" ]} .text
+echo ${!prefix*}
+echo ${!redir}
+echo short are $_ , $$ , $? , ${@} , etc.
+echo ${variable/ a/ d}
+echo ${1:- default}
+
+
+# expression subst:
+echo $(( cd << ed + 1 ))
+
+
+# command subst:
+echo $( ls -l)
+echo ` cat myfile`
+
+
+# file subst:
+echo $(<$filename )
+echo $(</path/to/myfile)
+
+# process subst:
+sort <(show_labels ) | sed 's/a/bg' > my_file.txt 2>&1
+
+
+# All substitutions also work in strings:
+echo "subst ${in} side string" 'not $inside this ofcourse'
+echo "The result is $(( $a + $b )) . Thanks!"
+echo "Your homedir contains ` ls $HOME | wc -l` files."
+
+
+# Escapes in strings:
+p= "String \` with \$ escapes \" " ;
+
+
+# keywords are black, builtins dark purple and common commands lighter purple
+set
+exit
+login
+
+
+# Other colorings:
+error() {
+ cat /usr/bin/lesspipe.sh
+ runscript >& redir.bak
+ exec 3>&4
+}
+
+
+# do - done make code blocks
+while [ $p -lt $q ]
+do
+ chown 0644 $file .$p
+done
+
+
+# braces as well
+run_prog | sort -u |
+{
+ echo Header
+ while read a b d
+ do
+ echo $a /$b /$c
+ done
+ echo Footer
+}
+
+
+# Any constructions can be nested:
+echo "A long string with $(
+ if [ $count -gt 100 ] ; then
+ echo "much"
+ else
+ echo "not much"
+ fi ) substitutions." ;
+
+
+# Even the case construct is correctly folded:
+test -f blaat &&
+( do_something
+ case $p in
+ *bak)
+ do_bak $p
+ ;;
+ *)
+ dont_bak $p
+ ;;
+ esac
+) # despite the extra parentheses in the case construction.
+
+
+# variable assignments:
+DIR= /dev
+p= ` ls `
+LC_ALL= "nl" dcop 'kate*'
+_VAR= val
+ARR=( this is an array)
+ARR2=([this]= too [and]= "this too" )
+usage= " $0 -- version $VERSION
+Multiple lines of output
+can be possible."
+ANSWER= yes # here 'yes' isn't highlighed as command
+
+
+# Some commands expect variable names, these are colored correctly:
+export PATH= /my/bin:$PATH BLAAT
+export A B D
+local p= 3 x y= '\'
+read x y z <<< $hallo
+unset B
+declare -a VAR1 VAR2 && exit
+declare less a && b
+
+# options are recoqnized:
+zip -f=file.zip
+./configure --destdir=/usr
+make destdir=/usr/
+
+
+# [[ and [ correctly need spaces to be regarded as structure,
+# otherwise they are patterns (currently treated as normal text)
+if [ " $p " == "" ] ; then
+ ls /usr/bin/[a-z]*
+elif [[ $p == 0 ]] ; then
+ ls /usr/share/$p
+fi
+
+# Fixed:
+ls a[ab]* # dont try to interprete as assignment with subscript (fixed)
+a [ab]
+a[ab]= sa
+
+
+# Here documents are difficult to catch:
+cat > myfile << __EOF__
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded.
+__EOF__
+
+
+# quoted:
+cat << "EOF" | egrep "this" >&4 # the rest of the line is still considered bash source
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded. :->
+EOF
+
+
+# indented:
+if true
+then
+ cat <<- EOF
+ Indented text with a $dollar or \$ two
+ EOF
+elif [ -d $file ] ; then
+ cat <<- "EOF"
+ Indented text without a $dollar
+ EOF
+fi
+
+
+case 1 in
+2) echo xxx;
+;;
+1) echo yyy;
+esac
+
+ls #should be outside of case 1 folding block
+
diff --git a/autotests/html/highlight.spec.html b/autotests/html/highlight.spec.html
new file mode 100644
index 0000000..459655b
--- /dev/null
+++ b/autotests/html/highlight.spec.html
@@ -0,0 +1,219 @@
+
+
+
+highlight.spec
+
+
+# Test file for rpmspec.xml
+
+# Comments start with a # in column="0":
+
+# Some comment
+
+# When they don't start in column="0", that they are recognized as comments, but with an alert:
+ # This is a bad comment.
+# RPM spec says clear that comments must start at the begin of the line. However, in practice
+# the RPM software is more permissive, depending on the context. But for our syntax highlighting,
+# we give, while recognizing the as comment, at least a little alert. Comments should not contain
+# the character % (which is marked as warning), but 2 of them are okay: %%. TODO is higlighted.
+
+# A spec file starts with "Normal" context. Here, you can specify values for some tags:
+Name: kradioripper-unstable # Note that here in no comment possible!
+Name: name only _one_ word allowed
+Name: %macro no further syntax check after macro!
+# Some tags support only _one_ word as value
+Version: 0.4test5 up-from-the-space-this-is-an-error
+# Some tag can have parameters: Any char in paranthesis:
+Summary: Recorder for internet radios (based on Streamripper)
+Summary(de.UTF-8): Aufnahmeprogramm für Internetradios (basiert auf Streamripper)
+# requiere free text:
+License: License 1 2 3
+# requiere a well defines value:
+Requires( / ( = ): Some , value ()
+# new type "switch" accepts: yes, no, 0, 1
+AutoReq: yes
+AutoReq: yes invalid
+AutoReq: %macro no further syntax check after macro!
+AutoReq: no
+AutoReq: 0
+AutoReq: 1
+# requiere a number:
+Epoch: 123123
+Epoch: 123123 invalid
+Epoch: %macro no further syntax check afer macro!
+# If tags are used that are not known, they are not highlighted:
+Invalidtag: Some value
+Invalid content in this section (only tags are allowed)
+
+# You can use conditions in specs (highlighted with region markers):
+%if 0 %{?mandriva_version}
+# numbers and strings are distingished: string:
+%if lsdksfj
+# number:
+%if 23472398
+# string:
+%if lksdjfsl72939
+# invalid:
+%if 92437 lsdkfjdsl
+# valid:
+%if "lsdfj %ksdf(sdfs) 3489"
+Release: %mkrel 1.2
+%else
+Release: 0
+%endif
+# requiere a well defined value:
+%ifos fixed_value
+# You must use these special macros (%%if etc.) always at the start of the line - if not,
+# that's bad but not an arror. You must also always use the specified form. Everything else is an
+# error:
+ %if
+something %if
+%{if }
+%if (some options)
+# However, this are different macros and therefore correct:
+%ifx
+%{ifx}
+%ifx(some options)
+
+# the \ is escaped in the line. At the end of the line it escapes the line break:
+echo This is \" a text \\ and here\
+it continues.
+
+%define name value
+%define invalid_näme value
+%define macroname multi \
+line content with references like %0 %* %# %{-f} %{-f*} %1 %2 and so on
+%global name value
+%global invalid_näme value
+%undefine name
+%undefine name too-many-parameters
+
+# This special comment is treated and highlighted like a tag:
+# norootforbuild
+# It can't have parameters, so every following non-whitespace character is not good:
+# norootforbuild DONT WRITE ANYTHING HERE!
+# wrong spacing is also recognized:
+# norootforbuild
+# and also an indeet is not fine for norootforbuild:
+ # norootforbuild
+
+# This following "Conflicts" tag will be removed by set-version.sh,
+# if it is a "kradioripper" release (and not a "kradioripper-unstable" release)...
+Conflicts: kradioripper
+
+
+%description
+# Here, a new section starts. It contains a value for the RPM field "description" and is therefor
+# colored like values:
+A KDE program for ripping internet radios. Based on StreamRipper.
+
+
+# A section start can have parameters:
+%description -l de.UTF-8
+Ein KDE-Aufnahmeprogramm für Internetradios. Basiert auf StreamRipper.
+
+# These sections starts are errors:
+ %description not at the first line
+%{description } wrong form
+%description (no options allowed, only parameters!)
+
+
+%prep
+# This starts a section that defines the commands to prepare the build.
+# q means quit. n sets the directory:
+%setup -q -n kradioripper
+echo Test
+# Macros can have different forms: Valid:
+%abc
+%abc ÃndOfMacro
+%abc(def) EndOfMacro
+%{abc} EndOfMacro
+%{something but no single % } EndOfMacro
+%{abc:def} EndOfMacro
+%(abc)
+# Invalid:
+% ÃInvalidChar
+%
+% )
+% }
+# You can use macros inside of macro calls: Fine:
+%{something %but no %{sin%(fine)gle} } EndOfMacro
+# Bad:
+%{No closing paranthesis ( No syntax highlightig for this error available )
+
+
+%build
+cmake ./ -DCMAKE_INSTALL_PREFIX=%{_prefix}
+%__make %{?jobs:-j %jobs}
+
+
+%install
+%if 0 %{?suse_version}
+%makeinstall
+%suse_update_desktop_file kradioripper
+%endif
+%if 0 %{?fedora_version} || 0 %{?rhel_version} || 0 %{?centos_version}
+make install DESTDIR=%{buildroot}
+desktop-file-install --delete-original --vendor fedora --dir=%{buildroot} /%{_datadir} /applications/kde4 %{buildroot} /%{_datadir} /applications/kde4/kradioripper.desktop
+%endif
+%if 0 %{?mandriva_version}
+%makeinstall_std
+%endif
+
+
+%clean
+rm -rf "%{buildroot} "
+
+
+%files
+%defattr(-,root,root)
+%if 0 %{?fedora_version} || 0 %{?rhel_version} || 0 %{?centos_version}
+%{_datadir} /applications/kde4/fedora-kradioripper.desktop
+%else
+%{_datadir} /applications/kde4/kradioripper.desktop
+%endif
+%{_bindir} /kradioripper
+%{_datadir} /locale/*/LC_MESSAGES/kradioripper.mo
+%if 0 %{?mandriva_version}
+# TODO The %%doc macro is actually broken for mandriva 2009 in build service...
+%dir %{_datadir} /apps/kradioripper
+%{_datadir} /apps/kradioripper/*
+%else
+%doc COPYING LICENSE LICENSE.GPL2 LICENSE.GPL3 NEWS WARRANTY
+%dir %{_datadir} /kde4/apps/kradioripper
+%{_datadir} /kde4/apps/kradioripper/*
+%endif
+
+
+%changelog
+* Sun May 04 2008 email@email.com
+- some text
+- some text
+ in two lines
+- some text
+ in two lines
+ + with subtext
+ - and more subtext
+ in two lines
+* Tue Apr 24 2007 Name
+- text
+ * When the star isn't at column 0, than it doesn't indicate
+ a new date
+* Wen Sep 08 2003 Wrong weekday
+* Mon Mai 08 2003 Wrong month
+* Mon Sep 0 2003 bad day
+* Mon Sep 8 2003 good day
+* Mon Sep 08 2003 good day
+* Mon Sep 32 2003 bad day
+* Mon Sep 08 03 bad year
+* Mon Sep 08 2003 Name
+# When using macros, the error check is disabled:
+* %myDataMacro Title of the entry
+- Text
+ - can
+ - be
+ - indeeded
+ - without
+ - problems
+
+
diff --git a/autotests/html/highlight.t2t.html b/autotests/html/highlight.t2t.html
new file mode 100644
index 0000000..044837e
--- /dev/null
+++ b/autotests/html/highlight.t2t.html
@@ -0,0 +1,97 @@
+
+
+
+highlight.t2t
+
+
+txt2tags sample
+
+
+%!--includeconf: config.t2t
+% disabled here because there is no external file
+%!preproc: 'JUST A TEST' ' '
+%!postproc: '(?i)(<body)' '\1 id="shots"'
+%!postproc: '(?i)(</title>)' ' shots\1'
+
+%!--include: menu.t2t
+
+= Title 1 =
+
+
+== My Subtitle 1 ==[some definition]
+
+Some examples:
+
+- A paragraph with **bold**, //italic// and --strike--.
+- You can even __underline your docs__!
+
+- And use **//bold and italic//**
+- or //**italic and bold**//
+
+Here is a nice pic: [img/t2tpowered.png] .
+
+- And a [link to a cool website http://txt2tags.sf.net]!
+
+- A table :
+
+ || Name | Age | Gender |
+ | John | 33 | Male |
+ | Mary | 19 | Female |
+
+
+``` A verbatim line
+
+And it's working for ``special code`` like this.
+
+```
+Unfortunately I can't color this verbatim content yet.
+```
+
+
+== My Subtitle 2 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc Lorem ipsum etc
+
+- Test d'écriture avec des accents à la française. Ãa marche ou pas ?
+
+== My Subtitle 3 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc
+
+Here is a direct link: http://kde.org
+
+
+- Another boring part...
+
+
+
+=== My Subsubtitle 1 ===
+
+//It's a level 3 header//
+
+- list 1
+- list 2
+ - list 2b
+- list 3
+
+
+=== My Subsubtitle 2 ===
+
+//It's another level 3 header//
+
++ ordered list 1
++ list 2
+ + list 2B
+ + list 2C
++ list 3
+
+
+== My Subtitle 4 ==
+
+nothing to say here...
+
+
diff --git a/autotests/html/highlight.tcl.html b/autotests/html/highlight.tcl.html
new file mode 100644
index 0000000..cda9499
--- /dev/null
+++ b/autotests/html/highlight.tcl.html
@@ -0,0 +1,57 @@
+
+
+
+highlight.tcl
+
+
+# tcl syntax highlighting sample script for Kate
+#
+# author: JM. Philippe 15/03/04
+
+# escaped characters
+set String \{
+set String \{
+set String \"
+set String " \" "
+set String " \{ "
+
+#comments and not comments
+# is comments
+;#is comments
+ # is comments
+# <h1> is html comment </h1>
+puts ok; # is comments
+set String [string map { </a> { <span>»is not comments</span></a>}} $String ]
+set String \# not_a_comment
+
+# blocks
+proc test { arg1 { arg2 {}} { arg3 { fr fq r}}} {
+ if { 1 } { ; #comments
+ set String \{ ; # not a block start
+ }
+}
+
+proc test args {
+ set String \} ; # not a block end
+}
+
+# BEGIN - collapsable comments
+# blablabla
+# END
+
+# strings
+set String "feqr feqr $ gqer gqe"
+set String "feqr
+feqr \" $ gqer \
+gqe
+"
+set String { feqr
+feqr \{ $gqer \
+gqe
+}
+
+# variables
+set b+1 [incr b]
+set {incr -b} ${b+1}
+puts ${incr-b}
+
diff --git a/autotests/html/highlight.tex.html b/autotests/html/highlight.tex.html
new file mode 100644
index 0000000..52e20be
--- /dev/null
+++ b/autotests/html/highlight.tex.html
@@ -0,0 +1,80 @@
+
+
+
+highlight.tex
+
+
+% LaTeX test file for kate's syntax highlighting and code folding
+
+\ordinaryLaTeXcommandwithoption [10pt,a4paper]{article}
+% BEGIN region
+%comment, this is all ok % $
+\% no comments please
+\\ %comment
+% END of region
+
+\newcommand {\nohighlighting }
+
+\section {normal }
+
+\ref {blue }
+\pageref {blue }
+\cite {blue }
+
+\begin {environmentshavespecialcolors }
+normal
+\end {environmentshavespecialcolors }
+
+$equations are green, \commands somewhat darker$
+normal
+$$equations are green, \commands somewhat darker$$
+normal
+\(
+\frac {1}{2}
+\begin {test}
+\end {test}
+\)
+normal
+\[
+%comment
+displaymath
+\]
+normal
+\begin {equation }
+green \darkergreen
+\begin {test }
+\test
+\end {test}
+\end {equation }
+
+\begin {equation* }
+green \darkergreen
+%comment
+\begin {test }
+\test
+\end {test}
+\% no comment
+\end {equation* }
+
+\{ %this should be comment
+
+\verb %this shouldn't be %and this should be normal text
+
+\begin {verbatim }
+text inside a verbatim environment is also treated special $ %,
+you can even put a \begin{verbatim} inside
+\end {verbatim }
+
+normal
+
+\begin {Verbatim }
+&@@#^%&^#$
+\end {Verbatim }
+
+
+\begin {Verbatim *}
+@*&^#@*(^#(*@&
+\end {Verbatim* }
+
+normal
+
diff --git a/autotests/html/highlight.wrl.html b/autotests/html/highlight.wrl.html
new file mode 100644
index 0000000..4ddc08f
--- /dev/null
+++ b/autotests/html/highlight.wrl.html
@@ -0,0 +1,48 @@
+
+
+
+highlight.wrl
+
+
+#VRML V2.0 utf8
+#
+# VRML highlighting test for Kate's syntax highlighting
+#
+
+# Keywords
+DEF , EXTERNPROTO , FALSE , IS , NULL , PROTO , ROUTE , TO , TRUE , USE , eventIn ,
+eventOut , exposedField , field
+
+# Data types
+MFColor , MFFloat , MFInt32 , MFNode . MFRotation , MFString , MFTime , MFVec2f ,
+MFVec3f , SFBool , SFColor , SFFloat , SFImage , SFInt32 , SFNode , SFRotation ,
+SFString , SFTime , SFVec2f , SFVec3f
+
+# Predefined nodes
+Anchor , Appearance , AudioClip , Background , Billboard , Box , Collision , Color ,
+ColorInterpolator , Cone , Coordinate , CoordinateInterpolator , Cylinder ,
+CylinderSensor , DirectionalLight , ElevationGrid , Extrusion , Fog , FontStyle ,
+Group , ImageTexture , IndexedFaceSet , IndexedLineSet , Inline , LOD , Material ,
+MovieTexture , NavigationInfo , Normal , NormalInterpolator , OrientationInterpolator ,
+PixelTexture , PlaneSensor , PointLight , PointSet , PositionInterpolator ,
+ProximitySensor , ScalarInterpolator , Script , Shape , Sound , Sphere , SphereSensor ,
+SpotLight , Switch , Text , TextureCoordinate , TextureTransform , TimeSensor ,
+TouchSensor , Transform , Viewpoint , VisibilitySensor , WorldInfo
+
+# Some real VRML constructs to see if highlighting of int, float etc. works
+NavigationInfo {
+ avatarSize [0.25 , 1.6 , 0.75 ]
+ headlight TRUE
+ speed 1
+ type ["WALK" , "ANY" ]
+ visibilityLimit 0.0
+}
+
+# some further testing for strings: linefeeds are allowed within strings
+Text {
+ string ["some special in-string characters: \" \\
+ some more text in the next line
+ and yet another line" ]
+}
+
+
diff --git a/autotests/html/highlight.xml.html b/autotests/html/highlight.xml.html
new file mode 100644
index 0000000..cccbe3b
--- /dev/null
+++ b/autotests/html/highlight.xml.html
@@ -0,0 +1,74 @@
+
+
+
+highlight.xml
+
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- we need this tags or this is no valid file -->
+
+
+This is a pseudo XML file to test Kate's XML syntax highlighting.
+
+Doctype:
+ <!DOCTYPE HTML PUBLIC "-//SOME_DOCTYPE 0.01//EN" SYSTEM "foobar.dtd">
+
+Processing instruction:
+ <?php processing instruction ?>
+
+Comments:
+ <!-- a comment -->
+ <!-- another comment,
+ using more than one line -->
+
+Comment inside element:
+ <element attr= "foobar" > content<!-- comment --> </element>
+
+Markup inside comment:
+ <!--
+ This is a comment!
+ <element inside_comment />
+ -->
+
+Empty element:
+ <empty/>
+ <empty />
+
+Simple element plus content:
+ <element> some content</element>
+ <element attr= "foobar" > some
+ content</element>
+
+Namespace for elements and attributes:
+ <ns:element> content</ns:element>
+ <element ns:attr= "content content" > content</element>
+
+Elements containing allowed characters:
+ <element-dash foo= "test" />
+ <element.dot foo= "test" />
+
+Elements containing allowed start characters:
+ <:element foo= "test" />
+ <_element foo= "test" />
+
+Single quotes (the same as double quotes):
+ <element attr= 'content content' > content</element>
+
+Allowed Whitespace:
+ <element attr = "test" >
+ content</element>
+
+Entities:
+
+ å
+ å
+ å
+ И
+ 水
+ <element attr= "foo å & bar" />
+
+Illegal XML, should not be highlighted:
+ < 0foobar> -- no digit as first character
+ < -foo> -- no dash as first character
+
diff --git a/autotests/html/highlight.xsl.html b/autotests/html/highlight.xsl.html
new file mode 100644
index 0000000..44208fb
--- /dev/null
+++ b/autotests/html/highlight.xsl.html
@@ -0,0 +1,116 @@
+
+
+
+highlight.xsl
+
+
+<?xml version="1.0" encoding="iso-8859-15"?>
+
+<!--
+ This file is freely distributable, created by Wilbert Berendsen (wbsoft@xs4all.nl)
+
+ This is just a simple XSLT file that converts some HTML pages to a XBEL bookmarklist.
+ It is included here to test the new XSLT highlighting by Peter Lammich.
+
+ TODO : add better test file.
+-->
+
+< xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version= "1.0"
+xmlns:h= "http://www.w3.org/1999/xhtml" >
+< xsl:output method= "xml" encoding= "iso-8859-15" indent= "yes"
+ doctype-public= "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
+ doctype-system= "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd"
+/>
+
+<!-- main -->
+< xsl:template match= "/" >
+<xbel><folder><title> Linux at Home Links</title>
+< xsl:for-each select= "//*[ @id = 'maincontents' ]//h:li" >
+ < xsl:variable name= "f" select= " document (h:a/ @href )/h:html" />
+ <folder>
+ <title>< xsl:value-of select= "h:a/h:strong" /></title>
+ <desc>< xsl:value-of select= " normalize-space (h:a/ text ())" /></desc>
+ < xsl:for-each select= " $f //h:div[ @id = 'maincontents' ]" >
+ < xsl:call-template name= "getbookmarks" />
+ </ xsl:for-each >
+
+ </folder>
+</ xsl:for-each >
+</folder></xbel>
+</ xsl:template >
+<!-- end of main -->
+
+<!-- get bookmarks from a page -->
+< xsl:template name= "getbookmarks" >
+
+< xsl:choose >
+ <!-- harvest links from p or li elements -->
+ < xsl:when test= " self:: h:li or self:: h:p" >
+ < xsl:variable name= "t" select= " normalize-space ()" />
+ < xsl:for-each select= ".//h:a[1]" >
+ < xsl:call-template name= "bookmark" >
+ < xsl:with-param name= "desc" select= " $t " />
+ </ xsl:call-template >
+ </ xsl:for-each >
+ < xsl:for-each select= ".//h:a[ position ()!=1]" >
+ < xsl:call-template name= "bookmark" />
+ </ xsl:for-each >
+ </ xsl:when >
+
+
+ < xsl:otherwise >
+ < xsl:for-each select= "*" >
+ < xsl:call-template name= "getbookmarks" />
+ </ xsl:for-each >
+ </ xsl:otherwise >
+
+</ xsl:choose >
+
+</ xsl:template >
+
+
+< xsl:template name= "bookmark" >
+ < xsl:param name= "href" select= " @href " />
+ < xsl:param name= "desc" select= " '' " />
+ < xsl:param name= "title" select= " normalize-space ()" />
+
+ < xsl:variable name= "realdesc" >
+ < xsl:choose >
+ < xsl:when test= " starts-with ( $desc , $title )" >
+ < xsl:choose >
+ < xsl:when test= " starts-with ( translate ( substring-after ( $desc , $title ), ',.;' , '...' ), '.' )" >
+ < xsl:value-of select= " substring ( $desc , string-length ( $title ) + 2)" />
+ </ xsl:when >
+ < xsl:otherwise >
+ < xsl:value-of select= " substring-after ( $desc , $title )" />
+ </ xsl:otherwise >
+ </ xsl:choose >
+ </ xsl:when >
+ < xsl:otherwise >
+ < xsl:value-of select= " $desc " />
+ </ xsl:otherwise >
+ </ xsl:choose >
+ </ xsl:variable >
+
+ <bookmark>
+ < xsl:attribute name= "href" >
+ < xsl:choose >
+ < xsl:when test= " starts-with ( $href , 'http://' ) or starts-with ( $href , 'ftp://' ) or starts-with ( $href , 'mailto:' )" >
+ < xsl:value-of select= " $href " />
+ </ xsl:when >
+ < xsl:otherwise >
+ < xsl:value-of select= " concat ( 'http://www.xs4all.nl/~wbsoft/linux/links/' , $href )" />
+ </ xsl:otherwise >
+ </ xsl:choose >
+ </ xsl:attribute >
+ <title>< xsl:value-of select= " normalize-space ( $title )" /></title>
+ < xsl:if test= " normalize-space ( $realdesc ) != '' " >
+ <desc>< xsl:value-of select= " normalize-space ( $realdesc )" /></desc>
+ </ xsl:if >
+ </bookmark>
+</ xsl:template >
+
+
+
+</ xsl:stylesheet >
+
diff --git a/autotests/html/highlight.y.html b/autotests/html/highlight.y.html
new file mode 100644
index 0000000..0527699
--- /dev/null
+++ b/autotests/html/highlight.y.html
@@ -0,0 +1,61 @@
+
+
+
+highlight.y
+
+
+/* Yacc / Bison hl test file.
+ * It won't compile :-) Sure !
+ */
+
+%{
+
+#include <iostream>
+using namespace std;
+
+extern KateParser *parser;
+
+%}
+
+%locations
+
+%union {
+ int int_val;
+ double double_val;
+ bool bool_val;
+ char *string_val;
+ char *ident_val;
+ struct var *v;
+ void *ptr;
+}
+
+%token <int_val> TOK_NOT_EQUAL "!="
+%token <int_val> TOK_LESSER_E "<="
+%token <int_val> TOK_GREATER_E ">="
+%token <int_val> TOK_EQUAL_2 "=="
+
+%type <int_val> type type_proc
+
+%%
+
+prog : KW_PROGRAM ident { parser->start($ 2 ); } prog_beg_glob_decl instructions { parser->endproc(0 ); } dev_procedures KW_ENDP ;
+
+number : integer_number
+ | TOK_DOUBLE
+ {
+ $$ = new var;
+ $$ ->type = KW_REEL;
+ $$ ->cl = var::LITTERAL;
+ $$ ->real = $ <int_val>1 ;
+ };
+
+%%
+
+#include <stdio.h>
+
+int main(void )
+{
+ puts("Hello, World!" );
+ return 0 ;
+}
+
diff --git a/autotests/html/highlight_lpc.c.html b/autotests/html/highlight_lpc.c.html
new file mode 100644
index 0000000..2ac3653
--- /dev/null
+++ b/autotests/html/highlight_lpc.c.html
@@ -0,0 +1,71 @@
+
+
+
+highlight_lpc.c
+
+
+// NOTE : This is a test file for kate's LPC syntax highlighting.
+
+// This is a Single-Line Comment
+/* This is a Multi-
+ Line Comment */
+
+// This again is a Single-Line Comment which should end here /*
+
+// And this is an evil single line comment \
+ which should include this and the next line because of the \
+ Do not use this style at home, kids.
+// BEGIN region marker
+
+// END of region marker
+
+private void create()
+{
+// Some Preprocessor stuff:
+#define SOME_STUFF if (foo( "bar" )) \
+ { \
+ bar( "foo" ); \
+ } // Preprocessor, Keyword, Preprocessor-String, Multiline
+
+ // Some closures:
+ #'create ;
+ #'?! ;
+
+
+ /* Some other Data Types: */
+
+ int i = 1 ; // Integer.
+ float b = 2.34 ; // Float.
+ int c = 0b001 ; // Binary
+ int e = 0x019Beef ; // Hexadecimal
+ int f = 0o2345 ; // Octal
+ string a = "Wheee" ; // String
+ string x = "Wheee \
+ heee" ; // Multi-Line String, again, don't use this.
+
+
+
+ /* Some keywords: */
+ if (1 )
+ {
+ switch (2 )
+ {
+ case 3 :
+ 4 ;
+ break ;
+ }
+ }
+
+ else
+ {
+ return 0 ;
+ }
+}
+
+/*
+WARNING : If the above function is part of a multi-line comment,
+ it's buggy. The WARNING : itself should be a comment-keyword.
+ That's not actually part of the language, but simply used
+ to highlight important stuff inside comments like TODO : etc.
+*/
+
diff --git a/autotests/html/highlight_ocaml.ml.html b/autotests/html/highlight_ocaml.ml.html
new file mode 100644
index 0000000..0e85e63
--- /dev/null
+++ b/autotests/html/highlight_ocaml.ml.html
@@ -0,0 +1,112 @@
+
+
+
+highlight_ocaml.ml
+
+
+(* ocaml test file -- a big stew of Objective Caml syntax to use to
+ test Kate's syntax highlighting. This will not run! :-) *)
+
+(* First a little piece of real OCaml that should look right: *)
+
+ #load "basic";;
+ (* Return a default value for a BASIC variable given its identifer. *)
+ let default_value (ident : string ) : basic_value =
+ assert (String .length ident > 0 );
+ match ident.[String .length ident - 1 ] with
+ | '$' -> Str ""
+ | '%' -> Int 0
+ | '!' -> Flt 0.0
+ | _ -> Flt 0.0
+ ;;
+
+(* Directives: *)
+#load "pa_o";;
+ #load "pa_o";;
+object # meth ;; (* not a directive - a method call *)
+object
+ # meth ;; (* not a directive - a method call *)
+
+(* OCaml keywords: *)
+and as assert asr (* etc. there so many... *)
+
+(* Additional OCaml Revised Syntax keywords: *)
+(* These are in a seperate category so they can be coloured to look
+ like identifiers when ordinary OCaml syntax is being used: *)
+declare where value
+
+(* There's no way to reliably highlight all OCaml type expressions,
+ (they can be very complex) so just the built-in type names are highlighted.*)
+exn lazy_t format unit int real char string ref array bool list option
+
+
+let integers : int list = [
+ 123456789 ; (* decimal *)
+ -0xabcedf0123456789 ; (* hexadecimal *)
+ 0xABCDEF0123456789 ; (* hexadecimal *)
+ -0o1234567 ; (* octal *)
+ 0b01001010101010 ; (* binary *)
+ -0Xabcedf0123456789 ; (* hexadecimal *)
+ 0XABCDEF0123456789 ; (* hexadecimal *)
+ -0O1234567 ; (* octal *)
+ 0B01001010101010 ; (* binary *)
+ -123_456_789 ; (* Underscores are allowed in numeric constants. *)
+ 0x_abce_df01_2345_6789 ;
+ -0o12_34_567 ;
+ 0b_0100_1010_1010_1101 ;
+];;
+
+let floats : real list = [
+ 12345.6789 ;
+ -1.23456789e4 ; (* All variations of the exponent form *)
+ 1.23456789e+4 ;
+ -1.23456789e-4 ;
+ 1.23456789E-4 ;
+ -1.23456789E+4 ;
+ 12_345.6789 ; (* Underscores are allowed in numeric constants. *)
+ -1.23_456_789e+4 ;
+ 12_345.6789 ;
+];;
+
+let characters : char list = [
+ 'a' ;
+ ' ' ;
+ '�' ;
+ '\n' ; '\r' ; '\t' ; '\b' ; (* Control characters. Only these four: not the full C-language range. *)
+ '\000' ; '\128' ; (* Decimal character codes. These are always 3 digits. *)
+ '\x02' ; '\xff' ; '\xFF' ; (* Hexadecimal character codes. These are always 3 digits. *)
+ '\\' ; '\'' ; '\"' ; '"' (* Quote character escapes. *)
+];;
+
+(* Quotes used to mark constants in parsers should
+ not be confused with character constant quotes.
+ "Ticks" at the end of identifiers should
+ not be confused with character constant quotes. *)
+let basic_identifier =
+ parser
+ [< ''F' ; ''N' ; name = s >] -> ID (s, 'f' )
+ | [< name = s' >] -> ID (s','i' )
+;;
+
+let strings : string list = [
+ "" ; (* Empty string *)
+ "a" ; " " ; "�" ; "ab" ;
+ "A \n B" ; "A \r B" ; "A \t B" ; "A \b B" ; (* Control characters. Only these four: not the full C-language range. *)
+ "A \000 B" ; "A \128 B" ; (* Decimal character codes. These are always 3 digits. *)
+ "A \x02 B" ; "A \xff B" ; "A \xFF B" ; (* Hexadecimal character codes. These are always 3 digits. *)
+ "A \\ B" ; "A \' B" ; "A'B" ; "A \" B" ; (* Quote character escapes. *)
+ "A multiline \
+ string" ;
+];
+
+let camlp4_quotations = [
+ <<A Camlp4 source code quotation.>> ;
+ <:QUOTE<A labelled Camlp4 source code quotation.>> ;
+ <:QU �T �<A labelled Camlp4 source code quotation. (Latin -1 identifier.)>> ;
+ << A quote with an escape: \>> (end-quote symbol) >> ;
+ << A quote with an escape: \<< (plain start quote-symbol) >> ;
+ << A quote with an escape: \<:Trouv�< (labelled start-quote symbol) >> ;
+];;
+
+(* end *)
+
diff --git a/autotests/html/highlight_octave.m.html b/autotests/html/highlight_octave.m.html
new file mode 100644
index 0000000..25d8cd8
--- /dev/null
+++ b/autotests/html/highlight_octave.m.html
@@ -0,0 +1,81 @@
+
+
+
+highlight_octave.m
+
+
+##=====================================================
+% Octave test code for Kate/Kwrite syntax highlighting
+% (shamelessly copied from Matlab's, since the two
+% are very similar)
+% kate: hl Octave;
+##=====================================================
+
+% Numbers _____________________________________________
+5 , 5.5 , .1 , 0.1 , 0.4e5 , 1.2e-5 , 5i , 5.3i , 6j , .345 +3i
+5 ', 5.5 ', .1 ', 0.1 ', 0.4e5 ', 1.2e-5 ', 5i ', 5.3i ', 6j ', .345 +3i '
+
+% Operators ___________________________________________
+% relational operators
+'asdf' ~=4 , c<=4 , d>=4 , a<b, a>b, a==b, b||c, b&&c
+% elementwise arithmetic operators
+a.^b, a.*b a./b, 1 :4 :5
+% single-character binary arithmetic
+a+3 , a-3 , a*2 , a^3 , a/3 , a\3 , a|b, a&b
+% unary operators
+a = ~g; g = @sfdgdsf(sdfsd,345 ); g.' + 1i .' - ('asdf' ).'
+% separators and delimiter
+(asd),[sadf];{asdf},;;,;;;()
+% continuation
+a = 1 + ...
+ 2 ;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+'str''\'
+% complete strings
+'string' % simple string
+'''' '\'' % strings containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' "asdf""" variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + (asdf)' - 'asdf' .' + []''''.';''
+'sadf' .' % string transpose
+% adjoint
+{'asdf' }' + 1
+('asdf' )' + 1
+['asdf' ]' + 1
+'' var''' % empty string, var with >1 adjoints
+[5 ]'*{5 }'*('asd' )'.'+(5 )'*6 '*asdf'*asdf'.' % many adjoints
+A'*B + 1 % adjoint
+A.'*B + 1 % transpose
+A.'.'*B + 1 % double transpose
+A'.' + 1 % adjoint, then transpose
+A.'' % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function , persistent , global
+endfunction
+
+switch , case , otherwise
+endswitch
+
+if , else , elseif
+endif
+
+try , end_try_catch
+for , while , break , continue
+endfor
+
+endwhile
+return
+function , FUNCTION, Function % case sensitive!
+endfunction
+
diff --git a/autotests/html/learnelixir.exs.html b/autotests/html/learnelixir.exs.html
new file mode 100644
index 0000000..9c0a390
--- /dev/null
+++ b/autotests/html/learnelixir.exs.html
@@ -0,0 +1,404 @@
+
+
+
+learnelixir.exs
+
+
+# Original: https://learnxinyminutes.com/docs/elixir/
+
+# Single line comments start with a number symbol.
+
+# There's no multi-line comment,
+# but you can stack multiple comments.
+
+# To use the elixir shell use the `iex` command.
+# Compile your modules with the `elixirc` command.
+
+# Both should be in your path if you installed elixir correctly.
+
+## ---------------------------
+## -- Basic types
+## ---------------------------
+
+# There are numbers
+3 # integer
+0x1F # integer
+3.0 # float
+
+# Atoms, that are literals, a constant with name. They start with `:`.
+:hello # atom
+
+# Tuples that are stored contiguously in memory.
+{1 ,2 ,3 } # tuple
+
+# We can access a tuple element with the `elem` function:
+elem({1 , 2 , 3 }, 0 ) #=> 1
+
+# Lists that are implemented as linked lists.
+[ 1 ,2 ,3 ] # list
+
+# We can access the head and tail of a list as follows:
+[ head | tail] = [ 1 ,2 ,3 ]
+head #=> 1
+tail #=> [2,3]
+
+# In elixir, just like in Erlang, the `=` denotes pattern matching and
+# not an assignment.
+#
+# This means that the left-hand side (pattern) is matched against a
+# right-hand side.
+#
+# This is how the above example of accessing the head and tail of a list works.
+
+# A pattern match will error when the sides don't match, in this example
+# the tuples have different sizes.
+# {a, b, c} = {1, 2} #=> ** (MatchError) no match of right hand side value: {1,2}
+
+# There are also binaries
+<<1 ,2 ,3 >> # binary
+
+# Strings and char lists
+"hello" # string
+'hello' # char list
+
+# Multi-line strings
+"""
+I'm a multi-line
+string.
+"""
+#=> "I'm a multi-line\nstring.\n"
+
+# Strings are all encoded in UTF-8:
+"héllò" #=> "héllò"
+
+# Strings are really just binaries, and char lists are just lists.
+<<?a, ?b, ?c>> #=> "abc"
+[ ?a, ?b, ?c] #=> 'abc'
+
+# `?a` in elixir returns the ASCII integer for the letter `a`
+?a #=> 97
+
+# To concatenate lists use `++`, for binaries use `<>`
+[ 1 ,2 ,3 ] ++ [ 4 ,5 ] #=> [1,2,3,4,5]
+'hello ' ++ 'world' #=> 'hello world'
+
+<<1 ,2 ,3 >> <> <<4 ,5 >> #=> <<1,2,3,4,5>>
+"hello " <> "world" #=> "hello world"
+
+# Ranges are represented as `start..end` (both inclusive)
+1 ..10 #=> 1..10
+lower..upper = 1 ..10 # Can use pattern matching on ranges as well
+[ lower, upper] #=> [1, 10]
+
+## ---------------------------
+## -- Operators
+## ---------------------------
+
+# Some math
+1 + 1 #=> 2
+10 - 5 #=> 5
+5 * 2 #=> 10
+10 / 2 #=> 5.0
+
+# In elixir the operator `/` always returns a float.
+
+# To do integer division use `div`
+div(10 , 2 ) #=> 5
+
+# To get the division remainder use `rem`
+rem(10 , 3 ) #=> 1
+
+# There are also boolean operators: `or`, `and` and `not`.
+# These operators expect a boolean as their first argument.
+true and true #=> true
+false or true #=> true
+# 1 and true #=> ** (ArgumentError) argument error
+
+# Elixir also provides `||`, `&&` and `!` which accept arguments of any type.
+# All values except `false` and `nil` will evaluate to true.
+1 || true #=> 1
+false && 1 #=> false
+nil && 20 #=> nil
+!true #=> false
+
+# For comparisons we have: `==`, `!=`, `===`, `!==`, `<=`, `>=`, `<` and `>`
+1 == 1 #=> true
+1 != 1 #=> false
+1 < 2 #=> true
+
+# `===` and `!==` are more strict when comparing integers and floats:
+1 == 1.0 #=> true
+1 === 1.0 #=> false
+
+# We can also compare two different data types:
+1 < :hello #=> true
+
+# The overall sorting order is defined below:
+# number < atom < reference < functions < port < pid < tuple < list < bit string
+
+# To quote Joe Armstrong on this: "The actual order is not important,
+# but that a total ordering is well defined is important."
+
+## ---------------------------
+## -- Control Flow
+## ---------------------------
+
+# `if` expression
+if false do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# There's also `unless`
+unless true do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# Remember pattern matching? Many control-flow structures in elixir rely on it.
+
+# `case` allows us to compare a value against many patterns:
+case {:one , :two } do
+ {:four , :five } ->
+ "This won't match"
+ {:one , x} ->
+ "This will match and bind `x` to `:two`"
+ _ ->
+ "This will match any value"
+end
+
+# It's common to bind the value to `_` if we don't need it.
+# For example, if only the head of a list matters to us:
+[ head | _] = [ 1 ,2 ,3 ]
+head #=> 1
+
+# For better readability we can do the following:
+[ head | _tail] = [ :a , :b , :c ]
+head #=> :a
+
+# `cond` lets us check for many conditions at the same time.
+# Use `cond` instead of nesting many `if` expressions.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ 1 + 2 == 3 ->
+ "But I will"
+end
+
+# It is common to set the last condition equal to `true`, which will always match.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ true ->
+ "But I will (this is essentially an else)"
+end
+
+# `try/catch` is used to catch values that are thrown, it also supports an
+# `after` clause that is invoked whether or not a value is caught.
+try do
+ throw (:hello )
+catch
+ message -> "Got #{ message} ."
+after
+ IO .puts("I'm the after clause." )
+end
+#=> I'm the after clause
+# "Got :hello"
+
+## ---------------------------
+## -- Modules and Functions
+## ---------------------------
+
+# Anonymous functions (notice the dot)
+square = fn (x) -> x * x end
+square.(5 ) #=> 25
+
+# They also accept many clauses and guards.
+# Guards let you fine tune pattern matching,
+# they are indicated by the `when` keyword:
+f = fn
+ x, y when x > 0 -> x + y
+ x, y -> x * y
+end
+
+f.(1 , 3 ) #=> 4
+f.(-1 , 3 ) #=> -3
+
+# Elixir also provides many built-in functions.
+# These are available in the current scope.
+is_number(10 ) #=> true
+is_list("hello" ) #=> false
+elem({1 ,2 ,3 }, 0 ) #=> 1
+
+# You can group several functions into a module. Inside a module use `def`
+# to define your functions.
+defmodule Math do
+ def sum(a, b) do
+ a + b
+ end
+
+ def square(x) do
+ x * x
+ end
+end
+
+Math .sum(1 , 2 ) #=> 3
+Math .square(3 ) #=> 9
+
+# To compile our simple Math module save it as `math.ex` and use `elixirc`
+# in your terminal: elixirc math.ex
+
+# Inside a module we can define functions with `def` and private functions with `defp`.
+# A function defined with `def` is available to be invoked from other modules,
+# a private function can only be invoked locally.
+defmodule PrivateMath do
+ def sum(a, b) do
+ do_sum(a, b)
+ end
+
+ defp do_sum(a, b) do
+ a + b
+ end
+end
+
+PrivateMath .sum(1 , 2 ) #=> 3
+# PrivateMath.do_sum(1, 2) #=> ** (UndefinedFunctionError)
+
+# Function declarations also support guards and multiple clauses:
+defmodule Geometry do
+ def area({:rectangle , w, h}) do
+ w * h
+ end
+
+ def area({:circle , r}) when is_number(r) do
+ 3.14 * r * r
+ end
+end
+
+Geometry .area({:rectangle , 2 , 3 }) #=> 6
+Geometry .area({:circle , 3 }) #=> 28.25999999999999801048
+# Geometry.area({:circle, "not_a_number"})
+#=> ** (FunctionClauseError) no function clause matching in Geometry.area/1
+
+# Due to immutability, recursion is a big part of elixir
+defmodule Recursion do
+ def sum_list([ head | tail] , acc) do
+ sum_list(tail, acc + head)
+ end
+
+ def sum_list([] , acc) do
+ acc
+ end
+end
+
+Recursion .sum_list([ 1 ,2 ,3 ] , 0 ) #=> 6
+
+# Elixir modules support attributes, there are built-in attributes and you
+# may also add custom ones.
+defmodule MyMod do
+ @moduledoc """
+ This is a built-in attribute on a example module.
+ """
+
+ @my_data 100 # This is a custom attribute.
+ IO .inspect(@my_data ) #=> 100
+end
+
+## ---------------------------
+## -- Structs and Exceptions
+## ---------------------------
+
+# Structs are extensions on top of maps that bring default values,
+# compile-time guarantees and polymorphism into Elixir.
+defmodule Person do
+ defstruct name: nil , age: 0 , height: 0
+end
+
+joe_info = %Person { name: "Joe" , age: 30 , height: 180 }
+#=> %Person{age: 30, height: 180, name: "Joe"}
+
+# Access the value of name
+joe_info.name #=> "Joe"
+
+# Update the value of age
+older_joe_info = %{ joe_info | age: 31 }
+#=> %Person{age: 31, height: 180, name: "Joe"}
+
+# The `try` block with the `rescue` keyword is used to handle exceptions
+try do
+ raise "some error"
+rescue
+ RuntimeError -> "rescued a runtime error"
+ _error -> "this will rescue any error"
+end
+#=> "rescued a runtime error"
+
+# All exceptions have a message
+try do
+ raise "some error"
+rescue
+ x in [ RuntimeError ] ->
+ x.message
+end
+#=> "some error"
+
+## ---------------------------
+## -- Concurrency
+## ---------------------------
+
+# Elixir relies on the actor model for concurrency. All we need to write
+# concurrent programs in elixir are three primitives: spawning processes,
+# sending messages and receiving messages.
+
+# To start a new process we use the `spawn` function, which takes a function
+# as argument.
+f = fn -> 2 * 2 end #=> #Function<erl_eval.20.80484245>
+spawn(f) #=> #PID<0.40.0>
+
+# `spawn` returns a pid (process identifier), you can use this pid to send
+# messages to the process. To do message passing we use the `send` operator.
+# For all of this to be useful we need to be able to receive messages. This is
+# achieved with the `receive` mechanism:
+
+# The `receive do` block is used to listen for messages and process
+# them when they are received. A `receive do` block will only
+# process one received message. In order to process multiple
+# messages, a function with a `receive do` block must recursively
+# call itself to get into the `receive do` block again.
+
+defmodule Geometry do
+ def area_loop do
+ receive do
+ {:rectangle , w, h} ->
+ IO .puts("Area = #{ w * h} " )
+ area_loop()
+ {:circle , r} ->
+ IO .puts("Area = #{ 3.14 * r * r} " )
+ area_loop()
+ end
+ end
+end
+
+# Compile the module and create a process that evaluates `area_loop` in the shell
+pid = spawn(fn -> Geometry .area_loop() end ) #=> #PID<0.40.0>
+# Alternatively
+pid = spawn(Geometry , :area_loop , [] )
+
+# Send a message to `pid` that will match a pattern in the receive statement
+send pid, {:rectangle , 2 , 3 }
+#=> Area = 6
+# {:rectangle,2,3}
+
+send pid, {:circle , 2 }
+#=> Area = 12.56000000000000049738
+# {:circle,2}
+
+# The shell is also a process, you can use `self` to get the current pid
+self() #=> #PID<0.27.0>
+
diff --git a/autotests/html/light52_muldiv.vhdl.html b/autotests/html/light52_muldiv.vhdl.html
new file mode 100644
index 0000000..e5e27d3
--- /dev/null
+++ b/autotests/html/light52_muldiv.vhdl.html
@@ -0,0 +1,246 @@
+
+
+
+light52_muldiv.vhdl
+
+
+--------------------------------------------------------------------------------
+-- light52_muldiv.vhdl -- Simple multiplier/divider module.
+--------------------------------------------------------------------------------
+-- The 8051 mul and div instructions are both unsigned and operands are 8 bit.
+--
+-- This module implements the division as a sequential state machine which takes
+-- 8 cycles to complete.
+-- The multiplier can be implemented as sequential or as combinational, in which
+-- case it will use a DSP block in those architectures that support it.
+-- No attempt has been made to make this module generic or reusable.
+--
+-- If you want a combinational multiplier but don't want to waste a DSP block
+-- in this module, you need to modify this file adding whatever synthesis
+-- pragmas your tool of choice needs.
+--
+-- Note that unlike the division state machine, the combinational product logic
+-- is always operating: when SEQUENTIAL_MULTIPLIER=true, prod_out equals
+-- data_a * data_b with a latency of 1 clock cycle, and mul_ready is hardwired
+-- to '1'.
+--
+-- FIXME explain division algorithm.
+--------------------------------------------------------------------------------
+-- GENERICS:
+--
+-- SEQUENTIAL_MULTIPLIER -- Sequential vs. combinational multiplier.
+-- When true, a sequential implementation will be used for the multiplier,
+-- which will usually save a lot of logic or a dedicated multiplier.
+-- When false, a combinational registered multiplier will be used.
+--
+--------------------------------------------------------------------------------
+-- INTERFACE SIGNALS:
+--
+-- clk : Clock, active rising edge.
+-- reset : Synchronous reset. Clears only the control registers not
+-- visible to the programmer -- not the output registers.
+--
+-- data_a : Numerator input, should be connected to the ACC register.
+-- data_b : Denominator input, should be connected to the B register.
+-- start : Assert for 1 cycle to start the division state machine
+-- (and the product if SEQUENTIAL_MULTIPLIER=true);
+--
+-- prod_out : Product output, valid only when mul_ready='1'.
+-- quot_out : Quotient output, valid only when div_ready='1'.
+-- rem_out : Remainder output, valid only when div_ready='1'.
+-- div_ov_out : Division overflow flag, valid only when div_ready='1'.
+-- mul_ov_out : Product overflow flag, valid only when mul_ready='1'.
+--
+-- mul_ready : Asserted permanently if SEQUENTIAL_MULTIPLIER=false.
+-- div_ready : Deasserted the cycle after start is asserted.
+-- Asserted when the division has completed.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+library ieee;
+use ieee. std_logic_1164. all;
+use ieee. numeric_std. all;
+
+use work. light52_pkg. all;
+use work. light52_ucode_pkg. all;
+
+entity light52_muldiv is
+ generic (
+ SEQUENTIAL_MULTIPLIER : boolean := false
+ );
+ port (
+ clk : in std_logic ;
+ reset : in std_logic ;
+
+ data_a : in t_byte;
+ data_b : in t_byte;
+ start : in std_logic ;
+
+ prod_out : out t_word;
+ quot_out : out t_byte;
+ rem_out : out t_byte;
+ div_ov_out : out std_logic ;
+ mul_ov_out : out std_logic ;
+
+ mul_ready : out std_logic ;
+ div_ready : out std_logic
+ );
+end entity light52_muldiv;
+
+architecture sequential of light52_muldiv is
+
+signal bit_ctr : integer range 0 to 8 ;
+
+signal b_shift_reg : t_word;
+
+signal den_ge_256 : std_logic ;
+signal num_ge_den : std_logic ;
+signal sub_num : std_logic ;
+
+signal denominator : t_byte;
+signal rem_reg : t_byte;
+signal quot_reg : t_byte;
+signal prod_reg : t_word;
+signal ready : std_logic ;
+
+signal load_regs : std_logic ;
+
+begin
+
+-- Control logic ---------------------------------------------------------------
+
+control_counter : process (clk)
+begin
+ if clk'event and clk= '1' then
+ if reset= '1' then
+ bit_ctr <= 8 ;
+ else
+ if load_regs= '1' then
+ bit_ctr <= 0 ;
+ elsif bit_ctr /= 8 then
+ bit_ctr <= bit_ctr + 1 ;
+ end if;
+ end if;
+ end if;
+end process control_counter ;
+
+-- Internal signal ready is asserted after 8 cycles.
+-- The sequential multiplier will use this signal too, IF it takes 8 cycles.
+
+ready <= '1' when bit_ctr >= 8 else '0' ;
+
+
+---- Divider logic -------------------------------------------------------------
+
+-- What we do is a simple base-2 'shift-and-subtract' algorithm that takes
+-- 8 cycles to complete. We can get away with this because we deal with unsigned
+-- numbers only.
+
+divider_registers : process (clk)
+begin
+ if clk'event and clk= '1' then
+ -- denominator shift register
+ if load_regs= '1' then
+ b_shift_reg <= "0" & data_b & "0000000" ;
+ -- Division overflow can be determined upon loading B reg data.
+ -- OV will be raised only on div-by-zero.
+ if data_b= X"00" then
+ div_ov_out <= '1' ;
+ else
+ div_ov_out <= '0' ;
+ end if;
+ else
+ b_shift_reg <= "0" & b_shift_reg(b_shift_reg'high downto 1 );
+ end if;
+
+ -- numerator register
+ if load_regs= '1' then
+ rem_reg <= data_a;
+ elsif bit_ctr/= 8 and sub_num= '1' then
+ rem_reg <= rem_reg - denominator;
+ end if;
+
+ --- quotient register
+ if load_regs= '1' then
+ quot_reg <= (others => '0' );
+ elsif bit_ctr/= 8 then
+ quot_reg <= quot_reg(quot_reg'high-1 downto 0 ) & sub_num;
+ end if;
+
+ load_regs <= start;
+ end if;
+end process divider_registers ;
+
+denominator <= b_shift_reg(7 downto 0 );
+
+-- The 16-bit comparison between b_shift_reg (denominator) and the zero-extended
+-- rem_reg (numerator) can be simplified by splitting it in 2:
+-- If the shifted denominator high byte is not zero, it is >=256...
+den_ge_256 <= '1' when b_shift_reg(15 downto 8 ) /= X"00" else '0' ;
+-- ...otherwise we need to compare the low bytes.
+num_ge_den <= '1' when rem_reg >= denominator else '0' ;
+sub_num <= '1' when den_ge_256= '0' and num_ge_den= '1' else '0' ;
+
+
+quot_out <= quot_reg;
+prod_out <= prod_reg;
+rem_out <= rem_reg;
+
+div_ready <= ready;
+
+---- Multiplier logic ----------------------------------------------------------
+
+---- Combinational multiplier -----------------------------
+multiplier_combinational : if not SEQUENTIAL_MULTIPLIER generate
+
+registered_combinational_multiplier : process (clk)
+begin
+ if clk'event and clk= '1' then
+ prod_reg <= data_a * data_b; -- t_byte is unsigned
+ end if;
+end process registered_combinational_multiplier ;
+
+-- The multiplier output is valid in the cycle after the operands are loaded,
+-- so by the time MUL is executed it's already done.
+mul_ready <= '1' ;
+
+mul_ov_out <= '1' when prod_reg(15 downto 8 )/= X"00" else '0' ;
+prod_out <= prod_reg;
+
+end generate multiplier_combinational ;
+
+---- Sequential multiplier --------------------------------
+multiplier_sequential : if SEQUENTIAL_MULTIPLIER generate
+
+assert false
+report "Sequential multiplier implementation not done yet." &
+ " Use combinational implementation."
+severity failure ;
+
+end generate multiplier_sequential ;
+
+end sequential;
+
diff --git a/autotests/html/light52_tb.vhdl.html b/autotests/html/light52_tb.vhdl.html
new file mode 100644
index 0000000..3b9649c
--- /dev/null
+++ b/autotests/html/light52_tb.vhdl.html
@@ -0,0 +1,187 @@
+
+
+
+light52_tb.vhdl
+
+
+--------------------------------------------------------------------------------
+-- light52_tb.vhdl --
+--------------------------------------------------------------------------------
+-- This test bench simulates the execution of some program (whose object code
+-- is in package obj_code_pkg, in the form of a memory init constant) and logs
+-- the execution to a text file called 'hw_sim_log.txt' (light52_tb_pkg.vhdl).
+--
+-- This test bench does no actual tests on the core. Instead, the simulation log
+-- is meant to be matched against the simulation log produced by running the
+-- same program on the software simulator B51 (also included with this project).
+--
+-- This will catch errors in the implementation of the CPU if the simulated
+-- program has anough coverage -- the opcode tester is meant to cover all CPU
+-- opcodes in many (not all) of their corner cases.
+-- This scheme will not help in catching errors in the peripheral modules,
+-- mainly because the current version of B51 does not simulate them.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+
+library ieee;
+use ieee. std_logic_1164. all;
+use ieee. std_logic_arith. all;
+use ieee. std_logic_unsigned. all;
+use std. textio. all;
+
+use work. light52_pkg. all;
+use work. obj_code_pkg. all;
+use work. light52_tb_pkg. all;
+use work. txt_util. all;
+
+entity light52_tb is
+generic (BCD : boolean := true);
+end;
+
+
+architecture testbench of light52_tb is
+
+--------------------------------------------------------------------------------
+-- Simulation parameters
+-- FIXME these should be in parameter package
+
+-- Simulated clock period is the same as the usual target, the DE-1 board
+constant T : time := 20 ns ; -- 50MHz
+constant SIMULATION_LENGTH : integer := 400000 ;
+
+--------------------------------------------------------------------------------
+-- MPU interface
+
+signal clk : std_logic := '0' ;
+signal reset : std_logic := '1' ;
+
+signal p0_out : std_logic_vector (7 downto 0 );
+signal p1_out : std_logic_vector (7 downto 0 );
+signal p2_in : std_logic_vector (7 downto 0 );
+signal p3_in : std_logic_vector (7 downto 0 );
+
+signal external_irq : std_logic_vector (7 downto 0 );
+
+signal txd, rxd : std_logic ;
+
+--------------------------------------------------------------------------------
+-- Logging signals & simulation control
+
+-- Asserted high to disable the clock and terminate the simulation.
+signal done : std_logic := '0' ;
+
+-- Log file
+file log_file: TEXT open write_mode is "hw_sim_log.txt" ;
+-- Console output log file
+file con_file: TEXT open write_mode is "hw_sim_console_log.txt" ;
+-- Info record needed by the logging fuctions
+signal log_info : t_log_info;
+
+begin
+
+---- UUT instantiation ---------------------------------------------------------
+
+uut : entity work.light52_mcu
+ generic map (
+ IMPLEMENT_BCD_INSTRUCTIONS => BCD,
+ CODE_ROM_SIZE => work. obj_code_pkg. XCODE_SIZE,
+ XDATA_RAM_SIZE => work. obj_code_pkg. XDATA_SIZE,
+ OBJ_CODE => work. obj_code_pkg. object_code
+ )
+ port map (
+ clk => clk,
+ reset => reset,
+
+ txd => txd,
+ rxd => rxd,
+
+ external_irq => external_irq,
+
+ p0_out => p0_out,
+ p1_out => p1_out,
+ p2_in => p2_in,
+ p3_in => p3_in
+ );
+
+ -- UART is looped back in the test bench.
+ rxd <= txd;
+
+ -- I/O ports are looped back and otherwise unused.
+ p2_in <= p0_out;
+ p3_in <= p1_out;
+
+ -- External IRQ inputs are tied to port P1 for test purposes
+ external_irq <= p1_out;
+
+ ---- Master clock: free running clock used as main module clock ------------
+ run_master_clock : process (done, clk)
+ begin
+ if done = '0' then
+ clk <= not clk after T/ 2 ;
+ end if;
+ end process run_master_clock ;
+
+
+ ---- Main simulation process: reset MCU and wait for fixed period ----------
+
+ drive_uut : process
+ begin
+ -- Leave reset asserted for a few clock cycles...
+ reset <= '1' ;
+ wait for T* 4 ;
+ reset <= '0' ;
+
+ -- ...and wait for the test to hit a termination condition (evaluated by
+ -- function log_cpu_activity) or to just timeout.
+ wait for T* SIMULATION_LENGTH;
+
+ -- If we arrive here, the simulation timed out (termination conditions
+ -- trigger a failed assertion).
+ -- So print a timeout message and quit.
+ print("TB timed out." );
+ done <= '1' ;
+ wait ;
+
+ end process drive_uut ;
+
+
+ -- Logging process: launch logger functions --------------------------------
+ log_execution : process
+ begin
+ -- Log cpu activity until done='1'.
+ log_cpu_activity(clk, reset, done, "/uut" ,
+ log_info, work. obj_code_pkg. XCODE_SIZE, "log_info" ,
+ X"0000" , log_file, con_file);
+
+ -- Flush console log file when finished.
+ log_flush_console(log_info, con_file);
+
+ wait ;
+ end process log_execution ;
+
+end architecture testbench;
+
diff --git a/autotests/html/meson.build.html b/autotests/html/meson.build.html
new file mode 100644
index 0000000..66e7942
--- /dev/null
+++ b/autotests/html/meson.build.html
@@ -0,0 +1,28 @@
+
+
+
+meson.build
+
+
+# Unit test for Meson syntax highlight. License: LGPL
+project ('projectname' , 'cpp' )
+
+
+
+sourcefiles = ['a.cpp' , 'b.cpp' ]
+
+foreach sourcefile : sourcefiles
+ message ('this is a source file: ' + sourcefile)
+endforeach
+
+x= 1
+if x+ 1 == 2 and x- 1 == 0
+ message ('I can work in this universe!' )
+endif
+
+subprojectresult = subproject ('mysubprojectdir' )
+
+mysharedlib = shared_library ('libraryname' , sourcefiles, linkwith: subprojectresult.staticlib)
+
+executable ('myprogram' , ['test.cpp' ], linkwith: mysharedlib)
+
diff --git a/autotests/html/or1200_dc_fsm.v.html b/autotests/html/or1200_dc_fsm.v.html
new file mode 100644
index 0000000..7f26b75
--- /dev/null
+++ b/autotests/html/or1200_dc_fsm.v.html
@@ -0,0 +1,570 @@
+
+
+
+or1200_dc_fsm.v
+
+
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's DC FSM ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Data cache state machine ////
+//// ////
+//// To Do: ////
+//// - Test error during line read or write ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// - Julius Baxter, julius@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000, 2010 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+// $Log: or1200_dc_fsm.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+//
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+`define OR1200_DCFSM_IDLE 3'd0
+`define OR1200_DCFSM_CLOADSTORE 3'd1
+`define OR1200_DCFSM_LOOP2 3'd2
+`define OR1200_DCFSM_LOOP3 3'd3
+`define OR1200_DCFSM_LOOP4 3'd4
+`define OR1200_DCFSM_FLUSH5 3'd5
+`define OR1200_DCFSM_INV6 3'd6
+`define OR1200_DCFSM_WAITSPRCS7 3'd7
+
+
+
+//
+// Data cache FSM for cache line of 16 bytes (4x singleword)
+//
+
+module or1200_dc_fsm
+ (
+ // Clock and reset
+ clk, rst,
+
+ // Internal i/f to top level DC
+ dc_en, dcqmem_cycstb_i, dcqmem_ci_i, dcqmem_we_i, dcqmem_sel_i,
+ tagcomp_miss, biudata_valid, biudata_error, lsu_addr,
+ dcram_we, biu_read, biu_write, biu_do_sel, dcram_di_sel, first_hit_ack,
+ first_miss_ack, first_miss_err, burst, tag_we, tag_valid, dc_addr,
+ dc_no_writethrough, tag_dirty, dirty, tag, tag_v, dc_block_flush,
+ dc_block_writeback, spr_dat_i, mtspr_dc_done, spr_cswe
+ );
+
+ //
+ // I/O
+ //
+ input clk;
+ input rst;
+ input dc_en;
+ input dcqmem_cycstb_i;
+ input dcqmem_ci_i;
+ input dcqmem_we_i;
+ input [3 :0 ] dcqmem_sel_i;
+ input tagcomp_miss;
+ input biudata_valid;
+ input biudata_error;
+ input [31 :0 ] lsu_addr;
+ output [3 :0 ] dcram_we;
+ output biu_read;
+ output biu_write;
+ output dcram_di_sel;
+ output biu_do_sel;
+ output first_hit_ack;
+ output first_miss_ack;
+ output first_miss_err;
+ output burst;
+ output tag_we;
+ output tag_valid;
+ output [31 :0 ] dc_addr;
+ input dc_no_writethrough;
+ output tag_dirty;
+ input dirty;
+ input [`OR1200_DCTAG_W -2 :0 ] tag;
+ input tag_v;
+ input dc_block_flush;
+ input dc_block_writeback;
+ input [31 :0 ] spr_dat_i;
+ output mtspr_dc_done;
+ input spr_cswe;
+
+
+ //
+ // Internal wires and regs
+ //
+ reg [31 :0 ] addr_r;
+ reg [2 :0 ] state;
+ reg [`OR1200_DCLS -1 :0 ] cnt;
+ reg hitmiss_eval;
+ reg store;
+ reg load;
+ reg cache_inhibit;
+ reg cache_miss;
+ reg cache_dirty_needs_writeback;
+ reg did_early_load_ack;
+ reg cache_spr_block_flush;
+ reg cache_spr_block_writeback;
+ reg cache_wb;
+ wire load_hit_ack;
+ wire load_miss_ack;
+ wire load_inhibit_ack;
+ wire store_hit_ack;
+ wire store_hit_writethrough_ack;
+ wire store_miss_writethrough_ack;
+ wire store_inhibit_ack;
+ wire store_miss_ack;
+ wire dcram_we_after_line_load;
+ wire dcram_we_during_line_load;
+ wire tagram_we_end_of_loadstore_loop;
+ wire tagram_dirty_bit_set;
+ wire writethrough;
+ wire cache_inhibit_with_eval;
+ wire [(`OR1200_DCLS -1 )-2 :0 ] next_addr_word;
+
+ //
+ // Cache inhibit
+ //
+
+ // Indicates whether cache is inhibited, during hitmiss_eval and after
+ assign cache_inhibit_with_eval = (hitmiss_eval & dcqmem_ci_i) |
+ (!hitmiss_eval & cache_inhibit);
+
+ //
+ // Generate of DCRAM write enables
+ //
+
+ // WE when non-writethrough, and had to wait for a line to load.
+ assign dcram_we_after_line_load = (state == `OR1200_DCFSM_LOOP3 ) &
+ dcqmem_we_i & !cache_dirty_needs_writeback &
+ !did_early_load_ack;
+
+ // WE when receiving the data cache line
+ assign dcram_we_during_line_load = (state == `OR1200_DCFSM_LOOP2 ) & load &
+ biudata_valid;
+
+ assign dcram_we =(// Write when hit - make sure it is only when hit - could
+ // maybe be doing write through and don't want to corrupt
+ // cache lines corresponding to the writethrough addr_r.
+ ({4 {store_hit_ack | store_hit_writethrough_ack}} |
+ // Write after load of line
+ {4 {dcram_we_after_line_load}}) &
+ dcqmem_sel_i ) |
+ // Write during load
+ {4 {dcram_we_during_line_load}};
+
+ //
+ // Tag RAM signals
+ //
+
+ // WE to tag RAM when we finish loading a line.
+ assign tagram_we_end_of_loadstore_loop = ((state==`OR1200_DCFSM_LOOP2 ) &
+ biudata_valid & !(|cnt));
+
+`ifndef OR1200_DC_WRITETHROUGH
+ // No writethrough, so mark a line dirty whenever we write to it
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack;
+
+ // Generate done signal for MTSPR instructions that may block execution
+ assign mtspr_dc_done = // Either DC disabled or we're not selected, or
+ !dc_en | !spr_cswe |
+ // Requested address not valid or writeback and !dirty
+ ((state==`OR1200_DCFSM_FLUSH5 ) &
+ (!tag_v | (cache_spr_block_writeback & !dirty))) |
+ // Writeback or flush is finished
+ ((state==`OR1200_DCFSM_LOOP3 ) &
+ (cache_spr_block_flush | cache_spr_block_writeback))|
+ // Invalidate of clean line finished
+ ((state==`OR1200_DCFSM_INV6 ) & cache_spr_block_flush);
+
+
+`else
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ // For dirty bit setting when having writethrough but not for stack
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack;
+ `else
+ // Lines will never be dirty if always writethrough
+ assign tagram_dirty_bit_set = 0 ;
+ `endif
+
+ assign mtspr_dc_done = 1'b1 ;
+
+`endif
+
+ assign tag_dirty = tagram_dirty_bit_set;
+
+ // WE to tag RAM
+ assign tag_we = tagram_we_end_of_loadstore_loop |
+ tagram_dirty_bit_set | (state == `OR1200_DCFSM_INV6 );
+
+
+ // Valid bit
+ // Set valid when end of line load, or marking dirty (is still valid)
+ assign tag_valid = ( tagram_we_end_of_loadstore_loop &
+ (load | (store & cache_spr_block_writeback)) ) |
+ tagram_dirty_bit_set;
+
+
+
+ //
+ // BIU read and write
+ //
+
+ assign biu_read = // Bus read request when:
+ // 1) Have a miss and not dirty or a load with inhibit
+ ((state == `OR1200_DCFSM_CLOADSTORE ) &
+ (((hitmiss_eval & tagcomp_miss & !dirty &
+ !(store & writethrough)) |
+ (load & cache_inhibit_with_eval)) & dcqmem_cycstb_i)) |
+ // 2) In the loop and loading
+ ((state == `OR1200_DCFSM_LOOP2 ) & load);
+
+
+ assign biu_write = // Bus write request when:
+ // 1) Have a miss and dirty or store with inhibit
+ ((state == `OR1200_DCFSM_CLOADSTORE ) &
+ (((hitmiss_eval & tagcomp_miss & dirty) |
+ (store & writethrough)) |
+ (store & cache_inhibit_with_eval)) & dcqmem_cycstb_i) |
+ // 2) In the loop and storing
+ ((state == `OR1200_DCFSM_LOOP2 ) & store);
+
+ //
+ // Select for data to actual cache RAM (from LSU or BIU)
+ //
+ // Data to DCRAM - from external bus when loading (from IU when store)
+ assign dcram_di_sel = load;
+ // Data to external bus - always from IU except in case of bursting back
+ // the line to memory. (1 selects DCRAM)
+ assign biu_do_sel = (state == `OR1200_DCFSM_LOOP2 ) & store;
+
+ // 3-bit wire for calculating next word of burst write, depending on
+ // line size of data cache.
+ assign next_addr_word = addr_r[`OR1200_DCLS -1 :2 ] + 1 ;
+
+ // Address to cache RAM (tag address also derived from this)
+ assign dc_addr =
+ // First check if we've got a block flush or WB op
+ ((dc_block_flush & !cache_spr_block_flush) |
+ (dc_block_writeback & !cache_spr_block_writeback)) ?
+ spr_dat_i :
+ (state==`OR1200_DCFSM_FLUSH5 ) ? addr_r:
+ // If no SPR action, then always put out address from LSU
+ (state==`OR1200_DCFSM_IDLE | hitmiss_eval) ? lsu_addr :
+ // Next, if in writeback loop, when ACKed must immediately
+ // output next word address (the RAM address takes a cycle
+ // to increment, but it's needed immediately for burst)
+ // otherwise, output our registered address.
+ (state==`OR1200_DCFSM_LOOP2 & biudata_valid & store ) ?
+ {addr_r[31 :`OR1200_DCLS ], next_addr_word, 2'b00 } : addr_r;
+
+`ifdef OR1200_DC_WRITETHROUGH
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ assign writethrough = !dc_no_writethrough;
+ `else
+ assign writethrough = 1 ;
+ `endif
+`else
+ assign writethrough = 0 ;
+`endif
+
+ //
+ // ACK generation for LSU
+ //
+
+ // ACK for when it's a cache hit
+ assign first_hit_ack = load_hit_ack | store_hit_ack |
+ store_hit_writethrough_ack |
+ store_miss_writethrough_ack |
+ store_inhibit_ack | store_miss_ack ;
+
+ // ACK for when it's a cache miss - load only, is used in MUX for data back
+ // LSU straight off external data bus. In
+ // this was is also used for cache inhibit
+ // loads.
+ // first_hit_ack takes precedence over first_miss_ack
+ assign first_miss_ack = ~first_hit_ack & (load_miss_ack | load_inhibit_ack);
+
+ // ACK cache hit on load
+ assign load_hit_ack = (state == `OR1200_DCFSM_CLOADSTORE ) &
+ hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i & load;
+
+ // ACK cache hit on store, no writethrough
+ assign store_hit_ack = (state == `OR1200_DCFSM_CLOADSTORE ) &
+ hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i &
+ store & !writethrough;
+
+ // ACK cache hit on store with writethrough
+ assign store_hit_writethrough_ack = (state == `OR1200_DCFSM_CLOADSTORE ) &
+ !cache_miss & !cache_inhibit &
+ store & writethrough & biudata_valid;
+
+ // ACK cache miss on store with writethrough
+ assign store_miss_writethrough_ack = (state == `OR1200_DCFSM_CLOADSTORE ) &
+ cache_miss & !cache_inhibit &
+ store & writethrough & biudata_valid;
+
+ // ACK store when cacheinhibit
+ assign store_inhibit_ack = (state == `OR1200_DCFSM_CLOADSTORE ) &
+ store & cache_inhibit & biudata_valid;
+
+
+ // Get the _early_ ack on first ACK back from wishbone during load only
+ // Condition is that we're in the loop - that it's the first ack we get (can
+ // tell from value of cnt), and we're loading a line to read from it (not
+ // loading to write to it, in the case of a write without writethrough.)
+ assign load_miss_ack = ((state== `OR1200_DCFSM_LOOP2 ) & load &
+ (cnt==((1 << `OR1200_DCLS ) - 4 )) & biudata_valid &
+ !(dcqmem_we_i & !writethrough));
+
+ assign load_inhibit_ack = (state == `OR1200_DCFSM_CLOADSTORE ) &
+ load & cache_inhibit & biudata_valid;
+
+ // This will be case of write through disabled, and had to load a line.
+ assign store_miss_ack = dcram_we_after_line_load;
+
+ assign first_miss_err = biudata_error & dcqmem_cycstb_i;
+
+ // Signal burst when in the load/store loop. We will always try to burst.
+ assign burst = (state == `OR1200_DCFSM_LOOP2 );
+
+ //
+ // Main DC FSM
+ //
+ always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE ) begin
+ state <= `OR1200_DCFSM_IDLE ;
+ addr_r <= 32'd0 ;
+ hitmiss_eval <= 1'b0 ;
+ store <= 1'b0 ;
+ load <= 1'b0 ;
+ cnt <= `OR1200_DCLS 'd0 ;
+ cache_miss <= 1'b0 ;
+ cache_dirty_needs_writeback <= 1'b0 ;
+ cache_inhibit <= 1'b0 ;
+ did_early_load_ack <= 1'b0 ;
+ cache_spr_block_flush <= 1'b0 ;
+ cache_spr_block_writeback <= 1'b0 ;
+ end
+ else
+ case (state) // synopsys parallel_case
+
+ `OR1200_DCFSM_IDLE : begin
+ if (dc_en & (dc_block_flush | dc_block_writeback))
+ begin
+ cache_spr_block_flush <= dc_block_flush;
+ cache_spr_block_writeback <= dc_block_writeback;
+ hitmiss_eval <= 1'b1 ;
+ state <= `OR1200_DCFSM_FLUSH5 ;
+ addr_r <= spr_dat_i;
+ end
+ else if (dc_en & dcqmem_cycstb_i)
+ begin
+ state <= `OR1200_DCFSM_CLOADSTORE ;
+ hitmiss_eval <= 1'b1 ;
+ store <= dcqmem_we_i;
+ load <= !dcqmem_we_i;
+ end
+
+
+ end // case: `OR1200_DCFSM_IDLE
+
+ `OR1200_DCFSM_CLOADSTORE : begin
+ hitmiss_eval <= 1'b0 ;
+ if (hitmiss_eval) begin
+ cache_inhibit <= dcqmem_ci_i; // Check for cache inhibit here
+ cache_miss <= tagcomp_miss;
+ cache_dirty_needs_writeback <= dirty;
+ addr_r <= lsu_addr;
+ end
+
+ // Evaluate any cache line load/stores in first cycle:
+ //
+ if (hitmiss_eval & tagcomp_miss & !(store & writethrough) &
+ !dcqmem_ci_i)
+ begin
+ // Miss - first either:
+ // 1) write back dirty line
+ if (dirty) begin
+ // Address for writeback
+ addr_r <= {tag, lsu_addr[`OR1200_DCINDXH :2 ],2'd0 };
+ load <= 1'b0 ;
+ store <= 1'b1 ;
+`ifdef OR1200_VERBOSE
+ $display ("%t: dcache miss and dirty" , $time );
+`endif
+ end
+ // 2) load requested line
+ else begin
+ addr_r <= lsu_addr;
+ load <= 1'b1 ;
+ store <= 1'b0 ;
+ end // else: !if(dirty)
+ state <= `OR1200_DCFSM_LOOP2 ;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS ) - 4 );
+ end
+ else if (// Strobe goes low
+ !dcqmem_cycstb_i |
+ // Cycle finishes
+ (!hitmiss_eval & (biudata_valid | biudata_error)) |
+ // Cache hit in first cycle....
+ (hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i &
+ // .. and you're not doing a writethrough store..
+ !(store & writethrough))) begin
+ state <= `OR1200_DCFSM_IDLE ;
+ load <= 1'b0 ;
+ store <= 1'b0 ;
+ cache_inhibit <= 1'b0 ;
+ cache_dirty_needs_writeback <= 1'b0 ;
+ end
+ end // case: `OR1200_DCFSM_CLOADSTORE
+
+ `OR1200_DCFSM_LOOP2 : begin // loop/abort
+ if (!dc_en| biudata_error) begin
+ state <= `OR1200_DCFSM_IDLE ;
+ load <= 1'b0 ;
+ store <= 1'b0 ;
+ cnt <= `OR1200_DCLS 'd0 ;
+ end
+ if (biudata_valid & (|cnt)) begin
+ cnt <= cnt - 4 ;
+ addr_r[`OR1200_DCLS -1 :2 ] <= addr_r[`OR1200_DCLS -1 :2 ] + 1 ;
+ end
+ else if (biudata_valid & !(|cnt)) begin
+ state <= `OR1200_DCFSM_LOOP3 ;
+ addr_r <= lsu_addr;
+ load <= 1'b0 ;
+ store <= 1'b0 ;
+ end
+
+ // Track if we did an early ack during a load
+ if (load_miss_ack)
+ did_early_load_ack <= 1'b1 ;
+
+
+ end // case: `OR1200_DCFSM_LOOP2
+
+ `OR1200_DCFSM_LOOP3 : begin // figure out next step
+ if (cache_dirty_needs_writeback) begin
+ // Just did store of the dirty line so now load new one
+ load <= 1'b1 ;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS ) - 4 );
+ // Address of line to be loaded
+ addr_r <= lsu_addr;
+ cache_dirty_needs_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_LOOP2 ;
+ end // if (cache_dirty_needs_writeback)
+ else if (cache_spr_block_flush | cache_spr_block_writeback) begin
+ // Just wrote back the line to memory, we're finished.
+ cache_spr_block_flush <= 1'b0 ;
+ cache_spr_block_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_WAITSPRCS7 ;
+ end
+ else begin
+ // Just loaded a new line, finish up
+ did_early_load_ack <= 1'b0 ;
+ state <= `OR1200_DCFSM_LOOP4 ;
+ end
+ end // case: `OR1200_DCFSM_LOOP3
+
+ `OR1200_DCFSM_LOOP4 : begin
+ state <= `OR1200_DCFSM_IDLE ;
+ end
+
+ `OR1200_DCFSM_FLUSH5 : begin
+ hitmiss_eval <= 1'b0 ;
+ if (hitmiss_eval & !tag_v)
+ begin
+ // Not even cached, just ignore
+ cache_spr_block_flush <= 1'b0 ;
+ cache_spr_block_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_WAITSPRCS7 ;
+ end
+ else if (hitmiss_eval & tag_v)
+ begin
+ // Tag is valid - what do we do?
+ if ((cache_spr_block_flush | cache_spr_block_writeback) &
+ dirty) begin
+ // Need to writeback
+ // Address for writeback (spr_dat_i has already changed so
+ // use line number from addr_r)
+ addr_r <= {tag, addr_r[`OR1200_DCINDXH :2 ],2'd0 };
+ load <= 1'b0 ;
+ store <= 1'b1 ;
+`ifdef OR1200_VERBOSE
+ $display ("%t: block flush: dirty block" , $time );
+`endif
+ state <= `OR1200_DCFSM_LOOP2 ;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS ) - 4 );
+ end
+ else if (cache_spr_block_flush & !dirty)
+ begin
+ // Line not dirty, just need to invalidate
+ state <= `OR1200_DCFSM_INV6 ;
+ end // else: !if(dirty)
+ else if (cache_spr_block_writeback & !dirty)
+ begin
+ // Nothing to do - line is valid but not dirty
+ cache_spr_block_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_WAITSPRCS7 ;
+ end
+ end // if (hitmiss_eval & tag_v)
+ end
+ `OR1200_DCFSM_INV6 : begin
+ cache_spr_block_flush <= 1'b0 ;
+ // Wait until SPR CS goes low before going back to idle
+ if (!spr_cswe)
+ state <= `OR1200_DCFSM_IDLE ;
+ end
+ `OR1200_DCFSM_WAITSPRCS7 : begin
+ // Wait until SPR CS goes low before going back to idle
+ if (!spr_cswe)
+ state <= `OR1200_DCFSM_IDLE ;
+ end
+
+ endcase // case (state)
+
+ end // always @ (posedge clk or `OR1200_RST_EVENT rst)
+
+
+endmodule
+
diff --git a/autotests/html/or1200_du.v.html b/autotests/html/or1200_du.v.html
new file mode 100644
index 0000000..daf06ab
--- /dev/null
+++ b/autotests/html/or1200_du.v.html
@@ -0,0 +1,1810 @@
+
+
+
+or1200_du.v
+
+
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's Debug Unit ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://www.opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Basic OR1200 debug unit. ////
+//// ////
+//// To Do: ////
+//// - make it smaller and faster ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+//
+// $Log: or1200_du.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+//
+// Debug unit
+//
+
+module or1200_du(
+ // RISC Internal Interface
+ clk, rst,
+ dcpu_cycstb_i, dcpu_we_i, dcpu_adr_i, dcpu_dat_lsu,
+ dcpu_dat_dc, icpu_cycstb_i,
+ ex_freeze, branch_op, ex_insn, id_pc,
+ spr_dat_npc, rf_dataw,
+ du_dsr, du_dmr1, du_stall, du_addr, du_dat_i, du_dat_o,
+ du_read, du_write, du_except_stop, du_hwbkpt, du_flush_pipe,
+ spr_cs, spr_write, spr_addr, spr_dat_i, spr_dat_o,
+
+ // External Debug Interface
+ dbg_stall_i, dbg_ewt_i, dbg_lss_o, dbg_is_o, dbg_wp_o, dbg_bp_o,
+ dbg_stb_i, dbg_we_i, dbg_adr_i, dbg_dat_i, dbg_dat_o, dbg_ack_o
+);
+
+parameter dw = `OR1200_OPERAND_WIDTH ;
+parameter aw = `OR1200_OPERAND_WIDTH ;
+
+//
+// I/O
+//
+
+//
+// RISC Internal Interface
+//
+input clk; // Clock
+input rst; // Reset
+input dcpu_cycstb_i; // LSU status
+input dcpu_we_i; // LSU status
+input [31 :0 ] dcpu_adr_i; // LSU addr
+input [31 :0 ] dcpu_dat_lsu; // LSU store data
+input [31 :0 ] dcpu_dat_dc; // LSU load data
+input [`OR1200_FETCHOP_WIDTH -1 :0 ] icpu_cycstb_i; // IFETCH unit status
+input ex_freeze; // EX stage freeze
+input [`OR1200_BRANCHOP_WIDTH -1 :0 ] branch_op; // Branch op
+input [dw-1 :0 ] ex_insn; // EX insn
+input [31 :0 ] id_pc; // insn fetch EA
+input [31 :0 ] spr_dat_npc; // Next PC (for trace)
+input [31 :0 ] rf_dataw; // ALU result (for trace)
+output [`OR1200_DU_DSR_WIDTH -1 :0 ] du_dsr; // DSR
+output [24 : 0 ] du_dmr1;
+output du_stall; // Debug Unit Stall
+output [aw-1 :0 ] du_addr; // Debug Unit Address
+input [dw-1 :0 ] du_dat_i; // Debug Unit Data In
+output [dw-1 :0 ] du_dat_o; // Debug Unit Data Out
+output du_read; // Debug Unit Read Enable
+output du_write; // Debug Unit Write Enable
+input [13 :0 ] du_except_stop; // Exception masked by DSR
+output du_hwbkpt; // Cause trap exception (HW Breakpoints)
+output du_flush_pipe; // Cause pipeline flush and pc<-npc
+input spr_cs; // SPR Chip Select
+input spr_write; // SPR Read/Write
+input [aw-1 :0 ] spr_addr; // SPR Address
+input [dw-1 :0 ] spr_dat_i; // SPR Data Input
+output [dw-1 :0 ] spr_dat_o; // SPR Data Output
+
+//
+// External Debug Interface
+//
+input dbg_stall_i; // External Stall Input
+input dbg_ewt_i; // External Watchpoint Trigger Input
+output [3 :0 ] dbg_lss_o; // External Load/Store Unit Status
+output [1 :0 ] dbg_is_o; // External Insn Fetch Status
+output [10 :0 ] dbg_wp_o; // Watchpoints Outputs
+output dbg_bp_o; // Breakpoint Output
+input dbg_stb_i; // External Address/Data Strobe
+input dbg_we_i; // External Write Enable
+input [aw-1 :0 ] dbg_adr_i; // External Address Input
+input [dw-1 :0 ] dbg_dat_i; // External Data Input
+output [dw-1 :0 ] dbg_dat_o; // External Data Output
+output dbg_ack_o; // External Data Acknowledge (not WB compatible)
+reg [dw-1 :0 ] dbg_dat_o; // External Data Output
+reg dbg_ack_o; // External Data Acknowledge (not WB compatible)
+
+
+//
+// Some connections go directly from the CPU through DU to Debug I/F
+//
+`ifdef OR1200_DU_STATUS_UNIMPLEMENTED
+assign dbg_lss_o = 4'b0000 ;
+
+reg [1 :0 ] dbg_is_o;
+//
+// Show insn activity (temp, must be removed)
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dbg_is_o <= 2'b00 ;
+ else if (!ex_freeze & ~((ex_insn[31 :26 ] == `OR1200_OR32_NOP ) & ex_insn[16 ]))
+ dbg_is_o <= ~dbg_is_o;
+`ifdef UNUSED
+assign dbg_is_o = 2'b00 ;
+`endif
+`else
+assign dbg_lss_o = dcpu_cycstb_i ? {dcpu_we_i, 3'b000 } : 4'b0000 ;
+assign dbg_is_o = {1'b0 , icpu_cycstb_i};
+`endif
+assign dbg_wp_o = 11'b000_0000_0000 ;
+
+//
+// Some connections go directly from Debug I/F through DU to the CPU
+//
+assign du_stall = dbg_stall_i;
+assign du_addr = dbg_adr_i;
+assign du_dat_o = dbg_dat_i;
+assign du_read = dbg_stb_i && !dbg_we_i;
+assign du_write = dbg_stb_i && dbg_we_i;
+
+//
+// After a sw breakpoint, the replaced instruction need to be executed.
+// We flush the entire pipeline and set the pc to the current address
+// to execute the restored address.
+//
+
+reg du_flush_pipe_r;
+reg dbg_stall_i_r;
+
+assign du_flush_pipe = du_flush_pipe_r;
+
+//
+// Register du_flush_pipe
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE ) begin
+ du_flush_pipe_r <= 1'b0 ;
+ end
+ else begin
+ du_flush_pipe_r <= (dbg_stall_i_r && !dbg_stall_i && |du_except_stop);
+ end
+end
+
+//
+// Detect dbg_stall falling edge
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE ) begin
+ dbg_stall_i_r <= 1'b0 ;
+ end
+ else begin
+ dbg_stall_i_r <= dbg_stall_i;
+ end
+end
+
+reg dbg_ack;
+//
+// Generate acknowledge -- just delay stb signal
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE ) begin
+ dbg_ack <= 1'b0 ;
+ dbg_ack_o <= 1'b0 ;
+ end
+ else begin
+ dbg_ack <= dbg_stb_i; // valid when du_dat_i
+ dbg_ack_o <= dbg_ack & dbg_stb_i; // valid when dbg_dat_o
+ end
+end
+
+//
+// Register data output
+//
+always @(posedge clk)
+ dbg_dat_o <= du_dat_i;
+
+`ifdef OR1200_DU_IMPLEMENTED
+
+//
+// Debug Mode Register 1
+//
+`ifdef OR1200_DU_DMR1
+reg [24 :0 ] dmr1; // DMR1 implemented
+`else
+wire [24 :0 ] dmr1; // DMR1 not implemented
+`endif
+assign du_dmr1 = dmr1;
+
+//
+// Debug Mode Register 2
+//
+`ifdef OR1200_DU_DMR2
+reg [23 :0 ] dmr2; // DMR2 implemented
+`else
+wire [23 :0 ] dmr2; // DMR2 not implemented
+`endif
+
+//
+// Debug Stop Register
+//
+`ifdef OR1200_DU_DSR
+reg [`OR1200_DU_DSR_WIDTH -1 :0 ] dsr; // DSR implemented
+`else
+wire [`OR1200_DU_DSR_WIDTH -1 :0 ] dsr; // DSR not implemented
+`endif
+
+//
+// Debug Reason Register
+//
+`ifdef OR1200_DU_DRR
+reg [13 :0 ] drr; // DRR implemented
+`else
+wire [13 :0 ] drr; // DRR not implemented
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR0
+reg [31 :0 ] dvr0;
+`else
+wire [31 :0 ] dvr0;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR1
+reg [31 :0 ] dvr1;
+`else
+wire [31 :0 ] dvr1;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR2
+reg [31 :0 ] dvr2;
+`else
+wire [31 :0 ] dvr2;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR3
+reg [31 :0 ] dvr3;
+`else
+wire [31 :0 ] dvr3;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR4
+reg [31 :0 ] dvr4;
+`else
+wire [31 :0 ] dvr4;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR5
+reg [31 :0 ] dvr5;
+`else
+wire [31 :0 ] dvr5;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR6
+reg [31 :0 ] dvr6;
+`else
+wire [31 :0 ] dvr6;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR7
+reg [31 :0 ] dvr7;
+`else
+wire [31 :0 ] dvr7;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR0
+reg [7 :0 ] dcr0;
+`else
+wire [7 :0 ] dcr0;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR1
+reg [7 :0 ] dcr1;
+`else
+wire [7 :0 ] dcr1;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR2
+reg [7 :0 ] dcr2;
+`else
+wire [7 :0 ] dcr2;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR3
+reg [7 :0 ] dcr3;
+`else
+wire [7 :0 ] dcr3;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR4
+reg [7 :0 ] dcr4;
+`else
+wire [7 :0 ] dcr4;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR5
+reg [7 :0 ] dcr5;
+`else
+wire [7 :0 ] dcr5;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR6
+reg [7 :0 ] dcr6;
+`else
+wire [7 :0 ] dcr6;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR7
+reg [7 :0 ] dcr7;
+`else
+wire [7 :0 ] dcr7;
+`endif
+
+//
+// Debug Watchpoint Counter Register 0
+//
+`ifdef OR1200_DU_DWCR0
+reg [31 :0 ] dwcr0;
+`else
+wire [31 :0 ] dwcr0;
+`endif
+
+//
+// Debug Watchpoint Counter Register 1
+//
+`ifdef OR1200_DU_DWCR1
+reg [31 :0 ] dwcr1;
+`else
+wire [31 :0 ] dwcr1;
+`endif
+
+//
+// Internal wires
+//
+wire dmr1_sel; // DMR1 select
+wire dmr2_sel; // DMR2 select
+wire dsr_sel; // DSR select
+wire drr_sel; // DRR select
+wire dvr0_sel,
+ dvr1_sel,
+ dvr2_sel,
+ dvr3_sel,
+ dvr4_sel,
+ dvr5_sel,
+ dvr6_sel,
+ dvr7_sel; // DVR selects
+wire dcr0_sel,
+ dcr1_sel,
+ dcr2_sel,
+ dcr3_sel,
+ dcr4_sel,
+ dcr5_sel,
+ dcr6_sel,
+ dcr7_sel; // DCR selects
+wire dwcr0_sel,
+ dwcr1_sel; // DWCR selects
+reg dbg_bp_r;
+reg ex_freeze_q;
+`ifdef OR1200_DU_HWBKPTS
+reg [31 :0 ] match_cond0_ct;
+reg [31 :0 ] match_cond1_ct;
+reg [31 :0 ] match_cond2_ct;
+reg [31 :0 ] match_cond3_ct;
+reg [31 :0 ] match_cond4_ct;
+reg [31 :0 ] match_cond5_ct;
+reg [31 :0 ] match_cond6_ct;
+reg [31 :0 ] match_cond7_ct;
+reg match_cond0_stb;
+reg match_cond1_stb;
+reg match_cond2_stb;
+reg match_cond3_stb;
+reg match_cond4_stb;
+reg match_cond5_stb;
+reg match_cond6_stb;
+reg match_cond7_stb;
+reg match0;
+reg match1;
+reg match2;
+reg match3;
+reg match4;
+reg match5;
+reg match6;
+reg match7;
+reg wpcntr0_match;
+reg wpcntr1_match;
+reg incr_wpcntr0;
+reg incr_wpcntr1;
+reg [10 :0 ] wp;
+`endif
+wire du_hwbkpt;
+reg du_hwbkpt_hold;
+`ifdef OR1200_DU_READREGS
+reg [31 :0 ] spr_dat_o;
+`endif
+reg [13 :0 ] except_stop; // Exceptions that stop because of DSR
+`ifdef OR1200_DU_TB_IMPLEMENTED
+wire tb_enw;
+reg [7 :0 ] tb_wadr;
+reg [31 :0 ] tb_timstmp;
+`endif
+wire [31 :0 ] tbia_dat_o;
+wire [31 :0 ] tbim_dat_o;
+wire [31 :0 ] tbar_dat_o;
+wire [31 :0 ] tbts_dat_o;
+
+//
+// DU registers address decoder
+//
+`ifdef OR1200_DU_DMR1
+assign dmr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DMR1 ));
+`endif
+`ifdef OR1200_DU_DMR2
+assign dmr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DMR2 ));
+`endif
+`ifdef OR1200_DU_DSR
+assign dsr_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DSR ));
+`endif
+`ifdef OR1200_DU_DRR
+assign drr_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DRR ));
+`endif
+`ifdef OR1200_DU_DVR0
+assign dvr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR0 ));
+`endif
+`ifdef OR1200_DU_DVR1
+assign dvr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR1 ));
+`endif
+`ifdef OR1200_DU_DVR2
+assign dvr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR2 ));
+`endif
+`ifdef OR1200_DU_DVR3
+assign dvr3_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR3 ));
+`endif
+`ifdef OR1200_DU_DVR4
+assign dvr4_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR4 ));
+`endif
+`ifdef OR1200_DU_DVR5
+assign dvr5_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR5 ));
+`endif
+`ifdef OR1200_DU_DVR6
+assign dvr6_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR6 ));
+`endif
+`ifdef OR1200_DU_DVR7
+assign dvr7_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DVR7 ));
+`endif
+`ifdef OR1200_DU_DCR0
+assign dcr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR0 ));
+`endif
+`ifdef OR1200_DU_DCR1
+assign dcr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR1 ));
+`endif
+`ifdef OR1200_DU_DCR2
+assign dcr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR2 ));
+`endif
+`ifdef OR1200_DU_DCR3
+assign dcr3_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR3 ));
+`endif
+`ifdef OR1200_DU_DCR4
+assign dcr4_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR4 ));
+`endif
+`ifdef OR1200_DU_DCR5
+assign dcr5_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR5 ));
+`endif
+`ifdef OR1200_DU_DCR6
+assign dcr6_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR6 ));
+`endif
+`ifdef OR1200_DU_DCR7
+assign dcr7_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DCR7 ));
+`endif
+`ifdef OR1200_DU_DWCR0
+assign dwcr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DWCR0 ));
+`endif
+`ifdef OR1200_DU_DWCR1
+assign dwcr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS ] == `OR1200_DU_DWCR1 ));
+`endif
+
+// Track previous ex_freeze to detect when signals are updated
+always @(posedge clk)
+ ex_freeze_q <= ex_freeze;
+
+//
+// Decode started exception
+//
+// du_except_stop comes from or1200_except
+//
+always @(du_except_stop or ex_freeze_q) begin
+ except_stop = 14'b00_0000_0000_0000 ;
+ casez (du_except_stop)
+ 14'b1 ?_????_????_????:
+ except_stop[`OR1200_DU_DRR_TTE ] = 1'b1 ;
+ 14'b01_ ????_????_????: begin
+ except_stop[`OR1200_DU_DRR_IE ] = 1'b1 ;
+ end
+ 14'b00_1 ???_????_????: begin
+ except_stop[`OR1200_DU_DRR_IME ] = 1'b1 ;
+ end
+ 14'b00_01 ??_????_????:
+ except_stop[`OR1200_DU_DRR_IPFE ] = 1'b1 ;
+ 14'b00_001 ?_????_????: begin
+ except_stop[`OR1200_DU_DRR_BUSEE ] = 1'b1 ;
+ end
+ 14'b00_0001_ ????_????:
+ except_stop[`OR1200_DU_DRR_IIE ] = 1'b1 ;
+ 14'b00_0000_1 ???_????: begin
+ except_stop[`OR1200_DU_DRR_AE ] = 1'b1 ;
+ end
+ 14'b00_0000_01 ??_????: begin
+ except_stop[`OR1200_DU_DRR_DME ] = 1'b1 ;
+ end
+ 14'b00_0000_001 ?_????:
+ except_stop[`OR1200_DU_DRR_DPFE ] = 1'b1 ;
+ 14'b00_0000_0001_ ????:
+ except_stop[`OR1200_DU_DRR_BUSEE ] = 1'b1 ;
+ 14'b00_0000_0000_1 ???: begin
+ except_stop[`OR1200_DU_DRR_RE ] = 1'b1 ;
+ end
+ 14'b00_0000_0000_01 ??: begin
+ except_stop[`OR1200_DU_DRR_TE ] = 1'b1 & ~ex_freeze_q;
+ end
+ 14'b00_0000_0000_001 ?: begin
+ except_stop[`OR1200_DU_DRR_FPE ] = 1'b1 ;
+ end
+ 14'b00_0000_0000_0001 :
+ except_stop[`OR1200_DU_DRR_SCE ] = 1'b1 & ~ex_freeze_q;
+ default :
+ except_stop = 14'b00_0000_0000_0000 ;
+ endcase // casez (du_except_stop)
+end
+
+//
+// dbg_bp_o is registered
+//
+assign dbg_bp_o = dbg_bp_r;
+
+//
+// Breakpoint activation register
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dbg_bp_r <= 1'b0 ;
+ else if (!ex_freeze)
+ dbg_bp_r <= |except_stop
+`ifdef OR1200_DU_DMR1_ST
+ | ~((ex_insn[31 :26 ] == `OR1200_OR32_NOP ) & ex_insn[16 ]) & dmr1[`OR1200_DU_DMR1_ST ]
+`endif
+`ifdef OR1200_DU_DMR1_BT
+ | (branch_op != `OR1200_BRANCHOP_NOP ) & (branch_op != `OR1200_BRANCHOP_RFE ) & dmr1[`OR1200_DU_DMR1_BT ]
+`endif
+ ;
+ else
+ dbg_bp_r <= |except_stop;
+
+//
+// Write to DMR1
+//
+`ifdef OR1200_DU_DMR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dmr1 <= 25'h000_0000 ;
+ else if (dmr1_sel && spr_write)
+`ifdef OR1200_DU_HWBKPTS
+ dmr1 <= spr_dat_i[24 :0 ];
+`else
+ dmr1 <= {1'b0 , spr_dat_i[23 :22 ], 22'h00_0000 };
+`endif
+`else
+assign dmr1 = 25'h000_0000 ;
+`endif
+
+//
+// Write to DMR2
+//
+`ifdef OR1200_DU_DMR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dmr2 <= 24'h00_0000 ;
+ else if (dmr2_sel && spr_write)
+ dmr2 <= spr_dat_i[23 :0 ];
+`else
+assign dmr2 = 24'h00_0000 ;
+`endif
+
+//
+// Write to DSR
+//
+`ifdef OR1200_DU_DSR
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dsr <= {`OR1200_DU_DSR_WIDTH {1'b0 }};
+ else if (dsr_sel && spr_write)
+ dsr <= spr_dat_i[`OR1200_DU_DSR_WIDTH -1 :0 ];
+`else
+assign dsr = {`OR1200_DU_DSR_WIDTH {1'b0 }};
+`endif
+
+//
+// Write to DRR
+//
+`ifdef OR1200_DU_DRR
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ drr <= 14'b0 ;
+ else if (drr_sel && spr_write)
+ drr <= spr_dat_i[13 :0 ];
+ else
+ drr <= drr | except_stop;
+`else
+assign drr = 14'b0 ;
+`endif
+
+//
+// Write to DVR0
+//
+`ifdef OR1200_DU_DVR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr0 <= 32'h0000_0000 ;
+ else if (dvr0_sel && spr_write)
+ dvr0 <= spr_dat_i[31 :0 ];
+`else
+assign dvr0 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR1
+//
+`ifdef OR1200_DU_DVR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr1 <= 32'h0000_0000 ;
+ else if (dvr1_sel && spr_write)
+ dvr1 <= spr_dat_i[31 :0 ];
+`else
+assign dvr1 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR2
+//
+`ifdef OR1200_DU_DVR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr2 <= 32'h0000_0000 ;
+ else if (dvr2_sel && spr_write)
+ dvr2 <= spr_dat_i[31 :0 ];
+`else
+assign dvr2 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR3
+//
+`ifdef OR1200_DU_DVR3
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr3 <= 32'h0000_0000 ;
+ else if (dvr3_sel && spr_write)
+ dvr3 <= spr_dat_i[31 :0 ];
+`else
+assign dvr3 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR4
+//
+`ifdef OR1200_DU_DVR4
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr4 <= 32'h0000_0000 ;
+ else if (dvr4_sel && spr_write)
+ dvr4 <= spr_dat_i[31 :0 ];
+`else
+assign dvr4 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR5
+//
+`ifdef OR1200_DU_DVR5
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr5 <= 32'h0000_0000 ;
+ else if (dvr5_sel && spr_write)
+ dvr5 <= spr_dat_i[31 :0 ];
+`else
+assign dvr5 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR6
+//
+`ifdef OR1200_DU_DVR6
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr6 <= 32'h0000_0000 ;
+ else if (dvr6_sel && spr_write)
+ dvr6 <= spr_dat_i[31 :0 ];
+`else
+assign dvr6 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR7
+//
+`ifdef OR1200_DU_DVR7
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dvr7 <= 32'h0000_0000 ;
+ else if (dvr7_sel && spr_write)
+ dvr7 <= spr_dat_i[31 :0 ];
+`else
+assign dvr7 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DCR0
+//
+`ifdef OR1200_DU_DCR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr0 <= 8'h00 ;
+ else if (dcr0_sel && spr_write)
+ dcr0 <= spr_dat_i[7 :0 ];
+`else
+assign dcr0 = 8'h00 ;
+`endif
+
+//
+// Write to DCR1
+//
+`ifdef OR1200_DU_DCR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr1 <= 8'h00 ;
+ else if (dcr1_sel && spr_write)
+ dcr1 <= spr_dat_i[7 :0 ];
+`else
+assign dcr1 = 8'h00 ;
+`endif
+
+//
+// Write to DCR2
+//
+`ifdef OR1200_DU_DCR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr2 <= 8'h00 ;
+ else if (dcr2_sel && spr_write)
+ dcr2 <= spr_dat_i[7 :0 ];
+`else
+assign dcr2 = 8'h00 ;
+`endif
+
+//
+// Write to DCR3
+//
+`ifdef OR1200_DU_DCR3
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr3 <= 8'h00 ;
+ else if (dcr3_sel && spr_write)
+ dcr3 <= spr_dat_i[7 :0 ];
+`else
+assign dcr3 = 8'h00 ;
+`endif
+
+//
+// Write to DCR4
+//
+`ifdef OR1200_DU_DCR4
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr4 <= 8'h00 ;
+ else if (dcr4_sel && spr_write)
+ dcr4 <= spr_dat_i[7 :0 ];
+`else
+assign dcr4 = 8'h00 ;
+`endif
+
+//
+// Write to DCR5
+//
+`ifdef OR1200_DU_DCR5
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr5 <= 8'h00 ;
+ else if (dcr5_sel && spr_write)
+ dcr5 <= spr_dat_i[7 :0 ];
+`else
+assign dcr5 = 8'h00 ;
+`endif
+
+//
+// Write to DCR6
+//
+`ifdef OR1200_DU_DCR6
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr6 <= 8'h00 ;
+ else if (dcr6_sel && spr_write)
+ dcr6 <= spr_dat_i[7 :0 ];
+`else
+assign dcr6 = 8'h00 ;
+`endif
+
+//
+// Write to DCR7
+//
+`ifdef OR1200_DU_DCR7
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dcr7 <= 8'h00 ;
+ else if (dcr7_sel && spr_write)
+ dcr7 <= spr_dat_i[7 :0 ];
+`else
+assign dcr7 = 8'h00 ;
+`endif
+
+//
+// Write to DWCR0
+//
+`ifdef OR1200_DU_DWCR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dwcr0 <= 32'h0000_0000 ;
+ else if (dwcr0_sel && spr_write)
+ dwcr0 <= spr_dat_i[31 :0 ];
+ else if (incr_wpcntr0)
+ dwcr0[`OR1200_DU_DWCR_COUNT ] <= dwcr0[`OR1200_DU_DWCR_COUNT ] + 16'h0001 ;
+`else
+assign dwcr0 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DWCR1
+//
+`ifdef OR1200_DU_DWCR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ dwcr1 <= 32'h0000_0000 ;
+ else if (dwcr1_sel && spr_write)
+ dwcr1 <= spr_dat_i[31 :0 ];
+ else if (incr_wpcntr1)
+ dwcr1[`OR1200_DU_DWCR_COUNT ] <= dwcr1[`OR1200_DU_DWCR_COUNT ] + 16'h0001 ;
+`else
+assign dwcr1 = 32'h0000_0000 ;
+`endif
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+always @(spr_addr or dsr or drr or dmr1 or dmr2
+ or dvr0 or dvr1 or dvr2 or dvr3 or dvr4
+ or dvr5 or dvr6 or dvr7
+ or dcr0 or dcr1 or dcr2 or dcr3 or dcr4
+ or dcr5 or dcr6 or dcr7
+ or dwcr0 or dwcr1
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ or tb_wadr or tbia_dat_o or tbim_dat_o
+ or tbar_dat_o or tbts_dat_o
+`endif
+ )
+ casez (spr_addr[`OR1200_DUOFS_BITS ]) // synopsys parallel_case
+`ifdef OR1200_DU_DVR0
+ `OR1200_DU_DVR0 :
+ spr_dat_o = dvr0;
+`endif
+`ifdef OR1200_DU_DVR1
+ `OR1200_DU_DVR1 :
+ spr_dat_o = dvr1;
+`endif
+`ifdef OR1200_DU_DVR2
+ `OR1200_DU_DVR2 :
+ spr_dat_o = dvr2;
+`endif
+`ifdef OR1200_DU_DVR3
+ `OR1200_DU_DVR3 :
+ spr_dat_o = dvr3;
+`endif
+`ifdef OR1200_DU_DVR4
+ `OR1200_DU_DVR4 :
+ spr_dat_o = dvr4;
+`endif
+`ifdef OR1200_DU_DVR5
+ `OR1200_DU_DVR5 :
+ spr_dat_o = dvr5;
+`endif
+`ifdef OR1200_DU_DVR6
+ `OR1200_DU_DVR6 :
+ spr_dat_o = dvr6;
+`endif
+`ifdef OR1200_DU_DVR7
+ `OR1200_DU_DVR7 :
+ spr_dat_o = dvr7;
+`endif
+`ifdef OR1200_DU_DCR0
+ `OR1200_DU_DCR0 :
+ spr_dat_o = {24'h00_0000 , dcr0};
+`endif
+`ifdef OR1200_DU_DCR1
+ `OR1200_DU_DCR1 :
+ spr_dat_o = {24'h00_0000 , dcr1};
+`endif
+`ifdef OR1200_DU_DCR2
+ `OR1200_DU_DCR2 :
+ spr_dat_o = {24'h00_0000 , dcr2};
+`endif
+`ifdef OR1200_DU_DCR3
+ `OR1200_DU_DCR3 :
+ spr_dat_o = {24'h00_0000 , dcr3};
+`endif
+`ifdef OR1200_DU_DCR4
+ `OR1200_DU_DCR4 :
+ spr_dat_o = {24'h00_0000 , dcr4};
+`endif
+`ifdef OR1200_DU_DCR5
+ `OR1200_DU_DCR5 :
+ spr_dat_o = {24'h00_0000 , dcr5};
+`endif
+`ifdef OR1200_DU_DCR6
+ `OR1200_DU_DCR6 :
+ spr_dat_o = {24'h00_0000 , dcr6};
+`endif
+`ifdef OR1200_DU_DCR7
+ `OR1200_DU_DCR7 :
+ spr_dat_o = {24'h00_0000 , dcr7};
+`endif
+`ifdef OR1200_DU_DMR1
+ `OR1200_DU_DMR1 :
+ spr_dat_o = {7'h00 , dmr1};
+`endif
+`ifdef OR1200_DU_DMR2
+ `OR1200_DU_DMR2 :
+ spr_dat_o = {8'h00 , dmr2};
+`endif
+`ifdef OR1200_DU_DWCR0
+ `OR1200_DU_DWCR0 :
+ spr_dat_o = dwcr0;
+`endif
+`ifdef OR1200_DU_DWCR1
+ `OR1200_DU_DWCR1 :
+ spr_dat_o = dwcr1;
+`endif
+`ifdef OR1200_DU_DSR
+ `OR1200_DU_DSR :
+ spr_dat_o = {18'b0 , dsr};
+`endif
+`ifdef OR1200_DU_DRR
+ `OR1200_DU_DRR :
+ spr_dat_o = {18'b0 , drr};
+`endif
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ `OR1200_DU_TBADR :
+ spr_dat_o = {24'h000000 , tb_wadr};
+ `OR1200_DU_TBIA :
+ spr_dat_o = tbia_dat_o;
+ `OR1200_DU_TBIM :
+ spr_dat_o = tbim_dat_o;
+ `OR1200_DU_TBAR :
+ spr_dat_o = tbar_dat_o;
+ `OR1200_DU_TBTS :
+ spr_dat_o = tbts_dat_o;
+`endif
+ default :
+ spr_dat_o = 32'h0000_0000 ;
+ endcase
+`endif
+
+//
+// DSR alias
+//
+assign du_dsr = dsr;
+
+`ifdef OR1200_DU_HWBKPTS
+
+//
+// Compare To What (Match Condition 0)
+//
+always @(dcr0 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr0[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond0_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond0_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond0_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond0_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond0_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond0_ct = dcpu_adr_i; // load/store EA
+ default :match_cond0_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 0)
+//
+always @(dcr0 or dcpu_cycstb_i)
+ case (dcr0[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond0_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond0_stb = 1'b1 ; // insn fetch EA
+ default :match_cond0_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 0
+//
+always @(match_cond0_stb or dcr0 or dvr0 or match_cond0_ct)
+ casex ({match_cond0_stb, dcr0[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match0 = 1'b0 ;
+ 4'b1_001 : match0 =
+ ({(match_cond0_ct[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), match_cond0_ct[30 :0 ]} ==
+ {(dvr0[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), dvr0[30 :0 ]});
+ 4'b1_010 : match0 =
+ ({(match_cond0_ct[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), match_cond0_ct[30 :0 ]} <
+ {(dvr0[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), dvr0[30 :0 ]});
+ 4'b1_011 : match0 =
+ ({(match_cond0_ct[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), match_cond0_ct[30 :0 ]} <=
+ {(dvr0[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), dvr0[30 :0 ]});
+ 4'b1_100 : match0 =
+ ({(match_cond0_ct[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), match_cond0_ct[30 :0 ]} >
+ {(dvr0[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), dvr0[30 :0 ]});
+ 4'b1_101 : match0 =
+ ({(match_cond0_ct[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), match_cond0_ct[30 :0 ]} >=
+ {(dvr0[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), dvr0[30 :0 ]});
+ 4'b1_110 : match0 =
+ ({(match_cond0_ct[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), match_cond0_ct[30 :0 ]} !=
+ {(dvr0[31 ] ^ dcr0[`OR1200_DU_DCR_SC ]), dvr0[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 0
+//
+always @(dmr1 or match0)
+ case (dmr1[`OR1200_DU_DMR1_CW0 ])
+ 2'b00 : wp[0 ] = match0;
+ 2'b01 : wp[0 ] = match0;
+ 2'b10 : wp[0 ] = match0;
+ 2'b11 : wp[0 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 1)
+//
+always @(dcr1 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr1[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond1_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond1_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond1_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond1_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond1_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond1_ct = dcpu_adr_i; // load/store EA
+ default :match_cond1_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 1)
+//
+always @(dcr1 or dcpu_cycstb_i)
+ case (dcr1[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond1_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond1_stb = 1'b1 ; // insn fetch EA
+ default :match_cond1_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 1
+//
+always @(match_cond1_stb or dcr1 or dvr1 or match_cond1_ct)
+ casex ({match_cond1_stb, dcr1[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match1 = 1'b0 ;
+ 4'b1_001 : match1 =
+ ({(match_cond1_ct[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), match_cond1_ct[30 :0 ]} ==
+ {(dvr1[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), dvr1[30 :0 ]});
+ 4'b1_010 : match1 =
+ ({(match_cond1_ct[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), match_cond1_ct[30 :0 ]} <
+ {(dvr1[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), dvr1[30 :0 ]});
+ 4'b1_011 : match1 =
+ ({(match_cond1_ct[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), match_cond1_ct[30 :0 ]} <=
+ {(dvr1[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), dvr1[30 :0 ]});
+ 4'b1_100 : match1 =
+ ({(match_cond1_ct[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), match_cond1_ct[30 :0 ]} >
+ {(dvr1[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), dvr1[30 :0 ]});
+ 4'b1_101 : match1 =
+ ({(match_cond1_ct[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), match_cond1_ct[30 :0 ]} >=
+ {(dvr1[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), dvr1[30 :0 ]});
+ 4'b1_110 : match1 =
+ ({(match_cond1_ct[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), match_cond1_ct[30 :0 ]} !=
+ {(dvr1[31 ] ^ dcr1[`OR1200_DU_DCR_SC ]), dvr1[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 1
+//
+always @(dmr1 or match1 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW1 ])
+ 2'b00 : wp[1 ] = match1;
+ 2'b01 : wp[1 ] = match1 & wp[0 ];
+ 2'b10 : wp[1 ] = match1 | wp[0 ];
+ 2'b11 : wp[1 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 2)
+//
+always @(dcr2 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr2[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond2_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond2_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond2_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond2_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond2_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond2_ct = dcpu_adr_i; // load/store EA
+ default :match_cond2_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 2)
+//
+always @(dcr2 or dcpu_cycstb_i)
+ case (dcr2[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond2_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond2_stb = 1'b1 ; // insn fetch EA
+ default :match_cond2_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 2
+//
+always @(match_cond2_stb or dcr2 or dvr2 or match_cond2_ct)
+ casex ({match_cond2_stb, dcr2[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match2 = 1'b0 ;
+ 4'b1_001 : match2 =
+ ({(match_cond2_ct[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), match_cond2_ct[30 :0 ]} ==
+ {(dvr2[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), dvr2[30 :0 ]});
+ 4'b1_010 : match2 =
+ ({(match_cond2_ct[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), match_cond2_ct[30 :0 ]} <
+ {(dvr2[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), dvr2[30 :0 ]});
+ 4'b1_011 : match2 =
+ ({(match_cond2_ct[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), match_cond2_ct[30 :0 ]} <=
+ {(dvr2[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), dvr2[30 :0 ]});
+ 4'b1_100 : match2 =
+ ({(match_cond2_ct[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), match_cond2_ct[30 :0 ]} >
+ {(dvr2[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), dvr2[30 :0 ]});
+ 4'b1_101 : match2 =
+ ({(match_cond2_ct[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), match_cond2_ct[30 :0 ]} >=
+ {(dvr2[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), dvr2[30 :0 ]});
+ 4'b1_110 : match2 =
+ ({(match_cond2_ct[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), match_cond2_ct[30 :0 ]} !=
+ {(dvr2[31 ] ^ dcr2[`OR1200_DU_DCR_SC ]), dvr2[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 2
+//
+always @(dmr1 or match2 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW2 ])
+ 2'b00 : wp[2 ] = match2;
+ 2'b01 : wp[2 ] = match2 & wp[1 ];
+ 2'b10 : wp[2 ] = match2 | wp[1 ];
+ 2'b11 : wp[2 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 3)
+//
+always @(dcr3 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr3[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond3_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond3_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond3_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond3_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond3_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond3_ct = dcpu_adr_i; // load/store EA
+ default :match_cond3_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 3)
+//
+always @(dcr3 or dcpu_cycstb_i)
+ case (dcr3[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond3_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond3_stb = 1'b1 ; // insn fetch EA
+ default :match_cond3_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 3
+//
+always @(match_cond3_stb or dcr3 or dvr3 or match_cond3_ct)
+ casex ({match_cond3_stb, dcr3[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match3 = 1'b0 ;
+ 4'b1_001 : match3 =
+ ({(match_cond3_ct[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), match_cond3_ct[30 :0 ]} ==
+ {(dvr3[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), dvr3[30 :0 ]});
+ 4'b1_010 : match3 =
+ ({(match_cond3_ct[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), match_cond3_ct[30 :0 ]} <
+ {(dvr3[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), dvr3[30 :0 ]});
+ 4'b1_011 : match3 =
+ ({(match_cond3_ct[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), match_cond3_ct[30 :0 ]} <=
+ {(dvr3[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), dvr3[30 :0 ]});
+ 4'b1_100 : match3 =
+ ({(match_cond3_ct[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), match_cond3_ct[30 :0 ]} >
+ {(dvr3[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), dvr3[30 :0 ]});
+ 4'b1_101 : match3 =
+ ({(match_cond3_ct[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), match_cond3_ct[30 :0 ]} >=
+ {(dvr3[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), dvr3[30 :0 ]});
+ 4'b1_110 : match3 =
+ ({(match_cond3_ct[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), match_cond3_ct[30 :0 ]} !=
+ {(dvr3[31 ] ^ dcr3[`OR1200_DU_DCR_SC ]), dvr3[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 3
+//
+always @(dmr1 or match3 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW3 ])
+ 2'b00 : wp[3 ] = match3;
+ 2'b01 : wp[3 ] = match3 & wp[2 ];
+ 2'b10 : wp[3 ] = match3 | wp[2 ];
+ 2'b11 : wp[3 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 4)
+//
+always @(dcr4 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr4[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond4_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond4_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond4_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond4_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond4_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond4_ct = dcpu_adr_i; // load/store EA
+ default :match_cond4_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 4)
+//
+always @(dcr4 or dcpu_cycstb_i)
+ case (dcr4[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond4_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond4_stb = 1'b1 ; // insn fetch EA
+ default :match_cond4_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 4
+//
+always @(match_cond4_stb or dcr4 or dvr4 or match_cond4_ct)
+ casex ({match_cond4_stb, dcr4[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match4 = 1'b0 ;
+ 4'b1_001 : match4 =
+ ({(match_cond4_ct[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), match_cond4_ct[30 :0 ]} ==
+ {(dvr4[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), dvr4[30 :0 ]});
+ 4'b1_010 : match4 =
+ ({(match_cond4_ct[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), match_cond4_ct[30 :0 ]} <
+ {(dvr4[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), dvr4[30 :0 ]});
+ 4'b1_011 : match4 =
+ ({(match_cond4_ct[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), match_cond4_ct[30 :0 ]} <=
+ {(dvr4[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), dvr4[30 :0 ]});
+ 4'b1_100 : match4 =
+ ({(match_cond4_ct[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), match_cond4_ct[30 :0 ]} >
+ {(dvr4[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), dvr4[30 :0 ]});
+ 4'b1_101 : match4 =
+ ({(match_cond4_ct[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), match_cond4_ct[30 :0 ]} >=
+ {(dvr4[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), dvr4[30 :0 ]});
+ 4'b1_110 : match4 =
+ ({(match_cond4_ct[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), match_cond4_ct[30 :0 ]} !=
+ {(dvr4[31 ] ^ dcr4[`OR1200_DU_DCR_SC ]), dvr4[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 4
+//
+always @(dmr1 or match4 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW4 ])
+ 2'b00 : wp[4 ] = match4;
+ 2'b01 : wp[4 ] = match4 & wp[3 ];
+ 2'b10 : wp[4 ] = match4 | wp[3 ];
+ 2'b11 : wp[4 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 5)
+//
+always @(dcr5 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr5[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond5_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond5_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond5_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond5_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond5_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond5_ct = dcpu_adr_i; // load/store EA
+ default :match_cond5_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 5)
+//
+always @(dcr5 or dcpu_cycstb_i)
+ case (dcr5[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond5_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond5_stb = 1'b1 ; // insn fetch EA
+ default :match_cond5_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 5
+//
+always @(match_cond5_stb or dcr5 or dvr5 or match_cond5_ct)
+ casex ({match_cond5_stb, dcr5[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match5 = 1'b0 ;
+ 4'b1_001 : match5 =
+ ({(match_cond5_ct[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), match_cond5_ct[30 :0 ]} ==
+ {(dvr5[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), dvr5[30 :0 ]});
+ 4'b1_010 : match5 =
+ ({(match_cond5_ct[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), match_cond5_ct[30 :0 ]} <
+ {(dvr5[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), dvr5[30 :0 ]});
+ 4'b1_011 : match5 =
+ ({(match_cond5_ct[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), match_cond5_ct[30 :0 ]} <=
+ {(dvr5[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), dvr5[30 :0 ]});
+ 4'b1_100 : match5 =
+ ({(match_cond5_ct[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), match_cond5_ct[30 :0 ]} >
+ {(dvr5[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), dvr5[30 :0 ]});
+ 4'b1_101 : match5 =
+ ({(match_cond5_ct[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), match_cond5_ct[30 :0 ]} >=
+ {(dvr5[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), dvr5[30 :0 ]});
+ 4'b1_110 : match5 =
+ ({(match_cond5_ct[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), match_cond5_ct[30 :0 ]} !=
+ {(dvr5[31 ] ^ dcr5[`OR1200_DU_DCR_SC ]), dvr5[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 5
+//
+always @(dmr1 or match5 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW5 ])
+ 2'b00 : wp[5 ] = match5;
+ 2'b01 : wp[5 ] = match5 & wp[4 ];
+ 2'b10 : wp[5 ] = match5 | wp[4 ];
+ 2'b11 : wp[5 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 6)
+//
+always @(dcr6 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr6[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond6_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond6_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond6_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond6_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond6_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond6_ct = dcpu_adr_i; // load/store EA
+ default :match_cond6_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 6)
+//
+always @(dcr6 or dcpu_cycstb_i)
+ case (dcr6[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond6_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond6_stb = 1'b1 ; // insn fetch EA
+ default :match_cond6_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 6
+//
+always @(match_cond6_stb or dcr6 or dvr6 or match_cond6_ct)
+ casex ({match_cond6_stb, dcr6[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match6 = 1'b0 ;
+ 4'b1_001 : match6 =
+ ({(match_cond6_ct[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), match_cond6_ct[30 :0 ]} ==
+ {(dvr6[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), dvr6[30 :0 ]});
+ 4'b1_010 : match6 =
+ ({(match_cond6_ct[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), match_cond6_ct[30 :0 ]} <
+ {(dvr6[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), dvr6[30 :0 ]});
+ 4'b1_011 : match6 =
+ ({(match_cond6_ct[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), match_cond6_ct[30 :0 ]} <=
+ {(dvr6[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), dvr6[30 :0 ]});
+ 4'b1_100 : match6 =
+ ({(match_cond6_ct[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), match_cond6_ct[30 :0 ]} >
+ {(dvr6[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), dvr6[30 :0 ]});
+ 4'b1_101 : match6 =
+ ({(match_cond6_ct[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), match_cond6_ct[30 :0 ]} >=
+ {(dvr6[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), dvr6[30 :0 ]});
+ 4'b1_110 : match6 =
+ ({(match_cond6_ct[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), match_cond6_ct[30 :0 ]} !=
+ {(dvr6[31 ] ^ dcr6[`OR1200_DU_DCR_SC ]), dvr6[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 6
+//
+always @(dmr1 or match6 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW6 ])
+ 2'b00 : wp[6 ] = match6;
+ 2'b01 : wp[6 ] = match6 & wp[5 ];
+ 2'b10 : wp[6 ] = match6 | wp[5 ];
+ 2'b11 : wp[6 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 7)
+//
+always @(dcr7 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr7[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond7_ct = id_pc; // insn fetch EA
+ 3'b010 : match_cond7_ct = dcpu_adr_i; // load EA
+ 3'b011 : match_cond7_ct = dcpu_adr_i; // store EA
+ 3'b100 : match_cond7_ct = dcpu_dat_dc; // load data
+ 3'b101 : match_cond7_ct = dcpu_dat_lsu; // store data
+ 3'b110 : match_cond7_ct = dcpu_adr_i; // load/store EA
+ default :match_cond7_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 7)
+//
+always @(dcr7 or dcpu_cycstb_i)
+ case (dcr7[`OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond7_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond7_stb = 1'b1 ; // insn fetch EA
+ default :match_cond7_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 7
+//
+always @(match_cond7_stb or dcr7 or dvr7 or match_cond7_ct)
+ casex ({match_cond7_stb, dcr7[`OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match7 = 1'b0 ;
+ 4'b1_001 : match7 =
+ ({(match_cond7_ct[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), match_cond7_ct[30 :0 ]} ==
+ {(dvr7[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), dvr7[30 :0 ]});
+ 4'b1_010 : match7 =
+ ({(match_cond7_ct[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), match_cond7_ct[30 :0 ]} <
+ {(dvr7[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), dvr7[30 :0 ]});
+ 4'b1_011 : match7 =
+ ({(match_cond7_ct[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), match_cond7_ct[30 :0 ]} <=
+ {(dvr7[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), dvr7[30 :0 ]});
+ 4'b1_100 : match7 =
+ ({(match_cond7_ct[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), match_cond7_ct[30 :0 ]} >
+ {(dvr7[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), dvr7[30 :0 ]});
+ 4'b1_101 : match7 =
+ ({(match_cond7_ct[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), match_cond7_ct[30 :0 ]} >=
+ {(dvr7[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), dvr7[30 :0 ]});
+ 4'b1_110 : match7 =
+ ({(match_cond7_ct[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), match_cond7_ct[30 :0 ]} !=
+ {(dvr7[31 ] ^ dcr7[`OR1200_DU_DCR_SC ]), dvr7[30 :0 ]});
+ endcase
+
+//
+// Watchpoint 7
+//
+always @(dmr1 or match7 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW7 ])
+ 2'b00 : wp[7 ] = match7;
+ 2'b01 : wp[7 ] = match7 & wp[6 ];
+ 2'b10 : wp[7 ] = match7 | wp[6 ];
+ 2'b11 : wp[7 ] = 1'b0 ;
+ endcase
+
+//
+// Increment Watchpoint Counter 0
+//
+always @(wp or dmr2)
+ if (dmr2[`OR1200_DU_DMR2_WCE0 ])
+ incr_wpcntr0 = |(wp & ~dmr2[`OR1200_DU_DMR2_AWTC ]);
+ else
+ incr_wpcntr0 = 1'b0 ;
+
+//
+// Match Condition Watchpoint Counter 0
+//
+always @(dwcr0)
+ if (dwcr0[`OR1200_DU_DWCR_MATCH ] == dwcr0[`OR1200_DU_DWCR_COUNT ])
+ wpcntr0_match = 1'b1 ;
+ else
+ wpcntr0_match = 1'b0 ;
+
+
+//
+// Watchpoint 8
+//
+always @(dmr1 or wpcntr0_match or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW8 ])
+ 2'b00 : wp[8 ] = wpcntr0_match;
+ 2'b01 : wp[8 ] = wpcntr0_match & wp[7 ];
+ 2'b10 : wp[8 ] = wpcntr0_match | wp[7 ];
+ 2'b11 : wp[8 ] = 1'b0 ;
+ endcase
+
+
+//
+// Increment Watchpoint Counter 1
+//
+always @(wp or dmr2)
+ if (dmr2[`OR1200_DU_DMR2_WCE1 ])
+ incr_wpcntr1 = |(wp & dmr2[`OR1200_DU_DMR2_AWTC ]);
+ else
+ incr_wpcntr1 = 1'b0 ;
+
+//
+// Match Condition Watchpoint Counter 1
+//
+always @(dwcr1)
+ if (dwcr1[`OR1200_DU_DWCR_MATCH ] == dwcr1[`OR1200_DU_DWCR_COUNT ])
+ wpcntr1_match = 1'b1 ;
+ else
+ wpcntr1_match = 1'b0 ;
+
+//
+// Watchpoint 9
+//
+always @(dmr1 or wpcntr1_match or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW9 ])
+ 2'b00 : wp[9 ] = wpcntr1_match;
+ 2'b01 : wp[9 ] = wpcntr1_match & wp[8 ];
+ 2'b10 : wp[9 ] = wpcntr1_match | wp[8 ];
+ 2'b11 : wp[9 ] = 1'b0 ;
+ endcase
+
+//
+// Watchpoint 10
+//
+always @(dmr1 or dbg_ewt_i or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW10 ])
+ 2'b00 : wp[10 ] = dbg_ewt_i;
+ 2'b01 : wp[10 ] = dbg_ewt_i & wp[9 ];
+ 2'b10 : wp[10 ] = dbg_ewt_i | wp[9 ];
+ 2'b11 : wp[10 ] = 1'b0 ;
+ endcase
+
+`endif
+
+//
+// Watchpoints can cause trap exception
+//
+`ifdef OR1200_DU_HWBKPTS
+assign du_hwbkpt = |(wp & dmr2[`OR1200_DU_DMR2_WGB ]) | du_hwbkpt_hold | (dbg_bp_r & ~dsr[`OR1200_DU_DSR_TE ]);
+`else
+assign du_hwbkpt = 1'b0 ;
+`endif
+
+// Hold du_hwbkpt if ex_freeze is active in order to cause trap exception
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ du_hwbkpt_hold <= 1'b0 ;
+ else if (du_hwbkpt & ex_freeze)
+ du_hwbkpt_hold <= 1'b1 ;
+ else if (!ex_freeze)
+ du_hwbkpt_hold <= 1'b0 ;
+
+`ifdef OR1200_DU_TB_IMPLEMENTED
+//
+// Simple trace buffer
+// (right now hardcoded for Xilinx Virtex FPGAs)
+//
+// Stores last 256 instruction addresses, instruction
+// machine words and ALU results
+//
+
+//
+// Trace buffer write enable
+//
+assign tb_enw = ~ex_freeze & ~((ex_insn[31 :26 ] == `OR1200_OR32_NOP ) & ex_insn[16 ]);
+
+//
+// Trace buffer write address pointer
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ tb_wadr <= 8'h00 ;
+ else if (tb_enw)
+ tb_wadr <= tb_wadr + 8'd1 ;
+
+//
+// Free running counter (time stamp)
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE )
+ tb_timstmp <= 32'h00000000 ;
+ else if (!dbg_bp_r)
+ tb_timstmp <= tb_timstmp + 32'd1 ;
+
+//
+// Trace buffer RAMs
+//
+
+or1200_dpram_256x32 tbia_ram(
+ .clk_a(clk),
+ .rst_a(1'b0 ),
+ .addr_a(spr_addr[7 :0 ]),
+ .ce_a(1'b1 ),
+ .oe_a(1'b1 ),
+ .do_a(tbia_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0 ),
+ .addr_b(tb_wadr),
+ .di_b(spr_dat_npc),
+ .ce_b(1'b1 ),
+ .we_b(tb_enw)
+
+);
+
+or1200_dpram_256x32 tbim_ram(
+ .clk_a(clk),
+ .rst_a(1'b0 ),
+ .addr_a(spr_addr[7 :0 ]),
+ .ce_a(1'b1 ),
+ .oe_a(1'b1 ),
+ .do_a(tbim_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0 ),
+ .addr_b(tb_wadr),
+ .di_b(ex_insn),
+ .ce_b(1'b1 ),
+ .we_b(tb_enw)
+);
+
+or1200_dpram_256x32 tbar_ram(
+ .clk_a(clk),
+ .rst_a(1'b0 ),
+ .addr_a(spr_addr[7 :0 ]),
+ .ce_a(1'b1 ),
+ .oe_a(1'b1 ),
+ .do_a(tbar_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0 ),
+ .addr_b(tb_wadr),
+ .di_b(rf_dataw),
+ .ce_b(1'b1 ),
+ .we_b(tb_enw)
+);
+
+or1200_dpram_256x32 tbts_ram(
+ .clk_a(clk),
+ .rst_a(1'b0 ),
+ .addr_a(spr_addr[7 :0 ]),
+ .ce_a(1'b1 ),
+ .oe_a(1'b1 ),
+ .do_a(tbts_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0 ),
+ .addr_b(tb_wadr),
+ .di_b(tb_timstmp),
+ .ce_b(1'b1 ),
+ .we_b(tb_enw)
+);
+
+`else
+
+assign tbia_dat_o = 32'h0000_0000 ;
+assign tbim_dat_o = 32'h0000_0000 ;
+assign tbar_dat_o = 32'h0000_0000 ;
+assign tbts_dat_o = 32'h0000_0000 ;
+
+`endif // OR1200_DU_TB_IMPLEMENTED
+
+`else // OR1200_DU_IMPLEMENTED
+
+//
+// When DU is not implemented, drive all outputs as would when DU is disabled
+//
+assign dbg_bp_o = 1'b0 ;
+assign du_dsr = {`OR1200_DU_DSR_WIDTH {1'b0 }};
+assign du_dmr1 = {25 {1'b0 }};
+assign du_hwbkpt = 1'b0 ;
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+assign spr_dat_o = 32'h0000_0000 ;
+`ifdef OR1200_DU_UNUSED_ZERO
+`endif
+`endif
+
+`endif
+
+endmodule
+
diff --git a/autotests/html/preprocessor-bug363280.c.html b/autotests/html/preprocessor-bug363280.c.html
new file mode 100644
index 0000000..e7b930b
--- /dev/null
+++ b/autotests/html/preprocessor-bug363280.c.html
@@ -0,0 +1,15 @@
+
+
+
+preprocessor-bug363280.c
+
+
+#if 1
+int x; // variable shall not be grey
+#endif
+#if defined (A)
+int y; // variable shall not be grey
+#elif defined (B)
+int z; // variable shall not be grey
+#endif
+
diff --git a/autotests/html/preprocessor-bug363280.cpp.html b/autotests/html/preprocessor-bug363280.cpp.html
new file mode 100644
index 0000000..1cdb7cc
--- /dev/null
+++ b/autotests/html/preprocessor-bug363280.cpp.html
@@ -0,0 +1,15 @@
+
+
+
+preprocessor-bug363280.cpp
+
+
+#if 1
+int x; // variable shall not be grey
+#endif
+#if defined (A)
+int y; // variable shall not be grey
+#elif defined (B)
+int z; // variable shall not be grey
+#endif
+
diff --git a/autotests/html/review128925-1.css.html b/autotests/html/review128925-1.css.html
new file mode 100644
index 0000000..c9686d5
--- /dev/null
+++ b/autotests/html/review128925-1.css.html
@@ -0,0 +1,119 @@
+
+
+
+review128925-1.css
+
+
+/*
+ * CSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most CSS syntax, CSS3 properties, @media, @font-face and
+ * @keyframes annotations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8" ;
+
+@import url("components/button.css" );
+
+
+/* Properties */
+
+html, body {
+ font-family: "Droid Sans" , Arial, sans-serif ;
+ font-size: 11pt ;
+ line-height: 1.5em ;
+ max-width: calc(100% - 300px );
+ background: #fff000 ;
+ text-shadow: 0 0 2px rgba(0 , 0 , 0 , 0.3) ;
+ box-sizing: border-box ;
+}
+
+
+/* Selectors */
+
+blockquote {
+ margin: 0 ;
+}
+
+header #logo {
+ width: 100px ;
+}
+
+div#footer .link {
+ color: blue ;
+}
+
+sidebar #subscribe .subscribe_form input[type= "text" ] {
+ font-size: 20px ;
+}
+
+sidebar #subscribe .subscribe_form :nth-child (2n + 1):hover input[class*= "small-" ] {
+ font-weight: bold ;
+}
+
+
+/* Media Queries */
+
+@media print {
+ .container {
+ width: 100% ;
+ }
+}
+
+@media screen and (min-width: 768px ) {
+ .container {
+ width: 600px ;
+ }
+}
+
+@media screen and (min-width: 768px ) and (max-width: 960px ) {
+ .container {
+ width: 720px ;
+ }
+}
+
+
+/* Fontface */
+
+@font-face {
+ font-family: MyHelvetica;
+ src: local( "Helvetica Neue Bold" ) ,
+ local( "HelveticaNeue-Bold" ) ,
+ url( MgOpenModernaBold. ttf) ;
+ font-weight: bold ;
+}
+
+/* Animation (Keyframes) */
+
+@keyframes slidein {
+ from {
+ margin-left: 100% ;
+ width: 300% ;
+ }
+
+ to {
+ margin-left: 0% ;
+ width: 100% ;
+ }
+}
+
+
+/* Region markers */
+
+/*BEGIN Comment */
+
+
+
+/*END Comment */
+
+
diff --git a/autotests/html/review128925-1.scss.html b/autotests/html/review128925-1.scss.html
new file mode 100644
index 0000000..35f0f19
--- /dev/null
+++ b/autotests/html/review128925-1.scss.html
@@ -0,0 +1,218 @@
+
+
+
+review128925-1.scss
+
+
+/*
+ * SCSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most SCSS syntax, CSS3 properties, advanced code structure.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-15
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8" ;
+
+@import "mixins/button" ;
+
+// Variable define
+
+$image-path: "../../static/images" ;
+$default-text-color: #333 !default; // Default can be overrided
+$default-font-size: 16px !default;
+$default-font-family: Roboto, "Droid Sans" , sans-serif;
+$default-font-weight: 400;
+$default-line-height: $default-font-size * 1.8;
+$shadow-transparence: 0.25 ;
+$box-shadow: 0 0 3px rgba(0,0,0,$shadow-transparence);
+$page-width: 100rem; // kabab-case
+$gapOfArticle: 20px; // camelCase
+$body_background_color: white; // snake_case
+
+// Mixins
+
+@mixin border-radius($radius) {
+ -webkit-border-radius: $radius;
+ -moz-border-radius: $radius;
+ -ms-border-radius: $radius;
+ border-radius: $radius;
+}
+
+.box { @include border-radius(10px ); }
+
+// Nesting
+
+#home-page {
+
+ header {
+ width: 80% ;
+ margin: 0 auto ;
+
+ .cover {
+ @include border-radius(20px );
+ max-width: 100% ;
+
+ &:hover {
+ background: #ffffff ;
+ }
+
+ .like-button {
+ font-size: $default-font-size * 0.8;
+
+ @media (max-width: 300px ) and (min-width: 200px ) {
+ font-size: $default-font-size * 0.8;
+
+ .icon {
+ width: 20px ;
+ height: 20px ;
+ }
+ }
+
+ @media print {
+ display: none;
+ }
+ }
+ }
+ }
+}
+
+// Extend and inheritance
+
+.message {
+ border: $border-light;
+ background-color: #f0f0f0 ;
+}
+
+.message-danger {
+ @extend .message ;
+}
+
+
+// Control structures
+
+@mixin does-parent-exist {
+ @if & {
+ &:hover {
+ color: red ;
+ }
+ } @else {
+ a {
+ color: red ;
+ }
+ }
+}
+
+
+// Operators
+
+.container { width: 100% ; }
+
+article[role= "main" ] {
+ float: left ;
+ width: 600px / 960px * 100% ;
+}
+
+aside[role= "complementary" ] {
+ float: right ;
+ width: 300px / 960px * 100% ;
+}
+
+
+// Functions - see http://sass-lang.com/documentation/Sass/Script/Functions.html
+
+$color1: hsl(120deg, 100%, 50%);
+$color2: rgb($red, $green, blue($color1));
+$color3: mix($color1, $color2, [$weight]);
+
+
+// Properties
+
+html, body {
+ font-family: "Droid Sans" , Arial, sans-serif ;
+ font-size: 11pt ;
+ line-height: 1.5em ;
+ max-width: 300px + $page-width - $gap / 2;
+ background: $bg_color;
+ text-shadow: 0 0 2px rgba(0 ,0 ,0 , $transparence) ;
+ box-sizing: border-box ;
+}
+
+
+// Selectors
+
+blockquote {
+ margin: 0 ;
+}
+
+header #logo {
+ width: 100px ;
+}
+
+div#footer .link {
+ color: blue ;
+}
+
+sidebar #subscribe .subscribe_form input[type= "text" ] {
+ font-size: 20px ;
+}
+
+sidebar #subscribe .subscribe_form :nth-child (2n + 1):hover input[class*= "small-" ] {
+ font-weight: bold ;
+}
+
+
+// Media Queries
+
+@media print {
+ .container {
+ width: 100% ;
+ }
+}
+
+@media screen and (min-width: 768px ) {
+ .container {
+ width: 600px ;
+ }
+}
+
+@media screen and (min-width: 768px ) and (max-width: 960px ) {
+ .container {
+ width: 720px ;
+ }
+}
+
+
+// Fontface
+
+@font-face {
+ font-family: MyHelvetica;
+ src: local( "Helvetica Neue Bold" ) ,
+ local( "HelveticaNeue-Bold" ) ,
+ url( MgOpenModernaBold. ttf) ;
+ font-weight: bold ;
+}
+
+// Animation (Keyframes)
+
+@keyframes slidein {
+ from {
+ margin-left: 100% ;
+ width: 300% ;
+ }
+
+ to {
+ margin-left: 0% ;
+ width: 100% ;
+ }
+}
+
diff --git a/autotests/html/review128925-2.css.html b/autotests/html/review128925-2.css.html
new file mode 100644
index 0000000..eb7081c
--- /dev/null
+++ b/autotests/html/review128925-2.css.html
@@ -0,0 +1,69 @@
+
+
+
+review128925-2.css
+
+
+/*
+ * CSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex CSS syntax that can test unexpected situations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+/* Comments with special content */
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+/* Comments in special positions */
+
+header/* comment here */ .active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue /* comment here */ ;
+ font-family: Arial /* comment here */ ,
+ "Droid Sans" , /* comment here */
+ sans-serif /* comment here */ ;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */ ) /* comment here */ { /* comment here */ }
+
+
+/* Strings with special content */
+
+@import url("{} $variable /* comment */" );
+
+
+/* Without extra breaklines and spaces */
+
+pre.primary :hover .large :nth-child (2n-1){font-size: 17px ;font-family: "Noto Sans" ;-webkit-box-shadow: 1px 1px 3px rgba(0 ,0 ,0 ,0.3) }
+
+
+/* With unnecessary breaklines and spaces */
+
+blockquote .ref
+ {
+ flex : 0 1 30% ;
+ flex-wrap : wrap;
+ }
+
+@media screen and (orientation: landscape ) {
+ .sidebar {
+ width: 500px ; } }
+
+
+/* Special selectors: HTML5 allows user defined tags */
+
+header {
+ flex {
+ width : 300px ;
+ }
+}
+
diff --git a/autotests/html/review128925-2.scss.html b/autotests/html/review128925-2.scss.html
new file mode 100644
index 0000000..9592eec
--- /dev/null
+++ b/autotests/html/review128925-2.scss.html
@@ -0,0 +1,88 @@
+
+
+
+review128925-2.scss
+
+
+/*
+ * SCSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex SCSS syntax that can test unexpected situations.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+// Comments with special content
+
+// .class-selector #id "string" 'comment' // comment {} [] () /* comment */ text
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+// Comments in special positions
+
+$color: black /* comment here */ ;
+
+header/* comment here */ .active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue /* comment here */ ;
+ font-family: Arial /* comment here */ ,
+ "Droid Sans" , /* comment here */
+ sans-serif /* comment here */ ;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */ ) /* comment here */ { /* comment here */ }
+
+
+// Strings with special content
+
+@import "{} $variable /* comment */" ;
+@import "{}" ;
+
+// Without extra breaklines and spaces
+
+pre.primary :hover .large :nth-child (2n-1){font-size: $default-font-size;font-family: "Noto Sans" ;-webkit-box-shadow: 1px 1px 3px rgba(0 ,0 ,0 ,0.3) }
+
+// With unnecessary breaklines and spaces
+
+blockquote .ref
+ {
+ flex : 0 1 30% ;
+ flex-wrap : wrap;
+ }
+
+.sidebar {
+ width: 300px ; }
+ @media screen and (orientation: landscape ) {
+ .sidebar {
+ width: 500px ; } }
+
+// Variable interpolation: #{}
+
+$name: foo;
+$attr: border;
+p. #{ $name} {
+ #{ $attr}-color: blue;
+}
+
+p {
+ $font-size: 12px;
+ $line-height: 30px;
+ font: #{$font-size}/#{$line-height};
+}
+
+// Special selectors: HTML5 allows user defined tags
+
+header {
+ flex {
+ width : 300px ;
+ }
+}
+
diff --git a/autotests/html/review128935.html.html b/autotests/html/review128935.html.html
new file mode 100644
index 0000000..4e59fc3
--- /dev/null
+++ b/autotests/html/review128935.html.html
@@ -0,0 +1,171 @@
+
+
+
+review128935.html
+
+
+<!--
+
+HTML Syntax Highlight Sample File (Standard)
+
+- Follow HTML5 standard.
+- Contain some valid, but not recommended syntax.
+- Can be rendered by modern web browsers.
+
+@author Guo Yunhe guoyunhebrave@gmail.com
+@date 2016-09-17
+
+-->
+
+<!DOCTYPE html>
+
+<html>
+
+<head>
+<meta charset= "utf-8" >
+<title> HTML Syntax Highlight Sample File (Standard)</title>
+<link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity= "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin= "anonymous" >
+<link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity= "sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin= "anonymous" >
+<script src= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity= "sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin= "anonymous" ></script>
+</head>
+
+<body>
+
+<!-- HTML5 defined elements -->
+
+<div>
+ This is a div. <span> This is a span</span>
+ <div>
+ This is a div.
+ </div>
+</div>
+
+<p>
+ This is a paragraph. <em></em>
+</p>
+
+<h1> This is heading 1</h1>
+<h2> This is heading 2</h2>
+<h3> This is heading 3</h3>
+<h4> This is heading 4</h4>
+<h5> This is heading 5</h5>
+<h6> This is heading 6</h6>
+
+<a href= "http://www.w3schools.com" > This is a link</a>
+
+<br>
+
+<img src= "http://placehold.it/200x150" alt= "This is an image" width= "200" height= "150" >
+
+<hr>
+
+<ul>
+ <li> List item</li>
+ <li> List item</li>
+ <li> List item</li>
+ <li> List item</li>
+ <li> List item</li>
+</ul>
+
+<ol>
+ <li> List item</li>
+ <li> List item</li>
+ <li> List item</li>
+ <li> List item</li>
+ <li> List item</li>
+</ol>
+
+<table>
+ <tr>
+ <th> Table head</th>
+ <th> Table head</th>
+ <th> Table head</th>
+ </tr>
+ <tr>
+ <td> Table head</td>
+ <td> Table head</td>
+ <td> Table head</td>
+ </tr>
+</table>
+
+<form>
+ <input type= "email" name= "author" />
+ <input type= "text" name= "message" />
+ <button type= "button" > Send</button>
+</form>
+
+<main>
+ <header> This is a header.</header>
+
+ <nav> This is a nav.</nav>
+
+ <article>
+ <h2> This is an article.</h2>
+ <p> This is an article.</p>
+ </article>
+
+ <aside>
+ <h2> This is an aside.</h2>
+ </aside>
+
+ <footer></footer>
+
+</main>
+
+<!-- Custom elements -->
+
+<booklist>
+ <book>
+ <booktitle> Just For Fun: The Story of an Accidental Revolutionary</booktitle>
+ <author> Linus Torvalds</author>
+ <description
+ class= "featured" title= "Click to read full text..." >
+ A humorous autobiography of Linus Torvalds, the creator of the Linux
+ kernel, co-written with David Diamond. The book primarily theorizes
+ the Law of Linus that all evolution contributed by humanity starts
+ for survival, sustains socially and entertains at last. As well as
+ this the book explains Torvalds' view of himself, the free software
+ movement and the development of Linux.</description>
+ </book>
+</booklist>
+
+<large-space/>
+
+<!-- Ends for single tag elements -->
+<br>
+<br/>
+<br />
+<br></br>
+
+<!-- Uppercase elements -->
+
+<DIV>
+ THIS IS A DIV.
+ <P> THIS IS A PARAGRAPH.</P>
+ <H2> THIS IS A HEADING.</H2>
+</DIV>
+
+<!-- Arrtibutes -->
+
+<a href= "#" style= "background-color:rgba(0,0,0,0.3)" title= "Click me" > Magic button</a>
+
+<img src= "http://placehold.it/200x150" alt= "This is an image" width= "200"
+ height= "150" title= "This is an image" >
+
+<!-- Attribute without value -->
+
+<select>
+ <option selected > GNU/Linux</option>
+ <option> BSD</option>
+ <option> Windows</option>
+ <option> macOS</option>
+</select>
+
+<!-- Attribute without quotes -->
+
+<div id= name class= a-sweet-block data-counter= 175 > This is a div.</div>
+
+</body>
+
+</html>
+
diff --git a/autotests/html/test.bash.html b/autotests/html/test.bash.html
new file mode 100644
index 0000000..0ca6922
--- /dev/null
+++ b/autotests/html/test.bash.html
@@ -0,0 +1,13 @@
+
+
+
+test.bash
+
+
+#!/bin/bash
+
+for i in ` ls tests/auto/output/*.html` ; do
+ refFile= ` echo $i | sed -e s,build,src, | sed -e s,output,reference, | sed -e s,.html,.ref.html,`
+ cp -v $i $refFile
+done
+
diff --git a/autotests/html/test.bb.html b/autotests/html/test.bb.html
new file mode 100644
index 0000000..9be6849
--- /dev/null
+++ b/autotests/html/test.bb.html
@@ -0,0 +1,41 @@
+
+
+
+test.bb
+
+
+# syntax test file for Bitbake receipes
+
+SUMMARY = "GammaRay Qt introspection probe"
+HOMEPAGE = "http://www.kdab.com/gammaray"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL.txt ;md5 =2abfe5daa817fd4346b6d55293941415"
+
+inherit cmake_qt5
+
+SRC_URI = "git://github.com/KDAB/GammaRay ;branch =master"
+
+SRCREV = "139e003174f48b0c883fc6c200ef2efb7467bff1"
+PV = "2.4.0+git ${SRCPV} "
+
+DEPENDS = "qtdeclarative"
+
+S = " ${WORKDIR} /git"
+
+EXTRA_OECMAKE += " -DGAMMARAY_BUILD_UI =OFF"
+
+FILES_ ${PN} -dev += " \
+ /usr/lib/cmake/* \
+ /usr/mkspecs/modules/* \
+"
+FILES_ ${PN} -dbg += " \
+ /usr/lib/.debug/* \
+ /usr/lib/gammaray/*/*/.debug \
+ /usr/lib/gammaray/*/*/styles/.debug \
+"
+
+# error: unterinated string
+VAR *= "abc
+ this is wrong
+
diff --git a/autotests/html/test.c.html b/autotests/html/test.c.html
new file mode 100644
index 0000000..1492d9b
--- /dev/null
+++ b/autotests/html/test.c.html
@@ -0,0 +1,63 @@
+
+
+
+test.c
+
+
+#include <stdio.h>
+#include "stdint.h"
+
+#define SOME_VAR 1
+#ifdef SOME_VAR
+
+#define MULTILINE_MACRO one \
+two \
+three
+
+static uint64_t intWithSuffix = 42ull ;
+static int octNum = 07232 ;
+static int invalidOctNum = 09231 ;
+static uint64_t hexNum = 0xDEADBEEF42 ;
+static uint64_t invalidHexNum = 0 xGLDFKG;
+static char binNum = 0b0101010 ;
+
+static double d1 = 42. ;
+static double d2 = .42 ;
+static double d3 = 42.3e1 ;
+static double d4 = .2e-12 ;
+static double d5 = 32.e+12 ;
+static float floatQualifier = 23.123f ;
+
+static const char c1 = 'c' ;
+static const char c2 = '\n' ;
+static const char c2a = '\120' ; // octal
+static const char c2b = '\x1f' ; // hex
+static const char c2c = '\'' ;
+static const char c2d = '\\' ;
+static const char * c3 = "string" ;
+static const char * c4 = " \" string \n\t\012\x12\" " ;
+static const char * c5 = "multiline \
+ string" ;
+
+//BEGIN region
+// TODO comment FIXME comment ### comment
+//END region
+
+#wrong
+
+/**
+ * Doxygen
+ * @param p1 text
+ * \brief <b>bold text</b >
+ * \dot
+ * a -> b
+ * \enddot
+ *
+ * \verbatim
+ * <dummy>
+ * \endverbatim
+ * <html>text< /html >
+ */
+
+#endif
+
diff --git a/autotests/html/test.cmake.html b/autotests/html/test.cmake.html
new file mode 100644
index 0000000..6a33cab
--- /dev/null
+++ b/autotests/html/test.cmake.html
@@ -0,0 +1,38 @@
+
+
+
+test.cmake
+
+
+# comment
+
+#[[.rst:
+MyModule
+--------
+
+bla bla
+#]]
+
+#.rst:
+# ATTENTION
+# alternative doc comment
+#
+
+#[=====[.rst:
+
+3rd form
+
+]=====]
+
+set (CMAKE_AUTOMOC ON )
+if (POLICY CMP042 )
+ target_link_libraries (myTaget SHARED Qt5::Core)
+else ()
+ add_executable (myTaget ${some_var} )
+endif ()
+
+macro (my_macro arg1)
+ foreach (arg ${ARGN} )
+ endforeach ()
+endmacro ()
+
diff --git a/autotests/html/test.css.html b/autotests/html/test.css.html
new file mode 100644
index 0000000..7f9409e
--- /dev/null
+++ b/autotests/html/test.css.html
@@ -0,0 +1,25 @@
+
+
+
+test.css
+
+
+h1 {
+ text-color : "red" ;
+}
+
+/* PHP code, invalid in CSS context */
+for()
+
+<?php echo ( "hello" );
+
+// valid code in PHP context
+for ()
+
+?>
+
+h2 {
+ text-weight : bold ;
+}
+
+
diff --git a/autotests/html/test.desktop.html b/autotests/html/test.desktop.html
new file mode 100644
index 0000000..66cdb27
--- /dev/null
+++ b/autotests/html/test.desktop.html
@@ -0,0 +1,26 @@
+
+
+
+test.desktop
+
+
+# test file for .dekstop syntax highlighting
+[Desktop Entry]
+GenericName =Text Editor
+GenericName [ar] =Ù
ØØ±Ùر ÙØµÙص
+Name =KWrite
+Name [ar] =ÙØ§ØªØ¨Ù
+Comment =KDE Text Editor
+Comment [ar] =Ù
ØØ±Ùر ÙØµÙص ÙÙØ¯Ù
+MimeType =text/plain;
+Exec =kwrite %U
+StartupNotify =true
+Icon =kwrite
+X-DocPath =kwrite/index.html
+Type =Application
+Terminal =false
+InitialPreference =8
+X-DBUS-StartupType =Multi
+X-DBUS-ServiceName =org.kde.kwrite
+Categories =Qt;KDE;Utility;TextEditor;
+
diff --git a/autotests/html/test.diff.html b/autotests/html/test.diff.html
new file mode 100644
index 0000000..8aa506d
--- /dev/null
+++ b/autotests/html/test.diff.html
@@ -0,0 +1,55 @@
+
+
+
+test.diff
+
+
+commit 2b16665838c8afeaa0f065cafc747438de35876b
+Author: Volker Krause <vkrause@kde.org>
+Date: Sat Oct 8 13:31:51 2016 +0200
+
+ Implement dynamic DetectChar rules
+
+ Needed for Perl highlighting.
+
+diff --git a/src/lib/rule.cpp b/src/lib/rule.cpp
+index f588985..c4c3b92 100644
+--- a/src/lib/rule.cpp
++++ b/src/lib/rule.cpp
+@@ -308,12 +308,22 @@ bool DetectChar::doLoad(QXmlStreamReader& reader)
+ if (s.isEmpty())
+ return false;
+ m_char = s.at(0);
++ if (isDynamic()) {
++ m_captureIndex = m_char.digitValue();
++ }
+ return true;
+ }
+
+ MatchResult DetectChar::doMatch(const QString& text, int offset, const QStringList &captures)
+ {
+- Q_UNUSED(captures); // TODO
++ if (isDynamic()) {
++ if (captures.size() <= m_captureIndex || captures.at(m_captureIndex).isEmpty())
++ return offset;
++ if (text.at(offset) == captures.at(m_captureIndex).at(0))
++ return offset + 1;
++ return offset;
++ }
++
+ if (text.at(offset) == m_char)
+ return offset + 1;
+ return offset;
+diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h
+index d8862ae..d9cedbf 100644
+--- a/src/lib/rule_p.h
++++ b/src/lib/rule_p.h
+@@ -103,6 +103,7 @@ protected:
+
+ private:
+ QChar m_char;
++ int m_captureIndex;
+ };
+
+ class Detect2Char : public Rule
+
diff --git a/autotests/html/test.eml.html b/autotests/html/test.eml.html
new file mode 100644
index 0000000..0e01d43
--- /dev/null
+++ b/autotests/html/test.eml.html
@@ -0,0 +1,101 @@
+
+
+
+test.eml
+
+
+Return-Path: <kwrite-devel-bounces@kde.org>
+X-Sieve: CMU Sieve 2.3
+X-Virus-Scanned: amavisd-new at site
+Authentication-Results: linux.site (amavisd-new); dkim=pass (1024-bit key)
+ header.d=kde.org
+Received: from postbox.kde.org (localhost.localdomain [127.0.0.1])
+ by postbox.kde.org (Postfix) with ESMTP id 3167DB6E75;
+ Wed, 5 Oct 2016 20:21:47 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kde.org; s=default;
+ t=1475698907; bh=6i+3UfR6HLC54wVtp5SF4sVWvQn63jzu9vD2zJal/kY=;
+ h=From:To:Subject:Date:Reply-To:List-Id:List-Unsubscribe:List-Post:
+ List-Help:List-Subscribe:From;
+ b=M5nfHbmJe/4DPuidrJ901dUzX3FmpVpyUrPM961Or9bKrMO+z9gaTUwbfPR74Rq8B
+ Rv66yf3ZaDuRZxv/ARPzpr8qnDTtf13WRFZ/ySdqqqQJKeBqCAd7/wbR0kHhypvpwe
+ z4nY6+bNnjvFelPXR56o16b+/Ib2GTYJ9hwiG97U=
+X-Original-To: kwrite-devel@kde.org
+Delivered-To: kwrite-devel@localhost.kde.org
+Received-SPF: Neutral (access neither permitted nor denied) identity=mailfrom;
+ client-ip=85.214.234.26; helo=h2265959.stratoserver.net;
+ envelope-from=vkrause@kde.org ; receiver=kwrite-devel@kde.org
+From: Volker Krause <vkrause@kde.org>
+To: kwrite-devel@kde.org
+Subject: Highlighting semantics: line end context switches when popping back
+ into previous line context stack
+Date: Wed, 05 Oct 2016 22:19:17 +0200
+Message-ID: <2420385.jiZKTgWtgY@vkpc5>
+Organization: KDE
+User-Agent: KMail/4.14.10 (Linux/4.1.13-5-default; KDE/4.14.16; x86_64;
+ git-91275a7; 2015-12-13)
+MIME-Version: 1.0
+Content-Type: multipart/signed; boundary="nextPart1575059.2yRQ5x6HOo" ;
+ micalg="pgp-sha1"; protocol="application/pgp-signature"
+X-BeenThere: kwrite-devel@kde.org
+X-Mailman-Version: 2.1.16
+Precedence: list
+Reply-To: kwrite-devel@kde.org
+List-Id: Kate/KWrite Mailing List <kwrite-devel.kde.org>
+List-Unsubscribe: <https://mail.kde.org/mailman/options/kwrite-devel>,
+ <mailto:kwrite-devel-request@kde.org ?subject=unsubscribe>
+List-Post: <mailto:kwrite-devel@kde.org >
+List-Help: <mailto:kwrite-devel-request@kde.org ?subject=help>
+List-Subscribe: <https://mail.kde.org/mailman/listinfo/kwrite-devel>,
+ <mailto:kwrite-devel-request@kde.org ?subject=subscribe>
+Errors-To: kwrite-devel-bounces@kde.org
+Sender: "KWrite-Devel" <kwrite-devel-bounces@kde.org>
+
+
+-- nextPart1575059.2yRQ5x6HOo
+Content-Transfer-Encoding: 7Bit
+Content-Type: text/plain; charset="us-ascii"
+
+Hi,
+
+when trying to add the unit test for the new Praat highlighting to
+KF5: :SyntaxHighlighting it turned out that the output doesn't match at all
+that of Kate. We managed to trace this back to the following rather surprising
+(and apparently undocumented) behavior in Kate:
+
+When a context switch (anywhere in a line) pops more contexts than were on the
+stack when starting the line, it executes line end context switches of the
+previous line contexts.
+
+| | | | | | The corresponding code is in KateHighlighting::generateContextStack(),
+| | > | > KF5::SyntaxHighlighting doesn't do this (yet), Praat is apparently the first
+> | > format we have tests for that uses this behavior.
+
+> Does anyone remember why we do this, or happens to know which highlighting
+> files besides Praat rely on this?
+
+> > Archeology can trace this back to the dark CVS ages even, one reference
+> > Dominik has dug up is a 10 year old SVN commit
+> > (https://quickgit.kde.org/?p=kdelibs.git&a=commit&h=90ef47f582277745f727d89f05f72f1e1705fdc4
+> >), where Christoph claims to understand what this code does ;)
+
+> > > As this is highly unexpected and hard to reason about behavior, Dominik and I
+> > > > were wondering if we can possibly drop this, and rather fix affected
+> > > > > highlighting files instead?
+
+Regards,
+Volker
+-- nextPart1575059.2yRQ5x6HOo
+Content-Type: application/pgp-signature; name="signature.asc"
+Content-Description: This is a digitally signed message part.
+Content-Transfer-Encoding: 7Bit
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iD8DBQBX9WBIf5bM1k0S0kcRAireAJ4lCWa08Y5yU1ezIvKVCAfnkhcUbACgou0O
+X4c+lkPI0tti59KV1vetaeU=
+=VqDS
+-----END PGP SIGNATURE-----
+
+-- nextPart1575059.2yRQ5x6HOo--
+
diff --git a/autotests/html/test.frag.html b/autotests/html/test.frag.html
new file mode 100644
index 0000000..9ad3654
--- /dev/null
+++ b/autotests/html/test.frag.html
@@ -0,0 +1,33 @@
+
+
+
+test.frag
+
+
+#version 330 core
+
+// single line comment
+
+/* single line commonet */
+
+/*
+ multi line comment
+ */
+
+in ColorFormat {
+ vec3 color;
+} fs_in;
+
+out vec4 fragColor;
+
+vec3 fun (const in vec3 foo) {
+ foo[2 ] = foo.x ;
+
+ return foo;
+}
+
+void main ()
+{
+ fragColor = vec4 ( fs_in.color , 1.0 );
+}
+
diff --git a/autotests/html/test.htm.html b/autotests/html/test.htm.html
new file mode 100644
index 0000000..f1a1bc7
--- /dev/null
+++ b/autotests/html/test.htm.html
@@ -0,0 +1,24 @@
+
+
+
+test.htm
+
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title> This is a title</title>
+ <style>
+ /* comment */
+ #xyz { color: red ; }
+ h1 { font: "Comic Sans" ; }
+ </style>
+ </head>
+ <body>
+ <p id= "xzy" > Hello world!</p>
+ </body>
+ <script>
+ document .body .appendChild (document .createTextNode ('Hello World!' )); // comment
+ </script>
+</html>
+
diff --git a/autotests/html/test.ijs.html b/autotests/html/test.ijs.html
new file mode 100644
index 0000000..b9b91dd
--- /dev/null
+++ b/autotests/html/test.ijs.html
@@ -0,0 +1,68 @@
+
+
+
+test.ijs
+
+
+Comment
+NB. This is a single line comment, check regions overlapping priority: 1 2.3 +/ &. 'quoted text'
+NB.(
+NB. This is a foldable multi line comment
+NB.)
+
+String literal
+''
+''''
+'This is quoted text'
+'And this '' and this NB. and this' 'Yet another quoted text'
+
+Numeric literal
+12 34.56 _7.89 1e2 1.2e3 _. _ __ 123j_456 2b111.111 1r23 123456x 1.2e3j4.5e6 _j_ __j_ _.j_. _j3p4j_.
+
+Parenthesis
+( )
+
+Adverb
+~ / \ /. \. } b. f. M. t. t:
+
+Conjuction
+^: . .. .: : :. :: ;. !. !: " ` `: @ @. @: & &. &: &.: d. D. D: H. L: S: T.
+
+Control
+assert. break. case. catch. catchd. catcht. continue. do. else. elseif. end. fcase. for. for_abc. goto_abc. if. label_abc. return. select. throw. try. while. whilst.
+
+Copula
+a =: 123
+( a) =: 123
+( a; b; c) =: 123
+'a b c' =: 123
+'a b c' =. '123'
+'`a b c' =. '123'
+'a' =: 123
+( 'a' ; 'b' ; 'c' ) =: 123
+
+Explicit argument
+x y m n u v x. y. m. n. u. v.
+
+Noun
+a. a:
+
+Verb
+= < <. <: > >. >: _: + +. +: * *. *: - -. -: % %. %: ^ ^. $ $. $: ~. ~: | |. |: , ,. ,: ; ;: # #. #: ! /: \: [ [: ] { {. {: {:: }. }: ". ": ? ?. A. C. e. E. i. i: I. j. L. o. p. p.. p: q: r. s: u: x: _9: _8: _7: _6: _5: _4: _3: _2: _1: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9:
+
+Combined
+for_abc. i. 5 do. 55 return. end.
+a=. b =: 123 + / # i. 10
+123 'qwerty'
+a_b =: '123' [ c__d =. 4 : 0 NB. foldable definition begins
+ x + / y
+)
+e__12 =: define NB. foldable definition begins
+ if. x do. NB. inner foldable region begins
+ y =. y + x NB. comment after code
+ x + / y
+ else. NB. inner foldable region begins
+ y + / y
+ end.
+)
+
diff --git a/autotests/html/test.js.html b/autotests/html/test.js.html
new file mode 100644
index 0000000..3185c60
--- /dev/null
+++ b/autotests/html/test.js.html
@@ -0,0 +1,15 @@
+
+
+
+test.js
+
+
+/* comment */
+
+function fun ()
+{
+ var boo = { 'key' : [ 1 , 2.0 , 3.0e1 , 004 , 0x5 ] };
+}
+
+class MyClass; // reserved keywords
+
diff --git a/autotests/html/test.json.html b/autotests/html/test.json.html
new file mode 100644
index 0000000..1c3ec27
--- /dev/null
+++ b/autotests/html/test.json.html
@@ -0,0 +1,20 @@
+
+
+
+test.json
+
+
+{
+ "float" : 3.1415 ,
+ "int" : 123 ,
+ "string" : "\a \" b' \n " ,
+ "array" : [ 1 , 2 , 3 ] ,
+ "object" : {
+ "mult-line" : "so this folds"
+ },
+ "folded array" : [
+ 1 , 2 , 3
+ ]
+ "error key" : "due to missing comma"
+}
+
diff --git a/autotests/html/test.markdown.html b/autotests/html/test.markdown.html
new file mode 100644
index 0000000..06b9511
--- /dev/null
+++ b/autotests/html/test.markdown.html
@@ -0,0 +1,46 @@
+
+
+
+test.markdown
+
+
+# H1
+
+## H2
+
+### H3
+
+Multi-line paragraph bla bla bla
+bla bla bla.
+
+Intentional line break
+via two spaces at line.
+
+Formats: _italic_, **bold**, `monospace` , ~~strikeout~~
+
+Bullet list:
+
+* item1
+* item2
+
+Numbered list:
+
+1. item 1
+2. item 2
+
+[link](http://kde.org)
+
+ code 1
+ code 2
+
+normal text
+
+> block quote _italic_
+> more block quote
+
+normal text
+
+Title: some text
+
+normal text
+
diff --git a/autotests/html/test.mss.html b/autotests/html/test.mss.html
new file mode 100644
index 0000000..47b6292
--- /dev/null
+++ b/autotests/html/test.mss.html
@@ -0,0 +1,222 @@
+
+
+
+test.mss
+
+
+/* kate: hl CartoCSS
+ This file contains some content coming from
+ https://github.com/gravitystorm/openstreetmap-carto
+ with CC0 license. This file is just for testing
+ katepart highlighting engine.
+ */
+
+#world {
+// this syntax
+polygon-opacity : 50% ;
+
+// is equivalent to
+polygon-opacity : 0.5 ;
+}
+
+@admin-boundaries : #ac46ac ;
+
+/* For performance reasons, the admin border layers are split into three groups
+for low, middle and high zoom levels.
+For each zoomlevel, all borders come from a single attachment, to handle
+overlapping borders correctly.
+*/
+
+#admin-low-zoom [ zoom < 11 ], // test
+#admin-mid-zoom [ zoom >= 11 ][ zoom < 13 ],
+#admin-high-zoom [ zoom >= 13 ] {
+ [ admin_level = '2' ],
+ [ admin_level = '3' ] {
+ [ zoom >= 4 ] {
+ background/ line-color : white ;
+ background/ line-width : 0.6 ;
+ line-color : @admin-boundaries ;
+ line-width : 0.6 ;
+ }
+ [ zoom >= 7 ] {
+ background/ line-width : 2 ;
+ line-width : 2 ;
+ }
+ [ zoom >= 10 ] {
+ [ admin_level = '2' ] {
+ background/ line-width : 6 ;
+ line-width : 6 ;
+ }
+ [ admin_level = '3' ] {
+ background/ line-width : 5 ;
+ line-width : 5 ;
+ line-dasharray : 4 , 2 ;
+ line-clip : false ;
+ }
+ }
+ }
+ [ admin_level = '4' ] {
+ [ zoom >= 4 ] {
+ background/ line-color : white ;
+ background/ line-width : 0.6 ;
+ line-color : @admin-boundaries ;
+ line-width : 0.6 ;
+ line-dasharray : 4 , 3 ;
+ line-clip : false ;
+ }
+ [ zoom >= 7 ] {
+ background/ line-width : 1 ;
+ line-width : 1 ;
+ }
+ [ zoom >= 11 ] {
+ background/ line-width : 3 ;
+ line-width : 3 ;
+ }
+ }
+ /*
+ The following code prevents admin boundaries from being rendered on top of
+ each other. Comp-op works on the entire attachment, not on the individual
+ border. Therefore, this code generates an attachment containing a set of
+ @admin-boundaries/white dashed lines (of which only the top one is visible),
+ and with `comp-op: darken` the white part is ignored, while the
+ @admin-boundaries colored part is rendered (as long as the background is not
+ darker than @admin-boundaries).
+ The SQL has `ORDER BY admin_level`, so the boundary with the lowest
+ admin_level is rendered on top, and therefore the only visible boundary.
+ */
+ opacity : 0.4 ;
+ comp-op : darken;
+}
+
+#admin-mid-zoom [ zoom >= 11 ][ zoom < 13 ],
+#admin-high-zoom [ zoom >= 13 ] {
+ [ admin_level = '5' ][ zoom >= 11 ] {
+ background/ line-color : white ;
+ background/ line-width : 2 ;
+ line-color : @admin-boundaries ;
+ line-width : 2 ;
+ line-dasharray : 6 , 3 , 2 , 3 , 2 , 3 ;
+ line-clip : false ;
+ }
+ [ admin_level = '6' ][ zoom >= 11 ] {
+ background/ line-color : white ;
+ background/ line-width : 2 ;
+ line-color : @admin-boundaries ;
+ line-width : 2 ;
+ line-dasharray : 6 , 3 , 2 , 3 ;
+ line-clip : false ;
+ }
+ [ admin_level = '7' ],
+ [ admin_level = '8' ] {
+ [ zoom >= 12 ] {
+ background/ line-color : white ;
+ background/ line-width : 1.5 ;
+ line-color : @admin-boundaries ;
+ line-width : 1.5 ;
+ line-dasharray : 5 , 2 ;
+ line-clip : false ;
+ }
+ }
+ opacity : 0.5 ;
+ comp-op : darken;
+}
+
+#admin-high-zoom [ zoom >= 13 ] {
+ [ admin_level = '9' ],
+ [ admin_level = '10' ] {
+ [ zoom >= 13 ] {
+ background/ line-color : white ;
+ background/ line-width : 2 ;
+ line-color : @admin-boundaries ;
+ line-width : 2 ;
+ line-dasharray : 2 , 3 ;
+ line-clip : false ;
+ }
+ }
+ opacity : 0.5 ;
+ comp-op : darken;
+}
+
+
+
+#nature-reserve-boundaries {
+ [ way_pixels > 100 ][ zoom >= 7 ] {
+ [ zoom < 10 ] {
+ :: fill {
+ opacity : 0.05 ;
+ polygon-fill : green ;
+ }
+ }
+ a/ line-width : 1 ;
+ a/ line-offset : - 0.5 ;
+ a/ line-color : green ;
+ a/ line-opacity : 0.15 ;
+ a/ line-join : round;
+ a/ line-cap : round;
+ b/ line-width : 2 ;
+ b/ line-offset : - 1 ;
+ b/ line-color : green ;
+ b/ line-opacity : 0.15 ;
+ b/ line-join : round;
+ b/ line-cap : round;
+ [ zoom >= 10 ] {
+ a/ line-width : 2 ;
+ a/ line-offset : - 1 ;
+ b/ line-width : 4 ;
+ b/ line-offset : - 2 ;
+ }
+ [ zoom >= 14 ] {
+ b/ line-width : 6 ;
+ b/ line-offset : - 3 ;
+ }
+ }
+}
+
+#building-text {
+[ zoom >= 14 ][ way_pixels > 3000 ],
+[ zoom >= 17 ] {
+text-name : "[name]" ;
+text-size : 11 ;
+text-fill : #444 ;
+text-face-name : @book-fonts ;
+text-halo-radius : 1 ;
+text-wrap-width : 20 ;
+text-halo-fill : rgba( 255 , 255 , 255 , 0.5 );
+text-placement : interior;
+}
+}
+
+@marina-text : #576ddf ; // also swimming_pool
+@landcover-face-name : @oblique-fonts ;
+@standard-wrap-width : 30 ;
+
+.points {
+ [ feature = 'tourism_alpine_hut' ][ zoom >= 13 ] {
+ point-file : url( 'symbols/alpinehut.p.16.png' );
+ point-placement : interior;
+ }
+ }
+
+ [ feature = 'highway_bus_stop' ] {
+ [ zoom >= 16 ] {
+ marker-file : url( 'symbols/square.svg' );
+ marker-fill : @transportation-icon ;
+ marker-placement : interior;
+ marker-width : 6 ;
+ }
+ [ zoom >= 17 ] {
+ marker-file : url( 'symbols/bus_stop.p.12.png' );
+ marker-width : 12 ;
+ }
+ }
+
+[ feature = 'highway_primary' ] {
+[ zoom >= 7 ][ zoom < 12 ] {
+line-width : 0.5 ;
+line-color : @primary-fill ;
+[ zoom >= 9 ] { line-width : 1.2 ; }
+[ zoom >= 10 ] { line-width : 2 ; }
+[ zoom >= 11 ] { line-width : .5 ; }
+}
+}
+
diff --git a/autotests/html/test.py.html b/autotests/html/test.py.html
new file mode 100644
index 0000000..ad953cd
--- /dev/null
+++ b/autotests/html/test.py.html
@@ -0,0 +1,35 @@
+
+
+
+test.py
+
+
+# comment with ALERT
+
+''' multiline
+ comment
+ ###
+ '''
+
+def func(x):
+ """ API docs """
+ if x == 42 :
+ func()
+ c1 = {}
+ c2 = {
+ 2.4 ,
+ 0x42
+ }
+ a1 = []
+ a2 = [
+ "a" , 032 , (
+ )]
+ else :
+ print ("""multi
+ line
+ string""" )
+ print ("single \
+ continued line " )
+ print ('single line' )
+ return float (len (a2))
+
diff --git a/autotests/html/test.qml.html b/autotests/html/test.qml.html
new file mode 100644
index 0000000..39cc95d
--- /dev/null
+++ b/autotests/html/test.qml.html
@@ -0,0 +1,30 @@
+
+
+
+test.qml
+
+
+/*
+ * multi line comment
+ */
+
+// single line comment
+
+import QtQuick 2.0
+
+Rectangle {
+ property real myNumProp: 0.1e12 ;
+ property alias sub.color ;
+ signal mySignal(int arg1, string arg2)
+ color : "lightsteelblue"
+ width : 320
+ height : width/2
+
+ Rectangle {
+ id : sub
+ width : 0x10
+ height : 007
+ objectName : 'single quote'
+ }
+}
+
diff --git a/autotests/html/test.sql.html b/autotests/html/test.sql.html
new file mode 100644
index 0000000..8d9f050
--- /dev/null
+++ b/autotests/html/test.sql.html
@@ -0,0 +1,13 @@
+
+
+
+test.sql
+
+
+-- comment
+
+CREATE TABLE stuff COLUMNS (col1 INT , col2 Varchar );
+SELECT * FROM stuff WHERE id = 'string' ;
+select * from stuff where id < 0.42 ;
+Select col1, col2 From stuff Where stuff.col1 IS NOT NuLL ;
+
diff --git a/autotests/html/test.tex.html b/autotests/html/test.tex.html
new file mode 100644
index 0000000..e3ab47c
--- /dev/null
+++ b/autotests/html/test.tex.html
@@ -0,0 +1,12 @@
+
+
+
+test.tex
+
+
+% commet
+
+text \texttt {more text}
+
+\verb !verbatim text ! normal text
+
diff --git a/autotests/html/test_syntax.sql.html b/autotests/html/test_syntax.sql.html
new file mode 100644
index 0000000..eee648a
--- /dev/null
+++ b/autotests/html/test_syntax.sql.html
@@ -0,0 +1,48 @@
+
+
+
+test_syntax.sql
+
+
+-- kate: hl SQL (Oracle)
+-- test case shipped with highlighting in bugzilla, LGPL
+
+begin
+ q'{adfasdf'sadfasdf j }'{' hkjhkhkjhkjh khlkhklj' fghdfghdfgh'hkjh' jkhkh'a'
+ Q'(asldflahsl;'dkjfhklsdfh )'
+ q'[asdasd;'asdasd'a]sd'asd'asasd ]';11111111[1']; asdasdasdasd' errrrrrrrrrrrrrr-p
+
+ q'agdfgsdfgfhfghjfgh'f'f'sdfg'sdfg'dfg# a' dafdfadasfasdf;
+
+ Q'#gdfgsdfgsdfgsdfgsdfg #' afgasasdfasdfasfasdfasdfasdfasdfsdf
+
+ if sldfjsdj then
+ case
+ when 1=1 then
+ aslfjsldkfj;
+ when 2=2 then
+ asdfg;
+ else
+ null ;
+ end case ;
+
+ if sdfjh then
+ for i in 1 .. 2
+ LOOP
+ dbms_output.put_line(q';ololo ;');
+ END Loop ;
+
+ while true
+ loop
+ dbms_output.put_line('1111' );
+ end loop ;
+ end if ;
+ ksjfklasjd;
+ fklj;
+ elsif
+ sdklfjsdklfj;
+ else
+ sdfdfsdf;
+ end if ;
+end ;
+
diff --git a/autotests/htmlhighlighter_test.cpp b/autotests/htmlhighlighter_test.cpp
new file mode 100644
index 0000000..34dc769
--- /dev/null
+++ b/autotests/htmlhighlighter_test.cpp
@@ -0,0 +1,116 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "test-config.h"
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+class HTMLHighlighterTest : public QObject
+{
+ Q_OBJECT
+public:
+ explicit HTMLHighlighterTest(QObject *parent = Q_NULLPTR) : QObject(parent), m_repo(Q_NULLPTR) {}
+
+private:
+ Repository *m_repo;
+
+private Q_SLOTS:
+ void initTestCase()
+ {
+ QStandardPaths::enableTestMode(true);
+ m_repo = new Repository;
+ }
+
+ void cleanupTestCase()
+ {
+ delete m_repo;
+ m_repo = Q_NULLPTR;
+ }
+
+ void testHighlight_data()
+ {
+ QTest::addColumn("inFile");
+ QTest::addColumn("outFile");
+ QTest::addColumn("refFile");
+ QTest::addColumn("syntax");
+
+ QDirIterator it(QStringLiteral(TESTSRCDIR "/input"), QDir::Files | QDir::NoSymLinks | QDir::Readable);
+ while (it.hasNext()) {
+ const auto inFile = it.next();
+ if (inFile.endsWith(QLatin1String(".syntax")))
+ continue;
+
+ QString syntax;
+ QFile syntaxOverride(inFile + QStringLiteral(".syntax"));
+ if (syntaxOverride.exists() && syntaxOverride.open(QFile::ReadOnly))
+ syntax = QString::fromUtf8(syntaxOverride.readAll()).trimmed();
+
+
+ QTest::newRow(it.fileName().toUtf8().constData()) << inFile
+ << (QStringLiteral(TESTBUILDDIR "/html.output/") + it.fileName() + QStringLiteral(".html"))
+ << (QStringLiteral(TESTSRCDIR "/html/") + it.fileName() + QStringLiteral(".html"))
+ << syntax;
+ }
+
+ QDir().mkpath(QStringLiteral(TESTBUILDDIR "/html.output/"));
+ }
+
+ void testHighlight()
+ {
+ QFETCH(QString, inFile);
+ QFETCH(QString, outFile);
+ QFETCH(QString, refFile);
+ QFETCH(QString, syntax);
+ QVERIFY(m_repo);
+
+ HtmlHighlighter highlighter;
+ highlighter.setTheme(m_repo->defaultTheme());
+ QVERIFY(highlighter.theme().isValid());
+
+ auto def = m_repo->definitionForFileName(inFile);
+ if (!syntax.isEmpty())
+ def = m_repo->definitionForName(syntax);
+ QVERIFY(def.isValid());
+ highlighter.setDefinition(def);
+ highlighter.setOutputFile(outFile);
+ highlighter.highlightFile(inFile);
+
+ auto args = QStringList() << QStringLiteral("-u") << refFile << outFile;
+ QProcess proc;
+ proc.setProcessChannelMode(QProcess::ForwardedChannels);
+ proc.start(QStringLiteral("diff"), args);
+ QVERIFY(proc.waitForFinished());
+ QCOMPARE(proc.exitCode(), 0);
+ }
+
+};
+
+QTEST_GUILESS_MAIN(HTMLHighlighterTest)
+
+#include "htmlhighlighter_test.moc"
+
diff --git a/autotests/input/Dockerfile b/autotests/input/Dockerfile
new file mode 100644
index 0000000..95a81d3
--- /dev/null
+++ b/autotests/input/Dockerfile
@@ -0,0 +1,19 @@
+# LGPLv2+ example file
+
+# This is a comment
+FROM ubuntu:14.04
+MAINTAINER James Turnbull # comment
+ENV REFRESHED_AT 2014-06-01
+
+RUN apt-get -yqq update
+RUN apt-get install -yqq software-properties-common python-software-properties
+RUN add-apt-repository ppa:chris-lea/redis-server
+RUN apt-get -yqq update
+RUN apt-get -yqq install redis-server redis-tools
+RUN apt-get -yqq update # comment
+
+VOLUME [ "/var/lib/redis", "/var/log/redis/" ]
+
+EXPOSE 6379
+
+CMD []
diff --git a/autotests/input/Kconfig b/autotests/input/Kconfig
new file mode 100644
index 0000000..5ebfaf4
--- /dev/null
+++ b/autotests/input/Kconfig
@@ -0,0 +1,15 @@
+This is wrong but should not crash ] ) } !
+
+# comment
+
+config BR2_PACKAGE_GAMMARAY
+ bool "gammaray"
+ depends on BR2_PACKAGE_QT5
+ help
+ GammaRay Qt introspection probe.
+ second line of help, with correct indentation
+ third line underindented and thus wrong
+ default 'true'
+
+menu myMenu
+endmenu
diff --git a/autotests/input/Makefile b/autotests/input/Makefile
new file mode 100644
index 0000000..1aae297
--- /dev/null
+++ b/autotests/input/Makefile
@@ -0,0 +1,25 @@
+# comment
+
+include Makefile.in
+
+.PHONY: all
+
+all: target
+
+foo = bar $(var) \
+ $(baz) quux
+
+ifeq ($(CC),gcc)
+ bla=$(call func,param1,param2)
+else
+ libs=$(normal_libs)
+endif
+
+target1:
+ error
+
+target2: bla.cpp $@
+ $(CC) bla.c -o bla.o
+ $(CC) bla.o $< \
+ -o bla.exe
+ @echo "hello"
diff --git a/autotests/input/basic.markdown b/autotests/input/basic.markdown
new file mode 100644
index 0000000..f9a5bb3
--- /dev/null
+++ b/autotests/input/basic.markdown
@@ -0,0 +1,6 @@
+normal
+
+* item1
+still part of item
+
+normal text again
diff --git a/autotests/input/basic.xml b/autotests/input/basic.xml
new file mode 100644
index 0000000..20feae1
--- /dev/null
+++ b/autotests/input/basic.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/autotests/input/complex.xml b/autotests/input/complex.xml
new file mode 100644
index 0000000..d738998
--- /dev/null
+++ b/autotests/input/complex.xml
@@ -0,0 +1,13 @@
+
+
+
+
+]>
+
+
+
+
+>
diff --git a/autotests/input/cube.obj b/autotests/input/cube.obj
new file mode 100644
index 0000000..ef06c98
--- /dev/null
+++ b/autotests/input/cube.obj
@@ -0,0 +1,33 @@
+# cube.obj
+#
+
+g cube
+
+v 0.0 0.0 0.0
+v 0.0 0.0 1.0
+v 0.0 1.0 0.0
+v 0.0 1.0 1.0
+v 1.0 0.0 0.0
+v 1.0 0.0 1.0
+v 1.0 1.0 0.0
+v 1.0 1.0 1.0
+
+vn 0.0 0.0 1.0
+vn 0.0 0.0 -1.0
+vn 0.0 1.0 0.0
+vn 0.0 -1.0 0.0
+vn 1.0 0.0 0.0
+vn -1.0 0.0 0.0
+
+f 1//2 7//2 5//2
+f 1//2 3//2 7//2
+f 1//6 4//6 3//6
+f 1//6 2//6 4//6
+f 3//3 8//3 7//3
+f 3//3 4//3 8//3
+f 5//5 7//5 8//5
+f 5//5 8//5 6//5
+f 1//4 5//4 6//4
+f 1//4 6//4 2//4
+f 2//1 6//1 8//1
+f 2//1 8//1 4//1
diff --git a/autotests/input/cube.ply b/autotests/input/cube.ply
new file mode 100644
index 0000000..08d5f89
--- /dev/null
+++ b/autotests/input/cube.ply
@@ -0,0 +1,26 @@
+error before header
+
+ply
+format ascii 1.0
+comment TODO this is a comment
+element vertex 8
+property float x
+property float y
+property float z
+element face 6
+property list uint int vertex_indices
+end_header
+-1 -1 -1
+1 -1 -1
+1 1 -1
+-1 1 -1
+-1 -1 1
+1 -1 1
+1 1 1
+-1 1 1
+4 0 1 2 3
+4 5 4 7 6
+4 6 2 1 5
+4 3 7 4 0
+4 7 3 2 6
+4 5 1 0 4
diff --git a/autotests/input/cube.stl b/autotests/input/cube.stl
new file mode 100644
index 0000000..ae74fd9
--- /dev/null
+++ b/autotests/input/cube.stl
@@ -0,0 +1,30 @@
+solid cube_corner
+ facet normal 0.0 -1.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 1.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+ facet normal 0.0 0.0 -1.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 1.0 0.0 0.0
+ endloop
+ endfacet
+ facet normal -1.0 0.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ vertex 0.0 1.0 0.0
+ endloop
+ endfacet
+ facet normal 0.577 0.577 0.577
+ outer loop
+ vertex 1.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+endsolid
diff --git a/autotests/input/example.rmd b/autotests/input/example.rmd
new file mode 100644
index 0000000..ef9a33e
--- /dev/null
+++ b/autotests/input/example.rmd
@@ -0,0 +1,39 @@
+---
+title: "test"
+author: "me"
+date: "07.10.2014"
+output: html_document
+---
+
+This is a simple test document. It shows syntax highlighting switches between YAML (above), R blocks
+```{r, echo=FALSE}
+for (i in 1:10) {
+ if(i>=10) print(i)
+}
+# two blank lines below
+
+sessionInfo()
+```
+
+LaTeX equations,
+$$
+h_{i}(t \mid q,C) = h_{0}(t) e^{\beta_{1}quality_{i} + \beta_{2}C_{iq}}
+$$
+
+and Markdown. A [link](http://example.com) in Markdown.
+
+Inline `r y <- 5 + x - sin(3)` R code.
+Inline `y <- 5 + x - sin(3)` code.
+
+
+ Heading
+ =======
+
+ Sub-heading
+ -----------
+ A list of editors:
+ * kate
+ * vim
+ * emacs
+
+*italic*, **bold**, `monospace`
diff --git a/autotests/input/firstNonSpace.c b/autotests/input/firstNonSpace.c
new file mode 100644
index 0000000..570ba90
--- /dev/null
+++ b/autotests/input/firstNonSpace.c
@@ -0,0 +1,7 @@
+#define 1
+ #define 2
+ #define 3
+ #define 4
+ #define 5
+ #define tab
+
diff --git a/autotests/input/folding.cpp b/autotests/input/folding.cpp
new file mode 100644
index 0000000..9e26b3f
--- /dev/null
+++ b/autotests/input/folding.cpp
@@ -0,0 +1,15 @@
+/**
+ * multi-line comment
+ */
+
+/* comment */
+{ { } {
+//BEGIN
+}
+//END
+}
+
+#if 0
+#elif 1
+#else
+#endif
diff --git a/autotests/input/git-rebase b/autotests/input/git-rebase
new file mode 100644
index 0000000..43041bb
--- /dev/null
+++ b/autotests/input/git-rebase
@@ -0,0 +1,32 @@
+pick 318aceb Add test for Makefile highlighting
+p 4c7182a Add first batch of test files resurrected from Kate 4.6
+r 6f7d8a7 Sync xml files with KTextEditor
+reword 8f0dbdc Add another batch of resurrected tests from Kate 4.6
+e 828de45 Add some more resurrected tests from Kate 4.6
+edit 6aa6264 Add simple coverage information for syntax definition tests
+s 63df253 Add more syntax highlighting tests from Kate 4.6
+squash 3e7771f Add three more tests recovered from Kate 4.6
+f 5c7fd91 Add Kate 4.6 ASP syntax test
+fixup 7a777ff Implement case-sensitive overrides for keyword rules
+exec 2b16665 Implement dynamic DetectChar rules
+drop dd808dc Quote captured strings we replace in regular expressions
+x 0b703a3 Add a few more tests from the Kate 4.6 test suite
+
+# Rebase a27a854..0b703a3 onto a27a854 (13 command(s))
+#
+# Commands:
+# p, pick = use commit
+# r, reword = use commit, but edit the commit message
+# e, edit = use commit, but stop for amending
+# s, squash = use commit, but meld into previous commit
+# f, fixup = like "squash", but discard this commit's log message
+# x, exec = run command (the rest of the line) using shell
+# d, drop = remove commit
+#
+# These lines can be re-ordered; they are executed from top to bottom.
+#
+# If you remove a line here THAT COMMIT WILL BE LOST.
+#
+# However, if you remove everything, the rebase will be aborted.
+#
+# Note that empty commits are commented out
diff --git a/autotests/input/git-rebase.syntax b/autotests/input/git-rebase.syntax
new file mode 100644
index 0000000..abf0034
--- /dev/null
+++ b/autotests/input/git-rebase.syntax
@@ -0,0 +1 @@
+Git Rebase
diff --git a/autotests/input/hello.exs b/autotests/input/hello.exs
new file mode 100644
index 0000000..cca72a1
--- /dev/null
+++ b/autotests/input/hello.exs
@@ -0,0 +1,11 @@
+parent = self()
+
+# Spawns an Elixir process (not an operating system one!)
+spawn_link(fn ->
+ send parent, {:msg, "hello world"}
+end)
+
+# Block until the message is received
+receive do
+ {:msg, contents} -> IO.puts contents
+end
diff --git a/autotests/input/highlight.ahdl b/autotests/input/highlight.ahdl
new file mode 100644
index 0000000..e059aa8
--- /dev/null
+++ b/autotests/input/highlight.ahdl
@@ -0,0 +1,43 @@
+-- Test file for kate's syntax highlighting
+Title "Test file";
+
+-- BEGIN region (a region marker region) :)
+
+% multiline comment
+goes on here %
+
+-- END
+
+FUNCTION FCT (Clk, Key) RETURNS (pulse);
+
+SUBDESIGN CDCLOCK2
+(
+in : INPUT; -- go in
+out[3..0] : OUTPUT; -- come out
+)
+
+VARIABLE
+start : soft;
+usec[3..0] : node;
+
+BEGIN
+
+in = FCT(clock, some_key); -- senseless code
+
+-- comment
+blubb = (blobb[] == H"3ff");
+
+IF in THEN asdf
+-- folde me
+END IF;
+
+TABLE
+-- missing code
+END TABLE
+
+
+END;
+
+-- hex, octal, binary
+H"0" => B"1000000";
+O"01234567";
\ No newline at end of file
diff --git a/autotests/input/highlight.asm-avr b/autotests/input/highlight.asm-avr
new file mode 100644
index 0000000..f1e0542
--- /dev/null
+++ b/autotests/input/highlight.asm-avr
@@ -0,0 +1,75 @@
+;********************************************************************
+;* LED flasher: LED will flash with a X on/off ratio at PD6
+;*
+;* NOTE: delay depends in the value of X, 1 is fast, 255 is slow
+;*
+;* No copyright ©1998 RES® * FREEWARE *
+;*
+;* NOTE: Connect a low current LED with a 1k resistor in serie from
+;* Vdd to pin 11 of the MCU. (Or a normal LED with a 330ohm)
+;*
+;* RES® can be reached by email: digitalaudio@mail.com
+;* or visit the website: http://home.wanadoo.nl/electro1/avr
+;*
+;* Version :1.0
+;* Date :12/26/98
+;* Author :Rob's ElectroSoft®
+;* Target MCU :AT90S1200-12PI@4MHz
+;********************************************************************
+
+.include "1200def.inc"
+
+ rjmp RESET ;reset handle
+
+
+;* Long delay
+
+;* Register variables
+
+ .def T1 = r1
+ .def T2 = r2
+ .def temp = r19
+
+;* Code
+
+longDelay:
+ clr T1 ;T1 used as delay 2nd count
+ clr T2 ;T2 used as delay 3d count
+delay_1:
+ dec T2
+ brne delay_1
+ dec T1
+ brne delay_1
+ dec temp ;temp must be preset as
+ brne delay_1 ; delay master count
+ ret
+
+
+;* Resets the data direction register D
+
+;* Defines
+
+ .equ led = 6 ;LED at PD6
+
+;* Code
+
+RESET:
+ sbi DDRD, led ;connect LED to PORTD pin 6
+
+
+;* Main program
+
+;* This part will let the LED go on and off by X
+
+;* Register variables
+
+ .equ X = 10 ;enter delaytime X
+
+flash:
+ sbi PORTD, led ;LED on
+ ldi temp, X ;X sec delay
+ rcall longDelay
+ cbi PORTD, led ;LED off
+ ldi temp, X ;X sec delay
+ rcall longDelay
+ rjmp flash ;another run
\ No newline at end of file
diff --git a/autotests/input/highlight.asm-nasm b/autotests/input/highlight.asm-nasm
new file mode 100644
index 0000000..a5da4d1
--- /dev/null
+++ b/autotests/input/highlight.asm-nasm
@@ -0,0 +1,27 @@
+; Example file for nasm.xml kate syntax file
+; compile with `nasm example.asm -f elf -o example.o`
+; and link with 'gcc example.o -o example`
+; Public domain
+; kate: hl Intel x86 (NASM);
+
+section .data
+
+hello dd 'Hello World', 0x0A, 0h
+printf_param dd '%s', 0q
+
+section .text
+
+extern printf
+
+global main
+main:
+ push ebp
+ mov ebp, esp
+
+ push hello
+ push printf_param
+ call printf
+
+ mov eax, 0b
+ leave
+ ret
diff --git a/autotests/input/highlight.asm-nasm.syntax b/autotests/input/highlight.asm-nasm.syntax
new file mode 100644
index 0000000..67140d2
--- /dev/null
+++ b/autotests/input/highlight.asm-nasm.syntax
@@ -0,0 +1 @@
+Intel x86 (NASM)
diff --git a/autotests/input/highlight.asp b/autotests/input/highlight.asp
new file mode 100644
index 0000000..07a8619
--- /dev/null
+++ b/autotests/input/highlight.asp
@@ -0,0 +1,58 @@
+<% 'kate: hl ASP;
+if ( instr(request.servervariables("PATH_INFO"),"login.asp") <= 0 and instr(request.servervariables("PATH_INFO"),"inset") <= 0 and instr(request.servervariables("PATH_INFO"),"Data") <= 0 and instr(request.servervariables("PATH_INFO"),"dropDown") <= 0 ) then
+ Session("originalRequestedPage") = Request.ServerVariables("PATH_INFO") & "?" & Request.ServerVariables("QUERY_STRING")
+end if
+
+function countRecords( rsToCount )
+ numRecs = 0
+
+ do until rsToCount.eof
+ numRecs = numRecs + 1
+
+ rsToCount.movenext
+ loop
+
+ rsToCount.close ' just to make sure nobody
+ ' tries to operate on the recordset,
+ ' which has already reached eof
+
+ countRecords = numRecs
+end function
+
+function unique( rs, sortColumn ) ' return unique instances of text in sortColumn within rs
+ dim sorted()
+
+ redim sorted(1)
+ dim i
+ i = 0
+ do until rs.eof
+ if (not find( rs(sortColumn), sorted )) then
+ redim preserve sorted(i+1)
+ sorted(i) = rs(sortColumn)
+ i = i + 1
+ end if
+ rs.MoveNext
+ loop
+
+ redim preserve sorted(i-1) ' the function will add an extra blank entry to the array
+
+ rs.Close ' close the recordset - we'll be using it again - and reset i - well be using it again, too
+
+ unique = sorted
+end function
+
+sub testSub( variable ) ' do nothing impressive...
+ dim newVar
+
+ newVar = variable
+
+ if ( variable = true )
+ response.end
+ else %>
+
+We are writing text.
+<%=newVar%>
+We have written text and outputted a variable.
+
+<% end if
+end sub %>
\ No newline at end of file
diff --git a/autotests/input/highlight.awk b/autotests/input/highlight.awk
new file mode 100644
index 0000000..47f10cf
--- /dev/null
+++ b/autotests/input/highlight.awk
@@ -0,0 +1,28 @@
+#!/usr
+# AWK hl test
+
+# BEGIN and END are also matched as patterns
+BEGIN {
+ p = 0;
+}
+
+/some pattern/ {
+ p++;
+}
+
+# / inside brackets is not considered end of expression
+# a loose division operator (/) is not mismatched as a pattern.
+$1 =~ /[^abc/]def/ || b == 3 / 5 {
+
+ gsub ( FILENAME );
+
+}
+
+# TODO and FIXME also work in comments in Awk.
+
+# Also backslash in patterns works.
+/\/usr\/bin\/awk/ { print "This is me"; }
+
+END {
+ print p;
+}
diff --git a/autotests/input/highlight.bib b/autotests/input/highlight.bib
new file mode 100644
index 0000000..0ae404c
--- /dev/null
+++ b/autotests/input/highlight.bib
@@ -0,0 +1,31 @@
+% test file for kate's bibtex syntax highlighting
+
+@Article{artikel,
+author = {Me},
+title = {Something},
+journal = {JHEP},
+year = {2003},
+}
+
+@Book
+
+{
+
+boek,
+author = "Someone",
+title = "Something",
+journal = "Nucl. Phys. B",
+year = "2003",
+}
+
+This is ignored by BibTeX, no special highlighting
+%This is not a comment, it is just ignored (thanks to the people in #latex) :)
+
+@string{test="lange string die ik niet vaak opnieuw wil intikken"}
+
+@PhdThesis{thesis,
+author = {Me},
+title = {Dunno},
+school = {ITFA},
+year = {2005, hopefully},
+}
diff --git a/autotests/input/highlight.cmake b/autotests/input/highlight.cmake
new file mode 100644
index 0000000..02a6c8f
--- /dev/null
+++ b/autotests/input/highlight.cmake
@@ -0,0 +1,49 @@
+#this CMakeLists.txt doesn't do anything useful, but it shoudl demonstrate the cmake syntax highlighting
+#Alexander Neundorf
+
+#ok this is a comment
+#and another line
+#a built-in command, it's bold black
+ADD_DEFINITIONS(-Wall -Wctor-dtor-privacy -Woverloaded-virtual -Wno-long-long -pipe -fno-builtin -fno-exceptions)
+
+#and another function
+INCLUDE_DIRECTORIES(
+#comments are also highlighted inside function parameters
+#variables are Qt::blue
+${CMAKE_CURRENT_SOURCE_DIR}/../../lib/qt4/include/Qt
+)
+
+# BEGIN defining a macro
+MACRO(ECOS_ADD_EXECUTABLE _exe_NAME )
+
+#special parameters are italic, see the STATIC in the next line
+ADD_LIBRARY(${_exe_NAME} STATIC ${ARGN})
+#but not in the following line ?
+ ADD_LIBRARY(${_exe_NAME} STATIC ${ARGN})
+# it seems the kate highlighting file could need some love, Alex
+
+
+#another command with a bunch of variables and special parameters
+ ADD_CUSTOM_COMMAND(
+ TARGET ${_exe_NAME}
+ PRE_LINK
+ COMMAND ${CMAKE_C_COMPILER}
+ ARGS -o ${_exe_NAME}
+$\(${_exe_NAME}_SRC_OBJS\) -nostdlib -nostartfiles -Lecos/install/lib -Ttarget.ld
+ )
+
+#add the created files to the make_clean_files
+ SET(ECOS_ADD_MAKE_CLEAN_FILES ${ECOS_ADD_MAKE_CLEAN_FILES};${_exe_NAME};)
+#and another command...
+ SET_DIRECTORY_PROPERTIES(
+ PROPERTIES
+ ADDITIONAL_MAKE_CLEAN_FILES "${ECOS_ADD_MAKE_CLEAN_FILES}"
+ )
+ENDMACRO(ECOS_ADD_EXECUTABLE)
+# END of macro
+
+#calling a self-defined function, variables are also Qt::blue here
+ECOS_ADD_EXECUTABLE(${PROJECT_NAME} ${the_sources} ${qt4_moc_SRCS})
+
+
+
diff --git a/autotests/input/highlight.css b/autotests/input/highlight.css
new file mode 100644
index 0000000..986c6c0
--- /dev/null
+++ b/autotests/input/highlight.css
@@ -0,0 +1,49 @@
+/**
+ * This is a pseudo CSS file to test Kate's CSS syntax highlighting.
+ */
+
+@import url("othersheet.css") screen, tv;
+
+body {
+ font-size: 15pt;
+ font-family: Verdana, Helvetica, "Bitstream Vera Sans", sans-serif;
+ margin-top: 0px; /* yet another comment */
+ margin-bottom: 0px;
+ // this is no comment, it's just broken!
+ margin-left: 0px;
+ margin-right: 0px;
+}
+
+.something
+{
+ margin-right: 0px;
+ color: #cdd;
+ color: #AAFE04;
+ color: rgb(10%,30%,43%);
+ background: maroon;
+}
+
+a:hover {
+}
+
+#header,
+p.intro:first-letter,
+p:lang(nl),
+img[align="right"]
+{
+ border: 1px solid Qt::red !important;
+ -moz-border-radius: 15px; /* unknown properties render italic */
+}
+
+@media print {
+
+ #header
+ {
+ display: none;
+ }
+
+}
+
+/*
+TODO: add more tests, e.g. media
+*/
diff --git a/autotests/input/highlight.d b/autotests/input/highlight.d
new file mode 100644
index 0000000..b3daaf6
--- /dev/null
+++ b/autotests/input/highlight.d
@@ -0,0 +1,195 @@
+/********
+* Highlight testing module.
+*
+* Do not attempt to run this!
+***********/
+module highlighttest;
+import X = null;
+
+/++ Pragma directives. DDoc + DDoc embedded items. Special Tokens.
++
++ ---
++ // comment
++ #line 12 "hightlighttest.d" /* block comment */
++ #line __LINE__ __FILE__ /++ embedded block comment +/
++
++ pragma /* */ (msg, "what?");
++ pragma(/++ +/ lib, "insane.a");
++ pragma(D_Custom_Extension, "custom data");
++ ---
++/
+
+/// version condition
+version = X;
+version (X) ;
+version(linux) {}
+
+/// linkage
+extern
+ (C) {}
+extern :
+;
+extern (Windows) {}
+
+/// alias & typedef
+alias int.min minint;
+typedef int myint;
+
+int main(char[][] args) {
+ /// statements
+ if (1) {}
+ else {}
+ with (N) {x = B}
+
+ /// attributes
+ auto x = 1;
+ static if (true) {}
+ void (in X, out Y) {} // NOTE: using in like this is rare, more common to use as an expression and no way to tell apart?
+
+ /// deprecated
+ deprecated void fct ();
+
+ /// types
+ void a;
+ ushort u;
+ int[uint] AA;
+ class C;
+ enum N : int { A = 5, B }
+ typeof(u) u2;
+
+ /// expressions
+ x = cast(int) 55;
+ void* p = null;
+ p = cast(void*) new int;
+ x = 1 in AA; // NOTE: a THIRD use of in. How to detect??
+ assert (true);
+
+ /// libsymbols
+ string s = "";
+ throw new Exception;
+ TypeInfo ti = typeid(int);
+
+ /// tests
+ debug {}
+ debug (2) {}
+ debug (DSymb) {}
+ unittest {}
+
+ /// scope (as attribute and as statement)
+ scope struct S;
+ scope (exit) {}
+ scope
+ (success) {} // NOTE: rules cannot match across new-lines
+ scope (failure) {}
+
+ /// Properties
+ x = int.min;
+ s = (5-3).stringof;
+
+ /// strings
+ s = r"raw string";
+ s = x"00FF";
+ s = \n \a;
+ s = \u1234;
+ s = \U12345678;
+ s = \& ;
+ char c = 'a';
+ s = "abc 012 \" \n \x12 \u1234 \U12345678";
+ s = `BQString '"`;
+
+ /// region markers
+ //BEGIN x
+ //END x
+
+ /// DDoc
+ /*******
+ * DDoc
+ *
+ * Section:
+ * New section.
+ * $(I italic)
+ *******/
+ /+++++++
+ + DDoc
+ + /+
+ + +/
+ +++++++/
+
+ // comments
+ // FIXME NOTE
+ /* comment */
+ /+ comment /+ nested comment +/ +/
+
+ /// brace folding
+ {
+ }
+
+ /** normal text
+ * ---
+ * .x;
+ * ..
+ * ...
+ * ....
+ * .....
+ * _._
+ * _e1
+ * ---
+ */
+
+ /// float and int literals
+ int i;
+ real r;
+ ireal ir;
+ r = .0;
+ r = 0f;
+ ir = 0e0i;
+ ir = 0.fi;
+ r = 0.0e0;
+ r = 0xF.Fp0;
+ r = 0x_._p0_;
+ i = 5;
+ i = -1;
+ i = 0b10;
+ i = 0070;
+ i = 00;
+ i = 0xF0;
+
+ /// ranges
+ int[] A;
+ i = A[1];
+ A = A[0..$];
+ A = A[0..0];
+ A = A[0..length];
+
+ /// labels
+ label:
+ goto label;
+
+ /// function, delegate
+ creal function () fp = function creal() { return 0f+0fi; };
+ void delegate (in int i, lazy int b) dg = delegate void (int, int) {}
+
+ /// in, out, body
+ // NOTE: highlighting in & out as statements here could be difficult
+ float F ()
+ in {}
+ out (result) {}
+ body {}
+
+ /// try, catch, finally
+ try {
+ throw new Exception("oh no... ");
+ } catch (Exception e) {
+ } finally {
+ }
+
+ /// mixin
+ mixin("return false;").stringof;
+
+ /// templates
+ macro; // what does this do?
+ template Tp (T) {
+ Tp t;
+ }
+ Tp!(int) y;
+}
diff --git a/autotests/input/highlight.do b/autotests/input/highlight.do
new file mode 100644
index 0000000..0b90b16
--- /dev/null
+++ b/autotests/input/highlight.do
@@ -0,0 +1,89 @@
+/* Test file for kate's stata syntax highlighting
+*/
+*! version 1.2.0 2mar2003 E. Leuven
+program define spellsplit
+ version 7
+ syntax [anything], spell(varlist min=2 max=2) [ by(varlist)]
+ tokenize `spell'
+ local date0 `1'
+ local date1 `2'
+ local f0 : format `date0'
+ local f1 : format `date1'
+
+ /* set default statistic */
+ local current "mean"
+
+ gettoken left anything : anything, match(prns)
+ while "`left'"!="" {
+ if "`prns'"!="" {
+ if !inlist("`left'","mean","sum") {
+ di as error "Statistic `left' not supported"
+ exit 198
+ }
+ local current "`left'"
+ }
+ else {
+ local `current'vars ``current'vars' `left'
+ }
+ gettoken left anything : anything, match(prns)
+ }
+ if ("`meanvars'"!="") {
+ confirm var `meanvars'
+ unab meanvars : `meanvars'
+ }
+ if ("`sumvars'"!="") {
+ confirm var `sumvars'
+ unab sumvars : `sumvars'
+ }
+
+ quietly {
+ g _count = 1
+ local xvars `meanvars' `sumvars' _count
+
+ /* create dummy by-var if no by option is specified */
+ if "`by'"=="" {
+ tempvar by
+ g byte `by' = 1
+ }
+ tempvar `xvars' `by'
+
+ /* create negative for subtraction when spell ends */
+ cap foreach v of varlist `xvars' {
+ g double ``v'' = -`v'
+ local txvars `txvars' ``v''
+ }
+ cap foreach v of varlist `by' {
+ g double ``v'' = `v'
+ local txvars `txvars' ``v''
+ }
+
+ stack `date0' `xvars' `by' `date1' `txvars', into(`date0' `xvars' `by') clear
+
+ /* calculate totals per date */
+ cap foreach v of varlist `xvars' {
+ egen double ``v'' = sum(`v'), by(`by' `date0')
+ }
+
+ /* unique dates only */
+ by `by' `date0', sort: keep if _n==1
+
+ /* calculate totals (+ when spell starts - when ends) */
+ sort `by'
+ cap foreach v of varlist `xvars' {
+ by `by': replace `v' = sum(``v'')
+ }
+ by `by': g `date1' = `date0'[_n + 1]
+
+ drop if `date0'>`date1'
+ drop _stack
+ drop if _count==0
+ order `by' `date0' `date1' `xvars'
+ format `date0' `f0'
+ format `date1' `f1'
+
+ cap for var `meanvars': replace X = X/_count
+
+ compress
+ }
+
+end
\ No newline at end of file
diff --git a/autotests/input/highlight.dox b/autotests/input/highlight.dox
new file mode 100644
index 0000000..39b404f
--- /dev/null
+++ b/autotests/input/highlight.dox
@@ -0,0 +1,227 @@
+This is a pseudo doxygen file to test Kate's doxyge syntax highlighting.
+
+Normal text, no HL.
+===================
+a multiline comment may begin with a /*! */, too. That should work,
+because it is the same "entrance rule".
+
+popping tests:
+/** multiline */ end of doxygen HL mode
+/*! multiline */ end of doxygen HL mode
+//! singleline, where */ should be ignored! still doxygen HL mode
+/// singleline, where */ should be ignored! still doxygen HL mode
+///< singleline, where */ should be ignored! still doxygen HL mode
+begin and end immediately:
+/********/ actually no doxygen comment - used for "info boxes" :)
+/**/ <-- it really works --- end of doxygen HL mode
+/*!*/ end of doxygen HL mode
+
+
+/** \code rest of line is normal comment HL */ end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \file aword rest of line is normal comment HL */ end of doxygen HL mode
+/** \file */aword <-- pop! no doxygen HL mode
+/** \file aword rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \brief A short description */ end of doxygen HL mode
+/** \brief */A <-- pop! end of doxygen HL mode
+/** \brief A short description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \page aword rest of line is string */ end of doxygen HL mode
+/** \page */aword <-- pop! end of doxygen HL mode
+/** \page aword rest of line is string
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword */aword <-- pop! end of doxygen HL mode
+/** \image */aword aword <-- pop! end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Tests for HTML tags in doxygen HL mode:
+=======================================
+/** */ end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** */ end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** end of doxygen HL mode
+/** <*/a href="blubb"> end of doxygen HL mode
+
+//! */ stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! */ stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! stay in doygen HL mode
+//! <*/a href="blubb"> stay in doygen HL mode
+//! stay in doygen HL
+/** \code rest of line is normal comment HL */ end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest <*/a href="blubb"> of end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode text
+ */ end of doxygen HL mode
+
+
+/** \file aword rest of line is normal comment HL */ end of doxygen HL mode
+/** \file awo*/rd end of doxygen HL mode
+/** \file aword end of doxygen HL mode
+/** \file awo<*/html_should_be_ignored_here>rd end of doxygen HL mode
+/** \file a*/word end of doxygen HL mode
+/** \file aword rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \brief A short of description */ end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of <*//a href='blubb'> end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of end of doxygen HL mode
+/** \brief A short of description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \page aword A short of description */ end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of <*//a href='blubb'> end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short of end of doxygen HL mode
+/** \page aword A short <*/a href="blubb"> of end of doxygen HL mode
+/** \page aword A shor*/t of end of doxygen HL mode
+/** \page awor*/d A short of end of doxygen HL mode
+/** \page */aword A short of end of doxygen HL mode
+/** \page aword A short of description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword aword rest of line is*/ end of doxygen HL mode
+/** \image aword aword*/ end of doxygen HL mode
+/** \image aword aw*/ord end of doxygen HL mode
+/** \image aword */aword end of doxygen HL mode
+/** \image aword*/ end of doxygen HL mode
+/** \image awo*/rd end of doxygen HL mode
+/** \image */aword end of doxygen HL mode
+/** \ima*/ge end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Some further tests for singlelinecomments (* / should not pop!)
+===============================================================
+/// a singlelinecommment blubb blubb */. stay in doxygen HL mode
+/// \code a singlelinecommment blubb b*/lubb. stay in doxygen HL mode
+/// \code*/ a singlelinecommment blubb blubb. stay in doxygen HL mode
+/// \code a singlelinecommment blubb blubb
+/// \brief a descriptive text (string) stay in doxygen HL mode
+/// \brief a descriptive text (string)*/ description should go on here
+/// \brief a descriptive text */(string) description should go on here
+/// \brief */a descriptive text (string) description should go on here
+/// \ref aword a descriptive text (string) */ description should go on here
+/// \ref aword a descriptive text (str*/ing) description should go on here
+/// \ref aword a des*/criptive text (string) description should go on here
+/// \ref aword*/ a descriptive text (string) description should go on here
+/// \ref aw*/ord a descriptive text (string) description should go on here
+/// \ref */aword a descriptive text (string) description should go on here
+
+HTML comment tests:
+===================
+//! \ref word descriptive text (string)
+normal HL mode.
+//! \ref w descriptive text (string)
+/** \ref word descriptive text (string)
+normal HL mode.
+/** \ref w
+ * normal doxygen HL mode.
+ */
+
+
+And final tests for a word: a single char:
+===========================================
+
+//! \ref word descriptive text (string)
+//! \ref w descriptive text (string)
+
+
+//! \image word1 word2 b descriptive text (string)
+//! \image a word b descriptive text (string)
+
+
+//! \brief A b c d e description should go on here
+
+
+//! \file word rest of line is normal comment HL
+//! \file a word rest of line is normal comment HL
+
+no doxygen HL mode here.
+== END OF TESTFILE ==
\ No newline at end of file
diff --git a/autotests/input/highlight.erl b/autotests/input/highlight.erl
new file mode 100644
index 0000000..5b485cb
--- /dev/null
+++ b/autotests/input/highlight.erl
@@ -0,0 +1,68 @@
+% testing for the erlang syntax highlighter
+% NOTE alerts work in comments to TODO !
+
+% pragmas (show as keywords)
+-module
+-export
+-define
+-undef
+-ifdef
+-ifndef
+-else
+-endif
+-include
+-include_lib
+
+% key words
+after begin case catch cond end fun if let of query receive all_true some_true
+
+% operators
+div rem or xor bor bxor bsl bsr and band not bnot
++ - * / == /= =:= =/= < =< > >= ++ -- = ! <-
+
+% separators (show as functions)
+( ) { } [ ] . : | || ; , ? -> #
+
+% functions - predefined (part of erlang module) - show as functions
+abs accept alarm apply atom_to_list binary_to_list binary_to_term check_process_code
+concat_binary date delete_module disconnect_node element erase exit float float_to_list
+garbage_collect get get_keys group_leader halt hd integer_to_list is_alive is_atom is_binary
+is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive
+is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_float list_to_integer
+list_to_pid list_to_tuple load_module loaded localtime make_ref module_loaded node nodes now
+open_port pid_to_list port_close port_command port_connect port_control ports pre_loaded process_flag
+process_info processes purge_module put register registered round self setelement size
+spawn spawn_link spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_to_list
+unlink unregister whereis
+
+% functions - inferred
+module:function
+function()
+
+% atoms (show as "char")
+% begin with underscore, lowercase, contain numbers letters and @ - or anything between ''
+middle_underscore
+abc ab4d a@cd8 a@
+'And this is (\012) an atom \' Atoo' Variable 'atom again'
+
+% variables (begin with capital letter or underscore, contain numbers, letters and @)
+_leadingUnderscore AbdD@ B45@c
+
+% this is a string
+"a string sits between \" double quotes" atom "more string"
+
+% integers (decimal)
+1. 234 $A
+
+% integers (specified base)
+2#10101 34#567
+
+% float
+12.23 12.9e-67 12.8E+89 33.34e89
+
+% and finally some real code, so we can see what it looks like...
+-module(codetest). % everything is in a module
+-export([fac/1]). % name and number of arguments - need this to be called outside of the module
+
+fac(N) when N > 0 -> N * fac(N-1);
+fac(N) when N == 0 -> 1.
diff --git a/autotests/input/highlight.exu b/autotests/input/highlight.exu
new file mode 100644
index 0000000..3651adf
--- /dev/null
+++ b/autotests/input/highlight.exu
@@ -0,0 +1,97 @@
+-- Test file for Kate's Euphoria syntax highlighting/code folding.
+-- BEGIN region marker test
+
+-- code here
+
+-- END region marker test
+
+-- The N Queens Problem:
+-- Place N Queens on an NxN chess board
+-- such that they don't threaten each other.
+constant N = 8 -- try some other sizes
+constant ROW = 1, COLUMN = 2
+constant TRUE = 1, FALSE = 0
+type square(sequence x)
+-- a square on the board
+ return length(x) = 2
+end type
+type row(integer x)
+-- a row on the board
+ return x >= 1 and x <= N
+end type
+
+function threat(square q1, square q2)
+-- do two queens threaten each other?
+ if q1[COLUMN] = q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] - q1[COLUMN] = q2[ROW] - q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] + q1[COLUMN] = q2[ROW] + q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] = q2[ROW] then
+ return TRUE
+ else
+ return FALSE
+ end if
+end function
+
+function conflict(square q, sequence queens)
+-- Would square p cause a conflict with other queens on board so far?
+ for i = 1 to length(queens) do
+ if threat(q, queens[i]) then
+ return TRUE
+ end if
+ end for
+ return FALSE
+end function
+
+integer soln
+soln = 0 -- solution number
+
+procedure print_board(sequence queens)
+-- print a solution, showing the Queens on the board
+ integer k
+ position(1, 1)
+ printf(1, "Solution #%d\n\n ", soln)
+ for c = 'a' to 'a' + N - 1 do
+ printf(1, "%2s", c)
+ end for
+ puts(1, "\n")
+ for r = 1 to N do
+ printf(1, "%2d ", r)
+ for c = 1 to N do
+ if find({r,c}, queens) then
+ puts(1, "Q ")
+ else
+ puts(1, ". ")
+ end if
+ end for
+ puts(1, "\n")
+ end for
+ puts(1, "\nPress Enter. (q to quit) ")
+ while TRUE do
+ k = get_key()
+ if k = 'q' then
+ abort(0)
+ elsif k != -1 then
+ exit
+ end if
+ end while
+end procedure
+
+procedure place_queen(sequence queens)
+-- place queens on a NxN chess board
+-- (recursive procedure)
+ row r -- only need to consider one row for each queen
+ if length(queens) = N then
+ soln += 1
+ print_board(queens)
+ return
+ end if
+ r = length(queens)+1
+ for c = 1 to N do
+ if not conflict({r,c}, queens) then
+ place_queen(append(queens, {r,c}))
+ end if
+ end for
+end procedure
diff --git a/autotests/input/highlight.f90 b/autotests/input/highlight.f90
new file mode 100644
index 0000000..e2008c2
--- /dev/null
+++ b/autotests/input/highlight.f90
@@ -0,0 +1,181 @@
+! This file is an example to test the syntax highlighting file F.xml
+! (for fortran 90 and F)
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS AN EXAMPLE OF A MODULE !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+module module_example
+
+ ! use 'implicit none' when you want all variables to be declared
+ implicit none
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! PUBLICS AND PRIVATES
+
+ ! In fortran 90 you can define your own operator
+ public :: operator(.norm.)
+ public :: operator(+) ! <-- you can also overload the usual operators
+ public :: factorial
+ public :: example_fn
+
+ private :: point3d_add
+ private :: point3d_norm
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! USER-DEFINED TYPES...
+
+ ! This is a definition to use in declarations of real variables,
+ ! parameters, etc.
+ integer, parameter, public :: kr = selected_real_kind(10)
+
+ ! This is a user-defined type
+ type, public :: point3d
+ real(kind=kr) :: x, y, z
+ end type point3d
+
+ ! This type is useless: it is only an example of type definition!
+ type, public :: example_type
+ complex(kind=kr) :: c ! <-- a complex number (two reals of kind kr)!
+ real, dimension(-10:10) :: & ! <-- this line does not end here!
+ r1, r2 ! <-- this is the final part of the previous line
+ real, pointer, dimension(:) :: pointer_to_array_of_real
+ real, dimension(:), pointer :: array_of_pointer_to_real
+ end type example_type
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! INTERFACES...
+
+ ! Interface for the norm of a 3-D vector
+ interface operator(.norm.)
+ module procedure point3d_norm
+ end interface
+
+ ! Interface for the operator '+'
+ interface operator(+)
+ module procedure point3d_add
+ end interface
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! SOME DECLARATIONS...
+
+ ! A real number can be declared with the following line:
+ real(kind=kr) :: real_var1
+ ! But if you are not interested on the precision of floating point numbers,
+ ! you can use simply:
+ real :: real_var2
+
+ ! An array can be declared in two ways:
+ real(kind=kr), dimension(1:10, -4:5), private :: a, b, c
+ real(kind=kr), private :: d(1:10, -4:5)
+
+ ! This is a string with fixed lenght
+ character(len=10) :: str_var
+
+ ! This is an allocatable array, which can be a target of a pointer
+ type(example_type), private, dimension(:), allocatable, target :: &
+ many_examples
+
+! Fortran 90 hasn't got its own preprocessor, it uses the C preprocessor!
+#ifdef XXX
+c <-- this is a comment in the old fortran 77 style (fixed form)
+c This is a free form file, so we shouldn't use this kind of comments!
+c But fortran 90 still understands fixed form, when parsing sources with
+c the *.f extension.
+ c ! <-- this 'c' shouldn't be highlighted as a comment!
+#endif
+
+contains
+
+
+ ! The sum of two points
+ pure function point3d_add(a, b) result(rs)
+ type(point3d) :: rs
+ type(point3d), intent(in) :: a, b
+ rs%x = a%x + b%x
+ rs%y = a%y + b%y
+ rs%z = a%z + b%z
+ end function point3d_add
+
+
+ ! The norm of a point
+ pure function point3d_norm(a) result(rs)
+ real(kind=kr) :: rs
+ type(point3d), intent(in) :: a
+ rs = sqrt(a%x * a%x + a%y * a%y + a%z * a%z)
+ end function point3d_norm
+
+
+ ! A simple recursive function
+ recursive function factorial(i) result (rs)
+ integer :: rs
+ integer, intent(in) :: i
+ if ( i <= 1 ) then
+ rs = 1
+ else
+ rs = i * factorial(i - 1)
+ end if
+ end function factorial
+
+
+ ! This is a useless function
+ subroutine example_fn(int_arg, real_arg, str_arg)
+ integer, intent(in) :: int_arg
+ real(kind=kr), intent(out) :: real_arg
+ character(len=*), intent(in) :: str_arg
+
+ type(example_type), pointer :: p
+ integer :: n, i, j
+ logical :: flag
+
+ flag = .true. ! .true. is not an operator!
+ if ( flag .and. flag ) then ! .and. is a pre-defined operator
+ print *, "blabla"
+ end if
+
+ ! Examples of inquiry functions: allocated, lbound, ubound.
+ if ( .not. allocated(many_examples) ) then
+ allocate( many_examples(10) )
+ end if
+ print *, "Lower bound = ", lbound(many_examples, 1)
+ print *, "Upper bound = ", ubound(many_examples, 1)
+
+ p => many_examples(5) ! <-- p is a pointer
+
+ ! A strange way to calculate i*i: add the first i odd numbers
+ i = 6
+ j = 0
+ do n = 1, i
+ j = j + (2*n - 1)
+ end do
+ print *, "i*i = ", i*i, j
+
+ real_arg = real(j) ! <-- here the highlighting is not very good:
+ ! it is unable to distinguish between this and a definition like:
+ ! real(kind=kr) :: a
+ deallocate( many_examples )
+ end subroutine example_fn
+
+end module module_example
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS THE MAIN PROGRAM !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+program example
+ use module_example
+
+ ! this is another example of use of the 'implicit' keyword
+ implicit double precision (a-h,o-z)
+
+ real(kind=kr) :: var_out
+
+ type(point3d) :: &
+ a = point3d(0.0_kr, 1.0_kr, 2.0_kr), &
+ b = point3d(4.0_kr, 5.0_kr, 6.0_kr)
+
+ print *, "a + b = ", .norm. (a + b)
+ print *, "factorial of 5 = ", factorial(5)
+
+ call example_fn(1, var_out, "hello!")
+
+end program example
diff --git a/autotests/input/highlight.glsl b/autotests/input/highlight.glsl
new file mode 100644
index 0000000..3495757
--- /dev/null
+++ b/autotests/input/highlight.glsl
@@ -0,0 +1,62 @@
+// This is a test file for the Katepart GLSL Syntax Highlighting.
+
+normal text
+// this is a single-line comment
+normal text
+/* this
+is a multi-line
+comment */
+normal text
+
+some_symbol.some_member;
+some_symbol.some_member_function();
+some_function();
+
+// this is a function
+void main()
+{
+ float f = 1.4e3; // decimal float literal
+ int i1 = 2884; // decimal int literal
+ int i2 = 0x44; // hex int literal
+ int i3 = 0456; // octal int literal
+}
+
+// this is a structure
+struct some_struct
+{
+ vec3 some_member_vector;
+};
+
+# this is
+#preprocessor code
+
+// all keywords
+break continue do for while
+if else
+true false
+discard return
+struct
+
+// all basic types
+float int void bool
+mat2 mat3 mat4
+vec2 vec3 vec4
+ivec2 ivec3 ivec4
+bvec2 bvec3 bvec4
+sampler1D sampler2D sampler3D
+samplerCube sampler1DShadow sampler1DShadow
+
+// all type qualifiers
+attribute const uniform varying
+in out inout
+
+// attensions:
+// FIXME
+// TODO
+// BUG
+
+// some of the std functions
+radians degrees sin cos tan asin acos atan
+
+// some of the std variables
+gl_Position gl_PointSize gl_ClipVertex
diff --git a/autotests/input/highlight.hs b/autotests/input/highlight.hs
new file mode 100644
index 0000000..057a3f3
--- /dev/null
+++ b/autotests/input/highlight.hs
@@ -0,0 +1,124 @@
+-- test file for Haskell syntax highlighting in KDE's Kate
+
+-- The test file for literate Haskell can be easily created like this:
+-- cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+-- You only have to manually edit the multi-line comment below.
+
+-- this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+-- I could even start a new
+-- one-line comment.
+
+-}
+
+-- a data definition
+
+data Tree a = Br (Tree a) (Tree a) | Leaf a | Nil deriving (Show, Eq)
+
+
+-- function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted
+
+funnyfunction::(Tree a)=>[a]->Integer->Int->Bool
+
+
+-- strings and chars
+-- first line of function definitions (type declaration) should be highlighted
+
+strangefunction::Int->String
+strangefunction 1 = "hello"
+strangefunction 2 = "what's up"
+strangefunction 3 = (strangefunction 1) ++ ", " ++ (strangefunction 2)
+strangefunction 4 = 'a':'b':'c':'"':[] -- will return "abc"
+strangefunction 5 = '\n':[]
+strangefunction 6 = '\invalidhaskell':[]
+
+-- function name including the single quote character
+-- and infix operator (`div`)
+
+justtesting'::Int->Int
+justtesting' 2 = 2+1
+justtesting' 9 = 7 `div` 2
+
+-- same definition as above, slightly different function name and a couple more whitespaces
+
+justtesting'' :: Int -> Int
+justtesting'' 2 = 3
+justtesting'' 9 = 3 + 9 - 9
+
+-- the following lines are copied out of Haskell's "Prelude.hs"
+
+infixl 7 *, /, `quot`, `rem`, `div`, `mod`, :%, %
+
+
+-- everything highlighted except the "a"
+
+class Bounded a where
+ minBound, maxBound :: a
+
+class (Num a, Ord a) => Real a where
+ toRational :: a -> Rational
+
+-- finally, some keyword lists
+
+-- keywords
+
+case, class, data, deriving, do, else, if, in, infixl, infixr, instance, let, module, of, primitive,
+then, type, where
+
+-- infix operators
+
+quot, rem, div, mod, elem, notElem, seq
+
+-- this stuff is not handled yet
+
+!!, %, &&, $!, $, *, **, -,., /=, <, <=, =<<, ==, >, >=, >>, >>=, ^, ^^, ++, ||
+
+-- functions
+
+FilePath, IOError, abs, acos, acosh, all, and, any, appendFile,
+approxRational, asTypeOf, asin, asinh, atan, atan2, atanh, basicIORun,
+break, catch, ceiling, chr, compare, concat, concatMap, const, cos, cosh,
+curry, cycle, decodeFloat, denominator, digitToInt, div, divMod, drop,
+dropWhile, either, elem, encodeFloat, enumFrom, enumFromThen,
+enumFromThenTo, enumFromTo, error, even, exp, exponent, fail, filter, flip,
+floatDigits, floatRadix, floatRange, floor, fmap, foldl, foldl1, foldr,
+foldr1, fromDouble, fromEnum, fromInt, fromInteger, fromIntegral,
+fromRational, fst, gcd, getChar, getContents, getLine, head, id, inRange,
+index, init, intToDigit, interact, ioError, isAlpha, isAlphaNum, isAscii,
+isControl, isDenormalized, isDigit, isHexDigit, isIEEE, isInfinite, isLower,
+isNaN, isNegativeZero, isOctDigit, isPrint, isSpace, isUpper, iterate, last,
+lcm, length, lex, lexDigits, lexLitChar, lines, log, logBase, lookup, map,
+mapM, mapM_, max, maxBound, maximum, maybe, min, minBound, minimum, mod,
+negate, not, notElem, null, numerator, odd, or, ord, otherwise, pi, pred,
+primExitWith, print, product, properFraction, putChar, putStr, putStrLn,
+quot, quotRem, range, rangeSize, read, readDec, readFile, readFloat,
+readHex, readIO, readInt, readList, readLitChar, readLn, readOct, readParen,
+readSigned, reads, readsPrec, realToFrac, recip, rem, repeat, replicate,
+return, reverse, round, scaleFloat, scanl, scanl1, scanr, scanr1, seq,
+sequence, sequence_, show, showChar, showInt, showList, showLitChar,
+showParen, showSigned, showString, shows, showsPrec, significand, signum,
+sin, sinh, snd, span, splitAt, sqrt, subtract, succ, sum, tail, take,
+either, elem, encodeFloat, enumFrom, enumFromThen, enumFromThenTo,
+enumFromTo, error, even, exp, exponent, fail, filter, flip, floatDigits,
+floatRadix, floatRange, floor, fmap, takeWhile, tan, tanh, threadToIOResult,
+toEnum, toInt, toInteger, toLower, toRational, toUpper, truncate, uncurry,
+undefined, unlines, until, unwords, unzip, unzip3, userError, words,
+writeFile, zip, zip3, zipWith, zipWith3
+
+-- type constructors
+
+Bool, Char, Double, Either, Float, IO, Integer, Int, Maybe, Ordering, Rational, Ratio, ReadS,
+ShowS, String
+
+-- classes
+
+Bounded, Enum, Eq, Floating, Fractional, Functor, Integral, Ix, Monad, Num, Ord, Read, RealFloat,
+RealFrac, Real, Show
+
+-- data constructors
+
+EQ, False, GT, Just, LT, Left, Nothing, Right, True
diff --git a/autotests/input/highlight.js b/autotests/input/highlight.js
new file mode 100644
index 0000000..2dfe86c
--- /dev/null
+++ b/autotests/input/highlight.js
@@ -0,0 +1,134 @@
+/* test.js - test for javascript.xml syntax file */
+// Note: this script will not, and is not supposed to, comile in any js engine.
+
+/*
+ NOTE: The words "todo", "fixme" and "note" should be rendered in a different style
+ within comments, match should be caseless (to test for regexp insensitive attribute).
+ The regex used for this rule is */
+ String = /\b(?:fixme|todo|note)\b/
+ /* Thus, for example "Notebook" is not caught by
+ this rule. (the "?:" in the subpattern is there to avoid the regex engine wasting time
+ saving a backref, which is not used for anything. I do not know if the overhead of parsing
+ that is greater than the time saved by not capturing the text...)
+ The rule for catching these words is placed in a context "Comment common", which is used
+ by both comment contexts (single line, multiline) using the new "IncludeRules" item.
+*/
+
+// test if regex support works - nice with new fallthrough prop in context:)
+somestring.replace( /dooh/ , "bah!");
+re=/foo/ig; // hehe
+
+somestring.search(
+ /^foo\w+\s\d{0,15}$/
+ );
+
+ re =
+ /dooh/;
+
+// This is supposedly legal:
+re = somebool ? /foo/ : /bar/;
+
+// NOTE - Special case: an empty regex, not a comment.
+// The rule uses a positive lookahead assertion to catch it: "//(?=;)".
+re = //;
+re = /a|b/;
+
+/*
+ Tests for the regex parser.
+ It will parse classes, quanitfiers, special characters and regex operaters,
+ as specified in the netscape documentation for javascript.
+ Regexps are only parsed in their clean form, as the RegExp(string) constructor
+ is using a quoted string.
+ TODO: Find out if more regex feats should be supported.
+ Consider using more itemDatas - assertion, quantifier are options.
+*/
+
+re = /^text\s+\d+\s*$/;
+re = /a pattern with caret \(^\) in it/;
+re = /(\d{0,4})\D/;
+re = /[a-zA-Z_]+/;
+re = /[^\d^]+/;
+re = /\s+?\w+\.$/;
+re = /\/\//;
+re = /a|b/;
+
+// a test if #pop back from a comment will work
+re = /*/foo/*/ /bar/;
+// ^ POP
+// ^ we got back after pop in comment, if there is regexp attribs here :-)
+
+/*
+ Some tests if the fallthrough works.
+ The fallthrough happens if a regexp is not found in a possible (!) position,
+ which is after "search(" or "replace(" or "=" or "?" or ":" in version 0.1 of the xml file
+*/
+
+var foo = 'bar';
+// ^ fallthrough!
+
+
+somestring.replace( new RegExp("\\b\\w+\\b"), "word: $1");
+// ^ fallthrough expected. ("new" whould be bold)
+
+
+something.method =
+ function ( a, b, c ) { /* ... */ }
+// ^ fallthrough ?!
+
+something.other =
+function ( d, e, f ) { /* ... */ }
+// fallthrough expected at col 0 ("function" should be bold)
+
+var ary = new Array(5);
+// ^ fallthrough ? (if keyword is correctly rendered)
+
+var b = a ? 1 : 0;
+// ^ ^ fallthroughs. numbers must be rendered correctly.
+
+var c = d ? true : false;
+
+var conditinalstring = b ?
+ "something" :
+ "something else";
+// guess...
+
+
+/*
+ Normal program flow...
+*/
+
+if (something)
+ dostuff();
+else
+ dont();
+
+ return;
+
+try { bla() } catch (e) { alert("ERROR! : " + e) }
+
+for (int i=0; i < j; i++)
+ document.write("i is" + i + " ");
+
+while (something)
+{
+ block();
+ picky:
+ if (!1)
+ break;
+ else
+ continue;
+}
+
+with (a) {
+ do {
+ stuff( b ); // a.b if it exists
+ } while (itmakessense);
+}
+
+switch (i) {
+ case 0:
+ f();
+ break;
+ default:
+ break;
+}
diff --git a/autotests/input/highlight.jsp b/autotests/input/highlight.jsp
new file mode 100644
index 0000000..d912836
--- /dev/null
+++ b/autotests/input/highlight.jsp
@@ -0,0 +1,170 @@
+<%--
+ This page won't actually work, as it is simply designed to display jsp syntax highlighting.
+--%>
+<%@ page info="A Page to Test Kate Jsp Syntax Highlighting" language="java" errorPage="/test-error-page.jsp"%>
+<%@ include file="/include/myglobalvars.jsp"%> --%>
+<%@ page import="java.util.*,
+ java.io.*,
+ java.math.*" %>
+<%@ taglib uri="/WEB-INF/lib/si_taglib.tld" prefix="si"%>
+
+
+<%
+ // We can decipher our expected parameters here.
+ String parm1 = noNull(request.getParameter(PARAMETER_1)).trim();
+ String parm2 = noNull(request.getParameter(PARAMETER_2)).trim();
+ String parm3 = noNull(request.getParameter(PARAMETER_3)).trim();
+ String parm4 = noNull(request.getParameter(PARAMETER_4)).trim();
+ String parm5 = noNull(request.getParameter(PARAMETER_5)).trim();
+
+ // A sample collection of Integers to display some code folding.
+ List intList = getIntList(10);
+
+
+%>
+
+ A Sample Jsp
+
+
+
+
+ <%-- The top label table. --%>
+
+
+ The following parameters were detected:
+
+
+
+ <%-- Display the parameters which might have been passed in. --%>
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_1
+ <%=PARAMETER_1%>
+ "<%=parm1%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_2
+ <%=PARAMETER_2%>
+ "<%=parm2%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_3
+ <%=PARAMETER_3%>
+ "<%=parm3%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_4
+ <%=PARAMETER_4%>
+ "<%=parm4%>"
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_5
+ <%=PARAMETER_5%>
+ "<%=parm5%>"
+
+
+
+
+
+ <%-- Display our list of random Integers (shows code folding). --%>
+
+<%
+ if (intList != null && intList.size() > 0) {
+%>
+ Here are the elements of intList...
+<%
+ Iterator intListIt = intList.iterator();
+ while (intListIt.hasNext()) {
+ Integer i = (Integer) intListIt.next();
+%>
+ <%=i.toString()%>
+<%
+ }
+ } else {
+%>
+ Oooops, we forgot to initialize intList!
+<%
+ }
+%>
+
+
+
+
+ <%-- We can call javascript functions. --%>
+
+
+
+ <%-- If we actually had defined a tag library. --%>
+
+
+
+ <%-- Expression language. --%>
+
+
+
+
+
+ myParam's value: ""
+
+
+
+<%!
+ /* A place for class variables and functions... */
+
+ // Define some sample parameter names that this page might understand.
+ private static final String PARAMETER_1 = "p1";
+ private static final String PARAMETER_2 = "p2";
+ private static final String PARAMETER_3 = "p3";
+ private static final String PARAMETER_4 = "p4";
+ private static final String PARAMETER_5 = "p5";
+
+ // Returns str trimmed, or an empty string if str is null.
+ private static String noNull(String str) {
+ String retStr;
+ if (str == null)
+ retStr = "";
+ else
+ retStr = str.trim();
+
+ return retStr;
+ }
+
+ // Returns a list of Integers with listSize elements.
+ private static List getIntList(int listSize) {
+ ArrayList retList = new ArrayList(listSize);
+ for (int i = 0; i < listSize; i++)
+ retList.add(new Integer( (int) (Math.random() * 100) ));
+
+ return retList;
+ }
+%>
\ No newline at end of file
diff --git a/autotests/input/highlight.lex b/autotests/input/highlight.lex
new file mode 100644
index 0000000..33527bd
--- /dev/null
+++ b/autotests/input/highlight.lex
@@ -0,0 +1,82 @@
+/* This test file tests kates Lex/Flex highlighting */
+
+%option c++
+%option yyclass="KateTester"
+%option yylineno
+
+ /* This is a C(++) comment */
+
+/* This one is a lex comment ! */
+
+%{
+#include
+#include "realparser.hpp"
+using namespace std;
+%}
+
+/* Some definitions */
+DIGIT [0-9]
+LETTER [_a-zA-Z]
+
+%%
+
+ /* Comment *shall be indented here* */
+[ \t\n\r]+
+
+ /* Note: there is a bad } just here vvv */
+\/\*([^\*]|\*[^/])*\*\/ { foo(a, b, c); } }
+
+ /* A start condition scope... */
+{
+ "a" {
+
+ /* C mode ! */
+ return 0;
+}
+
+ "b" %{
+
+ /* C mode, too ! */
+ return 0;
+%}
+
+ "c" return 0; // C++ comment
+}
+
+ /* Big rule */
+\"([^"\\]|\\.)*\" {
+
+ yylval.string_val = new char[strlen(yytext) + 1];
+ int j = 0, i = 1;
+
+ while (yytext[i] != '"')
+ if (yytext[i] != '\\')
+ yylval.string_val[j++] = yytext[i++];
+ else
+ switch (yytext[i + 1])
+ {
+ case 'n':
+ yylval.string_val[j++] = '\n'; i += 2;
+ break;
+ default:
+ yylval.string_val[j++] << yytext[i + 1], i += 2;
+ }
+
+ yylval.string_val[j] = 0;
+ return TOK_STRING;
+
+}
+
+ /* Dot (match all) */
+. {return yylval.int_val = yytext[0];}
+
+%%
+
+// Here is pure C(++)
+#include
+
+int main(void)
+{
+ std::cout << "Hello, World\n";
+ return 0;
+}
diff --git a/autotests/input/highlight.lhs b/autotests/input/highlight.lhs
new file mode 100644
index 0000000..9dc52e5
--- /dev/null
+++ b/autotests/input/highlight.lhs
@@ -0,0 +1,124 @@
+test file for Haskell syntax highlighting in KDE's Kate
+
+The test file for literate Haskell can be easily created like this:
+ cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+You only have to manually edit the multi-line comment below.
+
+this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+I could even start a new
+one-line comment.
+
+-}
+
+a data definition
+
+> data Tree a = Br (Tree a) (Tree a) | Leaf a | Nil deriving (Show, Eq)
+
+
+function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted
+
+> funnyfunction::(Tree a)=>[a]->Integer->Int->Bool
+
+
+strings and chars
+first line of function definitions (type declaration) should be highlighted
+
+> strangefunction::Int->String
+> strangefunction 1 = "hello"
+> strangefunction 2 = "what's up"
+> strangefunction 3 = (strangefunction 1) ++ ", " ++ (strangefunction 2)
+> strangefunction 4 = 'a':'b':'c':'"':[] -- will return "abc"
+> strangefunction 5 = '\n':[]
+> strangefunction 6 = '\invalidhaskell':[]
+
+function name including the single quote character
+and infix operator (`div`)
+
+> justtesting'::Int->Int
+> justtesting' 2 = 2+1
+> justtesting' 9 = 7 `div` 2
+
+same definition as above, slightly different function name and a couple more whitespaces
+
+> justtesting'' :: Int -> Int
+> justtesting'' 2 = 3
+> justtesting'' 9 = 3 + 9 - 9
+
+the following lines are copied out of Haskell's "Prelude.hs"
+
+> infixl 7 *, /, `quot`, `rem`, `div`, `mod`, :%, %
+
+
+everything highlighted except the "a"
+
+> class Bounded a where
+> minBound, maxBound :: a
+
+> class (Num a, Ord a) => Real a where
+> toRational :: a -> Rational
+
+finally, some keyword lists
+
+keywords
+
+> case, class, data, deriving, do, else, if, in, infixl, infixr, instance, let, module, of, primitive,
+> then, type, where
+
+infix operators
+
+> quot, rem, div, mod, elem, notElem, seq
+
+this stuff is not handled yet
+
+> !!, %, &&, $!, $, *, **, -,., /=, <, <=, =<<, ==, >, >=, >>, >>=, ^, ^^, ++, ||
+
+functions
+
+> FilePath, IOError, abs, acos, acosh, all, and, any, appendFile,
+> approxRational, asTypeOf, asin, asinh, atan, atan2, atanh, basicIORun,
+> break, catch, ceiling, chr, compare, concat, concatMap, const, cos, cosh,
+> curry, cycle, decodeFloat, denominator, digitToInt, div, divMod, drop,
+> dropWhile, either, elem, encodeFloat, enumFrom, enumFromThen,
+> enumFromThenTo, enumFromTo, error, even, exp, exponent, fail, filter, flip,
+> floatDigits, floatRadix, floatRange, floor, fmap, foldl, foldl1, foldr,
+> foldr1, fromDouble, fromEnum, fromInt, fromInteger, fromIntegral,
+> fromRational, fst, gcd, getChar, getContents, getLine, head, id, inRange,
+> index, init, intToDigit, interact, ioError, isAlpha, isAlphaNum, isAscii,
+> isControl, isDenormalized, isDigit, isHexDigit, isIEEE, isInfinite, isLower,
+> isNaN, isNegativeZero, isOctDigit, isPrint, isSpace, isUpper, iterate, last,
+> lcm, length, lex, lexDigits, lexLitChar, lines, log, logBase, lookup, map,
+> mapM, mapM_, max, maxBound, maximum, maybe, min, minBound, minimum, mod,
+> negate, not, notElem, null, numerator, odd, or, ord, otherwise, pi, pred,
+> primExitWith, print, product, properFraction, putChar, putStr, putStrLn,
+> quot, quotRem, range, rangeSize, read, readDec, readFile, readFloat,
+> readHex, readIO, readInt, readList, readLitChar, readLn, readOct, readParen,
+> readSigned, reads, readsPrec, realToFrac, recip, rem, repeat, replicate,
+> return, reverse, round, scaleFloat, scanl, scanl1, scanr, scanr1, seq,
+> sequence, sequence_, show, showChar, showInt, showList, showLitChar,
+> showParen, showSigned, showString, shows, showsPrec, significand, signum,
+> sin, sinh, snd, span, splitAt, sqrt, subtract, succ, sum, tail, take,
+> either, elem, encodeFloat, enumFrom, enumFromThen, enumFromThenTo,
+> enumFromTo, error, even, exp, exponent, fail, filter, flip, floatDigits,
+> floatRadix, floatRange, floor, fmap, takeWhile, tan, tanh, threadToIOResult,
+> toEnum, toInt, toInteger, toLower, toRational, toUpper, truncate, uncurry,
+> undefined, unlines, until, unwords, unzip, unzip3, userError, words,
+> writeFile, zip, zip3, zipWith, zipWith3
+
+type constructors
+
+> Bool, Char, Double, Either, Float, IO, Integer, Int, Maybe, Ordering, Rational, Ratio, ReadS,
+> ShowS, String
+
+classes
+
+> Bounded, Enum, Eq, Floating, Fractional, Functor, Integral, Ix, Monad, Num, Ord, Read, RealFloat,
+> RealFrac, Real, Show
+
+data constructors
+
+> EQ, False, GT, Just, LT, Left, Nothing, Right, True
diff --git a/autotests/input/highlight.lisp b/autotests/input/highlight.lisp
new file mode 100644
index 0000000..e86c85f
--- /dev/null
+++ b/autotests/input/highlight.lisp
@@ -0,0 +1,36 @@
+;; This test file tests kates common lisp highlighting
+#|
+multilinecomment :)
+|#
+
+;BEGIN region marker
+
+;END end
+
+(defun bin-search (obj vec)
+ (let ((len (length vec)))
+ (and (not (zerop len))
+ (finder obj vec 0 (- len 1)))))
+
+(defun parse-date (str)
+ (let ((toks (tokens str #'constituent 0)))
+ (list (parse-integer (first toks))
+ (parse-month (second toks))
+ (parse-integer (third toks)))))
+
+(defconstant month-names
+ #("jan" "feb" "mar" "apr" "may" "jun"
+ "jul" "aug" "sep" "oct" "nov" "dec"))
+
+(defstruct buf
+ vec (start -1) (used -1) (new -1) (end -1))
+
+(defparameter *words* (make-hash-table :size 10000))
+
+(defmacro while (test &rest body)
+ `(do ()
+ ((not ,test))
+ ,@body))
+
+(define-modify-macro append1f (val)
+ (lambda (lst val) (append lst (list val))))
diff --git a/autotests/input/highlight.ly b/autotests/input/highlight.ly
new file mode 100644
index 0000000..29aa7a6
--- /dev/null
+++ b/autotests/input/highlight.ly
@@ -0,0 +1,114 @@
+% This is a file to test the Lilypond highlighting features of Katepart.
+% This is NOT a valid lilypond file, because it also shows the
+% highlighting of some invalid lilypond constructs!
+% This is a line comment.
+
+%{
+this is a block comment, that can occur inside a line, or across
+multiple lines.
+%}
+
+\header {
+ title = "Katepart Lilypond syntax highlighting test file"
+ composer = %{"Wilbert Berendsen"%} "Anonymus"
+ poet = "The KDE team"
+ opus = "1"
+ copyright = "Share and enjoy!"
+}
+
+\paper {
+ #(set-paper-size "a4") % a hash introduces scheme
+ indent = 0 % recognize variable names inside \paper, \layout etc.
+ between-system-space = 3\mm
+}
+
+\layout {
+ \context {
+ \Score
+ \remove Bar_number_engraver % recognize engraver names
+ \remove "Bar_number_engraver" % also when quoted!
+ }
+}
+
+% { and << block are folded
+\score {
+ \new StaffGroup <<
+ \new ChordNames \chordmode { c2sus4/f g2/d c1 }
+ \new Staff \new Voice ="mel" {
+ \key f \major
+ \time 4/4
+ \partial 4
+ \set Staff.instrumentName = "Bla."
+ \once \override Staff.NoteHead #'color = #red
+ % dynamics, articulations and markup
+ c8\p d\< e-. f-> g a\f c-5\markup {Hoi}
+ \notemode { c d e f }
+ \repeat volta 2 {
+ % complex durations are highlighted:
+ g4*2/3
+ }
+ \times 2/3 {e8 f g}
+ % there is some error checking:
+ % often made mistake to have octavemarks after the duration:
+ c2'
+ % invalid durations are caught:
+ g3
+ }
+ \context Lyrics \lyricsto "mel" {
+ \set fontSize = #1
+ this is a line of ly -- rics.
+ with4 dur -- a -- tions.2.
+ % errors like forgetting spaces are found:
+ space-- flight %{i.s.o.%} space -- flight
+ space at end for -- got -- ten as well.}
+
+ \new DrumStaff \drummode { hihat4 bassdrum8 }
+ \new FiguredBass \figuremode {
+ <5 4>8 <6->
+ }
+ >>
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = #(ly:make-moment 60 2)
+ }
+ }
+}
+
+av = #(define-music-function (parser location voice)
+(string?)
+; scheme comments are recognized in scheme
+; Lilypond inside scheme works as well:
+#{
+ \set associatedVoice = $voice
+#})
+
+
+
+
+% inside scheme some elements are highlighted:
+#(define (naturalise-pitch p)
+ (let* ((o (ly:pitch-octave p))
+ (a (* 4 (ly:pitch-alteration p)))
+ (n (ly:pitch-notename p)))
+ (bla 'ArticulationEvent 'ChoirStaff)
+ (cond
+ ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
+ ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
+
+ (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
+ (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
+
+ (ly:make-pitch o n (/ a 4))))
+
+% markup is also highlighted
+\markup {
+ \line {
+ text test Voice Staff % note Lilypond keywords are not highlighted here
+ }
+ \score { \relative c' { 2( d) } }
+ \italic bla
+ \override #'(baseline-skip . 2) {
+ \underline blu
+ }
+}
diff --git a/autotests/input/highlight.m b/autotests/input/highlight.m
new file mode 100644
index 0000000..f240138
--- /dev/null
+++ b/autotests/input/highlight.m
@@ -0,0 +1,61 @@
+%%=====================================================
+% MATLAB test code for Kate/Kwrite syntax highlighting
+% kate: hl Matlab
+%%=====================================================
+
+% Numbers _____________________________________________
+5, 5.5, .1, 0.1, 0.4e5, 1.2e-5, 5i, 5.3i, 6j, .345+3i
+5', 5.5', .1', 0.1', 0.4e5', 1.2e-5', 5i', 5.3i', 6j', .345+3i'
+
+% Operators ___________________________________________
+% relational operators
+'asdf'~=4, c<=4, d>=4, ab, a==b, b||c, b&&c
+% elementwise arithmetic operators
+a.^b, a.*b a./b, 1:4:5
+% single-character binary arithmetic
+a+3, a-3, a*2, a^3, a/3, a\3, a|b, a&b
+% unary operators
+a = ~g; g = @sfdgdsf(sdfsd,345); g.' + 1i.' - ('asdf').'
+% separators and delimiter
+(asd),[sadf];{asdf},;;,;;;()
+% continuation
+a = 1+ ...
+ 2;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+% complete strings
+'string' % simple string
+'''' % string containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' 'asdf''' variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + (asdf)' - 'asdf'.' + []''''.';''
+'sadf'.' % string transpose
+% adjoint
+{'asdf'}' + 1
+('asdf')' + 1
+['asdf']' + 1
+'' var''' % empty string, var with >1 adjoints
+[5]'*{5}'*('asd')'.'+(5)'*6'*asdf'*asdf'.' % many adjoints
+A'*B + 1 % adjoint
+A.'*B + 1 % transpose
+A.'.'*B + 1 % double transpose
+A'.' + 1 % adjoint, then transpose
+A.'' % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function, persistent, global
+switch, case, otherwise
+if, else, elseif
+try, catch
+for, while, break, continue
+end, return
+function, FUNCTION, Function % case sensitive!
\ No newline at end of file
diff --git a/autotests/input/highlight.m.syntax b/autotests/input/highlight.m.syntax
new file mode 100644
index 0000000..d22d99a
--- /dev/null
+++ b/autotests/input/highlight.m.syntax
@@ -0,0 +1 @@
+Matlab
diff --git a/autotests/input/highlight.mac b/autotests/input/highlight.mac
new file mode 100644
index 0000000..cb9da2d
--- /dev/null
+++ b/autotests/input/highlight.mac
@@ -0,0 +1,145 @@
+/*
+------------------------------------------------------------------------
+Efficient Galois Fields in Maxima
+
+by Alasdair McAndrew
+and later extended by Fabrizio Caruso and Jacopo Daurizio
+
+it is distribuited together with gf_roots by Jacopo Daurizio
+
+Authors:
+
+Fabrizio Caruso (optimizations, testing)
+Jacopo D'Aurizio (optimizations, modular roots)
+Alasdair McAndrew (original version of the package, pohlig-helman log, etc... )
+------------------------------------------------------------------------*/
+
+/* Released under terms of the GNU General Public License, version 2,
+ * by permission of the authors to Robert Dodier circa 2007-12-02.
+ */
+
+/* Defines a flag for dealing with large fields. If it is set to "false",
+then lookup tables are used for exponentiation and logarithms. Otherwise
+other algorithms are used */
+
+define_variable(largefield,true,bool)$
+define_variable(gf_char,0,integer)$
+define_variable(gf_exp,0,integer)$
+define_variable(gf_order,0,integer)$
+define_variable (gf_one, 'gf_one, any_check)$
+define_variable (gf_prim, 'gf_prim, any_check)$
+define_variable (gf_irr, 'gf_irr, any_check)$
+define_variable (gf_list, 'gf_list, any_check)$
+define_variable (gen_powers, 'gf_list, any_check)$
+remvalue(x,z,gf_char,gf_exp,gf_irr,pg,gp,lg,gf_prim,gf_one,gf_order,gf_list,gen_powers)$
+
+
+/* --------------------------------------------------------------------------------------------- */
+/* Settings */
+
+GF_VERBOSE:false; /* Verbosity */
+GF_WARNING: true; /* Warnings */
+GF_IRREDUCIBILITY_CHECK:false; /* Irreducibility test for the minimal polynomial of the extension */
+
+/*
+------------------------------------------------------------------------------------------------ */
+
+
+/* It defines a new current field with gf_char=b, min. pol.= p of deg= e*/
+gf_set([ars]):=block([gj,m,i,j,dg],
+ if length(ars)=1 then
+ (
+ gf_setp(ars[1]),
+ return(true)
+ )
+ else
+ (
+ if length(ars)=2 then
+ (
+ if numberp(ars[2]) then
+ (
+ if ars[2]=0 and GF_WARNING then
+ (
+ print("WARNING: the irreducible is zero! We assume GF(",ars[1],")"),
+ gf_setp(ars[1]),
+ return(true)
+ )
+ else
+ (
+ error("ERROR: you tried to extend with a non-zero constant!"),
+ return(false)
+ )
+ )
+ else
+ (
+ dg:hipow(ars[2],x),
+
+ if dg=1 then
+ gf_setp(ars[1]),
+ gf_irr:ars[2],
+ gf_exp:dg,
+ return(true)
+ )
+ )
+ else
+ (
+ gf_exp:ars[2],
+ if gf_exp=1 then
+ (
+ gf_setp(ars[1]),
+ gf_irr:rat(ars[3]),
+ return(true)
+ ),
+ gf_irr:rat(ars[3])
+ )
+ ),
+
+ gf_char:ars[1],
+ gf_one:rat(1,x),
+ gf_order:gf_char^gf_exp-1,
+
+ m:makelist(coeff(gf_irr,x,i),i,0,gf_exp),
+ gf_list:[[first(m),0]],j:1,
+ for i:2 thru gf_exp+1 do if m[i]=0 then j:j+1 else ( gf_list:endcons([m[i],j],gf_list), j:1 ),
+
+ if not(primep(gf_char)) then error("ERROR: Gf_Char must be a prime number.")
+ else
+ modulus:gf_char,
+ if GF_IRREDUCIBILITY_CHECK and
+ hipow(args(factor(ars[3]))[1],x)#hipow(rat(ars[3]),x) then
+ error("ERROR: Polynomial is not irreducible"),
+
+ if not(largefield) then
+ (
+ pg:mkpowers(),
+ lg:mklogs()
+ )
+ else
+ (
+ if GF_VERBOSE then
+ print("finding a primitive element..."),
+
+ gf_prim:rat(gf_findprim(),x),
+ if GF_VERBOSE then
+ print("...primitive element found.")
+
+ ),
+ modulus:false, /* it resets the modulus */
+ return(true)
+
+ )$
+
+
+/* Prints out information about the field */
+gf_info():=block(
+ print("Prime gf_char value: ",gf_char),
+ print("Exponent: ", gf_exp),
+ print("Multiplicative order: ",gf_order),
+ print("Irreducible polynomial: ",gf_irr),
+ print("Primitive element: ",gf_prim),
+ if (largefield) then
+ print("Largefield flag is true; powers and logarithms not computed.")
+ else
+ print("Largefield flag is false; powers and logarithms computed."),
+ disp()
+)$
diff --git a/autotests/input/highlight.mup b/autotests/input/highlight.mup
new file mode 100644
index 0000000..ed5a03d
--- /dev/null
+++ b/autotests/input/highlight.mup
@@ -0,0 +1,103 @@
+// This is a MUP highlighting test.
+// Mup is a shareware music publisher from www.arkkra.com
+
+// contexts
+score
+music
+staff 1
+voice 1 3
+
+top
+top2
+bottom
+bottom2
+grids
+
+headshapes
+
+
+header
+footer
+header2
+footer2
+
+// parameters and values
+score
+ units = cm;
+ key = 3#minor
+ key = 3# minor
+ rehstyle=circled
+
+
+
+
+mussym above all: 1 "ferm" ;
+
+define NAME
+// this is a macro definition, these are collapsable
+@
+
+ifdef NAME
+// this is conditionally "compiled"
+endif
+
+ifndef NAME
+// this is conditionally "compiled" when the macro has not been defined
+else
+// else clause
+endif
+
+
+// Various Tests
+
+// tablature
+1: e ^f; f; b ^c5; c#5;
+bar
+
+1: d+^e+ g^a; e+a; g ^/; c ^/ c+^/;
+bar
+
+// cross-staff stems
+1: 1e+g+c++;
+2: cc+; ee+; g with g+ above; with c+c++ above;
+bar
+
+1: 2+4ceg;4; // tie implied by added time values
+
+// slurs
+1: 2f a c+; dbd+;
+bar
+1: 2fac+ slur; dbd+;
+bar
+
+// alternation
+1: 2c alt 2; 2c+;2g;
+bar
+
+// bar to draw if repeatstart happens to be on new line
+(dblbar) repeatstart
+1: [up]8f bm with staff below;a;4s ebm;4s bm with staff below;8b;[len 11]d ebm;
+2: 4s bm with staff above;8a;b ebm;[down;len 14]b bm with staff above;d;4s ebm;
+bar
+
+// locations
+3: 2cf; [=h] egc+;
+1: [cue; with >; =_ch] fa;
+
+
+roll up 1 1 to 1 2: 2; 4;
+roll down 1 1 to 1 2: 2; 4;
+
+lyrics above 1,3 ; below 2,4 ; between 5&6 : "<1. >Hi, hi";
+
+title "page \% of \#"
+
+// shaped whole rests
+1: 4mr; // use a quarter rest symbol
+1: 1/4mr; // use a quadruple whole rest symbol
+2: 2.. mr; // use a double-dotted half rest
+
+// tuplets
+1: {4f; g;}3num,4.+2.
+bar
+
diff --git a/autotests/input/highlight.pb b/autotests/input/highlight.pb
new file mode 100644
index 0000000..5560233
--- /dev/null
+++ b/autotests/input/highlight.pb
@@ -0,0 +1,87 @@
+; This is a test file for kate's PureBasic highlighting.
+
+; BMP2x Converter by Sven Langenkamp
+
+UseJPEGImageEncoder()
+UsePNGImageEncoder()
+
+Declare Convert(JPEG)
+
+Enumeration 1
+ #JPEG
+ #PNG
+EndEnumeration
+
+; BEGIN section
+
+
+; END
+
+Global Count
+Global file.s
+Global filename.s
+Global fileext.s
+Global OutputFormat
+Global JPEGQuality
+
+Count = 0
+OutputFormat = 1
+JPEGQuality = -1
+
+; MAIN PROGRAM------------------------------------------------------------------
+
+;Request Options
+PrintN("Output Format")
+PrintN(" [1] JPEG")
+PrintN(" [2] PNG")
+Print ("> ")
+OutputFormat = Int(Input())
+
+Select OutputFormat
+ Case #JPEG:
+ fileext = ".jpg"
+ ;Request JPEG Quality
+ PrintN("")
+ PrintN("JPEG Quality")
+ PrintN(" [0-10]")
+ Print ("> ")
+ JPEGQuality = Int(Input())
+
+ Case #PNG:
+ fileext = ".png"
+EndSelect
+
+;Convert all BMP files in the current directory
+ExamineDirectory(0, "", "*.bmp")
+While NextDirectoryEntry()
+ file = DirectoryEntryName()
+ filename = GetFilePart(file)
+
+ If LoadImage(0, file)
+ Select OutputFormat
+ Case #JPEG:
+ Convert(JPEGQuality)
+
+ Case #PNG:
+ Convert(-1)
+ EndSelect
+ Count = Count +1
+ EndIf
+
+Wend
+
+PrintN(Str(Count) + " files converted")
+CloseConsole()
+
+; PROCUDURES--------------------------------------------------------------------
+
+Procedure Convert(JPEG)
+ Shared filename, fileext
+
+ If JPEG > -1
+ SaveImage(0, filename + fileext, #PB_ImagePlugin_JPEG, JPEG)
+ Else
+ SaveImage(0, filename + fileext, #PB_ImagePlugin_PNG)
+ EndIf
+ PrintN(file + " converted to " + filename + fileext)
+EndProcedure
\ No newline at end of file
diff --git a/autotests/input/highlight.php b/autotests/input/highlight.php
new file mode 100644
index 0000000..d604e36
--- /dev/null
+++ b/autotests/input/highlight.php
@@ -0,0 +1,23 @@
+
+/* This is a pseudo PHP file to test Kate's PHP syntax highlighting. */
+# TODO: this is incomplete, add more syntax examples!
+# this is also a comment.
+// Even this is a comment
+function test($varname) {
+ return "bla"; # this is also a comment
+}
+
+?>
+
+
+
+
+ print "test "; ?>
+
+
+
\ No newline at end of file
diff --git a/autotests/input/highlight.pike b/autotests/input/highlight.pike
new file mode 100644
index 0000000..2f63144
--- /dev/null
+++ b/autotests/input/highlight.pike
@@ -0,0 +1,24 @@
+#! /bin/env pike
+
+/* This file is a syntax highlight test for Kate.
+ * FIXME: Improve it to contain more (and more unusual) syntax examples.
+ */
+
+
+#define PIKE_ON_THE_WEB /* Is this address correct? */ "http://pike.ida.liu.se/"
+
+
+int main(int argc, array(string) args)
+{
+ // Write funny things with Pike :)
+ write(`+("Command line arguments (%d of them): ", @map(args, `+, " ")) + "\n", argc);
+
+ write("\nVisit Pike site at %s\n\n", PIKE_ON_THE_WEB);
+
+ for (int i = 1; i <= 3; i++)
+ write(":" + ")" * i + " ");
+
+ write("\n" + ({"Bye", "bye"}) * "-" + "!\n");
+
+ return 0;
+}
diff --git a/autotests/input/highlight.pl b/autotests/input/highlight.pl
new file mode 100644
index 0000000..991d1fe
--- /dev/null
+++ b/autotests/input/highlight.pl
@@ -0,0 +1,44 @@
+#!/usr/bin/perl -w
+# This is a pseudo Perl file to test Kate's Perl syntax highlighting.
+# TODO: this is incomplete, add more syntax examples!
+
+sub prg($)
+{
+ my $var = shift;
+
+ $var =~ s/bla/foo/igs;
+ $var =~ s!bla!foo!igs;
+ $var =~ s#bla#foo#igs;
+ $var =~ tr/a-z/A-Z/;
+ ($match) = ($var =~ m/(.*?)/igs);
+
+ $test = 2/453453.21;
+ $test /= 2;
+
+ print qq~d fsd fsdf sdfl sd~
+
+ $" = '/';
+
+ $foo = <<__EOF;
+d ahfdklf klsdfl sdf sd
+fsd sdf sdfsdlkf sd
+__EOF
+
+ $x = "dasds";
+
+ next if( $match eq "two" );
+ next if( $match =~ /go/i );
+
+ @array = (1,2,3); # a comment
+ @array = qw(apple foo bar);
+ push(@array, 4);
+ %hash = (red => 'rot',
+ blue => 'blau');
+ print keys(%hash);
+}
+
+sub blah {
+}
+
+&blah;
+prg("test");
diff --git a/autotests/input/highlight.pov b/autotests/input/highlight.pov
new file mode 100644
index 0000000..0bb3077
--- /dev/null
+++ b/autotests/input/highlight.pov
@@ -0,0 +1,76 @@
+//BEGIN TEST
+// test scene for POV-Ray syntax highlighting
+
+/* test comment */
+
+/* nested /* comments */ do not work */
+
+#version 3.5;
+//END
+global_settings { assumed_gamma 1.0 }
+
+// ----------------------------------------
+
+camera {
+ location <5.0, -12.0, 2.0>
+ up z sky z
+ look_at <0.0, 0.0, 0.5>
+ angle 40
+}
+
+sky_sphere {
+ pigment {
+ gradient z
+ color_map {
+ [0.0 rgb <0.6,0.7,1.0>]
+ [0.2 rgb <0.2,0.3,0.9>]
+ }
+ }
+}
+
+light_source {
+ <3, 1, 2>*1000
+ color rgb <2.2, 1.8, 1.5>
+}
+
+// ----------------------------------------
+
+#declare TEST=0;
+
+#ifdef (TEST)
+ plane {
+ z, 0
+ texture {
+ pigment {
+ checker
+ color rgb 1, color rgb 0
+ }
+ }
+ }
+#end
+
+#macro Sphere(Pos, Radius)
+ sphere {
+ , Radius
+ texture {
+ pigment { color rgb 1 }
+ finish{
+ diffuse 0.3
+ ambient 0.0
+ specular 0.6
+ reflection 0.8
+ }
+ }
+ }
+#end
+
+#local Cnt=0;
+#local Seed=seed(0);
+
+#while (Cnt<10000)
+ Sphere(
+ -100+*200,
+ 0.3+pow(rand(Seed),2)*0.7
+ )
+ #local Cnt=Cnt+1;
+#end
\ No newline at end of file
diff --git a/autotests/input/highlight.prg b/autotests/input/highlight.prg
new file mode 100644
index 0000000..713c605
--- /dev/null
+++ b/autotests/input/highlight.prg
@@ -0,0 +1,71 @@
+// Test file to test kate's clipper highlighting
+// kate: hl Clipper;
+
+//BEGIN INCLUDES
+#include
+#include "logo.ch"
+
+#define PRGVERSION "0.0.1"
+//END
+
+//BEGIN CODE
+static ws, win
+static driver := getDriver()
+/* a multiline
+ comment
+*/
+
+function main( formName )
+ local form
+ local fileName
+
+ if empty(formName)
+ ?? "Usage: ./form_ui &\n"
+ CANCEL
+ else
+ fileName := formName
+ endif
+ ws := UIWorkSpace()
+
+ form := UIForm( fileName )
+ win := form:parseFile()
+// ?? valtype(win),chr(10)
+ if win == NIL
+ CANCEL
+ endif
+ win:show()
+
+ ws:run()
+ ws:quit()
+return 0
+
+/* Setting dialog */
+function settingsDialog()
+ ?? "TODO: Settings dialog&\n"
+return
+
+/* About dialog */
+function aboutDialog()
+ local dlg := UIWindow("About", win, "aboutDlg", .F.)
+ local hl, lside, t, bb, bD
+
+ hl := UIHBox(,4,8)
+ lside := UIVBox()
+ lside:add(UIImage(eas_logo_mini,.T.))
+ hl:add(lside,.F.,.F.)
+ dlg:userSpace:add(hl,.T.,.T.)
+ t := UIVBox()
+ hl:add(t,.T.,.T.)
+
+ t:add(UILabel("License: GPL version 2 or later"))
+ bb := UIButtonBar()
+ t:add(bb)
+ bD := UIButton(win, "&Close", {|o,e| dlg:close() } )
+ bb:add( bD )
+
+ dlg:setFocus(bD)
+ dlg:setDefault(bD)
+ dlg:setPlacement( .T. )
+ dlg:show()
+return
+//END
\ No newline at end of file
diff --git a/autotests/input/highlight.prg.syntax b/autotests/input/highlight.prg.syntax
new file mode 100644
index 0000000..3355ff8
--- /dev/null
+++ b/autotests/input/highlight.prg.syntax
@@ -0,0 +1 @@
+Clipper
diff --git a/autotests/input/highlight.qml b/autotests/input/highlight.qml
new file mode 100644
index 0000000..b860512
--- /dev/null
+++ b/autotests/input/highlight.qml
@@ -0,0 +1,59 @@
+import Qt 4.6
+
+// some random qml snippets stolen from the qt docs
+
+Rectangle {
+ important: true
+ propertyAsdf:
+ id: container
+ signalA: bla
+ property string label
+ signal clicked
+ radius: 5; border.color: "black"
+ color: mouse.pressed ? "steelblue" : "lightsteelblue"
+ gradient: Gradient {
+ GradientStop { position: mouse.pressed ? 1.0 : 0.0; color: "steelblue" }
+ GradientStop { position: mouse.pressed ? 0.0 : 1.0; color: "lightsteelblue" }
+ }
+ MouseRegion { id: mouse; anchors.fill: parent; onClicked: container.clicked() }
+ Text { anchors.fill: parent; text: container.label; anchors.centerIn: parent }
+}
+
+Rectangle {
+ Script {
+ function calculateMyHeight() {
+ return Math.max(otherItem.height, thirdItem.height);
+ }
+ }
+
+ anchors.centerIn: parent
+ width: Math.min(otherItem.width, 10)
+ height: calculateMyHeight()
+ color: { if (width > 10) "blue"; else "red" }
+}
+
+Rectangle {
+ default property color innerColor: "black"
+ property color innerColor: "black"
+ property alias text: textElement.text
+ property alias aliasXYZ: testElement.text
+ signal bar
+ signal bar(var blah, string yxcv)
+ width: 240; height: 320;
+ width: 100; height: 30; source: "images/toolbutton.sci"
+ ListView {
+ anchors.fill: parent
+ model: contactModel
+ delegate: Component {
+ Text {
+ text: modelData.firstName + " " + modelData.lastName
+ }
+ }
+ }
+}
+
+Item {
+ function say(text) {
+ console.log("You said " + text);
+ }
+}
diff --git a/autotests/input/highlight.rb b/autotests/input/highlight.rb
new file mode 100644
index 0000000..2e52e5f
--- /dev/null
+++ b/autotests/input/highlight.rb
@@ -0,0 +1,551 @@
+# This file is a testcase for the highlighting of Ruby code
+# It's not executable code, but a collection of code snippets
+#
+
+require 'Config'
+require 'DO/Clients'
+require 'DO/DBClients'
+
+ def CGI::escapeElement(string, *elements)
+ elements = elements[0] if elements[0].kind_of?(Array)
+ unless elements.empty?
+ string.gsub(/<\/?(?:#{elements.join("|")})(?!\w)(?:.|\n)*?>/ni) do
+ CGI::escapeHTML($&)
+ end
+ else
+ string
+ end
+ end
+
+case inputLine
+ when "debug"
+ dumpDebugInfo
+ dumpSymbols
+ when /p\s+(\w+)/
+ dumpVariable($1)
+ when "quit", "exit"
+ exit
+ else
+ print "Illegal command: #{inputLine}"
+end
+
+
+kind = case year #hi there
+ when 1850..1889 then "Blues"
+ when 1890..1909 then "Ragtime"
+ when 1910..1929 then "New Orleans Jazz"
+ when 1930..1939 then "Swing"
+ when 1940..1950 then "Bebop"
+ else "Jazz"
+ end
+
+ # URL-encode a string.
+ # url_encoded_string = CGI::escape("'Stop!' said Fred")
+ # # => "%27Stop%21%27+said+Fred"
+ def CGI::escape(string)
+ string.gsub(/([^ a-zA-Z0-9_.-]+)/n) do
+ '%' + $1.unpack('H2' * $1.size).join('%').upcase
+ end.tr(' ', '+')
+ end
+
+
+# Class ClientManager
+#
+# definition : Import, store and export the various data used by the application.
+# This class is the sole interface between the application and the underlying database.
+
+mon, day, year = $1, $2, $3 if /(\d\d)-(\d\d)-(\d\d)/
+puts "a = #{a}" if fDebug
+print total unless total == 0
+
+while gets
+ next if /^#/ # Skip comments
+ parseLine unless /^$/ # Don't parse empty lines
+end
+
+if artist == "John Coltrane" #hi there
+ artist = "'Trane" #hi there
+end unless nicknames == "no" #hi there
+
+handle = if aSong.artist == "Gillespie" then #hi there
+ "Dizzy"
+ elsif aSong.artist == "Parker" then
+ "Bird"
+ else #hi there
+ "unknown"
+ end
+
+if aSong.artist == "Gillespie" then handle = "Dizzy"
+elsif aSong.artist == "Parker" then handle = "Bird"
+else handle = "unknown"
+end #hi there
+
+if aSong.artist == "Gillespie" then
+ handle = "Dizzy"
+elsif aSong.artist == "Parker" then
+ handle = "Bird"
+else
+ handle = "unknown"
+end
+
+if aSong.artist == "Gillespie"
+ handle = "Dizzy"
+elsif aSong.artist == "Parker"
+ handle = "Bird"
+else
+ handle = "unknown"
+end
+
+ case line
+ when /title=(.*)/
+ puts "Title is #$1"
+ when /track=(.*)/
+ puts "Track is #$1"
+ when /artist=(.*)/
+ puts "Artist is #$1"
+end
+
+case shape
+ when Square, Rectangle
+ # ...
+ when Circle
+ # ...
+ when Triangle
+ # ...
+ else
+ # ...
+end
+
+
+until playList.duration > 60 #hi there
+ playList.add(songList.pop)
+end
+
+3.times do
+ print "Ho! "
+end
+
+loop {
+ # block ...
+}
+
+songList.each do |aSong|
+ aSong.play
+end
+
+for aSong in songList
+ aSong.play
+end
+
+for i in ['fee', 'fi', 'fo', 'fum']
+ print i, " "
+end
+for i in 1..3
+ print i, " "
+end
+for i in File.open("ordinal").find_all { |l| l =~ /d$/}
+ print i.chomp, " "
+end
+
+class Periods
+ def each
+ yield "Classical"
+ yield "Jazz"
+ yield "Rock"
+ end
+end
+
+
+periods = Periods.new
+for genre in periods
+ print genre, " "
+end
+
+while gets
+ next if /^\s*#/ # skip comments
+ break if /^END/ # stop at end
+ # substitute stuff in backticks and try again
+ redo if gsub!(/`(.*?)`/) { eval($1) }
+ # process line ...
+end
+
+i=0
+loop do
+ i += 1
+ next if i < 3
+ print i
+ break if i > 4
+end
+
+for i in 1..100
+ print "Now at #{i}. Restart? "
+ retry if gets =~ /^y/i
+end
+
+def doUntil(cond)
+ yield
+ retry unless cond
+end
+
+i = 0
+doUntil(i > 3) {
+ print i, " "
+ i += 1
+}
+
+def system_call
+ # ... code which throws SystemCallError
+rescue SystemCallError
+ $stderr.print "IO failed: " + $!
+ opFile.close
+ File.delete(opName)
+ raise
+end
+
+class ClientManager
+
+ # constructor
+ def initialize(dbase)
+ @dbClient = DBClient.new(dbase)
+ @clients = Clients.new
+ end
+
+ def prout(a, b, xy="jj") 24 end
+ ###############################################################
+ #
+ # CLIENTS SECTION
+ #
+ ###############################################################
+
+ # update the clients object by retrieving the related data from the database
+ # returns the number of clients
+ def refreshClients
+ @clients.clean
+ unless @sqlQuery.nil? then
+ @sqlQuery.selectClient.each do |row|
+ @clients.addClient(row[0],row[1],row[2],row[3],row[4],row[5], row[6], row[7], row[8])
+ end
+ else
+ puts "SqlQuery wasn't created : cannot read data from database"
+ end
+ return @clients.length
+ end
+
+ # insert a client in the database and refreshes the local clients object
+ # we assume that none of the arguments is null
+ # we assume that the client, identified by raison_sociale doesn't already exists
+ def addClient(raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact)
+ id = "0"
+ unless @sqlQuery.nil? then
+ id = @sqlQuery.insertClient(raison_sociale, division, departement, adresse, cp, ville, nom_contact,tel_contact)
+ else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients.addClient(id, raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact) # synchronize local object with DB
+ end
+
+ # deletes a client from the database and updates the local Clients object accordingly
+ def delClient(nomclient_brut)
+ raison_sociale, div, dep = Clients.getIdentifiers(nomclient_brut)
+ listeContratsExp, listeContratsSup, listeContratsProd, listePropositionsExp, listePropositionsSup = []
+
+ listeContratsExp = @contratsExpertise.getContratsFromClient(nomclient_brut)
+ listeContratsSup = @contratsSupport.getContratsFromClient(nomclient_brut)
+ listeContratsProd = @contratsProduits.getContratsFromClient(nomclient_brut)
+ listePropositionsExp = @propositionsExpertise.getPropositionsFromClient(nomclient_brut)
+ listePropositionsSup = @propositionsSupport.getPropositionsFromClient(nomclient_brut)
+
+ unless @sqlQuery.nil? then
+ @sqlQuery.deleteClient(raison_sociale, div, dep)
+
+ @sqlQuery.deleteContracts(Config::EXPERTISE,listeContratsExp)
+ @sqlQuery.deleteContracts(Config::SUPPORT,listeContratsSup)
+ @sqlQuery.deleteContracts(Config::PRODUIT,listeContratsProd)
+ @sqlQuery.deletePropositions(Config::EXPERTISE,listePropositionsExp)
+ @sqlQuery.deletePropositions(Config::SUPPORT,listePropositionsSup)
+ else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients.delClient(raison_sociale,div,dep)
+
+ @contratsExpertise.deleteContracts(listeContratsExp)
+ @contratsSupport.deleteContracts(listeContratsSup)
+ @contratsProduits.deleteContracts(listeContratsProd)
+ @propositionsExpertise.deletePropositions(listePropositionsExp)
+ @propositionsSupport.deletePropositions(listePropositionsSup)
+ end
+end
+
+ # Mixin module for HTML version 3 generation methods.
+ module Html3 # :nodoc:
+
+ # The DOCTYPE declaration for this version of HTML
+ def doctype
+ %||
+ end
+
+ # Initialise the HTML generation methods for this version.
+ def element_init
+ extend TagMaker
+ methods = ""
+ # - -
+ for element in %w[ A TT I B U STRIKE BIG SMALL SUB SUP EM STRONG
+ DFN CODE SAMP KBD VAR CITE FONT ADDRESS DIV center MAP
+ APPLET PRE XMP LISTING DL OL UL DIR MENU SELECT table TITLE
+ STYLE SCRIPT H1 H2 H3 H4 H5 H6 TEXTAREA FORM BLOCKQUOTE
+ CAPTION ]
+ methods += <<-BEGIN + nn_element_def(element) + <<-END
+ def #{element.downcase}(attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # - O EMPTY
+ for element in %w[ IMG BASE BASEFONT BR AREA LINK PARAM HR INPUT
+ ISINDEX META ]
+ methods += <<-BEGIN + nOE_element_def(element) + <<-END
+ def #{element.downcase}(attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # O O or - O
+ for element in %w[ HTML HEAD BODY P PLAINTEXT DT DD LI OPTION tr
+ th td ]
+ methods += <<-BEGIN + nO_element_def(element) + <<-END
+ def #{element.downcase}(attributes = {})
+ BEGIN
+ end
+ END
+ end
+ eval(methods)
+ end
+
+ end
+
+# following snippet from Webrick's log.rb
+# notice the erronous handling of the query method is_a?
+def format(arg)
+ str = if arg.is_a?(Exception)
+ "#{arg.class}: #{arg.message}\n\t" <<
+ arg.backtrace.join("\n\t") << "\n"
+ elsif arg.respond_to?(:to_str)
+ arg.to_str
+ else
+ arg.inspect
+ end
+end
+
+# following snippet from Webrick's httputils.rb
+# Splitting regexps on several lines might be bad form,
+# but not illegal in Ruby.
+# This should probably be supported in the highlighting
+def split_header_value(str)
+ str.scan(/((?:"(?:\\.|[^"])+?"|[^",]+)+)
+ (?:,\s*|\Z)/xn).collect{|v| v[0] }
+end
+
+# snippet from Net::Telnet
+string.gsub(/#{IAC}(
+ [#{IAC}#{AO}#{AYT}#{DM}#{IP}#{NOP}]|
+ [#{DO}#{DONT}#{WILL}#{WONT}]
+ [#{OPT_BINARY}-#{OPT_NEW_ENVIRON}#{OPT_EXOPL}]|
+ #{SB}[^#{IAC}]*#{IAC}#{SE}
+ )/xno)
+
+# following snippet from Webrick's httpresponse.rb
+# the HEREDOC is not recognized as such
+@body << <<-_end_of_html_
+
+
+ #{HTMLUtils::escape(@reason_phrase)}
+
+ #{HTMLUtils::escape(@reason_phrase)}
+ #{HTMLUtils::escape(ex.message)}
+
+_end_of_html_
+
+
+# snippet from Webrick's httpproxy.rb
+# here we should make sure that the symbol definition ':' doesn't override
+# the module operator '::'
+Net::HTTP::version_1_2 if RUBY_VERSION < "1.7"
+
+# snippet from Webrick's cookie.rb
+# the beginning of the regexp is erronously highlighted like an operator
+key, val = x.split(/=/,2)
+
+# the following are division operators
+# it's a bit tricky to keep the operator apart from the regexp
+result = 8 / 4
+result /= divisor
+
+# 2008-06-01 regexp and division operator syntax has been fixed:
+result = 8/4 # division
+result = 8/foo # division
+result = /8/ # regexp
+result = 8//4/ # division and regexp
+
+10/10 # division
+10/ 10 # division
+10 /10 # division
+10 / 10 # division
+
+foo/10 # division
+foo/ 10 # division
+foo /10/ # regexp
+foo / 10 # division
+
+foo/10/10 # both division
+total/count/2 # both division
+total/(count/2) # both division
+
+@foo/10 # division
+@foo /10 # division
+
+"hello"/10 # division
+"hello" / 10 # division
+
+/regexp//10 # division
+/regexp/ / 10 # division
+
+Math::PI/10 # division
+Math::foo /rx/ # regexp
+
+# 2008-06-05 similar fix for modulo operator:
+
+10%4 # modulo
+10 %4 # modulo
+10% 4 # modulo
+10 % 4 # modulo
+
+foo%4 # modulo
+# foo %4 # illegal %string
+foo% 4 # modulo
+foo % 4 # modulo
+
+foo % (4) # modulo
+
+foo %(4) # %string
+foo %q(4) # %string
+foo %Q(4) # %string
+foo %%4% # %string
+
+foo = %|blah| # GDL input
+foo % %|blah| # modulo and GDL
+
+# mix in any way you want
+result = 10//regexp//20/foo//regexp//20
+
+# test cases for general delimited input
+# quoted strings
+%Q|this is a string|
+%Q{this is a string}
+%Q(this is a string)
+%Q
+%Q[this is a string]
+
+%|also a string|
+%{also a string}
+%(also a string)
+%
+%[also a string]
+
+# apostrophed strings
+%q|apostrophed|
+%q{apostrophed}
+%q(apostrophed)
+%q
+%q[apostrophed]
+
+# regular expressions
+%r{expression}
+%r(expression)
+%r
+%r[expression]
+%r|expression|
+
+# shell commands
+%x{ls -l}
+%x(ls -l)
+%x
+%x[ls -l]
+
+# sometimes it's useful to have the command on multiple lines
+%x{ls -l |
+grep test }
+
+# alternative syntax
+`ls -l`
+`echo ' '`
+
+# token array
+%w{one two three}
+%w(one two three)
+%w
+%w[one two three]
+
+# snippet from Net::IMAP
+# I object to putting String, Integer and Array into kernel methods.
+# While these classes are builtin in Ruby, this is an implementation detail
+# that should not be exposed to the user.
+# If we want to handle all std-lib classes, fine. But then they should be in their
+# own std-lib keyword category.
+
+def send_data(data)
+ case data
+ when nil
+ put_string("NIL")
+ when String
+ send_string_data(data)
+ when Integer
+ send_number_data(data)
+ when Array
+ send_list_data(data)
+ when Time
+ send_time_data(data)
+ when Symbol
+ send_symbol_data(data)
+ else
+ data.send_data(self)
+ end
+end
+
+# snippet from Net::POP
+# class names can have numbers in them as long as they don't begin with numbers
+# Ruby doesn't internally really make much of a difference between a class name and a constant
+
+# class aliases
+ POP = POP3
+ POPSession = POP3
+ POP3Session = POP3
+
+# "member access"
+POP::Session.COUNT.attribute.calc_with(2){ |arg| puts arg }
+
+# snippet from Net::SMTP
+# This breaks the code folding. I think we would need to
+# handle the '\' that continues the statement to the next line
+# in some way to make these kind of things not break something.
+raise ArgumentError, 'both user and secret are required'\
+ unless user and secret
+
+# string escapes must detect escaping the escape char
+str = "\\"
+str = "\\\\"
+# this is not part of the string
+%x{echo \\\}\\} # prints \}\
+# this is not part of the command
+
+# these are all symbols
+:abc
+:abc!
+:abc?
+:abc=
+:[]
+:[]=
+:@abc
+:@@abc
+:$abc
diff --git a/autotests/input/highlight.scheme b/autotests/input/highlight.scheme
new file mode 100644
index 0000000..08c7351
--- /dev/null
+++ b/autotests/input/highlight.scheme
@@ -0,0 +1,186 @@
+; This is a test file to test kates scheme highlighting
+; This is a comment
+
+;; Another comment, usually used.
+;BEGIN region marker
+;; a vektor
+#(1 2 3 4 5)
+;END region marker
+;; this represents integer 28 (FIXME: does not work perfectly atm!)
+28 028 #e28 #i28 ;; Normal, normal, exact, inexact
+#b11100 #o34 #d28 #x1c ;; Bin, okt, dec, hex
+#oe34 #eo34 ;; combined.
+
+;; char.
+(#\y #\space) ;; list: `y' space.
+(#\ #\\ #\)) ;; list of spaces, backslash and`)'.
+#\newline ;; a newline-char
+#\NewLine ;; another one :)
+
+"Hello, world" ;; a string
+
+"hoho, what do you
+want to do ;; this is NO comment
+with that?"
+
+;; R5RS definiert diese beiden.
+"Das ist \"in Anführungszeichen\" und mit \\ Backslash."
+
+(let ((x (+ 1 2)) (y "blah")) ;; `let' highlighting.
+ (and (number? x) ;; `and' highlighting.
+ (string? y)))
+
+(let* ((x 2) (y (+ x 1))) ;; `let*' too.
+ (or (negative? x) ;; `or' anyways.
+ (negative? y)))
+
+(do ((vec (make-vector 5)) ;; `do' you may guess!
+ (i 0 (+ i 1)))
+ ((= i 5) vec)
+ (vector-set! vec i i))
+
+(quasiquote ((+ 1 2) (unquote (+ 1 2))))
+;; same as: `((+ 1 2) ,(+ 1 2))
+
+;; see above.
+(quasiquote ((+ 1 2) (unquote-splicing (list 1 2 3))))
+;; same as: `((+ 1 2) ,@(+ 1 2))
+
+;; not necessary.
+(quote ())
+
+(cond ((string? x) (string->symbol x)) ;; `cond' highlighting.
+ ((symbol? x) => (lambda (x) x)) ;; `=>' highlighting.
+ (else ;; `else' highlighting.
+ (error "Blah")))
+
+(case x ;; `case' highlighting.
+ ((#t) 'true) ((#f) 'false)
+ ((()) 'null)
+ ((0) 'zero))
+
+;; highlight `let-syntax' and `syntax-rules' .
+(let-syntax ((when (syntax-rules ()
+ ((when test stmt1 stmt2 ...)
+ ;; hl `begin' .
+ (if test (begin stmt1 stmt2 ...))))))
+ (let ((if #t)) ;; here`if' is actually no keyword.
+ (when if (set! if 'now)) ;; nor here.
+ if))
+
+(letrec-syntax ...) ;; hl `letrec-syntax'.
+
+(define-syntax when
+ (syntax-rules ()
+ ((when test stmt1 stmt2 ...)
+ (if test (begin stmt1 stmt2 ...))))))
+
+;; variable definitions.
+(define natural-numbers ;; hl `define' and the var name
+ ;; endless stream of all natual numbers.
+ (letrec ((next-cell ;; hl `letrec'.
+ (lambda (x) ;; hl `lambda'.
+ ;; hl `delay' .
+ (cons x (delay (next-cell (+ x 1)))))))
+ (next-cell 0)))
+
+;; a procedure with unusual but allowed name.
+(define 1+
+ (lambda (x)
+ (+ x 1)))
+
+;; a predicate
+(define between?
+ (lambda (x y z)
+ (if (and (>= x y) (<= x z))
+ #t ;; True
+ #f))) ;; False.
+
+;; imperative procedure
+(define set-something!
+ (lambda (required-argument another-one . all-remaining-args)
+ (set-car! another-one (lambda all-args
+ (set-cdr! required-argument
+ (append all-remaining-args
+ all-args))))))
+
+(define compose
+ (lambda (f g)
+ (lambda (x)
+ (f (g x)))))
+
+;; syntactical sugar for procedure-definitions.
+(define (compose f g)
+ (lambda (x)
+ (f (g x))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; NOW: Guile extensions ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; procedure-generator.
+(define ((compose f g) x)
+ (f (g x)))
+
+;; scheme doesn't say, which chars may be in variables...
+;; At least: Guile accepts umlauts
+(define-private (timetr??? sprache) ;; hl `define-private'.
+ (list-dialekt? sprache))
+
+(define-public x #t) ;; hl `define-public'.
+(define-module (foo bar)) ;; hl `define-module'.
+(define-macro (neither . exprs) ;; hl `define-macro'.
+ `(and ,@(map (lambda (x) `(not ,x)) exprs)))
+
+(defmacro neither exprs ;; `defmacro' as well.
+ `(and ,@(map (lambda (x) `(not ,x)) exprs)))
+
+;; hl, but I really don't know what this is supposed to do :-)
+(define-syntax-macro ...)
+
+;; hl GOOPS-`defines'
+(define-method (foo bar (baz ) qux) ...)
+(define-class ...)
+(define-generic foo)
+(define-accessor bar)
+
+;; Keywords!
+(blah #:foo 33 #:bar 44)
+
+;; another convention for symbols:
+#{foo}#
+
+#{a
+few
+lines}#
+
+#{4711}#
+
+;; more chars.
+#\nul #\nl #\esc #\bs #\bel #\syn #\ack #\sp ;; etc, utc, itc, oops (this is boring)
+
+#!
+ guile block-comment.
+!#
+
+;; now, a bit hairy:
+#! comment !#
+still comment!!!
+!#
+'now-no-comment-anymore
+
+;; more precise:
+#! comment !#
+still comment
+!# still comment!
+!#
+'now-no-comment-anymore
+
+(while (> foo 10) ;; Highlight `while'.
+ (set! foo (- foo 1))
+ (catch #t ;; Highlight `catch'.
+ (lambda () (display foo))
+ (lambda (key . args)
+ (if (eq? key 'system-error)
+ (break) ;; Highlight `break'.
+ (continue))))) ;; Highlight `continue'.
\ No newline at end of file
diff --git a/autotests/input/highlight.sh b/autotests/input/highlight.sh
new file mode 100644
index 0000000..a354757
--- /dev/null
+++ b/autotests/input/highlight.sh
@@ -0,0 +1,207 @@
+#! /bin/sh
+# This is a test script for the Katepart Bash Syntax Highlighting by
+# Wilbert Berendsen. This is not runnable !!!
+
+
+# The highlighting recognizes basic types of input, and has a few special cases that
+# are all in FindCommands. The main objective is to create really proper nesting of
+# (multiline) strings, variables, expressions, etc.
+
+
+
+# ============== Tests: ===============
+
+# basic types:
+echo 'single quoted string'
+echo "double quoted string"
+echo $'string with esc\apes\x0din it'
+echo $"string meant to be translated"
+
+
+# comments:
+# this is a comment
+#this too
+echo this is#nt a comment
+dcop kate EditInterface#1 #this is
+
+
+# brace expansion
+mv my_file.{JPG,jpg}
+
+
+# special characters are escaped:
+echo \(output\) \&\| \> \< \" \' \*
+
+
+# variable substitution:
+echo $filename.ext
+echo $filename_ext
+echo ${filename}_ext
+echo text${array[$subscript]}.text
+echo text${array["string"]}.text
+echo ${!prefix*}
+echo ${!redir}
+echo short are $_, $$, $?, ${@}, etc.
+echo ${variable/a/d}
+echo ${1:-default}
+
+
+# expression subst:
+echo $(( cd << ed + 1 ))
+
+
+# command subst:
+echo $(ls -l)
+echo `cat myfile`
+
+
+# file subst:
+echo $(<$filename)
+echo $( my_file.txt 2>&1
+
+
+# All substitutions also work in strings:
+echo "subst ${in}side string" 'not $inside this ofcourse'
+echo "The result is $(( $a + $b )). Thanks!"
+echo "Your homedir contains `ls $HOME |wc -l` files."
+
+
+# Escapes in strings:
+p="String \` with \$ escapes \" ";
+
+
+# keywords are black, builtins dark purple and common commands lighter purple
+set
+exit
+login
+
+
+# Other colorings:
+error() {
+ cat /usr/bin/lesspipe.sh
+ runscript >& redir.bak
+ exec 3>&4
+}
+
+
+# do - done make code blocks
+while [ $p -lt $q ]
+do
+ chown 0644 $file.$p
+done
+
+
+# braces as well
+run_prog | sort -u |
+{
+ echo Header
+ while read a b d
+ do
+ echo $a/$b/$c
+ done
+ echo Footer
+}
+
+
+# Any constructions can be nested:
+echo "A long string with $(
+ if [ $count -gt 100 ] ; then
+ echo "much"
+ else
+ echo "not much"
+ fi ) substitutions." ;
+
+
+# Even the case construct is correctly folded:
+test -f blaat &&
+( do_something
+ case $p in
+ *bak)
+ do_bak $p
+ ;;
+ *)
+ dont_bak $p
+ ;;
+ esac
+) # despite the extra parentheses in the case construction.
+
+
+# variable assignments:
+DIR=/dev
+p=`ls`
+LC_ALL="nl" dcop 'kate*'
+_VAR=val
+ARR=(this is an array)
+ARR2=([this]=too [and]="this too")
+usage="$0 -- version $VERSION
+Multiple lines of output
+can be possible."
+ANSWER=yes # here 'yes' isn't highlighed as command
+
+
+# Some commands expect variable names, these are colored correctly:
+export PATH=/my/bin:$PATH BLAAT
+export A B D
+local p=3 x y='\'
+read x y z <<< $hallo
+unset B
+declare -a VAR1 VAR2 && exit
+declare less a && b
+
+# options are recoqnized:
+zip -f=file.zip
+./configure --destdir=/usr
+make destdir=/usr/
+
+
+# [[ and [ correctly need spaces to be regarded as structure,
+# otherwise they are patterns (currently treated as normal text)
+if [ "$p" == "" ] ; then
+ ls /usr/bin/[a-z]*
+elif [[ $p == 0 ]] ; then
+ ls /usr/share/$p
+fi
+
+# Fixed:
+ls a[ab]* # dont try to interprete as assignment with subscript (fixed)
+a[ab]
+a[ab]=sa
+
+
+# Here documents are difficult to catch:
+cat > myfile << __EOF__
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded.
+__EOF__
+
+
+# quoted:
+cat << "EOF" | egrep "this" >&4 # the rest of the line is still considered bash source
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded. :->
+EOF
+
+
+# indented:
+if true
+then
+ cat <<- EOF
+ Indented text with a $dollar or \$two
+ EOF
+elif [ -d $file ]; then
+ cat <<- "EOF"
+ Indented text without a $dollar
+ EOF
+fi
+
+
+case 1 in
+2) echo xxx;
+;;
+1) echo yyy;
+esac
+
+ls #should be outside of case 1 folding block
\ No newline at end of file
diff --git a/autotests/input/highlight.sh.syntax b/autotests/input/highlight.sh.syntax
new file mode 100644
index 0000000..5b85af9
--- /dev/null
+++ b/autotests/input/highlight.sh.syntax
@@ -0,0 +1 @@
+Bash
diff --git a/autotests/input/highlight.spec b/autotests/input/highlight.spec
new file mode 100644
index 0000000..bc3b95b
--- /dev/null
+++ b/autotests/input/highlight.spec
@@ -0,0 +1,212 @@
+# Test file for rpmspec.xml
+
+# Comments start with a # in column="0":
+
+# Some comment
+
+# When they don't start in column="0", that they are recognized as comments, but with an alert:
+ # This is a bad comment.
+# RPM spec says clear that comments must start at the begin of the line. However, in practice
+# the RPM software is more permissive, depending on the context. But for our syntax highlighting,
+# we give, while recognizing the as comment, at least a little alert. Comments should not contain
+# the character % (which is marked as warning), but 2 of them are okay: %%. TODO is higlighted.
+
+# A spec file starts with "Normal" context. Here, you can specify values for some tags:
+Name: kradioripper-unstable # Note that here in no comment possible!
+Name: name only _one_ word allowed
+Name: %macro no further syntax check after macro!
+# Some tags support only _one_ word as value
+Version: 0.4test5 up-from-the-space-this-is-an-error
+# Some tag can have parameters: Any char in paranthesis:
+Summary: Recorder for internet radios (based on Streamripper)
+Summary(de.UTF-8): Aufnahmeprogramm für Internetradios (basiert auf Streamripper)
+# requiere free text:
+License: License 1 2 3
+# requiere a well defines value:
+Requires( / ( = ): Some, value()
+# new type "switch" accepts: yes, no, 0, 1
+AutoReq: yes
+AutoReq: yes invalid
+AutoReq: %macro no further syntax check after macro!
+AutoReq: no
+AutoReq: 0
+AutoReq: 1
+# requiere a number:
+Epoch: 123123
+Epoch: 123123 invalid
+Epoch: %macro no further syntax check afer macro!
+# If tags are used that are not known, they are not highlighted:
+Invalidtag: Some value
+Invalid content in this section (only tags are allowed)
+
+# You can use conditions in specs (highlighted with region markers):
+%if 0%{?mandriva_version}
+# numbers and strings are distingished: string:
+%if lsdksfj
+# number:
+%if 23472398
+# string:
+%if lksdjfsl72939
+# invalid:
+%if 92437lsdkfjdsl
+# valid:
+%if "lsdfj %ksdf(sdfs) 3489"
+Release: %mkrel 1.2
+%else
+Release: 0
+%endif
+# requiere a well defined value:
+%ifos fixed_value
+# You must use these special macros (%%if etc.) always at the start of the line - if not,
+# that's bad but not an arror. You must also always use the specified form. Everything else is an
+# error:
+ %if
+something %if
+%{if}
+%if(some options)
+# However, this are different macros and therefore correct:
+%ifx
+%{ifx}
+%ifx(some options)
+
+# the \ is escaped in the line. At the end of the line it escapes the line break:
+echo This is \" a text \\ and here\
+it continues.
+
+%define name value
+%define invalid_näme value
+%define macroname multi\
+line content with references like %0 %* %# %{-f} %{-f*} %1 %2 and so on
+%global name value
+%global invalid_näme value
+%undefine name
+%undefine name too-many-parameters
+
+# This special comment is treated and highlighted like a tag:
+# norootforbuild
+# It can't have parameters, so every following non-whitespace character is not good:
+# norootforbuild DONT WRITE ANYTHING HERE!
+# wrong spacing is also recognized:
+# norootforbuild
+# and also an indeet is not fine for norootforbuild:
+ # norootforbuild
+
+# This following "Conflicts" tag will be removed by set-version.sh,
+# if it is a "kradioripper" release (and not a "kradioripper-unstable" release)...
+Conflicts: kradioripper
+
+
+%description
+# Here, a new section starts. It contains a value for the RPM field "description" and is therefor
+# colored like values:
+A KDE program for ripping internet radios. Based on StreamRipper.
+
+
+# A section start can have parameters:
+%description -l de.UTF-8
+Ein KDE-Aufnahmeprogramm für Internetradios. Basiert auf StreamRipper.
+
+# These sections starts are errors:
+ %description not at the first line
+%{description} wrong form
+%description(no options allowed, only parameters!)
+
+
+%prep
+# This starts a section that defines the commands to prepare the build.
+# q means quit. n sets the directory:
+%setup -q -n kradioripper
+echo Test
+# Macros can have different forms: Valid:
+%abc
+%abcÃndOfMacro
+%abc(def)EndOfMacro
+%{abc}EndOfMacro
+%{something but no single %}EndOfMacro
+%{abc:def}EndOfMacro
+%(abc)
+# Invalid:
+%ÃInvalidChar
+%
+%)
+%}
+# You can use macros inside of macro calls: Fine:
+%{something %but no %{sin%(fine)gle} }EndOfMacro
+# Bad:
+%{No closing paranthesis (No syntax highlightig for this error available)
+
+
+%build
+cmake ./ -DCMAKE_INSTALL_PREFIX=%{_prefix}
+%__make %{?jobs:-j %jobs}
+
+
+%install
+%if 0%{?suse_version}
+%makeinstall
+%suse_update_desktop_file kradioripper
+%endif
+%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
+make install DESTDIR=%{buildroot}
+desktop-file-install --delete-original --vendor fedora --dir=%{buildroot}/%{_datadir}/applications/kde4 %{buildroot}/%{_datadir}/applications/kde4/kradioripper.desktop
+%endif
+%if 0%{?mandriva_version}
+%makeinstall_std
+%endif
+
+
+%clean
+rm -rf "%{buildroot}"
+
+
+%files
+%defattr(-,root,root)
+%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
+%{_datadir}/applications/kde4/fedora-kradioripper.desktop
+%else
+%{_datadir}/applications/kde4/kradioripper.desktop
+%endif
+%{_bindir}/kradioripper
+%{_datadir}/locale/*/LC_MESSAGES/kradioripper.mo
+%if 0%{?mandriva_version}
+# TODO The %%doc macro is actually broken for mandriva 2009 in build service...
+%dir %{_datadir}/apps/kradioripper
+%{_datadir}/apps/kradioripper/*
+%else
+%doc COPYING LICENSE LICENSE.GPL2 LICENSE.GPL3 NEWS WARRANTY
+%dir %{_datadir}/kde4/apps/kradioripper
+%{_datadir}/kde4/apps/kradioripper/*
+%endif
+
+
+%changelog
+* Sun May 04 2008 email@email.com
+- some text
+- some text
+ in two lines
+- some text
+ in two lines
+ + with subtext
+ - and more subtext
+ in two lines
+* Tue Apr 24 2007 Name
+- text
+ * When the star isn't at column 0, than it doesn't indicate
+ a new date
+* Wen Sep 08 2003 Wrong weekday
+* Mon Mai 08 2003 Wrong month
+* Mon Sep 0 2003 bad day
+* Mon Sep 8 2003 good day
+* Mon Sep 08 2003 good day
+* Mon Sep 32 2003 bad day
+* Mon Sep 08 03 bad year
+* Mon Sep 08 2003 Name
+# When using macros, the error check is disabled:
+* %myDataMacro Title of the entry
+- Text
+ - can
+ - be
+ - indeeded
+ - without
+ - problems
+
diff --git a/autotests/input/highlight.t2t b/autotests/input/highlight.t2t
new file mode 100644
index 0000000..5b5f379
--- /dev/null
+++ b/autotests/input/highlight.t2t
@@ -0,0 +1,90 @@
+txt2tags sample
+
+
+%!--includeconf: config.t2t
+% disabled here because there is no external file
+%!preproc: 'JUST A TEST' ' '
+%!postproc: '(?i)()' ' shots\1'
+
+%!--include: menu.t2t
+
+= Title 1 =
+
+
+== My Subtitle 1 ==[some definition]
+
+Some examples:
+
+- A paragraph with **bold**, //italic// and --strike--.
+- You can even __underline your docs__!
+
+- And use **//bold and italic//**
+- or //**italic and bold**//
+
+Here is a nice pic: [img/t2tpowered.png].
+
+- And a [link to a cool website http://txt2tags.sf.net]!
+
+- A table :
+
+ || Name | Age | Gender |
+ | John | 33 | Male |
+ | Mary | 19 | Female |
+
+
+``` A verbatim line
+
+And it's working for ``special code`` like this.
+
+```
+Unfortunately I can't color this verbatim content yet.
+```
+
+
+== My Subtitle 2 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc Lorem ipsum etc
+
+- Test d'écriture avec des accents à la française. Ãa marche ou pas ?
+
+== My Subtitle 3 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc
+
+Here is a direct link: http://kde.org
+
+
+- Another boring part...
+
+
+
+=== My Subsubtitle 1 ===
+
+//It's a level 3 header//
+
+- list 1
+- list 2
+ - list 2b
+- list 3
+
+
+=== My Subsubtitle 2 ===
+
+//It's another level 3 header//
+
++ ordered list 1
++ list 2
+ + list 2B
+ + list 2C
++ list 3
+
+
+== My Subtitle 4 ==
+
+nothing to say here...
+
diff --git a/autotests/input/highlight.tcl b/autotests/input/highlight.tcl
new file mode 100644
index 0000000..d6b7276
--- /dev/null
+++ b/autotests/input/highlight.tcl
@@ -0,0 +1,50 @@
+# tcl syntax highlighting sample script for Kate
+#
+# author: JM. Philippe 15/03/04
+
+# escaped characters
+set String \{
+set String \{
+set String \"
+set String " \" "
+set String " \{ "
+
+#comments and not comments
+# is comments
+;#is comments
+ # is comments
+# is html comment
+puts ok; # is comments
+set String [string map { {»is not comments }} $String]
+set String \#not_a_comment
+
+# blocks
+proc test {arg1 {arg2 {}} {arg3 {fr fq r}}} {
+ if {1} {; #comments
+ set String \{; # not a block start
+ }
+}
+
+proc test args {
+ set String \}; # not a block end
+}
+
+# BEGIN - collapsable comments
+# blablabla
+# END
+
+# strings
+set String "feqr feqr $gqer gqe"
+set String "feqr
+feqr \" $gqer \
+gqe
+"
+set String {feqr
+feqr \{ $gqer \
+gqe
+}
+
+# variables
+set b+1 [incr b]
+set {incr-b} ${b+1}
+puts ${incr-b}
diff --git a/autotests/input/highlight.tex b/autotests/input/highlight.tex
new file mode 100644
index 0000000..b706f70
--- /dev/null
+++ b/autotests/input/highlight.tex
@@ -0,0 +1,73 @@
+% LaTeX test file for kate's syntax highlighting and code folding
+
+\ordinaryLaTeXcommandwithoption[10pt,a4paper]{article}
+% BEGIN region
+%comment, this is all ok % $
+\%no comments please
+\\%comment
+% END of region
+
+\newcommand{\nohighlighting}
+
+\section{normal}
+
+\ref{blue}
+\pageref{blue}
+\cite{blue}
+
+\begin{environmentshavespecialcolors}
+normal
+\end{environmentshavespecialcolors}
+
+$equations are green, \commands somewhat darker$
+normal
+$$equations are green, \commands somewhat darker$$
+normal
+\(
+\frac{1}{2}
+\begin{test}
+\end{test}
+\)
+normal
+\[
+%comment
+displaymath
+\]
+normal
+\begin{equation}
+green\darkergreen
+\begin{test}
+\test
+\end{test}
+\end{equation}
+
+\begin{equation*}
+green\darkergreen
+%comment
+\begin{test}
+\test
+\end{test}
+\%no comment
+\end{equation*}
+
+\{ %this should be comment
+
+\verb%this shouldn't be%and this should be normal text
+
+\begin{verbatim}
+text inside a verbatim environment is also treated special $ %,
+you can even put a \begin{verbatim} inside
+\end{verbatim}
+
+normal
+
+\begin{Verbatim}
+&@@#^%&^#$
+\end{Verbatim}
+
+
+\begin{Verbatim*}
+@*&^#@*(^#(*@&
+\end{Verbatim*}
+
+normal
\ No newline at end of file
diff --git a/autotests/input/highlight.wrl b/autotests/input/highlight.wrl
new file mode 100644
index 0000000..2fb4b41
--- /dev/null
+++ b/autotests/input/highlight.wrl
@@ -0,0 +1,41 @@
+#VRML V2.0 utf8
+#
+# VRML highlighting test for Kate's syntax highlighting
+#
+
+# Keywords
+DEF, EXTERNPROTO, FALSE, IS, NULL, PROTO, ROUTE, TO, TRUE, USE, eventIn,
+eventOut, exposedField, field
+
+# Data types
+MFColor, MFFloat, MFInt32, MFNode. MFRotation, MFString, MFTime, MFVec2f,
+MFVec3f, SFBool, SFColor, SFFloat, SFImage, SFInt32, SFNode, SFRotation,
+SFString, SFTime, SFVec2f, SFVec3f
+
+# Predefined nodes
+Anchor, Appearance, AudioClip, Background, Billboard, Box, Collision, Color,
+ColorInterpolator, Cone, Coordinate, CoordinateInterpolator, Cylinder,
+CylinderSensor, DirectionalLight, ElevationGrid, Extrusion, Fog, FontStyle,
+Group, ImageTexture, IndexedFaceSet, IndexedLineSet, Inline, LOD, Material,
+MovieTexture, NavigationInfo, Normal, NormalInterpolator, OrientationInterpolator,
+PixelTexture, PlaneSensor, PointLight, PointSet, PositionInterpolator,
+ProximitySensor, ScalarInterpolator, Script, Shape, Sound, Sphere, SphereSensor,
+SpotLight, Switch, Text, TextureCoordinate, TextureTransform, TimeSensor,
+TouchSensor, Transform, Viewpoint, VisibilitySensor, WorldInfo
+
+# Some real VRML constructs to see if highlighting of int, float etc. works
+NavigationInfo {
+ avatarSize [0.25, 1.6, 0.75]
+ headlight TRUE
+ speed 1
+ type ["WALK", "ANY"]
+ visibilityLimit 0.0
+}
+
+# some further testing for strings: linefeeds are allowed within strings
+Text {
+ string ["some special in-string characters: \" \\
+ some more text in the next line
+ and yet another line"]
+}
+
diff --git a/autotests/input/highlight.xml b/autotests/input/highlight.xml
new file mode 100644
index 0000000..007449c
--- /dev/null
+++ b/autotests/input/highlight.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+This is a pseudo XML file to test Kate's XML syntax highlighting.
+
+Doctype:
+
+
+Processing instruction:
+
+
+Comments:
+
+
+
+Comment inside element:
+ content
+
+Markup inside comment:
+
+
+Empty element:
+
+
+
+Simple element plus content:
+ some content
+ some
+ content
+
+Namespace for elements and attributes:
+ content
+ content
+
+Elements containing allowed characters:
+
+
+
+Elements containing allowed start characters:
+ <:element foo="test"/>
+ <_element foo="test"/>
+
+Single quotes (the same as double quotes):
+ content
+
+Allowed Whitespace:
+
+ content
+
+Entities:
+
+ å
+ å
+ å
+ И
+ 水
+
+
+Illegal XML, should not be highlighted:
+ <0foobar> -- no digit as first character
+ <-foo> -- no dash as first character
diff --git a/autotests/input/highlight.xsl b/autotests/input/highlight.xsl
new file mode 100644
index 0000000..f6e0efb
--- /dev/null
+++ b/autotests/input/highlight.xsl
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+Linux at Home Links
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/autotests/input/highlight.y b/autotests/input/highlight.y
new file mode 100644
index 0000000..f7715e6
--- /dev/null
+++ b/autotests/input/highlight.y
@@ -0,0 +1,54 @@
+/* Yacc / Bison hl test file.
+ * It won't compile :-) Sure !
+ */
+
+%{
+
+#include
+using namespace std;
+
+extern KateParser *parser;
+
+%}
+
+%locations
+
+%union {
+ int int_val;
+ double double_val;
+ bool bool_val;
+ char *string_val;
+ char *ident_val;
+ struct var *v;
+ void *ptr;
+}
+
+%token TOK_NOT_EQUAL "!="
+%token TOK_LESSER_E "<="
+%token TOK_GREATER_E ">="
+%token TOK_EQUAL_2 "=="
+
+%type type type_proc
+
+%%
+
+prog: KW_PROGRAM ident { parser->start($2); } prog_beg_glob_decl instructions { parser->endproc(0); } dev_procedures KW_ENDP ;
+
+number: integer_number
+ | TOK_DOUBLE
+ {
+ $$ = new var;
+ $$->type = KW_REEL;
+ $$->cl = var::LITTERAL;
+ $$->real = $1;
+ };
+
+%%
+
+#include
+
+int main(void)
+{
+ puts("Hello, World!");
+ return 0;
+}
diff --git a/autotests/input/highlight_lpc.c b/autotests/input/highlight_lpc.c
new file mode 100644
index 0000000..fe5c629
--- /dev/null
+++ b/autotests/input/highlight_lpc.c
@@ -0,0 +1,64 @@
+// NOTE: This is a test file for kate's LPC syntax highlighting.
+
+// This is a Single-Line Comment
+/* This is a Multi-
+ Line Comment */
+
+// This again is a Single-Line Comment which should end here /*
+
+// And this is an evil single line comment \
+ which should include this and the next line because of the \
+ Do not use this style at home, kids.
+// BEGIN region marker
+
+// END of region marker
+
+private void create()
+{
+// Some Preprocessor stuff:
+#define SOME_STUFF if(foo("bar")) \
+ { \
+ bar("foo"); \
+ } // Preprocessor, Keyword, Preprocessor-String, Multiline
+
+ // Some closures:
+ #'create;
+ #'?!;
+
+
+ /* Some other Data Types: */
+
+ int i = 1; // Integer.
+ float b = 2.34; // Float.
+ int c = 0b001; // Binary
+ int e = 0x019Beef; // Hexadecimal
+ int f = 0o2345; // Octal
+ string a = "Wheee"; // String
+ string x = "Wheee\
+ heee"; // Multi-Line String, again, don't use this.
+
+
+
+ /* Some keywords: */
+ if(1)
+ {
+ switch(2)
+ {
+ case 3:
+ 4;
+ break;
+ }
+ }
+
+ else
+ {
+ return 0;
+ }
+}
+
+/*
+WARNING: If the above function is part of a multi-line comment,
+ it's buggy. The WARNING: itself should be a comment-keyword.
+ That's not actually part of the language, but simply used
+ to highlight important stuff inside comments like TODO: etc.
+*/
diff --git a/autotests/input/highlight_lpc.c.syntax b/autotests/input/highlight_lpc.c.syntax
new file mode 100644
index 0000000..2016d4f
--- /dev/null
+++ b/autotests/input/highlight_lpc.c.syntax
@@ -0,0 +1 @@
+LPC
diff --git a/autotests/input/highlight_ocaml.ml b/autotests/input/highlight_ocaml.ml
new file mode 100644
index 0000000..dc1717a
--- /dev/null
+++ b/autotests/input/highlight_ocaml.ml
@@ -0,0 +1,105 @@
+(* ocaml test file -- a big stew of Objective Caml syntax to use to
+ test Kate's syntax highlighting. This will not run! :-) *)
+
+(* First a little piece of real OCaml that should look right: *)
+
+ #load "basic";;
+ (* Return a default value for a BASIC variable given its identifer. *)
+ let default_value (ident : string) : basic_value =
+ assert (String.length ident > 0);
+ match ident.[String.length ident - 1] with
+ | '$' -> Str ""
+ | '%' -> Int 0
+ | '!' -> Flt 0.0
+ | _ -> Flt 0.0
+ ;;
+
+(* Directives: *)
+#load "pa_o";;
+ #load "pa_o";;
+object # meth ;; (* not a directive - a method call *)
+object
+ # meth ;; (* not a directive - a method call *)
+
+(* OCaml keywords: *)
+and as assert asr (* etc. there so many... *)
+
+(* Additional OCaml Revised Syntax keywords: *)
+(* These are in a seperate category so they can be coloured to look
+ like identifiers when ordinary OCaml syntax is being used: *)
+declare where value
+
+(* There's no way to reliably highlight all OCaml type expressions,
+ (they can be very complex) so just the built-in type names are highlighted.*)
+exn lazy_t format unit int real char string ref array bool list option
+
+
+let integers : int list = [
+ 123456789; (* decimal *)
+ -0xabcedf0123456789; (* hexadecimal *)
+ 0xABCDEF0123456789; (* hexadecimal *)
+ -0o1234567; (* octal *)
+ 0b01001010101010; (* binary *)
+ -0Xabcedf0123456789; (* hexadecimal *)
+ 0XABCDEF0123456789; (* hexadecimal *)
+ -0O1234567; (* octal *)
+ 0B01001010101010; (* binary *)
+ -123_456_789; (* Underscores are allowed in numeric constants. *)
+ 0x_abce_df01_2345_6789;
+ -0o12_34_567;
+ 0b_0100_1010_1010_1101;
+];;
+
+let floats : real list = [
+ 12345.6789;
+ -1.23456789e4; (* All variations of the exponent form *)
+ 1.23456789e+4;
+ -1.23456789e-4;
+ 1.23456789E-4;
+ -1.23456789E+4;
+ 12_345.6789; (* Underscores are allowed in numeric constants. *)
+ -1.23_456_789e+4;
+ 12_345.6789;
+];;
+
+let characters : char list = [
+ 'a';
+ ' ';
+ 'ä';
+ '\n'; '\r'; '\t'; '\b'; (* Control characters. Only these four: not the full C-language range. *)
+ '\000'; '\128'; (* Decimal character codes. These are always 3 digits. *)
+ '\x02'; '\xff'; '\xFF'; (* Hexadecimal character codes. These are always 3 digits. *)
+ '\\'; '\''; '\"'; '"' (* Quote character escapes. *)
+];;
+
+(* Quotes used to mark constants in parsers should
+ not be confused with character constant quotes.
+ "Ticks" at the end of identifiers should
+ not be confused with character constant quotes. *)
+let basic_identifier =
+ parser
+ [< ''F'; ''N'; name = s >] -> ID (s, 'f')
+ | [< name = s' >] -> ID (s','i')
+;;
+
+let strings : string list = [
+ ""; (* Empty string *)
+ "a"; " "; "ä"; "ab";
+ "A\nB"; "A\rB"; "A\tB"; "A\bB"; (* Control characters. Only these four: not the full C-language range. *)
+ "A\000B"; "A\128B"; (* Decimal character codes. These are always 3 digits. *)
+ "A\x02B"; "A\xffB"; "A\xFFB"; (* Hexadecimal character codes. These are always 3 digits. *)
+ "A\\B"; "A\'B"; "A'B"; "A\"B"; (* Quote character escapes. *)
+ "A multiline\
+ string";
+];
+
+let camlp4_quotations = [
+ <> ;
+ <:QUOTE > ;
+ <:QUÖTÈ > ;
+ << A quote with an escape: \>> (end-quote symbol) >> ;
+ << A quote with an escape: \<< (plain start quote-symbol) >> ;
+ << A quote with an escape: \<:Trouvé< (labelled start-quote symbol) >> ;
+];;
+
+(* end *)
diff --git a/autotests/input/highlight_octave.m b/autotests/input/highlight_octave.m
new file mode 100644
index 0000000..1f96036
--- /dev/null
+++ b/autotests/input/highlight_octave.m
@@ -0,0 +1,74 @@
+##=====================================================
+% Octave test code for Kate/Kwrite syntax highlighting
+% (shamelessly copied from Matlab's, since the two
+% are very similar)
+% kate: hl Octave;
+##=====================================================
+
+% Numbers _____________________________________________
+5, 5.5, .1, 0.1, 0.4e5, 1.2e-5, 5i, 5.3i, 6j, .345+3i
+5', 5.5', .1', 0.1', 0.4e5', 1.2e-5', 5i', 5.3i', 6j', .345+3i'
+
+% Operators ___________________________________________
+% relational operators
+'asdf'~=4, c<=4, d>=4, ab, a==b, b||c, b&&c
+% elementwise arithmetic operators
+a.^b, a.*b a./b, 1:4:5
+% single-character binary arithmetic
+a+3, a-3, a*2, a^3, a/3, a\3, a|b, a&b
+% unary operators
+a = ~g; g = @sfdgdsf(sdfsd,345); g.' + 1i.' - ('asdf').'
+% separators and delimiter
+(asd),[sadf];{asdf},;;,;;;()
+% continuation
+a = 1+ ...
+ 2;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+'str''\'
+% complete strings
+'string' % simple string
+'''' '\'' % strings containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' "asdf""" variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + (asdf)' - 'asdf'.' + []''''.';''
+'sadf'.' % string transpose
+% adjoint
+{'asdf'}' + 1
+('asdf')' + 1
+['asdf']' + 1
+'' var''' % empty string, var with >1 adjoints
+[5]'*{5}'*('asd')'.'+(5)'*6'*asdf'*asdf'.' % many adjoints
+A'*B + 1 % adjoint
+A.'*B + 1 % transpose
+A.'.'*B + 1 % double transpose
+A'.' + 1 % adjoint, then transpose
+A.'' % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function, persistent, global
+endfunction
+
+switch, case, otherwise
+endswitch
+
+if, else, elseif
+endif
+
+try, end_try_catch
+for, while, break, continue
+endfor
+
+endwhile
+return
+function, FUNCTION, Function % case sensitive!
+endfunction
\ No newline at end of file
diff --git a/autotests/input/highlight_octave.m.syntax b/autotests/input/highlight_octave.m.syntax
new file mode 100644
index 0000000..65d755f
--- /dev/null
+++ b/autotests/input/highlight_octave.m.syntax
@@ -0,0 +1 @@
+Octave
diff --git a/autotests/input/learnelixir.exs b/autotests/input/learnelixir.exs
new file mode 100644
index 0000000..1f51bd1
--- /dev/null
+++ b/autotests/input/learnelixir.exs
@@ -0,0 +1,397 @@
+# Original: https://learnxinyminutes.com/docs/elixir/
+
+# Single line comments start with a number symbol.
+
+# There's no multi-line comment,
+# but you can stack multiple comments.
+
+# To use the elixir shell use the `iex` command.
+# Compile your modules with the `elixirc` command.
+
+# Both should be in your path if you installed elixir correctly.
+
+## ---------------------------
+## -- Basic types
+## ---------------------------
+
+# There are numbers
+3 # integer
+0x1F # integer
+3.0 # float
+
+# Atoms, that are literals, a constant with name. They start with `:`.
+:hello # atom
+
+# Tuples that are stored contiguously in memory.
+{1,2,3} # tuple
+
+# We can access a tuple element with the `elem` function:
+elem({1, 2, 3}, 0) #=> 1
+
+# Lists that are implemented as linked lists.
+[1,2,3] # list
+
+# We can access the head and tail of a list as follows:
+[head | tail] = [1,2,3]
+head #=> 1
+tail #=> [2,3]
+
+# In elixir, just like in Erlang, the `=` denotes pattern matching and
+# not an assignment.
+#
+# This means that the left-hand side (pattern) is matched against a
+# right-hand side.
+#
+# This is how the above example of accessing the head and tail of a list works.
+
+# A pattern match will error when the sides don't match, in this example
+# the tuples have different sizes.
+# {a, b, c} = {1, 2} #=> ** (MatchError) no match of right hand side value: {1,2}
+
+# There are also binaries
+<<1,2,3>> # binary
+
+# Strings and char lists
+"hello" # string
+'hello' # char list
+
+# Multi-line strings
+"""
+I'm a multi-line
+string.
+"""
+#=> "I'm a multi-line\nstring.\n"
+
+# Strings are all encoded in UTF-8:
+"héllò" #=> "héllò"
+
+# Strings are really just binaries, and char lists are just lists.
+<> #=> "abc"
+[?a, ?b, ?c] #=> 'abc'
+
+# `?a` in elixir returns the ASCII integer for the letter `a`
+?a #=> 97
+
+# To concatenate lists use `++`, for binaries use `<>`
+[1,2,3] ++ [4,5] #=> [1,2,3,4,5]
+'hello ' ++ 'world' #=> 'hello world'
+
+<<1,2,3>> <> <<4,5>> #=> <<1,2,3,4,5>>
+"hello " <> "world" #=> "hello world"
+
+# Ranges are represented as `start..end` (both inclusive)
+1..10 #=> 1..10
+lower..upper = 1..10 # Can use pattern matching on ranges as well
+[lower, upper] #=> [1, 10]
+
+## ---------------------------
+## -- Operators
+## ---------------------------
+
+# Some math
+1 + 1 #=> 2
+10 - 5 #=> 5
+5 * 2 #=> 10
+10 / 2 #=> 5.0
+
+# In elixir the operator `/` always returns a float.
+
+# To do integer division use `div`
+div(10, 2) #=> 5
+
+# To get the division remainder use `rem`
+rem(10, 3) #=> 1
+
+# There are also boolean operators: `or`, `and` and `not`.
+# These operators expect a boolean as their first argument.
+true and true #=> true
+false or true #=> true
+# 1 and true #=> ** (ArgumentError) argument error
+
+# Elixir also provides `||`, `&&` and `!` which accept arguments of any type.
+# All values except `false` and `nil` will evaluate to true.
+1 || true #=> 1
+false && 1 #=> false
+nil && 20 #=> nil
+!true #=> false
+
+# For comparisons we have: `==`, `!=`, `===`, `!==`, `<=`, `>=`, `<` and `>`
+1 == 1 #=> true
+1 != 1 #=> false
+1 < 2 #=> true
+
+# `===` and `!==` are more strict when comparing integers and floats:
+1 == 1.0 #=> true
+1 === 1.0 #=> false
+
+# We can also compare two different data types:
+1 < :hello #=> true
+
+# The overall sorting order is defined below:
+# number < atom < reference < functions < port < pid < tuple < list < bit string
+
+# To quote Joe Armstrong on this: "The actual order is not important,
+# but that a total ordering is well defined is important."
+
+## ---------------------------
+## -- Control Flow
+## ---------------------------
+
+# `if` expression
+if false do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# There's also `unless`
+unless true do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# Remember pattern matching? Many control-flow structures in elixir rely on it.
+
+# `case` allows us to compare a value against many patterns:
+case {:one, :two} do
+ {:four, :five} ->
+ "This won't match"
+ {:one, x} ->
+ "This will match and bind `x` to `:two`"
+ _ ->
+ "This will match any value"
+end
+
+# It's common to bind the value to `_` if we don't need it.
+# For example, if only the head of a list matters to us:
+[head | _] = [1,2,3]
+head #=> 1
+
+# For better readability we can do the following:
+[head | _tail] = [:a, :b, :c]
+head #=> :a
+
+# `cond` lets us check for many conditions at the same time.
+# Use `cond` instead of nesting many `if` expressions.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ 1 + 2 == 3 ->
+ "But I will"
+end
+
+# It is common to set the last condition equal to `true`, which will always match.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ true ->
+ "But I will (this is essentially an else)"
+end
+
+# `try/catch` is used to catch values that are thrown, it also supports an
+# `after` clause that is invoked whether or not a value is caught.
+try do
+ throw(:hello)
+catch
+ message -> "Got #{message}."
+after
+ IO.puts("I'm the after clause.")
+end
+#=> I'm the after clause
+# "Got :hello"
+
+## ---------------------------
+## -- Modules and Functions
+## ---------------------------
+
+# Anonymous functions (notice the dot)
+square = fn(x) -> x * x end
+square.(5) #=> 25
+
+# They also accept many clauses and guards.
+# Guards let you fine tune pattern matching,
+# they are indicated by the `when` keyword:
+f = fn
+ x, y when x > 0 -> x + y
+ x, y -> x * y
+end
+
+f.(1, 3) #=> 4
+f.(-1, 3) #=> -3
+
+# Elixir also provides many built-in functions.
+# These are available in the current scope.
+is_number(10) #=> true
+is_list("hello") #=> false
+elem({1,2,3}, 0) #=> 1
+
+# You can group several functions into a module. Inside a module use `def`
+# to define your functions.
+defmodule Math do
+ def sum(a, b) do
+ a + b
+ end
+
+ def square(x) do
+ x * x
+ end
+end
+
+Math.sum(1, 2) #=> 3
+Math.square(3) #=> 9
+
+# To compile our simple Math module save it as `math.ex` and use `elixirc`
+# in your terminal: elixirc math.ex
+
+# Inside a module we can define functions with `def` and private functions with `defp`.
+# A function defined with `def` is available to be invoked from other modules,
+# a private function can only be invoked locally.
+defmodule PrivateMath do
+ def sum(a, b) do
+ do_sum(a, b)
+ end
+
+ defp do_sum(a, b) do
+ a + b
+ end
+end
+
+PrivateMath.sum(1, 2) #=> 3
+# PrivateMath.do_sum(1, 2) #=> ** (UndefinedFunctionError)
+
+# Function declarations also support guards and multiple clauses:
+defmodule Geometry do
+ def area({:rectangle, w, h}) do
+ w * h
+ end
+
+ def area({:circle, r}) when is_number(r) do
+ 3.14 * r * r
+ end
+end
+
+Geometry.area({:rectangle, 2, 3}) #=> 6
+Geometry.area({:circle, 3}) #=> 28.25999999999999801048
+# Geometry.area({:circle, "not_a_number"})
+#=> ** (FunctionClauseError) no function clause matching in Geometry.area/1
+
+# Due to immutability, recursion is a big part of elixir
+defmodule Recursion do
+ def sum_list([head | tail], acc) do
+ sum_list(tail, acc + head)
+ end
+
+ def sum_list([], acc) do
+ acc
+ end
+end
+
+Recursion.sum_list([1,2,3], 0) #=> 6
+
+# Elixir modules support attributes, there are built-in attributes and you
+# may also add custom ones.
+defmodule MyMod do
+ @moduledoc """
+ This is a built-in attribute on a example module.
+ """
+
+ @my_data 100 # This is a custom attribute.
+ IO.inspect(@my_data) #=> 100
+end
+
+## ---------------------------
+## -- Structs and Exceptions
+## ---------------------------
+
+# Structs are extensions on top of maps that bring default values,
+# compile-time guarantees and polymorphism into Elixir.
+defmodule Person do
+ defstruct name: nil, age: 0, height: 0
+end
+
+joe_info = %Person{ name: "Joe", age: 30, height: 180 }
+#=> %Person{age: 30, height: 180, name: "Joe"}
+
+# Access the value of name
+joe_info.name #=> "Joe"
+
+# Update the value of age
+older_joe_info = %{ joe_info | age: 31 }
+#=> %Person{age: 31, height: 180, name: "Joe"}
+
+# The `try` block with the `rescue` keyword is used to handle exceptions
+try do
+ raise "some error"
+rescue
+ RuntimeError -> "rescued a runtime error"
+ _error -> "this will rescue any error"
+end
+#=> "rescued a runtime error"
+
+# All exceptions have a message
+try do
+ raise "some error"
+rescue
+ x in [RuntimeError] ->
+ x.message
+end
+#=> "some error"
+
+## ---------------------------
+## -- Concurrency
+## ---------------------------
+
+# Elixir relies on the actor model for concurrency. All we need to write
+# concurrent programs in elixir are three primitives: spawning processes,
+# sending messages and receiving messages.
+
+# To start a new process we use the `spawn` function, which takes a function
+# as argument.
+f = fn -> 2 * 2 end #=> #Function
+spawn(f) #=> #PID<0.40.0>
+
+# `spawn` returns a pid (process identifier), you can use this pid to send
+# messages to the process. To do message passing we use the `send` operator.
+# For all of this to be useful we need to be able to receive messages. This is
+# achieved with the `receive` mechanism:
+
+# The `receive do` block is used to listen for messages and process
+# them when they are received. A `receive do` block will only
+# process one received message. In order to process multiple
+# messages, a function with a `receive do` block must recursively
+# call itself to get into the `receive do` block again.
+
+defmodule Geometry do
+ def area_loop do
+ receive do
+ {:rectangle, w, h} ->
+ IO.puts("Area = #{w * h}")
+ area_loop()
+ {:circle, r} ->
+ IO.puts("Area = #{3.14 * r * r}")
+ area_loop()
+ end
+ end
+end
+
+# Compile the module and create a process that evaluates `area_loop` in the shell
+pid = spawn(fn -> Geometry.area_loop() end) #=> #PID<0.40.0>
+# Alternatively
+pid = spawn(Geometry, :area_loop, [])
+
+# Send a message to `pid` that will match a pattern in the receive statement
+send pid, {:rectangle, 2, 3}
+#=> Area = 6
+# {:rectangle,2,3}
+
+send pid, {:circle, 2}
+#=> Area = 12.56000000000000049738
+# {:circle,2}
+
+# The shell is also a process, you can use `self` to get the current pid
+self() #=> #PID<0.27.0>
diff --git a/autotests/input/light52_muldiv.vhdl b/autotests/input/light52_muldiv.vhdl
new file mode 100644
index 0000000..723f154
--- /dev/null
+++ b/autotests/input/light52_muldiv.vhdl
@@ -0,0 +1,239 @@
+--------------------------------------------------------------------------------
+-- light52_muldiv.vhdl -- Simple multiplier/divider module.
+--------------------------------------------------------------------------------
+-- The 8051 mul and div instructions are both unsigned and operands are 8 bit.
+--
+-- This module implements the division as a sequential state machine which takes
+-- 8 cycles to complete.
+-- The multiplier can be implemented as sequential or as combinational, in which
+-- case it will use a DSP block in those architectures that support it.
+-- No attempt has been made to make this module generic or reusable.
+--
+-- If you want a combinational multiplier but don't want to waste a DSP block
+-- in this module, you need to modify this file adding whatever synthesis
+-- pragmas your tool of choice needs.
+--
+-- Note that unlike the division state machine, the combinational product logic
+-- is always operating: when SEQUENTIAL_MULTIPLIER=true, prod_out equals
+-- data_a * data_b with a latency of 1 clock cycle, and mul_ready is hardwired
+-- to '1'.
+--
+-- FIXME explain division algorithm.
+--------------------------------------------------------------------------------
+-- GENERICS:
+--
+-- SEQUENTIAL_MULTIPLIER -- Sequential vs. combinational multiplier.
+-- When true, a sequential implementation will be used for the multiplier,
+-- which will usually save a lot of logic or a dedicated multiplier.
+-- When false, a combinational registered multiplier will be used.
+--
+--------------------------------------------------------------------------------
+-- INTERFACE SIGNALS:
+--
+-- clk : Clock, active rising edge.
+-- reset : Synchronous reset. Clears only the control registers not
+-- visible to the programmer -- not the output registers.
+--
+-- data_a : Numerator input, should be connected to the ACC register.
+-- data_b : Denominator input, should be connected to the B register.
+-- start : Assert for 1 cycle to start the division state machine
+-- (and the product if SEQUENTIAL_MULTIPLIER=true);
+--
+-- prod_out : Product output, valid only when mul_ready='1'.
+-- quot_out : Quotient output, valid only when div_ready='1'.
+-- rem_out : Remainder output, valid only when div_ready='1'.
+-- div_ov_out : Division overflow flag, valid only when div_ready='1'.
+-- mul_ov_out : Product overflow flag, valid only when mul_ready='1'.
+--
+-- mul_ready : Asserted permanently if SEQUENTIAL_MULTIPLIER=false.
+-- div_ready : Deasserted the cycle after start is asserted.
+-- Asserted when the division has completed.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+use work.light52_pkg.all;
+use work.light52_ucode_pkg.all;
+
+entity light52_muldiv is
+ generic (
+ SEQUENTIAL_MULTIPLIER : boolean := false
+ );
+ port(
+ clk : in std_logic;
+ reset : in std_logic;
+
+ data_a : in t_byte;
+ data_b : in t_byte;
+ start : in std_logic;
+
+ prod_out : out t_word;
+ quot_out : out t_byte;
+ rem_out : out t_byte;
+ div_ov_out : out std_logic;
+ mul_ov_out : out std_logic;
+
+ mul_ready : out std_logic;
+ div_ready : out std_logic
+ );
+end entity light52_muldiv;
+
+architecture sequential of light52_muldiv is
+
+signal bit_ctr : integer range 0 to 8;
+
+signal b_shift_reg : t_word;
+
+signal den_ge_256 : std_logic;
+signal num_ge_den : std_logic;
+signal sub_num : std_logic;
+
+signal denominator : t_byte;
+signal rem_reg : t_byte;
+signal quot_reg : t_byte;
+signal prod_reg : t_word;
+signal ready : std_logic;
+
+signal load_regs : std_logic;
+
+begin
+
+-- Control logic ---------------------------------------------------------------
+
+control_counter: process(clk)
+begin
+ if clk'event and clk='1' then
+ if reset='1' then
+ bit_ctr <= 8;
+ else
+ if load_regs='1' then
+ bit_ctr <= 0;
+ elsif bit_ctr /= 8 then
+ bit_ctr <= bit_ctr + 1;
+ end if;
+ end if;
+ end if;
+end process control_counter;
+
+-- Internal signal ready is asserted after 8 cycles.
+-- The sequential multiplier will use this signal too, IF it takes 8 cycles.
+
+ready <= '1' when bit_ctr >= 8 else '0';
+
+
+---- Divider logic -------------------------------------------------------------
+
+-- What we do is a simple base-2 'shift-and-subtract' algorithm that takes
+-- 8 cycles to complete. We can get away with this because we deal with unsigned
+-- numbers only.
+
+divider_registers: process(clk)
+begin
+ if clk'event and clk='1' then
+ -- denominator shift register
+ if load_regs='1' then
+ b_shift_reg <= "0" & data_b & "0000000";
+ -- Division overflow can be determined upon loading B reg data.
+ -- OV will be raised only on div-by-zero.
+ if data_b=X"00" then
+ div_ov_out <= '1';
+ else
+ div_ov_out <= '0';
+ end if;
+ else
+ b_shift_reg <= "0" & b_shift_reg(b_shift_reg'high downto 1);
+ end if;
+
+ -- numerator register
+ if load_regs='1' then
+ rem_reg <= data_a;
+ elsif bit_ctr/=8 and sub_num='1' then
+ rem_reg <= rem_reg - denominator;
+ end if;
+
+ --- quotient register
+ if load_regs='1' then
+ quot_reg <= (others => '0');
+ elsif bit_ctr/=8 then
+ quot_reg <= quot_reg(quot_reg'high-1 downto 0) & sub_num;
+ end if;
+
+ load_regs <= start;
+ end if;
+end process divider_registers;
+
+denominator <= b_shift_reg(7 downto 0);
+
+-- The 16-bit comparison between b_shift_reg (denominator) and the zero-extended
+-- rem_reg (numerator) can be simplified by splitting it in 2:
+-- If the shifted denominator high byte is not zero, it is >=256...
+den_ge_256 <= '1' when b_shift_reg(15 downto 8) /= X"00" else '0';
+-- ...otherwise we need to compare the low bytes.
+num_ge_den <= '1' when rem_reg >= denominator else '0';
+sub_num <= '1' when den_ge_256='0' and num_ge_den='1' else '0';
+
+
+quot_out <= quot_reg;
+prod_out <= prod_reg;
+rem_out <= rem_reg;
+
+div_ready <= ready;
+
+---- Multiplier logic ----------------------------------------------------------
+
+---- Combinational multiplier -----------------------------
+multiplier_combinational: if not SEQUENTIAL_MULTIPLIER generate
+
+registered_combinational_multiplier:process(clk)
+begin
+ if clk'event and clk='1' then
+ prod_reg <= data_a * data_b; -- t_byte is unsigned
+ end if;
+end process registered_combinational_multiplier;
+
+-- The multiplier output is valid in the cycle after the operands are loaded,
+-- so by the time MUL is executed it's already done.
+mul_ready <= '1';
+
+mul_ov_out <= '1' when prod_reg(15 downto 8)/=X"00" else '0';
+prod_out <= prod_reg;
+
+end generate multiplier_combinational;
+
+---- Sequential multiplier --------------------------------
+multiplier_sequential: if SEQUENTIAL_MULTIPLIER generate
+
+assert false
+report "Sequential multiplier implementation not done yet."&
+ " Use combinational implementation."
+severity failure;
+
+end generate multiplier_sequential;
+
+end sequential;
diff --git a/autotests/input/light52_tb.vhdl b/autotests/input/light52_tb.vhdl
new file mode 100644
index 0000000..4905de1
--- /dev/null
+++ b/autotests/input/light52_tb.vhdl
@@ -0,0 +1,180 @@
+--------------------------------------------------------------------------------
+-- light52_tb.vhdl --
+--------------------------------------------------------------------------------
+-- This test bench simulates the execution of some program (whose object code
+-- is in package obj_code_pkg, in the form of a memory init constant) and logs
+-- the execution to a text file called 'hw_sim_log.txt' (light52_tb_pkg.vhdl).
+--
+-- This test bench does no actual tests on the core. Instead, the simulation log
+-- is meant to be matched against the simulation log produced by running the
+-- same program on the software simulator B51 (also included with this project).
+--
+-- This will catch errors in the implementation of the CPU if the simulated
+-- program has anough coverage -- the opcode tester is meant to cover all CPU
+-- opcodes in many (not all) of their corner cases.
+-- This scheme will not help in catching errors in the peripheral modules,
+-- mainly because the current version of B51 does not simulate them.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.std_logic_arith.all;
+use ieee.std_logic_unsigned.all;
+use std.textio.all;
+
+use work.light52_pkg.all;
+use work.obj_code_pkg.all;
+use work.light52_tb_pkg.all;
+use work.txt_util.all;
+
+entity light52_tb is
+generic (BCD : boolean := true);
+end;
+
+
+architecture testbench of light52_tb is
+
+--------------------------------------------------------------------------------
+-- Simulation parameters
+-- FIXME these should be in parameter package
+
+-- Simulated clock period is the same as the usual target, the DE-1 board
+constant T : time := 20 ns; -- 50MHz
+constant SIMULATION_LENGTH : integer := 400000;
+
+--------------------------------------------------------------------------------
+-- MPU interface
+
+signal clk : std_logic := '0';
+signal reset : std_logic := '1';
+
+signal p0_out : std_logic_vector(7 downto 0);
+signal p1_out : std_logic_vector(7 downto 0);
+signal p2_in : std_logic_vector(7 downto 0);
+signal p3_in : std_logic_vector(7 downto 0);
+
+signal external_irq : std_logic_vector(7 downto 0);
+
+signal txd, rxd : std_logic;
+
+--------------------------------------------------------------------------------
+-- Logging signals & simulation control
+
+-- Asserted high to disable the clock and terminate the simulation.
+signal done : std_logic := '0';
+
+-- Log file
+file log_file: TEXT open write_mode is "hw_sim_log.txt";
+-- Console output log file
+file con_file: TEXT open write_mode is "hw_sim_console_log.txt";
+-- Info record needed by the logging fuctions
+signal log_info : t_log_info;
+
+begin
+
+---- UUT instantiation ---------------------------------------------------------
+
+uut: entity work.light52_mcu
+ generic map (
+ IMPLEMENT_BCD_INSTRUCTIONS => BCD,
+ CODE_ROM_SIZE => work.obj_code_pkg.XCODE_SIZE,
+ XDATA_RAM_SIZE => work.obj_code_pkg.XDATA_SIZE,
+ OBJ_CODE => work.obj_code_pkg.object_code
+ )
+ port map (
+ clk => clk,
+ reset => reset,
+
+ txd => txd,
+ rxd => rxd,
+
+ external_irq => external_irq,
+
+ p0_out => p0_out,
+ p1_out => p1_out,
+ p2_in => p2_in,
+ p3_in => p3_in
+ );
+
+ -- UART is looped back in the test bench.
+ rxd <= txd;
+
+ -- I/O ports are looped back and otherwise unused.
+ p2_in <= p0_out;
+ p3_in <= p1_out;
+
+ -- External IRQ inputs are tied to port P1 for test purposes
+ external_irq <= p1_out;
+
+ ---- Master clock: free running clock used as main module clock ------------
+ run_master_clock: process(done, clk)
+ begin
+ if done = '0' then
+ clk <= not clk after T/2;
+ end if;
+ end process run_master_clock;
+
+
+ ---- Main simulation process: reset MCU and wait for fixed period ----------
+
+ drive_uut: process
+ begin
+ -- Leave reset asserted for a few clock cycles...
+ reset <= '1';
+ wait for T*4;
+ reset <= '0';
+
+ -- ...and wait for the test to hit a termination condition (evaluated by
+ -- function log_cpu_activity) or to just timeout.
+ wait for T*SIMULATION_LENGTH;
+
+ -- If we arrive here, the simulation timed out (termination conditions
+ -- trigger a failed assertion).
+ -- So print a timeout message and quit.
+ print("TB timed out.");
+ done <= '1';
+ wait;
+
+ end process drive_uut;
+
+
+ -- Logging process: launch logger functions --------------------------------
+ log_execution: process
+ begin
+ -- Log cpu activity until done='1'.
+ log_cpu_activity(clk, reset, done, "/uut",
+ log_info, work.obj_code_pkg.XCODE_SIZE, "log_info",
+ X"0000", log_file, con_file);
+
+ -- Flush console log file when finished.
+ log_flush_console(log_info, con_file);
+
+ wait;
+ end process log_execution;
+
+end architecture testbench;
diff --git a/autotests/input/meson.build b/autotests/input/meson.build
new file mode 100644
index 0000000..d6dd6e6
--- /dev/null
+++ b/autotests/input/meson.build
@@ -0,0 +1,21 @@
+# Unit test for Meson syntax highlight. License: LGPL
+project('projectname', 'cpp')
+
+
+
+sourcefiles = ['a.cpp', 'b.cpp']
+
+foreach sourcefile : sourcefiles
+ message('this is a source file: ' + sourcefile)
+endforeach
+
+x=1
+if x+1 == 2 and x-1 == 0
+ message('I can work in this universe!')
+endif
+
+subprojectresult = subproject('mysubprojectdir')
+
+mysharedlib = shared_library('libraryname', sourcefiles, linkwith: subprojectresult.staticlib)
+
+executable('myprogram', ['test.cpp'], linkwith: mysharedlib)
diff --git a/autotests/input/or1200_dc_fsm.v b/autotests/input/or1200_dc_fsm.v
new file mode 100644
index 0000000..e3d80ec
--- /dev/null
+++ b/autotests/input/or1200_dc_fsm.v
@@ -0,0 +1,563 @@
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's DC FSM ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Data cache state machine ////
+//// ////
+//// To Do: ////
+//// - Test error during line read or write ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// - Julius Baxter, julius@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000, 2010 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+// $Log: or1200_dc_fsm.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+//
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+`define OR1200_DCFSM_IDLE 3'd0
+`define OR1200_DCFSM_CLOADSTORE 3'd1
+`define OR1200_DCFSM_LOOP2 3'd2
+`define OR1200_DCFSM_LOOP3 3'd3
+`define OR1200_DCFSM_LOOP4 3'd4
+`define OR1200_DCFSM_FLUSH5 3'd5
+`define OR1200_DCFSM_INV6 3'd6
+`define OR1200_DCFSM_WAITSPRCS7 3'd7
+
+
+
+//
+// Data cache FSM for cache line of 16 bytes (4x singleword)
+//
+
+module or1200_dc_fsm
+ (
+ // Clock and reset
+ clk, rst,
+
+ // Internal i/f to top level DC
+ dc_en, dcqmem_cycstb_i, dcqmem_ci_i, dcqmem_we_i, dcqmem_sel_i,
+ tagcomp_miss, biudata_valid, biudata_error, lsu_addr,
+ dcram_we, biu_read, biu_write, biu_do_sel, dcram_di_sel, first_hit_ack,
+ first_miss_ack, first_miss_err, burst, tag_we, tag_valid, dc_addr,
+ dc_no_writethrough, tag_dirty, dirty, tag, tag_v, dc_block_flush,
+ dc_block_writeback, spr_dat_i, mtspr_dc_done, spr_cswe
+ );
+
+ //
+ // I/O
+ //
+ input clk;
+ input rst;
+ input dc_en;
+ input dcqmem_cycstb_i;
+ input dcqmem_ci_i;
+ input dcqmem_we_i;
+ input [3:0] dcqmem_sel_i;
+ input tagcomp_miss;
+ input biudata_valid;
+ input biudata_error;
+ input [31:0] lsu_addr;
+ output [3:0] dcram_we;
+ output biu_read;
+ output biu_write;
+ output dcram_di_sel;
+ output biu_do_sel;
+ output first_hit_ack;
+ output first_miss_ack;
+ output first_miss_err;
+ output burst;
+ output tag_we;
+ output tag_valid;
+ output [31:0] dc_addr;
+ input dc_no_writethrough;
+ output tag_dirty;
+ input dirty;
+ input [`OR1200_DCTAG_W-2:0] tag;
+ input tag_v;
+ input dc_block_flush;
+ input dc_block_writeback;
+ input [31:0] spr_dat_i;
+ output mtspr_dc_done;
+ input spr_cswe;
+
+
+ //
+ // Internal wires and regs
+ //
+ reg [31:0] addr_r;
+ reg [2:0] state;
+ reg [`OR1200_DCLS-1:0] cnt;
+ reg hitmiss_eval;
+ reg store;
+ reg load;
+ reg cache_inhibit;
+ reg cache_miss;
+ reg cache_dirty_needs_writeback;
+ reg did_early_load_ack;
+ reg cache_spr_block_flush;
+ reg cache_spr_block_writeback;
+ reg cache_wb;
+ wire load_hit_ack;
+ wire load_miss_ack;
+ wire load_inhibit_ack;
+ wire store_hit_ack;
+ wire store_hit_writethrough_ack;
+ wire store_miss_writethrough_ack;
+ wire store_inhibit_ack;
+ wire store_miss_ack;
+ wire dcram_we_after_line_load;
+ wire dcram_we_during_line_load;
+ wire tagram_we_end_of_loadstore_loop;
+ wire tagram_dirty_bit_set;
+ wire writethrough;
+ wire cache_inhibit_with_eval;
+ wire [(`OR1200_DCLS-1)-2:0] next_addr_word;
+
+ //
+ // Cache inhibit
+ //
+
+ // Indicates whether cache is inhibited, during hitmiss_eval and after
+ assign cache_inhibit_with_eval = (hitmiss_eval & dcqmem_ci_i) |
+ (!hitmiss_eval & cache_inhibit);
+
+ //
+ // Generate of DCRAM write enables
+ //
+
+ // WE when non-writethrough, and had to wait for a line to load.
+ assign dcram_we_after_line_load = (state == `OR1200_DCFSM_LOOP3) &
+ dcqmem_we_i & !cache_dirty_needs_writeback &
+ !did_early_load_ack;
+
+ // WE when receiving the data cache line
+ assign dcram_we_during_line_load = (state == `OR1200_DCFSM_LOOP2) & load &
+ biudata_valid;
+
+ assign dcram_we =(// Write when hit - make sure it is only when hit - could
+ // maybe be doing write through and don't want to corrupt
+ // cache lines corresponding to the writethrough addr_r.
+ ({4{store_hit_ack | store_hit_writethrough_ack}} |
+ // Write after load of line
+ {4{dcram_we_after_line_load}}) &
+ dcqmem_sel_i ) |
+ // Write during load
+ {4{dcram_we_during_line_load}};
+
+ //
+ // Tag RAM signals
+ //
+
+ // WE to tag RAM when we finish loading a line.
+ assign tagram_we_end_of_loadstore_loop = ((state==`OR1200_DCFSM_LOOP2) &
+ biudata_valid & !(|cnt));
+
+`ifndef OR1200_DC_WRITETHROUGH
+ // No writethrough, so mark a line dirty whenever we write to it
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack;
+
+ // Generate done signal for MTSPR instructions that may block execution
+ assign mtspr_dc_done = // Either DC disabled or we're not selected, or
+ !dc_en | !spr_cswe |
+ // Requested address not valid or writeback and !dirty
+ ((state==`OR1200_DCFSM_FLUSH5) &
+ (!tag_v | (cache_spr_block_writeback & !dirty))) |
+ // Writeback or flush is finished
+ ((state==`OR1200_DCFSM_LOOP3) &
+ (cache_spr_block_flush | cache_spr_block_writeback))|
+ // Invalidate of clean line finished
+ ((state==`OR1200_DCFSM_INV6) & cache_spr_block_flush);
+
+
+`else
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ // For dirty bit setting when having writethrough but not for stack
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack;
+ `else
+ // Lines will never be dirty if always writethrough
+ assign tagram_dirty_bit_set = 0;
+ `endif
+
+ assign mtspr_dc_done = 1'b1;
+
+`endif
+
+ assign tag_dirty = tagram_dirty_bit_set;
+
+ // WE to tag RAM
+ assign tag_we = tagram_we_end_of_loadstore_loop |
+ tagram_dirty_bit_set | (state == `OR1200_DCFSM_INV6);
+
+
+ // Valid bit
+ // Set valid when end of line load, or marking dirty (is still valid)
+ assign tag_valid = ( tagram_we_end_of_loadstore_loop &
+ (load | (store & cache_spr_block_writeback)) ) |
+ tagram_dirty_bit_set;
+
+
+
+ //
+ // BIU read and write
+ //
+
+ assign biu_read = // Bus read request when:
+ // 1) Have a miss and not dirty or a load with inhibit
+ ((state == `OR1200_DCFSM_CLOADSTORE) &
+ (((hitmiss_eval & tagcomp_miss & !dirty &
+ !(store & writethrough)) |
+ (load & cache_inhibit_with_eval)) & dcqmem_cycstb_i)) |
+ // 2) In the loop and loading
+ ((state == `OR1200_DCFSM_LOOP2) & load);
+
+
+ assign biu_write = // Bus write request when:
+ // 1) Have a miss and dirty or store with inhibit
+ ((state == `OR1200_DCFSM_CLOADSTORE) &
+ (((hitmiss_eval & tagcomp_miss & dirty) |
+ (store & writethrough)) |
+ (store & cache_inhibit_with_eval)) & dcqmem_cycstb_i) |
+ // 2) In the loop and storing
+ ((state == `OR1200_DCFSM_LOOP2) & store);
+
+ //
+ // Select for data to actual cache RAM (from LSU or BIU)
+ //
+ // Data to DCRAM - from external bus when loading (from IU when store)
+ assign dcram_di_sel = load;
+ // Data to external bus - always from IU except in case of bursting back
+ // the line to memory. (1 selects DCRAM)
+ assign biu_do_sel = (state == `OR1200_DCFSM_LOOP2) & store;
+
+ // 3-bit wire for calculating next word of burst write, depending on
+ // line size of data cache.
+ assign next_addr_word = addr_r[`OR1200_DCLS-1:2] + 1;
+
+ // Address to cache RAM (tag address also derived from this)
+ assign dc_addr =
+ // First check if we've got a block flush or WB op
+ ((dc_block_flush & !cache_spr_block_flush) |
+ (dc_block_writeback & !cache_spr_block_writeback)) ?
+ spr_dat_i :
+ (state==`OR1200_DCFSM_FLUSH5) ? addr_r:
+ // If no SPR action, then always put out address from LSU
+ (state==`OR1200_DCFSM_IDLE | hitmiss_eval) ? lsu_addr :
+ // Next, if in writeback loop, when ACKed must immediately
+ // output next word address (the RAM address takes a cycle
+ // to increment, but it's needed immediately for burst)
+ // otherwise, output our registered address.
+ (state==`OR1200_DCFSM_LOOP2 & biudata_valid & store ) ?
+ {addr_r[31:`OR1200_DCLS], next_addr_word, 2'b00} : addr_r;
+
+`ifdef OR1200_DC_WRITETHROUGH
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ assign writethrough = !dc_no_writethrough;
+ `else
+ assign writethrough = 1;
+ `endif
+`else
+ assign writethrough = 0;
+`endif
+
+ //
+ // ACK generation for LSU
+ //
+
+ // ACK for when it's a cache hit
+ assign first_hit_ack = load_hit_ack | store_hit_ack |
+ store_hit_writethrough_ack |
+ store_miss_writethrough_ack |
+ store_inhibit_ack | store_miss_ack ;
+
+ // ACK for when it's a cache miss - load only, is used in MUX for data back
+ // LSU straight off external data bus. In
+ // this was is also used for cache inhibit
+ // loads.
+ // first_hit_ack takes precedence over first_miss_ack
+ assign first_miss_ack = ~first_hit_ack & (load_miss_ack | load_inhibit_ack);
+
+ // ACK cache hit on load
+ assign load_hit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i & load;
+
+ // ACK cache hit on store, no writethrough
+ assign store_hit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i &
+ store & !writethrough;
+
+ // ACK cache hit on store with writethrough
+ assign store_hit_writethrough_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ !cache_miss & !cache_inhibit &
+ store & writethrough & biudata_valid;
+
+ // ACK cache miss on store with writethrough
+ assign store_miss_writethrough_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ cache_miss & !cache_inhibit &
+ store & writethrough & biudata_valid;
+
+ // ACK store when cacheinhibit
+ assign store_inhibit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ store & cache_inhibit & biudata_valid;
+
+
+ // Get the _early_ ack on first ACK back from wishbone during load only
+ // Condition is that we're in the loop - that it's the first ack we get (can
+ // tell from value of cnt), and we're loading a line to read from it (not
+ // loading to write to it, in the case of a write without writethrough.)
+ assign load_miss_ack = ((state== `OR1200_DCFSM_LOOP2) & load &
+ (cnt==((1 << `OR1200_DCLS) - 4)) & biudata_valid &
+ !(dcqmem_we_i & !writethrough));
+
+ assign load_inhibit_ack = (state == `OR1200_DCFSM_CLOADSTORE) &
+ load & cache_inhibit & biudata_valid;
+
+ // This will be case of write through disabled, and had to load a line.
+ assign store_miss_ack = dcram_we_after_line_load;
+
+ assign first_miss_err = biudata_error & dcqmem_cycstb_i;
+
+ // Signal burst when in the load/store loop. We will always try to burst.
+ assign burst = (state == `OR1200_DCFSM_LOOP2);
+
+ //
+ // Main DC FSM
+ //
+ always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ state <= `OR1200_DCFSM_IDLE;
+ addr_r <= 32'd0;
+ hitmiss_eval <= 1'b0;
+ store <= 1'b0;
+ load <= 1'b0;
+ cnt <= `OR1200_DCLS'd0;
+ cache_miss <= 1'b0;
+ cache_dirty_needs_writeback <= 1'b0;
+ cache_inhibit <= 1'b0;
+ did_early_load_ack <= 1'b0;
+ cache_spr_block_flush <= 1'b0;
+ cache_spr_block_writeback <= 1'b0;
+ end
+ else
+ case (state) // synopsys parallel_case
+
+ `OR1200_DCFSM_IDLE : begin
+ if (dc_en & (dc_block_flush | dc_block_writeback))
+ begin
+ cache_spr_block_flush <= dc_block_flush;
+ cache_spr_block_writeback <= dc_block_writeback;
+ hitmiss_eval <= 1'b1;
+ state <= `OR1200_DCFSM_FLUSH5;
+ addr_r <= spr_dat_i;
+ end
+ else if (dc_en & dcqmem_cycstb_i)
+ begin
+ state <= `OR1200_DCFSM_CLOADSTORE;
+ hitmiss_eval <= 1'b1;
+ store <= dcqmem_we_i;
+ load <= !dcqmem_we_i;
+ end
+
+
+ end // case: `OR1200_DCFSM_IDLE
+
+ `OR1200_DCFSM_CLOADSTORE: begin
+ hitmiss_eval <= 1'b0;
+ if (hitmiss_eval) begin
+ cache_inhibit <= dcqmem_ci_i; // Check for cache inhibit here
+ cache_miss <= tagcomp_miss;
+ cache_dirty_needs_writeback <= dirty;
+ addr_r <= lsu_addr;
+ end
+
+ // Evaluate any cache line load/stores in first cycle:
+ //
+ if (hitmiss_eval & tagcomp_miss & !(store & writethrough) &
+ !dcqmem_ci_i)
+ begin
+ // Miss - first either:
+ // 1) write back dirty line
+ if (dirty) begin
+ // Address for writeback
+ addr_r <= {tag, lsu_addr[`OR1200_DCINDXH:2],2'd0};
+ load <= 1'b0;
+ store <= 1'b1;
+`ifdef OR1200_VERBOSE
+ $display("%t: dcache miss and dirty", $time);
+`endif
+ end
+ // 2) load requested line
+ else begin
+ addr_r <= lsu_addr;
+ load <= 1'b1;
+ store <= 1'b0;
+ end // else: !if(dirty)
+ state <= `OR1200_DCFSM_LOOP2;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS) - 4);
+ end
+ else if (// Strobe goes low
+ !dcqmem_cycstb_i |
+ // Cycle finishes
+ (!hitmiss_eval & (biudata_valid | biudata_error)) |
+ // Cache hit in first cycle....
+ (hitmiss_eval & !tagcomp_miss & !dcqmem_ci_i &
+ // .. and you're not doing a writethrough store..
+ !(store & writethrough))) begin
+ state <= `OR1200_DCFSM_IDLE;
+ load <= 1'b0;
+ store <= 1'b0;
+ cache_inhibit <= 1'b0;
+ cache_dirty_needs_writeback <= 1'b0;
+ end
+ end // case: `OR1200_DCFSM_CLOADSTORE
+
+ `OR1200_DCFSM_LOOP2 : begin // loop/abort
+ if (!dc_en| biudata_error) begin
+ state <= `OR1200_DCFSM_IDLE;
+ load <= 1'b0;
+ store <= 1'b0;
+ cnt <= `OR1200_DCLS'd0;
+ end
+ if (biudata_valid & (|cnt)) begin
+ cnt <= cnt - 4;
+ addr_r[`OR1200_DCLS-1:2] <= addr_r[`OR1200_DCLS-1:2] + 1;
+ end
+ else if (biudata_valid & !(|cnt)) begin
+ state <= `OR1200_DCFSM_LOOP3;
+ addr_r <= lsu_addr;
+ load <= 1'b0;
+ store <= 1'b0;
+ end
+
+ // Track if we did an early ack during a load
+ if (load_miss_ack)
+ did_early_load_ack <= 1'b1;
+
+
+ end // case: `OR1200_DCFSM_LOOP2
+
+ `OR1200_DCFSM_LOOP3: begin // figure out next step
+ if (cache_dirty_needs_writeback) begin
+ // Just did store of the dirty line so now load new one
+ load <= 1'b1;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS) - 4);
+ // Address of line to be loaded
+ addr_r <= lsu_addr;
+ cache_dirty_needs_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_LOOP2;
+ end // if (cache_dirty_needs_writeback)
+ else if (cache_spr_block_flush | cache_spr_block_writeback) begin
+ // Just wrote back the line to memory, we're finished.
+ cache_spr_block_flush <= 1'b0;
+ cache_spr_block_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_WAITSPRCS7;
+ end
+ else begin
+ // Just loaded a new line, finish up
+ did_early_load_ack <= 1'b0;
+ state <= `OR1200_DCFSM_LOOP4;
+ end
+ end // case: `OR1200_DCFSM_LOOP3
+
+ `OR1200_DCFSM_LOOP4: begin
+ state <= `OR1200_DCFSM_IDLE;
+ end
+
+ `OR1200_DCFSM_FLUSH5: begin
+ hitmiss_eval <= 1'b0;
+ if (hitmiss_eval & !tag_v)
+ begin
+ // Not even cached, just ignore
+ cache_spr_block_flush <= 1'b0;
+ cache_spr_block_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_WAITSPRCS7;
+ end
+ else if (hitmiss_eval & tag_v)
+ begin
+ // Tag is valid - what do we do?
+ if ((cache_spr_block_flush | cache_spr_block_writeback) &
+ dirty) begin
+ // Need to writeback
+ // Address for writeback (spr_dat_i has already changed so
+ // use line number from addr_r)
+ addr_r <= {tag, addr_r[`OR1200_DCINDXH:2],2'd0};
+ load <= 1'b0;
+ store <= 1'b1;
+`ifdef OR1200_VERBOSE
+ $display("%t: block flush: dirty block", $time);
+`endif
+ state <= `OR1200_DCFSM_LOOP2;
+ // Set the counter for the burst accesses
+ cnt <= ((1 << `OR1200_DCLS) - 4);
+ end
+ else if (cache_spr_block_flush & !dirty)
+ begin
+ // Line not dirty, just need to invalidate
+ state <= `OR1200_DCFSM_INV6;
+ end // else: !if(dirty)
+ else if (cache_spr_block_writeback & !dirty)
+ begin
+ // Nothing to do - line is valid but not dirty
+ cache_spr_block_writeback <= 1'b0;
+ state <= `OR1200_DCFSM_WAITSPRCS7;
+ end
+ end // if (hitmiss_eval & tag_v)
+ end
+ `OR1200_DCFSM_INV6: begin
+ cache_spr_block_flush <= 1'b0;
+ // Wait until SPR CS goes low before going back to idle
+ if (!spr_cswe)
+ state <= `OR1200_DCFSM_IDLE;
+ end
+ `OR1200_DCFSM_WAITSPRCS7: begin
+ // Wait until SPR CS goes low before going back to idle
+ if (!spr_cswe)
+ state <= `OR1200_DCFSM_IDLE;
+ end
+
+ endcase // case (state)
+
+ end // always @ (posedge clk or `OR1200_RST_EVENT rst)
+
+
+endmodule
diff --git a/autotests/input/or1200_du.v b/autotests/input/or1200_du.v
new file mode 100644
index 0000000..dbd3614
--- /dev/null
+++ b/autotests/input/or1200_du.v
@@ -0,0 +1,1803 @@
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's Debug Unit ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://www.opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Basic OR1200 debug unit. ////
+//// ////
+//// To Do: ////
+//// - make it smaller and faster ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+//
+// $Log: or1200_du.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+//
+// Debug unit
+//
+
+module or1200_du(
+ // RISC Internal Interface
+ clk, rst,
+ dcpu_cycstb_i, dcpu_we_i, dcpu_adr_i, dcpu_dat_lsu,
+ dcpu_dat_dc, icpu_cycstb_i,
+ ex_freeze, branch_op, ex_insn, id_pc,
+ spr_dat_npc, rf_dataw,
+ du_dsr, du_dmr1, du_stall, du_addr, du_dat_i, du_dat_o,
+ du_read, du_write, du_except_stop, du_hwbkpt, du_flush_pipe,
+ spr_cs, spr_write, spr_addr, spr_dat_i, spr_dat_o,
+
+ // External Debug Interface
+ dbg_stall_i, dbg_ewt_i, dbg_lss_o, dbg_is_o, dbg_wp_o, dbg_bp_o,
+ dbg_stb_i, dbg_we_i, dbg_adr_i, dbg_dat_i, dbg_dat_o, dbg_ack_o
+);
+
+parameter dw = `OR1200_OPERAND_WIDTH;
+parameter aw = `OR1200_OPERAND_WIDTH;
+
+//
+// I/O
+//
+
+//
+// RISC Internal Interface
+//
+input clk; // Clock
+input rst; // Reset
+input dcpu_cycstb_i; // LSU status
+input dcpu_we_i; // LSU status
+input [31:0] dcpu_adr_i; // LSU addr
+input [31:0] dcpu_dat_lsu; // LSU store data
+input [31:0] dcpu_dat_dc; // LSU load data
+input [`OR1200_FETCHOP_WIDTH-1:0] icpu_cycstb_i; // IFETCH unit status
+input ex_freeze; // EX stage freeze
+input [`OR1200_BRANCHOP_WIDTH-1:0] branch_op; // Branch op
+input [dw-1:0] ex_insn; // EX insn
+input [31:0] id_pc; // insn fetch EA
+input [31:0] spr_dat_npc; // Next PC (for trace)
+input [31:0] rf_dataw; // ALU result (for trace)
+output [`OR1200_DU_DSR_WIDTH-1:0] du_dsr; // DSR
+output [24: 0] du_dmr1;
+output du_stall; // Debug Unit Stall
+output [aw-1:0] du_addr; // Debug Unit Address
+input [dw-1:0] du_dat_i; // Debug Unit Data In
+output [dw-1:0] du_dat_o; // Debug Unit Data Out
+output du_read; // Debug Unit Read Enable
+output du_write; // Debug Unit Write Enable
+input [13:0] du_except_stop; // Exception masked by DSR
+output du_hwbkpt; // Cause trap exception (HW Breakpoints)
+output du_flush_pipe; // Cause pipeline flush and pc<-npc
+input spr_cs; // SPR Chip Select
+input spr_write; // SPR Read/Write
+input [aw-1:0] spr_addr; // SPR Address
+input [dw-1:0] spr_dat_i; // SPR Data Input
+output [dw-1:0] spr_dat_o; // SPR Data Output
+
+//
+// External Debug Interface
+//
+input dbg_stall_i; // External Stall Input
+input dbg_ewt_i; // External Watchpoint Trigger Input
+output [3:0] dbg_lss_o; // External Load/Store Unit Status
+output [1:0] dbg_is_o; // External Insn Fetch Status
+output [10:0] dbg_wp_o; // Watchpoints Outputs
+output dbg_bp_o; // Breakpoint Output
+input dbg_stb_i; // External Address/Data Strobe
+input dbg_we_i; // External Write Enable
+input [aw-1:0] dbg_adr_i; // External Address Input
+input [dw-1:0] dbg_dat_i; // External Data Input
+output [dw-1:0] dbg_dat_o; // External Data Output
+output dbg_ack_o; // External Data Acknowledge (not WB compatible)
+reg [dw-1:0] dbg_dat_o; // External Data Output
+reg dbg_ack_o; // External Data Acknowledge (not WB compatible)
+
+
+//
+// Some connections go directly from the CPU through DU to Debug I/F
+//
+`ifdef OR1200_DU_STATUS_UNIMPLEMENTED
+assign dbg_lss_o = 4'b0000;
+
+reg [1:0] dbg_is_o;
+//
+// Show insn activity (temp, must be removed)
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dbg_is_o <= 2'b00;
+ else if (!ex_freeze & ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[16]))
+ dbg_is_o <= ~dbg_is_o;
+`ifdef UNUSED
+assign dbg_is_o = 2'b00;
+`endif
+`else
+assign dbg_lss_o = dcpu_cycstb_i ? {dcpu_we_i, 3'b000} : 4'b0000;
+assign dbg_is_o = {1'b0, icpu_cycstb_i};
+`endif
+assign dbg_wp_o = 11'b000_0000_0000;
+
+//
+// Some connections go directly from Debug I/F through DU to the CPU
+//
+assign du_stall = dbg_stall_i;
+assign du_addr = dbg_adr_i;
+assign du_dat_o = dbg_dat_i;
+assign du_read = dbg_stb_i && !dbg_we_i;
+assign du_write = dbg_stb_i && dbg_we_i;
+
+//
+// After a sw breakpoint, the replaced instruction need to be executed.
+// We flush the entire pipeline and set the pc to the current address
+// to execute the restored address.
+//
+
+reg du_flush_pipe_r;
+reg dbg_stall_i_r;
+
+assign du_flush_pipe = du_flush_pipe_r;
+
+//
+// Register du_flush_pipe
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ du_flush_pipe_r <= 1'b0;
+ end
+ else begin
+ du_flush_pipe_r <= (dbg_stall_i_r && !dbg_stall_i && |du_except_stop);
+ end
+end
+
+//
+// Detect dbg_stall falling edge
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ dbg_stall_i_r <= 1'b0;
+ end
+ else begin
+ dbg_stall_i_r <= dbg_stall_i;
+ end
+end
+
+reg dbg_ack;
+//
+// Generate acknowledge -- just delay stb signal
+//
+always @(posedge clk or `OR1200_RST_EVENT rst) begin
+ if (rst == `OR1200_RST_VALUE) begin
+ dbg_ack <= 1'b0;
+ dbg_ack_o <= 1'b0;
+ end
+ else begin
+ dbg_ack <= dbg_stb_i; // valid when du_dat_i
+ dbg_ack_o <= dbg_ack & dbg_stb_i; // valid when dbg_dat_o
+ end
+end
+
+//
+// Register data output
+//
+always @(posedge clk)
+ dbg_dat_o <= du_dat_i;
+
+`ifdef OR1200_DU_IMPLEMENTED
+
+//
+// Debug Mode Register 1
+//
+`ifdef OR1200_DU_DMR1
+reg [24:0] dmr1; // DMR1 implemented
+`else
+wire [24:0] dmr1; // DMR1 not implemented
+`endif
+assign du_dmr1 = dmr1;
+
+//
+// Debug Mode Register 2
+//
+`ifdef OR1200_DU_DMR2
+reg [23:0] dmr2; // DMR2 implemented
+`else
+wire [23:0] dmr2; // DMR2 not implemented
+`endif
+
+//
+// Debug Stop Register
+//
+`ifdef OR1200_DU_DSR
+reg [`OR1200_DU_DSR_WIDTH-1:0] dsr; // DSR implemented
+`else
+wire [`OR1200_DU_DSR_WIDTH-1:0] dsr; // DSR not implemented
+`endif
+
+//
+// Debug Reason Register
+//
+`ifdef OR1200_DU_DRR
+reg [13:0] drr; // DRR implemented
+`else
+wire [13:0] drr; // DRR not implemented
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR0
+reg [31:0] dvr0;
+`else
+wire [31:0] dvr0;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR1
+reg [31:0] dvr1;
+`else
+wire [31:0] dvr1;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR2
+reg [31:0] dvr2;
+`else
+wire [31:0] dvr2;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR3
+reg [31:0] dvr3;
+`else
+wire [31:0] dvr3;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR4
+reg [31:0] dvr4;
+`else
+wire [31:0] dvr4;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR5
+reg [31:0] dvr5;
+`else
+wire [31:0] dvr5;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR6
+reg [31:0] dvr6;
+`else
+wire [31:0] dvr6;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR7
+reg [31:0] dvr7;
+`else
+wire [31:0] dvr7;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR0
+reg [7:0] dcr0;
+`else
+wire [7:0] dcr0;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR1
+reg [7:0] dcr1;
+`else
+wire [7:0] dcr1;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR2
+reg [7:0] dcr2;
+`else
+wire [7:0] dcr2;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR3
+reg [7:0] dcr3;
+`else
+wire [7:0] dcr3;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR4
+reg [7:0] dcr4;
+`else
+wire [7:0] dcr4;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR5
+reg [7:0] dcr5;
+`else
+wire [7:0] dcr5;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR6
+reg [7:0] dcr6;
+`else
+wire [7:0] dcr6;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR7
+reg [7:0] dcr7;
+`else
+wire [7:0] dcr7;
+`endif
+
+//
+// Debug Watchpoint Counter Register 0
+//
+`ifdef OR1200_DU_DWCR0
+reg [31:0] dwcr0;
+`else
+wire [31:0] dwcr0;
+`endif
+
+//
+// Debug Watchpoint Counter Register 1
+//
+`ifdef OR1200_DU_DWCR1
+reg [31:0] dwcr1;
+`else
+wire [31:0] dwcr1;
+`endif
+
+//
+// Internal wires
+//
+wire dmr1_sel; // DMR1 select
+wire dmr2_sel; // DMR2 select
+wire dsr_sel; // DSR select
+wire drr_sel; // DRR select
+wire dvr0_sel,
+ dvr1_sel,
+ dvr2_sel,
+ dvr3_sel,
+ dvr4_sel,
+ dvr5_sel,
+ dvr6_sel,
+ dvr7_sel; // DVR selects
+wire dcr0_sel,
+ dcr1_sel,
+ dcr2_sel,
+ dcr3_sel,
+ dcr4_sel,
+ dcr5_sel,
+ dcr6_sel,
+ dcr7_sel; // DCR selects
+wire dwcr0_sel,
+ dwcr1_sel; // DWCR selects
+reg dbg_bp_r;
+reg ex_freeze_q;
+`ifdef OR1200_DU_HWBKPTS
+reg [31:0] match_cond0_ct;
+reg [31:0] match_cond1_ct;
+reg [31:0] match_cond2_ct;
+reg [31:0] match_cond3_ct;
+reg [31:0] match_cond4_ct;
+reg [31:0] match_cond5_ct;
+reg [31:0] match_cond6_ct;
+reg [31:0] match_cond7_ct;
+reg match_cond0_stb;
+reg match_cond1_stb;
+reg match_cond2_stb;
+reg match_cond3_stb;
+reg match_cond4_stb;
+reg match_cond5_stb;
+reg match_cond6_stb;
+reg match_cond7_stb;
+reg match0;
+reg match1;
+reg match2;
+reg match3;
+reg match4;
+reg match5;
+reg match6;
+reg match7;
+reg wpcntr0_match;
+reg wpcntr1_match;
+reg incr_wpcntr0;
+reg incr_wpcntr1;
+reg [10:0] wp;
+`endif
+wire du_hwbkpt;
+reg du_hwbkpt_hold;
+`ifdef OR1200_DU_READREGS
+reg [31:0] spr_dat_o;
+`endif
+reg [13:0] except_stop; // Exceptions that stop because of DSR
+`ifdef OR1200_DU_TB_IMPLEMENTED
+wire tb_enw;
+reg [7:0] tb_wadr;
+reg [31:0] tb_timstmp;
+`endif
+wire [31:0] tbia_dat_o;
+wire [31:0] tbim_dat_o;
+wire [31:0] tbar_dat_o;
+wire [31:0] tbts_dat_o;
+
+//
+// DU registers address decoder
+//
+`ifdef OR1200_DU_DMR1
+assign dmr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DMR1));
+`endif
+`ifdef OR1200_DU_DMR2
+assign dmr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DMR2));
+`endif
+`ifdef OR1200_DU_DSR
+assign dsr_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DSR));
+`endif
+`ifdef OR1200_DU_DRR
+assign drr_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DRR));
+`endif
+`ifdef OR1200_DU_DVR0
+assign dvr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR0));
+`endif
+`ifdef OR1200_DU_DVR1
+assign dvr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR1));
+`endif
+`ifdef OR1200_DU_DVR2
+assign dvr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR2));
+`endif
+`ifdef OR1200_DU_DVR3
+assign dvr3_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR3));
+`endif
+`ifdef OR1200_DU_DVR4
+assign dvr4_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR4));
+`endif
+`ifdef OR1200_DU_DVR5
+assign dvr5_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR5));
+`endif
+`ifdef OR1200_DU_DVR6
+assign dvr6_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR6));
+`endif
+`ifdef OR1200_DU_DVR7
+assign dvr7_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DVR7));
+`endif
+`ifdef OR1200_DU_DCR0
+assign dcr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR0));
+`endif
+`ifdef OR1200_DU_DCR1
+assign dcr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR1));
+`endif
+`ifdef OR1200_DU_DCR2
+assign dcr2_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR2));
+`endif
+`ifdef OR1200_DU_DCR3
+assign dcr3_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR3));
+`endif
+`ifdef OR1200_DU_DCR4
+assign dcr4_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR4));
+`endif
+`ifdef OR1200_DU_DCR5
+assign dcr5_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR5));
+`endif
+`ifdef OR1200_DU_DCR6
+assign dcr6_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR6));
+`endif
+`ifdef OR1200_DU_DCR7
+assign dcr7_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DCR7));
+`endif
+`ifdef OR1200_DU_DWCR0
+assign dwcr0_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DWCR0));
+`endif
+`ifdef OR1200_DU_DWCR1
+assign dwcr1_sel = (spr_cs && (spr_addr[`OR1200_DUOFS_BITS] == `OR1200_DU_DWCR1));
+`endif
+
+// Track previous ex_freeze to detect when signals are updated
+always @(posedge clk)
+ ex_freeze_q <= ex_freeze;
+
+//
+// Decode started exception
+//
+// du_except_stop comes from or1200_except
+//
+always @(du_except_stop or ex_freeze_q) begin
+ except_stop = 14'b00_0000_0000_0000;
+ casez (du_except_stop)
+ 14'b1?_????_????_????:
+ except_stop[`OR1200_DU_DRR_TTE] = 1'b1;
+ 14'b01_????_????_????: begin
+ except_stop[`OR1200_DU_DRR_IE] = 1'b1;
+ end
+ 14'b00_1???_????_????: begin
+ except_stop[`OR1200_DU_DRR_IME] = 1'b1;
+ end
+ 14'b00_01??_????_????:
+ except_stop[`OR1200_DU_DRR_IPFE] = 1'b1;
+ 14'b00_001?_????_????: begin
+ except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
+ end
+ 14'b00_0001_????_????:
+ except_stop[`OR1200_DU_DRR_IIE] = 1'b1;
+ 14'b00_0000_1???_????: begin
+ except_stop[`OR1200_DU_DRR_AE] = 1'b1;
+ end
+ 14'b00_0000_01??_????: begin
+ except_stop[`OR1200_DU_DRR_DME] = 1'b1;
+ end
+ 14'b00_0000_001?_????:
+ except_stop[`OR1200_DU_DRR_DPFE] = 1'b1;
+ 14'b00_0000_0001_????:
+ except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
+ 14'b00_0000_0000_1???: begin
+ except_stop[`OR1200_DU_DRR_RE] = 1'b1;
+ end
+ 14'b00_0000_0000_01??: begin
+ except_stop[`OR1200_DU_DRR_TE] = 1'b1 & ~ex_freeze_q;
+ end
+ 14'b00_0000_0000_001?: begin
+ except_stop[`OR1200_DU_DRR_FPE] = 1'b1;
+ end
+ 14'b00_0000_0000_0001:
+ except_stop[`OR1200_DU_DRR_SCE] = 1'b1 & ~ex_freeze_q;
+ default:
+ except_stop = 14'b00_0000_0000_0000;
+ endcase // casez (du_except_stop)
+end
+
+//
+// dbg_bp_o is registered
+//
+assign dbg_bp_o = dbg_bp_r;
+
+//
+// Breakpoint activation register
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dbg_bp_r <= 1'b0;
+ else if (!ex_freeze)
+ dbg_bp_r <= |except_stop
+`ifdef OR1200_DU_DMR1_ST
+ | ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[16]) & dmr1[`OR1200_DU_DMR1_ST]
+`endif
+`ifdef OR1200_DU_DMR1_BT
+ | (branch_op != `OR1200_BRANCHOP_NOP) & (branch_op != `OR1200_BRANCHOP_RFE) & dmr1[`OR1200_DU_DMR1_BT]
+`endif
+ ;
+ else
+ dbg_bp_r <= |except_stop;
+
+//
+// Write to DMR1
+//
+`ifdef OR1200_DU_DMR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dmr1 <= 25'h000_0000;
+ else if (dmr1_sel && spr_write)
+`ifdef OR1200_DU_HWBKPTS
+ dmr1 <= spr_dat_i[24:0];
+`else
+ dmr1 <= {1'b0, spr_dat_i[23:22], 22'h00_0000};
+`endif
+`else
+assign dmr1 = 25'h000_0000;
+`endif
+
+//
+// Write to DMR2
+//
+`ifdef OR1200_DU_DMR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dmr2 <= 24'h00_0000;
+ else if (dmr2_sel && spr_write)
+ dmr2 <= spr_dat_i[23:0];
+`else
+assign dmr2 = 24'h00_0000;
+`endif
+
+//
+// Write to DSR
+//
+`ifdef OR1200_DU_DSR
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dsr <= {`OR1200_DU_DSR_WIDTH{1'b0}};
+ else if (dsr_sel && spr_write)
+ dsr <= spr_dat_i[`OR1200_DU_DSR_WIDTH-1:0];
+`else
+assign dsr = {`OR1200_DU_DSR_WIDTH{1'b0}};
+`endif
+
+//
+// Write to DRR
+//
+`ifdef OR1200_DU_DRR
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ drr <= 14'b0;
+ else if (drr_sel && spr_write)
+ drr <= spr_dat_i[13:0];
+ else
+ drr <= drr | except_stop;
+`else
+assign drr = 14'b0;
+`endif
+
+//
+// Write to DVR0
+//
+`ifdef OR1200_DU_DVR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr0 <= 32'h0000_0000;
+ else if (dvr0_sel && spr_write)
+ dvr0 <= spr_dat_i[31:0];
+`else
+assign dvr0 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR1
+//
+`ifdef OR1200_DU_DVR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr1 <= 32'h0000_0000;
+ else if (dvr1_sel && spr_write)
+ dvr1 <= spr_dat_i[31:0];
+`else
+assign dvr1 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR2
+//
+`ifdef OR1200_DU_DVR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr2 <= 32'h0000_0000;
+ else if (dvr2_sel && spr_write)
+ dvr2 <= spr_dat_i[31:0];
+`else
+assign dvr2 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR3
+//
+`ifdef OR1200_DU_DVR3
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr3 <= 32'h0000_0000;
+ else if (dvr3_sel && spr_write)
+ dvr3 <= spr_dat_i[31:0];
+`else
+assign dvr3 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR4
+//
+`ifdef OR1200_DU_DVR4
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr4 <= 32'h0000_0000;
+ else if (dvr4_sel && spr_write)
+ dvr4 <= spr_dat_i[31:0];
+`else
+assign dvr4 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR5
+//
+`ifdef OR1200_DU_DVR5
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr5 <= 32'h0000_0000;
+ else if (dvr5_sel && spr_write)
+ dvr5 <= spr_dat_i[31:0];
+`else
+assign dvr5 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR6
+//
+`ifdef OR1200_DU_DVR6
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr6 <= 32'h0000_0000;
+ else if (dvr6_sel && spr_write)
+ dvr6 <= spr_dat_i[31:0];
+`else
+assign dvr6 = 32'h0000_0000;
+`endif
+
+//
+// Write to DVR7
+//
+`ifdef OR1200_DU_DVR7
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dvr7 <= 32'h0000_0000;
+ else if (dvr7_sel && spr_write)
+ dvr7 <= spr_dat_i[31:0];
+`else
+assign dvr7 = 32'h0000_0000;
+`endif
+
+//
+// Write to DCR0
+//
+`ifdef OR1200_DU_DCR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr0 <= 8'h00;
+ else if (dcr0_sel && spr_write)
+ dcr0 <= spr_dat_i[7:0];
+`else
+assign dcr0 = 8'h00;
+`endif
+
+//
+// Write to DCR1
+//
+`ifdef OR1200_DU_DCR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr1 <= 8'h00;
+ else if (dcr1_sel && spr_write)
+ dcr1 <= spr_dat_i[7:0];
+`else
+assign dcr1 = 8'h00;
+`endif
+
+//
+// Write to DCR2
+//
+`ifdef OR1200_DU_DCR2
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr2 <= 8'h00;
+ else if (dcr2_sel && spr_write)
+ dcr2 <= spr_dat_i[7:0];
+`else
+assign dcr2 = 8'h00;
+`endif
+
+//
+// Write to DCR3
+//
+`ifdef OR1200_DU_DCR3
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr3 <= 8'h00;
+ else if (dcr3_sel && spr_write)
+ dcr3 <= spr_dat_i[7:0];
+`else
+assign dcr3 = 8'h00;
+`endif
+
+//
+// Write to DCR4
+//
+`ifdef OR1200_DU_DCR4
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr4 <= 8'h00;
+ else if (dcr4_sel && spr_write)
+ dcr4 <= spr_dat_i[7:0];
+`else
+assign dcr4 = 8'h00;
+`endif
+
+//
+// Write to DCR5
+//
+`ifdef OR1200_DU_DCR5
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr5 <= 8'h00;
+ else if (dcr5_sel && spr_write)
+ dcr5 <= spr_dat_i[7:0];
+`else
+assign dcr5 = 8'h00;
+`endif
+
+//
+// Write to DCR6
+//
+`ifdef OR1200_DU_DCR6
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr6 <= 8'h00;
+ else if (dcr6_sel && spr_write)
+ dcr6 <= spr_dat_i[7:0];
+`else
+assign dcr6 = 8'h00;
+`endif
+
+//
+// Write to DCR7
+//
+`ifdef OR1200_DU_DCR7
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dcr7 <= 8'h00;
+ else if (dcr7_sel && spr_write)
+ dcr7 <= spr_dat_i[7:0];
+`else
+assign dcr7 = 8'h00;
+`endif
+
+//
+// Write to DWCR0
+//
+`ifdef OR1200_DU_DWCR0
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dwcr0 <= 32'h0000_0000;
+ else if (dwcr0_sel && spr_write)
+ dwcr0 <= spr_dat_i[31:0];
+ else if (incr_wpcntr0)
+ dwcr0[`OR1200_DU_DWCR_COUNT] <= dwcr0[`OR1200_DU_DWCR_COUNT] + 16'h0001;
+`else
+assign dwcr0 = 32'h0000_0000;
+`endif
+
+//
+// Write to DWCR1
+//
+`ifdef OR1200_DU_DWCR1
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ dwcr1 <= 32'h0000_0000;
+ else if (dwcr1_sel && spr_write)
+ dwcr1 <= spr_dat_i[31:0];
+ else if (incr_wpcntr1)
+ dwcr1[`OR1200_DU_DWCR_COUNT] <= dwcr1[`OR1200_DU_DWCR_COUNT] + 16'h0001;
+`else
+assign dwcr1 = 32'h0000_0000;
+`endif
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+always @(spr_addr or dsr or drr or dmr1 or dmr2
+ or dvr0 or dvr1 or dvr2 or dvr3 or dvr4
+ or dvr5 or dvr6 or dvr7
+ or dcr0 or dcr1 or dcr2 or dcr3 or dcr4
+ or dcr5 or dcr6 or dcr7
+ or dwcr0 or dwcr1
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ or tb_wadr or tbia_dat_o or tbim_dat_o
+ or tbar_dat_o or tbts_dat_o
+`endif
+ )
+ casez (spr_addr[`OR1200_DUOFS_BITS]) // synopsys parallel_case
+`ifdef OR1200_DU_DVR0
+ `OR1200_DU_DVR0:
+ spr_dat_o = dvr0;
+`endif
+`ifdef OR1200_DU_DVR1
+ `OR1200_DU_DVR1:
+ spr_dat_o = dvr1;
+`endif
+`ifdef OR1200_DU_DVR2
+ `OR1200_DU_DVR2:
+ spr_dat_o = dvr2;
+`endif
+`ifdef OR1200_DU_DVR3
+ `OR1200_DU_DVR3:
+ spr_dat_o = dvr3;
+`endif
+`ifdef OR1200_DU_DVR4
+ `OR1200_DU_DVR4:
+ spr_dat_o = dvr4;
+`endif
+`ifdef OR1200_DU_DVR5
+ `OR1200_DU_DVR5:
+ spr_dat_o = dvr5;
+`endif
+`ifdef OR1200_DU_DVR6
+ `OR1200_DU_DVR6:
+ spr_dat_o = dvr6;
+`endif
+`ifdef OR1200_DU_DVR7
+ `OR1200_DU_DVR7:
+ spr_dat_o = dvr7;
+`endif
+`ifdef OR1200_DU_DCR0
+ `OR1200_DU_DCR0:
+ spr_dat_o = {24'h00_0000, dcr0};
+`endif
+`ifdef OR1200_DU_DCR1
+ `OR1200_DU_DCR1:
+ spr_dat_o = {24'h00_0000, dcr1};
+`endif
+`ifdef OR1200_DU_DCR2
+ `OR1200_DU_DCR2:
+ spr_dat_o = {24'h00_0000, dcr2};
+`endif
+`ifdef OR1200_DU_DCR3
+ `OR1200_DU_DCR3:
+ spr_dat_o = {24'h00_0000, dcr3};
+`endif
+`ifdef OR1200_DU_DCR4
+ `OR1200_DU_DCR4:
+ spr_dat_o = {24'h00_0000, dcr4};
+`endif
+`ifdef OR1200_DU_DCR5
+ `OR1200_DU_DCR5:
+ spr_dat_o = {24'h00_0000, dcr5};
+`endif
+`ifdef OR1200_DU_DCR6
+ `OR1200_DU_DCR6:
+ spr_dat_o = {24'h00_0000, dcr6};
+`endif
+`ifdef OR1200_DU_DCR7
+ `OR1200_DU_DCR7:
+ spr_dat_o = {24'h00_0000, dcr7};
+`endif
+`ifdef OR1200_DU_DMR1
+ `OR1200_DU_DMR1:
+ spr_dat_o = {7'h00, dmr1};
+`endif
+`ifdef OR1200_DU_DMR2
+ `OR1200_DU_DMR2:
+ spr_dat_o = {8'h00, dmr2};
+`endif
+`ifdef OR1200_DU_DWCR0
+ `OR1200_DU_DWCR0:
+ spr_dat_o = dwcr0;
+`endif
+`ifdef OR1200_DU_DWCR1
+ `OR1200_DU_DWCR1:
+ spr_dat_o = dwcr1;
+`endif
+`ifdef OR1200_DU_DSR
+ `OR1200_DU_DSR:
+ spr_dat_o = {18'b0, dsr};
+`endif
+`ifdef OR1200_DU_DRR
+ `OR1200_DU_DRR:
+ spr_dat_o = {18'b0, drr};
+`endif
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ `OR1200_DU_TBADR:
+ spr_dat_o = {24'h000000, tb_wadr};
+ `OR1200_DU_TBIA:
+ spr_dat_o = tbia_dat_o;
+ `OR1200_DU_TBIM:
+ spr_dat_o = tbim_dat_o;
+ `OR1200_DU_TBAR:
+ spr_dat_o = tbar_dat_o;
+ `OR1200_DU_TBTS:
+ spr_dat_o = tbts_dat_o;
+`endif
+ default:
+ spr_dat_o = 32'h0000_0000;
+ endcase
+`endif
+
+//
+// DSR alias
+//
+assign du_dsr = dsr;
+
+`ifdef OR1200_DU_HWBKPTS
+
+//
+// Compare To What (Match Condition 0)
+//
+always @(dcr0 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr0[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond0_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond0_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond0_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond0_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond0_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond0_ct = dcpu_adr_i; // load/store EA
+ default:match_cond0_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 0)
+//
+always @(dcr0 or dcpu_cycstb_i)
+ case (dcr0[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond0_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond0_stb = 1'b1; // insn fetch EA
+ default:match_cond0_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 0
+//
+always @(match_cond0_stb or dcr0 or dvr0 or match_cond0_ct)
+ casex ({match_cond0_stb, dcr0[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match0 = 1'b0;
+ 4'b1_001: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} ==
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_010: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} <
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_011: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} <=
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_100: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} >
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_101: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} >=
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ 4'b1_110: match0 =
+ ({(match_cond0_ct[31] ^ dcr0[`OR1200_DU_DCR_SC]), match_cond0_ct[30:0]} !=
+ {(dvr0[31] ^ dcr0[`OR1200_DU_DCR_SC]), dvr0[30:0]});
+ endcase
+
+//
+// Watchpoint 0
+//
+always @(dmr1 or match0)
+ case (dmr1[`OR1200_DU_DMR1_CW0])
+ 2'b00: wp[0] = match0;
+ 2'b01: wp[0] = match0;
+ 2'b10: wp[0] = match0;
+ 2'b11: wp[0] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 1)
+//
+always @(dcr1 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr1[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond1_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond1_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond1_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond1_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond1_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond1_ct = dcpu_adr_i; // load/store EA
+ default:match_cond1_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 1)
+//
+always @(dcr1 or dcpu_cycstb_i)
+ case (dcr1[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond1_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond1_stb = 1'b1; // insn fetch EA
+ default:match_cond1_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 1
+//
+always @(match_cond1_stb or dcr1 or dvr1 or match_cond1_ct)
+ casex ({match_cond1_stb, dcr1[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match1 = 1'b0;
+ 4'b1_001: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} ==
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_010: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} <
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_011: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} <=
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_100: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} >
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_101: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} >=
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ 4'b1_110: match1 =
+ ({(match_cond1_ct[31] ^ dcr1[`OR1200_DU_DCR_SC]), match_cond1_ct[30:0]} !=
+ {(dvr1[31] ^ dcr1[`OR1200_DU_DCR_SC]), dvr1[30:0]});
+ endcase
+
+//
+// Watchpoint 1
+//
+always @(dmr1 or match1 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW1])
+ 2'b00: wp[1] = match1;
+ 2'b01: wp[1] = match1 & wp[0];
+ 2'b10: wp[1] = match1 | wp[0];
+ 2'b11: wp[1] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 2)
+//
+always @(dcr2 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr2[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond2_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond2_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond2_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond2_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond2_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond2_ct = dcpu_adr_i; // load/store EA
+ default:match_cond2_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 2)
+//
+always @(dcr2 or dcpu_cycstb_i)
+ case (dcr2[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond2_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond2_stb = 1'b1; // insn fetch EA
+ default:match_cond2_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 2
+//
+always @(match_cond2_stb or dcr2 or dvr2 or match_cond2_ct)
+ casex ({match_cond2_stb, dcr2[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match2 = 1'b0;
+ 4'b1_001: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} ==
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_010: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} <
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_011: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} <=
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_100: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} >
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_101: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} >=
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ 4'b1_110: match2 =
+ ({(match_cond2_ct[31] ^ dcr2[`OR1200_DU_DCR_SC]), match_cond2_ct[30:0]} !=
+ {(dvr2[31] ^ dcr2[`OR1200_DU_DCR_SC]), dvr2[30:0]});
+ endcase
+
+//
+// Watchpoint 2
+//
+always @(dmr1 or match2 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW2])
+ 2'b00: wp[2] = match2;
+ 2'b01: wp[2] = match2 & wp[1];
+ 2'b10: wp[2] = match2 | wp[1];
+ 2'b11: wp[2] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 3)
+//
+always @(dcr3 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr3[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond3_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond3_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond3_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond3_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond3_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond3_ct = dcpu_adr_i; // load/store EA
+ default:match_cond3_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 3)
+//
+always @(dcr3 or dcpu_cycstb_i)
+ case (dcr3[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond3_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond3_stb = 1'b1; // insn fetch EA
+ default:match_cond3_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 3
+//
+always @(match_cond3_stb or dcr3 or dvr3 or match_cond3_ct)
+ casex ({match_cond3_stb, dcr3[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match3 = 1'b0;
+ 4'b1_001: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} ==
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_010: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} <
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_011: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} <=
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_100: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} >
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_101: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} >=
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ 4'b1_110: match3 =
+ ({(match_cond3_ct[31] ^ dcr3[`OR1200_DU_DCR_SC]), match_cond3_ct[30:0]} !=
+ {(dvr3[31] ^ dcr3[`OR1200_DU_DCR_SC]), dvr3[30:0]});
+ endcase
+
+//
+// Watchpoint 3
+//
+always @(dmr1 or match3 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW3])
+ 2'b00: wp[3] = match3;
+ 2'b01: wp[3] = match3 & wp[2];
+ 2'b10: wp[3] = match3 | wp[2];
+ 2'b11: wp[3] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 4)
+//
+always @(dcr4 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr4[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond4_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond4_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond4_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond4_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond4_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond4_ct = dcpu_adr_i; // load/store EA
+ default:match_cond4_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 4)
+//
+always @(dcr4 or dcpu_cycstb_i)
+ case (dcr4[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond4_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond4_stb = 1'b1; // insn fetch EA
+ default:match_cond4_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 4
+//
+always @(match_cond4_stb or dcr4 or dvr4 or match_cond4_ct)
+ casex ({match_cond4_stb, dcr4[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match4 = 1'b0;
+ 4'b1_001: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} ==
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_010: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} <
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_011: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} <=
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_100: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} >
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_101: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} >=
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ 4'b1_110: match4 =
+ ({(match_cond4_ct[31] ^ dcr4[`OR1200_DU_DCR_SC]), match_cond4_ct[30:0]} !=
+ {(dvr4[31] ^ dcr4[`OR1200_DU_DCR_SC]), dvr4[30:0]});
+ endcase
+
+//
+// Watchpoint 4
+//
+always @(dmr1 or match4 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW4])
+ 2'b00: wp[4] = match4;
+ 2'b01: wp[4] = match4 & wp[3];
+ 2'b10: wp[4] = match4 | wp[3];
+ 2'b11: wp[4] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 5)
+//
+always @(dcr5 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr5[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond5_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond5_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond5_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond5_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond5_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond5_ct = dcpu_adr_i; // load/store EA
+ default:match_cond5_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 5)
+//
+always @(dcr5 or dcpu_cycstb_i)
+ case (dcr5[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond5_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond5_stb = 1'b1; // insn fetch EA
+ default:match_cond5_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 5
+//
+always @(match_cond5_stb or dcr5 or dvr5 or match_cond5_ct)
+ casex ({match_cond5_stb, dcr5[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match5 = 1'b0;
+ 4'b1_001: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} ==
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_010: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} <
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_011: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} <=
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_100: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} >
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_101: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} >=
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ 4'b1_110: match5 =
+ ({(match_cond5_ct[31] ^ dcr5[`OR1200_DU_DCR_SC]), match_cond5_ct[30:0]} !=
+ {(dvr5[31] ^ dcr5[`OR1200_DU_DCR_SC]), dvr5[30:0]});
+ endcase
+
+//
+// Watchpoint 5
+//
+always @(dmr1 or match5 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW5])
+ 2'b00: wp[5] = match5;
+ 2'b01: wp[5] = match5 & wp[4];
+ 2'b10: wp[5] = match5 | wp[4];
+ 2'b11: wp[5] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 6)
+//
+always @(dcr6 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr6[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond6_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond6_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond6_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond6_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond6_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond6_ct = dcpu_adr_i; // load/store EA
+ default:match_cond6_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 6)
+//
+always @(dcr6 or dcpu_cycstb_i)
+ case (dcr6[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond6_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond6_stb = 1'b1; // insn fetch EA
+ default:match_cond6_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 6
+//
+always @(match_cond6_stb or dcr6 or dvr6 or match_cond6_ct)
+ casex ({match_cond6_stb, dcr6[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match6 = 1'b0;
+ 4'b1_001: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} ==
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_010: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} <
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_011: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} <=
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_100: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} >
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_101: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} >=
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ 4'b1_110: match6 =
+ ({(match_cond6_ct[31] ^ dcr6[`OR1200_DU_DCR_SC]), match_cond6_ct[30:0]} !=
+ {(dvr6[31] ^ dcr6[`OR1200_DU_DCR_SC]), dvr6[30:0]});
+ endcase
+
+//
+// Watchpoint 6
+//
+always @(dmr1 or match6 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW6])
+ 2'b00: wp[6] = match6;
+ 2'b01: wp[6] = match6 & wp[5];
+ 2'b10: wp[6] = match6 | wp[5];
+ 2'b11: wp[6] = 1'b0;
+ endcase
+
+//
+// Compare To What (Match Condition 7)
+//
+always @(dcr7 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i)
+ case (dcr7[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b001: match_cond7_ct = id_pc; // insn fetch EA
+ 3'b010: match_cond7_ct = dcpu_adr_i; // load EA
+ 3'b011: match_cond7_ct = dcpu_adr_i; // store EA
+ 3'b100: match_cond7_ct = dcpu_dat_dc; // load data
+ 3'b101: match_cond7_ct = dcpu_dat_lsu; // store data
+ 3'b110: match_cond7_ct = dcpu_adr_i; // load/store EA
+ default:match_cond7_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc;
+ endcase
+
+//
+// When To Compare (Match Condition 7)
+//
+always @(dcr7 or dcpu_cycstb_i)
+ case (dcr7[`OR1200_DU_DCR_CT]) // synopsys parallel_case
+ 3'b000: match_cond7_stb = 1'b0; //comparison disabled
+ 3'b001: match_cond7_stb = 1'b1; // insn fetch EA
+ default:match_cond7_stb = dcpu_cycstb_i; // any load/store
+ endcase
+
+//
+// Match Condition 7
+//
+always @(match_cond7_stb or dcr7 or dvr7 or match_cond7_ct)
+ casex ({match_cond7_stb, dcr7[`OR1200_DU_DCR_CC]})
+ 4'b0_xxx,
+ 4'b1_000,
+ 4'b1_111: match7 = 1'b0;
+ 4'b1_001: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} ==
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_010: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} <
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_011: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} <=
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_100: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} >
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_101: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} >=
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ 4'b1_110: match7 =
+ ({(match_cond7_ct[31] ^ dcr7[`OR1200_DU_DCR_SC]), match_cond7_ct[30:0]} !=
+ {(dvr7[31] ^ dcr7[`OR1200_DU_DCR_SC]), dvr7[30:0]});
+ endcase
+
+//
+// Watchpoint 7
+//
+always @(dmr1 or match7 or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW7])
+ 2'b00: wp[7] = match7;
+ 2'b01: wp[7] = match7 & wp[6];
+ 2'b10: wp[7] = match7 | wp[6];
+ 2'b11: wp[7] = 1'b0;
+ endcase
+
+//
+// Increment Watchpoint Counter 0
+//
+always @(wp or dmr2)
+ if (dmr2[`OR1200_DU_DMR2_WCE0])
+ incr_wpcntr0 = |(wp & ~dmr2[`OR1200_DU_DMR2_AWTC]);
+ else
+ incr_wpcntr0 = 1'b0;
+
+//
+// Match Condition Watchpoint Counter 0
+//
+always @(dwcr0)
+ if (dwcr0[`OR1200_DU_DWCR_MATCH] == dwcr0[`OR1200_DU_DWCR_COUNT])
+ wpcntr0_match = 1'b1;
+ else
+ wpcntr0_match = 1'b0;
+
+
+//
+// Watchpoint 8
+//
+always @(dmr1 or wpcntr0_match or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW8])
+ 2'b00: wp[8] = wpcntr0_match;
+ 2'b01: wp[8] = wpcntr0_match & wp[7];
+ 2'b10: wp[8] = wpcntr0_match | wp[7];
+ 2'b11: wp[8] = 1'b0;
+ endcase
+
+
+//
+// Increment Watchpoint Counter 1
+//
+always @(wp or dmr2)
+ if (dmr2[`OR1200_DU_DMR2_WCE1])
+ incr_wpcntr1 = |(wp & dmr2[`OR1200_DU_DMR2_AWTC]);
+ else
+ incr_wpcntr1 = 1'b0;
+
+//
+// Match Condition Watchpoint Counter 1
+//
+always @(dwcr1)
+ if (dwcr1[`OR1200_DU_DWCR_MATCH] == dwcr1[`OR1200_DU_DWCR_COUNT])
+ wpcntr1_match = 1'b1;
+ else
+ wpcntr1_match = 1'b0;
+
+//
+// Watchpoint 9
+//
+always @(dmr1 or wpcntr1_match or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW9])
+ 2'b00: wp[9] = wpcntr1_match;
+ 2'b01: wp[9] = wpcntr1_match & wp[8];
+ 2'b10: wp[9] = wpcntr1_match | wp[8];
+ 2'b11: wp[9] = 1'b0;
+ endcase
+
+//
+// Watchpoint 10
+//
+always @(dmr1 or dbg_ewt_i or wp)
+ case (dmr1[`OR1200_DU_DMR1_CW10])
+ 2'b00: wp[10] = dbg_ewt_i;
+ 2'b01: wp[10] = dbg_ewt_i & wp[9];
+ 2'b10: wp[10] = dbg_ewt_i | wp[9];
+ 2'b11: wp[10] = 1'b0;
+ endcase
+
+`endif
+
+//
+// Watchpoints can cause trap exception
+//
+`ifdef OR1200_DU_HWBKPTS
+assign du_hwbkpt = |(wp & dmr2[`OR1200_DU_DMR2_WGB]) | du_hwbkpt_hold | (dbg_bp_r & ~dsr[`OR1200_DU_DSR_TE]);
+`else
+assign du_hwbkpt = 1'b0;
+`endif
+
+// Hold du_hwbkpt if ex_freeze is active in order to cause trap exception
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ du_hwbkpt_hold <= 1'b0;
+ else if (du_hwbkpt & ex_freeze)
+ du_hwbkpt_hold <= 1'b1;
+ else if (!ex_freeze)
+ du_hwbkpt_hold <= 1'b0;
+
+`ifdef OR1200_DU_TB_IMPLEMENTED
+//
+// Simple trace buffer
+// (right now hardcoded for Xilinx Virtex FPGAs)
+//
+// Stores last 256 instruction addresses, instruction
+// machine words and ALU results
+//
+
+//
+// Trace buffer write enable
+//
+assign tb_enw = ~ex_freeze & ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[16]);
+
+//
+// Trace buffer write address pointer
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ tb_wadr <= 8'h00;
+ else if (tb_enw)
+ tb_wadr <= tb_wadr + 8'd1;
+
+//
+// Free running counter (time stamp)
+//
+always @(posedge clk or `OR1200_RST_EVENT rst)
+ if (rst == `OR1200_RST_VALUE)
+ tb_timstmp <= 32'h00000000;
+ else if (!dbg_bp_r)
+ tb_timstmp <= tb_timstmp + 32'd1;
+
+//
+// Trace buffer RAMs
+//
+
+or1200_dpram_256x32 tbia_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbia_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(spr_dat_npc),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+
+);
+
+or1200_dpram_256x32 tbim_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbim_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(ex_insn),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+);
+
+or1200_dpram_256x32 tbar_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbar_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(rf_dataw),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+);
+
+or1200_dpram_256x32 tbts_ram(
+ .clk_a(clk),
+ .rst_a(1'b0),
+ .addr_a(spr_addr[7:0]),
+ .ce_a(1'b1),
+ .oe_a(1'b1),
+ .do_a(tbts_dat_o),
+
+ .clk_b(clk),
+ .rst_b(1'b0),
+ .addr_b(tb_wadr),
+ .di_b(tb_timstmp),
+ .ce_b(1'b1),
+ .we_b(tb_enw)
+);
+
+`else
+
+assign tbia_dat_o = 32'h0000_0000;
+assign tbim_dat_o = 32'h0000_0000;
+assign tbar_dat_o = 32'h0000_0000;
+assign tbts_dat_o = 32'h0000_0000;
+
+`endif // OR1200_DU_TB_IMPLEMENTED
+
+`else // OR1200_DU_IMPLEMENTED
+
+//
+// When DU is not implemented, drive all outputs as would when DU is disabled
+//
+assign dbg_bp_o = 1'b0;
+assign du_dsr = {`OR1200_DU_DSR_WIDTH{1'b0}};
+assign du_dmr1 = {25{1'b0}};
+assign du_hwbkpt = 1'b0;
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+assign spr_dat_o = 32'h0000_0000;
+`ifdef OR1200_DU_UNUSED_ZERO
+`endif
+`endif
+
+`endif
+
+endmodule
diff --git a/autotests/input/preprocessor-bug363280.c b/autotests/input/preprocessor-bug363280.c
new file mode 100644
index 0000000..9908bf7
--- /dev/null
+++ b/autotests/input/preprocessor-bug363280.c
@@ -0,0 +1,8 @@
+#if 1
+int x; // variable shall not be grey
+#endif
+#if defined (A)
+int y; // variable shall not be grey
+#elif defined (B)
+int z; // variable shall not be grey
+#endif
diff --git a/autotests/input/preprocessor-bug363280.cpp b/autotests/input/preprocessor-bug363280.cpp
new file mode 100644
index 0000000..9908bf7
--- /dev/null
+++ b/autotests/input/preprocessor-bug363280.cpp
@@ -0,0 +1,8 @@
+#if 1
+int x; // variable shall not be grey
+#endif
+#if defined (A)
+int y; // variable shall not be grey
+#elif defined (B)
+int z; // variable shall not be grey
+#endif
diff --git a/autotests/input/review128925-1.css b/autotests/input/review128925-1.css
new file mode 100644
index 0000000..b61b616
--- /dev/null
+++ b/autotests/input/review128925-1.css
@@ -0,0 +1,112 @@
+/*
+ * CSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most CSS syntax, CSS3 properties, @media, @font-face and
+ * @keyframes annotations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8";
+
+@import url("components/button.css");
+
+
+/* Properties */
+
+html, body {
+ font-family: "Droid Sans", Arial, sans-serif;
+ font-size: 11pt;
+ line-height: 1.5em;
+ max-width: calc(100% - 300px);
+ background: #fff000;
+ text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
+ box-sizing: border-box;
+}
+
+
+/* Selectors */
+
+blockquote {
+ margin: 0;
+}
+
+header #logo {
+ width: 100px;
+}
+
+div#footer .link {
+ color: blue;
+}
+
+sidebar #subscribe .subscribe_form input[type="text"] {
+ font-size: 20px;
+}
+
+sidebar #subscribe .subscribe_form:nth-child(2n + 1):hover input[class*="small-"] {
+ font-weight: bold;
+}
+
+
+/* Media Queries */
+
+@media print {
+ .container {
+ width: 100%;
+ }
+}
+
+@media screen and (min-width: 768px) {
+ .container {
+ width: 600px;
+ }
+}
+
+@media screen and (min-width: 768px) and (max-width: 960px) {
+ .container {
+ width: 720px;
+ }
+}
+
+
+/* Fontface */
+
+@font-face {
+ font-family: MyHelvetica;
+ src: local("Helvetica Neue Bold"),
+ local("HelveticaNeue-Bold"),
+ url(MgOpenModernaBold.ttf);
+ font-weight: bold;
+}
+
+/* Animation (Keyframes) */
+
+@keyframes slidein {
+ from {
+ margin-left: 100%;
+ width: 300%;
+ }
+
+ to {
+ margin-left: 0%;
+ width: 100%;
+ }
+}
+
+
+/* Region markers */
+
+/*BEGIN Comment */
+
+
+
+/*END Comment */
+
diff --git a/autotests/input/review128925-1.scss b/autotests/input/review128925-1.scss
new file mode 100644
index 0000000..6aa1da6
--- /dev/null
+++ b/autotests/input/review128925-1.scss
@@ -0,0 +1,211 @@
+/*
+ * SCSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most SCSS syntax, CSS3 properties, advanced code structure.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-15
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8";
+
+@import "mixins/button";
+
+// Variable define
+
+$image-path: "../../static/images";
+$default-text-color: #333 !default; // Default can be overrided
+$default-font-size: 16px !default;
+$default-font-family: Roboto, "Droid Sans", sans-serif;
+$default-font-weight: 400;
+$default-line-height: $default-font-size * 1.8;
+$shadow-transparence: 0.25;
+$box-shadow: 0 0 3px rgba(0,0,0,$shadow-transparence);
+$page-width: 100rem; // kabab-case
+$gapOfArticle: 20px; // camelCase
+$body_background_color: white; // snake_case
+
+// Mixins
+
+@mixin border-radius($radius) {
+ -webkit-border-radius: $radius;
+ -moz-border-radius: $radius;
+ -ms-border-radius: $radius;
+ border-radius: $radius;
+}
+
+.box { @include border-radius(10px); }
+
+// Nesting
+
+#home-page {
+
+ header {
+ width: 80%;
+ margin: 0 auto;
+
+ .cover {
+ @include border-radius(20px);
+ max-width: 100%;
+
+ &:hover {
+ background: #ffffff;
+ }
+
+ .like-button {
+ font-size: $default-font-size * 0.8;
+
+ @media (max-width: 300px) and (min-width: 200px) {
+ font-size: $default-font-size * 0.8;
+
+ .icon {
+ width: 20px;
+ height: 20px;
+ }
+ }
+
+ @media print {
+ display: none;
+ }
+ }
+ }
+ }
+}
+
+// Extend and inheritance
+
+.message {
+ border: $border-light;
+ background-color: #f0f0f0;
+}
+
+.message-danger {
+ @extend .message;
+}
+
+
+// Control structures
+
+@mixin does-parent-exist {
+ @if & {
+ &:hover {
+ color: red;
+ }
+ } @else {
+ a {
+ color: red;
+ }
+ }
+}
+
+
+// Operators
+
+.container { width: 100%; }
+
+article[role="main"] {
+ float: left;
+ width: 600px / 960px * 100%;
+}
+
+aside[role="complementary"] {
+ float: right;
+ width: 300px / 960px * 100%;
+}
+
+
+// Functions - see http://sass-lang.com/documentation/Sass/Script/Functions.html
+
+$color1: hsl(120deg, 100%, 50%);
+$color2: rgb($red, $green, blue($color1));
+$color3: mix($color1, $color2, [$weight]);
+
+
+// Properties
+
+html, body {
+ font-family: "Droid Sans", Arial, sans-serif;
+ font-size: 11pt;
+ line-height: 1.5em;
+ max-width: 300px + $page-width - $gap / 2;
+ background: $bg_color;
+ text-shadow: 0 0 2px rgba(0,0,0, $transparence);
+ box-sizing: border-box;
+}
+
+
+// Selectors
+
+blockquote {
+ margin: 0;
+}
+
+header #logo {
+ width: 100px;
+}
+
+div#footer .link {
+ color: blue;
+}
+
+sidebar #subscribe .subscribe_form input[type="text"] {
+ font-size: 20px;
+}
+
+sidebar #subscribe .subscribe_form:nth-child(2n + 1):hover input[class*="small-"] {
+ font-weight: bold;
+}
+
+
+// Media Queries
+
+@media print {
+ .container {
+ width: 100%;
+ }
+}
+
+@media screen and (min-width: 768px) {
+ .container {
+ width: 600px;
+ }
+}
+
+@media screen and (min-width: 768px) and (max-width: 960px) {
+ .container {
+ width: 720px;
+ }
+}
+
+
+// Fontface
+
+@font-face {
+ font-family: MyHelvetica;
+ src: local("Helvetica Neue Bold"),
+ local("HelveticaNeue-Bold"),
+ url(MgOpenModernaBold.ttf);
+ font-weight: bold;
+}
+
+// Animation (Keyframes)
+
+@keyframes slidein {
+ from {
+ margin-left: 100%;
+ width: 300%;
+ }
+
+ to {
+ margin-left: 0%;
+ width: 100%;
+ }
+}
diff --git a/autotests/input/review128925-2.css b/autotests/input/review128925-2.css
new file mode 100644
index 0000000..05c20a8
--- /dev/null
+++ b/autotests/input/review128925-2.css
@@ -0,0 +1,62 @@
+/*
+ * CSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex CSS syntax that can test unexpected situations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+/* Comments with special content */
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+/* Comments in special positions */
+
+header/* comment here */.active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue/* comment here */;
+ font-family: Arial /* comment here */,
+ "Droid Sans", /* comment here */
+ sans-serif/* comment here */;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */) /* comment here */ {/* comment here */}
+
+
+/* Strings with special content */
+
+@import url("{} $variable /* comment */");
+
+
+/* Without extra breaklines and spaces */
+
+pre.primary:hover.large:nth-child(2n-1){font-size:17px;font-family:"Noto Sans";-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.3)}
+
+
+/* With unnecessary breaklines and spaces */
+
+blockquote .ref
+ {
+ flex : 0 1 30%;
+ flex-wrap : wrap;
+ }
+
+@media screen and (orientation: landscape) {
+ .sidebar {
+ width: 500px; } }
+
+
+/* Special selectors: HTML5 allows user defined tags */
+
+header {
+ flex {
+ width: 300px;
+ }
+}
diff --git a/autotests/input/review128925-2.scss b/autotests/input/review128925-2.scss
new file mode 100644
index 0000000..c71fe3b
--- /dev/null
+++ b/autotests/input/review128925-2.scss
@@ -0,0 +1,81 @@
+/*
+ * SCSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex SCSS syntax that can test unexpected situations.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+// Comments with special content
+
+// .class-selector #id "string" 'comment' // comment {} [] () /* comment */ text
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+// Comments in special positions
+
+$color: black /* comment here */;
+
+header/* comment here */.active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue/* comment here */;
+ font-family: Arial /* comment here */,
+ "Droid Sans", /* comment here */
+ sans-serif/* comment here */;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */) /* comment here */ {/* comment here */}
+
+
+// Strings with special content
+
+@import "{} $variable /* comment */";
+@import "{}";
+
+// Without extra breaklines and spaces
+
+pre.primary:hover.large:nth-child(2n-1){font-size:$default-font-size;font-family:"Noto Sans";-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.3)}
+
+// With unnecessary breaklines and spaces
+
+blockquote .ref
+ {
+ flex : 0 1 30%;
+ flex-wrap : wrap;
+ }
+
+.sidebar {
+ width: 300px; }
+ @media screen and (orientation: landscape) {
+ .sidebar {
+ width: 500px; } }
+
+// Variable interpolation: #{}
+
+$name: foo;
+$attr: border;
+p.#{$name} {
+ #{$attr}-color: blue;
+}
+
+p {
+ $font-size: 12px;
+ $line-height: 30px;
+ font: #{$font-size}/#{$line-height};
+}
+
+// Special selectors: HTML5 allows user defined tags
+
+header {
+ flex {
+ width: 300px;
+ }
+}
diff --git a/autotests/input/review128935.html b/autotests/input/review128935.html
new file mode 100644
index 0000000..f373235
--- /dev/null
+++ b/autotests/input/review128935.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+HTML Syntax Highlight Sample File (Standard)
+
+
+
+
+
+
+
+
+
+
+ This is a div.
This is a span
+
+ This is a div.
+
+
+
+
+ This is a paragraph.
+
+
+This is heading 1
+This is heading 2
+This is heading 3
+This is heading 4
+This is heading 5
+This is heading 6
+
+This is a link
+
+
+
+
+
+
+
+
+ List item
+ List item
+ List item
+ List item
+ List item
+
+
+
+ List item
+ List item
+ List item
+ List item
+ List item
+
+
+
+
+ Table head
+ Table head
+ Table head
+
+
+ Table head
+ Table head
+ Table head
+
+
+
+
+
+
+
+
+ This is a nav.
+
+
+ This is an article.
+ This is an article.
+
+
+
+
+
+
+
+
+
+
+
+
+ Just For Fun: The Story of an Accidental Revolutionary
+ Linus Torvalds
+
+ A humorous autobiography of Linus Torvalds, the creator of the Linux
+ kernel, co-written with David Diamond. The book primarily theorizes
+ the Law of Linus that all evolution contributed by humanity starts
+ for survival, sustains socially and entertains at last. As well as
+ this the book explains Torvalds' view of himself, the free software
+ movement and the development of Linux.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ THIS IS A DIV.
+
THIS IS A PARAGRAPH.
+
THIS IS A HEADING.
+
+
+
+
+Magic button
+
+
+
+
+
+
+ GNU/Linux
+ BSD
+ Windows
+ macOS
+
+
+
+
+This is a div.
+
+
+
+
diff --git a/autotests/input/test.bash b/autotests/input/test.bash
new file mode 100644
index 0000000..f64255c
--- /dev/null
+++ b/autotests/input/test.bash
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+for i in `ls tests/auto/output/*.html`; do
+ refFile=`echo $i | sed -e s,build,src, | sed -e s,output,reference, | sed -e s,.html,.ref.html,`
+ cp -v $i $refFile
+done
diff --git a/autotests/input/test.bb b/autotests/input/test.bb
new file mode 100644
index 0000000..98d9089
--- /dev/null
+++ b/autotests/input/test.bb
@@ -0,0 +1,34 @@
+# syntax test file for Bitbake receipes
+
+SUMMARY = "GammaRay Qt introspection probe"
+HOMEPAGE = "http://www.kdab.com/gammaray"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL.txt;md5=2abfe5daa817fd4346b6d55293941415"
+
+inherit cmake_qt5
+
+SRC_URI = "git://github.com/KDAB/GammaRay;branch=master"
+
+SRCREV = "139e003174f48b0c883fc6c200ef2efb7467bff1"
+PV = "2.4.0+git${SRCPV}"
+
+DEPENDS = "qtdeclarative"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " -DGAMMARAY_BUILD_UI=OFF"
+
+FILES_${PN}-dev += " \
+ /usr/lib/cmake/* \
+ /usr/mkspecs/modules/* \
+"
+FILES_${PN}-dbg += " \
+ /usr/lib/.debug/* \
+ /usr/lib/gammaray/*/*/.debug \
+ /usr/lib/gammaray/*/*/styles/.debug \
+"
+
+# error: unterinated string
+VAR *= "abc
+ this is wrong
diff --git a/autotests/input/test.c b/autotests/input/test.c
new file mode 100644
index 0000000..b2462d7
--- /dev/null
+++ b/autotests/input/test.c
@@ -0,0 +1,56 @@
+#include
+#include "stdint.h"
+
+#define SOME_VAR 1
+#ifdef SOME_VAR
+
+#define MULTILINE_MACRO one \
+two \
+three
+
+static uint64_t intWithSuffix = 42ull;
+static int octNum = 07232;
+static int invalidOctNum = 09231;
+static uint64_t hexNum = 0xDEADBEEF42;
+static uint64_t invalidHexNum = 0xGLDFKG;
+static char binNum = 0b0101010;
+
+static double d1 = 42.;
+static double d2 = .42;
+static double d3 = 42.3e1;
+static double d4 = .2e-12;
+static double d5 = 32.e+12;
+static float floatQualifier = 23.123f;
+
+static const char c1 = 'c';
+static const char c2 = '\n';
+static const char c2a = '\120'; // octal
+static const char c2b = '\x1f'; // hex
+static const char c2c = '\'';
+static const char c2d = '\\';
+static const char* c3 = "string";
+static const char* c4 = "\"string\n\t\012\x12\"";
+static const char* c5 = "multiline \
+ string";
+
+//BEGIN region
+// TODO comment FIXME comment ### comment
+//END region
+
+#wrong
+
+/**
+ * Doxygen
+ * @param p1 text
+ * \brief bold text
+ * \dot
+ * a -> b
+ * \enddot
+ *
+ * \verbatim
+ *
+ * \endverbatim
+ * text
+ */
+
+#endif
diff --git a/autotests/input/test.c.syntax b/autotests/input/test.c.syntax
new file mode 100644
index 0000000..3cc58df
--- /dev/null
+++ b/autotests/input/test.c.syntax
@@ -0,0 +1 @@
+C
diff --git a/autotests/input/test.cmake b/autotests/input/test.cmake
new file mode 100644
index 0000000..efc5c5c
--- /dev/null
+++ b/autotests/input/test.cmake
@@ -0,0 +1,31 @@
+# comment
+
+#[[.rst:
+MyModule
+--------
+
+bla bla
+#]]
+
+#.rst:
+# ATTENTION
+# alternative doc comment
+#
+
+#[=====[.rst:
+
+3rd form
+
+]=====]
+
+set(CMAKE_AUTOMOC ON)
+if (POLICY CMP042)
+ target_link_libraries(myTaget SHARED Qt5::Core)
+else()
+ add_executable(myTaget ${some_var})
+endif()
+
+macro(my_macro arg1)
+ foreach(arg ${ARGN})
+ endforeach()
+endmacro()
diff --git a/autotests/input/test.css b/autotests/input/test.css
new file mode 100644
index 0000000..763e2d6
--- /dev/null
+++ b/autotests/input/test.css
@@ -0,0 +1,18 @@
+h1 {
+ text-color: "red";
+}
+
+/* PHP code, invalid in CSS context */
+for()
+
+
+
+h2 {
+ text-weight: bold;
+}
+
diff --git a/autotests/input/test.css.syntax b/autotests/input/test.css.syntax
new file mode 100644
index 0000000..30599f0
--- /dev/null
+++ b/autotests/input/test.css.syntax
@@ -0,0 +1 @@
+CSS/PHP
diff --git a/autotests/input/test.desktop b/autotests/input/test.desktop
new file mode 100644
index 0000000..f3edd78
--- /dev/null
+++ b/autotests/input/test.desktop
@@ -0,0 +1,19 @@
+# test file for .dekstop syntax highlighting
+[Desktop Entry]
+GenericName=Text Editor
+GenericName[ar]=Ù
ØØ±Ùر ÙØµÙص
+Name=KWrite
+Name[ar]=ÙØ§ØªØ¨Ù
+Comment=KDE Text Editor
+Comment[ar]=Ù
ØØ±Ùر ÙØµÙص ÙÙØ¯Ù
+MimeType=text/plain;
+Exec=kwrite %U
+StartupNotify=true
+Icon=kwrite
+X-DocPath=kwrite/index.html
+Type=Application
+Terminal=false
+InitialPreference=8
+X-DBUS-StartupType=Multi
+X-DBUS-ServiceName=org.kde.kwrite
+Categories=Qt;KDE;Utility;TextEditor;
diff --git a/autotests/input/test.diff b/autotests/input/test.diff
new file mode 100644
index 0000000..7a6807c
--- /dev/null
+++ b/autotests/input/test.diff
@@ -0,0 +1,48 @@
+commit 2b16665838c8afeaa0f065cafc747438de35876b
+Author: Volker Krause
+Date: Sat Oct 8 13:31:51 2016 +0200
+
+ Implement dynamic DetectChar rules
+
+ Needed for Perl highlighting.
+
+diff --git a/src/lib/rule.cpp b/src/lib/rule.cpp
+index f588985..c4c3b92 100644
+--- a/src/lib/rule.cpp
++++ b/src/lib/rule.cpp
+@@ -308,12 +308,22 @@ bool DetectChar::doLoad(QXmlStreamReader& reader)
+ if (s.isEmpty())
+ return false;
+ m_char = s.at(0);
++ if (isDynamic()) {
++ m_captureIndex = m_char.digitValue();
++ }
+ return true;
+ }
+
+ MatchResult DetectChar::doMatch(const QString& text, int offset, const QStringList &captures)
+ {
+- Q_UNUSED(captures); // TODO
++ if (isDynamic()) {
++ if (captures.size() <= m_captureIndex || captures.at(m_captureIndex).isEmpty())
++ return offset;
++ if (text.at(offset) == captures.at(m_captureIndex).at(0))
++ return offset + 1;
++ return offset;
++ }
++
+ if (text.at(offset) == m_char)
+ return offset + 1;
+ return offset;
+diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h
+index d8862ae..d9cedbf 100644
+--- a/src/lib/rule_p.h
++++ b/src/lib/rule_p.h
+@@ -103,6 +103,7 @@ protected:
+
+ private:
+ QChar m_char;
++ int m_captureIndex;
+ };
+
+ class Detect2Char : public Rule
diff --git a/autotests/input/test.eml b/autotests/input/test.eml
new file mode 100644
index 0000000..373a421
--- /dev/null
+++ b/autotests/input/test.eml
@@ -0,0 +1,94 @@
+Return-Path:
+X-Sieve: CMU Sieve 2.3
+X-Virus-Scanned: amavisd-new at site
+Authentication-Results: linux.site (amavisd-new); dkim=pass (1024-bit key)
+ header.d=kde.org
+Received: from postbox.kde.org (localhost.localdomain [127.0.0.1])
+ by postbox.kde.org (Postfix) with ESMTP id 3167DB6E75;
+ Wed, 5 Oct 2016 20:21:47 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kde.org; s=default;
+ t=1475698907; bh=6i+3UfR6HLC54wVtp5SF4sVWvQn63jzu9vD2zJal/kY=;
+ h=From:To:Subject:Date:Reply-To:List-Id:List-Unsubscribe:List-Post:
+ List-Help:List-Subscribe:From;
+ b=M5nfHbmJe/4DPuidrJ901dUzX3FmpVpyUrPM961Or9bKrMO+z9gaTUwbfPR74Rq8B
+ Rv66yf3ZaDuRZxv/ARPzpr8qnDTtf13WRFZ/ySdqqqQJKeBqCAd7/wbR0kHhypvpwe
+ z4nY6+bNnjvFelPXR56o16b+/Ib2GTYJ9hwiG97U=
+X-Original-To: kwrite-devel@kde.org
+Delivered-To: kwrite-devel@localhost.kde.org
+Received-SPF: Neutral (access neither permitted nor denied) identity=mailfrom;
+ client-ip=85.214.234.26; helo=h2265959.stratoserver.net;
+ envelope-from=vkrause@kde.org; receiver=kwrite-devel@kde.org
+From: Volker Krause
+To: kwrite-devel@kde.org
+Subject: Highlighting semantics: line end context switches when popping back
+ into previous line context stack
+Date: Wed, 05 Oct 2016 22:19:17 +0200
+Message-ID: <2420385.jiZKTgWtgY@vkpc5>
+Organization: KDE
+User-Agent: KMail/4.14.10 (Linux/4.1.13-5-default; KDE/4.14.16; x86_64;
+ git-91275a7; 2015-12-13)
+MIME-Version: 1.0
+Content-Type: multipart/signed; boundary="nextPart1575059.2yRQ5x6HOo";
+ micalg="pgp-sha1"; protocol="application/pgp-signature"
+X-BeenThere: kwrite-devel@kde.org
+X-Mailman-Version: 2.1.16
+Precedence: list
+Reply-To: kwrite-devel@kde.org
+List-Id: Kate/KWrite Mailing List
+List-Unsubscribe: ,
+
+List-Post:
+List-Help:
+List-Subscribe: ,
+
+Errors-To: kwrite-devel-bounces@kde.org
+Sender: "KWrite-Devel"
+
+
+--nextPart1575059.2yRQ5x6HOo
+Content-Transfer-Encoding: 7Bit
+Content-Type: text/plain; charset="us-ascii"
+
+Hi,
+
+when trying to add the unit test for the new Praat highlighting to
+KF5::SyntaxHighlighting it turned out that the output doesn't match at all
+that of Kate. We managed to trace this back to the following rather surprising
+(and apparently undocumented) behavior in Kate:
+
+When a context switch (anywhere in a line) pops more contexts than were on the
+stack when starting the line, it executes line end context switches of the
+previous line contexts.
+
+| | | | | | The corresponding code is in KateHighlighting::generateContextStack(),
+| | > | > KF5::SyntaxHighlighting doesn't do this (yet), Praat is apparently the first
+> | > format we have tests for that uses this behavior.
+
+> Does anyone remember why we do this, or happens to know which highlighting
+> files besides Praat rely on this?
+
+> > Archeology can trace this back to the dark CVS ages even, one reference
+> > Dominik has dug up is a 10 year old SVN commit
+> > (https://quickgit.kde.org/?p=kdelibs.git&a=commit&h=90ef47f582277745f727d89f05f72f1e1705fdc4
+> >), where Christoph claims to understand what this code does ;)
+
+> > > As this is highly unexpected and hard to reason about behavior, Dominik and I
+> > > > were wondering if we can possibly drop this, and rather fix affected
+> > > > > highlighting files instead?
+
+Regards,
+Volker
+--nextPart1575059.2yRQ5x6HOo
+Content-Type: application/pgp-signature; name="signature.asc"
+Content-Description: This is a digitally signed message part.
+Content-Transfer-Encoding: 7Bit
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iD8DBQBX9WBIf5bM1k0S0kcRAireAJ4lCWa08Y5yU1ezIvKVCAfnkhcUbACgou0O
+X4c+lkPI0tti59KV1vetaeU=
+=VqDS
+-----END PGP SIGNATURE-----
+
+--nextPart1575059.2yRQ5x6HOo--
diff --git a/autotests/input/test.frag b/autotests/input/test.frag
new file mode 100644
index 0000000..67ccc99
--- /dev/null
+++ b/autotests/input/test.frag
@@ -0,0 +1,26 @@
+#version 330 core
+
+// single line comment
+
+/* single line commonet */
+
+/*
+ multi line comment
+ */
+
+in ColorFormat {
+ vec3 color;
+} fs_in;
+
+out vec4 fragColor;
+
+vec3 fun(const in vec3 foo) {
+ foo[2] = foo.x;
+
+ return foo;
+}
+
+void main()
+{
+ fragColor = vec4( fs_in.color, 1.0 );
+}
diff --git a/autotests/input/test.htm b/autotests/input/test.htm
new file mode 100644
index 0000000..1503ca7
--- /dev/null
+++ b/autotests/input/test.htm
@@ -0,0 +1,17 @@
+
+
+
+ This is a title
+
+
+
+ Hello world!
+
+
+
diff --git a/autotests/input/test.htm.syntax b/autotests/input/test.htm.syntax
new file mode 100644
index 0000000..f05185c
--- /dev/null
+++ b/autotests/input/test.htm.syntax
@@ -0,0 +1 @@
+HTML
diff --git a/autotests/input/test.ijs b/autotests/input/test.ijs
new file mode 100644
index 0000000..9acfe4b
--- /dev/null
+++ b/autotests/input/test.ijs
@@ -0,0 +1,61 @@
+Comment
+NB. This is a single line comment, check regions overlapping priority: 1 2.3 +/ &. 'quoted text'
+NB.(
+NB. This is a foldable multi line comment
+NB.)
+
+String literal
+''
+''''
+'This is quoted text'
+'And this '' and this NB. and this' 'Yet another quoted text'
+
+Numeric literal
+12 34.56 _7.89 1e2 1.2e3 _. _ __ 123j_456 2b111.111 1r23 123456x 1.2e3j4.5e6 _j_ __j_ _.j_. _j3p4j_.
+
+Parenthesis
+( )
+
+Adverb
+~ / \ /. \. } b. f. M. t. t:
+
+Conjuction
+^: . .. .: : :. :: ;. !. !: " ` `: @ @. @: & &. &: &.: d. D. D: H. L: S: T.
+
+Control
+assert. break. case. catch. catchd. catcht. continue. do. else. elseif. end. fcase. for. for_abc. goto_abc. if. label_abc. return. select. throw. try. while. whilst.
+
+Copula
+a =: 123
+(a) =: 123
+(a;b;c) =: 123
+'a b c' =: 123
+'a b c' =. '123'
+'`a b c' =. '123'
+'a' =: 123
+('a';'b';'c') =: 123
+
+Explicit argument
+x y m n u v x. y. m. n. u. v.
+
+Noun
+a. a:
+
+Verb
+= < <. <: > >. >: _: + +. +: * *. *: - -. -: % %. %: ^ ^. $ $. $: ~. ~: | |. |: , ,. ,: ; ;: # #. #: ! /: \: [ [: ] { {. {: {:: }. }: ". ": ? ?. A. C. e. E. i. i: I. j. L. o. p. p.. p: q: r. s: u: x: _9: _8: _7: _6: _5: _4: _3: _2: _1: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9:
+
+Combined
+for_abc. i. 5 do. 55 return. end.
+a=. b =: 123 +/ # i. 10
+123 'qwerty'
+a_b =: '123' [ c__d =. 4 : 0 NB. foldable definition begins
+ x +/ y
+)
+e__12 =: define NB. foldable definition begins
+ if. x do. NB. inner foldable region begins
+ y=. y + x NB. comment after code
+ x +/ y
+ else. NB. inner foldable region begins
+ y +/ y
+ end.
+)
diff --git a/autotests/input/test.js b/autotests/input/test.js
new file mode 100644
index 0000000..6e684a1
--- /dev/null
+++ b/autotests/input/test.js
@@ -0,0 +1,8 @@
+/* comment */
+
+function fun()
+{
+ var boo = { 'key': [ 1, 2.0, 3.0e1, 004, 0x5 ] };
+}
+
+class MyClass; // reserved keywords
diff --git a/autotests/input/test.json b/autotests/input/test.json
new file mode 100644
index 0000000..6c16ee6
--- /dev/null
+++ b/autotests/input/test.json
@@ -0,0 +1,13 @@
+{
+ "float": 3.1415,
+ "int": 123,
+ "string": "\a \"b' \n",
+ "array": [ 1, 2, 3 ],
+ "object": {
+ "mult-line": "so this folds"
+ },
+ "folded array": [
+ 1, 2, 3
+ ]
+ "error key": "due to missing comma"
+}
diff --git a/autotests/input/test.markdown b/autotests/input/test.markdown
new file mode 100644
index 0000000..b8b4a9d
--- /dev/null
+++ b/autotests/input/test.markdown
@@ -0,0 +1,39 @@
+# H1
+
+## H2
+
+### H3
+
+Multi-line paragraph bla bla bla
+bla bla bla.
+
+Intentional line break
+via two spaces at line.
+
+Formats: _italic_, **bold**, `monospace`, ~~strikeout~~
+
+Bullet list:
+
+* item1
+* item2
+
+Numbered list:
+
+1. item 1
+2. item 2
+
+[link](http://kde.org)
+
+ code 1
+ code 2
+
+normal text
+
+> block quote _italic_
+> more block quote
+
+normal text
+
+Title: some text
+
+normal text
diff --git a/autotests/input/test.mss b/autotests/input/test.mss
new file mode 100644
index 0000000..4f742c1
--- /dev/null
+++ b/autotests/input/test.mss
@@ -0,0 +1,215 @@
+/* kate: hl CartoCSS
+ This file contains some content coming from
+ https://github.com/gravitystorm/openstreetmap-carto
+ with CC0 license. This file is just for testing
+ katepart highlighting engine.
+ */
+
+#world {
+// this syntax
+polygon-opacity: 50%;
+
+// is equivalent to
+polygon-opacity: 0.5;
+}
+
+@admin-boundaries: #ac46ac;
+
+/* For performance reasons, the admin border layers are split into three groups
+for low, middle and high zoom levels.
+For each zoomlevel, all borders come from a single attachment, to handle
+overlapping borders correctly.
+*/
+
+#admin-low-zoom[zoom < 11], // test
+#admin-mid-zoom[zoom >= 11][zoom < 13],
+#admin-high-zoom[zoom >= 13] {
+ [admin_level = '2'],
+ [admin_level = '3'] {
+ [zoom >= 4] {
+ background/line-color: white;
+ background/line-width: 0.6;
+ line-color: @admin-boundaries;
+ line-width: 0.6;
+ }
+ [zoom >= 7] {
+ background/line-width: 2;
+ line-width: 2;
+ }
+ [zoom >= 10] {
+ [admin_level = '2'] {
+ background/line-width: 6;
+ line-width: 6;
+ }
+ [admin_level = '3'] {
+ background/line-width: 5;
+ line-width: 5;
+ line-dasharray: 4,2;
+ line-clip: false;
+ }
+ }
+ }
+ [admin_level = '4'] {
+ [zoom >= 4] {
+ background/line-color: white;
+ background/line-width: 0.6;
+ line-color: @admin-boundaries;
+ line-width: 0.6;
+ line-dasharray: 4,3;
+ line-clip: false;
+ }
+ [zoom >= 7] {
+ background/line-width: 1;
+ line-width: 1;
+ }
+ [zoom >= 11] {
+ background/line-width: 3;
+ line-width: 3;
+ }
+ }
+ /*
+ The following code prevents admin boundaries from being rendered on top of
+ each other. Comp-op works on the entire attachment, not on the individual
+ border. Therefore, this code generates an attachment containing a set of
+ @admin-boundaries/white dashed lines (of which only the top one is visible),
+ and with `comp-op: darken` the white part is ignored, while the
+ @admin-boundaries colored part is rendered (as long as the background is not
+ darker than @admin-boundaries).
+ The SQL has `ORDER BY admin_level`, so the boundary with the lowest
+ admin_level is rendered on top, and therefore the only visible boundary.
+ */
+ opacity: 0.4;
+ comp-op: darken;
+}
+
+#admin-mid-zoom[zoom >= 11][zoom < 13],
+#admin-high-zoom[zoom >= 13] {
+ [admin_level = '5'][zoom >= 11] {
+ background/line-color: white;
+ background/line-width: 2;
+ line-color: @admin-boundaries;
+ line-width: 2;
+ line-dasharray: 6,3,2,3,2,3;
+ line-clip: false;
+ }
+ [admin_level = '6'][zoom >= 11] {
+ background/line-color: white;
+ background/line-width: 2;
+ line-color: @admin-boundaries;
+ line-width: 2;
+ line-dasharray: 6,3,2,3;
+ line-clip: false;
+ }
+ [admin_level = '7'],
+ [admin_level = '8'] {
+ [zoom >= 12] {
+ background/line-color: white;
+ background/line-width: 1.5;
+ line-color: @admin-boundaries;
+ line-width: 1.5;
+ line-dasharray: 5,2;
+ line-clip: false;
+ }
+ }
+ opacity: 0.5;
+ comp-op: darken;
+}
+
+#admin-high-zoom[zoom >= 13] {
+ [admin_level = '9'],
+ [admin_level = '10'] {
+ [zoom >= 13] {
+ background/line-color: white;
+ background/line-width: 2;
+ line-color: @admin-boundaries;
+ line-width: 2;
+ line-dasharray: 2,3;
+ line-clip: false;
+ }
+ }
+ opacity: 0.5;
+ comp-op: darken;
+}
+
+
+
+#nature-reserve-boundaries {
+ [way_pixels > 100][zoom >= 7] {
+ [zoom < 10] {
+ ::fill {
+ opacity: 0.05;
+ polygon-fill: green;
+ }
+ }
+ a/line-width: 1;
+ a/line-offset: -0.5;
+ a/line-color: green;
+ a/line-opacity: 0.15;
+ a/line-join: round;
+ a/line-cap: round;
+ b/line-width: 2;
+ b/line-offset: -1;
+ b/line-color: green;
+ b/line-opacity: 0.15;
+ b/line-join: round;
+ b/line-cap: round;
+ [zoom >= 10] {
+ a/line-width: 2;
+ a/line-offset: -1;
+ b/line-width: 4;
+ b/line-offset: -2;
+ }
+ [zoom >= 14] {
+ b/line-width: 6;
+ b/line-offset: -3;
+ }
+ }
+}
+
+#building-text {
+[zoom >= 14][way_pixels > 3000],
+[zoom >= 17] {
+text-name: "[name]";
+text-size: 11;
+text-fill: #444;
+text-face-name: @book-fonts;
+text-halo-radius: 1;
+text-wrap-width: 20;
+text-halo-fill: rgba(255,255,255,0.5);
+text-placement: interior;
+}
+}
+
+@marina-text: #576ddf; // also swimming_pool
+@landcover-face-name: @oblique-fonts;
+@standard-wrap-width: 30;
+
+.points {
+ [feature = 'tourism_alpine_hut'][zoom >= 13] {
+ point-file: url('symbols/alpinehut.p.16.png');
+ point-placement: interior;
+ }
+ }
+
+ [feature = 'highway_bus_stop'] {
+ [zoom >= 16] {
+ marker-file: url('symbols/square.svg');
+ marker-fill: @transportation-icon;
+ marker-placement: interior;
+ marker-width: 6;
+ }
+ [zoom >= 17] {
+ marker-file: url('symbols/bus_stop.p.12.png');
+ marker-width: 12;
+ }
+ }
+
+[feature = 'highway_primary'] {
+[zoom >= 7][zoom < 12] {
+line-width: 0.5;
+line-color: @primary-fill;
+[zoom >= 9] { line-width: 1.2; }
+[zoom >= 10] { line-width: 2; }
+[zoom >= 11] { line-width: .5; }
+}
+}
diff --git a/autotests/input/test.py b/autotests/input/test.py
new file mode 100644
index 0000000..3c0392c
--- /dev/null
+++ b/autotests/input/test.py
@@ -0,0 +1,28 @@
+# comment with ALERT
+
+''' multiline
+ comment
+ ###
+ '''
+
+def func(x):
+ """ API docs """
+ if x == 42:
+ func()
+ c1 = {}
+ c2 = {
+ 2.4,
+ 0x42
+ }
+ a1 = []
+ a2 = [
+ "a", 032, (
+ )]
+ else:
+ print("""multi
+ line
+ string""")
+ print("single \
+ continued line ")
+ print('single line')
+ return float(len(a2))
diff --git a/autotests/input/test.qml b/autotests/input/test.qml
new file mode 100644
index 0000000..d8f7cb5
--- /dev/null
+++ b/autotests/input/test.qml
@@ -0,0 +1,23 @@
+/*
+ * multi line comment
+ */
+
+// single line comment
+
+import QtQuick 2.0
+
+Rectangle {
+ property real myNumProp: 0.1e12;
+ property alias sub.color;
+ signal mySignal(int arg1, string arg2)
+ color: "lightsteelblue"
+ width: 320
+ height: width/2
+
+ Rectangle {
+ id: sub
+ width: 0x10
+ height: 007
+ objectName: 'single quote'
+ }
+}
diff --git a/autotests/input/test.sql b/autotests/input/test.sql
new file mode 100644
index 0000000..c7a5f3b
--- /dev/null
+++ b/autotests/input/test.sql
@@ -0,0 +1,6 @@
+-- comment
+
+CREATE TABLE stuff COLUMNS(col1 INT, col2 Varchar);
+SELECT * FROM stuff WHERE id = 'string';
+select * from stuff where id < 0.42;
+Select col1, col2 From stuff Where stuff.col1 IS NOT NuLL;
diff --git a/autotests/input/test.sql.syntax b/autotests/input/test.sql.syntax
new file mode 100644
index 0000000..b433cc9
--- /dev/null
+++ b/autotests/input/test.sql.syntax
@@ -0,0 +1 @@
+SQL
diff --git a/autotests/input/test.tex b/autotests/input/test.tex
new file mode 100644
index 0000000..8da60c9
--- /dev/null
+++ b/autotests/input/test.tex
@@ -0,0 +1,5 @@
+% commet
+
+text \texttt{more text}
+
+\verb!verbatim text! normal text
diff --git a/autotests/input/test_syntax.sql b/autotests/input/test_syntax.sql
new file mode 100644
index 0000000..a538349
--- /dev/null
+++ b/autotests/input/test_syntax.sql
@@ -0,0 +1,41 @@
+-- kate: hl SQL (Oracle)
+-- test case shipped with highlighting in bugzilla, LGPL
+
+begin
+ q'{adfasdf'sadfasdf j}'{' hkjhkhkjhkjh khlkhklj'fghdfghdfgh'hkjh'jkhkh'a'
+ Q'(asldflahsl;'dkjfhklsdfh)'
+ q'[asdasd;'asdasd'a]sd'asd'asasd]';11111111[1']; asdasdasdasd'errrrrrrrrrrrrrr-p
+
+ q'agdfgsdfgfhfghjfgh'f'f'sdfg'sdfg'dfg#a' dafdfadasfasdf;
+
+ Q'#gdfgsdfgsdfgsdfgsdfg#' afgasasdfasdfasfasdfasdfasdfasdfsdf
+
+ if sldfjsdj then
+ case
+ when 1=1 then
+ aslfjsldkfj;
+ when 2=2 then
+ asdfg;
+ else
+ null;
+ end case;
+
+ if sdfjh then
+ for i in 1 .. 2
+ LOOP
+ dbms_output.put_line(q';ololo;');
+ END Loop;
+
+ while true
+ loop
+ dbms_output.put_line('1111');
+ end loop;
+ end if;
+ ksjfklasjd;
+ fklj;
+ elsif
+ sdklfjsdklfj;
+ else
+ sdfdfsdf;
+ end if;
+end;
\ No newline at end of file
diff --git a/autotests/input/test_syntax.sql.syntax b/autotests/input/test_syntax.sql.syntax
new file mode 100644
index 0000000..679c648
--- /dev/null
+++ b/autotests/input/test_syntax.sql.syntax
@@ -0,0 +1 @@
+SQL (Oracle)
diff --git a/autotests/reference/Dockerfile.ref b/autotests/reference/Dockerfile.ref
new file mode 100644
index 0000000..092aa04
--- /dev/null
+++ b/autotests/reference/Dockerfile.ref
@@ -0,0 +1,19 @@
+# LGPLv2+ example file
+
+# This is a comment
+FROM ubuntu:14.04
+MAINTAINER James Turnbull # comment
+ENV REFRESHED_AT 2014-06-01
+
+RUN apt-get -yqq update
+RUN apt-get install -yqq software-properties-common python-software-properties
+RUN add-apt-repository ppa:chris-lea/redis-server
+RUN apt-get -yqq update
+RUN apt-get -yqq install redis-server redis-tools
+RUN apt-get -yqq update # comment
+
+VOLUME [ "/var/lib/redis" , "/var/log/redis/" ]
+
+EXPOSE 6379
+
+CMD []
diff --git a/autotests/reference/Kconfig.ref b/autotests/reference/Kconfig.ref
new file mode 100644
index 0000000..49709e2
--- /dev/null
+++ b/autotests/reference/Kconfig.ref
@@ -0,0 +1,15 @@
+This is wrong but should not crash ] ) } !
+
+# comment
+
+config BR2_PACKAGE_GAMMARAY
+ bool "gammaray"
+ depends on BR2_PACKAGE_QT5
+ help
+ GammaRay Qt introspection probe.
+ second line of help, with correct indentation
+ third line underindented and thus wrong
+ default 'true'
+
+menu myMenu
+endmenu
diff --git a/autotests/reference/Makefile.ref b/autotests/reference/Makefile.ref
new file mode 100644
index 0000000..26aa6a1
--- /dev/null
+++ b/autotests/reference/Makefile.ref
@@ -0,0 +1,25 @@
+# comment
+
+include Makefile.in
+
+ all
+
+all: target
+
+foo = bar $( var ) \
+ $( baz ) quux
+
+ifeq ( $( CC ) ,gcc)
+ bla =$( call func , param1 , param2 )
+else
+ libs =$( normal_libs )
+endif
+
+target1:
+ error
+
+target2: bla.cpp $@
+ $( CC ) bla.c -o bla.o
+ $( CC ) bla.o $< \
+ - o bla.exe
+ @ echo "hello"
diff --git a/autotests/reference/basic.markdown.ref b/autotests/reference/basic.markdown.ref
new file mode 100644
index 0000000..439cb04
--- /dev/null
+++ b/autotests/reference/basic.markdown.ref
@@ -0,0 +1,6 @@
+normal
+
+* item1
+still part of item
+
+normal text again
diff --git a/autotests/reference/basic.xml.ref b/autotests/reference/basic.xml.ref
new file mode 100644
index 0000000..9e61a57
--- /dev/null
+++ b/autotests/reference/basic.xml.ref
@@ -0,0 +1,4 @@
+ version="1.0" encoding="UTF-8" ?>
+ attr1= "a1" >
+
+
diff --git a/autotests/reference/complex.xml.ref b/autotests/reference/complex.xml.ref
new file mode 100644
index 0000000..7d9efa4
--- /dev/null
+++ b/autotests/reference/complex.xml.ref
@@ -0,0 +1,13 @@
+ version="1.0" encoding="UTF-8" ?>
+language SYSTEM "language.dtd"
+[
+
+ name "(?![0-9])[\w_:][\w.:_-]*" >
+ entref " & (#[0-9]+|#[xX][0-9A-Fa-f]+| &name; );" >
+]>
+ attr1= "a1" attr2= "2.03" attr3= " &entity; " >
+
+
+
+ wrong >>
diff --git a/autotests/reference/cube.obj.ref b/autotests/reference/cube.obj.ref
new file mode 100644
index 0000000..de5d901
--- /dev/null
+++ b/autotests/reference/cube.obj.ref
@@ -0,0 +1,33 @@
+# cube.obj
+#
+
+g cube
+
+v 0.0 0.0 0.0
+v 0.0 0.0 1.0
+v 0.0 1.0 0.0
+v 0.0 1.0 1.0
+v 1.0 0.0 0.0
+v 1.0 0.0 1.0
+v 1.0 1.0 0.0
+v 1.0 1.0 1.0
+
+vn 0.0 0.0 1.0
+vn 0.0 0.0 - 1.0
+vn 0.0 1.0 0.0
+vn 0.0 - 1.0 0.0
+vn 1.0 0.0 0.0
+vn - 1.0 0.0 0.0
+
+f 1 // 2 7 // 2 5 // 2
+f 1 // 2 3 // 2 7 // 2
+f 1 // 6 4 // 6 3 // 6
+f 1 // 6 2 // 6 4 // 6
+f 3 // 3 8 // 3 7 // 3
+f 3 // 3 4 // 3 8 // 3
+f 5 // 5 7 // 5 8 // 5
+f 5 // 5 8 // 5 6 // 5
+f 1 // 4 5 // 4 6 // 4
+f 1 // 4 6 // 4 2 // 4
+f 2 // 1 6 // 1 8 // 1
+f 2 // 1 8 // 1 4 // 1
diff --git a/autotests/reference/cube.ply.ref b/autotests/reference/cube.ply.ref
new file mode 100644
index 0000000..bb86921
--- /dev/null
+++ b/autotests/reference/cube.ply.ref
@@ -0,0 +1,26 @@
+error before header
+
+ply
+format ascii 1.0
+comment TODO this is a comment
+element vertex 8
+property float x
+property float y
+property float z
+element face 6
+property list uint int vertex_indices
+end_header
+- 1 - 1 - 1
+1 - 1 - 1
+1 1 - 1
+- 1 1 - 1
+- 1 - 1 1
+1 - 1 1
+1 1 1
+- 1 1 1
+4 0 1 2 3
+4 5 4 7 6
+4 6 2 1 5
+4 3 7 4 0
+4 7 3 2 6
+4 5 1 0 4
diff --git a/autotests/reference/cube.stl.ref b/autotests/reference/cube.stl.ref
new file mode 100644
index 0000000..d3e273d
--- /dev/null
+++ b/autotests/reference/cube.stl.ref
@@ -0,0 +1,30 @@
+solid cube_corner
+ facet normal 0.0 - 1.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 1.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+ facet normal 0.0 0.0 - 1.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 1.0 0.0 0.0
+ endloop
+ endfacet
+ facet normal - 1.0 0.0 0.0
+ outer loop
+ vertex 0.0 0.0 0.0
+ vertex 0.0 0.0 1.0
+ vertex 0.0 1.0 0.0
+ endloop
+ endfacet
+ facet normal 0.577 0.577 0.577
+ outer loop
+ vertex 1.0 0.0 0.0
+ vertex 0.0 1.0 0.0
+ vertex 0.0 0.0 1.0
+ endloop
+ endfacet
+endsolid
diff --git a/autotests/reference/example.rmd.ref b/autotests/reference/example.rmd.ref
new file mode 100644
index 0000000..da42490
--- /dev/null
+++ b/autotests/reference/example.rmd.ref
@@ -0,0 +1,39 @@
+---
+title: "test"
+author: "me"
+date: "07.10.2014"
+output: html_document
+---
+
+This is a simple test document. It shows syntax highlighting switches between YAML (above), R blocks
+```{r, echo=FALSE}
+for ( i in 1 : 10 ) {
+ if ( i >= 10 ) print ( i )
+}
+# two blank lines below
+
+sessionInfo ()
+```
+
+LaTeX equations,
+$$
+h_{i}(t \mid q,C) = h_{0}(t) e^{ \beta _{1}quality_{i} + \beta _{2}C_{iq}}
+$$
+
+and Markdown. A [link](http://example.com) in Markdown.
+
+Inline `r y <- 5 + x - sin ( 3 ) ` R code.
+Inline `y <- 5 + x - sin(3)` code.
+
+
+ Heading
+ =======
+
+ Sub-heading
+ -----------
+ A list of editors:
+ * kate
+ * vim
+ * emacs
+
+*italic*, **bold**, `monospace`
diff --git a/autotests/reference/firstNonSpace.c.ref b/autotests/reference/firstNonSpace.c.ref
new file mode 100644
index 0000000..cd3ed3f
--- /dev/null
+++ b/autotests/reference/firstNonSpace.c.ref
@@ -0,0 +1,7 @@
+#define 1
+ #define 2
+ #define 3
+ #define 4
+ #define 5
+ #define tab
+
diff --git a/autotests/reference/folding.cpp.ref b/autotests/reference/folding.cpp.ref
new file mode 100644
index 0000000..bb11920
--- /dev/null
+++ b/autotests/reference/folding.cpp.ref
@@ -0,0 +1,15 @@
+/**
+ * multi-line comment
+ */
+
+/* comment */
+{ { } {
+//BEGIN
+}
+//END
+}
+
+#if 0
+#elif 1
+#else
+#endif
diff --git a/autotests/reference/git-rebase.ref b/autotests/reference/git-rebase.ref
new file mode 100644
index 0000000..1f31fd0
--- /dev/null
+++ b/autotests/reference/git-rebase.ref
@@ -0,0 +1,32 @@
+pick 318aceb Add test for Makefile highlighting
+p 4c7182a Add first batch of test files resurrected from Kate 4.6
+r 6f7d8a7 Sync xml files with KTextEditor
+reword 8f0dbdc Add another batch of resurrected tests from Kate 4.6
+e 828de45 Add some more resurrected tests from Kate 4.6
+edit 6aa6264 Add simple coverage information for syntax definition tests
+s 63df253 Add more syntax highlighting tests from Kate 4.6
+squash 3e7771f Add three more tests recovered from Kate 4.6
+f 5c7fd91 Add Kate 4.6 ASP syntax test
+fixup 7a777ff Implement case-sensitive overrides for keyword rules
+exec 2b16665 Implement dynamic DetectChar rules
+drop dd808dc Quote captured strings we replace in regular expressions
+x 0b703a3 Add a few more tests from the Kate 4.6 test suite
+
+# Rebase a27a854 .. 0b703a3 onto a27a854 (13 command(s))
+#
+# Commands:
+# p, pick = use commit
+# r, reword = use commit, but edit the commit message
+# e, edit = use commit, but stop for amending
+# s, squash = use commit, but meld into previous commit
+# f, fixup = like "squash", but discard this commit's log message
+# x, exec = run command (the rest of the line) using shell
+# d, drop = remove commit
+#
+# These lines can be re-ordered; they are executed from top to bottom.
+#
+# If you remove a line here THAT COMMIT WILL BE LOST.
+#
+# However, if you remove everything, the rebase will be aborted.
+#
+# Note that empty commits are commented out
diff --git a/autotests/reference/hello.exs.ref b/autotests/reference/hello.exs.ref
new file mode 100644
index 0000000..1f6ce6d
--- /dev/null
+++ b/autotests/reference/hello.exs.ref
@@ -0,0 +1,11 @@
+parent = self()
+
+# Spawns an Elixir process (not an operating system one!)
+spawn_link( fn ->
+ send parent, { :msg , "hello world" }
+end )
+
+# Block until the message is received
+receive do
+ { :msg , contents} -> IO . puts contents
+end
diff --git a/autotests/reference/highlight.ahdl.ref b/autotests/reference/highlight.ahdl.ref
new file mode 100644
index 0000000..b1ff37d
--- /dev/null
+++ b/autotests/reference/highlight.ahdl.ref
@@ -0,0 +1,43 @@
+-- Test file for kate's syntax highlighting
+Title "Test file" ;
+
+-- BEGIN region (a region marker region) :)
+
+% multiline comment
+goes on here %
+
+-- END
+
+FUNCTION FCT (Clk, Key) RETURNS (pulse);
+
+SUBDESIGN CDCLOCK2
+(
+in : INPUT ; -- go in
+out[ 3 .. 0 ] : OUTPUT ; -- come out
+)
+
+VARIABLE
+start : soft ;
+usec[ 3 .. 0 ] : node ;
+
+BEGIN
+
+in = FCT(clock, some_key); -- senseless code
+
+-- comment
+blubb = (blobb[] == H"3ff" );
+
+IF in THEN asdf
+-- folde me
+END IF ;
+
+TABLE
+-- missing code
+END TABLE
+
+
+END ;
+
+-- hex, octal, binary
+H"0" => B"1000000" ;
+O "01234567" ;
diff --git a/autotests/reference/highlight.asm-avr.ref b/autotests/reference/highlight.asm-avr.ref
new file mode 100644
index 0000000..b5f68bc
--- /dev/null
+++ b/autotests/reference/highlight.asm-avr.ref
@@ -0,0 +1,75 @@
+;********************************************************************
+;* LED flasher: LED will flash with a X on/off ratio at PD6
+;*
+;* NOTE: delay depends in the value of X, 1 is fast, 255 is slow
+;*
+;* No copyright ©1998 RES® * FREEWARE *
+;*
+;* NOTE: Connect a low current LED with a 1k resistor in serie from
+;* Vdd to pin 11 of the MCU. (Or a normal LED with a 330ohm)
+;*
+;* RES® can be reached by email: digitalaudio@mail.com
+;* or visit the website: http://home.wanadoo.nl/electro1/avr
+;*
+;* Version :1.0
+;* Date :12/26/98
+;* Author :Rob's ElectroSoft®
+;* Target MCU :AT90S1200-12PI@4MHz
+;********************************************************************
+
+.include "1200def.inc"
+
+ rjmp RESET ;reset handle
+
+
+;* Long delay
+
+;* Register variables
+
+ .def T1 = r1
+ .def T2 = r2
+ .def temp = r19
+
+;* Code
+
+longDelay:
+ clr T1 ;T1 used as delay 2nd count
+ clr T2 ;T2 used as delay 3d count
+delay_1:
+ dec T2
+ brne delay_1
+ dec T1
+ brne delay_1
+ dec temp ;temp must be preset as
+ brne delay_1 ; delay master count
+ ret
+
+
+;* Resets the data direction register D
+
+;* Defines
+
+ .equ led = 6 ;LED at PD6
+
+;* Code
+
+RESET:
+ sbi DDRD , led ;connect LED to PORTD pin 6
+
+
+;* Main program
+
+;* This part will let the LED go on and off by X
+
+;* Register variables
+
+ .equ X = 10 ;enter delaytime X
+
+flash:
+ sbi PORTD , led ;LED on
+ ldi temp , X ;X sec delay
+ rcall longDelay
+ cbi PORTD , led ;LED off
+ ldi temp , X ;X sec delay
+ rcall longDelay
+ rjmp flash ;another run
diff --git a/autotests/reference/highlight.asm-nasm.ref b/autotests/reference/highlight.asm-nasm.ref
new file mode 100644
index 0000000..b1e5012
--- /dev/null
+++ b/autotests/reference/highlight.asm-nasm.ref
@@ -0,0 +1,27 @@
+; Example file for nasm.xml kate syntax file
+; compile with `nasm example.asm -f elf -o example.o`
+; and link with 'gcc example.o -o example`
+; Public domain
+; kate: hl Intel x86 (NASM);
+
+section .data
+
+hello dd 'Hello World' , 0x0A, 0 h
+printf_param dd '%s' , 0q
+
+section .text
+
+extern printf
+
+global main
+main:
+ push ebp
+ mov ebp , esp
+
+ push hello
+ push printf_param
+ call printf
+
+ mov eax , 0b
+ leave
+ ret
diff --git a/autotests/reference/highlight.asp.ref b/autotests/reference/highlight.asp.ref
new file mode 100644
index 0000000..2694397
--- /dev/null
+++ b/autotests/reference/highlight.asp.ref
@@ -0,0 +1,58 @@
+<% 'kate: hl ASP;
+if ( instr ( request . servervariables ( "PATH_INFO" ), "login.asp" ) <= 0 and instr ( request . servervariables ( "PATH_INFO" ), "inset" ) <= 0 and instr ( request . servervariables ( "PATH_INFO" ), "Data" ) <= 0 and instr ( request . servervariables ( "PATH_INFO" ), "dropDown" ) <= 0 ) then
+ Session ( "originalRequestedPage" ) = Request . ServerVariables ( "PATH_INFO" ) & "?" & Request . ServerVariables ( "QUERY_STRING" )
+end if
+
+function countRecords ( rsToCount )
+ numRecs = 0
+
+ do until rsToCount. eof
+ numRecs = numRecs + 1
+
+ rsToCount. movenext
+ loop
+
+ rsToCount. close ' just to make sure nobody
+ ' tries to operate on the recordset,
+ ' which has already reached eof
+
+ countRecords = numRecs
+end function
+
+function unique ( rs , sortColumn ) ' return unique instances of text in sortColumn within rs
+ dim sorted ()
+
+ redim sorted ( 1 )
+ dim i
+ i = 0
+ do until rs. eof
+ if ( not find ( rs ( sortColumn ), sorted )) then
+ redim preserve sorted ( i+ 1 )
+ sorted ( i ) = rs ( sortColumn )
+ i = i + 1
+ end if
+ rs. MoveNext
+ loop
+
+ redim preserve sorted ( i- 1 ) ' the function will add an extra blank entry to the array
+
+ rs. Close ' close the recordset - we'll be using it again - and reset i - well be using it again, too
+
+ unique = sorted
+end function
+
+sub testSub ( variable ) ' do nothing impressive...
+ dim newVar
+
+ newVar = variable
+
+ if ( variable = true )
+ response . end
+ else %>
+
+We are writing text.
+ class= "stuff" ><% =newVar %>
+We have written text and outputted a variable.
+
+<% end if
+end sub %>
diff --git a/autotests/reference/highlight.awk.ref b/autotests/reference/highlight.awk.ref
new file mode 100644
index 0000000..0cfac76
--- /dev/null
+++ b/autotests/reference/highlight.awk.ref
@@ -0,0 +1,28 @@
+#!/usr
+# AWK hl test
+
+# BEGIN and END are also matched as patterns
+BEGIN {
+ p = 0 ;
+}
+
+/ some pattern / {
+ p ++;
+}
+
+# / inside brackets is not considered end of expression
+# a loose division operator (/) is not mismatched as a pattern.
+$1 =~ /[^ abc/ ] def / || b == 3 / 5 {
+
+ gsub ( FILENAME ) ;
+
+}
+
+# TODO and FIXME also work in comments in Awk.
+
+# Also backslash in patterns works.
+/\ /usr \ /bin \ /awk / { print "This is me" ; }
+
+END {
+ print p ;
+}
diff --git a/autotests/reference/highlight.bib.ref b/autotests/reference/highlight.bib.ref
new file mode 100644
index 0000000..e7ffc60
--- /dev/null
+++ b/autotests/reference/highlight.bib.ref
@@ -0,0 +1,31 @@
+% test file for kate's bibtex syntax highlighting
+
+@Article { [artikel],
+author = {Me},
+title = {Something},
+journal = {JHEP},
+year = {2003},
+}
+
+@Book
+
+{
+
+[boek],
+author = " Someone ",
+title = " Something ",
+journal = " Nucl. Phys. B ",
+year = " 2003 ",
+}
+
+This is ignored by BibTeX, no special highlighting
+%This is not a comment, it is just ignored (thanks to the people in #latex) :)
+
+@string {test="lange string die ik niet vaak opnieuw wil intikken" }
+
+@PhdThesis { [thesis],
+author = {Me},
+title = {Dunno},
+school = {ITFA},
+year = {2005, hopefully},
+}
diff --git a/autotests/reference/highlight.cmake.ref b/autotests/reference/highlight.cmake.ref
new file mode 100644
index 0000000..46b3656
--- /dev/null
+++ b/autotests/reference/highlight.cmake.ref
@@ -0,0 +1,49 @@
+#this CMakeLists.txt doesn't do anything useful, but it shoudl demonstrate the cmake syntax highlighting
+#Alexander Neundorf
+
+#ok this is a comment
+#and another line
+#a built-in command, it's bold black
+ADD_DEFINITIONS (-Wall -Wctor-dtor-privacy -Woverloaded-virtual -Wno-long-long -pipe -fno-builtin -fno-exceptions)
+
+#and another function
+INCLUDE_DIRECTORIES (
+#comments are also highlighted inside function parameters
+#variables are Qt::blue
+${ CMAKE_CURRENT_SOURCE_DIR } /../../lib/qt4/include/Qt
+)
+
+# BEGIN defining a macro
+MACRO (ECOS_ADD_EXECUTABLE _exe_NAME )
+
+#special parameters are italic, see the STATIC in the next line
+ADD_LIBRARY ( ${_exe_NAME} STATIC ${ARGN} )
+#but not in the following line ?
+ ADD_LIBRARY ( ${_exe_NAME} STATIC ${ARGN} )
+# it seems the kate highlighting file could need some love, Alex
+
+
+#another command with a bunch of variables and special parameters
+ ADD_CUSTOM_COMMAND (
+ TARGET ${_exe_NAME}
+ PRE_LINK
+ COMMAND ${ CMAKE_C_COMPILER }
+ ARGS -o ${_exe_NAME}
+$\( ${_exe_NAME} _SRC_OBJS\) -nostdlib -nostartfiles -Lecos/ install /lib -Ttarget.ld
+ )
+
+#add the created files to the make_clean_files
+ SET (ECOS_ADD_MAKE_CLEAN_FILES ${ECOS_ADD_MAKE_CLEAN_FILES} ; ${_exe_NAME} ;)
+#and another command...
+ SET_DIRECTORY_PROPERTIES (
+ PROPERTIES
+ ADDITIONAL_MAKE_CLEAN_FILES " ${ECOS_ADD_MAKE_CLEAN_FILES} "
+ )
+ENDMACRO (ECOS_ADD_EXECUTABLE)
+# END of macro
+
+#calling a self-defined function, variables are also Qt::blue here
+ECOS_ADD_EXECUTABLE ( ${ PROJECT_NAME } ${the_sources} ${qt4_moc_SRCS} )
+
+
+
diff --git a/autotests/reference/highlight.css.ref b/autotests/reference/highlight.css.ref
new file mode 100644
index 0000000..0db2df3
--- /dev/null
+++ b/autotests/reference/highlight.css.ref
@@ -0,0 +1,49 @@
+/**
+ * This is a pseudo CSS file to test Kate's CSS syntax highlighting.
+ */
+
+@import url( "othersheet.css" ) screen , tv ;
+
+body {
+ font-size: 15pt ;
+ font-family: Verdana, Helvetica, "Bitstream Vera Sans" , sans-serif ;
+ margin-top: 0px ; /* yet another comment */
+ margin-bottom: 0px ;
+ // this is no comment, it's just broken!
+ margin-left: 0px ;
+ margin-right: 0px ;
+}
+
+.something
+{
+ margin-right: 0px ;
+ color: #cdd ;
+ color: #AAFE04 ;
+ color: rgb(10% , 30% , 43%) ;
+ background: maroon ;
+}
+
+a :hover {
+}
+
+#header ,
+p .intro :first-letter ,
+p :lang(nl) ,
+img [align= "right" ]
+{
+ border: 1px solid Qt:: red !important ;
+ -moz-border-radius: 15px ; /* unknown properties render italic */
+}
+
+@media print {
+
+ #header
+ {
+ display: none ;
+ }
+
+}
+
+/*
+TODO : add more tests, e.g. media
+*/
diff --git a/autotests/reference/highlight.d.ref b/autotests/reference/highlight.d.ref
new file mode 100644
index 0000000..55184da
--- /dev/null
+++ b/autotests/reference/highlight.d.ref
@@ -0,0 +1,195 @@
+/********
+* Highlight testing module.
+*
+* Do not attempt to run this!
+***********/
+module highlighttest ;
+import X = null ;
+
+/++ Pragma directives. DDoc + DDoc embedded items. Special Tokens.
++
++ ---
++ // comment
++ #line 12 "hightlighttest.d" /* block comment */
++ #line __LINE__ __FILE__ /++ embedded block comment +/
++
++ pragma /* */ ( msg , "what?" );
++ pragma ( /++ +/ lib , "insane.a" );
++ pragma (D_Custom_Extension , "custom data" );
++ ---
++/
+
+/// version condition
+version = X ;
+version (X ) ;
+version ( linux ) {}
+
+/// linkage
+extern
+ ( C ) {}
+extern :
+;
+extern ( Windows ) {}
+
+/// alias & typedef
+alias int . min minint ;
+typedef int myint ;
+
+int main ( char [][] args ) {
+ /// statements
+ if ( 1 ) {}
+ else {}
+ with ( N ) { x = B }
+
+ /// attributes
+ auto x = 1 ;
+ static if ( true ) {}
+ void ( in X , out Y ) {} // NOTE : using in like this is rare, more common to use as an expression and no way to tell apart?
+
+ /// deprecated
+ deprecated void fct ();
+
+ /// types
+ void a ;
+ ushort u ;
+ int [ uint ] AA ;
+ class C ;
+ enum N : int { A = 5 , B }
+ typeof ( u ) u2 ;
+
+ /// expressions
+ x = cast ( int ) 55 ;
+ void * p = null ;
+ p = cast ( void *) new int ;
+ x = 1 in AA ; // NOTE : a THIRD use of in. How to detect??
+ assert ( true );
+
+ /// libsymbols
+ string s = "" ;
+ throw new Exception ;
+ TypeInfo ti = typeid ( int );
+
+ /// tests
+ debug {}
+ debug ( 2 ) {}
+ debug ( DSymb ) {}
+ unittest {}
+
+ /// scope (as attribute and as statement)
+ scope struct S ;
+ scope ( exit ) {}
+ scope
+ ( success ) {} // NOTE : rules cannot match across new-lines
+ scope ( failure ) {}
+
+ /// Properties
+ x = int . min ;
+ s = ( 5 - 3 ) . stringof ;
+
+ /// strings
+ s = r"raw string" ;
+ s = x"00FF" ;
+ s = \n \a ;
+ s = \u1234 ;
+ s = \U12345678 ;
+ s = \& ;
+ char c = 'a' ;
+ s = "abc 012 \" \n \x12 \u1234 \U12345678 " ;
+ s = `BQString '"` ;
+
+ /// region markers
+ //BEGIN x
+ //END x
+
+ /// DDoc
+ /*******
+ * DDoc
+ *
+ * Section:
+ * New section.
+ * $(I italic )
+ *******/
+ /+++++++
+ + DDoc
+ + /+
+ + +/
+ +++++++/
+
+ // comments
+ // FIXME NOTE
+ /* comment */
+ /+ comment /+ nested comment +/ +/
+
+ /// brace folding
+ {
+ }
+
+ /** normal text
+ * ---
+ * .x ;
+ * ..
+ * ...
+ * ....
+ * .....
+ * _._
+ * _e1
+ * ---
+ */
+
+ /// float and int literals
+ int i ;
+ real r ;
+ ireal ir ;
+ r = .0 ;
+ r = 0f ;
+ ir = 0e0i ;
+ ir = 0.fi ;
+ r = 0.0e0 ;
+ r = 0xF.Fp0 ;
+ r = 0x_._p0_ ;
+ i = 5 ;
+ i = - 1 ;
+ i = 0b10 ;
+ i = 0070 ;
+ i = 00 ;
+ i = 0xF0 ;
+
+ /// ranges
+ int [] A ;
+ i = A [ 1 ];
+ A = A [ 0 ..$ ];
+ A = A [ 0 .. 0 ];
+ A = A [ 0 ..length ];
+
+ /// labels
+ label :
+ goto label ;
+
+ /// function, delegate
+ creal function () fp = function creal () { return 0f + 0fi ; };
+ void delegate ( in int i , lazy int b ) dg = delegate void ( int , int ) {}
+
+ /// in, out, body
+ // NOTE : highlighting in & out as statements here could be difficult
+ float F ()
+ in {}
+ out ( result ) {}
+ body {}
+
+ /// try, catch, finally
+ try {
+ throw new Exception ( "oh no... " );
+ } catch ( Exception e ) {
+ } finally {
+ }
+
+ /// mixin
+ mixin ( "return false;" ) . stringof ;
+
+ /// templates
+ macro ; // what does this do?
+ template Tp ( T ) {
+ Tp t ;
+ }
+ Tp !( int ) y ;
+}
diff --git a/autotests/reference/highlight.do.ref b/autotests/reference/highlight.do.ref
new file mode 100644
index 0000000..3b3c1f3
--- /dev/null
+++ b/autotests/reference/highlight.do.ref
@@ -0,0 +1,89 @@
+/* Test file for kate's stata syntax highlighting
+*/
+*! version 1.2.0 2mar2003 E. Leuven
+program define spellsplit
+ version 7
+ syntax [anything], spell( varlist min =2 max =2) [ by ( varlist )]
+ tokenize `spell'
+ local date0 `1'
+ local date1 `2'
+ local f0 : format `date0'
+ local f1 : format `date1'
+
+ /* set default statistic */
+ local current "mean"
+
+ gettoken left anything : anything, match (prns)
+ while "`left'" != "" {
+ if "`prns'" != "" {
+ if ! inlist ( "`left'" , "mean" , "sum" ) {
+ di as error "Statistic `left' not supported"
+ exit 198
+ }
+ local current "`left'"
+ }
+ else {
+ local `current' vars ``current' vars' `left'
+ }
+ gettoken left anything : anything, match (prns)
+ }
+ if ( "`meanvars'" != "" ) {
+ confirm var `meanvars'
+ unab meanvars : `meanvars'
+ }
+ if ( "`sumvars'" != "" ) {
+ confirm var `sumvars'
+ unab sumvars : `sumvars'
+ }
+
+ quietly {
+ g _count = 1
+ local xvars `meanvars' `sumvars' _count
+
+ /* create dummy by-var if no by option is specified */
+ if "`by'" == "" {
+ tempvar by
+ g byte `by' = 1
+ }
+ tempvar `xvars' `by'
+
+ /* create negative for subtraction when spell ends */
+ cap foreach v of varlist `xvars' {
+ g double ``v' ' = - `v'
+ local txvars `txvars' ``v' '
+ }
+ cap foreach v of varlist `by' {
+ g double ``v' ' = `v'
+ local txvars `txvars' ``v' '
+ }
+
+ stack `date0' `xvars' `by' `date1' `txvars' , into( `date0' `xvars' `by' ) clear
+
+ /* calculate totals per date */
+ cap foreach v of varlist `xvars' {
+ egen double ``v' ' = sum ( `v' ), by ( `by' `date0' )
+ }
+
+ /* unique dates only */
+ by `by' `date0' , sort : keep if _n ==1
+
+ /* calculate totals (+ when spell starts - when ends) */
+ sort `by'
+ cap foreach v of varlist `xvars' {
+ by `by' : replace `v' = sum ( ``v' ')
+ }
+ by `by' : g `date1' = `date0' [ _n + 1]
+
+ drop if `date0' > `date1'
+ drop _stack
+ drop if _count==0
+ order `by' `date0' `date1' `xvars'
+ format `date0' `f0'
+ format `date1' `f1'
+
+ cap for var `meanvars' : replace X = X/_count
+
+ compress
+ }
+
+end
diff --git a/autotests/reference/highlight.dox.ref b/autotests/reference/highlight.dox.ref
new file mode 100644
index 0000000..6a5485e
--- /dev/null
+++ b/autotests/reference/highlight.dox.ref
@@ -0,0 +1,227 @@
+This is a pseudo doxygen file to test Kate's doxyge syntax highlighting.
+
+Normal text, no HL.
+===================
+a multiline comment may begin with a /*! */ , too. That should work,
+because it is the same "entrance rule".
+
+popping tests:
+/** multiline */ end of doxygen HL mode
+/*! multiline */ end of doxygen HL mode
+//! singleline, where */ should be ignored! still doxygen HL mode
+/// singleline, where */ should be ignored! still doxygen HL mode
+///< singleline, where */ should be ignored! still doxygen HL mode
+begin and end immediately:
+/********/ actually no doxygen comment - used for "info boxes" :)
+/**/ <-- it really works --- end of doxygen HL mode
+/*!*/ end of doxygen HL mode
+
+
+/** \code rest of line is normal comment HL */ end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \file aword rest of line is normal comment HL */ end of doxygen HL mode
+/** \file */ aword <-- pop! no doxygen HL mode
+/** \file aword rest of line is normal comment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \brief A short description */ end of doxygen HL mode
+/** \brief */ A <-- pop! end of doxygen HL mode
+/** \brief A short description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \page aword rest of line is string */ end of doxygen HL mode
+/** \page */ aword <-- pop! end of doxygen HL mode
+/** \page aword rest of line is string
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword */ aword <-- pop! end of doxygen HL mode
+/** \image */ aword aword <-- pop! end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Tests for HTML tags in doxygen HL mode:
+=======================================
+/** href= "blubb" href= 'blubb' > */ end of doxygen HL mode
+/** href= "blubb" href= 'blubb' */ > end of doxygen HL mode
+/** href= "blubb" href= 'blubb */ '> end of doxygen HL mode
+/** href= "blubb" href= 'blub */ b'> end of doxygen HL mode
+/** href= "blubb" href= 'b */ lubb'> end of doxygen HL mode
+/** href= "blubb" href= ' */ blubb'> end of doxygen HL mode
+/** href= "blubb" href= */ 'blubb'> end of doxygen HL mode
+/** href= "blubb" href */ ='blubb'> end of doxygen HL mode
+/** href= "blubb" hre */ f='blubb'> end of doxygen HL mode
+/** href= "blubb" */ href='blubb'> end of doxygen HL mode
+/** href= "blubb" > */ end of doxygen HL mode
+/** href= "blubb" */ > end of doxygen HL mode
+/** href= "blubb */ "> end of doxygen HL mode
+/** href= "blub */ b"> end of doxygen HL mode
+/** href= " */ blubb"> end of doxygen HL mode
+/** href= */ "blubb"> end of doxygen HL mode
+/** href */ ="blubb"> end of doxygen HL mode
+/** h */ ref="blubb"> end of doxygen HL mode
+/** */ href="blubb"> end of doxygen HL mode
+/** */ href="blubb"> end of doxygen HL mode
+/** <*/ a href="blubb"> end of doxygen HL mode
+
+//! href= "blubb" href= 'blubb' > */ stay in doygen HL mode
+//! href= "blubb" href= 'blubb' * /> stay in doygen HL mode
+//! href= "blubb" href= 'blubb*/' > stay in doygen HL mode
+//! href= "blubb" href= 'blu*/bb' > stay in doygen HL mode
+//! href= "blubb" href= '*/blubb' > stay in doygen HL mode
+//! href= "blubb" href=*/ 'blubb' > stay in doygen HL mode
+//! href= "blubb" > */ stay in doygen HL mode
+//! href= "blubb" * /> stay in doygen HL mode
+//! href= "blubb*/" > stay in doygen HL mode
+//! href= "blub*/b" > stay in doygen HL mode
+//! href= "*/blubb" > stay in doygen HL mode
+//! href=*/ "blubb" > stay in doygen HL mode
+//! href*/= "blubb" > stay in doygen HL mode
+//! h*/ref= "blubb" > stay in doygen HL mode
+//! */href= "blubb" > stay in doygen HL mode
+//! */ href= "blubb" > stay in doygen HL mode
+//! <*/a href="blubb"> stay in doygen HL mode
+//! href= "blubb" > stay in doygen HL
+here should be normal HL mode (no doxygen!)
+
+Tests for HTML tags in doxygen HL mode with tags:
+=================================================
+
+/** \code rest of line is normal comment HL */ end of doxygen HL mode
+/** \code rest of */ > end of doxygen HL mode
+/** \code rest of */ '> end of doxygen HL mode
+/** \code rest of */ blubb'> end of doxygen HL mode
+/** \code rest of */ 'blubb'> end of doxygen HL mode
+/** \code rest of end of doxygen HL mode
+/** \code rest */ "blubb"> of end of doxygen HL mode
+/** \code rest */ ref="blubb"> of end of doxygen HL mode
+/** \code rest <*/ a href="blubb"> of end of doxygen HL mode
+/** \code rest of line is normal comment HL
+ * comment HL mode text
+ */ end of doxygen HL mode
+
+
+/** \file aword rest of line is normal comment HL */ end of doxygen HL mode
+/** \file awo */ rd end of doxygen HL mode
+/** \file awo*/ gnored_here>rd end of doxygen HL mode
+/** \file awo< */ html_should_be_ignored_here>rd end of doxygen HL mode
+/** \file a */ word end of doxygen HL mode
+/** \file aword rest of line is normal co mment HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \brief A short href= "blubb" > of href= 'blubb' > description */ end of doxygen HL mode
+/** \brief A short href= "blubb" > of href= 'blubb' */ > end of doxygen HL mode
+/** \brief A short href= "blubb" > of href= ' */ blubb'> end of doxygen HL mode
+/** \brief A short href= "blubb" > of href= */ 'blubb'> end of doxygen HL mode
+/** \brief A short href= "blubb" > of href */ ='blubb'> end of doxygen HL mode
+/** \brief A short href= "blubb" > of */ href='blubb'> end of doxygen HL mode
+/** \brief A short href= "blubb" > of <*/ /a href='blubb'> end of doxygen HL mode
+/** \brief A short href= "blubb" */ > of end of doxygen HL mode
+/** \brief A short href= "blubb */ "> of end of doxygen HL mode
+/** \brief A short href= " */ blubb"> of end of doxygen HL mode
+/** \brief A short href= */ "blubb"> of end of doxygen HL mode
+/** \brief A short href */ ="blubb"> of end of doxygen HL mode
+/** \brief A short h */ ref="blubb"> of end of doxygen HL mode
+/** \brief A short href= "blubb" > of href= 'blubb' > description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \page aword A short href= "blubb" > of href= 'blubb' > description */ end of doxygen HL mode
+/** \page aword A short href= "blubb" > of href= 'blubb' */ > end of doxygen HL mode
+/** \page aword A short href= "blubb" > of href= ' */ blubb'> end of doxygen HL mode
+/** \page aword A short href= "blubb" > of href= */ 'blubb'> end of doxygen HL mode
+/** \page aword A short href= "blubb" > of href */ ='blubb'> end of doxygen HL mode
+/** \page aword A short href= "blubb" > of */ href='blubb'> end of doxygen HL mode
+/** \page aword A short href= "blubb" > of <*/ /a href='blubb'> end of doxygen HL mode
+/** \page aword A short href= "blubb" */ > of end of doxygen HL mode
+/** \page aword A short href= "blubb */ "> of end of doxygen HL mode
+/** \page aword A short href= " */ blubb"> of end of doxygen HL mode
+/** \page aword A short href= */ "blubb"> of end of doxygen HL mode
+/** \page aword A short href */ ="blubb"> of end of doxygen HL mode
+/** \page aword A short h */ ref="blubb"> of end of doxygen HL mode
+/** \page aword A short <*/ a href="blubb"> of end of doxygen HL mode
+/** \page aword A shor*/ t of end of doxygen HL mode
+/** \page awor */ d A short of end of doxygen HL mode
+/** \page */ aword A short of end of doxygen HL mode
+/** \page aword A short href= "blubb" > of href= 'blubb' > description
+ * comment HL mode
+ */ end of doxygen HL mode
+
+
+/** \image aword aword rest of line is normal HL */ end of doxygen HL mode
+/** \image aword aword rest of line is*/ end of doxygen HL mode
+/** \image aword aword */ end of doxygen HL mode
+/** \image aword aw */ ord end of doxygen HL mode
+/** \image aword */ aword end of doxygen HL mode
+/** \image aword */ end of doxygen HL mode
+/** \image awo */ rd end of doxygen HL mode
+/** \image */ aword end of doxygen HL mode
+/** \ima */ ge end of doxygen HL mode
+/** \image aword aword rest of line is normal HL
+ * comment HL mode
+ */ end of doxygen HL mode
+
+Some further tests for singlelinecomments (* / should not pop!)
+===============================================================
+/// a singlelinecommment blubb blubb */. stay in doxygen HL mode
+/// \code a singlelinecommment blubb b*/ lubb. stay in doxygen HL mode
+/// \code */ a singlelinecommment blubb blubb. stay in doxygen HL mode
+/// \code a singlelinecommment blubb blubb
+/// \brief a descriptive text (string) stay in doxygen HL mode
+/// \brief a descriptive text (string)*/ description should go on here
+/// \brief a descriptive text */(string) description should go on here
+/// \brief */a descriptive text (string) description should go on here
+/// \ref aword a descriptive text (string) */ description should go on here
+/// \ref aword a descriptive text (str*/ing) description should go on here
+/// \ref aword a des*/criptive text (string) description should go on here
+/// \ref aword*/ a descriptive text (string) description should go on here
+/// \ref aw*/ord a descriptive text (string) description should go on here
+/// \ref */aword a descriptive text (string) description should go on here
+
+HTML comment tests:
+===================
+//! \ref word de scriptive text (string)
+normal HL mode.
+//! \ref w descriptive text (string)
+/** \ref word de scriptive text (string)
+normal HL mode.
+/** \ref w
+ * normal doxygen HL mode.
+ */
+
+
+And final tests for a word: a single char:
+===========================================
+
+//! \ref word descriptive text (string)
+//! \ref w descriptive text (string)
+
+
+//! \image word1 word2 b descriptive text (string)
+//! \image a word b descriptive text (string)
+
+
+//! \brief A b c d e description should go on here
+
+
+//! \file word rest of line is normal comment HL
+//! \file a word rest of line is normal comment HL
+
+no doxygen HL mode here.
+== END OF TESTFILE ==
diff --git a/autotests/reference/highlight.erl.ref b/autotests/reference/highlight.erl.ref
new file mode 100644
index 0000000..6fc4243
--- /dev/null
+++ b/autotests/reference/highlight.erl.ref
@@ -0,0 +1,68 @@
+% testing for the erlang syntax highlighter
+% NOTE alerts work in comments to TODO !
+
+% pragmas (show as keywords)
+-module
+-export
+-define
+-undef
+-ifdef
+-ifndef
+-else
+-endif
+-include
+-include _lib
+
+% key words
+after begin case catch cond end fun if let of query receive all_true some_true
+
+% operators
+div rem or xor bor bxor bsl bsr and band not bnot
++ - * / == /= =:= =/= < =< > >= ++ -- = ! <-
+
+% separators (show as functions)
+( ) { } [ ] . : | || ; , ? -> #
+
+% functions - predefined (part of erlang module) - show as functions
+abs accept alarm apply atom_to_list binary_to_list binary_to_term check_process_code
+concat_binary date delete_module disconnect_node element erase exit float float_to_list
+garbage_collect get get_keys group_leader halt hd integer_to_list is_alive is_atom is_binary
+is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive
+is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_float list_to_integer
+list_to_pid list_to_tuple load_module loaded localtime make_ref module_loaded node nodes now
+open_port pid_to_list port_close port_command port_connect port_control ports pre_loaded process_flag
+process_info processes purge_module put register registered round self setelement size
+spawn spawn_link spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_to_list
+unlink unregister whereis
+
+% functions - inferred
+module:function
+function ()
+
+% atoms (show as "char")
+% begin with underscore, lowercase, contain numbers letters and @ - or anything between ''
+middle_underscore
+abc ab4d a@cd8 a@
+'And this is (\012) an atom \' Atoo ' Variable 'atom again'
+
+% variables (begin with capital letter or underscore, contain numbers, letters and @)
+_leadingUnderscore AbdD@ B45@c
+
+% this is a string
+"a string sits between \" double quotes " atom " more string "
+
+% integers (decimal)
+1 . 234 $A
+
+% integers (specified base)
+2#10101 34#567
+
+% float
+12.23 12.9e-67 12.8E+89 33.34e89
+
+% and finally some real code, so we can see what it looks like...
+-module ( codetest ). % everything is in a module
+-export ([ fac / 1 ]). % name and number of arguments - need this to be called outside of the module
+
+fac ( N ) when N > 0 -> N * fac ( N - 1 );
+fac ( N ) when N == 0 -> 1 .
diff --git a/autotests/reference/highlight.exu.ref b/autotests/reference/highlight.exu.ref
new file mode 100644
index 0000000..9330549
--- /dev/null
+++ b/autotests/reference/highlight.exu.ref
@@ -0,0 +1,97 @@
+-- Test file for Kate's Euphoria syntax highlighting/code folding.
+-- BEGIN region marker test
+
+-- code here
+
+-- END region marker test
+
+-- The N Queens Problem:
+-- Place N Queens on an NxN chess board
+-- such that they don't threaten each other.
+constant N = 8 -- try some other sizes
+constant ROW = 1 , COLUMN = 2
+constant TRUE = 1 , FALSE = 0
+type square( sequence x)
+-- a square on the board
+ return length (x) = 2
+end type
+type row( integer x)
+-- a row on the board
+ return x >= 1 and x <= N
+end type
+
+function threat(square q1, square q2)
+-- do two queens threaten each other?
+ if q1[COLUMN] = q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] - q1[COLUMN] = q2[ROW] - q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] + q1[COLUMN] = q2[ROW] + q2[COLUMN] then
+ return TRUE
+ elsif q1[ROW] = q2[ROW] then
+ return TRUE
+ else
+ return FALSE
+ end if
+end function
+
+function conflict(square q, sequence queens)
+-- Would square p cause a conflict with other queens on board so far?
+ for i = 1 to length (queens) do
+ if threat(q, queens[i]) then
+ return TRUE
+ end if
+ end for
+ return FALSE
+end function
+
+integer soln
+soln = 0 -- solution number
+
+procedure print_board( sequence queens)
+-- print a solution, showing the Queens on the board
+ integer k
+ position ( 1 , 1 )
+ printf ( 1 , "Solution #%d\n\n " , soln)
+ for c = 'a' to 'a' + N - 1 do
+ printf ( 1 , "%2s" , c)
+ end for
+ puts ( 1 , "\n" )
+ for r = 1 to N do
+ printf ( 1 , "%2d " , r)
+ for c = 1 to N do
+ if find ({r,c}, queens) then
+ puts ( 1 , "Q " )
+ else
+ puts ( 1 , ". " )
+ end if
+ end for
+ puts ( 1 , "\n" )
+ end for
+ puts ( 1 , "\nPress Enter. (q to quit) " )
+ while TRUE do
+ k = get_key ()
+ if k = 'q' then
+ abort ( 0 )
+ elsif k != - 1 then
+ exit
+ end if
+ end while
+end procedure
+
+procedure place_queen( sequence queens)
+-- place queens on a NxN chess board
+-- (recursive procedure)
+ row r -- only need to consider one row for each queen
+ if length (queens) = N then
+ soln += 1
+ print_board(queens)
+ return
+ end if
+ r = length (queens)+ 1
+ for c = 1 to N do
+ if not conflict({r,c}, queens) then
+ place_queen( append (queens, {r,c}))
+ end if
+ end for
+end procedure
diff --git a/autotests/reference/highlight.f90.ref b/autotests/reference/highlight.f90.ref
new file mode 100644
index 0000000..280360b
--- /dev/null
+++ b/autotests/reference/highlight.f90.ref
@@ -0,0 +1,181 @@
+! This file is an example to test the syntax highlighting file F.xml
+! (for fortran 90 and F)
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS AN EXAMPLE OF A MODULE !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+module module_example
+
+ ! use 'implicit none' when you want all variables to be declared
+ implicit none
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! PUBLICS AND PRIVATES
+
+ ! In fortran 90 you can define your own operator
+ public :: operator ( .norm. )
+ public :: operator ( + ) ! <-- you can also overload the usual operators
+ public :: factorial
+ public :: example_fn
+
+ private :: point3d_add
+ private :: point3d_norm
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! USER-DEFINED TYPES...
+
+ ! This is a definition to use in declarations of real variables,
+ ! parameters, etc.
+ integer , parameter , public :: kr = selected_real_kind ( 10 )
+
+ ! This is a user-defined type
+ type , public :: point3d
+ real(kind=kr) :: x , y , z
+ end type point3d
+
+ ! This type is useless: it is only an example of type definition!
+ type , public :: example_type
+ complex(kind=kr) :: c ! <-- a complex number (two reals of kind kr)!
+ real , dimension(-10:10) :: & ! <-- this line does not end here!
+ r1 , r2 ! <-- this is the final part of the previous line
+ real , pointer , dimension(:) :: pointer_to_array_of_real
+ real , dimension(:) , pointer :: array_of_pointer_to_real
+ end type example_type
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! INTERFACES...
+
+ ! Interface for the norm of a 3-D vector
+ interface operator ( .norm. )
+ module procedure point3d_norm
+ end interface
+
+ ! Interface for the operator '+'
+ interface operator ( + )
+ module procedure point3d_add
+ end interface
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! SOME DECLARATIONS...
+
+ ! A real number can be declared with the following line:
+ real(kind=kr) :: real_var1
+ ! But if you are not interested on the precision of floating point numbers,
+ ! you can use simply:
+ real :: real_var2
+
+ ! An array can be declared in two ways:
+ real(kind=kr) , dimension(1:10, -4:5) , private :: a , b , c
+ real(kind=kr) , private :: d ( 1 : 10 , - 4 : 5 )
+
+ ! This is a string with fixed lenght
+ character(len=10) :: str_var
+
+ ! This is an allocatable array, which can be a target of a pointer
+ type(example_type) , private , dimension(:) , allocatable , target :: &
+ many_examples
+
+! Fortran 90 hasn't got its own preprocessor, it uses the C preprocessor!
+#ifdef XXX
+c <-- this is a comment in the old fortran 77 style (fixed form)
+c This is a free form file, so we shouldn't use this kind of comments!
+c But fortran 90 still understands fixed form, when parsing sources with
+c the *.f extension.
+ c ! <-- this 'c' shouldn't be highlighted as a comment!
+#endif
+
+contains
+
+
+ ! The sum of two points
+ pure function point3d_add ( a , b ) result ( rs )
+ type(point3d) :: rs
+ type(point3d) , intent(in) :: a , b
+ rs%x = a%x + b%x
+ rs%y = a%y + b%y
+ rs%z = a%z + b%z
+ end function point3d_add
+
+
+ ! The norm of a point
+ pure function point3d_norm ( a ) result ( rs )
+ real(kind=kr) :: rs
+ type(point3d) , intent(in) :: a
+ rs = sqrt ( a%x * a%x + a%y * a%y + a%z * a%z )
+ end function point3d_norm
+
+
+ ! A simple recursive function
+ recursive function factorial ( i ) result ( rs )
+ integer :: rs
+ integer , intent(in) :: i
+ if ( i < = 1 ) then
+ rs = 1
+ else
+ rs = i * factorial ( i - 1 )
+ end if
+ end function factorial
+
+
+ ! This is a useless function
+ subroutine example_fn ( int_arg , real_arg , str_arg )
+ integer , intent(in) :: int_arg
+ real(kind=kr) , intent(out) :: real_arg
+ character(len=*) , intent(in) :: str_arg
+
+ type(example_type) , pointer :: p
+ integer :: n , i , j
+ logical :: flag
+
+ flag = .true. ! .true. is not an operator!
+ if ( flag .and. flag ) then ! .and. is a pre-defined operator
+ print * , "blabla"
+ end if
+
+ ! Examples of inquiry functions: allocated, lbound, ubound.
+ if ( .not. allocated ( many_examples ) ) then
+ allocate ( many_examples ( 10 ) )
+ end if
+ print * , "Lower bound = " , lbound ( many_examples , 1 )
+ print * , "Upper bound = " , ubound ( many_examples , 1 )
+
+ p = > many_examples ( 5 ) ! <-- p is a pointer
+
+ ! A strange way to calculate i*i: add the first i odd numbers
+ i = 6
+ j = 0
+ do n = 1 , i
+ j = j + ( 2 * n - 1 )
+ end do
+ print * , "i*i = " , i * i , j
+
+ real_arg = real ( j ) ! <-- here the highlighting is not very good:
+ ! it is unable to distinguish between this and a definition like:
+ ! real(kind=kr) :: a
+ deallocate ( many_examples )
+ end subroutine example_fn
+
+end module module_example
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! THIS IS THE MAIN PROGRAM !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+program example
+ use module_example
+
+ ! this is another example of use of the 'implicit' keyword
+ implicit double precision ( a - h , o - z )
+
+ real(kind=kr) :: var_out
+
+ type(point3d) :: &
+ a = point3d ( 0.0_kr , 1.0_kr , 2.0_kr ), &
+ b = point3d ( 4.0_kr , 5.0_kr , 6.0_kr )
+
+ print * , "a + b = " , .norm. ( a + b )
+ print * , "factorial of 5 = " , factorial ( 5 )
+
+ call example_fn ( 1 , var_out , "hello!" )
+
+end program example
diff --git a/autotests/reference/highlight.glsl.ref b/autotests/reference/highlight.glsl.ref
new file mode 100644
index 0000000..e68474f
--- /dev/null
+++ b/autotests/reference/highlight.glsl.ref
@@ -0,0 +1,62 @@
+// This is a test file for the Katepart GLSL Syntax Highlighting.
+
+normal text
+// this is a single-line comment
+normal text
+/* this
+is a multi-line
+comment */
+normal text
+
+some_symbol . some_member ;
+some_symbol . some_member_function ();
+some_function ();
+
+// this is a function
+void main ()
+{
+ float f = 1.4e3 ; // decimal float literal
+ int i1 = 2884 ; // decimal int literal
+ int i2 = 0x44 ; // hex int literal
+ int i3 = 0456 ; // octal int literal
+}
+
+// this is a structure
+struct some_struct
+{
+ vec3 some_member_vector ;
+};
+
+# this is
+#preprocessor code
+
+// all keywords
+break continue do for while
+if else
+true false
+discard return
+struct
+
+// all basic types
+float int void bool
+mat2 mat3 mat4
+vec2 vec3 vec4
+ivec2 ivec3 ivec4
+bvec2 bvec3 bvec4
+sampler1D sampler2D sampler3D
+samplerCube sampler1DShadow sampler1DShadow
+
+// all type qualifiers
+attribute const uniform varying
+in out inout
+
+// attensions:
+// FIXME
+// TODO
+// BUG
+
+// some of the std functions
+radians degrees sin cos tan asin acos atan
+
+// some of the std variables
+gl_Position gl_PointSize gl_ClipVertex
diff --git a/autotests/reference/highlight.hs.ref b/autotests/reference/highlight.hs.ref
new file mode 100644
index 0000000..2de2d2d
--- /dev/null
+++ b/autotests/reference/highlight.hs.ref
@@ -0,0 +1,124 @@
+-- test file for Haskell syntax highlighting in KDE's Kate
+
+-- The test file for literate Haskell can be easily created like this:
+-- cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+-- You only have to manually edit the multi-line comment below.
+
+-- this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+-- I could even start a new
+-- one-line comment.
+
+-}
+
+-- a data definition
+
+data Tree a = Br ( Tree a ) ( Tree a ) | Leaf a | Nil deriving ( Show , Eq )
+
+
+-- function definition, "funnyfunction::", "Integer" , "Int" , "Bool" should be highlighted
+
+funnyfunction :: ( Tree a ) => [ a ] -> Integer -> Int -> Bool
+
+
+-- strings and chars
+-- first line of function definitions (type declaration) should be highlighted
+
+strangefunction :: Int -> String
+strangefunction 1 = "hello"
+strangefunction 2 = "what's up"
+strangefunction 3 = ( strangefunction 1 ) ++ ", " ++ ( strangefunction 2 )
+strangefunction 4 = 'a' : 'b' : 'c' : '"' : [] -- will return "abc"
+strangefunction 5 = '\n' : []
+strangefunction 6 = '\invalidhaskell' : []
+
+-- function name including the single quote character
+-- and infix operator (`div`)
+
+justtesting' :: Int -> Int
+justtesting' 2 = 2 + 1
+justtesting' 9 = 7 `div` 2
+
+-- same definition as above, slightly different function name and a couple more whitespaces
+
+justtesting'' :: Int -> Int
+justtesting'' 2 = 3
+justtesting'' 9 = 3 + 9 - 9
+
+-- the following lines are copied out of Haskell's "Prelude.hs"
+
+infixl 7 * , / , `quot` , `rem` , `div` , `mod` , :% , %
+
+
+-- everything highlighted except the "a"
+
+class Bounded a where
+ minBound , maxBound :: a
+
+class ( Num a , Ord a ) => Real a where
+ toRational :: a -> Rational
+
+-- finally, some keyword lists
+
+-- keywords
+
+case , class , data , deriving , do , else , if , in , infixl , infixr , instance , let , module , of , primitive ,
+then , type , where
+
+-- infix operators
+
+quot , rem , div , mod , elem , notElem , seq
+
+-- this stuff is not handled yet
+
+!! , % , && , $! , $ , * , ** , - , . , /= , < , <= , =<< , == , > , >= , >> , >>= , ^ , ^^ , ++ , ||
+
+-- functions
+
+FilePath , IOError , abs , acos , acosh , all , and , any , appendFile ,
+approxRational , asTypeOf , asin , asinh , atan , atan2 , atanh , basicIORun ,
+break , catch , ceiling , chr , compare , concat , concatMap , const , cos , cosh ,
+curry , cycle , decodeFloat , denominator , digitToInt , div , divMod , drop ,
+dropWhile , either , elem , encodeFloat , enumFrom , enumFromThen ,
+enumFromThenTo , enumFromTo , error , even , exp , exponent , fail , filter , flip ,
+floatDigits , floatRadix , floatRange , floor , fmap , foldl , foldl1 , foldr ,
+foldr1 , fromDouble , fromEnum , fromInt , fromInteger , fromIntegral ,
+fromRational , fst , gcd , getChar , getContents , getLine , head , id , inRange ,
+index , init , intToDigit , interact , ioError , isAlpha , isAlphaNum , isAscii ,
+isControl , isDenormalized , isDigit , isHexDigit , isIEEE , isInfinite , isLower ,
+isNaN , isNegativeZero , isOctDigit , isPrint , isSpace , isUpper , iterate , last ,
+lcm , length , lex , lexDigits , lexLitChar , lines , log , logBase , lookup , map ,
+mapM , mapM_ , max , maxBound , maximum , maybe , min , minBound , minimum , mod ,
+negate , not , notElem , null , numerator , odd , or , ord , otherwise , pi , pred ,
+primExitWith , print , product , properFraction , putChar , putStr , putStrLn ,
+quot , quotRem , range , rangeSize , read , readDec , readFile , readFloat ,
+readHex , readIO , readInt , readList , readLitChar , readLn , readOct , readParen ,
+readSigned , reads , readsPrec , realToFrac , recip , rem , repeat , replicate ,
+return , reverse , round , scaleFloat , scanl , scanl1 , scanr , scanr1 , seq ,
+sequence , sequence_ , show , showChar , showInt , showList , showLitChar ,
+showParen , showSigned , showString , shows , showsPrec , significand , signum ,
+sin , sinh , snd , span , splitAt , sqrt , subtract , succ , sum , tail , take ,
+either , elem , encodeFloat , enumFrom , enumFromThen , enumFromThenTo ,
+enumFromTo , error , even , exp , exponent , fail , filter , flip , floatDigits ,
+floatRadix , floatRange , floor , fmap , takeWhile , tan , tanh , threadToIOResult ,
+toEnum , toInt , toInteger , toLower , toRational , toUpper , truncate , uncurry ,
+undefined , unlines , until , unwords , unzip , unzip3 , userError , words ,
+writeFile , zip , zip3 , zipWith , zipWith3
+
+-- type constructors
+
+Bool , Char , Double , Either , Float , IO , Integer , Int , Maybe , Ordering , Rational , Ratio , ReadS ,
+ShowS , String
+
+-- classes
+
+Bounded , Enum , Eq , Floating , Fractional , Functor , Integral , Ix , Monad , Num , Ord , Read , RealFloat ,
+RealFrac , Real , Show
+
+-- data constructors
+
+EQ , False , GT , Just , LT , Left , Nothing , Right , True
diff --git a/autotests/reference/highlight.js.ref b/autotests/reference/highlight.js.ref
new file mode 100644
index 0000000..f9eb32e
--- /dev/null
+++ b/autotests/reference/highlight.js.ref
@@ -0,0 +1,134 @@
+/* test.js - test for javascript.xml syntax file */
+// Note: this script will not, and is not supposed to, comile in any js engine.
+
+/*
+ NOTE : The words "todo", "fixme" and "note" should be rendered in a different style
+ within comments, match should be caseless (to test for regexp insensitive attribute).
+ The regex used for this rule is */
+ String = / \b(? :fixme | todo | note )\b /
+ /* Thus, for example "Notebook" is not caught by
+ this rule. (the "?:" in the subpattern is there to avoid the regex engine wasting time
+ saving a backref, which is not used for anything. I do not know if the overhead of parsing
+ that is greater than the time saved by not capturing the text...)
+ The rule for catching these words is placed in a context "Comment common", which is used
+ by both comment contexts (single line, multiline) using the new "IncludeRules" item.
+*/
+
+// test if regex support works - nice with new fallthrough prop in context:)
+somestring . replace ( /dooh/ , "bah!" ) ;
+re = /foo/ig ; // hehe
+
+somestring . search (
+ / ^ foo \w + \s\d {0,15}$ /
+ ) ;
+
+ re =
+ /dooh/ ;
+
+// This is supposedly legal:
+re = somebool ? /foo/ : /bar/ ;
+
+// NOTE - Special case: an empty regex, not a comment.
+// The rule uses a positive lookahead assertion to catch it: "//(?=;)".
+re = //;
+re = /a | b/ ;
+
+/*
+ Tests for the regex parser.
+ It will parse classes, quanitfiers, special characters and regex operaters,
+ as specified in the netscape documentation for javascript.
+ Regexps are only parsed in their clean form, as the RegExp(string) constructor
+ is using a quoted string.
+ TODO : Find out if more regex feats should be supported.
+ Consider using more itemDatas - assertion, quantifier are options.
+*/
+
+re = / ^ text \s + \d + \s *$ / ;
+re = /a pattern with caret \( ^ \) in it/ ;
+re = / ( \d {0,4}) \D / ;
+re = / [a-zA-Z_] + / ;
+re = / [ ^\d ^] + / ;
+re = / \s +? \w +\.$ / ;
+re = / \/\/ / ;
+re = /a | b/ ;
+
+// a test if #pop back from a comment will work
+re = /*/foo/*/ /bar/ ;
+// ^ POP
+// ^ we got back after pop in comment, if there is regexp attribs here :-)
+
+/*
+ Some tests if the fallthrough works.
+ The fallthrough happens if a regexp is not found in a possible (!) position,
+ which is after "search(" or "replace(" or "=" or "?" or ":" in version 0.1 of the xml file
+*/
+
+var foo = 'bar' ;
+// ^ fallthrough!
+
+
+somestring . replace ( new RegExp ( " \\ b \\ w+ \\ b" ) , "word: $1" ) ;
+// ^ fallthrough expected. ("new" whould be bold)
+
+
+something . method =
+ function ( a , b , c ) { /* ... */ }
+// ^ fallthrough ?!
+
+something . other =
+function ( d , e , f ) { /* ... */ }
+// fallthrough expected at col 0 ("function" should be bold)
+
+var ary = new Array ( 5 ) ;
+// ^ fallthrough ? (if keyword is correctly rendered)
+
+var b = a ? 1 : 0 ;
+// ^ ^ fallthroughs. numbers must be rendered correctly.
+
+var c = d ? true : false ;
+
+var conditinalstring = b ?
+ "something" :
+ "something else" ;
+// guess...
+
+
+/*
+ Normal program flow...
+*/
+
+if (something)
+ dostuff () ;
+else
+ dont () ;
+
+ return ;
+
+try { bla () } catch (e) { alert ( "ERROR! : " + e) }
+
+for (int i = 0 ; i < j ; i ++ )
+ document . write ( "i is" + i + " " ) ;
+
+while (something)
+{
+ block () ;
+ picky :
+ if ( ! 1 )
+ break ;
+ else
+ continue ;
+}
+
+with (a) {
+ do {
+ stuff ( b ) ; // a.b if it exists
+ } while (itmakessense) ;
+}
+
+switch (i) {
+ case 0 :
+ f () ;
+ break ;
+ default :
+ break ;
+}
diff --git a/autotests/reference/highlight.jsp.ref b/autotests/reference/highlight.jsp.ref
new file mode 100644
index 0000000..3eb1795
--- /dev/null
+++ b/autotests/reference/highlight.jsp.ref
@@ -0,0 +1,170 @@
+<%--
+ This page won't actually work, as it is simply designed to display jsp syntax highlighting.
+--%>
+<%@ page info = "A Page to Test Kate Jsp Syntax Highlighting" language = "java" errorPage = "/test-error-page.jsp" %>
+<%@ include file = "/include/myglobalvars.jsp" %> --%>
+<%@ page import = "java.util.*,
+ java.io.*,
+ java.math.*" %>
+<%@ taglib uri = "/WEB-INF/lib/si_taglib.tld" prefix = "si" %>
+ id = "aPageBean" scope = "page" class = "my.package.MyPageBean" />
+ id = "aRequestBean" scope = "request" class = "my.package.MyRequestBean" />
+<%
+ // We can decipher our expected parameters here.
+ String parm1 = noNull ( request.getParameter ( PARAMETER_1 )) .trim () ;
+ String parm2 = noNull ( request.getParameter ( PARAMETER_2 )) .trim () ;
+ String parm3 = noNull ( request.getParameter ( PARAMETER_3 )) .trim () ;
+ String parm4 = noNull ( request.getParameter ( PARAMETER_4 )) .trim () ;
+ String parm5 = noNull ( request.getParameter ( PARAMETER_5 )) .trim () ;
+
+ // A sample collection of Integers to display some code folding.
+ List intList = getIntList ( 10 ) ;
+
+
+%>
+
+ A Sample Jsp
+
+
+
+
+ <%-- The top label table. --%>
+ width = "400" cellpadding = "0" cellspacing = "0" border = "0" >
+
+ size = "3" >The following parameters were detected:
+
+
+
+ <%-- Display the parameters which might have been passed in. --%>
+ width = "400" cellpadding = "0" cellspacing = "0" border = "0" >
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_1
+ align = "center" > <%= PARAMETER_1 %>
+ align = "right" >" <%= parm1 %> "
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_2
+ align = "center" > <%= PARAMETER_2 %>
+ align = "right" >" <%= parm2 %> "
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_3
+ align = "center" > <%= PARAMETER_3 %>
+ align = "right" >" <%= parm3 %> "
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_4
+ align = "center" > <%= PARAMETER_4 %>
+ align = "right" >" <%= parm4 %> "
+
+
+ <%-- Label; Actual Parameter String; Value Detected --%>
+
+ PARAMETER_5
+ align = "center" > <%= PARAMETER_5 %>
+ align = "right" >" <%= parm5 %> "
+
+
+
+
+
+ <%-- Display our list of random Integers (shows code folding). --%>
+ width = "400" cellpadding = "0" cellspacing = "0" border = "0" >
+<%
+ if ( intList != null && intList.size () > 0 ) {
+%>
+ Here are the elements of intList...
+<%
+ Iterator intListIt = intList.iterator () ;
+ while ( intListIt.hasNext ()) {
+ Integer i = ( Integer ) intListIt.next () ;
+%>
+ <%= i.toString () %>
+<%
+ }
+ } else {
+%>
+ color = "blue" >Oooops, we forgot to initialize intList!
+<%
+ }
+%>
+
+
+
+
+ <%-- We can call javascript functions. --%>
+
+
+
+ <%-- If we actually had defined a tag library. --%>
+ width = "400" cellpadding = "0" cellspacing = "0" border = "0" >
+
+ prop1 = "first" prop2 = "third" >
+ nameProp = "value1" />
+ nameProp = "value2" />
+
+
+
+
+
+ <%-- Expression language. --%>
+ width = "400" cellpadding = "0" cellspacing = "0" border = "0" >
+ test = " ${ ! empty param.aParam } " >
+ var = "myParam" scope = "session" value = " ${ param.aParam } " />
+
+
+ myParam's value: " value = " ${ myParam } " default == "Default" /> "
+
+
+
+<%!
+ /* A place for class variables and functions... */
+
+ // Define some sample parameter names that this page might understand.
+ private static final String PARAMETER_1 = "p1" ;
+ private static final String PARAMETER_2 = "p2" ;
+ private static final String PARAMETER_3 = "p3" ;
+ private static final String PARAMETER_4 = "p4" ;
+ private static final String PARAMETER_5 = "p5" ;
+
+ // Returns str trimmed, or an empty string if str is null.
+ private static String noNull ( String str ) {
+ String retStr;
+ if ( str == null )
+ retStr = "" ;
+ else
+ retStr = str.trim () ;
+
+ return retStr;
+ }
+
+ // Returns a list of Integers with listSize elements.
+ private static List getIntList ( int listSize ) {
+ ArrayList retList = new ArrayList ( listSize ) ;
+ for ( int i = 0 ; i < listSize; i ++)
+ retList.add ( new Integer ( ( int ) ( Math .random () * 100 ) )) ;
+
+ return retList;
+ }
+%>
diff --git a/autotests/reference/highlight.lex.ref b/autotests/reference/highlight.lex.ref
new file mode 100644
index 0000000..141a5da
--- /dev/null
+++ b/autotests/reference/highlight.lex.ref
@@ -0,0 +1,82 @@
+/* This test file tests kates Lex/Flex highlighting */
+
+%option c++
+%option yyclass="KateTester"
+%option yylineno
+
+ /* This is a C(++) comment */
+
+/* This one is a lex comment ! */
+
+%{
+#include
+#include "realparser.hpp"
+using namespace std ;
+%}
+
+/* Some definitions */
+DIGIT [0-9]
+LETTER [_a-zA-Z]
+
+%%
+
+ /* Comment *shall be indented here* */
+[ \t\n\r ]+
+
+ /* Note: there is a bad } just here vvv */
+\/\* ([^ \* ]| \* [^/])* \*\/ { foo ( a , b , c ) ; } }
+
+ /* A start condition scope... */
+{
+ "a" {
+
+ /* C mode ! */
+ return 0 ;
+}
+
+ "b" %{
+
+ /* C mode, too ! */
+ return 0 ;
+%}
+
+ "c" return 0 ; // C++ comment
+}
+
+ /* Big rule */
+\" ([^" \\ ]| \\ .)* \" {
+
+ yylval . string_val = new char [ strlen ( yytext ) + 1 ] ;
+ int j = 0 , i = 1 ;
+
+ while ( yytext [ i ] != '"' )
+ if ( yytext [ i ] != ' \\ ' )
+ yylval . string_val [ j ++] = yytext [ i ++] ;
+ else
+ switch ( yytext [ i + 1 ])
+ {
+ case 'n' :
+ yylval . string_val [ j ++] = ' \n ' ; i += 2 ;
+ break ;
+ default :
+ yylval . string_val [ j ++] << yytext [ i + 1 ] , i += 2 ;
+ }
+
+ yylval . string_val [ j ] = 0 ;
+ return TOK_STRING ;
+
+}
+
+ /* Dot (match all) */
+. { return yylval . int_val = yytext [ 0 ] ; }
+
+%%
+
+// Here is pure C(++)
+#include
+
+int main ( void )
+{
+ std::cout << "Hello, World \n " ;
+ return 0 ;
+}
diff --git a/autotests/reference/highlight.lhs.ref b/autotests/reference/highlight.lhs.ref
new file mode 100644
index 0000000..5fb1ae0
--- /dev/null
+++ b/autotests/reference/highlight.lhs.ref
@@ -0,0 +1,124 @@
+test file for Haskell syntax highlighting in KDE's Kate
+
+The test file for literate Haskell can be easily created like this:
+ cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs
+You only have to manually edit the multi-line comment below.
+
+this is a single-line comment
+
+{- this is a multi-line comment
+
+Things like "a string" or a 'c' character shouldn't be highlighted in here.
+
+I could even start a new
+one-line comment.
+
+-}
+
+a data definition
+
+> data Tree a = Br ( Tree a ) ( Tree a ) | Leaf a | Nil deriving ( Show , Eq )
+
+
+function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted
+
+> funnyfunction :: ( Tree a ) => [ a ] -> Integer -> Int -> Bool
+
+
+strings and chars
+first line of function definitions (type declaration) should be highlighted
+
+> strangefunction :: Int -> String
+> strangefunction 1 = "hello"
+> strangefunction 2 = "what's up"
+> strangefunction 3 = ( strangefunction 1 ) ++ ", " ++ ( strangefunction 2 )
+> strangefunction 4 = 'a' : 'b' : 'c' : '"' : [] -- will return "abc"
+> strangefunction 5 = '\n' : []
+> strangefunction 6 = '\invalidhaskell' : []
+
+function name including the single quote character
+and infix operator (`div`)
+
+> justtesting' :: Int -> Int
+> justtesting' 2 = 2 + 1
+> justtesting' 9 = 7 `div` 2
+
+same definition as above, slightly different function name and a couple more whitespaces
+
+> justtesting'' :: Int -> Int
+> justtesting'' 2 = 3
+> justtesting'' 9 = 3 + 9 - 9
+
+the following lines are copied out of Haskell's "Prelude.hs"
+
+> infixl 7 * , / , `quot` , `rem` , `div` , `mod` , :% , %
+
+
+everything highlighted except the "a"
+
+> class Bounded a where
+> minBound , maxBound :: a
+
+> class ( Num a , Ord a ) => Real a where
+> toRational :: a -> Rational
+
+finally, some keyword lists
+
+keywords
+
+> case , class , data , deriving , do , else , if , in , infixl , infixr , instance , let , module , of , primitive ,
+> then , type , where
+
+infix operators
+
+> quot , rem , div , mod , elem , notElem , seq
+
+this stuff is not handled yet
+
+> !! , % , && , $! , $ , * , ** , - , . , /= , < , <= , =<< , == , > , >= , >> , >>= , ^ , ^^ , ++ , ||
+
+functions
+
+> FilePath , IOError , abs , acos , acosh , all , and , any , appendFile ,
+> approxRational , asTypeOf , asin , asinh , atan , atan2 , atanh , basicIORun ,
+> break , catch , ceiling , chr , compare , concat , concatMap , const , cos , cosh ,
+> curry , cycle , decodeFloat , denominator , digitToInt , div , divMod , drop ,
+> dropWhile , either , elem , encodeFloat , enumFrom , enumFromThen ,
+> enumFromThenTo , enumFromTo , error , even , exp , exponent , fail , filter , flip ,
+> floatDigits , floatRadix , floatRange , floor , fmap , foldl , foldl1 , foldr ,
+> foldr1 , fromDouble , fromEnum , fromInt , fromInteger , fromIntegral ,
+> fromRational , fst , gcd , getChar , getContents , getLine , head , id , inRange ,
+> index , init , intToDigit , interact , ioError , isAlpha , isAlphaNum , isAscii ,
+> isControl , isDenormalized , isDigit , isHexDigit , isIEEE , isInfinite , isLower ,
+> isNaN , isNegativeZero , isOctDigit , isPrint , isSpace , isUpper , iterate , last ,
+> lcm , length , lex , lexDigits , lexLitChar , lines , log , logBase , lookup , map ,
+> mapM , mapM_ , max , maxBound , maximum , maybe , min , minBound , minimum , mod ,
+> negate , not , notElem , null , numerator , odd , or , ord , otherwise , pi , pred ,
+> primExitWith , print , product , properFraction , putChar , putStr , putStrLn ,
+> quot , quotRem , range , rangeSize , read , readDec , readFile , readFloat ,
+> readHex , readIO , readInt , readList , readLitChar , readLn , readOct , readParen ,
+> readSigned , reads , readsPrec , realToFrac , recip , rem , repeat , replicate ,
+> return , reverse , round , scaleFloat , scanl , scanl1 , scanr , scanr1 , seq ,
+> sequence , sequence_ , show , showChar , showInt , showList , showLitChar ,
+> showParen , showSigned , showString , shows , showsPrec , significand , signum ,
+> sin , sinh , snd , span , splitAt , sqrt , subtract , succ , sum , tail , take ,
+> either , elem , encodeFloat , enumFrom , enumFromThen , enumFromThenTo ,
+> enumFromTo , error , even , exp , exponent , fail , filter , flip , floatDigits ,
+> floatRadix , floatRange , floor , fmap , takeWhile , tan , tanh , threadToIOResult ,
+> toEnum , toInt , toInteger , toLower , toRational , toUpper , truncate , uncurry ,
+> undefined , unlines , until , unwords , unzip , unzip3 , userError , words ,
+> writeFile , zip , zip3 , zipWith , zipWith3
+
+type constructors
+
+> Bool , Char , Double , Either , Float , IO , Integer , Int , Maybe , Ordering , Rational , Ratio , ReadS ,
+> ShowS , String
+
+classes
+
+> Bounded , Enum , Eq , Floating , Fractional , Functor , Integral , Ix , Monad , Num , Ord , Read , RealFloat ,
+> RealFrac , Real , Show
+
+data constructors
+
+> EQ , False , GT , Just , LT , Left , Nothing , Right , True
diff --git a/autotests/reference/highlight.lisp.ref b/autotests/reference/highlight.lisp.ref
new file mode 100644
index 0000000..ac7a07f
--- /dev/null
+++ b/autotests/reference/highlight.lisp.ref
@@ -0,0 +1,36 @@
+;; This test file tests kates common lisp highlighting
+#|
+multilinecomment :)
+|#
+
+;BEGIN region marker
+
+;END end
+
+( defun bin-search ( obj vec )
+ ( let (( len ( length vec )))
+ ( and ( not ( zerop len ))
+ ( finder obj vec 0 ( - len 1 )))))
+
+( defun parse-date ( str )
+ ( let (( toks ( tokens str #'constituent 0 )))
+ ( list ( parse-integer ( first toks ))
+ ( parse-month ( second toks ))
+ ( parse-integer ( third toks )))))
+
+( defconstant month-names
+ # ( "jan" "feb" "mar" "apr" "may" "jun"
+ "jul" "aug" "sep" "oct" "nov" "dec" ))
+
+( defstruct buf
+ vec ( start -1 ) ( used -1 ) ( new -1 ) ( end -1 ))
+
+( defparameter *words* ( make-hash-table :size 10000 ))
+
+( defmacro while ( test & rest body )
+ ` ( do ()
+ (( not ,test ))
+ ,@body ))
+
+( define-modify-macro append1f ( val )
+ ( lambda ( lst val ) ( append lst ( list val ))))
diff --git a/autotests/reference/highlight.ly.ref b/autotests/reference/highlight.ly.ref
new file mode 100644
index 0000000..c96f643
--- /dev/null
+++ b/autotests/reference/highlight.ly.ref
@@ -0,0 +1,114 @@
+% This is a file to test the Lilypond highlighting features of Katepart.
+% This is NOT a valid lilypond file, because it also shows the
+% highlighting of some invalid lilypond constructs!
+% This is a line comment.
+
+%{
+this is a block comment, that can occur inside a line, or across
+multiple lines.
+%}
+
+\header {
+ title = "Katepart Lilypond syntax highlighting test file"
+ composer = %{"Wilbert Berendsen"%} "Anonymus"
+ poet = "The KDE team"
+ opus = "1"
+ copyright = "Share and enjoy!"
+}
+
+\paper {
+ # ( set-paper-size "a4" ) % a hash introduces scheme
+ indent = 0 % recognize variable names inside \paper, \layout etc.
+ between-system-space = 3 \mm
+}
+
+\layout {
+ \context {
+ \Score
+ \remove Bar_number_engraver % recognize engraver names
+ \remove "Bar_number_engraver" % also when quoted!
+ }
+}
+
+% { and << block are folded
+\score {
+ \new StaffGroup <<
+ \new ChordNames \chordmode { c 2 sus4/f g 2 /d c 1 }
+ \new Staff \new Voice = "mel" {
+ \key f \major
+ \time 4/4
+ \partial 4
+ \set Staff . instrumentName = "Bla."
+ \once \override Staff . NoteHead #'color = #red
+ % dynamics, articulations and markup
+ c 8 \p d \< e -. f -> g a \f c -5 \markup { Hoi }
+ \notemode { c d e f }
+ \repeat volta 2 {
+ % complex durations are highlighted:
+ g 4*2/3
+ }
+ \times 2/3 { e 8 f g }
+ % there is some error checking:
+ % often made mistake to have octavemarks after the duration:
+ c2'
+ % invalid durations are caught:
+ g 3
+ }
+ \context Lyrics \lyricsto "mel" {
+ \set fontSize = # 1
+ this is a line of ly -- rics.
+ with 4 dur -- a -- tions. 2.
+ % errors like forgetting spaces are found:
+ space-- flight %{i.s.o.%} space -- flight
+ space at end for -- got -- ten as well.}
+
+ \new DrumStaff \drummode { hihat 4 bassdrum 8 }
+ \new FiguredBass \figuremode {
+ < 5 4 > 8 < 6- >
+ }
+ >>
+ \midi {
+ \context {
+ \Score
+ tempoWholesPerMinute = # ( ly:make-moment 60 2 )
+ }
+ }
+}
+
+av = # (define-music-function (parser location voice)
+( string? )
+; scheme comments are recognized in scheme
+; Lilypond inside scheme works as well:
+#{
+ \set associatedVoice = $voice
+#})
+
+
+
+
+% inside scheme some elements are highlighted:
+# (define (naturalise-pitch p)
+ ( let* ((o (ly:pitch-octave p))
+ (a (* 4 (ly:pitch-alteration p)))
+ (n (ly:pitch-notename p)))
+ (bla ' ArticulationEvent ' ChoirStaff )
+ ( cond
+ ((> a 2 ) ( set! a (- a 4 )) ( set! n (+ n 1 )))
+ ((< a -2 ) ( set! a (+ a 4 )) ( set! n (- n 1 ))))
+
+ ( if (< n 0 ) ( begin ( set! o (- o 1 )) ( set! n (+ n 7 ))))
+ ( if (> n 6 ) ( begin ( set! o (+ o 1 )) ( set! n (- n 7 ))))
+
+ (ly:make-pitch o n (/ a 4 ))) )
+
+% markup is also highlighted
+\markup {
+ \line {
+ text test Voice Staff % note Lilypond keywords are not highlighted here
+ }
+ \score { \relative c' { < ceg > 2 ( d ) } }
+ \italic bla
+ \override #' ( baseline-skip . 2 ) {
+ \underline blu
+ }
+}
diff --git a/autotests/reference/highlight.m.ref b/autotests/reference/highlight.m.ref
new file mode 100644
index 0000000..53e4f52
--- /dev/null
+++ b/autotests/reference/highlight.m.ref
@@ -0,0 +1,61 @@
+%%=====================================================
+% MATLAB test code for Kate/Kwrite syntax highlighting
+% kate: hl Matlab
+%%=====================================================
+
+% Numbers _____________________________________________
+5 , 5.5 , .1 , 0.1 , 0.4e5 , 1.2e-5 , 5i , 5.3i , 6j , .345 + 3i
+5 ', 5.5 ', .1 ', 0.1 ', 0.4e5 ', 1.2e-5 ', 5i ', 5.3i ', 6j ', .345 + 3i '
+
+% Operators ___________________________________________
+% relational operators
+'asdf' ~= 4 , c <= 4 , d >= 4 , a < b , a > b , a == b , b || c , b && c
+% elementwise arithmetic operators
+a .^ b , a .* b a ./ b , 1 : 4 : 5
+% single-character binary arithmetic
+a + 3 , a - 3 , a * 2 , a ^ 3 , a / 3 , a \ 3 , a | b , a & b
+% unary operators
+a = ~ g ; g = @ sfdgdsf ( sdfsd , 345 ) ; g .' + 1i .' - ( 'asdf' ) .'
+% separators and delimiter
+( asd ) , [ sadf ] ; { asdf } ,;;,;;; ()
+% continuation
+a = 1 + ...
+ 2 ;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+% complete strings
+'string' % simple string
+'''' % string containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' 'asdf''' variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + ( asdf ) ' - 'asdf' .' + [] ''''.'; ''
+'sadf' .' % string transpose
+% adjoint
+{ 'asdf' } ' + 1
+( 'asdf' ) ' + 1
+[ 'asdf' ] ' + 1
+'' var ''' % empty string, var with >1 adjoints
+[ 5 ] '* { 5 } '* ( 'asd' ) '.'+ ( 5 ) '* 6 '* asdf '* asdf '.' % many adjoints
+A '* B + 1 % adjoint
+A .'* B + 1 % transpose
+A .'.'* B + 1 % double transpose
+A '.' + 1 % adjoint, then transpose
+A .'' % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function , persistent , global
+switch , case , otherwise
+if , else , elseif
+try , catch
+for , while , break , continue
+end , return
+function , FUNCTION , Function % case sensitive!
diff --git a/autotests/reference/highlight.mac.ref b/autotests/reference/highlight.mac.ref
new file mode 100644
index 0000000..c8582c6
--- /dev/null
+++ b/autotests/reference/highlight.mac.ref
@@ -0,0 +1,145 @@
+/*
+------------------------------------------------------------------------
+Efficient Galois Fields in Maxima
+
+by Alasdair McAndrew
+and later extended by Fabrizio Caruso and Jacopo Daurizio
+
+it is distribuited together with gf_roots by Jacopo Daurizio
+
+Authors:
+
+Fabrizio Caruso (optimizations, testing)
+Jacopo D'Aurizio (optimizations, modular roots)
+Alasdair McAndrew (original version of the package, pohlig-helman log, etc... )
+------------------------------------------------------------------------*/
+
+/* Released under terms of the GNU General Public License, version 2,
+ * by permission of the authors to Robert Dodier circa 2007-12-02.
+ */
+
+/* Defines a flag for dealing with large fields. If it is set to "false",
+then lookup tables are used for exponentiation and logarithms. Otherwise
+other algorithms are used */
+
+define_variable ( largefield , true , bool )$
+define_variable ( gf_char , 0 , integer )$
+define_variable ( gf_exp , 0 , integer )$
+define_variable ( gf_order , 0 , integer )$
+define_variable ( gf_one , '
gf_one , any_check )$
+define_variable ( gf_prim , '
gf_prim , any_check )$
+define_variable ( gf_irr , '
gf_irr , any_check )$
+define_variable ( gf_list , '
gf_list , any_check )$
+define_variable ( gen_powers , '
gf_list , any_check )$
+remvalue ( x , z , gf_char , gf_exp , gf_irr , pg , gp , lg , gf_prim , gf_one , gf_order , gf_list , gen_powers )$
+
+
+/* --------------------------------------------------------------------------------------------- */
+/* Settings */
+
+GF_VERBOSE : false ; /* Verbosity */
+GF_WARNING : true ; /* Warnings */
+GF_IRREDUCIBILITY_CHECK : false ; /* Irreducibility test for the minimal polynomial of the extension */
+
+/*
+------------------------------------------------------------------------------------------------ */
+
+
+/* It defines a new current field with gf_char=b, min. pol.= p of deg= e*/
+gf_set ([ ars ]):= block ([ gj , m , i , j , dg ],
+ if length ( ars )= 1 then
+ (
+ gf_setp ( ars [ 1 ]),
+ return ( true )
+ )
+ else
+ (
+ if length ( ars )= 2 then
+ (
+ if numberp ( ars [ 2 ]) then
+ (
+ if ars [ 2 ]= 0 and GF_WARNING then
+ (
+ print ( "WARNING: the irreducible is zero! We assume GF(" , ars [ 1 ], ")" ),
+ gf_setp ( ars [ 1 ]),
+ return ( true )
+ )
+ else
+ (
+ error ( "ERROR: you tried to extend with a non-zero constant!" ),
+ return ( false )
+ )
+ )
+ else
+ (
+ dg : hipow ( ars [ 2 ], x ),
+
+ if dg = 1 then
+ gf_setp ( ars [ 1 ]),
+ gf_irr : ars [ 2 ],
+ gf_exp : dg ,
+ return ( true )
+ )
+ )
+ else
+ (
+ gf_exp : ars [ 2 ],
+ if gf_exp = 1 then
+ (
+ gf_setp ( ars [ 1 ]),
+ gf_irr : rat ( ars [ 3 ]),
+ return ( true )
+ ),
+ gf_irr : rat ( ars [ 3 ])
+ )
+ ),
+
+ gf_char : ars [ 1 ],
+ gf_one : rat ( 1 , x ),
+ gf_order : gf_char ^ gf_exp -1 ,
+
+ m : makelist ( coeff ( gf_irr , x , i ), i , 0 , gf_exp ),
+ gf_list :[[ first ( m ), 0 ]], j : 1 ,
+ for i : 2 thru gf_exp +1 do if m [ i ]= 0 then j : j +1 else ( gf_list : endcons ([ m [ i ], j ], gf_list ), j : 1 ),
+
+ if not ( primep ( gf_char )) then error ( "ERROR: Gf_Char must be a prime number." )
+ else
+ modulus : gf_char ,
+ if GF_IRREDUCIBILITY_CHECK and
+ hipow ( args ( factor ( ars [ 3 ]))[ 1 ], x )# hipow ( rat ( ars [ 3 ]), x ) then
+ error ( "ERROR: Polynomial is not irreducible" ),
+
+ if not ( largefield ) then
+ (
+ pg : mkpowers (),
+ lg : mklogs ()
+ )
+ else
+ (
+ if GF_VERBOSE then
+ print ( "finding a primitive element..." ),
+
+ gf_prim : rat ( gf_findprim (), x ),
+ if GF_VERBOSE then
+ print ( "...primitive element found." )
+
+ ),
+ modulus : false , /* it resets the modulus */
+ return ( true )
+
+ )$
+
+
+/* Prints out information about the field */
+gf_info ():= block (
+ print ( "Prime gf_char value: " , gf_char ),
+ print ( "Exponent: " , gf_exp ),
+ print ( "Multiplicative order: " , gf_order ),
+ print ( "Irreducible polynomial: " , gf_irr ),
+ print ( "Primitive element: " , gf_prim ),
+ if ( largefield ) then
+ print ( "Largefield flag is true; powers and logarithms not computed." )
+ else
+ print ( "Largefield flag is false; powers and logarithms computed." ),
+ disp ()
+)$
diff --git a/autotests/reference/highlight.mup.ref b/autotests/reference/highlight.mup.ref
new file mode 100644
index 0000000..f48c01b
--- /dev/null
+++ b/autotests/reference/highlight.mup.ref
@@ -0,0 +1,103 @@
+// This is a MUP highlighting test.
+// Mup is a shareware music publisher from www.arkkra.com
+
+// contexts
+score
+music
+staff 1
+voice 1 3
+
+top
+top2
+bottom
+bottom2
+grids
+
+headshapes
+
+
+header
+footer
+header2
+footer2
+
+// parameters and values
+score
+ units = cm ;
+ key = 3#minor
+ key = 3# minor
+ rehstyle = circled
+
+
+
+
+mussym above all : 1 "ferm" ;
+
+define NAME
+// this is a macro definition, these are collapsable
+@
+
+ifdef NAME
+// this is conditionally "compiled"
+endif
+
+ifndef NAME
+// this is conditionally "compiled" when the macro has not been defined
+else
+// else clause
+endif
+
+
+// Various Tests
+
+// tablature
+1: e ^ f ; f ; b ^ c5 ; c#5 ;
+bar
+
+1: d+ ^ e+ g ^ a ; e+a ; g ^/; c ^/ c+ ^/;
+bar
+
+// cross-staff stems
+1: 1e+g+c++ ;
+2: cc+ ; ee+ ; g with g+ above ; with c+c++ above ;
+bar
+
+1: 2+ 4ceg ; 4 ; // tie implied by added time values
+
+// slurs
+1: 2f a c+ ; dbd+ ;
+bar
+1: 2fac+ slur ; dbd+ ;
+bar
+
+// alternation
+1: 2c alt 2 ; 2c+ ; 2g ;
+bar
+
+// bar to draw if repeatstart happens to be on new line
+( dblbar ) repeatstart
+1: [ up ] 8f bm with staff below ; a ; 4s ebm ; 4s bm with staff below ; 8b ; [ len 11 ] d ebm ;
+2: 4s bm with staff above ; 8a ; b ebm ; [ down ; len 14 ] b bm with staff above ; d ; 4s ebm ;
+bar
+
+// locations
+3: 2cf ; [ =h ] egc+ ;
+1: [ cue ; with > ; =_ch ] fa ;
+
+
+roll up 1 1 to 1 2: 2 ; 4 ;
+roll down 1 1 to 1 2: 2 ; 4 ;
+
+lyrics above 1,3 ; below 2, 4 ; between 5&6 : " < 1. > Hi, hi" ;
+
+title "page \% of \# "
+
+// shaped whole rests
+1: 4mr ; // use a quarter rest symbol
+1: 1/4mr ; // use a quadruple whole rest symbol
+2: 2.. mr ; // use a double-dotted half rest
+
+// tuplets
+1: { 4f ; g ; } 3n um ,4.+2.
+bar
+
diff --git a/autotests/reference/highlight.pb.ref b/autotests/reference/highlight.pb.ref
new file mode 100644
index 0000000..ef260d5
--- /dev/null
+++ b/autotests/reference/highlight.pb.ref
@@ -0,0 +1,87 @@
+; This is a test file for kate's PureBasic highlighting.
+
+; BMP2x Converter by Sven Langenkamp
+
+UseJPEGImageEncoder ()
+UsePNGImageEncoder ()
+
+Declare Convert ( JPEG )
+
+Enumeration 1
+ #JPEG
+ #PNG
+EndEnumeration
+
+; BEGIN section
+
+
+; END
+
+Global Count
+Global file . s
+Global filename . s
+Global fileext . s
+Global OutputFormat
+Global JPEGQuality
+
+Count = 0
+OutputFormat = 1
+JPEGQuality = - 1
+
+; MAIN PROGRAM------------------------------------------------------------------
+
+;Request Options
+PrintN ( "Output Format" )
+PrintN ( " [1] JPEG" )
+PrintN ( " [2] PNG" )
+Print ( "> " )
+OutputFormat = Int ( Input ())
+
+Select OutputFormat
+ Case #JPEG :
+ fileext = ".jpg"
+ ;Request JPEG Quality
+ PrintN ( "" )
+ PrintN ( "JPEG Quality" )
+ PrintN ( " [0-10]" )
+ Print ( "> " )
+ JPEGQuality = Int ( Input ())
+
+ Case #PNG :
+ fileext = ".png"
+EndSelect
+
+;Convert all BMP files in the current directory
+ExamineDirectory ( 0 , "" , "*.bmp" )
+While NextDirectoryEntry ()
+ file = DirectoryEntryName ()
+ filename = GetFilePart ( file )
+
+ If LoadImage ( 0 , file )
+ Select OutputFormat
+ Case #JPEG :
+ Convert ( JPEGQuality )
+
+ Case #PNG :
+ Convert ( - 1 )
+ EndSelect
+ Count = Count + 1
+ EndIf
+
+Wend
+
+PrintN ( Str ( Count ) + " files converted" )
+CloseConsole ()
+
+; PROCUDURES--------------------------------------------------------------------
+
+Procedure Convert ( JPEG )
+ Shared filename , fileext
+
+ If JPEG > - 1
+ SaveImage ( 0 , filename + fileext , #PB_ImagePlugin_JPEG , JPEG )
+ Else
+ SaveImage ( 0 , filename + fileext , #PB_ImagePlugin_PNG )
+ EndIf
+ PrintN ( file + " converted to " + filename + fileext )
+EndProcedure
diff --git a/autotests/reference/highlight.php.ref b/autotests/reference/highlight.php.ref
new file mode 100644
index 0000000..3faab58
--- /dev/null
+++ b/autotests/reference/highlight.php.ref
@@ -0,0 +1,23 @@
+
+/* This is a pseudo PHP file to test Kate's PHP syntax highlighting. */
+# TODO : this is incomplete, add more syntax examples!
+# this is also a comment.
+// Even this is a comment
+function test ( $varname ) {
+ return "bla" ; # this is also a comment
+}
+
+?>
+
+ echo ( "hello test" ); ?>
+
+
+ print "test " ; ?>
+
+
+
+$var = <<
+This is the $string inside the variable (which seems to be rendered as a string)
+It works well, I think.
+DOOH
+?>
diff --git a/autotests/reference/highlight.pike.ref b/autotests/reference/highlight.pike.ref
new file mode 100644
index 0000000..2b220f3
--- /dev/null
+++ b/autotests/reference/highlight.pike.ref
@@ -0,0 +1,24 @@
+#! /bin/env pike
+
+/* This file is a syntax highlight test for Kate.
+ * FIXME: Improve it to contain more (and more unusual) syntax examples.
+ */
+
+
+#define PIKE_ON_THE_WEB /* Is this address correct? */ "http://pike.ida.liu.se/"
+
+
+int main( int argc, array ( string ) args)
+{
+ // Write funny things with Pike :)
+ write( `+ ( "Command line arguments (%d of them): " , @map(args, `+ , " " )) + " \n " , argc);
+
+ write( " \n Visit Pike site at %s \n\n " , PIKE_ON_THE_WEB);
+
+ for ( int i = 1 ; i <= 3 ; i++)
+ write( ":" + ")" * i + " " );
+
+ write( " \n " + ({ "Bye" , "bye" }) * "-" + "! \n " );
+
+ return 0 ;
+}
diff --git a/autotests/reference/highlight.pl.ref b/autotests/reference/highlight.pl.ref
new file mode 100644
index 0000000..8c905ba
--- /dev/null
+++ b/autotests/reference/highlight.pl.ref
@@ -0,0 +1,44 @@
+#!/usr/bin/perl -w
+# This is a pseudo Perl file to test Kate's Perl syntax highlighting.
+# TODO : this is incomplete, add more syntax examples!
+
+sub prg ( $ )
+{
+ my $var = shift ;
+
+ $var =~ s/ bla / foo /igs ;
+ $var =~ s! bla ! foo !igs ;
+ $var =~ s# bla # foo #igs ;
+ $var =~ tr /a-z/A-Z/ ;
+ ( $match ) = ( $var =~ m/ ( . *?) /igs );
+
+ $test = 2 / 453453.21 ;
+ $test /= 2 ;
+
+ print qq~ d fsd fsdf sdfl sd ~
+
+ $" = ' / ' ;
+
+ $foo = << __EOF;
+d ahfdklf klsdfl sdf sd
+fsd sdf sdfsdlkf sd
+__EOF
+
+ $x = " dasds " ;
+
+ next if ( $match eq " two " );
+ next if ( $match =~ / go /i );
+
+ @array = ( 1 , 2 , 3 ); # a comment
+ @array = qw( apple foo bar ) ;
+ push ( @array , 4 );
+ %hash = (red => ' rot ' ,
+ blue => ' blau ' );
+ print keys ( %hash );
+}
+
+sub blah {
+}
+
+&blah;
+prg( " test " );
diff --git a/autotests/reference/highlight.pov.ref b/autotests/reference/highlight.pov.ref
new file mode 100644
index 0000000..efa9eb9
--- /dev/null
+++ b/autotests/reference/highlight.pov.ref
@@ -0,0 +1,76 @@
+//BEGIN TEST
+// test scene for POV-Ray syntax highlighting
+
+/* test comment */
+
+/* nested /* comments */ do not work */
+
+#version 3.5 ;
+//END
+global_settings { assumed_gamma 1.0 }
+
+// ----------------------------------------
+
+camera {
+ location < 5.0 , - 12.0 , 2.0 >
+ up z sky z
+ look_at < 0.0 , 0.0 , 0.5 >
+ angle 40
+}
+
+sky_sphere {
+ pigment {
+ gradient z
+ color_map {
+ [ 0.0 rgb < 0.6 , 0.7 , 1.0 >]
+ [ 0.2 rgb < 0.2 , 0.3 , 0.9 >]
+ }
+ }
+}
+
+light_source {
+ < 3 , 1 , 2 >* 1000
+ color rgb < 2.2 , 1.8 , 1.5 >
+}
+
+// ----------------------------------------
+
+#declare TEST = 0 ;
+
+#ifdef ( TEST )
+ plane {
+ z , 0
+ texture {
+ pigment {
+ checker
+ color rgb 1 , color rgb 0
+ }
+ }
+ }
+#end
+
+#macro Sphere ( Pos , Radius )
+ sphere {
+ < Pos . x , Pos . y , Radius * 1.3 >, Radius
+ texture {
+ pigment { color rgb 1 }
+ finish {
+ diffuse 0.3
+ ambient 0.0
+ specular 0.6
+ reflection 0.8
+ }
+ }
+ }
+#end
+
+#local Cnt = 0 ;
+#local Seed = seed ( 0 );
+
+#while ( Cnt < 10000 )
+ Sphere (
+ - 100 +< rand ( Seed ), rand ( Seed )>* 200 ,
+ 0.3 + pow ( rand ( Seed ), 2 )* 0.7
+ )
+ #local Cnt = Cnt + 1 ;
+#end
diff --git a/autotests/reference/highlight.prg.ref b/autotests/reference/highlight.prg.ref
new file mode 100644
index 0000000..5d8e653
--- /dev/null
+++ b/autotests/reference/highlight.prg.ref
@@ -0,0 +1,71 @@
+// Test file to test kate's clipper highlighting
+// kate: hl Clipper;
+
+//BEGIN INCLUDES
+#include
+#include "logo.ch"
+
+#define PRGVERSION "0.0.1"
+//END
+
+//BEGIN CODE
+static ws , win
+static driver := getDriver ()
+/* a multiline
+ comment
+*/
+
+function main ( formName )
+ local form
+ local fileName
+
+ if empty ( formName )
+ ?? "Usage: ./form_ui & \n "
+ CANCEL
+ else
+ fileName := formName
+ endif
+ ws := UIWorkSpace ()
+
+ form := UIForm ( fileName )
+ win := form : parseFile ()
+// ?? valtype(win),chr(10)
+ if win == NIL
+ CANCEL
+ endif
+ win : show ()
+
+ ws : run ()
+ ws : quit ()
+return 0
+
+/* Setting dialog */
+function settingsDialog ()
+ ?? "TODO: Settings dialog& \n "
+return
+
+/* About dialog */
+function aboutDialog ()
+ local dlg := UIWindow ( "About" , win , "aboutDlg" , .F. )
+ local hl , lside , t , bb , bD
+
+ hl := UIHBox (, 4 , 8 )
+ lside := UIVBox ()
+ lside : add ( UIImage ( eas_logo_mini , .T. ))
+ hl : add ( lside , .F. , .F. )
+ dlg : userSpace : add ( hl , .T. , .T. )
+ t := UIVBox ()
+ hl : add ( t , .T. , .T. )
+
+ t : add ( UILabel ( "License: GPL version 2 or later" ))
+ bb := UIButtonBar ()
+ t : add ( bb )
+ bD := UIButton ( win , "&Close" , {|o,e| dlg:close() } )
+ bb : add ( bD )
+
+ dlg : setFocus ( bD )
+ dlg : setDefault ( bD )
+ dlg : setPlacement ( .T. )
+ dlg : show ()
+return
+//END
diff --git a/autotests/reference/highlight.qml.ref b/autotests/reference/highlight.qml.ref
new file mode 100644
index 0000000..a5c073a
--- /dev/null
+++ b/autotests/reference/highlight.qml.ref
@@ -0,0 +1,59 @@
+import Qt 4.6
+
+// some random qml snippets stolen from the qt docs
+
+Rectangle {
+ important : true
+ propertyAsdf :
+ id : container
+ signalA : bla
+ property string label
+ signal clicked
+ radius : 5 ; border . color : "black"
+ color : mouse . pressed ? "steelblue" : "lightsteelblue"
+ gradient : Gradient {
+ GradientStop { position : mouse . pressed ? 1.0 : 0.0 ; color : "steelblue" }
+ GradientStop { position : mouse . pressed ? 0.0 : 1.0 ; color : "lightsteelblue" }
+ }
+ MouseRegion { id : mouse ; anchors . fill : parent ; onClicked : container . clicked () }
+ Text { anchors . fill : parent ; text : container . label ; anchors . centerIn : parent }
+}
+
+Rectangle {
+ Script {
+ function calculateMyHeight () {
+ return Math . max ( otherItem . height , thirdItem . height ) ;
+ }
+ }
+
+ anchors . centerIn : parent
+ width : Math . min ( otherItem . width , 10 )
+ height : calculateMyHeight ()
+ color : { if (width > 10 ) "blue" ; else "red" }
+}
+
+Rectangle {
+ default property color innerColor: "black"
+ property color innerColor: "black"
+ property alias text: textElement . text
+ property alias aliasXYZ: testElement . text
+ signal bar
+ signal bar( var blah, string yxcv)
+ width : 240 ; height : 320 ;
+ width : 100 ; height : 30 ; source : "images/toolbutton.sci"
+ ListView {
+ anchors . fill : parent
+ model : contactModel
+ delegate : Component {
+ Text {
+ text : modelData . firstName + " " + modelData . lastName
+ }
+ }
+ }
+}
+
+Item {
+ function say (text) {
+ console . log ( "You said " + text) ;
+ }
+}
diff --git a/autotests/reference/highlight.rb.ref b/autotests/reference/highlight.rb.ref
new file mode 100644
index 0000000..78a944d
--- /dev/null
+++ b/autotests/reference/highlight.rb.ref
@@ -0,0 +1,551 @@
+# This file is a testcase for the highlighting of Ruby code
+# It's not executable code, but a collection of code snippets
+#
+
+require 'Config'
+require 'DO/Clients'
+require 'DO/DBClients'
+
+ def CGI :: escapeElement (string, * elements)
+ elements = elements [ 0 ] if elements [ 0 ] .kind_of? ( Array )
+ unless elements .empty?
+ string .gsub ( /<\/?(?: #{ elements .join ( "|" ) } )(?!\w)(?:.|\n)*?>/ni ) do
+ CGI :: escapeHTML ( $& )
+ end
+ else
+ string
+ end
+ end
+
+case inputLine
+ when "debug"
+ dumpDebugInfo
+ dumpSymbols
+ when /p\s+(\w+)/
+ dumpVariable( $1 )
+ when "quit" , "exit"
+ exit
+ else
+ print "Illegal command: #{ inputLine } "
+end
+
+
+kind = case year #hi there
+ when 1850 .. 1889 then "Blues"
+ when 1890 .. 1909 then "Ragtime"
+ when 1910 .. 1929 then "New Orleans Jazz"
+ when 1930 .. 1939 then "Swing"
+ when 1940 .. 1950 then "Bebop"
+ else "Jazz"
+ end
+
+ # URL-encode a string.
+ # url_encoded_string = CGI::escape("'Stop!' said Fred")
+ # # => "%27Stop%21%27+said+Fred"
+ def CGI :: escape (string)
+ string .gsub ( /([^ a-zA-Z0-9_.-]+)/n ) do
+ '%' + $1 .unpack ( 'H2' * $1 .size ) .join ( '%' ) .upcase
+ end .tr ( ' ' , '+' )
+ end
+
+
+# Class ClientManager
+#
+# definition : Import, store and export the various data used by the application.
+# This class is the sole interface between the application and the underlying database.
+
+mon, day, year = $1 , $2 , $3 if /(\d\d)-(\d\d)-(\d\d)/
+puts "a = #{ a } " if fDebug
+print total unless total == 0
+
+while gets
+ next if /^#/ # Skip comments
+ parseLine unless /^$/ # Don't parse empty lines
+end
+
+if artist == "John Coltrane" #hi there
+ artist = "'Trane" #hi there
+end unless nicknames == "no" #hi there
+
+handle = if aSong .artist == "Gillespie" then #hi there
+ "Dizzy"
+ elsif aSong .artist == "Parker" then
+ "Bird"
+ else #hi there
+ "unknown"
+ end
+
+if aSong .artist == "Gillespie" then handle = "Dizzy"
+elsif aSong .artist == "Parker" then handle = "Bird"
+else handle = "unknown"
+end #hi there
+
+if aSong .artist == "Gillespie" then
+ handle = "Dizzy"
+elsif aSong .artist == "Parker" then
+ handle = "Bird"
+else
+ handle = "unknown"
+end
+
+if aSong .artist == "Gillespie"
+ handle = "Dizzy"
+elsif aSong .artist == "Parker"
+ handle = "Bird"
+else
+ handle = "unknown"
+end
+
+ case line
+ when /title=(.*)/
+ puts "Title is #$1"
+ when /track=(.*)/
+ puts "Track is #$1"
+ when /artist=(.*)/
+ puts "Artist is #$1"
+end
+
+case shape
+ when Square , Rectangle
+ # ...
+ when Circle
+ # ...
+ when Triangle
+ # ...
+ else
+ # ...
+end
+
+
+until playList .duration > 60 #hi there
+ playList .add (songList .pop )
+end
+
+3 .times do
+ print "Ho! "
+end
+
+loop {
+ # block ...
+}
+
+songList .each do | aSong |
+ aSong .play
+end
+
+for aSong in songList
+ aSong .play
+end
+
+for i in [ 'fee' , 'fi' , 'fo' , 'fum' ]
+ print i, " "
+end
+for i in 1 .. 3
+ print i, " "
+end
+for i in File .open ( "ordinal" ) .find_all { | l | l =~ /d$/ }
+ print i .chomp , " "
+end
+
+class Periods
+ def each
+ yield "Classical"
+ yield "Jazz"
+ yield "Rock"
+ end
+end
+
+
+periods = Periods .new
+for genre in periods
+ print genre, " "
+end
+
+while gets
+ next if /^\s*#/ # skip comments
+ break if /^END/ # stop at end
+ # substitute stuff in backticks and try again
+ redo if gsub! ( /`(.*?)`/ ) { eval ( $1 ) }
+ # process line ...
+end
+
+i = 0
+loop do
+ i += 1
+ next if i < 3
+ print i
+ break if i > 4
+end
+
+for i in 1 .. 100
+ print "Now at #{ i } . Restart? "
+ retry if gets =~ /^y/i
+end
+
+def doUntil(cond)
+ yield
+ retry unless cond
+end
+
+i = 0
+doUntil(i > 3 ) {
+ print i, " "
+ i += 1
+}
+
+def system_call
+ # ... code which throws SystemCallError
+rescue SystemCallError
+ $stderr .print "IO failed: " + $!
+ opFile .close
+ File .delete (opName)
+ raise
+end
+
+class ClientManager
+
+ # constructor
+ def initialize(dbase)
+ @dbClient = DBClient .new (dbase)
+ @clients = Clients .new
+ end
+
+ def prout(a, b, xy = "jj" ) 24 end
+ ###############################################################
+ #
+ # CLIENTS SECTION
+ #
+ ###############################################################
+
+ # update the clients object by retrieving the related data from the database
+ # returns the number of clients
+ def refreshClients
+ @clients .clean
+ unless @sqlQuery .nil? then
+ @sqlQuery .selectClient.each do | row |
+ @clients .addClient (row [ 0 ] ,row [ 1 ] ,row [ 2 ] ,row [ 3 ] ,row [ 4 ] ,row [ 5 ] , row [ 6 ] , row [ 7 ] , row [ 8 ] )
+ end
+ else
+ puts "SqlQuery wasn't created : cannot read data from database"
+ end
+ return @clients .length
+ end
+
+ # insert a client in the database and refreshes the local clients object
+ # we assume that none of the arguments is null
+ # we assume that the client, identified by raison_sociale doesn't already exists
+ def addClient(raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact)
+ id = "0"
+ unless @sqlQuery .nil? then
+ id = @sqlQuery .insertClient (raison_sociale, division, departement, adresse, cp, ville, nom_contact,tel_contact)
+ else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients .addClient (id, raison_sociale, division, departement, adresse, cp, ville, nom_contact, tel_contact) # synchronize local object with DB
+ end
+
+ # deletes a client from the database and updates the local Clients object accordingly
+ def delClient(nomclient_brut)
+ raison_sociale, div, dep = Clients .getIdentifiers (nomclient_brut)
+ listeContratsExp, listeContratsSup, listeContratsProd, listePropositionsExp, listePropositionsSup = []
+
+ listeContratsExp = @contratsExpertise .getContratsFromClient (nomclient_brut)
+ listeContratsSup = @contratsSupport .getContratsFromClient (nomclient_brut)
+ listeContratsProd = @contratsProduits .getContratsFromClient (nomclient_brut)
+ listePropositionsExp = @propositionsExpertise .getPropositionsFromClient (nomclient_brut)
+ listePropositionsSup = @propositionsSupport .getPropositionsFromClient (nomclient_brut)
+
+ unless @sqlQuery .nil? then
+ @sqlQuery .deleteClient (raison_sociale, div, dep)
+
+ @sqlQuery .deleteContracts ( Config :: EXPERTISE ,listeContratsExp)
+ @sqlQuery .deleteContracts ( Config :: SUPPORT ,listeContratsSup)
+ @sqlQuery .deleteContracts ( Config :: PRODUIT ,listeContratsProd)
+ @sqlQuery .deletePropositions ( Config :: EXPERTISE ,listePropositionsExp)
+ @sqlQuery .deletePropositions ( Config :: SUPPORT ,listePropositionsSup)
+ else
+ puts "SqlQuery wasn't created : database update cannot be performed"
+ end
+ @clients .delClient (raison_sociale,div,dep)
+
+ @contratsExpertise .deleteContracts (listeContratsExp)
+ @contratsSupport .deleteContracts (listeContratsSup)
+ @contratsProduits .deleteContracts (listeContratsProd)
+ @propositionsExpertise .deletePropositions (listePropositionsExp)
+ @propositionsSupport .deletePropositions (listePropositionsSup)
+ end
+end
+
+ # Mixin module for HTML version 3 generation methods.
+ module Html3 # :nodoc:
+
+ # The DOCTYPE declaration for this version of HTML
+ def doctype
+ %| |
+ end
+
+ # Initialise the HTML generation methods for this version.
+ def element_init
+ extend TagMaker
+ methods = ""
+ # - -
+ for element in %w[ A TT I B U STRIKE BIG SMALL SUB SUP EM STRONG
+ DFN CODE SAMP KBD VAR CITE FONT ADDRESS DIV center MAP
+ APPLET PRE XMP LISTING DL OL UL DIR MENU SELECT table TITLE
+ STYLE SCRIPT H1 H2 H3 H4 H5 H6 TEXTAREA FORM BLOCKQUOTE
+ CAPTION ]
+ methods += <<- BEGIN + nn_element_def(element) + <<-END
+ def #{ element .downcase } (attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # - O EMPTY
+ for element in %w[ IMG BASE BASEFONT BR AREA LINK PARAM HR INPUT
+ ISINDEX META ]
+ methods += <<- BEGIN + nOE_element_def(element) + <<-END
+ def #{ element .downcase } (attributes = {})
+ BEGIN
+ end
+ END
+ end
+
+ # O O or - O
+ for element in %w[ HTML HEAD BODY P PLAINTEXT DT DD LI OPTION tr
+ th td ]
+ methods += <<- BEGIN + nO_element_def(element) + <<-END
+ def #{ element .downcase } (attributes = {})
+ BEGIN
+ end
+ END
+ end
+ eval (methods)
+ end
+
+ end
+
+# following snippet from Webrick's log.rb
+# notice the erronous handling of the query method is_a?
+def format (arg)
+ str = if arg .is_a? ( Exception )
+ " #{ arg .class } : #{ arg .message } \n\t" <<
+ arg .backtrace.join ( "\n\t" ) << "\n"
+ elsif arg .respond_to? ( :to_str )
+ arg .to_str
+ else
+ arg .inspect
+ end
+end
+
+# following snippet from Webrick's httputils.rb
+# Splitting regexps on several lines might be bad form,
+# but not illegal in Ruby.
+# This should probably be supported in the highlighting
+def split_header_value(str)
+ str .scan ( /((?:"(?:\\.|[^"])+?"|[^",]+)+)
+ (?:,\s*|\Z)/xn ) .collect {| v | v [ 0 ] }
+end
+
+# snippet from Net::Telnet
+string .gsub ( / #{ IAC } (
+ [ #{ IAC }#{ AO }#{ AYT }#{ DM }#{ IP }#{ NOP } ]|
+ [ #{ DO }#{ DONT }#{ WILL }#{ WONT } ]
+ [ #{ OPT_BINARY } - #{ OPT_NEW_ENVIRON }#{ OPT_EXOPL } ]|
+ #{ SB } [^ #{ IAC } ]* #{ IAC }#{ SE }
+ )/xno )
+
+# following snippet from Webrick's httpresponse.rb
+# the HEREDOC is not recognized as such
+@body << <<- _end_of_html_
+
+
+ #{ HTMLUtils :: escape ( @reason_phrase ) }
+
+ #{ HTMLUtils :: escape ( @reason_phrase ) }
+ #{ HTMLUtils :: escape (ex .message ) }
+
+_end_of_html_
+
+
+# snippet from Webrick's httpproxy.rb
+# here we should make sure that the symbol definition ':' doesn't override
+# the module operator '::'
+Net :: HTTP :: version_1_2 if RUBY_VERSION < "1.7"
+
+# snippet from Webrick's cookie.rb
+# the beginning of the regexp is erronously highlighted like an operator
+key, val = x .split ( /=/ , 2 )
+
+# the following are division operators
+# it's a bit tricky to keep the operator apart from the regexp
+result = 8 / 4
+result /= divisor
+
+# 2008-06-01 regexp and division operator syntax has been fixed:
+result = 8 / 4 # division
+result = 8 / foo # division
+result = /8/ # regexp
+result = 8 / /4/ # division and regexp
+
+10 / 10 # division
+10 / 10 # division
+10 / 10 # division
+10 / 10 # division
+
+foo / 10 # division
+foo / 10 # division
+foo /10/ # regexp
+foo / 10 # division
+
+foo / 10 / 10 # both division
+total / count / 2 # both division
+total / (count / 2 ) # both division
+
+@foo / 10 # division
+@foo / 10 # division
+
+"hello" / 10 # division
+"hello" / 10 # division
+
+/regexp/ / 10 # division
+/regexp/ / 10 # division
+
+Math :: PI / 10 # division
+Math :: foo /rx/ # regexp
+
+# 2008-06-05 similar fix for modulo operator:
+
+10 % 4 # modulo
+10 % 4 # modulo
+10 % 4 # modulo
+10 % 4 # modulo
+
+foo % 4 # modulo
+# foo %4 # illegal %string
+foo % 4 # modulo
+foo % 4 # modulo
+
+foo % ( 4 ) # modulo
+
+foo %( 4 ) # %string
+foo %q( 4 ) # %string
+foo %Q( 4 ) # %string
+foo %% 4 % # %string
+
+foo = %| blah | # GDL input
+foo % %| blah | # modulo and GDL
+
+# mix in any way you want
+result = 10 / /regexp/ / 20 / foo / /regexp/ / 20
+
+# test cases for general delimited input
+# quoted strings
+%Q| this is a string |
+%Q{ this is a string }
+%Q( this is a string )
+%Q< this is a string >
+%Q[ this is a string ]
+
+%| also a string |
+%{ also a string }
+%( also a string )
+%< also a string >
+%[ also a string ]
+
+# apostrophed strings
+%q| apostrophed |
+%q{ apostrophed }
+%q( apostrophed )
+%q< apostrophed >
+%q[ apostrophed ]
+
+# regular expressions
+%r{ expression }
+%r( expression )
+%r< expression >
+%r[ expression ]
+%r| expression |
+
+# shell commands
+%x{ ls -l }
+%x( ls -l )
+%x< ls -l >
+%x[ ls -l ]
+
+# sometimes it's useful to have the command on multiple lines
+%x{ ls -l |
+grep test }
+
+# alternative syntax
+`ls -l`
+`echo ' '`
+
+# token array
+%w{ one two three }
+%w( one two three )
+%w< one two three >
+%w[ one two three ]
+
+# snippet from Net::IMAP
+# I object to putting String, Integer and Array into kernel methods.
+# While these classes are builtin in Ruby, this is an implementation detail
+# that should not be exposed to the user.
+# If we want to handle all std-lib classes, fine. But then they should be in their
+# own std-lib keyword category.
+
+def send_data(data)
+ case data
+ when nil
+ put_string( "NIL" )
+ when String
+ send_string_data(data)
+ when Integer
+ send_number_data(data)
+ when Array
+ send_list_data(data)
+ when Time
+ send_time_data(data)
+ when Symbol
+ send_symbol_data(data)
+ else
+ data .send_data ( self )
+ end
+end
+
+# snippet from Net::POP
+# class names can have numbers in them as long as they don't begin with numbers
+# Ruby doesn't internally really make much of a difference between a class name and a constant
+
+# class aliases
+ POP = POP3
+ POPSession = POP3
+ POP3Session = POP3
+
+# "member access"
+POP :: Session . COUNT .attribute.calc_with ( 2 ) { | arg | puts arg }
+
+# snippet from Net::SMTP
+# This breaks the code folding. I think we would need to
+# handle the '\' that continues the statement to the next line
+# in some way to make these kind of things not break something.
+raise ArgumentError , 'both user and secret are required' \
+ unless user and secret
+
+# string escapes must detect escaping the escape char
+str = "\\"
+str = "\\\\"
+# this is not part of the string
+%x{ echo \\\}\\ } # prints \}\
+# this is not part of the command
+
+# these are all symbols
+:abc
+:abc!
+:abc?
+:abc=
+:[]
+:[]=
+:@abc
+:@@abc
+:$abc
diff --git a/autotests/reference/highlight.scheme.ref b/autotests/reference/highlight.scheme.ref
new file mode 100644
index 0000000..bbdf831
--- /dev/null
+++ b/autotests/reference/highlight.scheme.ref
@@ -0,0 +1,186 @@
+; This is a test file to test kates scheme highlighting
+; This is a comment
+
+;; Another comment, usually used.
+;BEGIN region marker
+;; a vektor
+# ( 1 2 3 4 5 )
+;END region marker
+;; this represents integer 28 (FIXME: does not work perfectly atm!)
+28 028 #e 28 #i 28 ;; Normal, normal, exact, inexact
+#b 11100 #o 34 #d 28 #x 1 c ;; Bin, okt, dec, hex
+#o e 34 #e o 34 ;; combined.
+
+;; char.
+( #\y #\space ) ;; list: `y' space.
+( #\ #\\ #\) ) ;; list of spaces, backslash and`)'.
+#\newline ;; a newline-char
+#\N ewLine ;; another one :)
+
+"Hello, world" ;; a string
+
+"hoho, what do you
+want to do ;; this is NO comment
+with that?"
+
+;; R5RS definiert diese beiden.
+"Das ist \" in Anführungszeichen \" und mit \\ Backslash."
+
+( let ( ( x ( + 1 2 ) ) ( y "blah" ) ) ;; `let' highlighting.
+ ( and ( number? x ) ;; `and' highlighting.
+ ( string? y ) ) )
+
+( let* ( ( x 2 ) ( y ( + x 1 ) ) ) ;; `let*' too.
+ ( or ( negative? x ) ;; `or' anyways.
+ ( negative? y ) ) )
+
+( do ( ( vec ( make-vector 5 ) ) ;; `do' you may guess!
+ ( i 0 ( + i 1 ) ) )
+ ( ( = i 5 ) vec )
+ ( vector-set! vec i i ) )
+
+( quasiquote ( ( + 1 2 ) ( unquote ( + 1 2 ) ) ) )
+;; same as: `((+ 1 2) ,(+ 1 2))
+
+;; see above.
+( quasiquote ( ( + 1 2 ) ( unquote-splicing ( list 1 2 3 ) ) ) )
+;; same as: `((+ 1 2) ,@(+ 1 2))
+
+;; not necessary.
+( quote () )
+
+( cond ( ( string? x ) ( string->symbol x ) ) ;; `cond' highlighting.
+ ( ( symbol? x ) => ( lambda ( x ) x ) ) ;; `=>' highlighting.
+ ( else ;; `else' highlighting.
+ ( error "Blah" ) ) )
+
+( case x ;; `case' highlighting.
+ ( ( #t ) 'true ) ( ( #f ) 'false )
+ ( ( () ) 'null )
+ ( ( 0 ) 'zero ) )
+
+;; highlight `let-syntax' and `syntax-rules' .
+( let-syntax ( ( when ( syntax-rules ()
+ ( ( when test stmt1 stmt2 ... )
+ ;; hl `begin' .
+ ( if test ( begin stmt1 stmt2 ... ) ) ) ) ) )
+ ( let ( ( if #t ) ) ;; here`if' is actually no keyword.
+ ( when if ( set! if 'now ) ) ;; nor here.
+ if ) )
+
+( letrec-syntax ... ) ;; hl `letrec-syntax'.
+
+( define-syntax when
+ ( syntax-rules ()
+ ( ( when test stmt1 stmt2 ... )
+ ( if test ( begin stmt1 stmt2 ... ) ) ) ) ) )
+
+;; variable definitions.
+( define natural-numbers ;; hl `define' and the var name
+ ;; endless stream of all natual numbers.
+ ( letrec ( ( next-cell ;; hl `letrec'.
+ ( lambda ( x ) ;; hl `lambda'.
+ ;; hl `delay' .
+ ( cons x ( delay ( next-cell ( + x 1 ) ) ) ) ) ) )
+ ( next-cell 0 ) ) )
+
+;; a procedure with unusual but allowed name.
+( define 1+
+ ( lambda ( x )
+ ( + x 1 ) ) )
+
+;; a predicate
+( define between ?
+ ( lambda ( x y z )
+ ( if ( and ( >= x y ) ( <= x z ) )
+ #t ;; True
+ #f ) ) ) ;; False.
+
+;; imperative procedure
+( define set-something !
+ ( lambda ( required-argument another-one . all-remaining-args )
+ ( set-car! another-one ( lambda all-args
+ ( set-cdr! required-argument
+ ( append all-remaining-args
+ all-args ) ) ) ) ) )
+
+( define compose
+ ( lambda ( f g )
+ ( lambda ( x )
+ ( f ( g x ) ) ) ) )
+
+;; syntactical sugar for procedure-definitions.
+( define ( compose f g )
+ ( lambda ( x )
+ ( f ( g x ) ) ) )
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; NOW: Guile extensions ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; procedure-generator.
+( define ( ( compose f g ) x )
+ ( f ( g x ) ) )
+
+;; scheme doesn't say, which chars may be in variables...
+;; At least: Guile accepts umlauts
+( define-private ( timetr??? sprache ) ;; hl `define-private'.
+ ( list-dialekt? sprache ) )
+
+( define-public x #t ) ;; hl `define-public'.
+( define-module ( foo bar ) ) ;; hl `define-module'.
+( define-macro ( neither . exprs ) ;; hl `define-macro'.
+ ` ( and ,@ ( map ( lambda ( x ) ` ( not ,x ) ) exprs ) ) )
+
+( defmacro neither exprs ;; `defmacro' as well.
+ ` ( and ,@ ( map ( lambda ( x ) ` ( not ,x ) ) exprs ) ) )
+
+;; hl, but I really don't know what this is supposed to do :-)
+( define-syntax-macro ... )
+
+;; hl GOOPS-`defines'
+( define-method ( foo bar ( baz ) qux ) ... )
+( define-class ... )
+( define-generic foo )
+( define-accessor bar )
+
+;; Keywords!
+( blah #:foo 33 #:bar 44 )
+
+;; another convention for symbols:
+#{foo}#
+
+#{a
+few
+lines}#
+
+#{ 4711 }#
+
+;; more chars.
+#\nul #\nl #\esc #\bs #\bel #\syn #\ack #\sp ;; etc, utc, itc, oops (this is boring)
+
+#!
+ guile block-comment.
+!#
+
+;; now, a bit hairy:
+#! comment !#
+still comment!!!
+!#
+'now-no-comment-anymore
+
+;; more precise:
+#! comment !#
+still comment
+!# still comment!
+!#
+'now-no-comment-anymore
+
+( while ( > foo 10 ) ;; Highlight `while'.
+ ( set! foo ( - foo 1 ) )
+ ( catch #t ;; Highlight `catch'.
+ ( lambda () ( display foo ) )
+ ( lambda ( key . args )
+ ( if ( eq? key 'system-error )
+ ( break ) ;; Highlight `break'.
+ ( continue ) ) ) ) ) ;; Highlight `continue'.
diff --git a/autotests/reference/highlight.sh.ref b/autotests/reference/highlight.sh.ref
new file mode 100644
index 0000000..4cbc15f
--- /dev/null
+++ b/autotests/reference/highlight.sh.ref
@@ -0,0 +1,207 @@
+#! /bin/sh
+# This is a test script for the Katepart Bash Syntax Highlighting by
+# Wilbert Berendsen. This is not runnable !!!
+
+
+# The highlighting recognizes basic types of input, and has a few special cases that
+# are all in FindCommands. The main objective is to create really proper nesting of
+# (multiline) strings, variables, expressions, etc.
+
+
+
+# ============== Tests: ===============
+
+# basic types:
+echo 'single quoted string'
+echo "double quoted string"
+echo $'string with esc \a pes \x0d in it'
+echo $" string meant to be translated"
+
+
+# comments:
+# this is a comment
+#this too
+echo this is#nt a comment
+dcop kate EditInterface#1 #this is
+
+
+# brace expansion
+mv my_file. {JPG,jpg}
+
+
+# special characters are escaped:
+echo \( output \) \&\| \> \< \" \' \*
+
+
+# variable substitution:
+echo $filename .ext
+echo $filename_ext
+echo ${filename} _ext
+echo text ${array[$subscript]} .text
+echo text ${array[ "string" ]} .text
+echo ${!prefix*}
+echo ${!redir}
+echo short are $_ , $$ , $? , ${@} , etc.
+echo ${variable/ a / d }
+echo ${1:- default }
+
+
+# expression subst:
+echo $(( cd << ed + 1 ))
+
+
+# command subst:
+echo $( ls -l )
+echo ` cat myfile `
+
+
+# file subst:
+echo $(< $filename )
+echo $(< /path/to/myfile )
+
+# process subst:
+sort <( show_labels ) | sed 's/a/bg' > my_file.txt 2>&1
+
+
+# All substitutions also work in strings:
+echo "subst ${in} side string" 'not $inside this ofcourse'
+echo "The result is $(( $a + $b )) . Thanks!"
+echo "Your homedir contains ` ls $HOME | wc -l ` files."
+
+
+# Escapes in strings:
+p= "String \` with \$ escapes \" " ;
+
+
+# keywords are black, builtins dark purple and common commands lighter purple
+set
+exit
+login
+
+
+# Other colorings:
+error() {
+ cat /usr/bin/lesspipe.sh
+ runscript > & redir.bak
+ exec 3>&4
+}
+
+
+# do - done make code blocks
+while [ $p -lt $q ]
+do
+ chown 0644 $file . $p
+done
+
+
+# braces as well
+run_prog | sort -u |
+{
+ echo Header
+ while read a b d
+ do
+ echo $a / $b / $c
+ done
+ echo Footer
+}
+
+
+# Any constructions can be nested:
+echo "A long string with $(
+ if [ $count -gt 100 ] ; then
+ echo "much"
+ else
+ echo "not much"
+ fi ) substitutions." ;
+
+
+# Even the case construct is correctly folded:
+test -f blaat &&
+( do_something
+ case $p in
+ *bak )
+ do_bak $p
+ ;;
+ * )
+ dont_bak $p
+ ;;
+ esac
+) # despite the extra parentheses in the case construction.
+
+
+# variable assignments:
+DIR= /dev
+p= ` ls `
+LC_ALL= "nl" dcop 'kate*'
+_VAR= val
+ARR=( this is an array )
+ARR2=([this]= too [and]= "this too" )
+usage= " $0 -- version $VERSION
+Multiple lines of output
+can be possible."
+ANSWER= yes # here 'yes' isn't highlighed as command
+
+
+# Some commands expect variable names, these are colored correctly:
+export PATH= /my/bin : $PATH BLAAT
+export A B D
+local p= 3 x y= '\'
+read x y z <<< $hallo
+unset B
+declare -a VAR1 VAR2 && exit
+declare less a && b
+
+# options are recoqnized:
+zip -f =file.zip
+./configure --destdir = /usr
+make destdir= /usr/
+
+
+# [[ and [ correctly need spaces to be regarded as structure,
+# otherwise they are patterns (currently treated as normal text)
+if [ " $p " == "" ] ; then
+ ls /usr/bin /[a -z ]*
+elif [[ $p == 0 ]] ; then
+ ls /usr/share/ $p
+fi
+
+# Fixed:
+ls a[ab]* # dont try to interprete as assignment with subscript (fixed)
+a [ab]
+a[ab]= sa
+
+
+# Here documents are difficult to catch:
+cat > myfile << __EOF__
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded.
+__EOF__
+
+
+# quoted:
+cat << "EOF" | egrep "this" >&4 # the rest of the line is still considered bash source
+You're right, this is definitely no bash code
+But ls more $parameters should be expanded. :->
+EOF
+
+
+# indented:
+if true
+then
+ cat <<- EOF
+ Indented text with a $dollar or \$ two
+ EOF
+elif [ -d $file ] ; then
+ cat <<- "EOF"
+ Indented text without a $dollar
+ EOF
+fi
+
+
+case 1 in
+2 ) echo xxx ;
+;;
+1 ) echo yyy ;
+esac
+
+ls #should be outside of case 1 folding block
diff --git a/autotests/reference/highlight.spec.ref b/autotests/reference/highlight.spec.ref
new file mode 100644
index 0000000..da39b2c
--- /dev/null
+++ b/autotests/reference/highlight.spec.ref
@@ -0,0 +1,212 @@
+# Test file for rpmspec.xml
+
+# Comments start with a # in column="0":
+
+# Some comment
+
+# When they don't start in column="0", that they are recognized as comments, but with an alert:
+ # This is a bad comment.
+# RPM spec says clear that comments must start at the begin of the line. However, in practice
+# the RPM software is more permissive, depending on the context. But for our syntax highlighting,
+# we give, while recognizing the as comment, at least a little alert. Comments should not contain
+# the character % (which is marked as warning), but 2 of them are okay: %%. TODO is higlighted.
+
+# A spec file starts with "Normal" context. Here, you can specify values for some tags:
+Name: kradioripper-unstable # Note that here in no comment possible!
+Name: name only _one_ word allowed
+Name: %macro no further syntax check after macro!
+# Some tags support only _one_ word as value
+Version: 0.4test5 up-from-the-space-this-is-an-error
+# Some tag can have parameters: Any char in paranthesis:
+Summary: Recorder for internet radios (based on Streamripper)
+Summary(de.UTF-8): Aufnahmeprogramm für Internetradios (basiert auf Streamripper)
+# requiere free text:
+License: License 1 2 3
+# requiere a well defines value:
+Requires( / ( = ): Some , value ()
+# new type "switch" accepts: yes, no, 0, 1
+AutoReq: yes
+AutoReq: yes invalid
+AutoReq: %macro no further syntax check after macro!
+AutoReq: no
+AutoReq: 0
+AutoReq: 1
+# requiere a number:
+Epoch: 123123
+Epoch: 123123 invalid
+Epoch: %macro no further syntax check afer macro!
+# If tags are used that are not known, they are not highlighted:
+Invalidtag: Some value
+Invalid content in this section (only tags are allowed)
+
+# You can use conditions in specs (highlighted with region markers):
+%if 0 %{?mandriva_version}
+# numbers and strings are distingished: string:
+%if lsdksfj
+# number:
+%if 23472398
+# string:
+%if lksdjfsl72939
+# invalid:
+%if 92437 lsdkfjdsl
+# valid:
+%if "lsdfj %ksdf(sdfs) 3489"
+Release: %mkrel 1.2
+%else
+Release: 0
+%endif
+# requiere a well defined value:
+%ifos fixed_value
+# You must use these special macros (%%if etc.) always at the start of the line - if not,
+# that's bad but not an arror. You must also always use the specified form. Everything else is an
+# error:
+ %if
+something %if
+%{if }
+%if (some options)
+# However, this are different macros and therefore correct:
+%ifx
+%{ifx}
+%ifx(some options)
+
+# the \ is escaped in the line. At the end of the line it escapes the line break:
+echo This is \" a text \\ and here\
+it continues.
+
+%define name value
+%define invalid_näme value
+%define macroname multi \
+line content with references like %0 %* %# %{-f} %{-f*} %1 %2 and so on
+%global name value
+%global invalid_näme value
+%undefine name
+%undefine name too-many-parameters
+
+# This special comment is treated and highlighted like a tag:
+# norootforbuild
+# It can't have parameters, so every following non-whitespace character is not good:
+# norootforbuild DONT WRITE ANYTHING HERE!
+# wrong spacing is also recognized:
+# norootforbuild
+# and also an indeet is not fine for norootforbuild:
+ # norootforbuild
+
+# This following "Conflicts" tag will be removed by set-version.sh,
+# if it is a "kradioripper" release (and not a "kradioripper-unstable" release)...
+Conflicts: kradioripper
+
+
+
+# Here, a new section starts. It contains a value for the RPM field "description" and is therefor
+# colored like values:
+A KDE program for ripping internet radios. Based on StreamRipper.
+
+
+# A section start can have parameters:
+ -l de.UTF-8
+Ein KDE-Aufnahmeprogramm für Internetradios. Basiert auf StreamRipper.
+
+# These sections starts are errors:
+ %description not at the first line
+%{description } wrong form
+%description (no options allowed, only parameters!)
+
+
+
+# This starts a section that defines the commands to prepare the build.
+# q means quit. n sets the directory:
+%setup -q -n kradioripper
+echo Test
+# Macros can have different forms: Valid:
+%abc
+%abc ÃndOfMacro
+%abc(def) EndOfMacro
+%{abc} EndOfMacro
+%{something but no single % } EndOfMacro
+%{abc:def} EndOfMacro
+%(abc)
+# Invalid:
+% ÃInvalidChar
+%
+% )
+% }
+# You can use macros inside of macro calls: Fine:
+%{something %but no %{sin%(fine)gle} } EndOfMacro
+# Bad:
+%{No closing paranthesis ( No syntax highlightig for this error available )
+
+
+
+cmake ./ -DCMAKE_INSTALL_PREFIX= %{_prefix}
+%__make %{?jobs:-j %jobs}
+
+
+
+%if 0 %{?suse_version}
+%makeinstall
+%suse_update_desktop_file kradioripper
+%endif
+%if 0 %{?fedora_version} || 0 %{?rhel_version} || 0 %{?centos_version}
+make install DESTDIR= %{buildroot}
+desktop-file-install --delete-original --vendor fedora --dir= %{buildroot} / %{_datadir} /applications/kde4 %{buildroot} / %{_datadir} /applications/kde4/kradioripper.desktop
+%endif
+%if 0 %{?mandriva_version}
+%makeinstall_std
+%endif
+
+
+
+rm -rf " %{buildroot} "
+
+
+
+%defattr(-,root,root)
+%if 0 %{?fedora_version} || 0 %{?rhel_version} || 0 %{?centos_version}
+%{_datadir} /applications/kde4/fedora-kradioripper.desktop
+%else
+%{_datadir} /applications/kde4/kradioripper.desktop
+%endif
+%{_bindir} /kradioripper
+%{_datadir} /locale/*/LC_MESSAGES/kradioripper.mo
+%if 0 %{?mandriva_version}
+# TODO The %%doc macro is actually broken for mandriva 2009 in build service...
+%dir %{_datadir} /apps/kradioripper
+%{_datadir} /apps/kradioripper/*
+%else
+%doc COPYING LICENSE LICENSE.GPL2 LICENSE.GPL3 NEWS WARRANTY
+%dir %{_datadir} /kde4/apps/kradioripper
+%{_datadir} /kde4/apps/kradioripper/*
+%endif
+
+
+
+* Sun May 04 2008 email@email.com
+- some text
+- some text
+ in two lines
+- some text
+ in two lines
+ + with subtext
+ - and more subtext
+ in two lines
+* Tue Apr 24 2007 Name
+- text
+ * When the star isn't at column 0, than it doesn't indicate
+ a new date
+* Wen Sep 08 2003 Wrong weekday
+* Mon Mai 08 2003 Wrong month
+* Mon Sep 0 2003 bad day
+* Mon Sep 8 2003 good day
+* Mon Sep 08 2003 good day
+* Mon Sep 32 2003 bad day
+* Mon Sep 08 03 bad year
+* Mon Sep 08 2003 Name
+# When using macros, the error check is disabled:
+* %myDataMacro Title of the entry
+- Text
+ - can
+ - be
+ - indeeded
+ - without
+ - problems
+
diff --git a/autotests/reference/highlight.t2t.ref b/autotests/reference/highlight.t2t.ref
new file mode 100644
index 0000000..60514fb
--- /dev/null
+++ b/autotests/reference/highlight.t2t.ref
@@ -0,0 +1,90 @@
+txt2tags sample
+
+
+%!--includeconf: config.t2t
+% disabled here because there is no external file
+%!preproc: 'JUST A TEST' ' '
+%!postproc: '(?i)(
+%!postproc: '(?i)()' ' shots\1'
+
+%!--include: menu.t2t
+
+= Title 1 =
+
+
+== My Subtitle 1 ==[some definition]
+
+Some examples:
+
+- A paragraph with **bold**, //italic// and --strike--.
+- You can even __underline your docs__!
+
+- And use **//bold and italic//**
+- or //**italic and bold**//
+
+Here is a nice pic: [img/t2tpowered.png].
+
+- And a [link to a cool website http://txt2tags.sf.net]!
+
+- A table :
+
+ || Name | Age | Gender |
+ | John | 33 | Male |
+ | Mary | 19 | Female |
+
+
+``` A verbatim line
+
+And it's working for ``special code`` like this.
+
+```
+Unfortunately I can't color this verbatim content yet.
+```
+
+
+== My Subtitle 2 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc Lorem ipsum etc
+
+- Test d'écriture avec des accents à la française. Ãa marche ou pas ?
+
+== My Subtitle 3 ==
+
+
+Lorem ipsum etc
+Lorem ipsum etc
+
+Here is a direct link: http://kde.org
+
+
+- Another boring part...
+
+
+
+=== My Subsubtitle 1 ===
+
+//It's a level 3 header//
+
+- list 1
+- list 2
+ - list 2b
+- list 3
+
+
+=== My Subsubtitle 2 ===
+
+//It's another level 3 header//
+
++ ordered list 1
++ list 2
+ + list 2B
+ + list 2C
++ list 3
+
+
+== My Subtitle 4 ==
+
+nothing to say here...
+
diff --git a/autotests/reference/highlight.tcl.ref b/autotests/reference/highlight.tcl.ref
new file mode 100644
index 0000000..57e0778
--- /dev/null
+++ b/autotests/reference/highlight.tcl.ref
@@ -0,0 +1,50 @@
+# tcl syntax highlighting sample script for Kate
+#
+# author: JM. Philippe 15/03/04
+
+# escaped characters
+set String \{
+set String \{
+set String \"
+set String " \" "
+set String " \{ "
+
+#comments and not comments
+# is comments
+; #is comments
+ # is comments
+# is html comment
+puts ok; # is comments
+set String [string map { { » is not comments }} $String ]
+set String \# not_a_comment
+
+# blocks
+proc test { arg1 { arg2 {}} { arg3 { fr fq r }}} {
+ if { 1 } { ; #comments
+ set String \{ ; # not a block start
+ }
+}
+
+proc test args {
+ set String \} ; # not a block end
+}
+
+# BEGIN - collapsable comments
+# blablabla
+# END
+
+# strings
+set String "feqr feqr $ gqer gqe"
+set String "feqr
+feqr \" $ gqer \
+gqe
+"
+set String { feqr
+feqr \{ $gqer \
+gqe
+}
+
+# variables
+set b+ 1 [incr b ]
+set {incr -b } ${b+1}
+puts ${incr-b}
diff --git a/autotests/reference/highlight.tex.ref b/autotests/reference/highlight.tex.ref
new file mode 100644
index 0000000..8893ecf
--- /dev/null
+++ b/autotests/reference/highlight.tex.ref
@@ -0,0 +1,73 @@
+% LaTeX test file for kate's syntax highlighting and code folding
+
+\ordinaryLaTeXcommandwithoption [10pt,a4paper]{article}
+% BEGIN region
+%comment, this is all ok % $
+\% no comments please
+\\ %comment
+% END of region
+
+\newcommand { \nohighlighting }
+
+\section { normal }
+
+\ref { blue }
+\pageref { blue }
+\cite { blue }
+
+\begin { environmentshavespecialcolors }
+normal
+\end { environmentshavespecialcolors }
+
+$equations are green, \commands somewhat darker$
+normal
+$$equations are green, \commands somewhat darker$$
+normal
+\(
+\frac {1}{2}
+\begin {test}
+\end {test}
+\)
+normal
+\[
+%comment
+displaymath
+\]
+normal
+\begin { equation }
+green \darkergreen
+\begin { test }
+\test
+\end { test}
+\end { equation }
+
+\begin { equation* }
+green \darkergreen
+%comment
+\begin { test }
+\test
+\end { test}
+\% no comment
+\end { equation* }
+
+\{ %this should be comment
+
+\verb % this shouldn't be %and this should be normal text
+
+\begin { verbatim }
+text inside a verbatim environment is also treated special $ %,
+you can even put a \begin{verbatim} inside
+\end { verbatim }
+
+normal
+
+\begin { Verbatim }
+&@@#^%&^#$
+\end { Verbatim }
+
+
+\begin { Verbatim *}
+@*&^#@*(^#(*@&
+\end { Verbatim* }
+
+normal
diff --git a/autotests/reference/highlight.wrl.ref b/autotests/reference/highlight.wrl.ref
new file mode 100644
index 0000000..019db97
--- /dev/null
+++ b/autotests/reference/highlight.wrl.ref
@@ -0,0 +1,41 @@
+#VRML V2.0 utf8
+#
+# VRML highlighting test for Kate's syntax highlighting
+#
+
+# Keywords
+DEF , EXTERNPROTO , FALSE , IS , NULL , PROTO , ROUTE , TO , TRUE , USE , eventIn ,
+eventOut , exposedField , field
+
+# Data types
+MFColor , MFFloat , MFInt32 , MFNode . MFRotation , MFString , MFTime , MFVec2f ,
+MFVec3f , SFBool , SFColor , SFFloat , SFImage , SFInt32 , SFNode , SFRotation ,
+SFString , SFTime , SFVec2f , SFVec3f
+
+# Predefined nodes
+Anchor , Appearance , AudioClip , Background , Billboard , Box , Collision , Color ,
+ColorInterpolator , Cone , Coordinate , CoordinateInterpolator , Cylinder ,
+CylinderSensor , DirectionalLight , ElevationGrid , Extrusion , Fog , FontStyle ,
+Group , ImageTexture , IndexedFaceSet , IndexedLineSet , Inline , LOD , Material ,
+MovieTexture , NavigationInfo , Normal , NormalInterpolator , OrientationInterpolator ,
+PixelTexture , PlaneSensor , PointLight , PointSet , PositionInterpolator ,
+ProximitySensor , ScalarInterpolator , Script , Shape , Sound , Sphere , SphereSensor ,
+SpotLight , Switch , Text , TextureCoordinate , TextureTransform , TimeSensor ,
+TouchSensor , Transform , Viewpoint , VisibilitySensor , WorldInfo
+
+# Some real VRML constructs to see if highlighting of int, float etc. works
+NavigationInfo {
+ avatarSize [ 0.25 , 1.6 , 0.75 ]
+ headlight TRUE
+ speed 1
+ type [ "WALK" , "ANY" ]
+ visibilityLimit 0.0
+}
+
+# some further testing for strings: linefeeds are allowed within strings
+Text {
+ string [ "some special in-string characters: \" \\
+ some more text in the next line
+ and yet another line" ]
+}
+
diff --git a/autotests/reference/highlight.xml.ref b/autotests/reference/highlight.xml.ref
new file mode 100644
index 0000000..130bc63
--- /dev/null
+++ b/autotests/reference/highlight.xml.ref
@@ -0,0 +1,67 @@
+ version="1.0" encoding="UTF-8" ?>
+language SYSTEM "language.dtd" >
+
+
+
+This is a pseudo XML file to test Kate's XML syntax highlighting.
+
+Doctype:
+ HTML PUBLIC "-//SOME_DOCTYPE 0.01//EN" SYSTEM "foobar.dtd" >
+
+Processing instruction:
+ processing instruction ?>
+
+Comments:
+
+
+
+Comment inside element:
+ attr= "foobar" > content
+
+Markup inside comment:
+
+
+Empty element:
+
+ />
+
+Simple element plus content:
+ some content
+ attr= "foobar" > some
+ content
+
+Namespace for elements and attributes:
+ content
+ ns:attr= "content content" > content
+
+Elements containing allowed characters:
+ foo= "test" />
+ foo= "test" />
+
+Elements containing allowed start characters:
+ <:element foo= "test" />
+ <_element foo= "test" />
+
+Single quotes (the same as double quotes):
+ attr= 'content content' > content
+
+Allowed Whitespace:
+ attr = "test" >
+ content
+
+Entities:
+
+ å
+ å
+ å
+ И
+ 水
+ attr= "foo å & bar" />
+
+Illegal XML, should not be highlighted:
+ < 0foobar> -- no digit as first character
+ < -foo> -- no dash as first character
diff --git a/autotests/reference/highlight.xsl.ref b/autotests/reference/highlight.xsl.ref
new file mode 100644
index 0000000..5000e1e
--- /dev/null
+++ b/autotests/reference/highlight.xsl.ref
@@ -0,0 +1,109 @@
+ version="1.0" encoding="iso-8859-15" ?>
+
+
+
+< xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version= "1.0"
+xmlns:h= "http://www.w3.org/1999/xhtml" >
+< xsl:output method= "xml" encoding= "iso-8859-15" indent= "yes"
+ doctype-public= "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
+ doctype-system= "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd"
+/>
+
+
+< xsl:template match= "/" >
+Linux at Home Links
+< xsl:for-each select= "//*[ @id = 'maincontents' ]//h:li" >
+ < xsl:variable name= "f" select= " document (h:a/ @href )/h:html" />
+
+ < xsl:value-of select= "h:a/h:strong" />
+ < xsl:value-of select= " normalize-space (h:a/ text ())" />
+ < xsl:for-each select= " $f //h:div[ @id = 'maincontents' ]" >
+ < xsl:call-template name= "getbookmarks" />
+ xsl:for-each >
+
+
+xsl:for-each >
+
+xsl:template >
+
+
+
+< xsl:template name= "getbookmarks" >
+
+< xsl:choose >
+
+ < xsl:when test= " self:: h:li or self:: h:p" >
+ < xsl:variable name= "t" select= " normalize-space ()" />
+ < xsl:for-each select= ".//h:a[1]" >
+ < xsl:call-template name= "bookmark" >
+ < xsl:with-param name= "desc" select= " $t " />
+ xsl:call-template >
+ xsl:for-each >
+ < xsl:for-each select= ".//h:a[ position ()!=1]" >
+ < xsl:call-template name= "bookmark" />
+ xsl:for-each >
+ xsl:when >
+
+
+ < xsl:otherwise >
+ < xsl:for-each select= "*" >
+ < xsl:call-template name= "getbookmarks" />
+ xsl:for-each >
+ xsl:otherwise >
+
+xsl:choose >
+
+xsl:template >
+
+
+< xsl:template name= "bookmark" >
+ < xsl:param name= "href" select= " @href " />
+ < xsl:param name= "desc" select= " '' " />
+ < xsl:param name= "title" select= " normalize-space ()" />
+
+ < xsl:variable name= "realdesc" >
+ < xsl:choose >
+ < xsl:when test= " starts-with ( $desc , $title )" >
+ < xsl:choose >
+ < xsl:when test= " starts-with ( translate ( substring-after ( $desc , $title ), ',.;' , '...' ), '.' )" >
+ < xsl:value-of select= " substring ( $desc , string-length ( $title ) + 2)" />
+ xsl:when >
+ < xsl:otherwise >
+ < xsl:value-of select= " substring-after ( $desc , $title )" />
+ xsl:otherwise >
+ xsl:choose >
+ xsl:when >
+ < xsl:otherwise >
+ < xsl:value-of select= " $desc " />
+ xsl:otherwise >
+ xsl:choose >
+ xsl:variable >
+
+
+ < xsl:attribute name= "href" >
+ < xsl:choose >
+ < xsl:when test= " starts-with ( $href , 'http://' ) or starts-with ( $href , 'ftp://' ) or starts-with ( $href , 'mailto:' )" >
+ < xsl:value-of select= " $href " />
+ xsl:when >
+ < xsl:otherwise >
+ < xsl:value-of select= " concat ( 'http://www.xs4all.nl/~wbsoft/linux/links/' , $href )" />
+ xsl:otherwise >
+ xsl:choose >
+ xsl:attribute >
+ < xsl:value-of select= " normalize-space ( $title )" />
+ < xsl:if test= " normalize-space ( $realdesc ) != '' " >
+ < xsl:value-of select= " normalize-space ( $realdesc )" />
+ xsl:if >
+
+xsl:template >
+
+
+
+xsl:stylesheet >
diff --git a/autotests/reference/highlight.y.ref b/autotests/reference/highlight.y.ref
new file mode 100644
index 0000000..c553a93
--- /dev/null
+++ b/autotests/reference/highlight.y.ref
@@ -0,0 +1,54 @@
+/* Yacc / Bison hl test file.
+ * It won't compile :-) Sure !
+ */
+
+%{
+
+#include
+using namespace std ;
+
+extern KateParser * parser ;
+
+%}
+
+%locations
+
+%union {
+ int int_val ;
+ double double_val ;
+ bool bool_val ;
+ char * string_val ;
+ char * ident_val ;
+ struct var * v ;
+ void * ptr ;
+}
+
+%token TOK_NOT_EQUAL "!="
+%token TOK_LESSER_E "<="
+%token TOK_GREATER_E ">="
+%token TOK_EQUAL_2 "=="
+
+%type type type_proc
+
+%%
+
+prog : KW_PROGRAM ident { parser -> start ( $ 2 ) ; } prog_beg_glob_decl instructions { parser -> endproc ( 0 ) ; } dev_procedures KW_ENDP ;
+
+number : integer_number
+ | TOK_DOUBLE
+ {
+ $$ = new var ;
+ $$ -> type = KW_REEL ;
+ $$ -> cl = var :: LITTERAL ;
+ $$ -> real = $ < int_val > 1 ;
+ };
+
+%%
+
+#include
+
+int main ( void )
+{
+ puts ( "Hello, World!" ) ;
+ return 0 ;
+}
diff --git a/autotests/reference/highlight_lpc.c.ref b/autotests/reference/highlight_lpc.c.ref
new file mode 100644
index 0000000..72031aa
--- /dev/null
+++ b/autotests/reference/highlight_lpc.c.ref
@@ -0,0 +1,64 @@
+// NOTE : This is a test file for kate's LPC syntax highlighting.
+
+// This is a Single-Line Comment
+/* This is a Multi-
+ Line Comment */
+
+// This again is a Single-Line Comment which should end here /*
+
+// And this is an evil single line comment \
+ which should include this and the next line because of the \
+ Do not use this style at home, kids.
+// BEGIN region marker
+
+// END of region marker
+
+private void create()
+{
+// Some Preprocessor stuff:
+#define SOME_STUFF if (foo( "bar" )) \
+ { \
+ bar( "foo" ); \
+ } // Preprocessor, Keyword, Preprocessor-String, Multiline
+
+ // Some closures:
+ #'create ;
+ #'?! ;
+
+
+ /* Some other Data Types: */
+
+ int i = 1 ; // Integer.
+ float b = 2.34 ; // Float.
+ int c = 0b001 ; // Binary
+ int e = 0x019Beef ; // Hexadecimal
+ int f = 0o2345 ; // Octal
+ string a = "Wheee" ; // String
+ string x = "Wheee \
+ heee" ; // Multi-Line String, again, don't use this.
+
+
+
+ /* Some keywords: */
+ if ( 1 )
+ {
+ switch ( 2 )
+ {
+ case 3 :
+ 4 ;
+ break ;
+ }
+ }
+
+ else
+ {
+ return 0 ;
+ }
+}
+
+/*
+WARNING : If the above function is part of a multi-line comment,
+ it's buggy. The WARNING : itself should be a comment-keyword.
+ That's not actually part of the language, but simply used
+ to highlight important stuff inside comments like TODO : etc.
+*/
diff --git a/autotests/reference/highlight_ocaml.ml.ref b/autotests/reference/highlight_ocaml.ml.ref
new file mode 100644
index 0000000..c0559f0
--- /dev/null
+++ b/autotests/reference/highlight_ocaml.ml.ref
@@ -0,0 +1,105 @@
+(* ocaml test file -- a big stew of Objective Caml syntax to use to
+ test Kate's syntax highlighting. This will not run! :-) *)
+
+(* First a little piece of real OCaml that should look right: *)
+
+ #load "basic";;
+ (* Return a default value for a BASIC variable given its identifer. *)
+ let default_value ( ident : string ) : basic_value =
+ assert ( String . length ident > 0 );
+ match ident .[ String . length ident - 1 ] with
+ | '$' -> Str ""
+ | '%' -> Int 0
+ | '!' -> Flt 0.0
+ | _ -> Flt 0.0
+ ;;
+
+(* Directives: *)
+#load "pa_o";;
+ #load "pa_o";;
+object # meth ;; (* not a directive - a method call *)
+object
+ # meth ;; (* not a directive - a method call *)
+
+(* OCaml keywords: *)
+and as assert asr (* etc. there so many... *)
+
+(* Additional OCaml Revised Syntax keywords: *)
+(* These are in a seperate category so they can be coloured to look
+ like identifiers when ordinary OCaml syntax is being used: *)
+declare where value
+
+(* There's no way to reliably highlight all OCaml type expressions,
+ (they can be very complex) so just the built-in type names are highlighted.*)
+exn lazy_t format unit int real char string ref array bool list option
+
+
+let integers : int list = [
+ 123456789 ; (* decimal *)
+ -0xabcedf0123456789 ; (* hexadecimal *)
+ 0xABCDEF0123456789 ; (* hexadecimal *)
+ -0o1234567 ; (* octal *)
+ 0b01001010101010 ; (* binary *)
+ -0Xabcedf0123456789 ; (* hexadecimal *)
+ 0XABCDEF0123456789 ; (* hexadecimal *)
+ -0O1234567 ; (* octal *)
+ 0B01001010101010 ; (* binary *)
+ -123_456_789 ; (* Underscores are allowed in numeric constants. *)
+ 0x_abce_df01_2345_6789 ;
+ -0o12_34_567 ;
+ 0b_0100_1010_1010_1101 ;
+];;
+
+let floats : real list = [
+ 12345.6789 ;
+ -1.23456789e4 ; (* All variations of the exponent form *)
+ 1.23456789e+4 ;
+ -1.23456789e-4 ;
+ 1.23456789E-4 ;
+ -1.23456789E+4 ;
+ 12_345.6789 ; (* Underscores are allowed in numeric constants. *)
+ -1.23_456_789e+4 ;
+ 12_345.6789 ;
+];;
+
+let characters : char list = [
+ 'a' ;
+ ' ' ;
+ '�' ;
+ '\n' ; '\r' ; '\t' ; '\b' ; (* Control characters. Only these four: not the full C-language range. *)
+ '\000' ; '\128' ; (* Decimal character codes. These are always 3 digits. *)
+ '\x02' ; '\xff' ; '\xFF' ; (* Hexadecimal character codes. These are always 3 digits. *)
+ '\\' ; '\'' ; '\"' ; '"' (* Quote character escapes. *)
+];;
+
+(* Quotes used to mark constants in parsers should
+ not be confused with character constant quotes.
+ "Ticks" at the end of identifiers should
+ not be confused with character constant quotes. *)
+let basic_identifier =
+ parser
+ [< ' 'F' ; ' 'N' ; name = s >] -> ID ( s , 'f' )
+ | [< name = s' >] -> ID ( s' , 'i' )
+;;
+
+let strings : string list = [
+ "" ; (* Empty string *)
+ "a" ; " " ; "�" ; "ab" ;
+ "A \n B" ; "A \r B" ; "A \t B" ; "A \b B" ; (* Control characters. Only these four: not the full C-language range. *)
+ "A \000 B" ; "A \128 B" ; (* Decimal character codes. These are always 3 digits. *)
+ "A \x02 B" ; "A \xff B" ; "A \xFF B" ; (* Hexadecimal character codes. These are always 3 digits. *)
+ "A \\ B" ; "A \' B" ; "A'B" ; "A \" B" ; (* Quote character escapes. *)
+ "A multiline \
+ string" ;
+];
+
+let camlp4_quotations = [
+ <> ;
+ <:QUOTE> ;
+ <: QU � T �< A labelled Camlp4 source code quotation . ( Latin -1 identifier .)>> ;
+ << A quote with an escape: \>> (end-quote symbol) >> ;
+ << A quote with an escape: \<< (plain start quote-symbol) >> ;
+ << A quote with an escape: \<:Trouv�< (labelled start-quote symbol) >> ;
+];;
+
+(* end *)
diff --git a/autotests/reference/highlight_octave.m.ref b/autotests/reference/highlight_octave.m.ref
new file mode 100644
index 0000000..121139b
--- /dev/null
+++ b/autotests/reference/highlight_octave.m.ref
@@ -0,0 +1,74 @@
+##=====================================================
+% Octave test code for Kate/Kwrite syntax highlighting
+% (shamelessly copied from Matlab's, since the two
+% are very similar)
+% kate: hl Octave;
+##=====================================================
+
+% Numbers _____________________________________________
+5 , 5.5 , .1 , 0.1 , 0.4e5 , 1.2e-5 , 5i , 5.3i , 6j , .345 + 3i
+5 ', 5.5 ', .1 ', 0.1 ', 0.4e5 ', 1.2e-5 ', 5i ', 5.3i ', 6j ', .345 + 3i '
+
+% Operators ___________________________________________
+% relational operators
+'asdf' ~= 4 , c <= 4 , d >= 4 , a < b , a > b , a == b , b || c , b && c
+% elementwise arithmetic operators
+a .^ b , a .* b a ./ b , 1 : 4 : 5
+% single-character binary arithmetic
+a + 3 , a - 3 , a * 2 , a ^ 3 , a / 3 , a \ 3 , a | b , a & b
+% unary operators
+a = ~ g ; g = @ sfdgdsf ( sdfsd , 345 ) ; g .' + 1i .' - ( 'asdf' ) .'
+% separators and delimiter
+( asd ) , [ sadf ] ; { asdf } ,;;,;;; ()
+% continuation
+a = 1 + ...
+ 2 ;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+'str''\'
+% complete strings
+'string' % simple string
+'''' '\'' % strings containing '
+'str''ing' % one string containing '
+'string' 'string' % two strings
+'asdf' "asdf""" variable % two strings and a variable
+'asdf''asdf'' fsgdfg' + ( asdf ) ' - 'asdf' .' + [] ''''.'; ''
+'sadf' .' % string transpose
+% adjoint
+{ 'asdf' } ' + 1
+( 'asdf' ) ' + 1
+[ 'asdf' ] ' + 1
+'' var ''' % empty string, var with >1 adjoints
+[ 5 ] '* { 5 } '* ( 'asd' ) '.'+ ( 5 ) '* 6 '* asdf '* asdf '.' % many adjoints
+A '* B + 1 % adjoint
+A .'* B + 1 % transpose
+A .'.'* B + 1 % double transpose
+A '.' + 1 % adjoint, then transpose
+A .'' % transpose, then adjoint
+
+% System command ______________________________________
+! hostname
+! cp * / tmp
+
+% Reserved keywords ___________________________________
+function , persistent , global
+endfunction
+
+switch , case , otherwise
+endswitch
+
+if , else , elseif
+endif
+
+try , end_try_catch
+for , while , break , continue
+endfor
+
+endwhile
+return
+function , FUNCTION , Function % case sensitive!
+endfunction
diff --git a/autotests/reference/learnelixir.exs.ref b/autotests/reference/learnelixir.exs.ref
new file mode 100644
index 0000000..10a8b56
--- /dev/null
+++ b/autotests/reference/learnelixir.exs.ref
@@ -0,0 +1,397 @@
+# Original: https://learnxinyminutes.com/docs/elixir/
+
+# Single line comments start with a number symbol.
+
+# There's no multi-line comment,
+# but you can stack multiple comments.
+
+# To use the elixir shell use the `iex` command.
+# Compile your modules with the `elixirc` command.
+
+# Both should be in your path if you installed elixir correctly.
+
+## ---------------------------
+## -- Basic types
+## ---------------------------
+
+# There are numbers
+3 # integer
+0x1F # integer
+3.0 # float
+
+# Atoms, that are literals, a constant with name. They start with `:`.
+:hello # atom
+
+# Tuples that are stored contiguously in memory.
+{ 1 , 2 , 3 } # tuple
+
+# We can access a tuple element with the `elem` function:
+elem({ 1 , 2 , 3 }, 0 ) #=> 1
+
+# Lists that are implemented as linked lists.
+[ 1 , 2 , 3 ] # list
+
+# We can access the head and tail of a list as follows:
+[ head | tail ] = [ 1 , 2 , 3 ]
+head #=> 1
+tail #=> [2,3]
+
+# In elixir, just like in Erlang, the `=` denotes pattern matching and
+# not an assignment.
+#
+# This means that the left-hand side (pattern) is matched against a
+# right-hand side.
+#
+# This is how the above example of accessing the head and tail of a list works.
+
+# A pattern match will error when the sides don't match, in this example
+# the tuples have different sizes.
+# {a, b, c} = {1, 2} #=> ** (MatchError) no match of right hand side value: {1,2}
+
+# There are also binaries
+<< 1 , 2 , 3 >> # binary
+
+# Strings and char lists
+"hello" # string
+'hello' # char list
+
+# Multi-line strings
+"""
+I'm a multi-line
+string.
+"""
+#=> "I'm a multi-line\nstring.\n"
+
+# Strings are all encoded in UTF-8:
+"héllò" #=> "héllò"
+
+# Strings are really just binaries, and char lists are just lists.
+<< ?a, ?b, ?c >> #=> "abc"
+[ ?a, ?b, ?c ] #=> 'abc'
+
+# `?a` in elixir returns the ASCII integer for the letter `a`
+?a #=> 97
+
+# To concatenate lists use `++`, for binaries use `<>`
+[ 1 , 2 , 3 ] ++ [ 4 , 5 ] #=> [1,2,3,4,5]
+'hello ' ++ 'world' #=> 'hello world'
+
+<< 1 , 2 , 3 >> <> << 4 , 5 >> #=> <<1,2,3,4,5>>
+"hello " <> "world" #=> "hello world"
+
+# Ranges are represented as `start..end` (both inclusive)
+1 .. 10 #=> 1..10
+lower .. upper = 1 .. 10 # Can use pattern matching on ranges as well
+[ lower, upper ] #=> [1, 10]
+
+## ---------------------------
+## -- Operators
+## ---------------------------
+
+# Some math
+1 + 1 #=> 2
+10 - 5 #=> 5
+5 * 2 #=> 10
+10 / 2 #=> 5.0
+
+# In elixir the operator `/` always returns a float.
+
+# To do integer division use `div`
+div( 10 , 2 ) #=> 5
+
+# To get the division remainder use `rem`
+rem( 10 , 3 ) #=> 1
+
+# There are also boolean operators: `or`, `and` and `not`.
+# These operators expect a boolean as their first argument.
+true and true #=> true
+false or true #=> true
+# 1 and true #=> ** (ArgumentError) argument error
+
+# Elixir also provides `||`, `&&` and `!` which accept arguments of any type.
+# All values except `false` and `nil` will evaluate to true.
+1 || true #=> 1
+false && 1 #=> false
+nil && 20 #=> nil
+!true #=> false
+
+# For comparisons we have: `==`, `!=`, `===`, `!==`, `<=`, `>=`, `<` and `>`
+1 == 1 #=> true
+1 != 1 #=> false
+1 < 2 #=> true
+
+# `===` and `!==` are more strict when comparing integers and floats:
+1 == 1.0 #=> true
+1 === 1.0 #=> false
+
+# We can also compare two different data types:
+1 < :hello #=> true
+
+# The overall sorting order is defined below:
+# number < atom < reference < functions < port < pid < tuple < list < bit string
+
+# To quote Joe Armstrong on this: "The actual order is not important,
+# but that a total ordering is well defined is important."
+
+## ---------------------------
+## -- Control Flow
+## ---------------------------
+
+# `if` expression
+if false do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# There's also `unless`
+unless true do
+ "This will never be seen"
+else
+ "This will"
+end
+
+# Remember pattern matching? Many control-flow structures in elixir rely on it.
+
+# `case` allows us to compare a value against many patterns:
+case { :one , :two } do
+ { :four , :five } ->
+ "This won't match"
+ { :one , x} ->
+ "This will match and bind `x` to `:two`"
+ _ ->
+ "This will match any value"
+end
+
+# It's common to bind the value to `_` if we don't need it.
+# For example, if only the head of a list matters to us:
+[ head | _ ] = [ 1 , 2 , 3 ]
+head #=> 1
+
+# For better readability we can do the following:
+[ head | _tail ] = [ :a , :b , :c ]
+head #=> :a
+
+# `cond` lets us check for many conditions at the same time.
+# Use `cond` instead of nesting many `if` expressions.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ 1 + 2 == 3 ->
+ "But I will"
+end
+
+# It is common to set the last condition equal to `true`, which will always match.
+cond do
+ 1 + 1 == 3 ->
+ "I will never be seen"
+ 2 * 5 == 12 ->
+ "Me neither"
+ true ->
+ "But I will (this is essentially an else)"
+end
+
+# `try/catch` is used to catch values that are thrown, it also supports an
+# `after` clause that is invoked whether or not a value is caught.
+try do
+ throw ( :hello )
+catch
+ message -> "Got #{ message } ."
+after
+ IO . puts( "I'm the after clause." )
+end
+#=> I'm the after clause
+# "Got :hello"
+
+## ---------------------------
+## -- Modules and Functions
+## ---------------------------
+
+# Anonymous functions (notice the dot)
+square = fn (x) -> x * x end
+square . ( 5 ) #=> 25
+
+# They also accept many clauses and guards.
+# Guards let you fine tune pattern matching,
+# they are indicated by the `when` keyword:
+f = fn
+ x, y when x > 0 -> x + y
+ x, y -> x * y
+end
+
+f . ( 1 , 3 ) #=> 4
+f . ( - 1 , 3 ) #=> -3
+
+# Elixir also provides many built-in functions.
+# These are available in the current scope.
+is_number( 10 ) #=> true
+is_list( "hello" ) #=> false
+elem({ 1 , 2 , 3 }, 0 ) #=> 1
+
+# You can group several functions into a module. Inside a module use `def`
+# to define your functions.
+defmodule Math do
+ def sum(a, b) do
+ a + b
+ end
+
+ def square(x) do
+ x * x
+ end
+end
+
+Math . sum( 1 , 2 ) #=> 3
+Math . square( 3 ) #=> 9
+
+# To compile our simple Math module save it as `math.ex` and use `elixirc`
+# in your terminal: elixirc math.ex
+
+# Inside a module we can define functions with `def` and private functions with `defp`.
+# A function defined with `def` is available to be invoked from other modules,
+# a private function can only be invoked locally.
+defmodule PrivateMath do
+ def sum(a, b) do
+ do_sum(a, b)
+ end
+
+ defp do_sum(a, b) do
+ a + b
+ end
+end
+
+PrivateMath . sum( 1 , 2 ) #=> 3
+# PrivateMath.do_sum(1, 2) #=> ** (UndefinedFunctionError)
+
+# Function declarations also support guards and multiple clauses:
+defmodule Geometry do
+ def area({ :rectangle , w, h}) do
+ w * h
+ end
+
+ def area({ :circle , r}) when is_number(r) do
+ 3.14 * r * r
+ end
+end
+
+Geometry . area({ :rectangle , 2 , 3 }) #=> 6
+Geometry . area({ :circle , 3 }) #=> 28.25999999999999801048
+# Geometry.area({:circle, "not_a_number"})
+#=> ** (FunctionClauseError) no function clause matching in Geometry.area/1
+
+# Due to immutability, recursion is a big part of elixir
+defmodule Recursion do
+ def sum_list( [ head | tail ] , acc) do
+ sum_list(tail, acc + head)
+ end
+
+ def sum_list( [] , acc) do
+ acc
+ end
+end
+
+Recursion . sum_list( [ 1 , 2 , 3 ] , 0 ) #=> 6
+
+# Elixir modules support attributes, there are built-in attributes and you
+# may also add custom ones.
+defmodule MyMod do
+ @moduledoc """
+ This is a built-in attribute on a example module.
+ """
+
+ @my_data 100 # This is a custom attribute.
+ IO . inspect( @my_data ) #=> 100
+end
+
+## ---------------------------
+## -- Structs and Exceptions
+## ---------------------------
+
+# Structs are extensions on top of maps that bring default values,
+# compile-time guarantees and polymorphism into Elixir.
+defmodule Person do
+ defstruct name: nil , age: 0 , height: 0
+end
+
+joe_info = % Person { name: "Joe" , age: 30 , height: 180 }
+#=> %Person{age: 30, height: 180, name: "Joe"}
+
+# Access the value of name
+joe_info . name #=> "Joe"
+
+# Update the value of age
+older_joe_info = %{ joe_info | age: 31 }
+#=> %Person{age: 31, height: 180, name: "Joe"}
+
+# The `try` block with the `rescue` keyword is used to handle exceptions
+try do
+ raise "some error"
+rescue
+ RuntimeError -> "rescued a runtime error"
+ _error -> "this will rescue any error"
+end
+#=> "rescued a runtime error"
+
+# All exceptions have a message
+try do
+ raise "some error"
+rescue
+ x in [ RuntimeError ] ->
+ x . message
+end
+#=> "some error"
+
+## ---------------------------
+## -- Concurrency
+## ---------------------------
+
+# Elixir relies on the actor model for concurrency. All we need to write
+# concurrent programs in elixir are three primitives: spawning processes,
+# sending messages and receiving messages.
+
+# To start a new process we use the `spawn` function, which takes a function
+# as argument.
+f = fn -> 2 * 2 end #=> #Function
+spawn(f) #=> #PID<0.40.0>
+
+# `spawn` returns a pid (process identifier), you can use this pid to send
+# messages to the process. To do message passing we use the `send` operator.
+# For all of this to be useful we need to be able to receive messages. This is
+# achieved with the `receive` mechanism:
+
+# The `receive do` block is used to listen for messages and process
+# them when they are received. A `receive do` block will only
+# process one received message. In order to process multiple
+# messages, a function with a `receive do` block must recursively
+# call itself to get into the `receive do` block again.
+
+defmodule Geometry do
+ def area_loop do
+ receive do
+ { :rectangle , w, h} ->
+ IO . puts( "Area = #{ w * h } " )
+ area_loop()
+ { :circle , r} ->
+ IO . puts( "Area = #{ 3.14 * r * r } " )
+ area_loop()
+ end
+ end
+end
+
+# Compile the module and create a process that evaluates `area_loop` in the shell
+pid = spawn( fn -> Geometry . area_loop() end ) #=> #PID<0.40.0>
+# Alternatively
+pid = spawn( Geometry , :area_loop , [] )
+
+# Send a message to `pid` that will match a pattern in the receive statement
+send pid, { :rectangle , 2 , 3 }
+#=> Area = 6
+# {:rectangle,2,3}
+
+send pid, { :circle , 2 }
+#=> Area = 12.56000000000000049738
+# {:circle,2}
+
+# The shell is also a process, you can use `self` to get the current pid
+self() #=> #PID<0.27.0>
diff --git a/autotests/reference/light52_muldiv.vhdl.ref b/autotests/reference/light52_muldiv.vhdl.ref
new file mode 100644
index 0000000..2fec8c1
--- /dev/null
+++ b/autotests/reference/light52_muldiv.vhdl.ref
@@ -0,0 +1,239 @@
+--------------------------------------------------------------------------------
+-- light52_muldiv.vhdl -- Simple multiplier/divider module.
+--------------------------------------------------------------------------------
+-- The 8051 mul and div instructions are both unsigned and operands are 8 bit.
+--
+-- This module implements the division as a sequential state machine which takes
+-- 8 cycles to complete.
+-- The multiplier can be implemented as sequential or as combinational, in which
+-- case it will use a DSP block in those architectures that support it.
+-- No attempt has been made to make this module generic or reusable.
+--
+-- If you want a combinational multiplier but don't want to waste a DSP block
+-- in this module, you need to modify this file adding whatever synthesis
+-- pragmas your tool of choice needs.
+--
+-- Note that unlike the division state machine, the combinational product logic
+-- is always operating: when SEQUENTIAL_MULTIPLIER=true, prod_out equals
+-- data_a * data_b with a latency of 1 clock cycle, and mul_ready is hardwired
+-- to '1'.
+--
+-- FIXME explain division algorithm.
+--------------------------------------------------------------------------------
+-- GENERICS:
+--
+-- SEQUENTIAL_MULTIPLIER -- Sequential vs. combinational multiplier.
+-- When true, a sequential implementation will be used for the multiplier,
+-- which will usually save a lot of logic or a dedicated multiplier.
+-- When false, a combinational registered multiplier will be used.
+--
+--------------------------------------------------------------------------------
+-- INTERFACE SIGNALS:
+--
+-- clk : Clock, active rising edge.
+-- reset : Synchronous reset. Clears only the control registers not
+-- visible to the programmer -- not the output registers.
+--
+-- data_a : Numerator input, should be connected to the ACC register.
+-- data_b : Denominator input, should be connected to the B register.
+-- start : Assert for 1 cycle to start the division state machine
+-- (and the product if SEQUENTIAL_MULTIPLIER=true);
+--
+-- prod_out : Product output, valid only when mul_ready='1'.
+-- quot_out : Quotient output, valid only when div_ready='1'.
+-- rem_out : Remainder output, valid only when div_ready='1'.
+-- div_ov_out : Division overflow flag, valid only when div_ready='1'.
+-- mul_ov_out : Product overflow flag, valid only when mul_ready='1'.
+--
+-- mul_ready : Asserted permanently if SEQUENTIAL_MULTIPLIER=false.
+-- div_ready : Deasserted the cycle after start is asserted.
+-- Asserted when the division has completed.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+library ieee;
+use ieee . std_logic_1164 . all;
+use ieee . numeric_std . all;
+
+use work . light52_pkg . all;
+use work . light52_ucode_pkg . all;
+
+entity light52_muldiv is
+ generic (
+ SEQUENTIAL_MULTIPLIER : boolean := false
+ );
+ port (
+ clk : in std_logic ;
+ reset : in std_logic ;
+
+ data_a : in t_byte;
+ data_b : in t_byte;
+ start : in std_logic ;
+
+ prod_out : out t_word;
+ quot_out : out t_byte;
+ rem_out : out t_byte;
+ div_ov_out : out std_logic ;
+ mul_ov_out : out std_logic ;
+
+ mul_ready : out std_logic ;
+ div_ready : out std_logic
+ );
+end entity light52_muldiv;
+
+architecture sequential of light52_muldiv is
+
+signal bit_ctr : integer range 0 to 8 ;
+
+signal b_shift_reg : t_word;
+
+signal den_ge_256 : std_logic ;
+signal num_ge_den : std_logic ;
+signal sub_num : std_logic ;
+
+signal denominator : t_byte;
+signal rem_reg : t_byte;
+signal quot_reg : t_byte;
+signal prod_reg : t_word;
+signal ready : std_logic ;
+
+signal load_regs : std_logic ;
+
+begin
+
+-- Control logic ---------------------------------------------------------------
+
+control_counter : process (clk)
+begin
+ if clk 'event and clk = '1' then
+ if reset = '1' then
+ bit_ctr <= 8 ;
+ else
+ if load_regs = '1' then
+ bit_ctr <= 0 ;
+ elsif bit_ctr /= 8 then
+ bit_ctr <= bit_ctr + 1 ;
+ end if;
+ end if;
+ end if;
+end process control_counter ;
+
+-- Internal signal ready is asserted after 8 cycles.
+-- The sequential multiplier will use this signal too, IF it takes 8 cycles.
+
+ready <= '1' when bit_ctr >= 8 else '0' ;
+
+
+---- Divider logic -------------------------------------------------------------
+
+-- What we do is a simple base-2 'shift-and-subtract' algorithm that takes
+-- 8 cycles to complete. We can get away with this because we deal with unsigned
+-- numbers only.
+
+divider_registers : process (clk)
+begin
+ if clk 'event and clk = '1' then
+ -- denominator shift register
+ if load_regs = '1' then
+ b_shift_reg <= "0" & data_b & "0000000" ;
+ -- Division overflow can be determined upon loading B reg data.
+ -- OV will be raised only on div-by-zero.
+ if data_b = X "00" then
+ div_ov_out <= '1' ;
+ else
+ div_ov_out <= '0' ;
+ end if;
+ else
+ b_shift_reg <= "0" & b_shift_reg(b_shift_reg 'high downto 1 );
+ end if;
+
+ -- numerator register
+ if load_regs = '1' then
+ rem_reg <= data_a;
+ elsif bit_ctr /= 8 and sub_num = '1' then
+ rem_reg <= rem_reg - denominator;
+ end if;
+
+ --- quotient register
+ if load_regs = '1' then
+ quot_reg <= ( others => '0' );
+ elsif bit_ctr /= 8 then
+ quot_reg <= quot_reg(quot_reg 'high-1 downto 0 ) & sub_num;
+ end if;
+
+ load_regs <= start;
+ end if;
+end process divider_registers ;
+
+denominator <= b_shift_reg( 7 downto 0 );
+
+-- The 16-bit comparison between b_shift_reg (denominator) and the zero-extended
+-- rem_reg (numerator) can be simplified by splitting it in 2:
+-- If the shifted denominator high byte is not zero, it is >=256...
+den_ge_256 <= '1' when b_shift_reg( 15 downto 8 ) /= X "00" else '0' ;
+-- ...otherwise we need to compare the low bytes.
+num_ge_den <= '1' when rem_reg >= denominator else '0' ;
+sub_num <= '1' when den_ge_256 = '0' and num_ge_den = '1' else '0' ;
+
+
+quot_out <= quot_reg;
+prod_out <= prod_reg;
+rem_out <= rem_reg;
+
+div_ready <= ready;
+
+---- Multiplier logic ----------------------------------------------------------
+
+---- Combinational multiplier -----------------------------
+multiplier_combinational : if not SEQUENTIAL_MULTIPLIER generate
+
+registered_combinational_multiplier : process (clk)
+begin
+ if clk 'event and clk = '1' then
+ prod_reg <= data_a * data_b; -- t_byte is unsigned
+ end if;
+end process registered_combinational_multiplier ;
+
+-- The multiplier output is valid in the cycle after the operands are loaded,
+-- so by the time MUL is executed it's already done.
+mul_ready <= '1' ;
+
+mul_ov_out <= '1' when prod_reg( 15 downto 8 ) /= X "00" else '0' ;
+prod_out <= prod_reg;
+
+end generate multiplier_combinational ;
+
+---- Sequential multiplier --------------------------------
+multiplier_sequential : if SEQUENTIAL_MULTIPLIER generate
+
+assert false
+report "Sequential multiplier implementation not done yet." &
+ " Use combinational implementation."
+severity failure ;
+
+end generate multiplier_sequential ;
+
+end sequential;
diff --git a/autotests/reference/light52_tb.vhdl.ref b/autotests/reference/light52_tb.vhdl.ref
new file mode 100644
index 0000000..f47b919
--- /dev/null
+++ b/autotests/reference/light52_tb.vhdl.ref
@@ -0,0 +1,180 @@
+--------------------------------------------------------------------------------
+-- light52_tb.vhdl --
+--------------------------------------------------------------------------------
+-- This test bench simulates the execution of some program (whose object code
+-- is in package obj_code_pkg, in the form of a memory init constant) and logs
+-- the execution to a text file called 'hw_sim_log.txt' (light52_tb_pkg.vhdl).
+--
+-- This test bench does no actual tests on the core. Instead, the simulation log
+-- is meant to be matched against the simulation log produced by running the
+-- same program on the software simulator B51 (also included with this project).
+--
+-- This will catch errors in the implementation of the CPU if the simulated
+-- program has anough coverage -- the opcode tester is meant to cover all CPU
+-- opcodes in many (not all) of their corner cases.
+-- This scheme will not help in catching errors in the peripheral modules,
+-- mainly because the current version of B51 does not simulate them.
+--
+--------------------------------------------------------------------------------
+-- Copyright (C) 2012 Jose A. Ruiz
+--
+-- This source file may be used and distributed without
+-- restriction provided that this copyright statement is not
+-- removed from the file and that any derivative work contains
+-- the original copyright notice and the associated disclaimer.
+--
+-- This source file is free software; you can redistribute it
+-- and/or modify it under the terms of the GNU Lesser General
+-- Public License as published by the Free Software Foundation;
+-- either version 2.1 of the License, or (at your option) any
+-- later version.
+--
+-- This source is distributed in the hope that it will be
+-- useful, but WITHOUT ANY WARRANTY; without even the implied
+-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+-- PURPOSE. See the GNU Lesser General Public License for more
+-- details.
+--
+-- You should have received a copy of the GNU Lesser General
+-- Public License along with this source; if not, download it
+-- from http://www.opencores.org/lgpl.shtml
+--------------------------------------------------------------------------------
+
+
+library ieee;
+use ieee . std_logic_1164 . all;
+use ieee . std_logic_arith . all;
+use ieee . std_logic_unsigned . all;
+use std . textio . all;
+
+use work . light52_pkg . all;
+use work . obj_code_pkg . all;
+use work . light52_tb_pkg . all;
+use work . txt_util . all;
+
+entity light52_tb is
+generic (BCD : boolean := true);
+end;
+
+
+architecture testbench of light52_tb is
+
+--------------------------------------------------------------------------------
+-- Simulation parameters
+-- FIXME these should be in parameter package
+
+-- Simulated clock period is the same as the usual target, the DE-1 board
+constant T : time := 20 ns ; -- 50MHz
+constant SIMULATION_LENGTH : integer := 400000 ;
+
+--------------------------------------------------------------------------------
+-- MPU interface
+
+signal clk : std_logic := '0' ;
+signal reset : std_logic := '1' ;
+
+signal p0_out : std_logic_vector ( 7 downto 0 );
+signal p1_out : std_logic_vector ( 7 downto 0 );
+signal p2_in : std_logic_vector ( 7 downto 0 );
+signal p3_in : std_logic_vector ( 7 downto 0 );
+
+signal external_irq : std_logic_vector ( 7 downto 0 );
+
+signal txd , rxd : std_logic ;
+
+--------------------------------------------------------------------------------
+-- Logging signals & simulation control
+
+-- Asserted high to disable the clock and terminate the simulation.
+signal done : std_logic := '0' ;
+
+-- Log file
+file log_file : TEXT open write_mode is "hw_sim_log.txt" ;
+-- Console output log file
+file con_file : TEXT open write_mode is "hw_sim_console_log.txt" ;
+-- Info record needed by the logging fuctions
+signal log_info : t_log_info;
+
+begin
+
+---- UUT instantiation ---------------------------------------------------------
+
+uut : entity work.light52_mcu
+ generic map (
+ IMPLEMENT_BCD_INSTRUCTIONS => BCD ,
+ CODE_ROM_SIZE => work . obj_code_pkg . XCODE_SIZE ,
+ XDATA_RAM_SIZE => work . obj_code_pkg . XDATA_SIZE ,
+ OBJ_CODE => work . obj_code_pkg . object_code
+ )
+ port map (
+ clk => clk ,
+ reset => reset ,
+
+ txd => txd ,
+ rxd => rxd ,
+
+ external_irq => external_irq ,
+
+ p0_out => p0_out ,
+ p1_out => p1_out ,
+ p2_in => p2_in ,
+ p3_in => p3_in
+ );
+
+ -- UART is looped back in the test bench.
+ rxd <= txd;
+
+ -- I/O ports are looped back and otherwise unused.
+ p2_in <= p0_out;
+ p3_in <= p1_out;
+
+ -- External IRQ inputs are tied to port P1 for test purposes
+ external_irq <= p1_out;
+
+ ---- Master clock: free running clock used as main module clock ------------
+ run_master_clock : process (done , clk)
+ begin
+ if done = '0' then
+ clk <= not clk after T / 2 ;
+ end if;
+ end process run_master_clock ;
+
+
+ ---- Main simulation process: reset MCU and wait for fixed period ----------
+
+ drive_uut : process
+ begin
+ -- Leave reset asserted for a few clock cycles...
+ reset <= '1' ;
+ wait for T * 4 ;
+ reset <= '0' ;
+
+ -- ...and wait for the test to hit a termination condition (evaluated by
+ -- function log_cpu_activity) or to just timeout.
+ wait for T * SIMULATION_LENGTH;
+
+ -- If we arrive here, the simulation timed out (termination conditions
+ -- trigger a failed assertion).
+ -- So print a timeout message and quit.
+ print( "TB timed out." );
+ done <= '1' ;
+ wait ;
+
+ end process drive_uut ;
+
+
+ -- Logging process: launch logger functions --------------------------------
+ log_execution : process
+ begin
+ -- Log cpu activity until done='1'.
+ log_cpu_activity(clk , reset , done , "/uut" ,
+ log_info , work . obj_code_pkg . XCODE_SIZE , "log_info" ,
+ X "0000" , log_file , con_file);
+
+ -- Flush console log file when finished.
+ log_flush_console(log_info , con_file);
+
+ wait ;
+ end process log_execution ;
+
+end architecture testbench;
diff --git a/autotests/reference/meson.build.ref b/autotests/reference/meson.build.ref
new file mode 100644
index 0000000..ed97ead
--- /dev/null
+++ b/autotests/reference/meson.build.ref
@@ -0,0 +1,21 @@
+# Unit test for Meson syntax highlight. License: LGPL
+project ( 'projectname' , 'cpp' )
+
+
+
+sourcefiles = [ 'a.cpp' , 'b.cpp' ]
+
+foreach sourcefile : sourcefiles
+ message ( 'this is a source file: ' + sourcefile)
+endforeach
+
+x = 1
+if x + 1 == 2 and x - 1 == 0
+ message ( 'I can work in this universe!' )
+endif
+
+subprojectresult = subproject ( 'mysubprojectdir' )
+
+mysharedlib = shared_library ( 'libraryname' , sourcefiles, linkwith: subprojectresult.staticlib)
+
+executable ( 'myprogram' , [ 'test.cpp' ], linkwith: mysharedlib)
diff --git a/autotests/reference/or1200_dc_fsm.v.ref b/autotests/reference/or1200_dc_fsm.v.ref
new file mode 100644
index 0000000..04ab055
--- /dev/null
+++ b/autotests/reference/or1200_dc_fsm.v.ref
@@ -0,0 +1,563 @@
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's DC FSM ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Data cache state machine ////
+//// ////
+//// To Do: ////
+//// - Test error during line read or write ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// - Julius Baxter, julius@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000, 2010 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+// $Log: or1200_dc_fsm.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+//
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+`define OR1200_DCFSM_IDLE 3'd0
+`define OR1200_DCFSM_CLOADSTORE 3'd1
+`define OR1200_DCFSM_LOOP2 3'd2
+`define OR1200_DCFSM_LOOP3 3'd3
+`define OR1200_DCFSM_LOOP4 3'd4
+`define OR1200_DCFSM_FLUSH5 3'd5
+`define OR1200_DCFSM_INV6 3'd6
+`define OR1200_DCFSM_WAITSPRCS7 3'd7
+
+
+
+//
+// Data cache FSM for cache line of 16 bytes (4x singleword)
+//
+
+module or1200_dc_fsm
+ (
+ // Clock and reset
+ clk , rst ,
+
+ // Internal i/f to top level DC
+ dc_en , dcqmem_cycstb_i , dcqmem_ci_i , dcqmem_we_i , dcqmem_sel_i ,
+ tagcomp_miss , biudata_valid , biudata_error , lsu_addr ,
+ dcram_we , biu_read , biu_write , biu_do_sel , dcram_di_sel , first_hit_ack ,
+ first_miss_ack , first_miss_err , burst , tag_we , tag_valid , dc_addr ,
+ dc_no_writethrough , tag_dirty , dirty , tag , tag_v , dc_block_flush ,
+ dc_block_writeback , spr_dat_i , mtspr_dc_done , spr_cswe
+ );
+
+ //
+ // I/O
+ //
+ input clk ;
+ input rst ;
+ input dc_en ;
+ input dcqmem_cycstb_i ;
+ input dcqmem_ci_i ;
+ input dcqmem_we_i ;
+ input [ 3 : 0 ] dcqmem_sel_i ;
+ input tagcomp_miss ;
+ input biudata_valid ;
+ input biudata_error ;
+ input [ 31 : 0 ] lsu_addr ;
+ output [ 3 : 0 ] dcram_we ;
+ output biu_read ;
+ output biu_write ;
+ output dcram_di_sel ;
+ output biu_do_sel ;
+ output first_hit_ack ;
+ output first_miss_ack ;
+ output first_miss_err ;
+ output burst ;
+ output tag_we ;
+ output tag_valid ;
+ output [ 31 : 0 ] dc_addr ;
+ input dc_no_writethrough ;
+ output tag_dirty ;
+ input dirty ;
+ input [ `OR1200_DCTAG_W - 2 : 0 ] tag ;
+ input tag_v ;
+ input dc_block_flush ;
+ input dc_block_writeback ;
+ input [ 31 : 0 ] spr_dat_i ;
+ output mtspr_dc_done ;
+ input spr_cswe ;
+
+
+ //
+ // Internal wires and regs
+ //
+ reg [ 31 : 0 ] addr_r ;
+ reg [ 2 : 0 ] state ;
+ reg [ `OR1200_DCLS - 1 : 0 ] cnt ;
+ reg hitmiss_eval ;
+ reg store ;
+ reg load ;
+ reg cache_inhibit ;
+ reg cache_miss ;
+ reg cache_dirty_needs_writeback ;
+ reg did_early_load_ack ;
+ reg cache_spr_block_flush ;
+ reg cache_spr_block_writeback ;
+ reg cache_wb ;
+ wire load_hit_ack ;
+ wire load_miss_ack ;
+ wire load_inhibit_ack ;
+ wire store_hit_ack ;
+ wire store_hit_writethrough_ack ;
+ wire store_miss_writethrough_ack ;
+ wire store_inhibit_ack ;
+ wire store_miss_ack ;
+ wire dcram_we_after_line_load ;
+ wire dcram_we_during_line_load ;
+ wire tagram_we_end_of_loadstore_loop ;
+ wire tagram_dirty_bit_set ;
+ wire writethrough ;
+ wire cache_inhibit_with_eval ;
+ wire [( `OR1200_DCLS - 1 )- 2 : 0 ] next_addr_word ;
+
+ //
+ // Cache inhibit
+ //
+
+ // Indicates whether cache is inhibited, during hitmiss_eval and after
+ assign cache_inhibit_with_eval = ( hitmiss_eval & dcqmem_ci_i ) |
+ (! hitmiss_eval & cache_inhibit );
+
+ //
+ // Generate of DCRAM write enables
+ //
+
+ // WE when non-writethrough, and had to wait for a line to load.
+ assign dcram_we_after_line_load = ( state == `OR1200_DCFSM_LOOP3 ) &
+ dcqmem_we_i & ! cache_dirty_needs_writeback &
+ ! did_early_load_ack ;
+
+ // WE when receiving the data cache line
+ assign dcram_we_during_line_load = ( state == `OR1200_DCFSM_LOOP2 ) & load &
+ biudata_valid ;
+
+ assign dcram_we =( // Write when hit - make sure it is only when hit - could
+ // maybe be doing write through and don't want to corrupt
+ // cache lines corresponding to the writethrough addr_r.
+ ({ 4 { store_hit_ack | store_hit_writethrough_ack }} |
+ // Write after load of line
+ { 4 { dcram_we_after_line_load }}) &
+ dcqmem_sel_i ) |
+ // Write during load
+ { 4 { dcram_we_during_line_load }};
+
+ //
+ // Tag RAM signals
+ //
+
+ // WE to tag RAM when we finish loading a line.
+ assign tagram_we_end_of_loadstore_loop = (( state == `OR1200_DCFSM_LOOP2 ) &
+ biudata_valid & !(| cnt ));
+
+`ifndef OR1200_DC_WRITETHROUGH
+ // No writethrough, so mark a line dirty whenever we write to it
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack ;
+
+ // Generate done signal for MTSPR instructions that may block execution
+ assign mtspr_dc_done = // Either DC disabled or we're not selected, or
+ ! dc_en | ! spr_cswe |
+ // Requested address not valid or writeback and !dirty
+ (( state == `OR1200_DCFSM_FLUSH5 ) &
+ (! tag_v | ( cache_spr_block_writeback & ! dirty ))) |
+ // Writeback or flush is finished
+ (( state == `OR1200_DCFSM_LOOP3 ) &
+ ( cache_spr_block_flush | cache_spr_block_writeback ))|
+ // Invalidate of clean line finished
+ (( state == `OR1200_DCFSM_INV6 ) & cache_spr_block_flush );
+
+
+`else
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ // For dirty bit setting when having writethrough but not for stack
+ assign tagram_dirty_bit_set = store_hit_ack | store_miss_ack ;
+ `else
+ // Lines will never be dirty if always writethrough
+ assign tagram_dirty_bit_set = 0 ;
+ `endif
+
+ assign mtspr_dc_done = 1'b1 ;
+
+`endif
+
+ assign tag_dirty = tagram_dirty_bit_set ;
+
+ // WE to tag RAM
+ assign tag_we = tagram_we_end_of_loadstore_loop |
+ tagram_dirty_bit_set | ( state == `OR1200_DCFSM_INV6 );
+
+
+ // Valid bit
+ // Set valid when end of line load, or marking dirty (is still valid)
+ assign tag_valid = ( tagram_we_end_of_loadstore_loop &
+ ( load | ( store & cache_spr_block_writeback )) ) |
+ tagram_dirty_bit_set ;
+
+
+
+ //
+ // BIU read and write
+ //
+
+ assign biu_read = // Bus read request when:
+ // 1) Have a miss and not dirty or a load with inhibit
+ (( state == `OR1200_DCFSM_CLOADSTORE ) &
+ ((( hitmiss_eval & tagcomp_miss & ! dirty &
+ !( store & writethrough )) |
+ ( load & cache_inhibit_with_eval )) & dcqmem_cycstb_i )) |
+ // 2) In the loop and loading
+ (( state == `OR1200_DCFSM_LOOP2 ) & load );
+
+
+ assign biu_write = // Bus write request when:
+ // 1) Have a miss and dirty or store with inhibit
+ (( state == `OR1200_DCFSM_CLOADSTORE ) &
+ ((( hitmiss_eval & tagcomp_miss & dirty ) |
+ ( store & writethrough )) |
+ ( store & cache_inhibit_with_eval )) & dcqmem_cycstb_i ) |
+ // 2) In the loop and storing
+ (( state == `OR1200_DCFSM_LOOP2 ) & store );
+
+ //
+ // Select for data to actual cache RAM (from LSU or BIU)
+ //
+ // Data to DCRAM - from external bus when loading (from IU when store)
+ assign dcram_di_sel = load ;
+ // Data to external bus - always from IU except in case of bursting back
+ // the line to memory. (1 selects DCRAM)
+ assign biu_do_sel = ( state == `OR1200_DCFSM_LOOP2 ) & store ;
+
+ // 3-bit wire for calculating next word of burst write, depending on
+ // line size of data cache.
+ assign next_addr_word = addr_r [ `OR1200_DCLS - 1 : 2 ] + 1 ;
+
+ // Address to cache RAM (tag address also derived from this)
+ assign dc_addr =
+ // First check if we've got a block flush or WB op
+ (( dc_block_flush & ! cache_spr_block_flush ) |
+ ( dc_block_writeback & ! cache_spr_block_writeback )) ?
+ spr_dat_i :
+ ( state == `OR1200_DCFSM_FLUSH5 ) ? addr_r :
+ // If no SPR action, then always put out address from LSU
+ ( state == `OR1200_DCFSM_IDLE | hitmiss_eval ) ? lsu_addr :
+ // Next, if in writeback loop, when ACKed must immediately
+ // output next word address (the RAM address takes a cycle
+ // to increment, but it's needed immediately for burst)
+ // otherwise, output our registered address.
+ ( state == `OR1200_DCFSM_LOOP2 & biudata_valid & store ) ?
+ { addr_r [ 31 : `OR1200_DCLS ], next_addr_word , 2'b00 } : addr_r ;
+
+`ifdef OR1200_DC_WRITETHROUGH
+ `ifdef OR1200_DC_NOSTACKWRITETHROUGH
+ assign writethrough = ! dc_no_writethrough ;
+ `else
+ assign writethrough = 1 ;
+ `endif
+`else
+ assign writethrough = 0 ;
+`endif
+
+ //
+ // ACK generation for LSU
+ //
+
+ // ACK for when it's a cache hit
+ assign first_hit_ack = load_hit_ack | store_hit_ack |
+ store_hit_writethrough_ack |
+ store_miss_writethrough_ack |
+ store_inhibit_ack | store_miss_ack ;
+
+ // ACK for when it's a cache miss - load only, is used in MUX for data back
+ // LSU straight off external data bus. In
+ // this was is also used for cache inhibit
+ // loads.
+ // first_hit_ack takes precedence over first_miss_ack
+ assign first_miss_ack = ~ first_hit_ack & ( load_miss_ack | load_inhibit_ack );
+
+ // ACK cache hit on load
+ assign load_hit_ack = ( state == `OR1200_DCFSM_CLOADSTORE ) &
+ hitmiss_eval & ! tagcomp_miss & ! dcqmem_ci_i & load ;
+
+ // ACK cache hit on store, no writethrough
+ assign store_hit_ack = ( state == `OR1200_DCFSM_CLOADSTORE ) &
+ hitmiss_eval & ! tagcomp_miss & ! dcqmem_ci_i &
+ store & ! writethrough ;
+
+ // ACK cache hit on store with writethrough
+ assign store_hit_writethrough_ack = ( state == `OR1200_DCFSM_CLOADSTORE ) &
+ ! cache_miss & ! cache_inhibit &
+ store & writethrough & biudata_valid ;
+
+ // ACK cache miss on store with writethrough
+ assign store_miss_writethrough_ack = ( state == `OR1200_DCFSM_CLOADSTORE ) &
+ cache_miss & ! cache_inhibit &
+ store & writethrough & biudata_valid ;
+
+ // ACK store when cacheinhibit
+ assign store_inhibit_ack = ( state == `OR1200_DCFSM_CLOADSTORE ) &
+ store & cache_inhibit & biudata_valid ;
+
+
+ // Get the _early_ ack on first ACK back from wishbone during load only
+ // Condition is that we're in the loop - that it's the first ack we get (can
+ // tell from value of cnt), and we're loading a line to read from it (not
+ // loading to write to it, in the case of a write without writethrough.)
+ assign load_miss_ack = (( state == `OR1200_DCFSM_LOOP2 ) & load &
+ ( cnt ==(( 1 << `OR1200_DCLS ) - 4 )) & biudata_valid &
+ !( dcqmem_we_i & ! writethrough ));
+
+ assign load_inhibit_ack = ( state == `OR1200_DCFSM_CLOADSTORE ) &
+ load & cache_inhibit & biudata_valid ;
+
+ // This will be case of write through disabled, and had to load a line.
+ assign store_miss_ack = dcram_we_after_line_load ;
+
+ assign first_miss_err = biudata_error & dcqmem_cycstb_i ;
+
+ // Signal burst when in the load/store loop. We will always try to burst.
+ assign burst = ( state == `OR1200_DCFSM_LOOP2 );
+
+ //
+ // Main DC FSM
+ //
+ always @( posedge clk or `OR1200_RST_EVENT rst ) begin
+ if ( rst == `OR1200_RST_VALUE ) begin
+ state <= `OR1200_DCFSM_IDLE ;
+ addr_r <= 32'd0 ;
+ hitmiss_eval <= 1'b0 ;
+ store <= 1'b0 ;
+ load <= 1'b0 ;
+ cnt <= `OR1200_DCLS 'd0 ;
+ cache_miss <= 1'b0 ;
+ cache_dirty_needs_writeback <= 1'b0 ;
+ cache_inhibit <= 1'b0 ;
+ did_early_load_ack <= 1'b0 ;
+ cache_spr_block_flush <= 1'b0 ;
+ cache_spr_block_writeback <= 1'b0 ;
+ end
+ else
+ case ( state ) // synopsys parallel_case
+
+ `OR1200_DCFSM_IDLE : begin
+ if ( dc_en & ( dc_block_flush | dc_block_writeback ))
+ begin
+ cache_spr_block_flush <= dc_block_flush ;
+ cache_spr_block_writeback <= dc_block_writeback ;
+ hitmiss_eval <= 1'b1 ;
+ state <= `OR1200_DCFSM_FLUSH5 ;
+ addr_r <= spr_dat_i ;
+ end
+ else if ( dc_en & dcqmem_cycstb_i )
+ begin
+ state <= `OR1200_DCFSM_CLOADSTORE ;
+ hitmiss_eval <= 1'b1 ;
+ store <= dcqmem_we_i ;
+ load <= ! dcqmem_we_i ;
+ end
+
+
+ end // case: `OR1200_DCFSM_IDLE
+
+ `OR1200_DCFSM_CLOADSTORE : begin
+ hitmiss_eval <= 1'b0 ;
+ if ( hitmiss_eval ) begin
+ cache_inhibit <= dcqmem_ci_i ; // Check for cache inhibit here
+ cache_miss <= tagcomp_miss ;
+ cache_dirty_needs_writeback <= dirty ;
+ addr_r <= lsu_addr ;
+ end
+
+ // Evaluate any cache line load/stores in first cycle:
+ //
+ if ( hitmiss_eval & tagcomp_miss & !( store & writethrough ) &
+ ! dcqmem_ci_i )
+ begin
+ // Miss - first either:
+ // 1) write back dirty line
+ if ( dirty ) begin
+ // Address for writeback
+ addr_r <= { tag , lsu_addr [ `OR1200_DCINDXH : 2 ], 2'd0 };
+ load <= 1'b0 ;
+ store <= 1'b1 ;
+`ifdef OR1200_VERBOSE
+ $display ( "%t: dcache miss and dirty" , $time );
+`endif
+ end
+ // 2) load requested line
+ else begin
+ addr_r <= lsu_addr ;
+ load <= 1'b1 ;
+ store <= 1'b0 ;
+ end // else: !if(dirty)
+ state <= `OR1200_DCFSM_LOOP2 ;
+ // Set the counter for the burst accesses
+ cnt <= (( 1 << `OR1200_DCLS ) - 4 );
+ end
+ else if ( // Strobe goes low
+ ! dcqmem_cycstb_i |
+ // Cycle finishes
+ (! hitmiss_eval & ( biudata_valid | biudata_error )) |
+ // Cache hit in first cycle....
+ ( hitmiss_eval & ! tagcomp_miss & ! dcqmem_ci_i &
+ // .. and you're not doing a writethrough store..
+ !( store & writethrough ))) begin
+ state <= `OR1200_DCFSM_IDLE ;
+ load <= 1'b0 ;
+ store <= 1'b0 ;
+ cache_inhibit <= 1'b0 ;
+ cache_dirty_needs_writeback <= 1'b0 ;
+ end
+ end // case: `OR1200_DCFSM_CLOADSTORE
+
+ `OR1200_DCFSM_LOOP2 : begin // loop/abort
+ if (! dc_en | biudata_error ) begin
+ state <= `OR1200_DCFSM_IDLE ;
+ load <= 1'b0 ;
+ store <= 1'b0 ;
+ cnt <= `OR1200_DCLS 'd0 ;
+ end
+ if ( biudata_valid & (| cnt )) begin
+ cnt <= cnt - 4 ;
+ addr_r [ `OR1200_DCLS - 1 : 2 ] <= addr_r [ `OR1200_DCLS - 1 : 2 ] + 1 ;
+ end
+ else if ( biudata_valid & !(| cnt )) begin
+ state <= `OR1200_DCFSM_LOOP3 ;
+ addr_r <= lsu_addr ;
+ load <= 1'b0 ;
+ store <= 1'b0 ;
+ end
+
+ // Track if we did an early ack during a load
+ if ( load_miss_ack )
+ did_early_load_ack <= 1'b1 ;
+
+
+ end // case: `OR1200_DCFSM_LOOP2
+
+ `OR1200_DCFSM_LOOP3 : begin // figure out next step
+ if ( cache_dirty_needs_writeback ) begin
+ // Just did store of the dirty line so now load new one
+ load <= 1'b1 ;
+ // Set the counter for the burst accesses
+ cnt <= (( 1 << `OR1200_DCLS ) - 4 );
+ // Address of line to be loaded
+ addr_r <= lsu_addr ;
+ cache_dirty_needs_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_LOOP2 ;
+ end // if (cache_dirty_needs_writeback)
+ else if ( cache_spr_block_flush | cache_spr_block_writeback ) begin
+ // Just wrote back the line to memory, we're finished.
+ cache_spr_block_flush <= 1'b0 ;
+ cache_spr_block_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_WAITSPRCS7 ;
+ end
+ else begin
+ // Just loaded a new line, finish up
+ did_early_load_ack <= 1'b0 ;
+ state <= `OR1200_DCFSM_LOOP4 ;
+ end
+ end // case: `OR1200_DCFSM_LOOP3
+
+ `OR1200_DCFSM_LOOP4 : begin
+ state <= `OR1200_DCFSM_IDLE ;
+ end
+
+ `OR1200_DCFSM_FLUSH5 : begin
+ hitmiss_eval <= 1'b0 ;
+ if ( hitmiss_eval & ! tag_v )
+ begin
+ // Not even cached, just ignore
+ cache_spr_block_flush <= 1'b0 ;
+ cache_spr_block_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_WAITSPRCS7 ;
+ end
+ else if ( hitmiss_eval & tag_v )
+ begin
+ // Tag is valid - what do we do?
+ if (( cache_spr_block_flush | cache_spr_block_writeback ) &
+ dirty ) begin
+ // Need to writeback
+ // Address for writeback (spr_dat_i has already changed so
+ // use line number from addr_r)
+ addr_r <= { tag , addr_r [ `OR1200_DCINDXH : 2 ], 2'd0 };
+ load <= 1'b0 ;
+ store <= 1'b1 ;
+`ifdef OR1200_VERBOSE
+ $display ( "%t: block flush: dirty block" , $time );
+`endif
+ state <= `OR1200_DCFSM_LOOP2 ;
+ // Set the counter for the burst accesses
+ cnt <= (( 1 << `OR1200_DCLS ) - 4 );
+ end
+ else if ( cache_spr_block_flush & ! dirty )
+ begin
+ // Line not dirty, just need to invalidate
+ state <= `OR1200_DCFSM_INV6 ;
+ end // else: !if(dirty)
+ else if ( cache_spr_block_writeback & ! dirty )
+ begin
+ // Nothing to do - line is valid but not dirty
+ cache_spr_block_writeback <= 1'b0 ;
+ state <= `OR1200_DCFSM_WAITSPRCS7 ;
+ end
+ end // if (hitmiss_eval & tag_v)
+ end
+ `OR1200_DCFSM_INV6 : begin
+ cache_spr_block_flush <= 1'b0 ;
+ // Wait until SPR CS goes low before going back to idle
+ if (! spr_cswe )
+ state <= `OR1200_DCFSM_IDLE ;
+ end
+ `OR1200_DCFSM_WAITSPRCS7 : begin
+ // Wait until SPR CS goes low before going back to idle
+ if (! spr_cswe )
+ state <= `OR1200_DCFSM_IDLE ;
+ end
+
+ endcase // case (state)
+
+ end // always @ (posedge clk or `OR1200_RST_EVENT rst)
+
+
+endmodule
diff --git a/autotests/reference/or1200_du.v.ref b/autotests/reference/or1200_du.v.ref
new file mode 100644
index 0000000..2413c40
--- /dev/null
+++ b/autotests/reference/or1200_du.v.ref
@@ -0,0 +1,1803 @@
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// OR1200's Debug Unit ////
+//// ////
+//// This file is part of the OpenRISC 1200 project ////
+//// http://www.opencores.org/project,or1k ////
+//// ////
+//// Description ////
+//// Basic OR1200 debug unit. ////
+//// ////
+//// To Do: ////
+//// - make it smaller and faster ////
+//// ////
+//// Author(s): ////
+//// - Damjan Lampret, lampret@opencores.org ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//// ////
+//// Copyright (C) 2000 Authors and OPENCORES.ORG ////
+//// ////
+//// This source file may be used and distributed without ////
+//// restriction provided that this copyright statement is not ////
+//// removed from the file and that any derivative work contains ////
+//// the original copyright notice and the associated disclaimer. ////
+//// ////
+//// This source file is free software; you can redistribute it ////
+//// and/or modify it under the terms of the GNU Lesser General ////
+//// Public License as published by the Free Software Foundation; ////
+//// either version 2.1 of the License, or (at your option) any ////
+//// later version. ////
+//// ////
+//// This source is distributed in the hope that it will be ////
+//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
+//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
+//// PURPOSE. See the GNU Lesser General Public License for more ////
+//// details. ////
+//// ////
+//// You should have received a copy of the GNU Lesser General ////
+//// Public License along with this source; if not, download it ////
+//// from http://www.opencores.org/lgpl.shtml ////
+//// ////
+//////////////////////////////////////////////////////////////////////
+//
+//
+// $Log: or1200_du.v,v $
+// Revision 2.0 2010/06/30 11:00:00 ORSoC
+// Minor update:
+// Bugs fixed.
+
+// synopsys translate_off
+`include "timescale.v"
+// synopsys translate_on
+`include "or1200_defines.v"
+
+//
+// Debug unit
+//
+
+module or1200_du (
+ // RISC Internal Interface
+ clk , rst ,
+ dcpu_cycstb_i , dcpu_we_i , dcpu_adr_i , dcpu_dat_lsu ,
+ dcpu_dat_dc , icpu_cycstb_i ,
+ ex_freeze , branch_op , ex_insn , id_pc ,
+ spr_dat_npc , rf_dataw ,
+ du_dsr , du_dmr1 , du_stall , du_addr , du_dat_i , du_dat_o ,
+ du_read , du_write , du_except_stop , du_hwbkpt , du_flush_pipe ,
+ spr_cs , spr_write , spr_addr , spr_dat_i , spr_dat_o ,
+
+ // External Debug Interface
+ dbg_stall_i , dbg_ewt_i , dbg_lss_o , dbg_is_o , dbg_wp_o , dbg_bp_o ,
+ dbg_stb_i , dbg_we_i , dbg_adr_i , dbg_dat_i , dbg_dat_o , dbg_ack_o
+);
+
+parameter dw = `OR1200_OPERAND_WIDTH ;
+parameter aw = `OR1200_OPERAND_WIDTH ;
+
+//
+// I/O
+//
+
+//
+// RISC Internal Interface
+//
+input clk ; // Clock
+input rst ; // Reset
+input dcpu_cycstb_i ; // LSU status
+input dcpu_we_i ; // LSU status
+input [ 31 : 0 ] dcpu_adr_i ; // LSU addr
+input [ 31 : 0 ] dcpu_dat_lsu ; // LSU store data
+input [ 31 : 0 ] dcpu_dat_dc ; // LSU load data
+input [ `OR1200_FETCHOP_WIDTH - 1 : 0 ] icpu_cycstb_i ; // IFETCH unit status
+input ex_freeze ; // EX stage freeze
+input [ `OR1200_BRANCHOP_WIDTH - 1 : 0 ] branch_op ; // Branch op
+input [ dw - 1 : 0 ] ex_insn ; // EX insn
+input [ 31 : 0 ] id_pc ; // insn fetch EA
+input [ 31 : 0 ] spr_dat_npc ; // Next PC (for trace)
+input [ 31 : 0 ] rf_dataw ; // ALU result (for trace)
+output [ `OR1200_DU_DSR_WIDTH - 1 : 0 ] du_dsr ; // DSR
+output [ 24 : 0 ] du_dmr1 ;
+output du_stall ; // Debug Unit Stall
+output [ aw - 1 : 0 ] du_addr ; // Debug Unit Address
+input [ dw - 1 : 0 ] du_dat_i ; // Debug Unit Data In
+output [ dw - 1 : 0 ] du_dat_o ; // Debug Unit Data Out
+output du_read ; // Debug Unit Read Enable
+output du_write ; // Debug Unit Write Enable
+input [ 13 : 0 ] du_except_stop ; // Exception masked by DSR
+output du_hwbkpt ; // Cause trap exception (HW Breakpoints)
+output du_flush_pipe ; // Cause pipeline flush and pc<-npc
+input spr_cs ; // SPR Chip Select
+input spr_write ; // SPR Read/Write
+input [ aw - 1 : 0 ] spr_addr ; // SPR Address
+input [ dw - 1 : 0 ] spr_dat_i ; // SPR Data Input
+output [ dw - 1 : 0 ] spr_dat_o ; // SPR Data Output
+
+//
+// External Debug Interface
+//
+input dbg_stall_i ; // External Stall Input
+input dbg_ewt_i ; // External Watchpoint Trigger Input
+output [ 3 : 0 ] dbg_lss_o ; // External Load/Store Unit Status
+output [ 1 : 0 ] dbg_is_o ; // External Insn Fetch Status
+output [ 10 : 0 ] dbg_wp_o ; // Watchpoints Outputs
+output dbg_bp_o ; // Breakpoint Output
+input dbg_stb_i ; // External Address/Data Strobe
+input dbg_we_i ; // External Write Enable
+input [ aw - 1 : 0 ] dbg_adr_i ; // External Address Input
+input [ dw - 1 : 0 ] dbg_dat_i ; // External Data Input
+output [ dw - 1 : 0 ] dbg_dat_o ; // External Data Output
+output dbg_ack_o ; // External Data Acknowledge (not WB compatible)
+reg [ dw - 1 : 0 ] dbg_dat_o ; // External Data Output
+reg dbg_ack_o ; // External Data Acknowledge (not WB compatible)
+
+
+//
+// Some connections go directly from the CPU through DU to Debug I/F
+//
+`ifdef OR1200_DU_STATUS_UNIMPLEMENTED
+assign dbg_lss_o = 4'b0000 ;
+
+reg [ 1 : 0 ] dbg_is_o ;
+//
+// Show insn activity (temp, must be removed)
+//
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dbg_is_o <= 2'b00 ;
+ else if (! ex_freeze & ~(( ex_insn [ 31 : 26 ] == `OR1200_OR32_NOP ) & ex_insn [ 16 ]))
+ dbg_is_o <= ~ dbg_is_o ;
+`ifdef UNUSED
+assign dbg_is_o = 2'b00 ;
+`endif
+`else
+assign dbg_lss_o = dcpu_cycstb_i ? { dcpu_we_i , 3'b000 } : 4'b0000 ;
+assign dbg_is_o = { 1'b0 , icpu_cycstb_i };
+`endif
+assign dbg_wp_o = 11'b000_0000_0000 ;
+
+//
+// Some connections go directly from Debug I/F through DU to the CPU
+//
+assign du_stall = dbg_stall_i ;
+assign du_addr = dbg_adr_i ;
+assign du_dat_o = dbg_dat_i ;
+assign du_read = dbg_stb_i && ! dbg_we_i ;
+assign du_write = dbg_stb_i && dbg_we_i ;
+
+//
+// After a sw breakpoint, the replaced instruction need to be executed.
+// We flush the entire pipeline and set the pc to the current address
+// to execute the restored address.
+//
+
+reg du_flush_pipe_r ;
+reg dbg_stall_i_r ;
+
+assign du_flush_pipe = du_flush_pipe_r ;
+
+//
+// Register du_flush_pipe
+//
+always @( posedge clk or `OR1200_RST_EVENT rst ) begin
+ if ( rst == `OR1200_RST_VALUE ) begin
+ du_flush_pipe_r <= 1'b0 ;
+ end
+ else begin
+ du_flush_pipe_r <= ( dbg_stall_i_r && ! dbg_stall_i && | du_except_stop );
+ end
+end
+
+//
+// Detect dbg_stall falling edge
+//
+always @( posedge clk or `OR1200_RST_EVENT rst ) begin
+ if ( rst == `OR1200_RST_VALUE ) begin
+ dbg_stall_i_r <= 1'b0 ;
+ end
+ else begin
+ dbg_stall_i_r <= dbg_stall_i ;
+ end
+end
+
+reg dbg_ack ;
+//
+// Generate acknowledge -- just delay stb signal
+//
+always @( posedge clk or `OR1200_RST_EVENT rst ) begin
+ if ( rst == `OR1200_RST_VALUE ) begin
+ dbg_ack <= 1'b0 ;
+ dbg_ack_o <= 1'b0 ;
+ end
+ else begin
+ dbg_ack <= dbg_stb_i ; // valid when du_dat_i
+ dbg_ack_o <= dbg_ack & dbg_stb_i ; // valid when dbg_dat_o
+ end
+end
+
+//
+// Register data output
+//
+always @( posedge clk )
+ dbg_dat_o <= du_dat_i ;
+
+`ifdef OR1200_DU_IMPLEMENTED
+
+//
+// Debug Mode Register 1
+//
+`ifdef OR1200_DU_DMR1
+reg [ 24 : 0 ] dmr1 ; // DMR1 implemented
+`else
+wire [ 24 : 0 ] dmr1 ; // DMR1 not implemented
+`endif
+assign du_dmr1 = dmr1 ;
+
+//
+// Debug Mode Register 2
+//
+`ifdef OR1200_DU_DMR2
+reg [ 23 : 0 ] dmr2 ; // DMR2 implemented
+`else
+wire [ 23 : 0 ] dmr2 ; // DMR2 not implemented
+`endif
+
+//
+// Debug Stop Register
+//
+`ifdef OR1200_DU_DSR
+reg [ `OR1200_DU_DSR_WIDTH - 1 : 0 ] dsr ; // DSR implemented
+`else
+wire [ `OR1200_DU_DSR_WIDTH - 1 : 0 ] dsr ; // DSR not implemented
+`endif
+
+//
+// Debug Reason Register
+//
+`ifdef OR1200_DU_DRR
+reg [ 13 : 0 ] drr ; // DRR implemented
+`else
+wire [ 13 : 0 ] drr ; // DRR not implemented
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR0
+reg [ 31 : 0 ] dvr0 ;
+`else
+wire [ 31 : 0 ] dvr0 ;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR1
+reg [ 31 : 0 ] dvr1 ;
+`else
+wire [ 31 : 0 ] dvr1 ;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR2
+reg [ 31 : 0 ] dvr2 ;
+`else
+wire [ 31 : 0 ] dvr2 ;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR3
+reg [ 31 : 0 ] dvr3 ;
+`else
+wire [ 31 : 0 ] dvr3 ;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR4
+reg [ 31 : 0 ] dvr4 ;
+`else
+wire [ 31 : 0 ] dvr4 ;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR5
+reg [ 31 : 0 ] dvr5 ;
+`else
+wire [ 31 : 0 ] dvr5 ;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR6
+reg [ 31 : 0 ] dvr6 ;
+`else
+wire [ 31 : 0 ] dvr6 ;
+`endif
+
+//
+// Debug Value Register N
+//
+`ifdef OR1200_DU_DVR7
+reg [ 31 : 0 ] dvr7 ;
+`else
+wire [ 31 : 0 ] dvr7 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR0
+reg [ 7 : 0 ] dcr0 ;
+`else
+wire [ 7 : 0 ] dcr0 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR1
+reg [ 7 : 0 ] dcr1 ;
+`else
+wire [ 7 : 0 ] dcr1 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR2
+reg [ 7 : 0 ] dcr2 ;
+`else
+wire [ 7 : 0 ] dcr2 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR3
+reg [ 7 : 0 ] dcr3 ;
+`else
+wire [ 7 : 0 ] dcr3 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR4
+reg [ 7 : 0 ] dcr4 ;
+`else
+wire [ 7 : 0 ] dcr4 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR5
+reg [ 7 : 0 ] dcr5 ;
+`else
+wire [ 7 : 0 ] dcr5 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR6
+reg [ 7 : 0 ] dcr6 ;
+`else
+wire [ 7 : 0 ] dcr6 ;
+`endif
+
+//
+// Debug Control Register N
+//
+`ifdef OR1200_DU_DCR7
+reg [ 7 : 0 ] dcr7 ;
+`else
+wire [ 7 : 0 ] dcr7 ;
+`endif
+
+//
+// Debug Watchpoint Counter Register 0
+//
+`ifdef OR1200_DU_DWCR0
+reg [ 31 : 0 ] dwcr0 ;
+`else
+wire [ 31 : 0 ] dwcr0 ;
+`endif
+
+//
+// Debug Watchpoint Counter Register 1
+//
+`ifdef OR1200_DU_DWCR1
+reg [ 31 : 0 ] dwcr1 ;
+`else
+wire [ 31 : 0 ] dwcr1 ;
+`endif
+
+//
+// Internal wires
+//
+wire dmr1_sel ; // DMR1 select
+wire dmr2_sel ; // DMR2 select
+wire dsr_sel ; // DSR select
+wire drr_sel ; // DRR select
+wire dvr0_sel ,
+ dvr1_sel ,
+ dvr2_sel ,
+ dvr3_sel ,
+ dvr4_sel ,
+ dvr5_sel ,
+ dvr6_sel ,
+ dvr7_sel ; // DVR selects
+wire dcr0_sel ,
+ dcr1_sel ,
+ dcr2_sel ,
+ dcr3_sel ,
+ dcr4_sel ,
+ dcr5_sel ,
+ dcr6_sel ,
+ dcr7_sel ; // DCR selects
+wire dwcr0_sel ,
+ dwcr1_sel ; // DWCR selects
+reg dbg_bp_r ;
+reg ex_freeze_q ;
+`ifdef OR1200_DU_HWBKPTS
+reg [ 31 : 0 ] match_cond0_ct ;
+reg [ 31 : 0 ] match_cond1_ct ;
+reg [ 31 : 0 ] match_cond2_ct ;
+reg [ 31 : 0 ] match_cond3_ct ;
+reg [ 31 : 0 ] match_cond4_ct ;
+reg [ 31 : 0 ] match_cond5_ct ;
+reg [ 31 : 0 ] match_cond6_ct ;
+reg [ 31 : 0 ] match_cond7_ct ;
+reg match_cond0_stb ;
+reg match_cond1_stb ;
+reg match_cond2_stb ;
+reg match_cond3_stb ;
+reg match_cond4_stb ;
+reg match_cond5_stb ;
+reg match_cond6_stb ;
+reg match_cond7_stb ;
+reg match0 ;
+reg match1 ;
+reg match2 ;
+reg match3 ;
+reg match4 ;
+reg match5 ;
+reg match6 ;
+reg match7 ;
+reg wpcntr0_match ;
+reg wpcntr1_match ;
+reg incr_wpcntr0 ;
+reg incr_wpcntr1 ;
+reg [ 10 : 0 ] wp ;
+`endif
+wire du_hwbkpt ;
+reg du_hwbkpt_hold ;
+`ifdef OR1200_DU_READREGS
+reg [ 31 : 0 ] spr_dat_o ;
+`endif
+reg [ 13 : 0 ] except_stop ; // Exceptions that stop because of DSR
+`ifdef OR1200_DU_TB_IMPLEMENTED
+wire tb_enw ;
+reg [ 7 : 0 ] tb_wadr ;
+reg [ 31 : 0 ] tb_timstmp ;
+`endif
+wire [ 31 : 0 ] tbia_dat_o ;
+wire [ 31 : 0 ] tbim_dat_o ;
+wire [ 31 : 0 ] tbar_dat_o ;
+wire [ 31 : 0 ] tbts_dat_o ;
+
+//
+// DU registers address decoder
+//
+`ifdef OR1200_DU_DMR1
+assign dmr1_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DMR1 ));
+`endif
+`ifdef OR1200_DU_DMR2
+assign dmr2_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DMR2 ));
+`endif
+`ifdef OR1200_DU_DSR
+assign dsr_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DSR ));
+`endif
+`ifdef OR1200_DU_DRR
+assign drr_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DRR ));
+`endif
+`ifdef OR1200_DU_DVR0
+assign dvr0_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR0 ));
+`endif
+`ifdef OR1200_DU_DVR1
+assign dvr1_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR1 ));
+`endif
+`ifdef OR1200_DU_DVR2
+assign dvr2_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR2 ));
+`endif
+`ifdef OR1200_DU_DVR3
+assign dvr3_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR3 ));
+`endif
+`ifdef OR1200_DU_DVR4
+assign dvr4_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR4 ));
+`endif
+`ifdef OR1200_DU_DVR5
+assign dvr5_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR5 ));
+`endif
+`ifdef OR1200_DU_DVR6
+assign dvr6_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR6 ));
+`endif
+`ifdef OR1200_DU_DVR7
+assign dvr7_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DVR7 ));
+`endif
+`ifdef OR1200_DU_DCR0
+assign dcr0_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR0 ));
+`endif
+`ifdef OR1200_DU_DCR1
+assign dcr1_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR1 ));
+`endif
+`ifdef OR1200_DU_DCR2
+assign dcr2_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR2 ));
+`endif
+`ifdef OR1200_DU_DCR3
+assign dcr3_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR3 ));
+`endif
+`ifdef OR1200_DU_DCR4
+assign dcr4_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR4 ));
+`endif
+`ifdef OR1200_DU_DCR5
+assign dcr5_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR5 ));
+`endif
+`ifdef OR1200_DU_DCR6
+assign dcr6_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR6 ));
+`endif
+`ifdef OR1200_DU_DCR7
+assign dcr7_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DCR7 ));
+`endif
+`ifdef OR1200_DU_DWCR0
+assign dwcr0_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DWCR0 ));
+`endif
+`ifdef OR1200_DU_DWCR1
+assign dwcr1_sel = ( spr_cs && ( spr_addr [ `OR1200_DUOFS_BITS ] == `OR1200_DU_DWCR1 ));
+`endif
+
+// Track previous ex_freeze to detect when signals are updated
+always @( posedge clk )
+ ex_freeze_q <= ex_freeze ;
+
+//
+// Decode started exception
+//
+// du_except_stop comes from or1200_except
+//
+always @( du_except_stop or ex_freeze_q ) begin
+ except_stop = 14'b00_0000_0000_0000 ;
+ casez ( du_except_stop )
+ 14'b1 ? _ ???? _ ???? _ ????:
+ except_stop [ `OR1200_DU_DRR_TTE ] = 1'b1 ;
+ 14'b01_ ???? _ ???? _ ????: begin
+ except_stop [ `OR1200_DU_DRR_IE ] = 1'b1 ;
+ end
+ 14'b00_1 ??? _ ???? _ ????: begin
+ except_stop [ `OR1200_DU_DRR_IME ] = 1'b1 ;
+ end
+ 14'b00_01 ?? _ ???? _ ????:
+ except_stop [ `OR1200_DU_DRR_IPFE ] = 1'b1 ;
+ 14'b00_001 ? _ ???? _ ????: begin
+ except_stop [ `OR1200_DU_DRR_BUSEE ] = 1'b1 ;
+ end
+ 14'b00_0001_ ???? _ ????:
+ except_stop [ `OR1200_DU_DRR_IIE ] = 1'b1 ;
+ 14'b00_0000_1 ??? _ ????: begin
+ except_stop [ `OR1200_DU_DRR_AE ] = 1'b1 ;
+ end
+ 14'b00_0000_01 ?? _ ????: begin
+ except_stop [ `OR1200_DU_DRR_DME ] = 1'b1 ;
+ end
+ 14'b00_0000_001 ? _ ????:
+ except_stop [ `OR1200_DU_DRR_DPFE ] = 1'b1 ;
+ 14'b00_0000_0001_ ????:
+ except_stop [ `OR1200_DU_DRR_BUSEE ] = 1'b1 ;
+ 14'b00_0000_0000_1 ???: begin
+ except_stop [ `OR1200_DU_DRR_RE ] = 1'b1 ;
+ end
+ 14'b00_0000_0000_01 ??: begin
+ except_stop [ `OR1200_DU_DRR_TE ] = 1'b1 & ~ ex_freeze_q ;
+ end
+ 14'b00_0000_0000_001 ?: begin
+ except_stop [ `OR1200_DU_DRR_FPE ] = 1'b1 ;
+ end
+ 14'b00_0000_0000_0001 :
+ except_stop [ `OR1200_DU_DRR_SCE ] = 1'b1 & ~ ex_freeze_q ;
+ default :
+ except_stop = 14'b00_0000_0000_0000 ;
+ endcase // casez (du_except_stop)
+end
+
+//
+// dbg_bp_o is registered
+//
+assign dbg_bp_o = dbg_bp_r ;
+
+//
+// Breakpoint activation register
+//
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dbg_bp_r <= 1'b0 ;
+ else if (! ex_freeze )
+ dbg_bp_r <= | except_stop
+`ifdef OR1200_DU_DMR1_ST
+ | ~(( ex_insn [ 31 : 26 ] == `OR1200_OR32_NOP ) & ex_insn [ 16 ]) & dmr1 [ `OR1200_DU_DMR1_ST ]
+`endif
+`ifdef OR1200_DU_DMR1_BT
+ | ( branch_op != `OR1200_BRANCHOP_NOP ) & ( branch_op != `OR1200_BRANCHOP_RFE ) & dmr1 [ `OR1200_DU_DMR1_BT ]
+`endif
+ ;
+ else
+ dbg_bp_r <= | except_stop ;
+
+//
+// Write to DMR1
+//
+`ifdef OR1200_DU_DMR1
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dmr1 <= 25'h000_0000 ;
+ else if ( dmr1_sel && spr_write )
+`ifdef OR1200_DU_HWBKPTS
+ dmr1 <= spr_dat_i [ 24 : 0 ];
+`else
+ dmr1 <= { 1'b0 , spr_dat_i [ 23 : 22 ], 22'h00_0000 };
+`endif
+`else
+assign dmr1 = 25'h000_0000 ;
+`endif
+
+//
+// Write to DMR2
+//
+`ifdef OR1200_DU_DMR2
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dmr2 <= 24'h00_0000 ;
+ else if ( dmr2_sel && spr_write )
+ dmr2 <= spr_dat_i [ 23 : 0 ];
+`else
+assign dmr2 = 24'h00_0000 ;
+`endif
+
+//
+// Write to DSR
+//
+`ifdef OR1200_DU_DSR
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dsr <= { `OR1200_DU_DSR_WIDTH { 1'b0 }};
+ else if ( dsr_sel && spr_write )
+ dsr <= spr_dat_i [ `OR1200_DU_DSR_WIDTH - 1 : 0 ];
+`else
+assign dsr = { `OR1200_DU_DSR_WIDTH { 1'b0 }};
+`endif
+
+//
+// Write to DRR
+//
+`ifdef OR1200_DU_DRR
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ drr <= 14'b0 ;
+ else if ( drr_sel && spr_write )
+ drr <= spr_dat_i [ 13 : 0 ];
+ else
+ drr <= drr | except_stop ;
+`else
+assign drr = 14'b0 ;
+`endif
+
+//
+// Write to DVR0
+//
+`ifdef OR1200_DU_DVR0
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr0 <= 32'h0000_0000 ;
+ else if ( dvr0_sel && spr_write )
+ dvr0 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr0 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR1
+//
+`ifdef OR1200_DU_DVR1
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr1 <= 32'h0000_0000 ;
+ else if ( dvr1_sel && spr_write )
+ dvr1 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr1 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR2
+//
+`ifdef OR1200_DU_DVR2
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr2 <= 32'h0000_0000 ;
+ else if ( dvr2_sel && spr_write )
+ dvr2 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr2 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR3
+//
+`ifdef OR1200_DU_DVR3
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr3 <= 32'h0000_0000 ;
+ else if ( dvr3_sel && spr_write )
+ dvr3 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr3 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR4
+//
+`ifdef OR1200_DU_DVR4
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr4 <= 32'h0000_0000 ;
+ else if ( dvr4_sel && spr_write )
+ dvr4 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr4 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR5
+//
+`ifdef OR1200_DU_DVR5
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr5 <= 32'h0000_0000 ;
+ else if ( dvr5_sel && spr_write )
+ dvr5 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr5 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR6
+//
+`ifdef OR1200_DU_DVR6
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr6 <= 32'h0000_0000 ;
+ else if ( dvr6_sel && spr_write )
+ dvr6 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr6 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DVR7
+//
+`ifdef OR1200_DU_DVR7
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dvr7 <= 32'h0000_0000 ;
+ else if ( dvr7_sel && spr_write )
+ dvr7 <= spr_dat_i [ 31 : 0 ];
+`else
+assign dvr7 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DCR0
+//
+`ifdef OR1200_DU_DCR0
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr0 <= 8'h00 ;
+ else if ( dcr0_sel && spr_write )
+ dcr0 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr0 = 8'h00 ;
+`endif
+
+//
+// Write to DCR1
+//
+`ifdef OR1200_DU_DCR1
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr1 <= 8'h00 ;
+ else if ( dcr1_sel && spr_write )
+ dcr1 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr1 = 8'h00 ;
+`endif
+
+//
+// Write to DCR2
+//
+`ifdef OR1200_DU_DCR2
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr2 <= 8'h00 ;
+ else if ( dcr2_sel && spr_write )
+ dcr2 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr2 = 8'h00 ;
+`endif
+
+//
+// Write to DCR3
+//
+`ifdef OR1200_DU_DCR3
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr3 <= 8'h00 ;
+ else if ( dcr3_sel && spr_write )
+ dcr3 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr3 = 8'h00 ;
+`endif
+
+//
+// Write to DCR4
+//
+`ifdef OR1200_DU_DCR4
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr4 <= 8'h00 ;
+ else if ( dcr4_sel && spr_write )
+ dcr4 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr4 = 8'h00 ;
+`endif
+
+//
+// Write to DCR5
+//
+`ifdef OR1200_DU_DCR5
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr5 <= 8'h00 ;
+ else if ( dcr5_sel && spr_write )
+ dcr5 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr5 = 8'h00 ;
+`endif
+
+//
+// Write to DCR6
+//
+`ifdef OR1200_DU_DCR6
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr6 <= 8'h00 ;
+ else if ( dcr6_sel && spr_write )
+ dcr6 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr6 = 8'h00 ;
+`endif
+
+//
+// Write to DCR7
+//
+`ifdef OR1200_DU_DCR7
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dcr7 <= 8'h00 ;
+ else if ( dcr7_sel && spr_write )
+ dcr7 <= spr_dat_i [ 7 : 0 ];
+`else
+assign dcr7 = 8'h00 ;
+`endif
+
+//
+// Write to DWCR0
+//
+`ifdef OR1200_DU_DWCR0
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dwcr0 <= 32'h0000_0000 ;
+ else if ( dwcr0_sel && spr_write )
+ dwcr0 <= spr_dat_i [ 31 : 0 ];
+ else if ( incr_wpcntr0 )
+ dwcr0 [ `OR1200_DU_DWCR_COUNT ] <= dwcr0 [ `OR1200_DU_DWCR_COUNT ] + 16'h0001 ;
+`else
+assign dwcr0 = 32'h0000_0000 ;
+`endif
+
+//
+// Write to DWCR1
+//
+`ifdef OR1200_DU_DWCR1
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ dwcr1 <= 32'h0000_0000 ;
+ else if ( dwcr1_sel && spr_write )
+ dwcr1 <= spr_dat_i [ 31 : 0 ];
+ else if ( incr_wpcntr1 )
+ dwcr1 [ `OR1200_DU_DWCR_COUNT ] <= dwcr1 [ `OR1200_DU_DWCR_COUNT ] + 16'h0001 ;
+`else
+assign dwcr1 = 32'h0000_0000 ;
+`endif
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+always @( spr_addr or dsr or drr or dmr1 or dmr2
+ or dvr0 or dvr1 or dvr2 or dvr3 or dvr4
+ or dvr5 or dvr6 or dvr7
+ or dcr0 or dcr1 or dcr2 or dcr3 or dcr4
+ or dcr5 or dcr6 or dcr7
+ or dwcr0 or dwcr1
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ or tb_wadr or tbia_dat_o or tbim_dat_o
+ or tbar_dat_o or tbts_dat_o
+`endif
+ )
+ casez ( spr_addr [ `OR1200_DUOFS_BITS ]) // synopsys parallel_case
+`ifdef OR1200_DU_DVR0
+ `OR1200_DU_DVR0 :
+ spr_dat_o = dvr0 ;
+`endif
+`ifdef OR1200_DU_DVR1
+ `OR1200_DU_DVR1 :
+ spr_dat_o = dvr1 ;
+`endif
+`ifdef OR1200_DU_DVR2
+ `OR1200_DU_DVR2 :
+ spr_dat_o = dvr2 ;
+`endif
+`ifdef OR1200_DU_DVR3
+ `OR1200_DU_DVR3 :
+ spr_dat_o = dvr3 ;
+`endif
+`ifdef OR1200_DU_DVR4
+ `OR1200_DU_DVR4 :
+ spr_dat_o = dvr4 ;
+`endif
+`ifdef OR1200_DU_DVR5
+ `OR1200_DU_DVR5 :
+ spr_dat_o = dvr5 ;
+`endif
+`ifdef OR1200_DU_DVR6
+ `OR1200_DU_DVR6 :
+ spr_dat_o = dvr6 ;
+`endif
+`ifdef OR1200_DU_DVR7
+ `OR1200_DU_DVR7 :
+ spr_dat_o = dvr7 ;
+`endif
+`ifdef OR1200_DU_DCR0
+ `OR1200_DU_DCR0 :
+ spr_dat_o = { 24'h00_0000 , dcr0 };
+`endif
+`ifdef OR1200_DU_DCR1
+ `OR1200_DU_DCR1 :
+ spr_dat_o = { 24'h00_0000 , dcr1 };
+`endif
+`ifdef OR1200_DU_DCR2
+ `OR1200_DU_DCR2 :
+ spr_dat_o = { 24'h00_0000 , dcr2 };
+`endif
+`ifdef OR1200_DU_DCR3
+ `OR1200_DU_DCR3 :
+ spr_dat_o = { 24'h00_0000 , dcr3 };
+`endif
+`ifdef OR1200_DU_DCR4
+ `OR1200_DU_DCR4 :
+ spr_dat_o = { 24'h00_0000 , dcr4 };
+`endif
+`ifdef OR1200_DU_DCR5
+ `OR1200_DU_DCR5 :
+ spr_dat_o = { 24'h00_0000 , dcr5 };
+`endif
+`ifdef OR1200_DU_DCR6
+ `OR1200_DU_DCR6 :
+ spr_dat_o = { 24'h00_0000 , dcr6 };
+`endif
+`ifdef OR1200_DU_DCR7
+ `OR1200_DU_DCR7 :
+ spr_dat_o = { 24'h00_0000 , dcr7 };
+`endif
+`ifdef OR1200_DU_DMR1
+ `OR1200_DU_DMR1 :
+ spr_dat_o = { 7'h00 , dmr1 };
+`endif
+`ifdef OR1200_DU_DMR2
+ `OR1200_DU_DMR2 :
+ spr_dat_o = { 8'h00 , dmr2 };
+`endif
+`ifdef OR1200_DU_DWCR0
+ `OR1200_DU_DWCR0 :
+ spr_dat_o = dwcr0 ;
+`endif
+`ifdef OR1200_DU_DWCR1
+ `OR1200_DU_DWCR1 :
+ spr_dat_o = dwcr1 ;
+`endif
+`ifdef OR1200_DU_DSR
+ `OR1200_DU_DSR :
+ spr_dat_o = { 18'b0 , dsr };
+`endif
+`ifdef OR1200_DU_DRR
+ `OR1200_DU_DRR :
+ spr_dat_o = { 18'b0 , drr };
+`endif
+`ifdef OR1200_DU_TB_IMPLEMENTED
+ `OR1200_DU_TBADR :
+ spr_dat_o = { 24'h000000 , tb_wadr };
+ `OR1200_DU_TBIA :
+ spr_dat_o = tbia_dat_o ;
+ `OR1200_DU_TBIM :
+ spr_dat_o = tbim_dat_o ;
+ `OR1200_DU_TBAR :
+ spr_dat_o = tbar_dat_o ;
+ `OR1200_DU_TBTS :
+ spr_dat_o = tbts_dat_o ;
+`endif
+ default :
+ spr_dat_o = 32'h0000_0000 ;
+ endcase
+`endif
+
+//
+// DSR alias
+//
+assign du_dsr = dsr ;
+
+`ifdef OR1200_DU_HWBKPTS
+
+//
+// Compare To What (Match Condition 0)
+//
+always @( dcr0 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr0 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond0_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond0_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond0_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond0_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond0_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond0_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond0_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 0)
+//
+always @( dcr0 or dcpu_cycstb_i )
+ case ( dcr0 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond0_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond0_stb = 1'b1 ; // insn fetch EA
+ default : match_cond0_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 0
+//
+always @( match_cond0_stb or dcr0 or dvr0 or match_cond0_ct )
+ casex ({ match_cond0_stb , dcr0 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match0 = 1'b0 ;
+ 4'b1_001 : match0 =
+ ({( match_cond0_ct [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), match_cond0_ct [ 30 : 0 ]} ==
+ {( dvr0 [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), dvr0 [ 30 : 0 ]});
+ 4'b1_010 : match0 =
+ ({( match_cond0_ct [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), match_cond0_ct [ 30 : 0 ]} <
+ {( dvr0 [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), dvr0 [ 30 : 0 ]});
+ 4'b1_011 : match0 =
+ ({( match_cond0_ct [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), match_cond0_ct [ 30 : 0 ]} <=
+ {( dvr0 [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), dvr0 [ 30 : 0 ]});
+ 4'b1_100 : match0 =
+ ({( match_cond0_ct [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), match_cond0_ct [ 30 : 0 ]} >
+ {( dvr0 [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), dvr0 [ 30 : 0 ]});
+ 4'b1_101 : match0 =
+ ({( match_cond0_ct [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), match_cond0_ct [ 30 : 0 ]} >=
+ {( dvr0 [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), dvr0 [ 30 : 0 ]});
+ 4'b1_110 : match0 =
+ ({( match_cond0_ct [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), match_cond0_ct [ 30 : 0 ]} !=
+ {( dvr0 [ 31 ] ^ dcr0 [ `OR1200_DU_DCR_SC ]), dvr0 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 0
+//
+always @( dmr1 or match0 )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW0 ])
+ 2'b00 : wp [ 0 ] = match0 ;
+ 2'b01 : wp [ 0 ] = match0 ;
+ 2'b10 : wp [ 0 ] = match0 ;
+ 2'b11 : wp [ 0 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 1)
+//
+always @( dcr1 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr1 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond1_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond1_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond1_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond1_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond1_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond1_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond1_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 1)
+//
+always @( dcr1 or dcpu_cycstb_i )
+ case ( dcr1 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond1_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond1_stb = 1'b1 ; // insn fetch EA
+ default : match_cond1_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 1
+//
+always @( match_cond1_stb or dcr1 or dvr1 or match_cond1_ct )
+ casex ({ match_cond1_stb , dcr1 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match1 = 1'b0 ;
+ 4'b1_001 : match1 =
+ ({( match_cond1_ct [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), match_cond1_ct [ 30 : 0 ]} ==
+ {( dvr1 [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), dvr1 [ 30 : 0 ]});
+ 4'b1_010 : match1 =
+ ({( match_cond1_ct [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), match_cond1_ct [ 30 : 0 ]} <
+ {( dvr1 [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), dvr1 [ 30 : 0 ]});
+ 4'b1_011 : match1 =
+ ({( match_cond1_ct [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), match_cond1_ct [ 30 : 0 ]} <=
+ {( dvr1 [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), dvr1 [ 30 : 0 ]});
+ 4'b1_100 : match1 =
+ ({( match_cond1_ct [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), match_cond1_ct [ 30 : 0 ]} >
+ {( dvr1 [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), dvr1 [ 30 : 0 ]});
+ 4'b1_101 : match1 =
+ ({( match_cond1_ct [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), match_cond1_ct [ 30 : 0 ]} >=
+ {( dvr1 [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), dvr1 [ 30 : 0 ]});
+ 4'b1_110 : match1 =
+ ({( match_cond1_ct [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), match_cond1_ct [ 30 : 0 ]} !=
+ {( dvr1 [ 31 ] ^ dcr1 [ `OR1200_DU_DCR_SC ]), dvr1 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 1
+//
+always @( dmr1 or match1 or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW1 ])
+ 2'b00 : wp [ 1 ] = match1 ;
+ 2'b01 : wp [ 1 ] = match1 & wp [ 0 ];
+ 2'b10 : wp [ 1 ] = match1 | wp [ 0 ];
+ 2'b11 : wp [ 1 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 2)
+//
+always @( dcr2 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr2 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond2_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond2_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond2_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond2_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond2_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond2_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond2_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 2)
+//
+always @( dcr2 or dcpu_cycstb_i )
+ case ( dcr2 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond2_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond2_stb = 1'b1 ; // insn fetch EA
+ default : match_cond2_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 2
+//
+always @( match_cond2_stb or dcr2 or dvr2 or match_cond2_ct )
+ casex ({ match_cond2_stb , dcr2 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match2 = 1'b0 ;
+ 4'b1_001 : match2 =
+ ({( match_cond2_ct [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), match_cond2_ct [ 30 : 0 ]} ==
+ {( dvr2 [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), dvr2 [ 30 : 0 ]});
+ 4'b1_010 : match2 =
+ ({( match_cond2_ct [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), match_cond2_ct [ 30 : 0 ]} <
+ {( dvr2 [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), dvr2 [ 30 : 0 ]});
+ 4'b1_011 : match2 =
+ ({( match_cond2_ct [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), match_cond2_ct [ 30 : 0 ]} <=
+ {( dvr2 [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), dvr2 [ 30 : 0 ]});
+ 4'b1_100 : match2 =
+ ({( match_cond2_ct [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), match_cond2_ct [ 30 : 0 ]} >
+ {( dvr2 [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), dvr2 [ 30 : 0 ]});
+ 4'b1_101 : match2 =
+ ({( match_cond2_ct [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), match_cond2_ct [ 30 : 0 ]} >=
+ {( dvr2 [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), dvr2 [ 30 : 0 ]});
+ 4'b1_110 : match2 =
+ ({( match_cond2_ct [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), match_cond2_ct [ 30 : 0 ]} !=
+ {( dvr2 [ 31 ] ^ dcr2 [ `OR1200_DU_DCR_SC ]), dvr2 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 2
+//
+always @( dmr1 or match2 or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW2 ])
+ 2'b00 : wp [ 2 ] = match2 ;
+ 2'b01 : wp [ 2 ] = match2 & wp [ 1 ];
+ 2'b10 : wp [ 2 ] = match2 | wp [ 1 ];
+ 2'b11 : wp [ 2 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 3)
+//
+always @( dcr3 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr3 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond3_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond3_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond3_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond3_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond3_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond3_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond3_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 3)
+//
+always @( dcr3 or dcpu_cycstb_i )
+ case ( dcr3 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond3_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond3_stb = 1'b1 ; // insn fetch EA
+ default : match_cond3_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 3
+//
+always @( match_cond3_stb or dcr3 or dvr3 or match_cond3_ct )
+ casex ({ match_cond3_stb , dcr3 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match3 = 1'b0 ;
+ 4'b1_001 : match3 =
+ ({( match_cond3_ct [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), match_cond3_ct [ 30 : 0 ]} ==
+ {( dvr3 [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), dvr3 [ 30 : 0 ]});
+ 4'b1_010 : match3 =
+ ({( match_cond3_ct [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), match_cond3_ct [ 30 : 0 ]} <
+ {( dvr3 [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), dvr3 [ 30 : 0 ]});
+ 4'b1_011 : match3 =
+ ({( match_cond3_ct [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), match_cond3_ct [ 30 : 0 ]} <=
+ {( dvr3 [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), dvr3 [ 30 : 0 ]});
+ 4'b1_100 : match3 =
+ ({( match_cond3_ct [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), match_cond3_ct [ 30 : 0 ]} >
+ {( dvr3 [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), dvr3 [ 30 : 0 ]});
+ 4'b1_101 : match3 =
+ ({( match_cond3_ct [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), match_cond3_ct [ 30 : 0 ]} >=
+ {( dvr3 [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), dvr3 [ 30 : 0 ]});
+ 4'b1_110 : match3 =
+ ({( match_cond3_ct [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), match_cond3_ct [ 30 : 0 ]} !=
+ {( dvr3 [ 31 ] ^ dcr3 [ `OR1200_DU_DCR_SC ]), dvr3 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 3
+//
+always @( dmr1 or match3 or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW3 ])
+ 2'b00 : wp [ 3 ] = match3 ;
+ 2'b01 : wp [ 3 ] = match3 & wp [ 2 ];
+ 2'b10 : wp [ 3 ] = match3 | wp [ 2 ];
+ 2'b11 : wp [ 3 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 4)
+//
+always @( dcr4 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr4 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond4_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond4_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond4_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond4_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond4_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond4_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond4_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 4)
+//
+always @( dcr4 or dcpu_cycstb_i )
+ case ( dcr4 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond4_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond4_stb = 1'b1 ; // insn fetch EA
+ default : match_cond4_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 4
+//
+always @( match_cond4_stb or dcr4 or dvr4 or match_cond4_ct )
+ casex ({ match_cond4_stb , dcr4 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match4 = 1'b0 ;
+ 4'b1_001 : match4 =
+ ({( match_cond4_ct [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), match_cond4_ct [ 30 : 0 ]} ==
+ {( dvr4 [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), dvr4 [ 30 : 0 ]});
+ 4'b1_010 : match4 =
+ ({( match_cond4_ct [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), match_cond4_ct [ 30 : 0 ]} <
+ {( dvr4 [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), dvr4 [ 30 : 0 ]});
+ 4'b1_011 : match4 =
+ ({( match_cond4_ct [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), match_cond4_ct [ 30 : 0 ]} <=
+ {( dvr4 [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), dvr4 [ 30 : 0 ]});
+ 4'b1_100 : match4 =
+ ({( match_cond4_ct [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), match_cond4_ct [ 30 : 0 ]} >
+ {( dvr4 [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), dvr4 [ 30 : 0 ]});
+ 4'b1_101 : match4 =
+ ({( match_cond4_ct [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), match_cond4_ct [ 30 : 0 ]} >=
+ {( dvr4 [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), dvr4 [ 30 : 0 ]});
+ 4'b1_110 : match4 =
+ ({( match_cond4_ct [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), match_cond4_ct [ 30 : 0 ]} !=
+ {( dvr4 [ 31 ] ^ dcr4 [ `OR1200_DU_DCR_SC ]), dvr4 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 4
+//
+always @( dmr1 or match4 or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW4 ])
+ 2'b00 : wp [ 4 ] = match4 ;
+ 2'b01 : wp [ 4 ] = match4 & wp [ 3 ];
+ 2'b10 : wp [ 4 ] = match4 | wp [ 3 ];
+ 2'b11 : wp [ 4 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 5)
+//
+always @( dcr5 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr5 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond5_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond5_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond5_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond5_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond5_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond5_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond5_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 5)
+//
+always @( dcr5 or dcpu_cycstb_i )
+ case ( dcr5 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond5_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond5_stb = 1'b1 ; // insn fetch EA
+ default : match_cond5_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 5
+//
+always @( match_cond5_stb or dcr5 or dvr5 or match_cond5_ct )
+ casex ({ match_cond5_stb , dcr5 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match5 = 1'b0 ;
+ 4'b1_001 : match5 =
+ ({( match_cond5_ct [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), match_cond5_ct [ 30 : 0 ]} ==
+ {( dvr5 [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), dvr5 [ 30 : 0 ]});
+ 4'b1_010 : match5 =
+ ({( match_cond5_ct [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), match_cond5_ct [ 30 : 0 ]} <
+ {( dvr5 [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), dvr5 [ 30 : 0 ]});
+ 4'b1_011 : match5 =
+ ({( match_cond5_ct [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), match_cond5_ct [ 30 : 0 ]} <=
+ {( dvr5 [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), dvr5 [ 30 : 0 ]});
+ 4'b1_100 : match5 =
+ ({( match_cond5_ct [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), match_cond5_ct [ 30 : 0 ]} >
+ {( dvr5 [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), dvr5 [ 30 : 0 ]});
+ 4'b1_101 : match5 =
+ ({( match_cond5_ct [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), match_cond5_ct [ 30 : 0 ]} >=
+ {( dvr5 [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), dvr5 [ 30 : 0 ]});
+ 4'b1_110 : match5 =
+ ({( match_cond5_ct [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), match_cond5_ct [ 30 : 0 ]} !=
+ {( dvr5 [ 31 ] ^ dcr5 [ `OR1200_DU_DCR_SC ]), dvr5 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 5
+//
+always @( dmr1 or match5 or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW5 ])
+ 2'b00 : wp [ 5 ] = match5 ;
+ 2'b01 : wp [ 5 ] = match5 & wp [ 4 ];
+ 2'b10 : wp [ 5 ] = match5 | wp [ 4 ];
+ 2'b11 : wp [ 5 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 6)
+//
+always @( dcr6 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr6 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond6_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond6_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond6_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond6_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond6_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond6_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond6_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 6)
+//
+always @( dcr6 or dcpu_cycstb_i )
+ case ( dcr6 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond6_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond6_stb = 1'b1 ; // insn fetch EA
+ default : match_cond6_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 6
+//
+always @( match_cond6_stb or dcr6 or dvr6 or match_cond6_ct )
+ casex ({ match_cond6_stb , dcr6 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match6 = 1'b0 ;
+ 4'b1_001 : match6 =
+ ({( match_cond6_ct [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), match_cond6_ct [ 30 : 0 ]} ==
+ {( dvr6 [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), dvr6 [ 30 : 0 ]});
+ 4'b1_010 : match6 =
+ ({( match_cond6_ct [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), match_cond6_ct [ 30 : 0 ]} <
+ {( dvr6 [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), dvr6 [ 30 : 0 ]});
+ 4'b1_011 : match6 =
+ ({( match_cond6_ct [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), match_cond6_ct [ 30 : 0 ]} <=
+ {( dvr6 [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), dvr6 [ 30 : 0 ]});
+ 4'b1_100 : match6 =
+ ({( match_cond6_ct [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), match_cond6_ct [ 30 : 0 ]} >
+ {( dvr6 [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), dvr6 [ 30 : 0 ]});
+ 4'b1_101 : match6 =
+ ({( match_cond6_ct [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), match_cond6_ct [ 30 : 0 ]} >=
+ {( dvr6 [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), dvr6 [ 30 : 0 ]});
+ 4'b1_110 : match6 =
+ ({( match_cond6_ct [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), match_cond6_ct [ 30 : 0 ]} !=
+ {( dvr6 [ 31 ] ^ dcr6 [ `OR1200_DU_DCR_SC ]), dvr6 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 6
+//
+always @( dmr1 or match6 or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW6 ])
+ 2'b00 : wp [ 6 ] = match6 ;
+ 2'b01 : wp [ 6 ] = match6 & wp [ 5 ];
+ 2'b10 : wp [ 6 ] = match6 | wp [ 5 ];
+ 2'b11 : wp [ 6 ] = 1'b0 ;
+ endcase
+
+//
+// Compare To What (Match Condition 7)
+//
+always @( dcr7 or id_pc or dcpu_adr_i or dcpu_dat_dc
+ or dcpu_dat_lsu or dcpu_we_i )
+ case ( dcr7 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b001 : match_cond7_ct = id_pc ; // insn fetch EA
+ 3'b010 : match_cond7_ct = dcpu_adr_i ; // load EA
+ 3'b011 : match_cond7_ct = dcpu_adr_i ; // store EA
+ 3'b100 : match_cond7_ct = dcpu_dat_dc ; // load data
+ 3'b101 : match_cond7_ct = dcpu_dat_lsu ; // store data
+ 3'b110 : match_cond7_ct = dcpu_adr_i ; // load/store EA
+ default : match_cond7_ct = dcpu_we_i ? dcpu_dat_lsu : dcpu_dat_dc ;
+ endcase
+
+//
+// When To Compare (Match Condition 7)
+//
+always @( dcr7 or dcpu_cycstb_i )
+ case ( dcr7 [ `OR1200_DU_DCR_CT ]) // synopsys parallel_case
+ 3'b000 : match_cond7_stb = 1'b0 ; //comparison disabled
+ 3'b001 : match_cond7_stb = 1'b1 ; // insn fetch EA
+ default : match_cond7_stb = dcpu_cycstb_i ; // any load/store
+ endcase
+
+//
+// Match Condition 7
+//
+always @( match_cond7_stb or dcr7 or dvr7 or match_cond7_ct )
+ casex ({ match_cond7_stb , dcr7 [ `OR1200_DU_DCR_CC ]})
+ 4'b0_xxx ,
+ 4'b1_000 ,
+ 4'b1_111 : match7 = 1'b0 ;
+ 4'b1_001 : match7 =
+ ({( match_cond7_ct [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), match_cond7_ct [ 30 : 0 ]} ==
+ {( dvr7 [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), dvr7 [ 30 : 0 ]});
+ 4'b1_010 : match7 =
+ ({( match_cond7_ct [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), match_cond7_ct [ 30 : 0 ]} <
+ {( dvr7 [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), dvr7 [ 30 : 0 ]});
+ 4'b1_011 : match7 =
+ ({( match_cond7_ct [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), match_cond7_ct [ 30 : 0 ]} <=
+ {( dvr7 [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), dvr7 [ 30 : 0 ]});
+ 4'b1_100 : match7 =
+ ({( match_cond7_ct [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), match_cond7_ct [ 30 : 0 ]} >
+ {( dvr7 [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), dvr7 [ 30 : 0 ]});
+ 4'b1_101 : match7 =
+ ({( match_cond7_ct [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), match_cond7_ct [ 30 : 0 ]} >=
+ {( dvr7 [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), dvr7 [ 30 : 0 ]});
+ 4'b1_110 : match7 =
+ ({( match_cond7_ct [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), match_cond7_ct [ 30 : 0 ]} !=
+ {( dvr7 [ 31 ] ^ dcr7 [ `OR1200_DU_DCR_SC ]), dvr7 [ 30 : 0 ]});
+ endcase
+
+//
+// Watchpoint 7
+//
+always @( dmr1 or match7 or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW7 ])
+ 2'b00 : wp [ 7 ] = match7 ;
+ 2'b01 : wp [ 7 ] = match7 & wp [ 6 ];
+ 2'b10 : wp [ 7 ] = match7 | wp [ 6 ];
+ 2'b11 : wp [ 7 ] = 1'b0 ;
+ endcase
+
+//
+// Increment Watchpoint Counter 0
+//
+always @( wp or dmr2 )
+ if ( dmr2 [ `OR1200_DU_DMR2_WCE0 ])
+ incr_wpcntr0 = |( wp & ~ dmr2 [ `OR1200_DU_DMR2_AWTC ]);
+ else
+ incr_wpcntr0 = 1'b0 ;
+
+//
+// Match Condition Watchpoint Counter 0
+//
+always @( dwcr0 )
+ if ( dwcr0 [ `OR1200_DU_DWCR_MATCH ] == dwcr0 [ `OR1200_DU_DWCR_COUNT ])
+ wpcntr0_match = 1'b1 ;
+ else
+ wpcntr0_match = 1'b0 ;
+
+
+//
+// Watchpoint 8
+//
+always @( dmr1 or wpcntr0_match or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW8 ])
+ 2'b00 : wp [ 8 ] = wpcntr0_match ;
+ 2'b01 : wp [ 8 ] = wpcntr0_match & wp [ 7 ];
+ 2'b10 : wp [ 8 ] = wpcntr0_match | wp [ 7 ];
+ 2'b11 : wp [ 8 ] = 1'b0 ;
+ endcase
+
+
+//
+// Increment Watchpoint Counter 1
+//
+always @( wp or dmr2 )
+ if ( dmr2 [ `OR1200_DU_DMR2_WCE1 ])
+ incr_wpcntr1 = |( wp & dmr2 [ `OR1200_DU_DMR2_AWTC ]);
+ else
+ incr_wpcntr1 = 1'b0 ;
+
+//
+// Match Condition Watchpoint Counter 1
+//
+always @( dwcr1 )
+ if ( dwcr1 [ `OR1200_DU_DWCR_MATCH ] == dwcr1 [ `OR1200_DU_DWCR_COUNT ])
+ wpcntr1_match = 1'b1 ;
+ else
+ wpcntr1_match = 1'b0 ;
+
+//
+// Watchpoint 9
+//
+always @( dmr1 or wpcntr1_match or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW9 ])
+ 2'b00 : wp [ 9 ] = wpcntr1_match ;
+ 2'b01 : wp [ 9 ] = wpcntr1_match & wp [ 8 ];
+ 2'b10 : wp [ 9 ] = wpcntr1_match | wp [ 8 ];
+ 2'b11 : wp [ 9 ] = 1'b0 ;
+ endcase
+
+//
+// Watchpoint 10
+//
+always @( dmr1 or dbg_ewt_i or wp )
+ case ( dmr1 [ `OR1200_DU_DMR1_CW10 ])
+ 2'b00 : wp [ 10 ] = dbg_ewt_i ;
+ 2'b01 : wp [ 10 ] = dbg_ewt_i & wp [ 9 ];
+ 2'b10 : wp [ 10 ] = dbg_ewt_i | wp [ 9 ];
+ 2'b11 : wp [ 10 ] = 1'b0 ;
+ endcase
+
+`endif
+
+//
+// Watchpoints can cause trap exception
+//
+`ifdef OR1200_DU_HWBKPTS
+assign du_hwbkpt = |( wp & dmr2 [ `OR1200_DU_DMR2_WGB ]) | du_hwbkpt_hold | ( dbg_bp_r & ~ dsr [ `OR1200_DU_DSR_TE ]);
+`else
+assign du_hwbkpt = 1'b0 ;
+`endif
+
+// Hold du_hwbkpt if ex_freeze is active in order to cause trap exception
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ du_hwbkpt_hold <= 1'b0 ;
+ else if ( du_hwbkpt & ex_freeze )
+ du_hwbkpt_hold <= 1'b1 ;
+ else if (! ex_freeze )
+ du_hwbkpt_hold <= 1'b0 ;
+
+`ifdef OR1200_DU_TB_IMPLEMENTED
+//
+// Simple trace buffer
+// (right now hardcoded for Xilinx Virtex FPGAs)
+//
+// Stores last 256 instruction addresses, instruction
+// machine words and ALU results
+//
+
+//
+// Trace buffer write enable
+//
+assign tb_enw = ~ ex_freeze & ~(( ex_insn [ 31 : 26 ] == `OR1200_OR32_NOP ) & ex_insn [ 16 ]);
+
+//
+// Trace buffer write address pointer
+//
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ tb_wadr <= 8'h00 ;
+ else if ( tb_enw )
+ tb_wadr <= tb_wadr + 8'd1 ;
+
+//
+// Free running counter (time stamp)
+//
+always @( posedge clk or `OR1200_RST_EVENT rst )
+ if ( rst == `OR1200_RST_VALUE )
+ tb_timstmp <= 32'h00000000 ;
+ else if (! dbg_bp_r )
+ tb_timstmp <= tb_timstmp + 32'd1 ;
+
+//
+// Trace buffer RAMs
+//
+
+or1200_dpram_256x32 tbia_ram (
+ .clk_a ( clk ),
+ .rst_a ( 1'b0 ),
+ .addr_a ( spr_addr [ 7 : 0 ]),
+ .ce_a ( 1'b1 ),
+ .oe_a ( 1'b1 ),
+ .do_a ( tbia_dat_o ),
+
+ .clk_b ( clk ),
+ .rst_b ( 1'b0 ),
+ .addr_b ( tb_wadr ),
+ .di_b ( spr_dat_npc ),
+ .ce_b ( 1'b1 ),
+ .we_b ( tb_enw )
+
+);
+
+or1200_dpram_256x32 tbim_ram (
+ .clk_a ( clk ),
+ .rst_a ( 1'b0 ),
+ .addr_a ( spr_addr [ 7 : 0 ]),
+ .ce_a ( 1'b1 ),
+ .oe_a ( 1'b1 ),
+ .do_a ( tbim_dat_o ),
+
+ .clk_b ( clk ),
+ .rst_b ( 1'b0 ),
+ .addr_b ( tb_wadr ),
+ .di_b ( ex_insn ),
+ .ce_b ( 1'b1 ),
+ .we_b ( tb_enw )
+);
+
+or1200_dpram_256x32 tbar_ram (
+ .clk_a ( clk ),
+ .rst_a ( 1'b0 ),
+ .addr_a ( spr_addr [ 7 : 0 ]),
+ .ce_a ( 1'b1 ),
+ .oe_a ( 1'b1 ),
+ .do_a ( tbar_dat_o ),
+
+ .clk_b ( clk ),
+ .rst_b ( 1'b0 ),
+ .addr_b ( tb_wadr ),
+ .di_b ( rf_dataw ),
+ .ce_b ( 1'b1 ),
+ .we_b ( tb_enw )
+);
+
+or1200_dpram_256x32 tbts_ram (
+ .clk_a ( clk ),
+ .rst_a ( 1'b0 ),
+ .addr_a ( spr_addr [ 7 : 0 ]),
+ .ce_a ( 1'b1 ),
+ .oe_a ( 1'b1 ),
+ .do_a ( tbts_dat_o ),
+
+ .clk_b ( clk ),
+ .rst_b ( 1'b0 ),
+ .addr_b ( tb_wadr ),
+ .di_b ( tb_timstmp ),
+ .ce_b ( 1'b1 ),
+ .we_b ( tb_enw )
+);
+
+`else
+
+assign tbia_dat_o = 32'h0000_0000 ;
+assign tbim_dat_o = 32'h0000_0000 ;
+assign tbar_dat_o = 32'h0000_0000 ;
+assign tbts_dat_o = 32'h0000_0000 ;
+
+`endif // OR1200_DU_TB_IMPLEMENTED
+
+`else // OR1200_DU_IMPLEMENTED
+
+//
+// When DU is not implemented, drive all outputs as would when DU is disabled
+//
+assign dbg_bp_o = 1'b0 ;
+assign du_dsr = { `OR1200_DU_DSR_WIDTH { 1'b0 }};
+assign du_dmr1 = { 25 { 1'b0 }};
+assign du_hwbkpt = 1'b0 ;
+
+//
+// Read DU registers
+//
+`ifdef OR1200_DU_READREGS
+assign spr_dat_o = 32'h0000_0000 ;
+`ifdef OR1200_DU_UNUSED_ZERO
+`endif
+`endif
+
+`endif
+
+endmodule
diff --git a/autotests/reference/preprocessor-bug363280.c.ref b/autotests/reference/preprocessor-bug363280.c.ref
new file mode 100644
index 0000000..4c23041
--- /dev/null
+++ b/autotests/reference/preprocessor-bug363280.c.ref
@@ -0,0 +1,8 @@
+#if 1
+int x ; // variable shall not be grey
+#endif
+#if defined (A)
+int y ; // variable shall not be grey
+#elif defined (B)
+int z ; // variable shall not be grey
+#endif
diff --git a/autotests/reference/preprocessor-bug363280.cpp.ref b/autotests/reference/preprocessor-bug363280.cpp.ref
new file mode 100644
index 0000000..8025f16
--- /dev/null
+++ b/autotests/reference/preprocessor-bug363280.cpp.ref
@@ -0,0 +1,8 @@
+#if 1
+int x ; // variable shall not be grey
+#endif
+#if defined (A)
+int y ; // variable shall not be grey
+#elif defined (B)
+int z ; // variable shall not be grey
+#endif
diff --git a/autotests/reference/review128925-1.css.ref b/autotests/reference/review128925-1.css.ref
new file mode 100644
index 0000000..36b2f90
--- /dev/null
+++ b/autotests/reference/review128925-1.css.ref
@@ -0,0 +1,112 @@
+/*
+ * CSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most CSS syntax, CSS3 properties, @media, @font-face and
+ * @keyframes annotations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8" ;
+
+@import url( "components/button.css" ) ;
+
+
+/* Properties */
+
+html, body {
+ font-family: "Droid Sans" , Arial, sans-serif ;
+ font-size: 11pt ;
+ line-height: 1.5em ;
+ max-width: calc( 100% - 300px ) ;
+ background: #fff000 ;
+ text-shadow: 0 0 2px rgba(0 , 0 , 0 , 0.3) ;
+ box-sizing: border-box ;
+}
+
+
+/* Selectors */
+
+blockquote {
+ margin: 0 ;
+}
+
+header #logo {
+ width: 100px ;
+}
+
+div #footer .link {
+ color: blue ;
+}
+
+sidebar #subscribe .subscribe_form input [type= "text" ] {
+ font-size: 20px ;
+}
+
+sidebar #subscribe .subscribe_form :nth-child (2n + 1) :hover input [class*= "small-" ] {
+ font-weight: bold ;
+}
+
+
+/* Media Queries */
+
+@media print {
+ .container {
+ width: 100% ;
+ }
+}
+
+@media screen and (min-width: 768px ) {
+ .container {
+ width: 600px ;
+ }
+}
+
+@media screen and (min-width: 768px ) and (max-width: 960px ) {
+ .container {
+ width: 720px ;
+ }
+}
+
+
+/* Fontface */
+
+@font-face {
+ font-family: MyHelvetica ;
+ src: local( "Helvetica Neue Bold" ) ,
+ local( "HelveticaNeue-Bold" ) ,
+ url( MgOpenModernaBold . ttf ) ;
+ font-weight: bold ;
+}
+
+/* Animation (Keyframes) */
+
+@keyframes slidein {
+ from {
+ margin-left: 100% ;
+ width: 300% ;
+ }
+
+ to {
+ margin-left: 0% ;
+ width: 100% ;
+ }
+}
+
+
+/* Region markers */
+
+/*BEGIN Comment */
+
+
+
+/*END Comment */
+
diff --git a/autotests/reference/review128925-1.scss.ref b/autotests/reference/review128925-1.scss.ref
new file mode 100644
index 0000000..ef07c19
--- /dev/null
+++ b/autotests/reference/review128925-1.scss.ref
@@ -0,0 +1,211 @@
+/*
+ * SCSS Syntax Highlight Sample File (Standard)
+ *
+ * This file contains most SCSS syntax, CSS3 properties, advanced code structure.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-15
+ */
+
+/*
+ * Block comment
+ *
+ * Alert keywords:
+ * TODO BUG FIXME
+ */
+
+@charset "UTF-8" ;
+
+@import "mixins/button" ;
+
+// Variable define
+
+$image-path : "../../static/images" ;
+$default-text-color : #333 !default; // Default can be overrided
+$default-font-size : 16px !default;
+$default-font-family : Roboto, "Droid Sans" , sans-serif;
+$default-font-weight : 400;
+$default-line-height : $default-font-size * 1.8;
+$shadow-transparence : 0 .25 ;
+$box-shadow : 0 0 3px rgba(0,0,0, $shadow-transparence);
+$page-width : 100rem; // kabab-case
+$gapOfArticle : 20px; // camelCase
+$body_background_color : white; // snake_case
+
+// Mixins
+
+@mixin border-radius( $radius) {
+ -webkit-border-radius : $radius;
+ -moz-border-radius : $radius;
+ -ms-border-radius : $radius;
+ border-radius : $radius;
+}
+
+.box { @include border-radius( 10px ) ; }
+
+// Nesting
+
+#home-page {
+
+ header {
+ width: 80% ;
+ margin: 0 auto ;
+
+ .cover {
+ @include border-radius( 20px ) ;
+ max-width: 100% ;
+
+ & :hover {
+ background: #ffffff ;
+ }
+
+ .like-button {
+ font-size: $default-font-size * 0.8 ;
+
+ @media (max-width: 300px ) and (min-width: 200px ) {
+ font-size : $default-font-size * 0.8;
+
+ .icon {
+ width: 20px ;
+ height: 20px ;
+ }
+ }
+
+ @media print {
+ display : none;
+ }
+ }
+ }
+ }
+}
+
+// Extend and inheritance
+
+.message {
+ border: $border-light ;
+ background-color: #f0f0f0 ;
+}
+
+.message-danger {
+ @extend .message ;
+}
+
+
+// Control structures
+
+@mixin does-parent-exist {
+ @if & {
+ & :hover {
+ color: red ;
+ }
+ } @else {
+ a {
+ color: red ;
+ }
+ }
+}
+
+
+// Operators
+
+.container { width: 100% ; }
+
+article [role= "main" ] {
+ float: left ;
+ width: 600px / 960px * 100% ;
+}
+
+aside [role= "complementary" ] {
+ float: right ;
+ width: 300px / 960px * 100% ;
+}
+
+
+// Functions - see http://sass-lang.com/documentation/Sass/Script/Functions.html
+
+$color1 : hsl(120deg, 100%, 50%);
+$color2 : rgb( $red, $green, blue($color1));
+$color3 : mix( $color1, $color2, [$weight]);
+
+
+// Properties
+
+html, body {
+ font-family: "Droid Sans" , Arial, sans-serif ;
+ font-size: 11pt ;
+ line-height: 1.5em ;
+ max-width: 300px + $page-width - $gap / 2 ;
+ background: $bg_color ;
+ text-shadow: 0 0 2px rgba(0 , 0 , 0 , $transparence ) ;
+ box-sizing: border-box ;
+}
+
+
+// Selectors
+
+blockquote {
+ margin: 0 ;
+}
+
+header #logo {
+ width: 100px ;
+}
+
+div #footer .link {
+ color: blue ;
+}
+
+sidebar #subscribe .subscribe_form input [type= "text" ] {
+ font-size: 20px ;
+}
+
+sidebar #subscribe .subscribe_form :nth-child (2n + 1) :hover input [class*= "small-" ] {
+ font-weight: bold ;
+}
+
+
+// Media Queries
+
+@media print {
+ .container {
+ width: 100% ;
+ }
+}
+
+@media screen and (min-width: 768px ) {
+ .container {
+ width: 600px ;
+ }
+}
+
+@media screen and (min-width: 768px ) and (max-width: 960px ) {
+ .container {
+ width: 720px ;
+ }
+}
+
+
+// Fontface
+
+@font-face {
+ font-family: MyHelvetica ;
+ src: local( "Helvetica Neue Bold" ) ,
+ local( "HelveticaNeue-Bold" ) ,
+ url( MgOpenModernaBold . ttf ) ;
+ font-weight: bold ;
+}
+
+// Animation (Keyframes)
+
+@keyframes slidein {
+ from {
+ margin-left: 100% ;
+ width: 300% ;
+ }
+
+ to {
+ margin-left: 0% ;
+ width: 100% ;
+ }
+}
diff --git a/autotests/reference/review128925-2.css.ref b/autotests/reference/review128925-2.css.ref
new file mode 100644
index 0000000..7decf79
--- /dev/null
+++ b/autotests/reference/review128925-2.css.ref
@@ -0,0 +1,62 @@
+/*
+ * CSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex CSS syntax that can test unexpected situations.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+/* Comments with special content */
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+/* Comments in special positions */
+
+header /* comment here */ .active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue /* comment here */ ;
+ font-family: Arial /* comment here */ ,
+ "Droid Sans" , /* comment here */
+ sans-serif /* comment here */ ;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */ ) /* comment here */ { /* comment here */ }
+
+
+/* Strings with special content */
+
+@import url( "{} $variable /* comment */" ) ;
+
+
+/* Without extra breaklines and spaces */
+
+pre .primary :hover .large :nth-child (2n-1) {font-size: 17px ;font-family: "Noto Sans" ;-webkit-box-shadow: 1px 1px 3px rgba(0 , 0 , 0 , 0.3) }
+
+
+/* With unnecessary breaklines and spaces */
+
+blockquote .ref
+ {
+ flex : 0 1 30% ;
+ flex-wrap : wrap ;
+ }
+
+@media screen and (orientation: landscape ) {
+ .sidebar {
+ width: 500px ; } }
+
+
+/* Special selectors: HTML5 allows user defined tags */
+
+header {
+ flex {
+ width : 300px ;
+ }
+}
diff --git a/autotests/reference/review128925-2.scss.ref b/autotests/reference/review128925-2.scss.ref
new file mode 100644
index 0000000..d3a4d44
--- /dev/null
+++ b/autotests/reference/review128925-2.scss.ref
@@ -0,0 +1,81 @@
+/*
+ * SCSS Syntax Highlight Sample File (Complex)
+ *
+ * This file contains complex SCSS syntax that can test unexpected situations.
+ * It is NOT a valid SCSS file that can be compiled by SCSS preprocessors.
+ *
+ * @author Guo Yunhe guoyunhebrave@gmail.com
+ * @date 2016-09-16
+ */
+
+
+// Comments with special content
+
+// .class-selector #id "string" 'comment' // comment {} [] () /* comment */ text
+
+/*
+ * .class-selector #id "string" 'comment' // comment {} [] () /* comment
+ * TODO BUG DEBUG
+ * body {
+ * margin: 0 !important;
+ * }
+ */
+
+// Comments in special positions
+
+$color : black /* comment here */ ;
+
+header /* comment here */ .active /* comment here */ {
+ /* comment here */ color : /* comment here */ blue /* comment here */ ;
+ font-family: Arial /* comment here */ ,
+ "Droid Sans" , /* comment here */
+ sans-serif /* comment here */ ;
+}
+
+@media screen /* comment here */ and (max-width: 300px /* comment here */ ) /* comment here */ { /* comment here */ }
+
+
+// Strings with special content
+
+@import "{} $variable /* comment */" ;
+@import "{}" ;
+
+// Without extra breaklines and spaces
+
+pre .primary :hover .large :nth-child (2n-1) {font-size: $default-font-size ;font-family: "Noto Sans" ;-webkit-box-shadow: 1px 1px 3px rgba(0 , 0 , 0 , 0.3) }
+
+// With unnecessary breaklines and spaces
+
+blockquote .ref
+ {
+ flex : 0 1 30% ;
+ flex-wrap : wrap ;
+ }
+
+.sidebar {
+ width: 300px ; }
+ @media screen and (orientation: landscape ) {
+ .sidebar {
+ width: 500px ; } }
+
+// Variable interpolation: #{}
+
+$name : foo;
+$attr : border;
+p . # { $name} {
+ # { $attr}-color : blue;
+}
+
+p {
+ $font-size : 12px;
+ $line-height : 30px;
+ font: #{ $font-size}/#{$line-height} ;
+}
+
+// Special selectors: HTML5 allows user defined tags
+
+header {
+ flex {
+ width : 300px ;
+ }
+}
diff --git a/autotests/reference/review128935.html.ref b/autotests/reference/review128935.html.ref
new file mode 100644
index 0000000..b031660
--- /dev/null
+++ b/autotests/reference/review128935.html.ref
@@ -0,0 +1,164 @@
+
+
+html >
+
+
+
+
+ charset= "utf-8" >
+HTML Syntax Highlight Sample File (Standard)
+ rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity= "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin= "anonymous" >
+ rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity= "sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin= "anonymous" >
+
+
+
+
+
+
+
+
+
This is a div. This is a span
+
+ This is a div.
+
+
+
+
+ This is a paragraph.
+
+
+This is heading 1
+This is heading 2
+This is heading 3
+This is heading 4
+This is heading 5
+This is heading 6
+
+ href= "http://www.w3schools.com" > This is a link
+
+
+
+ src= "http://placehold.it/200x150" alt= "This is an image" width= "200" height= "150" >
+
+
+
+
+ List item
+ List item
+ List item
+ List item
+ List item
+
+
+
+ List item
+ List item
+ List item
+ List item
+ List item
+
+
+
+
+ Table head
+ Table head
+ Table head
+
+
+ Table head
+ Table head
+ Table head
+
+
+
+
+ type= "email" name= "author" />
+ type= "text" name= "message" />
+ type= "button" > Send
+
+
+
+ This is a header.
+
+ This is a nav.
+
+
+ This is an article.
+
This is an article.
+
+
+
+ This is an aside.
+
+
+
+
+
+
+
+
+
+
+ Just For Fun: The Story of an Accidental Revolutionary
+ Linus Torvalds
+
+ class= "featured" title= "Click to read full text..." >
+ A humorous autobiography of Linus Torvalds, the creator of the Linux
+ kernel, co-written with David Diamond. The book primarily theorizes
+ the Law of Linus that all evolution contributed by humanity starts
+ for survival, sustains socially and entertains at last. As well as
+ this the book explains Torvalds' view of himself, the free software
+ movement and the development of Linux.
+
+
+
+
+
+
+
+
+ />
+
+
+
+
+
+
THIS IS A DIV.
+
THIS IS A PARAGRAPH.
+
THIS IS A HEADING.
+
+
+
+
+ href= "#" style= "background-color:rgba(0,0,0,0.3)" title= "Click me" > Magic button
+
+ src= "http://placehold.it/200x150" alt= "This is an image" width= "200"
+ height= "150" title= "This is an image" >
+
+
+
+
+ selected > GNU/Linux
+ BSD
+ Windows
+ macOS
+
+
+
+
+ id= name class= a-sweet-block data-counter= 175 > This is a div.
+
+
+
+
diff --git a/autotests/reference/test.bash.ref b/autotests/reference/test.bash.ref
new file mode 100644
index 0000000..146f4b3
--- /dev/null
+++ b/autotests/reference/test.bash.ref
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+for i in ` ls tests/auto/output/*.html ` ; do
+ refFile= ` echo $i | sed -e s,build,src, | sed -e s,output,reference, | sed -e s,.html,.ref.html, `
+ cp -v $i $refFile
+done
diff --git a/autotests/reference/test.bb.ref b/autotests/reference/test.bb.ref
new file mode 100644
index 0000000..6755f1a
--- /dev/null
+++ b/autotests/reference/test.bb.ref
@@ -0,0 +1,34 @@
+# syntax test file for Bitbake receipes
+
+SUMMARY = "GammaRay Qt introspection probe"
+HOMEPAGE = "http://www.kdab.com/gammaray"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL.txt ; md5 = 2abfe5daa817fd4346b6d55293941415"
+
+inherit cmake_qt5
+
+SRC_URI = "git://github.com/KDAB/GammaRay ; branch = master"
+
+SRCREV = "139e003174f48b0c883fc6c200ef2efb7467bff1"
+PV = "2.4.0+git ${SRCPV} "
+
+DEPENDS = "qtdeclarative"
+
+S = " ${WORKDIR} /git"
+
+EXTRA_OECMAKE += " -DGAMMARAY_BUILD_UI = OFF"
+
+FILES_ ${PN} -dev += " \
+ /usr/lib/cmake/* \
+ /usr/mkspecs/modules/* \
+"
+FILES_ ${PN} -dbg += " \
+ /usr/lib/.debug/* \
+ /usr/lib/gammaray/*/*/.debug \
+ /usr/lib/gammaray/*/*/styles/.debug \
+"
+
+# error: unterinated string
+VAR *= "abc
+ this is wrong
diff --git a/autotests/reference/test.c.ref b/autotests/reference/test.c.ref
new file mode 100644
index 0000000..2922209
--- /dev/null
+++ b/autotests/reference/test.c.ref
@@ -0,0 +1,56 @@
+#include
+#include "stdint.h"
+
+#define SOME_VAR 1
+#ifdef SOME_VAR
+
+#define MULTILINE_MACRO one \
+two \
+three
+
+static uint64_t intWithSuffix = 42ull ;
+static int octNum = 07232 ;
+static int invalidOctNum = 09231 ;
+static uint64_t hexNum = 0xDEADBEEF42 ;
+static uint64_t invalidHexNum = 0 xGLDFKG ;
+static char binNum = 0b0101010 ;
+
+static double d1 = 42. ;
+static double d2 = .42 ;
+static double d3 = 42.3e1 ;
+static double d4 = .2e-12 ;
+static double d5 = 32.e+12 ;
+static float floatQualifier = 23.123f ;
+
+static const char c1 = 'c' ;
+static const char c2 = '\n' ;
+static const char c2a = '\120' ; // octal
+static const char c2b = '\x1f' ; // hex
+static const char c2c = '\'' ;
+static const char c2d = '\\' ;
+static const char * c3 = "string" ;
+static const char * c4 = " \" string \n\t\012\x12\" " ;
+static const char * c5 = "multiline \
+ string" ;
+
+//BEGIN region
+// TODO comment FIXME comment ### comment
+//END region
+
+#wrong
+
+/**
+ * Doxygen
+ * @param p1 text
+ * \brief bold text >
+ * \dot
+ * a -> b
+ * \enddot
+ *
+ * \verbatim
+ *
+ * \endverbatim
+ * text</html >
+ */
+
+#endif
diff --git a/autotests/reference/test.cmake.ref b/autotests/reference/test.cmake.ref
new file mode 100644
index 0000000..e9c0a65
--- /dev/null
+++ b/autotests/reference/test.cmake.ref
@@ -0,0 +1,31 @@
+# comment
+
+#[[.rst:
+MyModule
+--------
+
+bla bla
+#]]
+
+#.rst:
+# ATTENTION
+# alternative doc comment
+#
+
+#[=====[.rst:
+
+3rd form
+
+]=====]
+
+set ( CMAKE_AUTOMOC ON )
+if ( POLICY CMP042 )
+ target_link_libraries (myTaget SHARED Qt5::Core)
+else ()
+ add_executable (myTaget ${some_var} )
+endif ()
+
+macro (my_macro arg1)
+ foreach (arg ${ARGN} )
+ endforeach ()
+endmacro ()
diff --git a/autotests/reference/test.css.ref b/autotests/reference/test.css.ref
new file mode 100644
index 0000000..4d24704
--- /dev/null
+++ b/autotests/reference/test.css.ref
@@ -0,0 +1,18 @@
+h1 {
+ text-color : "red" ;
+}
+
+/* PHP code, invalid in CSS context */
+for()
+
+ echo ( "hello" );
+
+// valid code in PHP context
+for ()
+
+?>
+
+h2 {
+ text-weight : bold ;
+}
+
diff --git a/autotests/reference/test.desktop.ref b/autotests/reference/test.desktop.ref
new file mode 100644
index 0000000..12ca73f
--- /dev/null
+++ b/autotests/reference/test.desktop.ref
@@ -0,0 +1,19 @@
+# test file for .dekstop syntax highlighting
+
+GenericName =Text Editor
+GenericName [ar] =Ù
ØØ±Ùر ÙØµÙص
+Name =KWrite
+Name [ar] =ÙØ§ØªØ¨Ù
+Comment =KDE Text Editor
+Comment [ar] =Ù
ØØ±Ùر ÙØµÙص ÙÙØ¯Ù
+MimeType =text/plain;
+Exec =kwrite %U
+StartupNotify =true
+Icon =kwrite
+X-DocPath =kwrite/index.html
+Type =Application
+Terminal =false
+InitialPreference =8
+X-DBUS-StartupType =Multi
+X-DBUS-ServiceName =org.kde.kwrite
+Categories =Qt;KDE;Utility;TextEditor;
diff --git a/autotests/reference/test.diff.ref b/autotests/reference/test.diff.ref
new file mode 100644
index 0000000..1ddccb2
--- /dev/null
+++ b/autotests/reference/test.diff.ref
@@ -0,0 +1,48 @@
+commit 2b16665838c8afeaa0f065cafc747438de35876b
+Author: Volker Krause
+Date: Sat Oct 8 13:31:51 2016 +0200
+
+ Implement dynamic DetectChar rules
+
+ Needed for Perl highlighting.
+
+diff --git a/src/lib/rule.cpp b/src/lib/rule.cpp
+index f588985..c4c3b92 100644
+
+
+@@ -308,12 +308,22 @@ bool DetectChar::doLoad(QXmlStreamReader& reader)
+ if (s.isEmpty())
+ return false;
+ m_char = s.at(0);
++ if (isDynamic()) {
++ m_captureIndex = m_char.digitValue();
++ }
+ return true;
+ }
+
+ MatchResult DetectChar::doMatch(const QString& text, int offset, const QStringList &captures)
+ {
+- Q_UNUSED(captures); // TODO
++ if (isDynamic()) {
++ if (captures.size() <= m_captureIndex || captures.at(m_captureIndex).isEmpty())
++ return offset;
++ if (text.at(offset) == captures.at(m_captureIndex).at(0))
++ return offset + 1;
++ return offset;
++ }
++
+ if (text.at(offset) == m_char)
+ return offset + 1;
+ return offset;
+diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h
+index d8862ae..d9cedbf 100644
+
+
+@@ -103,6 +103,7 @@ protected:
+
+ private:
+ QChar m_char;
++ int m_captureIndex;
+ };
+
+ class Detect2Char : public Rule
diff --git a/autotests/reference/test.eml.ref b/autotests/reference/test.eml.ref
new file mode 100644
index 0000000..b7c40ad
--- /dev/null
+++ b/autotests/reference/test.eml.ref
@@ -0,0 +1,94 @@
+Return-Path:
+X-Sieve: CMU Sieve 2.3
+X-Virus-Scanned: amavisd-new at site
+Authentication-Results: linux.site (amavisd-new); dkim=pass (1024-bit key)
+ header.d=kde.org
+Received: from postbox.kde.org (localhost.localdomain [127.0.0.1])
+ by postbox.kde.org (Postfix) with ESMTP id 3167DB6E75;
+ Wed, 5 Oct 2016 20:21:47 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kde.org; s=default;
+ t=1475698907; bh=6i+3UfR6HLC54wVtp5SF4sVWvQn63jzu9vD2zJal/kY=;
+ h=From:To:Subject:Date:Reply-To:List-Id:List-Unsubscribe:List-Post:
+ List-Help:List-Subscribe:From;
+ b=M5nfHbmJe/4DPuidrJ901dUzX3FmpVpyUrPM961Or9bKrMO+z9gaTUwbfPR74Rq8B
+ Rv66yf3ZaDuRZxv/ARPzpr8qnDTtf13WRFZ/ySdqqqQJKeBqCAd7/wbR0kHhypvpwe
+ z4nY6+bNnjvFelPXR56o16b+/Ib2GTYJ9hwiG97U=
+X-Original-To: kwrite-devel@kde.org
+Delivered-To: kwrite-devel@localhost.kde.org
+Received-SPF: Neutral (access neither permitted nor denied) identity=mailfrom;
+ client-ip=85.214.234.26; helo=h2265959.stratoserver.net;
+ envelope-from= vkrause@kde.org ; receiver= kwrite-devel@kde.org
+From: Volker Krause
+To: kwrite-devel@kde.org
+Subject: Highlighting semantics: line end context switches when popping back
+ into previous line context stack
+Date: Wed, 05 Oct 2016 22:19:17 +0200
+Message-ID: <2420385.jiZKTgWtgY@vkpc5>
+Organization: KDE
+User-Agent: KMail/4.14.10 (Linux/4.1.13-5-default; KDE/4.14.16; x86_64;
+ git-91275a7; 2015-12-13)
+MIME-Version: 1.0
+Content-Type: multipart/signed; boundary= "nextPart1575059.2yRQ5x6HOo" ;
+ micalg= "pgp-sha1"; protocol="application/pgp-signature"
+X-BeenThere: kwrite-devel@kde.org
+X-Mailman-Version: 2.1.16
+Precedence: list
+Reply-To: kwrite-devel@kde.org
+List-Id: Kate/KWrite Mailing List
+List-Unsubscribe: ,
+ kwrite-devel-request@kde.org ?subject=unsubscribe>
+List-Post: kwrite-devel@kde.org >
+List-Help: kwrite-devel-request@kde.org ?subject=help>
+List-Subscribe: ,
+ kwrite-devel-request@kde.org ?subject=subscribe>
+Errors-To: kwrite-devel-bounces@kde.org
+Sender: "KWrite-Devel"
+
+
+-- nextPart1575059.2yRQ5x6HOo
+Content-Transfer-Encoding: 7Bit
+Content-Type: text/plain; charset= "us-ascii"
+
+Hi,
+
+when trying to add the unit test for the new Praat highlighting to
+KF5: :SyntaxHighlighting it turned out that the output doesn't match at all
+that of Kate. We managed to trace this back to the following rather surprising
+(and apparently undocumented) behavior in Kate:
+
+When a context switch (anywhere in a line) pops more contexts than were on the
+stack when starting the line, it executes line end context switches of the
+previous line contexts.
+
+| | | | | | The corresponding code is in KateHighlighting::generateContextStack(),
+| | > | > KF5::SyntaxHighlighting doesn't do this (yet), Praat is apparently the first
+> | > format we have tests for that uses this behavior.
+
+> Does anyone remember why we do this, or happens to know which highlighting
+> files besides Praat rely on this?
+
+> > Archeology can trace this back to the dark CVS ages even, one reference
+> > Dominik has dug up is a 10 year old SVN commit
+> > (https://quickgit.kde.org/?p=kdelibs.git&a=commit&h=90ef47f582277745f727d89f05f72f1e1705fdc4
+> >), where Christoph claims to understand what this code does ;)
+
+> > > As this is highly unexpected and hard to reason about behavior, Dominik and I
+> > > > were wondering if we can possibly drop this, and rather fix affected
+> > > > > highlighting files instead?
+
+Regards,
+Volker
+-- nextPart1575059.2yRQ5x6HOo
+Content-Type: application/pgp-signature; name= "signature.asc"
+Content-Description: This is a digitally signed message part.
+Content-Transfer-Encoding: 7Bit
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iD8DBQBX9WBIf5bM1k0S0kcRAireAJ4lCWa08Y5yU1ezIvKVCAfnkhcUbACgou0O
+X4c+lkPI0tti59KV1vetaeU=
+=VqDS
+-----END PGP SIGNATURE-----
+
+-- nextPart1575059.2yRQ5x6HOo--
diff --git a/autotests/reference/test.frag.ref b/autotests/reference/test.frag.ref
new file mode 100644
index 0000000..8567197
--- /dev/null
+++ b/autotests/reference/test.frag.ref
@@ -0,0 +1,26 @@
+#version 330 core
+
+// single line comment
+
+/* single line commonet */
+
+/*
+ multi line comment
+ */
+
+in ColorFormat {
+ vec3 color ;
+} fs_in ;
+
+out vec4 fragColor ;
+
+vec3 fun ( const in vec3 foo ) {
+ foo [ 2 ] = foo . x ;
+
+ return foo ;
+}
+
+void main ()
+{
+ fragColor = vec4 ( fs_in . color , 1.0 );
+}
diff --git a/autotests/reference/test.htm.ref b/autotests/reference/test.htm.ref
new file mode 100644
index 0000000..7122070
--- /dev/null
+++ b/autotests/reference/test.htm.ref
@@ -0,0 +1,17 @@
+HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" >
+
+
+ This is a title
+
+ /* comment */
+ #xyz { color: red ; }
+ h1 { font: "Comic Sans" ; }
+
+
+
+ id= "xzy" > Hello world!
+
+
+ document . body . appendChild ( document . createTextNode ( 'Hello World!' )) ; // comment
+
+
diff --git a/autotests/reference/test.ijs.ref b/autotests/reference/test.ijs.ref
new file mode 100644
index 0000000..cb2ea99
--- /dev/null
+++ b/autotests/reference/test.ijs.ref
@@ -0,0 +1,61 @@
+Comment
+NB. This is a single line comment, check regions overlapping priority: 1 2.3 +/ &. 'quoted text'
+NB.(
+NB. This is a foldable multi line comment
+NB.)
+
+String literal
+''
+''''
+'This is quoted text'
+'And this '' and this NB. and this' 'Yet another quoted text'
+
+Numeric literal
+12 34.56 _7.89 1e2 1.2e3 _. _ __ 123j_456 2b111.111 1r23 123456x 1.2e3j4.5e6 _j_ __j_ _.j_. _j3p4j_.
+
+Parenthesis
+( )
+
+Adverb
+~ / \ /. \. } b. f. M. t. t:
+
+Conjuction
+^: . .. .: : :. :: ;. !. !: " ` `: @ @. @: & &. &: &.: d. D. D: H. L: S: T.
+
+Control
+assert. break. case. catch. catchd. catcht. continue. do. else. elseif. end. fcase. for. for_abc. goto_abc. if. label_abc. return. select. throw. try. while. whilst.
+
+Copula
+a =: 123
+( a ) =: 123
+( a ; b ; c ) =: 123
+'a b c' =: 123
+'a b c' =. '123'
+'`a b c' =. '123'
+'a' =: 123
+( 'a' ; 'b' ; 'c' ) =: 123
+
+Explicit argument
+x y m n u v x . y . m . n . u . v .
+
+Noun
+a. a:
+
+Verb
+= < <. <: > >. >: _: + +. +: * *. *: - -. -: % %. %: ^ ^. $ $. $: ~. ~: | |. |: , ,. ,: ; ;: # #. #: ! /: \: [ [: ] { {. {: {:: }. }: ". ": ? ?. A. C. e. E. i. i: I. j. L. o. p. p.. p: q: r. s: u: x: _9: _8: _7: _6: _5: _4: _3: _2: _1: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9:
+
+Combined
+for_abc. i. 5 do. 55 return. end.
+a =. b =: 123 + / # i. 10
+123 'qwerty'
+a_b =: '123' [ c__d =. 4 : 0 NB. foldable definition begins
+ x + / y
+)
+e__12 =: define NB. foldable definition begins
+ if. x do. NB. inner foldable region begins
+ y =. y + x NB. comment after code
+ x + / y
+ else. NB. inner foldable region begins
+ y + / y
+ end.
+)
diff --git a/autotests/reference/test.js.ref b/autotests/reference/test.js.ref
new file mode 100644
index 0000000..4b62657
--- /dev/null
+++ b/autotests/reference/test.js.ref
@@ -0,0 +1,8 @@
+/* comment */
+
+function fun ()
+{
+ var boo = { 'key' : [ 1 , 2.0 , 3.0e1 , 004 , 0x5 ] };
+}
+
+class MyClass ; // reserved keywords
diff --git a/autotests/reference/test.json.ref b/autotests/reference/test.json.ref
new file mode 100644
index 0000000..b7f0e52
--- /dev/null
+++ b/autotests/reference/test.json.ref
@@ -0,0 +1,13 @@
+{
+ "float" : 3.1415 ,
+ "int" : 123 ,
+ "string" : "\a \" b' \n " ,
+ "array" : [ 1 , 2 , 3 ] ,
+ "object" : {
+ "mult-line" : "so this folds"
+ },
+ "folded array" : [
+ 1 , 2 , 3
+ ]
+ "error key" : "due to missing comma"
+}
diff --git a/autotests/reference/test.markdown.ref b/autotests/reference/test.markdown.ref
new file mode 100644
index 0000000..52a09d2
--- /dev/null
+++ b/autotests/reference/test.markdown.ref
@@ -0,0 +1,39 @@
+# H1
+
+## H2
+
+### H3
+
+Multi-line paragraph bla bla bla
+bla bla bla.
+
+Intentional line break
+via two spaces at line.
+
+Formats: _italic_, **bold**, `monospace`, ~~strikeout~~
+
+Bullet list:
+
+* item1
+* item2
+
+Numbered list:
+
+1. item 1
+2. item 2
+
+[link](http://kde.org)
+
+ code 1
+ code 2
+
+normal text
+
+> block quote _italic_
+> more block quote
+
+normal text
+
+ Title: some text
+
+normal text
diff --git a/autotests/reference/test.mss.ref b/autotests/reference/test.mss.ref
new file mode 100644
index 0000000..a2d1efa
--- /dev/null
+++ b/autotests/reference/test.mss.ref
@@ -0,0 +1,215 @@
+/* kate: hl CartoCSS
+ This file contains some content coming from
+ https://github.com/gravitystorm/openstreetmap-carto
+ with CC0 license. This file is just for testing
+ katepart highlighting engine.
+ */
+
+#world {
+// this syntax
+polygon-opacity : 50% ;
+
+// is equivalent to
+polygon-opacity : 0.5 ;
+}
+
+@admin-boundaries : #ac46ac ;
+
+/* For performance reasons, the admin border layers are split into three groups
+for low, middle and high zoom levels.
+For each zoomlevel, all borders come from a single attachment, to handle
+overlapping borders correctly.
+*/
+
+#admin-low-zoom [ zoom < 11 ], // test
+#admin-mid-zoom [ zoom >= 11 ][ zoom < 13 ],
+#admin-high-zoom [ zoom >= 13 ] {
+ [ admin_level = '2' ],
+ [ admin_level = '3' ] {
+ [ zoom >= 4 ] {
+ background / line-color : white ;
+ background / line-width : 0.6 ;
+ line-color : @admin-boundaries ;
+ line-width : 0.6 ;
+ }
+ [ zoom >= 7 ] {
+ background / line-width : 2 ;
+ line-width : 2 ;
+ }
+ [ zoom >= 10 ] {
+ [ admin_level = '2' ] {
+ background / line-width : 6 ;
+ line-width : 6 ;
+ }
+ [ admin_level = '3' ] {
+ background / line-width : 5 ;
+ line-width : 5 ;
+ line-dasharray : 4 , 2 ;
+ line-clip : false ;
+ }
+ }
+ }
+ [ admin_level = '4' ] {
+ [ zoom >= 4 ] {
+ background / line-color : white ;
+ background / line-width : 0.6 ;
+ line-color : @admin-boundaries ;
+ line-width : 0.6 ;
+ line-dasharray : 4 , 3 ;
+ line-clip : false ;
+ }
+ [ zoom >= 7 ] {
+ background / line-width : 1 ;
+ line-width : 1 ;
+ }
+ [ zoom >= 11 ] {
+ background / line-width : 3 ;
+ line-width : 3 ;
+ }
+ }
+ /*
+ The following code prevents admin boundaries from being rendered on top of
+ each other. Comp-op works on the entire attachment, not on the individual
+ border. Therefore, this code generates an attachment containing a set of
+ @admin-boundaries/white dashed lines (of which only the top one is visible),
+ and with `comp-op: darken` the white part is ignored, while the
+ @admin-boundaries colored part is rendered (as long as the background is not
+ darker than @admin-boundaries).
+ The SQL has `ORDER BY admin_level`, so the boundary with the lowest
+ admin_level is rendered on top, and therefore the only visible boundary.
+ */
+ opacity : 0.4 ;
+ comp-op : darken ;
+}
+
+#admin-mid-zoom [ zoom >= 11 ][ zoom < 13 ],
+#admin-high-zoom [ zoom >= 13 ] {
+ [ admin_level = '5' ][ zoom >= 11 ] {
+ background / line-color : white ;
+ background / line-width : 2 ;
+ line-color : @admin-boundaries ;
+ line-width : 2 ;
+ line-dasharray : 6 , 3 , 2 , 3 , 2 , 3 ;
+ line-clip : false ;
+ }
+ [ admin_level = '6' ][ zoom >= 11 ] {
+ background / line-color : white ;
+ background / line-width : 2 ;
+ line-color : @admin-boundaries ;
+ line-width : 2 ;
+ line-dasharray : 6 , 3 , 2 , 3 ;
+ line-clip : false ;
+ }
+ [ admin_level = '7' ],
+ [ admin_level = '8' ] {
+ [ zoom >= 12 ] {
+ background / line-color : white ;
+ background / line-width : 1.5 ;
+ line-color : @admin-boundaries ;
+ line-width : 1.5 ;
+ line-dasharray : 5 , 2 ;
+ line-clip : false ;
+ }
+ }
+ opacity : 0.5 ;
+ comp-op : darken ;
+}
+
+#admin-high-zoom [ zoom >= 13 ] {
+ [ admin_level = '9' ],
+ [ admin_level = '10' ] {
+ [ zoom >= 13 ] {
+ background / line-color : white ;
+ background / line-width : 2 ;
+ line-color : @admin-boundaries ;
+ line-width : 2 ;
+ line-dasharray : 2 , 3 ;
+ line-clip : false ;
+ }
+ }
+ opacity : 0.5 ;
+ comp-op : darken ;
+}
+
+
+
+#nature-reserve-boundaries {
+ [ way_pixels > 100 ][ zoom >= 7 ] {
+ [ zoom < 10 ] {
+ :: fill {
+ opacity : 0.05 ;
+ polygon-fill : green ;
+ }
+ }
+ a / line-width : 1 ;
+ a / line-offset : - 0.5 ;
+ a / line-color : green ;
+ a / line-opacity : 0.15 ;
+ a / line-join : round ;
+ a / line-cap : round ;
+ b / line-width : 2 ;
+ b / line-offset : - 1 ;
+ b / line-color : green ;
+ b / line-opacity : 0.15 ;
+ b / line-join : round ;
+ b / line-cap : round ;
+ [ zoom >= 10 ] {
+ a / line-width : 2 ;
+ a / line-offset : - 1 ;
+ b / line-width : 4 ;
+ b / line-offset : - 2 ;
+ }
+ [ zoom >= 14 ] {
+ b / line-width : 6 ;
+ b / line-offset : - 3 ;
+ }
+ }
+}
+
+#building-text {
+[ zoom >= 14 ][ way_pixels > 3000 ],
+[ zoom >= 17 ] {
+text-name : "[name]" ;
+text-size : 11 ;
+text-fill : #444 ;
+text-face-name : @book-fonts ;
+text-halo-radius : 1 ;
+text-wrap-width : 20 ;
+text-halo-fill : rgba ( 255 , 255 , 255 , 0.5 );
+text-placement : interior ;
+}
+}
+
+@marina-text : #576ddf ; // also swimming_pool
+@landcover-face-name : @oblique-fonts ;
+@standard-wrap-width : 30 ;
+
+.points {
+ [ feature = 'tourism_alpine_hut' ][ zoom >= 13 ] {
+ point-file : url ( 'symbols/alpinehut.p.16.png' );
+ point-placement : interior ;
+ }
+ }
+
+ [ feature = 'highway_bus_stop' ] {
+ [ zoom >= 16 ] {
+ marker-file : url ( 'symbols/square.svg' );
+ marker-fill : @transportation-icon ;
+ marker-placement : interior ;
+ marker-width : 6 ;
+ }
+ [ zoom >= 17 ] {
+ marker-file : url ( 'symbols/bus_stop.p.12.png' );
+ marker-width : 12 ;
+ }
+ }
+
+[ feature = 'highway_primary' ] {
+[ zoom >= 7 ][ zoom < 12 ] {
+line-width : 0.5 ;
+line-color : @primary-fill ;
+[ zoom >= 9 ] { line-width : 1.2 ; }
+[ zoom >= 10 ] { line-width : 2 ; }
+[ zoom >= 11 ] { line-width : .5 ; }
+}
+}
diff --git a/autotests/reference/test.py.ref b/autotests/reference/test.py.ref
new file mode 100644
index 0000000..bb85ce0
--- /dev/null
+++ b/autotests/reference/test.py.ref
@@ -0,0 +1,28 @@
+# comment with ALERT
+
+''' multiline
+ comment
+ ###
+ '''
+
+def func(x):
+ """ API docs """
+ if x == 42 :
+ func()
+ c1 = {}
+ c2 = {
+ 2.4 ,
+ 0x42
+ }
+ a1 = []
+ a2 = [
+ "a" , 032 , (
+ )]
+ else :
+ print ( """multi
+ line
+ string""" )
+ print ( "single \
+ continued line " )
+ print ( 'single line' )
+ return float ( len (a2))
diff --git a/autotests/reference/test.qml.ref b/autotests/reference/test.qml.ref
new file mode 100644
index 0000000..bb65514
--- /dev/null
+++ b/autotests/reference/test.qml.ref
@@ -0,0 +1,23 @@
+/*
+ * multi line comment
+ */
+
+// single line comment
+
+import QtQuick 2.0
+
+Rectangle {
+ property real myNumProp: 0.1e12 ;
+ property alias sub. color ;
+ signal mySignal( int arg1, string arg2)
+ color : "lightsteelblue"
+ width : 320
+ height : width/ 2
+
+ Rectangle {
+ id : sub
+ width : 0x10
+ height : 007
+ objectName : 'single quote'
+ }
+}
diff --git a/autotests/reference/test.sql.ref b/autotests/reference/test.sql.ref
new file mode 100644
index 0000000..f4bc03f
--- /dev/null
+++ b/autotests/reference/test.sql.ref
@@ -0,0 +1,6 @@
+-- comment
+
+CREATE TABLE stuff COLUMNS (col1 INT , col2 Varchar );
+SELECT * FROM stuff WHERE id = 'string' ;
+select * from stuff where id < 0.42 ;
+Select col1, col2 From stuff Where stuff.col1 IS NOT NuLL ;
diff --git a/autotests/reference/test.tex.ref b/autotests/reference/test.tex.ref
new file mode 100644
index 0000000..46b442c
--- /dev/null
+++ b/autotests/reference/test.tex.ref
@@ -0,0 +1,5 @@
+% commet
+
+text \texttt {more text}
+
+\verb ! verbatim text ! normal text
diff --git a/autotests/reference/test_syntax.sql.ref b/autotests/reference/test_syntax.sql.ref
new file mode 100644
index 0000000..9a41ecf
--- /dev/null
+++ b/autotests/reference/test_syntax.sql.ref
@@ -0,0 +1,41 @@
+-- kate: hl SQL (Oracle)
+-- test case shipped with highlighting in bugzilla, LGPL
+
+begin
+ q'{ adfasdf'sadfasdf j }' { ' hkjhkhkjhkjh khlkhklj' fghdfghdfgh 'hkjh' jkhkh 'a'
+ Q'( asldflahsl;'dkjfhklsdfh )'
+ q'[ asdasd;'asdasd'a]sd'asd'asasd ]' ;11111111[1 ']; asdasdasdasd' errrrrrrrrrrrrrr-p
+
+ q'a gdfgsdfgfhfghjfgh'f'f'sdfg'sdfg'dfg# a' dafdfadasfasdf;
+
+ Q'# gdfgsdfgsdfgsdfgsdfg #' afgasasdfasdfasfasdfasdfasdfasdfsdf
+
+ if sldfjsdj then
+ case
+ when 1=1 then
+ aslfjsldkfj;
+ when 2=2 then
+ asdfg;
+ else
+ null ;
+ end case ;
+
+ if sdfjh then
+ for i in 1 .. 2
+ LOOP
+ dbms_output.put_line( q'; ololo ;' );
+ END Loop ;
+
+ while true
+ loop
+ dbms_output.put_line( '1111' );
+ end loop ;
+ end if ;
+ ksjfklasjd;
+ fklj;
+ elsif
+ sdklfjsdklfj;
+ else
+ sdfdfsdf;
+ end if ;
+end ;
diff --git a/autotests/repository_benchmark.cpp b/autotests/repository_benchmark.cpp
new file mode 100644
index 0000000..f4cfc0f
--- /dev/null
+++ b/autotests/repository_benchmark.cpp
@@ -0,0 +1,40 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include
+
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+class RepositoryBenchmark : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void benchmarkReporitoryLoad()
+ {
+ QBENCHMARK {
+ Repository repo;
+ }
+ }
+
+};
+
+QTEST_GUILESS_MAIN(RepositoryBenchmark)
+
+#include "repository_benchmark.moc"
diff --git a/autotests/syntaxrepository_test.cpp b/autotests/syntaxrepository_test.cpp
new file mode 100644
index 0000000..6e20dae
--- /dev/null
+++ b/autotests/syntaxrepository_test.cpp
@@ -0,0 +1,185 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+
+namespace KSyntaxHighlighting {
+
+class NullHighlighter : public AbstractHighlighter
+{
+public:
+ using AbstractHighlighter::highlightLine;
+ void applyFormat(int offset, int length, const Format &format) Q_DECL_OVERRIDE
+ {
+ Q_UNUSED(offset);
+ Q_UNUSED(length);
+ // only here to ensure we don't crash
+ format.isDefaultTextStyle(theme());
+ format.textColor(theme());
+ }
+};
+
+class RepositoryTest : public QObject
+{
+ Q_OBJECT
+private:
+ Repository m_repo;
+
+private Q_SLOTS:
+ void initTestCase()
+ {
+ QStandardPaths::enableTestMode(true);
+ }
+
+ void testDefinitionByExtension_data()
+ {
+ QTest::addColumn("fileName");
+ QTest::addColumn("defName");
+
+ QTest::newRow("empty") << QString() << QString();
+ QTest::newRow("qml") << QStringLiteral("/bla/foo.qml") << QStringLiteral("QML");
+ QTest::newRow("glsl") << QStringLiteral("flat.frag") << QStringLiteral("GLSL");
+ // the following ones are defined in multiple syntax definitions
+ QTest::newRow("c") << QStringLiteral("test.c") << QStringLiteral("C");
+ QTest::newRow("c++") << QStringLiteral("test.cpp") << QStringLiteral("C++");
+ QTest::newRow("markdown") << QStringLiteral("test.md") << QStringLiteral("Markdown");
+
+ QTest::newRow("Makefile 1") << QStringLiteral("Makefile") << QStringLiteral("Makefile");
+ QTest::newRow("Makefile 2") << QStringLiteral("/some/path/to/Makefile") << QStringLiteral("Makefile");
+ QTest::newRow("Makefile 3") << QStringLiteral("Makefile.am") << QStringLiteral("Makefile");
+ }
+
+ void testDefinitionByExtension()
+ {
+ QFETCH(QString, fileName);
+ QFETCH(QString, defName);
+
+ auto def = m_repo.definitionForFileName(fileName);
+ if (defName.isEmpty()) {
+ QVERIFY(!def.isValid());
+ } else {
+ QVERIFY(def.isValid());
+ QCOMPARE(def.name(), defName);
+ }
+ }
+
+ void testLoadAll()
+ {
+ foreach (const auto &def, m_repo.definitions()) {
+ QVERIFY(!def.name().isEmpty());
+ QVERIFY(!def.translatedName().isEmpty());
+ QVERIFY(!def.section().isEmpty());
+ QVERIFY(!def.translatedSection().isEmpty());
+ // indirectly trigger loading, as we can't reach that from public API
+ // if the loading fails the highlighter will produce empty states
+ NullHighlighter hl;
+ State initialState;
+ hl.setDefinition(def);
+ const auto state = hl.highlightLine(QLatin1String("This should not crash } ] ) !"), initialState);
+ QVERIFY(state != initialState);
+ }
+ }
+
+ void testMetaData()
+ {
+ auto def = m_repo.definitionForName(QLatin1String("Alerts"));
+ QVERIFY(def.isValid());
+ QVERIFY(def.extensions().isEmpty());
+ QVERIFY(def.mimeTypes().isEmpty());
+ QVERIFY(def.version() >= 1.11f);
+ QVERIFY(def.isHidden());
+ QCOMPARE(def.section(), QLatin1String("Other"));
+ QCOMPARE(def.license(), QLatin1String("LGPL"));
+ QVERIFY(def.author().contains(QLatin1String("Dominik")));
+ QFileInfo fi(def.filePath());
+ QVERIFY(fi.isAbsolute());
+ QVERIFY(def.filePath().endsWith(QLatin1String("alert.xml")));
+
+ def = m_repo.definitionForName(QLatin1String("C++"));
+ QVERIFY(def.isValid());
+ QCOMPARE(def.section(), QLatin1String("Sources"));
+ QCOMPARE(def.indenter(), QLatin1String("cstyle"));
+ QCOMPARE(def.style(), QLatin1String("C++"));
+ QVERIFY(def.mimeTypes().contains(QLatin1String("text/x-c++hdr")));
+ QVERIFY(def.extensions().contains(QLatin1String("*.h")));
+ QCOMPARE(def.priority(), 9);
+
+ def = m_repo.definitionForName(QLatin1String("Apache Configuration"));
+ QVERIFY(def.isValid());
+ QVERIFY(def.extensions().contains(QLatin1String("httpd.conf")));
+ QVERIFY(def.extensions().contains(QLatin1String(".htaccess*")));
+ }
+
+ void testGeneralMetaData()
+ {
+ auto def = m_repo.definitionForName(QLatin1String("C++"));
+ QVERIFY(def.isValid());
+ QVERIFY(!def.indentationBasedFoldingEnabled());
+
+ def = m_repo.definitionForName(QLatin1String("Python"));
+ QVERIFY(def.isValid());
+ QVERIFY(def.indentationBasedFoldingEnabled());
+ QCOMPARE(def.foldingIgnoreList(), QStringList() << QLatin1String("(?:\\s+|\\s*#.*)"));
+ }
+
+ void testReload()
+ {
+ auto def = m_repo.definitionForName(QLatin1String("QML"));
+ QVERIFY(!m_repo.definitions().isEmpty());
+ QVERIFY(def.isValid());
+
+ NullHighlighter hl;
+ hl.setDefinition(def);
+ auto oldState = hl.highlightLine(QLatin1String("/* TODO this should not crash */"), State());
+
+ m_repo.reload();
+ QVERIFY(!m_repo.definitions().isEmpty());
+ QVERIFY(!def.isValid());
+
+ hl.highlightLine(QLatin1String("/* TODO this should not crash */"), State());
+ hl.highlightLine(QLatin1String("/* FIXME neither should this crash */"), oldState);
+ QVERIFY(hl.definition().isValid());
+ QCOMPARE(hl.definition().name(), QLatin1String("QML"));
+ }
+
+ void testLifetime()
+ {
+ // common mistake with value-type like Repo API, make sure this doesn'T crash
+ NullHighlighter hl;
+ {
+ Repository repo;
+ hl.setDefinition(repo.definitionForName(QLatin1String("C++")));
+ hl.setTheme(repo.defaultTheme());
+ }
+ hl.highlightLine(QLatin1String("/**! @todo this should not crash .*/"), State());
+ }
+};
+}
+
+QTEST_GUILESS_MAIN(KSyntaxHighlighting::RepositoryTest)
+
+#include "syntaxrepository_test.moc"
diff --git a/autotests/test-config.h.in b/autotests/test-config.h.in
new file mode 100644
index 0000000..5d27ebd
--- /dev/null
+++ b/autotests/test-config.h.in
@@ -0,0 +1,19 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#define TESTSRCDIR "@CMAKE_CURRENT_SOURCE_DIR@"
+#define TESTBUILDDIR "@CMAKE_CURRENT_BINARY_DIR@"
diff --git a/autotests/testhighlighter.cpp b/autotests/testhighlighter.cpp
new file mode 100644
index 0000000..f802381
--- /dev/null
+++ b/autotests/testhighlighter.cpp
@@ -0,0 +1,186 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "test-config.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+class TestHighlighter : public AbstractHighlighter
+{
+public:
+ void highlightFile(const QString &inFileName, const QString &outFileName)
+ {
+ QFile outFile(outFileName);
+ if (!outFile.open(QFile::WriteOnly | QFile::Truncate)) {
+ qWarning() << "Failed to open output file" << outFileName << ":" << outFile.errorString();
+ return;
+ }
+ m_out.setDevice(&outFile);
+ m_out.setCodec("UTF-8");
+
+ QFile f(inFileName);
+ if (!f.open(QFile::ReadOnly)) {
+ qWarning() << "Failed to open input file" << inFileName << ":" << f.errorString();
+ return;
+ }
+
+ QTextStream in(&f);
+ in.setCodec("UTF-8");
+ State state;
+ while (!in.atEnd()) {
+ m_currentLine = in.readLine();
+ state = highlightLine(m_currentLine, state);
+ m_out << " \n";
+ }
+
+ m_out.flush();
+ }
+
+protected:
+ void applyFormat(int offset, int length, const Format &format) Q_DECL_OVERRIDE
+ {
+ if (format.name().isEmpty())
+ m_out << "" << m_currentLine.midRef(offset, length) << " ";
+ else
+ m_out << "<" << format.name() << ">" << m_currentLine.midRef(offset, length) << "" << format.name() << ">";
+ }
+
+private:
+ QTextStream m_out;
+ QString m_currentLine;
+};
+
+
+class TestHighlighterTest : public QObject
+{
+ Q_OBJECT
+public:
+ explicit TestHighlighterTest(QObject *parent = Q_NULLPTR) : QObject(parent), m_repo(Q_NULLPTR) {}
+private:
+ Repository *m_repo;
+ QSet m_coveredDefinitions;
+
+private Q_SLOTS:
+ void initTestCase()
+ {
+ QStandardPaths::enableTestMode(true);
+ m_repo = new Repository;
+ }
+
+ void cleanupTestCase()
+ {
+ QFile coveredList(QLatin1String(TESTBUILDDIR "/covered-definitions.txt"));
+ QFile uncoveredList(QLatin1String(TESTBUILDDIR "/uncovered-definition.txt"));
+ QVERIFY(coveredList.open(QFile::WriteOnly));
+ QVERIFY(uncoveredList.open(QFile::WriteOnly));
+
+ int count = 0;
+ foreach (const auto &def, m_repo->definitions()) {
+ if (def.isHidden())
+ continue;
+ ++count;
+ if (m_coveredDefinitions.contains(def.name()))
+ coveredList.write(def.name().toUtf8() + '\n');
+ else
+ uncoveredList.write(def.name().toUtf8() + '\n');
+ }
+
+ qDebug() << "Syntax definitions with test coverage:" << ((float)m_coveredDefinitions.size() * 100.0f / (float)count) << "%";
+
+ delete m_repo;
+ m_repo = Q_NULLPTR;
+ }
+
+ void testHighlight_data()
+ {
+ QTest::addColumn("inFile");
+ QTest::addColumn("outFile");
+ QTest::addColumn("refFile");
+ QTest::addColumn("syntax");
+
+ QDirIterator it(QStringLiteral(TESTSRCDIR "/input"), QDir::Files | QDir::NoSymLinks | QDir::Readable);
+ while (it.hasNext()) {
+ const auto inFile = it.next();
+ if (inFile.endsWith(QLatin1String(".syntax")))
+ continue;
+
+ QString syntax;
+ QFile syntaxOverride(inFile + QStringLiteral(".syntax"));
+ if (syntaxOverride.exists() && syntaxOverride.open(QFile::ReadOnly))
+ syntax = QString::fromUtf8(syntaxOverride.readAll()).trimmed();
+
+ QTest::newRow(it.fileName().toUtf8().constData()) << inFile
+ << (QStringLiteral(TESTBUILDDIR "/output/") + it.fileName() + QStringLiteral(".ref"))
+ << (QStringLiteral(TESTSRCDIR "/reference/") + it.fileName() + QStringLiteral(".ref"))
+ << syntax;
+ }
+
+ QDir().mkpath(QStringLiteral(TESTBUILDDIR "/output/"));
+ }
+
+ void testHighlight()
+ {
+ QFETCH(QString, inFile);
+ QFETCH(QString, outFile);
+ QFETCH(QString, refFile);
+ QFETCH(QString, syntax);
+ QVERIFY(m_repo);
+
+ auto def = m_repo->definitionForFileName(inFile);
+ if (!syntax.isEmpty())
+ def = m_repo->definitionForName(syntax);
+
+ TestHighlighter highlighter;
+ highlighter.setTheme(m_repo->defaultTheme());
+ QVERIFY(highlighter.theme().isValid());
+
+ QVERIFY(def.isValid());
+ qDebug() << "Using syntax" << def.name();
+ m_coveredDefinitions.insert(def.name());
+ highlighter.setDefinition(def);
+ highlighter.highlightFile(inFile, outFile);
+
+ auto args = QStringList() << QStringLiteral("-u") << refFile << outFile;
+ QProcess proc;
+ proc.setProcessChannelMode(QProcess::ForwardedChannels);
+ proc.start(QStringLiteral("diff"), args);
+ QVERIFY(proc.waitForFinished());
+ QCOMPARE(proc.exitCode(), 0);
+ }
+
+};
+
+QTEST_GUILESS_MAIN(TestHighlighterTest)
+
+#include "testhighlighter.moc"
+
+
diff --git a/autotests/theme_test.cpp b/autotests/theme_test.cpp
new file mode 100644
index 0000000..cd6173c
--- /dev/null
+++ b/autotests/theme_test.cpp
@@ -0,0 +1,177 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+
+namespace KSyntaxHighlighting {
+
+class FormatCollector : public AbstractHighlighter
+{
+public:
+ using AbstractHighlighter::highlightLine;
+ void applyFormat(int offset, int length, const Format &format) Q_DECL_OVERRIDE
+ {
+ Q_UNUSED(offset);
+ Q_UNUSED(length);
+ formatMap.insert(format.name(), format);
+ }
+ QHash formatMap;
+};
+
+class ThemeTest : public QObject
+{
+ Q_OBJECT
+private:
+ Repository m_repo;
+
+private Q_SLOTS:
+ void initTestCase()
+ {
+ QStandardPaths::enableTestMode(true);
+ }
+
+ void testThemes()
+ {
+ QVERIFY(!m_repo.themes().isEmpty());
+ Q_FOREACH (const auto &theme, m_repo.themes()) {
+ QVERIFY(theme.isValid());
+ QVERIFY(!theme.name().isEmpty());
+ QVERIFY(!theme.filePath().isEmpty());
+ QVERIFY(QFileInfo::exists(theme.filePath()));
+ QVERIFY(m_repo.theme(theme.name()).isValid());
+ }
+ }
+
+ void testFormat_data()
+ {
+ QTest::addColumn("themeName");
+ QTest::newRow("default") << "Default";
+ QTest::newRow("dark") << "Breeze Dark";
+ QTest::newRow("print") << "Printing";
+ }
+
+ void testFormat()
+ {
+ QFETCH(QString, themeName);
+
+ // somewhat complicated way to get proper Format objects
+ FormatCollector collector;
+ collector.setDefinition(m_repo.definitionForName(QLatin1String("QML")));
+ const auto t = m_repo.theme(themeName);
+ QVERIFY(t.isValid());
+ collector.setTheme(t);
+ collector.highlightLine(QLatin1String("normal + property real foo: 3.14"), State());
+
+ QVERIFY(collector.formatMap.size() >= 4);
+ qDebug() << collector.formatMap.keys();
+
+ // normal text
+ auto f = collector.formatMap.value(QLatin1String("Normal Text"));
+ QVERIFY(f.isValid());
+ QVERIFY(f.isDefaultTextStyle(t));
+ QVERIFY(!f.hasTextColor(t));
+ QVERIFY(!f.hasBackgroundColor(t));
+ QVERIFY(f.id() > 0);
+
+ // visually identical to normal text
+ f = collector.formatMap.value(QLatin1String("Symbol"));
+ QVERIFY(f.isValid());
+ QVERIFY(f.isDefaultTextStyle(t));
+ QVERIFY(!f.hasTextColor(t));
+ QVERIFY(f.id() > 0);
+
+ // visually different to normal text
+ f = collector.formatMap.value(QLatin1String("Keywords"));
+ QVERIFY(f.isValid());
+ QVERIFY(!f.isDefaultTextStyle(t));
+ QVERIFY(f.isBold(t));
+ QVERIFY(f.id() > 0);
+
+ f = collector.formatMap.value(QLatin1String("Float"));
+ QVERIFY(f.isValid());
+ QVERIFY(!f.isDefaultTextStyle(t));
+ QVERIFY(f.hasTextColor(t));
+ QVERIFY(f.id() > 0);
+ }
+
+ void testDefaultTheme()
+ {
+ Theme t = m_repo.theme(QLatin1String("Default"));
+ QVERIFY(t.isValid());
+
+ // make sure all editor colors are properly read
+ QCOMPARE(t.editorColor(Theme::BackgroundColor) , QColor("#ffffff").rgb());
+ QCOMPARE(t.editorColor(Theme::TextSelection) , QColor("#94caef").rgb());
+ QCOMPARE(t.editorColor(Theme::CurrentLine) , QColor("#f8f7f6").rgb());
+ QCOMPARE(t.editorColor(Theme::SearchHighlight) , QColor("#ffff00").rgb());
+ QCOMPARE(t.editorColor(Theme::ReplaceHighlight) , QColor("#00ff00").rgb());
+ QCOMPARE(t.editorColor(Theme::BracketMatching) , QColor("#ffff00").rgb());
+ QCOMPARE(t.editorColor(Theme::TabMarker) , QColor("#d2d2d2").rgb());
+ QCOMPARE(t.editorColor(Theme::SpellChecking) , QColor("#bf0303").rgb());
+ QCOMPARE(t.editorColor(Theme::IndentationLine) , QColor("#d2d2d2").rgb());
+ QCOMPARE(t.editorColor(Theme::IconBorder) , QColor("#f0f0f0").rgb());
+ QCOMPARE(t.editorColor(Theme::CodeFolding) , QColor("#94caef").rgb());
+ QCOMPARE(t.editorColor(Theme::LineNumbers) , QColor("#a0a0a0").rgb());
+ QCOMPARE(t.editorColor(Theme::CurrentLineNumber), QColor("#1e1e1e").rgb());
+ QCOMPARE(t.editorColor(Theme::WordWrapMarker) , QColor("#ededed").rgb());
+ QCOMPARE(t.editorColor(Theme::ModifiedLines) , QColor("#fdbc4b").rgb());
+ QCOMPARE(t.editorColor(Theme::SavedLines) , QColor("#2ecc71").rgb());
+ QCOMPARE(t.editorColor(Theme::Separator) , QColor("#898887").rgb());
+ QCOMPARE(t.editorColor(Theme::MarkBookmark) , QColor("#0000ff").rgb());
+ QCOMPARE(t.editorColor(Theme::MarkBreakpointActive), QColor("#ff0000").rgb());
+ QCOMPARE(t.editorColor(Theme::MarkBreakpointReached), QColor("#ffff00").rgb());
+ QCOMPARE(t.editorColor(Theme::MarkBreakpointDisabled), QColor("#ff00ff").rgb());
+ QCOMPARE(t.editorColor(Theme::MarkExecution) , QColor("#a0a0a4").rgb());
+ QCOMPARE(t.editorColor(Theme::MarkWarning) , QColor("#00ff00").rgb());
+ QCOMPARE(t.editorColor(Theme::MarkError) , QColor("#ff0000").rgb());
+ QCOMPARE(t.editorColor(Theme::TemplateBackground), QColor("#d6d2d0").rgb());
+ QCOMPARE(t.editorColor(Theme::TemplatePlaceholder), QColor("#baf8ce").rgb());
+ QCOMPARE(t.editorColor(Theme::TemplateFocusedPlaceholder), QColor("#76da98").rgb());
+ QCOMPARE(t.editorColor(Theme::TemplateReadOnlyPlaceholder), QColor("#f6e6e6").rgb());
+ }
+
+ void testInvalidTheme()
+ {
+ // somewhat complicated way to get proper Format objects
+ FormatCollector collector;
+ collector.setDefinition(m_repo.definitionForName(QLatin1String("QML")));
+ collector.highlightLine(QLatin1String("normal + property real foo: 3.14"), State());
+
+ QVERIFY(collector.formatMap.size() >= 4);
+ auto f = collector.formatMap.value(QLatin1String("Normal Text"));
+ QVERIFY(f.isValid());
+ QVERIFY(f.isDefaultTextStyle(Theme()));
+ QVERIFY(!f.hasTextColor(Theme()));
+ QVERIFY(!f.hasBackgroundColor(Theme()));
+ }
+};
+}
+
+QTEST_GUILESS_MAIN(KSyntaxHighlighting::ThemeTest)
+
+#include "theme_test.moc"
+
diff --git a/autotests/update-reference-data.sh.in b/autotests/update-reference-data.sh.in
new file mode 100755
index 0000000..1b5e45e
--- /dev/null
+++ b/autotests/update-reference-data.sh.in
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+cp @CMAKE_CURRENT_BINARY_DIR@/output/* @CMAKE_CURRENT_SOURCE_DIR@/reference/
+cp @CMAKE_CURRENT_BINARY_DIR@/html.output/* @CMAKE_CURRENT_SOURCE_DIR@/html/
+cp @CMAKE_CURRENT_BINARY_DIR@/folding.out/* @CMAKE_CURRENT_SOURCE_DIR@/folding/
diff --git a/autotests/wildcardmatcher_test.cpp b/autotests/wildcardmatcher_test.cpp
new file mode 100644
index 0000000..5b572d8
--- /dev/null
+++ b/autotests/wildcardmatcher_test.cpp
@@ -0,0 +1,87 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2007 Sebastian Pipping
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include
+
+#include
+#include
+
+class WildcardMatcherTest : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void testPositiveMatch_data()
+ {
+ QTest::addColumn("str");
+ QTest::addColumn("pattern");
+
+ QTest::newRow("*.txt") << "abc.txt" << "*.txt";
+
+ QTest::newRow("*Makefile* 1") << "Makefile.am" << "*Makefile*";
+ QTest::newRow("*Makefile* 2") << "Makefile.am" << "Makefile*";
+
+ QTest::newRow("control") << "control" << "control";
+
+ QTest::newRow("a??d") << "abcd" << "a??d";
+
+ QTest::newRow("?") << "a" << "?";
+ QTest::newRow("*?*") << "a" << "*?*";
+ QTest::newRow("*") << "a" << "*";
+ QTest::newRow("**") << "a" << "**";
+ QTest::newRow("***") << "a" << "***";
+
+ QTest::newRow("empty 1") << "" << "*";
+ QTest::newRow("empty 2") << "" << "**";
+
+ QTest::newRow("a*") << "ab" << "a*";
+ QTest::newRow("*b") << "ab" << "*b";
+ QTest::newRow("a?") << "ab" << "a?";
+ QTest::newRow("?b") << "ab" << "?b";
+
+ QTest::newRow("a*b*c") << "aXXbXXbYYaYc" << "a*b*c";
+ }
+
+ void testPositiveMatch()
+ {
+ QFETCH(QString, str);
+ QFETCH(QString, pattern);
+ QVERIFY(KSyntaxHighlighting::WildcardMatcher::exactMatch(str, pattern));
+ }
+
+ void testNegativeMatch_data()
+ {
+ QTest::addColumn("str");
+ QTest::addColumn("pattern");
+
+ QTest::newRow("*.cpp") << "abc.txt" << "*.cpp";
+ QTest::newRow("*Makefile* 3") << "Makefile.am" << "Makefile";
+ QTest::newRow("?") << "" << "?";
+ }
+
+ void testNegativeMatch()
+ {
+ QFETCH(QString, str);
+ QFETCH(QString, pattern);
+ QVERIFY(!KSyntaxHighlighting::WildcardMatcher::exactMatch(str, pattern));
+ }
+};
+
+QTEST_GUILESS_MAIN(WildcardMatcherTest)
+
+#include "wildcardmatcher_test.moc"
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
new file mode 100644
index 0000000..0878237
--- /dev/null
+++ b/data/CMakeLists.txt
@@ -0,0 +1,51 @@
+# generate PHP definitions
+macro(generate_php_syntax_definition targetFile srcFile)
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${targetFile}
+ COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generators/generate-php.pl < ${CMAKE_CURRENT_SOURCE_DIR}/syntax/${srcFile} > ${CMAKE_CURRENT_BINARY_DIR}/${targetFile}
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/generators/generate-php.pl ${CMAKE_CURRENT_SOURCE_DIR}/syntax/${srcFile}
+ )
+endmacro()
+
+generate_php_syntax_definition(javascript-php.xml javascript.xml)
+generate_php_syntax_definition(css-php.xml css.xml)
+generate_php_syntax_definition(html-php.xml html.xml)
+
+# find all definitions
+file(GLOB src_defs "${CMAKE_CURRENT_SOURCE_DIR}/syntax/*.xml")
+set(defs
+ ${src_defs}
+ ${CMAKE_CURRENT_BINARY_DIR}/html-php.xml
+ ${CMAKE_CURRENT_BINARY_DIR}/css-php.xml
+ ${CMAKE_CURRENT_BINARY_DIR}/javascript-php.xml
+)
+
+# generate the resource file
+set(qrc_file ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc)
+file(REMOVE ${qrc_file})
+file(APPEND ${qrc_file} "\n")
+file(APPEND ${qrc_file} "\n")
+file(APPEND ${qrc_file} "\n")
+foreach(def ${defs})
+ get_filename_component(def_name ${def} NAME)
+ file(APPEND ${qrc_file} "${def} \n")
+endforeach()
+file(APPEND ${qrc_file} "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax \n")
+file(APPEND ${qrc_file} " \n")
+file(APPEND ${qrc_file} " \n")
+
+# generate the index file
+add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax"
+ COMMAND katehighlightingindexer "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax" "${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc"
+ DEPENDS ${defs} ${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc
+)
+
+# generate the qrc file manually, to make dependencies on generated files work...
+add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp"
+ COMMAND ${Qt5Core_RCC_EXECUTABLE} --name syntax_data -o "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc"
+ DEPENDS ${defs} ${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax
+)
+
+# dummy static lib to make cross-folder dependencies work
+add_library(SyntaxHighlightingData STATIC ${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp)
+target_link_libraries(SyntaxHighlightingData LINK_PRIVATE Qt5::Core)
diff --git a/data/generators/cmake-gen.sh b/data/generators/cmake-gen.sh
new file mode 100755
index 0000000..860ad63
--- /dev/null
+++ b/data/generators/cmake-gen.sh
@@ -0,0 +1,110 @@
+#!/bin/env bash
+# Copyright 2008, 2009 Matthew Woehlke (mw_triad@users.sourceforge.net)
+# Copyright 2013, Alex Turbov (i.zaufi@gmail.com)
+#
+# ATTENTION Since Thu Feb 26 2015 this generator is CMake 3.x only!
+# Use this generator with care and merge a results with a previous cmake.xml
+# to keep older CMake compatibility.
+#
+# NOTE CMake 3.x seem do not have any (useless) heading for --help-xxx commands.
+# So, no need to strip the first line anymore. ( | sed '1d' | )
+
+export LC_ALL=C
+
+# need cmake
+CMAKE="$(type -P cmake)"
+[ -x "$CMAKE" ] || exit 1
+echo "found cmake... $CMAKE"
+
+t=.tmp_cmake$$
+
+# Get cmake version
+CMAKE_VERSION="$("$CMAKE" --help | sed -n '1p')"
+
+count() {
+ wc -l $t.$1 | awk '{print $1}'
+}
+
+# Extract before/after command list
+sed -n -e '/ $t.1
+sed -e '/<\/list\s*>/ba' -e 'd' -e ':a' -e 'n;ba' cmake.xml > $t._2
+sed -n -e '/ $t.2
+sed "1,$(wc -l < $t.2)d" $t._2 | sed -e '/<\/list\s*>/ba' -e 'd' -e ':a' -e 'n;ba' > $t._3
+sed -n -e '/ $t.3
+sed "1,$(wc -l < $t.3)d" $t._3 | sed -e '/<\/list\s*>/ba' -e 'd' -e ':a' -e 'n;ba' > $t._4
+sed -n -e '/ $t.4
+sed "1,$(wc -l < $t.4)d" $t._4 | sed -e '/<\/list\s*>/ba' -e 'd' -e ':a' -e 'n;ba' > $t._5
+sed -n -e '/ $t.5
+sed "1,$(wc -l < $t.5)d" $t._5 | sed -e '/<\/context\s*>/ba' -e 'd' -e ':a' -e 'n;ba' > $t.6
+
+"$CMAKE" --help-command-list | sort > $t.commands
+echo "$(count commands) commands"
+
+extract_args() {
+ sed -e '/^\s\+'"$1"'(/ba' \
+ -e 'd' \
+ -e ':a' \
+ -e '/)/{s/^.*(\(.*\)).*$/\1/p;d}' \
+ -e 'N;s/\n/ /;ba' | \
+ sed -e 's/[][]//g' -e 's/|\| \+/\n/g' -e 's/<[[:upper:][:digit:]_]\+>//g' -e 's/[<>]//g' | \
+ sed -n '/^[[:upper:][:digit:]_]\+$/p' | \
+ # NOTE Remove some false-positives:
+ # 0) one-letter-commands -- found from usage examples
+ # 1) CMP from cmake_policy will be handled individually
+ # 2) fix incorrect parsing of separate_arguments(): append UNIX_COMMAND
+ # 3) 'VAR' actually is not a part of any command!
+ sed -e '/^[A-Z]$/d' -e '/^CMP$/d' -e 's/\(WINDOWS_COMMAND\)/\1\nUNIX_COMMAND/' -e '/^VAR[0-9]*$/d' \
+ >> $t.args
+}
+
+while read COMMAND ; do
+ echo "# Getting args of '$COMMAND' command" >>$t.args
+ "$CMAKE" --help-command $COMMAND | extract_args $COMMAND
+done < $t.commands
+sed '/^#/d' $t.args | sort -u > $t.argsu
+echo "$(count args) arguments, $(count argsu) unique"
+"$CMAKE" --help-property-list | sed -e '/[<>]/d' | sort -u > $t.props
+echo "$(count props) properties"
+
+# Get builtin CMake variables list
+# ATTENTION CMake 3.x doesn't have "Project name" string anymore in output of this command
+# ( | grep -v 'Project name' | )
+"$CMAKE" --help-variable-list > $t.all_vars
+grep '^[A-Za-z_0-9]\+\s*$' $t.all_vars | sort -u > $t.vars
+grep -v '^[A-Za-z_0-9]\+\s*$' $t.all_vars \
+ | sed 's,,[A-Za-z_][A-Za-z_0-9]*,' \
+ | sed 's,,[A-Za-z_][A-Za-z_0-9]*,' \
+ | sed 's,,[A-Za-z_][A-Za-z_0-9]*,' \
+ | sed 's,,[A-Za-z_][A-Za-z_0-9]*,' \
+ | sed 's,,[A-Za-z_][A-Za-z_0-9]*,' \
+ | sed 's,CMP,CMP[0-9]+,' \
+ | sed 's,\[CMAKE_BUILD_TYPE\],[A-Za-z_][A-Za-z_0-9]*,' \
+ | sort -u \
+ > $t.varsrr
+echo "$(count all_vars) builtin variables"
+
+
+# Generate new .xml
+{
+ cat $t.1
+ echo " "
+ sed 's!.*! - &
!' $t.commands
+ cat $t.2
+ echo " "
+ sed 's!.*! - &
!' $t.argsu
+ cat $t.3
+ echo " "
+ sed 's!.*! - &
!' $t.props
+ cat $t.4
+ echo " "
+ sed 's!.*! - &
!' $t.vars
+ cat $t.5
+ echo " "
+ sed 's!.*! !' $t.varsrr
+ cat $t.6
+} > cmake.xml
+
+rm -f $t.*
+echo "Remember to update the version!"
+
+# kate: tab-width 4; indent-mode normal; indent-width 4;
diff --git a/data/generators/generate-php.pl b/data/generators/generate-php.pl
new file mode 100755
index 0000000..943c055
--- /dev/null
+++ b/data/generators/generate-php.pl
@@ -0,0 +1,58 @@
+#!/usr/bin/perl
+
+# This perl script read stdin and write on stdout. It shall be an XML language file.
+#
+# * If the name of the language is 'HTML', then it creates the language 'PHP (HTML)'
+# which shall be used for PHP hl.
+#
+# * If the name of the language is something else (say '*'), it creates the language '*/PHP'.
+# This new language is the same as the old one, but is able to detect PHP everywhere.
+#
+# This script will correctly set extensions & mimetype, and will replace
+# by
+#
+# Generated languages need a language named 'PHP/PHP', which shall take care of PHP hl itself
+# and which will be called every time something like
+# License: LGPL
+
+my $file = "";
+
+while (<>)
+{
+ $file .= $_;
+}
+
+$warning = "\n\n\n";
+
+$file =~ s/(?=]+name="HTML"/)
+{
+ $root = 1;
+}
+
+if ($root == 1)
+{
+ $file =~ s/]+)name="[^"]*"/]+)section="[^"]*"/]+)extensions="[^"]*"/]+)mimetype="[^"]*"/]+)name="([^"]*)"/]+)section="[^"]*"/]+)extensions="[^"]*"/]+)mimetype="[^"]*"/\n \n\n";
+
+$file =~ s/]*)context="([^"#]*)##(?!Alerts|Doxygen|Modelines)([^"]+)"/]*>)/$1\n /g;
+$file =~ s/(?=<\/contexts\s*>)/$findphp/;
+
+print $file;
+print $warning;
diff --git a/data/generators/get-Qt-classes.sh b/data/generators/get-Qt-classes.sh
new file mode 100755
index 0000000..f2735c8
--- /dev/null
+++ b/data/generators/get-Qt-classes.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# Copyright (c) 2012-2013 by Alex Turbov
+#
+# Grab a documented (officially) class list from Qt project web site:
+# http://qt-project.org/doc/qt-${version}/classes.html
+#
+
+version=$1
+shift
+
+case "$version" in
+5*)
+ url="http://qt-project.org/doc/qt-${version}/qtdoc/classes.html"
+ ;;
+4*)
+ url="http://qt-project.org/doc/qt-${version}/classes.html"
+ ;;
+*)
+ echo "*** Error: Only Qt4 and Qt5 supported!"
+esac
+
+if [ -n "$version" ]; then
+ tmp=`mktemp`
+ wget -O $tmp "$url"
+ cat $tmp | egrep '^.* $' \
+ | sed -e 's,\(.*\) ,- \1
,' \
+ | grep -v 'qoutputrange'
+ rm $tmp
+else
+ cat < \1 ,' \
+ | sort \
+ | uniq \
+ | grep -v EXPORT \
+ | grep -v QT_BEGIN_ \
+ | grep -v QT_END_ \
+ | grep -v QT_MANGLE_
+else
+ cat < %s " % keyword)
+print()
+
+print("BASEFUNCS")
+for basefunc in basefuncs:
+ print("- %s
" % basefunc)
diff --git a/data/schema/language.xsd b/data/schema/language.xsd
new file mode 100644
index 0000000..e8e235e
--- /dev/null
+++ b/data/schema/language.xsd
@@ -0,0 +1,719 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/schema/validatehl.sh b/data/schema/validatehl.sh
new file mode 100755
index 0000000..06bf60c
--- /dev/null
+++ b/data/schema/validatehl.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+xmllint --noout --schema language.xsd $@
diff --git a/data/syntax/4dos.xml b/data/syntax/4dos.xml
new file mode 100644
index 0000000..9fe3ff2
--- /dev/null
+++ b/data/syntax/4dos.xml
@@ -0,0 +1,926 @@
+
+
+
+
+
+]>
+
+
+
+
+ - todo
+ - attention
+ - attn
+ - fixme
+ - achtung
+ - info
+
+
+ - DOSMEM
+ - EMS
+ - EXTENDED
+ - XMS
+ - CDROM
+ - CLUSTSIZE
+ - CODEPAGE
+ - COM
+ - DEVICE
+ - DISKFREE
+ - DISKTOTAL
+ - DISKUSED
+ - DRIVETYPE
+ - HDDSIZE
+ - LPT
+ - READY
+ - REMOTE
+ - REMOVABLE
+ - ATTRIB
+ - COMPARE
+ - FILEAGE
+ - FILECLOSE
+ - FILEOPEN
+ - FILEREAD
+ - FILEREADB
+ - FILES
+ - FILESEEK
+ - FILESEEKL
+ - FILESIZE
+ - FILEWRITE
+ - FILEWRITEB
+ - FINDCLOSE
+ - LINES
+ - ASCII
+ - COUNT
+ - FIELDS
+ - INDEX
+ - ISALNUM
+ - ISALPHA
+ - ISASCII
+ - ISCNTRL
+ - ISDIGIT
+ - ISLOWER
+ - ISPRINT
+ - ISPUNCT
+ - ISSPACE
+ - ISUPPER
+ - ISXDIGIT
+ - LEN
+ - SIMILAR
+ - WILD
+ - WORDS
+ - ABS
+ - AVERAGE
+ - CEILING
+ - CONVERT
+ - DEC
+ - DECIMAL
+ - DIGITS
+ - EVAL
+ - FLOOR
+ - INC
+ - INT
+ - MAX
+ - MIN
+ - NUMERIC
+ - RANDOM
+ - DATE
+ - DAY
+ - DOWI
+ - DOY
+ - ISODOWI
+ - ISOWEEK
+ - ISOWYEAR
+ - MAKEAGE
+ - MONTH
+ - TIME
+ - YEAR
+ - EXEC
+ - INIWRITE
+
+
+ - DDCSTR
+ - MASTER
+ - READSCR
+ - SMBSTR
+ - CWD
+ - CWDS
+ - FSTYPE
+ - LABEL
+ - SERIAL
+ - ATTRIB
+ - FILEDATE
+ - FILETIME
+ - FINDFIRST
+ - FINDNEXT
+ - LINE
+ - MD5
+ - SEARCH
+ - SHA1
+ - TRUENAME
+ - UNIQUE
+ - ALTNAME
+ - EXPAND
+ - EXT
+ - FILENAME
+ - FULL
+ - LFN
+ - NAME
+ - PATH
+ - QUOTE
+ - SFN
+ - UNQUOTE
+ - UNQUOTES
+ - ASCII
+ - CAPS
+ - CHAR
+ - FIELD
+ - FORMAT
+ - INSERT
+ - INSTR
+ - LCS
+ - LEFT
+ - LOWER
+ - LTRIM
+ - REPEAT
+ - REPLACE
+ - RIGHT
+ - RTRIM
+ - REVERSE
+ - STRIP
+ - SUBST
+ - SUBSTR
+ - TRIM
+ - UPPER
+ - WORD
+ - COMMA
+ - AGEDATE
+ - DATECONV
+ - DOW
+ - DOWF
+ - MAKEDATE
+ - MAKETIME
+ - MONTHF
+ - ALIAS
+ - CLIP
+ - CLIPW
+ - EXECSTR
+ - FUNCTION
+ - HISTORY
+ - IF
+ - INIREAD
+ - SELECT
+ - TIMER
+
+ - if
+ - iff
+ - text
+ - input
+ - inkey
+ - do
+ - enddo
+
+ - iterate
+ - leave
+
+ - switch
+ - errorlevel
+
+ - defined
+ - isalias
+ - isfunction
+ - isinternal
+ - islabel
+
+
+ - set
+ - function
+ - alias
+
+
+ - ENDLOCAL
+ - UNALIAS
+ - UNFUNCTION
+ - UNSET
+
+
+ - for
+ - else
+ - elseiff
+ - endiff
+ - enddo
+ - endtext
+ - case
+ - endswitch
+ - default
+
+
+
+
+ - BREAK
+ - IDLE
+ - LFNFOR
+ - LOADBTM
+ - SWAPPING
+ - TRANSIENT
+ - VERIFY
+
+
+ - CALL
+ - CD
+ - CHDIR
+ - CDD
+ - DIR
+ - ERASE
+ - DEL
+ - DESCRIBE
+ - HEAD
+ - MD
+ - MKDIR
+ - RD
+ - RMDIR
+ - PUSHD
+ - REN
+ - RENAME
+ - TOUCH
+
+
+ - BEEP
+ - CANCEL
+ - DATE /T
+ - FREE
+ - KEYBD
+ - ELSE
+ - PAUSE
+ - POPD
+ - QUIT
+ - SETDOS
+ - SHIFT
+ - TAIL
+ - TEE
+ - TIME
+ - TIMER
+ - TYPE
+
+
+ - CHCP
+ - DELAY
+ - COUNTRY
+ - SETERROR
+
+
+ - CLS
+ - COLOR
+
+
+ - ATTRIB
+ - COPY
+ - FFIND
+ - MOVE
+
+
+ - DRAWBOX
+ - DRAWHLINE
+ - DRAWVLINE
+ - SCREEN
+ - SCRPUT
+ - VSCRPUT
+
+
+ - EXCEPT
+ - GLOBAL
+
+
+ - SETLOCAL
+
+
+ - on
+ - off
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/abap.xml b/data/syntax/abap.xml
new file mode 100644
index 0000000..c0e6ab8
--- /dev/null
+++ b/data/syntax/abap.xml
@@ -0,0 +1,285 @@
+
+
+
+
+
+
+
+ - ADD
+ - ADJACENT
+ - ALL
+ - AND
+ - APPEND
+ - APPENDING
+ - AS
+ - ASCENDING
+ - AT
+ - BEGIN
+ - BETWEEN
+ - BINARY
+ - BLOCK
+ - BY
+ - CASE
+ - CENTERED
+ - CHAIN
+ - CHANGING
+ - CHECK
+ - CHECKBOX
+ - CLEAR
+ - COL_BACKGROUND
+ - COL_HEADING
+ - COL_NORMAL
+ - COL_TOTAL
+ - COLOR
+ - COMMENT
+ - COMMIT
+ - COMPARING
+ - COMPUTE
+ - CONCATENATE
+ - CONDENSE
+ - CONSTANTS
+ - CONTINUE
+ - CONTROLS
+ - COUNTRY
+ - DATA
+ - DECIMALS
+ - DEFAULT
+ - DELETE
+ - DELETING
+ - DESCENDING
+ - DESCRIBE
+ - DO
+ - DUPLICATES
+ - EDIT
+ - ELSE
+ - ELSEIF
+ - END
+ - ENDCASE
+ - ENDCHAIN
+ - ENDDO
+ - ENDIF
+ - ENDLOOP
+ - ENDMODULE
+ - ENDSELECT
+ - ENDWHILE
+ - ENTRIES
+ - EQ
+ - EXCEPTIONS
+ - EXCLUDING
+ - EXIT
+ - EXIT-COMMAND
+ - EXPORT
+ - EXPORTING
+ - FIELD
+ - FIRST
+ - FOR
+ - FORMAT
+ - FRAME
+ - FREE
+ - FROM
+ - GE
+ - GROUP
+ - GT
+ - HEADER
+ - HEADING
+ - HIDE
+ - HOTSPOT
+ - ID
+ - IF
+ - IMPORT
+ - IMPORTING
+ - IN
+ - INDEX
+ - INITIAL
+ - INNER
+ - INPUT
+ - INSERT
+ - INTENSIFIED
+ - INTERVALS
+ - INTO
+ - IS
+ - JOIN
+ - KEY
+ - LE
+ - LEAVE
+ - LEFT
+ - LEFT-JUSTIFIED
+ - LIKE
+ - LINE
+ - LINE-COUNT
+ - LINES
+ - LINES
+ - LINE-SIZE
+ - LIST-PROCESSING
+ - LOOP
+ - LT
+ - MASK
+ - MEMORY
+ - MESSAGE
+ - MESSAGE-ID
+ - MOD
+ - MODIFY
+ - MODULE
+ - MOVE
+ - MOVE-CORRESPONDING
+ - NE
+ - NEW-LINE
+ - NEW-PAGE
+ - NO
+ - NO-EXTENSION
+ - NO-GAP
+ - NO-SCROLLING
+ - NOT
+ - NO-ZERO
+ - NUMBER
+ - OBLIGATORY
+ - OCCURS
+ - OF
+ - OFF
+ - ON
+ - OR
+ - OTHERS
+ - OUTPUT
+ - PAGE
+ - PARAMETER
+ - PARAMETERS
+ - PERFORM
+ - PF-STATUS
+ - POS_HIGH
+ - POS_LOW
+ - POSITION
+ - PROGRAM
+ - RADIOBUTTON
+ - RANGES
+ - READ
+ - REFRESH
+ - REPORT
+ - RESERVE
+ - RESET
+ - RIGHT
+ - RIGHT-JUSTIFIED
+ - ROLLBACK
+ - ROWS
+ - SCREEN
+ - SCREEN-GROUP1
+ - SCREEN-GROUP2
+ - SCREEN-GROUP3
+ - SCREEN-GROUP4
+ - SCREEN-GROUP5
+ - SCREEN-INPUT
+ - SCREEN-INTENSIFIED
+ - SEARCH
+ - SELECT
+ - SELECTION
+ - SELECTION-SCREEN
+ - SELECT-OPTIONS
+ - SEPARATED
+ - SET
+ - SHIFT
+ - SINGLE
+ - SKIP
+ - SORT
+ - SPACE
+ - SPLIT
+ - STANDARD
+ - STARTING
+ - STOP
+ - STRLEN
+ - STRUCTURE
+ - SUBTRACT
+ - SY-CUCOL
+ - SY-DATUM
+ - SY-DYNNR
+ - SY-LINSZ
+ - SY-LOOPC
+ - SY-LSIND
+ - SY-MSGID
+ - SY-MSGTY
+ - SY-MSGV1
+ - SY-MSGV2
+ - SY-MSGV3
+ - SY-MSGV4
+ - SY-PAGNO
+ - SY-REPID
+ - SY-STEPL
+ - SY-SUBRC
+ - SY-TABIX
+ - SY-TCODE
+ - SY-TMAXL
+ - SY-UCOMM
+ - SY-ULINE
+ - SY-UNAME
+ - SY-UZEIT
+ - SY-VLINE
+ - TABLE
+ - TABLES
+ - TABLEVIEW
+ - TIMES
+ - TITLE
+ - TITLEBAR
+ - TO
+ - TRAILING
+ - TRANSPORTING
+ - TYPE
+ - TYPE-POOLS
+ - TYPES
+ - ULINE
+ - UP
+ - UPDATE
+ - USING
+ - VALUE
+ - WHEN
+ - WHERE
+ - WHILE
+ - WITH
+ - WORK
+ - WRITE
+ - AFTER
+ - BEFORE
+ - CALL
+ - DURING
+ - ENDFORM
+ - END-OF-SELECTION
+ - FORM
+ - FUNCTION
+ - INCLUDE
+ - LINE-SELECTION
+ - PROCESS
+ - START-OF-SELECTION
+ - TOP-OF-PAGE
+ - TRANSACTION
+ - USER-COMMAND
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/abc.xml b/data/syntax/abc.xml
new file mode 100644
index 0000000..76fccdf
--- /dev/null
+++ b/data/syntax/abc.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/actionscript.xml b/data/syntax/actionscript.xml
new file mode 100644
index 0000000..5749295
--- /dev/null
+++ b/data/syntax/actionscript.xml
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+ - _accProps
+ - _focusrect
+ - _global
+ - _highquality
+ - _level
+ - _parent
+ - _quality
+ - _root
+ - _soundbuftime
+ - maxscroll
+ - scroll
+ - this
+
+
+
+ - asfunction
+ - call
+ - chr
+ - clearInterval
+ - duplicateMovieClip
+ - escape
+ - eval
+ - fscommand
+ - getProperty
+ - getTimer
+ - getURL
+ - getVersion
+ - gotoAndPlay
+ - gotoAndStop
+ - ifFrameLoaded
+ - int
+ - isFinite
+ - isNaN
+ - length
+ - loadMovie
+ - loadMovieNum
+ - loadVariables
+ - loadVariablesNum
+ - mbchr
+ - mblength
+ - mbord
+ - mbsubstring
+ - nextFrame
+ - nextScene
+ - on
+ - onClipEvent
+ - ord
+ - parseFloat
+ - parseInt
+ - play
+ - prevFrame
+ - prevScene
+ - print
+ - printAsBitmap
+ - printAsBitmapNum
+ - printNum
+ - random
+ - removeMovieClip
+ - setInterval
+ - setProperty
+ - showRedrawRegions
+ - startDrag
+ - stop
+ - stopAllSounds
+ - stopDrag
+ - substring
+ - targetPath
+ - tellTarget
+ - toggleHighQuality
+ - trace
+ - typeof
+ - unescape
+ - unloadMovie
+ - unloadMovieNum
+ - updateAfterEvent
+
+
+
+ - Accessibility
+ - Accordion
+ - Alert
+ - Binding
+ - Button
+ - Camera
+ - CellRenderer
+ - CheckBox
+ - Collection
+ - Color
+ - ComboBox
+ - ComponentMixins
+ - ContextMenu
+ - ContextMenuItem
+ - CustomActions
+ - CustomFormatter
+ - CustomValidator
+ - DataGrid
+ - DataHolder
+ - DataProvider
+ - DataSet
+ - DataType
+ - Date
+ - DateChooser
+ - DateField
+ - Delta
+ - DeltaItem
+ - DeltaPacket
+ - DepthManager
+ - EndPoint
+ - Error
+ - FaultEvent
+ - FocusManager
+ - Form
+ - Function
+ - Iterator
+ - Key
+ - Label
+ - List
+ - LoadVars
+ - Loader
+ - LocalConnection
+ - Log
+ - Math
+ - Media
+ - Menu
+ - MenuBar
+ - Microphone
+ - Mouse
+ - MovieClip
+ - MovieClipLoader
+ - NetConnection
+ - NetStream
+ - Number
+ - NumericStepper
+ - PendingCall
+ - PopUpManager
+ - PrintJob
+ - ProgressBar
+ - RDBMSResolver
+ - RadioButton
+ - RelayResponder
+ - SOAPCall
+ - Screen
+ - ScrollPane
+ - Selection
+ - SharedObject
+ - Slide
+ - Sound
+ - Stage
+ - StyleManager
+ - System
+ - TextArea
+ - TextField
+ - TextFormat
+ - TextInput
+ - TextSnapshot
+ - TransferObject
+ - Tree
+ - TreeDataProvider
+ - TypedValue
+ - UIComponent
+ - UIEventDispatcher
+ - UIObject
+ - Video
+ - WebService
+ - WebServiceConnector
+ - Window
+ - XML
+ - XMLConnector
+ - XUpdateResolver
+
+
+
+ - add
+ - and
+ - break
+ - case
+ - catch
+ - class
+ - continue
+ - default
+ - delete
+ - do
+ - dynamic
+ - else
+ - eq
+ - extends
+ - finally
+ - for
+ - function
+ - ge
+ - get
+ - gt
+ - if
+ - implements
+ - import
+ - in
+ - instanceof
+ - interface
+ - intrinsic
+ - le
+ - lt
+ - ne
+ - new
+ - not
+ - or
+ - private
+ - public
+ - return
+ - set
+ - static
+ - switch
+ - throw
+ - try
+ - var
+ - void
+ - while
+ - with
+
+
+
+ - false
+ - Infinity
+ - -Infinity
+ - NaN
+ - newline
+ - null
+ - true
+ - undefined
+
+
+
+ - Array
+ - Boolean
+ - Number
+ - Object
+ - String
+ - Void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/ada.xml b/data/syntax/ada.xml
new file mode 100644
index 0000000..77201eb
--- /dev/null
+++ b/data/syntax/ada.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+ - abort
+ - abs
+ - abstract
+ - accept
+ - access
+ - aliased
+ - all
+ - and
+ - array
+ - at
+ - begin
+ - body
+ - constant
+ - declare
+ - delay
+ - delta
+ - digits
+ - do
+ - else
+ - elsif
+ - end
+ - entry
+ - exception
+ - exit
+ - for
+ - function
+ - generic
+ - goto
+ - in
+ - interface
+ - is
+ - limited
+ - mod
+ - new
+ - not
+ - null
+ - of
+ - or
+ - others
+ - out
+ - overriding
+ - package
+ - pragma
+ - private
+ - procedure
+ - protected
+ - raise
+ - range
+ - rem
+ - record
+ - renames
+ - requeue
+ - return
+ - reverse
+ - separate
+ - subtype
+ - tagged
+ - task
+ - terminate
+ - then
+ - type
+ - until
+ - use
+ - when
+ - while
+ - with
+ - xor
+
+
+ - all_calls_remote
+ - assert
+ - assertion_policy
+ - asynchronous
+ - atomic
+ - atomic_components
+ - attach_handler
+ - controlled
+ - convention
+ - detect_blocking
+ - discard_names
+ - elaborate
+ - elaborate_all
+ - elaborate_body
+ - export
+ - import
+ - inline
+ - inspection_point
+ - interrupt_handler
+ - interrupt_priority
+ - linker_options
+ - list
+ - locking_policy
+ - no_return
+ - normalize_scalars
+ - optimize
+ - pack
+ - page
+ - partition_elaboration_policy
+ - preelaborable_initialization
+ - preelaborate
+ - priority
+ - priority_specific_dispatching
+ - profile
+ - pure
+ - queuing_policy
+ - relative_deadline
+ - remote_call_interface
+ - remote_types
+ - restrictions
+ - reviewable
+ - shared_passive
+ - storage_size
+ - suppress
+ - task_dispatching_policy
+ - unchecked_union
+ - unsuppress
+ - volatile
+ - volatile_components
+
+
+ - boolean
+ - character
+ - float
+ - integer
+ - long_float
+ - long_integer
+ - long_long_float
+ - long_long_integer
+ - short_float
+ - short_integer
+ - string
+ - wide_string
+ - wide_character
+ - wide_wide_character
+ - wide_wide_string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/agda.xml b/data/syntax/agda.xml
new file mode 100644
index 0000000..e033d37
--- /dev/null
+++ b/data/syntax/agda.xml
@@ -0,0 +1,107 @@
+
+
+
+]>
+
+
+
+ - abstract
+ - codata
+ - coinductive
+ - constructor
+ - data
+ - field
+ - forall
+ - hiding
+ - import
+ - in
+ - inductive
+ - infix
+ - infixl
+ - infixr
+ - let
+ - open
+ - pattern
+ - postulate
+ - primitive
+ - private
+ - public
+ - module
+ - mutual
+ - quote
+ - quoteGoal
+ - quoteTerm
+ - record
+ - renaming
+ - rewrite
+ - syntax
+ - to
+ - unquote
+ - using
+ - where
+ - with
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ahdl.xml b/data/syntax/ahdl.xml
new file mode 100644
index 0000000..6664c53
--- /dev/null
+++ b/data/syntax/ahdl.xml
@@ -0,0 +1,145 @@
+
+
+
+
+
+ - assert
+ - bidir
+ - bits
+ - buried
+ - case
+ - clique
+ - connected_pins
+ - constant
+ - defaults
+ - define
+ - design
+ - device
+ - else
+ - elsif
+ - for
+ - function
+ - generate
+ - gnd
+ - help_id
+ - in
+ - include
+ - input
+ - is
+ - machine
+ - node
+ - of
+ - options
+ - others
+ - output
+ - parameters
+ - returns
+ - states
+ - subdesign
+ - then
+ - title
+ - to
+ - tri_state_node
+ - variable
+ - vcc
+ - when
+ - with
+
+
+ - carry
+ - cascade
+ - dffe
+ - dff
+ - exp
+ - global
+ - jkffe
+ - jkff
+ - latch
+ - lcell
+ - mcell
+ - memory
+ - opendrn
+ - soft
+ - srffe
+ - srff
+ - tffe
+ - tff
+ - tri
+ - wire
+ - x
+
+
+ - not
+ - and
+ - nand
+ - or
+ - nor
+ - xor
+ - xnor
+ - mod
+ - div
+ - log2
+ - used
+ - ceil
+ - floor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ahk.xml b/data/syntax/ahk.xml
new file mode 100644
index 0000000..3d08744
--- /dev/null
+++ b/data/syntax/ahk.xml
@@ -0,0 +1,1139 @@
+
+
+
+
+
+
+ - if
+ - ifequal
+ - ifexist
+ - ifgreater
+ - ifgreaterorequal
+ - ifinstring
+ - ifless
+ - iflessorequal
+ - ifmsgbox
+ - ifnotequal
+ - ifnotexist
+ - ifnotinstring
+ - ifwinactive
+ - ifwinexist
+ - ifwinnotactive
+ - ifwinnotexist
+ - break
+ - continue
+ - else
+ - exit
+ - exitapp
+ - gosub
+ - goto
+ - loop
+ - onexit
+ - pause
+ - repeat
+ - return
+ - settimer
+ - sleep
+ - suspend
+ - static
+ - global
+ - local
+ - byref
+ - while
+ - until
+ - for
+
+
+ - autotrim
+ - blockinput
+ - clipwait
+ - control
+ - controlclick
+ - controlfocus
+ - controlget
+ - controlgetfocus
+ - controlgetpos
+ - controlgettext
+ - controlmove
+ - controlsend
+ - controlsendraw
+ - controlsettext
+ - coordmode
+ - critical
+ - detecthiddentext
+ - detecthiddenwindows
+ - drive
+ - driveget
+ - drivespacefree
+ - edit
+ - endrepeat
+ - envadd
+ - envdiv
+ - envget
+ - envmult
+ - envset
+ - envsub
+ - envupdate
+ - fileappend
+ - filecopy
+ - filecopydir
+ - filecreatedir
+ - filecreateshortcut
+ - filedelete
+ - filegetattrib
+ - filegetshortcut
+ - filegetsize
+ - filegettime
+ - filegetversion
+ - fileinstall
+ - filemove
+ - filemovedir
+ - fileread
+ - filereadline
+ - filerecycle
+ - filerecycleempty
+ - fileremovedir
+ - fileselectfile
+ - fileselectfolder
+ - filesetattrib
+ - filesettime
+ - formattime
+ - getkeystate
+ - groupactivate
+ - groupadd
+ - groupclose
+ - groupdeactivate
+ - gui
+ - guicontrol
+ - guicontrolget
+ - hideautoitwin
+ - hotkey
+ - imagesearch
+ - inidelete
+ - iniread
+ - iniwrite
+ - input
+ - inputbox
+ - keyhistory
+ - keywait
+ - listhotkeys
+ - listlines
+ - listvars
+ - menu
+ - mouseclick
+ - mouseclickdrag
+ - mousegetpos
+ - mousemove
+ - msgbox
+ - outputdebug
+ - pixelgetcolor
+ - pixelsearch
+ - postmessage
+ - process
+ - progress
+ - random
+ - regdelete
+ - regread
+ - regwrite
+ - reload
+ - run
+ - runas
+ - runwait
+ - send
+ - sendevent
+ - sendinput
+ - sendmessage
+ - sendmode
+ - sendplay
+ - sendraw
+ - setbatchlines
+ - setcapslockstate
+ - setcontroldelay
+ - setdefaultmousespeed
+ - setenv
+ - setformat
+ - setkeydelay
+ - setmousedelay
+ - setnumlockstate
+ - setscrolllockstate
+ - setstorecapslockmode
+ - settitlematchmode
+ - setwindelay
+ - setworkingdir
+ - shutdown
+ - sort
+ - soundbeep
+ - soundget
+ - soundgetwavevolume
+ - soundplay
+ - soundset
+ - soundsetwavevolume
+ - splashimage
+ - splashtextoff
+ - splashtexton
+ - splitpath
+ - statusbargettext
+ - statusbarwait
+ - stringcasesense
+ - stringgetpos
+ - stringleft
+ - stringlen
+ - stringlower
+ - stringmid
+ - stringreplace
+ - stringright
+ - stringsplit
+ - stringtrimleft
+ - stringtrimright
+ - stringupper
+ - sysget
+ - thread
+ - tooltip
+ - transform
+ - traytip
+ - urldownloadtofile
+ - winactivate
+ - winactivatebottom
+ - winclose
+ - winget
+ - wingetactivestats
+ - wingetactivetitle
+ - wingetclass
+ - wingetpos
+ - wingettext
+ - wingettitle
+ - winhide
+ - winkill
+ - winmaximize
+ - winmenuselectitem
+ - winminimize
+ - winminimizeall
+ - winminimizeallundo
+ - winmove
+ - winrestore
+ - winset
+ - winsettitle
+ - winshow
+ - winwait
+ - winwaitactive
+ - winwaitclose
+ - winwaitnotactive
+ - fileencoding
+
+
+ - abs
+ - acos
+ - asc
+ - asin
+ - atan
+ - ceil
+ - chr
+ - cos
+ - dllcall
+ - exp
+ - fileexist
+ - floor
+ - getkeystate
+ - numget
+ - numput
+ - registercallback
+ - il_add
+ - il_create
+ - il_destroy
+ - instr
+ - islabel
+ - isfunc
+ - ln
+ - log
+ - lv_add
+ - lv_delete
+ - lv_deletecol
+ - lv_getcount
+ - lv_getnext
+ - lv_gettext
+ - lv_insert
+ - lv_insertcol
+ - lv_modify
+ - lv_modifycol
+ - lv_setimagelist
+ - mod
+ - onmessage
+ - round
+ - regexmatch
+ - regexreplace
+ - sb_seticon
+ - sb_setparts
+ - sb_settext
+ - sin
+ - sqrt
+ - strlen
+ - substr
+ - tan
+ - tv_add
+ - tv_delete
+ - tv_getchild
+ - tv_getcount
+ - tv_getnext
+ - tv_get
+ - tv_getparent
+ - tv_getprev
+ - tv_getselection
+ - tv_gettext
+ - tv_modify
+ - varsetcapacity
+ - winactive
+ - winexist
+ - trim
+ - ltrim
+ - rtrim
+ - fileopen
+ - strget
+ - strput
+ - object
+ - array
+ - isobject
+ - objinsert
+ - objremove
+ - objminindex
+ - objmaxindex
+ - objsetcapacity
+ - objgetcapacity
+ - objgetaddress
+ - objnewenum
+ - objaddref
+ - objrelease
+ - objhaskey
+ - objclone
+ - _insert
+ - _remove
+ - _minindex
+ - _maxindex
+ - _setcapacity
+ - _getcapacity
+ - _getaddress
+ - _newenum
+ - _addref
+ - _release
+ - _haskey
+ - _clone
+ - comobjcreate
+ - comobjget
+ - comobjconnect
+ - comobjerror
+ - comobjactive
+ - comobjenwrap
+ - comobjunwrap
+ - comobjparameter
+ - comobjmissing
+ - comobjtype
+ - comobjvalue
+ - comobjarray
+ - comobjquery
+ - comobjflags
+
+
+ - allowsamelinecomments
+ - clipboardtimeout
+ - commentflag
+ - errorstdout
+ - escapechar
+ - hotkeyinterval
+ - hotkeymodifiertimeout
+ - hotstring
+ - if
+ - iftimeout
+ - ifwinactive
+ - ifwinexist
+ - include
+ - includeagain
+ - installkeybdhook
+ - installmousehook
+ - keyhistory
+ - ltrim
+ - maxhotkeysperinterval
+ - maxmem
+ - maxthreads
+ - maxthreadsbuffer
+ - maxthreadsperhotkey
+ - menumaskkey
+ - noenv
+ - notrayicon
+ - persistent
+ - singleinstance
+ - usehook
+ - warn
+ - winactivateforce
+
+
+ - shift
+ - lshift
+ - rshift
+ - alt
+ - lalt
+ - ralt
+ - control
+ - lcontrol
+ - rcontrol
+ - ctrl
+ - lctrl
+ - rctrl
+ - lwin
+ - rwin
+ - appskey
+ - altdown
+ - altup
+ - shiftdown
+ - shiftup
+ - ctrldown
+ - ctrlup
+ - lwindown
+ - lwinup
+ - rwindown
+ - rwinup
+ - lbutton
+ - rbutton
+ - mbutton
+ - wheelup
+ - wheeldown
+ - xbutton1
+ - xbutton2
+ - joy1
+ - joy2
+ - joy3
+ - joy4
+ - joy5
+ - joy6
+ - joy7
+ - joy8
+ - joy9
+ - joy10
+ - joy11
+ - joy12
+ - joy13
+ - joy14
+ - joy15
+ - joy16
+ - joy17
+ - joy18
+ - joy19
+ - joy20
+ - joy21
+ - joy22
+ - joy23
+ - joy24
+ - joy25
+ - joy26
+ - joy27
+ - joy28
+ - joy29
+ - joy30
+ - joy31
+ - joy32
+ - joyx
+ - joyy
+ - joyz
+ - joyr
+ - joyu
+ - joyv
+ - joypov
+ - joyname
+ - joybuttons
+ - joyaxes
+ - joyinfo
+ - space
+ - tab
+ - enter
+ - escape
+ - esc
+ - backspace
+ - bs
+ - delete
+ - del
+ - insert
+ - ins
+ - pgup
+ - pgdn
+ - home
+ - end
+ - up
+ - down
+ - left
+ - right
+ - printscreen
+ - ctrlbreak
+ - pause
+ - scrolllock
+ - capslock
+ - numlock
+ - numpad0
+ - numpad1
+ - numpad2
+ - numpad3
+ - numpad4
+ - numpad5
+ - numpad6
+ - numpad7
+ - numpad8
+ - numpad9
+ - numpadmult
+ - numpadadd
+ - numpadsub
+ - numpaddiv
+ - numpaddot
+ - numpaddel
+ - numpadins
+ - numpadclear
+ - numpadup
+ - numpaddown
+ - numpadleft
+ - numpadright
+ - numpadhome
+ - numpadend
+ - numpadpgup
+ - numpadpgdn
+ - numpadenter
+ - f1
+ - f2
+ - f3
+ - f4
+ - f5
+ - f6
+ - f7
+ - f8
+ - f9
+ - f10
+ - f11
+ - f12
+ - f13
+ - f14
+ - f15
+ - f16
+ - f17
+ - f18
+ - f19
+ - f20
+ - f21
+ - f22
+ - f23
+ - f24
+ - browser_back
+ - browser_forward
+ - browser_refresh
+ - browser_stop
+ - browser_search
+ - browser_favorites
+ - browser_home
+ - volume_mute
+ - volume_down
+ - volume_up
+ - media_next
+ - media_prev
+ - media_stop
+ - media_play_pause
+ - launch_mail
+ - launch_media
+ - launch_app1
+ - launch_app2
+ - blind
+ - click
+ - raw
+ - wheelleft
+ - wheelright
+
+
+ - a_ahkpath
+ - a_ahkversion
+ - a_appdata
+ - a_appdatacommon
+ - a_autotrim
+ - a_batchlines
+ - a_caretx
+ - a_carety
+ - a_computername
+ - a_controldelay
+ - a_cursor
+ - a_dd
+ - a_ddd
+ - a_dddd
+ - a_defaultmousespeed
+ - a_desktop
+ - a_desktopcommon
+ - a_detecthiddentext
+ - a_detecthiddenwindows
+ - a_endchar
+ - a_eventinfo
+ - a_exitreason
+ - a_formatfloat
+ - a_formatinteger
+ - a_gui
+ - a_guievent
+ - a_guicontrol
+ - a_guicontrolevent
+ - a_guiheight
+ - a_guiwidth
+ - a_guix
+ - a_guiy
+ - a_hour
+ - a_iconfile
+ - a_iconhidden
+ - a_iconnumber
+ - a_icontip
+ - a_index
+ - a_ipaddress1
+ - a_ipaddress2
+ - a_ipaddress3
+ - a_ipaddress4
+ - a_isadmin
+ - a_iscompiled
+ - a_issuspended
+ - a_keydelay
+ - a_language
+ - a_lasterror
+ - a_linefile
+ - a_linenumber
+ - a_loopfield
+ - a_loopfileattrib
+ - a_loopfiledir
+ - a_loopfileext
+ - a_loopfilefullpath
+ - a_loopfilelongpath
+ - a_loopfilename
+ - a_loopfileshortname
+ - a_loopfileshortpath
+ - a_loopfilesize
+ - a_loopfilesizekb
+ - a_loopfilesizemb
+ - a_loopfiletimeaccessed
+ - a_loopfiletimecreated
+ - a_loopfiletimemodified
+ - a_loopreadline
+ - a_loopregkey
+ - a_loopregname
+ - a_loopregsubkey
+ - a_loopregtimemodified
+ - a_loopregtype
+ - a_mday
+ - a_min
+ - a_mm
+ - a_mmm
+ - a_mmmm
+ - a_mon
+ - a_mousedelay
+ - a_msec
+ - a_mydocuments
+ - a_now
+ - a_nowutc
+ - a_numbatchlines
+ - a_ostype
+ - a_osversion
+ - a_priorhotkey
+ - a_programfiles
+ - a_programs
+ - a_programscommon
+ - a_screenheight
+ - a_screenwidth
+ - a_scriptdir
+ - a_scriptfullpath
+ - a_scriptname
+ - a_sec
+ - a_space
+ - a_startmenu
+ - a_startmenucommon
+ - a_startup
+ - a_startupcommon
+ - a_stringcasesense
+ - a_tab
+ - a_temp
+ - a_thishotkey
+ - a_thismenu
+ - a_thismenuitem
+ - a_thismenuitempos
+ - a_tickcount
+ - a_timeidle
+ - a_timeidlephysical
+ - a_timesincepriorhotkey
+ - a_timesincethishotkey
+ - a_titlematchmode
+ - a_titlematchmodespeed
+ - a_username
+ - a_wday
+ - a_windelay
+ - a_windir
+ - a_workingdir
+ - a_yday
+ - a_year
+ - a_yweek
+ - a_yyyy
+ - clipboard
+ - clipboardall
+ - comspec
+ - errorlevel
+ - programfiles
+ - true
+ - false
+ - a_thisfunc
+ - a_thislabel
+ - a_ispaused
+ - a_iscritical
+ - a_isunicode
+ - a_ptrsize
+
+
+ - ltrim
+ - rtrim
+ - join
+ - ahk_id
+ - ahk_pid
+ - ahk_class
+ - ahk_group
+ - processname
+ - minmax
+ - controllist
+ - statuscd
+ - filesystem
+ - setlabel
+ - alwaysontop
+ - mainwindow
+ - nomainwindow
+ - useerrorlevel
+ - altsubmit
+ - hscroll
+ - vscroll
+ - imagelist
+ - wantctrla
+ - wantf2
+ - vis
+ - visfirst
+ - wantreturn
+ - backgroundtrans
+ - minimizebox
+ - maximizebox
+ - sysmenu
+ - toolwindow
+ - exstyle
+ - check3
+ - checkedgray
+ - readonly
+ - notab
+ - lastfound
+ - lastfoundexist
+ - alttab
+ - shiftalttab
+ - alttabmenu
+ - alttabandmenu
+ - alttabmenudismiss
+ - controllisthwnd
+ - hwnd
+ - deref
+ - pow
+ - bitnot
+ - bitand
+ - bitor
+ - bitxor
+ - bitshiftleft
+ - bitshiftright
+ - sendandmouse
+ - mousemove
+ - mousemoveoff
+ - hkey_local_machine
+ - hkey_users
+ - hkey_current_user
+ - hkey_classes_root
+ - hkey_current_config
+ - hklm
+ - hku
+ - hkcu
+ - hkcr
+ - hkcc
+ - reg_sz
+ - reg_expand_sz
+ - reg_multi_sz
+ - reg_dword
+ - reg_qword
+ - reg_binary
+ - reg_link
+ - reg_resource_list
+ - reg_full_resource_descriptor
+ - reg_resource_requirements_list
+ - reg_dword_big_endian
+ - regex
+ - pixel
+ - mouse
+ - screen
+ - relative
+ - rgb
+ - low
+ - belownormal
+ - normal
+ - abovenormal
+ - high
+ - realtime
+ - between
+ - contains
+ - in
+ - is
+ - integer
+ - float
+ - number
+ - digit
+ - xdigit
+ - integerfast
+ - floatfast
+ - alpha
+ - upper
+ - lower
+ - alnum
+ - time
+ - date
+ - not
+ - or
+ - and
+ - topmost
+ - top
+ - bottom
+ - transparent
+ - transcolor
+ - redraw
+ - region
+ - id
+ - idlast
+ - count
+ - list
+ - capacity
+ - eject
+ - lock
+ - unlock
+ - label
+ - serial
+ - type
+ - status
+ - seconds
+ - minutes
+ - hours
+ - days
+ - read
+ - parse
+ - logoff
+ - close
+ - error
+ - single
+ - shutdown
+ - menu
+ - exit
+ - reload
+ - tray
+ - add
+ - rename
+ - check
+ - uncheck
+ - togglecheck
+ - enable
+ - disable
+ - toggleenable
+ - default
+ - nodefault
+ - standard
+ - nostandard
+ - color
+ - delete
+ - deleteall
+ - icon
+ - noicon
+ - tip
+ - click
+ - show
+ - edit
+ - progress
+ - hotkey
+ - text
+ - picture
+ - pic
+ - groupbox
+ - button
+ - checkbox
+ - radio
+ - dropdownlist
+ - ddl
+ - combobox
+ - statusbar
+ - treeview
+ - listbox
+ - listview
+ - datetime
+ - monthcal
+ - updown
+ - slider
+ - tab
+ - tab2
+ - iconsmall
+ - tile
+ - report
+ - sortdesc
+ - nosort
+ - nosorthdr
+ - grid
+ - hdr
+ - autosize
+ - range
+ - xm
+ - ym
+ - ys
+ - xs
+ - xp
+ - yp
+ - font
+ - resize
+ - owner
+ - submit
+ - nohide
+ - minimize
+ - maximize
+ - restore
+ - noactivate
+ - na
+ - cancel
+ - destroy
+ - center
+ - margin
+ - owndialogs
+ - guiescape
+ - guiclose
+ - guisize
+ - guicontextmenu
+ - guidropfiles
+ - tabstop
+ - section
+ - wrap
+ - border
+ - top
+ - bottom
+ - buttons
+ - expand
+ - first
+ - lines
+ - number
+ - uppercase
+ - lowercase
+ - limit
+ - password
+ - multi
+ - group
+ - background
+ - bold
+ - italic
+ - strike
+ - underline
+ - norm
+ - theme
+ - caption
+ - delimiter
+ - flash
+ - style
+ - checked
+ - password
+ - hidden
+ - left
+ - right
+ - center
+ - section
+ - move
+ - focus
+ - hide
+ - choose
+ - choosestring
+ - text
+ - pos
+ - enabled
+ - disabled
+ - visible
+ - notimers
+ - interrupt
+ - priority
+ - waitclose
+ - unicode
+ - tocodepage
+ - fromcodepage\
+ - yes
+ - no
+ - ok
+ - cancel
+ - abort
+ - retry
+ - ignore
+ - force
+ - on
+ - off
+ - all
+ - send
+ - wanttab
+ - monitorcount
+ - monitorprimary
+ - monitorname
+ - monitorworkarea
+ - pid
+ - base
+ - __get
+ - __set
+ - __call
+ - __delete
+ - useunsetlocal
+ - useunsetglobal
+ - useenv
+ - localsameasglobal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/alert.xml b/data/syntax/alert.xml
new file mode 100644
index 0000000..3ed783b
--- /dev/null
+++ b/data/syntax/alert.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+ - ALERT
+ - ATTENTION
+ - DANGER
+ - HACK
+ - SECURITY
+
+
+ - BUG
+ - FIXME
+ - DEPRECATED
+ - TASK
+ - TODO
+ - TBD
+ - WARNING
+ - CAUTION
+ - NOLINT
+
+
+ - ###
+ - NOTE
+ - NOTICE
+ - TEST
+ - TESTING
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/alert_indent.xml b/data/syntax/alert_indent.xml
new file mode 100644
index 0000000..7c680a1
--- /dev/null
+++ b/data/syntax/alert_indent.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ample.xml b/data/syntax/ample.xml
new file mode 100644
index 0000000..9c0c851
--- /dev/null
+++ b/data/syntax/ample.xml
@@ -0,0 +1,3814 @@
+
+
+
+
+
+
+ - break
+ - builtin
+ - case
+ - continue
+ - do
+ - else
+ - extern
+ - local
+ - for
+ - function
+ - if
+ - return
+ - switch
+ - while
+
+
+ - void
+ - undefined
+ - $abort_enable
+ - $dofile_arg1
+ - $dofile_arg2
+ - $dofile_arg3
+ - $dofile_arg4
+ - $dofile_arg5
+ - $dofile_arg6
+ - $dofile_arg7
+ - $dofile_arg8
+ - $dofile_arg9
+ - $dofile_arg10
+ - $dofile_arg11
+ - $dofile_arg12
+ - $dofile_arg13
+ - $dofile_arg14
+ - $dofile_arg15
+ - $dofile_arg16
+ - $dofile_arg17
+ - $dofile_arg18
+ - $dofile_arg19
+ - $dofile_arg20
+ - $dofile_arg_count
+ - $dofile_result
+ - false
+ - off
+ - on
+ - pi
+ - $stderr
+ - $stdin
+ - $stdout
+ - true
+ - two_pi
+
+
+
+
+
+ - abs
+ - acos
+ - $add_complex
+ - $add_status_args
+ - asin
+ - atan
+ - atan2
+ - $bad_status
+ - ceil
+ - $clear_file_error
+ - $close_file
+ - $complex_imaginary
+ - $complex_real
+ - $conjugate_complex
+ - $constrain_value
+ - cos
+ - cosh
+ - cot
+ - $create_complex
+ - $create_string_registry
+ - $create_vector
+ - csc
+ - $current_user
+ - $cvt_exist_file
+ - $cvt_read_variable
+ - $cvt_type
+ - $cvt_write_variable
+ - $date
+ - deg
+ - $divide_complex
+ - $dofile
+ - $e
+ - $eof
+ - exp
+ - $expand_rest
+ - $f
+ - $file_error
+ - $file_exist
+ - $file_pos
+ - $file_status
+ - floor
+ - $flush_file
+ - $format
+ - $free_stream_id
+ - $function_help
+ - $function_ref_help
+ - $function_signature
+ - $g
+ - $generate_rand
+ - $get_ample_status
+ - $get_app_name
+ - $get_app_ver
+ - $get_env
+ - $i
+ - $integer_divide
+ - length
+ - $list_overwritten_functions
+ - $load_library
+ - log
+ - log10
+ - $lower_string
+ - $magnitude_complex
+ - $multiply_complex
+ - $n
+ - $number_string
+ - $open_file
+ - $ord_to_string
+ - $phase_complex
+ - $pop_ample_status
+ - pow
+ - $qsort
+ - rad
+ - $raise_status
+ - $read_file
+ - $reads_file
+ - $real_time
+ - $register_alias
+ - $register_args
+ - $register_command
+ - $resolve_mgc_path
+ - $round
+ - $round_prec
+ - $s
+ - sec
+ - $seek_file
+ - $set_function_status
+ - $set_rand
+ - $set_status
+ - $set_thousands
+ - $set_transcript_mode
+ - sin
+ - sinh
+ - sqrt
+ - $sscanf
+ - $strcat
+ - $strftime
+ - $string_locate
+ - $string_status
+ - $string_to_ord
+ - $subtract_complex
+ - $suspend
+ - $sys_time
+ - $system
+ - tan
+ - tanh
+ - $time
+ - $traceback
+ - $truncate
+ - $type
+ - $undefine_id
+ - $upper_string
+ - $vector_count_range
+ - $vector_element_divide
+ - $vector_element_multiply
+ - $vector_find
+ - $vector_histogram
+ - $vector_integrate
+ - $vector_max
+ - $vector_min
+ - $vector_search
+ - $vector_slope
+ - $vector_sum
+ - $vendor_cpu
+ - $where_is
+ - $write_file
+ - $writeln_file
+ - $writes_file
+
+
+ - $acquire_license
+ - $activate_net
+ - $activate_net_by_handle
+ - $activate_net_by_name
+ - $activate_port
+ - $activate_port_by_handle
+ - $activate_port_by_name
+ - $add_cell
+ - $add_contacts
+ - $add_device
+ - $add_fp_shape
+ - $add_group_property
+ - $add_metal
+ - $add_multiple_text
+ - $add_net_members_to_ports
+ - $add_overflow
+ - $add_overflow_by_handle
+ - $add_panel
+ - $add_path
+ - $add_path_device
+ - $add_point_device
+ - $add_property
+ - $add_property_group_members
+ - $add_property_group_selections
+ - $add_property_text
+ - $add_route
+ - $add_row
+ - $add_rows_by_area
+ - $add_ruler
+ - $add_shape
+ - $add_shape_device
+ - $add_text
+ - $add_text_on_ports
+ - $add_to_library
+ - $add_to_net
+ - $add_to_port
+ - $add_via
+ - $align
+ - $apply_print_vector_attributes
+ - $attach_library
+ - $autofloorplan
+ - $autoplace_blocks
+ - $autoplace_corner_cells
+ - $autoplace_group
+ - $autoplace_pins
+ - $autoplace_ports
+ - $autoplace_power_vias
+ - $autoplace_standard_cells
+ - $autoroute_all
+ - $autoroute_nets
+ - $autoroute_overflow
+ - $backannotate_net_parameters
+ - $build_hotplot_setup
+ - $build_lib
+ - $build_ports
+ - $build_ports_shapes
+ - $build_ports_text_location
+ - $build_power_strap_shapes
+ - $build_power_straps
+ - $build_read_gdsii_optfile
+ - $change_array
+ - $change_aspect
+ - $change_cursor_status
+ - $change_device
+ - $change_from_object_template
+ - $change_group_property
+ - $change_layer
+ - $change_net
+ - $change_object_attributes
+ - $change_object_template
+ - $change_overflow
+ - $change_overflow_by_handle
+ - $change_path
+ - $change_port
+ - $change_property
+ - $change_property_group_members
+ - $change_property_group_selections
+ - $change_property_text
+ - $change_row
+ - $change_text
+ - $change_via_type
+ - $change_window
+ - $checkpoint_cell
+ - $checkpoint_cell_by_name
+ - $check_drc
+ - $check_fn
+ - $check_instances
+ - $check_overflows
+ - $check_polygons
+ - $check_power_pins
+ - $check_preconditions
+ - $check_shorts_all
+ - $check_shorts_selected
+ - $clear_clipboard
+ - $close_layout_library
+ - $close_logic
+ - $close_selection
+ - $close_session
+ - $close_window
+ - $compact
+ - $compose_groups
+ - $compose_layer_geometries
+ - $compose_layer_selections
+ - $connect_instance
+ - $convert_dracula
+ - $copy
+ - $copy_edit_hotkey_settings
+ - $copy_relative
+ - $copy_to_clipboard
+ - $copy_to_fp_layer
+ - $copy_to_layer
+ - $create_cell
+ - $create_def_from_layout_view
+ - $create_layout_library
+ - $create_layout_view
+ - $create_layout_view_from_def
+ - $create_layout_view_from_lef
+ - $create_layout_view_from_verilog
+ - $create_lef_from_layout_library
+ - $create_lef_from_layout_view
+ - $create_library
+ - $create_process
+ - $create_toolbar
+ - $create_via_cell
+ - $create_viewpoint
+ - $cut
+ - $cut_stretch
+ - $deactivate
+ - $define_hotkey
+ - $define_layer_alias
+ - $define_layer_name
+ - $define_layer_set
+ - $define_max_gate_width
+ - $define_mos_site_type
+ - $define_must_connect
+ - $define_net_pair
+ - $define_net_shield
+ - $define_route_transform
+ - $delete
+ - $delete_area
+ - $delete_connectivity
+ - $delete_drc_all
+ - $delete_drc_area
+ - $delete_drc_check
+ - $delete_drc_current
+ - $delete_drc_point
+ - $delete_drc_scan
+ - $delete_from_library
+ - $delete_group_property
+ - $delete_lvs_results
+ - $delete_panel
+ - $delete_property
+ - $delete_property_group_members
+ - $delete_property_group_selections
+ - $delete_routing
+ - $delete_ruler
+ - $delete_rulers_all
+ - $detach_library
+ - $display_channels
+ - $does_cell_exist
+ - $edit_library
+ - $edit_process
+ - $edit_process_override
+ - $enable_edit_layout_library
+ - $export_drc_check
+ - $extract_cell_connectivity
+ - $extract_direct_distributed_parameters
+ - $extract_direct_lumped_parameters
+ - $extract_mask_distributed_parameters
+ - $extract_mask_lumped_parameters
+ - $fillet
+ - $fillet_area
+ - $filter_group
+ - $fit_fp_shape
+ - $flatten
+ - $flatten_hierarchy
+ - $flip
+ - $flip_in_place
+ - $flip_on_axis
+ - $form_ic_action_buttons_gadget
+ - $form_ic_color_paint_chip_gadget
+ - $form_ic_display_gadget
+ - $form_ic_layer_palette_gadget
+ - $form_ic_patterns_list_box_gadget
+ - $form_single_check_box_gadget
+ - $fracture
+ - $freeze_window
+ - $get_absolute_points
+ - $get_acap_info
+ - $get_active_ic_window
+ - $get_active_net
+ - $get_active_port
+ - $get_arc
+ - $get_area
+ - $get_area_estimate
+ - $get_array_value
+ - $get_auto_checkpoint
+ - $get_basepoint
+ - $get_bottom_orient_set
+ - $get_boundary
+ - $get_cap_extent
+ - $get_cap_neg_pin
+ - $get_cap_pos_pin
+ - $get_cell_boundary
+ - $get_cell_configuration
+ - $get_cell_equivalents
+ - $get_cell_info
+ - $get_cell_list_dts
+ - $get_cell_path
+ - $get_cell_refs
+ - $get_cell_xrefs
+ - $get_circle
+ - $get_closed_polygon
+ - $get_closest_object_location
+ - $get_closest_object_points
+ - $get_compact_add_blkgs
+ - $get_compact_jog_power
+ - $get_compose_layer_geometries
+ - $get_compose_layer_selections
+ - $get_connectivity_layers
+ - $get_containment
+ - $get_context_contrast
+ - $get_context_from_world
+ - $get_crosshair_target_radius
+ - $get_crosshair_target_style
+ - $get_def_bus_bit_characters
+ - $get_def_bus_bit_characters
+ - $get_def_divider_character
+ - $get_def_divider_character
+ - $get_def_non_orthogonal
+ - $set_def_non_orthogonal
+ - $get_design_layers
+ - $get_design_path
+ - $get_design_refs
+ - $get_dev_info
+ - $get_dev_layer
+ - $get_dev_rule
+ - $get_device_alias
+ - $get_device_iobj
+ - $get_device_name
+ - $get_drc_check_current_count
+ - $get_drc_check_original_count
+ - $get_drc_check_polygon_count
+ - $get_drc_check_scan_count
+ - $get_drc_current_result_check_name
+ - $get_drc_current_result_number
+ - $get_drc_current_result_points
+ - $get_drc_current_result_type
+ - $get_drc_default_layer_directory_name
+ - $get_drc_default_summary_report_file_name
+ - $get_drc_results_database_check_count
+ - $get_drc_results_database_check_names
+ - $get_drc_results_database_nonempty_check_names
+ - $get_drc_results_database_result_count
+ - $get_drc_results_database_scan_check_names
+ - $get_drc_results_database_scan_result_count
+ - $get_endangered_nets
+ - $get_externals_info
+ - $get_fp_compute_num_rows
+ - $get_fp_compute_route_area_ratio
+ - $get_fp_extend_row
+ - $get_fractured_rectangles
+ - $get_gadget_value
+ - $get_graphic_preempt_list
+ - $get_group_members
+ - $get_group_names
+ - $get_group_property_names
+ - $get_highlight_count
+ - $get_hotkey_settings
+ - $get_ic_cell_windows
+ - $get_ic_location
+ - $get_ic_window_names
+ - $get_instance_extent
+ - $get_instance_fp_extent
+ - $get_instance_version
+ - $get_internal_row_layout
+ - $get_internal_row_sequence
+ - $get_layer_info
+ - $get_layer_minimum_spacing
+ - $get_layer_minimum_width
+ - $get_layer_names
+ - $get_layer_number
+ - $get_layer_palette_height
+ - $get_layers
+ - $get_layout_counterpart
+ - $get_layout_window
+ - $get_lef_bus_bit_characters
+ - $get_lef_bus_bit_characters
+ - $get_lef_divider_character
+ - $get_lef_divider_character
+ - $get_lef_non_orthogonal
+ - $set_lef_non_orthogonal
+ - $get_lef_overlap_boundary
+ - $set_lef_overlap_boundary
+ - $get_left_orient_set
+ - $get_library_cells
+ - $get_licenses
+ - $get_loaded_logic
+ - $get_logic_counterpart
+ - $get_mark
+ - $get_mask_device_count
+ - $get_mask_discrepancy_count
+ - $get_mask_net_count
+ - $get_mos_gate_pin
+ - $get_mos_sd_extent
+ - $get_mos_sd_pin
+ - $get_nearest_edge
+ - $get_net_members
+ - $get_new_object_handles
+ - $get_object_extent
+ - $get_object_info
+ - $get_outdated_cells
+ - $get_outline
+ - $get_panel_extent
+ - $get_panel_names
+ - $get_parameter_default
+ - $get_peek_protected
+ - $get_perimeter
+ - $get_pid
+ - $get_pin_members
+ - $get_pins
+ - $get_points
+ - $get_port_members
+ - $get_process
+ - $get_process_override
+ - $get_property_handles
+ - $get_property_names
+ - $get_property_value
+ - $get_report_obj_types
+ - $get_report_options
+ - $get_res_extent
+ - $get_res_neg_pin
+ - $get_res_pos_pin
+ - $get_reserved
+ - $get_right_orient_set
+ - $get_rotation_point
+ - $get_router_add_blkgs
+ - $get_router_align_cells
+ - $get_router_align_mode
+ - $get_router_block_feed_percent
+ - $get_router_block_stub_mode
+ - $get_router_cell_feed_percent
+ - $get_router_channel_ocr
+ - $get_router_connect_blk_pwr
+ - $get_router_constrain_power
+ - $get_router_create_power_grid
+ - $get_router_limit_area
+ - $get_router_overflow_mode
+ - $get_router_pre_route
+ - $get_router_preserve_power_width
+ - $get_router_probe_extent_margin
+ - $get_router_x_margin
+ - $get_router_y_margin
+ - $get_row_members
+ - $get_rule_file_check_count
+ - $get_rule_file_check_names
+ - $get_rule_file_select_check_count
+ - $get_rule_file_select_check_names
+ - $get_select_area
+ - $get_select_cell
+ - $get_select_count
+ - $get_select_extent
+ - $get_select_set
+ - $get_selectable_layers
+ - $get_selected_edges
+ - $get_short_segment
+ - $get_snapped_points
+ - $get_status_line_info
+ - $get_top_orient_set
+ - $get_traced_properties_numeric
+ - $get_traced_properties_string
+ - $get_visible_layers
+ - $get_window_cell
+ - $get_window_info
+ - $get_world_from_context
+ - $get_world_from_screen
+ - $group
+ - $group_by_name
+ - $group_by_property
+ - $group_on_selected
+ - $group_text
+ - $hide_layer_palette
+ - $hide_status_line
+ - $hide_system_toolbar
+ - $hide_toolbar
+ - $hide_tooltips
+ - $highlight_all
+ - $highlight_all_discrepancies
+ - $highlight_all_incorrect
+ - $highlight_all_unmatched
+ - $highlight_by_location
+ - $highlight_by_name
+ - $highlight_by_property
+ - $highlight_current_discrepancy
+ - $highlight_discrepancy
+ - $highlight_first_discrepancy
+ - $highlight_group
+ - $highlight_hierarchical_net
+ - $highlight_next_discrepancy
+ - $highlight_on_selected
+ - $highlight_previous_discrepancy
+ - $highlight_protected
+ - $hotplot
+ - $hotplot_invoke
+ - $insert_posts
+ - $iroute
+ - $is_cell_outdated
+ - $is_cell_reserved
+ - $is_cell_salvage_pending
+ - $is_edge_selected
+ - $is_history_active
+ - $is_layer_palette_visible
+ - $is_library_reserved
+ - $is_licensed
+ - $is_process_reserved
+ - $is_select_set_closed
+ - $is_status_line_visible
+ - $is_toolbar_visible
+ - $link_floorplan_shape
+ - $list_drc_all
+ - $list_drc_check
+ - $list_drc_selected
+ - $load_design_hierarchy
+ - $load_hotkey_settings
+ - $load_logic
+ - $load_mask_results
+ - $load_process
+ - $load_rules
+ - $loc
+ - $lvs_direct
+ - $lvs_mask
+ - $make_array
+ - $make_cell
+ - $make_font
+ - $make_keypad_panels
+ - $make_net
+ - $make_port
+ - $mark_instances_as_ignored
+ - $measure_distance
+ - $merge
+ - $mgc_scope_name_pre_init
+ - $minimize_levels
+ - $minimize_vias
+ - $modify_centerline
+ - $move
+ - $move_acap
+ - $move_cursor_down
+ - $move_cursor_left
+ - $move_cursor_right
+ - $move_cursor_up
+ - $move_in_row
+ - $move_on_row
+ - $move_relative
+ - $msg_cell_route_hierarchy_mode
+ - $notch
+ - $notch_special
+ - $open_cell
+ - $open_cell_map
+ - $open_clipboard
+ - $open_context_cell
+ - $open_group_window
+ - $open_hierarchy_window
+ - $open_layout_library
+ - $open_layout_view
+ - $open_logic
+ - $open_logic_by_name
+ - $open_mask_logic
+ - $open_selected_cell
+ - $partition_hierarchy
+ - $paste
+ - $peek
+ - $peek_area
+ - $place
+ - $place_on_row
+ - $place_schematic_instances
+ - $place_schematic_ports
+ - $polygon_to_path
+ - $print_cell
+ - $prompt_for_ic_line
+ - $prompt_for_ic_location
+ - $prompt_for_ic_polygon
+ - $prompt_for_ic_polyline
+ - $prompt_for_ic_rectangle
+ - $prompt_for_ic_route
+ - $protect
+ - $protect_group
+ - $protect_nets
+ - $read_def
+ - $read_gdsii
+ - $read_lef
+ - $read_spice
+ - $read_verilog
+ - $read_xml
+ - $redo
+ - $redraw
+ - $redraw_area
+ - $regenerate_device
+ - $release_license
+ - $reload_cell
+ - $reload_cell_by_name
+ - $remove_contacts_by_area
+ - $remove_contacts_by_m2
+ - $remove_contacts_by_via
+ - $remove_from_net
+ - $remove_from_port
+ - $remove_metal_by_area
+ - $reopen_selection
+ - $repeat_fn
+ - $repeat_objects
+ - $replace_cell
+ - $replace_toolbar
+ - $report_active_context
+ - $report_all_mask_devices
+ - $report_all_mask_nets
+ - $report_capacitor_type
+ - $report_cell
+ - $report_cell_list_dts
+ - $report_current_direct_net
+ - $report_current_discrepancy
+ - $report_current_mask_device
+ - $report_current_mask_discrepancy
+ - $report_current_mask_net
+ - $report_design_layers
+ - $report_design_tree
+ - $report_design_xref
+ - $report_direct_thresholds
+ - $report_drc_all
+ - $report_drc_area
+ - $report_drc_check
+ - $report_drc_current
+ - $report_drc_point
+ - $report_drc_scan
+ - $report_eco_results
+ - $report_gb_type
+ - $report_group
+ - $report_group_names
+ - $report_hotkey_settings
+ - $report_layer_attributes
+ - $report_layer_sets
+ - $report_library
+ - $report_licenses
+ - $report_logic
+ - $report_lvs_results
+ - $report_mask_results
+ - $report_mask_thresholds
+ - $report_mos_type
+ - $report_net_parameters
+ - $report_nets
+ - $report_outdated_cells
+ - $report_panels
+ - $report_paired_nets
+ - $report_peek_protected
+ - $report_place_route
+ - $report_ports
+ - $report_process
+ - $report_property_names
+ - $report_reserved
+ - $report_resistor_type
+ - $report_row_capacity
+ - $report_scoring
+ - $report_selected
+ - $report_shown_mask_devices
+ - $report_shown_mask_discrepancies
+ - $report_shown_mask_nets
+ - $report_text_file
+ - $report_via_type
+ - $report_windows
+ - $reselect
+ - $reserve_cell
+ - $reserve_cell_by_name
+ - $reserve_library
+ - $reserve_process
+ - $reset_basepoint
+ - $reset_licensing
+ - $resize
+ - $restore_defaults
+ - $restore_drc_results
+ - $restructure_nets
+ - $resync_cell
+ - $resync_cell_by_name
+ - $resync_library
+ - $resync_viewpoint
+ - $rotate
+ - $route_point_to_point
+ - $rule_file_loaded
+ - $run_eco
+ - $salvage_cell
+ - $salvage_reference
+ - $save_cell
+ - $save_cell_as
+ - $save_cell_by_name
+ - $save_drc_results
+ - $save_layout_library
+ - $save_library
+ - $save_process
+ - $save_process_by_name
+ - $save_setup
+ - $scale_cells
+ - $scale_context
+ - $scan_drc_all
+ - $scan_drc_check
+ - $sdl_cleanup
+ - $sdl_create_cell
+ - $select_all
+ - $select_area
+ - $select_area_polygon
+ - $select_by_name
+ - $select_by_property
+ - $select_drc_all
+ - $select_drc_check
+ - $select_edge
+ - $select_fixed_routes
+ - $select_folds
+ - $select_group
+ - $select_highlighted
+ - $select_ignored_instances
+ - $select_on_selected
+ - $select_one
+ - $select_range
+ - $select_text
+ - $select_unplaced_schematic_instances
+ - $select_unplaced_schematic_ports
+ - $send_to_prompt
+ - $set_active_port_style
+ - $get_active_port_style
+ - $set_active_ruler_layer
+ - $get_active_ruler_layer
+ - $set_add_route_alignment
+ - $get_add_route_alignment
+ - $set_add_route_checking
+ - $get_add_route_checking
+ - $set_add_route_padding
+ - $get_add_route_padding
+ - $set_angle_mode
+ - $set_angle_mode_enforcement
+ - $get_angle_mode_enforcement
+ - $set_anneal_cooling_factor
+ - $get_anneal_cooling_factor
+ - $set_arc_segments
+ - $get_arc_segments
+ - $set_array_display_style
+ - $get_array_display_style
+ - $set_auto_focus_active_window
+ - $get_auto_focus_active_window
+ - $set_auto_outline_mode
+ - $get_auto_outline_mode
+ - $set_auto_restructure
+ - $get_auto_restructure
+ - $set_autonotch
+ - $get_autonotch
+ - $set_autoselect
+ - $get_autoselect
+ - $set_basepoint
+ - $set_cell_configuration
+ - $set_cell_logical_name
+ - $set_cell_origin
+ - $set_cell_process
+ - $set_cell_route_hierarchy_mode
+ - $set_cell_type
+ - $set_check_drc_message_mode
+ - $set_circle_input_style
+ - $get_circle_input_style
+ - $set_click_distance
+ - $get_click_distance
+ - $set_compact_center_wires
+ - $get_compact_center_wires
+ - $set_compact_corner_spacing
+ - $get_compact_corner_spacing
+ - $set_compact_cost_factor
+ - $get_compact_cost_factor
+ - $set_compact_ext_cells
+ - $get_compact_ext_cells
+ - $set_compact_ext_rows
+ - $get_compact_ext_rows
+ - $set_compact_jogs
+ - $get_compact_jogs
+ - $set_compact_offset_vias
+ - $get_compact_offset_vias
+ - $set_compact_path_mini
+ - $get_compact_path_mini
+ - $set_compact_route_levels
+ - $get_compact_route_levels
+ - $set_compact_suppress_output
+ - $get_compact_suppress_output
+ - $set_compact_to
+ - $get_compact_to
+ - $set_compact_wires_mode
+ - $get_compact_wires_mode
+ - $set_contact_count
+ - $set_context
+ - $set_context_up
+ - $set_copy_ports_on_copy
+ - $get_copy_ports_on_copy
+ - $set_cross_probe
+ - $get_cross_probe
+ - $set_cross_probe_mode
+ - $set_crosshair_style
+ - $get_crosshair_style
+ - $set_crosshair_target
+ - $set_crosshair_target_radius
+ - $set_cull
+ - $set_def_bus_bit_characters
+ - $set_def_divider_character
+ - $set_def_non_orthogonal
+ - $set_direct_thresholds
+ - $set_display_window_title
+ - $get_display_window_title
+ - $set_drag_complexity
+ - $get_drag_complexity
+ - $set_drag_ruler_mode
+ - $get_drag_ruler_mode
+ - $set_drc_check
+ - $set_drc_first
+ - $set_drc_fit_factor
+ - $set_drc_jump
+ - $set_drc_last
+ - $set_drc_next
+ - $set_drc_previous
+ - $set_drc_result
+ - $set_drc_skip
+ - $set_duplicate_ports_policy
+ - $set_dynamic_drc
+ - $get_dynamic_drc
+ - $set_dynamic_drc_complexity
+ - $get_dynamic_drc_complexity
+ - $set_dynamic_hotkey_mode
+ - $get_dynamic_hotkey_mode
+ - $set_dynamic_loading
+ - $get_dynamic_loading
+ - $set_dynamic_message_mode
+ - $get_dynamic_message_mode
+ - $set_dynamic_pre_locations
+ - $set_error_handling
+ - $get_error_handling
+ - $set_fill_display
+ - $get_fill_display
+ - $set_filled_layers
+ - $get_filled_layers
+ - $set_first_direct_net
+ - $set_first_mask_device
+ - $set_first_mask_discrepancy
+ - $set_first_mask_net
+ - $set_fp_bottom_gap
+ - $get_fp_bottom_gap
+ - $set_fp_left_gap
+ - $get_fp_left_gap
+ - $set_fp_lower_aspect
+ - $get_fp_lower_aspect
+ - $set_fp_max_height
+ - $get_fp_max_height
+ - $set_fp_max_width
+ - $get_fp_max_width
+ - $set_fp_num_rows
+ - $get_fp_num_rows
+ - $set_fp_right_gap
+ - $get_fp_right_gap
+ - $set_fp_route_area_ratio
+ - $get_fp_route_area_ratio
+ - $set_fp_top_gap
+ - $get_fp_top_gap
+ - $set_fp_upper_aspect
+ - $get_fp_upper_aspect
+ - $set_fractured_route
+ - $get_fractured_route
+ - $set_gadget_value
+ - $set_gate_size
+ - $set_gds_allanglefracture
+ - $get_gds_allanglefracture
+ - $set_gds_anglemode
+ - $get_gds_anglemode
+ - $set_gds_auto_identify_vias
+ - $get_gds_auto_identify_vias
+ - $set_gds_cellnamecase
+ - $get_gds_cellnamecase
+ - $set_gds_cellnamelength
+ - $get_gds_cellnamelength
+ - $set_gds_cellnamemap
+ - $get_gds_cellnamemap
+ - $set_gds_fixpolygons
+ - $get_gds_fixpolygons
+ - $set_gds_layerfilter
+ - $get_gds_layerfilter
+ - $set_gds_layermap
+ - $get_gds_layermap
+ - $set_gds_library
+ - $get_gds_library
+ - $set_gds_lockcells
+ - $get_gds_lockcells
+ - $set_gds_logfile
+ - $get_gds_logfile
+ - $set_gds_process
+ - $get_gds_process
+ - $set_gds_properties
+ - $get_gds_properties
+ - $set_gds_read_scale
+ - $get_gds_read_scale
+ - $set_gds_replace
+ - $get_gds_replace
+ - $set_gds_save_cells
+ - $get_gds_save_cells
+ - $set_gds_skipunmapped
+ - $get_gds_skipunmapped
+ - $set_gds_textheightmap
+ - $get_gds_textheightmap
+ - $set_gds_transcript
+ - $get_gds_transcript
+ - $set_graphic_interrupt
+ - $get_graphic_interrupt
+ - $set_gravity_distance
+ - $get_gravity_distance
+ - $set_grid
+ - $set_guideline_net_size
+ - $get_guideline_net_size
+ - $set_guideline_width_limit
+ - $get_guideline_width_limit
+ - $set_hocr
+ - $get_hocr
+ - $set_hotkey_mode
+ - $get_hotkey_mode
+ - $set_ic_array_columns
+ - $get_ic_array_columns
+ - $set_ic_array_rows
+ - $get_ic_array_rows
+ - $set_ic_aspect
+ - $get_ic_aspect
+ - $set_ic_cell_flip
+ - $get_ic_cell_flip
+ - $set_ic_cell_orientation
+ - $get_ic_cell_orientation
+ - $set_ic_cell_rotation
+ - $get_ic_cell_rotation
+ - $set_ic_cell_scale
+ - $get_ic_cell_scale
+ - $set_ic_layer
+ - $get_ic_layer
+ - $set_ic_path_end_style
+ - $get_ic_path_end_style
+ - $set_ic_path_old_style
+ - $get_ic_path_old_style
+ - $set_ic_path_padding
+ - $get_ic_path_padding
+ - $set_ic_path_style
+ - $get_ic_path_style
+ - $set_ic_path_width
+ - $get_ic_path_width
+ - $set_ic_property_owner
+ - $get_ic_property_owner
+ - $set_ic_property_replace
+ - $get_ic_property_replace
+ - $set_ic_property_text_height
+ - $get_ic_property_text_height
+ - $set_ic_property_text_horz_just
+ - $get_ic_property_text_horz_just
+ - $set_ic_property_text_orientation
+ - $get_ic_property_text_orientation
+ - $set_ic_property_text_vert_just
+ - $get_ic_property_text_vert_just
+ - $set_ic_row_auto_resize
+ - $get_ic_row_auto_resize
+ - $set_ic_row_justification
+ - $get_ic_row_justification
+ - $set_ic_row_site
+ - $get_ic_row_site
+ - $set_ic_row_slideable
+ - $get_ic_row_slideable
+ - $set_instance_extent_display
+ - $get_instance_extent_display
+ - $set_instance_name_display
+ - $get_instance_name_display
+ - $set_instance_origin_display
+ - $get_instance_origin_display
+ - $set_instance_route_hierarchy_mode
+ - $set_iobj_points
+ - $set_iroute_accept_at_current_loc
+ - $set_iroute_auto_shield
+ - $set_iroute_checking
+ - $set_iroute_push_mode
+ - $set_iroute_route_transforms
+ - $set_iroute_select_with_active_layer
+ - $set_iroute_show_alignment
+ - $set_iroute_show_ortho_path
+ - $set_iroute_via_generator_is_default
+ - $set_iroute_width_change
+ - $set_join_on_move
+ - $get_join_on_move
+ - $set_layer_appearance
+ - $set_layer_palette_height
+ - $get_layer_palette_height
+ - $set_layer_path_width
+ - $set_lef_bus_bit_characters
+ - $get_lef_bus_bit_characters
+ - $set_lef_divider_character
+ - $get_lef_divider_character
+ - $set_lef_non_orthogonal
+ - $get_lef_non_orthogonal
+ - $set_lef_overlap_boundary
+ - $get_lef_overlap_boundary
+ - $set_library_cell_type
+ - $set_library_site_types
+ - $set_location_mode
+ - $get_location_mode
+ - $set_logic_source
+ - $set_logical_correspondence
+ - $set_lvs_all_capacitor_pins_swappable
+ - $get_lvs_all_capacitor_pins_swappable
+ - $set_lvs_component_subtype_property
+ - $get_lvs_component_subtype_property
+ - $set_lvs_component_type_properties
+ - $get_lvs_component_type_properties
+ - $set_lvs_default_direct_source_subname
+ - $get_lvs_default_direct_source_subname
+ - $set_lvs_default_mask_source_subname
+ - $get_lvs_default_mask_source_subname
+ - $set_lvs_default_report_name
+ - $get_lvs_default_report_name
+ - $set_lvs_filter_unused_bipolar_transistors
+ - $get_lvs_filter_unused_bipolar_transistors
+ - $set_lvs_filter_unused_mos_transistors
+ - $get_lvs_filter_unused_mos_transistors
+ - $set_lvs_ground_names
+ - $get_lvs_ground_names
+ - $set_lvs_ignore_ports
+ - $get_lvs_ignore_ports
+ - $set_lvs_pin_name_properties
+ - $get_lvs_pin_name_properties
+ - $set_lvs_power_names
+ - $get_lvs_power_names
+ - $set_lvs_recognize_gates
+ - $get_lvs_recognize_gates
+ - $set_lvs_recognize_only_simple_gates
+ - $get_lvs_recognize_only_simple_gates
+ - $set_lvs_reduce_parallel_bipolar_transistors
+ - $get_lvs_reduce_parallel_bipolar_transistors
+ - $set_lvs_reduce_parallel_capacitors
+ - $get_lvs_reduce_parallel_capacitors
+ - $set_lvs_reduce_parallel_diodes
+ - $get_lvs_reduce_parallel_diodes
+ - $set_lvs_reduce_parallel_mos_transistors
+ - $get_lvs_reduce_parallel_mos_transistors
+ - $set_lvs_reduce_parallel_resistors
+ - $get_lvs_reduce_parallel_resistors
+ - $set_lvs_reduce_series_capacitors
+ - $get_lvs_reduce_series_capacitors
+ - $set_lvs_reduce_series_resistors
+ - $get_lvs_reduce_series_resistors
+ - $set_lvs_reduce_split_gates
+ - $get_lvs_reduce_split_gates
+ - $set_lvs_report_list_limit
+ - $get_lvs_report_list_limit
+ - $set_lvs_write_instance_cross_reference
+ - $get_lvs_write_instance_cross_reference
+ - $set_lvs_write_net_cross_reference
+ - $get_lvs_write_net_cross_reference
+ - $set_mark
+ - $set_mask_auto_view
+ - $set_mask_default_database_name
+ - $get_mask_default_database_name
+ - $set_mask_thresholds
+ - $get_mask_thresholds
+ - $set_max_auto_display
+ - $get_max_auto_display
+ - $set_modify_distance
+ - $get_modify_distance
+ - $set_mos_cell_type
+ - $get_mos_cell_type
+ - $set_mos_share
+ - $get_mos_share
+ - $set_net_priority
+ - $set_new_window_cull
+ - $get_new_window_cull
+ - $set_new_window_grid
+ - $get_new_window_grid
+ - $set_next_direct_net
+ - $set_next_mask_device
+ - $set_next_mask_discrepancy
+ - $set_next_mask_net
+ - $set_packed_vias
+ - $set_padding_grid
+ - $set_path_display_style
+ - $get_path_display_style
+ - $set_peek_on_view
+ - $get_peek_on_view
+ - $set_peek_protect
+ - $set_pex_backannotation_distributed
+ - $get_pex_backannotation_distributed
+ - $set_pex_backannotation_lumped
+ - $get_pex_backannotation_lumped
+ - $set_pex_capacitance_scale
+ - $get_pex_capacitance_scale
+ - $set_pex_coupled_distributed
+ - $get_pex_coupled_distributed
+ - $set_pex_delay
+ - $get_pex_delay
+ - $set_pex_exclude_distributed
+ - $get_pex_exclude_distributed
+ - $set_pex_include_distributed
+ - $get_pex_include_distributed
+ - $set_pex_netlist_distributed
+ - $get_pex_netlist_distributed
+ - $set_pex_netlist_lumped
+ - $get_pex_netlist_lumped
+ - $set_pex_netlist_simple
+ - $get_pex_netlist_simple
+ - $set_pex_options_lumped
+ - $get_pex_options_lumped
+ - $set_pex_report_distributed
+ - $get_pex_report_distributed
+ - $set_pex_report_lumped
+ - $get_pex_report_lumped
+ - $set_pin_shape_editing
+ - $set_placement_select_mode
+ - $get_placement_select_mode
+ - $set_point_select_mode
+ - $get_point_select_mode
+ - $set_point_select_reset_basepoint
+ - $get_point_select_reset_basepoint
+ - $set_port_pin_name_display
+ - $get_port_pin_name_display
+ - $set_preferred_overflow_layers
+ - $get_preferred_overflow_layers
+ - $set_previous_direct_net
+ - $set_previous_mask_device
+ - $set_previous_mask_discrepancy
+ - $set_previous_mask_net
+ - $set_print_appearance
+ - $set_print_array_style
+ - $get_print_array_style
+ - $set_print_cull
+ - $get_print_cull
+ - $set_print_grid
+ - $get_print_grid
+ - $set_print_layers
+ - $get_print_layers
+ - $set_print_levels
+ - $get_print_levels
+ - $set_print_peeked_only
+ - $get_print_peeked_only
+ - $set_process_override
+ - $set_push_count_limit
+ - $set_query_on_merge
+ - $get_query_on_merge
+ - $set_query_on_placement
+ - $get_query_on_placement
+ - $set_redraw_controls
+ - $get_redraw_controls
+ - $set_redraw_level
+ - $get_redraw_level
+ - $set_redraw_precision
+ - $get_redraw_precision
+ - $set_redraw_queue_control
+ - $get_redraw_queue_control
+ - $set_report_target
+ - $get_report_target
+ - $set_restrict_visible
+ - $get_restrict_visible
+ - $set_resync_on_peek
+ - $get_resync_on_peek
+ - $set_route_center_wires
+ - $get_route_center_wires
+ - $set_route_hierarchy_mode
+ - $set_route_net_order
+ - $get_route_net_order
+ - $set_route_objects
+ - $get_route_objects
+ - $set_route_one_pass
+ - $get_route_one_pass
+ - $set_route_overflow_order
+ - $get_route_overflow_order
+ - $set_route_pack_wires
+ - $get_route_pack_wires
+ - $set_route_protection
+ - $set_route_same_net_checking
+ - $get_route_same_net_checking
+ - $set_route_stub_direction
+ - $get_route_stub_direction
+ - $set_route_trim_nets
+ - $get_route_trim_nets
+ - $set_route_via_rotation
+ - $get_route_via_rotation
+ - $set_router_channel_size_variation
+ - $get_router_channel_size_variation
+ - $set_router_cleanup
+ - $get_router_cleanup
+ - $set_router_compound_path
+ - $get_router_compound_path
+ - $set_router_conn_order
+ - $get_router_conn_order
+ - $set_router_do_net_rules_check
+ - $get_router_do_net_rules_check
+ - $set_router_feed_bias
+ - $get_router_feed_bias
+ - $set_router_h_grid_size
+ - $get_router_h_grid_size
+ - $set_router_improve_global_val
+ - $get_router_improve_global_val
+ - $set_router_initial_global_val
+ - $get_router_initial_global_val
+ - $set_router_max_bends
+ - $get_router_max_bends
+ - $set_router_max_iters
+ - $get_router_max_iters
+ - $set_router_max_vias
+ - $get_router_max_vias
+ - $set_router_minimized_layers
+ - $get_router_minimized_layers
+ - $set_router_mode_type
+ - $get_router_mode_type
+ - $set_router_num_extra_tracks
+ - $get_router_num_extra_tracks
+ - $set_router_oper_mode_type
+ - $get_router_oper_mode_type
+ - $set_router_primary_layer_used
+ - $get_router_primary_layer_used
+ - $set_router_probe_layers
+ - $get_router_probe_layers
+ - $set_router_restricted_layers
+ - $get_router_restricted_layers
+ - $set_router_step_size
+ - $get_router_step_size
+ - $set_router_use_gridded_mode
+ - $get_router_use_gridded_mode
+ - $set_router_v_grid_size
+ - $get_router_v_grid_size
+ - $set_router_view_probes
+ - $get_router_view_probes
+ - $set_router_wrong_direction
+ - $get_router_wrong_direction
+ - $set_ruler_angle_mode
+ - $get_ruler_angle_mode
+ - $set_ruler_select_state
+ - $get_ruler_select_state
+ - $set_ruler_text_height
+ - $get_ruler_text_height
+ - $set_sd_hv_contact
+ - $set_sdl_filter
+ - $get_sdl_filter
+ - $set_sdl_preserve_orientation
+ - $get_sdl_preserve_orientation
+ - $set_sdl_quiet
+ - $get_sdl_quiet
+ - $set_search_path
+ - $get_search_path
+ - $set_select_via_pin
+ - $get_select_via_pin
+ - $set_selectable_area
+ - $get_selectable_area
+ - $set_selectable_layers
+ - $set_selectable_types
+ - $get_selectable_types
+ - $set_site_type
+ - $set_snap_basepoint_to_grid
+ - $get_snap_basepoint_to_grid
+ - $set_target_mode
+ - $get_target_mode
+ - $set_text_cull_basis
+ - $get_text_cull_basis
+ - $set_text_display
+ - $get_text_display
+ - $set_text_origin_display
+ - $get_text_origin_display
+ - $set_timer
+ - $set_toolbar_alignment
+ - $get_toolbar_alignment
+ - $set_toolbar_keep_items_visible
+ - $get_toolbar_keep_items_visible
+ - $set_undo_level
+ - $get_undo_level
+ - $set_undo_object_limit
+ - $get_undo_object_limit
+ - $set_unselect_empty
+ - $get_unselect_empty
+ - $set_update_connected
+ - $get_update_connected
+ - $set_verilog_array_delimiters
+ - $get_verilog_array_delimiters
+ - $set_verilog_supply0
+ - $get_verilog_supply0
+ - $set_verilog_supply1
+ - $get_verilog_supply1
+ - $set_view_controls
+ - $get_view_controls
+ - $set_visible_layers
+ - $set_working_directory
+ - $get_working_directory
+ - $set_xml_group_protection
+ - $get_xml_group_protection
+ - $set_xml_logfile
+ - $get_xml_logfile
+ - $set_xml_other_protection
+ - $get_xml_other_protection
+ - $set_xml_read_cell_path_style
+ - $get_xml_read_cell_path_style
+ - $set_xml_replace
+ - $get_xml_replace
+ - $set_xml_style
+ - $get_xml_style
+ - $set_xml_write_cell_path_style
+ - $get_xml_write_cell_path_style
+ - $setup_auto_checkpoint
+ - $setup_ic
+ - $setup_ic_dynamics
+ - $setup_new_windows
+ - $setup_print
+ - $setup_redraw_controls
+ - $setup_reports
+ - $setup_rulers
+ - $get_active_ruler_bgd_color
+ - $get_active_ruler_color
+ - $get_active_ruler_font
+ - $setup_sdl
+ - $setup_select_filter
+ - $setup_session
+ - $setup_status_line
+ - $show_all_mask_devices
+ - $show_all_mask_discrepancies
+ - $show_all_mask_nets
+ - $show_aspect
+ - $show_contact_gaps
+ - $show_context
+ - $show_current_mask_device
+ - $show_current_mask_discrepancy
+ - $show_current_mask_net
+ - $show_drc_all
+ - $show_drc_area
+ - $show_drc_check
+ - $show_drc_current
+ - $show_drc_scan
+ - $show_group
+ - $show_guidelines
+ - $show_layer_palette
+ - $show_mask_device_id
+ - $show_mask_device_name
+ - $show_mask_device_point
+ - $show_mask_discrepancy
+ - $show_mask_net_id
+ - $show_mask_net_name
+ - $show_mask_net_point
+ - $show_panel
+ - $show_status_line
+ - $show_system_toolbar
+ - $show_toolbar
+ - $show_tooltips
+ - $show_unplaced_instances
+ - $slice
+ - $slice_array
+ - $slice_with_polygon
+ - $slide_route
+ - $snap_to_grid
+ - $snap_to_row
+ - $startup
+ - $stretch
+ - $stretch_relative
+ - $swap_logically_equivalent_nets
+ - $toolbar_context_glyph_item
+ - $toolbar_glyph_item
+ - $tooltips_visible
+ - $trace_property_numeric
+ - $trace_property_string
+ - $trim_invalid_nets
+ - $trim_nets
+ - $trim_nets_options
+ - $undefine_layer_alias
+ - $undefine_layer_name
+ - $undefine_layer_set
+ - $undefine_must_connect
+ - $undefine_net_pairs
+ - $undelete_drc
+ - $undo
+ - $unfreeze_window
+ - $ungroup
+ - $unhighlight_all
+ - $unhighlight_group
+ - $unhighlight_hierarchical_net
+ - $unlink_floorplan_shape
+ - $unload_closed_cells
+ - $unload_mask_results
+ - $unload_viewpoint
+ - $unmake_port
+ - $unmark_all_ignored
+ - $unmark_instances_as_ignored
+ - $unpeek
+ - $unpeek_area
+ - $unplace
+ - $unprotect_all
+ - $unprotect_group
+ - $unprotect_nets
+ - $unreserve_cell
+ - $unreserve_cell_by_name
+ - $unreserve_library
+ - $unreserve_process
+ - $unselect_all
+ - $unselect_all_edges
+ - $unselect_area
+ - $unselect_area_polygon
+ - $unselect_by_name
+ - $unselect_by_property
+ - $unselect_drc
+ - $unselect_edge
+ - $unselect_group
+ - $unselect_range
+ - $unset_cell_process
+ - $unset_logic_source
+ - $unset_process_override
+ - $unshow_all_mask_devices
+ - $unshow_all_mask_discrepancies
+ - $unshow_all_mask_nets
+ - $unshow_all_mask_results
+ - $unshow_current_mask_device
+ - $unshow_current_mask_discrepancy
+ - $unshow_current_mask_net
+ - $unshow_drc
+ - $unshow_guidelines
+ - $untrace_all_properties
+ - $update_cell
+ - $update_cell_by_name
+ - $update_gadget
+ - $update_group_window
+ - $update_hier_window
+ - $update_layout_view
+ - $update_layout_config_view
+ - $update_library
+ - $view_all
+ - $view_all_mask_devices
+ - $view_all_mask_discrepancies
+ - $view_all_mask_nets
+ - $view_area
+ - $view_centered
+ - $view_context
+ - $view_current_mask_device
+ - $view_current_mask_discrepancy
+ - $view_current_mask_net
+ - $view_drc
+ - $view_highlighted
+ - $view_next
+ - $view_panel
+ - $view_previous
+ - $view_selected
+ - $write_calibre
+ - $write_def
+ - $write_design_lef
+ - $write_direct_cnet
+ - $write_direct_netlist
+ - $write_gdsii
+ - $write_hierarchical_netlist
+ - $write_lef
+ - $write_mask_cnet
+ - $write_mask_netlist
+ - $write_source_cnet
+ - $write_xml
+ - $zoom_in
+ - $zoom_out
+ - $zoom_to_grid
+
+
+ - $$add_arc
+ - $add_border
+ - $add_bus
+ - $add_circle
+ - $add_dot
+ - $add_fb_def
+ - $add_fb_inst
+ - $add_fb_pins
+ - $add_frame
+ - $add_ic_viewpoint_type
+ - $add_instance
+ - $add_line
+ - $add_net
+ - $add_panel
+ - $add_parameters
+ - $add_pin
+ - $add_polygon
+ - $add_polyline
+ - $add_property
+ - $add_property_to_handle
+ - $add_rectangle
+ - $add_selected_instance
+ - $add_settings_block
+ - $add_sheet_border
+ - $add_text
+ - $add_wire
+ - $align
+ - $allow_resizable_instances
+ - $apply_edits
+ - $auto_sequence_text
+ - $begin_edit_symbol
+ - $change_color
+ - $change_compiled_pin_name
+ - $change_group_visibility
+ - $change_instance_resize_factor
+ - $change_line_style
+ - $change_line_width
+ - $change_net_style
+ - $change_net_width
+ - $change_polygon_fill
+ - $change_property_color
+ - $change_property_font
+ - $change_property_height
+ - $change_property_justification
+ - $change_property_name
+ - $change_property_offset
+ - $change_property_orientation
+ - $change_property_stability_switch
+ - $change_property_type
+ - $change_property_value
+ - $change_property_visibility
+ - $change_property_visibility_switch
+ - $change_text_font
+ - $change_text_height
+ - $change_text_justification
+ - $change_text_value
+ - $change_variant_display
+ - $$check
+ - $check_and_save
+ - $clear_unattached_annotations
+ - $close_design_configuration
+ - $close_selection
+ - $close_window
+ - $comp_name
+ - $connect
+ - $connect_area
+ - $construct_frame
+ - $convert_fb_inst_to_def
+ - $convert_to_comment
+ - $convert_to_new_technology
+ - $copy
+ - $copy_edit_hotkey_settings
+ - $copy_multiple
+ - $copy_to_array
+ - $create_design_configuration
+ - $create_design_sheet
+ - $create_entity
+ - $create_fb_inst_from_def
+ - $create_implicit_pins
+ - $create_pin_list
+ - $create_sheet
+ - $create_symbol
+ - $create_variant_viewpoint
+ - $da_ic_crossprobe
+ - $da_ic_crossprobe_diff
+ - $define_hotkey
+ - $delete
+ - $delete_ba_property
+ - $delete_interfaces
+ - $delete_multiple_ba_properties
+ - $delete_panel
+ - $delete_parameter
+ - $delete_property
+ - $delete_property_owner
+ - $delete_sheet
+ - $delete_template_name
+ - $direct_to_active_window
+ - $disconnect
+ - $disconnect_area
+ - $disconnect_ba
+ - $display_next_sheet
+ - $display_prev_sheet
+ - $display_spec_sheet
+ - $does_selection_exist
+ - $$dump_sim_values
+ - $end_edit_symbol
+ - $$exit_sim_mode
+ - $expand_template_name
+ - $export_spice
+ - $export_verilog
+ - $export_vhdl
+ - $filter_property_check
+ - $flip
+ - $freeze_window
+ - $generate_symbol
+ - $get_active_symbol
+ - $get_active_symbol_history
+ - $get_apply_edits_needed
+ - $get_attached_objects
+ - $get_attributes
+ - $get_auto_update_inst_handles
+ - $get_basepoint
+ - $get_body_text_restriction
+ - $get_bundle_members
+ - $get_check_schematic_status
+ - $get_check_status
+ - $get_comment_graphics_attributes
+ - $get_comment_handles
+ - $get_comment_text_attributes
+ - $get_comment_text_restriction
+ - $get_comment_visibility
+ - $get_default_interface_name
+ - $get_design_sheets
+ - $get_diagram_location
+ - $get_edit_mode
+ - $get_evaluations
+ - $get_fb_line_style_by_handle
+ - $get_frame_attributes
+ - $get_frame_handles
+ - $get_grid
+ - $get_hotkey_settings
+ - $get_in_design_context
+ - $get_instance_attributes
+ - $get_instance_handles
+ - $get_instance_models
+ - $get_instance_pathname
+ - $get_instance_resize_factor
+ - $get_item_type
+ - $get_model_path
+ - $get_net_attributes
+ - $get_net_handles
+ - $get_next_active_symbol
+ - $get_object_property_attributes
+ - $get_objects
+ - $get_objects_in_area
+ - $get_origin
+ - $get_owned_property_names
+ - $get_parameter
+ - $get_pathname
+ - $get_pin_attributes
+ - $get_pin_handles
+ - $get_pin_names
+ - $get_prop_text_restriction
+ - $get_property
+ - $get_property_attributes
+ - $get_property_handles
+ - $get_property_names
+ - $get_property_owners
+ - $get_schematic_sheets
+ - $get_search_path
+ - $get_select_count
+ - $get_select_count_type
+ - $get_select_design_paths
+ - $get_select_extent
+ - $get_select_handles
+ - $get_select_handles_type
+ - $get_select_identical
+ - $get_select_text_exists
+ - $get_select_text_handle
+ - $get_select_text_name
+ - $get_select_text_origin
+ - $get_select_text_value
+ - $get_sheet_design_pathname
+ - $get_sheet_extent
+ - $get_sheetname_viewed
+ - $$get_sim_value
+ - $$get_sim_version
+ - $get_simulation_mode
+ - $get_source_edit_allowed
+ - $get_symbol_name
+ - $get_text_information
+ - $get_type_present
+ - $get_vertex_attributes
+ - $get_vertex_handles
+ - $get_view_area
+ - $get_viewpoint
+ - $get_window_names
+ - $get_window_sheet_list
+ - $group
+ - $hide_active_symbol_window
+ - $hide_annotations
+ - $hide_comment
+ - $hide_context_window
+ - $hide_panel_border
+ - $hide_status_line
+ - $hide_system_toolbar
+ - $hide_toolbar
+ - $highlight_by_handle
+ - $highlight_by_name
+ - $highlight_property_owner
+ - $$hotplot_submit
+ - $import_verilog
+ - $insert_template
+ - $is_active_symbol_window_visible
+ - $is_context_window_visible
+ - $is_handle_valid
+ - $is_selection_open
+ - $is_status_line_visible
+ - $is_system_toolbar_visible
+ - $is_toolbar_visible
+ - $load_hotkey_settings
+ - $make_fb
+ - $make_polygon
+ - $make_polyline
+ - $make_symbol
+ - $mark_property_attributes
+ - $mark_property_value
+ - $measure_distance
+ - $merge_annotations
+ - $modify_frame
+ - $move
+ - $move_cursor_incrementally
+ - $$move_settings_block
+ - $name_instances
+ - $name_instances_auto
+ - $open_design_configuration
+ - $open_design_sheet
+ - $open_down
+ - $open_schematic
+ - $open_sheet
+ - $open_source_code
+ - $open_symbol
+ - $open_top
+ - $open_up
+ - $pivot
+ - $place_active_symbol
+ - $pop_to_front
+ - $print_all_schematics
+ - $print_design_sheets
+ - $protect
+ - $protect_area
+ - $push_to_back
+ - $recalculate_properties
+ - $reconnect_annotations
+ - $redo
+ - $remove_comment_status
+ - $reopen_selection
+ - $replace
+ - $replace_with_alternate_symbol
+ - $report_broken_annotations
+ - $$report_check
+ - $report_default_property_settings
+ - $report_groups
+ - $report_hotkey_settings
+ - $report_interfaces
+ - $report_interfaces_selected
+ - $report_object
+ - $$report_object_name
+ - $report_panels
+ - $report_parameter
+ - $report_unattached_annotations
+ - $reselect
+ - $reset_instance_colors
+ - $resize_fb
+ - $revalidate_models
+ - $rotate
+ - $route
+ - $save_setup
+ - $save_sheet
+ - $save_sheet_as
+ - $save_symbol
+ - $save_symbol_as
+ - $save_variant_viewpoint
+ - $scale
+ - $scroll_down_by_unit
+ - $scroll_down_by_window
+ - $scroll_hz
+ - $scroll_left_by_unit
+ - $scroll_left_by_window
+ - $scroll_right_by_unit
+ - $scroll_right_by_window
+ - $scroll_up_by_unit
+ - $scroll_up_by_window
+ - $scroll_vt
+ - $select_all
+ - $select_area
+ - $select_branches
+ - $select_by_design_path
+ - $select_by_handle
+ - $select_by_name
+ - $select_by_property
+ - $select_by_property_type
+ - $select_fb
+ - $select_group
+ - $select_instances
+ - $select_nets
+ - $select_pins
+ - $select_property_owner
+ - $select_template_name
+ - $select_text
+ - $select_vertices
+ - $sequence_text
+ - $set_active_symbol
+ - $set_active_symbol_history
+ - $set_basepoint
+ - $set_color
+ - $set_color_config
+ - $set_compiler_options
+ - $set_default_parts_menu
+ - $set_edit_mode
+ - $set_evaluations
+ - $set_grid
+ - $set_hotkey_mode
+ - $set_next_active_symbol
+ - $set_origin
+ - $set_out_of_view_warn
+ - $set_parameter
+ - $set_previous_active_symbol
+ - $set_property_owner
+ - $set_property_type
+ - $set_search_path
+ - $set_sel_name_display
+ - $$set_sim_value
+ - $set_simulation_mode
+ - $set_template_directory
+ - $set_toolbar_alignment
+ - $set_userrule_error
+ - $set_userrule_warning
+ - $set_variant_properties
+ - $set_viewpoint
+ - $$settings_block_visible
+ - $setup_annotated_property_text
+ - $setup_check_schematic
+ - $setup_check_schematic_sheet
+ - $$setup_check_sheet
+ - $setup_check_symbol
+ - $setup_color
+ - $setup_comment
+ - $setup_default_viewpoint
+ - $setup_display
+ - $setup_function_block
+ - $setup_grid
+ - $setup_hspice_alter
+ - $setup_net
+ - $setup_object_template
+ - $setup_page
+ - $setup_property_display
+ - $setup_property_text
+ - $setup_report
+ - $setup_ripper
+ - $setup_selection
+ - $setup_select_filter
+ - $setup_sim_config
+ - $setup_sim_model_editor
+ - $setup_symbol_body
+ - $setup_text_restriction
+ - $setup_unselect_filter
+ - $show_active_symbol_window
+ - $show_annotations
+ - $show_comment
+ - $show_context_window
+ - $show_panel_border
+ - $show_registration
+ - $show_status_line
+ - $show_system_toolbar
+ - $show_toolbar
+ - $sim_add_dspf
+ - $sim_add_sdf
+ - $sim_choose_library
+ - $sim_copy_configuration_as
+ - $sim_delete_converter
+ - $sim_edit_commands
+ - $sim_edit_measurements
+ - $sim_edit_sdf
+ - $sim_export_spice
+ - $sim_get_adms_ini_file
+ - $sim_hide_dcop
+ - $sim_insert_converter_default
+ - $sim_insert_converter_inst
+ - $sim_insert_converter_net
+ - $sim_insert_converter_pin
+ - $sim_invoke
+ - $sim_invoke_mr
+ - $sim_invoke_ms
+ - $$sim_merge_annotations
+ - $sim_open_language
+ - $sim_open_lang_model
+ - $sim_process_extracted_netlist
+ - $sim_restore_setup_from
+ - $sim_run
+ - $sim_save_selected
+ - $sim_save_setup_as
+ - $sim_set_additional_commands
+ - $sim_set_include_paths
+ - $sim_set_initial_condition
+ - $sim_set_temperature
+ - $sim_setup_analysis
+ - $sim_setup_analysis_ac
+ - $sim_setup_analysis_dc
+ - $sim_setup_analysis_dcop
+ - $sim_setup_analysis_mc
+ - $sim_setup_analysis_mod_steadystate
+ - $sim_setup_analysis_noise
+ - $sim_setup_analysis_noisetran
+ - $sim_setup_analysis_steadystate
+ - $sim_setup_analysis_steadystateac
+ - $sim_setup_analysis_steadystatenoise
+ - $sim_setup_analysis_steadystateoscil
+ - $sim_setup_analysis_tran
+ - $sim_setup_netlister
+ - $sim_setup_sim_environ
+ - $$sim_setup_simulator_viewer
+ - $$sim_setup_simulator_viewer_advance
+ - $sim_simulate
+ - $sim_view_measurements
+ - $sim_view_output_file
+ - $sim_write_commands
+ - $sim_write_setup_file
+ - $slice
+ - $snap_to_grid
+ - $sort_handles
+ - $sort_handles_by_property
+ - $stretch
+ - $string_to_literal
+ - $symb_name
+ - $undo
+ - $unfreeze_window
+ - $ungroup
+ - $unhighlight_by_handle
+ - $unhighlight_by_name
+ - $unhighlight_property_owner
+ - $unmake_fb
+ - $unprotect
+ - $unprotect_area
+ - $unselect_all
+ - $unselect_area
+ - $unselect_by_design_path
+ - $unselect_by_handle
+ - $unselect_by_property
+ - $unselect_by_property_type
+ - $unselect_fb
+ - $unselect_property_owner
+ - $unselect_vertices
+ - $update
+ - $update_all
+ - $update_all_schematics
+ - $update_border
+ - $update_from_interface
+ - $$update_settings_blocks
+ - $update_title_block
+ - $view_all
+ - $view_area
+ - $view_centered
+ - $view_panel
+ - $view_selected
+ - $vpt_needs_save
+ - $was_saved
+ - $zoom_in
+ - $zoom_out
+ - $get_auto_name_net
+ - $get_auto_place_instance_name
+ - $get_check_busshorts
+ - $get_check_functionblocks
+ - $get_check_schematicbusshorts
+ - $get_check_schematicnetio
+ - $get_fb_def_color
+ - $get_fb_def_line_style
+ - $get_fb_inst_color
+ - $get_fb_inst_line_style
+ - $get_fb_int_change_popup
+ - $get_fb_passthru
+ - $get_fb_popupwin
+ - $set_annotation_color
+ - $set_annotation_visibility
+ - $set_auto_name_net
+ - $set_auto_place_instance_name
+ - $set_auto_update_mode
+ - $set_autoripper
+ - $set_autoroute
+ - $set_autoselect
+ - $set_bus_width
+ - $set_check_annotations
+ - $set_check_busshorts
+ - $set_check_closedots
+ - $set_check_dangle
+ - $set_check_expression
+ - $set_check_filemode
+ - $set_check_filename
+ - $set_check_frame
+ - $set_check_functionblocks
+ - $set_check_initprops
+ - $set_check_instance
+ - $set_check_net
+ - $set_check_notdots
+ - $set_check_overlap
+ - $set_check_owner
+ - $set_check_parameter
+ - $set_check_pins
+ - $set_check_schematicbusshorts
+ - $set_check_schematicinstance
+ - $set_check_schematicinterface
+ - $set_check_schematicnet
+ - $set_check_schematicnetio
+ - $set_check_schematicspecial
+ - $set_check_schematicuserrule
+ - $set_check_special
+ - $set_check_symbolbody
+ - $set_check_symbolinterface
+ - $set_check_symbolpin
+ - $set_check_symbolspecial
+ - $set_check_symboluserrule
+ - $set_check_transcript
+ - $set_check_userrule
+ - $set_check_window
+ - $set_close_dot
+ - $set_closeness_criteria
+ - $set_dot_size
+ - $set_dot_style
+ - $set_dynamic_cursor
+ - $set_dynamic_rounding_precision
+ - $set_environment_dofile_pathname
+ - $set_fb_def_color
+ - $set_fb_def_line_style
+ - $set_fb_inst_color
+ - $set_fb_inst_line_style
+ - $set_fb_int_change_popup
+ - $set_fb_passthru
+ - $set_fb_popupwin
+ - $set_hidden_symbol_prop_display
+ - $set_implicit_ripper
+ - $set_line_style
+ - $set_line_width
+ - $set_modify_multiple_prop_filter
+ - $set_net_style
+ - $set_net_width
+ - $set_new_annotation_visibility
+ - $set_orthogonal
+ - $set_orthogonal_angle
+ - $set_pin_spacing
+ - $set_polygon_fill
+ - $set_property_font
+ - $set_property_height
+ - $set_property_hjustification
+ - $set_property_orientation
+ - $set_property_stability_switch
+ - $set_property_transparency
+ - $set_property_visibility
+ - $set_property_visibility_switch
+ - $set_property_vjustification
+ - $set_report_filemode
+ - $set_report_filename
+ - $set_report_transcript
+ - $set_report_window
+ - $set_ripper_dot
+ - $set_ripper_mode
+ - $set_ripper_query
+ - $set_ripper_symbol_pathname
+ - $set_schem_check_mode
+ - $set_schematicuserrules_file
+ - $set_segment_select_mode
+ - $set_select_aperture
+ - $set_select_comment
+ - $set_select_exterior
+ - $set_select_frame
+ - $set_select_instance
+ - $set_select_net
+ - $set_select_pin
+ - $set_select_property
+ - $set_select_segment
+ - $set_select_symbolbody
+ - $set_select_symbolpin
+ - $set_select_text
+ - $set_select_vertex
+ - $set_selection_color
+ - $set_selection_model
+ - $set_snap
+ - $set_symboluserrules_file
+ - $set_text_font
+ - $set_text_height
+ - $set_text_hjustification
+ - $set_text_orientation
+ - $set_text_transparency
+ - $set_text_vjustification
+ - $set_undo_level
+ - $set_unselect_comment
+ - $set_unselect_exterior
+ - $set_unselect_frame
+ - $set_unselect_instance
+ - $set_unselect_net
+ - $set_unselect_pin
+ - $set_unselect_property
+ - $set_unselect_segment
+ - $set_unselect_symbolbody
+ - $set_unselect_symbolpin
+ - $set_unselect_text
+ - $set_unselect_vertex
+ - $set_userrules_file
+ - $set_user_units
+
+
+ - $add_menu_item
+ - $ask_color
+ - $ask_frame_name
+ - $ask_integer
+ - $ask_number
+ - $ask_pathname
+ - $ask_pattern
+ - $ask_save_edits
+ - $ask_scope_builtin_name
+ - $ask_scope_callable_name
+ - $ask_scope_form_name
+ - $ask_scope_frame_name
+ - $ask_scope_function_name
+ - $ask_scope_keydef_name
+ - $ask_scope_menu_name
+ - $ask_scope_stroke_name
+ - $ask_string
+ - $ask_yes_no
+ - $ask_yes_no_cancel
+ - $bell
+ - $bottom_y
+ - $c_ask_string
+ - $change_location_map_entry
+ - $change_workspace
+ - $cleanup_icons
+ - $cleanup_windows
+ - $clear_message
+ - $clear_saved_prompt
+ - $close_application_windows
+ - $close_physical_transcript
+ - $close_session
+ - $close_window
+ - $collapse_dockable
+ - $compile_userware
+ - $create_form
+ - $create_menu
+ - $create_notepad
+ - $create_prompt
+ - $create_toolbar
+ - $define_color
+ - $define_userware
+ - $delete_menu_item
+ - $delete_stroke
+ - $disable_interrupt
+ - $disable_softkey_update
+ - $dock_dockable
+ - $dockable_collapsed
+ - $dockable_docked
+ - $dockable_permission
+ - $dockable_pinned
+ - $dockable_visible
+ - $dockables_all_hidden
+ - $dockables_all_shown
+ - $dockables_locked
+ - $double_click_distance
+ - $edit_source
+ - $enable_help
+ - $enable_interrupt
+ - $enable_ref_help
+ - $enable_softkey_update
+ - $eval
+ - $execute
+ - $execute_dynamic
+ - $execute_last_menu
+ - $execute_promptbar
+ - $execute_ref
+ - $execute_stroke
+ - $expand_command
+ - $float_dockable
+ - $forget
+ - $forget_all_promptbars
+ - $forget_promptbar
+ - $form_action
+ - $form_action_buttons_gadget
+ - $form_actual_value
+ - $form_argument
+ - $form_argument_gadget
+ - $form_argument_integer_entry_gadget
+ - $form_argument_number_entry_gadget
+ - $form_argument_string_entry_gadget
+ - $form_argument_value
+ - $form_button
+ - $form_check_boxes_gadget
+ - $form_choice_buttons_gadget
+ - $form_choice_stepper_gadget
+ - $form_click_button_gadget
+ - $form_color_paint_chip_gadget
+ - $form_colors_list_box_gadget
+ - $form_column
+ - $form_display_only
+ - $form_display_text_gadget
+ - $form_dynamic_list_box_gadget
+ - $form_entry_box_gadget
+ - $form_execute_buttons
+ - $form_gadget_value
+ - $form_horiz_dynamic_list_box_gadget
+ - $form_horiz_list_box_gadget
+ - $form_item
+ - $form_label
+ - $form_left_justified_column
+ - $form_list_box_gadget
+ - $form_mouse_tracking
+ - $form_named_argument
+ - $form_named_argument_gadget
+ - $form_navigator_entry
+ - $form_navigator_gadget
+ - $form_number_entry_box_gadget
+ - $form_patterns_list_box_gadget
+ - $form_prompt_text_gadget
+ - $form_push_button_gadget
+ - $form_radio_buttons_gadget
+ - $form_repeat
+ - $form_right_justified_column
+ - $form_row
+ - $form_scope_list_box_gadget
+ - $form_set_no_enter
+ - $form_single_check_box_gadget
+ - $form_string_entry_box_gadget
+ - $form_switch
+ - $form_target_action
+ - $form_target_button
+ - $form_text_entry_box_gadget
+ - $form_variable
+ - $form_variable_gadget
+ - $frame_maximized
+ - $frame_window
+ - $get_action_bar_bgd_color
+ - $get_action_bar_fgd_color
+ - $get_active_color
+ - $get_active_window
+ - $get_additional_workspaces
+ - $get_app_name_and_version
+ - $get_app_name_no_version
+ - $get_auto_pop
+ - $get_auto_refresh
+ - $get_auto_resize_palette
+ - $get_autosave
+ - $get_base_window
+ - $get_bgd_color
+ - $get_border_width
+ - $get_current_profile
+ - $get_cursor_colors
+ - $get_cursor_shape
+ - $get_default_method
+ - $get_default_notepad_font
+ - $get_double_click_interval
+ - $get_expanded_pathname
+ - $get_fgd_color
+ - $get_focus_follows_mouse
+ - $get_focus_follows_mouse_delay
+ - $get_font_nominal_width
+ - $get_form_gadget_value
+ - $get_frame_collapsed
+ - $get_graphic_device
+ - $get_keyboard_type
+ - $get_last_window
+ - $get_message_lines
+ - $get_message_popup
+ - $get_message_reply
+ - $get_message_transcript
+ - $get_notepad_document_status
+ - $get_open_windows
+ - $get_palette_menu_visible
+ - $get_pattern
+ - $get_prompt_fonts
+ - $get_server_switch
+ - $get_sidetab_color
+ - $get_tabbed_workspace_trim_right
+ - $get_text_cursor_blink
+ - $get_transcript_output
+ - $get_window_border_width
+ - $get_window_frame_extent
+ - $get_window_frame_width
+ - $get_workspace
+ - $graphic_x
+ - $graphic_y
+ - $grow_window
+ - $help
+ - $help_context
+ - $help_enabled
+ - $hide_all_dockables
+ - $hide_command_shell
+ - $hide_dockable
+ - $hide_menu_bar
+ - $hide_message_area
+ - $hide_palette
+ - $hide_palette_scrolls
+ - $hide_scrolls
+ - $hide_softkey_labels
+ - $hide_softkeys
+ - $hide_transcript
+ - $hide_window_title
+ - $identify_interrupt
+ - $insert_menu_item
+ - $key_
+ - $left_x
+ - $load_profile
+ - $load_userware
+ - $location
+ - $lock_dockables
+ - $mark
+ - $maximize_window
+ - $menu_bar_item
+ - $menu_bar_visible
+ - $menu_context_item
+ - $menu_name
+ - $menu_parent_name
+ - $menu_registered_item
+ - $menu_separator_item
+ - $menu_special_text_item
+ - $menu_text_item
+ - $menu_title_item
+ - $message
+ - $message_area_visible
+ - $minimize_window
+ - $move_cursor
+ - $move_dockable
+ - $move_dockable_into
+ - $move_palette
+ - $move_window
+ - $next_field
+ - $next_field_promptbar
+ - $next_icon
+ - $next_window
+ - $open_notepad
+ - $open_physical_transcript
+ - $open_text_report
+ - $option_form_promptbar
+ - $palette_visible
+ - $pause
+ - $pin_dockable
+ - $pop_window
+ - $pop_window_to_top
+ - $popup_command_line
+ - $popup_last_menu
+ - $popup_menu
+ - $popup_menu_at_cursor
+ - $popup_menu_bar
+ - $popup_window_menu
+ - $prev_field
+ - $prev_field_promptbar
+ - $prompt
+ - $prompt_arg
+ - $prompt_display
+ - $prompt_dynamic
+ - $prompt_for_location
+ - $prompt_for_polylocation
+ - $prompt_for_polyrectangle
+ - $prompt_for_rectangle
+ - $prompt_options
+ - $read_cpu_timer
+ - $read_cpu_timer_total
+ - $read_map
+ - $read_timer
+ - $read_timer_total
+ - $redirect_to_active_window
+ - $ref_help
+ - $ref_help_enabled
+ - $refresh
+ - $relative_location
+ - $remove_profile
+ - $replace_palette
+ - $replay_physical_transcript
+ - $report_color
+ - $report_key
+ - $report_stroke
+ - $reposition_window
+ - $reset
+ - $reset_defaults
+ - $reset_timer
+ - $resize_palette
+ - $restore_default_profile
+ - $result
+ - $resume
+ - $right_x
+ - $save_profile
+ - $save_profile_as
+ - $screen_x
+ - $screen_y
+ - $scroll_down_by_unit
+ - $scroll_down_by_window
+ - $scroll_hz
+ - $scroll_left_by_unit
+ - $scroll_left_by_window
+ - $scroll_right_by_unit
+ - $scroll_right_by_window
+ - $scroll_to_bottom
+ - $scroll_to_left
+ - $scroll_to_right
+ - $scroll_to_top
+ - $scroll_up_by_unit
+ - $scroll_up_by_window
+ - $scroll_vt
+ - $scrolls_visible
+ - $select
+ - $select_active_window
+ - $send_ipc
+ - $session_window_active
+ - $set_action_bar_bgd_color
+ - $set_action_bar_fgd_color
+ - $set_active_color
+ - $set_active_window
+ - $set_additional_workspaces
+ - $set_auto_pop
+ - $set_auto_refresh
+ - $set_auto_resize_palette
+ - $set_autosave
+ - $set_base_window
+ - $set_bgd_color
+ - $set_border_width
+ - $set_cmd_line_font
+ - $set_cursor_colors
+ - $set_cursor_shape
+ - $set_default_method
+ - $set_default_notepad_font
+ - $set_default_position
+ - $set_double_click_distance
+ - $set_double_click_interval
+ - $set_fgd_color
+ - $set_focus_follows_mouse
+ - $set_focus_follows_mouse_delay
+ - $set_form_gadget_value
+ - $set_form_position
+ - $set_frame_width
+ - $set_graphic_device
+ - $set_invert_text_color_on_highlight
+ - $set_ipc_port
+ - $set_ipc_wakeup_interval
+ - $set_left_justify_palette_text
+ - $set_list_gadget_double_click_action
+ - $set_menu_rollover_color
+ - $set_message_font_resize
+ - $set_message_lines
+ - $set_message_popup
+ - $set_message_reply
+ - $set_message_transcript
+ - $set_palette_width
+ - $set_pattern
+ - $set_prompt_fonts
+ - $set_sidetab_color
+ - $set_softkey_bgd_color
+ - $set_softkey_fgd_color
+ - $set_softkey_font
+ - $set_tabbed_workspace_trim_right
+ - $set_text_cursor_blink
+ - $set_transcript_output
+ - $set_window_border_width
+ - $set_window_frame_width
+ - $set_working_directory
+ - setup_registered_commands
+ - $show_all_dockables
+ - $show_command_shell
+ - $show_dockable
+ - $show_location_map
+ - $show_menu_bar
+ - $show_message_area
+ - $show_palette
+ - $show_palette_scrolls
+ - $show_parent_palette
+ - $show_scrolls
+ - $show_softkey_labels
+ - $show_softkeys
+ - $show_sub_palette
+ - $show_toolbar_icons
+ - $show_toolbar_text
+ - $show_top_palette
+ - $show_transcript
+ - $show_window_title
+ - $show_workspace_tab
+ - $softkey_bgd_color
+ - $softkey_fgd_color
+ - $softkey_font
+ - $softkeys_visible
+ - $source
+ - $start_stroke
+ - $start_stroke_location
+ - $start_timer
+ - $stop
+ - $stop_stroke
+ - $stop_stroke_location
+ - $stop_timer
+ - $stroke_extent
+ - $stroke_identity
+ - $stroke_
+ - $target_name
+ - $title_visible
+ - $toolbar_action_selector_item
+ - $toolbar_add_item
+ - $toolbar_associative_item
+ - $toolbar_combo_box_item
+ - $toolbar_insert_item
+ - $toolbar_label_item
+ - $toolbar_n_state_item
+ - $toolbar_registered_item
+ - $toolbar_remove_item
+ - $toolbar_separator_item
+ - $toolbar_text_field_item
+ - $toolbar_text_icon_item
+ - $top_y
+ - $transcript_visible
+ - $ui_message_ask_yes_no
+ - $ui_message_fail
+ - $update_menu_bar
+ - $update_palette
+ - $update_softkey_labels
+ - $update_toolbars
+ - $use_animations
+ - $user_init
+ - $user_pre_init
+ - $user_window_init
+ - $using_animations
+ - $version
+ - $wait
+ - $window_class_name
+ - $window_extent
+ - $window_init
+ - $window_interior_extent
+ - $window_scope_name
+ - $window_visible
+ - $writeln
+
+
+ - $add_back_annotation
+ - $add_multiple_properties
+ - $add_parameter
+ - $add_primitive
+ - $add_property
+ - $add_substitute
+ - $add_visible_property
+ - $change_model
+ - $change_property
+ - $check_design
+ - $clear_global_parameter
+ - $close_design_viewpoint
+ - $connect_back_annotation
+ - $delete_invalid_entries
+ - $delete_parameter
+ - $delete_primitive
+ - $delete_property
+ - $delete_substitute
+ - $delete_visible_property
+ - $disconnect_back_annotation
+ - $erc_check
+ - $export_back_annotation
+ - $export_design_configuration
+ - $filter_property_check
+ - $get_viewpoint_name
+ - $import_back_annotation
+ - $is_ba_readonly
+ - $is_function_defined
+ - $latch_using_label
+ - $latch_version
+ - $maintain_back_annotation_window
+ - $open_back_annotation
+ - $open_design_configuration
+ - $open_design_viewpoint
+ - $preset_global_parameter
+ - $reload_model
+ - $report_select_counts
+ - $report_viewpoint_references
+ - $save_design_viewpoint
+ - $select_back_annotation
+ - $select_design_configuration
+ - $select_parameter
+ - $select_primitive
+ - $select_substitute
+ - $select_visible_property
+ - $unlatch_version
+ - $unselect_back_annotation
+ - $unselect_design_configuration
+ - $unselect_parameter
+ - $unselect_primitive
+ - $unselect_substitute
+ - $unselect_visible_property
+ - $update_latched_version
+
+
+
+ - $add_bundle
+ - $add_bundle_members
+ - $classify_all_genlib
+ - $classify_symbol
+ - $close_window
+ - $delete_bundle
+ - $delete_bundle_members
+ - $delete_parameter
+ - $generate
+ - $get_bundle
+ - $get_bundle_list
+ - $get_bundle_members
+ - $get_components
+ - $get_instances
+ - $get_nets
+ - $get_parameter
+ - $get_partition_setup
+ - $get_property_list
+ - $get_property_setup
+ - $get_schematics
+ - $get_sheets
+ - $get_symbols
+ - $get_symbol_classification
+ - $get_symbol_setup
+ - $open_component_from_model
+ - $open_component_from_tfnf
+ - $open_design_from_viewpoint
+ - $report_bundle_members
+ - $report_design_info
+ - $report_property_setup
+ - $report_setup
+ - $report_status_bundles
+ - $report_symbol_classifications
+ - $save
+ - $save_as
+ - $set_parameter
+ - $set_symbol_transcript
+ - $setup_partition
+ - $setup_placement
+ - $setup_property
+ - $setup_symbol_generation
+ - $view_all
+ - $view_sheet
+ - $view_symbol
+ - $zoom_in
+ - $zoom_out
+ - $set_balance
+ - $set_bundle_mode
+ - $set_bus_partition
+ - $set_cluster
+ - $set_cluster_spacing
+ - $set_connector_spacing
+ - $set_ground_placement
+ - $set_instance_spacing
+ - $set_iterate
+ - $set_lrflow
+ - $set_net_name_prefix
+ - $set_net_spacing
+ - $set_partition_by_name
+ - $set_partition_by_property
+ - $set_partition_density
+ - $set_partition_mode
+ - $set_partition_sheet_count
+ - $set_partition_sheet_size
+ - $set_placement_technique
+ - $set_power_placement
+
+
+
+ - $add_bus
+ - $add_comment_flag
+ - $add_group
+ - $add_synonym
+ - $clear_name
+ - $clear_selection_filter
+ - $close_all_windows
+ - $close_selection
+ - $delete_bus
+ - $delete_comment_flag
+ - $delete_group
+ - $delete_synonym
+ - $end_object_selection
+ - $end_object_unselection
+ - $freeze_window
+ - $get_all_instance_properties
+ - $get_all_net_properties
+ - $get_all_pin_properties
+ - $get_all_types
+ - $get_average_connected_pin
+ - $get_average_primitive_instance
+ - $get_average_selected
+ - $get_best_case
+ - $get_bottom_visible
+ - $get_bundle_names
+ - $get_bus_parts
+ - $get_bus_width
+ - $get_buses
+ - $get_comment_flags
+ - $get_component_path
+ - $get_connected
+ - $get_connected_instance
+ - $get_connected_net
+ - $get_connected_net_name
+ - $get_connected_pin
+ - $get_contained
+ - $get_default_monitor_flag_font
+ - $get_default_monitor_flag_height
+ - $get_effective_context
+ - $get_equivalent_nets
+ - $get_full_pathname
+ - $get_groups
+ - $get_highlighted
+ - $get_instance_property
+ - $get_instance_viewed
+ - $get_last_created_window
+ - $get_maximum_connected_pin
+ - $get_maximum_primitive_instance
+ - $get_maximum_selected
+ - $get_minimum_connected_pin
+ - $get_minimum_primitive_instance
+ - $get_minimum_selected
+ - $get_monitor_flag_font
+ - $get_monitor_flag_height
+ - $get_naming_context
+ - $get_nearest_instance
+ - $get_nearest_net
+ - $get_nearest_pin
+ - $get_nearest_property_and_owner
+ - $get_nearest_vertex
+ - $get_net_property
+ - $get_pin_property
+ - $get_protected
+ - $get_select_count
+ - $get_selected
+ - $get_selected_types
+ - $get_selection_filter
+ - $get_sheetname_viewed
+ - $get_source_type
+ - $get_sum_connected_pin
+ - $get_sum_primitive_instance
+ - $get_sum_selected
+ - $get_synonyms
+ - $get_top_visible
+ - $get_total_width_of
+ - $get_triplet_mode
+ - $get_typical
+ - $get_undo_depth
+ - $get_view_window_names
+ - $get_window_names
+ - $get_window_titles
+ - $get_window_type
+ - $get_worst_case
+ - $goto_highlight
+ - $highlight_instance
+ - $highlight_net
+ - $highlight_pin
+ - $instance_annotated_property
+ - $instance_exists
+ - $instance_has_annotations
+ - $instance_source_property
+ - $invalidate_window
+ - $is_window_valid
+ - $net_annotated_property
+ - $net_exists
+ - $net_has_annotations
+ - $net_source_property
+ - $open_down
+ - $open_selected
+ - $open_sheet
+ - $open_up
+ - $pin_annotated_property
+ - $pin_exists
+ - $pin_has_annotations
+ - $pin_source_property
+ - $primitive_instance
+ - $primitive_net
+ - $primitive_pin
+ - $protect
+ - $redirect_to_all_windows
+ - $redo
+ - $reopen_selection
+ - $report_buses
+ - $report_groups
+ - $report_highlighted
+ - $report_interfaces
+ - $report_naming_context
+ - $report_objects
+ - $report_parts_list
+ - $report_protected
+ - $report_synonyms
+ - $report_wire_list
+ - $reselect
+ - $select_by_name
+ - $select_by_property
+ - $select_connected
+ - $select_contained
+ - $select_group
+ - $select_messages
+ - $select_statement
+ - $select_whole_window
+ - $selection_closed
+ - $selection_filter_active
+ - $send_to_active_window
+ - $set_auto_locate
+ - $set_default_method
+ - $set_default_monitor_flag_font
+ - $set_default_monitor_flag_height
+ - $set_effective_context
+ - $set_monitor_flag_font
+ - $set_monitor_flag_height
+ - $set_naming_context
+ - $set_selection_filter
+ - $set_triplet_mode
+ - $set_undo_depth
+ - $setup_icon
+ - $setup_icon_font
+ - $setup_name
+ - $setup_window_location
+ - $undo
+ - $unfreeze_window
+ - $unhighlight_all
+ - $unhighlight_instance
+ - $unhighlight_net
+ - $unhighlight_pin
+ - $unprotect
+ - $unselect_all
+ - $unselect_by_name
+ - $unselect_by_property
+ - $unselect_except_by_property
+ - $unselect_except_group
+ - $unselect_group
+ - $unselect_statement
+ - $unselect_whole_window
+ - $update_window
+ - $write_report
+
+
+ - __da_hdl_arch_name
+ - __da_hdl_entity_name
+ - __da_hdl_lib_name
+ - __da_hdl_libraries
+ - __da_hdl_packages
+ - __da_hdl_port_init
+ - __da_hdl_port_mode
+ - __da_hdl_port_type
+ - __da_hdl_signal_type
+ - __da_suppress_units
+ - Addr_width
+ - Afall, Bfall, Qfall, Qbfall, Tfall, Tbfall
+ - Area
+ - Arise, Brise, Qrise, Qbrise, Trise, Tbrise
+ - Asim_coupling
+ - Asim_param
+ - Asim_pinorder
+ - Asim_model
+ - Asim_model Property in Element Statements
+ - Asim_model_keyword
+ - Attribute_file_required
+ - Basic_container
+ - Block_dir
+ - Brd_loc
+ - Bres_value
+ - Buildmode
+ - Bundle_cover_thickness
+ - Bundle_diameter
+ - Bundle_height
+ - Bundle_length
+ - Bundle_min_bend_radius
+ - Bundle_type
+ - Bundle_width
+ - Cap_coupled
+ - Cap_drive
+ - Cap_drive1
+ - Cap_drive2
+ - Cap_net
+ - Cap_nets_coupled
+ - Cap_pin
+ - Class
+ - Cntm_bdry_model
+ - Comp
+ - $Compaction-group
+ - Component_type
+ - $Con-edge
+ - $Con-obj
+ - Conn_order
+ - Conn_type
+ - Contention
+ - Convect_h
+ - Convect_rank
+ - Corr_formula
+ - Corr_formula_rad
+ - Cover_thickness
+ - Cpl_cap_net
+ - Creating_tool
+ - Current_drive
+ - Current_load
+ - Data_width
+ - DCinit
+ - Ddms_versioned_object
+ - Decay
+ - Dec_cap
+ - Default_plot_typ
+ - Default_tool
+ - Diff_pair
+ - Dme_config_ignore_type
+ - Dme_config_include_container
+ - Do_not_jog
+ - dont_delete
+ - dont_shrink
+ - Drive
+ - Dtime
+ - Dual_footprint
+ - Elec_class
+ - Element
+ - Emissivity
+ - Except_assy
+ - Fall
+ - Fall_adj
+ - Fall_slope
+ - Fileset_def
+ - First_addr
+ - Fpin_no_sci
+ - Frexp
+ - From_location_map
+ - From_path
+ - From_version
+ - Func
+ - $G
+ - $Gg
+ - Gate_class
+ - Gate_id
+ - Gatemode
+ - Gdsii_cell
+ - Gdsii_datatype
+ - Gdsii_error
+ - Gdsii_no_output
+ - Gdsii_plex
+ - Gdsii_property_#
+ - Gdsii_text
+ - Requirements for DRACULA II
+ - Gdsii_textinfo
+ - Geom
+ - Global
+ - Globalin
+ - Globalinout
+ - Global_net_cap
+ - Globalout
+ - Group_abut
+ - Group_name
+ - Group_place
+ - Group_prio
+ - Group_seed
+ - Icap_net
+ - Ignore_net
+ - Iih
+ - Iil
+ - Init
+ - Initial_Condition
+ - Ink_id
+ - Input_data
+ - Inst
+ - Instpar
+ - Instpartol
+ - Ioh
+ - Ioh1, Ioh2
+ - Iol
+ - Iol1, Iol2
+ - Iozh
+ - Iozl
+ - Junction_max_t
+ - Key_file
+ - Kfall
+ - Krise
+ - Large_icon
+ - Laser
+ - Lms_cat
+ - Lms_component_path
+ - Lms_geometries
+ - Lms_index
+ - Lms_symbols
+ - Load
+ - M
+ - Mass_density
+ - Master_pin
+ - Match_group
+ - Matched_net_length
+ - Mating_connector
+ - Max_addr
+ - Max_cap_pin
+ - Max_stub
+ - Max_wire_length
+ - Mfg
+ - Mgc_cat
+ - Mgc_comps
+ - Mgc_component_path
+ - Mgc_geoms
+ - Mgc_index
+ - Mgc_lib
+ - Mgc_map_path
+ - Mgc_models
+ - Mgc_prop_file_index
+ - Mgc_prop_file_path
+ - Mgc_refine_level
+ - Mgc_symbols
+ - Min_node
+ - Min_stub
+ - Min_wire_length
+ - Model
+ - Modelfile
+ - Modeltype
+ - Ms_*
+ - Multi_assay
+ - Must_jog
+ - My_net
+ - N
+ - Net
+ - Net_comp
+ - Net_comp_count
+ - Net_comp_place
+ - Netdelay
+ - Spike Model Data
+ - Example
+ - Net_length
+ - Net_order
+ - Net_prio
+ - Net_prio_protected
+ - Net_tp_min_clearance
+ - Net_tp_req
+ - Net_type
+ - Nmos_bulk_node
+ - Node
+ - Nodeset
+ - Nofault
+ - Note
+ - Npn_sub_node
+ - Num_blocks
+ - Omit_wire_list
+ - Part_no
+ - Pcb_group
+ - Pcb_ignore
+ - Pcb_inst
+ - Pcb_net
+ - Pcb_pin
+ - Pcb_pin_loc
+ - Pcb_pin_pad
+ - Phy_comp
+ - Phy_pin
+ - Pin
+ - Pin_driver
+ - Pin_gauge
+ - Pin_group
+ - Pin_no
+ - Pin_order
+ - Pin_swap
+ - Pin_tp_req
+ - Pins
+ - Pins_out
+ - Pins_spare
+ - Pintech
+ - Pintype
+ - Pintype_override
+ - Place
+ - Placement_net_cap
+ - Placement_region
+ - Pmos_bulk_node
+ - Pnp_sub_node
+ - $Pn_ext
+ - Portdir
+ - Porttype
+ - Pow_del_max
+ - Pow_del_typ
+ - Pow_derating
+ - Pow_den
+ - Pow_max
+ - Pow_max_symb
+ - Pow_min
+ - Pow_typ
+ - Pow_typ_symb
+ - Power_nets
+ - Power_pins
+ - Power_route_style
+ - Pwr
+ - Prio
+ - Process_var
+ - R
+ - Radiate_h
+ - Rc_feedthrough
+ - Ref
+ - Ref_group
+ - Refloc
+ - Rel_preplacement
+ - Release_comments
+ - Release_date
+ - Release_date_string
+ - Released_by
+ - Released_location_map
+ - Released_to_path
+ - Res_net
+ - Res_path
+ - Res_source
+ - Restrict
+ - R_hat_len
+ - R_hat_width
+ - Rise
+ - Rise_adj
+ - Rise_slope
+ - R_len
+ - R_min_dim
+ - Rn_sub_node
+ - Route_set
+ - Rp_sub_node
+ - R_shape
+ - R_width
+ - Rule
+ - S_des
+ - Seed
+ - Shape
+ - Shared
+ - Side_pref
+ - Size
+ - Small_icon
+ - Source
+ - Source_edit_allowed
+ - Spec_heat
+ - Spicepar
+ - Ss_num
+ - Stub_dir
+ - Substrate
+ - Surface
+ - Surface_area
+ - Swapping
+ - Swap_set
+ - Syn_donttouch
+ - Syn_dontuse
+ - Syn_libname
+ - Target_net_cap
+ - Tech
+ - Tegas5_lib
+ - Temp
+ - Terminator
+ - Therm_cond
+ - Therm_jc
+ - Therm_r
+ - _tid
+ - Timefile
+ - Toler
+ - Tool_reference
+ - Tphz, Tplz, Tpzh, Tpzl
+ - Trace_shielding
+ - Transmode
+ - Trim
+ - Undriven
+ - Value
+ - Variant
+ - Version_depth
+ - Vhdl_type
+ - Vih
+ - Vil
+ - Voh
+ - Voh1, Voh2
+ - Vol
+ - Vol1, Vol2
+ - Voltage
+ - Vtype
+ - Wire_auto_calc_length
+ - Zif_model
+ - Zycad_type
+
+
+
+ - $$add_configuration_entry
+ - $add_configuration_entry
+ - $$add_container
+ - $add_container
+ - $$add_directory
+ - $add_directory
+ - $add_link
+ - $add_object_property
+ - $$add_reference
+ - $add_reference
+ - $add_reference_property
+ - $add_toolbox
+ - $$add_type
+ - $add_versions
+ - $browse_for_object
+ - $$build_configuration
+ - $build_configuration
+ - $$change_configuration_references
+ - $change_configuration_references
+ - $$change_design_object_references
+ - $change_design_object_references
+ - $change_link_text
+ - $change_location_map_entry
+ - $$change_object_name
+ - $change_object_name
+ - $change_object_property
+ - $$change_object_references
+ - $change_object_references
+ - $change_password
+ - $change_protection
+ - $change_reference_property
+ - $change_reference_state
+ - $change_version_depth
+ - $check_references
+ - $check_registries
+ - $$clear_entry_filter
+ - $$clear_global_status
+ - $$clear_monitor
+ - $$close_configuration
+ - $close_hierarchy
+ - $$close_versioned_object
+ - $close_window
+ - $$convert_configuration_references
+ - $convert_configuration_references
+ - $$convert_object_references
+ - $convert_object_references
+ - $$copy_configuration
+ - $copy_configuration
+ - $$copy_design_object
+ - $copy_design_object
+ - $$copy_object
+ - $copy_object
+ - $copy_version
+ - $$create_configuration
+ - $create_dm_category
+ - $create_dm_cell
+ - $create_dm_ext_lib
+ - $create_dm_library
+ - $create_dm_project
+ - $create_dm_tech_category
+ - $create_dm_tech_lib
+ - $create_tech_config_object
+ - $$create_versioned_object
+ - $$delete_configuration
+ - $delete_configuration
+ - $delete_design_object
+ - $delete_excess_versions
+ - $$delete_object
+ - $delete_object
+ - $$delete_object_property
+ - $delete_object_property
+ - $$delete_reference
+ - $delete_reference
+ - $$delete_reference_handle
+ - $$delete_reference_property
+ - $delete_reference_property
+ - $$delete_reference_property_handle
+ - $$delete_version
+ - $delete_version
+ - $$delete_version_property
+ - $descend_hierarchy_one_level
+ - $descend_hierarchy_specify_level
+ - $$duplicate_object
+ - $edit_file
+ - $empty_trash
+ - $explore_contents
+ - $explore_parent
+ - $explore_reference_parent
+ - $explore_references
+ - $export_configuration_entries
+ - $export_library
+ - $export_location_map
+ - $find_external_deps
+ - $find_references
+ - $$fix_relative_path
+ - $$freeze_configuration
+ - $freeze_configuration
+ - $$freeze_version
+ - $freeze_version
+ - $get_area_selected_objects
+ - $$get_children
+ - $$get_configuration_entries
+ - $$get_configuration_path
+ - $$get_container_contents
+ - $$get_date_last_modified
+ - $get_default_tool
+ - $$get_entry_version
+ - $$get_fileset_members
+ - $$get_hard_name
+ - $$get_location_map
+ - $$get_monitor_error_count
+ - $$get_monitor_flag
+ - $$get_monitor_verbosity
+ - $$get_monitor_warning_count
+ - $get_navigator_directory
+ - $get_navigator_directory_hard
+ - $get_next_tool_env
+ - $$get_object_current_version
+ - $$get_object_parent_path
+ - $$get_object_path_filter
+ - $get_object_pathname
+ - $$get_object_properties
+ - $$get_object_property_filter
+ - $$get_object_property_value
+ - $$get_object_protection
+ - $$get_object_references
+ - $$get_object_type
+ - $get_object_type
+ - $$get_object_type_filter
+ - $get_object_version
+ - $$get_object_versions
+ - $$get_parent_entry
+ - $$get_primaries
+ - $$get_reference_properties
+ - $$get_reference_properties_handle
+ - $$get_reference_property_filter
+ - $$get_reference_traversal
+ - $$get_secondaries
+ - $$get_soft_name
+ - $$get_status_code
+ - $$get_status_code_stack
+ - $$get_status_messages
+ - $get_subinvoke_mode
+ - $$get_target_path
+ - $get_technology
+ - $get_toolbox_search_path
+ - $get_tool_pathname
+ - $get_tool_script
+ - $get_tool_type
+ - $$get_type_properties
+ - $$get_type_property_value
+ - $$get_version_depth
+ - $$get_version_properties
+ - $$get_working_directory
+ - $goto_directory
+ - $$handle_map_error
+ - $$has_object_property
+ - $$has_reference_property
+ - $$has_reference_property_handle
+ - $hide_secondary_entries
+ - $hide_monitor
+ - $import_classic_data
+ - $import_custom_view
+ - $import_design_kit
+ - $import_ext_lib
+ - $import_icstudio_library
+ - $import_icstudio_project
+ - $include_external_library
+ - $invoke_bgd_tool
+ - $invoke_tool
+ - $$is_build_consistent
+ - $$is_build_valid
+ - $$is_configuration_edited
+ - $$is_configuration_frozen
+ - $$is_configuration_locked
+ - $$is_container
+ - $$is_directory
+ - $$is_entry_container
+ - $$is_entry_fixed
+ - $$is_entry_primary
+ - $$is_entry_retargetable
+ - $$is_object_released
+ - $$is_object_versioned
+ - $$is_read_protected
+ - $$is_relative_path
+ - $$is_type_versioned
+ - $$is_writable
+ - $$is_write_protected
+ - $list_references
+ - $load_registry
+ - $$lock_configuration
+ - $lock_configuration
+ - $$lock_object
+ - $login_admin
+ - $logged_in
+ - $logout_admin
+ - $maintain_hierarchy
+ - $$monitor_global_status
+ - $$move_design_object
+ - $move_design_object
+ - $$move_object
+ - $move_object
+ - $$object_complete
+ - $$object_exists
+ - $$open_configuration
+ - $open_configuration_window
+ - $$open_hierarchy
+ - $open_navigator
+ - $open_object
+ - $open_read_only_editor
+ - $open_session_monitor
+ - $$open_tool
+ - $open_tool
+ - $open_tools_window
+ - $open_trash_window
+ - $open_types_window
+ - $$open_versioned_object
+ - $$prune_design_hierarchy
+ - $$read_map
+ - $read_map
+ - $refresh_all
+ - $$release_configuration
+ - $release_configuration
+ - $$release_object
+ - $release_object
+ - $$remove_configuration_entry
+ - $remove_configuration_entry
+ - $remove_external_library
+ - $remove_toolbox
+ - $report_configuration_info
+ - $$report_configuration_references
+ - $report_configuration_references
+ - $report_entry_info
+ - $$report_entry_verification
+ - $report_entry_verification
+ - $$report_global_status
+ - $report_object_info
+ - $report_reference_info
+ - $report_tool_info
+ - $report_type_info
+ - $report_version_info
+ - $$resolve_path
+ - $$revert_version
+ - $revert_version
+ - $$salvage_object
+ - $salvage_object
+ - $$save_configuration
+ - $save_configuration
+ - $$save_configuration_as
+ - $save_configuration_as
+ - $$save_object
+ - $save_toolbox_search_path
+ - $search
+ - $search_again
+ - $select_all
+ - $select_by_name
+ - $select_by_library
+ - $select_by_type
+ - $select_config_entry
+ - $select_object
+ - $select_reference
+ - $select_tool
+ - $select_toolbox
+ - $select_trash_object
+ - $select_version
+ - $set_build_rules
+ - $$set_location_map_entry
+ - $$set_monitor_flag
+ - $$set_monitor_verbosity
+ - $set_next_tool_env
+ - $$set_object_path_filter
+ - $$set_object_property
+ - $$set_object_property_filter
+ - $$set_object_type_filter
+ - $set_project_refresh_heartbeat
+ - $$set_protection
+ - $$set_protection_numeric
+ - $$set_reference_property
+ - $$set_reference_property_filter
+ - $$set_reference_property_handle
+ - $$set_reference_traversal
+ - $set_subinvoke_mode
+ - $$set_target_path
+ - $set_target_path
+ - $set_technology
+ - $set_toolbox_search_path
+ - $$set_version_depth
+ - $$set_version_property
+ - $$set_working_directory
+ - $set_working_directory
+ - $setup_filter_active
+ - $setup_filter_all
+ - $setup_default_editor
+ - $setup_iconic_window_layout
+ - $setup_invoke_tool
+ - $$setup_monitor
+ - $setup_monitor
+ - $setup_session_defaults
+ - $setup_startup_windows
+ - $show_all_files
+ - $show_compiled_libs
+ - $show_component_hierarchy
+ - $show_custom_views
+ - $show_directories
+ - $show_ext_libs
+ - $show_language_views
+ - $show_layout_views
+ - $$show_location_map
+ - $show_location_map
+ - $show_logic_views
+ - $show_references
+ - $show_monitor
+ - $show_tech_libs
+ - $show_versions
+ - $trash_object
+ - $$unfreeze_configuration
+ - $unfreeze_configuration
+ - $$unfreeze_version
+ - $unfreeze_version
+ - $$unlock_configuration
+ - $unlock_configuration
+ - $$unlock_object
+ - $unselect_all
+ - $unselect_by_name
+ - $unselect_by_type
+ - $unselect_config_entry
+ - $unselect_object
+ - $unselect_reference
+ - $unselect_tool
+ - $unselect_toolbox
+ - $unselect_trash_object
+ - $unselect_version
+ - $unset_next_tool_env
+ - $untrash_object
+ - $$update_type
+ - $update_window
+ - $validate_technology
+ - $view_by_icon
+ - $view_by_name
+ - $view_containment_hierarchy
+ - $view_primary_hierarchy
+ - $view_secondary_entries
+ - $view_toolboxes
+ - $view_tools
+ - $write_default_startup_file
+ - $$writeln_monitor
+
+
+ - $get_current_obj_hier_path
+ - $get_current_obj_inst_list
+ - $idw_dh_setup_display
+ - $idw_report_hier
+ - $idw_open_hierarchy_window
+ - $inst_area_extend_selection
+ - $inst_area_select_all_items
+ - $inst_area_select_item
+ - $inst_area_show_instances
+ - $inst_area_unselect_all_items
+ - $make_obj_current
+ - $open_new_comp_hierarchy
+ - $open_new_hierarchy
+ - $select_obj
+ - $show_instance
+ - $show_n_levels
+ - $set_font
+ - $setup_comp_hierarchy_display
+ - $setup_hierarchy_selection
+ - $write_default_startup_file
+ - $add_components
+ - $add_labels_to_models
+ - $collapse_object
+ - $delete_labels_from_models
+ - $delete_part_interfaces
+ - $expand_object
+ - $forget_components_edits
+ - $hide_body_props
+ - $hide_labels
+ - $hide_model
+ - $hide_pin_properties
+ - $hide_pins
+ - $register_models
+ - $remove_components
+ - $rename_part_interface
+ - $report_body_prop_info
+ - $report_component_info
+ - $report_model_entry_info
+ - $report_models_for_each_label
+ - $report_model_info
+ - $report_models_with_all_labels
+ - $report_pin_info
+ - $save_components_edits
+ - $select_model_object
+ - $select_object
+ - $set_bgd_color
+ - $set_bgd_color_title_items
+ - $set_bgd_color_titles
+ - $set_constraints
+ - $set_default_part_interface
+ - $set_fgd_color
+ - $set_fgd_color_title_items
+ - $set_fgd_color_titles
+ - $set_font
+ - $set_part_interface_font
+ - $show_body_props
+ - $show_labels
+ - $show_model
+ - $show_pins
+ - $show_pin_properties
+ - $unselect_model_object
+ - $unselect_object
+ - $validate_models
+
+
+ - quick_help
+ - ref_help
+
+
+
+ - optional
+ - default
+
+
+
+
+ - name
+ - callable
+ - enum
+ - integer
+ - location
+ - name
+ - number
+ - pathname
+ - polylocation
+ - polyrectangle
+ - real
+ - rectangle
+ - status
+ - string
+ - vector
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ansforth94.xml b/data/syntax/ansforth94.xml
new file mode 100644
index 0000000..18ffb09
--- /dev/null
+++ b/data/syntax/ansforth94.xml
@@ -0,0 +1,601 @@
+
+
+
+
+
+
+ - !
+ - #
+ - #>
+ - #S
+ - '
+ - (
+ - *
+ - */
+ - */MOD
+ - +
+ - +!
+ - +LOOP
+ - ,
+ - -
+ - .
+ - ."
+ - /
+ - /MOD
+ - 0<
+ - 0=
+ - 1+
+ - 1-
+ - 2!
+ - 2*
+ - 2/
+ - 2@
+ - 2DROP
+ - 2DUP
+ - 2OVER
+ - 2SWAP
+ - :
+ - ;
+ - <
+ - <#
+ - =
+ - >
+ - >BODY
+ - >IN
+ - >NUMBER
+ - >R
+ - ?DUP
+ - @
+ - ABORT
+ - ABORT"
+ - ABS
+ - ACCEPT
+ - ALIGN
+ - ALIGNED
+ - ALLOT
+ - AND
+ - BASE
+ - BEGIN
+ - BL
+ - C!
+ - C,
+ - C@
+ - CELL+
+ - CELLS
+ - CHAR
+ - CHAR+
+ - CHARS
+ - CONSTANT
+ - COUNT
+ - CR
+ - CREATE
+ - DECIMAL
+ - DEPTH
+ - DO
+ - DOES>
+ - DROP
+ - DUP
+ - ELSE
+ - EMIT
+ - ENVIRONMENT?
+ - EVALUATE
+ - EXECUTE
+ - EXIT
+ - FILL
+ - FIND
+ - FM/MOD
+ - HERE
+ - HOLD
+ - I
+ - IF
+ - IMMEDIATE
+ - INVERT
+ - J
+ - KEY
+ - LEAVE
+ - LITERAL
+ - LOOP
+ - LSHIFT
+ - M*
+ - MAX
+ - MIN
+ - MOD
+ - MOVE
+ - NEGATE
+ - OR
+ - OVER
+ - POSTPONE
+ - QUIT
+ - R>
+ - R@
+ - RECURSE
+ - REPEAT
+ - ROT
+ - RSHIFT
+ - S"
+ - S>D
+ - SIGN
+ - SM/REM
+ - SOURCE
+ - SPACE
+ - SPACES
+ - STATE
+ - SWAP
+ - THEN
+ - TYPE
+ - U.
+ - U<
+ - UM*
+ - UM/MOD
+ - UNLOOP
+ - UNTIL
+ - VARIABLE
+ - WHILE
+ - WORD
+ - XOR
+ - [
+ - [']
+ - [CHAR]
+ - ]
+
+
+ - .(
+ - .R
+ - 0<>
+ - 0>
+ - 2>R
+ - 2R>
+ - 2R@
+ - :NONAME
+ - <>
+ - ?DO
+ - AGAIN
+ - C"
+ - CASE
+ - COMPILE,
+ - ENDCASE
+ - ENDOF
+ - ERASE
+ - FALSE
+ - HEX
+ - MARKER
+ - NIP
+ - OF
+ - PAD
+ - PARSE
+ - PICK
+ - REFILL
+ - RESTORE-INPUT
+ - ROLL
+ - SAVE-INPUT
+ - SOURCE-ID
+ - TO
+ - TRUE
+ - TUCK
+ - U.R
+ - U>
+ - UNUSED
+ - VALUE
+ - WITHIN
+ - [COMPILE]
+ - \
+
+
+ - #TIB
+ - CONVERT
+ - EXPECT
+ - QUERY
+ - SPAN
+ - TIB
+
+
+ - BLK
+ - BLOCK
+ - BUFFER
+ - EVALUATE
+ - FLUSH
+ - LOAD
+ - SAVE-BUFFERS
+ - UPDATE
+
+
+ - EMPTY-BUFFERS
+ - LIST
+ - REFILL
+ - SCR
+ - THRU
+ - \
+
+
+ - 2CONSTANT
+ - 2LITERAL
+ - 2VARIABLE
+ - D+
+ - D-
+ - D.
+ - D.R
+ - D0<
+ - D0=
+ - D2*
+ - D2/
+ - D<
+ - D=
+ - D>S
+ - DABS
+ - DMAX
+ - DMIN
+ - DNEGATE
+ - M*/
+ - M+
+
+
+ - 2ROT
+ - DU<
+
+
+ - CATCH
+ - THROW
+
+
+ - ABORT
+ - ABORT"
+
+
+ - AT-XY
+ - KEY?
+ - PAGE
+
+
+ - EKEY
+ - EKEY>CHAR
+ - EKEY?
+ - EMIT?
+ - MS
+ - TIME&DATE
+
+
+ - (
+ - BIN
+ - CLOSE-FILE
+ - CREATE-FILE
+ - DELETE-FILE
+ - FILE-POSITION
+ - FILE-SIZE
+ - INCLUDE-FILE
+ - INCLUDED
+ - OPEN-FILE
+ - R/O
+ - R/W
+ - READ-FILE
+ - READ-LINE
+ - REPOSITION-FILE
+ - RESIZE-FILE
+ - S"
+ - SOURCE-ID
+ - W/O
+ - WRITE-FILE
+ - WRITE-LINE
+
+
+ - FILE-STATUS
+ - FLUSH-FILE
+ - REFILL
+ - RENAME-FILE
+
+
+ - >FLOAT
+ - D>F
+ - F!
+ - F*
+ - F+
+ - F-
+ - F/
+ - F0<
+ - F0=
+ - F<
+ - F>D
+ - F@
+ - FALIGN
+ - FALIGNED
+ - FCONSTANT
+ - FDEPTH
+ - FDROP
+ - FDUP
+ - FLITERAL
+ - FLOAT+
+ - FLOATS
+ - FLOOR
+ - FMAX
+ - FMIN
+ - FNEGATE
+ - FOVER
+ - FROT
+ - FROUND
+ - FSWAP
+ - FVARIABLE
+ - REPRESENT
+
+
+ - DF!
+ - DF@
+ - DFALIGN
+ - DFALIGNED
+ - DFLOAT+
+ - DFLOATS
+ - F**
+ - F.
+ - FABS
+ - FACOS
+ - FACOSH
+ - FALOG
+ - FASIN
+ - FASINH
+ - FATAN
+ - FATAN2
+ - FATANH
+ - FCOS
+ - FCOSH
+ - FE.
+ - FEXP
+ - FEXPM1
+ - FLN
+ - FLNP1
+ - FLOG
+ - FS.
+ - FSIN
+ - FSINCOS
+ - FSINH
+ - FSQRT
+ - FTAN
+ - FTANH
+ - F~
+ - PRECISION
+ - SET-PRECISION
+ - SF!
+ - SF@
+ - SFALIGN
+ - SFALIGNED
+ - SFLOAT+
+ - SFLOATS
+
+
+ - (LOCAL)
+ - TO
+
+
+ - LOCALS|
+
+
+ - ALLOCATE
+ - FREE
+ - RESIZE
+
+
+ - .S
+ - ?
+ - DUMP
+ - SEE
+ - WORDS
+
+
+ - ;CODE
+ - AHEAD
+ - ASSEMBLER
+ - BYE
+ - CODE
+ - CS-PICK
+ - CS-ROLL
+ - EDITOR
+ - STATE
+ - [ELSE]
+ - [IF]
+ - [THEN]
+
+
+ - FORGET
+
+
+ - DEFINITIONS
+ - FIND
+ - FORTH-WORDLIST
+ - GET-CURRENT
+ - GET-ORDER
+ - SEARCH-WORDLIST
+ - SET-CURRENT
+ - SET-ORDER
+ - WORDLIST
+
+
+ - ALSO
+ - FORTH
+ - ONLY
+ - ORDER
+ - PREVIOUS
+
+
+ - -TRAILING
+ - /STRING
+ - BLANK
+ - CMOVE
+ - CMOVE>
+ - COMPARE
+ - SEARCH
+ - SLITERAL
+
+
+ - TODO
+ - FIXME
+ - NOTE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ansic89.xml b/data/syntax/ansic89.xml
new file mode 100644
index 0000000..e3be2df
--- /dev/null
+++ b/data/syntax/ansic89.xml
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+ - break
+ - case
+ - continue
+ - default
+ - do
+ - else
+ - enum
+ - extern
+ - for
+ - goto
+ - if
+ - return
+ - sizeof
+ - struct
+ - switch
+ - typedef
+ - union
+ - while
+
+
+ - auto
+ - char
+ - const
+ - double
+ - float
+ - int
+ - long
+ - register
+ - short
+ - signed
+ - static
+ - unsigned
+ - void
+ - volatile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ansys.xml b/data/syntax/ansys.xml
new file mode 100644
index 0000000..c79594a
--- /dev/null
+++ b/data/syntax/ansys.xml
@@ -0,0 +1,2064 @@
+
+
+
+
+
+ - /BATCH
+ - /CONFIG
+ - /CWD
+ - /EOF
+ - /EXIT
+ - /FILNAME
+ - HELP
+ - /INPUT
+ - KEYW
+ - MEMM
+ - /MENU
+ - /MSTART
+ - /NERR
+ - /OUTPUT
+ - /STATUS
+ - /SYP
+ - /SYS
+ - /UI
+ - /UIS
+ - /AUX2
+ - /AUX3
+ - /AUX12
+ - /AUX15
+ - FINISH
+ - /OPT
+ - /POST1
+ - /POST26
+ - /PREP7
+ - /QUIT
+ - /RUNST
+ - /SOLU
+ - /ASSIGN
+ - /CLOG
+ - /COPY
+ - /DELETE
+ - /FDELE
+ - /FTYPE
+ - LGWRITE
+ - *LIST
+ - /RENAME
+ - /COM
+ - /GO
+ - /GOLIST
+ - /GOPR
+ - /NOLIST
+ - /NOPR
+
+
+ - /CLEAR
+ - RESUME
+ - SAVE
+ - /SMBC
+ - STAT
+ - /STITLE
+ - /TITLE
+ - UNDO
+ - /UNITS
+ - ALLSEL
+ - ASLL
+ - ASEL
+ - ASLV
+ - DOFSEL
+ - ESEL
+ - ESLA
+ - ESLL
+ - ESLN
+ - ESLV
+ - KSEL
+ - KSLL
+ - KSLN
+ - LSEL
+ - LSLA
+ - LSLK
+ - NSEL
+ - NSLA
+ - NSLE
+ - NSLK
+ - NSLL
+ - NSLV
+ - PARTSEL
+ - VSEL
+ - VSLA
+ - CM
+ - CMDELE
+ - CMEDIT
+ - CMGRP
+ - CMLIST
+ - CMMOD
+ - CMPLOT
+ - CMSEL
+ - KWPAVE
+ - KWPLAN
+ - LWPLAN
+ - NWPAVE
+ - NWPLAN
+ - WPAVE
+ - WPCSYS
+ - WPLANE
+ - WPOFFS
+ - WPROTA
+ - WPSTYL
+ - CLOCAL
+ - CS
+ - CSCIR
+ - CSDELE
+ - CSKP
+ - CSLIST
+ - CSWPLA
+ - CSYS
+ - LOCAL
+ - FITEM
+ - FLST
+
+
+ - /CMAP
+ - /COLOR
+ - /DEVICE
+ - DSYS
+ - /DV3D
+ - /ERASE
+ - ERASE
+ - /GCMD
+ - /GCOLUMN
+ - /GFILE
+ - GPLOT
+ - /GRAPHICS
+ - /GRESUME
+ - /GSAVE
+ - /GTYPE
+ - HPGL
+ - /IMAGE
+ - IMMED
+ - JPEG
+ - /MREP
+ - /NOERASE
+ - /PCOPY
+ - PNGR
+ - PSCR
+ - /PSTATUS
+ - /REPLOT
+ - /RESET
+ - /SEG
+ - /SHOW
+ - TIFF
+ - /WINDOW
+ - /ANGLE
+ - /AUTO
+ - /DIST
+ - /FOCUS
+ - /USER
+ - /VCONE
+ - /VIEW
+ - /VUP
+ - /XFRM
+ - /ZOOM
+ - /DSCALE
+ - /ICLWID
+ - /ICSCALE
+ - /RATIO
+ - /SHRINK
+ - /SSCALE
+ - /TXTRE
+ - /VSCALE
+ - /CPLANE
+ - /CTYPE
+ - /EDGE
+ - /ESHAPE
+ - /FACET
+ - /GLINE
+ - /GMARKER
+ - GMFACE
+ - /LIGHT
+ - /NORMAL
+ - /SHADE
+ - /TRLCY
+ - /TYPE
+ - /CFORMAT
+ - /CLABEL
+ - /CONTOUR
+ - /CVAL
+ - /GFORMAT
+ - /HBC
+ - /NUMBER
+ - /PBC
+ - /PBF
+ - PGSELE
+ - /PICE
+ - /PLOPTS
+ - /PNUM
+ - /PSF
+ - /PSYMB
+ - /TRIAD
+ - /UDOC
+ - /AXLAB
+ - /GRID
+ - /GROPT
+ - /GRTYP
+ - /GTHK
+ - /XRANGE
+ - /YRANGE
+ - /AN3D
+ - /ANNOT
+ - /ANUM
+ - /LARC
+ - /LINE
+ - /LSPEC
+ - /LSYMBOL
+ - /PCIRCLE
+ - /PMORE
+ - /POLYGON
+ - /PSPEC
+ - /PWEDGE
+ - /TLABEL
+ - /TSPEC
+
+
+ - GET
+ - *ABBR
+ - ABBRES
+ - ABBSAV
+ - *AFUN
+ - *ASK
+ - *CFCLOS
+ - *CFOPEN
+ - *CFWRITE
+ - *CREATE
+ - *CYCLE
+ - *DEL
+ - /DFLAB
+ - *DIM
+ - /DIRECTORY
+ - *DO
+ - *DOWHILE
+ - *ELSE
+ - *ELSEIF
+ - *END
+ - *ENDDO
+ - *ENDIF
+ - *EXIT
+ - *GET
+ - *GO
+ - *IF
+ - /INQUIRE
+ - /MAIL
+ - *MFOURI
+ - *MFUN
+ - *MOPER
+ - *MSG
+ - *MWRITE
+ - PARRES
+ - PARSAV
+ - /PMACRO
+ - /PSEARCH
+ - *REPEAT
+ - *RETURN
+ - *SET
+ - *SREAD
+ - *STATUS
+ - *TAXIS
+ - /TEE
+ - *TOPER
+ - *TREAD
+ - /UCMD
+ - *ULIB
+ - *USE
+ - *VABS
+ - *VCOL
+ - *VCUM
+ - *VEDIT
+ - *VFACT
+ - *VFILL
+ - *VFUN
+ - *VGET
+ - *VITRP
+ - *VLEN
+ - *VMASK
+ - *VOPER
+ - *VPLOT
+ - *VPUT
+ - *VREAD
+ - *VSCFUN
+ - *VSTAT
+ - *VWRITE
+ - /WAIT
+
+
+ - AFLIST
+ - CDREAD
+ - CDWRITE
+ - CDOPT
+ - CECHECK
+ - CHECK
+ - CNCHECK
+ - FC
+ - FCCHECK
+ - FCDELE
+ - FCLIST
+ - IGESOUT
+ - NOOFFSET
+ - NUMCMP
+ - NUMMRG
+ - NUMOFF
+ - NUMSTR
+ - DOF
+ - ET
+ - ETCONTROL
+ - ETDELE
+ - ETLIST
+ - KEYOPT
+ - NSVR
+ - R
+ - RDELE
+ - RLIST
+ - RMODIF
+ - RMORE
+ - SETFGAP
+ - EMUNIT
+ - *EVAL
+ - *MOONEY
+ - MP
+ - MPAMOD
+ - MPCHG
+ - MPCOPY
+ - MPDATA
+ - MPDELE
+ - MPDRES
+ - /MPLIB
+ - MPLIST
+ - MPPLOT
+ - MPREAD
+ - MPTEMP
+ - MPTGEN
+ - MPTRES
+ - MPWRITE
+ - TBFT
+ - UIMP
+ - TB
+ - TBCOPY
+ - TBDATA
+ - TBDELE
+ - TBFIELD
+ - TBLIST
+ - TBMODIF
+ - TBPLOT
+ - TBPT
+ - TBTEMP
+ - BLC4
+ - BLC5
+ - BLOCK
+ - CON4
+ - CONE
+ - CYL4
+ - CYL5
+ - CYLIND
+ - PCIRC
+ - POLY
+ - PRI2
+ - PRISM
+ - PTXY
+ - RECTNG
+ - RPOLY
+ - RPR4
+ - RPRISM
+ - SPH4
+ - SPH5
+ - SPHERE
+ - TORUS
+ - GSUM
+ - K
+ - KBETW
+ - KCENTER
+ - KDELE
+ - KDIST
+ - KFILL
+ - KGEN
+ - KL
+ - KLIST
+ - KMODIF
+ - KMOVE
+ - KNODE
+ - KPLOT
+ - KPSCALE
+ - KSCALE
+ - KSUM
+ - KSYMM
+ - KTRAN
+ - SOURCE
+ - HPTCREATE
+ - HPTDELETE
+ - BSPLIN
+ - CIRCLE
+ - GSUM
+ - L
+ - L2ANG
+ - L2TAN
+ - LANG
+ - LARC
+ - LAREA
+ - LCOMB
+ - LDELE
+ - LDIV
+ - LDRAG
+ - LEXTND
+ - LFILLT
+ - LGEN
+ - LLIST
+ - LPLOT
+ - LREVERSE
+ - LROTAT
+ - LSSCALE
+ - LSTR
+ - LSUM
+ - LSYMM
+ - LTAN
+ - LTRAN
+ - SPLINE
+ - SSLN
+ - A
+ - AATT
+ - ADELE
+ - ADGL
+ - ADRAG
+ - AFILLT
+ - AGEN
+ - AL
+ - ALIST
+ - ANORM
+ - AOFFST
+ - APLOT
+ - AREVERSE
+ - AROTAT
+ - ARSCALE
+ - ARSYM
+ - ASKIN
+ - ASUB
+ - ASUM
+ - ATRAN
+ - GSUM
+ - SPLOT
+ - EXTOPT
+ - GSUM
+ - V
+ - VA
+ - VDELE
+ - VDGL
+ - VDRAG
+ - VEXT
+ - VGEN
+ - VLIST
+ - VLSCALE
+ - VOFFST
+ - VPLOT
+ - VROTAT
+ - VSUM
+ - VSYMM
+ - VTRAN
+ - AADD
+ - AGLUE
+ - AINA
+ - AINP
+ - AINV
+ - AOVLAP
+ - APTN
+ - ASBA
+ - ASBL
+ - ASBV
+ - ASBW
+ - BOPTN
+ - BTOL
+ - LCSL
+ - LGLUE
+ - LINA
+ - LINL
+ - LINP
+ - LINV
+ - LOVLAP
+ - LPTN
+ - LSBA
+ - LSBL
+ - LSBV
+ - LSBW
+ - VADD
+ - VGLUE
+ - VINP
+ - VINV
+ - VOVLAP
+ - VPTN
+ - VSBA
+ - VSBV
+ - VSBW
+ - ACCAT
+ - ACLEAR
+ - AESIZE
+ - AMAP
+ - AMESH
+ - AREFINE
+ - CHKMSH
+ - CLRMSHLN
+ - CPCYC
+ - DESIZE
+ - EORIENT
+ - EREFINE
+ - ESIZE
+ - ESYS
+ - FVMESH
+ - GSGDATA
+ - IMESH
+ - KATTA
+ - KCLEAR
+ - KESIZE
+ - KMESH
+ - KREFINE
+ - KSCON
+ - LATT
+ - LCCAT
+ - LCLEAR
+ - LESIZE
+ - LMESH
+ - LREFINE
+ - MAT
+ - MCHECK
+ - MODMSH
+ - MOPT
+ - MSHAPE
+ - MSHCOPY
+ - MSHKEY
+ - MSHMID
+ - MSHPATTERN
+ - NREFINE
+ - PSMESH
+ - REAL
+ - RTHICK
+ - SHPP
+ - SMRTSIZE
+ - TCHG
+ - TIMP
+ - TYPE
+ - VATT
+ - VCLEAR
+ - VIMP
+ - VMESH
+ - VEORIENT
+ - VSWEEP
+ - CENTER
+ - FILL
+ - MOVE
+ - N
+ - NANG
+ - NDELE
+ - NDIST
+ - NGEN
+ - NKPT
+ - NLIST
+ - NMODIF
+ - NPLOT
+ - NREAD
+ - NROTAT
+ - NRRANG
+ - NSCALE
+ - NSMOOTH
+ - NSYM
+ - NWRITE
+ - QUAD
+ - SOURCE
+ - TRANSFER
+ - AFSURF
+ - E
+ - EDELE
+ - EGEN
+ - EINTF
+ - ELIST
+ - EMID
+ - EMODIF
+ - EMORE
+ - EMTGEN
+ - EN
+ - ENDRELEASE
+ - ENGEN
+ - ENORM
+ - ENSYM
+ - EORIENT
+ - EPLOT
+ - EREAD
+ - ERRANG
+ - ESURF
+ - ESYM
+ - ESYS
+ - EWRITE
+ - LAYLIST
+ - LAYPLOT
+ - LFSURF
+ - MAT
+ - NDSURF
+ - REAL
+ - SHSD
+ - SWADD
+ - SWDEL
+ - SWGEN
+ - SWLIST
+ - TSHAP
+ - TYPE
+ - UPGEOM
+ - SE
+ - SEDLIST
+ - SELISTL
+ - SESYMM
+ - SETRAN
+ - BELLOW
+ - BEND
+ - BRANCH
+ - FLANGE
+ - MITER
+ - PCORRO
+ - PDRAG
+ - PFLUID
+ - PGAP
+ - PINSUL
+ - POPT
+ - PPRES
+ - PSPEC
+ - PSPRNG
+ - PTEMP
+ - PUNIT
+ - REDUCE
+ - RUN
+ - TEE
+ - VALVE
+ - DIG
+ - DMOVE
+ - DSET
+ - DSURF
+ - CP
+ - CPDELE
+ - CPINTF
+ - CPLGEN
+ - CPLIST
+ - CPNGEN
+ - CPSGEN
+ - CE
+ - CECYC
+ - CEDELE
+ - CEINTF
+ - CELIST
+ - CERIG
+ - CESGEN
+ - RBE3
+ - NOORDER
+ - WAVES
+ - WERASE
+ - WFRONT
+ - WMID
+ - WMORE
+ - WSORT
+ - WSTART
+ - FLDATA
+ - FLDATA1
+ - FLDATA2
+ - FLDATA3
+ - FLDATA4
+ - FLDATA4A
+ - FLDATA5
+ - FLDATA6
+ - FLDATA7
+ - FLDATA8
+ - FLDATA9
+ - FLDATA10
+ - FLDATA11
+ - FLDATA12
+ - FLDATA13
+ - FLDATA14
+ - FLDATA15
+ - FLDATA16
+ - FLDATA17
+ - FLDATA18
+ - FLDATA19
+ - FLDATA20
+ - FLDATA20A
+ - FLDATA20B
+ - FLDATA21
+ - FLDATA22
+ - FLDATA23
+ - FLDATA24
+ - FLDATA24A
+ - FLDATA24B
+ - FLDATA24C
+ - FLDATA24D
+ - FLDATA24E
+ - FLDATA24F
+ - FLDATA24G
+ - FLDATA24H
+ - FLDATA40
+ - FLDATA25
+ - FLDATA26
+ - FLDATA34
+ - FLDATA27
+ - FLDATA28
+ - FLDATA29
+ - FLDATA30
+ - FLDATA31
+ - FLDATA32
+ - FLDATA33
+ - FLDATA35
+ - FLDATA36
+ - FLDATA37
+ - FLDATA38
+ - FLDATA39
+ - ICVFRC
+ - PLVFRC
+ - MSADV
+ - MSCAP
+ - MSDATA
+ - MSMASS
+ - MSMETH
+ - MSMIR
+ - MSNOMF
+ - MSPROP
+ - MSQUAD
+ - MSRELAX
+ - MSSOLU
+ - MSSPEC
+ - MSTERM
+ - MSVARY
+ - /CYCEXPAND
+ - CYCLIC
+ - CYCOPT
+ - EMSYM
+ - HFEREFINE
+ - PERBC2D
+ - PHYSICS
+ - RACE
+ - AREAS
+ - BOOL
+ - CEQN
+ - COUPLE
+ - DIGIT
+ - ELEM
+ - ETYPE
+ - FATIGUE
+ - FEBODY
+ - FECONS
+ - FEFOR
+ - FESURF
+ - FLOTRAN
+ - GEOMETRY
+ - KEYPTS
+ - LINE
+ - MATER
+ - MESHING
+ - NODES
+ - PIPE
+ - PMETH
+ - PRIM
+ - RCON
+ - REORDER
+ - SELM
+ - TBLE
+ - VOLUMES
+ - EDASMP
+ - EDBOUND
+ - EDBX
+ - EDCGEN
+ - EDCLIST
+ - EDCMORE
+ - EDCNSTR
+ - EDCONTACT
+ - EDCRB
+ - EDCURVE
+ - EDDBL
+ - EDDC
+ - EDIPART
+ - EDLCS
+ - EDMP
+ - EDNB
+ - EDNDTSD
+ - EDNROT
+ - EDPART
+ - EDPC
+ - EDSP
+ - EDWELD
+ - ALPFILL
+ - ARCOLLAPSE
+ - ARDETACH
+ - ARFILL
+ - ARMERGE
+ - ARSPLIT
+ - GAPFINISH
+ - GAPLIST
+ - GAPMERGE
+ - GAPOPT
+ - GAPPLOT
+ - LNCOLLAPSE
+ - LNDETACH
+ - LNFILL
+ - LNMERGE
+ - LNSPLIT
+ - SARPLOT
+ - SLPPLOT
+ - SLSPLOT
+ - VCVFILL
+ - BSAX
+ - BSM1
+ - BSM2
+ - BSMD
+ - BSS1
+ - BSS2
+ - BSTE
+ - BSTQ
+ - PRSSOL
+ - SDELETE
+ - SECDATA
+ - SECJOINT
+ - /SECLIB
+ - SECLOCK
+ - SECNUM
+ - SECOFFSET
+ - SECPLOT
+ - SECREAD
+ - SECSTOP
+ - SECTYPE
+ - SECWRITE
+ - SLIST
+ - SSBT
+ - SSMT
+ - SSPA
+ - SSPB
+ - SSPD
+ - SSPE
+ - SSPM
+ - MORPH
+ - DAMORPH
+ - DEMORPH
+ - DVMORPH
+ - TZAMESH
+ - TZDELE
+ - TZEGEN
+ - PMLOPT
+ - PMLSIZE
+ - FSAN
+ - FSCO
+ - FSDT
+ - FSIN
+ - FSIT
+ - FSOR
+ - FSOU
+ - FSRE
+ - FSSTAT
+ - FSTI
+ - FSTR
+
+
+ - ABEXTRACT
+ - ADAMS
+ - ADAPT
+ - ANTYPE
+ - BCSOPTION
+ - CECHECK
+ - CHECK
+ - CMATRIX
+ - CMSOPT
+ - CNCHECK
+ - CUTCONTROL
+ - CYCOPT
+ - DMPEXT
+ - DSPROC
+ - DSOPT
+ - EMATWRITE
+ - EQSLV
+ - ERESX
+ - ESCHECK
+ - ESSOLV
+ - EXPASS
+ - FSRS
+ - FSSOLV
+ - GAUGE
+ - GMATRIX
+ - HFEIGOPT
+ - HFPA
+ - HFPCSWP
+ - HFSCAT
+ - HFSWEEP
+ - LMATRIX
+ - LUMPM
+ - MONITOR
+ - MSAVE
+ - OPNCONTROL
+ - PRECISION
+ - PSCONTROL
+ - PSOLVE
+ - RATE
+ - RSTOFF
+ - SEEXP
+ - SEGEN
+ - SEOPT
+ - SOLCONTROL
+ - /SOLU
+ - SOLVE
+ - SPSCAN
+ - SPSWP
+ - STAOPT
+ - TOFFST
+ - PCONV
+ - PEXCLUDE
+ - PINCLUDE
+ - /PMETH
+ - PMOPTS
+ - PPRANGE
+ - ARCLENA
+ - ARCTRM
+ - BUCOPT
+ - CNVTOL
+ - CRPLIM
+ - /GST
+ - LNSRCH
+ - MXPAND
+ - NCNV
+ - NEQIT
+ - NLDIAG
+ - NLDPOST
+ - NLGEOM
+ - NLHIST
+ - NROPT
+ - PRED
+ - PSTRES
+ - SSTIF
+ - SUBOPT
+ - ALPHAD
+ - BETAD
+ - DMPRAT
+ - HARFRQ
+ - HREXP
+ - HROPT
+ - HROUT
+ - LVSCALE
+ - MDAMP
+ - MDPLOT
+ - MODOPT
+ - MXPAND
+ - RIGID
+ - SUBOPT
+ - TIMINT
+ - TINTP
+ - TRNOPT
+ - ADDAM
+ - COVAL
+ - CQC
+ - DSUM
+ - FREQ
+ - GRP
+ - NRLSUM
+ - PFACT
+ - PSDCOM
+ - PSDFRQ
+ - PSDGRAPH
+ - PSDSPL
+ - PSDUNIT
+ - PSDVAL
+ - PSDWAV
+ - QDVAL
+ - ROCK
+ - SED
+ - SPOPT
+ - SRSS
+ - SV
+ - SVTYP
+ - VDDAM
+ - AUTOTS
+ - CECMOD
+ - DELTIM
+ - EXPSOL
+ - HMAGSOLV
+ - KBC
+ - KUSE
+ - MAGOPT
+ - MAGSOLV
+ - MODE
+ - NSUBST
+ - NUMEXP
+ - TIME
+ - TREF
+ - TSRES
+ - UPCOORD
+ - USRCAL
+ - WRFULL
+ - DA
+ - DADELE
+ - DALIST
+ - DK
+ - DKDELE
+ - DKLIST
+ - DL
+ - DLDELE
+ - DLLIST
+ - DTRAN
+ - FK
+ - FKDELE
+ - FKLIST
+ - FTRAN
+ - SFA
+ - SFADELE
+ - SFALIST
+ - SFL
+ - SFLDELE
+ - SFLLIST
+ - SFTRAN
+ - BFA
+ - BFADELE
+ - BFALIST
+ - BFK
+ - BFKDELE
+ - BFKLIST
+ - BFL
+ - BFLDELE
+ - BFLLIST
+ - BFTRAN
+ - BFV
+ - BFVDELE
+ - BFVLIST
+ - ACEL
+ - CGLOC
+ - CGOMGA
+ - CMACEL
+ - CMDOMEGA
+ - CMOMEGA
+ - DCGOMG
+ - DOMEGA
+ - IRLF
+ - OMEGA
+ - BIOT
+ - FMAGBC
+ - HFPORT
+ - IC
+ - ICDELE
+ - ICE
+ - ICEDELE
+ - ICELIST
+ - ICLIST
+ - ISFILE
+ - MPCHG
+ - OUTPR
+ - OUTRES
+ - PGRAPH
+ - PGSAVE
+ - PGWRITE
+ - PLWAVE
+ - RESCONTROL
+ - SBCLIST
+ - SBCTRAN
+ - WSPRINGS
+ - LSCLEAR
+ - LSDELE
+ - LSREAD
+ - LSSOLVE
+ - LSWRITE
+ - M
+ - MDELE
+ - MGEN
+ - MLIST
+ - TOTAL
+ - GP
+ - GPDELE
+ - GPLIST
+ - REZONE
+ - MAPSOLVE
+ - REMESH
+ - AREMESH
+ - EALIVE
+ - EKILL
+ - ESTIF
+ - D
+ - DCUM
+ - DDELE
+ - DJ
+ - DJDELE
+ - DJLIST
+ - DLIST
+ - DSCALE
+ - DSYM
+ - GSBDATA
+ - GSLIST
+ - LDREAD
+ - F
+ - FCUM
+ - FDELE
+ - FJ
+ - FJDELE
+ - FJLIST
+ - FLIST
+ - FSCALE
+ - SF
+ - SFBEAM
+ - SFCUM
+ - SFDELE
+ - SFE
+ - SFEDELE
+ - SFELIST
+ - SFFUN
+ - SFGRAD
+ - SFLIST
+ - SFSCALE
+ - BF
+ - BFCUM
+ - BFDELE
+ - BFE
+ - BFECUM
+ - BFEDELE
+ - BFELIST
+ - BFESCAL
+ - BFLIST
+ - BFSCALE
+ - BFUNIF
+ - LDREAD
+ - RIMPORT
+ - TUNIF
+ - BIOOPT
+ - DEACT
+ - DYNOPT
+ - GAP
+ - GENOPT
+ - INRTIA
+ - LSOPER
+ - MASTER
+ - NLOPT
+ - OUTOPT
+ - SMBODY
+ - SMCONS
+ - SMFOR
+ - SMSURF
+ - SOLUOPT
+ - SPTOPT
+ - EDADAPT
+ - EDALE
+ - EDBVIS
+ - EDCADAPT
+ - EDCPU
+ - EDCSC
+ - EDCTS
+ - EDDAMP
+ - EDDRELAX
+ - EDDUMP
+ - EDENERGY
+ - EDFPLOT
+ - EDGCALE
+ - EDHGLS
+ - EDHIST
+ - EDHTIME
+ - EDINT
+ - EDIS
+ - EDLOAD
+ - EDOPT
+ - EDOUT
+ - EDPL
+ - EDPVEL
+ - EDRC
+ - EDRD
+ - EDRI
+ - EDRST
+ - EDRUN
+ - EDSHELL
+ - EDSOLV
+ - EDSTART
+ - EDTERM
+ - EDTP
+ - EDVEL
+ - EDWRITE
+ - REXPORT
+ - FLOCHECK
+ - PEMOPTS
+ - HEMIOPT
+ - RADOPT
+ - RDEC
+ - RSURF
+ - RSYMM
+ - SPCNOD
+ - SPCTEMP
+ - STEF
+ - V2DOPT
+ - VFCALC
+ - VFOPT
+ - QSOPT
+ - FSAN
+ - FSCO
+ - FSDT
+ - FSIN
+ - FSIT
+ - FSOR
+ - FSOU
+ - FSRE
+ - FSRS
+ - FSSTAT
+ - FSTI
+ - FSTR
+ - MFANALYSIS
+ - MFBUCKET
+ - MFCALC
+ - MFCLEAR
+ - MFCMMAND
+ - MFCONV
+ - MFDTIME
+ - MFELEM
+ - MFEM
+ - MFEXTER
+ - MFFNAME
+ - MFIMPORT
+ - MFINTER
+ - MFITER
+ - MFLIST
+ - MFMAP
+ - MFORDER
+ - MFOUTPUT
+ - MFRELAX
+ - MFRSTART
+ - MFSURFACE
+ - MFTIME
+ - MFTOL
+ - MFVOLUME
+
+
+ - APPEND
+ - DETAB
+ - DNSOL
+ - FILE
+ - HRCPLX
+ - PGRSET
+ - /POST1
+ - RESET
+ - SET
+ - SUBSET
+ - AVPRIN
+ - AVRES
+ - /EFACET
+ - ERNORM
+ - FORCE
+ - INRES
+ - LAYER
+ - RSYS
+ - SHELL
+ - NSORT
+ - NUSORT
+ - PLCONV
+ - PLDISP
+ - PLESOL
+ - PLNSOL
+ - PLVECT
+ - PPLOT
+ - PRCONV
+ - PRESOL
+ - PRJSOL
+ - PRNLD
+ - PRNSOL
+ - PRRFOR
+ - PRRSOL
+ - PRSSOL
+ - PRVECT
+ - SUMTYPE
+ - DESOL
+ - ESORT
+ - ETABLE
+ - EUSORT
+ - PLETAB
+ - PLLS
+ - PLVECT
+ - PRETAB
+ - PRVECT
+ - SABS
+ - SADD
+ - SALLOW
+ - SEXP
+ - SFACT
+ - SFCALC
+ - SMAX
+ - SMIN
+ - SMULT
+ - SSUM
+ - TALLOW
+ - VCROSS
+ - VDOT
+ - /FORMAT
+ - /HEADER
+ - IRLIST
+ - /PAGE
+ - PRERR
+ - PRITER
+ - ANCNTR
+ - ANCUT
+ - ANDATA
+ - ANDSCL
+ - ANCYC
+ - ANDYNA
+ - /ANFILE
+ - ANFLOW
+ - ANHARM
+ - ANIM
+ - ANISOS
+ - ANMODE
+ - ANMRES
+ - ANTIME
+ - TRTIME
+ - PADELE
+ - PAGET
+ - PAPUT
+ - PARESU
+ - PASAVE
+ - PATH
+ - PCALC
+ - PCROSS
+ - PDEF
+ - PDOT
+ - PLPAGM
+ - PLPATH
+ - PLSECT
+ - PMAP
+ - PPATH
+ - PRANGE
+ - PRPATH
+ - PRSECT
+ - PSEL
+ - PVECT
+ - SUCALC
+ - SUCR
+ - SUDEL
+ - SUEVAL
+ - SUGET
+ - SUMAP
+ - SUPL
+ - SUPR
+ - SURESU
+ - SUSAVE
+ - SUSEL
+ - SUVECT
+ - LCABS
+ - LCASE
+ - LCDEF
+ - LCFACT
+ - LCFILE
+ - LCOPER
+ - LCSEL
+ - LCSUM
+ - LCWRITE
+ - LCZERO
+ - RAPPND
+ - CURR2D
+ - EMAGERR
+ - EMF
+ - EMFT
+ - FLUXV
+ - FMAGSUM
+ - FOR2D
+ - IMPD
+ - MMF
+ - PLF2D
+ - POWERH
+ - QFACT
+ - REFLCOEF
+ - SENERGY
+ - SPARM
+ - TORQ2D
+ - TORQC2D
+ - TORQSUM
+ - FE
+ - FELIST
+ - FL
+ - FLLIST
+ - FP
+ - FPLIST
+ - FS
+ - FSDELE
+ - FSLIST
+ - FSNODE
+ - FSPLOT
+ - FSSECT
+ - FTCALC
+ - FTSIZE
+ - FTWRITE
+ - PLTRAC
+ - TRPDEL
+ - TRPLIS
+ - TRPOIN
+ - FLREAD
+ - BFINT
+ - CBDOF
+ - CMSFILE
+ - /CYCEXPAND
+ - CYCPHASE
+ - /EXPAND
+ - EXPAND
+ - FSSPARM
+ - FSUM
+ - HFANG
+ - HFARRAY
+ - HFNEAR
+ - HFPOWER
+ - HFSYM
+ - INTSRF
+ - KCALC
+ - NFORCE
+ - PLCRACK
+ - PLHFFAR
+ - PLSCH
+ - PLSYZ
+ - PRHFFAR
+ - PRSYZ
+ - RMFLVEC
+ - RSPLIT
+ - SPOINT
+ - DATADEF
+ - DEFINE
+ - DISPLAY
+ - LCCALC
+ - POINT
+ - PRINT
+ - SORT
+ - SPEC
+ - FC
+ - FCCHECK
+ - FCDELE
+ - FCLIST
+
+
+ - ANSOL
+ - DATA
+ - EDREAD
+ - ESOL
+ - FILE
+ - GAPF
+ - GSSOL
+ - JSOL
+ - NSOL
+ - NSTORE
+ - NUMVAR
+ - /POST26
+ - RESET
+ - RFORCE
+ - /RGB
+ - SOLU
+ - STORE
+ - TIMERANGE
+ - VARDEL
+ - VARNAM
+ - CFACT
+ - FORCE
+ - LAYERP26
+ - SHELL
+ - TVAR
+ - ABS
+ - ADD
+ - ATAN
+ - CLOG
+ - CONJUG
+ - DERIV
+ - EXP
+ - FILLDATA
+ - IMAGIN
+ - INT1
+ - LARGE
+ - NLOG
+ - PROD
+ - QUOT
+ - REALVAR
+ - SMALL
+ - SQRT
+ - PLCPLX
+ - PLTIME
+ - PLVAR
+ - SPREAD
+ - XVAR
+ - EXTREM
+ - LINES
+ - NPRINT
+ - PRCPLX
+ - PRTIME
+ - PRVAR
+ - CVAR
+ - PMGTRAN
+ - RESP
+ - RPSD
+ - SMOOTH
+ - VGET
+ - VPUT
+ - DEFINE
+ - OPERATE
+ - PLOTTING
+ - PRINT
+
+
+ - /AUX2
+ - DUMP
+ - FILEAUX2
+ - FORM
+ - HBMAT
+
+
+ - /AUX3
+ - COMPRESS
+ - DELETE
+ - FILEAUX3
+ - LIST
+ - MODIFY
+ - UNDELETE
+
+
+ - /AUX12
+ - EMIS
+ - GEOM
+ - MPRINT
+ - SPACE
+ - STEF
+ - VFQUERY
+ - VTYPE
+ - WRITE
+
+
+ - /AUX15
+ - IGESIN
+ - IOPTN
+
+
+ - RALL
+ - RFILSZ
+ - RITER
+ - RMEMRY
+ - RSPEED
+ - RSTAT
+ - RTIMST
+ - /RUNST
+ - RWFRNT
+
+
+ - /OPT
+ - OPEQN
+ - OPFACT
+ - OPFRST
+ - OPGRAD
+ - OPKEEP
+ - OPLOOP
+ - OPPRNT
+ - OPRAND
+ - OPSUBP
+ - OPSWEEP
+ - OPTYPE
+ - OPUSER
+ - OPVAR
+ - TOCOMP
+ - TODEF
+ - TOFREQ
+ - TOTYPE
+ - TOVAR
+ - OPADD
+ - OPCLR
+ - OPDEL
+ - OPMAKE
+ - OPSEL
+ - OPANL
+ - OPDATA
+ - OPRESU
+ - OPSAVE
+ - OPEXE
+ - TOEXE
+ - TOLOOP
+ - OPLFA
+ - OPLGR
+ - OPLIST
+ - OPLSW
+ - OPRFA
+ - OPRGR
+ - OPRSW
+ - PLVAROPT
+ - PRVAROPT
+ - TOGRAPH
+ - TOLIST
+ - TOPLOT
+ - TOPRINT
+ - TOSTAT
+ - XVAROPT
+
+
+ - /PDS
+ - PDANL
+ - PDCORR
+ - PDINQR
+ - PDPLOT
+ - PDVAR
+ - PDDOEL
+ - PDDMCS
+ - PDMETH
+ - PDUSER
+ - PDEXE
+ - PDCDF
+ - PDCMAT
+ - PDHIST
+ - PDPINV
+ - PDPROB
+ - PDROPT
+ - PDSCAT
+ - PDSENS
+ - PDSHIS
+ - PDWRITE
+ - PDCLR
+ - PDRESU
+ - PDSAVE
+ - RSFIT
+ - RSPLOT
+ - RSPRNT
+ - RSSIMS
+
+
+ - /CMAP
+ - /DEVDISP
+ - FILEDISP
+ - HELPDISP
+ - NOCOLOR
+ - /SEG
+ - /SHOWDISP
+ - TRANS
+ - GRPH
+ - TERM
+ - FINISH
+ - PLOT
+ - STAT
+
+
+ - RMRESUME
+ - RMSAVE
+ - RMNDISP
+ - RMNEVEC
+ - RMALIST
+ - RMANL
+ - RMASTER
+ - RMCAP
+ - RMCLIST
+ - RMMLIST
+ - RMMRANGE
+ - RMMSELECT
+ - RMPORDER
+ - RMRGENERATE
+ - RMROPTIONS
+ - RMRPLOT
+ - RMRSTATUS
+ - RMSMPLE
+ - RMXPORT
+ - DCVSWP
+ - RMLVSCALE
+ - RMUSE
+
+
+ - ABS
+ - SIGN
+ - EXP
+ - LOG
+ - LOG10
+ - SQRT
+ - NINT
+ - MOD
+ - RAND
+ - GDIS
+ - SIN
+ - COS
+ - TAN
+ - SINH
+ - COSH
+ - TANH
+ - ASIN
+ - ACOS
+ - ATAN
+ - ATAN2
+ - VALCHR
+ - CHRVAL
+ - UPCASE
+ - LWCASE
+
+
+ - LINK1
+ - PLANE2
+ - BEAM3
+ - BEAM4
+ - SOLID5
+ - COMBIN7
+ - LINK8
+ - INFIN9
+ - LINK10
+ - LINK11
+ - CONTAC12
+ - PLANE13
+ - COMBIN14
+ - PIPE16
+ - PIPE17
+ - PIPE18
+ - PIPE20
+ - MASS21
+ - BEAM23
+ - BEAM24
+ - PLANE25
+ - MATRIX27
+ - SHELL28
+ - FLUID29
+ - FLUID30
+ - LINK31
+ - LINK32
+ - LINK33
+ - LINK34
+ - PLANE35
+ - SOURC36
+ - COMBIN37
+ - FLUID38
+ - COMBIN39
+ - COMBIN40
+ - SHELL41
+ - PLANE42
+ - SHELL43
+ - BEAM44
+ - SOLID45
+ - SOLID46
+ - INFIN47
+ - MATRIX50
+ - SHELL51
+ - CONTAC52
+ - PLANE53
+ - BEAM54
+ - PLANE55
+ - HYPER56
+ - SHELL57
+ - HYPER58
+ - PIPE59
+ - PIPE60
+ - SHELL61
+ - SOLID62
+ - SHELL63
+ - SOLID64
+ - SOLID65
+ - PLANE67
+ - LINK68
+ - SOLID69
+ - SOLID70
+ - MASS71
+ - HYPER74
+ - PLANE75
+ - PLANE77
+ - PLANE78
+ - FLUID79
+ - FLUID80
+ - FLUID81
+ - PLANE82
+ - PLANE83
+ - HYPER84
+ - HYPER86
+ - SOLID87
+ - VISCO88
+ - VISCO89
+ - SOLID90
+ - SHELL91
+ - SOLID92
+ - SHELL93
+ - CIRCU94
+ - SOLID95
+ - SOLID96
+ - SOLID97
+ - SOLID98
+ - SHELL99
+ - VISCO106
+ - VISCO107
+ - VISCO108
+ - TRANS109
+ - INFIN110
+ - INFIN111
+ - INTER115
+ - FLUID116
+ - SOLID117
+ - HF118
+ - HF119
+ - HF120
+ - PLANE121
+ - SOLID122
+ - SOLID123
+ - CIRCU124
+ - CIRCU125
+ - TRANS126
+ - SOLID127
+ - SOLID128
+ - FLUID129
+ - FLUID130
+ - SHELL131
+ - SHELL132
+ - FLUID136
+ - FLUID138
+ - FLUID139
+ - FLUID141
+ - FLUID142
+ - SHELL143
+ - ROM144
+ - PLANE145
+ - PLANE146
+ - SOLID147
+ - SOLID148
+ - SHELL150
+ - SURF151
+ - SURF152
+ - SURF153
+ - SURF154
+ - SHELL157
+ - HYPER158
+ - LINK160
+ - BEAM161
+ - PLANE162
+ - SHELL163
+ - SOLID164
+ - COMBI165
+ - MASS166
+ - LINK167
+ - SOLID168
+ - TARGE169
+ - TARGE170
+ - CONTA171
+ - CONTA172
+ - CONTA173
+ - CONTA174
+ - CONTA175
+ - CONTA178
+ - PRETS179
+ - LINK180
+ - SHELL181
+ - PLANE182
+ - PLANE183
+ - MPC184
+ - SOLID185
+ - SOLID186
+ - SOLID187
+ - BEAM188
+ - BEAM189
+ - SOLSH190
+ - SOLID191
+ - INTER192
+ - INTER193
+ - INTER194
+ - INTER195
+ - MESH200
+ - FOLLW201
+ - SHELL208
+ - SHELL209
+ - PLANE223
+ - SOLID226
+ - SOLID227
+ - PLANE230
+ - SOLID231
+ - SOLID232
+ - SURF251
+ - SURF252
+
+
+ - EX
+ - EY
+ - EZ
+ - GXY
+ - NUXY
+ - ALPX
+ - ALPY
+ - ALPZ
+ - CTEX
+ - CTEY
+ - CTEZ
+ - THSX
+ - THSY
+ - THSZ
+ - REFT
+ - PRXY
+ - PRYZ
+ - PRXZ
+ - NUXY
+ - NUYZ
+ - NUXZ
+ - GXY
+ - GYZ
+ - GXZ
+ - DAMP
+ - DMPR
+ - MU
+ - DENS
+ - C
+ - ENTH
+ - KXX
+ - KYY
+ - KZZ
+ - HF
+ - EMIS
+ - QRATE
+ - VISC
+ - SONC
+ - RSVX
+ - RSVY
+ - RSVZ
+ - PERX
+ - MURX
+ - MURY
+ - MURZ
+ - MGXX
+ - MGYY
+ - MGZZ
+ - LSST
+ - SBKX
+
+
+ - UX
+ - UY
+ - UZ
+ - FX
+ - FY
+ - FZ
+ - MX
+ - MY
+ - MZ
+ - HEAT
+ - HBOT
+ - HE2
+ - HE3
+ - HTOP
+ - FLOW
+ - AMPS
+ - CHRG
+ - CSGX
+ - CSGY
+ - CSGZ
+ - ROTX
+ - ROTY
+ - ROTZ
+ - WARP
+ - TEMP
+ - TBOT
+ - TE2
+ - TE3
+ - TTOP
+ - PRES
+ - VX
+ - VY
+ - VZ
+ - ENKE
+ - ENDS
+ - SP01
+ - SP02
+ - SP03
+ - SP04
+ - SP05
+ - SP06
+ - VOLT
+ - MAG
+ - AX
+ - AYAZ
+
+
+ - STATIC
+ - BUCKLE
+ - MODAL
+ - HARMIC
+ - TRANS
+ - SUBSTR
+ - SPECTR
+
+
+
+
+
+ - NX
+ - NY
+ - NZ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/apache.xml b/data/syntax/apache.xml
new file mode 100644
index 0000000..41857fc
--- /dev/null
+++ b/data/syntax/apache.xml
@@ -0,0 +1,634 @@
+
+
+
+
+
+
+
+
+
+- AcceptFilter
+- AccessFileName
+- Action
+- AddAlt
+- AddAltByEncoding
+- AddAltByType
+- AddCharset
+- AddDefaultCharset
+- AddDescription
+- AddEncoding
+- AddHandler
+- AddIcon
+- AddIconByEncoding
+- AddIconByType
+- AddInputFilter
+- AddLanguage
+- AddModuleInfo
+- AddOutputFilter
+- AddOutputFilterByType
+- AddType
+- Alias
+- AliasMatch
+- Allow
+- Anonymous
+- AuthBasicProvider
+- AuthDBMGroupFile
+- AuthDBMUserFile
+- AuthDigestDomain
+- AuthDigestFile
+- AuthDigestGroupFile
+- AuthDigestNonceFormat
+- AuthDigestProvider
+- AuthGroupFile
+- AuthLDAPBindDN
+- AuthLDAPBindPassword
+- AuthLDAPCharsetConfig
+- AuthLDAPGroupAttribute
+- AuthLDAPUrl
+- AuthName
+- AuthUserFile
+- BrowserMatch
+- BrowserMatchNoCase
+- BS2000Account
+- CacheDisable
+- CacheEnable
+- CacheFile
+- CacheGcClean
+- CacheGcUnused
+- CacheRoot
+- CGIMapExtension
+- CharsetDefault
+- CharsetOptions
+- CharsetSourceEnc
+- CookieDomain
+- CookieLog
+- CookieName
+- CoreDumpDirectory
+- CustomLog
+- Dav
+- DavGenericLockDB
+- DavLockDB
+- DBDParams
+- DBDPrepareSQL
+- DBDriver
+- DefaultIcon
+- DefaultLanguage
+- DefaultType
+- DeflateFilterNote
+- Deny
+- DirectoryIndex
+- DocumentRoot
+- ErrorDocument
+- ErrorLog
+- Example
+- ExpiresByType
+- ExpiresDefault
+- ExtFilterDefine
+- ExtFilterOptions
+- FilterChain
+- FilterDeclare
+- FilterProtocol
+- FilterProvider
+- FilterTrace
+- ForceType
+- ForensicLog
+- Group
+- Header
+- HeaderName
+- ImapBase
+- Include
+- IndexIgnore
+- IndexOptions
+- IndexStyleSheet
+- ISAPICacheFile
+- LanguagePriority
+- LDAPSharedCacheFile
+- LDAPTrustedCA
+- LDAPTrustedCAType
+- LDAPTrustedClientCert
+- LDAPTrustedGlobalCert
+- Listen
+- LoadFile
+- LoadModule
+- LockFile
+- LogFormat
+- MetaDir
+- MetaSuffix
+- MimeMagicFile
+- MMapFile
+- NameVirtualHost
+- NoProxy
+- NWSSLTrustedCerts
+- NWSSLUpgradeable
+- PassEnv
+- PidFile
+- ProxyBlock
+- ProxyDomain
+- ProxyPass
+- ProxyPassReverse
+- ProxyPassReverseCookieDomain
+- ProxyPassReverseCookiePath
+- ProxyRemote
+- ProxyRemoteMatch
+- ReadmeName
+- Redirect
+- RedirectMatch
+- RedirectPermanent
+- RedirectTemp
+- RemoveCharset
+- RemoveEncoding
+- RemoveHandler
+- RemoveInputFilter
+- RemoveLanguage
+- RemoveOutputFilter
+- RemoveType
+- RequestHeader
+- Require
+- RewriteBase
+- RewriteCond
+- RewriteLock
+- RewriteLog
+- RewriteMap
+- RewriteRule
+- ScoreBoardFile
+- Script
+- ScriptAlias
+- ScriptAliasMatch
+- ScriptLog
+- ScriptSock
+- SecureListen
+- ServerAdmin
+- ServerAlias
+- ServerName
+- ServerPath
+- ServerRoot
+- SetEnv
+- SetEnvIf
+- SetEnvIfNoCase
+- SetHandler
+- SetInputFilter
+- SetOutputFilter
+- SSIEndTag
+- SSIErrorMsg
+- SSIStartTag
+- SSITimeFormat
+- SSIUndefinedEcho
+- SSLCACertificateFile
+- SSLCACertificatePath
+- SSLCADNRequestFile
+- SSLCADNRequestPath
+- SSLCARevocationFile
+- SSLCARevocationPath
+- SSLCertificateChainFile
+- SSLCertificateFile
+- SSLCertificateKeyFile
+- SSLCipherSuite
+- SSLCryptoDevice
+- SSLHonorCiperOrder
+- SSLPassPhraseDialog
+- SSLProxyCACertificateFile
+- SSLProxyCACertificatePath
+- SSLProxyCARevocationFile
+- SSLProxyCARevocationPath
+- SSLProxyCipherSuite
+- SSLProxyMachineCertificateFile
+- SSLProxyMachineCertificatePath
+- SSLProxyProtocol
+- SSLRandomSeed
+- SSLRequire
+- SSLRequireSSL
+- SSLUserName
+- SuexecUserGroup
+- TransferLog
+- TypesConfig
+- UnsetEnv
+- User
+- UserDir
+- VirtualDocumentRoot
+- VirtualDocumentRootIP
+- VirtualScriptAlias
+- VirtualScriptAliasIP
+- Win32DisableAcceptEx
+
+
+
+- AllowCONNECT
+- AssignUserID
+- AuthDigestNonceLifetime
+- AuthDigestShmemSize
+- CacheDefaultExpire
+- CacheDirLength
+- CacheDirLevels
+- CacheForceCompletion
+- CacheGcDaily
+- CacheGcInterval
+- CacheGcMemUsage
+- CacheLastModifiedFactor
+- CacheMaxExpire
+- CacheMaxFileSize
+- CacheMinFileSize
+- CacheSize
+- CacheTimeMargin
+- ChildPerUserID
+- CookieExpires
+- DavMinTimeout
+- DBDExptime
+- DBDKeep
+- DBDMax
+- DBDMin
+- DBDPersist
+- DeflateBufferSize
+- DeflateCompressionLevel
+- DeflateMemLevel
+- DeflateWindowSize
+- IdentityCheckTimeout
+- ISAPIReadAheadBuffer
+- KeepAliveTimeout
+- LDAPCacheEntries
+- LDAPCacheTTL
+- LDAPConnectionTimeout
+- LDAPOpCacheEntries
+- LDAPOpCacheTTL
+- LDAPSharedCacheSize
+- LimitInternalRecursion
+- LimitRequestBody
+- LimitRequestFields
+- LimitRequestFieldsize
+- LimitRequestLine
+- LimitXMLRequestBody
+- ListenBacklog
+- MaxClients
+- MaxKeepAliveRequests
+- MaxMemFree
+- MaxRequestsPerChild
+- MaxRequestsPerThread
+- MaxSpareServers
+- MaxSpareThreads
+- MaxThreads
+- MaxThreadsPerChild
+- MCacheMaxObjectCount
+- MCacheMaxObjectSize
+- MCacheMaxStreamingBuffer
+- MCacheMinObjectSize
+- MCacheSize
+- MinSpareServers
+- MinSpareThreads
+- NumServers
+- ProxyIOBufferSize
+- ProxyMaxForwards
+- ProxyReceiveBufferSize
+- ProxyTimeout
+- RewriteLogLevel
+- RLimitCPU
+- RLimitMEM
+- RLimitNPROC
+- ScriptLogBuffer
+- ScriptLogLength
+- SendBufferSize
+- ServerLimit
+- SSLProxyVerifyDepth
+- SSLSessionCacheTimeout
+- SSLVerifyDepth
+- StartServers
+- StartThreads
+- ThreadLimit
+- ThreadsPerChild
+- ThreadStackSize
+- TimeOut
+
+
+
+- AcceptMutex
+- AcceptPathInfo
+- AllowEncodedSlashes
+- AllowOverride
+- Anonymous_Authoritative
+- Anonymous_LogEmail
+- Anonymous_MustGiveEmail
+- Anonymous_NoUserID
+- Anonymous_VerifyEmail
+- AuthAuthoritative
+- AuthBasicAuthoritative
+- AuthBasicProvider
+- AuthDBMAuthoritative
+- AuthDBMType
+- AuthDefaultAuthoritative
+- AuthDigestAlgorithm
+- AuthDigestNcCheck
+- AuthDigestQop
+- AuthLDAPAuthoritative
+- AuthLDAPCompareDNOnServer
+- AuthLDAPDereferenceAliases
+- AuthLDAPEnabled
+- AuthLDAPFrontPageHack
+- AuthLDAPGroupAttributeIsDN
+- AuthLDAPRemoteUserIsDN
+- AuthType
+- AuthzDBMAuthoritative
+- AuthzDBMType
+- AuthzDefaultAuthoritative
+- AuthzGroupFileAuthoritative
+- AuthzLDAPAuthoritative
+- AuthzOwnerAuthoritative
+- AuthzUserAuthoritative
+- BufferedLogs
+- CacheExpiryCheck
+- CacheIgnoreCacheControl
+- CacheIgnoreHeaders
+- CacheIgnoreNoLastMod
+- CacheNegotiatedDocs
+- CacheStoreNoStore
+- CacheStorePrivate
+- CheckSpelling
+- ContentDigest
+- CookieStyle
+- CookieTracking
+- CoreDumpDirectory
+- CustomLog
+- DavDepthInfinity
+- DirectorySlash
+- DumpIOInput
+- DumpIOOutput
+- EnableExceptionHook
+- EnableMMAP
+- EnableSendfile
+- ExpiresActive
+- ExtendedStatus
+- FileETag
+- ForceLanguagePriority
+- HostnameLookups
+- IdentityCheck
+- ImapDefault
+- ImapMenu
+- IndexOrderDefault
+- ISAPIAppendLogToErrors
+- ISAPIAppendLogToQuery
+- ISAPIFakeAsync
+- ISAPILogNotSupported
+- KeepAlive
+- LDAPTrustedMode
+- LDAPVerifyServerCert
+- LogLevel
+- MCacheRemovalAlgorithm
+- MetaFiles
+- ModMimeUsePathInfo
+- MultiviewsMatch
+- Options
+- Order
+- ProtocolEcho
+- ProxyBadHeader
+- ProxyErrorOverride
+- ProxyPreserveHost
+- ProxyRequests
+- ProxyVia
+- RewriteEngine
+- RewriteOptions
+- Satisfy
+- ScriptInterpreterSource
+- ServerSignature
+- ServerTokens
+- SSLEngine
+- SSLMutex
+- SSLOptions
+- SSLProtocol
+- SSLProxyEngine
+- SSLProxyVerify
+- SSLSessionCache
+- SSLVerifyClient
+- UseCanonicalName
+- XBitHack
+
+
+
+- On
+- Off
+- Default
+- flock
+- fcntl
+- posixsem
+- pthread
+- sysvsem
+- All
+- None
+- AuthConfig
+- FileInfo
+- Indexes
+- Limit
+- Options
+
+- ExecCGI
+- FollowSymLinks
+- Includes
+- IncludesNOEXEC
+- Indexes
+- MultiViews
+- SymLinksIfOwnerMatch
+- StdEnvVars
+- CompatEnvVars
+- ExportCertData
+- FakeBasicAuth
+- StrictRequire
+- OptRenegotiate
+
+- SDBM
+- GDBM
+- NDBM
+- DB
+- MD5
+- MD5-sess
+- auth
+- auth-int
+- never
+- searching
+- finding
+- always
+- Basic
+- Digest
+- Connection
+- Keep-Alive
+- Proxy-Authenticate
+- Proxy-Authorization
+- TE
+- Trailers
+- Transfer-Encoding
+- Upgrade
+- Netscape
+- Cookie
+- Cookie2
+- RFC2109
+- RFC2965
+- INode
+- MTime
+- Size
+- Prefer
+- Fallback
+- Double
+- error
+- nocontent
+- map
+- referer
+- formatted
+- semiformatted
+- unformatted
+- Ascending
+- Descending
+- Name
+- Date
+- Size
+- Description
+- SSL
+- TLS
+- STARTTLS
+- emerg
+- alert
+- crit
+- error
+- warn
+- notice
+- info
+- debug
+- LRU
+- GDSF
+- Any
+- NegotiatedOnly
+- Filters
+- Handlers
+- Deny,Allow
+- Allow,Deny
+- Mutual-failure
+- IsError
+- Ignore
+- StartBody
+- Full
+- Block
+- inherit
+- Registry
+- Registry-Strict
+- Script
+- EMail
+- Major
+- Minor
+- Min
+- Minimal
+- Prod
+- ProductOnly
+- OS
+- Full
+- optional
+- posixsem
+- sysvsem
+- sem
+- pthread
+- fcntl:
+- flock:
+- file:
+- yes
+- no
+- SSLv2
+- SSLv3
+- TLSv1
+- require
+- optional_no_ca
+- nonenotnull
+- dbm:
+- shm:
+- dc:
+- DNS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/asm-avr.xml b/data/syntax/asm-avr.xml
new file mode 100644
index 0000000..ead39b8
--- /dev/null
+++ b/data/syntax/asm-avr.xml
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+ - adc
+ - add
+ - adiw
+ - and
+ - andi
+ - asr
+ - bclr
+ - bld
+ - brbc
+ - brbs
+ - brcc
+ - brcs
+ - break
+ - breq
+ - brge
+ - brhc
+ - brhs
+ - brid
+ - brie
+ - brlo
+ - brlt
+ - brmi
+ - brne
+ - brpl
+ - brsh
+ - brtc
+ - brts
+ - brvc
+ - brvs
+ - bset
+ - bst
+ - call
+ - cbi
+ - cbr
+ - clc
+ - clh
+ - cli
+ - cln
+ - clr
+ - cls
+ - clt
+ - clv
+ - clz
+ - com
+ - cp
+ - cpc
+ - cpi
+ - cpse
+ - dec
+ - eicall
+ - eijmp
+ - elpm
+ - eor
+ - fmul
+ - fmuls
+ - fmulsu
+ - icall
+ - ijmp
+ - in
+ - inc
+ - jmp
+ - ld
+ - ldd
+ - ldi
+ - lds
+ - lpm
+ - lsl
+ - lsr
+ - mov
+ - movw
+ - mul
+ - muls
+ - mulsu
+ - neg
+ - nop
+ - or
+ - ori
+ - out
+ - pop
+ - push
+ - rcall
+ - ret
+ - reti
+ - rjmp
+ - rol
+ - ror
+ - sbc
+ - sbr
+ - sbrc
+ - sbrs
+ - sec
+ - seh
+ - sbi
+ - sbci
+ - sbic
+ - sbis
+ - sbiw
+ - sei
+ - sen
+ - ser
+ - ses
+ - set
+ - sev
+ - sez
+ - sleep
+ - spm
+ - st
+ - std
+ - sts
+ - sub
+ - subi
+ - swap
+ - tst
+ - wdr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/asm-dsp56k.xml b/data/syntax/asm-dsp56k.xml
new file mode 100644
index 0000000..c9d7cd1
--- /dev/null
+++ b/data/syntax/asm-dsp56k.xml
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+ - x
+ - x0
+ - x1
+ - y
+ - y0
+ - y1
+ - a2
+ - a1
+ - a0
+ - a
+ - a10
+ - ab
+ - b2
+ - b1
+ - b0
+ - b
+ - b10
+ - ba
+
+
+
+ - r0
+ - r1
+ - r2
+ - r3
+ - r4
+ - r5
+ - r6
+ - r7
+
+
+
+ - n0
+ - n1
+ - n2
+ - n3
+ - n4
+ - n5
+ - n6
+ - n7
+
+
+
+ - m0
+ - m1
+ - m2
+ - m3
+ - m4
+ - m5
+ - m6
+ - m7
+
+
+
+ - la
+ - lc
+ - pc
+ - ssh
+ - ssl
+ - omr
+ - sr
+ - sp
+ - mr
+ - ccr
+
+
+
+ - abs
+ - adc
+ - add
+ - addl
+ - addr
+ - and
+ - andi
+ - asl
+ - asr
+ - bchg
+ - bclr
+ - bset
+ - btst
+ - clr
+ - cmp
+ - cmpm
+ - div
+ - do
+ - enddo
+ - eor
+ - illegal
+ - jcc
+ - jhs
+ - jcs
+ - jls
+ - jec
+ - jeq
+ - jes
+ - jge
+ - jgt
+ - jlc
+ - jle
+ - jls
+ - jlt
+ - jmi
+ - jne
+ - jnr
+ - jpl
+ - jnn
+ - jclr
+ - jmp
+ - jscc
+ - jshs
+ - jscs
+ - jsls
+ - jsec
+ - jseq
+ - jses
+ - jsge
+ - jsgt
+ - jslc
+ - jsle
+ - jsls
+ - jslt
+ - jsmi
+ - jsne
+ - jsnr
+ - jspl
+ - jsnn
+ - jsclr
+ - jset
+ - jsr
+ - jsset
+ - lsl
+ - lsr
+ - lua
+ - mac
+ - macr
+ - move
+ - movec
+ - movem
+ - movep
+ - mpy
+ - mpyr
+ - neg
+ - nop
+ - norm
+ - not
+ - or
+ - ori
+ - rep
+ - reset
+ - rnd
+ - rol
+ - ror
+ - rti
+ - rts
+ - sbc
+ - stop
+ - sub
+ - subl
+ - subr
+ - swi
+ - tcc
+ - ths
+ - tcs
+ - tls
+ - tec
+ - teq
+ - tes
+ - tge
+ - tgt
+ - tlc
+ - tle
+ - tls
+ - tlt
+ - tmi
+ - tne
+ - tnr
+ - tpl
+ - snn
+ - tfr
+ - tst
+ - wait
+
+
+
+ - endif
+ - endc
+ - else
+ - ifne
+ - if
+ - ifeq
+ - ifle
+ - iflt
+ - ifge
+ - ifgt
+ - include
+ - incbin
+ - printval
+ - pass1val
+ - pass2val
+ - fail
+ - endm
+ - end
+ - org
+ - ds
+ - dsm
+ - list
+ - nolist
+ - macro
+ - dc
+ - equ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/asm-m68k.xml b/data/syntax/asm-m68k.xml
new file mode 100644
index 0000000..bd5c36f
--- /dev/null
+++ b/data/syntax/asm-m68k.xml
@@ -0,0 +1,651 @@
+
+
+
+
+
+
+
+ - d0
+ - d1
+ - d2
+ - d3
+ - d4
+ - d5
+ - d6
+ - d7
+
+
+
+ - a0
+ - a1
+ - a2
+ - a3
+ - a4
+ - a5
+ - a6
+ - a7
+ - sp
+
+
+
+ - ccr
+ - sr
+ - pc
+ - zpc
+ - ssp
+ - usp
+ - msp
+ - isp
+ - dfc
+ - cacr
+ - caar
+ - vbr
+ - crp
+ - srp
+ - urp
+ - tc
+ - tt0
+ - tt1
+ - mmusr
+ - itt0
+ - itt1
+ - dtt0
+ - dtt1
+ - buscr
+ - pcr
+ - ic
+
+ - bc
+
+
+
+ - fp0
+ - fp1
+ - fp2
+ - fp3
+ - fp4
+ - fp5
+ - fp6
+ - fp7
+ - fpcr>
+ - fpsr
+ - fpiar
+
+
+
+ - abcd
+ - adda
+ - addi
+ - add
+ - addq
+ - addx
+ - andi
+ - and
+ - asl
+ - asr
+ - bcc
+ - bchg
+ - bclr
+ - bcs
+ - beq
+ - bfchg
+ - bfclr
+ - bfexts
+ - bfextu
+ - bfffo
+ - bfins
+ - bfset
+ - bftst
+ - bge
+ - bgt
+ - bhi
+ - bhs
+ - bkpt
+ - ble
+ - blo
+ - bls
+ - blt
+ - bmi
+ - bne
+ - bpl
+ - bra
+ - bset
+ - bsr
+ - btst
+ - bvc
+ - bvs
+ - callm
+ - cas2
+ - cas
+ - chk2
+ - chk
+ - cinva
+ - cinvl
+ - cinvp
+ - clr
+ - cmp2
+ - cmpa
+ - cmpi
+ - cmp
+ - cmpm
+ - cpusha
+ - cpushl
+ - cpushp
+ - dbcc
+ - dbcs
+ - dbeq
+ - dbf
+ - dbge
+ - dbgt
+ - dbhi
+ - dbhs
+ - dble
+ - dblo
+ - dbls
+ - dblt
+ - dbmi
+ - dbne
+ - dbpl
+ - dbra
+ - dbt
+ - dbvc
+ - dbvs
+ - divs
+ - divsl
+ - divu
+ - divul
+ - eori
+ - eor
+ - exg
+ - extb
+ - ext
+ - illegal
+ - jmp
+ - jsr
+ - lea
+ - link
+ - lpstop
+ - lsl
+ - lsr
+ - move16
+ - movea
+ - movec
+ - move
+ - movem
+ - movep
+ - moveq
+ - moves
+ - muls
+ - mulu
+ - nbcd
+ - neg
+ - negx
+ - nop
+ - not
+ - ori
+ - or
+ - pack
+ - pea
+ - pflusha
+ - pflushan
+ - pflush
+ - pflushn
+ - ploadr
+ - ploadw
+ - plpa
+ - pmovefd
+ - pmove
+ - ptestr
+ - ptestw
+ - reset
+ - rol
+ - ror
+ - roxl
+ - roxr
+ - rtd
+ - rte
+ - rtm
+ - rtr
+ - rts
+ - sbcd
+ - scc
+ - scs
+ - seq
+ - sf
+ - sge
+ - sgt
+ - shi
+ - shs
+ - sle
+ - slo
+ - sls
+ - slt
+ - smi
+ - sne
+ - spl
+ - st
+ - stop
+ - suba
+ - subi
+ - sub
+ - subq
+ - subx
+ - svc
+ - svs
+ - swap
+ - tas
+ - trapcc
+ - trapcs
+ - trapeq
+ - trapf
+ - trapge
+ - trapgt
+ - traphi
+ - traphs
+ - trap
+ - traple
+ - traplo
+ - trapls
+ - traplt
+ - trapmi
+ - trapne
+ - trappl
+ - trapt
+ - trapvc
+ - trapvc
+ - trapv
+ - tst
+ - unlk
+ - unpk
+
+
+
+ - fabs
+ - facos
+ - fadd
+ - fasin
+ - fatanh
+ - fatan
+ - fbeq
+ - fbf
+ - fbge
+ - fbgle
+ - fbgl
+ - fbgt
+ - fble
+ - fblt
+ - fbne
+ - fbnge
+ - fbngle
+ - fbngl
+ - fbngt
+ - fbnle
+ - fbnlt
+ - fboge
+ - fbogl
+ - fbogt
+ - fbole
+ - fbolt
+ - fbor
+ - fbseq
+ - fbsf
+ - fbsne
+ - fbst
+ - fbt
+ - fbueq
+ - fbuge
+ - fbugt
+ - fbule
+ - fbult
+ - fbun
+ - fcmp
+ - fcosh
+ - fcos
+ - fdabs
+ - fdadd
+ - fdbeq
+ - fdbf
+ - fdbge
+ - fdbgle
+ - fdbgl
+ - fdbgt
+ - fdble
+ - fdblt
+ - fdbne
+ - fdbnge
+ - fdbngle
+ - fdbngl
+ - fdbngt
+ - fdbnle
+ - fdbnlt
+ - fdboge
+ - fdbogl
+ - fdbogt
+ - fdbole
+ - fdbolt
+ - fdbor
+ - fdbseq
+ - fdbsf
+ - fdbsne
+ - fdbst
+ - fdbt
+ - fdbueq
+ - fdbuge
+ - fdbugt
+ - fdbule
+ - fdbult
+ - fdbun
+ - fddiv
+ - fdiv
+ - fdmove
+ - fdmul
+ - fdneg
+ - fdsqrt
+ - fdsub
+ - fetox
+ - fetoxm1
+ - fgetexp
+ - fgetman
+ - fint
+ - fintrz
+ - flog10
+ - flog2
+ - flogn
+ - flognp1
+ - fmod
+ - fmovecr
+ - fmove
+ - fmovem
+ - fmul
+ - fneg
+ - fnop
+ - frem
+ - frestore
+ - fsabs
+ - fsadd
+ - fsave
+ - fscale
+ - fsdiv
+ - fseq
+ - fsf
+ - fsge
+ - fsgldiv
+ - fsgle
+ - fsgl
+ - fsglmul
+ - fsgt
+ - fsincos
+ - fsinh
+ - fsin
+ - fsle
+ - fslt
+ - fsmove
+ - fsmul
+ - fsneg
+ - fsne
+ - fsnge
+ - fsngle
+ - fsngl
+ - fsngt
+ - fsnle
+ - fsnlt
+ - fsoge
+ - fsogl
+ - fsogt
+ - fsole
+ - fsolt
+ - fsor
+ - fsqrt
+ - fsseq
+ - fssf
+ - fssne
+ - fssqrt
+ - fsst
+ - fssub
+ - fst
+ - fsub
+ - fsueq
+ - fsuge
+ - fsugt
+ - fsule
+ - fsult
+ - fsun
+ - ftanh
+ - ftan
+ - ftentox
+ - ftrapeq
+ - ftrapf
+ - ftrapge
+ - ftrapgle
+ - ftrapgl
+ - ftrapgt
+ - ftraple
+ - ftraplt
+ - ftrapne
+ - ftrapnge
+ - ftrapngle
+ - ftrapngl
+ - ftrapngt
+ - ftrapnle
+ - ftrapnlt
+ - ftrapoge
+ - ftrapogl
+ - ftrapogt
+ - ftrapole
+ - ftrapolt
+ - ftrapor
+ - ftrapseq
+ - ftrapsf
+ - ftrapsne
+ - ftrapst
+ - ftrapt
+ - ftrapueq
+ - ftrapuge
+ - ftrapugt
+ - ftrapule
+ - ftrapult
+ - ftrapun
+ - ftst
+ - ftwotox
+
+
+
+ - align
+ - blk
+ - bss
+ - clrfo
+ - clrso
+ - cnop
+ - code
+ - cseg
+ - data
+ - dc
+ - dcb
+ - ds
+ - dseg
+ - else
+ - end
+ - endc
+ - endif
+ - endm
+ - endr
+ - equ
+ - even
+ - fo
+ - idnt
+ - if
+ - ifeq
+ - ifne
+ - ifgt
+ - ifge
+ - iflt
+ - ifle
+ - ifd
+ - ifnd
+ - ifc
+ - ifnc
+ - incbin
+ - incdir
+ - include
+ - macro
+ - org
+ - public
+ - rept
+ - rs
+ - rsreset
+ - rsset
+ - section
+ - set
+ - setfo
+ - setso
+ - so
+ - text
+ - ttl
+ - xdef
+ - xref
+ - sdreg
+ - cpu32
+ - far
+ - fpu
+ - machine
+ - mc68000
+ - mc68010
+ - mc68020
+ - mc68030
+ - mc68040
+ - mc68060
+ - mcf5200
+ - mcf5206
+ - mcf5307
+ - mcf5407
+ - near
+ - opt
+ - equr
+ - equrl
+ - fequr
+ - fequrl
+ - freg
+ - reg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/asm6502.xml b/data/syntax/asm6502.xml
new file mode 100644
index 0000000..5ea1431
--- /dev/null
+++ b/data/syntax/asm6502.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/asn1.xml b/data/syntax/asn1.xml
new file mode 100644
index 0000000..df54646
--- /dev/null
+++ b/data/syntax/asn1.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+ - DEFINITIONS
+ - BEGIN
+ - END
+ - EXPORTS
+ - IMPORTS
+ - FROM
+ - APPLICATION
+ - PRIVATE
+ - UNIVERSAL
+ - DEFAULT
+ - OPTIONAL
+ - FALSE
+ - TRUE
+
+
+ - BOOLEAN
+ - INTEGER
+ - OCTET STRING
+ - NULL
+ - REAL
+ - ENUMERATED
+ - SEQUENCE
+ - SET
+ - CHOICE
+ - OF
+ - VisibleString
+ - StringStore
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/asp.xml b/data/syntax/asp.xml
new file mode 100644
index 0000000..d63d811
--- /dev/null
+++ b/data/syntax/asp.xml
@@ -0,0 +1,393 @@
+
+
+
+
+
+ - select
+ - case
+ - end select
+
+ - if
+ - then
+ - else
+ - elseif
+ - end if
+
+
+ - while
+ - do
+ - until
+ - loop
+ - wend
+
+ - for
+ - each
+ - to
+ - in
+ - next
+
+ - exit
+ - continue
+
+
+ - dim
+ - redim
+ - preserve
+
+ - const
+ - erase
+ - nothing
+ - set
+
+ - new
+ - me
+
+
+ - function
+ - sub
+ - call
+
+ - class
+ - private
+ - public
+ - with
+
+ - randomize
+
+ - open
+ - close
+ - movenext
+ - execute
+ - eof
+
+ - not
+ - true
+ - false
+ - or
+ - and
+ - xor
+
+
+ - response
+ - write
+ - redirect
+ - end
+
+ - request
+ - form
+ - querystring
+ - servervariables
+ - cookies
+
+ - session
+
+ - server
+ - createobject
+
+ - abs
+ - array
+ - asc
+ - atn
+ - cbool
+ - cbyte
+ - ccur
+ - cdate
+ - cdbl
+ - chr
+ - cint
+ - clng
+ - cos
+ - csng
+ - cstr
+ - date
+ - dateadd
+
+ - DateDiff
+ - DatePart
+ - DateSerial
+ - DateValue
+ - Date
+ - Day
+ - Exp
+ - Filter
+ - Fix
+ - FormatCurrency
+ - FormatDateTime
+ - FormatNumber
+ - FormatPercent
+
+ - GetObject
+ - Hex
+ - Hour
+ - InputBox
+ - InStr
+ - InStrRev
+ - Int
+ - IsArray
+ - IsDate
+ - IsEmpty
+ - IsNull
+ - IsNumeric
+ - IsObject
+ - Join
+ - LBound
+ - LCase
+
+ - Left
+ - Len
+ - LoadPicture
+ - Log
+ - LTrim
+ - Mid
+ - Minute
+ - Month
+ - MonthName
+ - MsgBox
+ - Now
+ - Oct
+ - Replace
+
+ - RGB
+ - Right
+ - Rnd
+ - Round
+ - RTrim
+
+ - ScriptEngine
+ - ScriptEngineBuildVersion
+ - ScriptEngineMajorVersion
+ - ScriptEngineMinorVersion
+ - Second
+ - Sgn
+ - Sin
+ - Space
+ - Split
+ - Sqr
+ - StrComp
+ - StrReverse
+ - String
+ - Tan
+ - Time
+ - Timer
+ - TimeSerial
+ - TimeValue
+ - Trim
+ - TypeName
+ - UBound
+ - UCase
+ - VarType
+ - Weekday
+ - WeekdayName
+ - Year
+
+ - Add
+ - AddFolders
+ - BuildPath
+ - Clear
+ - Close
+ - Copy
+ - CopyFile
+ - CopyFolder
+ - CreateFolder
+ - CreateTextFile
+ - Delete
+ - DeleteFile
+ - DeleteFolder
+ - DriveExists
+ - Exists
+ - FileExists
+ - FolderExists
+ - GetAbsolutePathName
+ - GetBaseName
+ - GetDrive
+ - GetDriveName
+ - GetExtensionName
+ - GetFile
+ - GetFileName
+ - GetFolder
+ - GetParentFolderName
+
+ - GetSpecialFolder
+ - GetTempName
+ - Items
+ - item
+ - Keys
+ - Move
+ - MoveFile
+ - MoveFolder
+ - OpenAsTextStream
+ - OpenTextFile
+ - Raise
+ - Read
+ - ReadAll
+ - ReadLine
+ - Remove
+ - RemoveAll
+ - Skip
+ - SkipLine
+ - Write
+ - WriteBlankLines
+ - WriteLine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/asterisk.xml b/data/syntax/asterisk.xml
new file mode 100644
index 0000000..708f814
--- /dev/null
+++ b/data/syntax/asterisk.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+ - AGI
+ - Answer
+ - Dial
+ - Hangup
+ - GoTo
+ - GoToIf
+ - GoToIfTime
+ - NoOp
+ - PlayBack
+ - Read
+ - SayDigits
+ - SayNumber
+ - Set
+ - SetCallerPres
+ - System
+ - Wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/awk.xml b/data/syntax/awk.xml
new file mode 100644
index 0000000..ab63acd
--- /dev/null
+++ b/data/syntax/awk.xml
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+ - if
+ - else
+ - while
+ - do
+ - for
+ - in
+ - continue
+ - break
+ - print
+ - printf
+ - getline
+ - function
+ - return
+ - next
+ - exit
+
+
+ - ARGC
+ - ARGV
+ - CONVFMT
+ - ENVIRON
+ - FILENAME
+ - FNR
+ - FS
+ - NF
+ - NR
+ - OFMT
+ - OFS
+ - ORS
+ - RS
+ - RSTART
+ - RLENGTH
+ - SUBSEP
+
+
+ - gsub
+ - gensub
+ - index
+ - length
+ - match
+ - split
+ - sprintf
+ - sub
+ - substr
+ - tolower
+ - toupper
+ - atan2
+ - cos
+ - exp
+ - int
+ - log
+ - rand
+ - sin
+ - sqrt
+ - srand
+ - close
+ - fflush
+ - system
+
+
+ - BEGIN
+ - END
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/bash.xml b/data/syntax/bash.xml
new file mode 100644
index 0000000..dc47e04
--- /dev/null
+++ b/data/syntax/bash.xml
@@ -0,0 +1,964 @@
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+ - else
+ - for
+ - function
+ - in
+ - select
+ - until
+ - while
+ - elif
+ - then
+ - set
+
+
+
+ - :
+ - source
+ - alias
+ - bg
+ - bind
+ - break
+ - builtin
+ - cd
+ - caller
+ - command
+ - compgen
+ - complete
+ - continue
+ - dirs
+ - disown
+ - echo
+ - enable
+ - eval
+ - exec
+ - exit
+ - fc
+ - fg
+ - getopts
+ - hash
+ - help
+ - history
+ - jobs
+ - kill
+ - let
+ - logout
+ - popd
+ - printf
+ - pushd
+ - pwd
+ - return
+ - set
+ - shift
+ - shopt
+ - suspend
+ - test
+ - time
+ - times
+ - trap
+ - type
+ - ulimit
+ - umask
+ - unalias
+ - wait
+
+
+
+ - export
+ - unset
+ - declare
+ - typeset
+ - local
+ - read
+ - readonly
+
+
+
+
+ - arch
+ - awk
+ - bash
+ - bunzip2
+ - bzcat
+ - bzcmp
+ - bzdiff
+ - bzegrep
+ - bzfgrep
+ - bzgrep
+ - bzip2
+ - bzip2recover
+ - bzless
+ - bzmore
+ - cat
+ - chattr
+ - chgrp
+ - chmod
+ - chown
+ - chvt
+ - cp
+ - date
+ - dd
+ - deallocvt
+ - df
+ - dir
+ - dircolors
+ - dmesg
+ - dnsdomainname
+ - domainname
+ - du
+ - dumpkeys
+ - echo
+ - ed
+ - egrep
+ - false
+ - fgconsole
+ - fgrep
+ - fuser
+ - gawk
+ - getkeycodes
+ - gocr
+ - grep
+ - groff
+ - groups
+ - gunzip
+ - gzexe
+ - gzip
+ - hostname
+ - igawk
+ - install
+ - kbd_mode
+ - kbdrate
+ - killall
+ - last
+ - lastb
+ - link
+ - ln
+ - loadkeys
+ - loadunimap
+ - login
+ - ls
+ - lsattr
+ - lsmod
+ - lsmod.old
+ - lzcat
+ - lzcmp
+ - lzdiff
+ - lzegrep
+ - lzfgrep
+ - lzgrep
+ - lzless
+ - lzcat
+ - lzma
+ - lzmainfo
+ - lzmore
+ - mapscrn
+ - mesg
+ - mkdir
+ - mkfifo
+ - mknod
+ - mktemp
+ - more
+ - mount
+ - mv
+ - nano
+ - netstat
+ - nisdomainname
+ - nroff
+ - openvt
+ - pgawk
+ - pidof
+ - ping
+ - ps
+ - pstree
+ - pwd
+ - rbash
+ - readlink
+ - red
+ - resizecons
+ - rm
+ - rmdir
+ - run-parts
+ - sash
+ - sed
+ - setfont
+ - setkeycodes
+ - setleds
+ - setmetamode
+ - setserial
+ - sh
+ - showkey
+ - shred
+ - sleep
+ - ssed
+ - stat
+ - stty
+ - su
+ - sync
+ - tar
+ - tempfile
+ - touch
+ - troff
+ - true
+ - umount
+ - uname
+ - unicode_start
+ - unicode_stop
+ - unlink
+ - unlzma
+ - unxz
+ - utmpdump
+ - uuidgen
+ - vdir
+ - wall
+ - wc
+ - xz
+ - xzcat
+ - ypdomainname
+ - zcat
+ - zcmp
+ - zdiff
+ - zegrep
+ - zfgrep
+ - zforce
+ - zgrep
+ - zless
+ - zmore
+ - znew
+ - zsh
+
+
+ - aclocal
+ - aconnect
+ - aplay
+ - apm
+ - apmsleep
+ - apropos
+ - ar
+ - arecord
+ - as
+ - as86
+ - autoconf
+ - autoheader
+ - automake
+ - awk
+ - basename
+ - bc
+ - bison
+ - c++
+ - cal
+ - cat
+ - cc
+ - cdda2wav
+ - cdparanoia
+ - cdrdao
+ - cd-read
+ - cdrecord
+ - chfn
+ - chgrp
+ - chmod
+ - chown
+ - chroot
+ - chsh
+ - clear
+ - cmp
+ - co
+ - col
+ - comm
+ - cp
+ - cpio
+ - cpp
+ - cut
+ - dc
+ - dd
+ - df
+ - diff
+ - diff3
+ - dir
+ - dircolors
+ - directomatic
+ - dirname
+ - du
+ - env
+ - expr
+ - fbset
+ - file
+ - find
+ - flex
+ - flex++
+ - fmt
+ - free
+ - ftp
+ - funzip
+ - fuser
+ - g++
+ - gawk
+ - gc
+ - gcc
+ - clang
+ - valgrind
+ - xdg-open
+ - cmake
+ - qmake
+ - svn
+ - git
+ - rsync
+ - gdb
+ - getent
+ - getopt
+ - gettext
+ - gettextize
+ - gimp
+ - gimp-remote
+ - gimptool
+ - gmake
+ - gs
+ - head
+ - hexdump
+ - id
+ - install
+ - join
+ - kill
+ - killall
+ - ld
+ - ld86
+ - ldd
+ - less
+ - lex
+ - ln
+ - locate
+ - lockfile
+ - logname
+ - lp
+ - lpr
+ - ls
+ - lynx
+ - m4
+ - make
+ - man
+ - mkdir
+ - mknod
+ - msgfmt
+ - mv
+ - namei
+ - nasm
+ - nawk
+ - nice
+ - nl
+ - nm
+ - nm86
+ - nmap
+ - nohup
+ - nop
+ - od
+ - passwd
+ - patch
+ - pcregrep
+ - pcretest
+ - perl
+ - perror
+ - pidof
+ - pr
+ - printf
+ - procmail
+ - prune
+ - ps2ascii
+ - ps2epsi
+ - ps2frag
+ - ps2pdf
+ - ps2ps
+ - psbook
+ - psmerge
+ - psnup
+ - psresize
+ - psselect
+ - pstops
+ - rcs
+ - rev
+ - rm
+ - scp
+ - sed
+ - seq
+ - setterm
+ - shred
+ - size
+ - size86
+ - skill
+ - slogin
+ - snice
+ - sort
+ - sox
+ - split
+ - ssh
+ - ssh-add
+ - ssh-agent
+ - ssh-keygen
+ - ssh-keyscan
+ - stat
+ - strings
+ - strip
+ - sudo
+ - suidperl
+ - sum
+ - tac
+ - tail
+ - tee
+ - test
+ - tr
+ - uniq
+ - unlink
+ - unzip
+ - updatedb
+ - updmap
+ - uptime
+ - users
+ - vmstat
+ - w
+ - wc
+ - wget
+ - whatis
+ - whereis
+ - which
+ - who
+ - whoami
+ - write
+ - xargs
+ - yacc
+ - yes
+ - zip
+ - zsoelim
+
+
+ - dcop
+ - kdialog
+ - kfile
+ - xhost
+ - xmodmap
+ - xset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/bibtex.xml b/data/syntax/bibtex.xml
new file mode 100644
index 0000000..339f477
--- /dev/null
+++ b/data/syntax/bibtex.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+ ]>
+
+
+
+ - @article
+ - @book
+ - @booklet
+ - @conference
+ - @collection
+ - @electronic
+ - @inbook
+ - @incollection
+ - @inproceedings
+ - @manual
+ - @mastersthesis
+ - @misc
+ - @online
+ - @patent
+ - @periodical
+ - @proceedings
+ - @report
+ - @phdthesis
+ - @set
+ - @thesis
+ - @techreport
+ - @unpublished
+ - @www
+ - @person
+ - @company
+ - @place
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/bitbake.xml b/data/syntax/bitbake.xml
new file mode 100644
index 0000000..d971d0b
--- /dev/null
+++ b/data/syntax/bitbake.xml
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
+ - after
+ - before
+ - python
+ - branch
+ - bareclone
+ - protocol
+ - name
+ - if
+ - fi
+ - then
+ - rm
+ - ln
+ - cp
+ - for
+ - done
+ - cat
+
+
+
+ - do_build
+ - do_compile
+ - do_compile_append
+ - do_compile_prepend
+ - do_compile_ptest_base
+ - do_configure
+ - do_configure_append
+ - do_configure_prepend
+ - do_configure_ptest_base
+ - do_deploy
+ - do_fetch
+ - do_install
+ - do_install_append
+ - do_install_prepend
+ - do_install_ptest_base
+ - do_package
+ - do_package_qa
+ - do_package_write_deb
+ - do_package_write_ipk
+ - do_package_write_rpm
+ - do_package_write_tar
+ - do_packagedata
+ - do_patch
+ - do_populate_lic
+ - do_populate_sdk
+ - do_populate_sysroot
+ - do_rm_work
+ - do_rm_work_all
+ - do_unpack
+ - do_checkuri
+ - do_checkuriall
+ - do_clean
+ - do_cleanall
+ - do_cleansstate
+ - do_devshell
+ - do_fetchall
+ - do_listtasks
+ - do_package_index
+ - do_bootimg
+ - do_bundle_initramfs
+ - do_rootfs
+ - do_testimage
+ - do_testimage_auto
+ - do_vmdkimg
+ - do_compile_kernelmodules
+ - do_diffconfig
+ - do_kernel_checkout
+ - do_kernel_configcheck
+ - do_kernel_configme
+ - do_kernel_link_vmlinux
+ - do_menuconfig
+ - do_savedefconfig
+ - do_sizecheck
+ - do_strip
+ - do_uboot_mkimage
+ - do_validate_branches
+ - do_generate_qt_config_file
+ - do_spdx
+ - oe_runmake
+ - export
+ - install
+ - kernel_configme
+ - validate_branches
+
+
+
+
+ - inherit
+ - include
+ - require
+ - addtask
+ - deltask
+ - addhandler
+ - EXPORT_FUNCTIONS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/bmethod.xml b/data/syntax/bmethod.xml
new file mode 100644
index 0000000..ed89825
--- /dev/null
+++ b/data/syntax/bmethod.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+ - MACHINE
+ - SETS
+ - CONSTANTS
+ - PROPERTIES
+ - PROMOTES
+ - INCLUDES
+ - USES
+ - SEES
+ - VARIABLES
+ - INVARIANT
+ - INITIALISATION
+ - REFINEMENT
+ - REFINES
+ - CONSTRAINTS
+ - IMPLEMENTATION
+ - IMPORTS
+
+
+ - OPERATIONS
+
+
+ - END
+
+
+ - THEN
+ - WHEN
+ - ELSE
+ - OR
+ - WHERE
+ - INVARIANT
+ - DO
+ - VARIANT
+ - IN
+ - ELSIF
+
+
+ - PRE
+ - IF
+ - ANY
+ - LET
+ - CHOICE
+ - CASE
+ - SELECT
+ - VAR
+ - WHILE
+ - BEGIN
+
+
+ - END
+
+
+ - NAT
+ - NAT1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/boo.xml b/data/syntax/boo.xml
new file mode 100644
index 0000000..d4094db
--- /dev/null
+++ b/data/syntax/boo.xml
@@ -0,0 +1,314 @@
+
+
+
+
+
+
+
+ - import
+ - from
+ - as
+ - namespace
+
+
+
+ - and
+ - assert
+ - in
+ - is
+ - not
+ - or
+
+
+
+ - bool
+ - byte
+ - sbyte
+ - double
+ - decimal
+ - single
+ - short
+ - ushort
+ - int
+ - char
+ - uint
+ - long
+ - ulong
+ - object
+ - duck
+ - string
+ - regex
+ - date
+ - timespan
+
+
+
+ - abstract
+ - virtual
+ - override
+ - static
+ - final
+ - transient
+ - macro
+
+ - protected
+ - private
+ - public
+ - internal
+ - partial
+
+ - class
+ - struct
+ - interface
+ - enum
+ - callable
+ - of
+
+ - def
+ - constructor
+ - destructor
+
+ - do
+ - get
+ - set
+ - event
+
+ - return
+ - yield
+
+
+
+ - true
+ - false
+
+
+
+ - null
+ - self
+ - super
+
+
+
+ - and
+ - break
+ - cast
+ - continue
+ - elif
+ - else
+ - except
+ - ensure
+ - for
+ - given
+ - goto
+ - if
+ - in
+ - is
+ - isa
+ - not
+ - or
+ - otherwise
+ - pass
+ - raise
+ - try
+ - unless
+ - when
+ - while
+ - ref
+
+
+
+ - assert
+ - __eval__
+ - __switch__
+ - enumerate
+ - filter
+ - len
+ - typeof
+ - map
+ - max
+ - min
+ - property
+ - using
+ - getter
+ - required
+ - lock
+ - range
+ - zip
+ - checked
+ - unchecked
+ - rawArrayIndexing
+ - normalArrayIndexing
+ - print
+ - array
+ - matrix
+ - yieldAll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/c.xml b/data/syntax/c.xml
new file mode 100644
index 0000000..7329c4e
--- /dev/null
+++ b/data/syntax/c.xml
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+ - break
+ - case
+ - continue
+ - default
+ - do
+ - else
+ - for
+ - goto
+ - if
+ - return
+ - switch
+ - while
+
+
+ - enum
+ - extern
+ - inline
+ - sizeof
+ - struct
+ - typedef
+ - union
+
+
+ - auto
+ - char
+ - const
+ - double
+ - float
+ - int
+ - long
+ - register
+ - restrict
+ - short
+ - signed
+ - static
+ - unsigned
+ - void
+ - volatile
+ - int8_t
+ - int16_t
+ - int32_t
+ - int64_t
+ - uint8_t
+ - uint16_t
+ - uint32_t
+ - uint64_t
+ - int_least8_t
+ - int_least16_t
+ - int_least32_t
+ - int_least64_t
+ - uint_least8_t
+ - uint_least16_t
+ - uint_least32_t
+ - uint_least64_t
+ - int_fast8_t
+ - int_fast16_t
+ - int_fast32_t
+ - int_fast64_t
+ - uint_fast8_t
+ - uint_fast16_t
+ - uint_fast32_t
+ - uint_fast64_t
+ - size_t
+ - ssize_t
+ - wchar_t
+ - intptr_t
+ - uintptr_t
+ - intmax_t
+ - uintmax_t
+ - ptrdiff_t
+ - sig_atomic_t
+ - wint_t
+ - _Imaginary
+ - _Complex
+ - _Bool
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/carto-css.xml b/data/syntax/carto-css.xml
new file mode 100644
index 0000000..f4e5303
--- /dev/null
+++ b/data/syntax/carto-css.xml
@@ -0,0 +1,405 @@
+
+
+
+
+
+
+
+
+
+
+ - true
+ - false
+
+
+
+ - AliceBlue
+ - AntiqueWhite
+ - Aqua
+ - Aquamarine
+ - Azure
+ - Beige
+ - Bisque
+ - Black
+ - BlanchedAlmond
+ - Blue
+ - BlueViolet
+ - Brown
+ - BurlyWood
+ - CadetBlue
+ - Chartreuse
+ - Chocolate
+ - Coral
+ - CornflowerBlue
+ - Cornsilk
+ - Crimson
+ - Cyan
+ - DarkBlue
+ - DarkCyan
+ - DarkGoldenRod
+ - DarkGray
+ - DarkGreen
+ - DarkKhaki
+ - DarkMagenta
+ - DarkOliveGreen
+ - DarkOrange
+ - DarkOrchid
+ - DarkRed
+ - DarkSalmon
+ - DarkSeaGreen
+ - DarkSlateBlue
+ - DarkSlateGray
+ - DarkTurquoise
+ - DarkViolet
+ - DeepPink
+ - DeepSkyBlue
+ - DimGray
+ - DodgerBlue
+ - FireBrick
+ - FloralWhite
+ - ForestGreen
+ - Fuchsia
+ - Gainsboro
+ - GhostWhite
+ - Gold
+ - GoldenRod
+ - Gray
+ - Green
+ - GreenYellow
+ - HoneyDew
+ - HotPink
+ - IndianRed
+ - Indigo
+ - Ivory
+ - Khaki
+ - Lavender
+ - LavenderBlush
+ - LawnGreen
+ - LemonChiffon
+ - LightBlue
+ - LightCoral
+ - LightCyan
+ - LightGoldenRodYellow
+ - LightGray
+ - LightGreen
+ - LightPink
+ - LightSalmon
+ - LightSeaGreen
+ - LightSkyBlue
+ - LightSlateGray
+ - LightSteelBlue
+ - LightYellow
+ - Lime
+ - LimeGreen
+ - Linen
+ - Magenta
+ - Maroon
+ - MediumAquaMarine
+ - MediumBlue
+ - MediumOrchid
+ - MediumPurple
+ - MediumSeaGreen
+ - MediumSlateBlue
+ - MediumSpringGreen
+ - MediumTurquoise
+ - MediumVioletRed
+ - MidnightBlue
+ - MintCream
+ - MistyRose
+ - Moccasin
+ - NavajoWhite
+ - Navy
+ - OldLace
+ - Olive
+ - OliveDrab
+ - Orange
+ - OrangeRed
+ - Orchid
+ - PaleGoldenRod
+ - PaleGreen
+ - PaleTurquoise
+ - PaleVioletRed
+ - PapayaWhip
+ - PeachPuff
+ - Peru
+ - Pink
+ - Plum
+ - PowderBlue
+ - Purple
+ - Red
+ - RosyBrown
+ - RoyalBlue
+ - SaddleBrown
+ - Salmon
+ - SandyBrown
+ - SeaGreen
+ - SeaShell
+ - Sienna
+ - Silver
+ - SkyBlue
+ - SlateBlue
+ - SlateGray
+ - Snow
+ - SpringGreen
+ - SteelBlue
+ - Tan
+ - Teal
+ - Thistle
+ - Tomato
+ - Turquoise
+ - Violet
+ - Wheat
+ - White
+ - WhiteSmoke
+ - Yellow
+ - YellowGreen
+
+
+
+
+
+ - line-clip
+ - line-pattern-clip
+ - marker-allow-overlap
+ - marker-clip
+ - marker-ignore-placement
+ - point-allow-overlap
+ - point-ignore-placement
+ - polygon-clip
+ - polygon-pattern-clip
+ - shield-allow-overlap
+ - shield-avoid-edges
+ - shield-clip
+ - shield-unlock-image
+ - shield-wrap-before
+ - text-allow-overlap
+ - text-avoid-edges
+ - text-clip
+
+
+ - building-fill
+ - line-color
+ - background-color
+ - marker-fill
+ - marker-line-color
+ - polygon-fill
+ - raster-colorizer-default-color
+ - shield-fill
+ - shield-halo-fill
+ - text-fill
+ - text-halo-fill
+
+
+ - building-height
+ - marker-height
+ - marker-width
+ - shield-name
+ - text-name
+ - text-orientation
+
+
+ - opacity
+ - building-fill-opacity
+ - line-gamma
+ - line-miterlimit
+ - line-offset
+ - line-opacity
+ - line-simplify
+ - line-smooth
+ - line-width
+ - line-pattern-offset
+ - line-pattern-simplify
+ - line-pattern-smooth
+ - background-image-opacity
+ - buffer-size
+ - marker-fill-opacity
+ - marker-line-opacity
+ - marker-line-width
+ - marker-max-error
+ - marker-opacity
+ - marker-smooth
+ - marker-spacing
+ - point-opacity
+ - polygon-gamma
+ - polygon-opacity
+ - polygon-simplify
+ - polygon-smooth
+ - polygon-pattern-gamma
+ - polygon-pattern-opacity
+ - polygon-pattern-simplify
+ - polygon-pattern-smooth
+ - raster-colorizer-epsilon
+ - raster-filter-factor
+ - raster-opacity
+ - shield-dx
+ - shield-dy
+ - shield-halo-radius
+ - shield-min-distance
+ - shield-min-padding
+ - shield-opacity
+ - shield-size
+ - shield-spacing
+ - shield-text-dx
+ - shield-text-dy
+ - shield-text-opacity
+ - text-character-spacing
+ - text-dx
+ - text-dy
+ - text-halo-radius
+ - text-max-char-angle-delta
+ - text-min-distance
+ - text-min-padding
+ - text-min-path-length
+ - text-opacity
+ - text-size
+
+
+ - direct-image-filters
+ - image-filters
+ - line-geometry-transform
+ - line-pattern-geometry-transform
+ - marker-geometry-transform
+ - marker-transform
+ - point-transform
+ - polygon-geometry-transform
+ - polygon-pattern-geometry-transform
+ - shield-transform
+
+
+ - comp-op
+ - line-cap
+ - line-comp-op
+ - line-gamma-method
+ - line-join
+ - line-rasterizer
+ - line-simplify-algorithm
+ - line-pattern-comp-op
+ - line-pattern-simplify-algorithm
+ - background-image-comp-op
+ - marker-comp-op
+ - marker-multi-policy
+ - marker-placement
+ - marker-type
+ - point-comp-op
+ - point-placement
+ - polygon-comp-op
+ - polygon-gamma-method
+ - polygon-simplify-algorithm
+ - polygon-pattern-alignment
+ - polygon-pattern-comp-op
+ - polygon-pattern-simplify-algorithm
+ - raster-colorizer-default-mode
+ - raster-comp-op
+ - raster-scaling
+ - shield-comp-op
+ - shield-horizontal-alignment
+ - shield-justify-alignment
+ - shield-placement
+ - shield-placement-type
+ - shield-text-transform
+ - shield-vertical-alignment
+ - text-align
+ - text-comp-op
+ - text-halo-rasterizer
+ - text-horizontal-alignment
+ - text-placement
+ - text-placement-type
+ - text-transform
+ - text-vertical-alignment
+
+
+ - line-dash-offset
+ - line-dasharray
+
+
+ - debug-mode
+ - base
+ - srs
+ - shield-face-name
+ - shield-placements
+ - shield-wrap-character
+ - text-face-name
+ - text-placements
+ - text-wrap-character
+
+
+ - raster-colorizer-stops
+
+
+ - raster-mesh-size
+ - shield-character-spacing
+ - shield-line-spacing
+ - shield-wrap-width
+ - text-label-position-tolerance
+ - text-line-spacing
+ - text-ratio
+ - text-spacing
+ - text-wrap-width
+
+
+ - line-pattern-file
+ - background-image
+ - font-directory
+ - marker-file
+ - point-file
+ - polygon-pattern-file
+ - shield-file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ccss.xml b/data/syntax/ccss.xml
new file mode 100644
index 0000000..4d8cba1
--- /dev/null
+++ b/data/syntax/ccss.xml
@@ -0,0 +1,658 @@
+
+
+
+
+]>
+
+
+
+
+
+
+ - azimuth
+ - background
+ - background-attachment
+ - background-color
+ - background-image
+ - background-position
+ - background-repeat
+ - border
+ - border-bottom
+ - border-bottom-color
+ - border-bottom-style
+ - border-bottom-width
+ - border-collapse
+ - border-color
+ - border-left
+ - border-left-color
+ - border-left-style
+ - border-left-width
+ - border-right
+ - border-right-color
+ - border-right-style
+ - border-right-width
+ - border-spacing
+ - border-style
+ - border-top
+ - border-top-color
+ - border-top-style
+ - border-top-width
+ - border-width
+ - bottom
+ - caption-side
+ - clear
+ - clip
+ - color
+ - content
+ - counter-increment
+ - counter-reset
+ - cue
+ - cue-after
+ - cue-before
+ - cursor
+ - direction
+ - display
+ - elevation
+ - empty-cells
+ - float
+ - font
+ - font-family
+ - font-size
+ - font-size-adjust
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - height
+ - left
+ - letter-spacing
+ - line-height
+ - list-style
+ - list-style-image
+ - list-style-keyword
+ - list-style-position
+ - list-style-type
+ - margin
+ - margin-bottom
+ - margin-left
+ - margin-right
+ - margin-top
+ - marker-offset
+ - max-height
+ - max-width
+ - min-height
+ - min-width
+ - orphans
+ - outline
+ - outline-color
+ - outline-style
+ - outline-width
+ - overflow
+ - padding
+ - padding-bottom
+ - padding-left
+ - padding-right
+ - padding-top
+ - page
+ - page-break-after
+ - page-break-before
+ - page-break-inside
+ - pause
+ - pause-after
+ - pause-before
+ - pitch
+ - pitch-range
+ - play-during
+ - position
+ - quotes
+ - richness
+ - right
+ - size
+ - speak
+ - speak-header
+ - speak-numeral
+ - speak-punctuation
+ - speech-rate
+ - stress
+ - table-layout
+ - text-align
+ - text-decoration
+ - text-decoration-color
+ - text-indent
+ - text-shadow
+ - text-transform
+ - top
+ - unicode-bidi
+ - vertical-align
+ - visibility
+ - voice-family
+ - volume
+ - white-space
+ - widows
+ - width
+ - word-spacing
+ - z-index
+
+
+ - border-bottom-image
+ - border-bottom-left-image
+ - border-bottom-left-radius
+ - border-bottom-right-image
+ - border-bottom-right-radius
+ - border-corner-image
+ - border-image
+ - border-left-image
+ - border-radius
+ - border-right-image
+ - border-top-image
+ - border-top-left-image
+ - border-top-left-radius
+ - border-top-right-image
+ - border-top-right-radius
+ - box-align
+ - box-shadow
+ - box-sizing
+ - box-orient
+ - box-pack
+ - opacity
+ - outline-offset
+ - overflow-x
+ - overflow-y
+ - text-overflow
+ - text-shadow
+
+
+ - -moz-border-bottom-colors
+ - -moz-border-left-colors
+ - -moz-border-radius
+ - -moz-border-right-colors
+ - -moz-border-top-colors
+ - -moz-box-flex
+
+
+ - -o-background-size
+ - -o-text-overflow
+
+
+ - -khtml-background-size
+ - konq_bgpos_x
+ - konq_bgpos_y
+
+
+ - -webkit-background-size
+ - -webkit-border-radius
+
+
+ - filter
+ - -ms-filter
+
+
+ - font-family
+ - font-size
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - unicode-range
+ - units-per-em
+ - src
+ - panose-1
+ - stemv
+ - stemh
+ - slope
+ - cap-height
+ - x-height
+ - ascent
+ - descent
+ - widths
+ - bbox
+ - definition-src
+ - baseline
+ - centerline
+ - mathline
+ - topline
+
+
+
+ - inherit
+ - none
+ - hidden
+ - dotted
+ - dashed
+ - solid
+ - double
+ - groove
+ - ridge
+ - inset
+ - outset
+ - xx-small
+ - x-small
+ - small
+ - medium
+ - large
+ - x-large
+ - xx-large
+ - smaller
+ - larger
+ - italic
+ - oblique
+ - small-caps
+ - normal
+ - bold
+ - bolder
+ - lighter
+ - light
+ - 100
+ - 200
+ - 300
+ - 400
+ - 500
+ - 600
+ - 700
+ - 800
+ - 900
+ - transparent
+ - repeat
+ - repeat-x
+ - repeat-y
+ - no-repeat
+ - baseline
+ - sub
+ - super
+ - top
+ - text-top
+ - middle
+ - bottom
+ - text-bottom
+ - left
+ - right
+ - center
+ - justify
+ - konq-center
+ - disc
+ - circle
+ - square
+ - box
+ - decimal
+ - decimal-leading-zero
+ - lower-roman
+ - upper-roman
+ - lower-greek
+ - lower-alpha
+ - lower-latin
+ - upper-alpha
+ - upper-latin
+ - hebrew
+ - armenian
+ - georgian
+ - cjk-ideographic
+ - hiragana
+ - katakana
+ - hiragana-iroha
+ - katakana-iroha
+ - inline
+ - inline-block
+ - block
+ - list-item
+ - run-in
+ - compact
+ - marker
+ - table
+ - inline-table
+ - table-row-group
+ - table-header-group
+ - table-footer-group
+ - table-row
+ - table-column-group
+ - table-column
+ - table-cell
+ - table-caption
+ - auto
+ - crosshair
+ - default
+ - pointer
+ - move
+ - e-resize
+ - ne-resize
+ - nw-resize
+ - n-resize
+ - se-resize
+ - sw-resize
+ - s-resize
+ - w-resize
+ - text
+ - wait
+ - help
+ - above
+ - absolute
+ - always
+ - avoid
+ - below
+ - bidi-override
+ - blink
+ - both
+ - capitalize
+ - caption
+ - clip
+ - close-quote
+ - collapse
+ - condensed
+ - crop
+ - cross
+ - ellipsis
+ - ellipsis-word
+ - embed
+ - expanded
+ - extra-condensed
+ - extra-expanded
+ - fixed
+ - hand
+ - hide
+ - higher
+ - icon
+ - inside
+ - invert
+ - landscape
+ - level
+ - line-through
+ - loud
+ - lower
+ - lowercase
+ - ltr
+ - menu
+ - message-box
+ - mix
+ - narrower
+ - no-close-quote
+ - no-open-quote
+ - nowrap
+ - open-quote
+ - outside
+ - overline
+ - portrait
+ - pre
+ - pre-line
+ - pre-wrap
+ - relative
+ - rtl
+ - scroll
+ - semi-condensed
+ - semi-expanded
+ - separate
+ - show
+ - small-caption
+ - static
+ - static-position
+ - status-bar
+ - thick
+ - thin
+ - ultra-condensed
+ - ultra-expanded
+ - underline
+ - uppercase
+ - visible
+ - wider
+ - break
+ - serif
+ - sans-serif
+ - cursive
+ - fantasy
+ - monospace
+ - border-box
+ - content-box
+ - horizontal
+
+
+ - -moz-box
+
+
+ - linear
+ - radial
+
+
+
+
+
+ - aqua
+ - black
+ - blue
+ - fuchsia
+ - gray
+ - green
+ - lime
+ - maroon
+ - navy
+ - olive
+ - purple
+ - red
+ - silver
+ - teal
+ - white
+ - yellow
+ - ActiveBorder
+ - ActiveCaption
+ - AppWorkspace
+ - Background
+ - ButtonFace
+ - ButtonHighlight
+ - ButtonShadow
+ - ButtonText
+ - CaptionText
+ - GrayText
+ - Highlight
+ - HighlightText
+ - InactiveBorder
+ - InactiveCaption
+ - InactiveCaptionText
+ - InfoBackground
+ - InfoText
+ - Menu
+ - MenuText
+ - Scrollbar
+ - ThreeDDarkShadow
+ - ThreeDFace
+ - ThreeDHighlight
+ - ThreeDLightShadow
+ - ThreeDShadow
+ - Window
+ - WindowFrame
+ - WindowText
+
+
+
+ - url
+ - attr
+ - rect
+ - rgb
+ - rgba
+ - hsl
+ - hsla
+ - counter
+ - counters
+
+
+ - local
+ - format
+
+
+ - -webkit-gradient
+ - color-stop
+
+
+ - -moz-linear-gradient
+ - -moz-radial-gradient
+
+
+ - expression
+ - progid:DXImageTransform.Microsoft.gradient
+
+
+
+
+ - all
+ - aural
+ - braille
+ - embossed
+ - handheld
+ - print
+ - projection
+ - screen
+ - tty
+ - tv
+
+
+
+ - hover
+ - link
+ - visited
+ - active
+ - focus
+ - first-child
+ - last-child
+ - only-child
+ - first-of-type
+ - last-of-type
+ - only-of-type
+ - first-letter
+ - first-line
+ - before
+ - after
+ - selection
+ - root
+ - empty
+ - target
+ - enabled
+ - disabled
+ - checked
+ - indeterminate
+ - nth-child
+ - nth-last-child
+ - nth-of-type
+ - nth-last-of-type
+ - not
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/cg.xml b/data/syntax/cg.xml
new file mode 100644
index 0000000..b167e45
--- /dev/null
+++ b/data/syntax/cg.xml
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+ - POSITION
+ - COLOR
+ - COLOR0
+ - COLOR1
+ - COLOR2
+ - COLOR3
+ - TEXCOORD0
+ - TEXCOORD1
+ - TEXCOORD2
+ - TEXCOORD3
+ - TEXCOORD4
+ - TEXCOORD5
+ - TEXCOORD6
+ - TEXCOORD7
+ - TEXCOORD8
+ - TEXCOORD9
+ - TEXCOORD10
+ - TEXCOORD11
+ - TEXCOORD12
+ - TEXCOORD13
+ - TEXCOORD14
+ - TEXCOORD15
+ - TEXUNIT0
+ - TEXUNIT1
+ - TEXUNIT2
+ - TEXUNIT3
+ - TEXUNIT4
+ - TEXUNIT5
+ - TEXUNIT6
+ - TEXUNIT7
+ - TEXUNIT8
+ - TEXUNIT9
+ - TEXUNIT10
+ - TEXUNIT11
+ - TEXUNIT12
+ - TEXUNIT13
+ - TEXUNIT14
+ - TEXUNIT15
+ - WPOS
+ - DEPTH
+ - BLENDWEIGHT
+ - NORMAL
+ - TESSFACTOR
+ - FOGCOORD
+ - PSIZE
+ - BLENDINDICES
+ - TANGENT
+ - BINORMAL
+ - FOG
+ - BCOL0
+ - BCOL1
+ - FACE
+
+
+ - do
+ - while
+ - if
+ - else
+ - for
+ - struct
+ - return
+ - static
+ - typedef
+ - discard
+ - true
+ - false
+
+
+ - bool
+ - int
+ - fixed
+ - half
+ - float
+
+ - void
+ - sampler
+ - sampler1D
+ - sampler2D
+ - sampler3D
+ - samplerCUBE
+ - samplerRECT
+
+ - packed
+ - const
+ - uniform
+ - in
+ - out
+ - inout
+
+
+ - FIXME
+ - TODO
+ - BUG
+
+
+ - abs
+ - acos
+ - all
+ - any
+ - asin
+ - atan
+ - atan2
+ - ceil
+ - clamp
+ - cos
+ - cosh
+ - cross
+ - degrees
+ - determinant
+ - dot
+ - exp
+ - exp2
+ - floor
+ - fmod
+ - frac
+ - frexp
+ - isfinite
+ - isinf
+ - isnan
+ - ldexp
+ - lerp
+ - lit
+ - log
+ - log2
+ - log10
+ - max
+ - min
+ - modf
+ - mul
+ - noise
+ - pow
+ - radians
+ - round
+ - rsqrt
+ - saturate
+ - sign
+ - sin
+ - sincos
+ - sinh
+ - smoothstep
+ - step
+ - sqrt
+ - tan
+ - tanh
+ - transpose
+ - distance
+ - faceforward
+ - length
+ - normalize
+ - reflect
+ - refract
+ - tex1D
+ - tex1Dproj
+ - tex2D
+ - tex2Dproj
+ - texRECT
+ - texRECTproj
+ - tex3D
+ - tex3Dproj
+ - texCUBE
+ - texCUBEproj
+ - ddx
+ - ddy
+ - debug
+ - pack_2half
+ - unpack_2half
+ - pack_2ushort
+ - unpack_2ushort
+ - pack_4byte
+ - unpack_4byte
+ - pack_4ubyte
+ - unpack_4ubyte
+
+
+ - fragout
+ - fragout_float
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/cgis.xml b/data/syntax/cgis.xml
new file mode 100644
index 0000000..cace18d
--- /dev/null
+++ b/data/syntax/cgis.xml
@@ -0,0 +1,146 @@
+
+
+
+
+
+ - 1D
+ - 2D
+ - break
+ - continue
+ - do
+ - else
+ - extern
+ - for
+ - forall
+ - foreach
+ - function
+ - if
+ - in
+ - inout
+ - internal
+ - out
+ - reduction
+ - return
+ - struct
+ - typedef
+ - while
+
+
+ - bool
+ - bool2
+ - bool3
+ - bool4
+ - int
+ - int2
+ - int3
+ - int4
+ - half
+ - half2
+ - half3
+ - half4
+ - float
+ - float2
+ - float3
+ - float4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/changelog.xml b/data/syntax/changelog.xml
new file mode 100644
index 0000000..77c17ed
--- /dev/null
+++ b/data/syntax/changelog.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/chicken.xml b/data/syntax/chicken.xml
new file mode 100644
index 0000000..534a9a8
--- /dev/null
+++ b/data/syntax/chicken.xml
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+ - <=
+ - <
+ - =
+ - =>
+ - >=
+ - >
+ - -
+ - /
+ - *,*
+ - *)
+ - +
+
+
+ - #\nul
+ - #\soh
+ - #\stx
+ - #\etx
+ - #\eot
+ - #\enq
+ - #\ack
+ - #\bel
+ - #\bs
+ - #\ht
+ - #\nl
+ - #\vt
+ - #\np
+ - #\cr
+ - #\so
+ - #\si
+ - #\dle
+ - #\dc1
+ - #\dc2
+ - #\dc3
+ - #\dc4
+ - #\nak
+ - #\syn
+ - #\etb
+ - #\can
+ - #\em
+ - #\sub
+ - #\esc
+ - #\fs
+ - #\gs
+ - #\rs
+ - #\us
+ - #\space
+ - #\sp
+ - #\newline
+ - #\nl
+ - #\tab
+ - #\ht
+ - #\backspace
+ - #\bs
+ - #\return
+ - #\cr
+ - #\page
+ - #\np
+ - #\null
+ - #\nul
+
+
+ - define
+ - define*
+ - define-accessor
+ - define-class
+ - defined?
+ - define-generic
+ - define-macro
+ - define-method
+ - define-module
+ - define-private
+ - define-public
+ - define*-public
+ - define-reader-ctor
+ - define-syntax
+ - define-syntax-macro
+ - defmacro
+ - defmacro*
+ - defmacro*-public
+
+
+ - abs
+ - acos
+ - and
+ - angle
+ - append
+ - applymap
+ - asin
+ - assoc
+ - assq
+ - assv
+ - atan
+ - begin
+ - boolean?
+ - break
+ - caaaar
+ - caaadr
+ - caaar
+ - caadar
+ - caaddr
+ - caadr
+ - caar
+ - cadaar
+ - cadadr
+ - cadar
+ - caddar
+ - cadddr
+ - caddr
+ - cadr
+ - call/cc
+ - call-with-current-continuation
+ - call-with-input-file
+ - call-with-output-file
+ - call-with-values
+ - car
+ - case
+ - catch
+ - cdaaar
+ - cdaadr
+ - cdaar
+ - cdadar
+ - cdaddr
+ - cdadr
+ - cdar
+ - cddaar
+ - cddadr
+ - cddar
+ - cdddar
+ - cddddr
+ - cdddr
+ - cddr
+ - cdr
+ - ceiling
+ - char-alphabetic?
+ - char-ci>=?
+ - char-ci>?
+ - char-ci=?
+ - char-ci<=?
+ - char-downcase
+ - char->integer
+ - char>=?
+ - char>?
+ - char=?
+ - char?
+ - char-lower-case?
+ - char<?c
+ - char<=?
+ - char-numeric?
+ - char-ready?
+ - char-upcase
+ - char-upper-case?
+ - char-whitespace?
+ - close-input-port
+ - close-output-port
+ - complex?
+ - cond
+ - cons
+ - continue
+ - cos
+ - current-input-port
+ - current-output-port
+ - denominator
+ - display
+ - do
+ - dynamic-wind
+ - else
+ - eof-object?
+ - eq?
+ - equal?
+ - eqv?
+ - eval
+ - even?
+ - exact->inexact
+ - exact?
+ - exp
+ - expt
+ - floor
+ - force
+ - for-each
+ - gcd
+ - har-ci<?
+ - if
+ - imag-part
+ - inexact->exact
+ - inexact?
+ - input-port?
+ - integer->char
+ - integer?
+ - interaction-environment
+ - lambda
+ - lcm
+ - length
+ - let
+ - let*
+ - letrec
+ - letrec-syntax
+ - let-syntax
+ - list->string
+ - list
+ - list?
+ - list-ref
+ - list-tail
+ - load
+ - log
+ - magnitude
+ - make-polar
+ - make-rectangular
+ - make-string
+ - make-vector
+ - max
+ - member
+ - memq
+ - memv
+ - min
+ - modulo
+ - negative?
+ - newline
+ - not
+ - null-environment
+ - null?
+ - number?
+ - number->string
+ - numerator
+ - odd?
+ - open-input-file
+ - open-output-file
+ - or
+ - output-port?
+ - pair?
+ - peek-char
+ - port?
+ - positive?
+ - procedure?
+ - quotient
+ - rational?
+ - rationalize
+ - read-char
+ - read
+ - real?
+ - real-part
+ - remainder
+ - reverse
+ - round
+ - scheme-report-environment
+ - set-car!
+ - set-cdr!
+ - sin
+ - sqrt
+ - string-append
+ - string-ci>=?
+ - string-ci>?
+ - string-ci=?
+ - string-ci<=?
+ - string-ci<?
+ - string-copy
+ - string-fill!
+ - string>=?
+ - string>?
+ - string->list
+ - string->number
+ - string->symbol
+ - string=?
+ - string
+ - string?
+ - string-length
+ - string<=?
+ - string<?
+ - string-ref
+ - string-set!
+ - substring
+ - symbol->string
+ - symbol?
+ - syntax-rules
+ - tan
+ - transcript-off
+ - transcript-on
+ - truncate
+ - values
+ - vector-fill!
+ - vector->listlist->vector
+ - vector
+ - vector?
+ - vector-length
+ - vector-ref
+ - vector-set!
+ - while
+ - with-input-from-file
+ - with-output-to-file
+ - write-char
+ - write
+ - zero?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/cisco.xml b/data/syntax/cisco.xml
new file mode 100644
index 0000000..289d7c6
--- /dev/null
+++ b/data/syntax/cisco.xml
@@ -0,0 +1,312 @@
+
+
+
+
+
+ - aaa
+ - access-list
+ - address
+ - alias
+ - arp
+ - async-bootp
+ - banner
+ - boot
+ - bridge
+ - buffers
+ - busy-message
+ - call-history-mib
+ - cdp
+ - chat-script
+ - class-map
+ - clock
+ - cns
+ - config-register
+ - controller
+ - crypto
+ - default
+ - default-value
+ - dialer
+ - dialer-list
+ - dnsix-dmdp
+ - dnsix-nat
+ - downward-compatible-config
+ - enable
+ - end
+ - exception
+ - exit
+ - file
+ - frame-relay
+ - help
+ - hostname
+ - interface
+ - ip
+ - isdn
+ - isdn-mib
+ - kerberos
+ - key
+ - line
+ - logging
+ - login-string
+ - map-class
+ - map-list
+ - memory-size
+ - menu
+ - modemcap
+ - multilink
+ - netbios
+ - no
+ - ntp
+ - partition
+ - policy-map
+ - priority-list
+ - privilege
+ - process-max-time
+ - prompt
+ - queue-list
+ - resume-string
+ - rlogin
+ - rmon
+ - route-map
+ - router
+ - rtr
+ - scheduler
+ - service
+ - snmp-server
+ - sntp
+ - stackmaker
+ - state-machine
+ - subscriber-policy
+ - tacacs-server
+ - template
+ - terminal-queue
+ - tftp-server
+ - time-range
+ - username
+ - virtual-profile
+ - virtual-template
+ - vpdn
+ - vpdn-group
+ - x25
+ - x29
+
+
+ - accounting
+ - accounting-list
+ - accounting-threshold
+ - accounting-transits
+ - address-pool
+ - as-path
+ - audit
+ - auth-proxy
+ - authentication
+ - authorization
+ - bgp-community
+ - bootp
+ - cef
+ - classless
+ - community-list
+ - default-gateway
+ - default-network
+ - dhcp
+ - dhcp-server
+ - domain-list
+ - domain-lookup
+ - domain-name
+ - dvmrp
+ - exec-callback
+ - extcommunity-list
+ - finger
+ - flow-aggregation
+ - flow-cache
+ - flow-export
+ - forward-protocol
+ - ftp
+ - gratuitous-arps
+ - host
+ - host-routing
+ - hp-host
+ - http
+ - icmp
+ - inspect
+ - local
+ - mrm
+ - mroute
+ - msdp
+ - multicast
+ - multicast-routing
+ - name-server
+ - nat
+ - new-model
+ - ospf
+ - password
+ - password-encryption
+ - pgm
+ - pim
+ - port-map
+ - prefix-list
+ - radius
+ - rcmd
+ - reflexive-list
+ - route
+ - routing
+ - rsvp
+ - rtcp
+ - sap
+ - sdr
+ - security
+ - source-route
+ - subnet-zero
+ - tacacs
+ - tcp
+ - tcp-small-servers
+ - telnet
+ - tftp
+ - timestamps
+ - udp-small-servers
+ - vrf
+ - wccp
+
+
+ - accounting
+ - accounting-list
+ - accounting-threshold
+ - accounting-transits
+ - address-pool
+ - as-path
+ - audit
+ - auth-proxy
+ - authentication
+ - authorization
+ - bgp-community
+ - bootp
+ - cef
+ - classless
+ - community-list
+ - default-gateway
+ - default-network
+ - dhcp
+ - dhcp-server
+ - domain-list
+ - domain-lookup
+ - domain-name
+ - dvmrp
+ - exec-callback
+ - extcommunity-list
+ - finger
+ - flow-aggregation
+ - flow-cache
+ - flow-export
+ - forward-protocol
+ - ftp
+ - gratuitous-arps
+ - host
+ - host-routing
+ - hp-host
+ - http
+ - icmp
+ - inspect
+ - local
+ - mrm
+ - mroute
+ - msdp
+ - multicast
+ - multicast-routing
+ - name-server
+ - nat
+ - new-model
+ - ospf
+ - password
+ - password-encryption
+ - pgm
+ - pim
+ - port-map
+ - prefix-list
+ - radius
+ - rcmd
+ - reflexive-list
+ - route
+ - routing
+ - rsvp
+ - rtcp
+ - sap
+ - sdr
+ - security
+ - source-route
+ - subnet-zero
+ - tacacs
+ - tcp
+ - tcp-small-servers
+ - telnet
+ - tftp
+ - timestamps
+ - udp-small-servers
+ - vrf
+ - wccp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/clipper.xml b/data/syntax/clipper.xml
new file mode 100644
index 0000000..fd504fd
--- /dev/null
+++ b/data/syntax/clipper.xml
@@ -0,0 +1,500 @@
+
+
+
+
+
+
+
+ - .and.
+ - announce
+ - begin
+ - case
+ - command
+ - define
+ - do
+ - elseif
+ - else
+ - endcase
+ - enddo
+ - endif
+ - error
+ - exit
+ - field
+ - .f.
+ - for
+ - function
+ - ifdef
+ - if
+ - include
+ - init
+ - inndef
+ - local
+ - memvar
+ - next
+ - nil
+ - .not.
+ - .or.
+ - other
+ - parameters
+ - private
+ - procedure
+ - public
+ - request
+ - return
+ - sequence
+ - static
+ - stdout
+ - .t.
+ - traslate
+ - undef
+ - while
+ - xcommand
+ - xtranslate
+
+
+
+
+ - accept
+ - all
+ - alternate
+ - append
+ - ascending
+ - average
+ - bell
+ - blank
+ - box
+ - century
+ - clear
+ - close
+ - coclor
+ - color
+ - commit
+ - confirm
+ - console
+ - continue
+ - copy
+ - count
+ - create
+ - cursor
+ - date
+ - decimals
+ - default
+ - deleted
+ - delete
+ - delimiters
+ - descending
+ - device
+ - display
+ - do
+ - eject
+ - epoch
+ - erase
+ - escape
+ - eval
+ - every
+ - exact
+ - extended
+ - file
+ - filter
+ - fixed
+ - form
+ - from
+ - get
+ - gets
+ - go
+ - goto
+ - index
+ - input
+ - intensity
+ - ?
+ - ??
+ - @
+ - join
+ - keyboard
+ - key
+ - label
+ - list
+ - locate
+ - margin
+ - memory
+ - menu
+ - message
+ - new
+ - on
+ - order
+ - pack
+ - path
+ - pict
+ - printer
+ - prompt
+ - quit
+ - range
+ - read
+ - recall
+ - record
+ - reindex
+ - relation
+ - release
+ - rename
+ - replace
+ - report
+ - rest
+ - restore
+ - run
+ - save
+ - say
+ - scoreboard
+ - seek
+ - select
+ - set
+ - skip
+ - softseek
+ - sort
+ - structure
+ - sum
+ - tag
+ - to
+ - total
+ - typeahead
+ - type
+ - unique
+ - unlock
+ - update
+ - use
+ - valid
+ - wait
+ - when
+ - with
+ - wrap
+ - zap
+
+
+
+
+ - aadd
+ - abs
+ - achoice
+ - aclone
+ - acopy
+ - adel
+ - aeval
+ - afill
+ - ains
+ - alert
+ - alias
+ - alltrim
+ - altd
+ - array
+ - ascan
+ - asize
+ - asort
+ - atail
+ - at
+ - bin2i
+ - bin2l
+ - bin2w
+ - bof
+ - break
+ - browse
+ - cdowchr
+ - chr
+ - cmonth
+ - col
+ - colorselect
+ - ctod
+ - curdir
+ - date
+ - day
+ - dbappend
+ - dbclearall
+ - dbclearfilter
+ - dbclearindex
+ - dbclearrelation
+ - dbcloseall
+ - dbclosearea
+ - dbcommitall
+ - dbcommit
+ - dbcreateindex
+ - dbcreate
+ - dbdelete
+ - dbedit
+ - dbeval
+ - dbfilter
+ - dbf
+ - dbgobottom
+ - dbgoto
+ - dbgotop
+ - dbrecall
+ - dbreindex
+ - dbrelation
+ - dbrlock
+ - dbrlocklist
+ - dbrselect
+ - dbrunlock
+ - dbseek
+ - dbselectarea
+ - dbsetfilter
+ - dbsetindex
+ - dbsetorder
+ - dbsetrelation
+ - dbskip
+ - dbstruct
+ - dbunlockall
+ - dbunlock
+ - dbusearea
+ - deleted
+ - descend
+ - devout
+ - devpos
+ - directory
+ - dispbegin
+ - dispbox
+ - dispcount
+ - dispend
+ - dispout
+ - dispspace
+ - doserror
+ - dow
+ - dtoc
+ - dtos
+ - empty
+ - eof
+ - errorblock
+ - errorinhandler
+ - errorlevel
+ - eval
+ - exp
+ - fclose
+ - fcount
+ - fcreate
+ - ferase
+ - ferror
+ - fieldblock
+ - fieldget
+ - field
+ - fieldname
+ - fieldpos
+ - fieldput
+ - fieldwblock
+ - file
+ - flock
+ - fopen
+ - found
+ - fread
+ - freadstr
+ - frename
+ - fseek
+ - fwrite
+ - getactive
+ - getenv
+ - hardcr
+ - header
+ - i2bin
+ - iif
+ - indexext
+ - indexkey
+ - indexord
+ - inkey
+ - int
+ - isalpha
+ - iscolor
+ - isdigit
+ - islower
+ - isprinter
+ - isupper
+ - l2bin
+ - lastkey
+ - lastrec
+ - left
+ - len
+ - lock
+ - log
+ - lower
+ - ltrim
+ - lupdate
+ - maxcol
+ - max
+ - maxrow
+ - memoedit
+ - memoline
+ - memoread
+ - memory
+ - memotran
+ - memowrit
+ - memvarblock
+ - min
+ - mlcount
+ - mlctopos
+ - mlpos
+ - mod
+ - month
+ - mpostolc
+ - neterr
+ - netname
+ - nextkey
+ - nosnow
+ - ordbagext
+ - ordbagname
+ - ordcreate
+ - orddestroy
+ - ordfor
+ - ordkey
+ - ordlistadd
+ - ordlistclear
+ - ordlistrebuild
+ - ordname
+ - ordnumber
+ - ordsetfocus
+ - os
+ - outerr
+ - outstd
+ - padc
+ - padl
+ - padr
+ - pcol
+ - pcount
+ - proclineprocname
+ - prow
+ - qout
+ - qqout
+ - rat
+ - rddlist
+ - rddname
+ - rddsetdefault
+ - readexit
+ - readinsert
+ - readmodal
+ - readvar
+ - reccount
+ - recno
+ - recsize
+ - replicate
+ - restscreen
+ - right
+ - rlock
+ - round
+ - row
+ - rtrim
+ - savesreen
+ - scroll
+ - seconds
+ - select
+ - setblink
+ - setcancel
+ - setcolor
+ - setcursor
+ - setkey
+ - setmode
+ - setpos
+ - setprc
+ - soundex
+ - space
+ - sqrt
+ - str
+ - strtran
+ - stuff
+ - substr
+ - time
+ - tone
+ - transform
+ - trim
+ - updated
+ - upper
+ - used
+ - val
+ - valtype
+ - version
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/clojure.xml b/data/syntax/clojure.xml
new file mode 100644
index 0000000..8694eba
--- /dev/null
+++ b/data/syntax/clojure.xml
@@ -0,0 +1,797 @@
+
+
+
+
+
+
+ - def
+ - def-
+ - defalias
+ - defhinted
+ - definline
+ - defmacro
+ - defmacro-
+ - defmethod
+ - defmulti
+ - defn
+ - defn-
+ - defnk
+ - defn-memo
+ - defonce
+ - defonce-
+ - defprotocol
+ - defrecord
+ - defstruct
+ - defstruct-
+ - deftest
+ - deftest-
+ - deftype
+ - defunbound
+ - defunbound-
+ - defvar
+ - defvar-
+
+
+ - <
+ - <=
+ - =
+ - ==
+ - >
+ - >=
+ - -
+ - ->
+ - ->>
+ - /
+ - .
+ - ..
+ - *
+ - +
+ - accessor
+ - aclone
+ - add-classpath
+ - add-watcher
+ - agent
+ - agent-errors
+ - aget
+ - alength
+ - alias
+ - all-ns
+ - alter
+ - alter-meta!
+ - alter-var-root
+ - amap
+ - ancestors
+ - and
+ - append-child
+ - apply
+ - apply-template
+ - are
+ - areduce
+ - array-map
+ - aset
+ - aset-boolean
+ - aset-byte
+ - aset-char
+ - aset-double
+ - aset-float
+ - aset-int
+ - aset-long
+ - aset-short
+ - assert
+ - assert-any
+ - assert-expr
+ - assert-predicate
+ - assoc
+ - assoc!
+ - associative?
+ - assoc-in
+ - atom
+ - atom?
+ - attrs
+ - await
+ - await1
+ - await-for
+ - bases
+ - bean
+ - bigdec
+ - bigint
+ - binding
+ - bit-and
+ - bit-and-not
+ - bit-clear
+ - bit-flip
+ - bit-not
+ - bit-or
+ - bit-set
+ - bit-shift-left
+ - bit-shift-right
+ - bit-test
+ - bit-xor
+ - boolean
+ - boolean-array
+ - booleans
+ - bound-fn
+ - bound-fn*
+ - branch?
+ - butlast
+ - byte
+ - byte-array
+ - bytes
+ - case
+ - cast
+ - catch
+ - char
+ - char?
+ - char-array
+ - char-escape-string
+ - char-name-string
+ - chars
+ - children
+ - chunk
+ - chunk-append
+ - chunk-buffer
+ - chunk-cons
+ - chunked-seq?
+ - chunk-first
+ - chunk-next
+ - chunk-rest
+ - class
+ - class?
+ - clear-agent-errors
+ - clojure-version
+ - coll?
+ - collection-tag
+ - comment
+ - commute
+ - comp
+ - comparator
+ - compare
+ - compare-and-set!
+ - compile
+ - complement
+ - compose-fixtures
+ - concat
+ - cond
+ - condp
+ - conj
+ - conj!
+ - cons
+ - constantly
+ - construct-proxy
+ - contains?
+ - content
+ - content-handler
+ - count
+ - counted?
+ - create-ns
+ - create-struct
+ - cycle
+ - dec
+ - decimal?
+ - declare
+ - delay
+ - delay?
+ - deliver
+ - deref
+ - derive
+ - descendants
+ - destructure
+ - difference
+ - disj
+ - disj!
+ - dissoc
+ - dissoc!
+ - distinct
+ - distinct?
+ - do
+ - doall
+ - doc
+ - dorun
+ - doseq
+ - dosync
+ - do-template
+ - dotimes
+ - doto
+ - double
+ - double-array
+ - doubles
+ - down
+ - drop
+ - drop-last
+ - drop-while
+ - e
+ - edit
+ - element
+ - emit
+ - emit-element
+ - empty
+ - empty?
+ - end?
+ - ensure
+ - enumeration-seq
+ - eval
+ - even?
+ - every?
+ - extend
+ - extenders
+ - extend-protocol
+ - extends?
+ - extend-type
+ - false?
+ - ffirst
+ - file-position
+ - file-seq
+ - filter
+ - finally
+ - find
+ - find-doc
+ - find-ns
+ - find-var
+ - first
+ - float
+ - float?
+ - float-array
+ - floats
+ - flush
+ - fn
+ - fn?
+ - fnext
+ - for
+ - force
+ - format
+ - function?
+ - future
+ - future?
+ - future-call
+ - future-cancel
+ - future-cancelled?
+ - future-done?
+ - gen-and-load-class
+ - gen-and-save-class
+ - gen-class
+ - gen-interface
+ - gensym
+ - get
+ - get-child
+ - get-child-count
+ - get-in
+ - get-method
+ - get-possibly-unbound-var
+ - get-proxy-class
+ - get-thread-bindings
+ - get-validator
+ - handle
+ - handler-case
+ - hash
+ - hash-map
+ - hash-set
+ - identical?
+ - identity
+ - if
+ - if-let
+ - ifn?
+ - if-not
+ - import
+ - inc
+ - inc-report-counter
+ - index
+ - init-proxy
+ - in-ns
+ - insert-child
+ - insert-left
+ - insert-right
+ - inspect
+ - inspect-table
+ - inspect-tree
+ - instance?
+ - int
+ - int-array
+ - integer?
+ - interleave
+ - intern
+ - interpose
+ - intersection
+ - into
+ - into-array
+ - ints
+ - io!
+ - is
+ - isa?
+ - is-leaf
+ - iterate
+ - iterator-seq
+ - join
+ - join-fixtures
+ - juxt
+ - key
+ - keys
+ - keyword
+ - keyword?
+ - keywordize-keys
+ - last
+ - lazy-cat
+ - lazy-seq
+ - left
+ - leftmost
+ - lefts
+ - let
+ - letfn
+ - line-seq
+ - list
+ - list*
+ - list?
+ - list-model
+ - list-provider
+ - load
+ - loaded-libs
+ - load-file
+ - load-reader
+ - load-script
+ - load-string
+ - locking
+ - long
+ - long-array
+ - longs
+ - loop
+ - macroexpand
+ - macroexpand-1
+ - macroexpand-all
+ - main
+ - make-array
+ - make-hierarchy
+ - make-node
+ - map
+ - map?
+ - mapcat
+ - map-invert
+ - max
+ - max-key
+ - memfn
+ - memoize
+ - merge
+ - merge-with
+ - meta
+ - methods
+ - method-sig
+ - min
+ - min-key
+ - mod
+ - name
+ - namespace
+ - neg?
+ - newline
+ - next
+ - nfirst
+ - nil?
+ - nnext
+ - node
+ - not
+ - not=
+ - not-any?
+ - not-empty
+ - not-every?
+ - ns
+ - ns-aliases
+ - ns-imports
+ - ns-interns
+ - ns-map
+ - ns-name
+ - ns-publics
+ - ns-refers
+ - ns-resolve
+ - ns-unalias
+ - ns-unmap
+ - nth
+ - nthnext
+ - num
+ - number?
+ - odd?
+ - or
+ - parents
+ - partial
+ - partition
+ - path
+ - pcalls
+ - peek
+ - persistent!
+ - pmap
+ - pop
+ - pop!
+ - pop-thread-bindings
+ - pos?
+ - postwalk
+ - postwalk-demo
+ - postwalk-replace
+ - pr
+ - prefer-method
+ - prefers
+ - prev
+ - prewalk
+ - prewalk-demo
+ - prewalk-replace
+ - primitives-classnames
+ - print
+ - print-cause-trace
+ - print-ctor
+ - print-doc
+ - print-dup
+ - printf
+ - println
+ - println-str
+ - print-method
+ - print-namespace-doc
+ - print-simple
+ - print-special-doc
+ - print-stack-trace
+ - print-str
+ - print-throwable
+ - print-trace-element
+ - prn
+ - prn-str
+ - project
+ - promise
+ - proxy
+ - proxy-call-with-super
+ - proxy-mappings
+ - proxy-name
+ - proxy-super
+ - pr-str
+ - push-thread-bindings
+ - pvalues
+ - quot
+ - rand
+ - rand-int
+ - range
+ - ratio?
+ - rational?
+ - rationalize
+ - read
+ - read-line
+ - read-string
+ - recur
+ - reduce
+ - ref
+ - refer
+ - refer-clojure
+ - ref-history-count
+ - re-find
+ - ref-max-history
+ - ref-min-history
+ - ref-set
+ - re-groups
+ - reify
+ - release-pending-sends
+ - rem
+ - re-matcher
+ - re-matches
+ - remove
+ - remove-method
+ - remove-ns
+ - remove-watcher
+ - rename
+ - rename-keys
+ - re-pattern
+ - repeat
+ - repeatedly
+ - repl
+ - replace
+ - repl-caught
+ - repl-exception
+ - replicate
+ - repl-prompt
+ - repl-read
+ - report
+ - require
+ - re-seq
+ - reset!
+ - reset-meta!
+ - resolve
+ - rest
+ - resultset-seq
+ - reverse
+ - reversible?
+ - right
+ - rightmost
+ - rights
+ - root
+ - rseq
+ - rsubseq
+ - run-all-tests
+ - run-tests
+ - satisfies?
+ - second
+ - select
+ - select-keys
+ - send
+ - send-off
+ - seq
+ - seq?
+ - seque
+ - sequence
+ - sequential?
+ - seq-zip
+ - set
+ - set?
+ - set-test
+ - set-validator!
+ - short
+ - short-array
+ - shorts
+ - shutdown-agents
+ - skip-if-eol
+ - skip-whitespace
+ - slurp
+ - some
+ - sort
+ - sort-by
+ - sorted?
+ - sorted-map
+ - sorted-map-by
+ - sorted-set
+ - sorted-set-by
+ - special-form-anchor
+ - special-symbol?
+ - split-at
+ - split-with
+ - str
+ - stream?
+ - string?
+ - stringify-keys
+ - struct
+ - struct-map
+ - subs
+ - subseq
+ - subvec
+ - successful?
+ - supers
+ - swap!
+ - symbol
+ - symbol?
+ - sync
+ - syntax-symbol-anchor
+ - take
+ - take-last
+ - take-nth
+ - take-while
+ - test
+ - test-all-vars
+ - testing
+ - testing-contexts-str
+ - testing-vars-str
+ - test-ns
+ - test-var
+ - the-ns
+ - throw
+ - time
+ - to-array
+ - to-array-2d
+ - trampoline
+ - transient
+ - tree-seq
+ - true?
+ - try
+ - try-expr
+ - type
+ - unchecked-add
+ - unchecked-dec
+ - unchecked-divide
+ - unchecked-inc
+ - unchecked-multiply
+ - unchecked-negate
+ - unchecked-remainder
+ - unchecked-subtract
+ - underive
+ - unimport
+ - union
+ - unquote
+ - unquote-splicing
+ - up
+ - update-in
+ - update-proxy
+ - use
+ - use-fixtures
+ - val
+ - vals
+ - var?
+ - var-get
+ - var-set
+ - vary-meta
+ - vec
+ - vector
+ - vector?
+ - walk
+ - when
+ - when-first
+ - when-let
+ - when-not
+ - while
+ - with-bindings
+ - with-bindings*
+ - with-in-str
+ - with-loading-context
+ - with-local-vars
+ - with-meta
+ - with-open
+ - with-out-str
+ - with-precision
+ - with-test
+ - with-test-out
+ - xml-seq
+ - zero?
+
+
+ - *1
+ - *2
+ - *3
+ - *agent*
+ - *allow-unresolved-vars*
+ - *assert*
+ - *clojure-version*
+ - *command-line-args*
+ - *compile-files*
+ - *compile-path*
+ - *current*
+ - *e
+ - *err*
+ - *file*
+ - *flush-on-newline*
+ - *in*
+ - *initial-report-counters*
+ - *load-tests*
+ - *macro-meta*
+ - *math-context*
+ - *ns*
+ - *out*
+ - *print-dup*
+ - *print-length*
+ - *print-level*
+ - *print-meta*
+ - *print-readably*
+ - *read-eval*
+ - *report-counters*
+ - *sb*
+ - *source-path*
+ - *stack*
+ - *stack-trace-depth*
+ - *state*
+ - *testing-contexts*
+ - *testing-vars*
+ - *test-out*
+ - *use-context-classloader*
+ - *warn-on-reflection*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/cmake.xml b/data/syntax/cmake.xml
new file mode 100644
index 0000000..c907c32
--- /dev/null
+++ b/data/syntax/cmake.xml
@@ -0,0 +1,1301 @@
+
+
+
+
+
+
+
+
+
+
+ - add_compile_options
+ - add_custom_command
+ - add_custom_target
+ - add_definitions
+ - add_dependencies
+ - add_executable
+ - add_library
+ - add_subdirectory
+ - add_test
+ - aux_source_directory
+ - break
+ - build_command
+ - build_name
+ - cmake_host_system_information
+ - cmake_minimum_required
+ - cmake_policy
+ - configure_file
+ - continue
+ - create_test_sourcelist
+ - ctest_build
+ - ctest_configure
+ - ctest_coverage
+ - ctest_empty_binary_directory
+ - ctest_memcheck
+ - ctest_read_custom_files
+ - ctest_run_script
+ - ctest_sleep
+ - ctest_start
+ - ctest_submit
+ - ctest_test
+ - ctest_update
+ - ctest_upload
+ - define_property
+ - else
+ - elseif
+ - enable_language
+ - enable_testing
+ - endforeach
+ - endfunction
+ - endif
+ - endmacro
+ - endwhile
+ - exec_program
+ - execute_process
+ - export
+ - export_library_dependencies
+ - file
+ - find_file
+ - find_library
+ - find_package
+ - find_path
+ - find_program
+ - fltk_wrap_ui
+ - foreach
+ - function
+ - get_cmake_property
+ - get_directory_property
+ - get_filename_component
+ - get_property
+ - get_source_file_property
+ - get_target_property
+ - get_test_property
+ - if
+ - include
+ - include_directories
+ - include_external_msproject
+ - include_regular_expression
+ - install
+ - install_files
+ - install_programs
+ - install_targets
+ - link_directories
+ - link_libraries
+ - list
+ - load_cache
+ - load_command
+ - macro
+ - make_directory
+ - mark_as_advanced
+ - math
+ - message
+ - option
+ - output_required_files
+ - project
+ - qt_wrap_cpp
+ - qt_wrap_ui
+ - remove
+ - remove_definitions
+ - return
+ - separate_arguments
+ - set
+ - set_directory_properties
+ - set_property
+ - set_source_files_properties
+ - set_target_properties
+ - set_tests_properties
+ - site_name
+ - source_group
+ - string
+ - subdir_depends
+ - subdirs
+ - target_compile_definitions
+ - target_compile_features
+ - target_compile_options
+ - target_include_directories
+ - target_link_libraries
+ - target_sources
+ - try_compile
+ - try_run
+ - unset
+ - use_mangled_mesa
+ - utility_source
+ - variable_requires
+ - variable_watch
+ - while
+ - write_file
+
+
+
+ - itk_wrap_tcl
+ - vtk_make_instantiator
+ - vtk_wrap_java
+ - vtk_wrap_python
+ - vtk_wrap_tcl
+
+
+
+
+
+ - AFTER
+ - ALIAS
+ - ALL
+ - ALPHABET
+ - AND
+ - APPEND
+ - APPENDNUMBER_ERRORS
+ - APPEND_STRING
+ - ARCHIVE
+ - ARGS
+ - ASCII
+ - AUTHOR_WARNING
+ - BEFORE
+ - BRIEF_DOCS
+ - BUILD
+ - BUNDLE
+ - BYPRODUCTS
+ - CACHE
+ - CACHED_VARIABLE
+ - CDASH_UPLOAD
+ - CDASH_UPLOAD_TYPE
+ - CLEAR
+ - CMAKE_FIND_ROOT_PATH_BOTH
+ - CMAKE_FLAGS
+ - CODE
+ - COMMAND
+ - COMMAND_NAME
+ - COMMENT
+ - COMPARE
+ - COMPILE_DEFINITIONS
+ - COMPILE_OUTPUT_VARIABLE
+ - COMPILE_RESULT_VAR
+ - COMPONENT
+ - COMPONENTS
+ - CONCAT
+ - CONDITION
+ - CONFIG
+ - CONFIGS
+ - CONFIGURATION
+ - CONFIGURATIONS
+ - CONFIGURE
+ - CONTENT
+ - COPY
+ - COPYONLY
+ - COPY_FILE
+ - COPY_FILE_ERROR
+ - CRLF
+ - DEFINED
+ - DEFINITION
+ - DEPENDS
+ - DESTINATION
+ - DIRECTORY
+ - DIRECTORY_PERMISSIONS
+ - DOC
+ - DOS
+ - DOWNLOAD
+ - ENV
+ - END
+ - EQUAL
+ - ERROR_FILE
+ - ERROR_QUIET
+ - ERROR_STRIP_TRAILING_WHITESPACE
+ - ERROR_VARIABLE
+ - ESCAPE_QUOTES
+ - EXACT
+ - EXCLUDE
+ - EXCLUDE_FROM_ALL
+ - EXCLUDE_LABEL
+ - EXISTS
+ - EXPECTED_HASH
+ - EXPECTED_MD5
+ - EXPORT
+ - EXPORT_LINK_INTERFACE_LIBRARIES
+ - EXPR
+ - EXTRA_INCLUDE
+ - FATAL_ERROR
+ - FILE
+ - FILES
+ - FILES_MATCHING
+ - FILE_PERMISSIONS
+ - FIND
+ - FLAGS
+ - FOLLOW_SYMLINKS
+ - FORCE
+ - FRAMEWORK
+ - FULL_DOCS
+ - FUNCTION
+ - GENERATE
+ - GENEX_STRIP
+ - GET
+ - GLOB
+ - GLOBAL
+ - GLOB_RECURSE
+ - GREATER
+ - GROUP_EXECUTE
+ - GROUP_READ
+ - GUARD
+ - GUID
+ - HEX
+ - HINTS
+ - IMPLICIT_DEPENDS
+ - IMPORTED
+ - IN
+ - INACTIVITY_TIMEOUT
+ - INCLUDE
+ - INCLUDES
+ - INCLUDE_INTERNALS
+ - INCLUDE_LABEL
+ - INHERITED
+ - INPUT
+ - INPUT_FILE
+ - INSERT
+ - INSTALL
+ - INTERFACE
+ - IS_ABSOLUTE
+ - IS_DIRECTORY
+ - IS_NEWER_THAN
+ - IS_SYMLINK
+ - ITEMS
+ - LABELS
+ - LANGUAGES
+ - LENGTH
+ - LENGTH_MAXIMUM
+ - LENGTH_MINIMUM
+ - LESS
+ - LF
+ - LIBRARY
+ - LIMIT
+ - LIMIT_COUNT
+ - LIMIT_INPUT
+ - LIMIT_OUTPUT
+ - LINK_INTERFACE_LIBRARIES
+ - LINK_LIBRARIES
+ - LINK_PRIVATE
+ - LINK_PUBLIC
+ - LISTS
+ - LIST_DIRECTORIES
+ - LOCK
+ - LOG
+ - MACOSX_BUNDLE
+ - MAIN_DEPENDENCY
+ - MAKE_C_IDENTIFIER
+ - MAKE_DIRECTORY
+ - MATCH
+ - MATCHALL
+ - MATCHES
+ - MD5
+ - MESSAGE_NEVER
+ - MODULE
+ - NAME
+ - NAMELINK_ONLY
+ - NAMELINK_SKIP
+ - NAMES
+ - NAMESPACE
+ - NAMES_PER_DIR
+ - NEW
+ - NEWLINE_CONSUME
+ - NEWLINE_STYLE
+ - NEW_PROCESS
+ - NOT
+ - NOTEQUAL
+ - NO_CMAKE_BUILDS_PATH
+ - NO_CMAKE_ENVIRONMENT_PATH
+ - NO_CMAKE_FIND_ROOT_PATH
+ - NO_CMAKE_PACKAGE_REGISTRY
+ - NO_CMAKE_PATH
+ - NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
+ - NO_CMAKE_SYSTEM_PATH
+ - NO_DEFAULT_PATH
+ - NO_HEX_CONVERSION
+ - NO_MODULE
+ - NO_POLICY_SCOPE
+ - NO_SOURCE_PERMISSIONS
+ - NO_SYSTEM_ENVIRONMENT_PATH
+ - NUMBER_ERRORS
+ - NUMBER_WARNINGS
+ - OBJECT
+ - OFF
+ - OFFSET
+ - OLD
+ - ON
+ - ONLY_CMAKE_FIND_ROOT_PATH
+ - OPTIONAL
+ - OPTIONAL_COMPONENTS
+ - OPTIONS
+ - OR
+ - OUTPUT
+ - OUTPUT_DIRECTORY
+ - OUTPUT_FILE
+ - OUTPUT_QUIET
+ - OUTPUT_STRIP_TRAILING_WHITESPACE
+ - OUTPUT_VARIABLE
+ - OWNER_EXECUTE
+ - OWNER_READ
+ - OWNER_WRITE
+ - PACKAGE
+ - PARALLEL_LEVEL
+ - PARENT_SCOPE
+ - PARTS
+ - PATHS
+ - PATH_SUFFIXES
+ - PATH_TO_MESA
+ - PATTERN
+ - PERMISSIONS
+ - PLATFORM
+ - POLICY
+ - POP
+ - POST_BUILD
+ - PREORDER
+ - PRE_BUILD
+ - PRE_LINK
+ - PRIVATE
+ - PRIVATE_HEADER
+ - PROCESS
+ - PROGRAM
+ - PROGRAMS
+ - PROGRAM_ARGS
+ - PROJECT_NAME
+ - PROPERTIES
+ - PROPERTY
+ - PUBLIC
+ - PUBLIC_HEADER
+ - PUSH
+ - QUERY
+ - QUIET
+ - RANDOM
+ - RANDOM_SEED
+ - RANGE
+ - READ
+ - READ_WITH_PREFIX
+ - REGEX
+ - REGULAR_EXPRESSION
+ - RELATIVE
+ - RELATIVE_PATH
+ - RELEASE
+ - REMOVE
+ - REMOVE_AT
+ - REMOVE_DUPLICATES
+ - REMOVE_ITEM
+ - REMOVE_RECURSE
+ - RENAME
+ - REPLACE
+ - REQUIRED
+ - REQUIRED_VARIABLE1
+ - REQUIRED_VARIABLE2
+ - RESOURCE
+ - RESULT
+ - RESULT_VAR
+ - RESULT_VARIABLE
+ - RETRY_COUNT
+ - RETRY_DELAY
+ - RETURN_VALUE
+ - REVERSE
+ - RUNTIME
+ - RUNTIME_DIRECTORY
+ - RUN_OUTPUT_VARIABLE
+ - RUN_RESULT_VAR
+ - SCHEDULE_RANDOM
+ - SCRIPT
+ - SEND_ERROR
+ - SET
+ - SHA1
+ - SHA224
+ - SHA256
+ - SHA384
+ - SHA512
+ - SHARED
+ - SHOW_PROGRESS
+ - SORT
+ - SOURCE
+ - SOURCES
+ - START
+ - STATIC
+ - STATUS
+ - STREQUAL
+ - STRGREATER
+ - STOP_TIME
+ - STRIDE
+ - STRINGS
+ - STRIP
+ - STRLESS
+ - SUBSTRING
+ - SYSTEM
+ - TARGET
+ - TARGETS
+ - TEST
+ - TEST_VARIABLE
+ - TIMEOUT
+ - TIMESTAMP
+ - TLS_CAINFO
+ - TLS_VERIFY
+ - TOLOWER
+ - TOUPPER
+ - TO_CMAKE_PATH
+ - TO_NATIVE_PATH
+ - TRACK
+ - TYPE
+ - UNIX
+ - UNIX_COMMAND
+ - UNKNOWN
+ - UPLOAD
+ - UPPER
+ - USES_TERMINAL
+ - USE_SOURCE_PERMISSIONS
+ - UTC
+ - UUID
+ - VALUE
+ - VARIABLE
+ - VERBATIM
+ - VERSION
+ - VERSION_EQUAL
+ - VERSION_GREATER
+ - VERSION_LESS
+ - WARNING
+ - WIN32
+ - WINDOWS_COMMAND
+ - WORKING_DIRECTORY
+ - WRITE
+
+
+
+
+
+ - PATH
+ - NAME
+ - EXT
+ - NAME_WE
+ - ABSOLUTE
+ - REALPATH
+
+ - FILEPATH
+
+ - STRING
+ - BOOL
+ - INTERNAL
+
+ - NUMBER_OF_LOGICAL_CORES
+ - NUMBER_OF_PHYSICAL_CORES
+ - HOSTNAME
+ - FQDN
+ - TOTAL_VIRTUAL_MEMORY
+ - AVAILABLE_VIRTUAL_MEMORY
+ - TOTAL_PHYSICAL_MEMORY
+ - AVAILABLE_PHYSICAL_MEMORY
+
+ - IN_LIST
+
+
+
+
+
+ - ABSTRACT
+ - ADDITIONAL_MAKE_CLEAN_FILES
+ - ADVANCED
+ - ALIASED_TARGET
+ - ALLOW_DUPLICATE_CUSTOM_TARGETS
+ - ANDROID_API
+ - ANDROID_API_MIN
+ - ANDROID_GUI
+ - ARCHIVE_OUTPUT_DIRECTORY
+ - ARCHIVE_OUTPUT_NAME
+ - ATTACHED_FILES
+ - ATTACHED_FILES_ON_FAIL
+ - AUTOGEN_TARGETS_FOLDER
+ - AUTOGEN_TARGET_DEPENDS
+ - AUTOMOC
+ - AUTOMOC_MOC_OPTIONS
+ - AUTOMOC_TARGETS_FOLDER
+ - AUTORCC
+ - AUTORCC_OPTIONS
+ - AUTOUIC
+ - AUTOUIC_OPTIONS
+ - BUILD_WITH_INSTALL_RPATH
+ - BUNDLE
+ - BUNDLE_EXTENSION
+ - CACHE_VARIABLES
+ - CLEAN_NO_CUSTOM
+ - CMAKE_CONFIGURE_DEPENDS
+ - CMAKE_CXX_KNOWN_FEATURES
+ - CMAKE_C_KNOWN_FEATURES
+ - COMPATIBLE_INTERFACE_BOOL
+ - COMPATIBLE_INTERFACE_NUMBER_MAX
+ - COMPATIBLE_INTERFACE_NUMBER_MIN
+ - COMPATIBLE_INTERFACE_STRING
+ - COMPILE_DEFINITIONS
+ - COMPILE_FEATURES
+ - COMPILE_FLAGS
+ - COMPILE_OPTIONS
+ - COMPILE_PDB_NAME
+ - COMPILE_PDB_OUTPUT_DIRECTORY
+ - COST
+ - CPACK_DESKTOP_SHORTCUTS
+ - CPACK_NEVER_OVERWRITE
+ - CPACK_PERMANENT
+ - CPACK_STARTUP_SHORTCUTS
+ - CPACK_START_MENU_SHORTCUTS
+ - CPACK_WIX_ACL
+ - CROSSCOMPILING_EMULATOR
+ - CXX_EXTENSIONS
+ - CXX_STANDARD
+ - CXX_STANDARD_REQUIRED
+ - C_EXTENSIONS
+ - C_STANDARD
+ - C_STANDARD_REQUIRED
+ - DEBUG_CONFIGURATIONS
+ - DEBUG_POSTFIX
+ - DEFINE_SYMBOL
+ - DEFINITIONS
+ - DEPENDS
+ - DISABLED_FEATURES
+ - ECLIPSE_EXTRA_NATURES
+ - ENABLED_FEATURES
+ - ENABLED_LANGUAGES
+ - ENABLE_EXPORTS
+ - ENVIRONMENT
+ - EXCLUDE_FROM_ALL
+ - EXCLUDE_FROM_DEFAULT_BUILD
+ - EXPORT_NAME
+ - EXTERNAL_OBJECT
+ - EchoString
+ - FAIL_REGULAR_EXPRESSION
+ - FIND_LIBRARY_USE_LIB64_PATHS
+ - FIND_LIBRARY_USE_OPENBSD_VERSIONING
+ - FOLDER
+ - FRAMEWORK
+ - Fortran_FORMAT
+ - Fortran_MODULE_DIRECTORY
+ - GENERATED
+ - GENERATOR_FILE_NAME
+ - GLOBAL_DEPENDS_DEBUG_MODE
+ - GLOBAL_DEPENDS_NO_CYCLES
+ - GNUtoMS
+ - HAS_CXX
+ - HEADER_FILE_ONLY
+ - HELPSTRING
+ - IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
+ - IMPORTED
+ - IMPORTED_CONFIGURATIONS
+ - IMPORTED_IMPLIB
+ - IMPORTED_LINK_DEPENDENT_LIBRARIES
+ - IMPORTED_LINK_INTERFACE_LANGUAGES
+ - IMPORTED_LINK_INTERFACE_LIBRARIES
+ - IMPORTED_LINK_INTERFACE_MULTIPLICITY
+ - IMPORTED_LOCATION
+ - IMPORTED_NO_SONAME
+ - IMPORTED_SONAME
+ - IMPORT_PREFIX
+ - IMPORT_SUFFIX
+ - INCLUDE_DIRECTORIES
+ - INCLUDE_REGULAR_EXPRESSION
+ - INSTALL_NAME_DIR
+ - INSTALL_RPATH
+ - INSTALL_RPATH_USE_LINK_PATH
+ - INTERFACE_AUTOUIC_OPTIONS
+ - INTERFACE_COMPILE_DEFINITIONS
+ - INTERFACE_COMPILE_FEATURES
+ - INTERFACE_COMPILE_OPTIONS
+ - INTERFACE_INCLUDE_DIRECTORIES
+ - INTERFACE_LINK_LIBRARIES
+ - INTERFACE_POSITION_INDEPENDENT_CODE
+ - INTERFACE_SOURCES
+ - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
+ - INTERPROCEDURAL_OPTIMIZATION
+ - IN_TRY_COMPILE
+ - JOB_POOLS
+ - JOB_POOL_COMPILE
+ - JOB_POOL_LINK
+ - KEEP_EXTENSION
+ - LABELS
+ - LANGUAGE
+ - LIBRARY_OUTPUT_DIRECTORY
+ - LIBRARY_OUTPUT_NAME
+ - LINKER_LANGUAGE
+ - LINK_DEPENDS
+ - LINK_DEPENDS_NO_SHARED
+ - LINK_DIRECTORIES
+ - LINK_FLAGS
+ - LINK_INTERFACE_LIBRARIES
+ - LINK_INTERFACE_MULTIPLICITY
+ - LINK_LIBRARIES
+ - LINK_SEARCH_END_STATIC
+ - LINK_SEARCH_START_STATIC
+ - LISTFILE_STACK
+ - LOCATION
+ - MACOSX_BUNDLE
+ - MACOSX_BUNDLE_INFO_PLIST
+ - MACOSX_FRAMEWORK_INFO_PLIST
+ - MACOSX_PACKAGE_LOCATION
+ - MACOSX_RPATH
+ - MACROS
+ - MEASUREMENT
+ - MODIFIED
+ - NAME
+ - NO_SONAME
+ - NO_SYSTEM_FROM_IMPORTED
+ - OBJECT_DEPENDS
+ - OBJECT_OUTPUTS
+ - OSX_ARCHITECTURES
+ - OUTPUT_NAME
+ - PACKAGES_FOUND
+ - PACKAGES_NOT_FOUND
+ - PARENT_DIRECTORY
+ - PASS_REGULAR_EXPRESSION
+ - PDB_NAME
+ - PDB_OUTPUT_DIRECTORY
+ - POSITION_INDEPENDENT_CODE
+ - POST_INSTALL_SCRIPT
+ - PREDEFINED_TARGETS_FOLDER
+ - PREFIX
+ - PRE_INSTALL_SCRIPT
+ - PRIVATE_HEADER
+ - PROCESSORS
+ - PROJECT_LABEL
+ - PUBLIC_HEADER
+ - REPORT_UNDEFINED_PROPERTIES
+ - REQUIRED_FILES
+ - RESOURCE
+ - RESOURCE_LOCK
+ - RULE_LAUNCH_COMPILE
+ - RULE_LAUNCH_CUSTOM
+ - RULE_LAUNCH_LINK
+ - RULE_MESSAGES
+ - RUNTIME_OUTPUT_DIRECTORY
+ - RUNTIME_OUTPUT_NAME
+ - RUN_SERIAL
+ - SKIP_BUILD_RPATH
+ - SKIP_RETURN_CODE
+ - SOURCES
+ - SOVERSION
+ - STATIC_LIBRARY_FLAGS
+ - STRINGS
+ - SUFFIX
+ - SYMBOLIC
+ - TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
+ - TARGET_SUPPORTS_SHARED_LIBS
+ - TEST_INCLUDE_FILE
+ - TIMEOUT
+ - TYPE
+ - USE_FOLDERS
+ - VALUE
+ - VARIABLES
+ - VERSION
+ - VISIBILITY_INLINES_HIDDEN
+ - VS_DEPLOYMENT_CONTENT
+ - VS_DEPLOYMENT_LOCATION
+ - VS_DOTNET_REFERENCES
+ - VS_DOTNET_TARGET_FRAMEWORK_VERSION
+ - VS_GLOBAL_KEYWORD
+ - VS_GLOBAL_PROJECT_TYPES
+ - VS_GLOBAL_ROOTNAMESPACE
+ - VS_KEYWORD
+ - VS_SCC_AUXPATH
+ - VS_SCC_LOCALPATH
+ - VS_SCC_PROJECTNAME
+ - VS_SCC_PROVIDER
+ - VS_SHADER_ENTRYPOINT
+ - VS_SHADER_FLAGS
+ - VS_SHADER_MODEL
+ - VS_SHADER_TYPE
+ - VS_WINRT_COMPONENT
+ - VS_WINRT_EXTENSIONS
+ - VS_WINRT_REFERENCES
+ - VS_XAML_TYPE
+ - WILL_FAIL
+ - WIN32_EXECUTABLE
+ - WORKING_DIRECTORY
+ - WRAP_EXCLUDE
+ - XCODE_EXPLICIT_FILE_TYPE
+ - XCODE_LAST_KNOWN_FILE_TYPE
+ - XCTEST
+
+
+
+
+ - COMMANDS
+ - DEFINITION
+
+
+
+
+
+ - APPLE
+ - BORLAND
+ - BUILD_SHARED_LIBS
+ - CMAKE_ABSOLUTE_DESTINATION_FILES
+ - CMAKE_ANDROID_API
+ - CMAKE_ANDROID_API_MIN
+ - CMAKE_ANDROID_GUI
+ - CMAKE_APPBUNDLE_PATH
+ - CMAKE_AR
+ - CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+ - CMAKE_ARGC
+ - CMAKE_ARGV0
+ - CMAKE_AUTOMOC
+ - CMAKE_AUTOMOC_MOC_OPTIONS
+ - CMAKE_AUTOMOC_RELAXED_MODE
+ - CMAKE_AUTORCC
+ - CMAKE_AUTORCC_OPTIONS
+ - CMAKE_AUTOUIC
+ - CMAKE_AUTOUIC_OPTIONS
+ - CMAKE_BACKWARDS_COMPATIBILITY
+ - CMAKE_BINARY_DIR
+ - CMAKE_BUILD_TOOL
+ - CMAKE_BUILD_TYPE
+ - CMAKE_BUILD_WITH_INSTALL_RPATH
+ - CMAKE_CACHEFILE_DIR
+ - CMAKE_CACHE_MAJOR_VERSION
+ - CMAKE_CACHE_MINOR_VERSION
+ - CMAKE_CACHE_PATCH_VERSION
+ - CMAKE_CFG_INTDIR
+ - CMAKE_CL_64
+ - CMAKE_COLOR_MAKEFILE
+ - CMAKE_COMMAND
+ - CMAKE_COMPILER_2005
+ - CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY
+ - CMAKE_CONFIGURATION_TYPES
+ - CMAKE_CROSSCOMPILING
+ - CMAKE_CROSSCOMPILING_EMULATOR
+ - CMAKE_CTEST_COMMAND
+ - CMAKE_CURRENT_BINARY_DIR
+ - CMAKE_CURRENT_LIST_DIR
+ - CMAKE_CURRENT_LIST_FILE
+ - CMAKE_CURRENT_LIST_LINE
+ - CMAKE_CURRENT_SOURCE_DIR
+ - CMAKE_CXX_COMPILE_FEATURES
+ - CMAKE_CXX_EXTENSIONS
+ - CMAKE_CXX_STANDARD
+ - CMAKE_CXX_STANDARD_REQUIRED
+ - CMAKE_C_COMPILE_FEATURES
+ - CMAKE_C_EXTENSIONS
+ - CMAKE_C_STANDARD
+ - CMAKE_C_STANDARD_REQUIRED
+ - CMAKE_DEBUG_POSTFIX
+ - CMAKE_DEBUG_TARGET_PROPERTIES
+ - CMAKE_DL_LIBS
+ - CMAKE_EDIT_COMMAND
+ - CMAKE_ERROR_DEPRECATED
+ - CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+ - CMAKE_EXECUTABLE_SUFFIX
+ - CMAKE_EXE_LINKER_FLAGS
+ - CMAKE_EXPORT_NO_PACKAGE_REGISTRY
+ - CMAKE_EXTRA_GENERATOR
+ - CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES
+ - CMAKE_FIND_LIBRARY_PREFIXES
+ - CMAKE_FIND_LIBRARY_SUFFIXES
+ - CMAKE_FIND_NO_INSTALL_PREFIX
+ - CMAKE_FIND_PACKAGE_NAME
+ - CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY
+ - CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY
+ - CMAKE_FIND_PACKAGE_WARN_NO_MODULE
+ - CMAKE_FIND_ROOT_PATH
+ - CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
+ - CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
+ - CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
+ - CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
+ - CMAKE_FRAMEWORK_PATH
+ - CMAKE_Fortran_FORMAT
+ - CMAKE_Fortran_MODDIR_DEFAULT
+ - CMAKE_Fortran_MODDIR_FLAG
+ - CMAKE_Fortran_MODOUT_FLAG
+ - CMAKE_Fortran_MODULE_DIRECTORY
+ - CMAKE_GENERATOR
+ - CMAKE_GENERATOR_PLATFORM
+ - CMAKE_GENERATOR_TOOLSET
+ - CMAKE_GNUtoMS
+ - CMAKE_HOME_DIRECTORY
+ - CMAKE_HOST_APPLE
+ - CMAKE_HOST_SYSTEM
+ - CMAKE_HOST_SYSTEM_NAME
+ - CMAKE_HOST_SYSTEM_PROCESSOR
+ - CMAKE_HOST_SYSTEM_VERSION
+ - CMAKE_HOST_UNIX
+ - CMAKE_HOST_WIN32
+ - CMAKE_IGNORE_PATH
+ - CMAKE_IMPORT_LIBRARY_PREFIX
+ - CMAKE_IMPORT_LIBRARY_SUFFIX
+ - CMAKE_INCLUDE_CURRENT_DIR
+ - CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE
+ - CMAKE_INCLUDE_DIRECTORIES_BEFORE
+ - CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE
+ - CMAKE_INCLUDE_PATH
+ - CMAKE_INSTALL_DEFAULT_COMPONENT_NAME
+ - CMAKE_INSTALL_MESSAGE
+ - CMAKE_INSTALL_NAME_DIR
+ - CMAKE_INSTALL_PREFIX
+ - CMAKE_INSTALL_RPATH
+ - CMAKE_INSTALL_RPATH_USE_LINK_PATH
+ - CMAKE_INTERNAL_PLATFORM_ABI
+ - CMAKE_JOB_POOL_COMPILE
+ - CMAKE_JOB_POOL_LINK
+ - CMAKE_LIBRARY_ARCHITECTURE
+ - CMAKE_LIBRARY_ARCHITECTURE_REGEX
+ - CMAKE_LIBRARY_OUTPUT_DIRECTORY
+ - CMAKE_LIBRARY_PATH
+ - CMAKE_LIBRARY_PATH_FLAG
+ - CMAKE_LINK_DEF_FILE_FLAG
+ - CMAKE_LINK_DEPENDS_NO_SHARED
+ - CMAKE_LINK_INTERFACE_LIBRARIES
+ - CMAKE_LINK_LIBRARY_FILE_FLAG
+ - CMAKE_LINK_LIBRARY_FLAG
+ - CMAKE_LINK_LIBRARY_SUFFIX
+ - CMAKE_MACOSX_BUNDLE
+ - CMAKE_MACOSX_RPATH
+ - CMAKE_MAJOR_VERSION
+ - CMAKE_MAKE_PROGRAM
+ - CMAKE_MATCH_COUNT
+ - CMAKE_MFC_FLAG
+ - CMAKE_MINIMUM_REQUIRED_VERSION
+ - CMAKE_MINOR_VERSION
+ - CMAKE_MODULE_LINKER_FLAGS
+ - CMAKE_MODULE_PATH
+ - CMAKE_NOT_USING_CONFIG_FLAGS
+ - CMAKE_NO_BUILTIN_CHRPATH
+ - CMAKE_NO_SYSTEM_FROM_IMPORTED
+ - CMAKE_OBJECT_PATH_MAX
+ - CMAKE_OSX_ARCHITECTURES
+ - CMAKE_OSX_DEPLOYMENT_TARGET
+ - CMAKE_OSX_SYSROOT
+ - CMAKE_PARENT_LIST_FILE
+ - CMAKE_PATCH_VERSION
+ - CMAKE_PDB_OUTPUT_DIRECTORY
+ - CMAKE_POSITION_INDEPENDENT_CODE
+ - CMAKE_PREFIX_PATH
+ - CMAKE_PROGRAM_PATH
+ - CMAKE_PROJECT_NAME
+ - CMAKE_RANLIB
+ - CMAKE_ROOT
+ - CMAKE_RUNTIME_OUTPUT_DIRECTORY
+ - CMAKE_SCRIPT_MODE_FILE
+ - CMAKE_SHARED_LIBRARY_PREFIX
+ - CMAKE_SHARED_LIBRARY_SUFFIX
+ - CMAKE_SHARED_LINKER_FLAGS
+ - CMAKE_SHARED_MODULE_PREFIX
+ - CMAKE_SHARED_MODULE_SUFFIX
+ - CMAKE_SIZEOF_VOID_P
+ - CMAKE_SKIP_BUILD_RPATH
+ - CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
+ - CMAKE_SKIP_INSTALL_RPATH
+ - CMAKE_SKIP_INSTALL_RULES
+ - CMAKE_SKIP_RPATH
+ - CMAKE_SOURCE_DIR
+ - CMAKE_STAGING_PREFIX
+ - CMAKE_STANDARD_LIBRARIES
+ - CMAKE_STATIC_LIBRARY_PREFIX
+ - CMAKE_STATIC_LIBRARY_SUFFIX
+ - CMAKE_STATIC_LINKER_FLAGS
+ - CMAKE_SYSROOT
+ - CMAKE_SYSTEM
+ - CMAKE_SYSTEM_IGNORE_PATH
+ - CMAKE_SYSTEM_INCLUDE_PATH
+ - CMAKE_SYSTEM_LIBRARY_PATH
+ - CMAKE_SYSTEM_NAME
+ - CMAKE_SYSTEM_PREFIX_PATH
+ - CMAKE_SYSTEM_PROCESSOR
+ - CMAKE_SYSTEM_PROGRAM_PATH
+ - CMAKE_SYSTEM_VERSION
+ - CMAKE_TOOLCHAIN_FILE
+ - CMAKE_TRY_COMPILE_CONFIGURATION
+ - CMAKE_TWEAK_VERSION
+ - CMAKE_USER_MAKE_RULES_OVERRIDE
+ - CMAKE_USE_RELATIVE_PATHS
+ - CMAKE_VERBOSE_MAKEFILE
+ - CMAKE_VERSION
+ - CMAKE_VISIBILITY_INLINES_HIDDEN
+ - CMAKE_VS_DEVENV_COMMAND
+ - CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD
+ - CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
+ - CMAKE_VS_MSBUILD_COMMAND
+ - CMAKE_VS_MSDEV_COMMAND
+ - CMAKE_VS_NsightTegra_VERSION
+ - CMAKE_VS_PLATFORM_NAME
+ - CMAKE_VS_PLATFORM_TOOLSET
+ - CMAKE_WARN_DEPRECATED
+ - CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
+ - CMAKE_WIN32_EXECUTABLE
+ - CMAKE_XCODE_PLATFORM_TOOLSET
+ - CPACK_ABSOLUTE_DESTINATION_FILES
+ - CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY
+ - CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+ - CPACK_INCLUDE_TOPLEVEL_DIRECTORY
+ - CPACK_INSTALL_SCRIPT
+ - CPACK_PACKAGING_INSTALL_PREFIX
+ - CPACK_SET_DESTDIR
+ - CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
+ - CTEST_BINARY_DIRECTORY
+ - CTEST_BUILD_COMMAND
+ - CTEST_BUILD_NAME
+ - CTEST_BZR_COMMAND
+ - CTEST_BZR_UPDATE_OPTIONS
+ - CTEST_CHECKOUT_COMMAND
+ - CTEST_CONFIGURATION_TYPE
+ - CTEST_CONFIGURE_COMMAND
+ - CTEST_COVERAGE_COMMAND
+ - CTEST_COVERAGE_EXTRA_FLAGS
+ - CTEST_CURL_OPTIONS
+ - CTEST_CVS_CHECKOUT
+ - CTEST_CVS_COMMAND
+ - CTEST_CVS_UPDATE_OPTIONS
+ - CTEST_DROP_LOCATION
+ - CTEST_DROP_METHOD
+ - CTEST_DROP_SITE
+ - CTEST_DROP_SITE_CDASH
+ - CTEST_DROP_SITE_PASSWORD
+ - CTEST_DROP_SITE_USER
+ - CTEST_GIT_COMMAND
+ - CTEST_GIT_UPDATE_CUSTOM
+ - CTEST_GIT_UPDATE_OPTIONS
+ - CTEST_HG_COMMAND
+ - CTEST_HG_UPDATE_OPTIONS
+ - CTEST_MEMORYCHECK_COMMAND
+ - CTEST_MEMORYCHECK_COMMAND_OPTIONS
+ - CTEST_MEMORYCHECK_SANITIZER_OPTIONS
+ - CTEST_MEMORYCHECK_SUPPRESSIONS_FILE
+ - CTEST_MEMORYCHECK_TYPE
+ - CTEST_NIGHTLY_START_TIME
+ - CTEST_P4_CLIENT
+ - CTEST_P4_COMMAND
+ - CTEST_P4_OPTIONS
+ - CTEST_P4_UPDATE_OPTIONS
+ - CTEST_SCP_COMMAND
+ - CTEST_SITE
+ - CTEST_SOURCE_DIRECTORY
+ - CTEST_SVN_COMMAND
+ - CTEST_SVN_OPTIONS
+ - CTEST_SVN_UPDATE_OPTIONS
+ - CTEST_TEST_TIMEOUT
+ - CTEST_TRIGGER_SITE
+ - CTEST_UPDATE_COMMAND
+ - CTEST_UPDATE_OPTIONS
+ - CTEST_UPDATE_VERSION_ONLY
+ - CTEST_USE_LAUNCHERS
+ - CYGWIN
+ - ENV
+ - EXECUTABLE_OUTPUT_PATH
+ - GHS-MULTI
+ - LIBRARY_OUTPUT_PATH
+ - MINGW
+ - MSVC
+ - MSVC10
+ - MSVC11
+ - MSVC12
+ - MSVC14
+ - MSVC60
+ - MSVC70
+ - MSVC71
+ - MSVC80
+ - MSVC90
+ - MSVC_IDE
+ - MSVC_VERSION
+ - PROJECT_BINARY_DIR
+ - PROJECT_NAME
+ - PROJECT_SOURCE_DIR
+ - PROJECT_VERSION
+ - PROJECT_VERSION_MAJOR
+ - PROJECT_VERSION_MINOR
+ - PROJECT_VERSION_PATCH
+ - PROJECT_VERSION_TWEAK
+ - UNIX
+ - WIN32
+ - WINCE
+ - WINDOWS_PHONE
+ - WINDOWS_STORE
+ - XCODE_VERSION
+
+
+
+ - CONFIGURATION
+ - ANGLE-R
+ - COMMA
+ - SEMICOLON
+ - INSTALL_PREFIX
+
+
+
+
+ - 0
+ - 1
+ - BOOL
+ - AND
+ - OR
+ - NOT
+ - STREQUAL
+ - EQUAL
+ - CONFIG
+ - PLATFORM_ID
+ - C_COMPILER_ID
+ - CXX_COMPILER_ID
+ - VERSION_GREATER
+ - VERSION_LESS
+ - VERSION_EQUAL
+ - C_COMPILER_VERSION
+ - CXX_COMPILER_VERSION
+ - TARGET_POLICY
+ - COMPILER_FEATURES
+
+ - CONFIGURATION
+ - TARGET_FILE
+ - TARGET_FILE_NAME
+ - TARGET_FILE_DIR
+ - TARGET_LINKER_FILE
+ - TARGET_LINKER_FILE_NAME
+ - TARGET_LINKER_FILE_DIR
+ - TARGET_SONAME_FILE
+ - TARGET_SONAME_FILE_NAME
+ - TARGET_SONAME_FILE_DIR
+ - TARGET_PDB_FILE
+ - TARGET_PDB_FILE_NAME
+ - TARGET_PDB_FILE_DIR
+ - TARGET_PROPERTY
+ - INSTALL_PREFIX
+
+ - JOIN
+ - ANGLE-R
+ - COMMA
+ - SEMICOLON
+ - TARGET_NAME
+ - LINK_ONLY
+ - INSTALL_INTERFACE
+ - BUILD_INTERFACE
+ - LOWER_CASE
+ - UPPER_CASE
+ - MAKE_C_IDENTIFIER
+ - TARGET_OBJECTS
+
+ - TARGET_DIR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/coffee.xml b/data/syntax/coffee.xml
new file mode 100644
index 0000000..dc12071
--- /dev/null
+++ b/data/syntax/coffee.xml
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+ - false
+ - true
+ - yes
+ - no
+ - on
+ - off
+ - undefined
+ - null
+ - NaN
+ - Infinity
+
+
+
+ - return
+ - break
+ - continue
+ - throw
+ - for
+ - while
+ - until
+ - loop
+ - if
+ - else
+ - unless
+ - switch
+ - when
+ - then
+ - and
+ - or
+ - in
+ - do
+ - of
+ - by
+ - is
+ - isnt
+ - not
+ - typeof
+ - delete
+ - where
+ - super
+ - try
+ - catch
+ - finally
+ - try
+ - catch
+ - finally
+ - constructor
+
+
+
+ - class
+ - extends
+ - new
+ - instanceof
+
+
+
+ - case
+ - default
+ - function
+ - var
+ - void
+ - with
+ - const
+ - let
+ - enum
+ - export
+ - import
+ - native
+ - __hasProp
+ - __extends
+ - __slice
+ - __bind
+ - __indexOf
+
+
+
+ - Object
+ - Number
+ - Boolean
+ - Array
+ - String
+ - RegExp
+ - Function
+ - Date
+ - Math
+ - eval
+ - setInterval
+ - clearInterval
+ - setTimeout
+ - clearTimeout
+ - isFinite
+ - isNaN
+ - parseFloat
+ - parseInt
+ - escape
+ - unescape
+ - console
+ - encodeURI
+ - encodeURIComponent
+ - decodeURI
+ - decodeURIComponent
+
+
+
+ - window
+ - document
+ - navigator
+ - location
+ - history
+ - screen
+ - alert
+ - prompt
+
+
+
+ - process
+ - GLOBAL
+ - require
+ - exports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/coldfusion.xml b/data/syntax/coldfusion.xml
new file mode 100644
index 0000000..7253ec6
--- /dev/null
+++ b/data/syntax/coldfusion.xml
@@ -0,0 +1,732 @@
+
+
+
+
+
+
+
+
+ - if
+ - else
+ - for
+ - in
+ - while
+ - do
+ - continue
+ - break
+ - with
+ - try
+ - catch
+ - switch
+ - case
+ - new
+ - var
+ - function
+ - return
+ - this
+ - delete
+ - true
+ - false
+ - void
+ - throw
+ - typeof
+ - const
+ - default
+
+
+
+
+
+ - Anchor
+ - Applet
+ - Area
+ - Array
+ - Boolean
+ - Button
+ - Checkbox
+ - Date
+ - Document
+ - Event
+ - FileUpload
+ - Form
+ - Frame
+ - Function
+ - Hidden
+ - History
+ - Image
+ - Layer
+ - Linke
+ - Location
+ - Math
+ - Navigator
+ - Number
+ - Object
+ - Option
+ - Password
+ - Radio
+ - RegExp
+ - Reset
+ - Screen
+ - Select
+ - String
+ - Submit
+ - Text
+ - Textarea
+ - Window
+
+
+
+
+
+ - abs
+ - acos
+ - alert
+ - anchor
+ - apply
+ - asin
+ - atan
+ - atan2
+ - back
+ - blur
+ - call
+ - captureEvents
+ - ceil
+ - charAt
+ - charCodeAt
+ - clearInterval
+ - clearTimeout
+ - click
+ - close
+ - compile
+ - concat
+ - confirm
+ - cos
+ - disableExternalCapture
+ - enableExternalCapture
+ - eval
+ - exec
+ - exp
+ - find
+ - floor
+ - focus
+ - forward
+ - fromCharCode
+ - getDate
+ - getDay
+ - getFullYear
+ - getHours
+ - getMilliseconds
+ - getMinutes
+ - getMonth
+ - getSeconds
+ - getSelection
+ - getTime
+ - getTimezoneOffset
+ - getUTCDate
+ - getUTCDay
+ - getUTCFullYear
+ - getUTCHours
+ - getUTCMilliseconds
+ - getUTCMinutes
+ - getUTCMonth
+ - getUTCSeconds
+ - go
+ - handleEvent
+ - home
+ - indexOf
+ - javaEnabled
+ - join
+ - lastIndexOf
+ - link
+ - load
+ - log
+ - match
+ - max
+ - min
+ - moveAbove
+ - moveBelow
+ - moveBy
+ - moveTo
+ - moveToAbsolute
+ - open
+ - parse
+ - plugins.refresh
+ - pop
+ - pow
+ - preference
+ - print
+ - prompt
+ - push
+ - random
+ - releaseEvents
+ - reload
+ - replace
+ - reset
+ - resizeBy
+ - resizeTo
+ - reverse
+ - round
+ - routeEvent
+ - scrollBy
+ - scrollTo
+ - search
+ - select
+ - setDate
+ - setFullYear
+ - setHours
+ - setInterval
+ - setMilliseconds
+ - setMinutes
+ - setMonth
+ - setSeconds
+ - setTime
+ - setTimeout
+ - setUTCDate
+ - setUTCFullYear
+ - setUTCHours
+ - setUTCMilliseconds
+ - setUTCMinutes
+ - setUTCMonth
+ - setUTCSeconds
+ - shift
+ - sin
+ - slice
+ - sort
+ - splice
+ - split
+ - sqrt
+ - stop
+ - String formatting
+ - submit
+ - substr
+ - substring
+ - taintEnabled
+ - tan
+ - test
+ - toLocaleString
+ - toLowerCase
+ - toSource
+ - toString
+ - toUpperCase
+ - toUTCString
+ - unshift
+ - unwatch
+ - UTC
+ - valueOf
+ - watch
+ - write
+ - writeln
+
+
+
+
+
+ - break
+ - case
+ - catch
+ - continue
+ - default
+ - do
+ - else
+ - for
+ - function
+ - if
+ - in
+ - return
+ - switch
+ - try
+ - var
+ - while
+
+
+
+
+
+ - Abs
+ - ACos
+ - ArrayAppend
+ - ArrayAvg
+ - ArrayClear
+ - ArrayDeleteAt
+ - ArrayInsertAt
+ - ArrayIsEmpty
+ - ArrayLen
+ - ArrayMax
+ - ArrayMin
+ - ArrayNew
+ - ArrayPrepend
+ - ArrayResize
+ - ArraySet
+ - ArraySort
+ - ArraySum
+ - ArraySwap
+ - ArrayToList
+ - Asc
+ - ASin
+ - Atn
+ - BitAnd
+ - BitMaskClear
+ - BitMaskRead
+ - BitMaskSet
+ - BitNot
+ - BitOr
+ - BitSHLN
+ - BitSHRN
+ - BitXor
+ - Ceiling
+ - Chr
+ - CJustify
+ - Compare
+ - CompareNoCase
+ - Cos
+ - CreateDate
+ - CreateDateTime
+ - CreateObject
+ - CreateODBCDate
+ - CreateODBCDateTime
+ - CreateODBCTime
+ - CreateTime
+ - CreateTimeSpan
+ - CreateUUID
+ - DateAdd
+ - DateCompare
+ - DateConvert
+ - DateDiff
+ - DateFormat
+ - DatePart
+ - Day
+ - DayOfWeek
+ - DayOfWeekAsString
+ - DayOfYear
+ - DaysInMonth
+ - DaysInYear
+ - DE
+ - DecimalFormat
+ - DecrementValue
+ - Decrypt
+ - DeleteClientVariable
+ - DirectoryExists
+ - DollarFormat
+ - Duplicate
+ - Encrypt
+ - Evaluate
+ - Exp
+ - ExpandPath
+ - FileExists
+ - Find
+ - FindNoCase
+ - FindOneOf
+ - FirstDayOfMonth
+ - Fix
+ - FormatBaseN
+ - GetAuthUser
+ - GetBaseTagData
+ - GetBaseTagList
+ - GetBaseTemplatePath
+ - GetClientVariablesList
+ - GetCurrentTemplatePath
+ - GetDirectoryFromPath
+ - GetException
+ - GetFileFromPath
+ - GetFunctionList
+ - GetHttpRequestData
+ - GetHttpTimeString
+ - GetK2ServerDocCount
+ - GetK2ServerDocCountLimit
+ - GetLocale
+ - GetMetaData
+ - GetMetricData
+ - GetPageContext
+ - GetProfileSections
+ - GetProfileString
+ - GetServiceSettings
+ - GetTempDirectory
+ - GetTempFile
+ - GetTemplatePath
+ - GetTickCount
+ - GetTimeZoneInfo
+ - GetToken
+ - Hash
+ - Hour
+ - HTMLCodeFormat
+ - HTMLEditFormat
+ - IIf
+ - IncrementValue
+ - InputBaseN
+ - Insert
+ - Int
+ - IsArray
+ - IsBinary
+ - IsBoolean
+ - IsCustomFunction
+ - IsDate
+ - IsDebugMode
+ - IsDefined
+ - IsK2ServerABroker
+ - IsK2ServerDocCountExceeded
+ - IsK2ServerOnline
+ - IsLeapYear
+ - IsNumeric
+ - IsNumericDate
+ - IsObject
+ - IsQuery
+ - IsSimpleValue
+ - IsStruct
+ - IsUserInRole
+ - IsWDDX
+ - IsXmlDoc
+ - IsXmlElement
+ - IsXmlRoot
+ - JavaCast
+ - JSStringFormat
+ - LCase
+ - Left
+ - Len
+ - ListAppend
+ - ListChangeDelims
+ - ListContains
+ - ListContainsNoCase
+ - ListDeleteAt
+ - ListFind
+ - ListFindNoCase
+ - ListFirst
+ - ListGetAt
+ - ListInsertAt
+ - ListLast
+ - ListLen
+ - ListPrepend
+ - ListQualify
+ - ListRest
+ - ListSetAt
+ - ListSort
+ - ListToArray
+ - ListValueCount
+ - ListValueCountNoCase
+ - LJustify
+ - Log
+ - Log10
+ - LSCurrencyFormat
+ - LSDateFormat
+ - LSEuroCurrencyFormat
+ - LSIsCurrency
+ - LSIsDate
+ - LSIsNumeric
+ - LSNumberFormat
+ - LSParseCurrency
+ - LSParseDateTime
+ - LSParseEuroCurrency
+ - LSParseNumber
+ - LSTimeFormat
+ - LTrim
+ - Max
+ - Mid
+ - Min
+ - Minute
+ - Month
+ - MonthAsString
+ - Now
+ - NumberFormat
+ - ParagraphFormat
+ - ParameterExists
+ - ParseDateTime
+ - Pi
+ - PreserveSingleQuotes
+ - Quarter
+ - QueryAddColumn
+ - QueryAddRow
+ - QueryNew
+ - QuerySetCell
+ - QuotedValueList
+ - Rand
+ - Randomize
+ - RandRange
+ - REFind
+ - REFindNoCase
+ - RemoveChars
+ - RepeatString
+ - Replace
+ - ReplaceList
+ - ReplaceNoCase
+ - REReplace
+ - REReplaceNoCase
+ - Reverse
+ - Right
+ - RJustify
+ - Round
+ - RTrim
+ - Second
+ - SetEncoding
+ - SetLocale
+ - SetProfileString
+ - SetVariable
+ - Sgn
+ - Sin
+ - SpanExcluding
+ - SpanIncluding
+ - Sqr
+ - StripCR
+ - StructAppend
+ - StructClear
+ - StructCopy
+ - StructCount
+ - StructDelete
+ - StructFind
+ - StructFindKey
+ - StructFindValue
+ - StructGet
+ - StructInsert
+ - StructIsEmpty
+ - StructKeyArray
+ - StructKeyExists
+ - StructKeyList
+ - StructNew
+ - StructSort
+ - StructUpdate
+ - Tan
+ - TimeFormat
+ - ToBase64
+ - ToBinary
+ - ToString
+ - Trim
+ - UCase
+ - URLDecode
+ - URLEncodedFormat
+ - URLSessionFormat
+ - Val
+ - ValueList
+ - Week
+ - WriteOutput
+ - XmlChildPos
+ - XmlElemNew
+ - XmlFormat
+ - XmlNew
+ - XmlParse
+ - XmlSearch
+ - XmlTransform
+ - Year
+ - YesNoFormat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/commonlisp.xml b/data/syntax/commonlisp.xml
new file mode 100644
index 0000000..bcbc253
--- /dev/null
+++ b/data/syntax/commonlisp.xml
@@ -0,0 +1,1200 @@
+
+
+
+
+
+
+ - <
+ - <=
+ - =
+ - >
+ - >=
+ - =>
+ - -
+ - /
+ - /=
+ - //
+ - ///
+ - *
+ - **
+ - ***
+ - +
+ - ++
+ - +++
+ - 1-
+ - 1+
+
+
+ - defclass
+ - defconstant
+ - defgeneric
+ - define-compiler-macro
+ - define-condition
+ - define-method-combination
+ - define-modify-macro
+ - define-setf-expander
+ - define-setf-method
+ - define-symbol-macro
+ - defmacro
+ - defmethod
+ - defpackage
+ - defparameter
+ - defsetf
+ - deftype
+ - defvar
+ - defun
+ - defstruct
+
+
+ - abort
+ - abs
+ - access
+ - acons
+ - acos
+ - acosh
+ - add-method
+ - adjoin
+ - adjustable-array-p
+ - adjust-array
+ - allocate-instance
+ - alpha-char-p
+ - alphanumericp
+ - and
+ - append
+ - apply
+ - applyhook
+ - apropos
+ - apropos-list
+ - aref
+ - arithmetic-error
+ - arithmetic-error-operands
+ - arithmetic-error-operation
+ - array
+ - array-dimension
+ - array-dimension-limit
+ - array-dimensions
+ - array-displacement
+ - array-element-type
+ - array-has-fill-pointer-p
+ - array-in-bounds-p
+ - arrayp
+ - array-rank
+ - array-rank-limit
+ - array-row-major-index
+ - array-total-size
+ - array-total-size-limit
+ - ash
+ - asin
+ - asinh
+ - assert
+ - assoc
+ - assoc-if
+ - assoc-if-not
+ - atan
+ - atanh
+ - atom
+ - base-char
+ - base-string
+ - bignum
+ - bit
+ - bit-and
+ - bit-andc1
+ - bit-andc2
+ - bit-eqv
+ - bit-ior
+ - bit-nand
+ - bit-nor
+ - bit-not
+ - bit-orc1
+ - bit-orc2
+ - bit-vector
+ - bit-vector-p
+ - bit-xor
+ - block
+ - boole
+ - boole-1
+ - boole-2
+ - boolean
+ - boole-and
+ - boole-andc1
+ - boole-andc2
+ - boole-c1
+ - boole-c2
+ - boole-clr
+ - boole-eqv
+ - boole-ior
+ - boole-nand
+ - boole-nor
+ - boole-orc1
+ - boole-orc2
+ - boole-set
+ - boole-xor
+ - both-case-p
+ - boundp
+ - break
+ - broadcast-stream
+ - broadcast-stream-streams
+ - built-in-class
+ - butlast
+ - byte
+ - byte-position
+ - byte-size
+ - caaaar
+ - caaadr
+ - caaar
+ - caadar
+ - caaddr
+ - caadr
+ - caar
+ - cadaar
+ - cadadr
+ - cadar
+ - caddar
+ - cadddr
+ - caddr
+ - cadr
+ - call-arguments-limit
+ - call-method
+ - call-next-method
+ - capitalize
+ - car
+ - case
+ - catch
+ - ccase
+ - cdaaar
+ - cdaadr
+ - cdaar
+ - cdadar
+ - cdaddr
+ - cdadr
+ - cdar
+ - cddaar
+ - cddadr
+ - cddar
+ - cdddar
+ - cddddr
+ - cdddr
+ - cddr
+ - cdr
+ - ceiling
+ - cell-error
+ - cell-error-name
+ - cerror
+ - change-class
+ - char
+ - char<
+ - char<=
+ - char=
+ - char>
+ - char>=
+ - char/=
+ - character
+ - characterp
+ - char-bit
+ - char-bits
+ - char-bits-limit
+ - char-code
+ - char-code-limit
+ - char-control-bit
+ - char-downcase
+ - char-equal
+ - char-font
+ - char-font-limit
+ - char-greaterp
+ - char-hyper-bit
+ - char-int
+ - char-lessp
+ - char-meta-bit
+ - char-name
+ - char-not-equal
+ - char-not-greaterp
+ - char-not-lessp
+ - char-super-bit
+ - char-upcase
+ - check-type
+ - cis
+ - class
+ - class-name
+ - class-of
+ - clear-input
+ - clear-output
+ - close
+ - clrhash
+ - code-char
+ - coerce
+ - commonp
+ - compilation-speed
+ - compile
+ - compiled-function
+ - compiled-function-p
+ - compile-file
+ - compile-file-pathname
+ - compiler-let
+ - compiler-macro
+ - compiler-macro-function
+ - complement
+ - complex
+ - complexp
+ - compute-applicable-methods
+ - compute-restarts
+ - concatenate
+ - concatenated-stream
+ - concatenated-stream-streams
+ - cond
+ - condition
+ - conjugate
+ - cons
+ - consp
+ - constantly
+ - constantp
+ - continue
+ - control-error
+ - copy-alist
+ - copy-list
+ - copy-pprint-dispatch
+ - copy-readtable
+ - copy-seq
+ - copy-structure
+ - copy-symbol
+ - copy-tree
+ - cos
+ - cosh
+ - count
+ - count-if
+ - count-if-not
+ - ctypecase
+ - debug
+ - decf
+ - declaim
+ - declaration
+ - declare
+ - decode-float
+ - decode-universal-time
+ - delete
+ - delete-duplicates
+ - delete-file
+ - delete-if
+ - delete-if-not
+ - delete-package
+ - denominator
+ - deposit-field
+ - describe
+ - describe-object
+ - destructuring-bind
+ - digit-char
+ - digit-char-p
+ - directory
+ - directory-namestring
+ - disassemble
+ - division-by-zero
+ - do
+ - do*
+ - do-all-symbols
+ - documentation
+ - do-exeternal-symbols
+ - do-external-symbols
+ - dolist
+ - do-symbols
+ - dotimes
+ - double-float
+ - double-float-epsilon
+ - double-float-negative-epsilon
+ - dpb
+ - dribble
+ - dynamic-extent
+ - ecase
+ - echo-stream
+ - echo-stream-input-stream
+ - echo-stream-output-stream
+ - ed
+ - eighth
+ - elt
+ - encode-universal-time
+ - end-of-file
+ - endp
+ - enough-namestring
+ - ensure-directories-exist
+ - ensure-generic-function
+ - eq
+ - eql
+ - equal
+ - equalp
+ - error
+ - etypecase
+ - eval
+ - evalhook
+ - eval-when
+ - evenp
+ - every
+ - exp
+ - export
+ - expt
+ - extended-char
+ - fboundp
+ - fceiling
+ - fdefinition
+ - ffloor
+ - fifth
+ - file-author
+ - file-error
+ - file-error-pathname
+ - file-length
+ - file-namestring
+ - file-position
+ - file-stream
+ - file-string-length
+ - file-write-date
+ - fill
+ - fill-pointer
+ - find
+ - find-all-symbols
+ - find-class
+ - find-if
+ - find-if-not
+ - find-method
+ - find-package
+ - find-restart
+ - find-symbol
+ - finish-output
+ - first
+ - fixnum
+ - flet
+ - float
+ - float-digits
+ - floating-point-inexact
+ - floating-point-invalid-operation
+ - floating-point-overflow
+ - floating-point-underflow
+ - floatp
+ - float-precision
+ - float-radix
+ - float-sign
+ - floor
+ - fmakunbound
+ - force-output
+ - format
+ - formatter
+ - fourth
+ - fresh-line
+ - fround
+ - ftruncate
+ - ftype
+ - funcall
+ - function
+ - function-keywords
+ - function-lambda-expression
+ - functionp
+ - gbitp
+ - gcd
+ - generic-function
+ - gensym
+ - gentemp
+ - get
+ - get-decoded-time
+ - get-dispatch-macro-character
+ - getf
+ - gethash
+ - get-internal-real-time
+ - get-internal-run-time
+ - get-macro-character
+ - get-output-stream-string
+ - get-properties
+ - get-setf-expansion
+ - get-setf-method
+ - get-universal-time
+ - go
+ - graphic-char-p
+ - handler-bind
+ - handler-case
+ - hash-table
+ - hash-table-count
+ - hash-table-p
+ - hash-table-rehash-size
+ - hash-table-rehash-threshold
+ - hash-table-size
+ - hash-table-test
+ - host-namestring
+ - identity
+ - if
+ - if-exists
+ - ignorable
+ - ignore
+ - ignore-errors
+ - imagpart
+ - import
+ - incf
+ - initialize-instance
+ - inline
+ - in-package
+ - in-package
+ - input-stream-p
+ - inspect
+ - int-char
+ - integer
+ - integer-decode-float
+ - integer-length
+ - integerp
+ - interactive-stream-p
+ - intern
+ - internal-time-units-per-second
+ - intersection
+ - invalid-method-error
+ - invoke-debugger
+ - invoke-restart
+ - invoke-restart-interactively
+ - isqrt
+ - keyword
+ - keywordp
+ - labels
+ - lambda
+ - lambda-list-keywords
+ - lambda-parameters-limit
+ - last
+ - lcm
+ - ldb
+ - ldb-test
+ - ldiff
+ - least-negative-double-float
+ - least-negative-long-float
+ - least-negative-normalized-double-float
+ - least-negative-normalized-long-float
+ - least-negative-normalized-short-float
+ - least-negative-normalized-single-float
+ - least-negative-short-float
+ - least-negative-single-float
+ - least-positive-double-float
+ - least-positive-long-float
+ - least-positive-normalized-double-float
+ - least-positive-normalized-long-float
+ - least-positive-normalized-short-float
+ - least-positive-normalized-single-float
+ - least-positive-short-float
+ - least-positive-single-float
+ - length
+ - let
+ - let*
+ - lisp
+ - lisp-implementation-type
+ - lisp-implementation-version
+ - list
+ - list*
+ - list-all-packages
+ - listen
+ - list-length
+ - listp
+ - load
+ - load-logical-pathname-translations
+ - load-time-value
+ - locally
+ - log
+ - logand
+ - logandc1
+ - logandc2
+ - logbitp
+ - logcount
+ - logeqv
+ - logical-pathname
+ - logical-pathname-translations
+ - logior
+ - lognand
+ - lognor
+ - lognot
+ - logorc1
+ - logorc2
+ - logtest
+ - logxor
+ - long-float
+ - long-float-epsilon
+ - long-float-negative-epsilon
+ - long-site-name
+ - loop
+ - loop-finish
+ - lower-case-p
+ - machine-instance
+ - machine-type
+ - machine-version
+ - macroexpand
+ - macroexpand-1
+ - macroexpand-l
+ - macro-function
+ - macrolet
+ - make-array
+ - make-array
+ - make-broadcast-stream
+ - make-char
+ - make-concatenated-stream
+ - make-condition
+ - make-dispatch-macro-character
+ - make-echo-stream
+ - make-hash-table
+ - make-instance
+ - make-instances-obsolete
+ - make-list
+ - make-load-form
+ - make-load-form-saving-slots
+ - make-method
+ - make-package
+ - make-pathname
+ - make-random-state
+ - make-sequence
+ - make-string
+ - make-string-input-stream
+ - make-string-output-stream
+ - make-symbol
+ - make-synonym-stream
+ - make-two-way-stream
+ - makunbound
+ - map
+ - mapc
+ - mapcan
+ - mapcar
+ - mapcon
+ - maphash
+ - map-into
+ - mapl
+ - maplist
+ - mask-field
+ - max
+ - member
+ - member-if
+ - member-if-not
+ - merge
+ - merge-pathname
+ - merge-pathnames
+ - method
+ - method-combination
+ - method-combination-error
+ - method-qualifiers
+ - min
+ - minusp
+ - mismatch
+ - mod
+ - most-negative-double-float
+ - most-negative-fixnum
+ - most-negative-long-float
+ - most-negative-short-float
+ - most-negative-single-float
+ - most-positive-double-float
+ - most-positive-fixnum
+ - most-positive-long-float
+ - most-positive-short-float
+ - most-positive-single-float
+ - muffle-warning
+ - multiple-value-bind
+ - multiple-value-call
+ - multiple-value-list
+ - multiple-value-prog1
+ - multiple-value-seteq
+ - multiple-value-setq
+ - multiple-values-limit
+ - name-char
+ - namestring
+ - nbutlast
+ - nconc
+ - next-method-p
+ - nil
+ - nintersection
+ - ninth
+ - no-applicable-method
+ - no-next-method
+ - not
+ - notany
+ - notevery
+ - notinline
+ - nreconc
+ - nreverse
+ - nset-difference
+ - nset-exclusive-or
+ - nstring
+ - nstring-capitalize
+ - nstring-downcase
+ - nstring-upcase
+ - nsublis
+ - nsubst
+ - nsubst-if
+ - nsubst-if-not
+ - nsubstitute
+ - nsubstitute-if
+ - nsubstitute-if-not
+ - nth
+ - nthcdr
+ - nth-value
+ - null
+ - number
+ - numberp
+ - numerator
+ - nunion
+ - oddp
+ - open
+ - open-stream-p
+ - optimize
+ - or
+ - otherwise
+ - output-stream-p
+ - package
+ - package-error
+ - package-error-package
+ - package-name
+ - package-nicknames
+ - packagep
+ - package-shadowing-symbols
+ - package-used-by-list
+ - package-use-list
+ - pairlis
+ - parse-error
+ - parse-integer
+ - parse-namestring
+ - pathname
+ - pathname-device
+ - pathname-directory
+ - pathname-host
+ - pathname-match-p
+ - pathname-name
+ - pathnamep
+ - pathname-type
+ - pathname-version
+ - peek-char
+ - phase
+ - pi
+ - plusp
+ - pop
+ - position
+ - position-if
+ - position-if-not
+ - pprint
+ - pprint-dispatch
+ - pprint-exit-if-list-exhausted
+ - pprint-fill
+ - pprint-indent
+ - pprint-linear
+ - pprint-logical-block
+ - pprint-newline
+ - pprint-pop
+ - pprint-tab
+ - pprint-tabular
+ - prin1
+ - prin1-to-string
+ - princ
+ - princ-to-string
+ - print
+ - print-not-readable
+ - print-not-readable-object
+ - print-object
+ - print-unreadable-object
+ - probe-file
+ - proclaim
+ - prog
+ - prog*
+ - prog1
+ - prog2
+ - progn
+ - program-error
+ - progv
+ - provide
+ - psetf
+ - psetq
+ - push
+ - pushnew
+ - putprop
+ - quote
+ - random
+ - random-state
+ - random-state-p
+ - rassoc
+ - rassoc-if
+ - rassoc-if-not
+ - ratio
+ - rational
+ - rationalize
+ - rationalp
+ - read
+ - read-byte
+ - read-char
+ - read-char-no-hang
+ - read-delimited-list
+ - reader-error
+ - read-eval-print
+ - read-from-string
+ - read-line
+ - read-preserving-whitespace
+ - read-sequence
+ - readtable
+ - readtable-case
+ - readtablep
+ - real
+ - realp
+ - realpart
+ - reduce
+ - reinitialize-instance
+ - rem
+ - remf
+ - remhash
+ - remove
+ - remove-duplicates
+ - remove-if
+ - remove-if-not
+ - remove-method
+ - remprop
+ - rename-file
+ - rename-package
+ - replace
+ - require
+ - rest
+ - restart
+ - restart-bind
+ - restart-case
+ - restart-name
+ - return
+ - return-from
+ - revappend
+ - reverse
+ - room
+ - rotatef
+ - round
+ - row-major-aref
+ - rplaca
+ - rplacd
+ - safety
+ - satisfies
+ - sbit
+ - scale-float
+ - schar
+ - search
+ - second
+ - sequence
+ - serious-condition
+ - set
+ - set-char-bit
+ - set-difference
+ - set-dispatch-macro-character
+ - set-exclusive-or
+ - setf
+ - set-macro-character
+ - set-pprint-dispatch
+ - setq
+ - set-syntax-from-char
+ - seventh
+ - shadow
+ - shadowing-import
+ - shared-initialize
+ - shiftf
+ - short-float
+ - short-float-epsilon
+ - short-float-negative-epsilon
+ - short-site-name
+ - signal
+ - signed-byte
+ - signum
+ - simle-condition
+ - simple-array
+ - simple-base-string
+ - simple-bit-vector
+ - simple-bit-vector-p
+ - simple-condition-format-arguments
+ - simple-condition-format-control
+ - simple-error
+ - simple-string
+ - simple-string-p
+ - simple-type-error
+ - simple-vector
+ - simple-vector-p
+ - simple-warning
+ - sin
+ - single-flaot-epsilon
+ - single-float
+ - single-float-epsilon
+ - single-float-negative-epsilon
+ - sinh
+ - sixth
+ - sleep
+ - slot-boundp
+ - slot-exists-p
+ - slot-makunbound
+ - slot-missing
+ - slot-unbound
+ - slot-value
+ - software-type
+ - software-version
+ - some
+ - sort
+ - space
+ - special
+ - special-form-p
+ - special-operator-p
+ - speed
+ - sqrt
+ - stable-sort
+ - standard
+ - standard-char
+ - standard-char-p
+ - standard-class
+ - standard-generic-function
+ - standard-method
+ - standard-object
+ - step
+ - storage-condition
+ - store-value
+ - stream
+ - stream-element-type
+ - stream-error
+ - stream-error-stream
+ - stream-external-format
+ - streamp
+ - streamup
+ - string
+ - string<
+ - string<=
+ - string=
+ - string>
+ - string>=
+ - string/=
+ - string-capitalize
+ - string-char
+ - string-char-p
+ - string-downcase
+ - string-equal
+ - string-greaterp
+ - string-left-trim
+ - string-lessp
+ - string-not-equal
+ - string-not-greaterp
+ - string-not-lessp
+ - stringp
+ - string-right-strim
+ - string-right-trim
+ - string-stream
+ - string-trim
+ - string-upcase
+ - structure
+ - structure-class
+ - structure-object
+ - style-warning
+ - sublim
+ - sublis
+ - subseq
+ - subsetp
+ - subst
+ - subst-if
+ - subst-if-not
+ - substitute
+ - substitute-if
+ - substitute-if-not
+ - subtypep
+ - svref
+ - sxhash
+ - symbol
+ - symbol-function
+ - symbol-macrolet
+ - symbol-name
+ - symbolp
+ - symbol-package
+ - symbol-plist
+ - symbol-value
+ - synonym-stream
+ - synonym-stream-symbol
+ - sys
+ - system
+ - t
+ - tagbody
+ - tailp
+ - tan
+ - tanh
+ - tenth
+ - terpri
+ - the
+ - third
+ - throw
+ - time
+ - trace
+ - translate-logical-pathname
+ - translate-pathname
+ - tree-equal
+ - truename
+ - truncase
+ - truncate
+ - two-way-stream
+ - two-way-stream-input-stream
+ - two-way-stream-output-stream
+ - type
+ - typecase
+ - type-error
+ - type-error-datum
+ - type-error-expected-type
+ - type-of
+ - typep
+ - unbound-slot
+ - unbound-slot-instance
+ - unbound-variable
+ - undefined-function
+ - unexport
+ - unintern
+ - union
+ - unless
+ - unread
+ - unread-char
+ - unsigned-byte
+ - untrace
+ - unuse-package
+ - unwind-protect
+ - update-instance-for-different-class
+ - update-instance-for-redefined-class
+ - upgraded-array-element-type
+ - upgraded-complex-part-type
+ - upper-case-p
+ - use-package
+ - user
+ - user-homedir-pathname
+ - use-value
+ - values
+ - values-list
+ - vector
+ - vectorp
+ - vector-pop
+ - vector-push
+ - vector-push-extend
+ - warn
+ - warning
+ - when
+ - wild-pathname-p
+ - with-accessors
+ - with-compilation-unit
+ - with-condition-restarts
+ - with-hash-table-iterator
+ - with-input-from-string
+ - with-open-file
+ - with-open-stream
+ - with-output-to-string
+ - with-package-iterator
+ - with-simple-restart
+ - with-slots
+ - with-standard-io-syntax
+ - write
+ - write-byte
+ - write-char
+ - write-line
+ - write-sequence
+ - write-string
+ - write-to-string
+ - yes-or-no-p
+ - y-or-n-p
+ - zerop
+
+
+
+ - :abort
+ - :adjustable
+ - :append
+ - :array
+ - :base
+ - :case
+ - :circle
+ - :conc-name
+ - :constructor
+ - :copier
+ - :count
+ - :create
+ - :default
+ - :defaults
+ - :device
+ - :direction
+ - :directory
+ - :displaced-index-offset
+ - :displaced-to
+ - :element-type
+ - :end1
+ - :end2
+ - :end
+ - :error
+ - :escape
+ - :external
+ - :from-end
+ - :gensym
+ - :host
+ - :if-does-not-exist:pretty
+ - :if-exists:print
+ - :include:print-function
+ - :index
+ - :inherited
+ - :initial-contents
+ - :initial-element
+ - :initial-offset
+ - :initial-value
+ - :input
+ - :internal:size
+ - :io
+ - :junk-allowed
+ - :key
+ - :length
+ - :level
+ - :named
+ - :name
+ - :new-version
+ - :nicknames
+ - :output-file
+ - :output
+ - :overwrite
+ - :predicate
+ - :preserve-whitespace
+ - :probe
+ - :radix
+ - :read-only
+ - :rehash-size
+ - :rehash-threshold
+ - :rename-and-delete
+ - :rename
+ - :start1
+ - :start2
+ - :start
+ - :stream
+ - :supersede
+ - :test
+ - :test-not
+ - :type
+ - :use
+ - :verbose
+ - :version
+
+
+ - *applyhook*
+ - *break-on-signals*
+ - *break-on-signals*
+ - *break-on-warnings*
+ - *compile-file-pathname*
+ - *compile-file-pathname*
+ - *compile-file-truename*
+ - *compile-file-truename*
+ - *compile-print*
+ - *compile-verbose*
+ - *compile-verbose*
+ - *debugger-hook*
+ - *debug-io*
+ - *default-pathname-defaults*
+ - *error-output*
+ - *evalhook*
+ - *features*
+ - *gensym-counter*
+ - *load-pathname*
+ - *load-print*
+ - *load-truename*
+ - *load-verbose*
+ - *macroexpand-hook*
+ - *modules*
+ - *package*
+ - *print-array*
+ - *print-base*
+ - *print-case*
+ - *print-circle*
+ - *print-escape*
+ - *print-gensym*
+ - *print-length*
+ - *print-level*
+ - *print-lines*
+ - *print-miser-width*
+ - *print-miser-width*
+ - *print-pprint-dispatch*
+ - *print-pprint-dispatch*
+ - *print-pretty*
+ - *print-radix*
+ - *print-readably*
+ - *print-right-margin*
+ - *print-right-margin*
+ - *query-io*
+ - *random-state*
+ - *read-base*
+ - *read-default-float-format*
+ - *read-eval*
+ - *read-suppress*
+ - *readtable*
+ - *standard-input*
+ - *standard-output*
+ - *terminal-io*
+ - *trace-output*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/component-pascal.xml b/data/syntax/component-pascal.xml
new file mode 100644
index 0000000..1aadebe
--- /dev/null
+++ b/data/syntax/component-pascal.xml
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - BEGIN
+ - BY
+ - CASE
+ - CLOSE
+ - CONST
+ - DO
+ - ELSE
+ - ELSIF
+ - END
+ - FOR
+ - IF
+ - IMPORT
+ - LOOP
+ - MODULE
+ - NEW
+ - OF
+ - OUT
+ - PROCEDURE
+ - REPEAT
+ - THEN
+ - TO
+ - TYPE
+ - UNTIL
+ - VAR
+ - WHILE
+ - WITH
+
+
+ - ASSERT
+ - EXIT
+ - HALT
+ - RETURN
+
+
+ - ANYPTR
+ - ANYREC
+ - ARRAY
+ - BOOLEAN
+ - SHORTCHAR
+ - CHAR
+ - BYTE
+ - SHORTINT
+ - INTEGER
+ - LONGINT
+ - POINTER
+ - RECORD
+ - SHORTREAL
+ - REAL
+ - SET
+
+
+ - ABSTRACT
+ - EMPTY
+ - EXTENSIBLE
+ - LIMITED
+
+
+ - ABS
+ - ASH
+ - BITS
+ - CAP
+ - CHR
+ - DEC
+ - ENTIER
+ - EXCL
+ - INC
+ - INCL
+ - LEN
+ - LONG
+ - MAX
+ - MIN
+ - ODD
+ - ORD
+ - SHORT
+ - SIZE
+
+
+ - FALSE
+ - INF
+ - NIL
+ - TRUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/context.xml b/data/syntax/context.xml
new file mode 100644
index 0000000..239cd5e
--- /dev/null
+++ b/data/syntax/context.xml
@@ -0,0 +1,132 @@
+
+
+
+
+
+ - \part
+ - \chapter
+ - \section
+ - \subsection
+ - \subsubsection
+ - \title
+ - \subject
+ - \subsubject
+ - \subsubsubject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/cpp.xml b/data/syntax/cpp.xml
new file mode 100644
index 0000000..6db3a85
--- /dev/null
+++ b/data/syntax/cpp.xml
@@ -0,0 +1,1612 @@
+
+
+
+
+]>
+
+
+
+
+
+ - emit
+ - signals
+ - slots
+ - foreach
+ - forever
+ - SIGNAL
+ - SLOT
+
+ - qApp
+
+ - Q_DECLARE_TR_FUNCTIONS
+
+ - Q_CLASSINFO
+ - Q_DISABLE_COPY
+ - Q_EMIT
+ - Q_ENUMS
+ - Q_FLAGS
+ - Q_INTERFACES
+ - Q_INVOKABLE
+ - Q_OBJECT
+ - Q_PROPERTY
+ - Q_SIGNAL
+ - Q_SIGNALS
+ - Q_SLOT
+ - Q_SLOTS
+
+ - Q_DECLARE_METATYPE
+ - QT_NO_CAST_FROM_BYTEARRAY
+ - QT_NO_CAST_FROM_ASCII
+ - QT_NO_CAST_TO_ASCII
+ - QT_NO_URL_CAST_FROM_STRING
+ - QT_USE_QSTRINGBUILDER
+
+ - QBENCHMARK
+ - QBENCHMARK_ONCE
+ - QCOMPARE
+ - QEXPECT_FAIL
+ - QFAIL
+ - QFETCH
+ - QSKIP
+ - QTEST
+ - QTEST_APPLESS_MAIN
+ - QTEST_MAIN
+ - QTEST_NOOP_MAIN
+ - QVERIFY2
+ - QVERIFY
+ - QWARN
+
+ - QAXCLASS
+ - QAXFACTORY_BEGIN
+ - QAXFACTORY_DEFAULT
+ - QAXFACTORY_END
+ - QAXFACTORY_EXPORT
+ - QAXTYPE
+
+ - QDESIGNER_WIDGET_EXPORT
+
+ - QML_DECLARE_TYPE
+ - QML_DECLARE_TYPEINFO
+
+ - QTWEBKIT_VERSION
+ - QTWEBKIT_VERSION_CHECK
+ - QTWEBKIT_VERSION_STR
+
+ - Q_ARG
+ - Q_RETURN_ARG
+
+ - Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE
+ - Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE
+ - Q_ATOMIC_INT_FETCH_AND_ADD_IS_SOMETIMES_NATIVE
+ - Q_ATOMIC_INT_FETCH_AND_ADD_IS_WAIT_FREE
+ - Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE
+ - Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE
+ - Q_ATOMIC_INT_FETCH_AND_STORE_IS_SOMETIMES_NATIVE
+ - Q_ATOMIC_INT_FETCH_AND_STORE_IS_WAIT_FREE
+ - Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE
+ - Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE
+ - Q_ATOMIC_INT_REFERENCE_COUNTING_IS_SOMETIMES_NATIVE
+ - Q_ATOMIC_INT_REFERENCE_COUNTING_IS_WAIT_FREE
+ - Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE
+ - Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE
+ - Q_ATOMIC_INT_TEST_AND_SET_IS_SOMETIMES_NATIVE
+ - Q_ATOMIC_INT_TEST_AND_SET_IS_WAIT_FREE
+
+ - Q_DECLARE_EXTENSION_INTERFACE
+
+ - Q_DECLARE_INTERFACE
+ - Q_EXPORT_PLUGIN2
+ - Q_IMPORT_PLUGIN
+
+ - Q_NOREPLY
+
+ - Q_SCRIPT_DECLARE_QMETAOBJECT
+
+ - QWIDGETSIZE_MAX
+
+ - QT3_SUPPORT
+ - QT3_SUPPORT_CONSTRUCTOR
+ - QT3_SUPPORT_VARIABLE
+ - QT3_SUPPORT_WARNINGS
+ - QT_ARCH_X86_64
+ - QT_ASCII_CAST_WARN
+ - QT_ASCII_CAST_WARN_CONSTRUCTOR
+ - QT_BUILD_KEY
+ - QT_BUILD_KEY_COMPAT
+ - QT_CATCH
+ - QT_COMPAT
+ - QT_COMPAT_WARNINGS
+ - QT_DEBUG
+ - QT_DEPRECATED
+ - QT_DEPRECATED_CONSTRUCTOR
+ - QT_DEPRECATED_VARIABLE
+ - QT_EDITION
+ - QT_EDITION_ACADEMIC
+ - QT_EDITION_CONSOLE
+ - QT_EDITION_DESKTOP
+ - QT_EDITION_DESKTOPLIGHT
+ - QT_EDITION_EDUCATIONAL
+ - QT_EDITION_EVALUATION
+ - QT_EDITION_OPENSOURCE
+ - QT_EDITION_UNIVERSAL
+ - QT_ENSURE_STACK_ALIGNED_FOR_SSE
+ - QT_FASTCALL
+ - QT_FORWARD_DECLARE_CLASS
+ - QT_FORWARD_DECLARE_STRUCT
+ - QT_HAVE_ARMV6
+ - QT_LARGEFILE_SUPPORT
+ - QT_LICENSED_MODULE
+ - QT_LINKED_OPENSSL
+ - QT_LINUXBASE
+ - QT_MAC_USE_COCOA
+ - QT_MOC_COMPAT
+ - QT_MODULE
+ - QT_MODULE_ACTIVEQT
+ - QT_MODULE_CORE
+ - QT_MODULE_DBUS
+ - QT_MODULE_DECLARATIVE
+ - QT_MODULE_GRAPHICSVIEW
+ - QT_MODULE_GUI
+ - QT_MODULE_HELP
+ - QT_MODULE_MULTIMEDIA
+ - QT_MODULE_NETWORK
+ - QT_MODULE_OPENGL
+ - QT_MODULE_OPENVG
+ - QT_MODULE_QT3SUPPORT
+ - QT_MODULE_QT3SUPPORTLIGHT
+ - QT_MODULE_SCRIPT
+ - QT_MODULE_SCRIPTTOOLS
+ - QT_MODULE_SQL
+ - QT_MODULE_SVG
+ - QT_MODULE_TEST
+ - QT_MODULE_XML
+ - QT_MODULE_XMLPATTERNS
+ - QT_NO_ACCESSIBILITY
+ - QT_NO_ANIMATION
+ - QT_NO_ARM_EABI
+ - QT_NO_BEARERMANAGEMENT
+ - QT_NO_BUTTONGROUP
+ - QT_NO_CALENDARWIDGET
+ - QT_NO_CLIPBOARD
+ - QT_NO_CODECS
+ - QT_NO_COLORDIALOG
+ - QT_NO_COLUMNVIEW
+ - QT_NO_COMBOBOX
+ - QT_NO_COMPLETER
+ - QT_NO_CONCURRENT
+ - QT_NO_CONCURRENT_FILTER
+ - QT_NO_CONCURRENT_MAP
+ - QT_NO_CONTEXTMENU
+ - QT_NO_COP
+ - QT_NO_CRASHHANDLER
+ - QT_NO_CUPS
+ - QT_NO_DATAWIDGETMAPPER
+ - QT_NO_DATESTRING
+ - QT_NO_DATETIMEEDIT
+ - QT_NO_DBUS
+ - QT_NO_DEBUG
+ - QT_NO_DEBUG_STREAM
+ - QT_NO_DECLARATIVE
+ - QT_NO_DIAL
+ - QT_NO_DIRMODEL
+ - QT_NO_DOCKWIDGET
+ - QT_NO_DRAGANDDROP
+ - QT_NO_EGL
+ - QT_NO_ERRORMESSAGE
+ - QT_NO_EXCEPTIONS
+ - QT_NO_FILEDIALOG
+ - QT_NO_FILESYSTEMMODEL
+ - QT_NO_FONTCOMBOBOX
+ - QT_NO_FONTCONFIG
+ - QT_NO_FONTDIALOG
+ - QT_NO_FPU
+ - QT_NO_FSCOMPLETER
+ - QT_NO_FTP
+ - QT_NO_GETIFADDRS
+ - QT_NO_GRAPHICSEFFECT
+ - QT_NO_GRAPHICSSVGITEM
+ - QT_NO_GRAPHICSVIEW
+ - QT_NO_GSTREAMER
+ - QT_NO_HOSTINFO
+ - QT_NO_HTTP
+ - QT_NO_ICD
+ - QT_NO_IM
+ - QT_NO_IMAGEFORMAT_JPEG
+ - QT_NO_IMAGEFORMAT_MNG
+ - QT_NO_IMAGEFORMAT_PNG
+ - QT_NO_IMAGEFORMAT_TIFF
+ - QT_NO_IMAGEFORMAT_XPM
+ - QT_NO_INPUTDIALOG
+ - QT_NO_ITEMVIEWS
+ - QT_NO_LIBRARY
+ - QT_NO_LISTVIEW
+ - QT_NO_LISTWIDGET
+ - QT_NO_LPR
+ - QT_NO_MAINWINDOW
+ - QT_NO_MDIAREA
+ - QT_NO_MENU
+ - QT_NO_MENUBAR
+ - QT_NO_MITSHM
+ - QT_NO_MULTIMEDIA
+ - QT_NO_NAS
+ - QT_NO_NETWORKDISKCACHE
+ - QT_NO_OPENGL
+ - QT_NO_OPENVG
+ - QT_NO_PAINT_DEBUG
+ - QT_NO_PHONON
+ - QT_NO_PHONON_EFFECTWIDGET
+ - QT_NO_PHONON_PLATFORMPLUGIN
+ - QT_NO_PHONON_SEEKSLIDER
+ - QT_NO_PHONON_SETTINGSGROUP
+ - QT_NO_PHONON_VIDEOPLAYER
+ - QT_NO_PHONON_VOLUMEFADEREFFECT
+ - QT_NO_PHONON_VOLUMESLIDER
+ - QT_NO_PRINTDIALOG
+ - QT_NO_PRINTER
+ - QT_NO_PRINTPREVIEWDIALOG
+ - QT_NO_PRINTPREVIEWWIDGET
+ - QT_NO_PROCESS
+ - QT_NO_PROGRESSDIALOG
+ - QT_NO_PROXYMODEL
+ - QT_NO_PULSEAUDIO
+ - QT_NO_QDEBUG_MACRO
+ - QT_NO_QFUTURE
+ - QT_NO_QWARNING_MACRO
+ - QT_NO_QWS_CURSOR
+ - QT_NO_QWS_DECORATION_STYLED
+ - QT_NO_QWS_DECORATION_WINDOWS
+ - QT_NO_QWS_DYNAMICSCREENTRANSFORMATION
+ - QT_NO_QWS_INPUTMETHODS
+ - QT_NO_QWS_MANAGER
+ - QT_NO_QWS_MULTIPROCESS
+ - QT_NO_QWS_SOUNDSERVER
+ - QT_NO_QWS_TRANSFORMED
+ - QT_NO_QWS_VNC
+ - QT_NO_RAWFONT
+ - QT_NO_S60
+ - QT_NO_SCRIPT
+ - QT_NO_SCRIPTTOOLS
+ - QT_NO_SCROLLAREA
+ - QT_NO_SCROLLBAR
+ - QT_NO_SESSIONMANAGER
+ - QT_NO_SHAPE
+ - QT_NO_SHAREDMEMORY
+ - QT_NO_SOCKS5
+ - QT_NO_SOFTKEYMANAGER
+ - QT_NO_SORTFILTERPROXYMODEL
+ - QT_NO_SPINBOX
+ - QT_NO_SPLITTER
+ - QT_NO_STANDARDITEMMODEL
+ - QT_NO_STATEMACHINE
+ - QT_NO_STL_WCHAR
+ - QT_NO_STRINGLISTMODEL
+ - QT_NO_STYLE_CDE
+ - QT_NO_STYLE_CLEANLOOKS
+ - QT_NO_STYLE_GTK
+ - QT_NO_STYLE_PLASTIQUE
+ - QT_NO_STYLE_S60
+ - QT_NO_STYLE_STYLESHEET
+ - QT_NO_STYLE_WINDOWSCE
+ - QT_NO_STYLE_WINDOWSMOBILE
+ - QT_NO_STYLE_WINDOWSVISTA
+ - QT_NO_STYLE_WINDOWSXP
+ - QT_NO_SVG
+ - QT_NO_SVGGENERATOR
+ - QT_NO_SVGRENDERER
+ - QT_NO_SVGWIDGET
+ - QT_NO_SXE
+ - QT_NO_SYNTAXHIGHLIGHTER
+ - QT_NO_SYSTEMSEMAPHORE
+ - QT_NO_TABBAR
+ - QT_NO_TABDIALOG
+ - QT_NO_TABLET
+ - QT_NO_TABLEVIEW
+ - QT_NO_TABLEWIDGET
+ - QT_NO_TABWIDGET
+ - QT_NO_TEMPLATE_TEMPLATE_PARAMETERS
+ - QT_NO_TEXTBROWSER
+ - QT_NO_TEXTCODECPLUGIN
+ - QT_NO_TEXTEDIT
+ - QT_NO_TEXTODFWRITER
+ - QT_NO_TOOLBAR
+ - QT_NO_TOOLBOX
+ - QT_NO_TOOLBUTTON
+ - QT_NO_TRANSLATION_UTF8
+ - QT_NO_TREEVIEW
+ - QT_NO_TREEWIDGET
+ - QT_NO_UNDOGROUP
+ - QT_NO_UNDOSTACK
+ - QT_NO_UNDOVIEW
+ - QT_NO_WARNINGS
+ - QT_NO_WEBKIT
+ - QT_NO_WHATSTHIS
+ - QT_NO_WIN_ACTIVEQT
+ - QT_NO_WIZARD
+ - QT_NO_WORKSPACE
+ - QT_NO_XCURSOR
+ - QT_NO_XFIXES
+ - QT_NO_XINERAMA
+ - QT_NO_XINPUT
+ - QT_NO_XKB
+ - QT_NO_XMLPATTERNS
+ - QT_NO_XMLSTREAMREADER
+ - QT_NO_XMLSTREAMWRITER
+ - QT_NO_XRANDR
+ - QT_NO_XRENDER
+ - QT_NO_XSYNC
+ - QT_NO_XVIDEO
+ - QT_NO_ZLIB
+ - QT_PACKAGEDATE_STR
+ - QT_PACKAGE_TAG
+ - QT_POINTER_SIZE
+ - QT_PREPEND_NAMESPACE
+ - QT_PRODUCT_LICENSE
+ - QT_PRODUCT_LICENSEE
+ - QT_RETHROW
+ - QT_STATIC_CONST
+ - QT_STATIC_CONST_IMPL
+ - QT_STRINGIFY
+ - QT_STRINGIFY2
+ - QT_SUPPORTS
+ - QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
+ - QT_SYMBIAN_SUPPORTS_SGIMAGE
+ - QT_THROW
+ - QT_TRANSLATE_NOOP
+ - QT_TRANSLATE_NOOP3
+ - QT_TRANSLATE_NOOP3_UTF8
+ - QT_TRANSLATE_NOOP_UTF8
+ - QT_TRAP_THROWING
+ - QT_TRID_NOOP
+ - QT_TRY
+ - QT_TRYCATCH_ERROR
+ - QT_TRYCATCH_LEAVING
+ - QT_TR_NOOP
+ - QT_TR_NOOP_UTF8
+ - QT_USE_MATH_H_FLOATS
+ - QT_USE_NAMESPACE
+ - QT_VERSION
+ - QT_VERSION_CHECK
+ - QT_VERSION_STR
+ - QT_VISIBILITY_AVAILABLE
+ - QT_WA
+ - QT_WA_INLINE
+ - QT_WIN_CALLBACK
+ - QT_USE_NAMESPACE
+ - QT_BEGIN_NAMESPACE
+ - QT_END_NAMESPACE
+ - QT_BEGIN_HEADER
+ - QT_END_HEADER
+ - Q_ALIGNOF
+ - Q_ASSERT
+ - Q_ASSERT_X
+ - Q_BIG_ENDIAN
+ - Q_BROKEN_DEBUG_STREAM
+ - Q_BROKEN_TEMPLATE_SPECIALIZATION
+ - Q_BYTE_ORDER
+ - Q_CANNOT_DELETE_CONSTANT
+ - Q_CC_BOR
+ - Q_CC_CDS
+ - Q_CC_CLANG
+ - Q_CC_COMEAU
+ - Q_CC_DEC
+ - Q_CC_DIAB
+ - Q_CC_EDG
+ - Q_CC_GCCE
+ - Q_CC_GHS
+ - Q_CC_GNU
+ - Q_CC_HIGHC
+ - Q_CC_HP
+ - Q_CC_HPACC
+ - Q_CC_INTEL
+ - Q_CC_KAI
+ - Q_CC_MINGW
+ - Q_CC_MIPS
+ - Q_CC_MSVC
+ - Q_CC_MSVC_NET
+ - Q_CC_MWERKS
+ - Q_CC_NOKIAX86
+ - Q_CC_OC
+ - Q_CC_PGI
+ - Q_CC_RVCT
+ - Q_CC_SUN
+ - Q_CC_SYM
+ - Q_CC_USLC
+ - Q_CC_WAT
+ - Q_CC_XLC
+ - Q_CHECK_PTR
+ - Q_CLEANUP_RESOURCE
+ - Q_COMPILER_AUTO_TYPE
+ - Q_COMPILER_CLASS_ENUM
+ - Q_COMPILER_CONSTEXPR
+ - Q_COMPILER_DECLTYPE
+ - Q_COMPILER_DEFAULT_DELETE_MEMBERS
+ - Q_COMPILER_EXTERN_TEMPLATES
+ - Q_COMPILER_INITIALIZER_LISTS
+ - Q_COMPILER_LAMBDA
+ - Q_COMPILER_MANGLES_RETURN_TYPE
+ - Q_COMPILER_RVALUE_REFS
+ - Q_COMPILER_UNICODE_STRINGS
+ - Q_COMPILER_VARIADIC_TEMPLATES
+ - Q_CONSTRUCTOR_FUNCTION
+ - Q_CONSTRUCTOR_FUNCTION0
+ - Q_C_CALLBACKS
+ - Q_D
+ - Q_DECLARE_FLAGS
+ - Q_DECLARE_INCOMPATIBLE_FLAGS
+ - Q_DECLARE_OPERATORS_FOR_FLAGS
+ - Q_DECLARE_PRIVATE
+ - Q_DECLARE_PRIVATE_D
+ - Q_DECLARE_PUBLIC
+ - Q_DECLARE_SHARED
+ - Q_DECLARE_SHARED_STL
+ - Q_DECLARE_TYPEINFO
+ - Q_DECLARE_TYPEINFO_BODY
+ - Q_DECL_ALIGN
+ - Q_DECL_CONSTEXPR
+ - Q_DECL_CONSTRUCTOR_DEPRECATED
+ - Q_DECL_DEPRECATED
+ - Q_DECL_FINAL
+ - Q_DECL_HIDDEN
+ - Q_DECL_IMPORT
+ - Q_DECL_OVERRIDE
+ - Q_DECL_NOEXCEPT
+ - Q_DECL_NOTHROW
+ - Q_NULLPTR
+ - Q_DECL_VARIABLE_DEPRECATED
+ - Q_DESTRUCTOR_FUNCTION
+ - Q_DESTRUCTOR_FUNCTION0
+ - Q_DISABLE_COPY
+ - Q_DUMMY_COMPARISON_OPERATOR
+ - Q_FOREACH
+ - Q_FOREVER
+ - Q_FULL_TEMPLATE_INSTANTIATION
+ - Q_FUNC_INFO
+ - Q_GLOBAL_STATIC
+ - Q_GLOBAL_STATIC_INIT
+ - Q_GLOBAL_STATIC_WITH_ARGS
+ - Q_GLOBAL_STATIC_WITH_INITIALIZER
+ - Q_INIT_RESOURCE
+ - Q_INIT_RESOURCE_EXTERN
+ - Q_INLINE_TEMPLATE
+ - Q_INT64_C
+ - Q_LIKELY
+ - Q_LITTLE_ENDIAN
+ - Q_NO_BOOL_TYPE
+ - Q_NO_DATA_RELOCATION
+ - Q_NO_DECLARED_NOT_DEFINED
+ - Q_NO_DEPRECATED_CONSTRUCTORS
+ - Q_NO_EXPLICIT_KEYWORD
+ - Q_NO_PACKED_REFERENCE
+ - Q_NO_POSIX_SIGNALS
+ - Q_NO_TEMPLATE_FRIENDS
+ - Q_NO_USING_KEYWORD
+ - Q_OF_ELF
+ - Q_OS_AIX
+ - Q_OS_BSD4
+ - Q_OS_BSDI
+ - Q_OS_CYGWIN
+ - Q_OS_DARWIN
+ - Q_OS_DARWIN32
+ - Q_OS_DARWIN64
+ - Q_OS_DGUX
+ - Q_OS_DYNIX
+ - Q_OS_FREEBSD
+ - Q_OS_HPUX
+ - Q_OS_HURD
+ - Q_OS_INTEGRITY
+ - Q_OS_IRIX
+ - Q_OS_LINUX
+ - Q_OS_LYNX
+ - Q_OS_MAC
+ - Q_OS_MAC32
+ - Q_OS_MAC64
+ - Q_OS_MACX
+ - Q_OS_MSDOS
+ - Q_OS_NACL
+ - Q_OS_NETBSD
+ - Q_OS_OPENBSD
+ - Q_OS_OS2
+ - Q_OS_OS2EMX
+ - Q_OS_OSF
+ - Q_OS_QNX
+ - Q_OS_RELIANT
+ - Q_OS_SCO
+ - Q_OS_SOLARIS
+ - Q_OS_SYMBIAN
+ - Q_OS_ULTRIX
+ - Q_OS_UNIX
+ - Q_OS_UNIXWARE
+ - Q_OS_VXWORKS
+ - Q_OS_WIN
+ - Q_OS_WIN32
+ - Q_OS_WIN64
+ - Q_OS_WINCE
+ - Q_OUTOFLINE_TEMPLATE
+ - Q_PACKED
+ - Q_Q
+ - Q_REQUIRED_RESULT
+ - Q_SYMBIAN_FIXED_POINTER_CURSORS
+ - Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE
+ - Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE
+ - Q_SYMBIAN_SUPPORTS_FIXNATIVEORIENTATION
+ - Q_SYMBIAN_SUPPORTS_MULTIPLE_SCREENS
+ - Q_SYMBIAN_SUPPORTS_SURFACES
+ - Q_SYMBIAN_TRANSITION_EFFECTS
+ - Q_SYMBIAN_WINDOW_SIZE_CACHE
+ - Q_TEMPLATEDLL
+ - Q_TYPENAME
+ - Q_TYPEOF
+ - Q_UINT64_C
+ - Q_UNLIKELY
+ - Q_UNUSED
+ - Q_WRONG_SB_CTYPE_MACROS
+ - Q_WS_MAC
+ - Q_WS_MAC32
+ - Q_WS_MAC64
+ - Q_WS_MACX
+ - Q_WS_PM
+ - Q_WS_S60
+ - Q_WS_WIN
+ - Q_WS_WIN16
+ - Q_WS_WIN32
+ - Q_WS_WIN64
+ - Q_WS_WINCE
+ - Q_WS_WINCE_WM
+ - Q_WS_X11
+
+ - Q_COMPLEX_TYPE
+ - Q_PRIMITIVE_TYPE
+ - Q_STATIC_TYPE
+ - Q_MOVABLE_TYPE
+ - Q_DUMMY_TYPE
+
+
+
+
+ - QAbstractAnimation
+ - QAbstractButton
+ - QAbstractEventDispatcher
+ - QAbstractExtensionFactory
+ - QAbstractExtensionManager
+ - QAbstractFileEngine
+ - QAbstractFileEngineHandler
+ - QAbstractFileEngineIterator
+ - QAbstractFontEngine
+ - QAbstractFormBuilder
+ - QAbstractGraphicsShapeItem
+ - QAbstractItemDelegate
+ - QAbstractItemModel
+ - QAbstractItemView
+ - QAbstractListModel
+ - QAbstractMessageHandler
+ - QAbstractNetworkCache
+ - QAbstractPrintDialog
+ - QAbstractProxyModel
+ - QAbstractScrollArea
+ - QAbstractSlider
+ - QAbstractSocket
+ - QAbstractSpinBox
+ - QAbstractState
+ - QAbstractTableModel
+ - QAbstractTextDocumentLayout
+ - QAbstractTransition
+ - QAbstractUriResolver
+ - QAbstractVideoBuffer
+ - QAbstractVideoSurface
+ - QAbstractXmlNodeModel
+ - QAbstractXmlReceiver
+ - QAccessible
+ - QAccessibleBridge
+ - QAccessibleBridgePlugin
+ - QAccessibleEvent
+ - QAccessibleInterface
+ - QAccessibleObject
+ - QAccessiblePlugin
+ - QAccessibleWidget
+ - QAction
+ - QActionEvent
+ - QActionGroup
+ - QAnimationGroup
+ - QApplication
+ - QAtomicInt
+ - QAtomicPointer
+ - QAudioDeviceInfo
+ - QAudioFormat
+ - QAudioInput
+ - QAudioOutput
+ - QAuthenticator
+ - QAxAggregated
+ - QAxBase
+ - QAxBindable
+ - QAxFactory
+ - QAxObject
+ - QAxScript
+ - QAxScriptEngine
+ - QAxScriptManager
+ - QAxWidget
+ - QBasicTimer
+ - QBitArray
+ - QBitmap
+ - QBoxLayout
+ - QBool
+ - QBrush
+ - QBuffer
+ - QButtonGroup
+ - QByteArray
+ - QByteArrayMatcher
+ - QCache
+ - QCalendarWidget
+ - QCDEStyle
+ - QChar
+ - QCheckBox
+ - QChildEvent
+ - QCleanlooksStyle
+ - QClipboard
+ - QCloseEvent
+ - QColor
+ - QColorDialog
+ - QColormap
+ - QColumnView
+ - QComboBox
+ - QCommandLinkButton
+ - QCommonStyle
+ - QCompleter
+ - QConicalGradient
+ - QContextMenuEvent
+ - QContiguousCache
+ - QCopChannel
+ - QCoreApplication
+ - QCryptographicHash
+ - QCursor
+ - QCustomRasterPaintDevice
+ - QDataStream
+ - QDataWidgetMapper
+ - QDate
+ - QDateEdit
+ - QDateTime
+ - QDateTimeEdit
+ - QDBusAbstractAdaptor
+ - QDBusAbstractInterface
+ - QDBusArgument
+ - QDBusConnection
+ - QDBusConnectionInterface
+ - QDBusContext
+ - QDBusError
+ - QDBusInterface
+ - QDBusMessage
+ - QDBusObjectPath
+ - QDBusPendingCall
+ - QDBusPendingCallWatcher
+ - QDBusPendingReply
+ - QDBusReply
+ - QDBusServiceWatcher
+ - QDBusSignature
+ - QDBusUnixFileDescriptor
+ - QDBusVariant
+ - QDebug
+ - QDeclarativeComponent
+ - QDeclarativeContext
+ - QDeclarativeEngine
+ - QDeclarativeError
+ - QDeclarativeExpression
+ - QDeclarativeExtensionPlugin
+ - QDeclarativeImageProvider
+ - QDeclarativeItem
+ - QDeclarativeListProperty
+ - QDeclarativeListReference
+ - QDeclarativeNetworkAccessManagerFactory
+ - QDeclarativeParserStatus
+ - QDeclarativeProperty
+ - QDeclarativePropertyMap
+ - QDeclarativePropertyValueSource
+ - QDeclarativeScriptString
+ - QDeclarativeView
+ - QDecoration
+ - QDecorationDefault
+ - QDecorationFactory
+ - QDecorationPlugin
+ - QDesignerActionEditorInterface
+ - QDesignerContainerExtension
+ - QDesignerCustomWidgetCollectionInterface
+ - QDesignerCustomWidgetInterface
+ - QDesignerDynamicPropertySheetExtension
+ - QDesignerFormEditorInterface
+ - QDesignerFormWindowCursorInterface
+ - QDesignerFormWindowInterface
+ - QDesignerFormWindowManagerInterface
+ - QDesignerMemberSheetExtension
+ - QDesignerObjectInspectorInterface
+ - QDesignerPropertyEditorInterface
+ - QDesignerPropertySheetExtension
+ - QDesignerTaskMenuExtension
+ - QDesignerWidgetBoxInterface
+ - QDesktopServices
+ - QDesktopWidget
+ - QDial
+ - QDialog
+ - QDialogButtonBox
+ - QDir
+ - QDirectPainter
+ - QDirIterator
+ - QDockWidget
+ - QDomAttr
+ - QDomCDATASection
+ - QDomCharacterData
+ - QDomComment
+ - QDomDocument
+ - QDomDocumentFragment
+ - QDomDocumentType
+ - QDomElement
+ - QDomEntity
+ - QDomEntityReference
+ - QDomImplementation
+ - QDomNamedNodeMap
+ - QDomNode
+ - QDomNodeList
+ - QDomNotation
+ - QDomProcessingInstruction
+ - QDomText
+ - QDoubleSpinBox
+ - QDoubleValidator
+ - QDrag
+ - QDragEnterEvent
+ - QDragLeaveEvent
+ - QDragMoveEvent
+ - QDropEvent
+ - QDynamicPropertyChangeEvent
+ - QEasingCurve
+ - QElapsedTimer
+ - QErrorMessage
+ - QEvent
+ - QEventLoop
+ - QEventTransition
+ - QExplicitlySharedDataPointer
+ - QExtensionFactory
+ - QExtensionManager
+ - QFile
+ - QFileDialog
+ - QFileIconProvider
+ - QFileInfo
+ - QFileOpenEvent
+ - QFileSystemModel
+ - QFileSystemWatcher
+ - QFinalState
+ - QFlag
+ - QFlags
+ - QFocusEvent
+ - QFocusFrame
+ - QFont
+ - QFontComboBox
+ - QFontDatabase
+ - QFontDialog
+ - QFontEngineInfo
+ - QFontEnginePlugin
+ - QFontInfo
+ - QFontMetrics
+ - QFontMetricsF
+ - QFormBuilder
+ - QFormLayout
+ - QFrame
+ - QFSFileEngine
+ - QFtp
+ - QFuture
+ - QFutureIterator
+ - QFutureSynchronizer
+ - QFutureWatcher
+ - QGenericArgument
+ - QGenericMatrix
+ - QGenericPlugin
+ - QGenericPluginFactory
+ - QGenericReturnArgument
+ - QGesture
+ - QGestureEvent
+ - QGestureRecognizer
+ - QGLBuffer
+ - QGLColormap
+ - QGLContext
+ - QGLFormat
+ - QGLFramebufferObject
+ - QGLFramebufferObjectFormat
+ - QGLFunctions
+ - QGLPixelBuffer
+ - QGLShader
+ - QGLShaderProgram
+ - QGLWidget
+ - QGlyphRun
+ - QGradient
+ - QGraphicsAnchor
+ - QGraphicsAnchorLayout
+ - QGraphicsBlurEffect
+ - QGraphicsColorizeEffect
+ - QGraphicsDropShadowEffect
+ - QGraphicsEffect
+ - QGraphicsEllipseItem
+ - QGraphicsGridLayout
+ - QGraphicsItem
+ - QGraphicsItemAnimation
+ - QGraphicsItemGroup
+ - QGraphicsLayout
+ - QGraphicsLayoutItem
+ - QGraphicsLinearLayout
+ - QGraphicsLineItem
+ - QGraphicsObject
+ - QGraphicsOpacityEffect
+ - QGraphicsPathItem
+ - QGraphicsPixmapItem
+ - QGraphicsPolygonItem
+ - QGraphicsProxyWidget
+ - QGraphicsRectItem
+ - QGraphicsRotation
+ - QGraphicsScale
+ - QGraphicsScene
+ - QGraphicsSceneContextMenuEvent
+ - QGraphicsSceneDragDropEvent
+ - QGraphicsSceneEvent
+ - QGraphicsSceneHelpEvent
+ - QGraphicsSceneHoverEvent
+ - QGraphicsSceneMouseEvent
+ - QGraphicsSceneMoveEvent
+ - QGraphicsSceneResizeEvent
+ - QGraphicsSceneWheelEvent
+ - QGraphicsSimpleTextItem
+ - QGraphicsSvgItem
+ - QGraphicsTextItem
+ - QGraphicsTransform
+ - QGraphicsView
+ - QGraphicsWebView
+ - QGraphicsWidget
+ - QGridLayout
+ - QGroupBox
+ - QGtkStyle
+ - QHash
+ - QHashIterator
+ - QHBoxLayout
+ - QHeaderView
+ - QHelpContentItem
+ - QHelpContentModel
+ - QHelpContentWidget
+ - QHelpEngine
+ - QHelpEngineCore
+ - QHelpEvent
+ - QHelpIndexModel
+ - QHelpIndexWidget
+ - QHelpSearchEngine
+ - QHelpSearchQuery
+ - QHelpSearchQueryWidget
+ - QHelpSearchResultWidget
+ - QHideEvent
+ - QHistoryState
+ - QHostAddress
+ - QHostInfo
+ - QHoverEvent
+ - QHttpMultiPart
+ - QHttpPart
+ - QIcon
+ - QIconDragEvent
+ - QIconEngine
+ - QIconEnginePlugin
+ - QIconEnginePluginV2
+ - QIconEngineV2
+ - QIdentityProxyModel
+ - QImage
+ - QImageIOHandler
+ - QImageIOPlugin
+ - QImageReader
+ - QImageWriter
+ - QInputContext
+ - QInputContextFactory
+ - QInputContextPlugin
+ - QInputDialog
+ - QInputEvent
+ - QInputMethodEvent
+ - QIntValidator
+ - QIODevice
+ - QItemDelegate
+ - QItemEditorCreator
+ - QItemEditorCreatorBase
+ - QItemEditorFactory
+ - QItemSelection
+ - QItemSelectionModel
+ - QItemSelectionRange
+ - QKbdDriverFactory
+ - QKbdDriverPlugin
+ - QKeyEvent
+ - QKeyEventTransition
+ - QKeySequence
+ - QLabel
+ - QLatin1Char
+ - QLatin1String
+ - QLayout
+ - QLayoutItem
+ - QLCDNumber
+ - QLibrary
+ - QLibraryInfo
+ - QLine
+ - QLinearGradient
+ - QLineEdit
+ - QLineF
+ - QLinkedList
+ - QLinkedListIterator
+ - QList
+ - QListIterator
+ - QListView
+ - QListWidget
+ - QListWidgetItem
+ - QLocale
+ - QLocalServer
+ - QLocalSocket
+ - QMacCocoaViewContainer
+ - QMacNativeWidget
+ - QMacPasteboardMime
+ - QMacStyle
+ - QMainWindow
+ - QMap
+ - QMapIterator
+ - QMargins
+ - QMatrix4x4
+ - QMdiArea
+ - QMdiSubWindow
+ - QMenu
+ - QMenuBar
+ - QMessageBox
+ - QMetaClassInfo
+ - QMetaEnum
+ - QMetaMethod
+ - QMetaObject
+ - QMetaProperty
+ - QMetaType
+ - QMimeData
+ - QModelIndex
+ - QMotifStyle
+ - QMouseDriverFactory
+ - QMouseDriverPlugin
+ - QMouseEvent
+ - QMouseEventTransition
+ - QMoveEvent
+ - QMovie
+ - QMultiHash
+ - QMultiMap
+ - QMutableHashIterator
+ - QMutableLinkedListIterator
+ - QMutableListIterator
+ - QMutableMapIterator
+ - QMutableSetIterator
+ - QMutableVectorIterator
+ - QMutex
+ - QMutexLocker
+ - QNetworkAccessManager
+ - QNetworkAddressEntry
+ - QNetworkCacheMetaData
+ - QNetworkConfiguration
+ - QNetworkConfigurationManager
+ - QNetworkCookie
+ - QNetworkCookieJar
+ - QNetworkDiskCache
+ - QNetworkInterface
+ - QNetworkProxy
+ - QNetworkProxyFactory
+ - QNetworkProxyQuery
+ - QNetworkReply
+ - QNetworkRequest
+ - QNetworkSession
+ - QObject
+ - QObjectCleanupHandler
+ - QPageSetupDialog
+ - QPaintDevice
+ - QPaintEngine
+ - QPaintEngineState
+ - QPainter
+ - QPainterPath
+ - QPainterPathStroker
+ - QPaintEvent
+ - QPair
+ - QPalette
+ - QPanGesture
+ - QParallelAnimationGroup
+ - QPauseAnimation
+ - QPen
+ - QPersistentModelIndex
+ - QPicture
+ - QPinchGesture
+ - QPixmap
+ - QPixmapCache
+ - QPlainTextDocumentLayout
+ - QPlainTextEdit
+ - QPlastiqueStyle
+ - QPlatformCursor
+ - QPlatformCursorImage
+ - QPlatformFontDatabase
+ - QPlatformWindowFormat
+ - QPluginLoader
+ - QPoint
+ - QPointer
+ - QPointF
+ - QPolygon
+ - QPolygonF
+ - QPrintDialog
+ - QPrintEngine
+ - QPrinter
+ - QPrinterInfo
+ - QPrintPreviewDialog
+ - QPrintPreviewWidget
+ - QProcess
+ - QProcessEnvironment
+ - QProgressBar
+ - QProgressDialog
+ - QPropertyAnimation
+ - QProxyScreen
+ - QProxyScreenCursor
+ - QProxyStyle
+ - QPushButton
+ - QQuaternion
+ - QQueue
+ - QRadialGradient
+ - QRadioButton
+ - QRasterPaintEngine
+ - QRawFont
+ - QReadLocker
+ - QReadWriteLock
+ - QRect
+ - QRectF
+ - QRegExp
+ - QRegExpValidator
+ - QRegion
+ - QResizeEvent
+ - QResource
+ - QRubberBand
+ - QRunnable
+ - QS60MainApplication
+ - QS60MainAppUi
+ - QS60MainDocument
+ - QS60Style
+ - QScopedArrayPointer
+ - QScopedPointer
+ - QScopedValueRollback
+ - QScreen
+ - QScreenCursor
+ - QScreenDriverFactory
+ - QScreenDriverPlugin
+ - QScriptable
+ - QScriptClass
+ - QScriptClassPropertyIterator
+ - QScriptContext
+ - QScriptContextInfo
+ - QScriptEngine
+ - QScriptEngineAgent
+ - QScriptEngineDebugger
+ - QScriptExtensionPlugin
+ - QScriptProgram
+ - QScriptString
+ - QScriptSyntaxCheckResult
+ - QScriptValue
+ - QScriptValueIterator
+ - QScrollArea
+ - QScrollBar
+ - QSemaphore
+ - QSequentialAnimationGroup
+ - QSessionManager
+ - QSet
+ - QSetIterator
+ - QSettings
+ - QSharedData
+ - QSharedDataPointer
+ - QSharedMemory
+ - QSharedPointer
+ - QShortcut
+ - QShortcutEvent
+ - QShowEvent
+ - QSignalMapper
+ - QSignalSpy
+ - QSignalTransition
+ - QSimpleXmlNodeModel
+ - QSize
+ - QSizeF
+ - QSizeGrip
+ - QSizePolicy
+ - QSlider
+ - QSocketNotifier
+ - QSortFilterProxyModel
+ - QSound
+ - QSourceLocation
+ - QSpacerItem
+ - QSpinBox
+ - QSplashScreen
+ - QSplitter
+ - QSplitterHandle
+ - QSqlDatabase
+ - QSqlDriver
+ - QSqlDriverCreator
+ - QSqlDriverCreatorBase
+ - QSqlDriverPlugin
+ - QSqlError
+ - QSqlField
+ - QSqlIndex
+ - QSqlQuery
+ - QSqlQueryModel
+ - QSqlRecord
+ - QSqlRelation
+ - QSqlRelationalDelegate
+ - QSqlRelationalTableModel
+ - QSqlResult
+ - QSqlTableModel
+ - QSslCertificate
+ - QSslCipher
+ - QSslConfiguration
+ - QSslError
+ - QSslKey
+ - QSslSocket
+ - QStack
+ - QStackedLayout
+ - QStackedWidget
+ - QStandardItem
+ - QStandardItemEditorCreator
+ - QStandardItemModel
+ - QState
+ - QStateMachine
+ - QStaticText
+ - QStatusBar
+ - QStatusTipEvent
+ - QString
+ - QStringList
+ - QStringListModel
+ - QStringMatcher
+ - QStringRef
+ - QStyle
+ - QStyledItemDelegate
+ - QStyleFactory
+ - QStyleHintReturn
+ - QStyleHintReturnMask
+ - QStyleHintReturnVariant
+ - QStyleOption
+ - QStyleOptionButton
+ - QStyleOptionComboBox
+ - QStyleOptionComplex
+ - QStyleOptionDockWidget
+ - QStyleOptionFocusRect
+ - QStyleOptionFrame
+ - QStyleOptionFrameV2
+ - QStyleOptionFrameV3
+ - QStyleOptionGraphicsItem
+ - QStyleOptionGroupBox
+ - QStyleOptionHeader
+ - QStyleOptionMenuItem
+ - QStyleOptionProgressBar
+ - QStyleOptionProgressBarV2
+ - QStyleOptionQ3DockWindow
+ - QStyleOptionQ3ListView
+ - QStyleOptionQ3ListViewItem
+ - QStyleOptionRubberBand
+ - QStyleOptionSizeGrip
+ - QStyleOptionSlider
+ - QStyleOptionSpinBox
+ - QStyleOptionTab
+ - QStyleOptionTabBarBase
+ - QStyleOptionTabBarBaseV2
+ - QStyleOptionTabV2
+ - QStyleOptionTabV3
+ - QStyleOptionTabWidgetFrame
+ - QStyleOptionTabWidgetFrameV2
+ - QStyleOptionTitleBar
+ - QStyleOptionToolBar
+ - QStyleOptionToolBox
+ - QStyleOptionToolBoxV2
+ - QStyleOptionToolButton
+ - QStyleOptionViewItem
+ - QStyleOptionViewItemV2
+ - QStyleOptionViewItemV3
+ - QStyleOptionViewItemV4
+ - QStylePainter
+ - QStylePlugin
+ - QSupportedWritingSystems
+ - QSvgGenerator
+ - QSvgRenderer
+ - QSvgWidget
+ - QSwipeGesture
+ - QSymbianEvent
+ - QSymbianGraphicsSystemHelper
+ - QSyntaxHighlighter
+ - QSysInfo
+ - QSystemLocale
+ - QSystemSemaphore
+ - QSystemTrayIcon
+ - QTabBar
+ - QTabletEvent
+ - QTableView
+ - QTableWidget
+ - QTableWidgetItem
+ - QTableWidgetSelectionRange
+ - QTabWidget
+ - QTapAndHoldGesture
+ - QTapGesture
+ - QTcpServer
+ - QTcpSocket
+ - QTemporaryFile
+ - QTestEventList
+ - QTextBlock
+ - QTextBlockFormat
+ - QTextBlockGroup
+ - QTextBlockUserData
+ - QTextBoundaryFinder
+ - QTextBrowser
+ - QTextCharFormat
+ - QTextCodec
+ - QTextCodecPlugin
+ - QTextCursor
+ - QTextDecoder
+ - QTextDocument
+ - QTextDocumentFragment
+ - QTextDocumentWriter
+ - QTextEdit
+ - QTextEncoder
+ - QTextFormat
+ - QTextFragment
+ - QTextFrame
+ - QTextFrameFormat
+ - QTextImageFormat
+ - QTextInlineObject
+ - QTextItem
+ - QTextLayout
+ - QTextLength
+ - QTextLine
+ - QTextList
+ - QTextListFormat
+ - QTextObject
+ - QTextObjectInterface
+ - QTextOption
+ - QTextStream
+ - QTextTable
+ - QTextTableCell
+ - QTextTableCellFormat
+ - QTextTableFormat
+ - QThread
+ - QThreadPool
+ - QThreadStorage
+ - QTileRules
+ - QTime
+ - QTimeEdit
+ - QTimeLine
+ - QTimer
+ - QTimerEvent
+ - QToolBar
+ - QToolBox
+ - QToolButton
+ - QToolTip
+ - QTouchEvent
+ - QTransform
+ - QTranslator
+ - QTreeView
+ - QTreeWidget
+ - QTreeWidgetItem
+ - QTreeWidgetItemIterator
+ - QUdpSocket
+ - QUiLoader
+ - QUndoCommand
+ - QUndoGroup
+ - QUndoStack
+ - QUndoView
+ - QUrl
+ - QUrlInfo
+ - QUuid
+ - QValidator
+ - QVariant
+ - QVariantAnimation
+ - QVarLengthArray
+ - QVBoxLayout
+ - QVector
+ - QVector2D
+ - QVector3D
+ - QVector4D
+ - QVectorIterator
+ - QVideoFrame
+ - QVideoSurfaceFormat
+ - QWaitCondition
+ - QWeakPointer
+ - QWebDatabase
+ - QWebElement
+ - QWebElementCollection
+ - QWebFrame
+ - QWebHistory
+ - QWebHistoryInterface
+ - QWebHistoryItem
+ - QWebHitTestResult
+ - QWebInspector
+ - QWebPage
+ - QWebPluginFactory
+ - QWebSecurityOrigin
+ - QWebSettings
+ - QWebView
+ - QWhatsThis
+ - QWhatsThisClickedEvent
+ - QWheelEvent
+ - QWidget
+ - QWidgetAction
+ - QWidgetItem
+ - QWindowsMime
+ - QWindowsStyle
+ - QWindowStateChangeEvent
+ - QWindowsVistaStyle
+ - QWindowsXPStyle
+ - QWizard
+ - QWizardPage
+ - QWriteLocker
+ - QWSCalibratedMouseHandler
+ - QWSClient
+ - QWSEmbedWidget
+ - QWSEvent
+ - QWSGLWindowSurface
+ - QWSInputMethod
+ - QWSKeyboardHandler
+ - QWSMouseHandler
+ - QWSPointerCalibrationData
+ - QWSScreenSaver
+ - QWSServer
+ - QWSWindow
+ - QX11EmbedContainer
+ - QX11EmbedWidget
+ - QX11Info
+ - QXmlAttributes
+ - QXmlContentHandler
+ - QXmlDeclHandler
+ - QXmlDefaultHandler
+ - QXmlDTDHandler
+ - QXmlEntityResolver
+ - QXmlErrorHandler
+ - QXmlFormatter
+ - QXmlInputSource
+ - QXmlItem
+ - QXmlLexicalHandler
+ - QXmlLocator
+ - QXmlName
+ - QXmlNamePool
+ - QXmlNamespaceSupport
+ - QXmlNodeModelIndex
+ - QXmlParseException
+ - QXmlQuery
+ - QXmlReader
+ - QXmlResultItems
+ - QXmlSchema
+ - QXmlSchemaValidator
+ - QXmlSerializer
+ - QXmlSimpleReader
+ - QXmlStreamAttribute
+ - QXmlStreamAttributes
+ - QXmlStreamEntityDeclaration
+ - QXmlStreamEntityResolver
+ - QXmlStreamNamespaceDeclaration
+ - QXmlStreamNotationDeclaration
+ - QXmlStreamReader
+ - QXmlStreamWriter
+
+ - Qt
+ - QTest
+ - QtConcurrent
+ - Phonon
+
+ - QFileInfoList
+ - QMutableStringListIterator
+ - QTouchEventSequence
+ - QStringListIterator
+ - QStringBuilder
+
+ - QWidgetList
+
+
+
+
+ - connect
+ - disconnect
+ - staticMetaObject
+ - tr
+ - trUtf8
+
+ - qFindChildren
+ - qobject_cast
+
+ - qAbs
+ - qBound
+ - qCritical
+ - qDebug
+ - qFatal
+ - qFuzzyCompare
+ - qFuzzyCompare
+ - qInstallMsgHandler
+ - qMacVersion
+ - qMakePair
+ - qMax
+ - qMin
+ - qPrintable
+ - qRound64
+ - qRound
+ - qVersion
+ - qWarning
+ - q_check_ptr
+ - qgetenv
+ - qrand
+ - qsrand
+ - qtTrId
+ - qt_set_sequence_auto_mnemonic
+ - qt_symbian_exception2Error
+ - qt_symbian_exception2LeaveL
+ - qt_symbian_throwIfError
+
+ - qBinaryFind
+ - qCopy
+ - qCopyBackward
+ - qCount
+ - qDeleteAll
+ - qEqual
+ - qFill
+ - qFind
+ - qGreater
+ - qLess
+ - qLowerBound
+ - qSort
+ - qStableSort
+ - qSwap
+ - qUpperBound
+
+ - qChecksum
+ - qCompress
+ - qUncompress
+ - qsnprintf
+ - qstrcmp
+ - qstrcpy
+ - qstrdup
+ - qstricmp
+ - qstrlen
+ - qstrncmp
+ - qstrncpy
+ - qstrnicmp
+ - qstrnlen
+ - qvsnprintf
+
+ - qHash
+
+ - qMetaTypeId
+ - qRegisterMetaType
+ - qRegisterMetaType
+ - qRegisterMetaTypeStreamOperators
+
+ - qAlpha
+ - qBlue
+ - qGray
+ - qGray
+ - qGreen
+ - qRed
+ - qRgb
+ - qRgba
+
+ - qAddPostRoutine
+
+ - qmlInfo
+ - qmlRegisterInterface
+ - qmlRegisterType
+ - qmlRegisterType
+ - qmlRegisterTypeNotAvailable
+ - qmlRegisterUncreatableType
+
+ - qWebKitMajorVersion
+ - qWebKitMinorVersion
+ - qWebKitVersion
+
+ - qt_extension
+
+ - qDBusRegisterMetaType
+ - qdbus_cast
+
+
+
+
+ - QtMsgHandler
+ - QtMsgType
+ - QObjectList
+ - qint8
+ - qint16
+ - qint32
+ - qint64
+ - qlonglong
+ - qptrdiff
+ - qreal
+ - quint8
+ - quint16
+ - quint32
+ - quint64
+ - quintptr
+ - qulonglong
+ - uchar
+ - uint
+ - ulong
+ - ushort
+
+ - Q_PID
+
+ - QRgb
+
+ - qScriptConnect
+ - qScriptDisconnect
+ - qScriptRegisterMetaType
+ - qScriptRegisterSequenceMetaType
+ - qScriptValueFromSequence
+ - qScriptValueToSequence
+
+ - WId
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/crk.xml b/data/syntax/crk.xml
new file mode 100644
index 0000000..ab7f145
--- /dev/null
+++ b/data/syntax/crk.xml
@@ -0,0 +1,158 @@
+
+
+
+
+ - break
+ - catch
+ - class
+ - continue
+ - else
+ - false
+ - for
+ - if
+ - in
+ - is
+ - null
+ - oper
+ - return
+ - this
+ - true
+ - try
+ - typeof
+ - while
+
+
+ - bool
+ - byte
+ - int16
+ - int32
+ - int64
+ - uint16
+ - uint32
+ - uint64
+ - float32
+ - float64
+ - int
+ - uint
+ - intz
+ - uintz
+ - float
+ - void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/cs.xml b/data/syntax/cs.xml
new file mode 100644
index 0000000..c6cec72
--- /dev/null
+++ b/data/syntax/cs.xml
@@ -0,0 +1,166 @@
+
+
+
+
+ - abstract
+ - as
+ - base
+ - break
+ - case
+ - catch
+ - class
+ - checked
+ - continue
+ - default
+ - delegate
+ - do
+ - else
+ - enum
+ - event
+ - explicit
+ - extern
+ - false
+ - for
+ - foreach
+ - finally
+ - fixed
+ - goto
+ - if
+ - implicit
+ - in
+ - interface
+ - internal
+ - is
+ - lock
+ - namespace
+ - new
+ - null
+ - operator
+ - out
+ - override
+ - params
+ - private
+ - protected
+ - public
+ - readonly
+ - ref
+ - return
+ - sealed
+ - sizeof
+ - stackalloc
+ - static
+ - struct
+ - switch
+ - this
+ - throw
+ - true
+ - try
+ - typeof
+ - unchecked
+ - unsafe
+ - using
+ - virtual
+ - while
+ - #if
+ - #else
+ - #elif
+ - #endif
+ - #define
+ - #undef
+ - #warning
+ - #error
+ - #line
+
+
+ - bool
+ - byte
+ - char
+ - const
+ - decimal
+ - double
+ - float
+ - int
+ - long
+ - object
+ - uint
+ - ushort
+ - ulong
+ - sbyte
+ - short
+ - string
+ - void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/css.xml b/data/syntax/css.xml
new file mode 100644
index 0000000..afb1842
--- /dev/null
+++ b/data/syntax/css.xml
@@ -0,0 +1,1119 @@
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+ - azimuth
+ - align-content
+ - align-items
+ - align-self
+ - alignment-baseline
+ - all
+ - animation-name
+ - animation-duration
+ - animation-iteration-count
+ - animation-direction
+ - animation-delay
+ - animation-play-state
+ - animation-fill-mode
+ - animation-timing-function
+ - backface-visibility
+ - background
+ - background-attachment
+ - background-blend-mode
+ - background-break
+ - background-clip
+ - background-color
+ - background-image
+ - background-origin
+ - background-position
+ - background-repeat
+ - background-size
+ - baseline-shift
+ - bookmark-label
+ - bookmark-level
+ - bookmark-level
+ - border
+ - border-bottom
+ - border-bottom-color
+ - border-bottom-image
+ - border-bottom-style
+ - border-bottom-width
+ - border-bottom-left-image
+ - border-bottom-left-radius
+ - border-bottom-right-image
+ - border-bottom-right-radius
+ - border-boundary
+ - border-collapse
+ - border-color
+ - border-corner-image
+ - border-image
+ - border-image-outset
+ - border-image-repeat
+ - border-image-slice
+ - border-image-source
+ - border-image-width
+ - border-left
+ - border-left-color
+ - border-left-image
+ - border-left-style
+ - border-left-width
+ - border-radius
+ - border-right
+ - border-right-color
+ - border-right-image
+ - border-right-style
+ - border-right-width
+ - border-spacing
+ - border-style
+ - border-top
+ - border-top-color
+ - border-top-image
+ - border-top-style
+ - border-top-width
+ - border-top-left-image
+ - border-top-left-radius
+ - border-top-right-image
+ - border-top-right-radius
+ - border-width
+ - bottom
+ - box-align
+ - box-decoration-break
+ - box-direction
+ - box-flex
+ - box-shadow
+ - box-sizing
+ - box-snap
+ - box-suppress
+ - break-after
+ - break-before
+ - break-inside
+ - caret-color
+ - caption-side
+ - chains
+ - clear
+ - clip
+ - clip-path
+ - clip-rule
+ - color
+ - color-interpolation-filters
+ - column-count
+ - column-fill
+ - column-gap
+ - column-rule
+ - column-rule-color
+ - column-rule-style
+ - column-rule-width
+ - column-span
+ - column-width
+ - columns
+ - content
+ - counter-increment
+ - counter-reset
+ - counter-set
+ - cue
+ - cue-after
+ - cue-before
+ - cursor
+ - direction
+ - display
+ - dominant-baseline
+ - elevation
+ - empty-cells
+ - filter
+ - flex
+ - flex-basis
+ - flex-direction
+ - flex-flow
+ - flex-grow
+ - flex-shrink
+ - flex-wrap
+ - float
+ - flood-color
+ - flood-opacity
+ - flow
+ - flow-from
+ - flow-into
+ - font
+ - font-family
+ - font-size
+ - font-size-adjust
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - font-stretch
+ - font-feature-settings
+ - font-kerning
+ - font-language-override
+ - font-synthesis
+ - font-variant-alternates
+ - font-variant-caps
+ - font-variant-east-asian
+ - font-variant-ligatures
+ - font-variant-numeric
+ - font-variant-position
+ - footnote-display
+ - footnote-policy
+ - glyph-orientation-vertical
+ - grid
+ - grid-area
+ - grid-auto-columns
+ - grid-auto-flow
+ - grid-auto-rows
+ - grid-column
+ - grid-column-end
+ - grid-column-gap
+ - grid-column-start
+ - grid-gap
+ - grid-row
+ - grid-row-end
+ - grid-row-gap
+ - grid-row-start
+ - grid-template
+ - grid-template-areas
+ - grid-template-columns
+ - grid-template-rows
+ - hanging-punctuation
+ - height
+ - hyphens
+ - image-orientation
+ - image-rendering
+ - image-resolution
+ - initial-letter
+ - initial-letter-align
+ - initial-letter-wrap
+ - isolation
+ - justify-content
+ - justify-items
+ - justify-self
+ - left
+ - letter-spacing
+ - lighting-color
+ - linear-gradient
+ - line-grid
+ - line-height
+ - line-snap
+ - list-style
+ - list-style-image
+ - list-style-keyword
+ - list-style-position
+ - list-style-type
+ - margin
+ - margin-bottom
+ - margin-left
+ - margin-right
+ - margin-top
+ - marker-offset
+ - marker-side
+ - marquee-direction
+ - marquee-loop
+ - marquee-speed
+ - marquee-style
+ - mask
+ - mask-border
+ - mask-border-mode
+ - mask-border-outset
+ - mask-border-repeat
+ - mask-border-slice
+ - mask-border-source
+ - mask-border-width
+ - mask-clip
+ - mask-composite
+ - mask-image
+ - mask-mode
+ - mask-origin
+ - mask-position
+ - mask-repeat
+ - mask-size
+ - mask-type
+ - max-height
+ - max-lines
+ - max-width
+ - min-height
+ - min-width
+ - mix-blend-mode
+ - nav-down
+ - nav-left
+ - nav-right
+ - nav-up
+ - object-fit
+ - object-position
+ - offset-after
+ - offset-before
+ - offset-end
+ - offset-start
+ - opacity
+ - order
+ - orphans
+ - outline
+ - outline-color
+ - outline-offset
+ - outline-style
+ - outline-width
+ - overflow
+ - overflow-style
+ - overflow-wrap
+ - overflow-x
+ - overflow-y
+ - padding
+ - padding-bottom
+ - padding-left
+ - padding-right
+ - padding-top
+ - page
+ - page-break-after
+ - page-break-before
+ - page-break-inside
+ - pause
+ - pause-after
+ - pause-before
+ - perspective
+ - perspective-origin
+ - pitch
+ - pitch-range
+ - play-during
+ - pointer-events
+ - polar-anchor
+ - polar-angle
+ - polar-distance
+ - polar-origin
+ - position
+ - presentation-level
+ - quotes
+ - resize
+ - rest
+ - rest-after
+ - rest-before
+ - richness
+ - right
+ - rotation
+ - rotation-point
+ - ruby-align
+ - ruby-merge
+ - ruby-position
+ - running
+ - scroll-behavior
+ - scroll-snap-align
+ - scroll-snap-margin
+ - scroll-snap-margin-block
+ - scroll-snap-margin-block-end
+ - scroll-snap-margin-block-start
+ - scroll-snap-margin-bottom
+ - scroll-snap-margin-inline
+ - scroll-snap-margin-inline-end
+ - scroll-snap-margin-inline-start
+ - scroll-snap-margin-left
+ - scroll-snap-margin-right
+ - scroll-snap-margin-top
+ - scroll-snap-padding
+ - scroll-snap-padding-block
+ - scroll-snap-padding-block-end
+ - scroll-snap-padding-block-start
+ - scroll-snap-padding-bottom
+ - scroll-snap-padding-inline
+ - scroll-snap-padding-inline-end
+ - scroll-snap-padding-inline-start
+ - scroll-snap-padding-left
+ - scroll-snap-padding-right
+ - scroll-snap-padding-top
+ - scroll-snap-stop
+ - scroll-snap-type
+ - shape-image-threshold
+ - shape-inside
+ - shape-margin
+ - shape-outside
+ - size
+ - speak
+ - speak-as
+ - speak-header
+ - speak-numeral
+ - speak-punctuation
+ - speech-rate
+ - stress
+ - string-set
+ - tab-size
+ - table-layout
+ - text-align
+ - text-align-last
+ - text-combine-upright
+ - text-decoration
+ - text-decoration-color
+ - text-decoration-line
+ - text-decoration-skip
+ - text-decoration-style
+ - text-emphasis
+ - text-emphasis-color
+ - text-emphasis-position
+ - text-emphasis-style
+ - text-indent
+ - text-justify
+ - text-orientation
+ - text-overflow
+ - text-shadow
+ - text-transform
+ - text-underline-position
+ - text-wrap
+ - top
+ - transform
+ - transform-origin
+ - transform-style
+ - transition
+ - transition-delay
+ - transition-property
+ - transition-duration
+ - transition-timing-function
+ - unicode-bidi
+ - vertical-align
+ - visibility
+ - voice-balance
+ - voice-duration
+ - voice-family
+ - voice-pitch
+ - voice-range
+ - voice-rate
+ - voice-stress
+ - voice-volume
+ - volume
+ - white-space
+ - widows
+ - width
+ - will-change
+ - word-break
+ - word-spacing
+ - word-wrap
+ - wrap-flow
+ - wrap-through
+ - writing-mode
+ - z-index
+
+
+ - -moz-animation-name
+ - -moz-animation-duration
+ - -moz-animation-iteration
+ - -moz-animation-direction
+ - -moz-animation-delay
+ - -moz-animation-play-state
+ - -moz-animation-fill-mode
+ - -moz-background-size
+ - -moz-border-image
+ - -moz-border-bottom-colors
+ - -moz-border-left-colors
+ - -moz-border-radius
+ - -moz-border-radius-topleft
+ - -moz-border-radius-topright
+ - -moz-border-radius-bottomleft
+ - -moz-border-radius-bottomright
+ - -moz-border-right-colors
+ - -moz-border-top-colors
+ - -moz-box
+ - -moz-box-flex
+ - -moz-box-shadow
+ - -moz-box-sizing
+ - -moz-column-count
+ - -moz-column-gap
+ - -moz-hyphens
+ - -moz-linear-gradient
+ - -moz-opacity
+ - -moz-outline-style
+ - -moz-perspective
+ - -moz-radial-gradient
+ - -moz-resize
+ - -moz-transform
+ - -moz-transform-origin
+ - -moz-transform-style
+ - -moz-transition
+ - -moz-transition-property
+ - -moz-transition-duration
+
+
+ - -o-background-size
+ - -o-linear-gradient
+ - -o-text-overflow
+ - -o-transition
+ - -o-transform-origin
+
+
+ - konq_bgpos_x
+ - konq_bgpos_y
+ - -khtml-background-size
+ - -khtml-border-top-left-radius
+ - -khtml-border-top-right-radius
+ - -khtml-border-bottom-left-radius
+ - -khtml-border-bottom-right-radius
+ - -khtml-border-radius
+ - -khtml-box-shadow
+ - -khtml-opacity
+
+
+ - -webkit-appearance
+ - -webkit-animation-name
+ - -webkit-animation-duration
+ - -webkit-animation-iteration
+ - -webkit-animation-direction
+ - -webkit-animation-delay
+ - -webkit-animation-play-state
+ - -webkit-animation-fill-mode
+ - -webkit-background-size
+ - -webkit-border-image
+ - -webkit-border-bottom-colors
+ - -webkit-border-left-colors
+ - -webkit-border-radius
+ - -webkit-border-right-colors
+ - -webkit-border-top-colors
+ - -webkit-border-top-left-radius
+ - -webkit-border-top-right-radius
+ - -webkit-border-bottom-left-radius
+ - -webkit-border-bottom-right-radius
+ - -webkit-border-radius-bottomleft
+ - -webkit-border-radius-bottomright
+ - -webkit-box-flex
+ - -webkit-box-reflect
+ - -webkit-box-shadow
+ - -webkit-box-sizing
+ - -webkit-column-count
+ - -webkit-column-gap
+ - -webkit-hyphens
+ - -webkit-linear-gradient
+ - -webkit-gradient
+ - -webkit-perspective
+ - -webkit-text-fill-color
+ - -webkit-text-stroke-color
+ - -webkit-text-stroke-width
+ - -webkit-text-size-adjust
+ - -webkit-transform
+ - -webkit-transform-origin
+ - -webkit-transform-style
+ - -webkit-transition
+ - -webkit-transition-property
+ - -webkit-transition-duration
+
+
+ - zoom
+ - -ms-animation-name
+ - -ms-animation-duration
+ - -ms-animation-iteration
+ - -ms-animation-direction
+ - -ms-animation-delay
+ - -ms-animation-play-state
+ - -ms-animation-fill-mode
+ - -ms-box-sizing
+ - -ms-filter
+ - -ms-interpolation-mode
+ - -ms-linear-gradient
+ - -ms-text-size-adjust
+ - -ms-transform
+ - -ms-transition
+
+
+ - font-family
+ - font-size
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - unicode-range
+ - units-per-em
+ - src
+ - panose-1
+ - stemv
+ - stemh
+ - slope
+ - cap-height
+ - x-height
+ - ascent
+ - descent
+ - widths
+ - bbox
+ - definition-src
+ - baseline
+ - centerline
+ - mathline
+ - topline
+
+
+
+ - inherit
+ - none
+ - hidden
+ - dotted
+ - dashed
+ - solid
+ - double
+ - groove
+ - ridge
+ - inset
+ - outset
+ - xx-small
+ - x-small
+ - small
+ - medium
+ - large
+ - x-large
+ - xx-large
+ - smaller
+ - larger
+ - italic
+ - oblique
+ - small-caps
+ - normal
+ - bold
+ - bolder
+ - lighter
+ - light
+ - 100
+ - 200
+ - 300
+ - 400
+ - 500
+ - 600
+ - 700
+ - 800
+ - 900
+ - transparent
+ - repeat
+ - repeat-x
+ - repeat-y
+ - no-repeat
+ - baseline
+ - sub
+ - super
+ - top
+ - text-top
+ - middle
+ - bottom
+ - text-bottom
+ - left
+ - right
+ - center
+ - justify
+ - konq-center
+ - disc
+ - circle
+ - square
+ - box
+ - decimal
+ - decimal-leading-zero
+ - lower-roman
+ - upper-roman
+ - lower-greek
+ - lower-alpha
+ - lower-latin
+ - upper-alpha
+ - upper-latin
+ - hebrew
+ - armenian
+ - georgian
+ - cjk-ideographic
+ - hiragana
+ - katakana
+ - hiragana-iroha
+ - katakana-iroha
+ - inline
+ - inline-block
+ - block
+ - list-item
+ - run-in
+ - compact
+ - marker
+ - table
+ - inline-table
+ - table-row-group
+ - table-header-group
+ - table-footer-group
+ - table-row
+ - table-column-group
+ - table-column
+ - table-cell
+ - table-caption
+ - auto
+ - crosshair
+ - default
+ - pointer
+ - move
+ - e-resize
+ - ne-resize
+ - nw-resize
+ - n-resize
+ - se-resize
+ - sw-resize
+ - s-resize
+ - w-resize
+ - text
+ - wait
+ - help
+ - above
+ - absolute
+ - always
+ - avoid
+ - below
+ - bidi-override
+ - blink
+ - both
+ - capitalize
+ - caption
+ - clip
+ - close-quote
+ - collapse
+ - condensed
+ - crop
+ - cross
+ - ellipsis
+ - ellipsis-word
+ - embed
+ - expanded
+ - extra-condensed
+ - extra-expanded
+ - fixed
+ - hand
+ - hide
+ - higher
+ - icon
+ - inside
+ - invert
+ - landscape
+ - level
+ - line-through
+ - loud
+ - lower
+ - lowercase
+ - ltr
+ - menu
+ - message-box
+ - mix
+ - narrower
+ - no-close-quote
+ - no-open-quote
+ - nowrap
+ - open-quote
+ - outside
+ - overline
+ - portrait
+ - pre
+ - pre-line
+ - pre-wrap
+ - relative
+ - rtl
+ - scroll
+ - semi-condensed
+ - semi-expanded
+ - separate
+ - show
+ - small-caption
+ - static
+ - static-position
+ - status-bar
+ - thick
+ - thin
+ - ultra-condensed
+ - ultra-expanded
+ - underline
+ - uppercase
+ - visible
+ - wider
+ - break
+ - serif
+ - sans-serif
+ - cursive
+ - fantasy
+ - monospace
+ - border-box
+ - content-box
+ - -epub-hyphens
+
+
+
+ - aqua
+ - black
+ - blue
+ - cyan
+ - fuchsia
+ - gray
+ - green
+ - lime
+ - maroon
+ - navy
+ - olive
+ - purple
+ - red
+ - silver
+ - teal
+ - white
+ - yellow
+ - ActiveBorder
+ - ActiveCaption
+ - AppWorkspace
+ - Background
+ - ButtonFace
+ - ButtonHighlight
+ - ButtonShadow
+ - ButtonText
+ - CaptionText
+ - GrayText
+ - Highlight
+ - HighlightText
+ - InactiveBorder
+ - InactiveCaption
+ - InactiveCaptionText
+ - InfoBackground
+ - InfoText
+ - Menu
+ - MenuText
+ - Scrollbar
+ - ThreeDDarkShadow
+ - ThreeDFace
+ - ThreeDHighlight
+ - ThreeDLightShadow
+ - ThreeDShadow
+ - Window
+ - WindowFrame
+ - WindowText
+
+
+
+ - url
+ - attr
+ - rect
+ - rgb
+ - rgba
+ - hsl
+ - hsla
+ - counter
+ - counters
+
+
+ - local
+ - format
+
+
+ - expression
+
+
+
+
+ - all
+ - aural
+ - braille
+ - embossed
+ - handheld
+ - print
+ - projection
+ - screen
+ - speech
+ - tty
+ - tv
+
+
+
+ - not
+ - only
+
+
+
+ - width
+ - min-width
+ - max-width
+ - height
+ - min-height
+ - max-height
+ - device-width
+ - min-device-width
+ - max-device-width
+ - device-height
+ - min-device-height
+ - max-device-height
+ - orientation
+ - aspect-ratio
+ - min-aspect-ratio
+ - max-aspect-ratio
+ - device-aspect-ratio
+ - min-device-aspect-ratio
+ - max-device-aspect-ratio
+ - color
+ - min-color
+ - max-color
+ - color-index
+ - min-color-index
+ - max-color-index
+ - monochrome
+ - min-monochrome
+ - max-monochrome
+ - resolution
+ - min-resolution
+ - max-resolution
+ - scan
+ - grid
+
+
+
+ - hover
+ - link
+ - visited
+ - active
+ - focus
+ - first-child
+ - last-child
+ - only-child
+ - first-of-type
+ - last-of-type
+ - only-of-type
+ - first-letter
+ - first-line
+ - before
+ - after
+ - selection
+ - root
+ - empty
+ - target
+ - enabled
+ - disabled
+ - checked
+ - indeterminate
+ - nth-child
+ - nth-last-child
+ - nth-of-type
+ - nth-last-of-type
+ - not
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/cubescript.xml b/data/syntax/cubescript.xml
new file mode 100644
index 0000000..8abacf5
--- /dev/null
+++ b/data/syntax/cubescript.xml
@@ -0,0 +1,456 @@
+
+
+
+
+
+
+
+ - ?
+ - alias
+ - at
+ - case
+ - casef
+ - cases
+ - clearconsole
+ - clearsleep
+ - complete
+ - concat
+ - concatword
+ - cond
+ - conskip
+ - do
+ - echo
+ - error
+ - escape
+ - exec
+ - format
+ - getalias
+ - getfvarmin
+ - getfvarmax
+ - getvarmin
+ - getvarmax
+ - history
+ - if
+ - indexof
+ - inputcommand
+ - keymap
+ - listcomplete
+ - listdel
+ - listfind
+ - listlen
+ - listsplice
+ - local
+ - loop
+ - loopconcat
+ - loopconcatword
+ - loopfiles
+ - looplist
+ - loopwhile
+ - miniconskip
+ - nodebug
+ - onrelease
+ - prettylist
+ - push
+ - resetvar
+ - result
+ - rnd
+ - saycommand
+ - searchbinds
+ - searcheditbinds
+ - searchspecbinds
+ - sleep
+ - strcmp
+ - strlen
+ - strreplace
+ - strstr
+ - sublist
+ - substr
+ - tabify
+ - toggleconsole
+ - unescape
+ - while
+ - writecfg
+
+
+ - bind
+ - editbind
+ - specbind
+ - getbind
+ - geteditbind
+ - getspecbind
+
+
+
+ - +
+ - *
+ - -
+ - +f
+ - *f
+ - -f
+ - =
+ - !=
+ - >
+ - <
+ - >=
+ - <=
+ - =f
+ - !=f
+ - >f
+ - <f
+ - >=f
+ - <=f
+ - ^
+ - !
+ - &
+ - |
+ - ~
+ - ^~
+ - &~
+ - |~
+ - <<
+ - >>
+ - &&
+ - ||
+ - abs
+ - absf
+ - div
+ - mod
+ - divf
+ - modf
+ - sin
+ - cos
+ - tan
+ - asin
+ - acos
+ - atan
+ - sqrt
+ - pow
+ - loge
+ - log2
+ - log10
+ - exp
+ - min
+ - max
+ - minf
+ - maxf
+ - =s
+ - !=s
+ - <s
+ - >s
+ - <=s
+ - >=s
+
+
+
+ - MOUSELEFT
+ - MOUSEMIDDLE
+ - MOUSERIGHT
+ - MOUSEWHEELUP
+ - MOUSEWHEELDOWN
+ - MOUSEX1
+ - MOUSEX2
+
+
+ - MOUSE1
+ - MOUSE2
+ - MOUSE3
+ - MOUSE4
+ - MOUSE5
+
+
+ - BACKSPACE
+ - TAB
+ - CLEAR
+ - RETURN
+ - PAUSE
+ - ESCAPE
+ - SPACE
+ - EXCLAIM
+ - QUOTEDBL
+ - HASH
+ - DOLLAR
+ - AMPERSAND
+ - QUOTE
+ - LEFTPAREN
+ - RIGHTPAREN
+ - ASTERISK
+ - PLUS
+ - COMMA
+ - MINUS
+ - PERIOD
+ - SLASH
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - COLON
+ - SEMICOLON
+ - LESS
+ - EQUALS
+ - GREATER
+ - QUESTION
+ - AT
+ - LEFTBRACKET
+ - BACKSLASH
+ - RIGHTBRACKET
+ - CARET
+ - UNDERSCORE
+ - BACKQUOTE
+ - A
+ - 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
+ - DELETE
+ - KP0
+ - KP1
+ - KP2
+ - KP3
+ - KP4
+ - KP5
+ - KP6
+ - KP7
+ - KP8
+ - KP9
+ - KP_PERIOD
+ - KP_DIVIDE
+ - KP_MULTIPLY
+ - KP_MINUS
+ - KP_PLUS
+ - KP_ENTER
+ - KP_EQUALS
+ - UP
+ - DOWN
+ - RIGHT
+ - LEFT
+ - INSERT
+ - HOME
+ - END
+ - PAGEUP
+ - PAGEDOWN
+ - F1
+ - F2
+ - F3
+ - F4
+ - F5
+ - F6
+ - F7
+ - F8
+ - F9
+ - F10
+ - F11
+ - F12
+ - F13
+ - F14
+ - F15
+ - NUMLOCK
+ - CAPSLOCK
+ - SCROLLOCK
+ - RSHIFT
+ - LSHIFT
+ - RCTRL
+ - LCTRL
+ - RALT
+ - LALT
+ - RMETA
+ - LMETA
+ - LSUPER
+ - RSUPER
+ - MODE
+ - COMPOSE
+ - HELP
+ - PRINT
+ - SYSREQ
+ - BREAK
+ - MENU
+
+
+
+ - commandbuf
+ - editing
+ - mainmenu
+ - numargs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/cue.xml b/data/syntax/cue.xml
new file mode 100644
index 0000000..c50de0f
--- /dev/null
+++ b/data/syntax/cue.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+ - CATALOG
+ - CDTEXTFILE
+ - FILE
+ - FLAGS
+ - INDEX
+ - ISRC
+ - PERFORMER
+ - PREGAP
+ - POSTGAP
+ - REM
+ - SONGWRITER
+ - TITLE
+ - TRACK
+
+
+ - AIFF
+ - WAVE
+ - MP3
+ - BINARY
+ - MOTOTOLA
+
+
+ - AUDIO
+ - CDG
+ - CDI
+ - MODE1
+ - MODE2
+ - RAW
+
+
+ - 4CH
+ - DCP
+ - PRE
+ - SCMS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/curry.xml b/data/syntax/curry.xml
new file mode 100644
index 0000000..092cf5a
--- /dev/null
+++ b/data/syntax/curry.xml
@@ -0,0 +1,364 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+ - case
+ - data
+ - do
+ - else
+ - external
+ - fcase
+ - free
+ - if
+
+ - in
+ - infix
+ - infixl
+ - infixr
+ - let
+ - module
+ - of
+ - then
+ - type
+ - where
+
+
+ - and
+ - all
+ - any
+ - appendFile
+ - best
+ - break
+ - browse
+ - browseList
+ - chr
+ - concat
+ - concatMap
+ - const
+ - curry
+ - div
+ - done
+ - doSolve
+ - drop
+ - dropWhile
+ - either
+ - elem
+ - ensureNotFree
+ - ensureSpine
+ - enumFrom
+ - enumFromThen
+ - enumFromTo
+ - enumFromThenTo
+ - error
+ - failed
+ - filter
+ - findall
+ - flip
+ - foldl
+ - foldl1
+ - foldr
+ - foldr1
+ - fst
+ - getChar
+ - getLine
+ - id
+ - if_then_else
+ - iterate
+ - head
+ - length
+ - lines
+ - lookup
+ - map
+ - mapIO
+ - mapIO_
+ - max
+ - maybe
+ - min
+ - mod
+ - negate
+ - not
+ - notElem
+ - null
+ - once
+ - or
+ - ord
+ - otherwise
+ - print
+ - putChar
+ - putStr
+ - putStrLn
+ - readFile
+ - repeat
+ - replicate
+ - return
+ - reverse
+ - seq
+ - sequenceIO
+ - sequenceIO_
+ - show
+ - snd
+ - solveAll
+ - span
+ - splitAt
+ - success
+ - tail
+ - take
+ - takeWhile
+ - try
+ - uncurry
+ - unknown
+ - unlines
+ - unpack
+ - until
+ - unwords
+ - unzip
+ - unzip3
+ - writeFile
+ - words
+ - zip
+ - zip3
+ - zipWith
+ - zipWith3
+
+
+ - Bool
+ - Char
+ - Either
+ - Float
+ - Int
+ - IO
+ - Maybe
+ - Ordering
+ - String
+ - Success
+
+
+ - False
+ - True
+ - Left
+ - Right
+ - Just
+ - Nothing
+ - EQ
+ - LT
+ - GT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/d.xml b/data/syntax/d.xml
new file mode 100644
index 0000000..a0518b5
--- /dev/null
+++ b/data/syntax/d.xml
@@ -0,0 +1,819 @@
+
+
+
+
+
+
+
+
+
+
+ - asm
+ - body
+ - break
+ - case
+ - catch
+ - continue
+ - default
+ - do
+ - else
+ - finally
+ - for
+ - foreach
+ - foreach_reverse
+ - goto
+ - if
+ - mixin
+ - return
+ - switch
+ - throw
+ - try
+ - while
+ - with
+
+
+ - synchronized
+
+
+
+
+
+ - abstract
+ - align
+ - auto
+ - const
+ - export
+ - final
+ - immutable
+ - inout
+ - invariant
+ - lazy
+ - nothrow
+ - override
+ - package
+ - private
+ - protected
+ - public
+ - pure
+ - ref
+ - static
+
+
+
+ - out
+ - scope
+
+
+
+
+ - false
+ - null
+ - super
+ - this
+ - true
+ - typeid
+
+
+ - assert
+ - cast
+ - is
+ - new
+ - delete
+ - in
+
+
+ - delegate
+ - function
+
+
+
+ - module
+ - import
+
+
+
+ - alias
+ - enum
+ - typedef
+ - class
+ - interface
+ - struct
+ - union
+
+
+
+ - typeof
+
+ - void
+ - bool
+ - byte
+ - ubyte
+ - short
+ - ushort
+ - int
+ - uint
+ - long
+ - ulong
+ - cent
+ - ucent
+ - float
+ - double
+ - real
+ - ireal
+ - ifloat
+ - idouble
+ - creal
+ - cfloat
+ - cdouble
+ - char
+ - wchar
+ - dchar
+
+
+
+ - macro
+ - template
+
+
+
+ - init
+ - sizeof
+ - alignof
+ - mangleof
+ - stringof
+ - tupleof
+ - offsetof
+ - max
+ - min
+ - infinity
+ - nan
+ - dig
+ - epsilon
+ - mant_dig
+ - max_10_exp
+ - max_exp
+ - min_10_exp
+ - min_exp
+ - re
+ - im
+ - length
+ - ptr
+ - dup
+ - idup
+ - reverse
+ - sort
+ - keys
+ - values
+ - rehash
+
+
+
+
+ - size_t
+ - ptrdiff_t
+ - hash_t
+ - Error
+ - Exception
+ - Object
+ - TypeInfo
+ - ClassInfo
+ - ModuleInfo
+ - Interface
+ - OffsetTypeInfo
+ - TypeInfo_Typedef
+ - TypeInfo_Enum
+ - TypeInfo_Pointer
+ - TypeInfo_Array
+ - TypeInfo_StaticArray
+ - TypeInfo_AssociativeArray
+ - TypeInfo_Function
+ - TypeInfo_Delegate
+ - TypeInfo_Class
+ - TypeInfo_Interface
+ - TypeInfo_Struct
+ - TypeInfo_Tuple
+
+
+ - string
+ - wstring
+ - dstring
+ - bit
+ - TypeInfo_Const
+ - TypeInfo_Invariant
+
+
+
+ - extern
+
+
+ - C
+
+ - D
+ - Windows
+ - Pascal
+ - System
+
+
+
+ - msg
+ - lib
+
+
+
+ - exit
+ - success
+ - failure
+
+
+
+ - DigitalMars
+ - X86
+ - X86_64
+ - Windows
+ - Win32
+ - Win64
+ - linux
+ - LittleEndian
+ - BigEndian
+ - D_Coverage
+ - D_InlineAsm_X86
+ - unittest
+ - D_Version2
+ - none
+ - all
+
+
+
+ - __FILE__
+ - __LINE__
+ - __DATE__
+ - __TIME__
+ - __TIMESTAMP__
+ - __VENDOR__
+ - __VERSION__
+ - __EOF__
+
+
+
+ - debug
+ - unittest
+
+
+
+ - pragma
+
+
+
+ - version
+
+
+
+ - deprecated
+ - volatile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/debianchangelog.xml b/data/syntax/debianchangelog.xml
new file mode 100644
index 0000000..85c1e91
--- /dev/null
+++ b/data/syntax/debianchangelog.xml
@@ -0,0 +1,218 @@
+
+
+
+
+
+ - urgency
+
+
+
+ - oldstable
+ - oldstable-security
+ - oldstable-proposed-updates
+ - stable
+ - stable-security
+ - stable-proposed-updates
+ - testing
+ - testing-security
+ - testing-proposed-updates
+ - frozen
+ - unstable
+ - sid
+ - experimental
+ - UNRELEASED
+
+ - sarge
+ - sarge-backports
+ - sarge-volatile
+ - etch
+ - etch-backports
+ - etch-volatile
+ - lenny
+ - lenny-backports
+ - lenny-backports-sloppy
+ - lenny-volatile
+ - squeeze
+ - squeeze-backports
+ - squeeze-backports-sloppy
+ - squeeze-volatile
+ - wheezy
+ - wheezy-backports
+ - wheezy-backports-sloppy
+ - jessie
+ - jessie-backports
+ - jessie-backports-sloppy
+ - stretch
+ - stretch-backports
+ - stretch-backports-sloppy
+ - buster
+ - buster-backports
+ - buster-backports-sloppy
+ - bullseye
+ - bullseye-backports
+ - bullseye-backports-sloppy
+
+ - dapper
+ - dapper-security
+ - dapper-proposed
+ - dapper-updates
+ - dapper-backports
+ - dapper-commercial
+ - edgy
+ - edgy-security
+ - edgy-proposed
+ - edgy-updates
+ - edgy-backports
+ - edgy-commercial
+ - feisty
+ - feisty-security
+ - feisty-proposed
+ - feisty-updates
+ - feisty-backports
+ - feisty-commercial
+ - gutsy
+ - gutsy-security
+ - gutsy-proposed
+ - gutsy-updates
+ - gutsy-backports
+ - gutsy-partner
+ - hardy
+ - hardy-security
+ - hardy-proposed
+ - hardy-updates
+ - hardy-backports
+ - hardy-partner
+ - intrepid
+ - intrepid-security
+ - intrepid-proposed
+ - intrepid-updates
+ - intrepid-backports
+ - intrepid-partner
+ - jaunty
+ - jaunty-security
+ - jaunty-proposed
+ - jaunty-updates
+ - jaunty-backports
+ - jaunty-partner
+ - karmic
+ - karmic-security
+ - karmic-proposed
+ - karmic-updates
+ - karmic-backports
+ - lucid
+ - lucid-security
+ - lucid-proposed
+ - lucid-updates
+ - lucid-backports
+ - maverick
+ - maverick-security
+ - maverick-proposed
+ - maverick-updates
+ - maverick-backports
+ - natty
+ - natty-security
+ - natty-proposed
+ - natty-updates
+ - natty-backports
+ - oneiric
+ - oneiric-security
+ - oneiric-proposed
+ - oneiric-updates
+ - oneiric-backports
+ - precise
+ - precise-security
+ - precise-proposed
+ - precise-updates
+ - precise-backports
+ - quantal
+ - quantal-security
+ - quantal-proposed
+ - quantal-updates
+ - quantal-backports
+ - raring
+ - raring-security
+ - raring-proposed
+ - raring-updates
+ - raring-backports
+ - saucy
+ - saucy-security
+ - saucy-proposed
+ - saucy-updates
+ - saucy-backports
+ - trusty
+ - trusty-security
+ - trusty-proposed
+ - trusty-updates
+ - trusty-backports
+ - utopic
+ - utopic-security
+ - utopic-proposed
+ - utopic-updates
+ - utopic-backports
+ - vivid
+ - vivid-security
+ - vivid-proposed
+ - vivid-updates
+ - vivid-backports
+ - wily
+ - wily-security
+ - wily-proposed
+ - wily-updates
+ - wily-backports
+ - xenial
+ - xenial-security
+ - xenial-proposed
+ - xenial-updates
+ - xenial-backports
+ - yakkety
+ - yakkety-security
+ - yakkety-proposed
+ - yakkety-updates
+ - yakkety-backports
+
+
+
+ - low
+ - medium
+ - high
+ - emergency
+ - bug
+ - critical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/debiancontrol.xml b/data/syntax/debiancontrol.xml
new file mode 100644
index 0000000..d3149c6
--- /dev/null
+++ b/data/syntax/debiancontrol.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/desktop.xml b/data/syntax/desktop.xml
new file mode 100644
index 0000000..fc508c4
--- /dev/null
+++ b/data/syntax/desktop.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/diff.xml b/data/syntax/diff.xml
new file mode 100644
index 0000000..a83e059
--- /dev/null
+++ b/data/syntax/diff.xml
@@ -0,0 +1,119 @@
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/djangotemplate.xml b/data/syntax/djangotemplate.xml
new file mode 100644
index 0000000..6b1fa4f
--- /dev/null
+++ b/data/syntax/djangotemplate.xml
@@ -0,0 +1,330 @@
+
+
+
+]>
+
+
+
+
+
+
+
+ - for
+ - block
+ - if
+ - ifequal
+ - ifnotequal
+ - ifchanged
+ - blocktrans
+ - spaceless
+ - autoescape
+
+
+
+ - endfor
+ - endblock
+ - endif
+ - endifequal
+ - endifnotequal
+ - endifchanged
+ - endblocktrans
+ - endspaceless
+ - endautoescape
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/dockerfile.xml b/data/syntax/dockerfile.xml
new file mode 100644
index 0000000..1fa6767
--- /dev/null
+++ b/data/syntax/dockerfile.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+ - FROM
+ - MAINTAINER
+ - ENV
+ - RUN
+ - ONBUILD
+ - COPY
+ - ADD
+ - VOLUME
+ - EXPOSE
+ - ENTRYPOINT
+ - CMD
+ - WORKDIR
+ - USER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/dosbat.xml b/data/syntax/dosbat.xml
new file mode 100644
index 0000000..c3933a6
--- /dev/null
+++ b/data/syntax/dosbat.xml
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+ - assoc
+ - break
+ - call
+ - cd
+ - chdir
+ - cls
+ - color
+ - copy
+ - date
+ - del
+ - dir
+ - endlocal
+ - erase
+ - exit
+ - ftype
+ - md
+ - mkdir
+ - move
+ - path
+ - pause
+ - popd
+ - prompt
+ - pushd
+ - rd
+ - ren
+ - rename
+ - rmdir
+ - setlocal
+ - shift
+ - start
+ - time
+ - title
+ - type
+ - ver
+ - verify
+ - vol
+
+
+
+ - echo
+ - else
+ - for
+ - in
+ - do
+ - goto
+ - if
+ - not
+ - set
+
+
+
+ - at
+ - attrib
+ - break
+ - cacls
+ - chcp
+ - chkdsk
+ - chkntfs
+ - cmd
+ - comp
+ - compact
+ - convert
+ - diskcomp
+ - diskcopy
+ - doskey
+ - fc
+ - find
+ - findstr
+ - format
+ - graftabl
+ - help
+ - label
+ - mode
+ - more
+ - print
+ - recover
+ - replace
+ - sort
+ - subst
+ - tree
+ - xcopy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/dot.xml b/data/syntax/dot.xml
new file mode 100644
index 0000000..2dc7a42
--- /dev/null
+++ b/data/syntax/dot.xml
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+ - digraph
+ - node
+ - edge
+ - subgraph
+
+
+
+
+ - center
+ - layers
+ - margin
+ - mclimit
+ - name
+ - nodesep
+ - nslimit
+ - ordering
+ - page
+ - pagedir
+ - rank
+ - rankdir
+ - ranksep
+ - ratio
+ - rotate
+ - size
+
+ - distortion
+ - fillcolor
+ - fontcolor
+ - fontname
+ - fontsize
+ - height
+ - layer
+ - orientation
+ - peripheries
+ - regular
+ - shape
+ - shapefile
+ - sides
+ - skew
+ - width
+
+ - arrowhead
+ - arrowsize
+ - arrowtail
+ - constraint
+ - decorateP
+ - dir
+ - headclip
+ - headlabel
+ - labelangle
+ - labeldistance
+ - labelfontcolor
+ - labelfontname
+ - labelfontsize
+ - minlen
+ - port_label_distance
+ - samehead
+ - sametail
+ - tailclip
+ - taillabel
+ - weight
+
+ - color
+
+ - bgcolor
+ - label
+ - URL
+
+ - fontcolor
+ - fontname
+ - fontsize
+ - layer
+ - style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/doxygen.xml b/data/syntax/doxygen.xml
new file mode 100644
index 0000000..d07c165
--- /dev/null
+++ b/data/syntax/doxygen.xml
@@ -0,0 +1,514 @@
+
+
+]>
+
+
+
+
+
+
+
+ - \arg
- @arg
+ - \author
- @author
+ - \authors
- @authors
+ - \brief
- @brief
+ - \callgraph
- @callgraph
+ - \callergraph
- @callergraph
+ - \date
- @date
+ - \deprecated
- @deprecated
+ - \details
- @details
+ - \docbookonly
- @docbookonly
+ - \else
- @else
+ - \endcond
- @endcond
+ - \enddocbookonly
- @enddocbookonly
+ - \endhtmlonly
- @endhtmlonly
+ - \endif
- @endif
+ - \endinternal
- @endinternal
+ - \endlatexonly
- @endlatexonly
+ - \endlink
- @endlink
+ - \endmanonly
- @endmanonly
+ - \endparblock
- @endparblock
+ - \endrtfonly
- @endrtfonly
+ - \endsecreflist
- @endsecreflist
+ - \endxmlonly
- @endxmlonly
+ - \f[
- @f[
+ - \f]
- @f]
+ - \f$
- @f$
+
+ - \hideinitializer
- @hideinitializer
+ - \htmlonly
- @htmlonly
+
+ - \internal
- @internal
+ - \invariant
- @invariant
+ - \latexonly
- @latexonly
+ - \li
- @li
+ - \manonly
- @manonly
+ - \n
- @n
+ - \nosubgrouping
- @nosubgrouping
+ - \only
- @only
+ - \parblock
- @parblock
+ - \post
- @post
+ - \pre
- @pre
+ - \private
- @pivate
+ - \privatesection
- @pivatesection
+ - \protected
- @protected
+ - \protectedsection
- @protectedsection
+ - \public
- @public
+ - \publicsection
- @publicsection
+ - \pure
- @pure
+ - \remark
- @remark
+ - \remarks
- @remarks
+ - \return
- @return
+ - \returns
- @returns
+ - \result
- @result
+ - \rtfonly
- @rtfonly
+ - \sa
- @sa
+ - \secreflist
- @secreflist
+ - \see
- @see
+ - \short
- @short
+ - \showinitializer
- @showinitializer
+ - \since
- @since
+ - \static
- @static
+ - \tableofcontents
- @tableofcontents
+ - \test
- @test
+ - \version
- @version
+ - \xmlonly
- @xmlonly
+
+ - \#
- @#
+ - \$
- @$
+ - \%
- @%
+ - \&
- @&
+ - \>
- @>
+ - \<
- @<
+ - \"
- @"
+ - \::
- @::
+ - \@
- @@
+ - \\
- @\
+ - \~
- @~
+ - \.
- @.
+ - \--
- @--
+ - \---
- @---
+
+
+
+ - \a
- @a
+ - \anchor
- @anchor
+ - \b
- @b
+ - \c
- @c
+ - \cite
- @cite
+ - \cond
- @cond
+ - \copybrief
- @copybrief
+ - \copydetails
- @copydetails
+ - \copydoc
- @copydoc
+ - \def
- @def
+ - \dir
- @dir
+ - \dontinclude
- @dontinclude
+ - \e
- @e
+ - \elseif
- @elseif
+ - \em
- @em
+ - \enum
- @enum
+ - \example
- @example
+ - \exception
- @exception
+ - \exceptions
- @exceptions
+ - \extends
- @extends
+ - \file
- @file
+ - \htmlinclude
- @htmlinclude
+ - \idlexcept
- @idlexcept
+ - \if
- @if
+ - \ifnot
- @ifnot
+ - \implements
- @implements
+ - \include
- @include
+ - \includelineno
- @includelineno
+ - \latexinclude
- @latexinclude
+ - \link
- @link
+ - \memberof
- @memberof
+ - \namespace
- @namespace
+ - \p
- @p
+ - \package
- @package
+ - \property
- @property
+ - \relatedalso
- @relatedalso
+ - \relatesalso
- @relatesalso
+ - \related
- @related
+ - \relates
- @relates
+ - \retval
- @retval
+ - \throw
- @throw
+ - \throws
- @throws
+ - \verbinclude
- @verbinclude
+ - \version
- @version
+
+ - \xrefitem
- @xrefitem
+
+
+ - \param
- @param
+
+ - \tparam
- @tparam
+
+
+
+ - \image
- @image
+
+
+
+
+ - \addtogroup
- @addtogroup
+ - \category
- @category
+ - \class
- @class
+ - \diafile
- @diafile
+ - \dotfile
- @dotfile
+ - \defgroup
- @defgroup
+ - \interface
- @interface
+ - \headerfile
- @headerfile
+ - \mscfile
- @mscfile
+ - \page
- @page
+ - \paragraph
- @paragraph
+ - \protocol
- @prtocol
+ - \ref
- @ref
+ - \section
- @section
+ - \snippet
- @snippet
+ - \struct
- @struct
+ - \subpage
- @subpage
+ - \subsection
- @subsection
+ - \subsubsection
- @subsubsection
+ - \union
- @union
+ - \weakgroup
- @weakgroup
+
+
+ - \addindex
- @addindex
+ - \copyright
- @copyright
+ - \fn
- @fn
+ - \ingroup
- @ingroup
+ - \line
- @line
+ - \mainpage
- @mainpage
+ - \name
- @name
+ - \overload
- @overload
+ - \par
- @par
+ - \skip
- @skip
+ - \skipline
- @skipline
+ - \typedef
- @typedef
+ - \until
- @until
+ - \var
- @var
+ - \vhdlflow
- @vhdlflow
+
+
+ - \note
- @note
+
+
+ - \warning
- @warning
+
+
+ - \attention
- @attention
+ - \bug
- @bug
+
+
+ - \todo
- @todo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/doxygenlua.xml b/data/syntax/doxygenlua.xml
new file mode 100644
index 0000000..e50182d
--- /dev/null
+++ b/data/syntax/doxygenlua.xml
@@ -0,0 +1,481 @@
+
+
+]>
+
+
+
+
+
+ - \arg
+ - \attention
+ - \author
+ - \callgraph
+ - \code
+ - \dot
+ - \else
+ - \endcode
+ - \endcond
+ - \enddot
+ - \endhtmlonly
+ - \endif
+ - \endlatexonly
+ - \endlink
+ - \endmanonly
+ - \endverbatim
+ - \endxmlonly
+ - \f[
+ - \f]
+ - \f$
+ - \hideinitializer
+ - \htmlonly
+ - \interface
+ - \internal
+ - \invariant
+ - \~
+ - \@
+ - \$
+ - \\
+ - \#
+ - \latexonly
+ - \li
+ - \manonly
+ - \n
+ - \nosubgrouping
+ - \note
+ - \only
+ - \post
+ - \pre
+ - \remarks
+ - \return
+ - \returns
+ - \sa
+ - \see
+ - \showinitializer
+ - \since
+ - \test
+ - \todo
+ - \verbatim
+ - \warning
+ - \xmlonly
+
+ - @arg
+ - @attention
+ - @author
+ - @callgraph
+ - @code
+ - @dot
+ - @else
+ - @endcode
+ - @endcond
+ - @enddot
+ - @endhtmlonly
+ - @endif
+ - @endlatexonly
+ - @endlink
+ - @endmanonly
+ - @endverbatim
+ - @endxmlonly
+ - @f[
+ - @f]
+ - @f$
+ - @hideinitializer
+ - @htmlonly
+ - @interface
+ - @internal
+ - @invariant
+ - @~
+ - @@
+ - @$
+ - @\
+ - @#
+ - @latexonly
+ - @li
+ - @manonly
+ - @n
+ - @nosubgrouping
+ - @note
+ - @only
+ - @post
+ - @pre
+ - @remarks
+ - @return
+ - @returns
+ - @sa
+ - @see
+ - @showinitializer
+ - @since
+ - @test
+ - @todo
+ - @verbatim
+ - @warning
+ - @xmlonly
+
+
+
+ - \addtogroup
+ - \a
+ - \anchor
+ - \b
+ - \c
+ - \class
+ - \cond
+ - \copydoc
+ - \def
+ - \dontinclude
+ - \dotfile
+ - \e
+ - \elseif
+ - \em
+ - \enum
+ - \example
+ - \exception
+ - \exceptions
+ - \file
+ - \htmlinclude
+ - \if
+ - \ifnot
+ - \include
+ - \link
+ - \namespace
+ - \p
+ - \package
+ - \ref
+ - \relatesalso
+ - \relates
+ - \retval
+ - \throw
+ - \throws
+ - \verbinclude
+ - \version
+ - \xrefitem
+
+ - @addtogroup
+ - @a
+ - @anchor
+ - @b
+ - @c
+ - @class
+ - @cond
+ - @copydoc
+ - @def
+ - @dontinclude
+ - @dotfile
+ - @e
+ - @elseif
+ - @em
+ - @enum
+ - @example
+ - @exception
+ - @exceptions
+ - @file
+ - @htmlinclude
+ - @if
+ - @ifnot
+ - @include
+ - @link
+ - @namespace
+ - @p
+ - @package
+ - @ref
+ - @relatesalso
+ - @relates
+ - @retval
+ - @throw
+ - @throws
+ - @verbinclude
+ - @version
+ - @xrefitem
+
+
+ - \param
+
+ - @param
+
+
+ - \image
+
+ - @image
+
+
+ - \defgroup
+ - \page
+ - \paragraph
+ - \section
+ - \struct
+ - \subsection
+ - \subsubsection
+ - \union
+ - \weakgroup
+
+ - @defgroup
+ - @page
+ - @paragraph
+ - @section
+ - @struct
+ - @subsection
+ - @subsubsection
+ - @union
+ - @weakgroup
+
+
+ - \addindex
+ - \brief
+ - \bug
+ - \date
+ - \deprecated
+ - \fn
+ - \ingroup
+ - \line
+ - \mainpage
+ - \name
+ - \overload
+ - \par
+ - \short
+ - \skip
+ - \skipline
+ - \typedef
+ - \until
+ - \var
+
+ - @addindex
+ - @brief
+ - @bug
+ - @date
+ - @deprecated
+ - @fn
+ - @ingroup
+ - @line
+ - @mainpage
+ - @name
+ - @overload
+ - @par
+ - @short
+ - @skip
+ - @skipline
+ - @typedef
+ - @until
+ - @var
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/dtd.xml b/data/syntax/dtd.xml
new file mode 100644
index 0000000..5c39c1b
--- /dev/null
+++ b/data/syntax/dtd.xml
@@ -0,0 +1,110 @@
+
+
+
+]>
+
+
+
+
+ - EMPTY
+ - ANY
+ - CDATA
+ - ID
+ - IDREF
+ - IDREFS
+ - NMTOKEN
+ - NMTOKENS
+ - ENTITY
+ - ENTITIES
+ - NOTATION
+ - PUBLIC
+ - SYSTEM
+ - NDATA
+
+
+
+ - #PCDATA
+ - #REQUIRED
+ - #IMPLIED
+ - #FIXED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/e.xml b/data/syntax/e.xml
new file mode 100644
index 0000000..5d0212e
--- /dev/null
+++ b/data/syntax/e.xml
@@ -0,0 +1,261 @@
+
+
+
+
+
+ - FALSE
+ - MAX_INT
+ - MIN_INT
+ - NULL
+ - TRUE
+ - UNDEF
+ - bit
+ - bits
+ - body
+ - bool
+ - byte
+ - byte_array
+ - continue
+ - copy
+ - default
+ - external_pointer
+ - files
+ - file
+ - form
+ - global
+ - index
+ - init
+ - int
+ - it
+ - list
+ - load
+ - long
+ - me
+ - method
+ - module
+ - ntv
+ - of
+ - pat
+ - print
+ - result
+ - source_ref
+ - string
+ - symtab
+ - sys
+ - test
+ - uint
+ - untyped
+ - vec
+
+
+ - run
+ - init
+ - pre_generate
+ - dut_error
+ - pack
+ - unpack
+ - post_generate
+ - pre_generate
+ - set_config
+ - hex
+ - stop_run
+ - append
+ - size
+ - delete
+ - is_empty
+ - deep_compare
+ - deep_compare_physical
+ - clear
+ - pop0
+ - setup
+ - crc_32
+
+
+ - chars
+ - define
+ - extend
+ - event
+ - ECHO
+ - DOECHO
+ - import
+ - initialize
+ - non_terminal
+ - struct
+ - unit
+ - script
+ - testgroup
+ - type
+
+
+ - C
+ - add
+ - also
+ - and
+ - as
+ - as_a
+ - break
+ - code
+ - compute
+ - computed
+ - delayed
+ - do
+ - else
+ - each
+ - emit
+ - empty
+ - end
+ - exit
+ - finish
+ - for
+ - from
+ - if
+ - in
+ - is
+ - like
+ - log
+ - new
+ - no
+ - not
+ - only
+ - or
+ - out
+ - read
+ - repeat
+ - return
+ - reverse
+ - routine
+ - step
+ - then
+ - to
+ - traceable
+ - untraceable
+ - var
+ - when
+ - while
+ - with
+ - write
+ - xor
+
+
+ - before
+ - by
+ - choose
+ - gen
+ - keep
+ - keeping
+ - matches
+ - next
+ - select
+ - sequence
+ - soft
+ - using
+
+
+ - address
+ - cover
+ - error
+ - events
+ - event
+ - length
+ - kind
+ - ranges
+ - range
+ - sample
+ - text
+ - value
+ - item
+ - transition
+ - illegal
+
+
+ - always
+ - all
+ - basic
+ - call
+ - cycles
+ - cycle
+ - clock
+ - change
+ - check
+ - expect
+ - fall
+ - first
+ - forever
+ - idle
+ - initial
+ - negedge
+ - others
+ - on
+ - posedge
+ - rise
+ - start
+ - that
+ - time
+ - task
+ - until
+ - verilog
+ - vhdl
+ - wait
+ - within
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/eiffel.xml b/data/syntax/eiffel.xml
new file mode 100644
index 0000000..ab7c717
--- /dev/null
+++ b/data/syntax/eiffel.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+ - agent
+ - alias
+ - all
+ - and
+ - as
+ - assign
+ - class
+ - convert
+ - create
+ - creation
+ - debug
+ - deferred
+ - do
+ - else
+ - elseif
+ - end
+ - expanded
+ - export
+ - external
+ - feature
+ - from
+ - frozen
+ - if
+ - implies
+ - indexing
+ - infix
+ - inherit
+ - inspect
+ - is
+ - like
+ - local
+ - loop
+ - not
+ - obsolete
+ - old
+ - once
+ - or
+ - prefix
+ - pure
+ - redefine
+ - reference
+ - rename
+ - rescue
+ - retry
+ - separate
+ - then
+ - undefine
+
+
+
+ - Current
+ - False
+ - Precursor
+ - Result
+ - True
+ - TUPLE
+
+
+
+ - check
+ - ensure
+ - require
+ - variant
+ - invariant
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/elixir.xml b/data/syntax/elixir.xml
new file mode 100644
index 0000000..f6584c9
--- /dev/null
+++ b/data/syntax/elixir.xml
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+ - catch
+ - cond
+ - else
+ - if
+ - raise
+ - rescue
+ - throw
+ - try
+ - unless
+
+
+ - do
+ - end
+ - case
+ - bc
+ - lc
+ - for
+ - receive
+ - exit
+ - after
+ - quote
+ - unquote
+ - super
+ - and
+ - not
+ - or
+ - when
+ - xor
+ - in
+ - inlist
+ - inbits
+
+
+ - nil
+ - true
+ - false
+
+
+ - fn
+ - defmodule
+ - def
+ - defp
+ - defprotocol
+ - defimpl
+ - defrecord
+ - defstruct
+ - defmacro
+ - defmacrop
+ - defdelegate
+ - defcallback
+ - defmacrocallback
+ - defexception
+ - defoverridable
+
+
+ - import
+ - require
+ - alias
+ - use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/email.xml b/data/syntax/email.xml
new file mode 100644
index 0000000..05c784f
--- /dev/null
+++ b/data/syntax/email.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/erlang.xml b/data/syntax/erlang.xml
new file mode 100644
index 0000000..fe459eb
--- /dev/null
+++ b/data/syntax/erlang.xml
@@ -0,0 +1,250 @@
+
+
+
+
+
+
+
+
+
+]
+>
+
+
+
+
+
+
+ - after
+ - begin
+ - case
+ - catch
+ - cond
+ - end
+ - fun
+ - if
+ - let
+ - of
+ - query
+ - receive
+ - all_true
+ - some_true
+
+
+
+
+ - div
+ - rem
+ - or
+ - xor
+ - bor
+ - bxor
+ - bsl
+ - bsr
+ - and
+ - band
+ - not
+ - bnot
+
+
+
+
+ - abs
+ - accept
+ - alarm
+ - apply
+ - atom_to_list
+ - binary_to_list
+ - binary_to_term
+ - check_process_code
+ - concat_binary
+ - date
+ - delete_module
+ - disconnect_node
+ - element
+ - erase
+ - exit
+ - float
+ - float_to_list
+ - garbage_collect
+ - get
+ - get_keys
+ - group_leader
+ - halt
+ - hd
+ - integer_to_list
+ - is_alive
+ - is_atom
+ - is_binary
+ - is_boolean
+ - is_float
+ - is_function
+ - is_integer
+ - is_list
+ - is_number
+ - is_pid
+ - is_port
+ - is_process_alive
+ - is_record
+ - is_reference
+ - is_tuple
+ - length
+ - link
+ - list_to_atom
+ - list_to_binary
+ - list_to_float
+ - list_to_integer
+ - list_to_pid
+ - list_to_tuple
+ - load_module
+ - loaded
+ - localtime
+ - make_ref
+ - module_loaded
+ - node
+ - nodes
+ - now
+ - open_port
+ - pid_to_list
+ - port_close
+ - port_command
+ - port_connect
+ - port_control
+ - ports
+ - pre_loaded
+ - process_flag
+ - process_info
+ - processes
+ - purge_module
+ - put
+ - register
+ - registered
+ - round
+ - self
+ - setelement
+ - size
+ - spawn
+ - spawn_link
+ - spawn_opt
+ - split_binary
+ - statistics
+ - term_to_binary
+ - throw
+ - time
+ - tl
+ - trunc
+ - tuple_to_list
+ - unlink
+ - unregister
+ - whereis
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/euphoria.xml b/data/syntax/euphoria.xml
new file mode 100644
index 0000000..dfe2ac1
--- /dev/null
+++ b/data/syntax/euphoria.xml
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+
+
+
+ - abort
+ - allocate
+ - allocate_string
+ - allow_break
+ - and
+ - and_bits
+ - append
+ - arccos
+ - arcsin
+ - arctan
+ - atom_to_float32
+ - atom_to_float64
+ - as
+ - begin
+ - bits_to_int
+ - bytes_to_int
+ - c_func
+ - c_proc
+ - call
+ - call_back
+ - call_func
+ - call_proc
+ - check_break
+ - chdir
+ - clear_screen
+ - close
+ - command_line
+ - compare
+ - cos
+ - crash_file
+ - crash_message
+ - current_dir
+ - custom_sort
+ - date
+ - define_c_func
+ - define_c_proc
+ - define_c_var
+ - dir
+ - display_text_image
+ - do
+ - else
+ - elsif
+ - end
+ - equal
+ - exit
+ - find
+ - float32_to_atom
+ - float64_to_atom
+ - floor
+ - flush
+ - for
+ - free
+ - free_console
+ - function
+ - get_bytes
+ - get_key
+ - get_mouse
+ - get_position
+ - get_screen_char
+ - getc
+ - getenv
+ - gets
+ - if
+ - include
+ - int_to_bits
+ - int_to_bytes
+ - length
+ - lock_file
+ - log
+ - lower
+ - machine_func
+ - machine_proc
+ - match
+ - mem_copy
+ - mem_set
+ - mouse_events
+ - mouse_pointer
+ - not
+ - not_bits
+ - of
+ - open
+ - open_dll
+ - or
+ - or_bits
+ - peek
+ - peek4
+ - peek4s
+ - peek4u
+ - platform
+ - poke
+ - poke4
+ - position
+ - power
+ - prepend
+ - print
+ - printf
+ - procedure
+ - profile
+ - prompt_number
+ - prompt_string
+ - put_screen_char
+ - puts
+ - rand
+ - read_bitmap
+ - register_block
+ - remainder
+ - repeat
+ - return
+ - reverse
+ - routine_id
+ - save_bitmap
+ - save_text_image
+ - scroll
+ - seek
+ - set_rand
+ - sin
+ - sleep
+ - sort
+ - sprint
+ - sprintf
+ - sqrt
+ - system
+ - system_exec
+ - tan
+ - text_color
+ - then
+ - time
+ - to
+ - trace
+ - type
+ - unlock_file
+ - unregister_block
+ - upper
+ - value
+ - video_config
+ - wait_key
+ - walk_dir
+ - where
+ - while
+ - wildcard_file
+ - wildcard_match
+ - with
+ - without
+ - wrap
+ - xor
+ - xor_bits
+ - ?
+
+
+
+ - atom
+ - constant
+ - global
+ - integer
+ - object
+ - sequence
+ - type
+
+
+
+ - PI
+ - GET_SUCCESS
+
+
+
+ - addto
+ - adjustment
+ - alignment
+ - appendto
+ - append_page
+ - arrow
+ - aspect_frame
+ - button
+ - calendar
+ - cell_renderer_text
+ - cell_renderer_toggle
+ - check
+ - checkbutton
+ - check_menu_item
+ - choice
+ - combo
+ - connect
+ - drawingarea
+ - draw_arc
+ - draw_image
+ - draw_line
+ - draw_polygon
+ - draw_point
+ - draw_rectangle
+ - end_submenu
+ - entry
+ - euget
+ - event_box
+ - flatten
+ - font
+ - frame
+ - get
+ - getImage
+ - getSize
+ - g_list
+ - g_list_to_sequence
+ - deallocate_strings
+ - draw_line
+ - hbox
+ - hbuttonbox
+ - hpaned
+ - hscrollbar
+ - hseparator
+ - hscale
+ - idle_add
+ - image
+ - image_menu_item
+ - init
+ - label
+ - limit
+ - list_store
+ - list_view
+ - list_view_column
+ - main
+ - mark_day
+ - menu
+ - menubar
+ - menu_item
+ - mouse_button
+ - new_gc
+ - new_group
+ - new_menu_group
+ - notebook
+ - option
+ - option_menu
+ - pack
+ - path
+ - pop
+ - progress_bar
+ - push
+ - quit
+ - radio
+ - radiobutton
+ - radio_menu_item
+ - rc_parse
+ - run
+ - separator_menu_item
+ - set
+ - set_submenu
+ - str
+ - scrolled_window
+ - seq_to_str
+ - setfg
+ - setProperty
+ - show
+ - spinbutton
+ - statusbar
+ - table
+ - textbox
+ - timer
+ - togglebutton
+ - toolbar
+ - tooltip
+ - tree_store
+ - tree_view
+ - tree_view_column
+ - vbox
+ - vbuttonbox
+ - vpaned
+ - vscale
+ - vscrollbar
+ - vseparator
+ - when
+ - window
+ - NULL
+ - TRUE
+ - FALSE
+ - color_selection
+ - file_selection
+ - font_selection_dialog
+ - Error
+ - Info
+ - Question
+ - Warn
+ - YesNo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/fasm.xml b/data/syntax/fasm.xml
new file mode 100644
index 0000000..dce3850
--- /dev/null
+++ b/data/syntax/fasm.xml
@@ -0,0 +1,899 @@
+
+
+
+
+
+
+
+
+ - rax
+ - eax
+ - ax
+ - ah
+ - al
+ - rbx
+ - ebx
+ - bx
+ - bh
+ - bl
+ - rcx
+ - ecx
+ - cx
+ - ch
+ - cl
+ - rdx
+ - edx
+ - dx
+ - dh
+ - dl
+ - rbp
+ - ebp
+ - bp
+ - rsi
+ - esi
+ - si
+ - rdi
+ - edi
+ - di
+ - rsp
+ - esp
+ - sp
+ - r8
+ - r9
+ - r10
+ - r11
+ - r12
+ - r13
+ - r14
+ - r15
+
+ - cs
+ - ds
+ - es
+ - fs
+ - gs
+ - ss
+
+ - cr0
+
+ - cr2
+ - cr3
+ - cr4
+
+ - dr0
+ - dr1
+ - dr2
+ - dr3
+ - dr6
+ - dr7
+
+ - st
+
+ - mm0
+ - mm1
+ - mm2
+ - mm3
+ - mm4
+ - mm5
+ - mm6
+ - mm7
+
+ - xmm0
+ - xmm1
+ - xmm2
+ - xmm3
+ - xmm4
+ - xmm5
+ - xmm6
+ - xmm7
+
+
+ - aaa
+ - aad
+ - aam
+ - aas
+ - adc
+ - add
+ - addpd
+ - addps
+ - addsd
+ - addss
+ - addsubpd
+ - addsubps
+ - and
+ - andnpd
+ - andnps
+ - andpd
+ - andps
+ - arpl
+ - bound
+ - bsf
+ - bsr
+ - bswap
+ - bt
+ - btc
+ - btr
+ - bts
+ - call
+ - cbw
+ - cwde
+ - cwd
+ - cdq
+ - cdqe
+ - cqo
+ - clc
+ - cld
+ - clgi
+ - cli
+ - clts
+ - clflush
+ - cmc
+ - cmova
+ - cmovae
+ - cmovb
+ - cmovbe
+ - cmovc
+ - cmove
+ - cmovg
+ - cmovge
+ - cmovl
+ - cmovle
+ - cmovna
+ - cmovnae
+ - cmovnb
+ - cmovnbe
+ - cmovnc
+ - cmovne
+ - cmovng
+ - cmovnge
+ - cmovnl
+ - cmovnle
+ - cmovno
+ - cmovnp
+ - cmovns
+ - cmovnz
+ - cmovo
+ - cmovp
+ - cmovpe
+ - cmovpo
+ - cmovs
+ - cmovz
+ - cmp
+ - cmpeqpd
+ - cmpeqps
+ - cmpeqsd
+ - cmpeqss
+ - cmplepd
+ - cmpleps
+ - cmplesd
+ - cmpless
+ - cmpltpd
+ - cmpltps
+ - cmpltsd
+ - cmpltss
+ - cmpneqpd
+ - cmpneqps
+ - cmpneqsd
+ - cmpneqss
+ - cmpnlepd
+ - cmpnleps
+ - cmpnlesd
+ - cmpnless
+ - cmpnltpd
+ - cmpnltps
+ - cmpnltsd
+ - cmpnltss
+ - cmpordpd
+ - cmpordps
+ - cmpordsd
+ - cmpordss
+ - cmppd
+ - cmpps
+ - cmps
+ - cmpsb
+ - cmpsd
+ - cmpss
+ - cmpsw
+ - cmpunordpd
+ - cmpunordps
+ - cmpunordsd
+ - cmpunordss
+ - cmpxchg
+ - cmpxchg486
+ - cmpxchg8b
+ - cmpxchg16b
+ - comisd
+ - comiss
+ - cpuid
+ - cvtdq2pd
+ - cvtdq2ps
+ - cvtpd2dq
+ - cvtpd2pi
+ - cvtpd2ps
+ - cvtpi2pd
+ - cvtpi2ps
+ - cvtps2dq
+ - cvtps2pd
+ - cvtps2pi
+ - cvtsd2si
+ - cvtsd2ss
+ - cvtsi2sd
+ - cvtsi2ss
+ - cvtss2sd
+ - cvtss2si
+ - cvttpd2dq
+ - cvttpd2pi
+ - cvttps2dq
+ - cvttps2pi
+ - cvttsd2si
+ - cvttss2si
+ - daa
+ - das
+ - dec
+ - div
+ - divpd
+ - divps
+ - divsd
+ - divss
+ - emms
+ - enter
+ - f2xm1
+ - fabs
+ - fadd
+ - faddp
+ - fbld
+ - fbstp
+ - fchs
+ - fclex
+ - fnclex
+ - fcmovb
+ - fcmovbe
+ - fcmove
+ - fcmovnb
+ - fcmovnbe
+ - fcmovne
+ - fcmovnu
+ - fcmovu
+ - fcom
+ - fcomp
+ - fcompp
+ - fcomi
+ - fcomip
+ - fcos
+ - fdecstp
+ - fdisi
+ - feni
+ - fdiv
+ - fdivr
+ - fdivp
+ - fdivrp
+ - femms
+ - ffree
+ - ffreep
+ - fiadd
+ - ficom
+ - ficomp
+ - fidiv
+ - fidivr
+ - fild
+ - fimul
+ - fincstp
+ - finit
+ - fist
+ - fistp
+ - fisttp
+ - fisub
+ - fisubr
+ - fld
+ - fld1
+ - fldl2e
+ - fldl2t
+ - fldlg2
+ - fldln2
+ - fldcw
+ - fldenv
+ - fldpi
+ - fldz
+ - fmul
+ - fmulp
+ - fndisi
+ - fneni
+ - fninit
+ - fnop
+ - fnsave
+ - fnstcw
+ - fnstenv
+ - fnstsw
+ - fnwait
+ - fpatan
+ - fptan
+ - fprem
+ - fprem1
+ - frndint
+ - frstor
+ - fsave
+ - fscale
+ - fsetpm
+ - fsin
+ - fsincos
+ - fsqrt
+ - fst
+ - fstp
+ - fstcw
+ - fstenv
+ - fstsw
+ - fsub
+ - fsubr
+ - fsubp
+ - fsubrp
+ - ftst
+ - fucom
+ - fucomp
+ - fucompp
+ - fucomi
+ - fucomip
+ - fwait
+ - fxam
+ - fxch
+ - fxrstor
+ - fxsave
+ - fxtract
+ - fyl2x
+ - fyl2xp1
+ - haddpd
+ - haddps
+ - hlt
+ - hsubpd
+ - hsubps
+ - ibts
+ - idiv
+ - imul
+ - in
+ - inc
+ - ins
+ - insb
+ - insd
+ - insw
+ - int
+ - int1
+ - int3
+ - into
+ - invd
+ - invlpg
+ - invlpga
+ - iret
+ - iretd
+ - iretq
+ - iretw
+ - ja
+ - jae
+ - jb
+ - jbe
+ - jc
+ - je
+ - jg
+ - jge
+ - jl
+ - jle
+ - jna
+ - jnae
+ - jnb
+ - jnbe
+ - jnc
+ - jne
+ - jng
+ - jnge
+ - jnl
+ - jnle
+ - jno
+ - jnp
+ - jns
+ - jnz
+ - jo
+ - jp
+ - jpe
+ - jpo
+ - js
+ - jz
+ - jcxz
+ - jecxz
+ - jrcxz
+ - jmp
+ - lahf
+ - lar
+ - lddqu
+ - ldmxcsr
+ - lds
+ - les
+ - lea
+ - leave
+ - lfence
+ - lfs
+ - lgdt
+ - lgs
+ - lidt
+ - lldt
+ - lmsw
+ - loadall
+ - loadall286
+ - lods
+ - lodsb
+ - lodsd
+ - lodsq
+ - lodsw
+ - loop
+ - loope
+ - loopne
+ - loopnz
+ - loopz
+ - lsl
+ - lss
+ - ltr
+ - maskmovdqu
+ - maskmovq
+ - maxpd
+ - maxps
+ - maxsd
+ - maxss
+ - mfence
+ - minpd
+ - minps
+ - minsd
+ - minss
+ - monitor
+ - mov
+ - movapd
+ - movaps
+ - movd
+ - movddup
+ - movdq2q
+ - movdqa
+ - movdqu
+ - movhlps
+ - movhpd
+ - movhps
+ - movlhps
+ - movlpd
+ - movlps
+ - movmskpd
+ - movmskps
+ - movntdq
+ - movnti
+ - movntpd
+ - movntps
+ - movntq
+ - movq
+ - movq2dq
+ - movs
+ - movsb
+ - movsd
+ - movshdup
+ - movsldup
+ - movsq
+ - movss
+ - movsx
+ - movsxd
+ - movsw
+ - movupd
+ - movups
+ - movzx
+ - mul
+ - mulpd
+ - mulps
+ - mulsd
+ - mulss
+ - mwait
+ - neg
+ - nop
+ - not
+ - or
+ - orpd
+ - orps
+ - out
+ - outs
+ - outsb
+ - outsw
+ - outsd
+ - packssdw
+ - packsswb
+ - packuswb
+ - paddb
+ - paddd
+ - paddq
+ - paddsb
+ - paddsw
+ - paddusb
+ - paddusw
+ - paddw
+ - pand
+ - pandn
+ - pause
+ - pavgb
+ - pavgusb
+ - pavgw
+ - pcmpeqb
+ - pcmpeqw
+ - pcmpeqd
+ - pcmpgtb
+ - pcmpgtw
+ - pcmpgtd
+ - pdistib
+ - pextrw
+ - pf2id
+ - pf2iw
+ - pfacc
+ - pfadd
+ - pfcmpeq
+ - pfcmpge
+ - pfcmpgt
+ - pfmax
+ - pfmin
+ - pfmul
+ - pfnacc
+ - pfpnacc
+ - pfrcp
+ - pfrcpit1
+ - pfrcpit2
+ - pfrsqit1
+ - pfrsqrt
+ - pfsub
+ - pfsubr
+ - pi2fd
+ - pi2fw
+ - pinsrw
+ - pmachriw
+ - pmaddwd
+ - pmagw
+ - pmaxsw
+ - pmaxub
+ - pminsw
+ - pminub
+ - pmovmskb
+ - pmulhrw
+ - pmulhuw
+ - pmulhw
+ - pmullw
+ - pmuludq
+ - pmvgezb
+ - pmvlzb
+ - pmvnzb
+ - pmvzb
+ - pop
+ - popa
+ - popaw
+ - popad
+ - popf
+ - popfw
+ - popfd
+ - popfq
+ - por
+ - prefetch
+ - prefetchnta
+ - prefetcht0
+ - prefetcht1
+ - prefetcht2
+ - prefetchw
+ - psadbw
+ - pshufd
+ - pshufhw
+ - pshuflw
+ - pshufw
+ - pslld
+ - pslldq
+ - psllq
+ - psllw
+ - psrad
+ - psraw
+ - psrld
+ - psrldq
+ - psrlq
+ - psrlw
+ - psubb
+ - psubd
+ - psubq
+ - psubsb
+ - psubsiw
+ - psubsw
+ - psubusb
+ - psubusw
+ - psubw
+ - pswapd
+ - punpckhbw
+ - punpckhdq
+ - punpckhqdq
+ - punpckhwd
+ - punpcklbw
+ - punpckldq
+ - punpcklqdq
+ - punpcklwd
+ - push
+ - pusha
+ - pushad
+ - pushaw
+ - pushf
+ - pushfd
+ - pushfq
+ - pushfw
+ - pxor
+ - rcl
+ - rcr
+ - rcpps
+ - rcpss
+ - rdmsr
+ - rdpmc
+ - rdshr
+ - rdtsc
+ - rdtscp
+ - ret
+ - retf
+ - retn
+ - rol
+ - ror
+ - rsdc
+ - rsldt
+ - rsm
+ - rsqrtps
+ - rsqrtss
+ - rsts
+ - sahf
+ - sal
+ - sar
+ - salc
+ - sbb
+ - scas
+ - scasb
+ - scasd
+ - scasq
+ - scasw
+ - seta
+ - setae
+ - setb
+ - setbe
+ - setc
+ - sete
+ - setg
+ - setge
+ - setl
+ - setle
+ - setna
+ - setnae
+ - setnb
+ - setnbe
+ - setnc
+ - setne
+ - setng
+ - setnge
+ - setnl
+ - setnle
+ - setno
+ - setnp
+ - setns
+ - setnz
+ - seto
+ - setp
+ - setpe
+ - setpo
+ - sets
+ - setz
+ - sfence
+ - sgdt
+ - shl
+ - shld
+ - shr
+ - shrd
+ - shufpd
+ - shufps
+ - sidt
+ - skinit
+ - sldt
+ - smi
+ - smint
+ - smintold
+ - smsw
+ - sqrtpd
+ - sqrtps
+ - sqrtsd
+ - sqrtss
+ - stc
+ - std
+ - stgi
+ - sti
+ - stmxcsr
+ - stos
+ - stosb
+ - stosd
+ - stosq
+ - stosw
+ - str
+ - sub
+ - subpd
+ - subps
+ - subsd
+ - subss
+ - svdc
+ - svldt
+ - svts
+ - swapgs
+ - syscall
+ - sysenter
+ - sysexit
+ - sysret
+ - test
+ - ucomisd
+ - ucomiss
+ - ud0
+ - ud1
+ - ud2
+ - umov
+ - unpckhpd
+ - unpckhps
+ - unpcklpd
+ - unpcklps
+ - verr
+ - verw
+ - vmload
+ - vmmcall
+ - vmrun
+ - vmsave
+ - wait
+ - wbinvd
+ - wrmsr
+ - wrshr
+ - xadd
+ - xbts
+ - xchg
+ - xlat
+ - xlatb
+ - xor
+ - xorpd
+ - xorps
+
+
+
+
+ - db
+ - dw
+ - du
+ - dd
+ - dp
+ - df
+ - dq
+ - dt
+
+ - rb
+ - rw
+ - rd
+ - rp
+ - rf
+ - rq
+ - rt
+
+ - file
+
+ - byte
+ - word
+ - dword
+ - pword
+ - qword
+ - tbyte
+ - tword
+ - dqword
+ - ptr
+
+
+
+ - append
+ - at
+ - break
+ - common
+ - display
+ - else
+ - end
+ - equ
+ - fix
+ - foward
+ - if
+ - irp
+ - irps
+ - label
+ - local
+ - match
+ - macro
+ - purge
+ - repeat
+ - rept
+ - reverse
+ - restore
+ - struc
+ - times
+ - while
+ - virtual
+
+
+
+ - align
+ - entry
+ - extrn
+ - format
+ - include
+ - invoke
+ - data
+ - load
+ - from
+ - heap
+ - org
+ - proc
+ - public
+ - section
+ - segment
+ - stack
+ - store
+ - use16
+ - use32
+ - use64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/fastq.xml b/data/syntax/fastq.xml
new file mode 100644
index 0000000..30387fc
--- /dev/null
+++ b/data/syntax/fastq.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ferite.xml b/data/syntax/ferite.xml
new file mode 100644
index 0000000..0fc58db
--- /dev/null
+++ b/data/syntax/ferite.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+ - break
+ - case
+ - continue
+ - else
+ - for
+ - if
+ - do
+ - function
+ - namespace
+ - while
+ - class
+ - new
+ - uses
+ - global
+ - return
+ - self
+ - super
+ - null
+ - iferr
+ - fix
+
+
+ - number
+ - void
+ - string
+ - array
+ - object
+ - final
+ - static
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/fgl-4gl.xml b/data/syntax/fgl-4gl.xml
new file mode 100644
index 0000000..9e281ff
--- /dev/null
+++ b/data/syntax/fgl-4gl.xml
@@ -0,0 +1,363 @@
+
+
+
+
+
+ - at
+ - by
+ - go
+ - if
+ - in
+ - is
+ - no
+ - of
+ - on
+ - or
+ - to
+ - up
+
+ - add
+ - ALL
+ - and
+ - ANY
+ - avg
+ - day
+ - end
+ - ESC
+ - for
+ - key
+ - let
+ - log
+ - max
+ - mdy
+ - min
+ - not
+ - put
+ - red
+ - row
+ - run
+ - set
+ - sum
+ - top
+
+ - blue
+ - BOLD
+ - call
+ - case
+ - cyan
+ - desc
+ - DROP
+ - else
+ - exit
+ - file
+ - form
+ - FREE
+ - from
+ - goto
+ - help
+ - HIDE
+ - HOLD
+ - HOUR
+ - into
+ - last
+ - left
+ - like
+ - line
+ - load
+ - LOCK
+ - main
+ - menu
+ - MODE
+ - name
+ - NEED
+ - next
+ - null
+ - open
+ - page
+ - PIPE
+ - quit
+ - READ
+ - rows
+ - show
+ - skip
+ - sort
+ - STEP
+ - STOP
+ - TEMP
+ - text
+ - then
+ - thru
+ - true
+ - user
+ - WAIT
+ - when
+ - with
+ - WORK
+ - WRAP
+ - year
+
+ - after
+ - alter
+ - ascii
+ - BEGIN
+ - blink
+ - clear
+ - close
+ - count
+ - DEFER
+ - DIRTY
+ - error
+ - every
+ - false
+ - fetch
+ - field
+ - first
+ - flush
+ - green
+ - GROUP
+ - index
+ - input
+ - label
+ - lines
+ - month
+ - order
+ - outer
+ - pause
+ - print
+ - right
+ - share
+ - sleep
+ - space
+ - start
+ - TABLE
+ - today
+ - union
+ - UNITS
+ - using
+ - where
+ - WHILE
+ - white
+
+ - ACCEPT
+ - before
+ - border
+ - bottom
+ - column
+ - commit
+ - create
+ - cursor
+ - define
+ - delete
+ - enable
+ - ESCAPE
+ - exists
+ - finish
+ - format
+ - HAVING
+ - header
+ - insert
+ - length
+ - locate
+ - margin
+ - MINUTE
+ - MODIFY
+ - normal
+ - option
+ - output
+ - PAGENO
+ - prompt
+ - record
+ - report
+ - return
+ - revoke
+ - SCREEN
+ - scroll
+ - SECOND
+ - select
+ - spaces
+ - status
+ - UNIQUE
+ - UNLOAD
+ - update
+ - values
+ - window
+ - yellow
+
+ - between
+ - clipped
+ - cluster
+ - columns
+ - command
+ - comment
+ - connect
+ - CURRENT
+ - declare
+ - display
+ - execute
+ - foreach
+ - globals
+ - infield
+ - MAGENTA
+ - matches
+ - message
+ - options
+ - prepare
+ - printer
+ - program
+ - reverse
+ - trailer
+ - upshift
+ - waiting
+ - without
+
+ - ABSOLUTE
+ - continue
+ - database
+ - defaults
+ - DISTINCT
+ - EXTERNAL
+ - function
+ - INT_FLAG
+ - NOTFOUND
+ - previous
+ - ROLLBACK
+ - whenever
+ - wordwrap
+
+ - attribute
+ - committed
+ - construct
+ - delimiter
+ - downshift
+ - exclusive
+ - INTERRUPT
+ - ISOLATION
+ - otherwise
+ - quit_flag
+ - returning
+
+ - attributes
+ - CONSTRAINT
+ - initialize
+ - statistics
+
+ - fgl_lastkey
+ - formhandler
+
+ - fgl_lastkey()
+
+
+
+
+ - char
+ - date
+ - array
+ - float
+ - money
+ - serial
+ - DECIMAL
+ - integer
+ - NUMERIC
+ - VARCHAR
+ - DATETIME
+ - FRACTION
+ - INTERVAL
+ - smallint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/fgl-per.xml b/data/syntax/fgl-per.xml
new file mode 100644
index 0000000..266e8f9
--- /dev/null
+++ b/data/syntax/fgl-per.xml
@@ -0,0 +1,172 @@
+
+
+
+
+
+ - by
+ - to
+
+ - end
+ - not
+ - red
+
+ - blue
+ - cyan
+ - keys
+ - like
+ - null
+ - size
+ - type
+
+ - black
+ - color
+ - green
+ - input
+ - today
+ - white
+
+ - format
+ - record
+ - screen
+ - tables
+ - yellow
+
+ - default
+ - display
+ - include
+ - magenta
+ - noentry
+ - picture
+ - reverse
+ - through
+ - UPSHIFT
+ - without
+
+ - autonext
+ - comments
+ - COMPRESS
+ - database
+ - formonly
+ - noupdate
+ - required
+ - WORDWRAP
+
+ - character
+ - downshift
+ - invisible
+ - underline
+
+ - attributes
+ - delimiters
+
+ - instructions
+
+
+ - char
+ - date
+ - array
+ - float
+ - money
+ - serial
+ - DECIMAL
+ - integer
+ - NUMERIC
+ - VARCHAR
+ - DATETIME
+ - FRACTION
+ - INTERVAL
+ - smallint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/fortran.xml b/data/syntax/fortran.xml
new file mode 100644
index 0000000..77c398f
--- /dev/null
+++ b/data/syntax/fortran.xml
@@ -0,0 +1,580 @@
+
+
+
+
+
+
+
+
+
+
+ - allocate
+ - break
+ - call
+ - case
+ - common
+
+ - continue
+ - cycle
+ - deallocate
+ - default
+
+ - forall
+ - where
+ - elsewhere
+
+
+ - equivalence
+ - exit
+ - external
+ - for
+ - go
+ - goto
+ - if
+ - implicit
+ - include
+ - interface
+ - intrinsic
+ - namelist
+ - none
+ - nullify
+ - operator
+ - assignment
+ - pause
+ - procedure
+ - pure
+ - elemental
+ - record
+ - recursive
+ - result
+ - return
+ - select
+ - selectcase
+ - stop
+
+ - to
+ - use
+ - only
+ - entry
+ - while
+
+
+ - access
+ - backspace
+ - close
+ - inquire
+ - open
+ - print
+ - read
+ - rewind
+ - write
+ - format
+
+
+
+ - unit
+ - end
+ - err
+ - fmt
+ - iostat
+ - status
+ - advance
+ - size
+ - eor
+
+
+
+ - unit
+ - iostat
+ - err
+ - file
+ - status
+ - access
+ - form
+ - recl
+ - blank
+ - position
+ - action
+ - delim
+ - pad
+
+
+
+ - unit
+ - iostat
+ - err
+ - file
+ - exist
+ - opened
+ - number
+ - named
+ - name
+ - access
+ - sequential
+ - direct
+ - form
+ - formatted
+ - unformatted
+ - recl
+ - nextrec
+ - blank
+ - position
+ - action
+ - read
+ - write
+ - readwrite
+ - delim
+ - pad
+
+
+ - double
+ - precision
+ - parameter
+ - save
+ - pointer
+ - public
+ - private
+ - target
+ - allocatable
+ - optional
+ - sequence
+
+
+
+
+
+
+
+ - abs
+ - cabs
+ - dabs
+ - iabs
+ - aimag
+ - aint
+ - dint
+ - anint
+ - dnint
+ - ceiling
+ - cmplx
+ - dcmplx
+ - dimag
+ - floor
+ - nint
+ - idnint
+ - int
+ - idint
+ - ifix
+ - real
+ - float
+ - sngl
+ - dble
+ - dreal
+ - aprime
+ - dconjg
+ - dfloat
+ - ddmim
+ - rand
+
+ - modulo
+ - conjg
+ - dprod
+ - dim
+ - ddim
+ - idim
+ - max
+ - amax0
+ - amax1
+ - max0
+ - max1
+ - dmax1
+ - min
+ - amin0
+ - amin1
+ - min0
+ - min1
+ - dmin1
+ - mod
+ - amod
+ - dmod
+ - sign
+ - dsign
+ - isign
+
+ - acos
+ - dacos
+ - asin
+ - dasin
+ - atan
+ - datan
+ - atan2
+ - datan2
+ - cos
+ - ccos
+ - dcos
+ - cosh
+ - dcosh
+ - exp
+ - cexp
+ - dexp
+ - log
+ - alog
+ - dlog
+ - clog
+ - log10
+ - alog10
+ - dlog10
+ - sin
+ - csin
+ - dsin
+ - sinh
+ - dsinh
+ - sqrt
+ - csqrt
+ - dsqrt
+ - tan
+ - dtan
+ - tanh
+ - dtanh
+
+
+ - achar
+ - char
+ - iachar
+ - ichar
+
+ - lge
+ - lgt
+ - lle
+ - llt
+
+ - adjustl
+ - adjustr
+ - index
+ - len_trim
+ - scan
+ - verify
+
+ - logical
+
+ - exponent
+ - fraction
+ - nearest
+ - rrspacing
+ - scale
+ - set_exponent
+ - spacing
+
+ - btest
+ - iand
+ - ibclr
+ - ibits
+ - ibset
+ - ieor
+ - ior
+ - ishft
+ - ishftc
+ - not
+
+ - mvbits
+
+ - merge
+
+
+
+
+
+ - associated
+ - present
+ - kind
+
+ - len
+
+ - digits
+ - epsilon
+ - huge
+ - maxexponent
+ - minexponent
+ - precision
+ - radix
+ - range
+ - tiny
+
+ - bit_size
+
+ - allocated
+ - lbound
+ - ubound
+ - shape
+ - size
+
+
+
+
+
+ - repeat
+ - trim
+
+ - selected_int_kind
+ - selected_real_kind
+
+ - transfer
+
+ - dot_product
+ - matmul
+
+ - all
+ - any
+ - count
+ - maxval
+ - minval
+ - product
+ - sum
+
+ - pack
+ - unpack
+
+ - reshape
+
+ - spread
+
+ - cshift
+ - eoshift
+
+ - transpose
+
+ - maxloc
+ - minloc
+
+
+
+
+
+ - date_and_time
+ - system_clock
+
+ - random_number
+ - random_seed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/freebasic.xml b/data/syntax/freebasic.xml
new file mode 100644
index 0000000..332f334
--- /dev/null
+++ b/data/syntax/freebasic.xml
@@ -0,0 +1,608 @@
+
+
+
+
+
+
+ - #DEFINE
+ - #ELSE
+ - #ELSEIF
+ - #ENDIF
+ - #IF
+ - #IFDEF
+ - #IFNDEF
+ - #UNDEF
+ - $DYNAMIC
+ - $INCLIB
+ - $INCLUDE
+ - $STATIC
+
+
+
+
+ - Declare
+
+ - Open
+
+ - For
+
+ - For Input
+ - For Output
+ - For Binary
+ - For Random
+ - Close
+
+ - To
+ - Step
+ - Next
+ - As
+ - Break
+ - Exit
+ - If
+ - Then
+ - Else
+ - Until
+ - Select
+ - System
+ - Case
+ - Default
+ - EndSelect
+ - Do
+ - Loop
+ - While
+ - Wend
+ - End
+ - Type
+ - DefType
+ - Dim
+ - Global
+ - Function
+ - Sub
+ - Shared
+ - Protected
+ - Static
+ - Declare
+
+ - Unsigned
+
+ - Data
+ - Restore
+ - Read
+
+
+ - Goto
+ - Gosub
+ - Return
+
+ - DEFBYTE
+ - DEFDBL
+ - DEFINT
+ - DEFLNG
+ - DEFSHORT
+ - DEFSNG
+ - DEFSTR
+ - DEFUBYTE
+ - DEFUINT
+ - DEFUSHORT
+
+
+
+
+
+
+
+ - AH
+ - AL
+ - AX
+ - BH
+ - BL
+ - BP
+ - BX
+ - CH
+ - CL
+ - CS
+ - CX
+ - DH
+ - DI
+ - DL
+ - DS
+ - DX
+ - EAX
+ - EBP
+ - EBX
+ - ECX
+ - EDI
+ - EDX
+ - ES
+ - ESI
+ - ESP
+ - FS
+ - GS
+ - SI
+ - SP
+ - SS
+
+
+
+ - Integer
+ - Long
+ - Single
+ - Double
+ - String
+ - Byte PTR
+ - Dword PTR
+ - Qword PTR
+ - Word PTR
+
+
+
+ - AAA
+ - AAD
+ - AAM
+ - AAS
+ - ABS
+ - ACOS
+ - ADC
+ - ADD
+ - ALLOCATE
+ - AND
+ - AND
+ - ARPL
+ - ASC
+ - ASIN
+ - ASM
+ - ATAN2
+ - ATN
+ - BEEP
+ - BIN$
+ - BLOAD
+ - BOUND
+ - BREAK
+ - BSAVE
+ - BSF
+ - BSR
+ - BSWAP
+ - BT
+ - BTC
+ - BTR
+ - BTS
+ - BYREF
+ - CALL
+ - CALLOCATE
+ - CALLS
+ - CBW
+ - CBYTE
+ - CDBL
+ - CDQ
+ - CHAIN
+ - CHDIR
+ - CHR$
+ - CINT
+ - CIRCLE
+ - CLC
+ - CLD
+ - CLEAR
+ - CLI
+ - CLNG
+ - CLOSE
+ - CLTS
+ - CMC
+ - CMP
+ - CMPS
+ - CMPSB
+ - CMPSD
+ - CMPSW
+ - CMPXCHG
+ - COLOR
+ - COMMAND$
+ - COMMON
+ - CONST
+ - CONTINUE
+ - COS
+ - CSHORT
+ - CSIGN
+ - CSNG
+ - CUNSG
+ - CURDIR$
+ - CVD
+ - CVI
+ - CVL
+ - CVS
+ - CWD
+ - CWDE
+ - DAA
+ - DAS
+ - DATA
+ - DATE$
+ - DEALLOCATE
+ - DEC
+ - DIM
+ - DIR$
+ - DIV
+ - DRAW
+ - END
+ - ENTER
+ - ENUM
+ - ENVIRON
+ - ENVIRON$
+ - EOF
+ - EQV
+ - ERASE
+ - EXEC
+ - EXEPATH
+ - EXP
+ - FIX
+ - FLIP
+ - FRE
+ - FREEFILE
+ - GET
+ - GETKEY
+ - GETMOUSE
+ - HEX$
+ - HLT
+ - IDIV
+ - IMP
+ - IMUL
+ - IN
+ - INC
+ - INKEY$
+ - INP
+ - INPUT
+ - INPUT$
+ - INS
+ - INSB
+ - INSD
+ - INSTR
+ - INT
+ - INT
+ - INTO
+ - INVD
+ - INVLPG
+ - IRET
+ - IRETD
+ - JA
+ - JAE
+ - JB
+ - JBE
+ - JC
+ - JCXZ
+ - JE
+ - JECXZ
+ - JG
+ - JGE
+ - JL
+ - JLE
+ - JMP
+ - JNA
+ - JNAE
+ - JNB
+ - JNBE
+ - JNC
+ - JNE
+ - JNG
+ - JNGE
+ - JNL
+ - JNLE
+ - JNO
+ - JNP
+ - JNS
+ - JNZ
+ - JO
+ - JP
+ - JPE
+ - JPO
+ - JS
+ - JUMP
+ - JZ
+ - KILL
+ - LAHF
+ - LAR
+ - LBOUND
+ - LCASE$
+ - LDS
+ - LEA
+ - LEAVE
+ - LEAVED
+ - LEAVEW
+ - LEFT$
+ - LEN
+ - LES
+ - LET
+ - LFS
+ - LGDT
+ - LGS
+ - LIB
+ - LIDT
+ - LINE
+ - LLDT
+ - LMSW
+ - LOC
+ - LOCK
+ - LOCK
+ - LODS
+ - LODSB
+ - LODSD
+ - LODSW
+ - LOF
+ - LOG
+ - LOOPD
+ - LOOPDE
+ - LOOPDNE
+ - LOOPDNZ
+ - LOOPDZ
+ - LOOPE
+ - LOOPNE
+ - LOOPNZ
+ - LOOPW
+ - LOOPWE
+ - LOOPWNE
+ - LOOPWNZ
+ - LOOPWZ
+ - LOOPZ
+ - LSET
+ - LSL
+ - LSS
+ - LTR
+ - LTRIM$
+ - MID$
+ - MKD$
+ - MKDIR
+ - MKI$
+ - MKL$
+ - MKS$
+ - MOD
+ - MOV
+ - MOVS
+ - MOVSB
+ - MOVSD
+ - MOVSW
+ - MOVSX
+ - MOVZX
+ - MUL
+ - MULTIKEY
+ - NAME
+ - NEG
+ - NOP
+ - NOT
+ - NOTHING
+ - OCT$
+ - OPTION BASE
+ - OPTION PRIVATE
+ - OR
+ - OUT
+ - OUTS
+ - OUTSB
+ - OUTSD
+ - OUTSW
+ - PAINT
+ - PALETTE
+ - PCOPY
+ - PEEK
+ - PEEKI
+ - PEEKS
+ - PMAP
+ - POINT
+ - POKE
+ - POKEI
+ - POKES
+ - POP
+ - POPA
+ - POPAD
+ - POPF
+ - POPFD
+ - POS
+ - PRESERVE
+ - PRESET
+ - PRINT
+ - PRIVATE
+ - PROCPTR
+ - PSET
+ - PTR
+ - PUBLIC
+ - PUSH
+ - PUSHA
+ - PUSHAD
+ - PUSHF
+ - PUSHFD
+ - PUT
+ - RANDOMIZE
+ - RCL
+ - RCR
+ - REALLOCATE
+ - REDIM
+ - REM
+ - REP
+ - REPE
+ - REPNE
+ - REPNZ
+ - REPZ
+ - RESET
+ - RET
+ - RETURN
+ - RGB
+ - RIGHT$
+ - RMDIR
+ - RND
+ - ROL
+ - ROR
+ - RSET
+ - RTRIM$
+ - RUN
+ - SADD
+ - SAHF
+ - SAL
+ - SAR
+ - SBB
+ - SCAS
+ - SCASB
+ - SCASD
+ - SCASW
+ - SCREEN
+ - SCREENCOPY
+ - SCREENINFO
+ - SCREENLOCK
+ - SCREENPTR
+ - SCREENSET
+ - SCREENUNLOCK
+ - SEEK
+ - SETA
+ - SETAE
+ - SETB
+ - SETBE
+ - SETC
+ - SETDATE
+ - SETE
+ - SETENVIRON
+ - SETG
+ - SETGE
+ - SETL
+ - SETLE
+ - SETNA
+ - SETNAE
+ - SETNB
+ - SETNBE
+ - SETNC
+ - SETNE
+ - SETNG
+ - SETNGE
+ - SETNL
+ - SETNLE
+ - SETNO
+ - SETNP
+ - SETNS
+ - SETNZ
+ - SETO
+ - SETP
+ - SETPE
+ - SETPO
+ - SETS
+ - SETZ
+ - SGDT
+ - SGN
+ - SHARED
+ - SHELL
+ - SHL
+ - SHLD
+ - SHR
+ - SHRD
+ - SIDT
+ - SIN
+ - SLDT
+ - SLEEP
+ - SMSW
+ - SPACE$
+ - SQR
+ - STATIC
+ - STC
+ - STD
+ - STI
+ - STOP
+ - STOS
+ - STOSB
+ - STOSD
+ - STOSW
+ - STR
+ - STR$
+ - STRING$
+ - SWAP
+ - TAN
+ - TEST
+ - TIME$
+ - TIMER
+ - TRIM$
+ - TYPE
+ - UBOUND
+ - UCASE$
+ - UNION
+ - UNLOCK
+ - VAL
+ - VARPTR
+ - VERR
+ - VERW
+ - VIEW
+ - WAIT
+ - WINDOWTITLE
+ - WRITE
+ - XADD
+ - XCHG
+ - XLAT
+ - XLATB
+ - XOR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/fsharp.xml b/data/syntax/fsharp.xml
new file mode 100644
index 0000000..da4930e
--- /dev/null
+++ b/data/syntax/fsharp.xml
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+ - abstract
+ - and
+ - as
+ - assert
+ - base
+
+ - class
+ - delegate
+
+
+ - dowcast
+ - downto
+ - elif
+ - else
+
+ - exception
+ - extern
+ - false
+ - for
+ - fun
+ - function
+ - functor
+ - global
+ - if
+ - in
+
+ - inherit
+ - inline
+ - interfaece
+ - internal
+ - lazy
+ - let
+ - match
+ - member
+
+ - mutable
+ - namespace
+ - new
+ - not
+ - null
+
+ - of
+
+ - or
+ - override
+ - private
+ - public
+ - rec
+ - ref
+ - return
+
+ - static
+
+ - then
+ - to
+ - true
+ - try
+ - type
+ - upcast
+ - use
+ - val
+ - void
+ - when
+ - while
+ - with
+ - yield
+
+
+ - bool
+ - byte
+ - sbyte
+ - int16
+ - uint16
+ - int
+ - uint32
+ - int64
+ - uint64
+ - nativeint
+ - unativeint
+ - char
+ - string
+ - decimal
+ - unit
+ - void
+ - float32
+ - single
+ - float
+ - double
+ - bigint
+ - option
+ - seq
+
+
+ - ?
+
+
+ - end
+
+
+ - sig
+
+
+ - struct
+
+
+ - object
+
+
+ - begin
+
+
+ - do
+
+
+ - done
+
+
+ - module
+ - open
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/fstab.xml b/data/syntax/fstab.xml
new file mode 100644
index 0000000..e78b187
--- /dev/null
+++ b/data/syntax/fstab.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+ - ext2
+ - ext3
+ - fat
+ - vfat
+ - reiser
+ - proc
+ - none
+ - sysfs
+ - ntfs
+ - umsdos
+ - swap
+ - minix
+ - iso9660
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ftl.xml b/data/syntax/ftl.xml
new file mode 100644
index 0000000..8d3923e
--- /dev/null
+++ b/data/syntax/ftl.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gap.xml b/data/syntax/gap.xml
new file mode 100644
index 0000000..8d86e86
--- /dev/null
+++ b/data/syntax/gap.xml
@@ -0,0 +1,7835 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ - break
+ - continue
+ - do
+ - elif
+ - else
+
+
+
+
+
+ - then
+
+
+
+
+
+ - and
+ - fail
+ - false
+ - not
+ - or
+ - true
+
+
+
+
+
+ - in
+ - local
+ - rec
+ - return
+
+
+
+ - mod
+
+
+
+ - AClosVecLib
+ - AClosestVectorCombinationsMatFFEVecFFE
+ - AClosestVectorCombinationsMatFFEVecFFECoords
+ - AClosestVectorDriver
+ - ANFAutomorphism
+ - ANonReesCongruenceOfSemigroup
+ - APolyProd
+ - AbelianGroup
+ - AbelianGroupCons
+ - AbelianInvariants
+ - AbelianInvariantsMultiplier
+ - AbelianInvariantsNormalClosureFpGroup
+ - AbelianInvariantsNormalClosureFpGroupRrs
+ - AbelianInvariantsOfList
+ - AbelianInvariantsSubgroupFpGroup
+ - AbelianInvariantsSubgroupFpGroupMtc
+ - AbelianInvariantsSubgroupFpGroupRrs
+ - AbelianNumberField
+ - AbelianNumberFieldByReducedGaloisStabilizerInfo
+ - AbelianPQuotient
+ - AbelianSubfactorAction
+ - AbsAndIrredModules
+ - AbsInt
+ - AbsolutIrreducibleModules
+ - AbsoluteIrreducibleModules
+ - AbsoluteValue
+ - AbstractWordTietzeWord
+ - AbstractWordTzWord
+ - ActingAlgebra
+ - ActingDomain
+ - Action
+ - ActionAbelianCSPG
+ - ActionHomomorphism
+ - ActionHomomorphismAttr
+ - ActionHomomorphismConstructor
+ - ActionKernelExternalSet
+ - ActionSubspacesElementaryAbelianGroup
+ - ActorOfExternalSet
+ - Add
+ - AddAbelianRelator
+ - AddCoeffs
+ - AddCosetInfoStabChain
+ - AddDictionary
+ - AddEquationsSQ
+ - AddGenerator
+ - AddGenerators
+ - AddGeneratorsExtendSchreierTree
+ - AddGeneratorsGenimagesExtendSchreierTree
+ - AddHashEntry
+ - AddImage
+ - AddImageNC
+ - AddNaturalHomomorphismsPool
+ - AddNormalizingElementPcgs
+ - AddPageNumbersToSix
+ - AddParagraphNumbersGapDocTree
+ - AddRefinement
+ - AddRelator
+ - AddRootParseTree
+ - AddRowVector
+ - AddRule
+ - AddRuleReduced
+ - AddSet
+ - AddToListEntries
+ - AddVectorLTM
+ - AddendumSCTable
+ - AdditiveCoset
+ - AdditiveElementAsMultiplicativeElement
+ - AdditiveElementsAsMultiplicativeElementsFamily
+ - AdditiveGroup
+ - AdditiveGroupByGenerators
+ - AdditiveInverse
+ - AdditiveInverseAttr
+ - AdditiveInverseImmutable
+ - AdditiveInverseMutable
+ - AdditiveInverseOp
+ - AdditiveInverseSM
+ - AdditiveInverseSameMutability
+ - AdditiveMagma
+ - AdditiveMagmaByGenerators
+ - AdditiveMagmaWithInverses
+ - AdditiveMagmaWithInversesByGenerators
+ - AdditiveMagmaWithZero
+ - AdditiveMagmaWithZeroByGenerators
+ - AdditiveNeutralElement
+ - AdditivelyActingDomain
+ - AdjointAssociativeAlgebra
+ - AdjointBasis
+ - AdjointMatrix
+ - AdjointModule
+ - AffineAction
+ - AffineActionByMatrixGroup
+ - AffineActionLayer
+ - AffineOperation
+ - AffineOperationLayer
+ - Agemo
+ - AgemoAbove
+ - AgemoOp
+ - AlgExtElm
+ - AlgExtEmbeddedPol
+ - AlgExtFactSQFree
+ - AlgExtSquareHensel
+ - AlgFacUPrep
+ - Algebra
+ - AlgebraByGenerators
+ - AlgebraByStructureConstants
+ - AlgebraByStructureConstantsArg
+ - AlgebraGeneralMappingByImages
+ - AlgebraHomomorphismByImages
+ - AlgebraHomomorphismByImagesNC
+ - AlgebraWithOne
+ - AlgebraWithOneByGenerators
+ - AlgebraWithOneGeneralMappingByImages
+ - AlgebraWithOneHomomorphismByImages
+ - AlgebraWithOneHomomorphismByImagesNC
+ - AlgebraicElementsFamilies
+ - AlgebraicElementsFamily
+ - AlgebraicExtension
+ - AlgebraicPolynomialModP
+ - AllBlocks
+ - AllGroups
+ - AllIrreducibleMonicPolynomialCoeffsOfDegree
+ - AllIrreducibleMonicPolynomials
+ - AllIrreducibleSolvableGroups
+ - AllLibTomNames
+ - AllModulesSQ
+ - AllMonicPolynomialCoeffsOfDegree
+ - AllPrimitiveGroups
+ - AllSmallGroups
+ - AllTransitiveGroups
+ - AllowableSubgroup
+ - Alpha
+ - AlternatingDegree
+ - AlternatingGroup
+ - AlternatingGroupCons
+ - AlternatingSubgroup
+ - AntiSymmetricParts
+ - Append
+ - AppendCollectedList
+ - AppendTo
+ - ApplicableMethod
+ - ApplicableMethodTypes
+ - Apply
+ - ApplyGeneratorsToPoint
+ - ApplyGeneratorsToPointsList
+ - ApplyRel
+ - ApplySimpleReflection
+ - ApplyToNodesParseTree
+ - ApproxRational
+ - ApproxRootBound
+ - ApproximateRoot
+ - ApproximateSuborbitsStabilizerPermGroup
+ - ArithmeticElementCreator
+ - Arrangements
+ - ArrangementsA
+ - ArrangementsK
+ - AsAlgebra
+ - AsAlgebraWithOne
+ - AsBinaryRelationOnPoints
+ - AsBlockMatrix
+ - AsCharacterMorphismFunction
+ - AsDivisionRing
+ - AsDuplicateFreeList
+ - AsFLMLOR
+ - AsFLMLORWithOne
+ - AsField
+ - AsFreeLeftModule
+ - AsGroup
+ - AsGroupGeneralMappingByImages
+ - AsInducedPcgs
+ - AsLeftIdeal
+ - AsLeftMagmaIdeal
+ - AsLeftModule
+ - AsLeftModuleGeneralMappingByImages
+ - AsLieAlgebra
+ - AsList
+ - AsListOfFreeLeftModule
+ - AsListSorted
+ - AsMagma
+ - AsMagmaIdeal
+ - AsMonoid
+ - AsNearRing
+ - AsPerm
+ - AsPlist
+ - AsPolynomial
+ - AsRightIdeal
+ - AsRightMagmaIdeal
+ - AsRing
+ - AsSSortedList
+ - AsSSortedListList
+ - AsSSortedListNonstored
+ - AsSemigroup
+ - AsSemiring
+ - AsSemiringWithOne
+ - AsSemiringWithOneAndZero
+ - AsSemiringWithZero
+ - AsSet
+ - AsSortedList
+ - AsSubFLMLOR
+ - AsSubFLMLORWithOne
+ - AsSubalgebra
+ - AsSubalgebraWithOne
+ - AsSubgroup
+ - AsSubgroupOfWholeGroupByQuotient
+ - AsSubmagma
+ - AsSubmonoid
+ - AsSubsemigroup
+ - AsSubspace
+ - AsTransformation
+ - AsTransformationNC
+ - AsTwoSidedIdeal
+ - AsVectorSpace
+ - AscendingChain
+ - AscendingChainOp
+ - Assert
+ - AssertionLevel
+ - AssignGeneratorVariables
+ - AssignNiceMonomorphismAutomorphismGroup
+ - AssocBWorLetRepPow
+ - AssocWWorLetRepPow
+ - AssocWord
+ - AssocWordByLetterRep
+ - AssociatedPartition
+ - AssociatedReesMatrixSemigroupOfDClass
+ - AssociatedSemigroup
+ - Associates
+ - AtlasIrrationality
+ - AttributeMethodByNiceMonomorphism
+ - AttributeMethodByNiceMonomorphismCollColl
+ - AttributeMethodByNiceMonomorphismCollElm
+ - AttributeMethodByNiceMonomorphismElmColl
+ - AttributeValueNotSet
+ - AugmentationIdeal
+ - AugmentedCosetTableInWholeGroup
+ - AugmentedCosetTableMtc
+ - AugmentedCosetTableMtcInWholeGroup
+ - AugmentedCosetTableNormalClosure
+ - AugmentedCosetTableNormalClosureInWholeGroup
+ - AugmentedCosetTableRrs
+ - AugmentedCosetTableRrsInWholeGroup
+ - AutoloadPackages
+ - AutomorphismDomain
+ - AutomorphismGroup
+ - AutomorphismGroupAbelianGroup
+ - AutomorphismGroupElAbGroup
+ - AutomorphismGroupFrattFreeGroup
+ - AutomorphismGroupPermGroup
+ - AutomorphismGroupSolvableGroup
+ - AutomorphismRepresentingGroup
+ - AutomorphismsOfTable
+ - AvoidedLayers
+ - BPolyProd
+ - BagStats
+ - BarPartitions
+ - BaseFixedSpace
+ - BaseImage
+ - BaseIntMat
+ - BaseIntersectionIntMats
+ - BaseMat
+ - BaseMatDestructive
+ - BaseOfBasicImageGroup
+ - BaseOfElt
+ - BaseOfGroup
+ - BaseOrthogonalSpaceMat
+ - BasePoint
+ - BasePointOfSchreierTransversal
+ - BaseShortVectors
+ - BaseStabChain
+ - BaseSteinitzVectors
+ - BasicImageEltRepFamily
+ - BasicImageGroup
+ - BasicImageGroupElement
+ - BasicWreathProductOrdering
+ - BasicWreathProductOrderingNC
+ - Basis
+ - BasisForFreeModuleByNiceBasis
+ - BasisNC
+ - BasisNullspaceModN
+ - BasisOfAlgebraModule
+ - BasisOfHomCosetAddMatrixGroup
+ - BasisOfHomCosetAddMatrixGroupFnc
+ - BasisOfMonomialSpace
+ - BasisOfSparseRowSpace
+ - BasisOfWeightRepSpace
+ - BasisVectors
+ - BasisVectorsForMatrixAction
+ - BasisWithReplacedLeftModule
+ - BaumClausenInfo
+ - BaumClausenInfoDebug
+ - BeauzamyBound
+ - BeauzamyBoundGcd
+ - Bell
+ - Bernoulli
+ - BestQuoInt
+ - BestSplittingMatrix
+ - BetaSet
+ - BiAlgebraModule
+ - BiAlgebraModuleByGenerators
+ - BilinearFormMat
+ - BinaryRelationByElements
+ - BinaryRelationByListOfImages
+ - BinaryRelationByListOfImagesNC
+ - BinaryRelationOnPoints
+ - BinaryRelationOnPointsNC
+ - BinaryRelationTransformation
+ - BindGlobal
+ - Binomial
+ - BlistList
+ - BlistStringDecode
+ - BlockMatrix
+ - BlockStabilizer
+ - Blocks
+ - BlocksAttr
+ - BlocksInfo
+ - BlocksOp
+ - BlowUpCocycleSQ
+ - BlowUpIsomorphism
+ - BlownUpMat
+ - BlownUpMatrix
+ - BlownUpModule
+ - BlownUpVector
+ - BombieriNorm
+ - BooleanFamily
+ - BrauerCharacterValue
+ - BrauerTable
+ - BrauerTableOp
+ - BravaisGroup
+ - BravaisSubgroups
+ - BravaisSupergroups
+ - BuildIsomorphismReesMatrixSemigroupWithMap
+ - CIUnivPols
+ - COAffineBlocks
+ - COComplements
+ - COComplementsMain
+ - CONextCentral
+ - CONextCentralizer
+ - CONextCocycles
+ - CONextComplements
+ - CalcDoubleCosets
+ - CalcOrder
+ - CallFuncList
+ - CallFuncTrapError
+ - CanComputeIndex
+ - CanComputeIsSubset
+ - CanComputeSize
+ - CanComputeSizeAnySubgroup
+ - CanEasilyCompareElements
+ - CanEasilyCompareElementsFamily
+ - CanEasilyComputePcgs
+ - CanEasilySortElements
+ - CanEasilySortElementsFamily
+ - CanEasilyTestMembership
+ - CanFindGeneratorOfCyclicGroup
+ - CanFindNilpotentClassTwoElement
+ - CanonicalBasis
+ - CanonicalElt
+ - CanonicalGenerators
+ - CanonicalNiceMonomorphism
+ - CanonicalPcElement
+ - CanonicalPcgs
+ - CanonicalPcgsByGeneratorsWithImages
+ - CanonicalPcgsWrtFamilyPcgs
+ - CanonicalPcgsWrtHomePcgs
+ - CanonicalPcgsWrtSpecialPcgs
+ - CanonicalRelator
+ - CanonicalRepresentativeDeterminatorOfExternalSet
+ - CanonicalRepresentativeOfExternalSet
+ - CanonicalRightCosetElement
+ - CanonicalSubgroupRepresentativePcGroup
+ - CartanMatrix
+ - CartanSubalgebra
+ - Cartesian
+ - CasesCSPG
+ - CategoriesOfObject
+ - CategoryCollections
+ - CategoryFamily
+ - CayleyGraphDualSemigroup
+ - CayleyGraphSemigroup
+ - Cell
+ - CellNoPoint
+ - CellNoPoints
+ - Cells
+ - Center
+ - CenterOfCharacter
+ - CentralCharacter
+ - CentralIdempotentsOfAlgebra
+ - CentralIdempotentsOfSemiring
+ - CentralNormalSeriesByPcgs
+ - CentralProductOfMatrixGroups
+ - CentralRelations
+ - CentralStelClEANSNonsolv
+ - CentralStepClEANS
+ - CentralStepConjugatingElement
+ - CentralStepRatClPGroup
+ - Centralizer
+ - CentralizerInAssociativeGaussianMatrixAlgebra
+ - CentralizerInFiniteDimensionalAlgebra
+ - CentralizerInGLnZ
+ - CentralizerInParent
+ - CentralizerModulo
+ - CentralizerNormalCSPG
+ - CentralizerNormalTransCSPG
+ - CentralizerOp
+ - CentralizerOrder
+ - CentralizerSizeLimitConsiderFunction
+ - CentralizerSolvableGroup
+ - CentralizerTransSymmCSPG
+ - CentralizerWreath
+ - Centre
+ - CentreFromSCTable
+ - CentreOfCharacter
+ - CentrePcGroup
+ - ChaNuPol
+ - ChainHomomorphicImage
+ - ChainStatistics
+ - ChainSubgroup
+ - ChainSubgroupByDirectProduct
+ - ChainSubgroupByHomomorphism
+ - ChainSubgroupByPSubgroupOfAbelian
+ - ChainSubgroupByProjectionFunction
+ - ChainSubgroupBySiftFunction
+ - ChainSubgroupByStabiliser
+ - ChainSubgroupByStabilizer
+ - ChainSubgroupByTrivialSubgroup
+ - ChainSubgroupQuotient
+ - ChangeStabChain
+ - ChangeTypeObj
+ - ChangedBaseGroup
+ - CharTableAlternating
+ - CharTableDoubleCoverAlternating
+ - CharTableDoubleCoverSymmetric
+ - CharTableSymmetric
+ - CharTableWeylB
+ - CharTableWeylD
+ - CharValueDoubleCoverSymmetric
+ - CharValueSymmetric
+ - CharValueWeylB
+ - CharValueWreathSymmetric
+ - Character
+ - CharacterDegreePool
+ - CharacterDegrees
+ - CharacterMorphismGroup
+ - CharacterMorphismOrbits
+ - CharacterNames
+ - CharacterParameters
+ - CharacterString
+ - CharacterTable
+ - CharacterTableDirectProduct
+ - CharacterTableDisplayPrintLegendDefault
+ - CharacterTableDisplayStringEntryDataDefault
+ - CharacterTableDisplayStringEntryDefault
+ - CharacterTableFactorGroup
+ - CharacterTableFromLibrary
+ - CharacterTableHeadOfFactorGroupByFusion
+ - CharacterTableIsoclinic
+ - CharacterTableOfNormalSubgroup
+ - CharacterTableQuaternionic
+ - CharacterTableRegular
+ - CharacterTableWithSortedCharacters
+ - CharacterTableWithSortedClasses
+ - CharacterTableWreathSymmetric
+ - Characteristic
+ - CharacteristicPolynomial
+ - CharacteristicPolynomialMatrixNC
+ - CharsFamily
+ - CheckAndCleanGapDocTree
+ - CheckAuto
+ - CheckCompletionFiles
+ - CheckConsistencyOfDefinitions
+ - CheckCosetTableFpGroup
+ - CheckFixedPoints
+ - CheckForHandlingByNiceBasis
+ - CheckGlobalName
+ - CheckPackageLoading
+ - CheckPermChar
+ - CheckSchreierTreeInternalConsistency
+ - ChevalleyBasis
+ - ChiefNormalSeriesByPcgs
+ - ChiefSeries
+ - ChiefSeriesOfGroup
+ - ChiefSeriesThrough
+ - ChiefSeriesUnderAction
+ - ChineseRem
+ - Chomp
+ - ChooseNextBasePoint
+ - ClassComparison
+ - ClassElementLargeGroup
+ - ClassElementLattice
+ - ClassElementSmallGroup
+ - ClassFunction
+ - ClassFunctionSameType
+ - ClassMultiplicationCoefficient
+ - ClassNames
+ - ClassNamesTom
+ - ClassNumbersElements
+ - ClassOrbit
+ - ClassParameters
+ - ClassPermutation
+ - ClassPositionsOfAgemo
+ - ClassPositionsOfCentre
+ - ClassPositionsOfDerivedSubgroup
+ - ClassPositionsOfDirectProductDecompositions
+ - ClassPositionsOfElementaryAbelianSeries
+ - ClassPositionsOfFittingSubgroup
+ - ClassPositionsOfKernel
+ - ClassPositionsOfLowerCentralSeries
+ - ClassPositionsOfMaximalNormalSubgroups
+ - ClassPositionsOfNormalClosure
+ - ClassPositionsOfNormalSubgroup
+ - ClassPositionsOfNormalSubgroups
+ - ClassPositionsOfSolvableResiduum
+ - ClassPositionsOfSupersolvableResiduum
+ - ClassPositionsOfUpperCentralSeries
+ - ClassRepsPermutedTuples
+ - ClassRoots
+ - ClassStructureCharTable
+ - ClassTypesTom
+ - ClassesSolvableGroup
+ - CleanedTailPcElement
+ - ClearCacheStats
+ - ClearCentralRelations
+ - ClearDefinitionNC
+ - ClearPQuotientStatistics
+ - ClearProfile
+ - CloseMutableBasis
+ - CloseNaturalHomomorphismsPool
+ - CloseStream
+ - ClosedStreamType
+ - ClosureAdditiveGroup
+ - ClosureAdditiveMagmaDefault
+ - ClosureAdditiveMagmaWithInverses
+ - ClosureAlgebra
+ - ClosureDivisionRing
+ - ClosureField
+ - ClosureGroup
+ - ClosureGroupAddElm
+ - ClosureGroupCompare
+ - ClosureGroupDefault
+ - ClosureGroupIntest
+ - ClosureLeftModule
+ - ClosureLeftOperatorRing
+ - ClosureMagmaDefault
+ - ClosureNearAdditiveGroup
+ - ClosureNearAdditiveMagmaWithInverses
+ - ClosureRandomPermGroup
+ - ClosureRing
+ - ClosureSemiring
+ - ClosureSubgroup
+ - ClosureSubgroupNC
+ - CntOp
+ - CoKernel
+ - CoKernelGensIterator
+ - CoKernelGensPermHom
+ - CoKernelOfAdditiveGeneralMapping
+ - CoKernelOfMultiplicativeGeneralMapping
+ - CoSuFp
+ - Coboundaries
+ - CocGroup
+ - Cochain
+ - CochainSpace
+ - CocycleSQ
+ - CocycleToRelVector
+ - Cocycles
+ - CodeGenerators
+ - CodePcGroup
+ - CodePcgs
+ - CoefficientTaylorSeries
+ - Coefficients
+ - CoefficientsAndMagmaElements
+ - CoefficientsFamily
+ - CoefficientsMultiadic
+ - CoefficientsOfLaurentPolynomial
+ - CoefficientsOfUnivariateLaurentPolynomial
+ - CoefficientsOfUnivariatePolynomial
+ - CoefficientsOfUnivariateRationalFunction
+ - CoefficientsOfVector
+ - CoefficientsQadic
+ - CoefficientsRing
+ - CoeffsCyc
+ - CoeffsMod
+ - CollFamRangeEqFamElms
+ - CollFamSourceEqFamElms
+ - CollapsedMat
+ - CollectPolycyclic
+ - CollectUEALatticeElement
+ - CollectWord
+ - CollectWordOrFail
+ - Collected
+ - CollectedPartition
+ - CollectedWordSQ
+ - CollectionsFamily
+ - CollectorSQ
+ - ColorPrompt
+ - ColumnIndexOfReesMatrixSemigroupElement
+ - ColumnIndexOfReesZeroMatrixSemigroupElement
+ - ColumnsOfReesMatrixSemigroup
+ - ColumnsOfReesZeroMatrixSemigroup
+ - Combinations
+ - CombinationsA
+ - CombinationsK
+ - CombinatorialCollector
+ - CombinatorialCollectorByGenerators
+ - CombinatoricSplit
+ - Comm
+ - CommutGenImgs
+ - CommutativeDiagram
+ - CommutatorFactorGroup
+ - CommutatorLength
+ - CommutatorSubgroup
+ - Compacted
+ - CompanionMat
+ - CompareVersionNumbers
+ - CompatibleConjugacyClasses
+ - CompatibleConjugacyClassesDefault
+ - CompatiblePairs
+ - CompileFunc
+ - ComplementIntMat
+ - ComplementSystem
+ - Complementclasses
+ - ComplementclassesEA
+ - ComplementclassesSolvableNC
+ - ComplementclassesSolvableWBG
+ - CompleteChain
+ - CompleteGaloisGroupPElement
+ - CompleteOrdersOfRws
+ - CompleteSchreierTransversal
+ - CompletionBar
+ - ComplexConjugate
+ - ComplexificationQuat
+ - ComponentsOfTuplesFamily
+ - ComposedXMLString
+ - CompositionMapping
+ - CompositionMaps
+ - CompositionOfStraightLinePrograms
+ - CompositionSeries
+ - Compress
+ - ComputeTails
+ - ComputedAgemos
+ - ComputedAscendingChains
+ - ComputedBrauerTables
+ - ComputedClassFusions
+ - ComputedCyclicExtensionsTom
+ - ComputedHallSubgroups
+ - ComputedIndicators
+ - ComputedIsPNilpotents
+ - ComputedIsPSolvableCharacterTables
+ - ComputedIsPSolvables
+ - ComputedOmegas
+ - ComputedPCentralSeriess
+ - ComputedPCores
+ - ComputedPRumps
+ - ComputedPowerMaps
+ - ComputedPrimeBlockss
+ - ComputedSylowComplements
+ - ComputedSylowSubgroups
+ - ConcatSubos
+ - Concatenation
+ - Conductor
+ - ConfluentRws
+ - Congruences
+ - ConjugacyClass
+ - ConjugacyClassSubgroups
+ - ConjugacyClasses
+ - ConjugacyClassesByOrbits
+ - ConjugacyClassesByRandomSearch
+ - ConjugacyClassesFittingFreeGroup
+ - ConjugacyClassesForSmallGroup
+ - ConjugacyClassesMaximalSubgroups
+ - ConjugacyClassesOfNaturalGroup
+ - ConjugacyClassesPerfectSubgroups
+ - ConjugacyClassesSubgroups
+ - ConjugacyClassesSubwreath
+ - ConjugacyClassesTry
+ - ConjugacyClassesViaRadical
+ - ConjugateDominantWeight
+ - ConjugateDominantWeightWithWord
+ - ConjugateGroup
+ - ConjugateMatrixActionToLinearAction
+ - ConjugateMatrixGroupToLinearAction
+ - ConjugateMatrixGroupToLinearGroup
+ - ConjugateStabChain
+ - ConjugateSubgroup
+ - ConjugateSubgroups
+ - ConjugatedModule
+ - Conjugates
+ - ConjugatingElement
+ - ConjugatorAutomorphism
+ - ConjugatorAutomorphismNC
+ - ConjugatorInnerAutomorphism
+ - ConjugatorIsomorphism
+ - ConjugatorOfConjugatorIsomorphism
+ - ConnectGroupAndCharacterTable
+ - ConsiderKernels
+ - ConsiderSmallerPowerMaps
+ - ConsiderStructureConstants
+ - ConsiderTableAutomorphisms
+ - ConstantInBaseRingPol
+ - ConstantTimeAccessList
+ - ConstituentsCompositionMapping
+ - ConstituentsOfCharacter
+ - ConstituentsPolynomial
+ - ContainedCharacters
+ - ContainedDecomposables
+ - ContainedMaps
+ - ContainedPossibleCharacters
+ - ContainedPossibleVirtualCharacters
+ - ContainedSpecialVectors
+ - ContainedTom
+ - ContainingTom
+ - ContinuedFractionApproximationOfRoot
+ - ContinuedFractionExpansionOfRoot
+ - ConvertBasicImageGroupElement
+ - ConvertToCharacterTable
+ - ConvertToCharacterTableNC
+ - ConvertToLibTom
+ - ConvertToLibraryCharacterTableNC
+ - ConvertToMatrixRep
+ - ConvertToMatrixRepNC
+ - ConvertToNormalFormMonomialElement
+ - ConvertToRangeRep
+ - ConvertToSiftGroup
+ - ConvertToStringRep
+ - ConvertToTableOfMarks
+ - ConvertToVectorRep
+ - ConvertToVectorRepNC
+ - ConwayCandidates
+ - ConwayPol
+ - ConwayPolynomial
+ - CopiedAugmentedCosetTable
+ - CopyMappingAttributes
+ - CopyOptionsDefaults
+ - CopyRel
+ - CopyStabChain
+ - Core
+ - CoreInParent
+ - CoreOp
+ - CorestEval
+ - CorrectConjugacyClass
+ - CorrespondingGeneratorsByModuloPcgs
+ - CorrespondingPermutations
+ - CosetLeadersInner
+ - CosetLeadersMatFFE
+ - CosetNumber
+ - CosetRepAsWord
+ - CosetTable
+ - CosetTableBySubgroup
+ - CosetTableDefaultLimit
+ - CosetTableDefaultMaxLimit
+ - CosetTableFpHom
+ - CosetTableFromGensAndRels
+ - CosetTableInWholeGroup
+ - CosetTableNormalClosure
+ - CosetTableNormalClosureInWholeGroup
+ - CosetTableOfFpSemigroup
+ - CosetTableStandard
+ - CoveringTriplesCharacters
+ - CrcFile
+ - CreateAllCycleStructures
+ - CreateCompletionFiles
+ - CreateKnuthBendixRewritingSystem
+ - CreateOrderingByLtFunction
+ - CreateOrderingByLteqFunction
+ - CrystGroupDefaultAction
+ - CurrentAssertionLevel
+ - CycList
+ - Cycle
+ - CycleByPosOp
+ - CycleIndex
+ - CycleIndexOp
+ - CycleLength
+ - CycleLengthOp
+ - CycleLengthPermInt
+ - CycleLengths
+ - CycleLengthsOp
+ - CycleOp
+ - CyclePermInt
+ - CycleStructureClass
+ - CycleStructurePerm
+ - CycleStructuresGroup
+ - Cycles
+ - CyclesOp
+ - CyclicExtensionsTom
+ - CyclicExtensionsTomOp
+ - CyclicGroup
+ - CyclicGroupCons
+ - CyclicTopExtensions
+ - CyclotomicField
+ - CyclotomicPol
+ - CyclotomicPolynomial
+ - Cyclotomics
+ - CyclotomicsFamily
+ - DMYDay
+ - DMYhmsSeconds
+ - DTCommutator
+ - DTConjugate
+ - DTMultiply
+ - DTPower
+ - DTQuotient
+ - DTSolution
+ - DataObj
+ - DataType
+ - DayDMY
+ - DaysInMonth
+ - DaysInYear
+ - DeclareAttribute
+ - DeclareAttributeKernel
+ - DeclareAttributeSuppCT
+ - DeclareAutoPackage
+ - DeclareAutoreadableVariables
+ - DeclareCategory
+ - DeclareCategoryCollections
+ - DeclareCategoryFamily
+ - DeclareCategoryKernel
+ - DeclareComponent
+ - DeclareConstructor
+ - DeclareConstructorKernel
+ - DeclareFilter
+ - DeclareGlobalFunction
+ - DeclareGlobalVariable
+ - DeclareHandlingByNiceBasis
+ - DeclareInfoClass
+ - DeclareOperation
+ - DeclareOperationKernel
+ - DeclarePackage
+ - DeclarePackageAutoDocumentation
+ - DeclarePackageDocumentation
+ - DeclareProperty
+ - DeclarePropertyKernel
+ - DeclarePropertySuppCT
+ - DeclareRepresentation
+ - DeclareRepresentationKernel
+ - DeclareSynonym
+ - DeclareSynonymAttr
+ - DecodeTree
+ - DecodedTreeEntry
+ - DecomposeEltIntoPElts
+ - DecomposeTensorProduct
+ - DecomposedFixedPointVector
+ - DecomposedRationalClass
+ - Decomposition
+ - DecompositionInt
+ - DecompositionMatrix
+ - DecompositionTypes
+ - DecompositionTypesOfGroup
+ - Decreased
+ - DeepThoughtCollector
+ - DeepThoughtCollectorByGenerators
+ - DefaultField
+ - DefaultFieldByGenerators
+ - DefaultFieldOfMatrix
+ - DefaultFieldOfMatrixGroup
+ - DefaultHashLength
+ - DefaultPackageBannerString
+ - DefaultRing
+ - DefaultRingByGenerators
+ - DefaultSparseHashRepType
+ - DefaultSparseHashWithIKRepType
+ - DefaultStabChainOptions
+ - DefectApproximation
+ - DefineNewGenerators
+ - DefiningPcgs
+ - DefiningPolynomial
+ - DefiningQuotientHomomorphism
+ - Degree
+ - DegreeAction
+ - DegreeFFE
+ - DegreeIndeterminate
+ - DegreeNaturalHomomorphismsPool
+ - DegreeOfBinaryRelation
+ - DegreeOfCharacter
+ - DegreeOfLaurentPolynomial
+ - DegreeOfMatrixGroup
+ - DegreeOfTransformation
+ - DegreeOfTransformationSemigroup
+ - DegreeOfUnivariateLaurentPolynomial
+ - DegreeOperation
+ - DegreeOverPrimeField
+ - DeleteImage
+ - Delta
+ - DenominatorCyc
+ - DenominatorOfModuloPcgs
+ - DenominatorOfRationalFunction
+ - DenominatorRat
+ - DenseHashTable
+ - DenseIntKey
+ - DepthOfPcElement
+ - DepthOfUpperTriangularMatrix
+ - DepthSchreierTrees
+ - Derangements
+ - DerangementsK
+ - Derivations
+ - Derivative
+ - DerivedLength
+ - DerivedSeries
+ - DerivedSeriesOfGroup
+ - DerivedSubgroup
+ - DerivedSubgroupTom
+ - DerivedSubgroupsTom
+ - DerivedSubgroupsTomPossible
+ - DerivedSubgroupsTomUnique
+ - DescendingListWithElementRemoved
+ - DescriptionOfNormalizedUEAElement
+ - DescriptionOfRootOfUnity
+ - Determinant
+ - DeterminantIntMat
+ - DeterminantMat
+ - DeterminantMatDestructive
+ - DeterminantMatDivFree
+ - DeterminantOfCharacter
+ - DiagonalMat
+ - DiagonalOfMat
+ - DiagonalSocleAction
+ - DiagonalizeIntMat
+ - DiagonalizeIntMatNormDriven
+ - DiagonalizeMat
+ - DictionariesFamily
+ - DictionaryByList
+ - DictionaryByPosition
+ - DictionaryBySort
+ - DiffCoc
+ - Difference
+ - DifferenceBlist
+ - DifferenceLists
+ - DifferenceOfPcElement
+ - DigitsNumber
+ - DihedralGenerators
+ - DihedralGroup
+ - DihedralGroupCons
+ - Dimension
+ - DimensionOfHighestWeightModule
+ - DimensionOfMatrixGroup
+ - DimensionOfVectors
+ - DimensionsLoewyFactors
+ - DimensionsMat
+ - DirProdTransversal
+ - DirectFactorsOfGroup
+ - DirectProduct
+ - DirectProductDecompositionsLocal
+ - DirectProductInfo
+ - DirectProductOp
+ - DirectSumDecomposition
+ - DirectSumMat
+ - DirectSumOfAlgebraModules
+ - DirectSumOfAlgebras
+ - DirectoriesFamily
+ - DirectoriesLibrary
+ - DirectoriesPackageLibrary
+ - DirectoriesPackagePrograms
+ - DirectoriesSystemPrograms
+ - Directory
+ - DirectoryContents
+ - DirectoryCurrent
+ - DirectoryTemporary
+ - DirectoryType
+ - DisableAttributeValueStoring
+ - Discriminant
+ - Display
+ - DisplayCacheStats
+ - DisplayCompositionSeries
+ - DisplayEggBoxOfDClass
+ - DisplayImfInvariants
+ - DisplayImfReps
+ - DisplayInformationPerfectGroups
+ - DisplayOptions
+ - DisplayOptionsStack
+ - DisplayProfile
+ - DisplayRevision
+ - DisplaySemigroup
+ - DisplayXMLStructure
+ - DistVecClosVecLib
+ - DistanceVecFFE
+ - DistancesDistributionMatFFEVecFFE
+ - DistancesDistributionVecFFEsVecFFE
+ - DivisionRingByGenerators
+ - DivisorsInt
+ - DivisorsIntCache
+ - DixonInit
+ - DixonRecord
+ - DixonRepChi
+ - DixonRepGHchi
+ - DixonSplit
+ - DixontinI
+ - DnLattice
+ - DnLatticeIterative
+ - DoAlgebraicExt
+ - DoCentralSeriesPcgsIfNilpot
+ - DoCheapActionImages
+ - DoCheapOperationImages
+ - DoClosurePrmGp
+ - DoEASLS
+ - DoExponentsConjLayerFampcgs
+ - DoFactorCosetAction
+ - DoGaloisType
+ - DoImmutableMatrix
+ - DoInducedPcgsByPcSequenceNC
+ - DoLogModRho
+ - DoLowIndexSubgroupsFpGroup
+ - DoMulExt
+ - DoNFIM
+ - DoNormalClosurePermGroup
+ - DoNormalizerSA
+ - DoPcgsElementaryAbelianSeries
+ - DoPcgsOrbitOp
+ - DoPrintUnivariateLaurent
+ - DoReadPkg
+ - DoRereadPkg
+ - DoRightTransversalPc
+ - DoShortwordBasepoint
+ - DoSnAnGiantTest
+ - DoSparseActionHomomorphism
+ - DoSparseLinearActionOnFaithfulSubset
+ - DoTest
+ - DoUnivTestRatfun
+ - Domain
+ - DomainByGenerators
+ - DomainForAction
+ - DominantCharacter
+ - DominantWeights
+ - DoubleCentralizerOrbit
+ - DoubleCoset
+ - DoubleCosetRepsAndSizes
+ - DoubleCosets
+ - DoubleCosetsNC
+ - DoubleCosetsPcGroup
+ - DoubleHashArraySize
+ - DoubleHashDictSize
+ - DownEnv
+ - DualGModule
+ - DumpWorkspace
+ - DuplicateFreeList
+ - DxActiveCols
+ - DxCalcAllPowerMaps
+ - DxCalcPrimeClasses
+ - DxDegreeCandidates
+ - DxEigenbase
+ - DxFrobSchurInd
+ - DxGaloisOrbits
+ - DxGeneratePrimeCyclotomic
+ - DxIncludeIrreducibles
+ - DxIsInSpace
+ - DxLiftCharacter
+ - DxLinearCharacters
+ - DxModProduct
+ - DxModularValuePol
+ - DxNiceBasis
+ - DxPreparation
+ - DxRegisterModularChar
+ - DxSplitDegree
+ - EANormalSeriesByPcgs
+ - EAPrimeLayerSQ
+ - ERepAssWorInv
+ - ERepAssWorProd
+ - ERepLettWord
+ - Earns
+ - Edit
+ - EggBoxOfDClass
+ - EichlerTransformation
+ - Eigenspaces
+ - Eigenvalues
+ - EigenvaluesChar
+ - Eigenvectors
+ - ElementByRws
+ - ElementOfFpAlgebra
+ - ElementOfFpGroup
+ - ElementOfFpMonoid
+ - ElementOfFpSemigroup
+ - ElementOfMagmaRing
+ - ElementOrdersPowerMap
+ - ElementProperty
+ - ElementTestFunction
+ - ElementaryAbelianGroup
+ - ElementaryAbelianGroupCons
+ - ElementaryAbelianSeries
+ - ElementaryAbelianSeriesLargeSteps
+ - ElementaryAbelianSubseries
+ - ElementaryDivisorsMat
+ - ElementaryDivisorsMatDestructive
+ - Elements
+ - ElementsFamily
+ - ElementsStabChain
+ - EliminatedWord
+ - EliminationOrdering
+ - ElmDivRingElm
+ - ElmTimesRingElm
+ - ElmWPObj
+ - ElsymsPowersums
+ - Embedding
+ - EmptyBinaryRelation
+ - EmptyMatrix
+ - EmptyRBase
+ - EmptyRowVector
+ - EmptySCTable
+ - EmptyStabChain
+ - EmptyTuplesFamily
+ - EnableAttributeValueStoring
+ - End
+ - EndoMappingByTransformation
+ - EnumerateIndependentAbelianProducts
+ - Enumerator
+ - EnumeratorByBasis
+ - EnumeratorByFunctions
+ - EnumeratorByPcgs
+ - EnumeratorOfAdditiveMagma
+ - EnumeratorOfGroup
+ - EnumeratorOfIdeal
+ - EnumeratorOfMagma
+ - EnumeratorOfMagmaIdeal
+ - EnumeratorOfNormedRowVectors
+ - EnumeratorOfPrimeField
+ - EnumeratorOfRing
+ - EnumeratorOfSemigroupIdeal
+ - EnumeratorOfSubset
+ - EnumeratorOfTrivialAdditiveMagmaWithZero
+ - EnumeratorOfTrivialMagmaWithOne
+ - EnumeratorOfTuples
+ - EnumeratorOfZmodnZ
+ - EnumeratorSorted
+ - EnvelopingAlgebra
+ - EpiPcByModpcgs
+ - EpimorphismNilpotentQuotient
+ - EpimorphismNilpotentQuotientOp
+ - EpimorphismPGroup
+ - EpimorphismQuotientSystem
+ - EpimorphismSchurCover
+ - EqualBoxedObj
+ - EquivalenceClassOfElement
+ - EquivalenceClassOfElementNC
+ - EquivalenceClassRelation
+ - EquivalenceClasses
+ - EquivalenceRelationByPairs
+ - EquivalenceRelationByPairsNC
+ - EquivalenceRelationByPartition
+ - EquivalenceRelationByPartitionNC
+ - EquivalenceRelationByProperty
+ - EquivalenceRelationByRelation
+ - EquivalenceRelationPartition
+ - EquivalenceType
+ - Error
+ - ErrorCount
+ - EspaceBasePoints
+ - EuclideanDegree
+ - EuclideanQuotient
+ - EuclideanRemainder
+ - EulerianFunction
+ - EulerianFunctionByTom
+ - EvalF
+ - EvalFpCoc
+ - EvalStraightLineProgElm
+ - EvalString
+ - EvaluateConsistency
+ - EvaluateOverlapANA
+ - EvaluateOverlapBAN
+ - EvaluateOverlapBNA
+ - EvaluateOverlapCBA
+ - EvaluateRelation
+ - EvaluateRelators
+ - EvectBasePoints
+ - ExactSizeConsiderFunction
+ - ExcludeFromAutoload
+ - ExcludedOrders
+ - Exec
+ - ExecuteProcess
+ - ExpPcElmSortedFun
+ - Exponent
+ - ExponentOfPcElement
+ - ExponentOfPowering
+ - ExponentSumWord
+ - ExponentSums
+ - ExponentSyllable
+ - ExponentsConjugateLayer
+ - ExponentsOfCommutator
+ - ExponentsOfConjugate
+ - ExponentsOfPcElement
+ - ExponentsOfPcElementPermGroup
+ - ExponentsOfRelativePower
+ - ExportToKernelFinished
+ - ExtOrbStabDom
+ - ExtRepByTailVector
+ - ExtRepDenominatorRatFun
+ - ExtRepNumeratorRatFun
+ - ExtRepOfObj
+ - ExtRepPolynomialRatFun
+ - ExtendRepresentation
+ - ExtendSchreierTransversal
+ - ExtendSchreierTransversalShortCube
+ - ExtendSchreierTransversalShortTree
+ - ExtendSeriesPermGroup
+ - ExtendStabChain
+ - ExtendToBasis
+ - ExtendedGroup
+ - ExtendedIntersectionSumPcgs
+ - ExtendedPcgs
+ - ExtendedT
+ - ExtendedVectors
+ - Extension
+ - ExtensionNC
+ - ExtensionOnBlocks
+ - ExtensionRepresentatives
+ - ExtensionSQ
+ - Extensions
+ - ExtensionsOfModule
+ - ExteriorPower
+ - ExteriorPowerOfAlgebraModule
+ - ExternalOrbit
+ - ExternalOrbitOp
+ - ExternalOrbits
+ - ExternalOrbitsStabilizers
+ - ExternalSet
+ - ExternalSetByFilterConstructor
+ - ExternalSetByTypeConstructor
+ - ExternalSubset
+ - ExternalSubsetOp
+ - Extract
+ - ExtraspecialGroup
+ - ExtraspecialGroupCons
+ - FFEFamily
+ - FFPFactors
+ - FFPOrderKnownDividend
+ - FFPPowerModCheck
+ - FFPUpperBoundOrder
+ - FLMLORByGenerators
+ - FLMLORFromFFE
+ - FLMLORWithOne
+ - FLMLORWithOneByGenerators
+ - FMRRemoveZero
+ - FactorCosetAction
+ - FactorCosetOperation
+ - FactorFreeAlgebraByRelators
+ - FactorFreeGroupByRelators
+ - FactorFreeMonoidByRelations
+ - FactorFreeSemigroupByRelations
+ - FactorGroup
+ - FactorGroupFpGroupByRels
+ - FactorGroupNC
+ - FactorGroupNormalSubgroupClasses
+ - FactorGroupTom
+ - FactorSemigroup
+ - FactorSemigroupByClosure
+ - Factorial
+ - Factorization
+ - Factors
+ - FactorsCommonDegreePol
+ - FactorsInt
+ - FactorsOfDirectProduct
+ - FactorsRho
+ - FactorsSquarefree
+ - FaithfulModule
+ - FamElmEqFamRange
+ - FamElmEqFamSource
+ - FamMapFamSourceFamRange
+ - FamRangeEqFamElm
+ - FamRangeNotEqFamElm
+ - FamSourceEqFamElm
+ - FamSourceNotEqFamElm
+ - FamSourceRgtEqFamsLft
+ - FamiliesOfGeneralMappingsAndRanges
+ - FamiliesOfRows
+ - FamilyForOrdering
+ - FamilyForRewritingSystem
+ - FamilyObj
+ - FamilyOfFamilies
+ - FamilyOfTypes
+ - FamilyPcgs
+ - FamilyRange
+ - FamilySource
+ - FamilyType
+ - FastExtSQ
+ - Fibonacci
+ - FibonacciGroup
+ - Field
+ - FieldByGenerators
+ - FieldExtension
+ - FieldOfMatrixGroup
+ - FieldOfMatrixList
+ - FieldOverItselfByGenerators
+ - FileDescriptorOfStream
+ - FileString
+ - Filename
+ - FilterSGMLMarkup
+ - Filtered
+ - FilteredOp
+ - FinIndexCyclicSubgroupGenerator
+ - FindActionKernel
+ - FindBag
+ - FindLayer
+ - FindNewReps
+ - FindNormalCSPG
+ - FindOperationKernel
+ - FindRegularNormalCSPG
+ - FindWindowId
+ - Fingerprint
+ - FingerprintFF
+ - FingerprintLarge
+ - FingerprintMedium
+ - FingerprintPerm
+ - FingerprintSmall
+ - FiniteField
+ - First
+ - FirstOp
+ - FittingSubgroup
+ - FixcellPoint
+ - Fixcells
+ - FixcellsCell
+ - FixedPointSpace
+ - FixpointCellNo
+ - FlagsFamily
+ - FlagsObj
+ - FlagsType
+ - Flat
+ - FlatBlockMat
+ - FlatHashParams
+ - FloatsFamily
+ - FlushCaches
+ - ForAll
+ - ForAllOp
+ - ForAny
+ - ForAnyOp
+ - FormatParagraph
+ - FormattedString
+ - FpAlgebraByGeneralizedCartanMatrix
+ - FpElmComparisonMethod
+ - FpElmEqualityMethod
+ - FpElmKBRWS
+ - FpGroupPcGroupSQ
+ - FpGroupPresentation
+ - FpGrpMonSmgOfFpGrpMonSmgElement
+ - FpLieAlgebraByCartanMatrix
+ - FpLieAlgebraEnumeration
+ - FpMonoidOfElementOfFpMonoid
+ - FpOfModules
+ - FpSemigroupOfElementOfFpSemigroup
+ - FptoSCAMorphismImageElm
+ - FrattiniSubgroup
+ - FrattinifactorId
+ - FrattinifactorSize
+ - FreeAlgebra
+ - FreeAlgebraConstructor
+ - FreeAlgebraOfFpAlgebra
+ - FreeAlgebraWithOne
+ - FreeAssociativeAlgebra
+ - FreeAssociativeAlgebraWithOne
+ - FreeGeneratorsOfFpAlgebra
+ - FreeGeneratorsOfFpGroup
+ - FreeGeneratorsOfFpMonoid
+ - FreeGeneratorsOfFpSemigroup
+ - FreeGeneratorsOfWholeGroup
+ - FreeGroup
+ - FreeGroupOfBasicImageGroup
+ - FreeGroupOfElt
+ - FreeGroupOfFpGroup
+ - FreeLeftModule
+ - FreeLieAlgebra
+ - FreeMagma
+ - FreeMagmaRing
+ - FreeMagmaWithOne
+ - FreeMonoid
+ - FreeMonoidNatHomByGeneratorsNC
+ - FreeMonoidOfFpMonoid
+ - FreeMonoidOfRewritingSystem
+ - FreeSemigroup
+ - FreeSemigroupNatHomByGeneratorsNC
+ - FreeSemigroupOfFpSemigroup
+ - FreeSemigroupOfRewritingSystem
+ - FreeStructureOfRewritingSystem
+ - FrobeniusAutomorphism
+ - FrobeniusAutomorphismI
+ - FrobeniusCharacterValue
+ - FullMatrixAlgebra
+ - FullMatrixAlgebraCentralizer
+ - FullMatrixFLMLOR
+ - FullMatrixLieAlgebra
+ - FullMatrixLieFLMLOR
+ - FullMatrixModule
+ - FullMatrixSpace
+ - FullRowModule
+ - FullRowSpace
+ - FullSparseRowSpace
+ - FullTransformationSemigroup
+ - FunctionAction
+ - FunctionsFamily
+ - FusionCharTableTom
+ - FusionConjugacyClasses
+ - FusionConjugacyClassesOp
+ - FusionRationalClassesPSubgroup
+ - FusionsAllowedByRestrictions
+ - FusionsOfLibTom
+ - FusionsToLibTom
+ - FusionsTom
+ - GAPDocManualLab
+ - GAPInfo
+ - GInverses
+ - GLDegree
+ - GLUnderlyingField
+ - GModuleByMats
+ - GPartitions
+ - GPartitionsEasy
+ - GPartitionsGreatestEQ
+ - GPartitionsGreatestEQHelper
+ - GPartitionsGreatestLE
+ - GPartitionsGreatestLEEasy
+ - GPartitionsNrParts
+ - GPartitionsNrPartsHelper
+ - GQuotients
+ - GaloisConjugates
+ - GaloisCyc
+ - GaloisDiffResolvent
+ - GaloisField
+ - GaloisGroup
+ - GaloisMat
+ - GaloisSetResolvent
+ - GaloisStabilizer
+ - GaloisType
+ - GapInputPcGroup
+ - GapInputSCTable
+ - GasmanLimits
+ - GasmanMessageStatus
+ - GasmanStatistics
+ - GaussianIntegers
+ - GaussianRationals
+ - Gcd
+ - GcdCoeffs
+ - GcdInt
+ - GcdOp
+ - GcdRepresentation
+ - GcdRepresentationOp
+ - Gcdex
+ - GeneralLinearGroup
+ - GeneralLinearGroupCons
+ - GeneralMappingByElements
+ - GeneralMappingsFamily
+ - GeneralOrthogonalGroup
+ - GeneralOrthogonalGroupCons
+ - GeneralStepClEANS
+ - GeneralStepClEANSNonsolv
+ - GeneralUnitaryGroup
+ - GeneralUnitaryGroupCons
+ - GeneralisedEigenspaces
+ - GeneralisedEigenvalues
+ - GeneralizedEigenspaces
+ - GeneralizedEigenvalues
+ - GeneralizedPcgs
+ - GeneratingPairsOfLeftMagmaCongruence
+ - GeneratingPairsOfMagmaCongruence
+ - GeneratingPairsOfRightMagmaCongruence
+ - GeneratingPairsOfSemigroupCongruence
+ - GeneratingSetIsComplete
+ - GeneratorNumberOfQuotient
+ - GeneratorOfCyclicGroup
+ - GeneratorSyllable
+ - GeneratorTranslationAugmentedCosetTable
+ - GeneratorsCenterPGroup
+ - GeneratorsCentrePGroup
+ - GeneratorsListTom
+ - GeneratorsOfAdditiveGroup
+ - GeneratorsOfAdditiveMagma
+ - GeneratorsOfAdditiveMagmaWithInverses
+ - GeneratorsOfAdditiveMagmaWithZero
+ - GeneratorsOfAlgebra
+ - GeneratorsOfAlgebraModule
+ - GeneratorsOfAlgebraWithOne
+ - GeneratorsOfDivisionRing
+ - GeneratorsOfDomain
+ - GeneratorsOfEquivalenceRelationPartition
+ - GeneratorsOfExtASet
+ - GeneratorsOfExtLSet
+ - GeneratorsOfExtRSet
+ - GeneratorsOfExtUSet
+ - GeneratorsOfFLMLOR
+ - GeneratorsOfFLMLORWithOne
+ - GeneratorsOfField
+ - GeneratorsOfGroup
+ - GeneratorsOfIdeal
+ - GeneratorsOfLayer
+ - GeneratorsOfLeftIdeal
+ - GeneratorsOfLeftMagmaIdeal
+ - GeneratorsOfLeftModule
+ - GeneratorsOfLeftOperatorAdditiveGroup
+ - GeneratorsOfLeftOperatorRing
+ - GeneratorsOfLeftOperatorRingWithOne
+ - GeneratorsOfLeftVectorSpace
+ - GeneratorsOfMagma
+ - GeneratorsOfMagmaIdeal
+ - GeneratorsOfMagmaWithInverses
+ - GeneratorsOfMagmaWithOne
+ - GeneratorsOfMonoid
+ - GeneratorsOfNearAdditiveGroup
+ - GeneratorsOfNearAdditiveMagma
+ - GeneratorsOfNearAdditiveMagmaWithInverses
+ - GeneratorsOfNearAdditiveMagmaWithZero
+ - GeneratorsOfPresentation
+ - GeneratorsOfRightIdeal
+ - GeneratorsOfRightMagmaIdeal
+ - GeneratorsOfRightModule
+ - GeneratorsOfRightOperatorAdditiveGroup
+ - GeneratorsOfRing
+ - GeneratorsOfRingForIdeal
+ - GeneratorsOfRingWithOne
+ - GeneratorsOfRws
+ - GeneratorsOfSemigroup
+ - GeneratorsOfSemiring
+ - GeneratorsOfSemiringWithOne
+ - GeneratorsOfSemiringWithOneAndZero
+ - GeneratorsOfSemiringWithZero
+ - GeneratorsOfTwoSidedIdeal
+ - GeneratorsOfVectorSpace
+ - GeneratorsOverIntersection
+ - GeneratorsPrimeResidues
+ - GeneratorsSmallest
+ - GeneratorsSmallestStab
+ - GeneratorsSubgroupsTom
+ - GenericFindActionKernel
+ - GetChars
+ - GetCommutatorNC
+ - GetConjugateNC
+ - GetDefinitionNC
+ - GetETag
+ - GetElement
+ - GetEnt
+ - GetFusionMap
+ - GetHashEntry
+ - GetHashEntryAtLastIndex
+ - GetHashEntryIndex
+ - GetMax
+ - GetNaturalHomomorphismsPool
+ - GetNumRight
+ - GetPols
+ - GetPowerNC
+ - GetSTag
+ - GetWord
+ - GiveNumbersNIndeterminates
+ - GlasbyCover
+ - GlasbyIntersection
+ - GlasbyShift
+ - GlasbyStabilizer
+ - GlobalPartitionOfClasses
+ - Grading
+ - GreensDClassOfElement
+ - GreensDClasses
+ - GreensDRelation
+ - GreensHClassOfElement
+ - GreensHClasses
+ - GreensHRelation
+ - GreensJClassOfElement
+ - GreensJClasses
+ - GreensJRelation
+ - GreensLClassOfElement
+ - GreensLClasses
+ - GreensLRelation
+ - GreensRClassOfElement
+ - GreensRClasses
+ - GreensRRelation
+ - GroebnerBasis
+ - GroebnerBasisNC
+ - Group
+ - GroupByGenerators
+ - GroupByMultiplicationTable
+ - GroupByNiceMonomorphism
+ - GroupByPcgs
+ - GroupByPrimeResidues
+ - GroupByQuotientSystem
+ - GroupByRws
+ - GroupByRwsNC
+ - GroupFromAdditiveGroup
+ - GroupGeneralMappingByImages
+ - GroupHClassOfGreensDClass
+ - GroupHomomorphismByFunction
+ - GroupHomomorphismByImages
+ - GroupHomomorphismByImagesNC
+ - GroupMethodByNiceMonomorphism
+ - GroupMethodByNiceMonomorphismCollColl
+ - GroupMethodByNiceMonomorphismCollElm
+ - GroupMethodByNiceMonomorphismCollOther
+ - GroupOfPcgs
+ - GroupOnSubgroupsOrbit
+ - GroupRing
+ - GroupSeriesMethodByNiceMonomorphism
+ - GroupSeriesMethodByNiceMonomorphismCollColl
+ - GroupSeriesMethodByNiceMonomorphismCollElm
+ - GroupSeriesMethodByNiceMonomorphismCollOther
+ - GroupStabChain
+ - GroupString
+ - GroupToAdditiveGroupHomomorphismByFunction
+ - GroupWithGenerators
+ - HMSMSec
+ - HallSubgroup
+ - HallSubgroupOp
+ - HallSystem
+ - HasANonReesCongruenceOfSemigroup
+ - HasAbelianFactorGroup
+ - HasAbelianInvariants
+ - HasAbelianInvariantsOfList
+ - HasAbsoluteValue
+ - HasActingDomain
+ - HasActionHomomorphismAttr
+ - HasActionKernelExternalSet
+ - HasActorOfExternalSet
+ - HasAdditiveElementAsMultiplicativeElement
+ - HasAdditiveElementsAsMultiplicativeElementsFamily
+ - HasAdditiveInverse
+ - HasAdditiveInverseAttr
+ - HasAdditiveInverseImmutable
+ - HasAdditiveNeutralElement
+ - HasAdditivelyActingDomain
+ - HasAdjointBasis
+ - HasAdjointModule
+ - HasAlgebraicElementsFamilies
+ - HasAllBlocks
+ - HasAlpha
+ - HasAlternatingDegree
+ - HasAlternatingSubgroup
+ - HasAsDuplicateFreeList
+ - HasAsGroup
+ - HasAsGroupGeneralMappingByImages
+ - HasAsLeftModuleGeneralMappingByImages
+ - HasAsList
+ - HasAsMagma
+ - HasAsMonoid
+ - HasAsNearRing
+ - HasAsPolynomial
+ - HasAsRing
+ - HasAsSSortedList
+ - HasAsSemigroup
+ - HasAsSemiring
+ - HasAsSemiringWithOne
+ - HasAsSemiringWithOneAndZero
+ - HasAsSemiringWithZero
+ - HasAsSortedList
+ - HasAsSubgroupOfWholeGroupByQuotient
+ - HasAssociatedReesMatrixSemigroupOfDClass
+ - HasAssociatedSemigroup
+ - HasAugmentationIdeal
+ - HasAugmentedCosetTableMtcInWholeGroup
+ - HasAugmentedCosetTableNormalClosureInWholeGroup
+ - HasAugmentedCosetTableRrsInWholeGroup
+ - HasAutomorphismDomain
+ - HasAutomorphismGroup
+ - HasAutomorphismsOfTable
+ - HasBaseIntMat
+ - HasBaseMat
+ - HasBaseOfBasicImageGroup
+ - HasBaseOfGroup
+ - HasBaseOrthogonalSpaceMat
+ - HasBasis
+ - HasBasisOfHomCosetAddMatrixGroup
+ - HasBasisVectors
+ - HasBaumClausenInfo
+ - HasBilinearFormMat
+ - HasBlocksAttr
+ - HasBlocksInfo
+ - HasBrauerCharacterValue
+ - HasBravaisGroup
+ - HasBravaisSubgroups
+ - HasBravaisSupergroups
+ - HasCanEasilyCompareElements
+ - HasCanEasilySortElements
+ - HasCanFindNilpotentClassTwoElement
+ - HasCanonicalBasis
+ - HasCanonicalElt
+ - HasCanonicalGenerators
+ - HasCanonicalNiceMonomorphism
+ - HasCanonicalPcgs
+ - HasCanonicalPcgsWrtFamilyPcgs
+ - HasCanonicalPcgsWrtHomePcgs
+ - HasCanonicalPcgsWrtSpecialPcgs
+ - HasCanonicalRepresentativeDeterminatorOfExternalSet
+ - HasCanonicalRepresentativeOfExternalSet
+ - HasCartanMatrix
+ - HasCartanSubalgebra
+ - HasCayleyGraphDualSemigroup
+ - HasCayleyGraphSemigroup
+ - HasCenter
+ - HasCentralCharacter
+ - HasCentralIdempotentsOfSemiring
+ - HasCentralNormalSeriesByPcgs
+ - HasCentralizerInGLnZ
+ - HasCentralizerInParent
+ - HasCentre
+ - HasCentreOfCharacter
+ - HasChainHomomorphicImage
+ - HasChainSubgroup
+ - HasChainSubgroupQuotient
+ - HasCharacterDegrees
+ - HasCharacterNames
+ - HasCharacterParameters
+ - HasCharacteristic
+ - HasCharacteristicPolynomial
+ - HasChevalleyBasis
+ - HasChiefNormalSeriesByPcgs
+ - HasChiefSeries
+ - HasClassNames
+ - HasClassNamesTom
+ - HasClassParameters
+ - HasClassPermutation
+ - HasClassPositionsOfCentre
+ - HasClassPositionsOfDerivedSubgroup
+ - HasClassPositionsOfDirectProductDecompositions
+ - HasClassPositionsOfElementaryAbelianSeries
+ - HasClassPositionsOfFittingSubgroup
+ - HasClassPositionsOfKernel
+ - HasClassPositionsOfLowerCentralSeries
+ - HasClassPositionsOfMaximalNormalSubgroups
+ - HasClassPositionsOfNormalSubgroups
+ - HasClassPositionsOfSolvableResiduum
+ - HasClassPositionsOfSupersolvableResiduum
+ - HasClassPositionsOfUpperCentralSeries
+ - HasClassRoots
+ - HasClassTypesTom
+ - HasCoKernelOfAdditiveGeneralMapping
+ - HasCoKernelOfMultiplicativeGeneralMapping
+ - HasCoefficientsAndMagmaElements
+ - HasCoefficientsFamily
+ - HasCoefficientsOfLaurentPolynomial
+ - HasCoefficientsOfUnivariatePolynomial
+ - HasCoefficientsOfUnivariateRationalFunction
+ - HasCoefficientsRing
+ - HasCollectionsFamily
+ - HasColumnIndexOfReesMatrixSemigroupElement
+ - HasColumnIndexOfReesZeroMatrixSemigroupElement
+ - HasColumnsOfReesMatrixSemigroup
+ - HasColumnsOfReesZeroMatrixSemigroup
+ - HasCommutatorFactorGroup
+ - HasCommutatorLength
+ - HasComplementSystem
+ - HasComplexConjugate
+ - HasComponentsOfTuplesFamily
+ - HasCompositionSeries
+ - HasComputedAgemos
+ - HasComputedAscendingChains
+ - HasComputedBrauerTables
+ - HasComputedClassFusions
+ - HasComputedCyclicExtensionsTom
+ - HasComputedHallSubgroups
+ - HasComputedIndicators
+ - HasComputedIsPNilpotents
+ - HasComputedIsPSolvableCharacterTables
+ - HasComputedIsPSolvables
+ - HasComputedOmegas
+ - HasComputedPCentralSeriess
+ - HasComputedPCores
+ - HasComputedPRumps
+ - HasComputedPowerMaps
+ - HasComputedPrimeBlockss
+ - HasComputedSylowComplements
+ - HasComputedSylowSubgroups
+ - HasConductor
+ - HasConfluentRws
+ - HasConjugacyClasses
+ - HasConjugacyClassesMaximalSubgroups
+ - HasConjugacyClassesPerfectSubgroups
+ - HasConjugacyClassesSubgroups
+ - HasConjugates
+ - HasConjugatorInnerAutomorphism
+ - HasConjugatorOfConjugatorIsomorphism
+ - HasConstantTimeAccessList
+ - HasConstituentsOfCharacter
+ - HasConvertBasicImageGroupElement
+ - HasCoreInParent
+ - HasCosetTableFpHom
+ - HasCosetTableInWholeGroup
+ - HasCosetTableNormalClosureInWholeGroup
+ - HasCosetTableOfFpSemigroup
+ - HasCycleStructurePerm
+ - HasCyclicExtensionsTom
+ - HasDecompositionMatrix
+ - HasDecompositionTypesOfGroup
+ - HasDefaultFieldOfMatrix
+ - HasDefaultFieldOfMatrixGroup
+ - HasDefectApproximation
+ - HasDefiningPcgs
+ - HasDefiningPolynomial
+ - HasDegreeAction
+ - HasDegreeOfBinaryRelation
+ - HasDegreeOfCharacter
+ - HasDegreeOfLaurentPolynomial
+ - HasDegreeOfMatrixGroup
+ - HasDegreeOfTransformation
+ - HasDegreeOfTransformationSemigroup
+ - HasDegreeOperation
+ - HasDegreeOverPrimeField
+ - HasDelta
+ - HasDenominatorOfModuloPcgs
+ - HasDenominatorOfRationalFunction
+ - HasDepthOfUpperTriangularMatrix
+ - HasDerivations
+ - HasDerivative
+ - HasDerivedLength
+ - HasDerivedSeriesOfGroup
+ - HasDerivedSubgroup
+ - HasDerivedSubgroupsTomPossible
+ - HasDerivedSubgroupsTomUnique
+ - HasDeterminantMat
+ - HasDeterminantOfCharacter
+ - HasDihedralGenerators
+ - HasDimension
+ - HasDimensionOfMatrixGroup
+ - HasDimensionOfVectors
+ - HasDimensionsLoewyFactors
+ - HasDimensionsMat
+ - HasDirectFactorsOfGroup
+ - HasDirectProductInfo
+ - HasDirectSumDecomposition
+ - HasDisplayOptions
+ - HasDixonRecord
+ - HasEANormalSeriesByPcgs
+ - HasEarns
+ - HasEggBoxOfDClass
+ - HasElementTestFunction
+ - HasElementaryAbelianFactorGroup
+ - HasElementaryAbelianSeries
+ - HasElementaryAbelianSeriesLargeSteps
+ - HasElementaryAbelianSubseries
+ - HasElementsFamily
+ - HasEmptyRowVector
+ - HasEnumerator
+ - HasEnumeratorByBasis
+ - HasEnumeratorSorted
+ - HasEquivalenceClassRelation
+ - HasEquivalenceClasses
+ - HasEquivalenceRelationPartition
+ - HasExponent
+ - HasExponentOfPowering
+ - HasExtRepDenominatorRatFun
+ - HasExtRepNumeratorRatFun
+ - HasExtRepPolynomialRatFun
+ - HasExternalOrbits
+ - HasExternalOrbitsStabilizers
+ - HasExternalSet
+ - HasFactorsOfDirectProduct
+ - HasFaithfulModule
+ - HasFamiliesOfGeneralMappingsAndRanges
+ - HasFamilyForOrdering
+ - HasFamilyForRewritingSystem
+ - HasFamilyPcgs
+ - HasFamilyRange
+ - HasFamilySource
+ - HasFieldOfMatrixGroup
+ - HasFittingSubgroup
+ - HasFpElmComparisonMethod
+ - HasFpElmEqualityMethod
+ - HasFpElmKBRWS
+ - HasFrattiniSubgroup
+ - HasFrattinifactorId
+ - HasFrattinifactorSize
+ - HasFreeAlgebraOfFpAlgebra
+ - HasFreeGeneratorsOfFpAlgebra
+ - HasFreeGeneratorsOfFpGroup
+ - HasFreeGeneratorsOfFpMonoid
+ - HasFreeGeneratorsOfFpSemigroup
+ - HasFreeGroupOfBasicImageGroup
+ - HasFreeGroupOfFpGroup
+ - HasFreeMonoidOfFpMonoid
+ - HasFreeMonoidOfRewritingSystem
+ - HasFreeSemigroupOfFpSemigroup
+ - HasFreeSemigroupOfRewritingSystem
+ - HasFrobeniusAutomorphism
+ - HasFunctionAction
+ - HasFusionConjugacyClassesOp
+ - HasFusionsOfLibTom
+ - HasFusionsToLibTom
+ - HasFusionsTom
+ - HasGLDegree
+ - HasGLUnderlyingField
+ - HasGaloisGroup
+ - HasGaloisMat
+ - HasGaloisStabilizer
+ - HasGaloisType
+ - HasGeneralizedPcgs
+ - HasGeneratingPairsOfLeftMagmaCongruence
+ - HasGeneratingPairsOfMagmaCongruence
+ - HasGeneratingPairsOfRightMagmaCongruence
+ - HasGeneratingSetIsComplete
+ - HasGeneratorOfCyclicGroup
+ - HasGeneratorsOfAdditiveGroup
+ - HasGeneratorsOfAdditiveMagma
+ - HasGeneratorsOfAdditiveMagmaWithInverses
+ - HasGeneratorsOfAdditiveMagmaWithZero
+ - HasGeneratorsOfAlgebra
+ - HasGeneratorsOfAlgebraModule
+ - HasGeneratorsOfAlgebraWithOne
+ - HasGeneratorsOfDivisionRing
+ - HasGeneratorsOfDomain
+ - HasGeneratorsOfEquivalenceRelationPartition
+ - HasGeneratorsOfExtASet
+ - HasGeneratorsOfExtLSet
+ - HasGeneratorsOfExtRSet
+ - HasGeneratorsOfExtUSet
+ - HasGeneratorsOfFLMLOR
+ - HasGeneratorsOfFLMLORWithOne
+ - HasGeneratorsOfField
+ - HasGeneratorsOfGroup
+ - HasGeneratorsOfIdeal
+ - HasGeneratorsOfLeftIdeal
+ - HasGeneratorsOfLeftMagmaIdeal
+ - HasGeneratorsOfLeftModule
+ - HasGeneratorsOfLeftOperatorAdditiveGroup
+ - HasGeneratorsOfLeftOperatorRing
+ - HasGeneratorsOfLeftOperatorRingWithOne
+ - HasGeneratorsOfLeftVectorSpace
+ - HasGeneratorsOfMagma
+ - HasGeneratorsOfMagmaIdeal
+ - HasGeneratorsOfMagmaWithInverses
+ - HasGeneratorsOfMagmaWithOne
+ - HasGeneratorsOfMonoid
+ - HasGeneratorsOfNearAdditiveGroup
+ - HasGeneratorsOfNearAdditiveMagma
+ - HasGeneratorsOfNearAdditiveMagmaWithInverses
+ - HasGeneratorsOfNearAdditiveMagmaWithZero
+ - HasGeneratorsOfRightIdeal
+ - HasGeneratorsOfRightMagmaIdeal
+ - HasGeneratorsOfRightModule
+ - HasGeneratorsOfRightOperatorAdditiveGroup
+ - HasGeneratorsOfRing
+ - HasGeneratorsOfRingWithOne
+ - HasGeneratorsOfRws
+ - HasGeneratorsOfSemigroup
+ - HasGeneratorsOfSemiring
+ - HasGeneratorsOfSemiringWithOne
+ - HasGeneratorsOfSemiringWithOneAndZero
+ - HasGeneratorsOfSemiringWithZero
+ - HasGeneratorsOfTwoSidedIdeal
+ - HasGeneratorsOfVectorSpace
+ - HasGeneratorsSmallest
+ - HasGeneratorsSubgroupsTom
+ - HasGlobalPartitionOfClasses
+ - HasGrading
+ - HasGreensDRelation
+ - HasGreensHRelation
+ - HasGreensJRelation
+ - HasGreensLRelation
+ - HasGreensRRelation
+ - HasGroupByPcgs
+ - HasGroupHClassOfGreensDClass
+ - HasGroupOfPcgs
+ - HasHallSystem
+ - HasHirschLength
+ - HasHomCosetFamily
+ - HasHomFromFreeOfBasicImageGroup
+ - HasHomeEnumerator
+ - HasHomePcgs
+ - HasIBr
+ - HasIdGroup
+ - HasIdempotents
+ - HasIdempotentsTom
+ - HasIdempotentsTomInfo
+ - HasIdentificationOfConjugacyClasses
+ - HasIdentifier
+ - HasIdentity
+ - HasIdentityMapping
+ - HasImageElt
+ - HasImageListOfTransformation
+ - HasImageSetOfTransformation
+ - HasImagesSmallestGenerators
+ - HasImagesSource
+ - HasImfRecord
+ - HasIndependentGeneratorsOfAbelianGroup
+ - HasIndependentGeneratorsOfAbelianMatrixGroup
+ - HasIndeterminateName
+ - HasIndeterminateNumberOfLaurentPolynomial
+ - HasIndeterminateNumberOfUnivariateLaurentPolynomial
+ - HasIndeterminateNumberOfUnivariateRationalFunction
+ - HasIndeterminateOfUnivariateRationalFunction
+ - HasIndeterminatesOfPolynomialRing
+ - HasIndexInParent
+ - HasIndexInWholeGroup
+ - HasIndicesCentralNormalSteps
+ - HasIndicesChiefNormalSteps
+ - HasIndicesEANormalSteps
+ - HasIndicesInvolutaryGenerators
+ - HasIndicesNormalSteps
+ - HasIndicesOfAdjointBasis
+ - HasIndicesPCentralNormalStepsPGroup
+ - HasInducedPcgsWrtFamilyPcgs
+ - HasInducedPcgsWrtHomePcgs
+ - HasInducedPcgsWrtSpecialPcgs
+ - HasInfoText
+ - HasInjectionZeroMagma
+ - HasInnerAutomorphismsAutomorphismGroup
+ - HasInt
+ - HasInternalRepresentative
+ - HasInvariantBilinearForm
+ - HasInvariantConjugateSubgroup
+ - HasInvariantForm
+ - HasInvariantLattice
+ - HasInvariantQuadraticForm
+ - HasInvariantSesquilinearForm
+ - HasInverse
+ - HasInverseAttr
+ - HasInverseClasses
+ - HasInverseGeneralMapping
+ - HasInverseImmutable
+ - HasIrr
+ - HasIrrBaumClausen
+ - HasIrrConlon
+ - HasIrrDixonSchneider
+ - HasIrrFacsPol
+ - HasIrreducibleRepresentations
+ - HasIsAbelian
+ - HasIsAbelianNumberField
+ - HasIsAbelianTom
+ - HasIsAdditiveGroupGeneralMapping
+ - HasIsAdditiveGroupHomomorphism
+ - HasIsAdditiveGroupToGroupGeneralMapping
+ - HasIsAdditiveGroupToGroupHomomorphism
+ - HasIsAdditivelyCommutative
+ - HasIsAlgebraGeneralMapping
+ - HasIsAlgebraHomomorphism
+ - HasIsAlgebraModule
+ - HasIsAlgebraWithOneGeneralMapping
+ - HasIsAlgebraWithOneHomomorphism
+ - HasIsAlternatingGroup
+ - HasIsAnticommutative
+ - HasIsAntisymmetricBinaryRelation
+ - HasIsAssociative
+ - HasIsAutomorphismGroup
+ - HasIsBasicWreathProductOrdering
+ - HasIsBergerCondition
+ - HasIsBijective
+ - HasIsBravaisGroup
+ - HasIsBuiltFromAdditiveMagmaWithInverses
+ - HasIsBuiltFromGroup
+ - HasIsBuiltFromMagma
+ - HasIsBuiltFromMagmaWithInverses
+ - HasIsBuiltFromMagmaWithOne
+ - HasIsBuiltFromMonoid
+ - HasIsBuiltFromSemigroup
+ - HasIsCanonicalBasis
+ - HasIsCanonicalBasisFullMatrixModule
+ - HasIsCanonicalBasisFullRowModule
+ - HasIsCanonicalBasisFullSCAlgebra
+ - HasIsCanonicalNiceMonomorphism
+ - HasIsCanonicalPcgs
+ - HasIsCanonicalPcgsWrtSpecialPcgs
+ - HasIsChainTypeGroup
+ - HasIsCharacter
+ - HasIsCharacteristicMatrixPGroup
+ - HasIsCommutative
+ - HasIsCommutativeFamily
+ - HasIsConfluent
+ - HasIsConjugatorAutomorphism
+ - HasIsConjugatorIsomorphism
+ - HasIsConstantRationalFunction
+ - HasIsConstantTimeAccessGeneralMapping
+ - HasIsCycInt
+ - HasIsCyclic
+ - HasIsCyclicTom
+ - HasIsCyclotomicField
+ - HasIsDihedralGroup
+ - HasIsDistributive
+ - HasIsDivisionRing
+ - HasIsDuplicateFree
+ - HasIsDuplicateFreeList
+ - HasIsElementaryAbelian
+ - HasIsEmpty
+ - HasIsEndoGeneralMapping
+ - HasIsEndoMapping
+ - HasIsEquivalenceRelation
+ - HasIsFFEMatrixGroupOverLargeSpace
+ - HasIsFamilyPcgs
+ - HasIsField
+ - HasIsFieldHomomorphism
+ - HasIsFinite
+ - HasIsFiniteDimensional
+ - HasIsFiniteOrdersPcgs
+ - HasIsFiniteSemigroupGreensRelation
+ - HasIsFinitelyGeneratedGroup
+ - HasIsFrattiniFree
+ - HasIsFreeMonoid
+ - HasIsFreeSemigroup
+ - HasIsFullFpAlgebra
+ - HasIsFullHomModule
+ - HasIsFullMatrixModule
+ - HasIsFullRowModule
+ - HasIsFullSCAlgebra
+ - HasIsFullSubgroupGLorSLRespectingBilinearForm
+ - HasIsFullSubgroupGLorSLRespectingQuadraticForm
+ - HasIsFullSubgroupGLorSLRespectingSesquilinearForm
+ - HasIsFullTransformationSemigroup
+ - HasIsGL
+ - HasIsGeneralLinearGroup
+ - HasIsGeneralizedCartanMatrix
+ - HasIsGeneratorsOfMagmaWithInverses
+ - HasIsGreensClass
+ - HasIsGreensDClass
+ - HasIsGreensDRelation
+ - HasIsGreensHClass
+ - HasIsGreensHRelation
+ - HasIsGreensJClass
+ - HasIsGreensJRelation
+ - HasIsGreensLClass
+ - HasIsGreensLRelation
+ - HasIsGreensRClass
+ - HasIsGreensRRelation
+ - HasIsGreensRelation
+ - HasIsGroupGeneralMapping
+ - HasIsGroupHClass
+ - HasIsGroupHomomorphism
+ - HasIsGroupOfAutomorphisms
+ - HasIsGroupOfAutomorphismsFiniteGroup
+ - HasIsGroupRing
+ - HasIsGroupToAdditiveGroupGeneralMapping
+ - HasIsGroupToAdditiveGroupHomomorphism
+ - HasIsHandledByNiceMonomorphism
+ - HasIsHasseDiagram
+ - HasIsHomCosetOfAdditiveElt
+ - HasIsHomCosetOfFp
+ - HasIsHomCosetOfMatrix
+ - HasIsHomCosetOfPerm
+ - HasIsHomCosetOfTuple
+ - HasIsIdealInParent
+ - HasIsIdempotent
+ - HasIsImpossible
+ - HasIsInducedFromNormalSubgroup
+ - HasIsInducedPcgsWrtSpecialPcgs
+ - HasIsInjective
+ - HasIsInnerAutomorphism
+ - HasIsIntegerMatrixGroup
+ - HasIsIntegralBasis
+ - HasIsIntegralCyclotomic
+ - HasIsIntegralRing
+ - HasIsIrreducibleCharacter
+ - HasIsJacobianRing
+ - HasIsLDistributive
+ - HasIsLatticeOrderBinaryRelation
+ - HasIsLaurentPolynomial
+ - HasIsLeftActedOnByDivisionRing
+ - HasIsLeftAlgebraModule
+ - HasIsLeftIdealInParent
+ - HasIsLeftModuleGeneralMapping
+ - HasIsLeftModuleHomomorphism
+ - HasIsLeftSemigroupCongruence
+ - HasIsLeftSemigroupIdeal
+ - HasIsLieAbelian
+ - HasIsLieAlgebra
+ - HasIsLieNilpotent
+ - HasIsLieSolvable
+ - HasIsLinearlyPrimitive
+ - HasIsMagmaHomomorphism
+ - HasIsMapping
+ - HasIsMatrixModule
+ - HasIsMinimalNonmonomial
+ - HasIsMonoid
+ - HasIsMonomialCharacter
+ - HasIsMonomialCharacterTable
+ - HasIsMonomialGroup
+ - HasIsMonomialMatrix
+ - HasIsMonomialNumber
+ - HasIsNaturalAlternatingGroup
+ - HasIsNaturalGL
+ - HasIsNaturalSL
+ - HasIsNaturalSymmetricGroup
+ - HasIsNearRing
+ - HasIsNearRingWithOne
+ - HasIsNilpQuotientSystem
+ - HasIsNilpotentCharacterTable
+ - HasIsNilpotentGroup
+ - HasIsNilpotentTom
+ - HasIsNonTrivial
+ - HasIsNoncharacteristicMatrixPGroup
+ - HasIsNormalBasis
+ - HasIsNormalForm
+ - HasIsNormalInParent
+ - HasIsNumberField
+ - HasIsNumeratorParentPcgsFamilyPcgs
+ - HasIsOne
+ - HasIsOrderingOnFamilyOfAssocWords
+ - HasIsPGroup
+ - HasIsPQuotientSystem
+ - HasIsPSL
+ - HasIsParentPcgsFamilyPcgs
+ - HasIsPartialOrderBinaryRelation
+ - HasIsPcgsCentralSeries
+ - HasIsPcgsChiefSeries
+ - HasIsPcgsElementaryAbelianSeries
+ - HasIsPcgsPCentralSeriesPGroup
+ - HasIsPerfectCharacterTable
+ - HasIsPerfectGroup
+ - HasIsPerfectTom
+ - HasIsPolycyclicGroup
+ - HasIsPolynomial
+ - HasIsPositionsList
+ - HasIsPreOrderBinaryRelation
+ - HasIsPrimeField
+ - HasIsPrimeOrdersPcgs
+ - HasIsPrimitive
+ - HasIsPrimitiveAffine
+ - HasIsPrimitiveCharacter
+ - HasIsPrimitiveMatrixGroup
+ - HasIsPseudoCanonicalBasisFullHomModule
+ - HasIsQuasiDihedralGroup
+ - HasIsQuasiPrimitive
+ - HasIsQuaternionGroup
+ - HasIsRDistributive
+ - HasIsRationalMatrixGroup
+ - HasIsRectangularTable
+ - HasIsReduced
+ - HasIsReesCongruence
+ - HasIsReesCongruenceSemigroup
+ - HasIsReesMatrixSemigroup
+ - HasIsReesZeroMatrixSemigroup
+ - HasIsReflexiveBinaryRelation
+ - HasIsRegular
+ - HasIsRegularDClass
+ - HasIsRegularSemigroup
+ - HasIsRelativelySM
+ - HasIsRestrictedLieAlgebra
+ - HasIsRightAlgebraModule
+ - HasIsRightIdealInParent
+ - HasIsRightSemigroupCongruence
+ - HasIsRightSemigroupIdeal
+ - HasIsRing
+ - HasIsRingGeneralMapping
+ - HasIsRingHomomorphism
+ - HasIsRingWithOne
+ - HasIsRingWithOneGeneralMapping
+ - HasIsRingWithOneHomomorphism
+ - HasIsRowModule
+ - HasIsSL
+ - HasIsSSortedList
+ - HasIsSemiEchelonized
+ - HasIsSemiRegular
+ - HasIsSemigroup
+ - HasIsSemigroupCongruence
+ - HasIsSemigroupIdeal
+ - HasIsSemiring
+ - HasIsSemiringWithOne
+ - HasIsSemiringWithOneAndZero
+ - HasIsSemiringWithZero
+ - HasIsShortLexOrdering
+ - HasIsSimpleAlgebra
+ - HasIsSimpleCharacterTable
+ - HasIsSimpleGroup
+ - HasIsSimpleSemigroup
+ - HasIsSingleValued
+ - HasIsSkewFieldFamily
+ - HasIsSmallList
+ - HasIsSolvableCharacterTable
+ - HasIsSolvableGroup
+ - HasIsSolvableTom
+ - HasIsSortedList
+ - HasIsSpecialLinearGroup
+ - HasIsSpecialPcgs
+ - HasIsSporadicSimpleCharacterTable
+ - HasIsSporadicSimpleGroup
+ - HasIsStabChainViaChainSubgroup
+ - HasIsSubgroupSL
+ - HasIsSubmonoidFpMonoid
+ - HasIsSubnormallyMonomial
+ - HasIsSubsemigroupFpSemigroup
+ - HasIsSubsemigroupReesMatrixSemigroup
+ - HasIsSubsemigroupReesZeroMatrixSemigroup
+ - HasIsSubsetLocallyFiniteGroup
+ - HasIsSupersolvableCharacterTable
+ - HasIsSupersolvableGroup
+ - HasIsSurjective
+ - HasIsSymmetricBinaryRelation
+ - HasIsSymmetricGroup
+ - HasIsTotal
+ - HasIsTotalOrdering
+ - HasIsTransformationMonoid
+ - HasIsTransformationSemigroup
+ - HasIsTransitive
+ - HasIsTransitiveBinaryRelation
+ - HasIsTranslationInvariantOrdering
+ - HasIsTrivial
+ - HasIsTwoSidedIdealInParent
+ - HasIsUFDFamily
+ - HasIsUniformMatrixGroup
+ - HasIsUnivariatePolynomial
+ - HasIsUnivariateRationalFunction
+ - HasIsVectorSpaceHomomorphism
+ - HasIsVirtualCharacter
+ - HasIsWeightLexOrdering
+ - HasIsWellFoundedOrdering
+ - HasIsWeylGroup
+ - HasIsWholeFamily
+ - HasIsWreathProductOrdering
+ - HasIsZero
+ - HasIsZeroGroup
+ - HasIsZeroMultiplicationRing
+ - HasIsZeroRationalFunction
+ - HasIsZeroSimpleSemigroup
+ - HasIsZeroSquaredRing
+ - HasIsomorphismFpAlgebra
+ - HasIsomorphismFpFLMLOR
+ - HasIsomorphismFpGroup
+ - HasIsomorphismFpMonoid
+ - HasIsomorphismFpSemigroup
+ - HasIsomorphismMatrixAlgebra
+ - HasIsomorphismMatrixFLMLOR
+ - HasIsomorphismPcGroup
+ - HasIsomorphismPermGroup
+ - HasIsomorphismReesMatrixSemigroup
+ - HasIsomorphismRefinedPcGroup
+ - HasIsomorphismSCAlgebra
+ - HasIsomorphismSCFLMLOR
+ - HasIsomorphismSimplifiedFpGroup
+ - HasIsomorphismSpecialPcGroup
+ - HasIsomorphismTransformationSemigroup
+ - HasJenningsLieAlgebra
+ - HasJenningsSeries
+ - HasJordanDecomposition
+ - HasKernelOfAdditiveGeneralMapping
+ - HasKernelOfCharacter
+ - HasKernelOfMultiplicativeGeneralMapping
+ - HasKernelOfTransformation
+ - HasKillingMatrix
+ - HasKnowsHowToDecompose
+ - HasLClassOfHClass
+ - HasLGFirst
+ - HasLGHeads
+ - HasLGLayers
+ - HasLGLength
+ - HasLGTails
+ - HasLGWeights
+ - HasLargestElementGroup
+ - HasLargestMovedPoint
+ - HasLargestMovedPointPerm
+ - HasLatticeGeneratorsInUEA
+ - HasLatticeSubgroups
+ - HasLeadCoeffsIGS
+ - HasLeftActingAlgebra
+ - HasLeftActingDomain
+ - HasLeftActingGroup
+ - HasLeftActingRingOfIdeal
+ - HasLeftDerivations
+ - HasLength
+ - HasLengthsTom
+ - HasLessThanFunction
+ - HasLessThanOrEqualFunction
+ - HasLetterRepWordsLessFunc
+ - HasLevelsOfGenerators
+ - HasLeviMalcevDecomposition
+ - HasLieAlgebraByDomain
+ - HasLieCenter
+ - HasLieCentralizerInParent
+ - HasLieCentre
+ - HasLieDerivedSeries
+ - HasLieDerivedSubalgebra
+ - HasLieFamily
+ - HasLieLowerCentralSeries
+ - HasLieNilRadical
+ - HasLieNormalizerInParent
+ - HasLieObject
+ - HasLieSolvableRadical
+ - HasLieUpperCentralSeries
+ - HasLinearActionBasis
+ - HasLinearCharacters
+ - HasLinesOfStraightLineProgram
+ - HasLongestWeylWordPerm
+ - HasLowerCentralSeriesOfGroup
+ - HasMagmaGeneratorsOfFamily
+ - HasMappingGeneratorsImages
+ - HasMappingOfWhichItIsAsGGMBI
+ - HasMarksTom
+ - HasMatTom
+ - HasMatrixByBlockMatrix
+ - HasMatrixDimension
+ - HasMaximalAbelianQuotient
+ - HasMaximalBlocksAttr
+ - HasMaximalNormalSubgroups
+ - HasMaximalSubgroupClassReps
+ - HasMaximalSubgroups
+ - HasMaximalSubgroupsLattice
+ - HasMaximalSubgroupsTom
+ - HasMinimalBlockDimension
+ - HasMinimalGeneratingSet
+ - HasMinimalNormalSubgroups
+ - HasMinimalStabChain
+ - HasMinimalSupergroupsLattice
+ - HasMinimizedBombieriNorm
+ - HasModuleOfExtension
+ - HasModulusOfZmodnZObj
+ - HasMoebiusTom
+ - HasMolienSeriesInfo
+ - HasMonoidOfRewritingSystem
+ - HasMonomialComparisonFunction
+ - HasMonomialExtrepComparisonFun
+ - HasMovedPoints
+ - HasMultiplicationTable
+ - HasMultiplicativeNeutralElement
+ - HasMultiplicativeZero
+ - HasName
+ - HasNameIsomorphismClass
+ - HasNamesLibTom
+ - HasNamesOfFusionSources
+ - HasNaturalCharacter
+ - HasNaturalHomomorphismByNormalSubgroupNCInParent
+ - HasNaturalHomomorphismsPool
+ - HasNegativeRootVectors
+ - HasNegativeRoots
+ - HasNestingDepthA
+ - HasNestingDepthM
+ - HasNiceAlgebraMonomorphism
+ - HasNiceBasis
+ - HasNiceFreeLeftModule
+ - HasNiceFreeLeftModuleInfo
+ - HasNiceMonomorphism
+ - HasNiceNormalFormByExtRepFunction
+ - HasNiceObject
+ - HasNilpotencyClassOfGroup
+ - HasNilpotentClassTwoElement
+ - HasNonLieNilpotentElement
+ - HasNonNilpotentElement
+ - HasNorm
+ - HasNormalBase
+ - HasNormalClosureInParent
+ - HasNormalMaximalSubgroups
+ - HasNormalSeriesByPcgs
+ - HasNormalSubgroupClassesInfo
+ - HasNormalSubgroups
+ - HasNormalizerInGLnZ
+ - HasNormalizerInGLnZBravaisGroup
+ - HasNormalizerInHomePcgs
+ - HasNormalizerInParent
+ - HasNormalizersTom
+ - HasNormedRowVector
+ - HasNormedRowVectors
+ - HasNormedVectors
+ - HasNotifiedFusionsOfLibTom
+ - HasNotifiedFusionsToLibTom
+ - HasNrConjugacyClasses
+ - HasNrInputsOfStraightLineProgram
+ - HasNrMovedPoints
+ - HasNrMovedPointsPerm
+ - HasNrSubsTom
+ - HasNrSyllables
+ - HasNullAlgebra
+ - HasNullspaceIntMat
+ - HasNullspaceMat
+ - HasNumberGeneratorsOfRws
+ - HasNumberSyllables
+ - HasNumeratorOfModuloPcgs
+ - HasNumeratorOfRationalFunction
+ - HasONanScottType
+ - HasOccuringVariableIndices
+ - HasOmegaAndLowerPCentralSeries
+ - HasOmegaSeries
+ - HasOne
+ - HasOneAttr
+ - HasOneImmutable
+ - HasOneOfPcgs
+ - HasOperatorOfExternalSet
+ - HasOrbitGeneratorsOfGroup
+ - HasOrbitLengths
+ - HasOrbitLengthsDomain
+ - HasOrbitStabilizingParentGroup
+ - HasOrbits
+ - HasOrbitsDomain
+ - HasOrder
+ - HasOrderingOfRewritingSystem
+ - HasOrderingOnGenerators
+ - HasOrderingsFamily
+ - HasOrdersClassRepresentatives
+ - HasOrdersTom
+ - HasOrdinaryCharacterTable
+ - HasOrthogonalSpaceInFullRowSpace
+ - HasPCentralLieAlgebra
+ - HasPCentralNormalSeriesByPcgsPGroup
+ - HasPClassPGroup
+ - HasPSLDegree
+ - HasPSLUnderlyingField
+ - HasParent
+ - HasParentAttr
+ - HasParentPcgs
+ - HasPartialClosureOfCongruence
+ - HasPartialOrderOfHasseDiagram
+ - HasPcGroupWithPcgs
+ - HasPcSeries
+ - HasPcgs
+ - HasPcgsCentralSeries
+ - HasPcgsChiefSeries
+ - HasPcgsElementaryAbelianSeries
+ - HasPcgsPCentralSeriesPGroup
+ - HasPerfectIdentification
+ - HasPerfectResiduum
+ - HasPermutationTom
+ - HasPositiveRootVectors
+ - HasPositiveRoots
+ - HasPositiveRootsAsWeights
+ - HasPowerS
+ - HasPowerSubalgebraSeries
+ - HasPreBasis
+ - HasPreImagesRange
+ - HasPreferredGenerators
+ - HasPrefrattiniSubgroup
+ - HasPresentation
+ - HasPrimaryGeneratorWords
+ - HasPrimeField
+ - HasPrimePGroup
+ - HasPrimePowerComponents
+ - HasPrimitiveElement
+ - HasPrimitiveIdentification
+ - HasPrimitiveRoot
+ - HasProjectiveOrder
+ - HasPseudoRandomSeed
+ - HasPthPowerImages
+ - HasQuasiDihedralGenerators
+ - HasQuaternionGenerators
+ - HasQuotientGroup
+ - HasQuotientGroupHom
+ - HasQuotientSemigroupCongruence
+ - HasQuotientSemigroupHomomorphism
+ - HasQuotientSemigroupPreimage
+ - HasRClassOfHClass
+ - HasRadicalGroup
+ - HasRadicalOfAlgebra
+ - HasRange
+ - HasRankAction
+ - HasRankMat
+ - HasRankOfTransformation
+ - HasRankPGroup
+ - HasRat
+ - HasRationalClasses
+ - HasRationalFunctionsFamily
+ - HasRationalizedMat
+ - HasRealClasses
+ - HasRecNames
+ - HasReducedConfluentRewritingSystem
+ - HasReesCongruenceOfSemigroupIdeal
+ - HasReesZeroMatrixSemigroupElementIsZero
+ - HasRefinedPcGroup
+ - HasRegularActionHomomorphism
+ - HasRelationsOfFpMonoid
+ - HasRelationsOfFpSemigroup
+ - HasRelativeOrders
+ - HasRelatorsOfFpAlgebra
+ - HasRelatorsOfFpGroup
+ - HasRepresentative
+ - HasRepresentativeSmallest
+ - HasRepresentativesContainedRightCosets
+ - HasRepresentativesMinimalBlocksAttr
+ - HasRepresentativesPerfectSubgroups
+ - HasRepresentativesSimpleSubgroups
+ - HasRespectsAddition
+ - HasRespectsAdditiveInverses
+ - HasRespectsInverses
+ - HasRespectsMultiplication
+ - HasRespectsOne
+ - HasRespectsScalarMultiplication
+ - HasRespectsZero
+ - HasRightActingAlgebra
+ - HasRightActingDomain
+ - HasRightActingGroup
+ - HasRightActingRingOfIdeal
+ - HasRightDerivations
+ - HasRightTransversalInParent
+ - HasRootOfDefiningPolynomial
+ - HasRootSystem
+ - HasRowIndexOfReesMatrixSemigroupElement
+ - HasRowIndexOfReesZeroMatrixSemigroupElement
+ - HasRowsOfReesMatrixSemigroup
+ - HasRowsOfReesZeroMatrixSemigroup
+ - HasRules
+ - HasSLDegree
+ - HasSLUnderlyingField
+ - HasSandwichMatrixOfReesMatrixSemigroup
+ - HasSandwichMatrixOfReesZeroMatrixSemigroup
+ - HasSemiEchelonBasis
+ - HasSemiEchelonMat
+ - HasSemiEchelonMatTransformation
+ - HasSemiSimpleType
+ - HasSemidirectFactorsOfGroup
+ - HasSemidirectProductInfo
+ - HasSemigroupOfRewritingSystem
+ - HasSiftFunction
+ - HasSiftGroup
+ - HasSignPerm
+ - HasSimpleSystem
+ - HasSimsNo
+ - HasSize
+ - HasSizesCentralizers
+ - HasSizesConjugacyClasses
+ - HasSmallGeneratingSet
+ - HasSmallestGeneratorPerm
+ - HasSmallestMovedPoint
+ - HasSmallestMovedPointPerm
+ - HasSocle
+ - HasSocleComplement
+ - HasSocleDimensions
+ - HasSocleTypePrimitiveGroup
+ - HasSortingPerm
+ - HasSource
+ - HasSparseCartanMatrix
+ - HasSpecialPcgs
+ - HasSplittingField
+ - HasStabChainImmutable
+ - HasStabChainMutable
+ - HasStabChainOptions
+ - HasStabilizerOfExternalSet
+ - HasStandardGeneratorsInfo
+ - HasStoredExcludedOrders
+ - HasStoredGroebnerBasis
+ - HasStraightLineProgElmType
+ - HasStraightLineProgramsTom
+ - HasString
+ - HasStructureConstantsTable
+ - HasStructureDescription
+ - HasSubdirectProductInfo
+ - HasSubfields
+ - HasSubnormalSeriesInParent
+ - HasSubsTom
+ - HasSubspaces
+ - HasSubspacesAll
+ - HasSuccessors
+ - HasSupersolvableResiduum
+ - HasSurjectiveActionHomomorphismAttr
+ - HasSylowSystem
+ - HasSymmetricDegree
+ - HasSymmetricParentGroup
+ - HasTableOfMarks
+ - HasTestMonomial
+ - HasTestMonomialQuick
+ - HasTestQuasiPrimitive
+ - HasTestRelativelySM
+ - HasTestSubnormallyMonomial
+ - HasTietzeOrigin
+ - HasTrace
+ - HasTranformsOneIntoZero
+ - HasTransformationRepresentation
+ - HasTransformsAdditionIntoMultiplication
+ - HasTransformsAdditiveInversesIntoInverses
+ - HasTransformsInversesIntoAdditiveInverses
+ - HasTransformsMultiplicationIntoAddition
+ - HasTransformsZeroIntoOne
+ - HasTransitiveIdentification
+ - HasTransitivity
+ - HasTransposedMat
+ - HasTransposedMatAttr
+ - HasTransposedMatImmutable
+ - HasTransposedMatrixGroup
+ - HasTransversal
+ - HasTriangulizedNullspaceMat
+ - HasTrivialCharacter
+ - HasTrivialSubFLMLOR
+ - HasTrivialSubadditiveMagmaWithZero
+ - HasTrivialSubalgebra
+ - HasTrivialSubgroup
+ - HasTrivialSubmagmaWithOne
+ - HasTrivialSubmodule
+ - HasTrivialSubmonoid
+ - HasTrivialSubnearAdditiveMagmaWithZero
+ - HasTrivialSubspace
+ - HasTwoClosure
+ - HasTzOptions
+ - HasTzRules
+ - HasUnderlyingCharacterTable
+ - HasUnderlyingCharacteristic
+ - HasUnderlyingCollection
+ - HasUnderlyingElementOfReesMatrixSemigroupElement
+ - HasUnderlyingElementOfReesZeroMatrixSemigroupElement
+ - HasUnderlyingExternalSet
+ - HasUnderlyingFamily
+ - HasUnderlyingField
+ - HasUnderlyingGeneralMapping
+ - HasUnderlyingGroup
+ - HasUnderlyingLeftModule
+ - HasUnderlyingLieAlgebra
+ - HasUnderlyingMagma
+ - HasUnderlyingRelation
+ - HasUnderlyingSemigroupOfReesMatrixSemigroup
+ - HasUnderlyingSemigroupOfReesZeroMatrixSemigroup
+ - HasUnderlyingVectorSpace
+ - HasUnits
+ - HasUniversalEnvelopingAlgebra
+ - HasUpperActingDomain
+ - HasUpperCentralSeriesOfGroup
+ - HasValuesOfClassFunction
+ - HasWeightOfGenerators
+ - HasWeightsTom
+ - HasWeylGroup
+ - HasWreathProductInfo
+ - HasZClassRepsQClass
+ - HasZero
+ - HasZeroAttr
+ - HasZeroCoefficient
+ - HasZeroImmutable
+ - HasZuppos
+ - HashDictAddDictionary
+ - HashFunct
+ - HashKeyBag
+ - HashKeyEnumerator
+ - HashTable
+ - HasnpeGL
+ - HasnpePSL
+ - HasnpeSL
+ - HasseDiagramBinaryRelation
+ - HeadPcElementByNumber
+ - HeadsInfoOfSemiEchelonizedMat
+ - HeadsInfoOfSemiEchelonizedMats
+ - HenselBound
+ - HermiteNormalFormIntegerMat
+ - HermiteNormalFormIntegerMatTransform
+ - HermiteNormalFormIntegerMatTransforms
+ - HeuGcdIntPolsCoeffs
+ - HeuGcdIntPolsExtRep
+ - HeuristicCancelPolynomialsExtRep
+ - HexBlistSetup
+ - HexStringBlist
+ - HexStringBlistEncode
+ - HexStringInt
+ - HideGlobalVariables
+ - HighestWeightModule
+ - HirschLength
+ - Hom
+ - HomCoset
+ - HomCosetFamily
+ - HomCosetWithImage
+ - HomFromFree
+ - HomFromFreeOfBasicImageGroup
+ - HomTransversal
+ - HomeEnumerator
+ - HomePcgs
+ - HomomorphicCanonicalPcgs
+ - HomomorphicInducedPcgs
+ - Homomorphism
+ - HomomorphismFactorSemigroup
+ - HomomorphismFactorSemigroupByClosure
+ - HomomorphismQuotientSemigroup
+ - HomomorphismTransformationSemigroup
+ - HomomorphismsSeries
+ - HumanReadableDefinition
+ - IBr
+ - IMFList
+ - IMFLoad
+ - IMFRec
+ - IdFunc
+ - IdGroup
+ - IdSmallGroup
+ - Ideal
+ - IdealByGenerators
+ - IdealByGeneratorsForLieAlgebra
+ - IdealNC
+ - Idempotents
+ - IdempotentsTom
+ - IdempotentsTomInfo
+ - IdentificationGenericGroup
+ - IdentificationOfConjugacyClasses
+ - IdentificationPermGroup
+ - IdentificationSolvableGroup
+ - Identifier
+ - IdentifierLetters
+ - Identity
+ - IdentityBinaryRelation
+ - IdentityFromSCTable
+ - IdentityMapping
+ - IdentityMat
+ - IdentityTransformation
+ - IdsOfAllGroups
+ - IdsOfAllSmallGroups
+ - Ignore
+ - Image
+ - ImageElm
+ - ImageElmActionHomomorphism
+ - ImageElt
+ - ImageGroup
+ - ImageInWord
+ - ImageKernelBlocksHomomorphism
+ - ImageListOfTransformation
+ - ImageMat
+ - ImageOnAbelianCSPG
+ - ImageSetOfTransformation
+ - ImageSiftedBaseImage
+ - ImageUnderWord
+ - Images
+ - ImagesElm
+ - ImagesListOfBinaryRelation
+ - ImagesRepresentative
+ - ImagesRepresentativeGMBIByElementsList
+ - ImagesSet
+ - ImagesSmallestGenerators
+ - ImagesSource
+ - ImfInvariants
+ - ImfMatrixGroup
+ - ImfNumberQClasses
+ - ImfNumberQQClasses
+ - ImfNumberZClasses
+ - ImfPositionNumber
+ - ImfRecord
+ - ImgElmSLP
+ - ImgElmSLPNonrecursive
+ - ImmediateImplicationsIdentityMapping
+ - ImmediateImplicationsZeroMapping
+ - Immutable
+ - ImmutableBasis
+ - ImmutableMatrix
+ - ImproveActionDegreeByBlocks
+ - ImproveMaps
+ - ImproveOperationDegreeByBlocks
+ - InParentFOA
+ - IncorporateCentralRelations
+ - IncreaseCounter
+ - IndPcgsWrtSpecFromFamOrHome
+ - IndependentGeneratorsAbelianPPermGroup
+ - IndependentGeneratorsOfAbelianGroup
+ - IndependentGeneratorsOfAbelianMatrixGroup
+ - Indeterminate
+ - IndeterminateName
+ - IndeterminateNumberOfLaurentPolynomial
+ - IndeterminateNumberOfUnivariateLaurentPolynomial
+ - IndeterminateNumberOfUnivariateRationalFunction
+ - IndeterminateOfLaurentPolynomial
+ - IndeterminateOfUnivariateRationalFunction
+ - Indeterminateness
+ - IndeterminatenessInfo
+ - IndeterminatesOfPolynomialRing
+ - Index
+ - IndexCosetTab
+ - IndexInParent
+ - IndexInWholeGroup
+ - IndexNC
+ - IndexOp
+ - Indicator
+ - IndicatorOp
+ - IndicesCentralNormalSteps
+ - IndicesChiefNormalSteps
+ - IndicesEANormalSteps
+ - IndicesInvolutaryGenerators
+ - IndicesNormalSteps
+ - IndicesOfAdjointBasis
+ - IndicesPCentralNormalStepsPGroup
+ - IndicesStabChain
+ - Indirected
+ - Induced
+ - InducedActionAutGroup
+ - InducedActionFactor
+ - InducedAutomorphism
+ - InducedClassFunction
+ - InducedClassFunctions
+ - InducedClassFunctionsByFusionMap
+ - InducedCyclic
+ - InducedGModule
+ - InducedLinearAction
+ - InducedModule
+ - InducedModuleByFieldReduction
+ - InducedPcgs
+ - InducedPcgsByGenerators
+ - InducedPcgsByGeneratorsNC
+ - InducedPcgsByGeneratorsWithImages
+ - InducedPcgsByPcSequence
+ - InducedPcgsByPcSequenceAndGenerators
+ - InducedPcgsByPcSequenceNC
+ - InducedPcgsWrtFamilyPcgs
+ - InducedPcgsWrtHomePcgs
+ - InducedPcgsWrtSpecialPcgs
+ - InducedRepFpGroup
+ - InducedRepresentation
+ - InducedRepresentationImagesRepresentative
+ - InduciblePairs
+ - InductionScheme
+ - Inequalities
+ - InertiaSubgroup
+ - InfiniteListOfGenerators
+ - InfiniteListOfNames
+ - Inflated
+ - Info
+ - InfoAction
+ - InfoAlgebra
+ - InfoAttributes
+ - InfoAutGrp
+ - InfoBasicImage
+ - InfoBckt
+ - InfoChain
+ - InfoCharacterTable
+ - InfoClassFamily
+ - InfoClasses
+ - InfoCoh
+ - InfoCompPairs
+ - InfoComplement
+ - InfoConfluence
+ - InfoCoset
+ - InfoData
+ - InfoDebug
+ - InfoDecision
+ - InfoDoPrint
+ - InfoExtReps
+ - InfoFactor
+ - InfoFpGroup
+ - InfoGalois
+ - InfoGlobal
+ - InfoGroebner
+ - InfoGroup
+ - InfoHash
+ - InfoHashTables
+ - InfoHomClass
+ - InfoIdgroup
+ - InfoImf
+ - InfoKnuthBendix
+ - InfoLattice
+ - InfoLevel
+ - InfoMatInt
+ - InfoMatOrb
+ - InfoMatrix
+ - InfoMeatAxe
+ - InfoMethodSelection
+ - InfoMonomial
+ - InfoMorph
+ - InfoNumtheor
+ - InfoOperation
+ - InfoOptions
+ - InfoOverGr
+ - InfoPcGroup
+ - InfoPcNormalizer
+ - InfoPcSubgroup
+ - InfoPerformance
+ - InfoPoly
+ - InfoPrimeInt
+ - InfoQuotientGroup
+ - InfoQuotientSystem
+ - InfoRSS
+ - InfoRandIso
+ - InfoSQ
+ - InfoSchur
+ - InfoSearchTable
+ - InfoSpecPcgs
+ - InfoTeaching
+ - InfoText
+ - InfoTiming
+ - InfoTom
+ - InfoTransversal
+ - InfoTuples
+ - InfoWarning
+ - InfoZLattice
+ - InitAbsAndIrredModules
+ - InitEpimorphismSQ
+ - InitFusion
+ - InitPowerMap
+ - InitialiseCentralRelations
+ - InitializePackagesInfoRecords
+ - InitializeSchreierTree
+ - Injection
+ - InjectionZeroMagma
+ - InnerAutomorphism
+ - InnerAutomorphismNC
+ - InnerAutomorphismsAutomorphismGroup
+ - InnerSubdirectProducts
+ - InputLogTo
+ - InputOutputLocalProcess
+ - InputOutputStreamByPtyDefaultType
+ - InputTextFile
+ - InputTextFileStillOpen
+ - InputTextFileType
+ - InputTextNone
+ - InputTextNoneType
+ - InputTextString
+ - InputTextStringType
+ - InputTextUser
+ - Insert
+ - InsertElmList
+ - InsertTrivialStabilizer
+ - InstallAccessToGenerators
+ - InstallAtExit
+ - InstallAttributeFunction
+ - InstallAttributeMethodByGroupGeneralMappingByImages
+ - InstallCharReadHookFunc
+ - InstallEqMethodForMappingsFromGenerators
+ - InstallFactorMaintenance
+ - InstallFlushableValue
+ - InstallGlobalFunction
+ - InstallHandlingByNiceBasis
+ - InstallHiddenTrueMethod
+ - InstallImmediateMethod
+ - InstallIsomorphismMaintenance
+ - InstallIsomorphismMaintenanceFunction
+ - InstallMethod
+ - InstallMonomialOrdering
+ - InstallOtherMethod
+ - InstallPcgsSeriesFromIndices
+ - InstallSubsetMaintenance
+ - InstallTrueMethod
+ - InstallTrueMethodNewFilter
+ - InstallValue
+ - InstalledPackageVersion
+ - Int
+ - IntFFE
+ - IntFFESymm
+ - IntHexString
+ - IntScalarProducts
+ - IntVecFFE
+ - Integers
+ - IntegralizedMat
+ - IntegratedStraightLineProgram
+ - IntermediateGroup
+ - IntermediateSubgroups
+ - InternalRepresentative
+ - InterpolatedPolynomial
+ - IntersectBlist
+ - IntersectSet
+ - Intersection
+ - IntersectionBlist
+ - IntersectionNormalClosurePermGroup
+ - IntersectionSet
+ - IntersectionSumPcgs
+ - IntersectionsTom
+ - InvariantBilinearForm
+ - InvariantElementaryAbelianSeries
+ - InvariantForm
+ - InvariantLattice
+ - InvariantQuadraticForm
+ - InvariantSesquilinearForm
+ - InvariantSubgroupsElementaryAbelianGroup
+ - InvariantSubspaceOrCyclicGroup
+ - InvariantSubspaceOrUniformCyclicPGroup
+ - Inverse
+ - InverseAsWord
+ - InverseAttr
+ - InverseClasses
+ - InverseGeneralMapping
+ - InverseImmutable
+ - InverseMap
+ - InverseMatMod
+ - InverseMutable
+ - InverseOp
+ - InversePcgs
+ - InverseRepresentative
+ - InverseRepresentativeWord
+ - InverseSLPElm
+ - InverseSM
+ - InverseSameMutability
+ - Irr
+ - IrrBaumClausen
+ - IrrConlon
+ - IrrDixonSchneider
+ - IrrFacsPol
+ - IrredSolGroupList
+ - IrredSolJSGens
+ - IrreducibleDifferences
+ - IrreducibleModules
+ - IrreducibleRepresentations
+ - IrreducibleRepresentationsByBaumClausen
+ - IrreducibleRepresentationsDixon
+ - IrreducibleSolvableGroup
+ - IrreducibleSolvableGroupMS
+ - IsANFAutomorphism
+ - IsANFAutomorphismRep
+ - IsAbelian
+ - IsAbelianNumberField
+ - IsAbelianNumberFieldPolynomialRing
+ - IsAbelianTom
+ - IsActionHomomorphism
+ - IsActionHomomorphismAutomGroup
+ - IsActionHomomorphismByActors
+ - IsActionHomomorphismByBase
+ - IsActionHomomorphismSubset
+ - IsAdditiveCoset
+ - IsAdditiveCosetDefaultRep
+ - IsAdditiveElement
+ - IsAdditiveElementAsMultiplicativeElementRep
+ - IsAdditiveElementCollColl
+ - IsAdditiveElementCollCollColl
+ - IsAdditiveElementCollection
+ - IsAdditiveElementList
+ - IsAdditiveElementTable
+ - IsAdditiveElementWithInverse
+ - IsAdditiveElementWithInverseCollColl
+ - IsAdditiveElementWithInverseCollCollColl
+ - IsAdditiveElementWithInverseCollection
+ - IsAdditiveElementWithInverseList
+ - IsAdditiveElementWithInverseTable
+ - IsAdditiveElementWithZero
+ - IsAdditiveElementWithZeroCollColl
+ - IsAdditiveElementWithZeroCollCollColl
+ - IsAdditiveElementWithZeroCollection
+ - IsAdditiveElementWithZeroList
+ - IsAdditiveElementWithZeroTable
+ - IsAdditiveGroup
+ - IsAdditiveGroupGeneralMapping
+ - IsAdditiveGroupHomomorphism
+ - IsAdditiveGroupToGroupGeneralMapping
+ - IsAdditiveGroupToGroupHomomorphism
+ - IsAdditiveMagma
+ - IsAdditiveMagmaWithInverses
+ - IsAdditiveMagmaWithZero
+ - IsAdditivelyCommutative
+ - IsAdditivelyCommutativeElement
+ - IsAdditivelyCommutativeElementCollColl
+ - IsAdditivelyCommutativeElementCollection
+ - IsAdditivelyCommutativeElementFamily
+ - IsAlgBFRep
+ - IsAlgExtRep
+ - IsAlgebra
+ - IsAlgebraGeneralMapping
+ - IsAlgebraGeneralMappingByImagesDefaultRep
+ - IsAlgebraHomomorphism
+ - IsAlgebraHomomorphismFromFpRep
+ - IsAlgebraModule
+ - IsAlgebraModuleElement
+ - IsAlgebraModuleElementCollection
+ - IsAlgebraModuleElementFamily
+ - IsAlgebraWithOne
+ - IsAlgebraWithOneGeneralMapping
+ - IsAlgebraWithOneHomomorphism
+ - IsAlgebraicElement
+ - IsAlgebraicElementCollColl
+ - IsAlgebraicElementCollCollColl
+ - IsAlgebraicElementCollection
+ - IsAlgebraicElementFamily
+ - IsAlgebraicExtension
+ - IsAlgebraicExtensionDefaultRep
+ - IsAlgebraicExtensionPolynomialRing
+ - IsAlphaChar
+ - IsAlternatingGroup
+ - IsAnticommutative
+ - IsAntisymmetricBinaryRelation
+ - IsAssocWord
+ - IsAssocWordCollection
+ - IsAssocWordFamily
+ - IsAssocWordWithInverse
+ - IsAssocWordWithInverseCollection
+ - IsAssocWordWithInverseFamily
+ - IsAssocWordWithOne
+ - IsAssocWordWithOneCollection
+ - IsAssocWordWithOneFamily
+ - IsAssociated
+ - IsAssociative
+ - IsAssociativeAOpDSum
+ - IsAssociativeAOpESum
+ - IsAssociativeElement
+ - IsAssociativeElementCollColl
+ - IsAssociativeElementCollection
+ - IsAssociativeLOpDProd
+ - IsAssociativeLOpEProd
+ - IsAssociativeROpDProd
+ - IsAssociativeROpEProd
+ - IsAssociativeUOpDProd
+ - IsAssociativeUOpEProd
+ - IsAttributeStoringRep
+ - IsAttributeStoringRepFlags
+ - IsAutomorphismGroup
+ - IsBLetterAssocWordRep
+ - IsBLetterWordsFamily
+ - IsBasicImageEltRep
+ - IsBasicImageEltRepCollection
+ - IsBasicImageGroup
+ - IsBasicWreathLessThanOrEqual
+ - IsBasicWreathProductOrdering
+ - IsBasis
+ - IsBasisByNiceBasis
+ - IsBasisFiniteFieldRep
+ - IsBasisOfAlgebraModuleElementSpace
+ - IsBasisOfMonomialSpaceRep
+ - IsBasisOfSparseRowSpaceRep
+ - IsBasisOfWeightRepElementSpace
+ - IsBasisWithReplacedLeftModuleRep
+ - IsBergerCondition
+ - IsBijective
+ - IsBinaryRelation
+ - IsBinaryRelationDefaultRep
+ - IsBinaryRelationOnPointsRep
+ - IsBlist
+ - IsBlistRep
+ - IsBlockMatrixRep
+ - IsBlocksHomomorphism
+ - IsBlocksOfActionHomomorphism
+ - IsBlowUpIsomorphism
+ - IsBool
+ - IsBound
+ - IsBoundElmWPObj
+ - IsBoundGlobal
+ - IsBracketRep
+ - IsBrauerTable
+ - IsBravaisGroup
+ - IsBuiltFromAdditiveMagmaWithInverses
+ - IsBuiltFromGroup
+ - IsBuiltFromMagma
+ - IsBuiltFromMagmaWithInverses
+ - IsBuiltFromMagmaWithOne
+ - IsBuiltFromMonoid
+ - IsBuiltFromSemigroup
+ - IsCanonicalBasis
+ - IsCanonicalBasisAbelianNumberFieldRep
+ - IsCanonicalBasisAlgebraicExtension
+ - IsCanonicalBasisCyclotomicFieldRep
+ - IsCanonicalBasisFreeMagmaRingRep
+ - IsCanonicalBasisFullMatrixModule
+ - IsCanonicalBasisFullRowModule
+ - IsCanonicalBasisFullSCAlgebra
+ - IsCanonicalBasisGaussianIntegersRep
+ - IsCanonicalBasisIntegersRep
+ - IsCanonicalBasisRationals
+ - IsCanonicalNiceMonomorphism
+ - IsCanonicalPcgs
+ - IsCanonicalPcgsWrtSpecialPcgs
+ - IsCentral
+ - IsCentralFromGenerators
+ - IsChainTypeGroup
+ - IsChar
+ - IsCharCollection
+ - IsCharacter
+ - IsCharacterTable
+ - IsCharacterTableInProgress
+ - IsCharacteristicMatrixPGroup
+ - IsCharacteristicSubgroup
+ - IsCheapConwayPolynomial
+ - IsClassFunction
+ - IsClassFunctionsSpace
+ - IsClassFusionOfNormalSubgroup
+ - IsClosedStream
+ - IsCochain
+ - IsCochainCollection
+ - IsCochainsSpace
+ - IsCocycle
+ - IsCoeffsElms
+ - IsCollCollsElms
+ - IsCollCollsElmsElms
+ - IsCollCollsElmsElmsX
+ - IsCollLieCollsElms
+ - IsCollection
+ - IsCollectionFamily
+ - IsCollsCollsElms
+ - IsCollsCollsElmsX
+ - IsCollsCollsElmsXX
+ - IsCollsElms
+ - IsCollsElmsColls
+ - IsCollsElmsElms
+ - IsCollsElmsElmsElms
+ - IsCollsElmsElmsX
+ - IsCollsElmsX
+ - IsCollsElmsXElms
+ - IsCollsElmsXX
+ - IsCollsXElms
+ - IsCollsXElmsX
+ - IsCombinatorialCollectorRep
+ - IsCommutative
+ - IsCommutativeElement
+ - IsCommutativeElementCollColl
+ - IsCommutativeElementCollection
+ - IsCommutativeFamily
+ - IsCommutativeFromGenerators
+ - IsCompatiblePair
+ - IsComponentObjectRep
+ - IsCompositionMappingRep
+ - IsConfluent
+ - IsCongruenceClass
+ - IsConjugacyClassGroupRep
+ - IsConjugacyClassPermGroupRep
+ - IsConjugacyClassSubgroupsByStabilizerRep
+ - IsConjugacyClassSubgroupsRep
+ - IsConjugate
+ - IsConjugatorAutomorphism
+ - IsConjugatorIsomorphism
+ - IsConsistentPolynomial
+ - IsConstantRationalFunction
+ - IsConstantTimeAccessGeneralMapping
+ - IsConstantTimeAccessList
+ - IsConstituentHomomorphism
+ - IsContainedInSpan
+ - IsCopyable
+ - IsCyc
+ - IsCycInt
+ - IsCyclic
+ - IsCyclicTom
+ - IsCyclotomic
+ - IsCyclotomicCollColl
+ - IsCyclotomicCollCollColl
+ - IsCyclotomicCollection
+ - IsCyclotomicField
+ - IsCyclotomicMatrixGroup
+ - IsDataObjectRep
+ - IsDeepThoughtCollectorRep
+ - IsDefaultGeneralMappingRep
+ - IsDefaultRhsTypeSingleCollector
+ - IsDefaultTupleRep
+ - IsDenseCoeffVectorRep
+ - IsDenseHashRep
+ - IsDenseList
+ - IsDiagonalMat
+ - IsDictionary
+ - IsDictionaryDefaultRep
+ - IsDigitChar
+ - IsDihedralGroup
+ - IsDirectSumElement
+ - IsDirectSumElementCollection
+ - IsDirectSumElementFamily
+ - IsDirectSumElementsSpace
+ - IsDirectory
+ - IsDirectoryPath
+ - IsDirectoryRep
+ - IsDistributive
+ - IsDistributiveLOpDProd
+ - IsDistributiveLOpDSum
+ - IsDistributiveLOpEProd
+ - IsDistributiveLOpESum
+ - IsDistributiveROpDProd
+ - IsDistributiveROpDSum
+ - IsDistributiveROpEProd
+ - IsDistributiveROpESum
+ - IsDistributiveUOpDProd
+ - IsDistributiveUOpDSum
+ - IsDistributiveUOpEProd
+ - IsDistributiveUOpESum
+ - IsDivisionRing
+ - IsDocumentedVariable
+ - IsDomain
+ - IsDoneIterator
+ - IsDoubleCoset
+ - IsDoubleCosetDefaultRep
+ - IsDuplicateFree
+ - IsDuplicateFreeCollection
+ - IsDuplicateFreeList
+ - IsDxLargeGroup
+ - IsElementFinitePolycyclicGroup
+ - IsElementFinitePolycyclicGroupCollection
+ - IsElementOfFpAlgebra
+ - IsElementOfFpAlgebraCollection
+ - IsElementOfFpAlgebraFamily
+ - IsElementOfFpGroup
+ - IsElementOfFpGroupCollection
+ - IsElementOfFpGroupFamily
+ - IsElementOfFpMonoid
+ - IsElementOfFpMonoidCollection
+ - IsElementOfFpMonoidFamily
+ - IsElementOfFpSemigroup
+ - IsElementOfFpSemigroupCollection
+ - IsElementOfFpSemigroupFamily
+ - IsElementOfFreeGroup
+ - IsElementOfFreeGroupFamily
+ - IsElementOfFreeMagmaRing
+ - IsElementOfFreeMagmaRingCollection
+ - IsElementOfFreeMagmaRingFamily
+ - IsElementOfMagmaRingModuloRelations
+ - IsElementOfMagmaRingModuloRelationsCollection
+ - IsElementOfMagmaRingModuloRelationsFamily
+ - IsElementOfMagmaRingModuloSpanOfZeroFamily
+ - IsElementaryAbelian
+ - IsElementsFamilyByRws
+ - IsElmsCoeffs
+ - IsElmsCollColls
+ - IsElmsCollCollsX
+ - IsElmsCollLieColls
+ - IsElmsColls
+ - IsElmsCollsX
+ - IsElmsCollsXX
+ - IsElmsLieColls
+ - IsEmbeddingDirectProductPermGroup
+ - IsEmbeddingImprimitiveWreathProductPermGroup
+ - IsEmbeddingMagmaMagmaRing
+ - IsEmbeddingProductActionWreathProductPermGroup
+ - IsEmbeddingRingMagmaRing
+ - IsEmbeddingWreathProductPermGroup
+ - IsEmpty
+ - IsEmptyRowVectorRep
+ - IsEmptyString
+ - IsEndOfStream
+ - IsEndoGeneralMapping
+ - IsEndoMapping
+ - IsEnumeratorByFunctions
+ - IsEnumeratorByFunctionsRep
+ - IsEnumeratorByPcgsRep
+ - IsEqualSet
+ - IsEquivalenceClass
+ - IsEquivalenceClassDefaultRep
+ - IsEquivalenceRelation
+ - IsEquivalenceRelationDefaultRep
+ - IsEquivalentByFp
+ - IsEuclideanRing
+ - IsEvenInt
+ - IsExecutableFile
+ - IsExistingFile
+ - IsExtAElement
+ - IsExtAElementCollColl
+ - IsExtAElementCollection
+ - IsExtAElementList
+ - IsExtAElementTable
+ - IsExtASet
+ - IsExtLElement
+ - IsExtLElementCollColl
+ - IsExtLElementCollection
+ - IsExtLElementList
+ - IsExtLElementTable
+ - IsExtLSet
+ - IsExtRElement
+ - IsExtRElementCollColl
+ - IsExtRElementCollection
+ - IsExtRElementList
+ - IsExtRElementTable
+ - IsExtRSet
+ - IsExtUSet
+ - IsExtensibleGeneralMapping
+ - IsExtensiblePartialMapping
+ - IsExternalOrbit
+ - IsExternalOrbitByStabilizerRep
+ - IsExternalSet
+ - IsExternalSetByActorsRep
+ - IsExternalSetByOperatorsRep
+ - IsExternalSetByPcgs
+ - IsExternalSetDefaultRep
+ - IsExternalSubset
+ - IsFFE
+ - IsFFECollColl
+ - IsFFECollCollColl
+ - IsFFECollection
+ - IsFFEFamily
+ - IsFFEMatrixGroup
+ - IsFFEMatrixGroupOverLargeSpace
+ - IsFLMLOR
+ - IsFLMLORWithOne
+ - IsFamFamFam
+ - IsFamFamFamX
+ - IsFamFamX
+ - IsFamFamXY
+ - IsFamLieFam
+ - IsFamXFam
+ - IsFamXFamY
+ - IsFamXYFamZ
+ - IsFamily
+ - IsFamilyDefaultRep
+ - IsFamilyElementOfFreeLieAlgebra
+ - IsFamilyOfFamilies
+ - IsFamilyOfTypes
+ - IsFamilyOverFullCoefficientsFamily
+ - IsFamilyPcgs
+ - IsField
+ - IsFieldControlledByGaloisGroup
+ - IsFieldElementsSpace
+ - IsFieldHomomorphism
+ - IsFilter
+ - IsFinite
+ - IsFiniteBasisDefault
+ - IsFiniteDimensional
+ - IsFiniteFieldPolynomialRing
+ - IsFiniteOrderElement
+ - IsFiniteOrderElementCollColl
+ - IsFiniteOrderElementCollection
+ - IsFiniteOrdersPcgs
+ - IsFiniteSemigroupGreensRelation
+ - IsFinitelyGeneratedGroup
+ - IsFixedStabilizer
+ - IsFlatHashTable
+ - IsFlexibleGeneralMapping
+ - IsFlexiblePartialMapping
+ - IsFpAlgebraElementsSpace
+ - IsFpGroup
+ - IsFpMonoid
+ - IsFpSemigroup
+ - IsFptoSCAMorphism
+ - IsFrattiniFree
+ - IsFreeGroup
+ - IsFreeLeftModule
+ - IsFreeMagma
+ - IsFreeMagmaRing
+ - IsFreeMagmaRingWithOne
+ - IsFreeMonoid
+ - IsFreeSemigroup
+ - IsFrobeniusAutomorphism
+ - IsFromFpGroupGeneralMapping
+ - IsFromFpGroupGeneralMappingByImages
+ - IsFromFpGroupHomomorphism
+ - IsFromFpGroupHomomorphismByImages
+ - IsFromFpGroupStdGensGeneralMappingByImages
+ - IsFromFpGroupStdGensHomomorphismByImages
+ - IsFullFpAlgebra
+ - IsFullHomModule
+ - IsFullMatrixModule
+ - IsFullRowModule
+ - IsFullSCAlgebra
+ - IsFullSubgroupGLorSLRespectingBilinearForm
+ - IsFullSubgroupGLorSLRespectingQuadraticForm
+ - IsFullSubgroupGLorSLRespectingSesquilinearForm
+ - IsFullTransformationSemigroup
+ - IsFunction
+ - IsGL
+ - IsGaussInt
+ - IsGaussRat
+ - IsGaussianIntegers
+ - IsGaussianMatrixSpace
+ - IsGaussianRationals
+ - IsGaussianRowSpace
+ - IsGaussianSpace
+ - IsGeneralLinearGroup
+ - IsGeneralMapping
+ - IsGeneralMappingCollection
+ - IsGeneralMappingFamily
+ - IsGeneralPcgs
+ - IsGeneralizedCartanMatrix
+ - IsGeneralizedDomain
+ - IsGeneralizedRowVector
+ - IsGeneratorsOfMagmaWithInverses
+ - IsGenericCharacterTableRep
+ - IsGenericFiniteSpace
+ - IsGreensClass
+ - IsGreensDClass
+ - IsGreensDRelation
+ - IsGreensHClass
+ - IsGreensHRelation
+ - IsGreensJClass
+ - IsGreensJRelation
+ - IsGreensLClass
+ - IsGreensLRelation
+ - IsGreensLessThanOrEqual
+ - IsGreensRClass
+ - IsGreensRRelation
+ - IsGreensRelation
+ - IsGroup
+ - IsGroupGeneralMapping
+ - IsGroupGeneralMappingByAsGroupGeneralMappingByImages
+ - IsGroupGeneralMappingByImages
+ - IsGroupGeneralMappingByPcgs
+ - IsGroupHClass
+ - IsGroupHomomorphism
+ - IsGroupOfAutomorphisms
+ - IsGroupOfAutomorphismsFiniteGroup
+ - IsGroupOfFamily
+ - IsGroupRing
+ - IsGroupToAdditiveGroupGeneralMapping
+ - IsGroupToAdditiveGroupHomomorphism
+ - IsHandledByNiceBasis
+ - IsHandledByNiceMonomorphism
+ - IsHash
+ - IsHashTable
+ - IsHasseDiagram
+ - IsHomCoset
+ - IsHomCosetCollection
+ - IsHomCosetOfAdditiveElt
+ - IsHomCosetOfFp
+ - IsHomCosetOfMatrix
+ - IsHomCosetOfPerm
+ - IsHomCosetOfTuple
+ - IsHomCosetToAdditiveElt
+ - IsHomCosetToAdditiveEltCollection
+ - IsHomCosetToAdditiveEltRep
+ - IsHomCosetToFp
+ - IsHomCosetToFpCollection
+ - IsHomCosetToFpRep
+ - IsHomCosetToMatrix
+ - IsHomCosetToMatrixCollection
+ - IsHomCosetToMatrixRep
+ - IsHomCosetToObjectRep
+ - IsHomCosetToPerm
+ - IsHomCosetToPermCollection
+ - IsHomCosetToPermRep
+ - IsHomCosetToTuple
+ - IsHomCosetToTupleCollection
+ - IsHomCosetToTupleRep
+ - IsHomQuotientGroup
+ - IsHomogeneousList
+ - IsIdeal
+ - IsIdealInParent
+ - IsIdealOp
+ - IsIdempotent
+ - IsIdenticalObj
+ - IsIdenticalObjFamiliesColObjObj
+ - IsIdenticalObjFamiliesColObjObjObj
+ - IsIdenticalObjFamiliesColXXXObj
+ - IsIdenticalObjFamiliesColXXXXXXObj
+ - IsIdenticalObjFamiliesRwsObj
+ - IsIdenticalObjFamiliesRwsObjObj
+ - IsIdenticalObjFamiliesRwsObjXXX
+ - IsIdenticalObjObjObjX
+ - IsIdenticalObjObjXObj
+ - IsImfMatrixGroup
+ - IsImpossible
+ - IsInBasicOrbit
+ - IsInCenter
+ - IsInCentre
+ - IsInChain
+ - IsIncomparableUnder
+ - IsInducedFromNormalSubgroup
+ - IsInducedPcgs
+ - IsInducedPcgsRep
+ - IsInducedPcgsWrtSpecialPcgs
+ - IsInfBitsAssocWord
+ - IsInfBitsFamily
+ - IsInfiniteListOfGeneratorsRep
+ - IsInfiniteListOfNamesRep
+ - IsInfinity
+ - IsInfoClass
+ - IsInfoClassCollection
+ - IsInfoClassListRep
+ - IsInfoSelector
+ - IsInjective
+ - IsInnerAutomorphism
+ - IsInputOutputStream
+ - IsInputOutputStreamByPtyRep
+ - IsInputStream
+ - IsInputTextFileRep
+ - IsInputTextNone
+ - IsInputTextNoneRep
+ - IsInputTextStream
+ - IsInputTextStringRep
+ - IsInt
+ - IsIntegerMatrixGroup
+ - IsIntegers
+ - IsIntegralBasis
+ - IsIntegralCyclotomic
+ - IsIntegralRing
+ - IsInternalRep
+ - IsInternallyConsistent
+ - IsInverseGeneralMappingRep
+ - IsIrreducible
+ - IsIrreducibleCharacter
+ - IsIrreducibleRingElement
+ - IsIterator
+ - IsIteratorByFunctions
+ - IsIteratorByFunctionsRep
+ - IsJacobianElement
+ - IsJacobianElementCollColl
+ - IsJacobianElementCollection
+ - IsJacobianRing
+ - IsKernelPcWord
+ - IsKnuthBendixRewritingSystem
+ - IsKnuthBendixRewritingSystemRep
+ - IsLDistributive
+ - IsLatticeOrderBinaryRelation
+ - IsLatticeSubgroupsRep
+ - IsLaurentPolynomial
+ - IsLaurentPolynomialDefaultRep
+ - IsLaurentPolynomialsFamily
+ - IsLaurentPolynomialsFamilyElement
+ - IsLeftActedOnByDivisionRing
+ - IsLeftActedOnByRing
+ - IsLeftActedOnBySuperset
+ - IsLeftAlgebraModule
+ - IsLeftAlgebraModuleElement
+ - IsLeftAlgebraModuleElementCollection
+ - IsLeftIdeal
+ - IsLeftIdealFromGenerators
+ - IsLeftIdealInParent
+ - IsLeftIdealOp
+ - IsLeftMagmaCongruence
+ - IsLeftMagmaIdeal
+ - IsLeftModule
+ - IsLeftModuleGeneralMapping
+ - IsLeftModuleHomomorphism
+ - IsLeftOperatorAdditiveGroup
+ - IsLeftOperatorRing
+ - IsLeftOperatorRingWithOne
+ - IsLeftSemigroupCongruence
+ - IsLeftSemigroupIdeal
+ - IsLeftVectorSpace
+ - IsLessThanOrEqualUnder
+ - IsLessThanUnder
+ - IsLetterAssocWordRep
+ - IsLetterWordsFamily
+ - IsLexicographicallyLess
+ - IsLibTomRep
+ - IsLibraryCharacterTableRep
+ - IsLieAbelian
+ - IsLieAlgebra
+ - IsLieEmbeddingRep
+ - IsLieFamFam
+ - IsLieMatrix
+ - IsLieNilpotent
+ - IsLieNilpotentElement
+ - IsLieObject
+ - IsLieObjectCollection
+ - IsLieObjectsModule
+ - IsLieSolvable
+ - IsLinearActionHomomorphism
+ - IsLinearGeneralMappingByImagesDefaultRep
+ - IsLinearMapping
+ - IsLinearMappingByMatrixDefaultRep
+ - IsLinearMappingsModule
+ - IsLinearlyIndependent
+ - IsLinearlyPrimitive
+ - IsList
+ - IsListDefault
+ - IsListDictionary
+ - IsListHashTable
+ - IsListLookupDictionary
+ - IsListOrCollection
+ - IsLockedRepresentationVector
+ - IsLookupDictionary
+ - IsLowerAlphaChar
+ - IsLowerTriangularMat
+ - IsMagma
+ - IsMagmaByMultiplicationTableObj
+ - IsMagmaCollsMagmaRingColls
+ - IsMagmaCongruence
+ - IsMagmaHomomorphism
+ - IsMagmaIdeal
+ - IsMagmaRingModuloRelations
+ - IsMagmaRingModuloSpanOfZero
+ - IsMagmaRingObjDefaultRep
+ - IsMagmaRingsMagmas
+ - IsMagmaRingsRings
+ - IsMagmaWithInverses
+ - IsMagmaWithInversesIfNonzero
+ - IsMagmaWithMultiplicativeZeroAdjoinedElementRep
+ - IsMagmaWithOne
+ - IsMagmasMagmaRings
+ - IsMapping
+ - IsMappingByFunctionRep
+ - IsMappingByFunctionWithInverseRep
+ - IsMatchingSublist
+ - IsMatrix
+ - IsMatrixCollection
+ - IsMatrixFLMLOR
+ - IsMatrixGroup
+ - IsMatrixModule
+ - IsMatrixSpace
+ - IsMemberPcSeriesPermGroup
+ - IsMinimalNonmonomial
+ - IsModuloPcgs
+ - IsModuloPcgsFpGroupRep
+ - IsModuloPcgsPermGroupRep
+ - IsModuloPcgsRep
+ - IsModuloTailPcgsByListRep
+ - IsModuloTailPcgsRep
+ - IsModulusRep
+ - IsMonoid
+ - IsMonomial
+ - IsMonomialCharacter
+ - IsMonomialCharacterTable
+ - IsMonomialElement
+ - IsMonomialElementCollection
+ - IsMonomialElementFamily
+ - IsMonomialElementRep
+ - IsMonomialGroup
+ - IsMonomialMatrix
+ - IsMonomialNumber
+ - IsMonomialOrdering
+ - IsMonomialOrderingDefaultRep
+ - IsMultiplicativeElement
+ - IsMultiplicativeElementCollColl
+ - IsMultiplicativeElementCollCollColl
+ - IsMultiplicativeElementCollection
+ - IsMultiplicativeElementList
+ - IsMultiplicativeElementTable
+ - IsMultiplicativeElementWithInverse
+ - IsMultiplicativeElementWithInverseByPolycyclicCollector
+ - IsMultiplicativeElementWithInverseByPolycyclicCollectorCollection
+ - IsMultiplicativeElementWithInverseByRws
+ - IsMultiplicativeElementWithInverseCollColl
+ - IsMultiplicativeElementWithInverseCollCollColl
+ - IsMultiplicativeElementWithInverseCollection
+ - IsMultiplicativeElementWithInverseList
+ - IsMultiplicativeElementWithInverseTable
+ - IsMultiplicativeElementWithOne
+ - IsMultiplicativeElementWithOneCollColl
+ - IsMultiplicativeElementWithOneCollCollColl
+ - IsMultiplicativeElementWithOneCollection
+ - IsMultiplicativeElementWithOneList
+ - IsMultiplicativeElementWithOneTable
+ - IsMultiplicativeElementWithZero
+ - IsMultiplicativeElementWithZeroCollection
+ - IsMultiplicativeGeneralizedRowVector
+ - IsMultiplicativeZero
+ - IsMutable
+ - IsMutableBasis
+ - IsMutableBasisByImmutableBasisRep
+ - IsMutableBasisOfGaussianMatrixSpaceRep
+ - IsMutableBasisOfGaussianRowSpaceRep
+ - IsMutableBasisViaNiceMutableBasisRep
+ - IsMutableBasisViaUnderlyingMutableBasisRep
+ - IsNBitsPcWordRep
+ - IsNameOfNoninstalledTableOfMarks
+ - IsNaturalAlternatingGroup
+ - IsNaturalGL
+ - IsNaturalGLnZ
+ - IsNaturalHomomorphismPcGroupRep
+ - IsNaturalSL
+ - IsNaturalSLnZ
+ - IsNaturalSymmetricGroup
+ - IsNearAdditiveElement
+ - IsNearAdditiveElementCollColl
+ - IsNearAdditiveElementCollCollColl
+ - IsNearAdditiveElementCollection
+ - IsNearAdditiveElementList
+ - IsNearAdditiveElementTable
+ - IsNearAdditiveElementWithInverse
+ - IsNearAdditiveElementWithInverseCollColl
+ - IsNearAdditiveElementWithInverseCollCollColl
+ - IsNearAdditiveElementWithInverseCollection
+ - IsNearAdditiveElementWithInverseList
+ - IsNearAdditiveElementWithInverseTable
+ - IsNearAdditiveElementWithZero
+ - IsNearAdditiveElementWithZeroCollColl
+ - IsNearAdditiveElementWithZeroCollCollColl
+ - IsNearAdditiveElementWithZeroCollection
+ - IsNearAdditiveElementWithZeroList
+ - IsNearAdditiveElementWithZeroTable
+ - IsNearAdditiveGroup
+ - IsNearAdditiveMagma
+ - IsNearAdditiveMagmaWithInverses
+ - IsNearAdditiveMagmaWithZero
+ - IsNearRing
+ - IsNearRingElement
+ - IsNearRingElementCollColl
+ - IsNearRingElementCollCollColl
+ - IsNearRingElementCollection
+ - IsNearRingElementFamily
+ - IsNearRingElementList
+ - IsNearRingElementTable
+ - IsNearRingElementWithInverse
+ - IsNearRingElementWithInverseCollColl
+ - IsNearRingElementWithInverseCollCollColl
+ - IsNearRingElementWithInverseCollection
+ - IsNearRingElementWithInverseList
+ - IsNearRingElementWithInverseTable
+ - IsNearRingElementWithOne
+ - IsNearRingElementWithOneCollColl
+ - IsNearRingElementWithOneCollCollColl
+ - IsNearRingElementWithOneCollection
+ - IsNearRingElementWithOneList
+ - IsNearRingElementWithOneTable
+ - IsNearRingWithOne
+ - IsNearlyCharacterTable
+ - IsNegInt
+ - IsNegRat
+ - IsNiceMonomorphism
+ - IsNilpQuotientSystem
+ - IsNilpotent
+ - IsNilpotentCharacterTable
+ - IsNilpotentElement
+ - IsNilpotentGroup
+ - IsNilpotentTom
+ - IsNoImmediateMethodsObject
+ - IsNonGaussianMatrixSpace
+ - IsNonGaussianRowSpace
+ - IsNonSPGeneralMapping
+ - IsNonSPMappingByFunctionRep
+ - IsNonSPMappingByFunctionWithInverseRep
+ - IsNonTrivial
+ - IsNonassocWord
+ - IsNonassocWordCollection
+ - IsNonassocWordFamily
+ - IsNonassocWordWithOne
+ - IsNonassocWordWithOneCollection
+ - IsNonassocWordWithOneFamily
+ - IsNoncharacteristicMatrixPGroup
+ - IsNonnegativeIntegers
+ - IsNormal
+ - IsNormalBasis
+ - IsNormalForm
+ - IsNormalInParent
+ - IsNormalOp
+ - IsNotElmsColls
+ - IsNotIdenticalObj
+ - IsNullMapMatrix
+ - IsNumberField
+ - IsNumeratorParentForExponentsRep
+ - IsNumeratorParentPcgsFamilyPcgs
+ - IsObjToBePrinted
+ - IsObject
+ - IsOddAdditiveNestingDepthFamily
+ - IsOddAdditiveNestingDepthObject
+ - IsOddInt
+ - IsOne
+ - IsOperation
+ - IsOperationAlgebraHomomorphismDefaultRep
+ - IsOrdering
+ - IsOrderingOnFamilyOfAssocWords
+ - IsOrdinaryMatrix
+ - IsOrdinaryMatrixCollection
+ - IsOrdinaryTable
+ - IsOutputStream
+ - IsOutputTextFileRep
+ - IsOutputTextNone
+ - IsOutputTextNoneRep
+ - IsOutputTextStream
+ - IsOutputTextStringRep
+ - IsPGroup
+ - IsPNilpotent
+ - IsPNilpotentOp
+ - IsPQuotientSystem
+ - IsPSL
+ - IsPSolvable
+ - IsPSolvableCharacterTable
+ - IsPSolvableCharacterTableOp
+ - IsPSolvableOp
+ - IsPackedElementDefaultRep
+ - IsPadicExtensionNumber
+ - IsPadicExtensionNumberFamily
+ - IsPadicNumber
+ - IsPadicNumberCollColl
+ - IsPadicNumberCollection
+ - IsPadicNumberFamily
+ - IsPadicNumberList
+ - IsPadicNumberTable
+ - IsParentPcgsFamilyPcgs
+ - IsPartialOrderBinaryRelation
+ - IsPartition
+ - IsPcGroup
+ - IsPcGroupGeneralMappingByImages
+ - IsPcGroupHomomorphismByImages
+ - IsPcgs
+ - IsPcgsCentralSeries
+ - IsPcgsChiefSeries
+ - IsPcgsDefaultRep
+ - IsPcgsElementaryAbelianSeries
+ - IsPcgsFamily
+ - IsPcgsPCentralSeriesPGroup
+ - IsPcgsPermGroupRep
+ - IsPcgsToPcgsGeneralMappingByImages
+ - IsPcgsToPcgsHomomorphism
+ - IsPerfect
+ - IsPerfectCharacterTable
+ - IsPerfectGroup
+ - IsPerfectLibraryGroup
+ - IsPerfectTom
+ - IsPerm
+ - IsPermCollColl
+ - IsPermCollection
+ - IsPermGroup
+ - IsPermGroupGeneralMappingByImages
+ - IsPermGroupHomomorphismByImages
+ - IsPermOnEnumerator
+ - IsPlistRep
+ - IsPolycyclicCollector
+ - IsPolycyclicGroup
+ - IsPolynomial
+ - IsPolynomialDefaultRep
+ - IsPolynomialFunction
+ - IsPolynomialFunctionCollection
+ - IsPolynomialFunctionsFamily
+ - IsPolynomialFunctionsFamilyElement
+ - IsPolynomialRing
+ - IsPolynomialRingIdeal
+ - IsPosInt
+ - IsPosRat
+ - IsPositionDictionary
+ - IsPositionLookupDictionary
+ - IsPositionalObjectRep
+ - IsPositionsList
+ - IsPositiveIntegers
+ - IsPowerCommutatorCollector
+ - IsPowerConjugateCollector
+ - IsPreOrderBinaryRelation
+ - IsPreimagesByAsGroupGeneralMappingByImages
+ - IsPresentation
+ - IsPresentationDefaultRep
+ - IsPrimGrpIterRep
+ - IsPrime
+ - IsPrimeField
+ - IsPrimeInt
+ - IsPrimeOrdersPcgs
+ - IsPrimePowerInt
+ - IsPrimitive
+ - IsPrimitiveAffine
+ - IsPrimitiveCharacter
+ - IsPrimitiveMatrixGroup
+ - IsPrimitivePolynomial
+ - IsPrimitiveRootMod
+ - IsProbablyPrimeInt
+ - IsProbablyPrimeIntWithFail
+ - IsProjectionDirectProductPermGroup
+ - IsProjectionSubdirectProductPermGroup
+ - IsPseudoCanonicalBasisFullHomModule
+ - IsPurePadicNumber
+ - IsPurePadicNumberFamily
+ - IsQuasiDihedralGroup
+ - IsQuasiPrimitive
+ - IsQuaternion
+ - IsQuaternionCollColl
+ - IsQuaternionCollection
+ - IsQuaternionGroup
+ - IsQuickPositionList
+ - IsQuotientSemigroup
+ - IsQuotientSystem
+ - IsQuotientToAdditiveGroup
+ - IsQuotientToFpGroup
+ - IsQuotientToMatrixGroup
+ - IsQuotientToPermGroup
+ - IsQuotientToTupleGroup
+ - IsRDistributive
+ - IsRange
+ - IsRangeRep
+ - IsRat
+ - IsRationalClassGroupRep
+ - IsRationalClassPermGroupRep
+ - IsRationalFunction
+ - IsRationalFunctionCollection
+ - IsRationalFunctionDefaultRep
+ - IsRationalFunctionOverField
+ - IsRationalFunctionsFamily
+ - IsRationalFunctionsFamilyElement
+ - IsRationalMatrixGroup
+ - IsRationals
+ - IsRationalsPolynomialRing
+ - IsReadOnlyGVar
+ - IsReadOnlyGlobal
+ - IsReadableFile
+ - IsRecord
+ - IsRecordCollColl
+ - IsRecordCollection
+ - IsRectangularTable
+ - IsRectangularTablePlist
+ - IsReduced
+ - IsReducedConfluentRewritingSystem
+ - IsReducedForm
+ - IsReductionOrdering
+ - IsReesCongruence
+ - IsReesCongruenceSemigroup
+ - IsReesMatrixSemigroup
+ - IsReesMatrixSemigroupElement
+ - IsReesMatrixSemigroupElementCollection
+ - IsReesMatrixSemigroupElementRep
+ - IsReesZeroMatrixSemigroup
+ - IsReesZeroMatrixSemigroupElement
+ - IsReesZeroMatrixSemigroupElementCollection
+ - IsReflexiveBinaryRelation
+ - IsRegular
+ - IsRegularDClass
+ - IsRegularSemigroup
+ - IsRegularSemigroupElement
+ - IsRelativeBasisDefaultRep
+ - IsRelativelySM
+ - IsRestrictedLieAlgebra
+ - IsRewritingSystem
+ - IsRightActedOnByDivisionRing
+ - IsRightActedOnByRing
+ - IsRightActedOnBySuperset
+ - IsRightAlgebraModule
+ - IsRightAlgebraModuleElement
+ - IsRightAlgebraModuleElementCollection
+ - IsRightCoset
+ - IsRightCosetDefaultRep
+ - IsRightIdeal
+ - IsRightIdealFromGenerators
+ - IsRightIdealInParent
+ - IsRightIdealOp
+ - IsRightMagmaCongruence
+ - IsRightMagmaIdeal
+ - IsRightModule
+ - IsRightOperatorAdditiveGroup
+ - IsRightSemigroupCongruence
+ - IsRightSemigroupIdeal
+ - IsRightTransversal
+ - IsRightTransversalCollection
+ - IsRightTransversalFpGroupRep
+ - IsRightTransversalPcGroupRep
+ - IsRightTransversalPermGroupRep
+ - IsRightTransversalRep
+ - IsRightTransversalViaCosetsRep
+ - IsRing
+ - IsRingCollsMagmaRingColls
+ - IsRingElement
+ - IsRingElementCollColl
+ - IsRingElementCollCollColl
+ - IsRingElementCollection
+ - IsRingElementFamily
+ - IsRingElementList
+ - IsRingElementTable
+ - IsRingElementWithInverse
+ - IsRingElementWithInverseCollColl
+ - IsRingElementWithInverseCollCollColl
+ - IsRingElementWithInverseCollection
+ - IsRingElementWithInverseList
+ - IsRingElementWithInverseTable
+ - IsRingElementWithOne
+ - IsRingElementWithOneCollColl
+ - IsRingElementWithOneCollCollColl
+ - IsRingElementWithOneCollection
+ - IsRingElementWithOneList
+ - IsRingElementWithOneTable
+ - IsRingGeneralMapping
+ - IsRingHomomorphism
+ - IsRingWithOne
+ - IsRingWithOneGeneralMapping
+ - IsRingWithOneHomomorphism
+ - IsRingsMagmaRings
+ - IsRootSystem
+ - IsRootSystemFromLieAlgebra
+ - IsRowModule
+ - IsRowSpace
+ - IsRowVector
+ - IsSCAlgebraObj
+ - IsSCAlgebraObjCollColl
+ - IsSCAlgebraObjCollCollColl
+ - IsSCAlgebraObjCollection
+ - IsSCAlgebraObjFamily
+ - IsSCAlgebraObjSpace
+ - IsSL
+ - IsSPGeneralMapping
+ - IsSPMappingByFunctionRep
+ - IsSPMappingByFunctionWithInverseRep
+ - IsSSortedList
+ - IsScalar
+ - IsScalarCollColl
+ - IsScalarCollection
+ - IsScalarList
+ - IsScalarTable
+ - IsSearchTable
+ - IsSemiEchelonBasisOfGaussianMatrixSpaceRep
+ - IsSemiEchelonBasisOfGaussianRowSpaceRep
+ - IsSemiEchelonized
+ - IsSemiRegular
+ - IsSemigroup
+ - IsSemigroupCongruence
+ - IsSemigroupIdeal
+ - IsSemiring
+ - IsSemiringWithOne
+ - IsSemiringWithOneAndZero
+ - IsSemiringWithZero
+ - IsSet
+ - IsShortLexLessThanOrEqual
+ - IsShortLexOrdering
+ - IsSimple
+ - IsSimpleAlgebra
+ - IsSimpleCharacterTable
+ - IsSimpleGroup
+ - IsSimpleSemigroup
+ - IsSingleCollectorRep
+ - IsSingleValued
+ - IsSkewFieldFamily
+ - IsSlicedPerm
+ - IsSlicedPermInv
+ - IsSmallIntRep
+ - IsSmallList
+ - IsSolvable
+ - IsSolvableCharacterTable
+ - IsSolvableGroup
+ - IsSolvableTom
+ - IsSortDictionary
+ - IsSortLookupDictionary
+ - IsSortedList
+ - IsSortedPcgsRep
+ - IsSpaceOfElementsOfMagmaRing
+ - IsSpaceOfRationalFunctions
+ - IsSpaceOfUEAElements
+ - IsSparseHashRep
+ - IsSparseRowSpaceElement
+ - IsSparseRowSpaceElementCollection
+ - IsSparseRowSpaceElementFamily
+ - IsSpecialLinearGroup
+ - IsSpecialPcgs
+ - IsSporadicSimple
+ - IsSporadicSimpleCharacterTable
+ - IsSporadicSimpleGroup
+ - IsStabChainViaChainSubgroup
+ - IsStandardGeneratorsOfGroup
+ - IsStandardized
+ - IsStraightLineProgElm
+ - IsStraightLineProgram
+ - IsStream
+ - IsString
+ - IsStringRep
+ - IsSubalgebraFpAlgebra
+ - IsSubgroup
+ - IsSubgroupFgGroup
+ - IsSubgroupFpGroup
+ - IsSubgroupOfWholeGroupByQuotientRep
+ - IsSubgroupSL
+ - IsSubmonoidFpMonoid
+ - IsSubnormal
+ - IsSubnormallyMonomial
+ - IsSubsemigroupFpSemigroup
+ - IsSubsemigroupReesMatrixSemigroup
+ - IsSubsemigroupReesZeroMatrixSemigroup
+ - IsSubset
+ - IsSubsetBlist
+ - IsSubsetInducedNumeratorModuloTailPcgsRep
+ - IsSubsetInducedPcgsRep
+ - IsSubsetLocallyFiniteGroup
+ - IsSubsetSet
+ - IsSubspace
+ - IsSubspacesFullRowSpaceDefaultRep
+ - IsSubspacesVectorSpace
+ - IsSubspacesVectorSpaceDefaultRep
+ - IsSupersolvable
+ - IsSupersolvableCharacterTable
+ - IsSupersolvableGroup
+ - IsSurjective
+ - IsSyllableAssocWordRep
+ - IsSyllableWordsFamily
+ - IsSymmetricBinaryRelation
+ - IsSymmetricGroup
+ - IsSymmetricPowerElement
+ - IsSymmetricPowerElementCollection
+ - IsTable
+ - IsTableOfMarks
+ - IsTableOfMarksWithGens
+ - IsTailInducedPcgsRep
+ - IsTensorElement
+ - IsTensorElementCollection
+ - IsToBeDefinedObj
+ - IsToFpGroupGeneralMappingByImages
+ - IsToFpGroupHomomorphismByImages
+ - IsToPcGroupGeneralMappingByImages
+ - IsToPcGroupHomomorphismByImages
+ - IsToPermGroupGeneralMappingByImages
+ - IsToPermGroupHomomorphismByImages
+ - IsTotal
+ - IsTotalOrdering
+ - IsTransformation
+ - IsTransformationCollection
+ - IsTransformationMonoid
+ - IsTransformationRep
+ - IsTransformationRepOfEndo
+ - IsTransformationSemigroup
+ - IsTransitive
+ - IsTransitiveBinaryRelation
+ - IsTranslationInvariantOrdering
+ - IsTransvByDirProd
+ - IsTransvByDirProdCollection
+ - IsTransvByHomomorphism
+ - IsTransvByHomomorphismCollection
+ - IsTransvBySchreierTree
+ - IsTransvBySchreierTreeCollection
+ - IsTransvBySiftFunct
+ - IsTransvBySiftFunctCollection
+ - IsTransvByTrivSubgrp
+ - IsTransvByTrivSubgrpCollection
+ - IsTrivial
+ - IsTrivialAOpEZero
+ - IsTrivialHomCoset
+ - IsTrivialLOpEOne
+ - IsTrivialLOpEZero
+ - IsTrivialRBase
+ - IsTrivialROpEOne
+ - IsTrivialROpEZero
+ - IsTrivialUOpEOne
+ - IsTrivialUOpEZero
+ - IsTuple
+ - IsTupleCollection
+ - IsTupleFamily
+ - IsTwoSidedIdeal
+ - IsTwoSidedIdealInParent
+ - IsTwoSidedIdealOp
+ - IsType
+ - IsTypeDefaultRep
+ - IsUEALatticeElement
+ - IsUEALatticeElementCollection
+ - IsUEALatticeElementFamily
+ - IsUFDFamily
+ - IsUniformMatrixGroup
+ - IsUniqueFactorizationRing
+ - IsUnit
+ - IsUnivariatePolynomial
+ - IsUnivariatePolynomialRing
+ - IsUnivariatePolynomialsFamily
+ - IsUnivariatePolynomialsFamilyElement
+ - IsUnivariateRationalFunction
+ - IsUnivariateRationalFunctionDefaultRep
+ - IsUnknown
+ - IsUnknownDefaultRep
+ - IsUnsortedPcgsRep
+ - IsUpToDatePolycyclicCollector
+ - IsUpperActedOnByGroup
+ - IsUpperActedOnBySuperset
+ - IsUpperAlphaChar
+ - IsUpperTriangularMat
+ - IsValidIdentifier
+ - IsVector
+ - IsVectorCollColl
+ - IsVectorCollection
+ - IsVectorList
+ - IsVectorSearchTable
+ - IsVectorSearchTableDefaultRep
+ - IsVectorSpace
+ - IsVectorSpaceHomomorphism
+ - IsVectorTable
+ - IsVirtualCharacter
+ - IsWLetterAssocWordRep
+ - IsWLetterWordsFamily
+ - IsWPObj
+ - IsWeakPointerObject
+ - IsWedgeElement
+ - IsWedgeElementCollection
+ - IsWeightLexOrdering
+ - IsWeightRepElement
+ - IsWeightRepElementCollection
+ - IsWeightRepElementFamily
+ - IsWellFoundedOrdering
+ - IsWeylGroup
+ - IsWholeFamily
+ - IsWord
+ - IsWordCollection
+ - IsWordWithInverse
+ - IsWordWithOne
+ - IsWreathProductElement
+ - IsWreathProductElementCollection
+ - IsWreathProductElementDefaultRep
+ - IsWreathProductOrdering
+ - IsWritableFile
+ - IsZDFRE
+ - IsZDFRECollColl
+ - IsZDFRECollection
+ - IsZero
+ - IsZeroCochainRep
+ - IsZeroCyc
+ - IsZeroGroup
+ - IsZeroMultiplicationRing
+ - IsZeroRationalFunction
+ - IsZeroSimpleSemigroup
+ - IsZeroSquaredElement
+ - IsZeroSquaredElementCollColl
+ - IsZeroSquaredElementCollection
+ - IsZeroSquaredRing
+ - IsZmodnZObj
+ - IsZmodnZObjNonprime
+ - IsZmodnZObjNonprimeCollColl
+ - IsZmodnZObjNonprimeCollCollColl
+ - IsZmodnZObjNonprimeCollection
+ - IsZmodnZObjNonprimeFamily
+ - IsZmodpZObj
+ - IsZmodpZObjLarge
+ - IsZmodpZObjSmall
+ - IsolatePoint
+ - IsomorphicSubgroups
+ - IsomorphismAbelianGroups
+ - IsomorphismFpAlgebra
+ - IsomorphismFpFLMLOR
+ - IsomorphismFpGroup
+ - IsomorphismFpGroupByCompositionSeries
+ - IsomorphismFpGroupByGenerators
+ - IsomorphismFpGroupByGeneratorsNC
+ - IsomorphismFpGroupByPcgs
+ - IsomorphismFpGroupBySubnormalSeries
+ - IsomorphismFpMonoid
+ - IsomorphismFpSemigroup
+ - IsomorphismGroups
+ - IsomorphismMatrixAlgebra
+ - IsomorphismMatrixFLMLOR
+ - IsomorphismPcGroup
+ - IsomorphismPermGroup
+ - IsomorphismPermGroupImfGroup
+ - IsomorphismPermGroupOrFailFpGroup
+ - IsomorphismPermGroups
+ - IsomorphismReesMatrixSemigroup
+ - IsomorphismRefinedPcGroup
+ - IsomorphismSCAlgebra
+ - IsomorphismSCFLMLOR
+ - IsomorphismSimplifiedFpGroup
+ - IsomorphismSolvableSmallGroups
+ - IsomorphismSpecialPcGroup
+ - IsomorphismToFullRowSpace
+ - IsomorphismTransformationSemigroup
+ - IsomorphismTypeInfoFiniteSimpleGroup
+ - Iterated
+ - Iterator
+ - IteratorByBasis
+ - IteratorByFunctions
+ - IteratorList
+ - IteratorSorted
+ - IteratorsFamily
+ - Jacobi
+ - JenningsLieAlgebra
+ - JenningsSeries
+ - JoinEquivalenceRelations
+ - JoinMagmaCongruences
+ - JoinSemigroupCongruences
+ - JoinStringsWithSeparator
+ - JordanDecomposition
+ - KBOverlaps
+ - KappaPerp
+ - Kernel
+ - KernelHcommaC
+ - KernelOfAdditiveGeneralMapping
+ - KernelOfCharacter
+ - KernelOfHomQuotientGroup
+ - KernelOfMultiplicativeGeneralMapping
+ - KernelOfTransformation
+ - KernelUnderDualAction
+ - KeyDependentOperation
+ - KillingMatrix
+ - KnownAttributesOfObject
+ - KnownNaturalHomomorphismsPool
+ - KnownPropertiesOfObject
+ - KnownTruePropertiesOfObject
+ - KnowsDictionary
+ - KnowsHowToDecompose
+ - KnuthBendixRewritingSystem
+ - KroneckerProduct
+ - KuKGenerators
+ - LClassOfHClass
+ - LGFirst
+ - LGHeads
+ - LGLayers
+ - LGLength
+ - LGTails
+ - LGWeights
+ - LLLReducedBasis
+ - LLLReducedGramMat
+ - LLLint
+ - LMPSLPSeed
+ - LaTeX
+ - LaTeXObj
+ - LaTeXStringDecompositionMatrix
+ - LaTeXToHTMLString
+ - LabsLims
+ - Lambda
+ - LargeGaloisField
+ - LargestElementGroup
+ - LargestElementStabChain
+ - LargestMovedPoint
+ - LargestMovedPointPerm
+ - LargestMovedPointPerms
+ - LargestUnknown
+ - LastHashIndex
+ - LastReadValue
+ - LastSystemError
+ - LatticeByCyclicExtension
+ - LatticeGeneratorsInUEA
+ - LatticeSubgroups
+ - LatticeSubgroupsByTom
+ - LaurentPolynomialByCoefficients
+ - LaurentPolynomialByExtRep
+ - Lcm
+ - LcmInt
+ - LcmOp
+ - LcmPP
+ - LeadCoeffsIGS
+ - LeadingCoefficient
+ - LeadingCoefficientOfPolynomial
+ - LeadingExponentOfPcElement
+ - LeadingMonomial
+ - LeadingMonomialOfPolynomial
+ - LeadingMonomialPosExtRep
+ - LeadingTermOfPolynomial
+ - LeadingUEALatticeMonomial
+ - LeastBadComplementLayer
+ - LeastBadHallLayer
+ - LeftActingAlgebra
+ - LeftActingDomain
+ - LeftActingGroup
+ - LeftActingRingOfIdeal
+ - LeftAction
+ - LeftAlgebraModule
+ - LeftAlgebraModuleByGenerators
+ - LeftDerivations
+ - LeftIdeal
+ - LeftIdealByGenerators
+ - LeftIdealNC
+ - LeftMagmaCongruence
+ - LeftMagmaCongruenceByGeneratingPairs
+ - LeftMagmaIdeal
+ - LeftMagmaIdealByGenerators
+ - LeftModuleByGenerators
+ - LeftModuleByHomomorphismToMatAlg
+ - LeftModuleGeneralMappingByImages
+ - LeftModuleGeneratorsForIdealFromGenerators
+ - LeftModuleHomomorphismByImages
+ - LeftModuleHomomorphismByImagesNC
+ - LeftModuleHomomorphismByMatrix
+ - LeftNormedComm
+ - LeftQuotient
+ - LeftQuotientPowerPcgsElement
+ - LeftReduceUEALatticeElement
+ - LeftSemigroupCongruenceByGeneratingPairs
+ - LeftSemigroupIdealEnumeratorDataGetElement
+ - LeftShiftRowVector
+ - Legendre
+ - Length
+ - LengthOfDescendingSeries
+ - LengthOfLongestCommonPrefixOfTwoAssocWords
+ - LengthWPObj
+ - LengthsTom
+ - LenstraBase
+ - LessBoxedObj
+ - LessThanFunction
+ - LessThanOrEqualFunction
+ - LetterRepAssocWord
+ - LetterRepWordsLessFunc
+ - LevelsOfGenerators
+ - LeviMalcevDecomposition
+ - LexicographicOrdering
+ - LexicographicOrderingNC
+ - LieAlgebra
+ - LieAlgebraByDomain
+ - LieAlgebraByStructureConstants
+ - LieBracket
+ - LieCenter
+ - LieCentralizer
+ - LieCentralizerInParent
+ - LieCentre
+ - LieCoboundaryOperator
+ - LieDerivedSeries
+ - LieDerivedSubalgebra
+ - LieFamily
+ - LieLowerCentralSeries
+ - LieNilRadical
+ - LieNormalizer
+ - LieNormalizerInParent
+ - LieObject
+ - LieSolvableRadical
+ - LieUpperCentralSeries
+ - LiftAbsAndIrredModules
+ - LiftEpimorphism
+ - LiftEpimorphismSQ
+ - LiftInduciblePair
+ - LiftedInducedPcgs
+ - LiftedPcElement
+ - LineNumberStringPosition
+ - LinearAction
+ - LinearActionBasis
+ - LinearActionLayer
+ - LinearCharacters
+ - LinearCombination
+ - LinearCombinationPcgs
+ - LinearCombinationVecs
+ - LinearGroupParameters
+ - LinearIndependentColumns
+ - LinearOperation
+ - LinearOperationLayer
+ - LinesOfStraightLineProgram
+ - List
+ - ListBlist
+ - ListHashParams
+ - ListN
+ - ListOp
+ - ListPerm
+ - ListSorted
+ - ListStabChain
+ - ListWithIdenticalEntries
+ - ListX
+ - ListXHelp
+ - ListsFamily
+ - LoadAllPackages
+ - LoadDynamicModule
+ - LoadPackage
+ - LoadPackageDocumentation
+ - LoadStaticModule
+ - LoadedModules
+ - LockNaturalHomomorphismsPool
+ - Log
+ - LogFFE
+ - LogInputTo
+ - LogInt
+ - LogMod
+ - LogModRhoIterate
+ - LogModShanks
+ - LogOutputTo
+ - LogTo
+ - LongestWeylWordPerm
+ - LookupDictionary
+ - LowIndexSubgroupsFpGroup
+ - LowerCentralSeries
+ - LowerCentralSeriesOfGroup
+ - LowerTriangularMatrix
+ - LowercaseString
+ - Lucas
+ - MATINTbezout
+ - MATINTmgcdex
+ - MATINTrgcd
+ - MATINTsplit
+ - Magma
+ - MagmaByGenerators
+ - MagmaByMultiplicationTable
+ - MagmaByMultiplicationTableCreator
+ - MagmaCongruenceByGeneratingPairs
+ - MagmaCongruencePartition
+ - MagmaElement
+ - MagmaGeneratorsOfFamily
+ - MagmaHomomorphismByFunctionNC
+ - MagmaIdeal
+ - MagmaIdealByGenerators
+ - MagmaInputString
+ - MagmaIsomorphismByFunctionsNC
+ - MagmaRingModuloSpanOfZero
+ - MagmaWithInverses
+ - MagmaWithInversesByGenerators
+ - MagmaWithInversesByMultiplicationTable
+ - MagmaWithOne
+ - MagmaWithOneByGenerators
+ - MagmaWithOneByMultiplicationTable
+ - MakeCanonical
+ - MakeConfluent
+ - MakeConsequences
+ - MakeConsequencesPres
+ - MakeFormulaVector
+ - MakeGAPDocDoc
+ - MakeHomChain
+ - MakeImagesInfoLinearGeneralMappingByImages
+ - MakeImmutable
+ - MakeKnuthBendixRewritingSystemConfluent
+ - MakeLIBTOMLIST
+ - MakeMagmaWithInversesByFiniteGenerators
+ - MakeMapping
+ - MakeMonomialOrdering
+ - MakePreImagesInfoLinearGeneralMappingByImages
+ - MakePreImagesInfoLinearMappingByMatrix
+ - MakePreImagesInfoOperationAlgebraHomomorphism
+ - MakeReadOnlyGVar
+ - MakeReadOnlyGlobal
+ - MakeReadWriteGVar
+ - MakeReadWriteGlobal
+ - MakeStabChainLong
+ - ManageableQuotientOfAbelianPGroup
+ - ManageableQuotientOfNilpotentGroup
+ - MappedExpression
+ - MappedExpressionForElementOfFreeAssociativeAlgebra
+ - MappedPcElement
+ - MappedVector
+ - MappedWord
+ - MappedWordSyllableAssocWord
+ - MappingByFunction
+ - MappingGeneratorsImages
+ - MappingOfWhichItIsAsGGMBI
+ - MappingPermListList
+ - MarksTom
+ - MatAlgebra
+ - MatAutomorphismsFamily
+ - MatCharsWreathSymmetric
+ - MatClassMultCoeffsCharTable
+ - MatLieAlgebra
+ - MatOrbs
+ - MatOrbsApprox
+ - MatScalarProducts
+ - MatSpace
+ - MatTom
+ - MathieuGroup
+ - MathieuGroupCons
+ - MatricesOfRelator
+ - MatrixAlgebra
+ - MatrixAutomorphisms
+ - MatrixByBlockMatrix
+ - MatrixDimension
+ - MatrixLieAlgebra
+ - MatrixNewBasePoint
+ - MatrixOfAction
+ - MatrixOperationOfCP
+ - MatrixOperationOfCPGroup
+ - MatrixSpace
+ - MatrixSpinCharsSn
+ - MaxHashViewSize
+ - MaxNumeratorCoeffAlgElm
+ - MaximalAbelianQuotient
+ - MaximalBlocks
+ - MaximalBlocksAttr
+ - MaximalBlocksOp
+ - MaximalNormalSubgroups
+ - MaximalSubgroupClassReps
+ - MaximalSubgroupClassesRepsLayer
+ - MaximalSubgroups
+ - MaximalSubgroupsLattice
+ - MaximalSubgroupsSymmAlt
+ - MaximalSubgroupsTom
+ - Maximum
+ - MaximumList
+ - MeetEquivalenceRelations
+ - MeetMagmaCongruences
+ - MeetMaps
+ - MeetPartitionStrat
+ - MeetPartitionStratCell
+ - MeetSemigroupCongruences
+ - MembershipTestKnownBase
+ - MinimalBlockDimension
+ - MinimalElementCosetStabChain
+ - MinimalGeneratingSet
+ - MinimalGensLayer
+ - MinimalNonmonomialGroup
+ - MinimalNormalSubgroups
+ - MinimalPolynomial
+ - MinimalPolynomialMatrixNC
+ - MinimalStabChain
+ - MinimalSupergroupsLattice
+ - MinimalSupergroupsTom
+ - MinimizeExplicitTransversal
+ - MinimizedBombieriNorm
+ - Minimum
+ - MinimumGroupOnSubgroupsOrbit
+ - MinimumList
+ - MinusCharacter
+ - ModGauss
+ - ModifyMinGens
+ - ModifyPcgs
+ - ModularCharacterDegree
+ - ModuleByRestriction
+ - ModuleOfExtension
+ - ModuloPcgs
+ - ModuloPcgsByPcSequence
+ - ModuloPcgsByPcSequenceNC
+ - ModuloTailPcgsByList
+ - ModulusOfZmodnZObj
+ - MoebiusMu
+ - MoebiusTom
+ - MolienSeries
+ - MolienSeriesInfo
+ - MolienSeriesWithGivenDenominator
+ - Monoid
+ - MonoidByGenerators
+ - MonoidByMultiplicationTable
+ - MonoidOfRewritingSystem
+ - MonomialComparisonFunction
+ - MonomialExtGrlexLess
+ - MonomialExtrepComparisonFun
+ - MonomialGrevlexOrdering
+ - MonomialGrlexOrdering
+ - MonomialLexOrdering
+ - MonomialOrderingsFamily
+ - MonomialTotalDegreeLess
+ - MorClassLoop
+ - MorClassOrbs
+ - MorFindGeneratingSystem
+ - MorFroWords
+ - MorMaxFusClasses
+ - MorRatClasses
+ - Morphium
+ - MorrisRecursion
+ - MostFrequentGeneratorFpGroup
+ - MovedPoints
+ - MovedPointsPerms
+ - MulExt
+ - MultCoeffs
+ - MultMatrixPadicNumbersByCoefficientsList
+ - MultRowVector
+ - MultiplicationTable
+ - MultiplicativeElementsWithInversesFamilyByRws
+ - MultiplicativeNeutralElement
+ - MultiplicativeZero
+ - MultiplicativeZeroOp
+ - Multiply
+ - MutableBasis
+ - MutableBasisOfClosureUnderAction
+ - MutableBasisOfIdealInNonassociativeAlgebra
+ - MutableBasisOfNonassociativeAlgebra
+ - MutableBasisOfProductSpace
+ - MutableCopyMat
+ - MutableIdentityMat
+ - MutableNullMat
+ - MutableTransposedMat
+ - MutableTransposedMatDestructive
+ - MyFingerprint
+ - MyIntCoefficients
+ - Naive
+ - Name
+ - NameFunction
+ - NameIsomorphismClass
+ - NameMonth
+ - NameRNam
+ - NameWeekDay
+ - NamesFilter
+ - NamesGVars
+ - NamesLibTom
+ - NamesLocalVariablesFunction
+ - NamesOfComponents
+ - NamesOfFusionSources
+ - NamesSystemGVars
+ - NamesUserGVars
+ - NaturalActedSpace
+ - NaturalCharacter
+ - NaturalHomomorphismByFixedPointSubspace
+ - NaturalHomomorphismByGenerators
+ - NaturalHomomorphismByHomVW
+ - NaturalHomomorphismByIdeal
+ - NaturalHomomorphismByInvariantSubspace
+ - NaturalHomomorphismByNilpotentClassTwoElement
+ - NaturalHomomorphismByNormalSubgroup
+ - NaturalHomomorphismByNormalSubgroupInParent
+ - NaturalHomomorphismByNormalSubgroupNC
+ - NaturalHomomorphismByNormalSubgroupNCInParent
+ - NaturalHomomorphismByNormalSubgroupNCOp
+ - NaturalHomomorphismByNormalSubgroupNCOrig
+ - NaturalHomomorphismByNormalSubgroupOp
+ - NaturalHomomorphismBySubAlgebraModule
+ - NaturalHomomorphismBySubspace
+ - NaturalHomomorphismBySubspaceOntoFullRowSpace
+ - NaturalHomomorphismsPool
+ - NaturalIsomorphismByPcgs
+ - NearAdditiveGroup
+ - NearAdditiveGroupByGenerators
+ - NearAdditiveMagma
+ - NearAdditiveMagmaByGenerators
+ - NearAdditiveMagmaWithInverses
+ - NearAdditiveMagmaWithInversesByGenerators
+ - NearAdditiveMagmaWithZero
+ - NearAdditiveMagmaWithZeroByGenerators
+ - NearlyCharacterTablesFamily
+ - NegativeRootVectors
+ - NegativeRoots
+ - NestingDepthA
+ - NestingDepthM
+ - NewAttribute
+ - NewCategory
+ - NewConstructor
+ - NewDictionary
+ - NewFamily
+ - NewFilter
+ - NewInfoClass
+ - NewOperation
+ - NewProperty
+ - NewRepresentation
+ - NewToBeDefinedObj
+ - NewType
+ - NewmanInfinityCriterion
+ - NextIterator
+ - NextLevelRegularGroups
+ - NextPrimeInt
+ - NextRBasePoint
+ - NextStepCentralizer
+ - NiceAlgebraMonomorphism
+ - NiceBasis
+ - NiceBasisFiltersInfo
+ - NiceBasisNC
+ - NiceFreeLeftModule
+ - NiceFreeLeftModuleForFLMLOR
+ - NiceFreeLeftModuleInfo
+ - NiceMonomorphism
+ - NiceMonomorphismAutomGroup
+ - NiceNormalFormByExtRepFunction
+ - NiceObject
+ - NiceVector
+ - NicomorphismOfFFEMatrixGroup
+ - NicomorphismOfGeneralMatrixGroup
+ - NilpotencyClassOfGroup
+ - NilpotentClassTwoElement
+ - NilpotentQuotientOfFpLieAlgebra
+ - NinKernelCSPG
+ - NonLieNilpotentElement
+ - NonNilpotentElement
+ - NonPerfectCSPG
+ - NonSplitExtensions
+ - NonTrivialRightHandSides
+ - NonassocWord
+ - NonnegIntScalarProducts
+ - NonnegativeIntegers
+ - NorSerPermPcgs
+ - Norm
+ - NormalBase
+ - NormalClosure
+ - NormalClosureByChain
+ - NormalClosureInParent
+ - NormalClosureOp
+ - NormalFormIntMat
+ - NormalIntersection
+ - NormalIntersectionPcgs
+ - NormalMaximalSubgroups
+ - NormalSeriesByPcgs
+ - NormalSubgroupClasses
+ - NormalSubgroupClassesInfo
+ - NormalSubgroups
+ - NormalSubgroupsAbove
+ - NormalSubgroupsCalc
+ - NormalizeNameAndKey
+ - NormalizeWhitespace
+ - NormalizedArgList
+ - NormalizedElementOfMagmaRingModuloRelations
+ - NormalizedNameAndKey
+ - NormalizedWhitespace
+ - Normalizer
+ - NormalizerInGLnZ
+ - NormalizerInGLnZBravaisGroup
+ - NormalizerInHomePcgs
+ - NormalizerInParent
+ - NormalizerOp
+ - NormalizerParentSA
+ - NormalizerStabCSPG
+ - NormalizerTom
+ - NormalizersTom
+ - NormalizingReducedGL
+ - NormedRowVector
+ - NormedRowVectors
+ - NormedVectors
+ - NotifiedFusionsOfLibTom
+ - NotifiedFusionsToLibTom
+ - NrAffinePrimitiveGroups
+ - NrArrangements
+ - NrArrangementsMSetA
+ - NrArrangementsMSetK
+ - NrArrangementsSetA
+ - NrArrangementsSetK
+ - NrArrangementsX
+ - NrBasisVectors
+ - NrBitsInt
+ - NrCombinations
+ - NrCombinationsMSetA
+ - NrCombinationsMSetK
+ - NrCombinationsSetA
+ - NrCombinationsSetK
+ - NrCombinationsX
+ - NrCompatiblePolynomials
+ - NrConjugacyClasses
+ - NrConjugacyClassesGL
+ - NrConjugacyClassesGU
+ - NrConjugacyClassesInSupergroup
+ - NrConjugacyClassesPGL
+ - NrConjugacyClassesPGU
+ - NrConjugacyClassesPSL
+ - NrConjugacyClassesPSU
+ - NrConjugacyClassesSL
+ - NrConjugacyClassesSLIsogeneous
+ - NrConjugacyClassesSU
+ - NrConjugacyClassesSUIsogeneous
+ - NrDerangements
+ - NrDerangementsK
+ - NrInputsOfStraightLineProgram
+ - NrIrreducibleSolvableGroups
+ - NrMovedPoints
+ - NrMovedPointsPerm
+ - NrMovedPointsPerms
+ - NrOrderedPartitions
+ - NrPartitionTuples
+ - NrPartitions
+ - NrPartitionsSet
+ - NrPerfectGroups
+ - NrPerfectLibraryGroups
+ - NrPermutationsList
+ - NrPolyhedralSubgroups
+ - NrPrimitiveGroups
+ - NrRestrictedPartitions
+ - NrRestrictedPartitionsK
+ - NrSmallGroups
+ - NrSolvableAffinePrimitiveGroups
+ - NrSubsTom
+ - NrSyllables
+ - NrTransitiveGroups
+ - NrTuples
+ - NrUnorderedTuples
+ - NthChainSubgroup
+ - NthFundamentalOrbit
+ - NthRoot
+ - NthSchreierTransversalOfChainSubgroup
+ - NthSiftOneLevel
+ - Nucleus
+ - NullAlgebra
+ - NullMapMatrix
+ - NullMat
+ - NullspaceIntMat
+ - NullspaceMat
+ - NullspaceMatDestructive
+ - NullspaceModQ
+ - NumBol
+ - Number
+ - NumberArgumentsFunction
+ - NumberCells
+ - NumberCoset
+ - NumberDigits
+ - NumberFFVector
+ - NumberField
+ - NumberGeneratorsOfRws
+ - NumberIrreducibleSolvableGroups
+ - NumberOfCommutators
+ - NumberOfNewGenerators
+ - NumberOp
+ - NumberPerfectGroups
+ - NumberPerfectLibraryGroups
+ - NumberSmallGroups
+ - NumberSyllables
+ - NumeratorOfModuloPcgs
+ - NumeratorOfRationalFunction
+ - NumeratorRat
+ - OCAddBigMatrices
+ - OCAddCentralizer
+ - OCAddComplement
+ - OCAddGenerators
+ - OCAddGeneratorsGeneral
+ - OCAddGeneratorsPcgs
+ - OCAddMatrices
+ - OCAddRelations
+ - OCAddSumMatrices
+ - OCAddToFunctions
+ - OCConjugatingWord
+ - OCCoprimeComplement
+ - OCEquationMatrix
+ - OCEquationVector
+ - OCNormalRelations
+ - OCOneCoboundaries
+ - OCOneCocycles
+ - OCSmallEquationMatrix
+ - OCSmallEquationVector
+ - OCTestRelations
+ - OCTestRelators
+ - ONanScottType
+ - ObjByExponents
+ - ObjByExtRep
+ - ObjByVector
+ - Objectify
+ - ObjectifyWithAttributes
+ - OccuringVariableIndices
+ - OctaveAlgebra
+ - OddSpinVals
+ - OldGeneratorsOfPresentation
+ - OldKernelHcommaC
+ - OldSubspaceVectorSpaceGroup
+ - Omega
+ - OmegaAndLowerPCentralSeries
+ - OmegaOp
+ - OmegaSeries
+ - OminusEven
+ - OnBreak
+ - OnBreakMessage
+ - OnCharReadHookExcFds
+ - OnCharReadHookExcFuncs
+ - OnCharReadHookExcStreams
+ - OnCharReadHookInFds
+ - OnCharReadHookInFuncs
+ - OnCharReadHookInStreams
+ - OnCharReadHookOutFds
+ - OnCharReadHookOutFuncs
+ - OnCharReadHookOutStreams
+ - OnCocycle
+ - OnIndeterminates
+ - OnLeftAntiOperation
+ - OnLeftInverse
+ - OnLines
+ - OnPairs
+ - OnPoints
+ - OnQuit
+ - OnRelVector
+ - OnRight
+ - OnSets
+ - OnSetsDisjointSets
+ - OnSetsSets
+ - OnSetsTuples
+ - OnSubspacesByCanonicalBasis
+ - OnTuples
+ - OnTuplesSets
+ - OnTuplesTuples
+ - One
+ - OneAttr
+ - OneCoboundaries
+ - OneCocycles
+ - OneFactorBound
+ - OneGroup
+ - OneImmutable
+ - OneIrreducibleSolvableGroup
+ - OneMutable
+ - OneNormalizerfixedBlockSystem
+ - OneOfPcgs
+ - OneOp
+ - OnePrimitiveGroup
+ - OneSM
+ - OneSameMutability
+ - OneSmallGroup
+ - OneTransitiveGroup
+ - OperationAlgebraHomomorphism
+ - OperatorOfExternalSet
+ - OplusEven
+ - OpmOdd
+ - OpmSmall
+ - OptionsStack
+ - Orbit
+ - OrbitByPosOp
+ - OrbitChar
+ - OrbitFusions
+ - OrbitGenerators
+ - OrbitGeneratorsInv
+ - OrbitGeneratorsOfGroup
+ - OrbitLength
+ - OrbitLengthOp
+ - OrbitLengths
+ - OrbitLengthsDomain
+ - OrbitOp
+ - OrbitPerms
+ - OrbitPowerMaps
+ - OrbitRepresentativesCharacters
+ - OrbitShortVectors
+ - OrbitSplit
+ - OrbitStabChain
+ - OrbitStabilizer
+ - OrbitStabilizerAlgorithm
+ - OrbitStabilizerOp
+ - OrbitStabilizingParentGroup
+ - OrbitalPartition
+ - OrbitishFO
+ - OrbitishReq
+ - Orbits
+ - OrbitsByPosOp
+ - OrbitsCharacters
+ - OrbitsDomain
+ - OrbitsPartition
+ - OrbitsPerms
+ - OrbitsishOperation
+ - OrbitsishReq
+ - Order
+ - OrderKnownDividendList
+ - OrderMatLimit
+ - OrderMatTrial
+ - OrderMod
+ - OrderModK
+ - OrderOfRewritingSystem
+ - OrderOfSchurLift
+ - OrderPerm
+ - OrderedPartitions
+ - OrderedPartitionsA
+ - OrderedPartitionsK
+ - OrderingByLessThanFunctionNC
+ - OrderingByLessThanOrEqualFunctionNC
+ - OrderingOfRewritingSystem
+ - OrderingOnGenerators
+ - OrderingsFamily
+ - OrdersClassRepresentatives
+ - OrdersTom
+ - Ordinal
+ - OrdinaryCharacterTable
+ - OrthogonalComponents
+ - OrthogonalEmbeddings
+ - OrthogonalEmbeddingsSpecialDimension
+ - OrthogonalSpaceInFullRowSpace
+ - OrthogonalityDefectEuclideanLattice
+ - OutdatePolycyclicCollector
+ - OutputLogTo
+ - OutputTextFile
+ - OutputTextFileStillOpen
+ - OutputTextFileType
+ - OutputTextNone
+ - OutputTextNoneType
+ - OutputTextString
+ - OutputTextStringType
+ - OutputTextUser
+ - OzeroEven
+ - OzeroOdd
+ - PBIsMinimal
+ - PCentralLieAlgebra
+ - PCentralNormalSeriesByPcgsPGroup
+ - PCentralSeries
+ - PCentralSeriesOp
+ - PClassPGroup
+ - PCore
+ - PCoreOp
+ - PCover
+ - PERFRec
+ - PGroupGeneratorsOfAbelianGroup
+ - PMultiplicator
+ - PQStatistics
+ - PQuotient
+ - PRIMGrp
+ - PRump
+ - PRumpOp
+ - PSLDegree
+ - PSLUnderlyingField
+ - PSp
+ - PackageInfo
+ - PackageVariablesInfo
+ - PadicCoefficients
+ - PadicExpansionByRat
+ - PadicExtensionNumberFamily
+ - PadicNumber
+ - Page
+ - PageDisplay
+ - Pager
+ - Parametrized
+ - Parent
+ - ParentAttr
+ - ParentPcgs
+ - ParityPol
+ - ParseArguments
+ - ParseBibFiles
+ - ParseError
+ - ParseTreeXMLString
+ - PartialClosureOfCongruence
+ - PartialOrderByOrderingFunction
+ - PartialOrderOfHasseDiagram
+ - Partition
+ - PartitionBacktrack
+ - PartitionSortedPoints
+ - PartitionStabilizerPermGroup
+ - PartitionTuples
+ - Partitions
+ - PartitionsA
+ - PartitionsGreatestEQ
+ - PartitionsGreatestLE
+ - PartitionsK
+ - PartitionsRecursively
+ - PartitionsSet
+ - PartitionsSetA
+ - PartitionsSetK
+ - PartitionsTest
+ - PcElementByExponents
+ - PcElementByExponentsNC
+ - PcGroupClassMatrixColumn
+ - PcGroupCode
+ - PcGroupCodeRec
+ - PcGroupFpGroup
+ - PcGroupFpGroupNC
+ - PcGroupWithPcgs
+ - PcSeries
+ - Pcgs
+ - PcgsByIndependentGeneratorsOfAbelianGroup
+ - PcgsByPcSequence
+ - PcgsByPcSequenceCons
+ - PcgsByPcSequenceNC
+ - PcgsCentralSeries
+ - PcgsChiefSeries
+ - PcgsElAbSerFromSpecPcgs
+ - PcgsElementaryAbelianSeries
+ - PcgsHomSoImPow
+ - PcgsMemberPcSeriesPermGroup
+ - PcgsPCentralSeriesPGroup
+ - PcgsStabChainSeries
+ - PcgsSystemLGSeries
+ - PcgsSystemWithComplementSystem
+ - PcgsSystemWithHallSystem
+ - PcgsSystemWithWf
+ - PerfGrpConst
+ - PerfGrpLoad
+ - PerfectCSPG
+ - PerfectCentralProduct
+ - PerfectGroup
+ - PerfectIdentification
+ - PerfectResiduum
+ - PerfectSubdirectProduct
+ - PerfectSubgroupsAlternatingGroup
+ - Perform
+ - PermBounds
+ - PermCandidates
+ - PermCandidatesFaithful
+ - PermCharInfo
+ - PermCharInfoRelative
+ - PermChars
+ - PermCharsTom
+ - PermComb
+ - PermLeftQuoTransformation
+ - PermList
+ - PermListList
+ - PermMatrixGroup
+ - PermNatAnTestDetect
+ - PermNewBasePoint
+ - PermOnEnumerator
+ - Permanent
+ - PermgpContainsAn
+ - PermpcgsPcGroupPcgs
+ - Permut
+ - Permutation
+ - PermutationCharacter
+ - PermutationCycle
+ - PermutationCycleOp
+ - PermutationGModule
+ - PermutationMat
+ - PermutationOp
+ - PermutationToSortCharacters
+ - PermutationToSortClasses
+ - PermutationTom
+ - PermutationsFamily
+ - PermutationsList
+ - PermutationsListK
+ - Permuted
+ - Phi
+ - PlainListCopy
+ - PlainListCopyOp
+ - PointInCellNo
+ - PolycyclicFactorGroup
+ - PolycyclicFactorGroupByRelators
+ - PolycyclicFactorGroupByRelatorsNC
+ - PolycyclicFactorGroupNC
+ - PolynomialByExtRep
+ - PolynomialByExtRepNC
+ - PolynomialCoefficientsOfPolynomial
+ - PolynomialDivisionAlgorithm
+ - PolynomialModP
+ - PolynomialReducedRemainder
+ - PolynomialReduction
+ - PolynomialRing
+ - PopOptions
+ - PosSublOdd
+ - PosVecEnumFF
+ - Position
+ - PositionBound
+ - PositionCanonical
+ - PositionFirstComponent
+ - PositionMatchingDelimiter
+ - PositionNonZero
+ - PositionNot
+ - PositionNthOccurrence
+ - PositionNthTrueBlist
+ - PositionProperty
+ - PositionSet
+ - PositionSorted
+ - PositionStream
+ - PositionSublist
+ - PositionWord
+ - PositionsTrueBlist
+ - PositiveExponentsPresentationFpHom
+ - PositiveIntegers
+ - PositiveRootVectors
+ - PositiveRoots
+ - PositiveRootsAsWeights
+ - PossibleClassFusions
+ - PossibleFusionsCharTableTom
+ - PossiblePowerMaps
+ - PostMakeImmutable
+ - Pover
+ - PowerDecompositions
+ - PowerMap
+ - PowerMapByComposition
+ - PowerMapOfGroup
+ - PowerMapOfGroupWithInvariants
+ - PowerMapOp
+ - PowerMapsAllowedBySymmetrisations
+ - PowerMapsAllowedBySymmetrizations
+ - PowerMod
+ - PowerModCoeffs
+ - PowerModEvalPol
+ - PowerModInt
+ - PowerPartition
+ - PowerPcgsElement
+ - PowerS
+ - PowerSi
+ - PowerSubalgebraSeries
+ - PowerWreath
+ - PowersumsElsyms
+ - PreBasis
+ - PreImage
+ - PreImageElm
+ - PreImageSetStabBlocksHomomorphism
+ - PreImageWord
+ - PreImages
+ - PreImagesElm
+ - PreImagesRange
+ - PreImagesRepresentative
+ - PreImagesRepresentativeOperationAlgebraHomomorphism
+ - PreImagesSet
+ - PreOrbishProcessing
+ - PreferredGenerators
+ - PrefrattiniSubgroup
+ - PreimagesOfTransformation
+ - Presentation
+ - PresentationAugmentedCosetTable
+ - PresentationFpGroup
+ - PresentationNormalClosure
+ - PresentationNormalClosureRrs
+ - PresentationRegularPermutationGroup
+ - PresentationRegularPermutationGroupNC
+ - PresentationSubgroup
+ - PresentationSubgroupMtc
+ - PresentationSubgroupRrs
+ - PresentationViaCosetTable
+ - PresentationsFamily
+ - PrevPrimeInt
+ - PriGroItNext
+ - PrimGrpLoad
+ - PrimaryGeneratorWords
+ - PrimeBlocks
+ - PrimeBlocksOp
+ - PrimeField
+ - PrimeOfPGroup
+ - PrimePGroup
+ - PrimePowerComponent
+ - PrimePowerComponents
+ - PrimePowerPcSequence
+ - PrimePowersInt
+ - PrimeResidues
+ - PrimeResiduesCache
+ - Primes
+ - PrimitiveElement
+ - PrimitiveFacExtRepRatPol
+ - PrimitiveGroup
+ - PrimitiveGroupSims
+ - PrimitiveGroupsIterator
+ - PrimitiveIdentification
+ - PrimitiveIndexIrreducibleSolvableGroup
+ - PrimitivePolynomial
+ - PrimitiveRoot
+ - PrimitiveRootMod
+ - Print
+ - PrintAmbiguity
+ - PrintArray
+ - PrintBibAsBib
+ - PrintBibAsHTML
+ - PrintBibAsText
+ - PrintCharacterTable
+ - PrintCounters
+ - PrintFactorsInt
+ - PrintFormattedString
+ - PrintFormattingStatus
+ - PrintGAPDocElementTemplates
+ - PrintHashWithNames
+ - PrintObj
+ - PrintPadicExpansion
+ - PrintRecIndent
+ - PrintSixFile
+ - PrintTo
+ - ProbabilityShapes
+ - Process
+ - ProcessFixpoint
+ - ProdCoefRatfun
+ - ProdCoeffLaurpol
+ - ProdCoeffUnivfunc
+ - Product
+ - ProductCoeffs
+ - ProductMod
+ - ProductOp
+ - ProductPP
+ - ProductPol
+ - ProductRootsPol
+ - ProductSpace
+ - ProductX
+ - ProductXHelp
+ - ProfileFunctions
+ - ProfileFunctionsInGlobalVariables
+ - ProfileGlobalFunctions
+ - ProfileMethods
+ - ProfileOperations
+ - ProfileOperationsAndMethods
+ - ProfileOperationsAndMethodsOff
+ - ProfileOperationsAndMethodsOn
+ - ProfileOperationsOff
+ - ProfileOperationsOn
+ - ProjectedInducedPcgs
+ - ProjectedPcElement
+ - Projection
+ - ProjectionMap
+ - ProjectionOntoFullRowSpace
+ - ProjectionOntoVectorSubspace
+ - ProjectiveActionHomomorphismMatrixGroup
+ - ProjectiveActionOnFullSpace
+ - ProjectiveCharDeg
+ - ProjectiveGeneralLinearGroup
+ - ProjectiveGeneralLinearGroupCons
+ - ProjectiveGeneralUnitaryGroup
+ - ProjectiveGeneralUnitaryGroupCons
+ - ProjectiveOrder
+ - ProjectiveSpecialLinearGroup
+ - ProjectiveSpecialLinearGroupCons
+ - ProjectiveSpecialUnitaryGroup
+ - ProjectiveSpecialUnitaryGroupCons
+ - ProjectiveSymplecticGroup
+ - ProjectiveSymplecticGroupCons
+ - PropertyMethodByNiceMonomorphism
+ - PropertyMethodByNiceMonomorphismCollColl
+ - PropertyMethodByNiceMonomorphismCollElm
+ - PropertyMethodByNiceMonomorphismElmColl
+ - PseudoRandom
+ - PseudoRandomSeed
+ - PthPowerImage
+ - PthPowerImages
+ - PullBack
+ - PullbackCSPG
+ - PullbackKernelCSPG
+ - PurePadicNumberFamily
+ - PushOptions
+ - Quadratic
+ - QuasiDihedralGenerators
+ - QuaternionAlgebra
+ - QuaternionGenerators
+ - QuickInverseRepresentative
+ - QuoInt
+ - QuotRemLaurpols
+ - QuotRemPolList
+ - QuotSysDefinitionByIndex
+ - QuotSysIndexByDefinition
+ - Quotient
+ - QuotientFromSCTable
+ - QuotientGroup
+ - QuotientGroupByChainHomomorphicImage
+ - QuotientGroupByHomomorphism
+ - QuotientGroupByImages
+ - QuotientGroupByImagesNC
+ - QuotientGroupHom
+ - QuotientMod
+ - QuotientPolynomialsExtRep
+ - QuotientRemainder
+ - QuotientSemigroupCongruence
+ - QuotientSemigroupHomomorphism
+ - QuotientSemigroupPreimage
+ - QuotientSystem
+ - RBaseGroupsBloxPermGroup
+ - RClassOfHClass
+ - RNamObj
+ - RPFactorsModPrime
+ - RPGcdCRT
+ - RPGcdModPrime
+ - RPGcdRepresentationModPrime
+ - RPIFactors
+ - RPIGcd
+ - RPQuotientModPrime
+ - RPSquareHensel
+ - RRefine
+ - RSSDefaultOptions
+ - RadicalGroup
+ - RadicalOfAlgebra
+ - RanImgSrcSurjBloho
+ - RanImgSrcSurjTraho
+ - Random
+ - RandomBinaryRelationOnPoints
+ - RandomByPcs
+ - RandomCommutatorSubproduct
+ - RandomElmAsWord
+ - RandomHashKey
+ - RandomInvertibleMat
+ - RandomIsomorphismTest
+ - RandomList
+ - RandomMat
+ - RandomNormalSubproduct
+ - RandomPcgsSylowSubgroup
+ - RandomPol
+ - RandomPrimitivePolynomial
+ - RandomSchreierSims
+ - RandomSpecialPcgsCoded
+ - RandomSubprod
+ - RandomTransformation
+ - RandomUnimodularMat
+ - Range
+ - Rank
+ - RankAction
+ - RankFilter
+ - RankMat
+ - RankMatDestructive
+ - RankOfTransformation
+ - RankPGroup
+ - RanksOfDescendingSeries
+ - Rat
+ - RatClasPElmArrangeClasses
+ - RatPairString
+ - RationalClass
+ - RationalClasses
+ - RationalClassesInEANS
+ - RationalClassesPElements
+ - RationalClassesPermGroup
+ - RationalClassesSolvableGroup
+ - RationalClassesTry
+ - RationalFunctionByExtRep
+ - RationalFunctionByExtRepWithCancellation
+ - RationalFunctionsFamily
+ - RationalIdentificationPermGroup
+ - RationalizedMat
+ - Rationals
+ - ReObjectify
+ - Read
+ - ReadAll
+ - ReadAllIoStreamByPty
+ - ReadAllLine
+ - ReadAndCheckFunc
+ - ReadAsFunction
+ - ReadByte
+ - ReadGapRoot
+ - ReadGrp
+ - ReadLib
+ - ReadLine
+ - ReadOrComplete
+ - ReadPackage
+ - ReadPkg
+ - ReadPrim
+ - ReadSmall
+ - ReadSmallLib
+ - ReadTest
+ - ReadTom
+ - ReadTrans
+ - RealClasses
+ - RealizableBrauerCharacters
+ - RecFields
+ - RecNames
+ - RecordsFamily
+ - RecurseSchreierTree
+ - RedispatchOnCondition
+ - ReduceCoefficientsOfRws
+ - ReduceCoeffs
+ - ReduceCoeffsMod
+ - ReduceLetterRepWordsRewSys
+ - ReduceRules
+ - ReduceStabChain
+ - ReduceWordUsingRewritingSystem
+ - Reduced
+ - ReducedAdditiveInverse
+ - ReducedByIsomorphisms
+ - ReducedCharacters
+ - ReducedClassFunctions
+ - ReducedComm
+ - ReducedConfluentRewritingSystem
+ - ReducedConfluentRwsFromKbrwsNC
+ - ReducedConjugate
+ - ReducedDifference
+ - ReducedForm
+ - ReducedGaloisStabilizerInfo
+ - ReducedGroebnerBasis
+ - ReducedInverse
+ - ReducedLeftQuotient
+ - ReducedOne
+ - ReducedOrdinary
+ - ReducedPcElement
+ - ReducedPower
+ - ReducedProduct
+ - ReducedQuotient
+ - ReducedRrsWord
+ - ReducedSCTable
+ - ReducedScalarProduct
+ - ReducedSum
+ - ReducedVectorLTM
+ - ReducedZero
+ - Ree
+ - ReeGroup
+ - ReeGroupCons
+ - ReesCongruenceOfSemigroupIdeal
+ - ReesMatrixSemigroup
+ - ReesMatrixSemigroupElement
+ - ReesMatrixSemigroupEnumeratorGetElement
+ - ReesZeroMatrixSemigroup
+ - ReesZeroMatrixSemigroupElement
+ - ReesZeroMatrixSemigroupElementIsZero
+ - ReesZeroMatrixSemigroupEnumeratorGetElement
+ - RefinedChain
+ - RefinedPcGroup
+ - RefinedSymmetrisations
+ - RefinedSymmetrizations
+ - Refinements
+ - ReflectionMat
+ - ReflexiveClosureBinaryRelation
+ - RegisterRBasePoint
+ - RegularActionHomomorphism
+ - RegularModule
+ - RegularModuleByGens
+ - RegularNinKernelCSPG
+ - RelVectorToCocycle
+ - RelationsOfFpMonoid
+ - RelationsOfFpSemigroup
+ - RelativeBasis
+ - RelativeBasisNC
+ - RelativeOrderOfPcElement
+ - RelativeOrders
+ - RelatorFixedMultiplier
+ - RelatorMatrixAbelianizedNormalClosure
+ - RelatorMatrixAbelianizedNormalClosureRrs
+ - RelatorMatrixAbelianizedSubgroup
+ - RelatorMatrixAbelianizedSubgroupMtc
+ - RelatorMatrixAbelianizedSubgroupRrs
+ - RelatorRepresentatives
+ - RelatorsCode
+ - RelatorsOfFpAlgebra
+ - RelatorsOfFpGroup
+ - RelatorsPermGroupHom
+ - RelsSortedByStartGen
+ - RelsViaCosetTable
+ - RemInt
+ - RemoveCharacters
+ - RemoveElmList
+ - RemoveFile
+ - RemoveOuterCoeffs
+ - RemoveRelator
+ - RemoveRootParseTree
+ - RemoveSet
+ - RemoveStabChain
+ - RenumberHighestWeightGenerators
+ - RenumberTree
+ - RenumberedWord
+ - RepOpElmTuplesPermGroup
+ - RepOpSetsPermGroup
+ - RepeatedString
+ - ReplacedString
+ - RepresentationsOfMatrix
+ - RepresentationsOfObject
+ - Representative
+ - RepresentativeAction
+ - RepresentativeActionOp
+ - RepresentativeFromGenerators
+ - RepresentativeLinearOperation
+ - RepresentativeSmallest
+ - RepresentativeTom
+ - RepresentativeTomByGenerators
+ - RepresentativeTomByGeneratorsNC
+ - RepresentativesContainedRightCosets
+ - RepresentativesFusions
+ - RepresentativesMinimalBlocks
+ - RepresentativesMinimalBlocksAttr
+ - RepresentativesMinimalBlocksOp
+ - RepresentativesPerfectSubgroups
+ - RepresentativesPowerMaps
+ - RepresentativesSimpleSubgroups
+ - RepsPerfSimpSub
+ - RequirePackage
+ - Reread
+ - RereadAndCheckFunc
+ - RereadGrp
+ - RereadLib
+ - RereadPackage
+ - RereadPkg
+ - RereadPrim
+ - RereadSmall
+ - RereadTrans
+ - ResetFilterObj
+ - ResetOptionsStack
+ - ResizeFlatHashTable
+ - ResizeListHashTable
+ - RespectsAddition
+ - RespectsAdditiveInverses
+ - RespectsInverses
+ - RespectsMultiplication
+ - RespectsOne
+ - RespectsScalarMultiplication
+ - RespectsZero
+ - RestoreStateRandom
+ - Restricted
+ - RestrictedClassFunction
+ - RestrictedClassFunctions
+ - RestrictedExternalSet
+ - RestrictedMapping
+ - RestrictedNiceMonomorphism
+ - RestrictedPartitions
+ - RestrictedPartitionsA
+ - RestrictedPartitionsK
+ - RestrictedPerm
+ - RestrictedTransformation
+ - ResultOfLineOfStraightLineProgram
+ - ResultOfStraightLineProgram
+ - Resultant
+ - ReturnFail
+ - ReturnFalse
+ - ReturnNextBasePoint
+ - ReturnPopOptions
+ - ReturnTrue
+ - Reversed
+ - ReversedOp
+ - Revision
+ - RewindStream
+ - RewriteAbelianizedSubgroupRelators
+ - RewriteSubgroupRelators
+ - RewriteWord
+ - RightActingAlgebra
+ - RightActingDomain
+ - RightActingGroup
+ - RightActingRingOfIdeal
+ - RightAction
+ - RightAlgebraModule
+ - RightAlgebraModuleByGenerators
+ - RightCoset
+ - RightCosetCanonicalRepresentativeDeterminator
+ - RightCosets
+ - RightCosetsNC
+ - RightDerivations
+ - RightIdeal
+ - RightIdealByGenerators
+ - RightIdealNC
+ - RightMagmaCongruence
+ - RightMagmaCongruenceByGeneratingPairs
+ - RightMagmaIdeal
+ - RightMagmaIdealByGenerators
+ - RightModuleByHomomorphismToMatAlg
+ - RightSemigroupCongruenceByGeneratingPairs
+ - RightSemigroupIdealEnumeratorDataGetElement
+ - RightShiftRowVector
+ - RightTransversal
+ - RightTransversalInParent
+ - RightTransversalOp
+ - RightTransversalPermGroupConstructor
+ - Ring
+ - RingByGenerators
+ - RingElmTimesElm
+ - RingFromFFE
+ - RingWithOne
+ - RingWithOneByGenerators
+ - Root
+ - RootBound
+ - RootInt
+ - RootMod
+ - RootModPrime
+ - RootModPrimePower
+ - RootOfDefiningPolynomial
+ - RootSystem
+ - RootsMod
+ - RootsModPrime
+ - RootsModPrimePower
+ - RootsOfUPol
+ - RootsRepresentativeFFPol
+ - RootsUnityMod
+ - RootsUnityModPrime
+ - RootsUnityModPrimePower
+ - RoundCyc
+ - RoundCycDown
+ - RowEchelonFormLTM
+ - RowIndexOfReesMatrixSemigroupElement
+ - RowIndexOfReesZeroMatrixSemigroupElement
+ - RowSpace
+ - RowsOfReesMatrixSemigroup
+ - RowsOfReesZeroMatrixSemigroup
+ - Rules
+ - RunImmediateMethods
+ - Runtime
+ - Runtimes
+ - SCMinSmaGens
+ - SCRExtend
+ - SCRExtendRecord
+ - SCRMakeStabStrong
+ - SCRNotice
+ - SCRRandomPerm
+ - SCRRandomString
+ - SCRRandomSubproduct
+ - SCRRestoredRecord
+ - SCRSchTree
+ - SCRSift
+ - SCRStrongGenTest
+ - SCTableEntry
+ - SCTableProduct
+ - SLDegree
+ - SLUnderlyingField
+ - SNFofREF
+ - SPolynomial
+ - SSortedList
+ - SSortedListList
+ - STDOut
+ - STGSelFunc
+ - SameBlock
+ - SandwichMatrixOfReesMatrixSemigroup
+ - SandwichMatrixOfReesZeroMatrixSemigroup
+ - SaveWorkspace
+ - ScalarProduct
+ - SchreierTransversal
+ - SchreierTreeDepth
+ - SchreierTreeInternalConsistencyCheck
+ - SchuMu
+ - SchurCover
+ - SchurCoverFP
+ - ScriptFromString
+ - Search
+ - SecHMSM
+ - SecondaryGeneratorWordsAugmentedCosetTable
+ - SecondaryImagesAugmentedCosetTable
+ - SecondsDMYhms
+ - SeekPositionStream
+ - SelectSmallGroups
+ - SelectTransitiveGroups
+ - SemiEchelonBasis
+ - SemiEchelonBasisNC
+ - SemiEchelonMat
+ - SemiEchelonMatDestructive
+ - SemiEchelonMatTransformation
+ - SemiEchelonMatTransformationDestructive
+ - SemiEchelonMats
+ - SemiEchelonMatsDestructive
+ - SemiEchelonMatsNoCo
+ - SemiSimpleType
+ - SemidirectFactorsOfGroup
+ - SemidirectProduct
+ - SemidirectProductInfo
+ - Semigroup
+ - SemigroupByGenerators
+ - SemigroupByMultiplicationTable
+ - SemigroupCongruenceByGeneratingPairs
+ - SemigroupIdealByGenerators
+ - SemigroupIdealEnumeratorDataGetElement
+ - SemigroupOfRewritingSystem
+ - SemigroupTCInitialTableSize
+ - SemigroupToddCoxeterInfo
+ - Semiring
+ - SemiringByGenerators
+ - SemiringWithOne
+ - SemiringWithOneAndZero
+ - SemiringWithOneAndZeroByGenerators
+ - SemiringWithOneByGenerators
+ - SemiringWithZero
+ - SemiringWithZeroByGenerators
+ - SeqsOrbits
+ - Set
+ - SetANonReesCongruenceOfSemigroup
+ - SetAbelianInvariants
+ - SetAbelianInvariantsOfList
+ - SetAbsoluteValue
+ - SetActingDomain
+ - SetActionHomomorphismAttr
+ - SetActionKernelExternalSet
+ - SetActorOfExternalSet
+ - SetActualLibFileName
+ - SetAdditiveElementAsMultiplicativeElement
+ - SetAdditiveElementsAsMultiplicativeElementsFamily
+ - SetAdditiveInverse
+ - SetAdditiveInverseAttr
+ - SetAdditiveInverseImmutable
+ - SetAdditiveNeutralElement
+ - SetAdditivelyActingDomain
+ - SetAdjointBasis
+ - SetAdjointModule
+ - SetAlgebraicElementsFamilies
+ - SetAllBlocks
+ - SetAllInfoLevels
+ - SetAlpha
+ - SetAlternatingDegree
+ - SetAlternatingSubgroup
+ - SetAsDuplicateFreeList
+ - SetAsGroup
+ - SetAsGroupGeneralMappingByImages
+ - SetAsLeftModuleGeneralMappingByImages
+ - SetAsList
+ - SetAsMagma
+ - SetAsMonoid
+ - SetAsNearRing
+ - SetAsPolynomial
+ - SetAsRing
+ - SetAsSSortedList
+ - SetAsSemigroup
+ - SetAsSemiring
+ - SetAsSemiringWithOne
+ - SetAsSemiringWithOneAndZero
+ - SetAsSemiringWithZero
+ - SetAsSortedList
+ - SetAsSubgroupOfWholeGroupByQuotient
+ - SetAssertionLevel
+ - SetAssociatedReesMatrixSemigroupOfDClass
+ - SetAssociatedSemigroup
+ - SetAugmentationIdeal
+ - SetAugmentedCosetTableMtcInWholeGroup
+ - SetAugmentedCosetTableNormalClosureInWholeGroup
+ - SetAugmentedCosetTableRrsInWholeGroup
+ - SetAutomorphismDomain
+ - SetAutomorphismGroup
+ - SetAutomorphismsOfTable
+ - SetBaseIntMat
+ - SetBaseMat
+ - SetBaseOfBasicImageGroup
+ - SetBaseOfGroup
+ - SetBaseOrthogonalSpaceMat
+ - SetBasis
+ - SetBasisOfHomCosetAddMatrixGroup
+ - SetBasisVectors
+ - SetBaumClausenInfo
+ - SetBilinearFormMat
+ - SetBlocksAttr
+ - SetBlocksInfo
+ - SetBrauerCharacterValue
+ - SetBravaisGroup
+ - SetBravaisSubgroups
+ - SetBravaisSupergroups
+ - SetCanEasilyCompareElements
+ - SetCanEasilySortElements
+ - SetCanFindNilpotentClassTwoElement
+ - SetCanonicalBasis
+ - SetCanonicalElt
+ - SetCanonicalGenerators
+ - SetCanonicalNiceMonomorphism
+ - SetCanonicalPcgs
+ - SetCanonicalPcgsWrtFamilyPcgs
+ - SetCanonicalPcgsWrtHomePcgs
+ - SetCanonicalPcgsWrtSpecialPcgs
+ - SetCanonicalRepresentativeDeterminatorOfExternalSet
+ - SetCanonicalRepresentativeOfExternalOrbitByPcgs
+ - SetCanonicalRepresentativeOfExternalSet
+ - SetCartanMatrix
+ - SetCartanSubalgebra
+ - SetCayleyGraphDualSemigroup
+ - SetCayleyGraphSemigroup
+ - SetCenter
+ - SetCentralCharacter
+ - SetCentralIdempotentsOfSemiring
+ - SetCentralNormalSeriesByPcgs
+ - SetCentralizerInGLnZ
+ - SetCentralizerInParent
+ - SetCentre
+ - SetCentreOfCharacter
+ - SetChainSubgroup
+ - SetChainSubgroupQuotient
+ - SetCharacterDegrees
+ - SetCharacterNames
+ - SetCharacterParameters
+ - SetCharacteristic
+ - SetCharacteristicPolynomial
+ - SetChevalleyBasis
+ - SetChiefNormalSeriesByPcgs
+ - SetChiefSeries
+ - SetClassNames
+ - SetClassNamesTom
+ - SetClassParameters
+ - SetClassPermutation
+ - SetClassPositionsOfCentre
+ - SetClassPositionsOfDerivedSubgroup
+ - SetClassPositionsOfDirectProductDecompositions
+ - SetClassPositionsOfElementaryAbelianSeries
+ - SetClassPositionsOfFittingSubgroup
+ - SetClassPositionsOfKernel
+ - SetClassPositionsOfLowerCentralSeries
+ - SetClassPositionsOfMaximalNormalSubgroups
+ - SetClassPositionsOfNormalSubgroups
+ - SetClassPositionsOfSolvableResiduum
+ - SetClassPositionsOfSupersolvableResiduum
+ - SetClassPositionsOfUpperCentralSeries
+ - SetClassRoots
+ - SetClassTypesTom
+ - SetCoKernelOfAdditiveGeneralMapping
+ - SetCoKernelOfMultiplicativeGeneralMapping
+ - SetCoefficientsAndMagmaElements
+ - SetCoefficientsFamily
+ - SetCoefficientsOfLaurentPolynomial
+ - SetCoefficientsOfUnivariatePolynomial
+ - SetCoefficientsOfUnivariateRationalFunction
+ - SetCoefficientsRing
+ - SetCollectionsFamily
+ - SetColumnIndexOfReesMatrixSemigroupElement
+ - SetColumnIndexOfReesZeroMatrixSemigroupElement
+ - SetColumnsOfReesMatrixSemigroup
+ - SetColumnsOfReesZeroMatrixSemigroup
+ - SetCommutator
+ - SetCommutatorANC
+ - SetCommutatorFactorGroup
+ - SetCommutatorLength
+ - SetCommutatorNC
+ - SetComplementSystem
+ - SetComplexConjugate
+ - SetComponentsOfTuplesFamily
+ - SetCompositionSeries
+ - SetComputedAgemos
+ - SetComputedAscendingChains
+ - SetComputedBrauerTables
+ - SetComputedClassFusions
+ - SetComputedCyclicExtensionsTom
+ - SetComputedHallSubgroups
+ - SetComputedIndicators
+ - SetComputedIsPNilpotents
+ - SetComputedIsPSolvableCharacterTables
+ - SetComputedIsPSolvables
+ - SetComputedOmegas
+ - SetComputedPCentralSeriess
+ - SetComputedPCores
+ - SetComputedPRumps
+ - SetComputedPowerMaps
+ - SetComputedPrimeBlockss
+ - SetComputedSylowComplements
+ - SetComputedSylowSubgroups
+ - SetConductor
+ - SetConfluentRws
+ - SetConjugacyClasses
+ - SetConjugacyClassesMaximalSubgroups
+ - SetConjugacyClassesPerfectSubgroups
+ - SetConjugacyClassesSubgroups
+ - SetConjugate
+ - SetConjugateANC
+ - SetConjugateNC
+ - SetConjugates
+ - SetConjugatorInnerAutomorphism
+ - SetConjugatorOfConjugatorIsomorphism
+ - SetConstantTimeAccessList
+ - SetConstituentsOfCharacter
+ - SetConvertBasicImageGroupElement
+ - SetCoreInParent
+ - SetCosetTableFpHom
+ - SetCosetTableInWholeGroup
+ - SetCosetTableNormalClosureInWholeGroup
+ - SetCosetTableOfFpSemigroup
+ - SetCrystGroupDefaultAction
+ - SetCycleStructurePerm
+ - SetCyclicExtensionsTom
+ - SetDataType
+ - SetDecompositionMatrix
+ - SetDecompositionTypesOfGroup
+ - SetDefaultFieldOfMatrix
+ - SetDefaultFieldOfMatrixGroup
+ - SetDefectApproximation
+ - SetDefiningPcgs
+ - SetDefiningPolynomial
+ - SetDefinitionNC
+ - SetDegreeAction
+ - SetDegreeOfBinaryRelation
+ - SetDegreeOfCharacter
+ - SetDegreeOfLaurentPolynomial
+ - SetDegreeOfMatrixGroup
+ - SetDegreeOfTransformation
+ - SetDegreeOfTransformationSemigroup
+ - SetDegreeOperation
+ - SetDegreeOverPrimeField
+ - SetDelta
+ - SetDenominatorOfModuloPcgs
+ - SetDenominatorOfRationalFunction
+ - SetDepthOfUpperTriangularMatrix
+ - SetDerivations
+ - SetDerivative
+ - SetDerivedLength
+ - SetDerivedSeriesOfGroup
+ - SetDerivedSubgroup
+ - SetDerivedSubgroupsTomPossible
+ - SetDerivedSubgroupsTomUnique
+ - SetDeterminantMat
+ - SetDeterminantOfCharacter
+ - SetDihedralGenerators
+ - SetDimension
+ - SetDimensionOfMatrixGroup
+ - SetDimensionOfVectors
+ - SetDimensionsLoewyFactors
+ - SetDimensionsMat
+ - SetDirectFactorsOfGroup
+ - SetDirectProductInfo
+ - SetDirectSumDecomposition
+ - SetDisplayOptions
+ - SetDixonRecord
+ - SetEANormalSeriesByPcgs
+ - SetEarns
+ - SetEggBoxOfDClass
+ - SetElementTestFunction
+ - SetElementaryAbelianSeries
+ - SetElementaryAbelianSeriesLargeSteps
+ - SetElementaryAbelianSubseries
+ - SetElementsFamily
+ - SetElmWPObj
+ - SetEmptyRowVector
+ - SetEntrySCTable
+ - SetEnumerator
+ - SetEnumeratorByBasis
+ - SetEnumeratorSorted
+ - SetEquivalenceClassRelation
+ - SetEquivalenceClasses
+ - SetEquivalenceRelationPartition
+ - SetErrorHandler
+ - SetExponent
+ - SetExponentOfPowering
+ - SetExtRepDenominatorRatFun
+ - SetExtRepNumeratorRatFun
+ - SetExtRepPolynomialRatFun
+ - SetExternalOrbits
+ - SetExternalOrbitsStabilizers
+ - SetExternalSet
+ - SetFactorsOfDirectProduct
+ - SetFaithfulModule
+ - SetFamiliesOfGeneralMappingsAndRanges
+ - SetFamilyForOrdering
+ - SetFamilyForRewritingSystem
+ - SetFamilyPcgs
+ - SetFamilyRange
+ - SetFamilySource
+ - SetFeatureObj
+ - SetFieldOfMatrixGroup
+ - SetFilterObj
+ - SetFittingSubgroup
+ - SetFpElmComparisonMethod
+ - SetFpElmEqualityMethod
+ - SetFpElmKBRWS
+ - SetFrattiniSubgroup
+ - SetFrattinifactorId
+ - SetFrattinifactorSize
+ - SetFreeAlgebraOfFpAlgebra
+ - SetFreeGeneratorsOfFpAlgebra
+ - SetFreeGeneratorsOfFpGroup
+ - SetFreeGeneratorsOfFpMonoid
+ - SetFreeGeneratorsOfFpSemigroup
+ - SetFreeGroupOfBasicImageGroup
+ - SetFreeGroupOfFpGroup
+ - SetFreeMonoidOfFpMonoid
+ - SetFreeMonoidOfRewritingSystem
+ - SetFreeSemigroupOfFpSemigroup
+ - SetFreeSemigroupOfRewritingSystem
+ - SetFrobeniusAutomorphism
+ - SetFunctionAction
+ - SetFusionConjugacyClassesOp
+ - SetFusionsOfLibTom
+ - SetFusionsToLibTom
+ - SetFusionsTom
+ - SetGLDegree
+ - SetGLUnderlyingField
+ - SetGaloisGroup
+ - SetGaloisMat
+ - SetGaloisStabilizer
+ - SetGaloisType
+ - SetGapDocHTMLOptions
+ - SetGapDocLaTeXOptions
+ - SetGapDocTxtOptions
+ - SetGasmanMessageStatus
+ - SetGeneralizedPcgs
+ - SetGeneratingPairsOfLeftMagmaCongruence
+ - SetGeneratingPairsOfMagmaCongruence
+ - SetGeneratingPairsOfRightMagmaCongruence
+ - SetGeneratingSetIsComplete
+ - SetGeneratorOfCyclicGroup
+ - SetGeneratorsOfAdditiveGroup
+ - SetGeneratorsOfAdditiveMagma
+ - SetGeneratorsOfAdditiveMagmaWithInverses
+ - SetGeneratorsOfAdditiveMagmaWithZero
+ - SetGeneratorsOfAlgebra
+ - SetGeneratorsOfAlgebraModule
+ - SetGeneratorsOfAlgebraWithOne
+ - SetGeneratorsOfDivisionRing
+ - SetGeneratorsOfDomain
+ - SetGeneratorsOfEquivalenceRelationPartition
+ - SetGeneratorsOfExtASet
+ - SetGeneratorsOfExtLSet
+ - SetGeneratorsOfExtRSet
+ - SetGeneratorsOfExtUSet
+ - SetGeneratorsOfFLMLOR
+ - SetGeneratorsOfFLMLORWithOne
+ - SetGeneratorsOfField
+ - SetGeneratorsOfGroup
+ - SetGeneratorsOfIdeal
+ - SetGeneratorsOfLeftIdeal
+ - SetGeneratorsOfLeftMagmaIdeal
+ - SetGeneratorsOfLeftModule
+ - SetGeneratorsOfLeftOperatorAdditiveGroup
+ - SetGeneratorsOfLeftOperatorRing
+ - SetGeneratorsOfLeftOperatorRingWithOne
+ - SetGeneratorsOfLeftVectorSpace
+ - SetGeneratorsOfMagma
+ - SetGeneratorsOfMagmaIdeal
+ - SetGeneratorsOfMagmaWithInverses
+ - SetGeneratorsOfMagmaWithOne
+ - SetGeneratorsOfMonoid
+ - SetGeneratorsOfNearAdditiveGroup
+ - SetGeneratorsOfNearAdditiveMagma
+ - SetGeneratorsOfNearAdditiveMagmaWithInverses
+ - SetGeneratorsOfNearAdditiveMagmaWithZero
+ - SetGeneratorsOfRightIdeal
+ - SetGeneratorsOfRightMagmaIdeal
+ - SetGeneratorsOfRightModule
+ - SetGeneratorsOfRightOperatorAdditiveGroup
+ - SetGeneratorsOfRing
+ - SetGeneratorsOfRingWithOne
+ - SetGeneratorsOfRws
+ - SetGeneratorsOfSemigroup
+ - SetGeneratorsOfSemiring
+ - SetGeneratorsOfSemiringWithOne
+ - SetGeneratorsOfSemiringWithOneAndZero
+ - SetGeneratorsOfSemiringWithZero
+ - SetGeneratorsOfTwoSidedIdeal
+ - SetGeneratorsOfVectorSpace
+ - SetGeneratorsSmallest
+ - SetGeneratorsSubgroupsTom
+ - SetGlobalPartitionOfClasses
+ - SetGrading
+ - SetGreensDRelation
+ - SetGreensHRelation
+ - SetGreensJRelation
+ - SetGreensLRelation
+ - SetGreensRRelation
+ - SetGroupByPcgs
+ - SetGroupHClassOfGreensDClass
+ - SetGroupOfPcgs
+ - SetHallSystem
+ - SetHashEntry
+ - SetHashEntryAtLastIndex
+ - SetHelpViewer
+ - SetHirschLength
+ - SetHomCosetFamily
+ - SetHomFromFreeOfBasicImageGroup
+ - SetHomeEnumerator
+ - SetHomePcgs
+ - SetIBr
+ - SetIdGroup
+ - SetIdempotents
+ - SetIdempotentsTom
+ - SetIdempotentsTomInfo
+ - SetIdentificationOfConjugacyClasses
+ - SetIdentifier
+ - SetIdentity
+ - SetIdentityMapping
+ - SetImage
+ - SetImageElt
+ - SetImageListOfTransformation
+ - SetImageSetOfTransformation
+ - SetImagesSmallestGenerators
+ - SetImagesSource
+ - SetImfRecord
+ - SetIndependentGeneratorsOfAbelianGroup
+ - SetIndependentGeneratorsOfAbelianMatrixGroup
+ - SetIndeterminateName
+ - SetIndeterminateNumberOfLaurentPolynomial
+ - SetIndeterminateNumberOfUnivariateLaurentPolynomial
+ - SetIndeterminateNumberOfUnivariateRationalFunction
+ - SetIndeterminateOfUnivariateRationalFunction
+ - SetIndeterminatesOfPolynomialRing
+ - SetIndexInParent
+ - SetIndexInWholeGroup
+ - SetIndicesCentralNormalSteps
+ - SetIndicesChiefNormalSteps
+ - SetIndicesEANormalSteps
+ - SetIndicesInvolutaryGenerators
+ - SetIndicesNormalSteps
+ - SetIndicesOfAdjointBasis
+ - SetIndicesPCentralNormalStepsPGroup
+ - SetInducedPcgs
+ - SetInducedPcgsWrtFamilyPcgs
+ - SetInducedPcgsWrtHomePcgs
+ - SetInducedPcgsWrtSpecialPcgs
+ - SetInfoLevel
+ - SetInfoText
+ - SetInjectionZeroMagma
+ - SetInnerAutomorphismsAutomorphismGroup
+ - SetInt
+ - SetInternalRepresentative
+ - SetInvariantBilinearForm
+ - SetInvariantForm
+ - SetInvariantLattice
+ - SetInvariantQuadraticForm
+ - SetInvariantSesquilinearForm
+ - SetInverse
+ - SetInverseAttr
+ - SetInverseClasses
+ - SetInverseGeneralMapping
+ - SetInverseImmutable
+ - SetIrr
+ - SetIrrBaumClausen
+ - SetIrrConlon
+ - SetIrrDixonSchneider
+ - SetIrrFacsPol
+ - SetIrreducibleRepresentations
+ - SetIsAbelian
+ - SetIsAbelianNumberField
+ - SetIsAbelianTom
+ - SetIsAdditiveGroupGeneralMapping
+ - SetIsAdditiveGroupHomomorphism
+ - SetIsAdditiveGroupToGroupGeneralMapping
+ - SetIsAdditiveGroupToGroupHomomorphism
+ - SetIsAdditivelyCommutative
+ - SetIsAlgebraGeneralMapping
+ - SetIsAlgebraHomomorphism
+ - SetIsAlgebraModule
+ - SetIsAlgebraWithOneGeneralMapping
+ - SetIsAlgebraWithOneHomomorphism
+ - SetIsAlternatingGroup
+ - SetIsAnticommutative
+ - SetIsAntisymmetricBinaryRelation
+ - SetIsAssociative
+ - SetIsAutomorphismGroup
+ - SetIsBasicWreathProductOrdering
+ - SetIsBergerCondition
+ - SetIsBijective
+ - SetIsBravaisGroup
+ - SetIsBuiltFromAdditiveMagmaWithInverses
+ - SetIsBuiltFromGroup
+ - SetIsBuiltFromMagma
+ - SetIsBuiltFromMagmaWithInverses
+ - SetIsBuiltFromMagmaWithOne
+ - SetIsBuiltFromMonoid
+ - SetIsBuiltFromSemigroup
+ - SetIsCanonicalBasis
+ - SetIsCanonicalBasisFullMatrixModule
+ - SetIsCanonicalBasisFullRowModule
+ - SetIsCanonicalBasisFullSCAlgebra
+ - SetIsCanonicalNiceMonomorphism
+ - SetIsCanonicalPcgs
+ - SetIsCanonicalPcgsWrtSpecialPcgs
+ - SetIsChainTypeGroup
+ - SetIsCharacter
+ - SetIsCharacteristicMatrixPGroup
+ - SetIsCommutative
+ - SetIsCommutativeFamily
+ - SetIsConfluent
+ - SetIsConjugatorAutomorphism
+ - SetIsConjugatorIsomorphism
+ - SetIsConstantRationalFunction
+ - SetIsConstantTimeAccessGeneralMapping
+ - SetIsCycInt
+ - SetIsCyclic
+ - SetIsCyclicTom
+ - SetIsCyclicWithSize
+ - SetIsCyclotomicField
+ - SetIsDihedralGroup
+ - SetIsDistributive
+ - SetIsDivisionRing
+ - SetIsDuplicateFree
+ - SetIsDuplicateFreeList
+ - SetIsElementaryAbelian
+ - SetIsEmpty
+ - SetIsEndoGeneralMapping
+ - SetIsEndoMapping
+ - SetIsEquivalenceRelation
+ - SetIsFFEMatrixGroupOverLargeSpace
+ - SetIsFamilyPcgs
+ - SetIsField
+ - SetIsFieldHomomorphism
+ - SetIsFinite
+ - SetIsFiniteDimensional
+ - SetIsFiniteOrdersPcgs
+ - SetIsFiniteSemigroupGreensRelation
+ - SetIsFinitelyGeneratedGroup
+ - SetIsFrattiniFree
+ - SetIsFreeMonoid
+ - SetIsFreeSemigroup
+ - SetIsFullFpAlgebra
+ - SetIsFullHomModule
+ - SetIsFullMatrixModule
+ - SetIsFullRowModule
+ - SetIsFullSCAlgebra
+ - SetIsFullSubgroupGLorSLRespectingBilinearForm
+ - SetIsFullSubgroupGLorSLRespectingQuadraticForm
+ - SetIsFullSubgroupGLorSLRespectingSesquilinearForm
+ - SetIsFullTransformationSemigroup
+ - SetIsGL
+ - SetIsGeneralLinearGroup
+ - SetIsGeneralizedCartanMatrix
+ - SetIsGeneratorsOfMagmaWithInverses
+ - SetIsGreensClass
+ - SetIsGreensDClass
+ - SetIsGreensDRelation
+ - SetIsGreensHClass
+ - SetIsGreensHRelation
+ - SetIsGreensJClass
+ - SetIsGreensJRelation
+ - SetIsGreensLClass
+ - SetIsGreensLRelation
+ - SetIsGreensRClass
+ - SetIsGreensRRelation
+ - SetIsGreensRelation
+ - SetIsGroupGeneralMapping
+ - SetIsGroupHClass
+ - SetIsGroupHomomorphism
+ - SetIsGroupOfAutomorphisms
+ - SetIsGroupOfAutomorphismsFiniteGroup
+ - SetIsGroupRing
+ - SetIsGroupToAdditiveGroupGeneralMapping
+ - SetIsGroupToAdditiveGroupHomomorphism
+ - SetIsHandledByNiceMonomorphism
+ - SetIsHasseDiagram
+ - SetIsHomCosetOfAdditiveElt
+ - SetIsHomCosetOfFp
+ - SetIsHomCosetOfMatrix
+ - SetIsHomCosetOfPerm
+ - SetIsHomCosetOfTuple
+ - SetIsIdealInParent
+ - SetIsIdempotent
+ - SetIsImpossible
+ - SetIsInducedFromNormalSubgroup
+ - SetIsInducedPcgsWrtSpecialPcgs
+ - SetIsInjective
+ - SetIsInnerAutomorphism
+ - SetIsIntegerMatrixGroup
+ - SetIsIntegralBasis
+ - SetIsIntegralCyclotomic
+ - SetIsIntegralRing
+ - SetIsIrreducibleCharacter
+ - SetIsJacobianRing
+ - SetIsLDistributive
+ - SetIsLatticeOrderBinaryRelation
+ - SetIsLaurentPolynomial
+ - SetIsLeftActedOnByDivisionRing
+ - SetIsLeftAlgebraModule
+ - SetIsLeftIdealInParent
+ - SetIsLeftModuleGeneralMapping
+ - SetIsLeftModuleHomomorphism
+ - SetIsLeftSemigroupCongruence
+ - SetIsLeftSemigroupIdeal
+ - SetIsLieAbelian
+ - SetIsLieAlgebra
+ - SetIsLieNilpotent
+ - SetIsLieSolvable
+ - SetIsLinearlyPrimitive
+ - SetIsMagmaHomomorphism
+ - SetIsMapping
+ - SetIsMatrixModule
+ - SetIsMinimalNonmonomial
+ - SetIsMonoid
+ - SetIsMonomialCharacter
+ - SetIsMonomialCharacterTable
+ - SetIsMonomialGroup
+ - SetIsMonomialMatrix
+ - SetIsMonomialNumber
+ - SetIsNaturalAlternatingGroup
+ - SetIsNaturalGL
+ - SetIsNaturalSL
+ - SetIsNaturalSymmetricGroup
+ - SetIsNearRing
+ - SetIsNearRingWithOne
+ - SetIsNilpQuotientSystem
+ - SetIsNilpotentCharacterTable
+ - SetIsNilpotentGroup
+ - SetIsNilpotentTom
+ - SetIsNonTrivial
+ - SetIsNoncharacteristicMatrixPGroup
+ - SetIsNormalBasis
+ - SetIsNormalForm
+ - SetIsNormalInParent
+ - SetIsNumberField
+ - SetIsNumeratorParentPcgsFamilyPcgs
+ - SetIsOne
+ - SetIsOrderingOnFamilyOfAssocWords
+ - SetIsPGroup
+ - SetIsPQuotientSystem
+ - SetIsPSL
+ - SetIsParentPcgsFamilyPcgs
+ - SetIsPartialOrderBinaryRelation
+ - SetIsPcgsCentralSeries
+ - SetIsPcgsChiefSeries
+ - SetIsPcgsElementaryAbelianSeries
+ - SetIsPcgsPCentralSeriesPGroup
+ - SetIsPerfectCharacterTable
+ - SetIsPerfectGroup
+ - SetIsPerfectTom
+ - SetIsPolycyclicGroup
+ - SetIsPolynomial
+ - SetIsPositionsList
+ - SetIsPreOrderBinaryRelation
+ - SetIsPrimeField
+ - SetIsPrimeOrdersPcgs
+ - SetIsPrimitive
+ - SetIsPrimitiveAffine
+ - SetIsPrimitiveCharacter
+ - SetIsPrimitiveMatrixGroup
+ - SetIsPseudoCanonicalBasisFullHomModule
+ - SetIsQuasiDihedralGroup
+ - SetIsQuasiPrimitive
+ - SetIsQuaternionGroup
+ - SetIsRDistributive
+ - SetIsRationalMatrixGroup
+ - SetIsRectangularTable
+ - SetIsReduced
+ - SetIsReesCongruence
+ - SetIsReesCongruenceSemigroup
+ - SetIsReesMatrixSemigroup
+ - SetIsReesZeroMatrixSemigroup
+ - SetIsReflexiveBinaryRelation
+ - SetIsRegular
+ - SetIsRegularDClass
+ - SetIsRegularSemigroup
+ - SetIsRelativelySM
+ - SetIsRestrictedLieAlgebra
+ - SetIsRightAlgebraModule
+ - SetIsRightIdealInParent
+ - SetIsRightSemigroupCongruence
+ - SetIsRightSemigroupIdeal
+ - SetIsRing
+ - SetIsRingGeneralMapping
+ - SetIsRingHomomorphism
+ - SetIsRingWithOne
+ - SetIsRingWithOneGeneralMapping
+ - SetIsRingWithOneHomomorphism
+ - SetIsRowModule
+ - SetIsSL
+ - SetIsSSortedList
+ - SetIsSemiEchelonized
+ - SetIsSemiRegular
+ - SetIsSemigroup
+ - SetIsSemigroupCongruence
+ - SetIsSemigroupIdeal
+ - SetIsSemiring
+ - SetIsSemiringWithOne
+ - SetIsSemiringWithOneAndZero
+ - SetIsSemiringWithZero
+ - SetIsShortLexOrdering
+ - SetIsSimpleAlgebra
+ - SetIsSimpleCharacterTable
+ - SetIsSimpleGroup
+ - SetIsSimpleSemigroup
+ - SetIsSingleValued
+ - SetIsSkewFieldFamily
+ - SetIsSmallList
+ - SetIsSolvableCharacterTable
+ - SetIsSolvableGroup
+ - SetIsSolvableTom
+ - SetIsSortedList
+ - SetIsSpecialLinearGroup
+ - SetIsSpecialPcgs
+ - SetIsSporadicSimpleCharacterTable
+ - SetIsSporadicSimpleGroup
+ - SetIsStabChainViaChainSubgroup
+ - SetIsSubgroupSL
+ - SetIsSubmonoidFpMonoid
+ - SetIsSubnormallyMonomial
+ - SetIsSubsemigroupFpSemigroup
+ - SetIsSubsemigroupReesMatrixSemigroup
+ - SetIsSubsemigroupReesZeroMatrixSemigroup
+ - SetIsSubsetLocallyFiniteGroup
+ - SetIsSupersolvableCharacterTable
+ - SetIsSupersolvableGroup
+ - SetIsSurjective
+ - SetIsSymmetricBinaryRelation
+ - SetIsSymmetricGroup
+ - SetIsTotal
+ - SetIsTotalOrdering
+ - SetIsTransformationMonoid
+ - SetIsTransformationSemigroup
+ - SetIsTransitive
+ - SetIsTransitiveBinaryRelation
+ - SetIsTranslationInvariantOrdering
+ - SetIsTrivial
+ - SetIsTwoSidedIdealInParent
+ - SetIsUFDFamily
+ - SetIsUniformMatrixGroup
+ - SetIsUnivariatePolynomial
+ - SetIsUnivariateRationalFunction
+ - SetIsVectorSpaceHomomorphism
+ - SetIsVirtualCharacter
+ - SetIsWeightLexOrdering
+ - SetIsWellFoundedOrdering
+ - SetIsWeylGroup
+ - SetIsWholeFamily
+ - SetIsWreathProductOrdering
+ - SetIsZero
+ - SetIsZeroGroup
+ - SetIsZeroMultiplicationRing
+ - SetIsZeroRationalFunction
+ - SetIsZeroSimpleSemigroup
+ - SetIsZeroSquaredRing
+ - SetIsomorphismFpAlgebra
+ - SetIsomorphismFpFLMLOR
+ - SetIsomorphismFpGroup
+ - SetIsomorphismFpMonoid
+ - SetIsomorphismFpSemigroup
+ - SetIsomorphismMatrixAlgebra
+ - SetIsomorphismMatrixFLMLOR
+ - SetIsomorphismPcGroup
+ - SetIsomorphismPermGroup
+ - SetIsomorphismReesMatrixSemigroup
+ - SetIsomorphismRefinedPcGroup
+ - SetIsomorphismSCAlgebra
+ - SetIsomorphismSCFLMLOR
+ - SetIsomorphismSimplifiedFpGroup
+ - SetIsomorphismSpecialPcGroup
+ - SetIsomorphismTransformationSemigroup
+ - SetJenningsLieAlgebra
+ - SetJenningsSeries
+ - SetJordanDecomposition
+ - SetKernelOfAdditiveGeneralMapping
+ - SetKernelOfCharacter
+ - SetKernelOfMultiplicativeGeneralMapping
+ - SetKernelOfTransformation
+ - SetKillingMatrix
+ - SetKnowsHowToDecompose
+ - SetLClassOfHClass
+ - SetLGFirst
+ - SetLGHeads
+ - SetLGLayers
+ - SetLGLength
+ - SetLGTails
+ - SetLGWeights
+ - SetLargestElementGroup
+ - SetLargestMovedPoint
+ - SetLargestMovedPointPerm
+ - SetLatticeGeneratorsInUEA
+ - SetLatticeSubgroups
+ - SetLeadCoeffsIGS
+ - SetLeftActingAlgebra
+ - SetLeftActingDomain
+ - SetLeftActingGroup
+ - SetLeftActingRingOfIdeal
+ - SetLeftDerivations
+ - SetLength
+ - SetLengthsTom
+ - SetLessThanFunction
+ - SetLessThanOrEqualFunction
+ - SetLetterRepWordsLessFunc
+ - SetLevelsOfGenerators
+ - SetLeviMalcevDecomposition
+ - SetLieAlgebraByDomain
+ - SetLieCenter
+ - SetLieCentralizerInParent
+ - SetLieCentre
+ - SetLieDerivedSeries
+ - SetLieDerivedSubalgebra
+ - SetLieFamily
+ - SetLieLowerCentralSeries
+ - SetLieNilRadical
+ - SetLieNormalizerInParent
+ - SetLieObject
+ - SetLieSolvableRadical
+ - SetLieUpperCentralSeries
+ - SetLinearActionBasis
+ - SetLinearCharacters
+ - SetLinesOfStraightLineProgram
+ - SetLongestWeylWordPerm
+ - SetLowerCentralSeriesOfGroup
+ - SetMagmaGeneratorsOfFamily
+ - SetMappingGeneratorsImages
+ - SetMappingOfWhichItIsAsGGMBI
+ - SetMarksTom
+ - SetMatTom
+ - SetMatrixByBlockMatrix
+ - SetMatrixDimension
+ - SetMaximalAbelianQuotient
+ - SetMaximalBlocksAttr
+ - SetMaximalNormalSubgroups
+ - SetMaximalSubgroupClassReps
+ - SetMaximalSubgroups
+ - SetMaximalSubgroupsLattice
+ - SetMaximalSubgroupsTom
+ - SetMinimalBlockDimension
+ - SetMinimalGeneratingSet
+ - SetMinimalNormalSubgroups
+ - SetMinimalStabChain
+ - SetMinimalSupergroupsLattice
+ - SetMinimizedBombieriNorm
+ - SetModuleOfExtension
+ - SetModulusOfZmodnZObj
+ - SetMoebiusTom
+ - SetMolienSeriesInfo
+ - SetMonoidOfRewritingSystem
+ - SetMonomialComparisonFunction
+ - SetMonomialExtrepComparisonFun
+ - SetMovedPoints
+ - SetMultipleAttributes
+ - SetMultiplicationTable
+ - SetMultiplicativeNeutralElement
+ - SetMultiplicativeZero
+ - SetName
+ - SetNameIsomorphismClass
+ - SetNamesLibTom
+ - SetNamesOfFusionSources
+ - SetNaturalCharacter
+ - SetNaturalHomomorphismByNormalSubgroupNCInParent
+ - SetNaturalHomomorphismsPool
+ - SetNegativeRootVectors
+ - SetNegativeRoots
+ - SetNestingDepthA
+ - SetNestingDepthM
+ - SetNiceAlgebraMonomorphism
+ - SetNiceBasis
+ - SetNiceFreeLeftModule
+ - SetNiceFreeLeftModuleInfo
+ - SetNiceMonomorphism
+ - SetNiceNormalFormByExtRepFunction
+ - SetNiceObject
+ - SetNilpotencyClassOfGroup
+ - SetNilpotentClassTwoElement
+ - SetNonLieNilpotentElement
+ - SetNonNilpotentElement
+ - SetNorm
+ - SetNormalBase
+ - SetNormalClosureInParent
+ - SetNormalMaximalSubgroups
+ - SetNormalSeriesByPcgs
+ - SetNormalSubgroupClassesInfo
+ - SetNormalSubgroups
+ - SetNormalizerInGLnZ
+ - SetNormalizerInGLnZBravaisGroup
+ - SetNormalizerInHomePcgs
+ - SetNormalizerInParent
+ - SetNormalizersTom
+ - SetNormedRowVector
+ - SetNormedRowVectors
+ - SetNormedVectors
+ - SetNotifiedFusionsOfLibTom
+ - SetNotifiedFusionsToLibTom
+ - SetNrConjugacyClasses
+ - SetNrInputsOfStraightLineProgram
+ - SetNrMovedPoints
+ - SetNrMovedPointsPerm
+ - SetNrSubsTom
+ - SetNrSyllables
+ - SetNullAlgebra
+ - SetNullspaceIntMat
+ - SetNullspaceMat
+ - SetNumberGeneratorsOfRws
+ - SetNumberSyllables
+ - SetNumeratorOfModuloPcgs
+ - SetNumeratorOfRationalFunction
+ - SetONanScottType
+ - SetOccuringVariableIndices
+ - SetOmegaAndLowerPCentralSeries
+ - SetOmegaSeries
+ - SetOne
+ - SetOneAttr
+ - SetOneImmutable
+ - SetOneOfPcgs
+ - SetOperatorOfExternalSet
+ - SetOrbitGeneratorsOfGroup
+ - SetOrbitLengths
+ - SetOrbitLengthsDomain
+ - SetOrbitStabilizingParentGroup
+ - SetOrbits
+ - SetOrbitsDomain
+ - SetOrder
+ - SetOrderingOfRewritingSystem
+ - SetOrderingOnGenerators
+ - SetOrderingsFamily
+ - SetOrdersClassRepresentatives
+ - SetOrdersTom
+ - SetOrdinaryCharacterTable
+ - SetOrthogonalSpaceInFullRowSpace
+ - SetPCentralLieAlgebra
+ - SetPCentralNormalSeriesByPcgsPGroup
+ - SetPClassPGroup
+ - SetPSLDegree
+ - SetPSLUnderlyingField
+ - SetPackageInfo
+ - SetParent
+ - SetParentAttr
+ - SetParentPcgs
+ - SetPartialClosureOfCongruence
+ - SetPartialOrderOfHasseDiagram
+ - SetPcGroupWithPcgs
+ - SetPcSeries
+ - SetPcgs
+ - SetPcgsCentralSeries
+ - SetPcgsChiefSeries
+ - SetPcgsElementaryAbelianSeries
+ - SetPcgsPCentralSeriesPGroup
+ - SetPerfectIdentification
+ - SetPerfectResiduum
+ - SetPermutationTom
+ - SetPositiveRootVectors
+ - SetPositiveRoots
+ - SetPositiveRootsAsWeights
+ - SetPower
+ - SetPowerANC
+ - SetPowerNC
+ - SetPowerS
+ - SetPowerSubalgebraSeries
+ - SetPreBasis
+ - SetPreImagesRange
+ - SetPreferredGenerators
+ - SetPrefrattiniSubgroup
+ - SetPresentation
+ - SetPrimaryGeneratorWords
+ - SetPrimeField
+ - SetPrimePGroup
+ - SetPrimePowerComponents
+ - SetPrimitiveElement
+ - SetPrimitiveIdentification
+ - SetPrimitiveRoot
+ - SetPrintFormattingStatus
+ - SetProjectiveOrder
+ - SetPseudoRandomSeed
+ - SetPthPowerImages
+ - SetQuasiDihedralGenerators
+ - SetQuaternionGenerators
+ - SetQuotientGroup
+ - SetQuotientGroupHom
+ - SetQuotientSemigroupCongruence
+ - SetQuotientSemigroupHomomorphism
+ - SetQuotientSemigroupPreimage
+ - SetRClassOfHClass
+ - SetRadicalGroup
+ - SetRadicalOfAlgebra
+ - SetRange
+ - SetRankAction
+ - SetRankMat
+ - SetRankOfTransformation
+ - SetRankPGroup
+ - SetRat
+ - SetRationalClasses
+ - SetRationalFunctionsFamily
+ - SetRationalizedMat
+ - SetRealClasses
+ - SetRecNames
+ - SetRecursionTrapInterval
+ - SetReducedConfluentRewritingSystem
+ - SetReducedMultiplication
+ - SetReesCongruenceOfSemigroupIdeal
+ - SetReesZeroMatrixSemigroupElementIsZero
+ - SetRefinedPcGroup
+ - SetRegularActionHomomorphism
+ - SetRelationsOfFpMonoid
+ - SetRelationsOfFpSemigroup
+ - SetRelativeOrder
+ - SetRelativeOrderNC
+ - SetRelativeOrders
+ - SetRelatorsOfFpAlgebra
+ - SetRelatorsOfFpGroup
+ - SetRepresentative
+ - SetRepresentativeSmallest
+ - SetRepresentativesContainedRightCosets
+ - SetRepresentativesMinimalBlocksAttr
+ - SetRepresentativesPerfectSubgroups
+ - SetRepresentativesSimpleSubgroups
+ - SetRespectsAddition
+ - SetRespectsAdditiveInverses
+ - SetRespectsInverses
+ - SetRespectsMultiplication
+ - SetRespectsOne
+ - SetRespectsScalarMultiplication
+ - SetRespectsZero
+ - SetRightActingAlgebra
+ - SetRightActingDomain
+ - SetRightActingGroup
+ - SetRightActingRingOfIdeal
+ - SetRightDerivations
+ - SetRightTransversalInParent
+ - SetRootOfDefiningPolynomial
+ - SetRootSystem
+ - SetRowIndexOfReesMatrixSemigroupElement
+ - SetRowIndexOfReesZeroMatrixSemigroupElement
+ - SetRowsOfReesMatrixSemigroup
+ - SetRowsOfReesZeroMatrixSemigroup
+ - SetRules
+ - SetSLDegree
+ - SetSLUnderlyingField
+ - SetSandwichMatrixOfReesMatrixSemigroup
+ - SetSandwichMatrixOfReesZeroMatrixSemigroup
+ - SetSemiEchelonBasis
+ - SetSemiEchelonMat
+ - SetSemiEchelonMatTransformation
+ - SetSemiSimpleType
+ - SetSemidirectFactorsOfGroup
+ - SetSemidirectProductInfo
+ - SetSemigroupOfRewritingSystem
+ - SetSiftFunction
+ - SetSiftGroup
+ - SetSignPerm
+ - SetSimpleSystem
+ - SetSimsNo
+ - SetSize
+ - SetSizesCentralizers
+ - SetSizesConjugacyClasses
+ - SetSmallGeneratingSet
+ - SetSmallestGeneratorPerm
+ - SetSmallestMovedPoint
+ - SetSmallestMovedPointPerm
+ - SetSocle
+ - SetSocleComplement
+ - SetSocleDimensions
+ - SetSocleTypePrimitiveGroup
+ - SetSortingPerm
+ - SetSource
+ - SetSparseCartanMatrix
+ - SetSpecialPcgs
+ - SetSplittingField
+ - SetStabChainImmutable
+ - SetStabChainMutable
+ - SetStabChainOptions
+ - SetStabilizerOfExternalSet
+ - SetStandardGeneratorsInfo
+ - SetStoredExcludedOrders
+ - SetStoredGroebnerBasis
+ - SetStraightLineProgElmType
+ - SetStraightLineProgramsTom
+ - SetString
+ - SetStructureConstantsTable
+ - SetStructureDescription
+ - SetSubdirectProductInfo
+ - SetSubfields
+ - SetSubnormalSeriesInParent
+ - SetSubsTom
+ - SetSubspaces
+ - SetSubspacesAll
+ - SetSuccessors
+ - SetSupersolvableResiduum
+ - SetSurjectiveActionHomomorphismAttr
+ - SetSylowSystem
+ - SetSymmetricDegree
+ - SetSymmetricParentGroup
+ - SetTableOfMarks
+ - SetTestMonomial
+ - SetTestMonomialQuick
+ - SetTestQuasiPrimitive
+ - SetTestRelativelySM
+ - SetTestSubnormallyMonomial
+ - SetTietzeOrigin
+ - SetTrace
+ - SetTranformsOneIntoZero
+ - SetTransformationRepresentation
+ - SetTransformsAdditionIntoMultiplication
+ - SetTransformsAdditiveInversesIntoInverses
+ - SetTransformsInversesIntoAdditiveInverses
+ - SetTransformsMultiplicationIntoAddition
+ - SetTransformsZeroIntoOne
+ - SetTransitiveIdentification
+ - SetTransitivity
+ - SetTransposedMat
+ - SetTransposedMatAttr
+ - SetTransposedMatImmutable
+ - SetTransposedMatrixGroup
+ - SetTransversal
+ - SetTriangulizedNullspaceMat
+ - SetTrivialCharacter
+ - SetTrivialSubFLMLOR
+ - SetTrivialSubadditiveMagmaWithZero
+ - SetTrivialSubalgebra
+ - SetTrivialSubgroup
+ - SetTrivialSubmagmaWithOne
+ - SetTrivialSubmodule
+ - SetTrivialSubmonoid
+ - SetTrivialSubnearAdditiveMagmaWithZero
+ - SetTrivialSubspace
+ - SetTwoClosure
+ - SetTypeObj
+ - SetTzOptions
+ - SetTzRules
+ - SetUnderlyingCharacterTable
+ - SetUnderlyingCharacteristic
+ - SetUnderlyingCollection
+ - SetUnderlyingElementOfReesMatrixSemigroupElement
+ - SetUnderlyingElementOfReesZeroMatrixSemigroupElement
+ - SetUnderlyingExternalSet
+ - SetUnderlyingFamily
+ - SetUnderlyingField
+ - SetUnderlyingGeneralMapping
+ - SetUnderlyingGroup
+ - SetUnderlyingLeftModule
+ - SetUnderlyingLieAlgebra
+ - SetUnderlyingMagma
+ - SetUnderlyingRelation
+ - SetUnderlyingSemigroupOfReesMatrixSemigroup
+ - SetUnderlyingSemigroupOfReesZeroMatrixSemigroup
+ - SetUnderlyingVectorSpace
+ - SetUnits
+ - SetUniversalEnvelopingAlgebra
+ - SetUpperActingDomain
+ - SetUpperCentralSeriesOfGroup
+ - SetValueOption
+ - SetValuesOfClassFunction
+ - SetWeightOfGenerators
+ - SetWeightsTom
+ - SetWeylGroup
+ - SetWreathProductInfo
+ - SetX
+ - SetXHelp
+ - SetZClassRepsQClass
+ - SetZero
+ - SetZeroAttr
+ - SetZeroCoefficient
+ - SetZeroImmutable
+ - SetZuppos
+ - SetnpeGL
+ - SetnpePSL
+ - SetnpeSL
+ - SetsOrbits
+ - Setter
+ - ShallowCopy
+ - ShapeFrequencies
+ - SharedObj
+ - SharedType
+ - ShiftedCoeffs
+ - ShiftedPadicNumber
+ - ShortLexOrdering
+ - ShortLexOrderingNC
+ - ShortestVectors
+ - ShowArgument
+ - ShowArguments
+ - ShowDetails
+ - ShowImpliedFilters
+ - ShowMethods
+ - ShowOtherMethods
+ - ShowPackageVariables
+ - ShrinkCoeffs
+ - ShrinkRowVector
+ - ShrinkableHashTable
+ - ShrinkableSingleValuedHashTable
+ - Sift
+ - SiftAsWord
+ - SiftForStrongGenerator
+ - SiftFunction
+ - SiftGroup
+ - SiftOneLevel
+ - SiftVector
+ - SiftedPcElement
+ - SiftedPermutation
+ - SiftedVector
+ - SiftedVectorForGaussianMatrixSpace
+ - SiftedVectorForGaussianRowSpace
+ - SiftedWord
+ - Sigma
+ - SignInt
+ - SignPartition
+ - SignPerm
+ - SignPermGroup
+ - SimpleLieAlgebra
+ - SimpleLieAlgebraTypeH
+ - SimpleLieAlgebraTypeK
+ - SimpleLieAlgebraTypeS
+ - SimpleLieAlgebraTypeW
+ - SimpleSystem
+ - SimplifiedFpGroup
+ - SimplifyPresentation
+ - SimsName
+ - SimsNo
+ - SimultaneousEigenvalues
+ - SingleCollector
+ - SingleCollectorByGenerators
+ - SingleCollectorByRelators
+ - SingleValuedHashTable
+ - Size
+ - SizeBlist
+ - SizeConsiderFunction
+ - SizeGL
+ - SizeNumbersPerfectGroups
+ - SizeOfChainOfGroup
+ - SizeOfFieldOfDefinition
+ - SizeOfGLdZmodmZ
+ - SizePSL
+ - SizePolynomialUnipotentClassGL
+ - SizeSL
+ - SizeScreen
+ - SizeStabChain
+ - SizeUpperBound
+ - SizesCentralizers
+ - SizesConjugacyClasses
+ - SizesPerfectGroups
+ - Sleep
+ - SmallGeneratingSet
+ - SmallGroup
+ - SmallGroupsInformation
+ - SmallSpaceCutoff
+ - SmallerDegreePermutationRepresentation
+ - SmallestGeneratorPerm
+ - SmallestMovedPoint
+ - SmallestMovedPointPerm
+ - SmallestMovedPointPerms
+ - SmallestPrimeDivisor
+ - SmallestRootInt
+ - SmithNormalFormIntegerMat
+ - SmithNormalFormIntegerMatTransforms
+ - SmithNormalFormSQ
+ - Socle
+ - SocleComplement
+ - SocleDimensions
+ - SocleTypePrimitiveGroup
+ - SolutionIntMat
+ - SolutionMat
+ - SolutionMatDestructive
+ - SolutionMatNoCo
+ - SolutionNullspaceIntMat
+ - SolutionSQ
+ - SolvableNormalClosurePermGroup
+ - SolvableQuotient
+ - SomeVerbalSubgroups
+ - Sort
+ - SortParallel
+ - SortRationalClasses
+ - SortRelsSortedByStartGen
+ - SortedCharacterTable
+ - SortedCharacters
+ - SortedList
+ - SortedSparseActionHomomorphism
+ - SortedSparseActionHomomorphismOp
+ - SortedTom
+ - Sortex
+ - SortingPerm
+ - Source
+ - SourceElt
+ - Sp
+ - SpanOfMatrixGroup
+ - SpanningTree
+ - SparseActionHomomorphism
+ - SparseActionHomomorphismOp
+ - SparseCartanMatrix
+ - SparseHashTable
+ - SparseIntKey
+ - SpecialLinearGroup
+ - SpecialLinearGroupCons
+ - SpecialOrthogonalGroup
+ - SpecialOrthogonalGroupCons
+ - SpecialPcgs
+ - SpecialPcgsFactor
+ - SpecialPcgsSubgroup
+ - SpecialUnitaryGroup
+ - SpecialUnitaryGroupCons
+ - SpecializedExtRepPol
+ - SpinInductionScheme
+ - SpinorNorm
+ - SplitCell
+ - SplitCharacters
+ - SplitExtension
+ - SplitStep
+ - SplitString
+ - SplitStringInternal
+ - SplitTwoSpace
+ - SplitUpSublistsByFpFunc
+ - SplitWordTail
+ - SplittingField
+ - Sqrt
+ - SquareRoots
+ - StabChain
+ - StabChainBaseStrongGenerators
+ - StabChainForcePoint
+ - StabChainImmutable
+ - StabChainMutable
+ - StabChainOp
+ - StabChainOptions
+ - StabChainPermGroupToPermGroupGeneralMappingByImages
+ - StabChainRandomPermGroup
+ - StabChainStrong
+ - StabChainSwap
+ - Stabilizer
+ - StabilizerByMatrixOperation
+ - StabilizerFunc
+ - StabilizerFuncOp
+ - StabilizerOfBlockNC
+ - StabilizerOfExternalSet
+ - StabilizerOp
+ - StabilizerPcgs
+ - StandardAssociate
+ - StandardClassMatrixColumn
+ - StandardGeneratorsFunctions
+ - StandardGeneratorsInfo
+ - StandardGeneratorsOfFullHomModule
+ - StandardGeneratorsOfFullMatrixModule
+ - StandardGeneratorsOfGroup
+ - StandardScalarProduct
+ - StandardizeTable
+ - StandardizeTableC
+ - StarCyc
+ - StateRandom
+ - StatusRandom
+ - StepModGauss
+ - StopNumConsecSiftToOne
+ - StopNumSift
+ - StopSize
+ - StoreAlgExtFam
+ - StoreFactorsPol
+ - StoreFusion
+ - StoreInfoFreeMagma
+ - StoredExcludedOrders
+ - StoredGroebnerBasis
+ - StraightLineProgElm
+ - StraightLineProgElmType
+ - StraightLineProgGens
+ - StraightLineProgram
+ - StraightLineProgramElmRankFilter
+ - StraightLineProgramNC
+ - StraightLineProgramsDefaultType
+ - StraightLineProgramsFamily
+ - StraightLineProgramsTom
+ - StratMeetPartition
+ - StreamsFamily
+ - StretchImportantSLPElement
+ - String
+ - StringDate
+ - StringFamily
+ - StringFile
+ - StringImType
+ - StringOfResultOfLineOfStraightLineProgram
+ - StringOfResultOfStraightLineProgram
+ - StringOfUnivariateRationalPolynomialByCoefficients
+ - StringPP
+ - StringPrint
+ - StringStreamInputTextFile
+ - StringTime
+ - StringToStraightLineProgram
+ - StringUnivariateLaurent
+ - StringView
+ - StripBeginEnd
+ - StripEscapeSequences
+ - StrongGeneratorsStabChain
+ - StrongGens
+ - StronglyConnectedComponents
+ - StructuralCopy
+ - StructureConstantsPadicNumbers
+ - StructureConstantsTable
+ - StructureDescription
+ - SuPeRfail
+ - SubAlgebraModule
+ - SubFLMLOR
+ - SubFLMLORNC
+ - SubFLMLORWithOne
+ - SubFLMLORWithOneNC
+ - SubGModLeadPos
+ - SubSyllables
+ - SubadditiveGroup
+ - SubadditiveGroupNC
+ - SubadditiveMagma
+ - SubadditiveMagmaNC
+ - SubadditiveMagmaWithInverses
+ - SubadditiveMagmaWithInversesNC
+ - SubadditiveMagmaWithZero
+ - SubadditiveMagmaWithZeroNC
+ - Subalgebra
+ - SubalgebraNC
+ - SubalgebraWithOne
+ - SubalgebraWithOneNC
+ - SubdirProdPcGroups
+ - SubdirectDiagonalPerms
+ - SubdirectProduct
+ - SubdirectProductInfo
+ - SubdirectProductOp
+ - SubdirectProducts
+ - Subfield
+ - SubfieldNC
+ - Subfields
+ - SubgpConjSymmgp
+ - Subgroup
+ - SubgroupByPcgs
+ - SubgroupByProperty
+ - SubgroupGeneratorsCosetTable
+ - SubgroupMethodByNiceMonomorphism
+ - SubgroupMethodByNiceMonomorphismCollColl
+ - SubgroupMethodByNiceMonomorphismCollElm
+ - SubgroupMethodByNiceMonomorphismCollOther
+ - SubgroupNC
+ - SubgroupOfWholeGroupByCosetTable
+ - SubgroupOfWholeGroupByQuotientSubgroup
+ - SubgroupProperty
+ - SubgroupShell
+ - SubgroupsMethodByNiceMonomorphism
+ - SubgroupsOrbitsAndNormalizers
+ - SubgroupsSolvableGroup
+ - Submagma
+ - SubmagmaNC
+ - SubmagmaWithInverses
+ - SubmagmaWithInversesNC
+ - SubmagmaWithOne
+ - SubmagmaWithOneNC
+ - Submodule
+ - SubmoduleNC
+ - Submonoid
+ - SubmonoidNC
+ - SubnearAdditiveGroup
+ - SubnearAdditiveGroupNC
+ - SubnearAdditiveMagma
+ - SubnearAdditiveMagmaNC
+ - SubnearAdditiveMagmaWithInverses
+ - SubnearAdditiveMagmaWithInversesNC
+ - SubnearAdditiveMagmaWithZero
+ - SubnearAdditiveMagmaWithZeroNC
+ - SubnormalSeries
+ - SubnormalSeriesInParent
+ - SubnormalSeriesOp
+ - SuboLiBli
+ - SuboSiBli
+ - SuboTruePos
+ - SuboUniteBlist
+ - Suborbits
+ - Subring
+ - SubringNC
+ - SubringWithOne
+ - SubringWithOneNC
+ - SubsTom
+ - Subsemigroup
+ - SubsemigroupNC
+ - Subsemiring
+ - SubsemiringNC
+ - SubsemiringWithOne
+ - SubsemiringWithOneAndZero
+ - SubsemiringWithOneAndZeroNC
+ - SubsemiringWithOneNC
+ - SubsemiringWithZero
+ - SubsemiringWithZeroNC
+ - Subspace
+ - SubspaceNC
+ - SubspaceVectorSpaceGroup
+ - Subspaces
+ - SubspacesAll
+ - SubspacesDim
+ - SubstitutedWord
+ - SubstitutionSublist
+ - SubtractBlist
+ - SubtractBlistOrbitStabChain
+ - SubtractSet
+ - Subtype
+ - Subword
+ - Successors
+ - SuggestUpgrades
+ - Sum
+ - SumCoefPolynomial
+ - SumCoefRatfun
+ - SumCoeffLaurpol
+ - SumCoeffUnivfunc
+ - SumFactorizationFunctionPcgs
+ - SumIntersectionMat
+ - SumOfMBMAndMapping
+ - SumOfMappingAndMBM
+ - SumOfPcElement
+ - SumOp
+ - SumPcgs
+ - SumRootsPol
+ - SumRootsPolComp
+ - SumX
+ - SumXHelp
+ - SummandMolienSeries
+ - SupType
+ - SupersolvableResiduum
+ - SupersolvableResiduumDefault
+ - SupportedCharacterTableInfo
+ - SupportedLibraryTableComponents
+ - SurjectiveActionHomomorphismAttr
+ - SuzukiGroup
+ - SuzukiGroupCons
+ - SyllableRepAssocWord
+ - SyllableWordObjByExtRep
+ - SylowComplement
+ - SylowComplementOp
+ - SylowSubgroup
+ - SylowSubgroupOp
+ - SylowSubgroupPermGroup
+ - SylowSystem
+ - SymAdic
+ - SymmetricClosureBinaryRelation
+ - SymmetricDegree
+ - SymmetricGroup
+ - SymmetricGroupCons
+ - SymmetricParentGroup
+ - SymmetricParts
+ - SymmetricPower
+ - SymmetricPowerOfAlgebraModule
+ - Symmetrisations
+ - Symmetrizations
+ - SymplecticComponents
+ - SymplecticGroup
+ - SymplecticGroupCons
+ - SyzygyCriterion
+ - Sz
+ - TRANSGrp
+ - TRANSProperties
+ - TableAutomorphisms
+ - TableHasIntKeyFun
+ - TableOfMarks
+ - TableOfMarksByLattice
+ - TableOfMarksComponents
+ - TableOfMarksCyclic
+ - TableOfMarksDihedral
+ - TableOfMarksFamily
+ - TableOfMarksFrobenius
+ - TableOfMarksFromLibrary
+ - TailOfPcgsPermGroup
+ - TailsInverses
+ - Tau
+ - TeX
+ - TeXObj
+ - TemporaryGlobalVarName
+ - TensorProduct
+ - TensorProductGModule
+ - TensorProductOfAlgebraModules
+ - TensorWreathProductOfMatrixGroup
+ - Tensored
+ - TestConsistencyMaps
+ - TestHomogeneous
+ - TestInducedFromNormalSubgroup
+ - TestJacobi
+ - TestMonomial
+ - TestMonomialFromLattice
+ - TestMonomialQuick
+ - TestMonomialUseLattice
+ - TestPackageAvailability
+ - TestQuasiPrimitive
+ - TestRelativelySM
+ - TestRelativelySMFun
+ - TestRow
+ - TestSubnormallyMonomial
+ - Tester
+ - TextAttr
+ - TextM
+ - TietzeOrigin
+ - TietzeWordAbstractWord
+ - TmpDirectory
+ - TmpName
+ - ToBeDefinedObjFamily
+ - ToBeDefinedObjType
+ - ToggleEcho
+ - TopExtensionsByAutomorphism
+ - Trace
+ - TraceDefinition
+ - TraceImmediateMethods
+ - TraceMat
+ - TraceMethods
+ - TraceModQF
+ - TracePolynomial
+ - TracedCosetFpGroup
+ - TrailingEntriesLTM
+ - TranformsOneIntoZero
+ - TransArrange
+ - TransCombinat
+ - TransGrpLoad
+ - TransStabCSPG
+ - TransferDiagram
+ - TransferPcgsInfo
+ - TransferedExtensionPol
+ - Transformation
+ - TransformationData
+ - TransformationFamily
+ - TransformationNC
+ - TransformationRelation
+ - TransformationRepresentation
+ - TransformationType
+ - TransformingPermutationFamily
+ - TransformingPermutations
+ - TransformingPermutationsCharacterTables
+ - TransformsAdditionIntoMultiplication
+ - TransformsAdditiveInversesIntoInverses
+ - TransformsInversesIntoAdditiveInverses
+ - TransformsMultiplicationIntoAddition
+ - TransformsZeroIntoOne
+ - TransitiveClosureBinaryRelation
+ - TransitiveGroup
+ - TransitiveIdentification
+ - Transitivity
+ - TranslateString
+ - TranslatorSubalgebra
+ - TransposedMat
+ - TransposedMatAttr
+ - TransposedMatDestructive
+ - TransposedMatImmutable
+ - TransposedMatMutable
+ - TransposedMatOp
+ - TransposedMatrixGroup
+ - TransvByDirProdFamily
+ - TransvByHomomorphismFamily
+ - TransvBySchreierTreeFamily
+ - TransvBySiftFunctFamily
+ - TransvByTrivSubgrpFamily
+ - Transversal
+ - TransversalBySiftFunction
+ - TransversalByTrivial
+ - TransversalElt
+ - TransversalOfChainSubgroup
+ - TreeEntry
+ - TreeRepresentedWord
+ - TrialQuotientRPF
+ - TriangulizeIntegerMat
+ - TriangulizeMat
+ - TriangulizeMonomialElementList
+ - TriangulizeWeightRepElementList
+ - TriangulizedGeneratorsByMatrix
+ - TriangulizedIntegerMat
+ - TriangulizedIntegerMatTransform
+ - TriangulizedIntegerMatTransforms
+ - TriangulizedNullspaceMat
+ - TriangulizedNullspaceMatDestructive
+ - TriangulizedNullspaceMatNT
+ - TrivialCharacter
+ - TrivialGModule
+ - TrivialGroup
+ - TrivialGroupCons
+ - TrivialIterator
+ - TrivialModule
+ - TrivialPartition
+ - TrivialQuotientSubgroup
+ - TrivialSubFLMLOR
+ - TrivialSubadditiveMagmaWithZero
+ - TrivialSubalgebra
+ - TrivialSubgroup
+ - TrivialSubmagmaWithOne
+ - TrivialSubmodule
+ - TrivialSubmonoid
+ - TrivialSubnearAdditiveMagmaWithZero
+ - TrivialSubspace
+ - TryCombinations
+ - TryConwayPolynomialForFrobeniusCharacterValue
+ - TryCosetTableInWholeGroup
+ - TryGcdCancelExtRepPolynomials
+ - TryLayerSQ
+ - TryModuleSQ
+ - TryNextMethod
+ - TryPcgsPermGroup
+ - TrySecondaryImages
+ - Tschirnhausen
+ - Tuple
+ - TupleNC
+ - Tuples
+ - TuplesFamily
+ - TuplesK
+ - TwoClosure
+ - TwoClosurePermGroup
+ - TwoCoboundaries
+ - TwoCoboundariesSQ
+ - TwoCocycles
+ - TwoCocyclesSQ
+ - TwoCohomology
+ - TwoCohomologySQ
+ - TwoSeqPol
+ - TwoSidedIdeal
+ - TwoSidedIdealByGenerators
+ - TwoSidedIdealNC
+ - TwoSquares
+ - TypeObj
+ - TypeOfDefaultGeneralMapping
+ - TypeOfFamilies
+ - TypeOfFamilyOfFamilies
+ - TypeOfFamilyOfTypes
+ - TypeOfTypes
+ - TzCheckRecord
+ - TzEliminate
+ - TzEliminateFromTree
+ - TzEliminateGen
+ - TzEliminateGens
+ - TzFindCyclicJoins
+ - TzGeneratorExponents
+ - TzGo
+ - TzGoGo
+ - TzImagesOldGens
+ - TzInitGeneratorImages
+ - TzMostFrequentPairs
+ - TzNewGenerator
+ - TzOccurrences
+ - TzOccurrencesPairs
+ - TzOptionNames
+ - TzOptions
+ - TzPreImagesNewGens
+ - TzPrint
+ - TzPrintGeneratorImages
+ - TzPrintGenerators
+ - TzPrintLengths
+ - TzPrintOptions
+ - TzPrintPairs
+ - TzPrintPresentation
+ - TzPrintRelators
+ - TzPrintStatus
+ - TzRelator
+ - TzRemoveGenerators
+ - TzRenumberGens
+ - TzReplaceGens
+ - TzRules
+ - TzSearch
+ - TzSearchC
+ - TzSearchEqual
+ - TzSort
+ - TzSortC
+ - TzSubstitute
+ - TzSubstituteCyclicJoins
+ - TzSubstituteGen
+ - TzSubstituteWord
+ - TzTestInitialSetup
+ - TzUpdateGeneratorImages
+ - TzWordAbstractWord
+ - UNIXSelect
+ - UglyVector
+ - UnInstallCharReadHookFunc
+ - UnSetImage
+ - Unbind
+ - UnbindElmWPObj
+ - UnbindGlobal
+ - UnderlyingCharacterTable
+ - UnderlyingCharacteristic
+ - UnderlyingCollection
+ - UnderlyingDomainOfBinaryRelation
+ - UnderlyingElement
+ - UnderlyingElementOfReesMatrixSemigroupElement
+ - UnderlyingElementOfReesZeroMatrixSemigroupElement
+ - UnderlyingExternalSet
+ - UnderlyingFamily
+ - UnderlyingField
+ - UnderlyingGeneralMapping
+ - UnderlyingGroup
+ - UnderlyingLeftModule
+ - UnderlyingLieAlgebra
+ - UnderlyingMagma
+ - UnderlyingRelation
+ - UnderlyingSemigroupOfReesMatrixSemigroup
+ - UnderlyingSemigroupOfReesZeroMatrixSemigroup
+ - UnderlyingVectorSpace
+ - UndoRefinement
+ - UnhideGlobalVariables
+ - Union
+ - UnionBlist
+ - UnionSet
+ - UnipotentSubgroup
+ - Unique
+ - UniteBlist
+ - UniteBlistList
+ - UniteSet
+ - Units
+ - UnivariateLaurentPolynomialByCoefficients
+ - UnivariatePolynomial
+ - UnivariatePolynomialByCoefficients
+ - UnivariatePolynomialRing
+ - UnivariateRationalFunctionByCoefficients
+ - UnivariateRationalFunctionByExtRep
+ - UnivariatenessTestRationalFunction
+ - UniversalEnvelopingAlgebra
+ - Unknown
+ - UnknownsType
+ - UnloadSmallGroupsData
+ - UnlockNaturalHomomorphismsPool
+ - UnmarkTree
+ - UnorderedTuples
+ - UnorderedTuplesK
+ - UnprofileFunctions
+ - UnprofileMethods
+ - UntraceMethods
+ - UpEnv
+ - UpdateMap
+ - UpdatePolycyclicCollector
+ - UpdateWeightInfo
+ - UpperActingDomain
+ - UpperCentralSeries
+ - UpperCentralSeriesOfGroup
+ - UpperSubdiagonal
+ - UseBasis
+ - UseFactorRelation
+ - UseIsomorphismRelation
+ - UseMatrixChainSubgroups
+ - UsePermChainSubgroups
+ - UseStabChainViaChainSubgroup
+ - UseSubsetRelation
+ - UseSubsetRelationNC
+ - VPActionHom
+ - VSTInsertToLeft
+ - VSTNode
+ - ValidatePackageInfo
+ - Valuation
+ - Value
+ - ValueCochain
+ - ValueGlobal
+ - ValueMolienSeries
+ - ValueOption
+ - ValuePol
+ - ValuesOfClassFunction
+ - VectorOfRelator
+ - VectorSearchTable
+ - VectorSpace
+ - VectorSpaceByPcgsOfElementaryAbelianGroup
+ - VerifySGS
+ - VerifyStabilizer
+ - View
+ - ViewFullHomModule
+ - ViewLength
+ - ViewMolienSeries
+ - ViewObj
+ - VirtualCharacter
+ - WallForm
+ - WeakPointerObj
+ - WedgeGModule
+ - WeekDay
+ - WeightLexOrdering
+ - WeightLexOrderingNC
+ - WeightOfGenerators
+ - WeightVecFFE
+ - WeightsTom
+ - WeylGroup
+ - WeylOrbitIterator
+ - Where
+ - WindowCmd
+ - Word
+ - WordAlp
+ - WordsString
+ - WreathElm
+ - WreathProduct
+ - WreathProductImprimitiveAction
+ - WreathProductInfo
+ - WreathProductOfMatrixGroup
+ - WreathProductOrdering
+ - WreathProductProductAction
+ - WriteAll
+ - WriteBibFile
+ - WriteByte
+ - WriteLine
+ - ZClassRepsQClass
+ - ZOp
+ - ZassenhausIntersection
+ - Zero
+ - ZeroAttr
+ - ZeroCoefficient
+ - ZeroCoefficientRatFun
+ - ZeroImmutable
+ - ZeroMapping
+ - ZeroMutable
+ - ZeroOp
+ - ZeroSM
+ - ZeroSameMutability
+ - ZevData
+ - ZevDataValue
+ - ZippedListQuotient
+ - ZippedProduct
+ - ZippedSum
+ - ZmodnZ
+ - ZmodnZObj
+ - ZmodpZ
+ - ZmodpZNC
+ - ZumbroichBase
+ - Zuppos
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gcc.xml b/data/syntax/gcc.xml
new file mode 100644
index 0000000..00e9aa0
--- /dev/null
+++ b/data/syntax/gcc.xml
@@ -0,0 +1,581 @@
+
+
+
+
+
+]>
+
+
+
+
+
+
+ - __float80
+ - __float128
+
+ - _Decimal32
+ - _Decimal64
+ - _Decimal128
+
+ - __int128
+
+ - __fp16
+
+ - _Fract
+ - _Sat
+ - _Accum
+
+
+
+ - __asm__
+ - __const__
+ - __extension__
+ - __inline__
+ - __label__
+ - __complex__
+ - __real__
+ - __restrict__
+ - __restrict
+ - __imag__
+
+ - __typeof__
+ - typeof
+
+ - __alignof__
+
+ - __thread
+
+
+
+
+ - __has_nothrow_assign
+ - __has_nothrow_copy
+ - __has_nothrow_constructor
+ - __has_trivial_assign
+ - __has_trivial_copy
+ - __has_trivial_constructor
+ - __has_trivial_destructor
+ - __has_virtual_destructor
+ - __is_abstract
+ - __is_base_of
+ - __is_class
+ - __is_empty
+ - __is_enum
+ - __is_pod
+ - __is_polymorphic
+ - __is_union
+
+ - __sync_fetch_and_add
+ - __sync_fetch_and_sub
+ - __sync_fetch_and_or
+ - __sync_fetch_and_and
+ - __sync_fetch_and_xor
+ - __sync_fetch_and_nand
+ - __sync_add_and_fetch
+ - __sync_sub_and_fetch
+ - __sync_or_and_fetch
+ - __sync_and_and_fetch
+ - __sync_xor_and_fetch
+ - __sync_nand_and_fetch
+ - __sync_bool_compare_and_swap
+ - __sync_val_compare_and_swap
+ - __sync_synchronize
+ - __sync_lock_test_and_set
+ - __sync_lock_release
+
+ - __atomic_load_n
+ - __atomic_load
+ - __atomic_store_n
+ - __atomic_store
+ - __atomic_exchange_n
+ - __atomic_exchange
+ - __atomic_compare_exchange_n
+ - __atomic_compare_exchange
+ - __atomic_add_fetch
+ - __atomic_sub_fetch
+ - __atomic_and_fetch
+ - __atomic_or_fetch
+ - __atomic_xor_fetch
+ - __atomic_nand_fetch
+ - __atomic_fetch_add
+ - __atomic_fetch_sub
+ - __atomic_fetch_and
+ - __atomic_fetch_or
+ - __atomic_fetch_xor
+ - __atomic_fetch_nand
+ - __atomic_test_and_set
+ - __atomic_clear
+ - __atomic_signal_fence
+ - __atomic_thread_fence
+ - __atomic_always_lock_free
+ - __atomic_is_lock_free
+
+
+
+ - _FORTIFY_SOURCE
+ - _GNU_SOURCE
+ - _ILP32
+ - _LP64
+ - _REENTRANT
+ - _STDC_PREDEF_H
+ - __3dNOW_A__
+ - __3dNOW__
+ - __ABM__
+ - __ADX__
+ - __AES__
+ - __ATOMIC_ACQUIRE
+ - __ATOMIC_ACQ_REL
+ - __ATOMIC_CONSUME
+ - __ATOMIC_HLE_ACQUIRE
+ - __ATOMIC_HLE_RELEASE
+ - __ATOMIC_RELAXED
+ - __ATOMIC_RELEASE
+ - __ATOMIC_SEQ_CST
+ - __AVX2__
+ - __AVX__
+ - __BASE_FILE__
+ - __BIGGEST_ALIGNMENT__
+ - __BMI2__
+ - __BMI__
+ - __BYTE_ORDER__
+ - __CHAR16_TYPE__
+ - __CHAR32_TYPE__
+ - __CHAR_BIT__
+ - __CHAR_UNSIGNED__
+ - __COUNTER__
+ - __DBL_DECIMAL_DIG__
+ - __DBL_DENORM_MIN__
+ - __DBL_DIG__
+ - __DBL_EPSILON__
+ - __DBL_HAS_DENORM__
+ - __DBL_HAS_INFINITY__
+ - __DBL_HAS_QUIET_NAN__
+ - __DBL_MANT_DIG__
+ - __DBL_MAX_10_EXP__
+ - __DBL_MAX_EXP__
+ - __DBL_MAX__
+ - __DBL_MIN_10_EXP__
+ - __DBL_MIN_EXP__
+ - __DBL_MIN__
+ - __DEC128_EPSILON__
+ - __DEC128_MANT_DIG__
+ - __DEC128_MAX_EXP__
+ - __DEC128_MAX__
+ - __DEC128_MIN_EXP__
+ - __DEC128_MIN__
+ - __DEC128_SUBNORMAL_MIN__
+ - __DEC32_EPSILON__
+ - __DEC32_MANT_DIG__
+ - __DEC32_MAX_EXP__
+ - __DEC32_MAX__
+ - __DEC32_MIN_EXP__
+ - __DEC32_MIN__
+ - __DEC32_SUBNORMAL_MIN__
+ - __DEC64_EPSILON__
+ - __DEC64_MANT_DIG__
+ - __DEC64_MAX_EXP__
+ - __DEC64_MAX__
+ - __DEC64_MIN_EXP__
+ - __DEC64_MIN__
+ - __DEC64_SUBNORMAL_MIN__
+ - __DECIMAL_BID_FORMAT__
+ - __DECIMAL_DIG__
+ - __DEC_EVAL_METHOD__
+ - __DEPRECATED
+ - __ELF__
+ - __EXCEPTIONS
+ - __F16C__
+ - __FAST_MATH__
+ - __FINITE_MATH_ONLY__
+ - __FLOAT_WORD_ORDER__
+ - __FLT_DECIMAL_DIG__
+ - __FLT_DENORM_MIN__
+ - __FLT_DIG__
+ - __FLT_EPSILON__
+ - __FLT_EVAL_METHOD__
+ - __FLT_HAS_DENORM__
+ - __FLT_HAS_INFINITY__
+ - __FLT_HAS_QUIET_NAN__
+ - __FLT_MANT_DIG__
+ - __FLT_MAX_10_EXP__
+ - __FLT_MAX_EXP__
+ - __FLT_MAX__
+ - __FLT_MIN_10_EXP__
+ - __FLT_MIN_EXP__
+ - __FLT_MIN__
+ - __FLT_RADIX__
+ - __FMA4__
+ - __FMA__
+ - __FP_FAST_FMA
+ - __FP_FAST_FMAF
+ - __FSGSBASE__
+ - __FUNCTION__
+ - __FXSR__
+ - __GCC_ATOMIC_BOOL_LOCK_FREE
+ - __GCC_ATOMIC_CHAR16_T_LOCK_FREE
+ - __GCC_ATOMIC_CHAR32_T_LOCK_FREE
+ - __GCC_ATOMIC_CHAR_LOCK_FREE
+ - __GCC_ATOMIC_INT_LOCK_FREE
+ - __GCC_ATOMIC_LLONG_LOCK_FREE
+ - __GCC_ATOMIC_LONG_LOCK_FREE
+ - __GCC_ATOMIC_POINTER_LOCK_FREE
+ - __GCC_ATOMIC_SHORT_LOCK_FREE
+ - __GCC_ATOMIC_TEST_AND_SET_TRUEVAL
+ - __GCC_ATOMIC_WCHAR_T_LOCK_FREE
+ - __GCC_HAVE_DWARF2_CFI_ASM
+ - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
+ - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
+ - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
+ - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+ - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
+ - __GFORTRAN__
+ - __GNUC_GNU_INLINE__
+ - __GNUC_MINOR__
+ - __GNUC_PATCHLEVEL__
+ - __GNUC_STDC_INLINE__
+ - __GNUC__
+ - __GNUG__
+ - __GXX_ABI_VERSION
+ - __GXX_EXPERIMENTAL_CXX0X__
+ - __GXX_RTTI
+ - __GXX_WEAK__
+ - __ILP32__
+ - __INCLUDE_LEVEL__
+ - __INT16_C
+ - __INT16_MAX__
+ - __INT16_TYPE__
+ - __INT32_C
+ - __INT32_MAX__
+ - __INT32_TYPE__
+ - __INT64_C
+ - __INT64_MAX__
+ - __INT64_TYPE__
+ - __INT8_C
+ - __INT8_MAX__
+ - __INT8_TYPE__
+ - __INTMAX_C
+ - __INTMAX_MAX__
+ - __INTMAX_TYPE__
+ - __INTPTR_MAX__
+ - __INTPTR_TYPE__
+ - __INT_FAST16_MAX__
+ - __INT_FAST16_TYPE__
+ - __INT_FAST32_MAX__
+ - __INT_FAST32_TYPE__
+ - __INT_FAST64_MAX__
+ - __INT_FAST64_TYPE__
+ - __INT_FAST8_MAX__
+ - __INT_FAST8_TYPE__
+ - __INT_LEAST16_MAX__
+ - __INT_LEAST16_TYPE__
+ - __INT_LEAST32_MAX__
+ - __INT_LEAST32_TYPE__
+ - __INT_LEAST64_MAX__
+ - __INT_LEAST64_TYPE__
+ - __INT_LEAST8_MAX__
+ - __INT_LEAST8_TYPE__
+ - __INT_MAX__
+ - __LDBL_DENORM_MIN__
+ - __LDBL_DIG__
+ - __LDBL_EPSILON__
+ - __LDBL_HAS_DENORM__
+ - __LDBL_HAS_INFINITY__
+ - __LDBL_HAS_QUIET_NAN__
+ - __LDBL_MANT_DIG__
+ - __LDBL_MAX_10_EXP__
+ - __LDBL_MAX_EXP__
+ - __LDBL_MAX__
+ - __LDBL_MIN_10_EXP__
+ - __LDBL_MIN_EXP__
+ - __LDBL_MIN__
+ - __LONG_LONG_MAX__
+ - __LONG_MAX__
+ - __LP64__
+ - __LWP__
+ - __LZCNT__
+ - __MMX__
+ - __NEXT_RUNTIME__
+ - __NO_INLINE__
+ - __OPTIMIZE_SIZE__
+ - __OPTIMIZE__
+ - __ORDER_BIG_ENDIAN__
+ - __ORDER_LITTLE_ENDIAN__
+ - __ORDER_PDP_ENDIAN__
+ - __PCLMUL__
+ - __PIC__
+ - __PIE__
+ - __POPCNT__
+ - __PRAGMA_REDEFINE_EXTNAME
+ - __PRETTY_FUNCTION__
+ - __PRFCHW__
+ - __PTRDIFF_MAX__
+ - __PTRDIFF_TYPE__
+ - __RDRND__
+ - __RDSEED__
+ - __REGISTER_PREFIX__
+ - __RTM__
+ - __SANITIZE_ADDRESS__
+ - __SCHAR_MAX__
+ - __SHRT_MAX__
+ - __SIG_ATOMIC_MAX__
+ - __SIG_ATOMIC_MIN__
+ - __SIG_ATOMIC_TYPE__
+ - __SIZEOF_DOUBLE__
+ - __SIZEOF_FLOAT__
+ - __SIZEOF_INT128__
+ - __SIZEOF_INT__
+ - __SIZEOF_LONG_DOUBLE__
+ - __SIZEOF_LONG_LONG__
+ - __SIZEOF_LONG__
+ - __SIZEOF_POINTER__
+ - __SIZEOF_PTRDIFF_T__
+ - __SIZEOF_SHORT__
+ - __SIZEOF_SIZE_T__
+ - __SIZEOF_WCHAR_T__
+ - __SIZEOF_WINT_T__
+ - __SIZE_MAX__
+ - __SIZE_TYPE__
+ - __SSE2_MATH__
+ - __SSE2__
+ - __SSE3__
+ - __SSE4A__
+ - __SSE4_1__
+ - __SSE4_2__
+ - __SSE_MATH__
+ - __SSE__
+ - __SSP_ALL__
+ - __SSP__
+ - __SSSE3__
+ - __STDC_HOSTED__
+ - __STDC_IEC_559_COMPLEX__
+ - __STDC_IEC_559__
+ - __STDC_ISO_10646__
+ - __STDC_NO_THREADS__
+ - __STDC_UTF_16__
+ - __STDC_UTF_32__
+ - __STDC_VERSION__
+ - __STDC__
+ - __STRICT_ANSI__
+ - __TBM__
+ - __TIMESTAMP__
+ - __UINT16_C
+ - __UINT16_MAX__
+ - __UINT16_TYPE__
+ - __UINT32_C
+ - __UINT32_MAX__
+ - __UINT32_TYPE__
+ - __UINT64_C
+ - __UINT64_MAX__
+ - __UINT64_TYPE__
+ - __UINT8_C
+ - __UINT8_MAX__
+ - __UINT8_TYPE__
+ - __UINTMAX_C
+ - __UINTMAX_MAX__
+ - __UINTMAX_TYPE__
+ - __UINTPTR_MAX__
+ - __UINTPTR_TYPE__
+ - __UINT_FAST16_MAX__
+ - __UINT_FAST16_TYPE__
+ - __UINT_FAST32_MAX__
+ - __UINT_FAST32_TYPE__
+ - __UINT_FAST64_MAX__
+ - __UINT_FAST64_TYPE__
+ - __UINT_FAST8_MAX__
+ - __UINT_FAST8_TYPE__
+ - __UINT_LEAST16_MAX__
+ - __UINT_LEAST16_TYPE__
+ - __UINT_LEAST32_MAX__
+ - __UINT_LEAST32_TYPE__
+ - __UINT_LEAST64_MAX__
+ - __UINT_LEAST64_TYPE__
+ - __UINT_LEAST8_MAX__
+ - __UINT_LEAST8_TYPE__
+ - __USER_LABEL_PREFIX__
+ - __USING_SJLJ_EXCEPTIONS__
+ - __VA_ARGS__
+ - __VERSION__
+ - __WCHAR_MAX__
+ - __WCHAR_MIN__
+ - __WCHAR_TYPE__
+ - __WCHAR_UNSIGNED__
+ - __WINT_MAX__
+ - __WINT_MIN__
+ - __WINT_TYPE__
+ - __XOP__
+ - __XSAVEOPT__
+ - __XSAVE__
+ - __amd64
+ - __amd64__
+ - __amdfam10
+ - __amdfam10__
+ - __athlon
+ - __athlon__
+ - __athlon_sse__
+ - __atom
+ - __atom__
+ - __bdver1
+ - __bdver1__
+ - __bdver2
+ - __bdver2__
+ - __bdver3
+ - __bdver3__
+ - __btver1
+ - __btver1__
+ - __btver2
+ - __btver2__
+ - __code_model_32__
+ - __code_model_small__
+ - __core2
+ - __core2__
+ - __core_avx2
+ - __core_avx2__
+ - __corei7
+ - __corei7__
+ - __cplusplus
+ - __geode
+ - __geode__
+ - __gnu_linux__
+ - __i386
+ - __i386__
+ - __i486
+ - __i486__
+ - __i586
+ - __i586__
+ - __i686
+ - __i686__
+ - __k6
+ - __k6_2__
+ - __k6_3__
+ - __k6__
+ - __k8
+ - __k8__
+ - __linux
+ - __linux__
+ - __nocona
+ - __nocona__
+ - __pentium
+ - __pentium4
+ - __pentium4__
+ - __pentium__
+ - __pentium_mmx__
+ - __pentiumpro
+ - __pentiumpro__
+ - __pic__
+ - __pie__
+ - __tune_amdfam10__
+ - __tune_athlon__
+ - __tune_athlon_sse__
+ - __tune_atom__
+ - __tune_bdver1__
+ - __tune_bdver2__
+ - __tune_bdver3__
+ - __tune_btver1__
+ - __tune_btver2__
+ - __tune_core2__
+ - __tune_core_avx2__
+ - __tune_corei7__
+ - __tune_geode__
+ - __tune_i386__
+ - __tune_i486__
+ - __tune_i586__
+ - __tune_i686__
+ - __tune_k6_2__
+ - __tune_k6_3__
+ - __tune_k6__
+ - __tune_k8__
+ - __tune_nocona__
+ - __tune_pentium2__
+ - __tune_pentium3__
+ - __tune_pentium4__
+ - __tune_pentium__
+ - __tune_pentium_mmx__
+ - __tune_pentiumpro__
+ - __unix
+ - __unix__
+ - __x86_64
+ - __x86_64__
+ - i386
+ - linux
+ - unix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gcode.xml b/data/syntax/gcode.xml
new file mode 100644
index 0000000..216717a
--- /dev/null
+++ b/data/syntax/gcode.xml
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+ - and
+ - or
+ - xor
+ - eq
+ - ne
+ - gt
+ - ge
+ - lt
+ - le
+ - mod
+
+
+
+ - atan
+ - abs
+ - acos
+ - asin
+ - cos
+ - exp
+ - exists
+ - fix
+ - fup
+ - ln
+ - round
+ - sin
+ - sqrt
+ - tan
+
+
+
+ - sub
+ - endsub
+ - call
+ - return
+
+
+
+ - do
+ - while
+ - endwhile
+ - repeat
+ - endrepeat
+ - break
+ - continue
+ - if
+ - elseif
+ - else
+ - endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gdb.xml b/data/syntax/gdb.xml
new file mode 100644
index 0000000..763a239
--- /dev/null
+++ b/data/syntax/gdb.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/gdl.xml b/data/syntax/gdl.xml
new file mode 100644
index 0000000..32f73b5
--- /dev/null
+++ b/data/syntax/gdl.xml
@@ -0,0 +1,313 @@
+
+
+
+
+
+ - white
+ - blue
+ - red
+ - green
+ - yellow
+ - magenta
+ - cyan
+ - darkgrey
+ - darkgray
+ - darkblue
+ - darkred
+ - darkgreen
+ - darkyellow
+ - darkmagenta
+ - darkcyan
+ - gold
+ - lightgrey
+ - lightgray
+ - lightblue
+ - lightred
+ - lightgreen
+ - lightyellow
+ - lightmagenta
+ - lightcyan
+ - lilac
+ - turquoise
+ - aquamarine
+ - khaki
+ - purple
+ - yellowgreen
+ - pink
+ - orange
+ - orchid
+ - black
+
+
+ - box
+ - triangle
+ - circle
+ - ellipse
+ - hexagon
+ - rhomb
+ - rhomboid
+ - trapeze
+ - uptrapeze
+ - trapezoid
+ - uptrapezoid
+ - lparallelogram
+ - rparallelogram
+
+
+ - unfolded
+ - folded
+ - boxed
+ - clustered
+ - wrapped
+ - exclusive
+ - white
+
+
+ - normal
+ - tree
+ - forcedir
+ - dfs
+ - minbackward
+ - maxdepth
+ - maxdepthslow
+ - mindepth
+ - mindepthslow
+ - minindegree
+ - minoutdegree
+ - maxindegree
+ - maxoutdegree
+ - maxdegree
+ - mindegree
+
+
+ - attraction
+ - repulsion
+ - randomfactor
+ - randomimpulse
+ - randomrounds
+ - tempscheme
+ - temptreshold
+ - tempmin
+ - tempmax
+
+
+ - no
+ - polar
+ - circular
+ - polcircular
+ - orthogonal
+
+
+ - toptobottom
+ - bottomtotop
+ - lefttoright
+ - righttoleft
+ - top_to_bottom
+ - bottom_to_top
+ - left_to_right
+ - right_to_left
+
+
+ - solid
+ - continuous
+ - dashed
+ - dotted
+ - double
+ - triple
+ - invisible
+
+
+ - pfish
+ - cfish
+ - fpfish
+ - fcfish
+ - dpfish
+ - dcfish
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gettext.xml b/data/syntax/gettext.xml
new file mode 100644
index 0000000..b7819c0
--- /dev/null
+++ b/data/syntax/gettext.xml
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/git-ignore.xml b/data/syntax/git-ignore.xml
new file mode 100644
index 0000000..8183a78
--- /dev/null
+++ b/data/syntax/git-ignore.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/git-rebase.xml b/data/syntax/git-rebase.xml
new file mode 100644
index 0000000..49c2dae
--- /dev/null
+++ b/data/syntax/git-rebase.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+ - p
+ - pick
+
+
+ - r
+ - reword
+
+
+ - e
+ - edit
+
+
+ - s
+ - squash
+
+
+ - f
+ - fixup
+
+
+ - x
+ - exec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gitolite.xml b/data/syntax/gitolite.xml
new file mode 100644
index 0000000..3962132
--- /dev/null
+++ b/data/syntax/gitolite.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ - repo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/glosstex.xml b/data/syntax/glosstex.xml
new file mode 100644
index 0000000..fe262f6
--- /dev/null
+++ b/data/syntax/glosstex.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/glsl.xml b/data/syntax/glsl.xml
new file mode 100644
index 0000000..09d171a
--- /dev/null
+++ b/data/syntax/glsl.xml
@@ -0,0 +1,1217 @@
+
+
+
+
+
+ - break
+ - continue
+ - do
+ - for
+ - while
+
+ - if
+ - else
+
+ - true
+ - false
+
+ - discard
+ - return
+
+ - struct
+ - subroutine
+ - layout
+ - uniform
+ - buffer
+ - invariant
+
+
+ - float
+ - int
+ - void
+ - bool
+
+ - mat2
+ - mat3
+ - mat4
+
+ - vec2
+ - vec3
+ - vec4
+ - ivec2
+ - ivec3
+ - ivec4
+ - bvec2
+ - bvec3
+ - bvec4
+
+ - sampler1D
+ - sampler2D
+ - sampler3D
+ - samplerCube
+ - sampler2DRect
+ - sampler1DArray
+ - sampler2DArray
+ - samplerCubeArray
+ - samplerBuffer
+ - sampler2DMS
+ - sampler2DMSArray
+
+ - sampler1DShadow
+ - sampler2DShadow
+ - samplerCubeShadow
+ - sampler2DRectShadow
+ - sampler1DArrayShadow
+ - sampler2DArrayShadow
+ - samplerCubeArrayShadow
+
+ - isampler1D
+ - isampler2D
+ - isampler3D
+ - isamplerCube
+ - isampler2DRect
+ - isampler1DArray
+ - isampler2DArray
+ - isamplerCubeArray
+ - isamplerBuffer
+ - isampler2DMS
+ - isampler2DMSArray
+
+ - isampler1DShadow
+ - isampler2DShadow
+ - isamplerCubeShadow
+ - isampler2DRectShadow
+ - isampler1DArrayShadow
+ - isampler2DArrayShadow
+ - isamplerCubeArrayShadow
+
+ - usampler1D
+ - usampler2D
+ - usampler3D
+ - usamplerCube
+ - usampler2DRect
+ - usampler1DArray
+ - usampler2DArray
+ - usamplerCubeArray
+ - usamplerBuffer
+ - usampler2DMS
+ - usampler2DMSArray
+
+ - usampler1DShadow
+ - usampler2DShadow
+ - usamplerCubeShadow
+ - usampler2DRectShadow
+ - usampler1DArrayShadow
+ - usampler2DArrayShadow
+ - usamplerCubeArrayShadow
+
+ - atomic_uint
+
+
+ - attribute
+ - const
+ - varying
+
+ - in
+ - out
+ - inout
+
+
+ - flat
+ - noperspective
+ - smooth
+
+
+ - location
+ - component
+ - binding
+ - index
+ - offset
+
+
+ - row_major
+ - packed
+ - shared
+ - std140
+ - std430
+
+
+ - xfb_buffer
+ - xfb_offset
+ - xfb_stride
+
+
+ - origin_upper_left
+ - pixel_center_integer
+ - early_fragment_tests
+
+
+ - points
+ - lines
+ - lines_adjacency
+ - triangles
+ - triangles_adjacency
+ - line_strip
+ - triangle_strip
+ - max_vertices
+ - invocations
+ - stream
+
+
+ - isolines
+ - triangles
+ - quads
+ - point_mode
+ - equal_spacing
+ - fractional_even_spacing
+ - fractional_odd_spacing
+ - cw
+ - ccw
+ - vertices
+
+
+ - coherent
+ - volatile
+ - restrict
+ - readonly
+ - writeonly
+
+
+ - FIXME
+ - TODO
+ - BUG
+
+
+
+ - abs
+ - acos
+ - acosh
+ - glActiveShaderProgram
+ - glActiveTexture
+ - all
+ - any
+ - asin
+ - asinh
+ - atan
+ - atanh
+ - atomicAdd
+ - atomicAnd
+ - atomicCompSwap
+ - atomicCounter
+ - atomicCounterDecrement
+ - atomicCounterIncrement
+ - atomicExchange
+ - atomicMax
+ - atomicMin
+ - atomicOr
+ - atomicXor
+ - glAttachShader
+ - barrier
+ - glBeginConditionalRender
+ - glBeginQuery
+ - glBeginQueryIndexed
+ - glBeginTransformFeedback
+ - glBindAttribLocation
+ - glBindBuffer
+ - glBindBufferBase
+ - glBindBufferRange
+ - glBindBuffersBase
+ - glBindBuffersRange
+ - glBindFragDataLocation
+ - glBindFragDataLocationIndexed
+ - glBindFramebuffer
+ - glBindImageTexture
+ - glBindImageTextures
+ - glBindProgramPipeline
+ - glBindRenderbuffer
+ - glBindSampler
+ - glBindSamplers
+ - glBindTexture
+ - glBindTextures
+ - glBindTextureUnit
+ - glBindTransformFeedback
+ - glBindVertexArray
+ - glBindVertexBuffer
+ - glBindVertexBuffers
+ - bitCount
+ - bitfieldExtract
+ - bitfieldInsert
+ - bitfieldReverse
+ - glBlendColor
+ - glBlendEquation
+ - glBlendEquationi
+ - glBlendEquationSeparate
+ - glBlendEquationSeparatei
+ - glBlendFunc
+ - glBlendFunci
+ - glBlendFuncSeparate
+ - glBlendFuncSeparatei
+ - glBlitFramebuffer
+ - glBlitNamedFramebuffer
+ - glBufferData
+ - glBufferStorage
+ - glBufferSubData
+ - ceil
+ - glCheckFramebufferStatus
+ - glCheckNamedFramebufferStatus
+ - clamp
+ - glClampColor
+ - glClear
+ - glClearBuffer
+ - glClearBufferData
+ - glClearBufferfi
+ - glClearBufferfv
+ - glClearBufferiv
+ - glClearBufferSubData
+ - glClearBufferuiv
+ - glClearColor
+ - glClearDepth
+ - glClearDepthf
+ - glClearNamedBufferData
+ - glClearNamedBufferSubData
+ - glClearNamedFramebufferfi
+ - glClearNamedFramebufferfv
+ - glClearNamedFramebufferiv
+ - glClearNamedFramebufferuiv
+ - glClearStencil
+ - glClearTexImage
+ - glClearTexSubImage
+ - glClientWaitSync
+ - glClipControl
+ - glColorMask
+ - glColorMaski
+ - glCompileShader
+ - glCompressedTexImage1D
+ - glCompressedTexImage2D
+ - glCompressedTexImage3D
+ - glCompressedTexSubImage1D
+ - glCompressedTexSubImage2D
+ - glCompressedTexSubImage3D
+ - glCompressedTextureSubImage1D
+ - glCompressedTextureSubImage2D
+ - glCompressedTextureSubImage3D
+ - glCopyBufferSubData
+ - glCopyImageSubData
+ - glCopyNamedBufferSubData
+ - glCopyTexImage1D
+ - glCopyTexImage2D
+ - glCopyTexSubImage1D
+ - glCopyTexSubImage2D
+ - glCopyTexSubImage3D
+ - glCopyTextureSubImage1D
+ - glCopyTextureSubImage2D
+ - glCopyTextureSubImage3D
+ - cos
+ - cosh
+ - glCreateBuffers
+ - glCreateFramebuffers
+ - glCreateProgram
+ - glCreateProgramPipelines
+ - glCreateQueries
+ - glCreateRenderbuffers
+ - glCreateSamplers
+ - glCreateShader
+ - glCreateShaderProgram
+ - glCreateShaderProgramv
+ - glCreateTextures
+ - glCreateTransformFeedbacks
+ - glCreateVertexArrays
+ - cross
+ - glCullFace
+ - glDebugMessageCallback
+ - glDebugMessageControl
+ - glDebugMessageInsert
+ - degrees
+ - glDeleteBuffers
+ - glDeleteFramebuffers
+ - glDeleteProgram
+ - glDeleteProgramPipelines
+ - glDeleteQueries
+ - glDeleteRenderbuffers
+ - glDeleteSamplers
+ - glDeleteShader
+ - glDeleteSync
+ - glDeleteTextures
+ - glDeleteTransformFeedbacks
+ - glDeleteVertexArrays
+ - glDepthFunc
+ - glDepthMask
+ - glDepthRange
+ - glDepthRangeArray
+ - glDepthRangeArrayv
+ - glDepthRangef
+ - glDepthRangeIndexed
+ - glDetachShader
+ - determinant
+ - dFdx
+ - dFdxCoarse
+ - dFdxFine
+ - dFdy
+ - dFdyCoarse
+ - dFdyFine
+ - glDisable
+ - glDisablei
+ - glDisableVertexArrayAttrib
+ - glDisableVertexAttribArray
+ - glDispatchCompute
+ - glDispatchComputeIndirect
+ - distance
+ - dot
+ - glDrawArrays
+ - glDrawArraysIndirect
+ - glDrawArraysInstanced
+ - glDrawArraysInstancedBaseInstance
+ - glDrawBuffer
+ - glDrawBuffers
+ - glDrawElements
+ - glDrawElementsBaseVertex
+ - glDrawElementsIndirect
+ - glDrawElementsInstanced
+ - glDrawElementsInstancedBaseInstance
+ - glDrawElementsInstancedBaseVertex
+ - glDrawElementsInstancedBaseVertexBaseInstance
+ - glDrawRangeElements
+ - glDrawRangeElementsBaseVertex
+ - glDrawTransformFeedback
+ - glDrawTransformFeedbackInstanced
+ - glDrawTransformFeedbackStream
+ - glDrawTransformFeedbackStreamInstanced
+ - EmitStreamVertex
+ - EmitVertex
+ - glEnable
+ - glEnablei
+ - glEnableVertexArrayAttrib
+ - glEnableVertexAttribArray
+ - glEndConditionalRender
+ - EndPrimitive
+ - glEndQuery
+ - glEndQueryIndexed
+ - EndStreamPrimitive
+ - glEndTransformFeedback
+ - equal
+ - exp
+ - exp2
+ - faceforward
+ - glFenceSync
+ - findLSB
+ - findMSB
+ - glFinish
+ - floatBitsToInt
+ - floatBitsToUint
+ - floor
+ - glFlush
+ - glFlushMappedBufferRange
+ - glFlushMappedNamedBufferRange
+ - fma
+ - fract
+ - glFramebufferParameteri
+ - glFramebufferRenderbuffer
+ - glFramebufferTexture
+ - glFramebufferTexture1D
+ - glFramebufferTexture2D
+ - glFramebufferTexture3D
+ - glFramebufferTextureLayer
+ - frexp
+ - glFrontFace
+ - fwidth
+ - fwidthCoarse
+ - fwidthFine
+ - glGenBuffers
+ - glGenerateMipmap
+ - glGenerateTextureMipmap
+ - glGenFramebuffers
+ - glGenProgramPipelines
+ - glGenQueries
+ - glGenRenderbuffers
+ - glGenSamplers
+ - glGenTextures
+ - glGenTransformFeedbacks
+ - glGenVertexArrays
+ - glGet
+ - glGetActiveAtomicCounterBufferiv
+ - glGetActiveAttrib
+ - glGetActiveSubroutineName
+ - glGetActiveSubroutineUniform
+ - glGetActiveSubroutineUniformiv
+ - glGetActiveSubroutineUniformName
+ - glGetActiveUniform
+ - glGetActiveUniformBlock
+ - glGetActiveUniformBlockiv
+ - glGetActiveUniformBlockName
+ - glGetActiveUniformName
+ - glGetActiveUniformsiv
+ - glGetAttachedShaders
+ - glGetAttribLocation
+ - glGetBooleani_v
+ - glGetBooleanv
+ - glGetBufferParameter
+ - glGetBufferParameteri64v
+ - glGetBufferParameteriv
+ - glGetBufferPointerv
+ - glGetBufferSubData
+ - glGetCompressedTexImage
+ - glGetCompressedTextureImage
+ - glGetCompressedTextureSubImage
+ - glGetDebugMessageLog
+ - glGetDoublei_v
+ - glGetDoublev
+ - glGetError
+ - glGetFloati_v
+ - glGetFloatv
+ - glGetFragDataIndex
+ - glGetFragDataLocation
+ - glGetFramebufferAttachmentParameter
+ - glGetFramebufferAttachmentParameteriv
+ - glGetFramebufferParameter
+ - glGetFramebufferParameteriv
+ - glGetGraphicsResetStatus
+ - glGetInteger64i_v
+ - glGetInteger64v
+ - glGetIntegeri_v
+ - glGetIntegerv
+ - glGetInternalformat
+ - glGetInternalformati64v
+ - glGetInternalformativ
+ - glGetMultisample
+ - glGetMultisamplefv
+ - glGetNamedBufferParameteri64v
+ - glGetNamedBufferParameteriv
+ - glGetNamedBufferPointerv
+ - glGetNamedBufferSubData
+ - glGetNamedFramebufferAttachmentParameteriv
+ - glGetNamedFramebufferParameteriv
+ - glGetNamedRenderbufferParameteriv
+ - glGetnCompressedTexImage
+ - glGetnTexImage
+ - glGetnUniformdv
+ - glGetnUniformfv
+ - glGetnUniformiv
+ - glGetnUniformuiv
+ - glGetObjectLabel
+ - glGetObjectPtrLabel
+ - glGetPointerv
+ - glGetProgram
+ - glGetProgramBinary
+ - glGetProgramInfoLog
+ - glGetProgramInterface
+ - glGetProgramInterfaceiv
+ - glGetProgramiv
+ - glGetProgramPipeline
+ - glGetProgramPipelineInfoLog
+ - glGetProgramPipelineiv
+ - glGetProgramResource
+ - glGetProgramResourceIndex
+ - glGetProgramResourceiv
+ - glGetProgramResourceLocation
+ - glGetProgramResourceLocationIndex
+ - glGetProgramResourceName
+ - glGetProgramStage
+ - glGetProgramStageiv
+ - glGetQueryIndexed
+ - glGetQueryIndexediv
+ - glGetQueryiv
+ - glGetQueryObject
+ - glGetQueryObjecti64v
+ - glGetQueryObjectiv
+ - glGetQueryObjectui64v
+ - glGetQueryObjectuiv
+ - glGetRenderbufferParameter
+ - glGetRenderbufferParameteriv
+ - glGetSamplerParameter
+ - glGetSamplerParameterfv
+ - glGetSamplerParameterIiv
+ - glGetSamplerParameterIuiv
+ - glGetSamplerParameteriv
+ - glGetShader
+ - glGetShaderInfoLog
+ - glGetShaderiv
+ - glGetShaderPrecisionFormat
+ - glGetShaderSource
+ - glGetString
+ - glGetStringi
+ - glGetSubroutineIndex
+ - glGetSubroutineUniformLocation
+ - glGetSync
+ - glGetSynciv
+ - glGetTexImage
+ - glGetTexLevelParameter
+ - glGetTexLevelParameterfv
+ - glGetTexLevelParameteriv
+ - glGetTexParameter
+ - glGetTexParameterfv
+ - glGetTexParameterIiv
+ - glGetTexParameterIuiv
+ - glGetTexParameteriv
+ - glGetTextureImage
+ - glGetTextureLevelParameterfv
+ - glGetTextureLevelParameteriv
+ - glGetTextureParameterfv
+ - glGetTextureParameterIiv
+ - glGetTextureParameterIuiv
+ - glGetTextureParameteriv
+ - glGetTextureSubImage
+ - glGetTransformFeedback
+ - glGetTransformFeedbacki64_v
+ - glGetTransformFeedbacki_v
+ - glGetTransformFeedbackiv
+ - glGetTransformFeedbackVarying
+ - glGetUniform
+ - glGetUniformBlockIndex
+ - glGetUniformdv
+ - glGetUniformfv
+ - glGetUniformIndices
+ - glGetUniformiv
+ - glGetUniformLocation
+ - glGetUniformSubroutine
+ - glGetUniformSubroutineuiv
+ - glGetUniformuiv
+ - glGetVertexArrayIndexed
+ - glGetVertexArrayIndexed64iv
+ - glGetVertexArrayIndexediv
+ - glGetVertexArrayiv
+ - glGetVertexAttrib
+ - glGetVertexAttribdv
+ - glGetVertexAttribfv
+ - glGetVertexAttribIiv
+ - glGetVertexAttribIuiv
+ - glGetVertexAttribiv
+ - glGetVertexAttribLdv
+ - glGetVertexAttribPointerv
+ - gl_ClipDistance
+ - gl_CullDistance
+ - gl_FragCoord
+ - gl_FragDepth
+ - gl_FrontFacing
+ - gl_GlobalInvocationID
+ - gl_HelperInvocation
+ - gl_InstanceID
+ - gl_InvocationID
+ - gl_Layer
+ - gl_LocalInvocationID
+ - gl_LocalInvocationIndex
+ - gl_NumSamples
+ - gl_NumWorkGroups
+ - gl_PatchVerticesIn
+ - gl_PointCoord
+ - gl_PointSize
+ - gl_Position
+ - gl_PrimitiveID
+ - gl_PrimitiveIDIn
+ - gl_SampleID
+ - gl_SampleMask
+ - gl_SampleMaskIn
+ - gl_SamplePosition
+ - gl_TessCoord
+ - gl_TessLevelInner
+ - gl_TessLevelOuter
+ - gl_VertexID
+ - gl_ViewportIndex
+ - gl_WorkGroupID
+ - gl_WorkGroupSize
+ - greaterThan
+ - greaterThanEqual
+ - groupMemoryBarrier
+ - glHint
+ - imageAtomicAdd
+ - imageAtomicAnd
+ - imageAtomicCompSwap
+ - imageAtomicExchange
+ - imageAtomicMax
+ - imageAtomicMin
+ - imageAtomicOr
+ - imageAtomicXor
+ - imageLoad
+ - imageSamples
+ - imageSize
+ - imageStore
+ - imulExtended
+ - intBitsToFloat
+ - interpolateAtCentroid
+ - interpolateAtOffset
+ - interpolateAtSample
+ - glInvalidateBufferData
+ - glInvalidateBufferSubData
+ - glInvalidateFramebuffer
+ - glInvalidateNamedFramebufferData
+ - glInvalidateNamedFramebufferSubData
+ - glInvalidateSubFramebuffer
+ - glInvalidateTexImage
+ - glInvalidateTexSubImage
+ - inverse
+ - inversesqrt
+ - glIsBuffer
+ - glIsEnabled
+ - glIsEnabledi
+ - glIsFramebuffer
+ - isinf
+ - isnan
+ - glIsProgram
+ - glIsProgramPipeline
+ - glIsQuery
+ - glIsRenderbuffer
+ - glIsSampler
+ - glIsShader
+ - glIsSync
+ - glIsTexture
+ - glIsTransformFeedback
+ - glIsVertexArray
+ - ldexp
+ - length
+ - lessThan
+ - lessThanEqual
+ - glLineWidth
+ - glLinkProgram
+ - log
+ - log2
+ - glLogicOp
+ - glMapBuffer
+ - glMapBufferRange
+ - glMapNamedBuffer
+ - glMapNamedBufferRange
+ - matrixCompMult
+ - max
+ - memoryBarrier
+ - glMemoryBarrier
+ - memoryBarrierAtomicCounter
+ - memoryBarrierBuffer
+ - glMemoryBarrierByRegion
+ - memoryBarrierImage
+ - memoryBarrierShared
+ - min
+ - glMinSampleShading
+ - mix
+ - mod
+ - modf
+ - glMultiDrawArrays
+ - glMultiDrawArraysIndirect
+ - glMultiDrawElements
+ - glMultiDrawElementsBaseVertex
+ - glMultiDrawElementsIndirect
+ - glNamedBufferData
+ - glNamedBufferStorage
+ - glNamedBufferSubData
+ - glNamedFramebufferDrawBuffer
+ - glNamedFramebufferDrawBuffers
+ - glNamedFramebufferParameteri
+ - glNamedFramebufferReadBuffer
+ - glNamedFramebufferRenderbuffer
+ - glNamedFramebufferTexture
+ - glNamedFramebufferTextureLayer
+ - glNamedRenderbufferStorage
+ - glNamedRenderbufferStorageMultisample
+ - noise
+ - noise1
+ - noise2
+ - noise3
+ - noise4
+ - normalize
+ - not
+ - notEqual
+ - glObjectLabel
+ - glObjectPtrLabel
+ - outerProduct
+ - packDouble2x32
+ - packHalf2x16
+ - packSnorm2x16
+ - packSnorm4x8
+ - packUnorm
+ - packUnorm2x16
+ - packUnorm4x8
+ - glPatchParameter
+ - glPatchParameterfv
+ - glPatchParameteri
+ - glPauseTransformFeedback
+ - glPixelStore
+ - glPixelStoref
+ - glPixelStorei
+ - glPointParameter
+ - glPointParameterf
+ - glPointParameterfv
+ - glPointParameteri
+ - glPointParameteriv
+ - glPointSize
+ - glPolygonMode
+ - glPolygonOffset
+ - glPopDebugGroup
+ - pow
+ - glPrimitiveRestartIndex
+ - glProgramBinary
+ - glProgramParameter
+ - glProgramParameteri
+ - glProgramUniform
+ - glProgramUniform1f
+ - glProgramUniform1fv
+ - glProgramUniform1i
+ - glProgramUniform1iv
+ - glProgramUniform1ui
+ - glProgramUniform1uiv
+ - glProgramUniform2f
+ - glProgramUniform2fv
+ - glProgramUniform2i
+ - glProgramUniform2iv
+ - glProgramUniform2ui
+ - glProgramUniform2uiv
+ - glProgramUniform3f
+ - glProgramUniform3fv
+ - glProgramUniform3i
+ - glProgramUniform3iv
+ - glProgramUniform3ui
+ - glProgramUniform3uiv
+ - glProgramUniform4f
+ - glProgramUniform4fv
+ - glProgramUniform4i
+ - glProgramUniform4iv
+ - glProgramUniform4ui
+ - glProgramUniform4uiv
+ - glProgramUniformMatrix2fv
+ - glProgramUniformMatrix2x3fv
+ - glProgramUniformMatrix2x4fv
+ - glProgramUniformMatrix3fv
+ - glProgramUniformMatrix3x2fv
+ - glProgramUniformMatrix3x4fv
+ - glProgramUniformMatrix4fv
+ - glProgramUniformMatrix4x2fv
+ - glProgramUniformMatrix4x3fv
+ - glProvokingVertex
+ - glPushDebugGroup
+ - glQueryCounter
+ - radians
+ - glReadBuffer
+ - glReadnPixels
+ - glReadPixels
+ - reflect
+ - refract
+ - glReleaseShaderCompiler
+ - removedTypes
+ - glRenderbufferStorage
+ - glRenderbufferStorageMultisample
+ - glResumeTransformFeedback
+ - round
+ - roundEven
+ - glSampleCoverage
+ - glSampleMaski
+ - glSamplerParameter
+ - glSamplerParameterf
+ - glSamplerParameterfv
+ - glSamplerParameteri
+ - glSamplerParameterIiv
+ - glSamplerParameterIuiv
+ - glSamplerParameteriv
+ - glScissor
+ - glScissorArray
+ - glScissorArrayv
+ - glScissorIndexed
+ - glScissorIndexedv
+ - glShaderBinary
+ - glShaderSource
+ - glShaderStorageBlockBinding
+ - sign
+ - sin
+ - sinh
+ - smoothstep
+ - sqrt
+ - glStencilFunc
+ - glStencilFuncSeparate
+ - glStencilMask
+ - glStencilMaskSeparate
+ - glStencilOp
+ - glStencilOpSeparate
+ - step
+ - tan
+ - tanh
+ - glTexBuffer
+ - glTexBufferRange
+ - texelFetch
+ - texelFetchOffset
+ - glTexImage1D
+ - glTexImage2D
+ - glTexImage2DMultisample
+ - glTexImage3D
+ - glTexImage3DMultisample
+ - glTexParameter
+ - glTexParameterf
+ - glTexParameterfv
+ - glTexParameteri
+ - glTexParameterIiv
+ - glTexParameterIuiv
+ - glTexParameteriv
+ - glTexStorage1D
+ - glTexStorage2D
+ - glTexStorage2DMultisample
+ - glTexStorage3D
+ - glTexStorage3DMultisample
+ - glTexSubImage1D
+ - glTexSubImage2D
+ - glTexSubImage3D
+ - texture
+ - glTextureBarrier
+ - glTextureBuffer
+ - glTextureBufferRange
+ - textureGather
+ - textureGatherOffset
+ - textureGatherOffsets
+ - textureGrad
+ - textureGradOffset
+ - textureLod
+ - textureLodOffset
+ - textureOffset
+ - glTextureParameterf
+ - glTextureParameterfv
+ - glTextureParameteri
+ - glTextureParameterIiv
+ - glTextureParameterIuiv
+ - glTextureParameteriv
+ - textureProj
+ - textureProjGrad
+ - textureProjGradOffset
+ - textureProjLod
+ - textureProjLodOffset
+ - textureProjOffset
+ - textureQueryLevels
+ - textureQueryLod
+ - textureSamples
+ - textureSize
+ - glTextureStorage1D
+ - glTextureStorage2D
+ - glTextureStorage2DMultisample
+ - glTextureStorage3D
+ - glTextureStorage3DMultisample
+ - glTextureSubImage1D
+ - glTextureSubImage2D
+ - glTextureSubImage3D
+ - glTextureView
+ - glTransformFeedbackBufferBase
+ - glTransformFeedbackBufferRange
+ - glTransformFeedbackVaryings
+ - transpose
+ - trunc
+ - uaddCarry
+ - uintBitsToFloat
+ - umulExtended
+ - glUniform
+ - glUniform1f
+ - glUniform1fv
+ - glUniform1i
+ - glUniform1iv
+ - glUniform1ui
+ - glUniform1uiv
+ - glUniform2f
+ - glUniform2fv
+ - glUniform2i
+ - glUniform2iv
+ - glUniform2ui
+ - glUniform2uiv
+ - glUniform3f
+ - glUniform3fv
+ - glUniform3i
+ - glUniform3iv
+ - glUniform3ui
+ - glUniform3uiv
+ - glUniform4f
+ - glUniform4fv
+ - glUniform4i
+ - glUniform4iv
+ - glUniform4ui
+ - glUniform4uiv
+ - glUniformBlockBinding
+ - glUniformMatrix2fv
+ - glUniformMatrix2x3fv
+ - glUniformMatrix2x4fv
+ - glUniformMatrix3fv
+ - glUniformMatrix3x2fv
+ - glUniformMatrix3x4fv
+ - glUniformMatrix4fv
+ - glUniformMatrix4x2fv
+ - glUniformMatrix4x3fv
+ - glUniformSubroutines
+ - glUniformSubroutinesuiv
+ - glUnmapBuffer
+ - glUnmapNamedBuffer
+ - unpackDouble2x32
+ - unpackHalf2x16
+ - unpackSnorm2x16
+ - unpackSnorm4x8
+ - unpackUnorm
+ - unpackUnorm2x16
+ - unpackUnorm4x8
+ - glUseProgram
+ - glUseProgramStages
+ - usubBorrow
+ - glValidateProgram
+ - glValidateProgramPipeline
+ - glVertexArrayAttribBinding
+ - glVertexArrayAttribFormat
+ - glVertexArrayAttribIFormat
+ - glVertexArrayAttribLFormat
+ - glVertexArrayBindingDivisor
+ - glVertexArrayElementBuffer
+ - glVertexArrayVertexBuffer
+ - glVertexArrayVertexBuffers
+ - glVertexAttrib
+ - glVertexAttrib1d
+ - glVertexAttrib1dv
+ - glVertexAttrib1f
+ - glVertexAttrib1fv
+ - glVertexAttrib1s
+ - glVertexAttrib1sv
+ - glVertexAttrib2d
+ - glVertexAttrib2dv
+ - glVertexAttrib2f
+ - glVertexAttrib2fv
+ - glVertexAttrib2s
+ - glVertexAttrib2sv
+ - glVertexAttrib3d
+ - glVertexAttrib3dv
+ - glVertexAttrib3f
+ - glVertexAttrib3fv
+ - glVertexAttrib3s
+ - glVertexAttrib3sv
+ - glVertexAttrib4bv
+ - glVertexAttrib4d
+ - glVertexAttrib4dv
+ - glVertexAttrib4f
+ - glVertexAttrib4fv
+ - glVertexAttrib4iv
+ - glVertexAttrib4Nbv
+ - glVertexAttrib4Niv
+ - glVertexAttrib4Nsv
+ - glVertexAttrib4Nub
+ - glVertexAttrib4Nubv
+ - glVertexAttrib4Nuiv
+ - glVertexAttrib4Nusv
+ - glVertexAttrib4s
+ - glVertexAttrib4sv
+ - glVertexAttrib4ubv
+ - glVertexAttrib4uiv
+ - glVertexAttrib4usv
+ - glVertexAttribBinding
+ - glVertexAttribDivisor
+ - glVertexAttribFormat
+ - glVertexAttribI1i
+ - glVertexAttribI1iv
+ - glVertexAttribI1ui
+ - glVertexAttribI1uiv
+ - glVertexAttribI2i
+ - glVertexAttribI2iv
+ - glVertexAttribI2ui
+ - glVertexAttribI2uiv
+ - glVertexAttribI3i
+ - glVertexAttribI3iv
+ - glVertexAttribI3ui
+ - glVertexAttribI3uiv
+ - glVertexAttribI4bv
+ - glVertexAttribI4i
+ - glVertexAttribI4iv
+ - glVertexAttribI4sv
+ - glVertexAttribI4ubv
+ - glVertexAttribI4ui
+ - glVertexAttribI4uiv
+ - glVertexAttribI4usv
+ - glVertexAttribIFormat
+ - glVertexAttribIPointer
+ - glVertexAttribL1d
+ - glVertexAttribL1dv
+ - glVertexAttribL2d
+ - glVertexAttribL2dv
+ - glVertexAttribL3d
+ - glVertexAttribL3dv
+ - glVertexAttribL4d
+ - glVertexAttribL4dv
+ - glVertexAttribLFormat
+ - glVertexAttribLPointer
+ - glVertexAttribP1ui
+ - glVertexAttribP2ui
+ - glVertexAttribP3ui
+ - glVertexAttribP4ui
+ - glVertexAttribPointer
+ - glVertexBindingDivisor
+ - glViewport
+ - glViewportArray
+ - glViewportArrayv
+ - glViewportIndexed
+ - glViewportIndexedf
+ - glViewportIndexedfv
+ - glWaitSync
+
+
+
+ - gl_Position
+ - gl_PointSize
+ - gl_ClipVertex
+
+
+ - gl_FragCoord
+ - gl_FragFacing
+ - gl_FragColor
+ - gl_FragData
+ - gl_FragDepth
+
+
+ - gl_Color
+ - gl_SecondaryColor
+ - gl_Normal
+ - gl_Vertex
+ - gl_MultiTexCoord0
+ - gl_MultiTexCoord1
+ - gl_MultiTexCoord2
+ - gl_MultiTexCoord2
+ - gl_MultiTexCoord3
+ - gl_MultiTexCoord4
+ - gl_MultiTexCoord5
+ - gl_MultiTexCoord6
+ - gl_MultiTexCoord7
+ - gl_FogColor
+
+
+ - gl_ClipDistance
+ - gl_PrimitiveIDIn
+ - gl_InvocationID
+ - gl_PrimitiveID
+ - gl_Layer
+ - gl_ViewportIndex
+
+
+ - gl_TessCoord
+ - gl_PatchVerticesIn
+ - gl_TessLevelOuter
+ - gl_TessLevelInner
+ - gl_MaxPatchVertices
+ - gl_in
+ - gl_out
+
+
+ - gl_MaxLights
+ - gl_MaxClipPlanes
+ - gl_MaxTextureUnits
+ - gl_MaxTextureCoords
+ - gl_MaxVertexAttributes
+ - gl_MaxVertexUniformComponents
+ - gl_MaxVaryingFloats
+ - gl_MaxVertexTextureImageUnits
+ - gl_MaxCombinedTextureImageUnits
+ - gl_MaxTextureImageUnits
+ - gl_MaxFragmentUniformComponents
+ - gl_MaxDrawBuffers
+
+
+ - gl_ModelViewMatrix
+ - gl_ProjectionMatrix
+ - gl_ModelViewProjectionMatrix
+ - gl_TextureMatrix
+ - gl_NormalMatrix
+ - gl_ModelViewMatrixInverse
+ - gl_ProjectionMatrixInverse
+ - gl_ModelViewProjectionMatrixInverse
+ - gl_TextureMatrixInverse
+ - gl_ModelViewMatrixTranspose
+ - gl_ProjectionMatrixTranspose
+ - gl_ModelViewProjectionMatrixTranspose
+ - gl_TextureMatrixTranspose
+ - gl_ModelViewMatrixInverseTranspose
+ - gl_ProjectionMatrixInverseTranspose
+ - gl_ModelViewProjectionMatrixInverseTranspose
+ - gl_TextureMatrixInverseTranspose
+ - gl_NormScale
+ - gl_DepthRangeParameters
+ - gl_DepthRange
+ - gl_ClipPlane
+ - gl_PointParameters
+ - gl_Point
+ - gl_MaterialParameters
+ - gl_FrontMaterial
+ - gl_BackMaterial
+ - gl_LightSourceParameters
+ - gl_LightSource
+ - gl_LightModelParameters
+ - gl_LightModel
+ - gl_LightModelProducts
+ - gl_FrontLightModelProduct
+ - gl_BackLightModelProduct
+ - gl_LightProducts
+ - gl_FrontLightProduct
+ - gl_BackLightProduct
+ - gl_TextureEnvColor
+ - gl_EyePlaneS
+ - gl_EyePlaneT
+ - gl_EyePlaneR
+ - gl_EyePlaneQ
+ - gl_ObjectPlaneS
+ - gl_ObjectPlaneT
+ - gl_ObjectPlaneR
+ - gl_ObjectPlaneQ
+ - gl_FogParameters
+ - gl_Fog
+
+
+ - gl_FrontColor
+ - gl_BackColor
+ - gl_FrontSecondaryColor
+ - gl_BackSecondaryColor
+ - gl_TexCoord
+ - gl_FogFragCoord
+ - gl_Color
+ - gl_SecondaryColor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gnuassembler.xml b/data/syntax/gnuassembler.xml
new file mode 100644
index 0000000..59638c2
--- /dev/null
+++ b/data/syntax/gnuassembler.xml
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+ - .abort
+ - .align
+ - .app-file
+ - .appline
+ - .ascii
+ - .asciz
+ - .att_syntax
+ - .balign
+ - .balignl
+ - .balignw
+ - .byte
+ - .code16
+ - .code32
+ - .comm
+ - .common.s
+ - .common
+ - .data
+ - .dc.b
+ - .dc.d
+ - .dc.l
+ - .dc.s
+ - .dc.w
+ - .dc.x
+ - .dc
+ - .dcb.b
+ - .dcb.d
+ - .dcb.l
+ - .dcb.s
+ - .dcb.w
+ - .dcb.x
+ - .dcb
+ - .debug
+ - .def
+ - .desc
+ - .dim
+ - .double
+ - .ds.b
+ - .ds.d
+ - .ds.l
+ - .ds.p
+ - .ds.s
+ - .ds.w
+ - .ds.x
+ - .ds
+ - .dsect
+ - .eject
+ - .else
+ - .elsec
+ - .elseif
+ - .end
+ - .endc
+ - .endef
+ - .endfunc
+ - .endif
+ - .endm
+ - .endr
+ - .equ
+ - .equiv
+ - .err
+ - .exitm
+ - .extend
+ - .extern
+ - .fail
+ - .file
+ - .fill
+ - .float
+ - .format
+ - .func
+ - .global
+ - .globl
+ - .hidden
+ - .hword
+ - .ident
+ - .if
+ - .ifc
+ - .ifdef
+ - .ifeq
+ - .ifeqs
+ - .ifge
+ - .ifgt
+ - .ifle
+ - .iflt
+ - .ifnc
+ - .ifndef
+ - .ifne
+ - .ifnes
+ - .ifnotdef
+ - .include
+ - .int
+ - .intel_syntax
+ - .internal
+ - .irep
+ - .irepc
+ - .irp
+ - .irpc
+ - .lcomm
+ - .lflags
+ - .line
+ - .linkonce
+ - .list
+ - .llen
+ - .ln
+ - .long
+ - .lsym
+ - .macro
+ - .mexit
+ - .name
+ - .noformat
+ - .nolist
+ - .nopage
+ - noprefix
+ - .octa
+ - .offset
+ - .org
+ - .p2align
+ - .p2alignl
+ - .p2alignw
+ - .page
+ - .plen
+ - .popsection
+ - .previous
+ - .print
+ - .protected
+ - .psize
+ - .purgem
+ - .pushsection
+ - .quad
+ - .rodata
+ - .rep
+ - .rept
+ - .rva
+ - .sbttl
+ - .scl
+ - .sect.s
+ - .sect
+ - .section.s
+ - .section
+ - .set
+ - .short
+ - .single
+ - .size
+ - .skip
+ - .sleb128
+ - .space
+ - .spc
+ - .stabd
+ - .stabn
+ - .stabs
+ - .string
+ - .struct
+ - .subsection
+ - .symver
+ - .tag
+ - .text
+ - .title
+ - .ttl
+ - .type
+ - .uleb128
+ - .use
+ - .val
+ - .version
+ - .vtable_entry
+ - .vtable_inherit
+ - .weak
+ - .word
+ - .xcom
+ - .xdef
+ - .xref
+ - .xstabs
+ - .zero
+
+ - .arm
+ - .bss
+ - .code
+ - .even
+ - .force_thumb
+ - .ldouble
+ - .loc
+ - .ltorg
+ - .packed
+ - .pool
+ - .req
+ - .thumb
+ - .thumb_func
+ - .thumb_set
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/gnuplot.xml b/data/syntax/gnuplot.xml
new file mode 100644
index 0000000..4fd5cc1
--- /dev/null
+++ b/data/syntax/gnuplot.xml
@@ -0,0 +1,890 @@
+
+
+
+
+
+ - noarrow
+ - noborder
+ - noclabel
+ - noclip
+ - nocontour
+ - nodgrid3d
+ - nogrid
+ - nohidden3d
+ - nokey
+ - nolabel
+ - nolinestyle
+ - nomultiplot
+ - nomx2tics
+ - nomxtics
+ - nomy2tics
+ - nomytics
+ - nomztics
+ - nooffsets
+ - noparametric
+ - nopolar
+ - nosurface
+ - notimestamp
+ - nox2dtics
+ - nox2mtics
+ - nox2tics
+ - nox2zeroaxis
+ - noxdtics
+ - noxmtics
+ - noxtics
+ - noxzeroaxis
+ - noy2dtics
+ - noy2mtics
+ - noy2tics
+ - noy2zeroaxis
+ - noydtics
+ - noymtics
+ - noytics
+ - noyzeroaxis
+ - nozdtics
+ - nozeroaxis
+ - nozmtics
+ - noztics
+
+
+
+ - grid
+ - parametric
+
+
+
+ - angles
+ - arrow
+ - bar
+ - border
+ - boxwidth
+ - clip
+ - cntrparam
+ - data
+ - dgrid3d
+ - dummy
+ - encoding
+ - format
+ - function
+ - functions
+ - hidden3d
+ - isosamples
+ - label
+ - linestyle
+ - mapping
+ - margin
+ - mx2tics
+ - mxtics
+ - my2tics
+ - mytics
+ - mztics
+ - offsets
+ - origin
+ - parametric
+ - pointsize
+ - polar
+ - samples
+ - size
+ - data style
+ - function style
+ - surface
+ - tics
+ - ticscale
+ - ticslevel
+ - timefmt
+ - timestamp
+ - variables
+ - version
+ - view
+ - x2data
+ - x2dtics
+ - x2label
+ - x2mtics
+ - x2tics
+ - x2zeroaxis
+ - xdata
+ - xdtics
+ - xmtics
+ - xtics
+ - xzeroaxis
+ - y2data
+ - y2dtics
+ - y2mtics
+ - y2tics
+ - y2zeroaxis
+ - ydata
+ - ydtics
+ - ymtics
+ - ytics
+ - yzeroaxis
+ - zdata
+ - zdtics
+ - zero
+ - zeroaxis
+ - zmtics
+ - ztics
+
+
+
+ - clabel
+ - title
+ - xlabel
+ - x2label
+ - ylabel
+ - y2label
+ - zlabel
+
+
+
+ - rrange
+ - trange
+ - urange
+ - vrange
+ - x2range
+ - xrange
+ - y2range
+ - yrange
+ - zrange
+
+
+
+ - base
+ - surface
+ - both
+
+
+
+ - left
+ - right
+ - top
+ - bottom
+ - outside
+ - below
+ - Left
+ - Right
+ - noreverse
+ - reverse
+
+
+
+ - noautoscale
+ - autoscale
+ - nologscale
+
+
+
+ - x
+ - y
+ - z
+ - x2
+ - y2
+ - xy
+
+
+
+ - aed512
+ - aed767
+ - aifm
+ - bitgraph
+ - cgm
+ - dumb
+ - dxf
+ - dxy800a
+ - eepic
+ - epson-180dpi
+ - epson-60dpi
+ - epson-lx800
+ - excl
+ - gpic
+ - hp2623a
+ - hp2648
+ - kc-tek40xx
+ - km-tek40xx
+ - kyo
+ - mf
+ - mif
+ - mp
+ - nec-cp6
+ - okidata
+ - prescribe
+ - pstricks
+ - qms
+ - regis
+ - rgip
+ - selanar
+ - starc
+ - table
+ - tandy-60dpi
+ - tek40xx
+ - tek410x
+ - texdraw
+ - uniplex
+ - unixplot
+ - vttek
+ - vx384
+ - x11
+
+
+
+ - landscape
+ - portrait
+ - eps
+ - default
+ - enhanced
+ - noenhanced
+ - solid
+ - dashed
+ - defaultplex
+ - simplex
+ - duplex
+
+
+
+ - courier
+ - roman
+ - default
+
+
+
+ - color
+ - monochrome
+ - dashed
+ - rotate
+ - norotate
+ - auxfile
+
+
+
+ - transparent
+ - notransparent
+
+
+
+ - small
+ - medium
+ - large
+ - monochrome
+ - gray
+ - color
+
+
+
+ - landscape
+ - portrait
+ - solid
+ - dashed
+
+
+
+ - monochrome
+ - color
+ - small
+ - big
+ - pointsmax
+ - landscape
+ - portrait
+ - metric
+ - inches
+ - fontsize
+ - size
+ - thickness
+ - depth
+
+
+
+ - monochrome
+ - color
+
+
+
+ - FNT5X9
+ - FNT9X17
+ - FNT13X25
+
+
+
+ - mode
+ - landscape
+ - portrait
+ - monochrome
+ - color
+ - solid
+ - dashed
+ - letter
+ - legal
+ - noextended
+ - extended
+ - stick
+ - univers
+ - cg_times
+ - zapf_dingbats
+ - antique_olive
+ - arial
+ - courier
+ - garamond_antigua
+ - letter_gothic
+ - cg_omega
+ - albertus
+ - times_new_roman
+ - clarendon
+ - coronet
+ - marigold
+ - truetype_symbols
+ - wingdings
+
+
+
+ - 75
+ - 100
+ - 150
+ - 300
+
+
+
+ - landscape
+ - portrait
+
+
+
+ - acsplines
+ - bezier
+ - csplines
+ - sbezier
+ - unique
+
+
+
+ - x1y1
+ - x2y1
+ - x1y2
+ - x2y2
+
+
+
+ - lines
+ - l
+ - points
+ - p
+ - linespoints
+ - linesp
+ - impulses
+ - i
+ - dots
+ - d
+ - steps
+ - fsteps
+ - histeps
+
+
+
+ - errorbars
+ - xerrorbars
+ - yerrorbars
+ - xyerrorbars
+ - boxes
+ - boxerrorbars
+ - boxxyerrorbars
+ - financebars
+ - candlesticks
+ - vector
+
+
+
+ - linestyle
+ - ls
+ - linetype
+ - lt
+ - linewidth
+ - lw
+ - pointtype
+ - pt
+ - pointsize
+ - ps
+
+
+
+ - replot
+ - exit
+ - quit
+ - clear
+ - reset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/go.xml b/data/syntax/go.xml
new file mode 100644
index 0000000..808ae4c
--- /dev/null
+++ b/data/syntax/go.xml
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+
+
+
+ - break
+ - case
+ - chan
+ - const
+ - continue
+ - default
+ - defer
+ - else
+ - fallthrough
+ - for
+ - func
+ - go
+ - goto
+ - if
+ - import
+ - interface
+ - map
+ - package
+ - range
+ - return
+ - select
+ - struct
+ - switch
+ - type
+ - var
+
+
+ - bool
+ - byte
+ - complex64
+ - complex128
+ - error
+ - float32
+ - float64
+ - int
+ - int8
+ - int16
+ - int32
+ - int64
+ - rune
+ - string
+ - uint
+ - uintptr
+ - uint8
+ - uint16
+ - uint32
+ - uint64
+
+
+ - append
+ - cap
+ - close
+ - complex
+ - copy
+ - delete
+ - imag
+ - len
+ - make
+ - new
+ - panic
+ - print
+ - println
+ - real
+ - recover
+
+
+ - false
+ - nil
+ - true
+ - iota
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/grammar.xml b/data/syntax/grammar.xml
new file mode 100644
index 0000000..60ae526
--- /dev/null
+++ b/data/syntax/grammar.xml
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+ - ast_extra_members
+ - export_macro
+ - export_macro_header
+ - namespace
+ - parserclass
+ - token
+ - token_stream
+ - parser_declaration_header
+ - parser_bits_header
+ - ast_header
+ - ast_base
+ - parser_base
+ - bin
+ - pre
+ - post
+ - tern
+ - paren
+ - left
+ - right
+ - <
+ - >
+
+
+ - try/rollback
+ - try/recover
+ - catch
+
+
+ - public
+ - protected
+ - private
+
+
+ - declaration
+ - destructor
+ - constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/groovy.xml b/data/syntax/groovy.xml
new file mode 100644
index 0000000..4e91407
--- /dev/null
+++ b/data/syntax/groovy.xml
@@ -0,0 +1,3884 @@
+
+
+
+
+
+
+ - ACTIVE
+ - ACTIVITY_COMPLETED
+ - ACTIVITY_REQUIRED
+ - ARG_IN
+ - ARG_INOUT
+ - ARG_OUT
+ - AWTError
+ - AWTEvent
+ - AWTEventListener
+ - AWTEventListenerProxy
+ - AWTEventMulticaster
+ - AWTException
+ - AWTKeyStroke
+ - AWTPermission
+ - AbstractAction
+ - AbstractBorder
+ - AbstractButton
+ - AbstractCellEditor
+ - AbstractCollection
+ - AbstractColorChooserPanel
+ - AbstractDocument
+ - AbstractDocument.AttributeContext
+ - AbstractDocument.Content
+ - AbstractDocument.ElementEdit
+ - AbstractExecutorService
+ - AbstractInterruptibleChannel
+ - AbstractLayoutCache
+ - AbstractLayoutCache.NodeDimensions
+ - AbstractList
+ - AbstractListModel
+ - AbstractMap
+ - AbstractMethodError
+ - AbstractPreferences
+ - AbstractQueue
+ - AbstractQueuedSynchronizer
+ - AbstractSelectableChannel
+ - AbstractSelectionKey
+ - AbstractSelector
+ - AbstractSequentialList
+ - AbstractSet
+ - AbstractSpinnerModel
+ - AbstractTableModel
+ - AbstractUndoableEdit
+ - AbstractWriter
+ - AccessControlContext
+ - AccessControlException
+ - AccessController
+ - AccessException
+ - Accessible
+ - AccessibleAction
+ - AccessibleAttributeSequence
+ - AccessibleBundle
+ - AccessibleComponent
+ - AccessibleContext
+ - AccessibleEditableText
+ - AccessibleExtendedComponent
+ - AccessibleExtendedTable
+ - AccessibleExtendedText
+ - AccessibleHyperlink
+ - AccessibleHypertext
+ - AccessibleIcon
+ - AccessibleKeyBinding
+ - AccessibleObject
+ - AccessibleRelation
+ - AccessibleRelationSet
+ - AccessibleResourceBundle
+ - AccessibleRole
+ - AccessibleSelection
+ - AccessibleState
+ - AccessibleStateSet
+ - AccessibleStreamable
+ - AccessibleTable
+ - AccessibleTableModelChange
+ - AccessibleText
+ - AccessibleTextSequence
+ - AccessibleValue
+ - AccountException
+ - AccountExpiredException
+ - AccountLockedException
+ - AccountNotFoundException
+ - Acl
+ - AclEntry
+ - AclNotFoundException
+ - Action
+ - ActionEvent
+ - ActionListener
+ - ActionMap
+ - ActionMapUIResource
+ - Activatable
+ - ActivateFailedException
+ - ActivationDesc
+ - ActivationException
+ - ActivationGroup
+ - ActivationGroupDesc
+ - ActivationGroupDesc.CommandEnvironment
+ - ActivationGroupID
+ - ActivationGroup_Stub
+ - ActivationID
+ - ActivationInstantiator
+ - ActivationMonitor
+ - ActivationSystem
+ - Activator
+ - ActiveEvent
+ - ActivityCompletedException
+ - ActivityRequiredException
+ - AdapterActivator
+ - AdapterActivatorOperations
+ - AdapterAlreadyExists
+ - AdapterAlreadyExistsHelper
+ - AdapterInactive
+ - AdapterInactiveHelper
+ - AdapterManagerIdHelper
+ - AdapterNameHelper
+ - AdapterNonExistent
+ - AdapterNonExistentHelper
+ - AdapterStateHelper
+ - AddressHelper
+ - Adjustable
+ - AdjustmentEvent
+ - AdjustmentListener
+ - Adler32
+ - AffineTransform
+ - AffineTransformOp
+ - AlgorithmParameterGenerator
+ - AlgorithmParameterGeneratorSpi
+ - AlgorithmParameterSpec
+ - AlgorithmParameters
+ - AlgorithmParametersSpi
+ - AllPermission
+ - AlphaComposite
+ - AlreadyBound
+ - AlreadyBoundException
+ - AlreadyBoundHelper
+ - AlreadyBoundHolder
+ - AlreadyConnectedException
+ - AncestorEvent
+ - AncestorListener
+ - AnnotatedElement
+ - Annotation
+ - Annotation
+ - AnnotationFormatError
+ - AnnotationTypeMismatchException
+ - Any
+ - AnyHolder
+ - AnySeqHelper
+ - AnySeqHelper
+ - AnySeqHolder
+ - AppConfigurationEntry
+ - AppConfigurationEntry.LoginModuleControlFlag
+ - Appendable
+ - Applet
+ - AppletContext
+ - AppletInitializer
+ - AppletStub
+ - ApplicationException
+ - Arc2D
+ - Arc2D.Double
+ - Arc2D.Float
+ - Area
+ - AreaAveragingScaleFilter
+ - ArithmeticException
+ - Array
+ - Array
+ - ArrayBlockingQueue
+ - ArrayIndexOutOfBoundsException
+ - ArrayList
+ - ArrayStoreException
+ - ArrayType
+ - Arrays
+ - AssertionError
+ - AsyncBoxView
+ - AsynchronousCloseException
+ - AtomicBoolean
+ - AtomicInteger
+ - AtomicIntegerArray
+ - AtomicIntegerFieldUpdater
+ - AtomicLong
+ - AtomicLongArray
+ - AtomicLongFieldUpdater
+ - AtomicMarkableReference
+ - AtomicReference
+ - AtomicReferenceArray
+ - AtomicReferenceFieldUpdater
+ - AtomicStampedReference
+ - Attr
+ - Attribute
+ - Attribute
+ - Attribute
+ - AttributeChangeNotification
+ - AttributeChangeNotificationFilter
+ - AttributeException
+ - AttributeInUseException
+ - AttributeList
+ - AttributeList
+ - AttributeList
+ - AttributeListImpl
+ - AttributeModificationException
+ - AttributeNotFoundException
+ - AttributeSet
+ - AttributeSet
+ - AttributeSet.CharacterAttribute
+ - AttributeSet.ColorAttribute
+ - AttributeSet.FontAttribute
+ - AttributeSet.ParagraphAttribute
+ - AttributeSetUtilities
+ - AttributeValueExp
+ - AttributedCharacterIterator
+ - AttributedCharacterIterator.Attribute
+ - AttributedString
+ - Attributes
+ - Attributes
+ - Attributes
+ - Attributes.Name
+ - Attributes2
+ - Attributes2Impl
+ - AttributesImpl
+ - AudioClip
+ - AudioFileFormat
+ - AudioFileFormat.Type
+ - AudioFileReader
+ - AudioFileWriter
+ - AudioFormat
+ - AudioFormat.Encoding
+ - AudioInputStream
+ - AudioPermission
+ - AudioSystem
+ - AuthPermission
+ - AuthProvider
+ - AuthenticationException
+ - AuthenticationException
+ - AuthenticationNotSupportedException
+ - Authenticator
+ - Authenticator.RequestorType
+ - AuthorizeCallback
+ - Autoscroll
+ - BAD_CONTEXT
+ - BAD_INV_ORDER
+ - BAD_OPERATION
+ - BAD_PARAM
+ - BAD_POLICY
+ - BAD_POLICY_TYPE
+ - BAD_POLICY_VALUE
+ - BAD_QOS
+ - BAD_TYPECODE
+ - BMPImageWriteParam
+ - BackingStoreException
+ - BadAttributeValueExpException
+ - BadBinaryOpValueExpException
+ - BadKind
+ - BadLocationException
+ - BadPaddingException
+ - BadStringOperationException
+ - BandCombineOp
+ - BandedSampleModel
+ - BaseRowSet
+ - BasicArrowButton
+ - BasicAttribute
+ - BasicAttributes
+ - BasicBorders
+ - BasicBorders.ButtonBorder
+ - BasicBorders.FieldBorder
+ - BasicBorders.MarginBorder
+ - BasicBorders.MenuBarBorder
+ - BasicBorders.RadioButtonBorder
+ - BasicBorders.RolloverButtonBorder
+ - BasicBorders.SplitPaneBorder
+ - BasicBorders.ToggleButtonBorder
+ - BasicButtonListener
+ - BasicButtonUI
+ - BasicCheckBoxMenuItemUI
+ - BasicCheckBoxUI
+ - BasicColorChooserUI
+ - BasicComboBoxEditor
+ - BasicComboBoxEditor.UIResource
+ - BasicComboBoxRenderer
+ - BasicComboBoxRenderer.UIResource
+ - BasicComboBoxUI
+ - BasicComboPopup
+ - BasicControl
+ - BasicDesktopIconUI
+ - BasicDesktopPaneUI
+ - BasicDirectoryModel
+ - BasicEditorPaneUI
+ - BasicFileChooserUI
+ - BasicFormattedTextFieldUI
+ - BasicGraphicsUtils
+ - BasicHTML
+ - BasicIconFactory
+ - BasicInternalFrameTitlePane
+ - BasicInternalFrameUI
+ - BasicLabelUI
+ - BasicListUI
+ - BasicLookAndFeel
+ - BasicMenuBarUI
+ - BasicMenuItemUI
+ - BasicMenuUI
+ - BasicOptionPaneUI
+ - BasicOptionPaneUI.ButtonAreaLayout
+ - BasicPanelUI
+ - BasicPasswordFieldUI
+ - BasicPermission
+ - BasicPopupMenuSeparatorUI
+ - BasicPopupMenuUI
+ - BasicProgressBarUI
+ - BasicRadioButtonMenuItemUI
+ - BasicRadioButtonUI
+ - BasicRootPaneUI
+ - BasicScrollBarUI
+ - BasicScrollPaneUI
+ - BasicSeparatorUI
+ - BasicSliderUI
+ - BasicSpinnerUI
+ - BasicSplitPaneDivider
+ - BasicSplitPaneUI
+ - BasicStroke
+ - BasicTabbedPaneUI
+ - BasicTableHeaderUI
+ - BasicTableUI
+ - BasicTextAreaUI
+ - BasicTextFieldUI
+ - BasicTextPaneUI
+ - BasicTextUI
+ - BasicTextUI.BasicCaret
+ - BasicTextUI.BasicHighlighter
+ - BasicToggleButtonUI
+ - BasicToolBarSeparatorUI
+ - BasicToolBarUI
+ - BasicToolTipUI
+ - BasicTreeUI
+ - BasicViewportUI
+ - BatchUpdateException
+ - BeanContext
+ - BeanContextChild
+ - BeanContextChildComponentProxy
+ - BeanContextChildSupport
+ - BeanContextContainerProxy
+ - BeanContextEvent
+ - BeanContextMembershipEvent
+ - BeanContextMembershipListener
+ - BeanContextProxy
+ - BeanContextServiceAvailableEvent
+ - BeanContextServiceProvider
+ - BeanContextServiceProviderBeanInfo
+ - BeanContextServiceRevokedEvent
+ - BeanContextServiceRevokedListener
+ - BeanContextServices
+ - BeanContextServicesListener
+ - BeanContextServicesSupport
+ - BeanContextServicesSupport.BCSSServiceProvider
+ - BeanContextSupport
+ - BeanContextSupport.BCSIterator
+ - BeanDescriptor
+ - BeanInfo
+ - Beans
+ - BevelBorder
+ - Bidi
+ - BigDecimal
+ - BigInteger
+ - BinaryRefAddr
+ - BindException
+ - Binding
+ - Binding
+ - BindingHelper
+ - BindingHolder
+ - BindingIterator
+ - BindingIteratorHelper
+ - BindingIteratorHolder
+ - BindingIteratorOperations
+ - BindingIteratorPOA
+ - BindingListHelper
+ - BindingListHolder
+ - BindingType
+ - BindingTypeHelper
+ - BindingTypeHolder
+ - BitSet
+ - Blob
+ - BlockView
+ - BlockingQueue
+ - Book
+ - Boolean
+ - BooleanControl
+ - BooleanControl.Type
+ - BooleanHolder
+ - BooleanSeqHelper
+ - BooleanSeqHolder
+ - Border
+ - BorderFactory
+ - BorderLayout
+ - BorderUIResource
+ - BorderUIResource.BevelBorderUIResource
+ - BorderUIResource.CompoundBorderUIResource
+ - BorderUIResource.EmptyBorderUIResource
+ - BorderUIResource.EtchedBorderUIResource
+ - BorderUIResource.LineBorderUIResource
+ - BorderUIResource.MatteBorderUIResource
+ - BorderUIResource.TitledBorderUIResource
+ - BoundedRangeModel
+ - Bounds
+ - Bounds
+ - Box
+ - Box.Filler
+ - BoxLayout
+ - BoxView
+ - BoxedValueHelper
+ - BreakIterator
+ - BrokenBarrierException
+ - Buffer
+ - BufferCapabilities
+ - BufferCapabilities.FlipContents
+ - BufferOverflowException
+ - BufferStrategy
+ - BufferUnderflowException
+ - BufferedImage
+ - BufferedImageFilter
+ - BufferedImageOp
+ - BufferedInputStream
+ - BufferedOutputStream
+ - BufferedReader
+ - BufferedWriter
+ - Button
+ - ButtonGroup
+ - ButtonModel
+ - ButtonUI
+ - Byte
+ - ByteArrayInputStream
+ - ByteArrayOutputStream
+ - ByteBuffer
+ - ByteChannel
+ - ByteHolder
+ - ByteLookupTable
+ - ByteOrder
+ - CDATASection
+ - CMMException
+ - CODESET_INCOMPATIBLE
+ - COMM_FAILURE
+ - CRC32
+ - CRL
+ - CRLException
+ - CRLSelector
+ - CSS
+ - CSS.Attribute
+ - CTX_RESTRICT_SCOPE
+ - CacheRequest
+ - CacheResponse
+ - CachedRowSet
+ - Calendar
+ - Callable
+ - CallableStatement
+ - Callback
+ - CallbackHandler
+ - CancelablePrintJob
+ - CancellationException
+ - CancelledKeyException
+ - CannotProceed
+ - CannotProceedException
+ - CannotProceedHelper
+ - CannotProceedHolder
+ - CannotRedoException
+ - CannotUndoException
+ - Canvas
+ - CardLayout
+ - Caret
+ - CaretEvent
+ - CaretListener
+ - CellEditor
+ - CellEditorListener
+ - CellRendererPane
+ - CertPath
+ - CertPath.CertPathRep
+ - CertPathBuilder
+ - CertPathBuilderException
+ - CertPathBuilderResult
+ - CertPathBuilderSpi
+ - CertPathParameters
+ - CertPathTrustManagerParameters
+ - CertPathValidator
+ - CertPathValidatorException
+ - CertPathValidatorResult
+ - CertPathValidatorSpi
+ - CertSelector
+ - CertStore
+ - CertStoreException
+ - CertStoreParameters
+ - CertStoreSpi
+ - Certificate
+ - Certificate
+ - Certificate
+ - Certificate.CertificateRep
+ - CertificateEncodingException
+ - CertificateEncodingException
+ - CertificateException
+ - CertificateException
+ - CertificateExpiredException
+ - CertificateExpiredException
+ - CertificateFactory
+ - CertificateFactorySpi
+ - CertificateNotYetValidException
+ - CertificateNotYetValidException
+ - CertificateParsingException
+ - CertificateParsingException
+ - ChangeEvent
+ - ChangeListener
+ - ChangedCharSetException
+ - Channel
+ - ChannelBinding
+ - Channels
+ - CharArrayReader
+ - CharArrayWriter
+ - CharBuffer
+ - CharConversionException
+ - CharHolder
+ - CharSeqHelper
+ - CharSeqHolder
+ - CharSequence
+ - Character
+ - Character.Subset
+ - Character.UnicodeBlock
+ - CharacterCodingException
+ - CharacterData
+ - CharacterIterator
+ - Charset
+ - CharsetDecoder
+ - CharsetEncoder
+ - CharsetProvider
+ - Checkbox
+ - CheckboxGroup
+ - CheckboxMenuItem
+ - CheckedInputStream
+ - CheckedOutputStream
+ - Checksum
+ - Choice
+ - ChoiceCallback
+ - ChoiceFormat
+ - Chromaticity
+ - Cipher
+ - CipherInputStream
+ - CipherOutputStream
+ - CipherSpi
+ - Class
+ - ClassCastException
+ - ClassCircularityError
+ - ClassDefinition
+ - ClassDesc
+ - ClassFileTransformer
+ - ClassFormatError
+ - ClassLoader
+ - ClassLoaderRepository
+ - ClassLoadingMXBean
+ - ClassNotFoundException
+ - ClientRequestInfo
+ - ClientRequestInfoOperations
+ - ClientRequestInterceptor
+ - ClientRequestInterceptorOperations
+ - Clip
+ - Clipboard
+ - ClipboardOwner
+ - Clob
+ - CloneNotSupportedException
+ - Cloneable
+ - Closeable
+ - ClosedByInterruptException
+ - ClosedChannelException
+ - ClosedSelectorException
+ - CodeSets
+ - CodeSigner
+ - CodeSource
+ - Codec
+ - CodecFactory
+ - CodecFactoryHelper
+ - CodecFactoryOperations
+ - CodecOperations
+ - CoderMalfunctionError
+ - CoderResult
+ - CodingErrorAction
+ - CollationElementIterator
+ - CollationKey
+ - Collator
+ - Collection
+ - CollectionCertStoreParameters
+ - Collections
+ - Color
+ - ColorChooserComponentFactory
+ - ColorChooserUI
+ - ColorConvertOp
+ - ColorModel
+ - ColorSelectionModel
+ - ColorSpace
+ - ColorSupported
+ - ColorType
+ - ColorUIResource
+ - ComboBoxEditor
+ - ComboBoxModel
+ - ComboBoxUI
+ - ComboPopup
+ - Comment
+ - CommunicationException
+ - Comparable
+ - Comparator
+ - CompilationMXBean
+ - Compiler
+ - CompletionService
+ - CompletionStatus
+ - CompletionStatusHelper
+ - Component
+ - ComponentAdapter
+ - ComponentColorModel
+ - ComponentEvent
+ - ComponentIdHelper
+ - ComponentInputMap
+ - ComponentInputMapUIResource
+ - ComponentListener
+ - ComponentOrientation
+ - ComponentSampleModel
+ - ComponentUI
+ - ComponentView
+ - Composite
+ - CompositeContext
+ - CompositeData
+ - CompositeDataSupport
+ - CompositeName
+ - CompositeType
+ - CompositeView
+ - CompoundBorder
+ - CompoundControl
+ - CompoundControl.Type
+ - CompoundEdit
+ - CompoundName
+ - Compression
+ - ConcurrentHashMap
+ - ConcurrentLinkedQueue
+ - ConcurrentMap
+ - ConcurrentModificationException
+ - Condition
+ - Configuration
+ - ConfigurationException
+ - ConfirmationCallback
+ - ConnectException
+ - ConnectException
+ - ConnectIOException
+ - Connection
+ - ConnectionEvent
+ - ConnectionEventListener
+ - ConnectionPendingException
+ - ConnectionPoolDataSource
+ - ConsoleHandler
+ - Constructor
+ - Container
+ - ContainerAdapter
+ - ContainerEvent
+ - ContainerListener
+ - ContainerOrderFocusTraversalPolicy
+ - ContentHandler
+ - ContentHandler
+ - ContentHandlerFactory
+ - ContentModel
+ - Context
+ - Context
+ - ContextList
+ - ContextNotEmptyException
+ - ContextualRenderedImageFactory
+ - Control
+ - Control
+ - Control.Type
+ - ControlFactory
+ - ControllerEventListener
+ - ConvolveOp
+ - CookieHandler
+ - CookieHolder
+ - Copies
+ - CopiesSupported
+ - CopyOnWriteArrayList
+ - CopyOnWriteArraySet
+ - CountDownLatch
+ - CounterMonitor
+ - CounterMonitorMBean
+ - CredentialException
+ - CredentialExpiredException
+ - CredentialNotFoundException
+ - CropImageFilter
+ - CubicCurve2D
+ - CubicCurve2D.Double
+ - CubicCurve2D.Float
+ - Currency
+ - Current
+ - Current
+ - Current
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHolder
+ - CurrentOperations
+ - CurrentOperations
+ - CurrentOperations
+ - Cursor
+ - CustomMarshal
+ - CustomValue
+ - Customizer
+ - CyclicBarrier
+ - DATA_CONVERSION
+ - DESKeySpec
+ - DESedeKeySpec
+ - DGC
+ - DHGenParameterSpec
+ - DHKey
+ - DHParameterSpec
+ - DHPrivateKey
+ - DHPrivateKeySpec
+ - DHPublicKey
+ - DHPublicKeySpec
+ - DISCARDING
+ - DOMConfiguration
+ - DOMError
+ - DOMErrorHandler
+ - DOMException
+ - DOMImplementation
+ - DOMImplementationLS
+ - DOMImplementationList
+ - DOMImplementationRegistry
+ - DOMImplementationSource
+ - DOMLocator
+ - DOMLocator
+ - DOMResult
+ - DOMSource
+ - DOMStringList
+ - DSAKey
+ - DSAKeyPairGenerator
+ - DSAParameterSpec
+ - DSAParams
+ - DSAPrivateKey
+ - DSAPrivateKeySpec
+ - DSAPublicKey
+ - DSAPublicKeySpec
+ - DTD
+ - DTDConstants
+ - DTDHandler
+ - DataBuffer
+ - DataBufferByte
+ - DataBufferDouble
+ - DataBufferFloat
+ - DataBufferInt
+ - DataBufferShort
+ - DataBufferUShort
+ - DataFlavor
+ - DataFormatException
+ - DataInput
+ - DataInputStream
+ - DataInputStream
+ - DataLine
+ - DataLine.Info
+ - DataOutput
+ - DataOutputStream
+ - DataOutputStream
+ - DataSource
+ - DataTruncation
+ - DatabaseMetaData
+ - DatagramChannel
+ - DatagramPacket
+ - DatagramSocket
+ - DatagramSocketImpl
+ - DatagramSocketImplFactory
+ - DatatypeConfigurationException
+ - DatatypeConstants
+ - DatatypeConstants.Field
+ - DatatypeFactory
+ - Date
+ - Date
+ - DateFormat
+ - DateFormat.Field
+ - DateFormatSymbols
+ - DateFormatter
+ - DateTimeAtCompleted
+ - DateTimeAtCreation
+ - DateTimeAtProcessing
+ - DateTimeSyntax
+ - DebugGraphics
+ - DecimalFormat
+ - DecimalFormatSymbols
+ - DeclHandler
+ - DefaultBoundedRangeModel
+ - DefaultButtonModel
+ - DefaultCaret
+ - DefaultCellEditor
+ - DefaultColorSelectionModel
+ - DefaultComboBoxModel
+ - DefaultDesktopManager
+ - DefaultEditorKit
+ - DefaultEditorKit.BeepAction
+ - DefaultEditorKit.CopyAction
+ - DefaultEditorKit.CutAction
+ - DefaultEditorKit.DefaultKeyTypedAction
+ - DefaultEditorKit.InsertBreakAction
+ - DefaultEditorKit.InsertContentAction
+ - DefaultEditorKit.InsertTabAction
+ - DefaultEditorKit.PasteAction
+ - DefaultFocusManager
+ - DefaultFocusTraversalPolicy
+ - DefaultFormatter
+ - DefaultFormatterFactory
+ - DefaultHandler
+ - DefaultHandler2
+ - DefaultHighlighter
+ - DefaultHighlighter.DefaultHighlightPainter
+ - DefaultKeyboardFocusManager
+ - DefaultListCellRenderer
+ - DefaultListCellRenderer.UIResource
+ - DefaultListModel
+ - DefaultListSelectionModel
+ - DefaultLoaderRepository
+ - DefaultLoaderRepository
+ - DefaultMenuLayout
+ - DefaultMetalTheme
+ - DefaultMutableTreeNode
+ - DefaultPersistenceDelegate
+ - DefaultSingleSelectionModel
+ - DefaultStyledDocument
+ - DefaultStyledDocument.AttributeUndoableEdit
+ - DefaultStyledDocument.ElementSpec
+ - DefaultTableCellRenderer
+ - DefaultTableCellRenderer.UIResource
+ - DefaultTableColumnModel
+ - DefaultTableModel
+ - DefaultTextUI
+ - DefaultTreeCellEditor
+ - DefaultTreeCellRenderer
+ - DefaultTreeModel
+ - DefaultTreeSelectionModel
+ - DefinitionKind
+ - DefinitionKindHelper
+ - Deflater
+ - DeflaterOutputStream
+ - DelayQueue
+ - Delayed
+ - Delegate
+ - Delegate
+ - Delegate
+ - DelegationPermission
+ - Deprecated
+ - Descriptor
+ - DescriptorAccess
+ - DescriptorSupport
+ - DesignMode
+ - DesktopIconUI
+ - DesktopManager
+ - DesktopPaneUI
+ - Destination
+ - DestroyFailedException
+ - Destroyable
+ - Dialog
+ - Dictionary
+ - DigestException
+ - DigestInputStream
+ - DigestOutputStream
+ - Dimension
+ - Dimension2D
+ - DimensionUIResource
+ - DirContext
+ - DirObjectFactory
+ - DirStateFactory
+ - DirStateFactory.Result
+ - DirectColorModel
+ - DirectoryManager
+ - DisplayMode
+ - DnDConstants
+ - Doc
+ - DocAttribute
+ - DocAttributeSet
+ - DocFlavor
+ - DocFlavor.BYTE_ARRAY
+ - DocFlavor.CHAR_ARRAY
+ - DocFlavor.INPUT_STREAM
+ - DocFlavor.READER
+ - DocFlavor.SERVICE_FORMATTED
+ - DocFlavor.STRING
+ - DocFlavor.URL
+ - DocPrintJob
+ - Document
+ - Document
+ - DocumentBuilder
+ - DocumentBuilderFactory
+ - DocumentEvent
+ - DocumentEvent.ElementChange
+ - DocumentEvent.EventType
+ - DocumentFilter
+ - DocumentFilter.FilterBypass
+ - DocumentFragment
+ - DocumentHandler
+ - DocumentListener
+ - DocumentName
+ - DocumentParser
+ - DocumentType
+ - Documented
+ - DomainCombiner
+ - DomainManager
+ - DomainManagerOperations
+ - Double
+ - DoubleBuffer
+ - DoubleHolder
+ - DoubleSeqHelper
+ - DoubleSeqHolder
+ - DragGestureEvent
+ - DragGestureListener
+ - DragGestureRecognizer
+ - DragSource
+ - DragSourceAdapter
+ - DragSourceContext
+ - DragSourceDragEvent
+ - DragSourceDropEvent
+ - DragSourceEvent
+ - DragSourceListener
+ - DragSourceMotionListener
+ - Driver
+ - DriverManager
+ - DriverPropertyInfo
+ - DropTarget
+ - DropTarget.DropTargetAutoScroller
+ - DropTargetAdapter
+ - DropTargetContext
+ - DropTargetDragEvent
+ - DropTargetDropEvent
+ - DropTargetEvent
+ - DropTargetListener
+ - DuplicateFormatFlagsException
+ - DuplicateName
+ - DuplicateNameHelper
+ - Duration
+ - DynAny
+ - DynAny
+ - DynAnyFactory
+ - DynAnyFactoryHelper
+ - DynAnyFactoryOperations
+ - DynAnyHelper
+ - DynAnyOperations
+ - DynAnySeqHelper
+ - DynArray
+ - DynArray
+ - DynArrayHelper
+ - DynArrayOperations
+ - DynEnum
+ - DynEnum
+ - DynEnumHelper
+ - DynEnumOperations
+ - DynFixed
+ - DynFixed
+ - DynFixedHelper
+ - DynFixedOperations
+ - DynSequence
+ - DynSequence
+ - DynSequenceHelper
+ - DynSequenceOperations
+ - DynStruct
+ - DynStruct
+ - DynStructHelper
+ - DynStructOperations
+ - DynUnion
+ - DynUnion
+ - DynUnionHelper
+ - DynUnionOperations
+ - DynValue
+ - DynValue
+ - DynValueBox
+ - DynValueBoxOperations
+ - DynValueCommon
+ - DynValueCommonOperations
+ - DynValueHelper
+ - DynValueOperations
+ - DynamicImplementation
+ - DynamicImplementation
+ - DynamicMBean
+ - ECField
+ - ECFieldF2m
+ - ECFieldFp
+ - ECGenParameterSpec
+ - ECKey
+ - ECParameterSpec
+ - ECPoint
+ - ECPrivateKey
+ - ECPrivateKeySpec
+ - ECPublicKey
+ - ECPublicKeySpec
+ - ENCODING_CDR_ENCAPS
+ - EOFException
+ - EditorKit
+ - Element
+ - Element
+ - Element
+ - ElementIterator
+ - ElementType
+ - Ellipse2D
+ - Ellipse2D.Double
+ - Ellipse2D.Float
+ - EllipticCurve
+ - EmptyBorder
+ - EmptyStackException
+ - EncodedKeySpec
+ - Encoder
+ - Encoding
+ - EncryptedPrivateKeyInfo
+ - Entity
+ - Entity
+ - EntityReference
+ - EntityResolver
+ - EntityResolver2
+ - Enum
+ - EnumConstantNotPresentException
+ - EnumControl
+ - EnumControl.Type
+ - EnumMap
+ - EnumSet
+ - EnumSyntax
+ - Enumeration
+ - Environment
+ - Error
+ - ErrorHandler
+ - ErrorListener
+ - ErrorManager
+ - EtchedBorder
+ - Event
+ - EventContext
+ - EventDirContext
+ - EventHandler
+ - EventListener
+ - EventListenerList
+ - EventListenerProxy
+ - EventObject
+ - EventQueue
+ - EventSetDescriptor
+ - Exception
+ - ExceptionDetailMessage
+ - ExceptionInInitializerError
+ - ExceptionList
+ - ExceptionListener
+ - Exchanger
+ - ExecutionException
+ - Executor
+ - ExecutorCompletionService
+ - ExecutorService
+ - Executors
+ - ExemptionMechanism
+ - ExemptionMechanismException
+ - ExemptionMechanismSpi
+ - ExpandVetoException
+ - ExportException
+ - Expression
+ - ExtendedRequest
+ - ExtendedResponse
+ - Externalizable
+ - FREE_MEM
+ - FactoryConfigurationError
+ - FailedLoginException
+ - FeatureDescriptor
+ - Fidelity
+ - Field
+ - FieldNameHelper
+ - FieldNameHelper
+ - FieldPosition
+ - FieldView
+ - File
+ - FileCacheImageInputStream
+ - FileCacheImageOutputStream
+ - FileChannel
+ - FileChannel.MapMode
+ - FileChooserUI
+ - FileDescriptor
+ - FileDialog
+ - FileFilter
+ - FileFilter
+ - FileHandler
+ - FileImageInputStream
+ - FileImageOutputStream
+ - FileInputStream
+ - FileLock
+ - FileLockInterruptionException
+ - FileNameMap
+ - FileNotFoundException
+ - FileOutputStream
+ - FilePermission
+ - FileReader
+ - FileSystemView
+ - FileView
+ - FileWriter
+ - FilenameFilter
+ - Filter
+ - FilterInputStream
+ - FilterOutputStream
+ - FilterReader
+ - FilterWriter
+ - FilteredImageSource
+ - FilteredRowSet
+ - Finishings
+ - FixedHeightLayoutCache
+ - FixedHolder
+ - FlatteningPathIterator
+ - FlavorEvent
+ - FlavorException
+ - FlavorListener
+ - FlavorMap
+ - FlavorTable
+ - Float
+ - FloatBuffer
+ - FloatControl
+ - FloatControl.Type
+ - FloatHolder
+ - FloatSeqHelper
+ - FloatSeqHolder
+ - FlowLayout
+ - FlowView
+ - FlowView.FlowStrategy
+ - Flushable
+ - FocusAdapter
+ - FocusEvent
+ - FocusListener
+ - FocusManager
+ - FocusTraversalPolicy
+ - Font
+ - FontFormatException
+ - FontMetrics
+ - FontRenderContext
+ - FontUIResource
+ - FormSubmitEvent
+ - FormSubmitEvent.MethodType
+ - FormView
+ - Format
+ - Format.Field
+ - FormatConversionProvider
+ - FormatFlagsConversionMismatchException
+ - FormatMismatch
+ - FormatMismatchHelper
+ - Formattable
+ - FormattableFlags
+ - Formatter
+ - Formatter
+ - FormatterClosedException
+ - ForwardRequest
+ - ForwardRequest
+ - ForwardRequestHelper
+ - ForwardRequestHelper
+ - Frame
+ - Future
+ - FutureTask
+ - GSSContext
+ - GSSCredential
+ - GSSException
+ - GSSManager
+ - GSSName
+ - GZIPInputStream
+ - GZIPOutputStream
+ - GapContent
+ - GarbageCollectorMXBean
+ - GatheringByteChannel
+ - GaugeMonitor
+ - GaugeMonitorMBean
+ - GeneralPath
+ - GeneralSecurityException
+ - GenericArrayType
+ - GenericDeclaration
+ - GenericSignatureFormatError
+ - GlyphJustificationInfo
+ - GlyphMetrics
+ - GlyphVector
+ - GlyphView
+ - GlyphView.GlyphPainter
+ - GradientPaint
+ - GraphicAttribute
+ - Graphics
+ - Graphics2D
+ - GraphicsConfigTemplate
+ - GraphicsConfiguration
+ - GraphicsDevice
+ - GraphicsEnvironment
+ - GrayFilter
+ - GregorianCalendar
+ - GridBagConstraints
+ - GridBagLayout
+ - GridLayout
+ - Group
+ - Guard
+ - GuardedObject
+ - HOLDING
+ - HTML
+ - HTML.Attribute
+ - HTML.Tag
+ - HTML.UnknownTag
+ - HTMLDocument
+ - HTMLDocument.Iterator
+ - HTMLEditorKit
+ - HTMLEditorKit.HTMLFactory
+ - HTMLEditorKit.HTMLTextAction
+ - HTMLEditorKit.InsertHTMLTextAction
+ - HTMLEditorKit.LinkController
+ - HTMLEditorKit.Parser
+ - HTMLEditorKit.ParserCallback
+ - HTMLFrameHyperlinkEvent
+ - HTMLWriter
+ - Handler
+ - HandlerBase
+ - HandshakeCompletedEvent
+ - HandshakeCompletedListener
+ - HasControls
+ - HashAttributeSet
+ - HashDocAttributeSet
+ - HashMap
+ - HashPrintJobAttributeSet
+ - HashPrintRequestAttributeSet
+ - HashPrintServiceAttributeSet
+ - HashSet
+ - Hashtable
+ - HeadlessException
+ - HierarchyBoundsAdapter
+ - HierarchyBoundsListener
+ - HierarchyEvent
+ - HierarchyListener
+ - Highlighter
+ - Highlighter.Highlight
+ - Highlighter.HighlightPainter
+ - HostnameVerifier
+ - HttpRetryException
+ - HttpURLConnection
+ - HttpsURLConnection
+ - HyperlinkEvent
+ - HyperlinkEvent.EventType
+ - HyperlinkListener
+ - ICC_ColorSpace
+ - ICC_Profile
+ - ICC_ProfileGray
+ - ICC_ProfileRGB
+ - IDLEntity
+ - IDLType
+ - IDLTypeHelper
+ - IDLTypeOperations
+ - ID_ASSIGNMENT_POLICY_ID
+ - ID_UNIQUENESS_POLICY_ID
+ - IIOByteBuffer
+ - IIOException
+ - IIOImage
+ - IIOInvalidTreeException
+ - IIOMetadata
+ - IIOMetadataController
+ - IIOMetadataFormat
+ - IIOMetadataFormatImpl
+ - IIOMetadataNode
+ - IIOParam
+ - IIOParamController
+ - IIOReadProgressListener
+ - IIOReadUpdateListener
+ - IIOReadWarningListener
+ - IIORegistry
+ - IIOServiceProvider
+ - IIOWriteProgressListener
+ - IIOWriteWarningListener
+ - IMPLICIT_ACTIVATION_POLICY_ID
+ - IMP_LIMIT
+ - INACTIVE
+ - INITIALIZE
+ - INTERNAL
+ - INTF_REPOS
+ - INVALID_ACTIVITY
+ - INVALID_TRANSACTION
+ - INV_FLAG
+ - INV_IDENT
+ - INV_OBJREF
+ - INV_POLICY
+ - IOException
+ - IOR
+ - IORHelper
+ - IORHolder
+ - IORInfo
+ - IORInfoOperations
+ - IORInterceptor
+ - IORInterceptorOperations
+ - IORInterceptor_3_0
+ - IORInterceptor_3_0Helper
+ - IORInterceptor_3_0Holder
+ - IORInterceptor_3_0Operations
+ - IRObject
+ - IRObjectOperations
+ - Icon
+ - IconUIResource
+ - IconView
+ - IdAssignmentPolicy
+ - IdAssignmentPolicyOperations
+ - IdAssignmentPolicyValue
+ - IdUniquenessPolicy
+ - IdUniquenessPolicyOperations
+ - IdUniquenessPolicyValue
+ - IdentifierHelper
+ - Identity
+ - IdentityHashMap
+ - IdentityScope
+ - IllegalAccessError
+ - IllegalAccessException
+ - IllegalArgumentException
+ - IllegalBlockSizeException
+ - IllegalBlockingModeException
+ - IllegalCharsetNameException
+ - IllegalClassFormatException
+ - IllegalComponentStateException
+ - IllegalFormatCodePointException
+ - IllegalFormatConversionException
+ - IllegalFormatException
+ - IllegalFormatFlagsException
+ - IllegalFormatPrecisionException
+ - IllegalFormatWidthException
+ - IllegalMonitorStateException
+ - IllegalPathStateException
+ - IllegalSelectorException
+ - IllegalStateException
+ - IllegalThreadStateException
+ - Image
+ - ImageCapabilities
+ - ImageConsumer
+ - ImageFilter
+ - ImageGraphicAttribute
+ - ImageIO
+ - ImageIcon
+ - ImageInputStream
+ - ImageInputStreamImpl
+ - ImageInputStreamSpi
+ - ImageObserver
+ - ImageOutputStream
+ - ImageOutputStreamImpl
+ - ImageOutputStreamSpi
+ - ImageProducer
+ - ImageReadParam
+ - ImageReader
+ - ImageReaderSpi
+ - ImageReaderWriterSpi
+ - ImageTranscoder
+ - ImageTranscoderSpi
+ - ImageTypeSpecifier
+ - ImageView
+ - ImageWriteParam
+ - ImageWriter
+ - ImageWriterSpi
+ - ImagingOpException
+ - ImplicitActivationPolicy
+ - ImplicitActivationPolicyOperations
+ - ImplicitActivationPolicyValue
+ - IncompatibleClassChangeError
+ - IncompleteAnnotationException
+ - InconsistentTypeCode
+ - InconsistentTypeCode
+ - InconsistentTypeCodeHelper
+ - IndexColorModel
+ - IndexOutOfBoundsException
+ - IndexedPropertyChangeEvent
+ - IndexedPropertyDescriptor
+ - IndirectionException
+ - Inet4Address
+ - Inet6Address
+ - InetAddress
+ - InetSocketAddress
+ - Inflater
+ - InflaterInputStream
+ - InheritableThreadLocal
+ - Inherited
+ - InitialContext
+ - InitialContextFactory
+ - InitialContextFactoryBuilder
+ - InitialDirContext
+ - InitialLdapContext
+ - InlineView
+ - InputContext
+ - InputEvent
+ - InputMap
+ - InputMapUIResource
+ - InputMethod
+ - InputMethodContext
+ - InputMethodDescriptor
+ - InputMethodEvent
+ - InputMethodHighlight
+ - InputMethodListener
+ - InputMethodRequests
+ - InputMismatchException
+ - InputSource
+ - InputStream
+ - InputStream
+ - InputStream
+ - InputStreamReader
+ - InputSubset
+ - InputVerifier
+ - Insets
+ - InsetsUIResource
+ - InstanceAlreadyExistsException
+ - InstanceNotFoundException
+ - InstantiationError
+ - InstantiationException
+ - Instrument
+ - Instrumentation
+ - InsufficientResourcesException
+ - IntBuffer
+ - IntHolder
+ - Integer
+ - IntegerSyntax
+ - Interceptor
+ - InterceptorOperations
+ - InternalError
+ - InternalFrameAdapter
+ - InternalFrameEvent
+ - InternalFrameFocusTraversalPolicy
+ - InternalFrameListener
+ - InternalFrameUI
+ - InternationalFormatter
+ - InterruptedException
+ - InterruptedIOException
+ - InterruptedNamingException
+ - InterruptibleChannel
+ - IntrospectionException
+ - IntrospectionException
+ - Introspector
+ - Invalid
+ - InvalidActivityException
+ - InvalidAddress
+ - InvalidAddressHelper
+ - InvalidAddressHolder
+ - InvalidAlgorithmParameterException
+ - InvalidApplicationException
+ - InvalidAttributeIdentifierException
+ - InvalidAttributeValueException
+ - InvalidAttributeValueException
+ - InvalidAttributesException
+ - InvalidClassException
+ - InvalidDnDOperationException
+ - InvalidKeyException
+ - InvalidKeyException
+ - InvalidKeySpecException
+ - InvalidMarkException
+ - InvalidMidiDataException
+ - InvalidName
+ - InvalidName
+ - InvalidName
+ - InvalidNameException
+ - InvalidNameHelper
+ - InvalidNameHelper
+ - InvalidNameHolder
+ - InvalidObjectException
+ - InvalidOpenTypeException
+ - InvalidParameterException
+ - InvalidParameterSpecException
+ - InvalidPolicy
+ - InvalidPolicyHelper
+ - InvalidPreferencesFormatException
+ - InvalidPropertiesFormatException
+ - InvalidRelationIdException
+ - InvalidRelationServiceException
+ - InvalidRelationTypeException
+ - InvalidRoleInfoException
+ - InvalidRoleValueException
+ - InvalidSearchControlsException
+ - InvalidSearchFilterException
+ - InvalidSeq
+ - InvalidSlot
+ - InvalidSlotHelper
+ - InvalidTargetObjectTypeException
+ - InvalidTransactionException
+ - InvalidTypeForEncoding
+ - InvalidTypeForEncodingHelper
+ - InvalidValue
+ - InvalidValue
+ - InvalidValueHelper
+ - InvocationEvent
+ - InvocationHandler
+ - InvocationTargetException
+ - InvokeHandler
+ - IstringHelper
+ - ItemEvent
+ - ItemListener
+ - ItemSelectable
+ - Iterable
+ - Iterator
+ - IvParameterSpec
+ - JApplet
+ - JButton
+ - JCheckBox
+ - JCheckBoxMenuItem
+ - JColorChooser
+ - JComboBox
+ - JComboBox.KeySelectionManager
+ - JComponent
+ - JDesktopPane
+ - JDialog
+ - JEditorPane
+ - JFileChooser
+ - JFormattedTextField
+ - JFormattedTextField.AbstractFormatter
+ - JFormattedTextField.AbstractFormatterFactory
+ - JFrame
+ - JInternalFrame
+ - JInternalFrame.JDesktopIcon
+ - JLabel
+ - JLayeredPane
+ - JList
+ - JMException
+ - JMRuntimeException
+ - JMXAuthenticator
+ - JMXConnectionNotification
+ - JMXConnector
+ - JMXConnectorFactory
+ - JMXConnectorProvider
+ - JMXConnectorServer
+ - JMXConnectorServerFactory
+ - JMXConnectorServerMBean
+ - JMXConnectorServerProvider
+ - JMXPrincipal
+ - JMXProviderException
+ - JMXServerErrorException
+ - JMXServiceURL
+ - JMenu
+ - JMenuBar
+ - JMenuItem
+ - JOptionPane
+ - JPEGHuffmanTable
+ - JPEGImageReadParam
+ - JPEGImageWriteParam
+ - JPEGQTable
+ - JPanel
+ - JPasswordField
+ - JPopupMenu
+ - JPopupMenu.Separator
+ - JProgressBar
+ - JRadioButton
+ - JRadioButtonMenuItem
+ - JRootPane
+ - JScrollBar
+ - JScrollPane
+ - JSeparator
+ - JSlider
+ - JSpinner
+ - JSpinner.DateEditor
+ - JSpinner.DefaultEditor
+ - JSpinner.ListEditor
+ - JSpinner.NumberEditor
+ - JSplitPane
+ - JTabbedPane
+ - JTable
+ - JTable.PrintMode
+ - JTableHeader
+ - JTextArea
+ - JTextComponent
+ - JTextComponent.KeyBinding
+ - JTextField
+ - JTextPane
+ - JToggleButton
+ - JToggleButton.ToggleButtonModel
+ - JToolBar
+ - JToolBar.Separator
+ - JToolTip
+ - JTree
+ - JTree.DynamicUtilTreeNode
+ - JTree.EmptySelectionModel
+ - JViewport
+ - JWindow
+ - JarEntry
+ - JarException
+ - JarFile
+ - JarInputStream
+ - JarOutputStream
+ - JarURLConnection
+ - JdbcRowSet
+ - JobAttributes
+ - JobAttributes.DefaultSelectionType
+ - JobAttributes.DestinationType
+ - JobAttributes.DialogType
+ - JobAttributes.MultipleDocumentHandlingType
+ - JobAttributes.SidesType
+ - JobHoldUntil
+ - JobImpressions
+ - JobImpressionsCompleted
+ - JobImpressionsSupported
+ - JobKOctets
+ - JobKOctetsProcessed
+ - JobKOctetsSupported
+ - JobMediaSheets
+ - JobMediaSheetsCompleted
+ - JobMediaSheetsSupported
+ - JobMessageFromOperator
+ - JobName
+ - JobOriginatingUserName
+ - JobPriority
+ - JobPrioritySupported
+ - JobSheets
+ - JobState
+ - JobStateReason
+ - JobStateReasons
+ - JoinRowSet
+ - Joinable
+ - KerberosKey
+ - KerberosPrincipal
+ - KerberosTicket
+ - Kernel
+ - Key
+ - KeyAdapter
+ - KeyAgreement
+ - KeyAgreementSpi
+ - KeyAlreadyExistsException
+ - KeyEvent
+ - KeyEventDispatcher
+ - KeyEventPostProcessor
+ - KeyException
+ - KeyFactory
+ - KeyFactorySpi
+ - KeyGenerator
+ - KeyGeneratorSpi
+ - KeyListener
+ - KeyManagementException
+ - KeyManager
+ - KeyManagerFactory
+ - KeyManagerFactorySpi
+ - KeyPair
+ - KeyPairGenerator
+ - KeyPairGeneratorSpi
+ - KeyRep
+ - KeyRep.Type
+ - KeySpec
+ - KeyStore
+ - KeyStore.Builder
+ - KeyStore.CallbackHandlerProtection
+ - KeyStore.Entry
+ - KeyStore.LoadStoreParameter
+ - KeyStore.PasswordProtection
+ - KeyStore.PrivateKeyEntry
+ - KeyStore.ProtectionParameter
+ - KeyStore.SecretKeyEntry
+ - KeyStore.TrustedCertificateEntry
+ - KeyStoreBuilderParameters
+ - KeyStoreException
+ - KeyStoreSpi
+ - KeyStroke
+ - KeyboardFocusManager
+ - Keymap
+ - LDAPCertStoreParameters
+ - LIFESPAN_POLICY_ID
+ - LOCATION_FORWARD
+ - LSException
+ - LSInput
+ - LSLoadEvent
+ - LSOutput
+ - LSParser
+ - LSParserFilter
+ - LSProgressEvent
+ - LSResourceResolver
+ - LSSerializer
+ - LSSerializerFilter
+ - Label
+ - LabelUI
+ - LabelView
+ - LanguageCallback
+ - LastOwnerException
+ - LayeredHighlighter
+ - LayeredHighlighter.LayerPainter
+ - LayoutFocusTraversalPolicy
+ - LayoutManager
+ - LayoutManager2
+ - LayoutQueue
+ - LdapContext
+ - LdapName
+ - LdapReferralException
+ - Lease
+ - Level
+ - LexicalHandler
+ - LifespanPolicy
+ - LifespanPolicyOperations
+ - LifespanPolicyValue
+ - LimitExceededException
+ - Line
+ - Line.Info
+ - Line2D
+ - Line2D.Double
+ - Line2D.Float
+ - LineBorder
+ - LineBreakMeasurer
+ - LineEvent
+ - LineEvent.Type
+ - LineListener
+ - LineMetrics
+ - LineNumberInputStream
+ - LineNumberReader
+ - LineUnavailableException
+ - LinkException
+ - LinkLoopException
+ - LinkRef
+ - LinkageError
+ - LinkedBlockingQueue
+ - LinkedHashMap
+ - LinkedHashSet
+ - LinkedList
+ - List
+ - List
+ - ListCellRenderer
+ - ListDataEvent
+ - ListDataListener
+ - ListIterator
+ - ListModel
+ - ListResourceBundle
+ - ListSelectionEvent
+ - ListSelectionListener
+ - ListSelectionModel
+ - ListUI
+ - ListView
+ - ListenerNotFoundException
+ - LoaderHandler
+ - LocalObject
+ - Locale
+ - LocateRegistry
+ - Locator
+ - Locator2
+ - Locator2Impl
+ - LocatorImpl
+ - Lock
+ - LockSupport
+ - LogManager
+ - LogRecord
+ - LogStream
+ - Logger
+ - LoggingMXBean
+ - LoggingPermission
+ - LoginContext
+ - LoginException
+ - LoginModule
+ - Long
+ - LongBuffer
+ - LongHolder
+ - LongLongSeqHelper
+ - LongLongSeqHolder
+ - LongSeqHelper
+ - LongSeqHolder
+ - LookAndFeel
+ - LookupOp
+ - LookupTable
+ - MARSHAL
+ - MBeanAttributeInfo
+ - MBeanConstructorInfo
+ - MBeanException
+ - MBeanFeatureInfo
+ - MBeanInfo
+ - MBeanNotificationInfo
+ - MBeanOperationInfo
+ - MBeanParameterInfo
+ - MBeanPermission
+ - MBeanRegistration
+ - MBeanRegistrationException
+ - MBeanServer
+ - MBeanServerBuilder
+ - MBeanServerConnection
+ - MBeanServerDelegate
+ - MBeanServerDelegateMBean
+ - MBeanServerFactory
+ - MBeanServerForwarder
+ - MBeanServerInvocationHandler
+ - MBeanServerNotification
+ - MBeanServerNotificationFilter
+ - MBeanServerPermission
+ - MBeanTrustPermission
+ - MGF1ParameterSpec
+ - MLet
+ - MLetMBean
+ - Mac
+ - MacSpi
+ - MalformedInputException
+ - MalformedLinkException
+ - MalformedObjectNameException
+ - MalformedParameterizedTypeException
+ - MalformedURLException
+ - ManageReferralControl
+ - ManagementFactory
+ - ManagementPermission
+ - ManagerFactoryParameters
+ - Manifest
+ - Map
+ - Map.Entry
+ - MappedByteBuffer
+ - MarshalException
+ - MarshalledObject
+ - MaskFormatter
+ - MatchResult
+ - Matcher
+ - Math
+ - MathContext
+ - MatteBorder
+ - Media
+ - MediaName
+ - MediaPrintableArea
+ - MediaSize
+ - MediaSize.Engineering
+ - MediaSize.ISO
+ - MediaSize.JIS
+ - MediaSize.NA
+ - MediaSize.Other
+ - MediaSizeName
+ - MediaTracker
+ - MediaTray
+ - Member
+ - MemoryCacheImageInputStream
+ - MemoryCacheImageOutputStream
+ - MemoryHandler
+ - MemoryImageSource
+ - MemoryMXBean
+ - MemoryManagerMXBean
+ - MemoryNotificationInfo
+ - MemoryPoolMXBean
+ - MemoryType
+ - MemoryUsage
+ - Menu
+ - MenuBar
+ - MenuBarUI
+ - MenuComponent
+ - MenuContainer
+ - MenuDragMouseEvent
+ - MenuDragMouseListener
+ - MenuElement
+ - MenuEvent
+ - MenuItem
+ - MenuItemUI
+ - MenuKeyEvent
+ - MenuKeyListener
+ - MenuListener
+ - MenuSelectionManager
+ - MenuShortcut
+ - MessageDigest
+ - MessageDigestSpi
+ - MessageFormat
+ - MessageFormat.Field
+ - MessageProp
+ - MetaEventListener
+ - MetaMessage
+ - MetalBorders
+ - MetalBorders.ButtonBorder
+ - MetalBorders.Flush3DBorder
+ - MetalBorders.InternalFrameBorder
+ - MetalBorders.MenuBarBorder
+ - MetalBorders.MenuItemBorder
+ - MetalBorders.OptionDialogBorder
+ - MetalBorders.PaletteBorder
+ - MetalBorders.PopupMenuBorder
+ - MetalBorders.RolloverButtonBorder
+ - MetalBorders.ScrollPaneBorder
+ - MetalBorders.TableHeaderBorder
+ - MetalBorders.TextFieldBorder
+ - MetalBorders.ToggleButtonBorder
+ - MetalBorders.ToolBarBorder
+ - MetalButtonUI
+ - MetalCheckBoxIcon
+ - MetalCheckBoxUI
+ - MetalComboBoxButton
+ - MetalComboBoxEditor
+ - MetalComboBoxEditor.UIResource
+ - MetalComboBoxIcon
+ - MetalComboBoxUI
+ - MetalDesktopIconUI
+ - MetalFileChooserUI
+ - MetalIconFactory
+ - MetalIconFactory.FileIcon16
+ - MetalIconFactory.FolderIcon16
+ - MetalIconFactory.PaletteCloseIcon
+ - MetalIconFactory.TreeControlIcon
+ - MetalIconFactory.TreeFolderIcon
+ - MetalIconFactory.TreeLeafIcon
+ - MetalInternalFrameTitlePane
+ - MetalInternalFrameUI
+ - MetalLabelUI
+ - MetalLookAndFeel
+ - MetalMenuBarUI
+ - MetalPopupMenuSeparatorUI
+ - MetalProgressBarUI
+ - MetalRadioButtonUI
+ - MetalRootPaneUI
+ - MetalScrollBarUI
+ - MetalScrollButton
+ - MetalScrollPaneUI
+ - MetalSeparatorUI
+ - MetalSliderUI
+ - MetalSplitPaneUI
+ - MetalTabbedPaneUI
+ - MetalTextFieldUI
+ - MetalTheme
+ - MetalToggleButtonUI
+ - MetalToolBarUI
+ - MetalToolTipUI
+ - MetalTreeUI
+ - Method
+ - MethodDescriptor
+ - MidiChannel
+ - MidiDevice
+ - MidiDevice.Info
+ - MidiDeviceProvider
+ - MidiEvent
+ - MidiFileFormat
+ - MidiFileReader
+ - MidiFileWriter
+ - MidiMessage
+ - MidiSystem
+ - MidiUnavailableException
+ - MimeTypeParseException
+ - MinimalHTMLWriter
+ - MissingFormatArgumentException
+ - MissingFormatWidthException
+ - MissingResourceException
+ - Mixer
+ - Mixer.Info
+ - MixerProvider
+ - ModelMBean
+ - ModelMBeanAttributeInfo
+ - ModelMBeanConstructorInfo
+ - ModelMBeanInfo
+ - ModelMBeanInfoSupport
+ - ModelMBeanNotificationBroadcaster
+ - ModelMBeanNotificationInfo
+ - ModelMBeanOperationInfo
+ - ModificationItem
+ - Modifier
+ - Monitor
+ - MonitorMBean
+ - MonitorNotification
+ - MonitorSettingException
+ - MouseAdapter
+ - MouseDragGestureRecognizer
+ - MouseEvent
+ - MouseInfo
+ - MouseInputAdapter
+ - MouseInputListener
+ - MouseListener
+ - MouseMotionAdapter
+ - MouseMotionListener
+ - MouseWheelEvent
+ - MouseWheelListener
+ - MultiButtonUI
+ - MultiColorChooserUI
+ - MultiComboBoxUI
+ - MultiDesktopIconUI
+ - MultiDesktopPaneUI
+ - MultiDoc
+ - MultiDocPrintJob
+ - MultiDocPrintService
+ - MultiFileChooserUI
+ - MultiInternalFrameUI
+ - MultiLabelUI
+ - MultiListUI
+ - MultiLookAndFeel
+ - MultiMenuBarUI
+ - MultiMenuItemUI
+ - MultiOptionPaneUI
+ - MultiPanelUI
+ - MultiPixelPackedSampleModel
+ - MultiPopupMenuUI
+ - MultiProgressBarUI
+ - MultiRootPaneUI
+ - MultiScrollBarUI
+ - MultiScrollPaneUI
+ - MultiSeparatorUI
+ - MultiSliderUI
+ - MultiSpinnerUI
+ - MultiSplitPaneUI
+ - MultiTabbedPaneUI
+ - MultiTableHeaderUI
+ - MultiTableUI
+ - MultiTextUI
+ - MultiToolBarUI
+ - MultiToolTipUI
+ - MultiTreeUI
+ - MultiViewportUI
+ - MulticastSocket
+ - MultipleComponentProfileHelper
+ - MultipleComponentProfileHolder
+ - MultipleDocumentHandling
+ - MultipleMaster
+ - MutableAttributeSet
+ - MutableComboBoxModel
+ - MutableTreeNode
+ - NON_EXISTENT
+ - NO_IMPLEMENT
+ - NO_MEMORY
+ - NO_PERMISSION
+ - NO_RESOURCES
+ - NO_RESPONSE
+ - NVList
+ - Name
+ - NameAlreadyBoundException
+ - NameCallback
+ - NameClassPair
+ - NameComponent
+ - NameComponentHelper
+ - NameComponentHolder
+ - NameDynAnyPair
+ - NameDynAnyPairHelper
+ - NameDynAnyPairSeqHelper
+ - NameHelper
+ - NameHolder
+ - NameList
+ - NameNotFoundException
+ - NameParser
+ - NameValuePair
+ - NameValuePair
+ - NameValuePairHelper
+ - NameValuePairHelper
+ - NameValuePairSeqHelper
+ - NamedNodeMap
+ - NamedValue
+ - NamespaceChangeListener
+ - NamespaceContext
+ - NamespaceSupport
+ - Naming
+ - NamingContext
+ - NamingContextExt
+ - NamingContextExtHelper
+ - NamingContextExtHolder
+ - NamingContextExtOperations
+ - NamingContextExtPOA
+ - NamingContextHelper
+ - NamingContextHolder
+ - NamingContextOperations
+ - NamingContextPOA
+ - NamingEnumeration
+ - NamingEvent
+ - NamingException
+ - NamingExceptionEvent
+ - NamingListener
+ - NamingManager
+ - NamingSecurityException
+ - NavigationFilter
+ - NavigationFilter.FilterBypass
+ - NegativeArraySizeException
+ - NetPermission
+ - NetworkInterface
+ - NoClassDefFoundError
+ - NoConnectionPendingException
+ - NoContext
+ - NoContextHelper
+ - NoInitialContextException
+ - NoPermissionException
+ - NoRouteToHostException
+ - NoServant
+ - NoServantHelper
+ - NoSuchAlgorithmException
+ - NoSuchAttributeException
+ - NoSuchElementException
+ - NoSuchFieldError
+ - NoSuchFieldException
+ - NoSuchMethodError
+ - NoSuchMethodException
+ - NoSuchObjectException
+ - NoSuchPaddingException
+ - NoSuchProviderException
+ - Node
+ - NodeChangeEvent
+ - NodeChangeListener
+ - NodeList
+ - NonReadableChannelException
+ - NonWritableChannelException
+ - NoninvertibleTransformException
+ - NotActiveException
+ - NotBoundException
+ - NotCompliantMBeanException
+ - NotContextException
+ - NotEmpty
+ - NotEmptyHelper
+ - NotEmptyHolder
+ - NotFound
+ - NotFoundHelper
+ - NotFoundHolder
+ - NotFoundReason
+ - NotFoundReasonHelper
+ - NotFoundReasonHolder
+ - NotOwnerException
+ - NotSerializableException
+ - NotYetBoundException
+ - NotYetConnectedException
+ - Notation
+ - Notification
+ - NotificationBroadcaster
+ - NotificationBroadcasterSupport
+ - NotificationEmitter
+ - NotificationFilter
+ - NotificationFilterSupport
+ - NotificationListener
+ - NotificationResult
+ - NullCipher
+ - NullPointerException
+ - Number
+ - NumberFormat
+ - NumberFormat.Field
+ - NumberFormatException
+ - NumberFormatter
+ - NumberOfDocuments
+ - NumberOfInterveningJobs
+ - NumberUp
+ - NumberUpSupported
+ - NumericShaper
+ - OAEPParameterSpec
+ - OBJECT_NOT_EXIST
+ - OBJ_ADAPTER
+ - OMGVMCID
+ - ORB
+ - ORB
+ - ORBIdHelper
+ - ORBInitInfo
+ - ORBInitInfoOperations
+ - ORBInitializer
+ - ORBInitializerOperations
+ - ObjID
+ - Object
+ - Object
+ - ObjectAlreadyActive
+ - ObjectAlreadyActiveHelper
+ - ObjectChangeListener
+ - ObjectFactory
+ - ObjectFactoryBuilder
+ - ObjectHelper
+ - ObjectHolder
+ - ObjectIdHelper
+ - ObjectIdHelper
+ - ObjectImpl
+ - ObjectImpl
+ - ObjectInput
+ - ObjectInputStream
+ - ObjectInputStream.GetField
+ - ObjectInputValidation
+ - ObjectInstance
+ - ObjectName
+ - ObjectNotActive
+ - ObjectNotActiveHelper
+ - ObjectOutput
+ - ObjectOutputStream
+ - ObjectOutputStream.PutField
+ - ObjectReferenceFactory
+ - ObjectReferenceFactoryHelper
+ - ObjectReferenceFactoryHolder
+ - ObjectReferenceTemplate
+ - ObjectReferenceTemplateHelper
+ - ObjectReferenceTemplateHolder
+ - ObjectReferenceTemplateSeqHelper
+ - ObjectReferenceTemplateSeqHolder
+ - ObjectStreamClass
+ - ObjectStreamConstants
+ - ObjectStreamException
+ - ObjectStreamField
+ - ObjectView
+ - Observable
+ - Observer
+ - OceanTheme
+ - OctetSeqHelper
+ - OctetSeqHolder
+ - Oid
+ - OpenDataException
+ - OpenMBeanAttributeInfo
+ - OpenMBeanAttributeInfoSupport
+ - OpenMBeanConstructorInfo
+ - OpenMBeanConstructorInfoSupport
+ - OpenMBeanInfo
+ - OpenMBeanInfoSupport
+ - OpenMBeanOperationInfo
+ - OpenMBeanOperationInfoSupport
+ - OpenMBeanParameterInfo
+ - OpenMBeanParameterInfoSupport
+ - OpenType
+ - OpenType
+ - OperatingSystemMXBean
+ - Operation
+ - OperationNotSupportedException
+ - OperationsException
+ - Option
+ - OptionPaneUI
+ - OptionalDataException
+ - OrientationRequested
+ - OutOfMemoryError
+ - OutputDeviceAssigned
+ - OutputKeys
+ - OutputStream
+ - OutputStream
+ - OutputStream
+ - OutputStreamWriter
+ - OverlappingFileLockException
+ - OverlayLayout
+ - Override
+ - Owner
+ - PBEKey
+ - PBEKeySpec
+ - PBEParameterSpec
+ - PDLOverrideSupported
+ - PERSIST_STORE
+ - PKCS8EncodedKeySpec
+ - PKIXBuilderParameters
+ - PKIXCertPathBuilderResult
+ - PKIXCertPathChecker
+ - PKIXCertPathValidatorResult
+ - PKIXParameters
+ - POA
+ - POAHelper
+ - POAManager
+ - POAManagerOperations
+ - POAOperations
+ - PRIVATE_MEMBER
+ - PSSParameterSpec
+ - PSource
+ - PSource.PSpecified
+ - PUBLIC_MEMBER
+ - Pack200
+ - Pack200.Packer
+ - Pack200.Unpacker
+ - Package
+ - PackedColorModel
+ - PageAttributes
+ - PageAttributes.ColorType
+ - PageAttributes.MediaType
+ - PageAttributes.OrientationRequestedType
+ - PageAttributes.OriginType
+ - PageAttributes.PrintQualityType
+ - PageFormat
+ - PageRanges
+ - Pageable
+ - PagedResultsControl
+ - PagedResultsResponseControl
+ - PagesPerMinute
+ - PagesPerMinuteColor
+ - Paint
+ - PaintContext
+ - PaintEvent
+ - Panel
+ - PanelUI
+ - Paper
+ - ParagraphView
+ - ParagraphView
+ - Parameter
+ - ParameterBlock
+ - ParameterDescriptor
+ - ParameterMetaData
+ - ParameterMode
+ - ParameterModeHelper
+ - ParameterModeHolder
+ - ParameterizedType
+ - ParseException
+ - ParsePosition
+ - Parser
+ - Parser
+ - ParserAdapter
+ - ParserConfigurationException
+ - ParserDelegator
+ - ParserFactory
+ - PartialResultException
+ - PasswordAuthentication
+ - PasswordCallback
+ - PasswordView
+ - Patch
+ - PathIterator
+ - Pattern
+ - PatternSyntaxException
+ - Permission
+ - Permission
+ - PermissionCollection
+ - Permissions
+ - PersistenceDelegate
+ - PersistentMBean
+ - PhantomReference
+ - Pipe
+ - Pipe.SinkChannel
+ - Pipe.SourceChannel
+ - PipedInputStream
+ - PipedOutputStream
+ - PipedReader
+ - PipedWriter
+ - PixelGrabber
+ - PixelInterleavedSampleModel
+ - PlainDocument
+ - PlainView
+ - Point
+ - Point2D
+ - Point2D.Double
+ - Point2D.Float
+ - PointerInfo
+ - Policy
+ - Policy
+ - Policy
+ - PolicyError
+ - PolicyErrorCodeHelper
+ - PolicyErrorHelper
+ - PolicyErrorHolder
+ - PolicyFactory
+ - PolicyFactoryOperations
+ - PolicyHelper
+ - PolicyHolder
+ - PolicyListHelper
+ - PolicyListHolder
+ - PolicyNode
+ - PolicyOperations
+ - PolicyQualifierInfo
+ - PolicyTypeHelper
+ - Polygon
+ - PooledConnection
+ - Popup
+ - PopupFactory
+ - PopupMenu
+ - PopupMenuEvent
+ - PopupMenuListener
+ - PopupMenuUI
+ - Port
+ - Port.Info
+ - PortUnreachableException
+ - PortableRemoteObject
+ - PortableRemoteObjectDelegate
+ - Position
+ - Position.Bias
+ - Predicate
+ - PreferenceChangeEvent
+ - PreferenceChangeListener
+ - Preferences
+ - PreferencesFactory
+ - PreparedStatement
+ - PresentationDirection
+ - Principal
+ - Principal
+ - PrincipalHolder
+ - PrintEvent
+ - PrintException
+ - PrintGraphics
+ - PrintJob
+ - PrintJobAdapter
+ - PrintJobAttribute
+ - PrintJobAttributeEvent
+ - PrintJobAttributeListener
+ - PrintJobAttributeSet
+ - PrintJobEvent
+ - PrintJobListener
+ - PrintQuality
+ - PrintRequestAttribute
+ - PrintRequestAttributeSet
+ - PrintService
+ - PrintServiceAttribute
+ - PrintServiceAttributeEvent
+ - PrintServiceAttributeListener
+ - PrintServiceAttributeSet
+ - PrintServiceLookup
+ - PrintStream
+ - PrintWriter
+ - Printable
+ - PrinterAbortException
+ - PrinterException
+ - PrinterGraphics
+ - PrinterIOException
+ - PrinterInfo
+ - PrinterIsAcceptingJobs
+ - PrinterJob
+ - PrinterLocation
+ - PrinterMakeAndModel
+ - PrinterMessageFromOperator
+ - PrinterMoreInfo
+ - PrinterMoreInfoManufacturer
+ - PrinterName
+ - PrinterResolution
+ - PrinterState
+ - PrinterStateReason
+ - PrinterStateReasons
+ - PrinterURI
+ - PriorityBlockingQueue
+ - PriorityQueue
+ - PrivateClassLoader
+ - PrivateCredentialPermission
+ - PrivateKey
+ - PrivateMLet
+ - PrivilegedAction
+ - PrivilegedActionException
+ - PrivilegedExceptionAction
+ - Process
+ - ProcessBuilder
+ - ProcessingInstruction
+ - ProfileDataException
+ - ProfileIdHelper
+ - ProgressBarUI
+ - ProgressMonitor
+ - ProgressMonitorInputStream
+ - Properties
+ - PropertyChangeEvent
+ - PropertyChangeListener
+ - PropertyChangeListenerProxy
+ - PropertyChangeSupport
+ - PropertyDescriptor
+ - PropertyEditor
+ - PropertyEditorManager
+ - PropertyEditorSupport
+ - PropertyPermission
+ - PropertyResourceBundle
+ - PropertyVetoException
+ - ProtectionDomain
+ - ProtocolException
+ - Provider
+ - Provider.Service
+ - ProviderException
+ - Proxy
+ - Proxy
+ - Proxy.Type
+ - ProxySelector
+ - PublicKey
+ - PushbackInputStream
+ - PushbackReader
+ - QName
+ - QuadCurve2D
+ - QuadCurve2D.Double
+ - QuadCurve2D.Float
+ - Query
+ - QueryEval
+ - QueryExp
+ - Queue
+ - QueuedJobCount
+ - RC2ParameterSpec
+ - RC5ParameterSpec
+ - REBIND
+ - REQUEST_PROCESSING_POLICY_ID
+ - RGBImageFilter
+ - RMIClassLoader
+ - RMIClassLoaderSpi
+ - RMIClientSocketFactory
+ - RMIConnection
+ - RMIConnectionImpl
+ - RMIConnectionImpl_Stub
+ - RMIConnector
+ - RMIConnectorServer
+ - RMICustomMaxStreamFormat
+ - RMIFailureHandler
+ - RMIIIOPServerImpl
+ - RMIJRMPServerImpl
+ - RMISecurityException
+ - RMISecurityManager
+ - RMIServer
+ - RMIServerImpl
+ - RMIServerImpl_Stub
+ - RMIServerSocketFactory
+ - RMISocketFactory
+ - RSAKey
+ - RSAKeyGenParameterSpec
+ - RSAMultiPrimePrivateCrtKey
+ - RSAMultiPrimePrivateCrtKeySpec
+ - RSAOtherPrimeInfo
+ - RSAPrivateCrtKey
+ - RSAPrivateCrtKeySpec
+ - RSAPrivateKey
+ - RSAPrivateKeySpec
+ - RSAPublicKey
+ - RSAPublicKeySpec
+ - RTFEditorKit
+ - Random
+ - RandomAccess
+ - RandomAccessFile
+ - Raster
+ - RasterFormatException
+ - RasterOp
+ - Rdn
+ - ReadOnlyBufferException
+ - ReadWriteLock
+ - Readable
+ - ReadableByteChannel
+ - Reader
+ - RealmCallback
+ - RealmChoiceCallback
+ - Receiver
+ - Rectangle
+ - Rectangle2D
+ - Rectangle2D.Double
+ - Rectangle2D.Float
+ - RectangularShape
+ - ReentrantLock
+ - ReentrantReadWriteLock
+ - ReentrantReadWriteLock.ReadLock
+ - ReentrantReadWriteLock.WriteLock
+ - Ref
+ - RefAddr
+ - Reference
+ - Reference
+ - ReferenceQueue
+ - ReferenceUriSchemesSupported
+ - Referenceable
+ - ReferralException
+ - ReflectPermission
+ - ReflectionException
+ - RefreshFailedException
+ - Refreshable
+ - Region
+ - RegisterableService
+ - Registry
+ - RegistryHandler
+ - RejectedExecutionException
+ - RejectedExecutionHandler
+ - Relation
+ - RelationException
+ - RelationNotFoundException
+ - RelationNotification
+ - RelationService
+ - RelationServiceMBean
+ - RelationServiceNotRegisteredException
+ - RelationSupport
+ - RelationSupportMBean
+ - RelationType
+ - RelationTypeNotFoundException
+ - RelationTypeSupport
+ - RemarshalException
+ - Remote
+ - RemoteCall
+ - RemoteException
+ - RemoteObject
+ - RemoteObjectInvocationHandler
+ - RemoteRef
+ - RemoteServer
+ - RemoteStub
+ - RenderContext
+ - RenderableImage
+ - RenderableImageOp
+ - RenderableImageProducer
+ - RenderedImage
+ - RenderedImageFactory
+ - Renderer
+ - RenderingHints
+ - RenderingHints.Key
+ - RepaintManager
+ - ReplicateScaleFilter
+ - RepositoryIdHelper
+ - Request
+ - RequestInfo
+ - RequestInfoOperations
+ - RequestProcessingPolicy
+ - RequestProcessingPolicyOperations
+ - RequestProcessingPolicyValue
+ - RequestingUserName
+ - RequiredModelMBean
+ - RescaleOp
+ - ResolutionSyntax
+ - ResolveResult
+ - Resolver
+ - ResourceBundle
+ - ResponseCache
+ - ResponseHandler
+ - Result
+ - ResultSet
+ - ResultSetMetaData
+ - Retention
+ - RetentionPolicy
+ - ReverbType
+ - Robot
+ - Role
+ - RoleInfo
+ - RoleInfoNotFoundException
+ - RoleList
+ - RoleNotFoundException
+ - RoleResult
+ - RoleStatus
+ - RoleUnresolved
+ - RoleUnresolvedList
+ - RootPaneContainer
+ - RootPaneUI
+ - RoundRectangle2D
+ - RoundRectangle2D.Double
+ - RoundRectangle2D.Float
+ - RoundingMode
+ - RowMapper
+ - RowSet
+ - RowSetEvent
+ - RowSetInternal
+ - RowSetListener
+ - RowSetMetaData
+ - RowSetMetaDataImpl
+ - RowSetReader
+ - RowSetWarning
+ - RowSetWriter
+ - RuleBasedCollator
+ - RunTime
+ - RunTimeOperations
+ - Runnable
+ - Runtime
+ - RuntimeErrorException
+ - RuntimeException
+ - RuntimeMBeanException
+ - RuntimeMXBean
+ - RuntimeOperationsException
+ - RuntimePermission
+ - SAXException
+ - SAXNotRecognizedException
+ - SAXNotSupportedException
+ - SAXParseException
+ - SAXParser
+ - SAXParserFactory
+ - SAXResult
+ - SAXSource
+ - SAXTransformerFactory
+ - SERVANT_RETENTION_POLICY_ID
+ - SQLData
+ - SQLException
+ - SQLInput
+ - SQLInputImpl
+ - SQLOutput
+ - SQLOutputImpl
+ - SQLPermission
+ - SQLWarning
+ - SSLContext
+ - SSLContextSpi
+ - SSLEngine
+ - SSLEngineResult
+ - SSLEngineResult.HandshakeStatus
+ - SSLEngineResult.Status
+ - SSLException
+ - SSLHandshakeException
+ - SSLKeyException
+ - SSLPeerUnverifiedException
+ - SSLPermission
+ - SSLProtocolException
+ - SSLServerSocket
+ - SSLServerSocketFactory
+ - SSLSession
+ - SSLSessionBindingEvent
+ - SSLSessionBindingListener
+ - SSLSessionContext
+ - SSLSocket
+ - SSLSocketFactory
+ - SUCCESSFUL
+ - SYNC_WITH_TRANSPORT
+ - SYSTEM_EXCEPTION
+ - SampleModel
+ - Sasl
+ - SaslClient
+ - SaslClientFactory
+ - SaslException
+ - SaslServer
+ - SaslServerFactory
+ - Savepoint
+ - Scanner
+ - ScatteringByteChannel
+ - ScheduledExecutorService
+ - ScheduledFuture
+ - ScheduledThreadPoolExecutor
+ - Schema
+ - SchemaFactory
+ - SchemaFactoryLoader
+ - SchemaViolationException
+ - ScrollBarUI
+ - ScrollPane
+ - ScrollPaneAdjustable
+ - ScrollPaneConstants
+ - ScrollPaneLayout
+ - ScrollPaneLayout.UIResource
+ - ScrollPaneUI
+ - Scrollable
+ - Scrollbar
+ - SealedObject
+ - SearchControls
+ - SearchResult
+ - SecretKey
+ - SecretKeyFactory
+ - SecretKeyFactorySpi
+ - SecretKeySpec
+ - SecureCacheResponse
+ - SecureClassLoader
+ - SecureRandom
+ - SecureRandomSpi
+ - Security
+ - SecurityException
+ - SecurityManager
+ - SecurityPermission
+ - Segment
+ - SelectableChannel
+ - SelectionKey
+ - Selector
+ - SelectorProvider
+ - Semaphore
+ - SeparatorUI
+ - Sequence
+ - SequenceInputStream
+ - Sequencer
+ - Sequencer.SyncMode
+ - SerialArray
+ - SerialBlob
+ - SerialClob
+ - SerialDatalink
+ - SerialException
+ - SerialJavaObject
+ - SerialRef
+ - SerialStruct
+ - Serializable
+ - SerializablePermission
+ - Servant
+ - ServantActivator
+ - ServantActivatorHelper
+ - ServantActivatorOperations
+ - ServantActivatorPOA
+ - ServantAlreadyActive
+ - ServantAlreadyActiveHelper
+ - ServantLocator
+ - ServantLocatorHelper
+ - ServantLocatorOperations
+ - ServantLocatorPOA
+ - ServantManager
+ - ServantManagerOperations
+ - ServantNotActive
+ - ServantNotActiveHelper
+ - ServantObject
+ - ServantRetentionPolicy
+ - ServantRetentionPolicyOperations
+ - ServantRetentionPolicyValue
+ - ServerCloneException
+ - ServerError
+ - ServerException
+ - ServerIdHelper
+ - ServerNotActiveException
+ - ServerRef
+ - ServerRequest
+ - ServerRequestInfo
+ - ServerRequestInfoOperations
+ - ServerRequestInterceptor
+ - ServerRequestInterceptorOperations
+ - ServerRuntimeException
+ - ServerSocket
+ - ServerSocketChannel
+ - ServerSocketFactory
+ - ServiceContext
+ - ServiceContextHelper
+ - ServiceContextHolder
+ - ServiceContextListHelper
+ - ServiceContextListHolder
+ - ServiceDetail
+ - ServiceDetailHelper
+ - ServiceIdHelper
+ - ServiceInformation
+ - ServiceInformationHelper
+ - ServiceInformationHolder
+ - ServiceNotFoundException
+ - ServicePermission
+ - ServiceRegistry
+ - ServiceRegistry.Filter
+ - ServiceUI
+ - ServiceUIFactory
+ - ServiceUnavailableException
+ - Set
+ - SetOfIntegerSyntax
+ - SetOverrideType
+ - SetOverrideTypeHelper
+ - Severity
+ - Shape
+ - ShapeGraphicAttribute
+ - SheetCollate
+ - Short
+ - ShortBuffer
+ - ShortBufferException
+ - ShortHolder
+ - ShortLookupTable
+ - ShortMessage
+ - ShortSeqHelper
+ - ShortSeqHolder
+ - Sides
+ - Signature
+ - SignatureException
+ - SignatureSpi
+ - SignedObject
+ - Signer
+ - SimpleAttributeSet
+ - SimpleBeanInfo
+ - SimpleDateFormat
+ - SimpleDoc
+ - SimpleFormatter
+ - SimpleTimeZone
+ - SimpleType
+ - SinglePixelPackedSampleModel
+ - SingleSelectionModel
+ - Size2DSyntax
+ - SizeLimitExceededException
+ - SizeRequirements
+ - SizeSequence
+ - Skeleton
+ - SkeletonMismatchException
+ - SkeletonNotFoundException
+ - SliderUI
+ - Socket
+ - SocketAddress
+ - SocketChannel
+ - SocketException
+ - SocketFactory
+ - SocketHandler
+ - SocketImpl
+ - SocketImplFactory
+ - SocketOptions
+ - SocketPermission
+ - SocketSecurityException
+ - SocketTimeoutException
+ - SoftBevelBorder
+ - SoftReference
+ - SortControl
+ - SortKey
+ - SortResponseControl
+ - SortedMap
+ - SortedSet
+ - SortingFocusTraversalPolicy
+ - Soundbank
+ - SoundbankReader
+ - SoundbankResource
+ - Source
+ - SourceDataLine
+ - SourceLocator
+ - SpinnerDateModel
+ - SpinnerListModel
+ - SpinnerModel
+ - SpinnerNumberModel
+ - SpinnerUI
+ - SplitPaneUI
+ - Spring
+ - SpringLayout
+ - SpringLayout.Constraints
+ - SslRMIClientSocketFactory
+ - SslRMIServerSocketFactory
+ - Stack
+ - StackOverflowError
+ - StackTraceElement
+ - StandardMBean
+ - StartTlsRequest
+ - StartTlsResponse
+ - State
+ - StateEdit
+ - StateEditable
+ - StateFactory
+ - Statement
+ - Statement
+ - StreamCorruptedException
+ - StreamHandler
+ - StreamPrintService
+ - StreamPrintServiceFactory
+ - StreamResult
+ - StreamSource
+ - StreamTokenizer
+ - Streamable
+ - StreamableValue
+ - StrictMath
+ - String
+ - StringBuffer
+ - StringBufferInputStream
+ - StringBuilder
+ - StringCharacterIterator
+ - StringContent
+ - StringHolder
+ - StringIndexOutOfBoundsException
+ - StringMonitor
+ - StringMonitorMBean
+ - StringNameHelper
+ - StringReader
+ - StringRefAddr
+ - StringSelection
+ - StringSeqHelper
+ - StringSeqHolder
+ - StringTokenizer
+ - StringValueExp
+ - StringValueHelper
+ - StringWriter
+ - Stroke
+ - Struct
+ - StructMember
+ - StructMemberHelper
+ - Stub
+ - StubDelegate
+ - StubNotFoundException
+ - Style
+ - StyleConstants
+ - StyleConstants.CharacterConstants
+ - StyleConstants.ColorConstants
+ - StyleConstants.FontConstants
+ - StyleConstants.ParagraphConstants
+ - StyleContext
+ - StyleSheet
+ - StyleSheet.BoxPainter
+ - StyleSheet.ListPainter
+ - StyledDocument
+ - StyledEditorKit
+ - StyledEditorKit.AlignmentAction
+ - StyledEditorKit.BoldAction
+ - StyledEditorKit.FontFamilyAction
+ - StyledEditorKit.FontSizeAction
+ - StyledEditorKit.ForegroundAction
+ - StyledEditorKit.ItalicAction
+ - StyledEditorKit.StyledTextAction
+ - StyledEditorKit.UnderlineAction
+ - Subject
+ - SubjectDelegationPermission
+ - SubjectDomainCombiner
+ - SupportedValuesAttribute
+ - SuppressWarnings
+ - SwingConstants
+ - SwingPropertyChangeSupport
+ - SwingUtilities
+ - SyncFactory
+ - SyncFactoryException
+ - SyncFailedException
+ - SyncProvider
+ - SyncProviderException
+ - SyncResolver
+ - SyncScopeHelper
+ - SynchronousQueue
+ - SynthConstants
+ - SynthContext
+ - SynthGraphicsUtils
+ - SynthLookAndFeel
+ - SynthPainter
+ - SynthStyle
+ - SynthStyleFactory
+ - Synthesizer
+ - SysexMessage
+ - System
+ - SystemColor
+ - SystemException
+ - SystemFlavorMap
+ - TAG_ALTERNATE_IIOP_ADDRESS
+ - TAG_CODE_SETS
+ - TAG_INTERNET_IOP
+ - TAG_JAVA_CODEBASE
+ - TAG_MULTIPLE_COMPONENTS
+ - TAG_ORB_TYPE
+ - TAG_POLICIES
+ - TAG_RMI_CUSTOM_MAX_STREAM_FORMAT
+ - TCKind
+ - THREAD_POLICY_ID
+ - TIMEOUT
+ - TRANSACTION_MODE
+ - TRANSACTION_REQUIRED
+ - TRANSACTION_ROLLEDBACK
+ - TRANSACTION_UNAVAILABLE
+ - TRANSIENT
+ - TRANSPORT_RETRY
+ - TabExpander
+ - TabSet
+ - TabStop
+ - TabableView
+ - TabbedPaneUI
+ - TableCellEditor
+ - TableCellRenderer
+ - TableColumn
+ - TableColumnModel
+ - TableColumnModelEvent
+ - TableColumnModelListener
+ - TableHeaderUI
+ - TableModel
+ - TableModelEvent
+ - TableModelListener
+ - TableUI
+ - TableView
+ - TabularData
+ - TabularDataSupport
+ - TabularType
+ - TagElement
+ - TaggedComponent
+ - TaggedComponentHelper
+ - TaggedComponentHolder
+ - TaggedProfile
+ - TaggedProfileHelper
+ - TaggedProfileHolder
+ - Target
+ - TargetDataLine
+ - TargetedNotification
+ - Templates
+ - TemplatesHandler
+ - Text
+ - TextAction
+ - TextArea
+ - TextAttribute
+ - TextComponent
+ - TextEvent
+ - TextField
+ - TextHitInfo
+ - TextInputCallback
+ - TextLayout
+ - TextLayout.CaretPolicy
+ - TextListener
+ - TextMeasurer
+ - TextOutputCallback
+ - TextSyntax
+ - TextUI
+ - TexturePaint
+ - Thread
+ - Thread.State
+ - Thread.UncaughtExceptionHandler
+ - ThreadDeath
+ - ThreadFactory
+ - ThreadGroup
+ - ThreadInfo
+ - ThreadLocal
+ - ThreadMXBean
+ - ThreadPolicy
+ - ThreadPolicyOperations
+ - ThreadPolicyValue
+ - ThreadPoolExecutor
+ - ThreadPoolExecutor.AbortPolicy
+ - ThreadPoolExecutor.CallerRunsPolicy
+ - ThreadPoolExecutor.DiscardOldestPolicy
+ - ThreadPoolExecutor.DiscardPolicy
+ - Throwable
+ - Tie
+ - TileObserver
+ - Time
+ - TimeLimitExceededException
+ - TimeUnit
+ - TimeZone
+ - TimeoutException
+ - Timer
+ - Timer
+ - Timer
+ - TimerAlarmClockNotification
+ - TimerMBean
+ - TimerNotification
+ - TimerTask
+ - Timestamp
+ - Timestamp
+ - TitledBorder
+ - TooManyListenersException
+ - ToolBarUI
+ - ToolTipManager
+ - ToolTipUI
+ - Toolkit
+ - Track
+ - TransactionRequiredException
+ - TransactionRolledbackException
+ - TransactionService
+ - TransactionalWriter
+ - TransferHandler
+ - Transferable
+ - TransformAttribute
+ - Transformer
+ - TransformerConfigurationException
+ - TransformerException
+ - TransformerFactory
+ - TransformerFactoryConfigurationError
+ - TransformerHandler
+ - Transmitter
+ - Transparency
+ - TreeCellEditor
+ - TreeCellRenderer
+ - TreeExpansionEvent
+ - TreeExpansionListener
+ - TreeMap
+ - TreeModel
+ - TreeModelEvent
+ - TreeModelListener
+ - TreeNode
+ - TreePath
+ - TreeSelectionEvent
+ - TreeSelectionListener
+ - TreeSelectionModel
+ - TreeSet
+ - TreeUI
+ - TreeWillExpandListener
+ - TrustAnchor
+ - TrustManager
+ - TrustManagerFactory
+ - TrustManagerFactorySpi
+ - Type
+ - TypeCode
+ - TypeCodeHolder
+ - TypeInfo
+ - TypeInfoProvider
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatchHelper
+ - TypeMismatchHelper
+ - TypeNotPresentException
+ - TypeVariable
+ - Types
+ - UID
+ - UIDefaults
+ - UIDefaults.ActiveValue
+ - UIDefaults.LazyInputMap
+ - UIDefaults.LazyValue
+ - UIDefaults.ProxyLazyValue
+ - UIManager
+ - UIManager.LookAndFeelInfo
+ - UIResource
+ - ULongLongSeqHelper
+ - ULongLongSeqHolder
+ - ULongSeqHelper
+ - ULongSeqHolder
+ - UNKNOWN
+ - UNKNOWN
+ - UNSUPPORTED_POLICY
+ - UNSUPPORTED_POLICY_VALUE
+ - URI
+ - URIException
+ - URIResolver
+ - URISyntax
+ - URISyntaxException
+ - URL
+ - URLClassLoader
+ - URLConnection
+ - URLDecoder
+ - URLEncoder
+ - URLStreamHandler
+ - URLStreamHandlerFactory
+ - URLStringHelper
+ - USER_EXCEPTION
+ - UShortSeqHelper
+ - UShortSeqHolder
+ - UTFDataFormatException
+ - UUID
+ - UndeclaredThrowableException
+ - UndoManager
+ - UndoableEdit
+ - UndoableEditEvent
+ - UndoableEditListener
+ - UndoableEditSupport
+ - UnexpectedException
+ - UnicastRemoteObject
+ - UnionMember
+ - UnionMemberHelper
+ - UnknownEncoding
+ - UnknownEncodingHelper
+ - UnknownError
+ - UnknownException
+ - UnknownFormatConversionException
+ - UnknownFormatFlagsException
+ - UnknownGroupException
+ - UnknownHostException
+ - UnknownHostException
+ - UnknownObjectException
+ - UnknownServiceException
+ - UnknownUserException
+ - UnknownUserExceptionHelper
+ - UnknownUserExceptionHolder
+ - UnmappableCharacterException
+ - UnmarshalException
+ - UnmodifiableClassException
+ - UnmodifiableSetException
+ - UnrecoverableEntryException
+ - UnrecoverableKeyException
+ - Unreferenced
+ - UnresolvedAddressException
+ - UnresolvedPermission
+ - UnsatisfiedLinkError
+ - UnsolicitedNotification
+ - UnsolicitedNotificationEvent
+ - UnsolicitedNotificationListener
+ - UnsupportedAddressTypeException
+ - UnsupportedAudioFileException
+ - UnsupportedCallbackException
+ - UnsupportedCharsetException
+ - UnsupportedClassVersionError
+ - UnsupportedEncodingException
+ - UnsupportedFlavorException
+ - UnsupportedLookAndFeelException
+ - UnsupportedOperationException
+ - UserDataHandler
+ - UserException
+ - Util
+ - UtilDelegate
+ - Utilities
+ - VMID
+ - VM_ABSTRACT
+ - VM_CUSTOM
+ - VM_NONE
+ - VM_TRUNCATABLE
+ - Validator
+ - ValidatorHandler
+ - ValueBase
+ - ValueBaseHelper
+ - ValueBaseHolder
+ - ValueExp
+ - ValueFactory
+ - ValueHandler
+ - ValueHandlerMultiFormat
+ - ValueInputStream
+ - ValueMember
+ - ValueMemberHelper
+ - ValueOutputStream
+ - VariableHeightLayoutCache
+ - Vector
+ - VerifyError
+ - VersionSpecHelper
+ - VetoableChangeListener
+ - VetoableChangeListenerProxy
+ - VetoableChangeSupport
+ - View
+ - ViewFactory
+ - ViewportLayout
+ - ViewportUI
+ - VirtualMachineError
+ - Visibility
+ - VisibilityHelper
+ - VoiceStatus
+ - Void
+ - VolatileImage
+ - WCharSeqHelper
+ - WCharSeqHolder
+ - WStringSeqHelper
+ - WStringSeqHolder
+ - WStringValueHelper
+ - WeakHashMap
+ - WeakReference
+ - WebRowSet
+ - WildcardType
+ - Window
+ - WindowAdapter
+ - WindowConstants
+ - WindowEvent
+ - WindowFocusListener
+ - WindowListener
+ - WindowStateListener
+ - WrappedPlainView
+ - WritableByteChannel
+ - WritableRaster
+ - WritableRenderedImage
+ - WriteAbortedException
+ - Writer
+ - WrongAdapter
+ - WrongAdapterHelper
+ - WrongPolicy
+ - WrongPolicyHelper
+ - WrongTransaction
+ - WrongTransactionHelper
+ - WrongTransactionHolder
+ - X500Principal
+ - X500PrivateCredential
+ - X509CRL
+ - X509CRLEntry
+ - X509CRLSelector
+ - X509CertSelector
+ - X509Certificate
+ - X509Certificate
+ - X509EncodedKeySpec
+ - X509ExtendedKeyManager
+ - X509Extension
+ - X509KeyManager
+ - X509TrustManager
+ - XAConnection
+ - XADataSource
+ - XAException
+ - XAResource
+ - XMLConstants
+ - XMLDecoder
+ - XMLEncoder
+ - XMLFilter
+ - XMLFilterImpl
+ - XMLFormatter
+ - XMLGregorianCalendar
+ - XMLParseException
+ - XMLReader
+ - XMLReaderAdapter
+ - XMLReaderFactory
+ - XPath
+ - XPathConstants
+ - XPathException
+ - XPathExpression
+ - XPathExpressionException
+ - XPathFactory
+ - XPathFactoryConfigurationException
+ - XPathFunction
+ - XPathFunctionException
+ - XPathFunctionResolver
+ - XPathVariableResolver
+ - Xid
+ - XmlReader
+ - XmlWriter
+ - ZipEntry
+ - ZipException
+ - ZipFile
+ - ZipInputStream
+ - ZipOutputStream
+ - ZoneView
+ - _BindingIteratorImplBase
+ - _BindingIteratorStub
+ - _DynAnyFactoryStub
+ - _DynAnyStub
+ - _DynArrayStub
+ - _DynEnumStub
+ - _DynFixedStub
+ - _DynSequenceStub
+ - _DynStructStub
+ - _DynUnionStub
+ - _DynValueStub
+ - _IDLTypeStub
+ - _NamingContextExtStub
+ - _NamingContextImplBase
+ - _NamingContextStub
+ - _PolicyStub
+ - _Remote_Stub
+ - _ServantActivatorStub
+ - _ServantLocatorStub
+
+
+
+ - AbstractAnnotationValueVisitor6
+ - AbstractElementVisitor6
+ - AbstractMarshallerImpl
+ - AbstractOwnableSynchronizer
+ - AbstractProcessor
+ - AbstractQueuedLongSynchronizer
+ - AbstractScriptEngine
+ - AbstractTypeVisitor6
+ - AbstractUnmarshallerImpl
+ - ActivationDataFlavor
+ - AlgorithmMethod
+ - AnnotationMirror
+ - AnnotationValue
+ - AnnotationValueVisitor
+ - ArrayDeque
+ - AsyncHandler
+ - AttachmentMarshaller
+ - AttachmentPart
+ - AttachmentUnmarshaller
+ - Binder
+ - BindingProvider
+ - Bindings
+ - BlockingDeque
+ - BreakIteratorProvider
+ - C14NMethodParameterSpec
+ - CanonicalizationMethod
+ - Characters
+ - ClientInfoStatus
+ - CollapsedStringAdapter
+ - CollatorProvider
+ - CommandInfo
+ - CommandMap
+ - CommandObject
+ - CommonDataSource
+ - Compilable
+ - CompiledScript
+ - Completion
+ - Completions
+ - CompositeDataInvocationHandler
+ - CompositeDataView
+ - ConcurrentNavigableMap
+ - ConcurrentSkipListMap
+ - ConcurrentSkipListSet
+ - ConfigurationSpi
+ - Console
+ - ConstructorProperties
+ - CookieManager
+ - CookiePolicy
+ - CookieStore
+ - CurrencyNameProvider
+ - Data
+ - DataContentHandler
+ - DataContentHandlerFactory
+ - DataHandler
+ - DatatypeConverter
+ - DatatypeConverterInterface
+ - DateFormatProvider
+ - DateFormatSymbolsProvider
+ - DecimalFormatSymbolsProvider
+ - DeclaredType
+ - DefaultRowSorter
+ - DefaultValidationEventHandler
+ - DeflaterInputStream
+ - Deque
+ - DescriptorKey
+ - DescriptorRead
+ - Desktop
+ - Detail
+ - DetailEntry
+ - Diagnostic
+ - DiagnosticCollector
+ - DiagnosticListener
+ - DigestMethod
+ - DigestMethodParameterSpec
+ - Dispatch
+ - DOMCryptoContext
+ - DomHandler
+ - DOMSignContext
+ - DOMStructure
+ - DOMURIReference
+ - DOMValidateContext
+ - DropMode
+ - ElementFilter
+ - ElementKind
+ - ElementKindVisitor6
+ - Elements
+ - ElementScanner6
+ - ElementVisitor
+ - EndDocument
+ - EndElement
+ - Endpoint
+ - EntityDeclaration
+ - ErrorType
+ - EventException
+ - EventFilter
+ - EventReaderDelegate
+ - EventTarget
+ - ExcC14NParameterSpec
+ - ExecutableElement
+ - ExecutableType
+ - FileDataSource
+ - FileNameExtensionFilter
+ - FileObject
+ - Filer
+ - FilerException
+ - FileTypeMap
+ - ForwardingFileObject
+ - ForwardingJavaFileManager
+ - ForwardingJavaFileObject
+ - Generated
+ - GridBagLayoutInfo
+ - GroupLayout
+ - HandlerChain
+ - HandlerResolver
+ - HexBinaryAdapter
+ - HMACParameterSpec
+ - Holder
+ - HTTPBinding
+ - HttpCookie
+ - HTTPException
+ - IDN
+ - ImmutableDescriptor
+ - InflaterOutputStream
+ - InitParam
+ - InterfaceAddress
+ - Invocable
+ - IOError
+ - JavaCompiler
+ - JavaFileManager
+ - JavaFileObject
+ - JAXBContext
+ - JAXBElement
+ - JAXBException
+ - JAXBIntrospector
+ - JAXBResult
+ - JAXBSource
+ - JMX
+ - JMXAddressable
+ - KeyInfo
+ - KeyInfoFactory
+ - KeyName
+ - KeySelector
+ - KeySelectorException
+ - KeySelectorResult
+ - KeyValue
+ - LayoutPath
+ - LayoutStyle
+ - LinearGradientPaint
+ - LinkedBlockingDeque
+ - LocaleNameProvider
+ - LocaleServiceProvider
+ - Location
+ - LockInfo
+ - LogicalHandler
+ - LogicalMessage
+ - LogicalMessageContext
+ - MailcapCommandMap
+ - Marshaller
+ - MessageContext
+ - MessageFactory
+ - Messager
+ - MimeHeader
+ - MimeHeaders
+ - MimeType
+ - MimeTypeParameterList
+ - MimetypesFileTypeMap
+ - MirroredTypeException
+ - MirroredTypesException
+ - MLetContent
+ - MonitorInfo
+ - MultipleGradientPaint
+ - MutationEvent
+ - MXBean
+ - Namespace
+ - NavigableMap
+ - NavigableSet
+ - NClob
+ - NestingKind
+ - NodeSetData
+ - NormalizedStringAdapter
+ - Normalizer
+ - NoSuchMechanismException
+ - NotationDeclaration
+ - NotIdentifiableEvent
+ - NotIdentifiableEventImpl
+ - NoType
+ - NullType
+ - NumberFormatProvider
+ - OctetStreamData
+ - Oneway
+ - OptionChecker
+ - PackageElement
+ - ParseConversionEvent
+ - ParseConversionEventImpl
+ - Path2D
+ - PGPData
+ - PolicySpi
+ - PortInfo
+ - PostConstruct
+ - PreDestroy
+ - PrimitiveType
+ - PrintConversionEvent
+ - PrintConversionEventImpl
+ - ProcessingEnvironment
+ - Processor
+ - PropertyException
+ - RadialGradientPaint
+ - ReferenceType
+ - RequestWrapper
+ - Resource
+ - Resources
+ - Response
+ - ResponseWrapper
+ - RetrievalMethod
+ - RoundEnvironment
+ - RowFilter
+ - RowId
+ - RowIdLifetime
+ - RowSorter
+ - RowSorterEvent
+ - RowSorterListener
+ - RunnableFuture
+ - RunnableScheduledFuture
+ - SAAJMetaFactory
+ - SAAJResult
+ - SchemaOutputResolver
+ - ScriptContext
+ - ScriptEngine
+ - ScriptEngineFactory
+ - ScriptEngineManager
+ - ScriptException
+ - Service
+ - ServiceConfigurationError
+ - ServiceDelegate
+ - ServiceLoader
+ - ServiceMode
+ - SignatureMethod
+ - SignatureMethodParameterSpec
+ - SignatureProperties
+ - SignatureProperty
+ - SignedInfo
+ - SimpleAnnotationValueVisitor6
+ - SimpleBindings
+ - SimpleElementVisitor6
+ - SimpleJavaFileObject
+ - SimpleScriptContext
+ - SimpleTypeVisitor6
+ - SOAPBinding
+ - SOAPBinding
+ - SOAPBody
+ - SOAPBodyElement
+ - SOAPConnection
+ - SOAPConnectionFactory
+ - SOAPConstants
+ - SOAPElement
+ - SOAPElementFactory
+ - SOAPEnvelope
+ - SOAPException
+ - SOAPFactory
+ - SOAPFault
+ - SOAPFaultElement
+ - SOAPFaultException
+ - SOAPHandler
+ - SOAPHeader
+ - SOAPHeaderElement
+ - SOAPMessage
+ - SOAPMessageContext
+ - SOAPMessageHandler
+ - SOAPMessageHandlers
+ - SOAPPart
+ - SortOrder
+ - SourceVersion
+ - SplashScreen
+ - SQLClientInfoException
+ - SQLDataException
+ - SQLFeatureNotSupportedException
+ - SQLIntegrityConstraintViolationException
+ - SQLInvalidAuthorizationSpecException
+ - SQLNonTransientConnectionException
+ - SQLNonTransientException
+ - SQLRecoverableException
+ - SQLSyntaxErrorException
+ - SQLTimeoutException
+ - SQLTransactionRollbackException
+ - SQLTransientConnectionException
+ - SQLTransientException
+ - SQLXML
+ - SSLParameters
+ - StandardEmitterMBean
+ - StandardJavaFileManager
+ - StandardLocation
+ - StartDocument
+ - StartElement
+ - StatementEvent
+ - StatementEventListener
+ - StAXResult
+ - StAXSource
+ - StreamFilter
+ - StreamReaderDelegate
+ - SupportedAnnotationTypes
+ - SupportedOptions
+ - SupportedSourceVersion
+ - SwingWorker
+ - SystemTray
+ - TableRowSorter
+ - TableStringConverter
+ - TimeZoneNameProvider
+ - Tool
+ - ToolProvider
+ - Transform
+ - TransformException
+ - TransformParameterSpec
+ - TransformService
+ - TrayIcon
+ - TypeConstraintException
+ - TypeElement
+ - TypeKind
+ - TypeKindVisitor6
+ - TypeMirror
+ - TypeParameterElement
+ - TypeVisitor
+ - UIEvent
+ - UnknownAnnotationValueException
+ - UnknownElementException
+ - UnknownTypeException
+ - Unmarshaller
+ - UnmarshallerHandler
+ - UnsupportedDataTypeException
+ - URIDereferencer
+ - URIParameter
+ - URIReference
+ - URIReferenceException
+ - URLDataSource
+ - ValidationEvent
+ - ValidationEventCollector
+ - ValidationEventHandler
+ - ValidationEventImpl
+ - ValidationEventLocator
+ - ValidationEventLocatorImpl
+ - ValidationException
+ - VariableElement
+ - W3CDomHandler
+ - WebEndpoint
+ - WebFault
+ - WebMethod
+ - WebParam
+ - WebResult
+ - WebService
+ - WebServiceClient
+ - WebServiceContext
+ - WebServiceException
+ - WebServicePermission
+ - WebServiceProvider
+ - WebServiceRef
+ - WebServiceRefs
+ - Wrapper
+ - X509Data
+ - X509IssuerSerial
+ - XmlAccessOrder
+ - XmlAccessorOrder
+ - XmlAccessorType
+ - XmlAccessType
+ - XmlAdapter
+ - XmlAnyAttribute
+ - XmlAnyElement
+ - XmlAttachmentRef
+ - XmlAttribute
+ - XMLCryptoContext
+ - XmlElement
+ - XmlElementDecl
+ - XmlElementRef
+ - XmlElementRefs
+ - XmlElements
+ - XmlElementWrapper
+ - XmlEnum
+ - XmlEnumValue
+ - XMLEvent
+ - XMLEventAllocator
+ - XMLEventConsumer
+ - XMLEventFactory
+ - XMLEventReader
+ - XMLEventWriter
+ - XmlID
+ - XmlIDREF
+ - XmlInlineBinaryData
+ - XMLInputFactory
+ - XmlJavaTypeAdapter
+ - XmlJavaTypeAdapters
+ - XmlList
+ - XmlMimeType
+ - XmlMixed
+ - XmlNs
+ - XmlNsForm
+ - XMLObject
+ - XMLOutputFactory
+ - XmlRegistry
+ - XMLReporter
+ - XMLResolver
+ - XmlRootElement
+ - XmlSchema
+ - XmlSchemaType
+ - XmlSchemaTypes
+ - XMLSignature
+ - XMLSignatureException
+ - XMLSignatureFactory
+ - XMLSignContext
+ - XMLStreamConstants
+ - XMLStreamException
+ - XMLStreamReader
+ - XMLStreamWriter
+ - XMLStructure
+ - XmlTransient
+ - XmlType
+ - XMLValidateContext
+ - XmlValue
+ - XPathFilter2ParameterSpec
+ - XPathFilterParameterSpec
+ - XPathType
+ - XSLTTransformParameterSpec
+ - ZipError
+
+
+
+
+ - as
+ - in
+
+ - abstract
+ - break
+ - case
+ - catch
+ - class
+ - continue
+ - default
+ - do
+ - else
+ - enum
+ - extends
+ - false
+ - finally
+ - for
+ - goto
+ - if
+ - implements
+ - instanceof
+ - @interface
+ - interface
+ - native
+ - new
+ - null
+ - private
+ - protected
+ - public
+ - return
+ - super
+ - strictfp
+ - switch
+ - synchronized
+ - this
+ - throws
+ - throw
+ - transient
+ - true
+ - try
+ - volatile
+ - while
+
+
+ - def
+
+ - boolean
+ - byte
+ - char
+ - const
+ - double
+ - final
+ - float
+ - int
+ - long
+ - short
+ - static
+ - void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/haml.xml b/data/syntax/haml.xml
new file mode 100644
index 0000000..aa3d872
--- /dev/null
+++ b/data/syntax/haml.xml
@@ -0,0 +1,523 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - BEGIN
+ - END
+ - and
+ - begin
+ - break
+ - case
+ - defined?
+ - do
+ - else
+ - elsif
+ - end
+ - ensure
+ - for
+ - if
+ - in
+ - include
+ - next
+ - not
+ - or
+ - redo
+ - rescue
+ - retry
+ - return
+ - then
+ - unless
+ - until
+ - when
+ - while
+ - yield
+
+
+
+ - private_class_method
+ - private
+ - protected
+ - public_class_method
+ - public
+
+
+
+ - attr_reader
+ - attr_writer
+ - attr_accessor
+
+
+
+ - alias
+ - module
+ - class
+ - def
+ - undef
+
+
+
+ - self
+ - super
+ - nil
+ - false
+ - true
+ - caller
+ - __FILE__
+ - __LINE__
+
+
+
+ - $stdout
+ - $defout
+ - $stderr
+ - $deferr
+ - $stdin
+
+
+
+
+
+ - abort
+ - at_exit
+ - autoload
+ - autoload?
+ - binding
+ - block_given?
+ - callcc
+ - caller
+ - catch
+ - chomp
+ - chomp!
+ - chop
+ - chop!
+ - eval
+ - exec
+ - exit
+ - exit!
+ - fail
+ - fork
+ - format
+ - getc
+ - gets
+ - global_variables
+ - gsub
+ - gsub!
+ - iterator?
+ - lambda
+ - load
+ - local_variables
+ - loop
+ - method_missing
+ - open
+ - p
+ - print
+ - printf
+ - proc
+ - putc
+ - puts
+ - raise
+ - rand
+ - readline
+ - readlines
+ - require
+ - scan
+ - select
+ - set_trace_func
+ - sleep
+ - split
+ - sprintf
+ - srand
+ - sub
+ - sub!
+ - syscall
+ - system
+ - test
+ - throw
+ - trace_var
+ - trap
+ - untrace_var
+ - warn
+
+
+
+ - TODO
+ - FIXME
+ - NOTE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/hamlet.xml b/data/syntax/hamlet.xml
new file mode 100644
index 0000000..f413739
--- /dev/null
+++ b/data/syntax/hamlet.xml
@@ -0,0 +1,104 @@
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/haskell.xml b/data/syntax/haskell.xml
new file mode 100644
index 0000000..27ca018
--- /dev/null
+++ b/data/syntax/haskell.xml
@@ -0,0 +1,518 @@
+
+
+
+
+
+ - case
+ - class
+ - data
+ - deriving
+ - do
+ - else
+ - if
+ - in
+ - infixl
+ - infixr
+ - instance
+ - let
+ - module
+ - newtype
+ - of
+ - primitive
+ - then
+ - type
+ - where
+
+
+ - FilePath
+ - IOError
+ - abs
+ - acos
+ - acosh
+ - all
+ - and
+ - any
+ - appendFile
+ - approxRational
+ - asTypeOf
+ - asin
+ - asinh
+ - atan
+ - atan2
+ - atanh
+ - basicIORun
+ - break
+ - catch
+ - ceiling
+ - chr
+ - compare
+ - concat
+ - concatMap
+ - const
+ - cos
+ - cosh
+ - curry
+ - cycle
+ - decodeFloat
+ - denominator
+ - digitToInt
+ - div
+ - divMod
+ - drop
+ - dropWhile
+ - either
+ - elem
+ - encodeFloat
+ - enumFrom
+ - enumFromThen
+ - enumFromThenTo
+ - enumFromTo
+ - error
+ - even
+ - exp
+ - exponent
+ - fail
+ - filter
+ - flip
+ - floatDigits
+ - floatRadix
+ - floatRange
+ - floor
+ - fmap
+ - foldl
+ - foldl1
+ - foldMap
+ - foldr
+ - foldr1
+ - fromDouble
+ - fromEnum
+ - fromInt
+ - fromInteger
+ - fromIntegral
+ - fromRational
+ - fst
+ - gcd
+ - getChar
+ - getContents
+ - getLine
+ - group
+ - head
+ - id
+ - inRange
+ - index
+ - init
+ - intToDigit
+ - interact
+ - ioError
+ - isAlpha
+ - isAlphaNum
+ - isAscii
+ - isControl
+ - isDenormalized
+ - isDigit
+ - isHexDigit
+ - isIEEE
+ - isInfinite
+ - isLower
+ - isNaN
+ - isNegativeZero
+ - isOctDigit
+ - isPrint
+ - isSpace
+ - isUpper
+ - iterate
+ - last
+ - lcm
+ - length
+ - lex
+ - lexDigits
+ - lexLitChar
+ - lines
+ - log
+ - logBase
+ - lookup
+ - map
+ - mappend
+ - mapM
+ - mapM_
+ - max
+ - maxBound
+ - maximum
+ - maybe
+ - mconcat
+ - mempty
+ - min
+ - minBound
+ - minimum
+ - mod
+ - negate
+ - not
+ - notElem
+ - null
+ - numerator
+ - odd
+ - or
+ - ord
+ - otherwise
+ - pack
+ - pi
+ - pred
+ - primExitWith
+ - print
+ - product
+ - properFraction
+ - pure
+ - putChar
+ - putStr
+ - putStrLn
+ - quot
+ - quotRem
+ - range
+ - rangeSize
+ - read
+ - readDec
+ - readFile
+ - readFloat
+ - readHex
+ - readIO
+ - readInt
+ - readList
+ - readLitChar
+ - readLn
+ - readOct
+ - readParen
+ - readSigned
+ - reads
+ - readsPrec
+ - realToFrac
+ - recip
+ - rem
+ - repeat
+ - replicate
+ - return
+ - reverse
+ - round
+ - scaleFloat
+ - scanl
+ - scanl1
+ - scanr
+ - scanr1
+ - seq
+ - sequence
+ - sequenceA
+ - sequence_
+ - show
+ - showChar
+ - showInt
+ - showList
+ - showLitChar
+ - showParen
+ - showSigned
+ - showString
+ - shows
+ - showsPrec
+ - significand
+ - signum
+ - sin
+ - sinh
+ - snd
+ - sort
+ - span
+ - splitAt
+ - sqrt
+ - subtract
+ - succ
+ - sum
+ - tail
+ - take
+ - takeWhile
+ - tan
+ - tanh
+ - threadToIOResult
+ - toEnum
+ - toInt
+ - toInteger
+ - toLower
+ - toRational
+ - toUpper
+ - traverse
+ - truncate
+ - uncurry
+ - undefined
+ - unlines
+ - until
+ - unwords
+ - unzip
+ - unzip3
+ - userError
+ - words
+ - writeFile
+ - zip
+ - zip3
+ - zipWith
+ - zipWith3
+
+
+ - Applicative
+ - Bounded
+ - Enum
+ - Eq
+ - Floating
+ - Foldable
+ - Fractional
+ - Functor
+ - Integral
+ - Ix
+ - Monad
+ - Monoid
+ - Num
+ - Ord
+ - Read
+ - Real
+ - RealFloat
+ - RealFrac
+ - Show
+ - Traversable
+
+
+ - Bool
+ - ByteString
+ - Char
+ - Double
+ - Either
+ - FilePath
+ - Float
+ - Int
+ - Integer
+ - IO
+ - IOError
+ - Maybe
+ - Ordering
+ - Ratio
+ - Rational
+ - ReadS
+ - ShowS
+ - String
+ - Word
+
+
+ - False
+ - True
+ - Left
+ - Right
+ - Just
+ - Nothing
+ - EQ
+ - LT
+ - GT
+
+
+ - defined
+ - if
+ - ifdef
+ - ifndef
+ - include
+ - undef
+
+
+ - qualified
+ - lib
+ - prefix
+ - as
+ - with
+ - call
+ - pure
+ - unsafe
+ - get
+ - set
+ - foreign
+ - stable
+ - nocode
+
+
+ - as
+ - qualified
+ - hiding
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/haxe.xml b/data/syntax/haxe.xml
new file mode 100644
index 0000000..e51b9f4
--- /dev/null
+++ b/data/syntax/haxe.xml
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+ - break
+
+ - case
+ - cast
+ - catch
+ - class
+ - continue
+
+ - default
+
+ - else
+ - enum
+ - extends
+
+ - false
+ - for
+ - function
+
+ - if
+ - implements
+ - in
+ - inline
+ - interface
+
+ - new
+ - null
+
+ - override
+
+ - private
+ - public
+
+ - return
+
+ - static
+ - super
+ - switch
+
+ - this
+ - throw
+ - trace
+ - true
+ - try
+ - typedef
+
+ - untyped
+
+ - var
+
+ - while
+
+
+
+
+ - package
+ - import
+
+
+
+ - Array
+ - Void
+ - Bool
+ - Int
+ - UInt
+ - Float
+ - Dynamic
+ - String
+ - List
+ - Error
+ - Unknown
+ - Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/html.xml b/data/syntax/html.xml
new file mode 100644
index 0000000..d1017aa
--- /dev/null
+++ b/data/syntax/html.xml
@@ -0,0 +1,226 @@
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/hunspell-aff.xml b/data/syntax/hunspell-aff.xml
new file mode 100644
index 0000000..bf1c142
--- /dev/null
+++ b/data/syntax/hunspell-aff.xml
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+
+ - SET
+ - FLAG
+ - LANG
+
+
+
+ - TRY
+ - WORDCHARS
+ - IGNORE
+
+
+
+ - BREAK
+ - COMPOUNDSYLLABLE
+
+
+
+ - SFX
+ - PFX
+
+
+
+
+ - COMPOUNDRULE
+ - PHONE
+ - ICONV
+ - OCONV
+ - KEY
+ - MAP
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/hunspell-dat.xml b/data/syntax/hunspell-dat.xml
new file mode 100644
index 0000000..a57fd58
--- /dev/null
+++ b/data/syntax/hunspell-dat.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/hunspell-dic.xml b/data/syntax/hunspell-dic.xml
new file mode 100644
index 0000000..d714d8d
--- /dev/null
+++ b/data/syntax/hunspell-dic.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+ - LEFTHYPHENMIN
+ - RIGHTHYPHENMIN
+ - COMPOUNDLEFTHYPHENMIN
+ - COMPOUNDRIGHTHYPHENMIN
+ - NEXTWORD
+ - NOHYPHEN
+ - NEXTLEVEL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/hunspell-idx.xml b/data/syntax/hunspell-idx.xml
new file mode 100644
index 0000000..27ba59a
--- /dev/null
+++ b/data/syntax/hunspell-idx.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/idconsole.xml b/data/syntax/idconsole.xml
new file mode 100644
index 0000000..4e4f1fa
--- /dev/null
+++ b/data/syntax/idconsole.xml
@@ -0,0 +1,2146 @@
+
+
+
+
+
+
+- ForceCloseComman
+- _config_com_baud
+- _config_com_modem
+- _vid_default_mode
+- _vid_default_mode_win
+- _vid_wait_override
+- _windowed_mouse
+- addip
+- addressbook
+- adjust_crosshair
+- advancedupdate
+- allow_download
+- allow_download_maps
+- allow_download_models
+- allow_download_skins
+- allow_download_sounds
+- allskins
+- appenddemo
+- autosave
+- ban
+- banClient
+- banUser
+- banid
+- baseskin
+- begin
+- bf
+- bgetmod
+- bindlist
+- block_switch
+- bottomcolor
+- buyNow
+- buyequip
+- cache_endgather
+- cache_flush
+- cache_mapchange
+- cache_print
+- cache_profile
+- cache_setindex
+- cache_startgather
+- cache_usedfile
+- cancelselect
+- cd
+- centerview
+- changeVectors
+- changelevel
+- changelevel2
+- changing
+- chase_active
+- cinematic
+- cl_deadbodyfilter
+- cl_gibfilter
+- cl_hightrack
+- cl_hudswap
+- cl_messages
+- cl_nodelta
+- cl_nolerp
+- cl_nopred
+- cl_predict_players
+- cl_rate
+- cl_sbar
+- cl_sbar_separator
+- cl_shownet
+- cl_sidespeed
+- cl_solid_players
+- cl_warncmd
+- cl_writecfg
+- clear
+- clearplayers
+- clientinfo
+- clientkick
+- cmd
+- cmdline
+- cmdlist
+- color
+- commands
+- condebug
+- condump
+- configstrings
+- confirm_quit
+- connect
+- contimes
+- coop
+- crash
+- credits
+- cropimages
+- crosshair
+- cvar_restart
+- cvarlist
+- d_mipcap
+- d_subdiv16
+- deathmatch
+- delta_clear
+- delta_stats
+- demo
+- demolist
+- demomap
+- demos
+- developer
+- devmap
+- dir
+- disconnect
+- dlfile
+- dmoptions
+- download
+- drawradar
+- drop
+- dropclient
+- dumpuser
+- edict
+- edictcount
+- edicts
+- endmovie
+- entities
+- envmap
+- error
+- escape
+- exec
+- exit
+- fastsprites
+- fdir
+- filterban
+- firstperson
+- floodprot
+- floodprotmsg
+- flush
+- fly
+- force_centerview
+- fov
+- fraglogfile
+- freelook
+- freeze
+- front
+- fs_openedList
+- fs_referencedList
+- fullinfo
+- fullserverinfo
+- game
+- gameCompleteStatus
+- gamedir
+- gamemap
+- gameversion
+- getcertificate
+- gfxinfo
+- gg
+- gib
+- gibload
+- gibstats
+- give
+- gl_affinemodels
+- gl_clear
+- gl_colorlights
+- gl_constretch
+- gl_cull
+- gl_dlight_lightmap
+- gl_dlight_polyblend
+- gl_dlight_smooth
+- gl_fb_bmodels
+- gl_fb_models
+- gl_finish
+- gl_fires
+- gl_flashblend
+- gl_keeptjunctions
+- gl_lerp_anim
+- gl_lightmode
+- gl_max_size
+- gl_multitexture
+- gl_nobind
+- gl_nocolors
+- gl_picmip
+- gl_playermip
+- gl_polyblend
+- gl_reportjunctions
+- gl_sky_clip
+- gl_skymultipass
+- gl_smoothmodels
+- gl_texsort
+- gl_texturemode
+- gl_triplebuffer
+- gl_ztrick
+- globalservers
+- god
+- gun
+- gun_model
+- gun_next
+- gun_prev
+- gunsmoke
+- heartbeat
+- help
+- hideconsole
+- hideradar
+- host_speeds
+- hostname
+- hpkextract
+- hpklist
+- hpkremove
+- hpkval
+- hud_centerid
+- imagelist
+- impulse
+- imt
+- in_bind
+- in_paste_buffer
+- in_restart
+- in_unbind
+- info
+- interp
+- invdrop
+- inven
+- invnext
+- invnextp
+- invnextw
+- invprev
+- invprevp
+- invprevw
+- invuse
+- joinserver
+- joy
+- joy_advancedupdate
+- joy_enable
+- joyadvanced
+- joyadvancedupdat
+- joyadvancedupdate
+- joyname
+- joystick
+- keys
+- kick
+- kill
+- killserver
+- lefthand
+- link
+- list
+- listdemo
+- listen
+- listid
+- listip
+- listmaps
+- load
+- loadas8bit
+- loadgame
+- loading
+- loadsky
+- loadtranslations
+- loc
+- localinfo
+- localservers
+- log
+- logaddress
+- logfile
+- lookspring
+- lookstrafe
+- m_filter
+- main
+- map
+- map_restart
+- maplist
+- maps
+- maxplayers
+- max_smokepuffs
+- max_shells
+- mcache
+- meminfo
+- menu
+- menu_addressbook
+- menu_credits
+- menu_help
+- menu_keys
+- menu_load
+- menu_loadgame
+- menu_main
+- menu_multiplayer
+- menu_options
+- menu_playerconfig
+- menu_quit
+- menu_save
+- menu_savegame
+- menu_setup
+- menu_select
+- menu_singleplayer
+- menu_startserver
+- menu_video
+- menu_dmoptions
+- menu_game
+- menu_joinserver
+- messagemode
+- messagemode2
+- messagemode3
+- messagemode4
+- model
+- modelist
+- modellist
+- msg
+- multiplayer
+- music
+- name
+- net_stats
+- new
+- next
+- nextul
+- nightvision
+- no_pogo_stick
+- noaim
+- noclip
+- noexit
+- nomonsters
+- noskins
+- nosound
+- notarget
+- options
+- packet
+- password
+- path
+- pausable
+- pause
+- paused
+- ping
+- pingservers
+- play
+- playdemo
+- playerconfig
+- players
+- playvol
+- pushlatency
+- pointfile
+- ppdemostart
+- pr_boundscheck
+- precache
+- prespawn
+- prev
+- profile
+- profilequit
+- prog
+- quit
+- r_drawentities
+- r_drawflat
+- r_draworder
+- r_drawviewmodel
+- r_dspeeds
+- r_dynamic
+- r_fullbright
+- r_lightmap
+- r_netgraph
+- r_netgraph_box
+- r_norefresh
+- r_novis
+- r_numedges
+- r_numsurfs
+- r_particles
+- r_polymodelstats
+- r_reportsurfout
+- r_shadows
+- r_speeds
+- r_timegraph
+- r_wateralpha
+- r_waterripple
+- r_waterwarp
+- r_zgraph
+- rcon
+- rcon_password
+- reconnect
+- record
+- registered
+- reload
+- removedemo
+- removeid
+- removeip
+- rerecord
+- reset
+- resetrcon
+- restart
+- retry
+- s_disable_a3d
+- s_enable_a3d
+- s_info
+- s_list
+- s_stop
+- samelevel
+- save
+- savegame
+- savetranslations
+- score
+- screenshot
+- screenshotJPEG
+- sectorlist
+- sendents
+- serverinfo
+- serverprofile
+- serverrecord
+- serverstatus
+- serverstop
+- setRecommended
+- setdemoinfo
+- setenv
+- setinfo
+- setmaster
+- setrom
+- shaderlist
+- show_fps
+- show_time
+- showdrop
+- showinfo
+- showip
+- showpackets
+- showpause
+- showram
+- showturtle
+- shutdownserver
+- singlePlayLink
+- sizedown
+- sizeup
+- skill
+- skin
+- skinlist
+- skins
+- sky
+- skyboxlist
+- slist
+- slot1
+- slot10
+- slot2
+- slot3
+- slot4
+- slot5
+- slot6
+- slot7
+- slot8
+- slot9
+- snap
+- snapall
+- snapshot
+- snapto
+- snd
+- snd_noextraupdate
+- snd_restart
+- snd_show
+- soundfade
+- soundinfo
+- soundlist
+- spawn
+- spdevmap
+- speak
+- special
+- specmode
+- spectator
+- spectator_password
+- spk
+- spmap
+- startLimboMode
+- startSingleplayer
+- startdemos
+- startmovie
+- startserver
+- stat
+- stats
+- status
+- stop
+- stopLimboMode
+- stopdemo
+- stoprecord
+- stopsound
+- stopul
+- streamingsound
+- stuffcmd
+- stuffcmds
+- sv
+- sv_allow_log
+- sv_allow_pings
+- sv_allow_status
+- sv_gamedir
+- sv_highchars
+- sv_mapcheck
+- sv_nostep
+- sv_spectatormaxspeed
+- sv_spetalk
+- sv_maplist
+- swapdemo
+- sys_cpuid
+- sys_dead_sleep
+- sys_extrasleep
+- sys_nostdout
+- systeminfo
+- taginfo
+- team
+- teamplay
+- tell
+- test
+- test2
+- time
+- thirdperson
+- timedemo
+- timeleft
+- timerefresh
+- toggle
+- togglebrowser
+- togglechat
+- toggleconsole
+- togglemenu
+- topcolor
+- touchFile
+- trackplayer
+- ui_restart
+- unalias
+- unbindall
+- updatehunkusage
+- updatescreen
+- upload
+- use
+- user
+- userinfo
+- users
+- v_centerspeed
+- v_cshift
+- v_idlescale
+- version
+- vid
+- vid_center
+- vid_config_x
+- vid_describecurrentmode
+- vid_describemode
+- vid_describemodes
+- vid_forcemode
+- vid_fullscreen
+- vid_fullscreen_mode
+- vid_minimize
+- vid_nopageflip
+- vid_nummodes
+- vid_restart
+- vid_stretch_by_2
+- vid_testmode
+- vid_windowed
+- vid_windowed_mode
+- vid_front
+- video
+- viewframe
+- viewmodel
+- viewnext
+- viewpos
+- viewprev
+- vminfo
+- vmprofile
+- voice_showbanned
+- votemap
+- vstr
+- wait
+- watervis
+- wave
+- weapon
+- weapon_knife
+- weaplast
+- weapnext
+- weapprev
+- windowsr_drawentities
+- writecfg
+- writeconfig
+- writeid
+- writeip
+- z_stats
+
+
+
+
+- ah
+- ActiveAction
+- _cl_color
+- _cl_name
+- _config_com_baud
+- _config_com_irq
+- _config_com_modem
+- _config_com_port
+- _config_modem_clear
+- _config_modem_dialtype
+- _config_modem_hangup
+- _config_modem_init
+- _snd_mixahead
+- _vid_default_mode
+- _vid_default_mode_win
+- _vid_wait_override
+- _windowed_mouse
+- address
+- adr
+- adr0
+- adr1
+- adr2
+- adr3
+- adr4
+- adr5
+- adr6
+- adr7
+- adr8
+- advanced
+- advaxisr
+- advaxisu
+- advaxisv
+- advaxisx
+- advaxisy
+- advaxisz
+- airaccelerate
+- allow
+- allow_download_players
+- ambient_fade
+- ambient_level
+- anglespeedkey
+- arch
+- array
+- arrays
+- att
+- auto
+- autoskins
+- b
+- bgmbuffer
+- bgmvolume
+- bit
+- bitdepth
+- blend
+- bob
+- bob_pitch
+- bob_roll
+- bob_up
+- bot_aasoptimize
+- bot_challenge
+- bot_debug
+- bot_developer
+- bot_enable
+- bot_fastchat
+- bot_forceclustering
+- bot_forcereachability
+- bot_forcewrite
+- bot_grapple
+- bot_groundonly
+- bot_interbreedbots
+- bot_interbreedchar
+- bot_interbreedcycle
+- bot_interbreedwrite
+- bot_maxdebugpolys
+- bot_miniplayers
+- bot_minplayers
+- bot_nochat
+- bot_pause
+- bot_reachability
+- bot_reloadcharacters
+- bot_report
+- bot_rocketjump
+- bot_saveroutingcache
+- bot_testclusters
+- bot_testichat
+- bot_testrchat
+- bot_testsolid
+- bot_thinktime
+- bot_visualizejumppads
+- brighten
+- brightness
+- broken
+- cd
+- cd_loopcount
+- cd_looptrack
+- cd_nocd
+- cd_plugin
+- centermove
+- centerspeed
+- centertime
+- cg_autoactivate
+- cg_autoswitch
+- cg_blinktime
+- cg_bloodTime
+- cg_bobpitch
+- cg_bobroll
+- cg_bobup
+- cg_brassTime
+- cg_cameraOrbitDelay
+- cg_clipboardName
+- cg_coronafardist
+- cg_coronas
+- cg_crosshairAlpha
+- cg_crosshairHealth
+- cg_crosshairSize
+- cg_crosshairX
+- cg_crosshairY
+- cg_currentSelectedPlayer
+- cg_currentSelectedPlayerName
+- cg_cursorHints
+- cg_cycleAllWeaps
+- cg_deferPlayers
+- cg_descriptiveText
+- cg_draw2D
+- cg_draw3dIcons
+- cg_drawAllWeaps
+- cg_drawAmmoWarning
+- cg_drawAttacker
+- cg_drawCompass
+- cg_drawCrosshair
+- cg_drawCrosshairNames
+- cg_drawCrosshairPickups
+- cg_drawFPGun
+- cg_drawFPS
+- cg_drawFrags
+- cg_drawGun
+- cg_drawIcons
+- cg_drawNotifyText
+- cg_drawRewards
+- cg_drawSnapshot
+- cg_drawSpreadScale
+- cg_drawStatus
+- cg_drawTeamOverlay
+- cg_drawTimer
+- cg_emptyswitch
+- cg_fov
+- cg_forcemodel
+- cg_gibs
+- cg_hudAlpha
+- cg_hudFiles
+- cg_lagometer
+- cg_marks
+- cg_marktime
+- cg_noplayeranims
+- cg_nopredict
+- cg_noTaunt
+- cg_noVoiceChats
+- cg_noVoiceText
+- cg_particleDist
+- cg_particleLOD
+- cg_popupLimboMenu
+- cg_predictItems
+- cg_quickMessageAlt
+- cg_railTrailTime
+- cg_recoilPitch
+- cg_reticleBrightness
+- cg_reticleType
+- cg_runpitch
+- cg_runroll
+- cg_scorePlums
+- cg_selectedPlayer
+- cg_selectedPlayerName
+- cg_shadows
+- cg_showblood
+- cg_simpleItems
+- cg_skybox
+- cg_stereoSeparation
+- cg_teamChatHeight
+- cg_teamChatTime
+- cg_teamChatsOnly
+- cg_thirdperson
+- cg_thirdpersonrange
+- cg_thirdPersonAngle
+- cg_useWeapsForZoom
+- cg_uselessNostalgia
+- cg_viewsize
+- cg_voiceSpriteTime
+- cg_weaponCycleDelay
+- cg_wolfparticles
+- cg_zoomDefaultBinoc
+- cg_zoomDefaultFG
+- cg_zoomDefaultSniper
+- cg_zoomDefaultSnooper
+- cg_zoomStepBinoc
+- cg_zoomStepFG
+- cg_zoomStepSnooper
+- cg_zoomfov
+- cg_zoomstepsniper
+- chase_active
+- chase_back
+- chase_right
+- chase_up
+- cheats
+- cl
+- cl_allowDownload
+- cl_anglespeedkey
+- cl_anonymous
+- cl_autoexec
+- cl_autoskins
+- cl_avidemo
+- cl_backspeed
+- cl_blend
+- cl_bob
+- cl_bobcycle
+- cl_bobup
+- cl_bypassMouseInput
+- cl_cacheGathering
+- cl_camera_maxpitch
+- cl_camera_maxyaw
+- cl_chasecam
+- cl_chatmode
+- cl_conXOffset
+- cl_crossx
+- cl_crossy
+- cl_cshift_bonus
+- cl_cshift_content
+- cl_cshift_damage
+- cl_cshift_powerup
+- cl_debugMove
+- cl_debugTranslation
+- cl_demospeed
+- cl_entities
+- cl_footsteps
+- cl_forceavidemo
+- cl_forwardspeed
+- cl_freelook
+- cl_freezeDemo
+- cl_gun
+- cl_hidefrags
+- cl_hightrack
+- cl_hudswap
+- cl_language
+- cl_lights
+- cl_maxPing
+- cl_maxfps
+- cl_maxpackets
+- cl_motd
+- cl_motdString
+- cl_mouseAccel
+- cl_movespeedkey
+- cl_nodelta
+- cl_nofake
+- cl_nolerp
+- cl_nopred
+- cl_noprint
+- cl_noskins
+- cl_packetdup
+- cl_parsesay
+- cl_particles
+- cl_paused
+- cl_pitchspeed
+- cl_predict
+- cl_predict_players
+- cl_predict_players2
+- cl_observercrosshair
+- cl_quakerc
+- cl_rollangle
+- cl_rollspeed
+- cl_run
+- cl_running
+- cl_serverStatusResendTime
+- cl_showfps
+- cl_showSend
+- cl_showServerCommands
+- cl_showTimeDelta
+- cl_showmiss
+- cl_showmouserate
+- cl_shownet
+- cl_shownuments
+- cl_sidespeed
+- cl_stats
+- cl_stereo
+- cl_stereo_separation
+- cl_testblend
+- cl_testentities
+- cl_testlights
+- cl_testparticles
+- cl_timeNudge
+- cl_timeout
+- cl_upspeed
+- cl_verstring
+- cl_visibleClients
+- cl_vwep
+- cl_waitForFire
+- cl_wavefilerecord
+- cl_yawspeed
+- clear
+- clearcolor
+- clientport
+- cm_playerCurveClip
+- cmd_highchars
+- cmd_warncmd
+- cmdlist
+- color
+- color1
+- color2
+- com_blood
+- com_buildScript
+- com_cameraMode
+- com_dropsim
+- com_hunkMegs
+- com_hunkused
+- com_introplayed
+- com_maxfps
+- com_recommendedSet
+- com_showtrace
+- com_soundMegs
+- com_speeds
+- com_zoneMegs
+- compiled
+- con_debug
+- con_notifytime
+- con_restricted
+- conspeed
+- contrast
+- coop
+- crosshair
+- crosshaircolor
+- cull
+- d_mipcap
+- d_mipscale
+- deathmatch
+- debug_protocol
+- debuggraph
+- dedicated
+- devdll
+- developer
+- dlabs
+- dmflags
+- dm
+- down
+- download
+- drawall
+- drawbuffer
+- drawentities
+- drawflat
+- draworder
+- drawworld
+- driver
+- dspeeds
+- dynamic
+- easter_eggs
+- edgefriction
+- empty
+- enforcetime
+- entities
+- entlatency
+- ext
+- filter
+- filterban
+- finish
+- fixedtime
+- flashblend
+- flood
+- flood_msgs
+- flood_persecond
+- flood_waitdelay
+- flushmap
+- footsteps
+- forward
+- forwardsensitivity
+- forwardspeed
+- forwardthreshold
+- fov
+- fraglimit
+- freelook
+- fs_basegame
+- fs_basepath
+- fs_cdpath
+- fs_copyfiles
+- fs_debug
+- fs_game
+- fs_globalcfg
+- fs_homepath
+- fs_pluginpath
+- fs_restrict
+- fs_sharepath
+- fs_skinbase
+- fs_usercfg
+- fs_userpath
+- fullbright
+- fullscreen
+- g_allowvote
+- g_altStopwatchMode
+- g_arenasFile
+- g_blueTeam
+- g_botsFile
+- g_complaintlimit
+- g_currentRound
+- g_friendlyFire
+- g_gameskill
+- g_gametype
+- g_maxlives
+- g_minGameClients
+- g_missionStats
+- g_nextTimeLimit
+- g_noTeamSwitching
+- g_redTeam
+- g_select_empty
+- g_spAwards
+- g_spScores1
+- g_spScores2
+- g_spScores3
+- g_spScores4
+- g_spScores5
+- g_spSkill
+- g_spVideos
+- g_userAlliedRespawnTime
+- g_userAxisRespawnTime
+- g_userTimeLimit
+- game
+- gamecfg
+- gamedate
+- gamedir
+- gamename
+- gamestate
+- gamma
+- gender
+- gender_auto
+- gl_3dlabs_broken
+- gl_allow_software
+- gl_bitdepth
+- gl_clear
+- gl_conalpha
+- gl_conspin
+- gl_cshiftpercent
+- gl_cull
+- gl_drawbuffer
+- gl_driver
+- gl_dynamic
+- gl_ext_compiled_vertex_array
+- gl_ext_multitexture
+- gl_ext_palettedtexture
+- gl_ext_pointparameters
+- gl_ext_swapinterval
+- gl_finish
+- gl_flashblend
+- gl_keeptjunctions
+- gl_lightmap
+- gl_lightmap_align
+- gl_lightmap_subimage
+- gl_lockpvs
+- gl_log
+- gl_max_size
+- gl_mesh_cache
+- gl_mode
+- gl_modulate
+- gl_monolightmap
+- gl_nobind
+- gl_nocolors
+- gl_nosubimage
+- gl_occlusion
+- gl_particle_att_a
+- gl_particle_att_b
+- gl_particle_att_c
+- gl_particle_max_size
+- gl_particle_min_size
+- gl_particle_mip
+- gl_particle_size
+- gl_picmip
+- gl_playermip
+- gl_polyblend
+- gl_reporttjunctions
+- gl_round_down
+- gl_saturatelighting
+- gl_screenshot_byte_swap
+- gl_shadows
+- gl_showtris
+- gl_sky_debug
+- gl_sky_divide
+- gl_skymip
+- gl_smoothmodels
+- gl_subdivide_size
+- gl_swapinterval
+- gl_texsort
+- gl_texturealphamode
+- gl_texturemode
+- gl_texturesolidmode
+- gl_triplebuffer
+- gl_vertex_arrays
+- gl_ztrick
+- graphheight
+- graphscale
+- graphshift
+- gravity
+- gun
+- gun_x
+- gun_y
+- gun_z
+- hand
+- handicap
+- head
+- headModel
+- headmodel
+- host
+- host_framerate
+- host_speeds
+- hostname
+- hostport
+- hud_fastswitch
+- in
+- in_amp
+- in_bind_imt
+- in_debugjoystick
+- in_dga
+- in_dga_mouseaccel
+- in_dgamouse
+- in_grab
+- in_joystick
+- in_midi
+- in_mouse
+- in_mouse_amp
+- in_mouse_filter
+- in_mouse_pre_amp
+- in_pre_amp
+- initsound
+- intensity
+- ip
+- ip_clientport
+- ip_hostport
+- ipx
+- ipx_clientport
+- ipx_hostport
+- journal
+- joy
+- joy_advanced
+- joy_advaxisr
+- joy_advaxisu
+- joy_advaxisv
+- joy_advaxisx
+- joy_advaxisy
+- joy_advaxisz
+- joy_amp
+- joy_device
+- joy_forwardsensitivity
+- joy_forwardthreshold
+- joy_name
+- joy_pitchsensitivity
+- joy_pitchthreshold
+- joy_pre_amp
+- joy_sensitivity
+- joy_sidesensitivity
+- joy_sidethreshold
+- joy_threshold
+- joy_upsensitivity
+- joy_upthreshold
+- joy_yawsensitivity
+- joy_yawthreshold
+- joyadvanced
+- joyadvaxisr
+- joyadvaxisu
+- joyadvaxisv
+- joyadvaxisx
+- joyadvaxisy
+- joyadvaxisz
+- joyaxis1
+- joyaxis2
+- joyaxis3
+- joyaxis4
+- joyaxis5
+- joyaxis6
+- joyaxis7
+- joyaxis8
+- joyforwardsensitivity
+- joyforwardthreshold
+- joyname
+- joypitchsensitivity
+- joypitchthreshold
+- joysidesensitivity
+- joysidethreshold
+- joystick
+- joywwhack1
+- joywwhack2
+- joyyawsensitivity
+- joyyawthreshold
+- khz
+- lcd_x
+- lcd_yaw
+- lerpmodels
+- lightmap
+- lights
+- limit
+- listen
+- loadas
+- loadas8bit
+- localid
+- lockpvs
+- log
+- log_stats
+- logfile
+- lookspring
+- lookstrafe
+- loopcount
+- looptrack
+- m_filter
+- m_forward
+- m_pitch
+- m_side
+- m_yaw
+- mapname
+- maps
+- max
+- maxclients
+- maxedges
+- maxentities
+- maxfps
+- maxplayers
+- maxspectators
+- maxsurfs
+- maxvelocity
+- min
+- mipcap
+- mipscale
+- mixahead
+- mode
+- model
+- models
+- modex
+- modulate
+- monolightmap
+- mouse
+- mp_currentPlayerType
+- mp_currentTeam
+- mp_playerType
+- mp_team
+- mp_weapon
+- mp_autokick
+- mp_autoteambalance
+- mp_c4timer
+- mp_flashlight
+- mp_footsteps
+- mp_forcechasecam
+- mp_freezetime
+- mp_friendlyfire
+- mp_hostagepenalty
+- mp_limitteams
+- mp_logmessages
+- mp_mapvoteration
+- mp_roundtime
+- mp_timelimit
+- mp_tkpunish
+- msg
+- msgs
+- multitexture
+- name
+- net_graph
+- net_ip
+- net_messagetimeout
+- net_noudp
+- net_port
+- net_qport
+- net_restart
+- netdosexpire
+- netdosvalues
+- netgraph
+- nextdemo
+- nextmap
+- nextserver
+- noalttab
+- nobind
+- nocd
+- nocull
+- nodelta
+- noexit
+- nomonsters
+- norefresh
+- noreload
+- noskins
+- nosound
+- nosubimage
+- novis
+- palettedtexture
+- particle
+- particles
+- password
+- pausable
+- persecond
+- picmip
+- pitch
+- pitchsensitivity
+- pitchspeed
+- pitchthreshold
+- playermip
+- players
+- pointparameters
+- polyblend
+- polymodelstats
+- port
+- pr_checkextensions
+- pr_deadbeef_ents
+- pr_deadbeef_locals
+- pr_debug
+- pr_source_path
+- precache
+- predict
+- primary
+- printspeed
+- protocol
+- public
+- pushlatency
+- qport
+- r_aliastransadj
+- r_aliastransbase
+- r_allowExtensions
+- r_allowSoftwareGL
+- r_ambient
+- r_ambientScale
+- r_bonesDebug
+- r_cache
+- r_cacheModels
+- r_cacheShaders
+- r_clear
+- r_clearcolor
+- r_colorMipLevels
+- r_colorbits
+- r_compressModels
+- r_customaspect
+- r_customheight
+- r_customwidth
+- r_debugSort
+- r_debugSurface
+- r_debuglight
+- r_depthbits
+- r_detailtextures
+- r_directedScale
+- r_displayRefresh
+- r_dlightBacks
+- r_dlight_lightmap
+- r_dlight_max
+- r_drawBuffer
+- r_drawSun
+- r_drawentities
+- r_drawexplosions
+- r_drawflat
+- r_draworder
+- r_drawviewmodel
+- r_drawworld
+- r_dspeeds
+- r_dynamic
+- r_dynamiclight
+- r_explosionclip
+- r_exportCompressedModels
+- r_ext_compiled_vertex_array
+- r_ext_compress_textures
+- r_ext_compressed_textures
+- r_ext_gamma_control
+- r_ext_multitexture
+- r_ext_texture_env_add
+- r_facePlaneCull
+- r_fastsky
+- r_finish
+- r_firecolor
+- r_flareFade
+- r_flareSize
+- r_flares
+- r_fullbright
+- r_fullscreen
+- r_gamma
+- r_glDriver
+- r_glIgnoreWicked3D
+- r_graphheight
+- r_highQualit
+- r_highQualityVideo
+- r_ignore
+- r_ignoreFastPath
+- r_ignoreGLErrors
+- r_ignorehwgamma
+- r_inGameVideo
+- r_intensity
+- r_lastValidRenderer
+- r_lerpmodels
+- r_lightmap
+- r_lightmap_components
+- r_lockpvs
+- r_lodCurveError
+- r_lodbias
+- r_lodscale
+- r_logFile
+- r_lowMemTextureSize
+- r_lowMemTextureThreshold
+- r_mapOverBrightBits
+- r_maxedges
+- r_maxpolys
+- r_maxpolyverts
+- r_maxsurfs
+- r_measureOverdraw
+- r_mirroralpha
+- r_mode
+- r_netgraph
+- r_netgraph_alpha
+- r_nobind
+- r_nocull
+- r_nocurves
+- r_noportals
+- r_norefresh
+- r_novis
+- r_numedges
+- r_numsurfs
+- r_offsetfactor
+- r_offsetunits
+- r_overBrightBits
+- r_particles_max
+- r_particles_style
+- r_picmip
+- r_picmip2
+- r_polymodelstats
+- r_portalOnly
+- r_preloadTextures
+- r_previousglDriver
+- r_primitives
+- r_printShaders
+- r_railCoreWidth
+- r_railSegmentLength
+- r_railWidth
+- r_reportedgeout
+- r_reportsurfout
+- r_rmse
+- r_roundImagesDown
+- r_saveFontData
+- r_shadows
+- r_showImages
+- r_showSmp
+- r_showcluster
+- r_shownormals
+- r_showsky
+- r_showtris
+- r_simpleMipMaps
+- r_singleShader
+- r_skipBackEnd
+- r_skyname
+- r_smp
+- r_speeds
+- r_stencilbits
+- r_stereo
+- r_subdivisions
+- r_swapInterval
+- r_textureMode
+- r_texturebits
+- r_timegraph
+- r_uiFullScreen
+- r_verbose
+- r_vertexLight
+- r_wateralpha
+- r_waterwarp
+- r_wolffog
+- r_zfar
+- r_znear
+- rate
+- rcon
+- rconAddress
+- rconPassword
+- rcon_address
+- rcon_password
+- reconnect
+- ref
+- registered
+- reportedgeout
+- reportsurfout
+- roll
+- rollangle
+- rollspeed
+- round
+- run
+- run_pitch
+- run_roll
+- s_compression
+- s_defaultsound
+- s_doppler
+- s_initsound
+- s_khz
+- s_loadas8bit
+- s_mixPreStep
+- s_mixahead
+- s_musicvolume
+- s_mute
+- s_nocompressed
+- s_usingA3D
+- s_primary
+- s_separation
+- s_show
+- s_testsound
+- s_volume
+- s_wavonly
+- samelevel
+- saturatelighting
+- saved1
+- saved2
+- saved3
+- saved4
+- savedgamecfg
+- scr
+- scr_centertime
+- scr_consize
+- scr_conspeed
+- scr_drawall
+- scr_ofsx
+- scr_ofsy
+- scr_ofsz
+- scr_printspeed
+- scr_showpause
+- scr_showturtle
+- scratch1
+- scratch2
+- scratch3
+- scratch4
+- screenshot
+- select
+- sensitivity
+- separation
+- server1
+- server10
+- server11
+- server12
+- server13
+- server14
+- server15
+- server16
+- server2
+- server3
+- server4
+- server5
+- server6
+- server7
+- server8
+- server9
+- serverprofile
+- sex
+- shadows
+- show
+- showclamp
+- showdrop
+- showmiss
+- shownet
+- showpackets
+- showpause
+- showram
+- showtrace
+- showtris
+- showturtle
+- side
+- sidesensitivity
+- sidespeed
+- sidethreshold
+- size
+- skill
+- skin
+- skymip
+- snaps
+- snd_bits
+- snd_device
+- snd_interp
+- snd_loadas8bit
+- snd_mixahead
+- snd_noextraupdate
+- snd_oss_mmaped
+- snd_output
+- snd_phasesep
+- snd_rate
+- snd_render
+- snd_show
+- snd_stereo
+- snd_volumesep
+- sndbits
+- sndchannels
+- snddevice
+- sndspeed
+- software
+- sounds
+- spectator
+- spectator_password
+- speeds
+- stats
+- stereo
+- stipplealpha
+- surfcacheoverride
+- sv
+- sv_accelerate
+- sv_aim
+- sv_airaccelerate
+- sv_allowAnonymous
+- sv_allowDownload
+- sv_cheats
+- sv_enforcetime
+- sv_floodProtect
+- sv_fps
+- sv_friction
+- sv_gravity
+- sv_hostname
+- sv_idealpitchscale
+- sv_keywords
+- sv_killserver
+- sv_mapChecksum
+- sv_master1
+- sv_master2
+- sv_master3
+- sv_master4
+- sv_master5
+- sv_maxPing
+- sv_maxRate
+- sv_maxclients
+- sv_maxrate
+- sv_maxspeed
+- sv_maxtic
+- sv_maxvelocity
+- sv_minPing
+- sv_minqfversion
+- sv_mintic
+- sv_netdosprotect
+- sv_noreload
+- sv_nostep
+- sv_onlyVisibleClients
+- sv_padPackets
+- sv_pakNames
+- sv_paks
+- sv_paused
+- sv_phs
+- sv_privateClients
+- sv_privatePassword
+- sv_progs
+- sv_pure
+- sv_reconnect_limit
+- sv_reconnectlimit
+- sv_referencedPakNames
+- sv_referencedPaks
+- sv_restartround
+- sv_rollangle
+- sv_rollspeed
+- sv_running
+- sv_serverid
+- sv_showAverageBPS
+- sv_showloss
+- sv_spectalk
+- sv_stopspeed
+- sv_timefmt
+- sv_timekick
+- sv_timekick_fuzz
+- sv_timekick_interval
+- sv_timeout
+- sv_timestamps
+- sv_wateraccelerate
+- sv_waterfriction
+- sv_zombietime
+- sw
+- sw_allow_modex
+- sw_clearcolor
+- sw_drawflat
+- sw_draworder
+- sw_maxedges
+- sw_maxsurfs
+- sw_mipcap
+- sw_mipscale
+- sw_mode
+- sw_polymodelstats
+- sw_reportedgeout
+- sw_reportsurfout
+- sw_stipplealpha
+- sw_surfcacheoverride
+- sw_waterwarp
+- swapinterval
+- sys_cpustring
+- sys_nostdout
+- sys_sleep
+- sys_ticrate
+- team
+- team_headmodel
+- team_model
+- teamplay
+- teamtask
+- temp1
+- testblend
+- testentities
+- testlights
+- testparticles
+- testsound
+- texturealphamode
+- texturemode
+- texturesolidmode
+- timedemo
+- timegraph
+- timelimit
+- timeout
+- timescale
+- topcolor
+- triplebuffer
+- ttycon
+- ui_Q3Model
+- ui_actualNetGametype
+- ui_bigFont
+- ui_browserGameType
+- ui_browserMaster
+- ui_browserShowEmpty
+- ui_browserShowFriendlyFire
+- ui_browserShowFull
+- ui_browserShowMaxlives
+- ui_browserShowTourney
+- ui_browserSortKey
+- ui_cdkeychecked
+- ui_class
+- ui_cmd
+- ui_ctf_capturelimit
+- ui_ctf_friendly
+- ui_ctf_timelimit
+- ui_currentMap
+- ui_currentNetMap
+- ui_dedicated
+- ui_ffa_fraglimit
+- ui_ffa_timelimit
+- ui_gametype
+- ui_glCustom
+- ui_isSpectator
+- ui_joinGametype
+- ui_limboMode
+- ui_limboObjective
+- ui_limboOptions
+- ui_limboPrevOptions
+- ui_mapIndex
+- ui_master
+- ui_menuFiles
+- ui_mousePitch
+- ui_netGametype
+- ui_netSource
+- ui_notebookCurrentPage
+- ui_objective
+- ui_prevClass
+- ui_prevTeam
+- ui_prevWeapon
+- ui_serverStatusTimeOut
+- ui_singlePlayerActive
+- ui_smallFont
+- ui_spSelection
+- ui_team
+- ui_teamArenaFirstRun
+- ui_team_fraglimit
+- ui_team_friendly
+- ui_team_timelimit
+- ui_tourney_fraglimit
+- ui_tourney_timelimit
+- ui_userAlliedRespawnTime
+- ui_userAxisRespawnTime
+- ui_userTimeLimit
+- ui_weapon
+- up
+- upsensitivity
+- upspeed
+- upthreshold
+- username
+- v_centermove
+- v_centerspeed
+- v_idlescale
+- v_ipitch_cycle
+- v_ipitch_level
+- v_iroll_cycle
+- v_iroll_level
+- v_iuaw_cycle
+- v_iyaw_cycle
+- v_iyaw_level
+- v_kickpitch
+- v_kickroll
+- v_kicktime
+- version
+- vertex
+- vid
+- vid_config_x
+- vid_config_y
+- vid_fullscreen
+- vid_fullscreen_mode
+- vid_gamma
+- vid_height
+- vid_mode
+- vid_nopageflip
+- vid_ref
+- vid_system_gamma
+- vid_use8bit
+- vid_wait
+- vid_width
+- vid_window_x
+- vid_window_y
+- vid_windowed_mode
+- vid_xpos
+- vid_ypos
+- viewlog
+- viewsize
+- vm_cgame
+- vm_game
+- vm_ui
+- volume
+- vwep
+- waitdelay
+- waterwarp
+- wavonly
+- win
+- win_noalttab
+- win_hinstance
+- win_wndproc
+- xpos
+- yaw
+- yawsensitivity
+- yawspeed
+- yawthreshold
+- ypos
+- zombietime
+- ztrick
+
+
+
+
+- +attack
+- +ttack2
+- +alt1
+- +activate
+- +back
+- +break
+- +button0
+- +button1
+- +button10
+- +button11
+- +button12
+- +button13
+- +button14
+- +button2
+- +button3
+- +button4
+- +button5
+- +button6
+- +button7
+- +button8
+- +button9
+- +camdistance
+- +camin
+- +cammousemove
+- +camout
+- +campitchdown
+- +campitchup
+- +camyawleft
+- +camyawright
+- +commandmenu
+- +dropweapon
+- +duck
+- +forward
+- +graph
+- +jlook
+- +jump
+- +kick
+- +klook
+- +leanleft
+- +leanright
+- +left
+- +lookdown
+- +lookup
+- +mlook
+- +movedown
+- +moveleft
+- +moveright
+- +moveup
+- +nvgadjust
+- +quickgren
+- +reload
+- +right
+- +salute
+- +score
+- +showscores
+- +speed
+- +sprint
+- +strafe
+- +use
+- +useitem
+- +voicerecord
+- +wbutton7
+- +zoom
+- -activate
+- -alt1
+- -attack
+- -attack2
+- -back
+- -break
+- -button0
+- -button1
+- -button10
+- -button11
+- -button12
+- -button13
+- -button14
+- -button2
+- -button3
+- -button4
+- -button5
+- -button6
+- -button7
+- -button8
+- -button9
+- -camdistance
+- -camin
+- -cammousemove
+- -camout
+- -campitchdown
+- -campitchup
+- -camyawleft
+- -camyawright
+- -commandmenu
+- -dropweapon
+- -duck
+- -forward
+- -graph
+- -jlook
+- -jump
+- -kick
+- -klook
+- -leanleft
+- -leanright
+- -left
+- -lookdown
+- -lookup
+- -mlook
+- -movedown
+- -moveleft
+- -moveright
+- -moveup
+- -nvgadjust
+- -quickgren
+- -reload
+- -right
+- -salute
+- -score
+- -showscores
+- -speed
+- -sprint
+- -strafe
+- -use
+- -useitem
+- -voicerecord
+- -wbutton7
+- -zoom
+
+
+
+
+- *
+- [
+- ]
+- \
+- /
+- '
+- =
+- -
+- +
+- ,
+- .
+- `
+- ~
+- 1
+- 2
+- 3
+- 4
+- 5
+- 6
+- 7
+- 8
+- 9
+- 0
+- a
+- b
+- c
+- d
+- e
+- f
+- g
+- h
+- i
+- j
+- k
+- l
+- m
+- n
+- o
+- p
+- q
+- r
+- s
+- t
+- u
+- v
+- x
+- w
+- y
+- z
+- ALT
+- AUX1
+- AUX10
+- AUX11
+- AUX12
+- AUX13
+- AUX14
+- AUX15
+- AUX16
+- AUX17
+- AUX18
+- AUX2
+- AUX20
+- AUX21
+- AUX22
+- AUX23
+- AUX24
+- AUX25
+- AUX26
+- AUX27
+- AUX28
+- AUX29
+- AUX3
+- AUX30
+- AUX31
+- AUX32
+- AUX4
+- AUX5
+- AUX6
+- AUX7
+- AUX8
+- AUX9
+- BACKSPACE
+- CTRL
+- DEL
+- DOWNARROW
+- END
+- ENTER
+- ESCAPE
+- F1
+- F10
+- F11
+- F12
+- F2
+- F3
+- F4
+- F5
+- F6
+- F7
+- F8
+- F9
+- HOME
+- INS
+- JOY1
+- JOY2
+- JOY3
+- JOY4
+- KP_SLASH
+- KP_5
+- KP_UPARROW
+- KP_LEFTARROW
+- KP_RIGHTARROW
+- KP_DOWNARROW
+- KP_HOME
+- KP_END
+- KP_PGUP
+- KP_PGDN
+- KP_INS
+- KP_DEL
+- LEFTARROW
+- MOUSE1
+- MOUSE2
+- MOUSE3
+- MWHEELDOWN
+- MWHEELUP
+- PAUSE
+- PGDN
+- PGUP
+- RIGHTARROW
+- SEMICOLON
+- CAPSLOCK
+- SHIFT
+- SPACE
+- TAB
+- UPARROW
+
+
+
+ - ;
+ - $
+
+
+ - bind
+ - unbind
+
+
+ - set
+ - seta
+ - setu
+ - sets
+
+
+ - echo
+ - say_team
+ - say
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/idl.xml b/data/syntax/idl.xml
new file mode 100644
index 0000000..0e9fa81
--- /dev/null
+++ b/data/syntax/idl.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+ - any
+ - attribute
+ - case
+ - const
+ - context
+ - default
+ - enum
+ - exception
+ - FALSE
+ - fixed
+ - public
+ - in
+ - inout
+ - interface
+ - module
+ - Object
+ - oneway
+ - out
+ - raises
+ - readonly
+ - sequence
+ - struct
+ - switch
+ - TRUE
+ - typedef
+ - unsigned
+ - union
+
+
+ - boolean
+ - char
+ - double
+ - float
+ - long
+ - octet
+ - short
+ - string
+ - void
+ - wchar
+ - wstring
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ilerpg.xml b/data/syntax/ilerpg.xml
new file mode 100644
index 0000000..a38fdc4
--- /dev/null
+++ b/data/syntax/ilerpg.xml
@@ -0,0 +1,725 @@
+
+
+
+
+
+
+ - EXTPROC
+ - EXTPGM
+ - OPDESC
+ - DATFMT
+ - DIM
+ - LIKEDS
+ - LIKEREC
+ - LIKE
+ - PROCPTR
+ - TIMFMT
+ - VARYING
+ - ASCEND
+ - CONST
+ - NOOPT
+ - OPTIONS
+ - VALUE
+ - QUALIFIED
+ - INZ
+ - BASED
+
+
+ - DATFMT
+ - DIM
+ - LIKE
+ - LIKEDS
+ - LIKEREC
+ - PROCPTR
+ - TIMFMT
+
+
+ - FREE
+ - END-FREE
+ - TITLE
+ - EJECT
+ - SPACE
+ - COPY
+ - INCLUDE
+ - DEFINE
+ - UNDEFINE
+ - IF
+ - ELSE
+ - EXEC
+ - END-EXEC
+ - ELSEIF
+ - ENDIF
+ - EOF
+
+
+ - NOT
+ - DEFINED
+
+
+ - DEFINED
+
+
+ - ABS
+ - ADDR
+ - ALLOC
+ - BITAND
+ - BITNOT
+ - BITOR
+ - BITXOR
+ - CHAR
+ - CHECK
+ - CHECKR
+ - DATE
+ - DAYS
+ - DEC
+ - DECH
+ - DECPOS
+ - DIFF
+ - DIV
+ - EDITC
+ - EDITFLT
+ - EDITW
+ - ELEM
+ - EOF
+ - EQUAL
+ - ERROR
+ - FIELDS
+ - FLOAT
+ - FOUND
+ - GRAPH
+ - HOURS
+ - INT
+ - INTH
+ - KDS
+ - LEN
+ - LOOKUP
+ - LOOKUPLT
+ - LOOKUPLE
+ - LOOKUPGT
+ - LOOKUPGE
+ - MINUTES
+ - MONTHS
+ - MSECONDS
+ - NULLIND
+ - OCCUR
+ - OPEN
+ - PADDR
+ - PARMS
+ - REALLOC
+ - REM
+ - REPLACE
+ - SCAN
+ - SECONDS
+ - SHTDN
+ - SIZE
+ - SQRT
+ - STATUS
+ - STR
+ - SUBARR
+ - SUBDT
+ - SUBST
+ - THIS
+ - TIME
+ - TIMESTAMP
+ - TLOOKUP
+ - TLOOKUPLT
+ - TLOOKUPLE
+ - TLOOKUPGT
+ - TLOOKUPGE
+ - TRIM
+ - TRIML
+ - TRIMR
+ - UCS2
+ - UNS
+ - UNSH
+ - XFOOT
+ - XLATE
+ - YEARS
+
+
+ - IF
+
+
+ - DOW
+ - DOU
+ - FOR
+
+
+ - WHEN
+ - EVAL
+
+
+ - EVALR
+
+
+ - RETURN
+
+
+ - ON-ERROR
+
+
+ - DO
+ - IN
+ - OR
+
+
+ - ACQ
+ - ADD
+ - AND
+ - CAB
+ - CAS
+ - CAT
+ - DIV
+ - DOU
+ - END
+ - MVR
+ - OUT
+ - REL
+ - SUB
+ - TAG
+
+
+ - CALL
+ - COMP
+ - DUMP
+ - ELSE
+ - EXSR
+ - FEOD
+ - GOTO
+ - IFGT
+ - IFLT
+ - IFEQ
+ - IFNE
+ - IFGE
+ - IFLE
+ - ITER
+ - KFLD
+ - MOVE
+ - MULT
+ - NEXT
+ - OPEN
+ - ORGT
+ - ORLT
+ - OREQ
+ - ORNE
+ - ORGE
+ - ORLE
+ - PARM
+ - POST
+ - READ
+ - SCAN
+ - SQRT
+ - TEST
+ - TIME
+
+
+ - ALLOC
+ - ANDGT
+ - ANDLT
+ - ANDEQ
+ - ANDNE
+ - ANDGE
+ - ANDLE
+ - BEGSR
+ - BITON
+ - CABGT
+ - CABLT
+ - CABEQ
+ - CABNE
+ - CABGE
+ - CABLE
+ - CALLB
+ - CALLP
+ - CASGT
+ - CASLT
+ - CASEQ
+ - CASNE
+ - CASGE
+ - CASLE
+ - CHAIN
+ - CHECK
+ - CLEAR
+ - CLOSE
+ - CHECK
+ - CLEAR
+ - CLOSE
+ - DOWGT
+ - DOWLT
+ - DOWEQ
+ - DOWNE
+ - DOWGE
+ - DOWLE
+ - DOUGT
+ - DOULT
+ - DOUEQ
+ - DOUNE
+ - DOUGE
+ - DOULE
+ - DSPLY
+ - ENDCS
+ - ENDDO
+ - ENDIF
+ - ENDSL
+ - ENDSR
+ - EXFMT
+ - FORCE
+ - KLIST
+ - LEAVE
+ - MHHZO
+ - MHLZO
+ - MLHZO
+ - MLLZO
+ - MOVEA
+ - MOVEL
+ - OCCUR
+ - OTHER
+ - PLIST
+ - READC
+ - READE
+ - READP
+ - RESET
+ - ROLBK
+ - SETGT
+ - SETLL
+ - SETON
+ - SHTDN
+ - SORTA
+ - SUBST
+ - TESTB
+ - TESTN
+ - TESTZ
+ - WRITE
+ - XFOOT
+ - XLATE
+
+
+ - ADDDUR
+ - BITOFF
+ - CHECKR
+ - COMMIT
+ - DEFINE
+ - DELETE
+ - EXCEPT
+ - EXTRCT
+ - LOOKUP
+ - READPE
+ - RETURN
+ - SELECT
+ - SETOFF
+ - SUBDUR
+ - UNLOCK
+ - UPDATE
+ - WHENGT
+ - WHENLT
+ - WHENEQ
+ - WHENNR
+ - WHENGE
+ - WHENLE
+
+
+ - DEALLOC
+ - REALLOC
+
+
+ - ACQ
+ - BEGSR
+ - CALLP
+ - CHAIN
+ - CLEAR
+ - CLOSE
+ - COMMIT
+ - DEALLOC
+ - DELETE
+ - DOU
+ - DOW
+ - DSPLY
+ - DUMP
+ - ELSE
+ - ELSEIF
+ - ENDDO
+ - ENDFOR
+ - ENDIF
+ - ENDMON
+ - ENDSL
+ - ENDSR
+ - EVAL
+ - EVALR
+ - EXCEPT
+ - EXFMT
+ - EXSR
+ - FEOD
+ - FOR
+ - FORCE
+ - IF
+ - IN
+ - ITER
+ - LEAVE
+ - LEAVESR
+ - MONITOR
+ - NEXT
+ - ON-ERROR
+ - OPEN
+ - OTHER
+ - OUT
+ - POST
+ - READ
+ - READC
+ - READE
+ - READP
+ - READPE
+ - REL
+ - RESET
+ - RETURN
+ - ROLBK
+ - SELECT
+ - SETGT
+ - SETLL
+ - SORTA
+ - TEST
+ - UNLOCK
+ - UPDATE
+ - WHEN
+ - WRITE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/inform.xml b/data/syntax/inform.xml
new file mode 100644
index 0000000..ce00282
--- /dev/null
+++ b/data/syntax/inform.xml
@@ -0,0 +1,405 @@
+
+
+
+
+
+
+
+ - if
+ - for
+ - else
+ - box
+ - break
+ - continue
+ - do
+ - until
+ - font
+ - give
+ - inversion
+ - jump
+ - on
+ - to
+ - move
+ - new_line
+ - objectloop
+ - print
+ - print_ret
+ - quit
+ - read
+ - remove
+ - restore
+ - return
+ - rtrue
+ - rfalse
+ - save
+ - spaces
+ - spring
+ - style
+ - switch
+
+
+
+ - metaclass
+ - parent
+ - child
+ - children
+ - Achieved
+ - AddToScope
+ - allowpushdir
+ - CDefArt
+ - ChangeDefault
+ - DefArt
+ - DoMenu
+ - EnglishNumber
+ - HasLightSource
+ - InDefArt
+ - Locale
+ - LoopOverScope
+ - NextWord
+ - NextWordStopped
+ - NounDomain
+ - ObjectIsUntouchable
+ - OffersLight
+ - PlaceInScope
+ - PlayerTo
+ - PrintShortName
+ - ScopeWithin
+ - SetTime
+ - StartDaemon
+ - StartTimer
+ - StopDaemon
+ - StopTimer
+ - TestScope
+ - TryNumber
+ - UnsignedCompare
+ - WordAddress
+ - WordLenght
+ - WriteListFrom
+ - YesOrNo
+ - ZRegion
+
+
+ - Pronouns
+ - Quit
+ - Restore
+ - Save
+ - Verify
+ - Restart
+ - ScriptOn
+ - ScriptOff
+ - NotifyOn
+ - NotifyOff
+ - Places
+ - Objects
+ - Score
+ - FullScore
+ - Version
+ - LMode1
+ - LMode2
+ - LMode3
+ - Inv
+
+
+ - Inv
+ - InvTall
+ - InvWide
+ - Take
+ - Drop
+ - Empty
+ - Enter
+ - Exit
+ - GetOff
+ - Go
+ - GoIn
+ - Look
+ - Examine
+ - Search
+ - Give
+ - Show
+ - Unlock
+ - Lock
+ - SwitchOn
+ - SwitchOff
+ - Open
+ - Close
+ - Disrobe
+ - Wear
+ - Eat
+
+ - LetGo
+ - Receive
+ - Insert
+ - PutOn
+ - Transfer
+ - Empty
+ - EmptyT
+ - GetOff
+ - GoIn
+ - Listen
+ - Taste
+ - Touch
+
+ - Pull
+ - Push
+ - Wave
+ - Turn
+ - PushDir
+ - ThrowAt
+ - ThrownAt
+ - JumpOn
+ - Drink
+ - Attack
+ - Tie
+ - Fill
+ - Swing
+ - Blow
+ - Rub
+ - Set
+ - SetTo
+ - Buy
+ - Climb
+ - Squeeze
+ - Climb
+ - Burn
+ - Cut
+ - Dig
+
+ - Consult
+ - Tell
+ - Answer
+ - Ask
+ - AskFor
+ - Kiss
+
+ - Sleep
+ - Sing
+ - WaveHands
+ - Swim
+ - Sorry
+ - Sing
+ - Strong
+ - Mild
+ - Smell
+ - Pray
+ - Jump
+ - Think
+ - VagueGo
+ - Yes
+ - No
+ - Sing
+
+
+
+ - String
+ - Routine
+ - bold
+ - roman
+ - underline
+ - fixed
+ - nothing
+ - true
+ - false
+ - on
+ - off
+ - sender
+ - self
+ - location
+ - score
+ - action
+ - actor
+ - noun
+ - second
+ - the_time
+ - consult_from
+ - consult_words
+ - wn
+ - actors_location
+ - buffer
+ - player
+
+
+
+ - Ifdef
+ - Ifndef
+ - Iftrue
+ - Iffalse
+ - Ifnot
+ - Endif
+ - End
+ - Abbreviate
+ - Array
+ - Attribute
+ - Constant
+ - Default
+ - Extend
+ - Global
+ - Ifnot
+ - Iftrue
+ - Iffalse
+ - Import
+ - Include
+ - Link
+ - Lowstring
+ - Message
+ - Property
+ - Release
+ - Replace
+ - Serial
+ - Switches
+ - Statusline
+ - score
+ - System_file
+ - Verb
+
+
+
+ - #ifdef
+ - #else
+ - #ifndef
+ - #endif
+
+
+
+ - has
+ - hasn't
+ - in
+ - notin
+ - provides
+ - ofclass
+ - or
+
+
+
+ - with
+ - private
+ - has
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ini.xml b/data/syntax/ini.xml
new file mode 100644
index 0000000..dba0e20
--- /dev/null
+++ b/data/syntax/ini.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+- On
+- Off
+- Default
+- Defaults
+- Localhost
+- Null
+- True
+- False
+- Yes
+- No
+- Normal
+
+
+- E_ALL
+- E_ERROR
+- E_WARNING
+- E_PARSE
+- E_NOTICE
+- E_STRICT
+- E_CORE_ERROR
+- E_CORE_WARNING
+- E_COMPILE_ERROR
+- E_COMPILE_WARNING
+- E_USER_ERROR
+- E_USER_WARNING
+- E_USER_NOTICE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/isocpp.xml b/data/syntax/isocpp.xml
new file mode 100644
index 0000000..69f3f81
--- /dev/null
+++ b/data/syntax/isocpp.xml
@@ -0,0 +1,516 @@
+
+
+
+
+
+
+
+]>
+
+
+
+
+ - break
+ - case
+ - catch
+ - continue
+ - default
+ - do
+ - else
+ - for
+ - goto
+ - if
+ - return
+ - switch
+ - throw
+ - try
+ - while
+
+
+ - alignof
+ - alignas
+ - asm
+ - auto
+ - class
+ - constexpr
+ - const_cast
+ - decltype
+ - delete
+ - dynamic_cast
+ - enum
+ - explicit
+ - export
+ - false
+ - final
+ - friend
+ - inline
+ - namespace
+ - new
+ - noexcept
+ - nullptr
+ - operator
+ - override
+ - private
+ - protected
+ - public
+ - reinterpret_cast
+ - sizeof
+ - static_assert
+ - static_cast
+ - struct
+ - template
+ - this
+ - true
+ - typedef
+ - typeid
+ - typename
+ - union
+ - using
+ - virtual
+
+ - and
+ - and_eq
+ - bitand
+ - bitor
+ - compl
+ - not
+ - not_eq
+ - or
+ - or_eq
+ - xor
+ - xor_eq
+
+
+
+ - template
+
+
+
+
+
+ - noreturn
+ - carries_dependency
+
+ - deprecated
+
+
+
+ - bool
+ - char
+ - char16_t
+ - char32_t
+ - double
+ - float
+ - int
+ - long
+ - short
+ - signed
+ - unsigned
+ - void
+ - int8_t
+ - int16_t
+ - int32_t
+ - int64_t
+ - uint8_t
+ - uint16_t
+ - uint32_t
+ - uint64_t
+ - int_least8_t
+ - int_least16_t
+ - int_least32_t
+ - int_least64_t
+ - uint_least8_t
+ - uint_least16_t
+ - uint_least32_t
+ - uint_least64_t
+ - int_fast8_t
+ - int_fast16_t
+ - int_fast32_t
+ - int_fast64_t
+ - uint_fast8_t
+ - uint_fast16_t
+ - uint_fast32_t
+ - uint_fast64_t
+ - size_t
+ - ssize_t
+ - wchar_t
+ - intptr_t
+ - uintptr_t
+ - intmax_t
+ - uintmax_t
+ - ptrdiff_t
+ - sig_atomic_t
+ - wint_t
+
+
+ - const
+ - extern
+ - mutable
+ - register
+ - static
+ - thread_local
+ - volatile
+
+
+ - __FILE__
+ - __LINE__
+ - __DATE__
+ - __TIME__
+ - __STDC__
+ - __STDC_VERSION__
+ - __STDC_HOSTED__
+ - __STDC_ISO_10646__
+ - __STDC_MB_MIGHT_NEQ_WC__
+ - __cplusplus
+ - __func__
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/j.xml b/data/syntax/j.xml
new file mode 100644
index 0000000..fae5b2f
--- /dev/null
+++ b/data/syntax/j.xml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/jam.xml b/data/syntax/jam.xml
new file mode 100644
index 0000000..6d71eed
--- /dev/null
+++ b/data/syntax/jam.xml
@@ -0,0 +1,347 @@
+
+
+
+
+
+
+
+ - actions
+ - break
+ - continue
+ - for
+ - in
+ - if
+ - else
+ - include
+ - local
+ - on
+ - return
+ - rule
+ - switch
+ - case
+ - while
+
+
+ - local
+
+
+ - existing
+ - ignore
+ - piecemeal
+ - quietly
+ - together
+ - updated
+
+
+ - bind
+
+ - :
+ - ;
+ - [
+ - ]
+ - (
+ - )
+ - {
+ - }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/java.xml b/data/syntax/java.xml
new file mode 100644
index 0000000..64c97ee
--- /dev/null
+++ b/data/syntax/java.xml
@@ -0,0 +1,3858 @@
+
+
+
+
+
+ - ACTIVE
+ - ACTIVITY_COMPLETED
+ - ACTIVITY_REQUIRED
+ - ARG_IN
+ - ARG_INOUT
+ - ARG_OUT
+ - AWTError
+ - AWTEvent
+ - AWTEventListener
+ - AWTEventListenerProxy
+ - AWTEventMulticaster
+ - AWTException
+ - AWTKeyStroke
+ - AWTPermission
+ - AbstractAction
+ - AbstractBorder
+ - AbstractButton
+ - AbstractCellEditor
+ - AbstractCollection
+ - AbstractColorChooserPanel
+ - AbstractDocument
+ - AbstractDocument.AttributeContext
+ - AbstractDocument.Content
+ - AbstractDocument.ElementEdit
+ - AbstractExecutorService
+ - AbstractInterruptibleChannel
+ - AbstractLayoutCache
+ - AbstractLayoutCache.NodeDimensions
+ - AbstractList
+ - AbstractListModel
+ - AbstractMap
+ - AbstractMethodError
+ - AbstractPreferences
+ - AbstractQueue
+ - AbstractQueuedSynchronizer
+ - AbstractSelectableChannel
+ - AbstractSelectionKey
+ - AbstractSelector
+ - AbstractSequentialList
+ - AbstractSet
+ - AbstractSpinnerModel
+ - AbstractTableModel
+ - AbstractUndoableEdit
+ - AbstractWriter
+ - AccessControlContext
+ - AccessControlException
+ - AccessController
+ - AccessException
+ - Accessible
+ - AccessibleAction
+ - AccessibleAttributeSequence
+ - AccessibleBundle
+ - AccessibleComponent
+ - AccessibleContext
+ - AccessibleEditableText
+ - AccessibleExtendedComponent
+ - AccessibleExtendedTable
+ - AccessibleExtendedText
+ - AccessibleHyperlink
+ - AccessibleHypertext
+ - AccessibleIcon
+ - AccessibleKeyBinding
+ - AccessibleObject
+ - AccessibleRelation
+ - AccessibleRelationSet
+ - AccessibleResourceBundle
+ - AccessibleRole
+ - AccessibleSelection
+ - AccessibleState
+ - AccessibleStateSet
+ - AccessibleStreamable
+ - AccessibleTable
+ - AccessibleTableModelChange
+ - AccessibleText
+ - AccessibleTextSequence
+ - AccessibleValue
+ - AccountException
+ - AccountExpiredException
+ - AccountLockedException
+ - AccountNotFoundException
+ - Acl
+ - AclEntry
+ - AclNotFoundException
+ - Action
+ - ActionEvent
+ - ActionListener
+ - ActionMap
+ - ActionMapUIResource
+ - Activatable
+ - ActivateFailedException
+ - ActivationDesc
+ - ActivationException
+ - ActivationGroup
+ - ActivationGroupDesc
+ - ActivationGroupDesc.CommandEnvironment
+ - ActivationGroupID
+ - ActivationGroup_Stub
+ - ActivationID
+ - ActivationInstantiator
+ - ActivationMonitor
+ - ActivationSystem
+ - Activator
+ - ActiveEvent
+ - ActivityCompletedException
+ - ActivityRequiredException
+ - AdapterActivator
+ - AdapterActivatorOperations
+ - AdapterAlreadyExists
+ - AdapterAlreadyExistsHelper
+ - AdapterInactive
+ - AdapterInactiveHelper
+ - AdapterManagerIdHelper
+ - AdapterNameHelper
+ - AdapterNonExistent
+ - AdapterNonExistentHelper
+ - AdapterStateHelper
+ - AddressHelper
+ - Adjustable
+ - AdjustmentEvent
+ - AdjustmentListener
+ - Adler32
+ - AffineTransform
+ - AffineTransformOp
+ - AlgorithmParameterGenerator
+ - AlgorithmParameterGeneratorSpi
+ - AlgorithmParameterSpec
+ - AlgorithmParameters
+ - AlgorithmParametersSpi
+ - AllPermission
+ - AlphaComposite
+ - AlreadyBound
+ - AlreadyBoundException
+ - AlreadyBoundHelper
+ - AlreadyBoundHolder
+ - AlreadyConnectedException
+ - AncestorEvent
+ - AncestorListener
+ - AnnotatedElement
+ - Annotation
+ - AnnotationFormatError
+ - AnnotationTypeMismatchException
+ - Any
+ - AnyHolder
+ - AnySeqHelper
+ - AnySeqHelper
+ - AnySeqHolder
+ - AppConfigurationEntry
+ - AppConfigurationEntry.LoginModuleControlFlag
+ - Appendable
+ - Applet
+ - AppletContext
+ - AppletInitializer
+ - AppletStub
+ - ApplicationException
+ - Arc2D
+ - Arc2D.Double
+ - Arc2D.Float
+ - Area
+ - AreaAveragingScaleFilter
+ - ArithmeticException
+ - Array
+ - Array
+ - ArrayBlockingQueue
+ - ArrayIndexOutOfBoundsException
+ - ArrayList
+ - ArrayStoreException
+ - ArrayType
+ - Arrays
+ - AssertionError
+ - AsyncBoxView
+ - AsynchronousCloseException
+ - AtomicBoolean
+ - AtomicInteger
+ - AtomicIntegerArray
+ - AtomicIntegerFieldUpdater
+ - AtomicLong
+ - AtomicLongArray
+ - AtomicLongFieldUpdater
+ - AtomicMarkableReference
+ - AtomicReference
+ - AtomicReferenceArray
+ - AtomicReferenceFieldUpdater
+ - AtomicStampedReference
+ - Attr
+ - Attribute
+ - Attribute
+ - Attribute
+ - AttributeChangeNotification
+ - AttributeChangeNotificationFilter
+ - AttributeException
+ - AttributeInUseException
+ - AttributeList
+ - AttributeList
+ - AttributeList
+ - AttributeListImpl
+ - AttributeModificationException
+ - AttributeNotFoundException
+ - AttributeSet
+ - AttributeSet
+ - AttributeSet.CharacterAttribute
+ - AttributeSet.ColorAttribute
+ - AttributeSet.FontAttribute
+ - AttributeSet.ParagraphAttribute
+ - AttributeSetUtilities
+ - AttributeValueExp
+ - AttributedCharacterIterator
+ - AttributedCharacterIterator.Attribute
+ - AttributedString
+ - Attributes
+ - Attributes
+ - Attributes
+ - Attributes.Name
+ - Attributes2
+ - Attributes2Impl
+ - AttributesImpl
+ - AudioClip
+ - AudioFileFormat
+ - AudioFileFormat.Type
+ - AudioFileReader
+ - AudioFileWriter
+ - AudioFormat
+ - AudioFormat.Encoding
+ - AudioInputStream
+ - AudioPermission
+ - AudioSystem
+ - AuthPermission
+ - AuthProvider
+ - AuthenticationException
+ - AuthenticationException
+ - AuthenticationNotSupportedException
+ - Authenticator
+ - Authenticator.RequestorType
+ - AuthorizeCallback
+ - Autoscroll
+ - BAD_CONTEXT
+ - BAD_INV_ORDER
+ - BAD_OPERATION
+ - BAD_PARAM
+ - BAD_POLICY
+ - BAD_POLICY_TYPE
+ - BAD_POLICY_VALUE
+ - BAD_QOS
+ - BAD_TYPECODE
+ - BMPImageWriteParam
+ - BackingStoreException
+ - BadAttributeValueExpException
+ - BadBinaryOpValueExpException
+ - BadKind
+ - BadLocationException
+ - BadPaddingException
+ - BadStringOperationException
+ - BandCombineOp
+ - BandedSampleModel
+ - BaseRowSet
+ - BasicArrowButton
+ - BasicAttribute
+ - BasicAttributes
+ - BasicBorders
+ - BasicBorders.ButtonBorder
+ - BasicBorders.FieldBorder
+ - BasicBorders.MarginBorder
+ - BasicBorders.MenuBarBorder
+ - BasicBorders.RadioButtonBorder
+ - BasicBorders.RolloverButtonBorder
+ - BasicBorders.SplitPaneBorder
+ - BasicBorders.ToggleButtonBorder
+ - BasicButtonListener
+ - BasicButtonUI
+ - BasicCheckBoxMenuItemUI
+ - BasicCheckBoxUI
+ - BasicColorChooserUI
+ - BasicComboBoxEditor
+ - BasicComboBoxEditor.UIResource
+ - BasicComboBoxRenderer
+ - BasicComboBoxRenderer.UIResource
+ - BasicComboBoxUI
+ - BasicComboPopup
+ - BasicControl
+ - BasicDesktopIconUI
+ - BasicDesktopPaneUI
+ - BasicDirectoryModel
+ - BasicEditorPaneUI
+ - BasicFileChooserUI
+ - BasicFormattedTextFieldUI
+ - BasicGraphicsUtils
+ - BasicHTML
+ - BasicIconFactory
+ - BasicInternalFrameTitlePane
+ - BasicInternalFrameUI
+ - BasicLabelUI
+ - BasicListUI
+ - BasicLookAndFeel
+ - BasicMenuBarUI
+ - BasicMenuItemUI
+ - BasicMenuUI
+ - BasicOptionPaneUI
+ - BasicOptionPaneUI.ButtonAreaLayout
+ - BasicPanelUI
+ - BasicPasswordFieldUI
+ - BasicPermission
+ - BasicPopupMenuSeparatorUI
+ - BasicPopupMenuUI
+ - BasicProgressBarUI
+ - BasicRadioButtonMenuItemUI
+ - BasicRadioButtonUI
+ - BasicRootPaneUI
+ - BasicScrollBarUI
+ - BasicScrollPaneUI
+ - BasicSeparatorUI
+ - BasicSliderUI
+ - BasicSpinnerUI
+ - BasicSplitPaneDivider
+ - BasicSplitPaneUI
+ - BasicStroke
+ - BasicTabbedPaneUI
+ - BasicTableHeaderUI
+ - BasicTableUI
+ - BasicTextAreaUI
+ - BasicTextFieldUI
+ - BasicTextPaneUI
+ - BasicTextUI
+ - BasicTextUI.BasicCaret
+ - BasicTextUI.BasicHighlighter
+ - BasicToggleButtonUI
+ - BasicToolBarSeparatorUI
+ - BasicToolBarUI
+ - BasicToolTipUI
+ - BasicTreeUI
+ - BasicViewportUI
+ - BatchUpdateException
+ - BeanContext
+ - BeanContextChild
+ - BeanContextChildComponentProxy
+ - BeanContextChildSupport
+ - BeanContextContainerProxy
+ - BeanContextEvent
+ - BeanContextMembershipEvent
+ - BeanContextMembershipListener
+ - BeanContextProxy
+ - BeanContextServiceAvailableEvent
+ - BeanContextServiceProvider
+ - BeanContextServiceProviderBeanInfo
+ - BeanContextServiceRevokedEvent
+ - BeanContextServiceRevokedListener
+ - BeanContextServices
+ - BeanContextServicesListener
+ - BeanContextServicesSupport
+ - BeanContextServicesSupport.BCSSServiceProvider
+ - BeanContextSupport
+ - BeanContextSupport.BCSIterator
+ - BeanDescriptor
+ - BeanInfo
+ - Beans
+ - BevelBorder
+ - Bidi
+ - BigDecimal
+ - BigInteger
+ - BinaryRefAddr
+ - BindException
+ - Binding
+ - Binding
+ - BindingHelper
+ - BindingHolder
+ - BindingIterator
+ - BindingIteratorHelper
+ - BindingIteratorHolder
+ - BindingIteratorOperations
+ - BindingIteratorPOA
+ - BindingListHelper
+ - BindingListHolder
+ - BindingType
+ - BindingTypeHelper
+ - BindingTypeHolder
+ - BitSet
+ - Blob
+ - BlockView
+ - BlockingQueue
+ - Book
+ - Boolean
+ - BooleanControl
+ - BooleanControl.Type
+ - BooleanHolder
+ - BooleanSeqHelper
+ - BooleanSeqHolder
+ - Border
+ - BorderFactory
+ - BorderLayout
+ - BorderUIResource
+ - BorderUIResource.BevelBorderUIResource
+ - BorderUIResource.CompoundBorderUIResource
+ - BorderUIResource.EmptyBorderUIResource
+ - BorderUIResource.EtchedBorderUIResource
+ - BorderUIResource.LineBorderUIResource
+ - BorderUIResource.MatteBorderUIResource
+ - BorderUIResource.TitledBorderUIResource
+ - BoundedRangeModel
+ - Bounds
+ - Bounds
+ - Box
+ - Box.Filler
+ - BoxLayout
+ - BoxView
+ - BoxedValueHelper
+ - BreakIterator
+ - BrokenBarrierException
+ - Buffer
+ - BufferCapabilities
+ - BufferCapabilities.FlipContents
+ - BufferOverflowException
+ - BufferStrategy
+ - BufferUnderflowException
+ - BufferedImage
+ - BufferedImageFilter
+ - BufferedImageOp
+ - BufferedInputStream
+ - BufferedOutputStream
+ - BufferedReader
+ - BufferedWriter
+ - Button
+ - ButtonGroup
+ - ButtonModel
+ - ButtonUI
+ - Byte
+ - ByteArrayInputStream
+ - ByteArrayOutputStream
+ - ByteBuffer
+ - ByteChannel
+ - ByteHolder
+ - ByteLookupTable
+ - ByteOrder
+ - CDATASection
+ - CMMException
+ - CODESET_INCOMPATIBLE
+ - COMM_FAILURE
+ - CRC32
+ - CRL
+ - CRLException
+ - CRLSelector
+ - CSS
+ - CSS.Attribute
+ - CTX_RESTRICT_SCOPE
+ - CacheRequest
+ - CacheResponse
+ - CachedRowSet
+ - Calendar
+ - Callable
+ - CallableStatement
+ - Callback
+ - CallbackHandler
+ - CancelablePrintJob
+ - CancellationException
+ - CancelledKeyException
+ - CannotProceed
+ - CannotProceedException
+ - CannotProceedHelper
+ - CannotProceedHolder
+ - CannotRedoException
+ - CannotUndoException
+ - Canvas
+ - CardLayout
+ - Caret
+ - CaretEvent
+ - CaretListener
+ - CellEditor
+ - CellEditorListener
+ - CellRendererPane
+ - CertPath
+ - CertPath.CertPathRep
+ - CertPathBuilder
+ - CertPathBuilderException
+ - CertPathBuilderResult
+ - CertPathBuilderSpi
+ - CertPathParameters
+ - CertPathTrustManagerParameters
+ - CertPathValidator
+ - CertPathValidatorException
+ - CertPathValidatorResult
+ - CertPathValidatorSpi
+ - CertSelector
+ - CertStore
+ - CertStoreException
+ - CertStoreParameters
+ - CertStoreSpi
+ - Certificate
+ - Certificate
+ - Certificate
+ - Certificate.CertificateRep
+ - CertificateEncodingException
+ - CertificateEncodingException
+ - CertificateException
+ - CertificateException
+ - CertificateExpiredException
+ - CertificateExpiredException
+ - CertificateFactory
+ - CertificateFactorySpi
+ - CertificateNotYetValidException
+ - CertificateNotYetValidException
+ - CertificateParsingException
+ - CertificateParsingException
+ - ChangeEvent
+ - ChangeListener
+ - ChangedCharSetException
+ - Channel
+ - ChannelBinding
+ - Channels
+ - CharArrayReader
+ - CharArrayWriter
+ - CharBuffer
+ - CharConversionException
+ - CharHolder
+ - CharSeqHelper
+ - CharSeqHolder
+ - CharSequence
+ - Character
+ - Character.Subset
+ - Character.UnicodeBlock
+ - CharacterCodingException
+ - CharacterData
+ - CharacterIterator
+ - Charset
+ - CharsetDecoder
+ - CharsetEncoder
+ - CharsetProvider
+ - Checkbox
+ - CheckboxGroup
+ - CheckboxMenuItem
+ - CheckedInputStream
+ - CheckedOutputStream
+ - Checksum
+ - Choice
+ - ChoiceCallback
+ - ChoiceFormat
+ - Chromaticity
+ - Cipher
+ - CipherInputStream
+ - CipherOutputStream
+ - CipherSpi
+ - Class
+ - ClassCastException
+ - ClassCircularityError
+ - ClassDefinition
+ - ClassDesc
+ - ClassFileTransformer
+ - ClassFormatError
+ - ClassLoader
+ - ClassLoaderRepository
+ - ClassLoadingMXBean
+ - ClassNotFoundException
+ - ClientRequestInfo
+ - ClientRequestInfoOperations
+ - ClientRequestInterceptor
+ - ClientRequestInterceptorOperations
+ - Clip
+ - Clipboard
+ - ClipboardOwner
+ - Clob
+ - CloneNotSupportedException
+ - Cloneable
+ - Closeable
+ - ClosedByInterruptException
+ - ClosedChannelException
+ - ClosedSelectorException
+ - CodeSets
+ - CodeSigner
+ - CodeSource
+ - Codec
+ - CodecFactory
+ - CodecFactoryHelper
+ - CodecFactoryOperations
+ - CodecOperations
+ - CoderMalfunctionError
+ - CoderResult
+ - CodingErrorAction
+ - CollationElementIterator
+ - CollationKey
+ - Collator
+ - Collection
+ - CollectionCertStoreParameters
+ - Collections
+ - Color
+ - ColorChooserComponentFactory
+ - ColorChooserUI
+ - ColorConvertOp
+ - ColorModel
+ - ColorSelectionModel
+ - ColorSpace
+ - ColorSupported
+ - ColorType
+ - ColorUIResource
+ - ComboBoxEditor
+ - ComboBoxModel
+ - ComboBoxUI
+ - ComboPopup
+ - Comment
+ - CommunicationException
+ - Comparable
+ - Comparator
+ - CompilationMXBean
+ - Compiler
+ - CompletionService
+ - CompletionStatus
+ - CompletionStatusHelper
+ - Component
+ - ComponentAdapter
+ - ComponentColorModel
+ - ComponentEvent
+ - ComponentIdHelper
+ - ComponentInputMap
+ - ComponentInputMapUIResource
+ - ComponentListener
+ - ComponentOrientation
+ - ComponentSampleModel
+ - ComponentUI
+ - ComponentView
+ - Composite
+ - CompositeContext
+ - CompositeData
+ - CompositeDataSupport
+ - CompositeName
+ - CompositeType
+ - CompositeView
+ - CompoundBorder
+ - CompoundControl
+ - CompoundControl.Type
+ - CompoundEdit
+ - CompoundName
+ - Compression
+ - ConcurrentHashMap
+ - ConcurrentLinkedQueue
+ - ConcurrentMap
+ - ConcurrentModificationException
+ - Condition
+ - Configuration
+ - ConfigurationException
+ - ConfirmationCallback
+ - ConnectException
+ - ConnectException
+ - ConnectIOException
+ - Connection
+ - ConnectionEvent
+ - ConnectionEventListener
+ - ConnectionPendingException
+ - ConnectionPoolDataSource
+ - ConsoleHandler
+ - Constructor
+ - Container
+ - ContainerAdapter
+ - ContainerEvent
+ - ContainerListener
+ - ContainerOrderFocusTraversalPolicy
+ - ContentHandler
+ - ContentHandler
+ - ContentHandlerFactory
+ - ContentModel
+ - Context
+ - Context
+ - ContextList
+ - ContextNotEmptyException
+ - ContextualRenderedImageFactory
+ - Control
+ - Control
+ - Control.Type
+ - ControlFactory
+ - ControllerEventListener
+ - ConvolveOp
+ - CookieHandler
+ - CookieHolder
+ - Copies
+ - CopiesSupported
+ - CopyOnWriteArrayList
+ - CopyOnWriteArraySet
+ - CountDownLatch
+ - CounterMonitor
+ - CounterMonitorMBean
+ - CredentialException
+ - CredentialExpiredException
+ - CredentialNotFoundException
+ - CropImageFilter
+ - CubicCurve2D
+ - CubicCurve2D.Double
+ - CubicCurve2D.Float
+ - Currency
+ - Current
+ - Current
+ - Current
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHolder
+ - CurrentOperations
+ - CurrentOperations
+ - CurrentOperations
+ - Cursor
+ - CustomMarshal
+ - CustomValue
+ - Customizer
+ - CyclicBarrier
+ - DATA_CONVERSION
+ - DESKeySpec
+ - DESedeKeySpec
+ - DGC
+ - DHGenParameterSpec
+ - DHKey
+ - DHParameterSpec
+ - DHPrivateKey
+ - DHPrivateKeySpec
+ - DHPublicKey
+ - DHPublicKeySpec
+ - DISCARDING
+ - DOMConfiguration
+ - DOMError
+ - DOMErrorHandler
+ - DOMException
+ - DOMImplementation
+ - DOMImplementationLS
+ - DOMImplementationList
+ - DOMImplementationRegistry
+ - DOMImplementationSource
+ - DOMLocator
+ - DOMLocator
+ - DOMResult
+ - DOMSource
+ - DOMStringList
+ - DSAKey
+ - DSAKeyPairGenerator
+ - DSAParameterSpec
+ - DSAParams
+ - DSAPrivateKey
+ - DSAPrivateKeySpec
+ - DSAPublicKey
+ - DSAPublicKeySpec
+ - DTD
+ - DTDConstants
+ - DTDHandler
+ - DataBuffer
+ - DataBufferByte
+ - DataBufferDouble
+ - DataBufferFloat
+ - DataBufferInt
+ - DataBufferShort
+ - DataBufferUShort
+ - DataFlavor
+ - DataFormatException
+ - DataInput
+ - DataInputStream
+ - DataInputStream
+ - DataLine
+ - DataLine.Info
+ - DataOutput
+ - DataOutputStream
+ - DataOutputStream
+ - DataSource
+ - DataTruncation
+ - DatabaseMetaData
+ - DatagramChannel
+ - DatagramPacket
+ - DatagramSocket
+ - DatagramSocketImpl
+ - DatagramSocketImplFactory
+ - DatatypeConfigurationException
+ - DatatypeConstants
+ - DatatypeConstants.Field
+ - DatatypeFactory
+ - Date
+ - Date
+ - DateFormat
+ - DateFormat.Field
+ - DateFormatSymbols
+ - DateFormatter
+ - DateTimeAtCompleted
+ - DateTimeAtCreation
+ - DateTimeAtProcessing
+ - DateTimeSyntax
+ - DebugGraphics
+ - DecimalFormat
+ - DecimalFormatSymbols
+ - DeclHandler
+ - DefaultBoundedRangeModel
+ - DefaultButtonModel
+ - DefaultCaret
+ - DefaultCellEditor
+ - DefaultColorSelectionModel
+ - DefaultComboBoxModel
+ - DefaultDesktopManager
+ - DefaultEditorKit
+ - DefaultEditorKit.BeepAction
+ - DefaultEditorKit.CopyAction
+ - DefaultEditorKit.CutAction
+ - DefaultEditorKit.DefaultKeyTypedAction
+ - DefaultEditorKit.InsertBreakAction
+ - DefaultEditorKit.InsertContentAction
+ - DefaultEditorKit.InsertTabAction
+ - DefaultEditorKit.PasteAction
+ - DefaultFocusManager
+ - DefaultFocusTraversalPolicy
+ - DefaultFormatter
+ - DefaultFormatterFactory
+ - DefaultHandler
+ - DefaultHandler2
+ - DefaultHighlighter
+ - DefaultHighlighter.DefaultHighlightPainter
+ - DefaultKeyboardFocusManager
+ - DefaultListCellRenderer
+ - DefaultListCellRenderer.UIResource
+ - DefaultListModel
+ - DefaultListSelectionModel
+ - DefaultLoaderRepository
+ - DefaultLoaderRepository
+ - DefaultMenuLayout
+ - DefaultMetalTheme
+ - DefaultMutableTreeNode
+ - DefaultPersistenceDelegate
+ - DefaultSingleSelectionModel
+ - DefaultStyledDocument
+ - DefaultStyledDocument.AttributeUndoableEdit
+ - DefaultStyledDocument.ElementSpec
+ - DefaultTableCellRenderer
+ - DefaultTableCellRenderer.UIResource
+ - DefaultTableColumnModel
+ - DefaultTableModel
+ - DefaultTextUI
+ - DefaultTreeCellEditor
+ - DefaultTreeCellRenderer
+ - DefaultTreeModel
+ - DefaultTreeSelectionModel
+ - DefinitionKind
+ - DefinitionKindHelper
+ - Deflater
+ - DeflaterOutputStream
+ - DelayQueue
+ - Delayed
+ - Delegate
+ - Delegate
+ - Delegate
+ - DelegationPermission
+ - Deprecated
+ - Descriptor
+ - DescriptorAccess
+ - DescriptorSupport
+ - DesignMode
+ - DesktopIconUI
+ - DesktopManager
+ - DesktopPaneUI
+ - Destination
+ - DestroyFailedException
+ - Destroyable
+ - Dialog
+ - Dictionary
+ - DigestException
+ - DigestInputStream
+ - DigestOutputStream
+ - Dimension
+ - Dimension2D
+ - DimensionUIResource
+ - DirContext
+ - DirObjectFactory
+ - DirStateFactory
+ - DirStateFactory.Result
+ - DirectColorModel
+ - DirectoryManager
+ - DisplayMode
+ - DnDConstants
+ - Doc
+ - DocAttribute
+ - DocAttributeSet
+ - DocFlavor
+ - DocFlavor.BYTE_ARRAY
+ - DocFlavor.CHAR_ARRAY
+ - DocFlavor.INPUT_STREAM
+ - DocFlavor.READER
+ - DocFlavor.SERVICE_FORMATTED
+ - DocFlavor.STRING
+ - DocFlavor.URL
+ - DocPrintJob
+ - Document
+ - Document
+ - DocumentBuilder
+ - DocumentBuilderFactory
+ - DocumentEvent
+ - DocumentEvent.ElementChange
+ - DocumentEvent.EventType
+ - DocumentFilter
+ - DocumentFilter.FilterBypass
+ - DocumentFragment
+ - DocumentHandler
+ - DocumentListener
+ - DocumentName
+ - DocumentParser
+ - DocumentType
+ - Documented
+ - DomainCombiner
+ - DomainManager
+ - DomainManagerOperations
+ - Double
+ - DoubleBuffer
+ - DoubleHolder
+ - DoubleSeqHelper
+ - DoubleSeqHolder
+ - DragGestureEvent
+ - DragGestureListener
+ - DragGestureRecognizer
+ - DragSource
+ - DragSourceAdapter
+ - DragSourceContext
+ - DragSourceDragEvent
+ - DragSourceDropEvent
+ - DragSourceEvent
+ - DragSourceListener
+ - DragSourceMotionListener
+ - Driver
+ - DriverManager
+ - DriverPropertyInfo
+ - DropTarget
+ - DropTarget.DropTargetAutoScroller
+ - DropTargetAdapter
+ - DropTargetContext
+ - DropTargetDragEvent
+ - DropTargetDropEvent
+ - DropTargetEvent
+ - DropTargetListener
+ - DuplicateFormatFlagsException
+ - DuplicateName
+ - DuplicateNameHelper
+ - Duration
+ - DynAny
+ - DynAny
+ - DynAnyFactory
+ - DynAnyFactoryHelper
+ - DynAnyFactoryOperations
+ - DynAnyHelper
+ - DynAnyOperations
+ - DynAnySeqHelper
+ - DynArray
+ - DynArray
+ - DynArrayHelper
+ - DynArrayOperations
+ - DynEnum
+ - DynEnum
+ - DynEnumHelper
+ - DynEnumOperations
+ - DynFixed
+ - DynFixed
+ - DynFixedHelper
+ - DynFixedOperations
+ - DynSequence
+ - DynSequence
+ - DynSequenceHelper
+ - DynSequenceOperations
+ - DynStruct
+ - DynStruct
+ - DynStructHelper
+ - DynStructOperations
+ - DynUnion
+ - DynUnion
+ - DynUnionHelper
+ - DynUnionOperations
+ - DynValue
+ - DynValue
+ - DynValueBox
+ - DynValueBoxOperations
+ - DynValueCommon
+ - DynValueCommonOperations
+ - DynValueHelper
+ - DynValueOperations
+ - DynamicImplementation
+ - DynamicImplementation
+ - DynamicMBean
+ - ECField
+ - ECFieldF2m
+ - ECFieldFp
+ - ECGenParameterSpec
+ - ECKey
+ - ECParameterSpec
+ - ECPoint
+ - ECPrivateKey
+ - ECPrivateKeySpec
+ - ECPublicKey
+ - ECPublicKeySpec
+ - ENCODING_CDR_ENCAPS
+ - EOFException
+ - EditorKit
+ - Element
+ - Element
+ - Element
+ - ElementIterator
+ - ElementType
+ - Ellipse2D
+ - Ellipse2D.Double
+ - Ellipse2D.Float
+ - EllipticCurve
+ - EmptyBorder
+ - EmptyStackException
+ - EncodedKeySpec
+ - Encoder
+ - Encoding
+ - EncryptedPrivateKeyInfo
+ - Entity
+ - Entity
+ - EntityReference
+ - EntityResolver
+ - EntityResolver2
+ - Enum
+ - EnumConstantNotPresentException
+ - EnumControl
+ - EnumControl.Type
+ - EnumMap
+ - EnumSet
+ - EnumSyntax
+ - Enumeration
+ - Environment
+ - Error
+ - ErrorHandler
+ - ErrorListener
+ - ErrorManager
+ - EtchedBorder
+ - Event
+ - EventContext
+ - EventDirContext
+ - EventHandler
+ - EventListener
+ - EventListenerList
+ - EventListenerProxy
+ - EventObject
+ - EventQueue
+ - EventSetDescriptor
+ - Exception
+ - ExceptionDetailMessage
+ - ExceptionInInitializerError
+ - ExceptionList
+ - ExceptionListener
+ - Exchanger
+ - ExecutionException
+ - Executor
+ - ExecutorCompletionService
+ - ExecutorService
+ - Executors
+ - ExemptionMechanism
+ - ExemptionMechanismException
+ - ExemptionMechanismSpi
+ - ExpandVetoException
+ - ExportException
+ - Expression
+ - ExtendedRequest
+ - ExtendedResponse
+ - Externalizable
+ - FREE_MEM
+ - FactoryConfigurationError
+ - FailedLoginException
+ - FeatureDescriptor
+ - Fidelity
+ - Field
+ - FieldNameHelper
+ - FieldNameHelper
+ - FieldPosition
+ - FieldView
+ - File
+ - FileCacheImageInputStream
+ - FileCacheImageOutputStream
+ - FileChannel
+ - FileChannel.MapMode
+ - FileChooserUI
+ - FileDescriptor
+ - FileDialog
+ - FileFilter
+ - FileFilter
+ - FileHandler
+ - FileImageInputStream
+ - FileImageOutputStream
+ - FileInputStream
+ - FileLock
+ - FileLockInterruptionException
+ - FileNameMap
+ - FileNotFoundException
+ - FileOutputStream
+ - FilePermission
+ - FileReader
+ - FileSystemView
+ - FileView
+ - FileWriter
+ - FilenameFilter
+ - Filter
+ - FilterInputStream
+ - FilterOutputStream
+ - FilterReader
+ - FilterWriter
+ - FilteredImageSource
+ - FilteredRowSet
+ - Finishings
+ - FixedHeightLayoutCache
+ - FixedHolder
+ - FlatteningPathIterator
+ - FlavorEvent
+ - FlavorException
+ - FlavorListener
+ - FlavorMap
+ - FlavorTable
+ - Float
+ - FloatBuffer
+ - FloatControl
+ - FloatControl.Type
+ - FloatHolder
+ - FloatSeqHelper
+ - FloatSeqHolder
+ - FlowLayout
+ - FlowView
+ - FlowView.FlowStrategy
+ - Flushable
+ - FocusAdapter
+ - FocusEvent
+ - FocusListener
+ - FocusManager
+ - FocusTraversalPolicy
+ - Font
+ - FontFormatException
+ - FontMetrics
+ - FontRenderContext
+ - FontUIResource
+ - FormSubmitEvent
+ - FormSubmitEvent.MethodType
+ - FormView
+ - Format
+ - Format.Field
+ - FormatConversionProvider
+ - FormatFlagsConversionMismatchException
+ - FormatMismatch
+ - FormatMismatchHelper
+ - Formattable
+ - FormattableFlags
+ - Formatter
+ - Formatter
+ - FormatterClosedException
+ - ForwardRequest
+ - ForwardRequest
+ - ForwardRequestHelper
+ - ForwardRequestHelper
+ - Frame
+ - Future
+ - FutureTask
+ - GSSContext
+ - GSSCredential
+ - GSSException
+ - GSSManager
+ - GSSName
+ - GZIPInputStream
+ - GZIPOutputStream
+ - GapContent
+ - GarbageCollectorMXBean
+ - GatheringByteChannel
+ - GaugeMonitor
+ - GaugeMonitorMBean
+ - GeneralPath
+ - GeneralSecurityException
+ - GenericArrayType
+ - GenericDeclaration
+ - GenericSignatureFormatError
+ - GlyphJustificationInfo
+ - GlyphMetrics
+ - GlyphVector
+ - GlyphView
+ - GlyphView.GlyphPainter
+ - GradientPaint
+ - GraphicAttribute
+ - Graphics
+ - Graphics2D
+ - GraphicsConfigTemplate
+ - GraphicsConfiguration
+ - GraphicsDevice
+ - GraphicsEnvironment
+ - GrayFilter
+ - GregorianCalendar
+ - GridBagConstraints
+ - GridBagLayout
+ - GridLayout
+ - Group
+ - Guard
+ - GuardedObject
+ - HOLDING
+ - HTML
+ - HTML.Attribute
+ - HTML.Tag
+ - HTML.UnknownTag
+ - HTMLDocument
+ - HTMLDocument.Iterator
+ - HTMLEditorKit
+ - HTMLEditorKit.HTMLFactory
+ - HTMLEditorKit.HTMLTextAction
+ - HTMLEditorKit.InsertHTMLTextAction
+ - HTMLEditorKit.LinkController
+ - HTMLEditorKit.Parser
+ - HTMLEditorKit.ParserCallback
+ - HTMLFrameHyperlinkEvent
+ - HTMLWriter
+ - Handler
+ - HandlerBase
+ - HandshakeCompletedEvent
+ - HandshakeCompletedListener
+ - HasControls
+ - HashAttributeSet
+ - HashDocAttributeSet
+ - HashMap
+ - HashPrintJobAttributeSet
+ - HashPrintRequestAttributeSet
+ - HashPrintServiceAttributeSet
+ - HashSet
+ - Hashtable
+ - HeadlessException
+ - HierarchyBoundsAdapter
+ - HierarchyBoundsListener
+ - HierarchyEvent
+ - HierarchyListener
+ - Highlighter
+ - Highlighter.Highlight
+ - Highlighter.HighlightPainter
+ - HostnameVerifier
+ - HttpRetryException
+ - HttpURLConnection
+ - HttpsURLConnection
+ - HyperlinkEvent
+ - HyperlinkEvent.EventType
+ - HyperlinkListener
+ - ICC_ColorSpace
+ - ICC_Profile
+ - ICC_ProfileGray
+ - ICC_ProfileRGB
+ - IDLEntity
+ - IDLType
+ - IDLTypeHelper
+ - IDLTypeOperations
+ - ID_ASSIGNMENT_POLICY_ID
+ - ID_UNIQUENESS_POLICY_ID
+ - IIOByteBuffer
+ - IIOException
+ - IIOImage
+ - IIOInvalidTreeException
+ - IIOMetadata
+ - IIOMetadataController
+ - IIOMetadataFormat
+ - IIOMetadataFormatImpl
+ - IIOMetadataNode
+ - IIOParam
+ - IIOParamController
+ - IIOReadProgressListener
+ - IIOReadUpdateListener
+ - IIOReadWarningListener
+ - IIORegistry
+ - IIOServiceProvider
+ - IIOWriteProgressListener
+ - IIOWriteWarningListener
+ - IMPLICIT_ACTIVATION_POLICY_ID
+ - IMP_LIMIT
+ - INACTIVE
+ - INITIALIZE
+ - INTERNAL
+ - INTF_REPOS
+ - INVALID_ACTIVITY
+ - INVALID_TRANSACTION
+ - INV_FLAG
+ - INV_IDENT
+ - INV_OBJREF
+ - INV_POLICY
+ - IOException
+ - IOR
+ - IORHelper
+ - IORHolder
+ - IORInfo
+ - IORInfoOperations
+ - IORInterceptor
+ - IORInterceptorOperations
+ - IORInterceptor_3_0
+ - IORInterceptor_3_0Helper
+ - IORInterceptor_3_0Holder
+ - IORInterceptor_3_0Operations
+ - IRObject
+ - IRObjectOperations
+ - Icon
+ - IconUIResource
+ - IconView
+ - IdAssignmentPolicy
+ - IdAssignmentPolicyOperations
+ - IdAssignmentPolicyValue
+ - IdUniquenessPolicy
+ - IdUniquenessPolicyOperations
+ - IdUniquenessPolicyValue
+ - IdentifierHelper
+ - Identity
+ - IdentityHashMap
+ - IdentityScope
+ - IllegalAccessError
+ - IllegalAccessException
+ - IllegalArgumentException
+ - IllegalBlockSizeException
+ - IllegalBlockingModeException
+ - IllegalCharsetNameException
+ - IllegalClassFormatException
+ - IllegalComponentStateException
+ - IllegalFormatCodePointException
+ - IllegalFormatConversionException
+ - IllegalFormatException
+ - IllegalFormatFlagsException
+ - IllegalFormatPrecisionException
+ - IllegalFormatWidthException
+ - IllegalMonitorStateException
+ - IllegalPathStateException
+ - IllegalSelectorException
+ - IllegalStateException
+ - IllegalThreadStateException
+ - Image
+ - ImageCapabilities
+ - ImageConsumer
+ - ImageFilter
+ - ImageGraphicAttribute
+ - ImageIO
+ - ImageIcon
+ - ImageInputStream
+ - ImageInputStreamImpl
+ - ImageInputStreamSpi
+ - ImageObserver
+ - ImageOutputStream
+ - ImageOutputStreamImpl
+ - ImageOutputStreamSpi
+ - ImageProducer
+ - ImageReadParam
+ - ImageReader
+ - ImageReaderSpi
+ - ImageReaderWriterSpi
+ - ImageTranscoder
+ - ImageTranscoderSpi
+ - ImageTypeSpecifier
+ - ImageView
+ - ImageWriteParam
+ - ImageWriter
+ - ImageWriterSpi
+ - ImagingOpException
+ - ImplicitActivationPolicy
+ - ImplicitActivationPolicyOperations
+ - ImplicitActivationPolicyValue
+ - IncompatibleClassChangeError
+ - IncompleteAnnotationException
+ - InconsistentTypeCode
+ - InconsistentTypeCode
+ - InconsistentTypeCodeHelper
+ - IndexColorModel
+ - IndexOutOfBoundsException
+ - IndexedPropertyChangeEvent
+ - IndexedPropertyDescriptor
+ - IndirectionException
+ - Inet4Address
+ - Inet6Address
+ - InetAddress
+ - InetSocketAddress
+ - Inflater
+ - InflaterInputStream
+ - InheritableThreadLocal
+ - Inherited
+ - InitialContext
+ - InitialContextFactory
+ - InitialContextFactoryBuilder
+ - InitialDirContext
+ - InitialLdapContext
+ - InlineView
+ - InputContext
+ - InputEvent
+ - InputMap
+ - InputMapUIResource
+ - InputMethod
+ - InputMethodContext
+ - InputMethodDescriptor
+ - InputMethodEvent
+ - InputMethodHighlight
+ - InputMethodListener
+ - InputMethodRequests
+ - InputMismatchException
+ - InputSource
+ - InputStream
+ - InputStream
+ - InputStream
+ - InputStreamReader
+ - InputSubset
+ - InputVerifier
+ - Insets
+ - InsetsUIResource
+ - InstanceAlreadyExistsException
+ - InstanceNotFoundException
+ - InstantiationError
+ - InstantiationException
+ - Instrument
+ - Instrumentation
+ - InsufficientResourcesException
+ - IntBuffer
+ - IntHolder
+ - Integer
+ - IntegerSyntax
+ - Interceptor
+ - InterceptorOperations
+ - InternalError
+ - InternalFrameAdapter
+ - InternalFrameEvent
+ - InternalFrameFocusTraversalPolicy
+ - InternalFrameListener
+ - InternalFrameUI
+ - InternationalFormatter
+ - InterruptedException
+ - InterruptedIOException
+ - InterruptedNamingException
+ - InterruptibleChannel
+ - IntrospectionException
+ - IntrospectionException
+ - Introspector
+ - Invalid
+ - InvalidActivityException
+ - InvalidAddress
+ - InvalidAddressHelper
+ - InvalidAddressHolder
+ - InvalidAlgorithmParameterException
+ - InvalidApplicationException
+ - InvalidAttributeIdentifierException
+ - InvalidAttributeValueException
+ - InvalidAttributeValueException
+ - InvalidAttributesException
+ - InvalidClassException
+ - InvalidDnDOperationException
+ - InvalidKeyException
+ - InvalidKeyException
+ - InvalidKeySpecException
+ - InvalidMarkException
+ - InvalidMidiDataException
+ - InvalidName
+ - InvalidName
+ - InvalidName
+ - InvalidNameException
+ - InvalidNameHelper
+ - InvalidNameHelper
+ - InvalidNameHolder
+ - InvalidObjectException
+ - InvalidOpenTypeException
+ - InvalidParameterException
+ - InvalidParameterSpecException
+ - InvalidPolicy
+ - InvalidPolicyHelper
+ - InvalidPreferencesFormatException
+ - InvalidPropertiesFormatException
+ - InvalidRelationIdException
+ - InvalidRelationServiceException
+ - InvalidRelationTypeException
+ - InvalidRoleInfoException
+ - InvalidRoleValueException
+ - InvalidSearchControlsException
+ - InvalidSearchFilterException
+ - InvalidSeq
+ - InvalidSlot
+ - InvalidSlotHelper
+ - InvalidTargetObjectTypeException
+ - InvalidTransactionException
+ - InvalidTypeForEncoding
+ - InvalidTypeForEncodingHelper
+ - InvalidValue
+ - InvalidValue
+ - InvalidValueHelper
+ - InvocationEvent
+ - InvocationHandler
+ - InvocationTargetException
+ - InvokeHandler
+ - IstringHelper
+ - ItemEvent
+ - ItemListener
+ - ItemSelectable
+ - Iterable
+ - Iterator
+ - IvParameterSpec
+ - JApplet
+ - JButton
+ - JCheckBox
+ - JCheckBoxMenuItem
+ - JColorChooser
+ - JComboBox
+ - JComboBox.KeySelectionManager
+ - JComponent
+ - JDesktopPane
+ - JDialog
+ - JEditorPane
+ - JFileChooser
+ - JFormattedTextField
+ - JFormattedTextField.AbstractFormatter
+ - JFormattedTextField.AbstractFormatterFactory
+ - JFrame
+ - JInternalFrame
+ - JInternalFrame.JDesktopIcon
+ - JLabel
+ - JLayeredPane
+ - JList
+ - JMException
+ - JMRuntimeException
+ - JMXAuthenticator
+ - JMXConnectionNotification
+ - JMXConnector
+ - JMXConnectorFactory
+ - JMXConnectorProvider
+ - JMXConnectorServer
+ - JMXConnectorServerFactory
+ - JMXConnectorServerMBean
+ - JMXConnectorServerProvider
+ - JMXPrincipal
+ - JMXProviderException
+ - JMXServerErrorException
+ - JMXServiceURL
+ - JMenu
+ - JMenuBar
+ - JMenuItem
+ - JOptionPane
+ - JPEGHuffmanTable
+ - JPEGImageReadParam
+ - JPEGImageWriteParam
+ - JPEGQTable
+ - JPanel
+ - JPasswordField
+ - JPopupMenu
+ - JPopupMenu.Separator
+ - JProgressBar
+ - JRadioButton
+ - JRadioButtonMenuItem
+ - JRootPane
+ - JScrollBar
+ - JScrollPane
+ - JSeparator
+ - JSlider
+ - JSpinner
+ - JSpinner.DateEditor
+ - JSpinner.DefaultEditor
+ - JSpinner.ListEditor
+ - JSpinner.NumberEditor
+ - JSplitPane
+ - JTabbedPane
+ - JTable
+ - JTable.PrintMode
+ - JTableHeader
+ - JTextArea
+ - JTextComponent
+ - JTextComponent.KeyBinding
+ - JTextField
+ - JTextPane
+ - JToggleButton
+ - JToggleButton.ToggleButtonModel
+ - JToolBar
+ - JToolBar.Separator
+ - JToolTip
+ - JTree
+ - JTree.DynamicUtilTreeNode
+ - JTree.EmptySelectionModel
+ - JViewport
+ - JWindow
+ - JarEntry
+ - JarException
+ - JarFile
+ - JarInputStream
+ - JarOutputStream
+ - JarURLConnection
+ - JdbcRowSet
+ - JobAttributes
+ - JobAttributes.DefaultSelectionType
+ - JobAttributes.DestinationType
+ - JobAttributes.DialogType
+ - JobAttributes.MultipleDocumentHandlingType
+ - JobAttributes.SidesType
+ - JobHoldUntil
+ - JobImpressions
+ - JobImpressionsCompleted
+ - JobImpressionsSupported
+ - JobKOctets
+ - JobKOctetsProcessed
+ - JobKOctetsSupported
+ - JobMediaSheets
+ - JobMediaSheetsCompleted
+ - JobMediaSheetsSupported
+ - JobMessageFromOperator
+ - JobName
+ - JobOriginatingUserName
+ - JobPriority
+ - JobPrioritySupported
+ - JobSheets
+ - JobState
+ - JobStateReason
+ - JobStateReasons
+ - JoinRowSet
+ - Joinable
+ - KerberosKey
+ - KerberosPrincipal
+ - KerberosTicket
+ - Kernel
+ - Key
+ - KeyAdapter
+ - KeyAgreement
+ - KeyAgreementSpi
+ - KeyAlreadyExistsException
+ - KeyEvent
+ - KeyEventDispatcher
+ - KeyEventPostProcessor
+ - KeyException
+ - KeyFactory
+ - KeyFactorySpi
+ - KeyGenerator
+ - KeyGeneratorSpi
+ - KeyListener
+ - KeyManagementException
+ - KeyManager
+ - KeyManagerFactory
+ - KeyManagerFactorySpi
+ - KeyPair
+ - KeyPairGenerator
+ - KeyPairGeneratorSpi
+ - KeyRep
+ - KeyRep.Type
+ - KeySpec
+ - KeyStore
+ - KeyStore.Builder
+ - KeyStore.CallbackHandlerProtection
+ - KeyStore.Entry
+ - KeyStore.LoadStoreParameter
+ - KeyStore.PasswordProtection
+ - KeyStore.PrivateKeyEntry
+ - KeyStore.ProtectionParameter
+ - KeyStore.SecretKeyEntry
+ - KeyStore.TrustedCertificateEntry
+ - KeyStoreBuilderParameters
+ - KeyStoreException
+ - KeyStoreSpi
+ - KeyStroke
+ - KeyboardFocusManager
+ - Keymap
+ - LDAPCertStoreParameters
+ - LIFESPAN_POLICY_ID
+ - LOCATION_FORWARD
+ - LSException
+ - LSInput
+ - LSLoadEvent
+ - LSOutput
+ - LSParser
+ - LSParserFilter
+ - LSProgressEvent
+ - LSResourceResolver
+ - LSSerializer
+ - LSSerializerFilter
+ - Label
+ - LabelUI
+ - LabelView
+ - LanguageCallback
+ - LastOwnerException
+ - LayeredHighlighter
+ - LayeredHighlighter.LayerPainter
+ - LayoutFocusTraversalPolicy
+ - LayoutManager
+ - LayoutManager2
+ - LayoutQueue
+ - LdapContext
+ - LdapName
+ - LdapReferralException
+ - Lease
+ - Level
+ - LexicalHandler
+ - LifespanPolicy
+ - LifespanPolicyOperations
+ - LifespanPolicyValue
+ - LimitExceededException
+ - Line
+ - Line.Info
+ - Line2D
+ - Line2D.Double
+ - Line2D.Float
+ - LineBorder
+ - LineBreakMeasurer
+ - LineEvent
+ - LineEvent.Type
+ - LineListener
+ - LineMetrics
+ - LineNumberInputStream
+ - LineNumberReader
+ - LineUnavailableException
+ - LinkException
+ - LinkLoopException
+ - LinkRef
+ - LinkageError
+ - LinkedBlockingQueue
+ - LinkedHashMap
+ - LinkedHashSet
+ - LinkedList
+ - List
+ - List
+ - ListCellRenderer
+ - ListDataEvent
+ - ListDataListener
+ - ListIterator
+ - ListModel
+ - ListResourceBundle
+ - ListSelectionEvent
+ - ListSelectionListener
+ - ListSelectionModel
+ - ListUI
+ - ListView
+ - ListenerNotFoundException
+ - LoaderHandler
+ - LocalObject
+ - Locale
+ - LocateRegistry
+ - Locator
+ - Locator2
+ - Locator2Impl
+ - LocatorImpl
+ - Lock
+ - LockSupport
+ - LogManager
+ - LogRecord
+ - LogStream
+ - Logger
+ - LoggingMXBean
+ - LoggingPermission
+ - LoginContext
+ - LoginException
+ - LoginModule
+ - Long
+ - LongBuffer
+ - LongHolder
+ - LongLongSeqHelper
+ - LongLongSeqHolder
+ - LongSeqHelper
+ - LongSeqHolder
+ - LookAndFeel
+ - LookupOp
+ - LookupTable
+ - MARSHAL
+ - MBeanAttributeInfo
+ - MBeanConstructorInfo
+ - MBeanException
+ - MBeanFeatureInfo
+ - MBeanInfo
+ - MBeanNotificationInfo
+ - MBeanOperationInfo
+ - MBeanParameterInfo
+ - MBeanPermission
+ - MBeanRegistration
+ - MBeanRegistrationException
+ - MBeanServer
+ - MBeanServerBuilder
+ - MBeanServerConnection
+ - MBeanServerDelegate
+ - MBeanServerDelegateMBean
+ - MBeanServerFactory
+ - MBeanServerForwarder
+ - MBeanServerInvocationHandler
+ - MBeanServerNotification
+ - MBeanServerNotificationFilter
+ - MBeanServerPermission
+ - MBeanTrustPermission
+ - MGF1ParameterSpec
+ - MLet
+ - MLetMBean
+ - Mac
+ - MacSpi
+ - MalformedInputException
+ - MalformedLinkException
+ - MalformedObjectNameException
+ - MalformedParameterizedTypeException
+ - MalformedURLException
+ - ManageReferralControl
+ - ManagementFactory
+ - ManagementPermission
+ - ManagerFactoryParameters
+ - Manifest
+ - Map
+ - Map.Entry
+ - MappedByteBuffer
+ - MarshalException
+ - MarshalledObject
+ - MaskFormatter
+ - MatchResult
+ - Matcher
+ - Math
+ - MathContext
+ - MatteBorder
+ - Media
+ - MediaName
+ - MediaPrintableArea
+ - MediaSize
+ - MediaSize.Engineering
+ - MediaSize.ISO
+ - MediaSize.JIS
+ - MediaSize.NA
+ - MediaSize.Other
+ - MediaSizeName
+ - MediaTracker
+ - MediaTray
+ - Member
+ - MemoryCacheImageInputStream
+ - MemoryCacheImageOutputStream
+ - MemoryHandler
+ - MemoryImageSource
+ - MemoryMXBean
+ - MemoryManagerMXBean
+ - MemoryNotificationInfo
+ - MemoryPoolMXBean
+ - MemoryType
+ - MemoryUsage
+ - Menu
+ - MenuBar
+ - MenuBarUI
+ - MenuComponent
+ - MenuContainer
+ - MenuDragMouseEvent
+ - MenuDragMouseListener
+ - MenuElement
+ - MenuEvent
+ - MenuItem
+ - MenuItemUI
+ - MenuKeyEvent
+ - MenuKeyListener
+ - MenuListener
+ - MenuSelectionManager
+ - MenuShortcut
+ - MessageDigest
+ - MessageDigestSpi
+ - MessageFormat
+ - MessageFormat.Field
+ - MessageProp
+ - MetaEventListener
+ - MetaMessage
+ - MetalBorders
+ - MetalBorders.ButtonBorder
+ - MetalBorders.Flush3DBorder
+ - MetalBorders.InternalFrameBorder
+ - MetalBorders.MenuBarBorder
+ - MetalBorders.MenuItemBorder
+ - MetalBorders.OptionDialogBorder
+ - MetalBorders.PaletteBorder
+ - MetalBorders.PopupMenuBorder
+ - MetalBorders.RolloverButtonBorder
+ - MetalBorders.ScrollPaneBorder
+ - MetalBorders.TableHeaderBorder
+ - MetalBorders.TextFieldBorder
+ - MetalBorders.ToggleButtonBorder
+ - MetalBorders.ToolBarBorder
+ - MetalButtonUI
+ - MetalCheckBoxIcon
+ - MetalCheckBoxUI
+ - MetalComboBoxButton
+ - MetalComboBoxEditor
+ - MetalComboBoxEditor.UIResource
+ - MetalComboBoxIcon
+ - MetalComboBoxUI
+ - MetalDesktopIconUI
+ - MetalFileChooserUI
+ - MetalIconFactory
+ - MetalIconFactory.FileIcon16
+ - MetalIconFactory.FolderIcon16
+ - MetalIconFactory.PaletteCloseIcon
+ - MetalIconFactory.TreeControlIcon
+ - MetalIconFactory.TreeFolderIcon
+ - MetalIconFactory.TreeLeafIcon
+ - MetalInternalFrameTitlePane
+ - MetalInternalFrameUI
+ - MetalLabelUI
+ - MetalLookAndFeel
+ - MetalMenuBarUI
+ - MetalPopupMenuSeparatorUI
+ - MetalProgressBarUI
+ - MetalRadioButtonUI
+ - MetalRootPaneUI
+ - MetalScrollBarUI
+ - MetalScrollButton
+ - MetalScrollPaneUI
+ - MetalSeparatorUI
+ - MetalSliderUI
+ - MetalSplitPaneUI
+ - MetalTabbedPaneUI
+ - MetalTextFieldUI
+ - MetalTheme
+ - MetalToggleButtonUI
+ - MetalToolBarUI
+ - MetalToolTipUI
+ - MetalTreeUI
+ - Method
+ - MethodDescriptor
+ - MidiChannel
+ - MidiDevice
+ - MidiDevice.Info
+ - MidiDeviceProvider
+ - MidiEvent
+ - MidiFileFormat
+ - MidiFileReader
+ - MidiFileWriter
+ - MidiMessage
+ - MidiSystem
+ - MidiUnavailableException
+ - MimeTypeParseException
+ - MinimalHTMLWriter
+ - MissingFormatArgumentException
+ - MissingFormatWidthException
+ - MissingResourceException
+ - Mixer
+ - Mixer.Info
+ - MixerProvider
+ - ModelMBean
+ - ModelMBeanAttributeInfo
+ - ModelMBeanConstructorInfo
+ - ModelMBeanInfo
+ - ModelMBeanInfoSupport
+ - ModelMBeanNotificationBroadcaster
+ - ModelMBeanNotificationInfo
+ - ModelMBeanOperationInfo
+ - ModificationItem
+ - Modifier
+ - Monitor
+ - MonitorMBean
+ - MonitorNotification
+ - MonitorSettingException
+ - MouseAdapter
+ - MouseDragGestureRecognizer
+ - MouseEvent
+ - MouseInfo
+ - MouseInputAdapter
+ - MouseInputListener
+ - MouseListener
+ - MouseMotionAdapter
+ - MouseMotionListener
+ - MouseWheelEvent
+ - MouseWheelListener
+ - MultiButtonUI
+ - MultiColorChooserUI
+ - MultiComboBoxUI
+ - MultiDesktopIconUI
+ - MultiDesktopPaneUI
+ - MultiDoc
+ - MultiDocPrintJob
+ - MultiDocPrintService
+ - MultiFileChooserUI
+ - MultiInternalFrameUI
+ - MultiLabelUI
+ - MultiListUI
+ - MultiLookAndFeel
+ - MultiMenuBarUI
+ - MultiMenuItemUI
+ - MultiOptionPaneUI
+ - MultiPanelUI
+ - MultiPixelPackedSampleModel
+ - MultiPopupMenuUI
+ - MultiProgressBarUI
+ - MultiRootPaneUI
+ - MultiScrollBarUI
+ - MultiScrollPaneUI
+ - MultiSeparatorUI
+ - MultiSliderUI
+ - MultiSpinnerUI
+ - MultiSplitPaneUI
+ - MultiTabbedPaneUI
+ - MultiTableHeaderUI
+ - MultiTableUI
+ - MultiTextUI
+ - MultiToolBarUI
+ - MultiToolTipUI
+ - MultiTreeUI
+ - MultiViewportUI
+ - MulticastSocket
+ - MultipleComponentProfileHelper
+ - MultipleComponentProfileHolder
+ - MultipleDocumentHandling
+ - MultipleMaster
+ - MutableAttributeSet
+ - MutableComboBoxModel
+ - MutableTreeNode
+ - NON_EXISTENT
+ - NO_IMPLEMENT
+ - NO_MEMORY
+ - NO_PERMISSION
+ - NO_RESOURCES
+ - NO_RESPONSE
+ - NVList
+ - Name
+ - NameAlreadyBoundException
+ - NameCallback
+ - NameClassPair
+ - NameComponent
+ - NameComponentHelper
+ - NameComponentHolder
+ - NameDynAnyPair
+ - NameDynAnyPairHelper
+ - NameDynAnyPairSeqHelper
+ - NameHelper
+ - NameHolder
+ - NameList
+ - NameNotFoundException
+ - NameParser
+ - NameValuePair
+ - NameValuePair
+ - NameValuePairHelper
+ - NameValuePairHelper
+ - NameValuePairSeqHelper
+ - NamedNodeMap
+ - NamedValue
+ - NamespaceChangeListener
+ - NamespaceContext
+ - NamespaceSupport
+ - Naming
+ - NamingContext
+ - NamingContextExt
+ - NamingContextExtHelper
+ - NamingContextExtHolder
+ - NamingContextExtOperations
+ - NamingContextExtPOA
+ - NamingContextHelper
+ - NamingContextHolder
+ - NamingContextOperations
+ - NamingContextPOA
+ - NamingEnumeration
+ - NamingEvent
+ - NamingException
+ - NamingExceptionEvent
+ - NamingListener
+ - NamingManager
+ - NamingSecurityException
+ - NavigationFilter
+ - NavigationFilter.FilterBypass
+ - NegativeArraySizeException
+ - NetPermission
+ - NetworkInterface
+ - NoClassDefFoundError
+ - NoConnectionPendingException
+ - NoContext
+ - NoContextHelper
+ - NoInitialContextException
+ - NoPermissionException
+ - NoRouteToHostException
+ - NoServant
+ - NoServantHelper
+ - NoSuchAlgorithmException
+ - NoSuchAttributeException
+ - NoSuchElementException
+ - NoSuchFieldError
+ - NoSuchFieldException
+ - NoSuchMethodError
+ - NoSuchMethodException
+ - NoSuchObjectException
+ - NoSuchPaddingException
+ - NoSuchProviderException
+ - Node
+ - NodeChangeEvent
+ - NodeChangeListener
+ - NodeList
+ - NonReadableChannelException
+ - NonWritableChannelException
+ - NoninvertibleTransformException
+ - NotActiveException
+ - NotBoundException
+ - NotCompliantMBeanException
+ - NotContextException
+ - NotEmpty
+ - NotEmptyHelper
+ - NotEmptyHolder
+ - NotFound
+ - NotFoundHelper
+ - NotFoundHolder
+ - NotFoundReason
+ - NotFoundReasonHelper
+ - NotFoundReasonHolder
+ - NotOwnerException
+ - NotSerializableException
+ - NotYetBoundException
+ - NotYetConnectedException
+ - Notation
+ - Notification
+ - NotificationBroadcaster
+ - NotificationBroadcasterSupport
+ - NotificationEmitter
+ - NotificationFilter
+ - NotificationFilterSupport
+ - NotificationListener
+ - NotificationResult
+ - NullCipher
+ - NullPointerException
+ - Number
+ - NumberFormat
+ - NumberFormat.Field
+ - NumberFormatException
+ - NumberFormatter
+ - NumberOfDocuments
+ - NumberOfInterveningJobs
+ - NumberUp
+ - NumberUpSupported
+ - NumericShaper
+ - OAEPParameterSpec
+ - OBJECT_NOT_EXIST
+ - OBJ_ADAPTER
+ - OMGVMCID
+ - ORB
+ - ORB
+ - ORBIdHelper
+ - ORBInitInfo
+ - ORBInitInfoOperations
+ - ORBInitializer
+ - ORBInitializerOperations
+ - ObjID
+ - Object
+ - Object
+ - ObjectAlreadyActive
+ - ObjectAlreadyActiveHelper
+ - ObjectChangeListener
+ - ObjectFactory
+ - ObjectFactoryBuilder
+ - ObjectHelper
+ - ObjectHolder
+ - ObjectIdHelper
+ - ObjectIdHelper
+ - ObjectImpl
+ - ObjectImpl
+ - ObjectInput
+ - ObjectInputStream
+ - ObjectInputStream.GetField
+ - ObjectInputValidation
+ - ObjectInstance
+ - ObjectName
+ - ObjectNotActive
+ - ObjectNotActiveHelper
+ - ObjectOutput
+ - ObjectOutputStream
+ - ObjectOutputStream.PutField
+ - ObjectReferenceFactory
+ - ObjectReferenceFactoryHelper
+ - ObjectReferenceFactoryHolder
+ - ObjectReferenceTemplate
+ - ObjectReferenceTemplateHelper
+ - ObjectReferenceTemplateHolder
+ - ObjectReferenceTemplateSeqHelper
+ - ObjectReferenceTemplateSeqHolder
+ - ObjectStreamClass
+ - ObjectStreamConstants
+ - ObjectStreamException
+ - ObjectStreamField
+ - ObjectView
+ - Observable
+ - Observer
+ - OceanTheme
+ - OctetSeqHelper
+ - OctetSeqHolder
+ - Oid
+ - OpenDataException
+ - OpenMBeanAttributeInfo
+ - OpenMBeanAttributeInfoSupport
+ - OpenMBeanConstructorInfo
+ - OpenMBeanConstructorInfoSupport
+ - OpenMBeanInfo
+ - OpenMBeanInfoSupport
+ - OpenMBeanOperationInfo
+ - OpenMBeanOperationInfoSupport
+ - OpenMBeanParameterInfo
+ - OpenMBeanParameterInfoSupport
+ - OpenType
+ - OpenType
+ - OperatingSystemMXBean
+ - Operation
+ - OperationNotSupportedException
+ - OperationsException
+ - Option
+ - OptionPaneUI
+ - OptionalDataException
+ - OrientationRequested
+ - OutOfMemoryError
+ - OutputDeviceAssigned
+ - OutputKeys
+ - OutputStream
+ - OutputStream
+ - OutputStream
+ - OutputStreamWriter
+ - OverlappingFileLockException
+ - OverlayLayout
+ - Override
+ - Owner
+ - PBEKey
+ - PBEKeySpec
+ - PBEParameterSpec
+ - PDLOverrideSupported
+ - PERSIST_STORE
+ - PKCS8EncodedKeySpec
+ - PKIXBuilderParameters
+ - PKIXCertPathBuilderResult
+ - PKIXCertPathChecker
+ - PKIXCertPathValidatorResult
+ - PKIXParameters
+ - POA
+ - POAHelper
+ - POAManager
+ - POAManagerOperations
+ - POAOperations
+ - PRIVATE_MEMBER
+ - PSSParameterSpec
+ - PSource
+ - PSource.PSpecified
+ - PUBLIC_MEMBER
+ - Pack200
+ - Pack200.Packer
+ - Pack200.Unpacker
+ - Package
+ - PackedColorModel
+ - PageAttributes
+ - PageAttributes.ColorType
+ - PageAttributes.MediaType
+ - PageAttributes.OrientationRequestedType
+ - PageAttributes.OriginType
+ - PageAttributes.PrintQualityType
+ - PageFormat
+ - PageRanges
+ - Pageable
+ - PagedResultsControl
+ - PagedResultsResponseControl
+ - PagesPerMinute
+ - PagesPerMinuteColor
+ - Paint
+ - PaintContext
+ - PaintEvent
+ - Panel
+ - PanelUI
+ - Paper
+ - ParagraphView
+ - ParagraphView
+ - Parameter
+ - ParameterBlock
+ - ParameterDescriptor
+ - ParameterMetaData
+ - ParameterMode
+ - ParameterModeHelper
+ - ParameterModeHolder
+ - ParameterizedType
+ - ParseException
+ - ParsePosition
+ - Parser
+ - Parser
+ - ParserAdapter
+ - ParserConfigurationException
+ - ParserDelegator
+ - ParserFactory
+ - PartialResultException
+ - PasswordAuthentication
+ - PasswordCallback
+ - PasswordView
+ - Patch
+ - PathIterator
+ - Pattern
+ - PatternSyntaxException
+ - Permission
+ - Permission
+ - PermissionCollection
+ - Permissions
+ - PersistenceDelegate
+ - PersistentMBean
+ - PhantomReference
+ - Pipe
+ - Pipe.SinkChannel
+ - Pipe.SourceChannel
+ - PipedInputStream
+ - PipedOutputStream
+ - PipedReader
+ - PipedWriter
+ - PixelGrabber
+ - PixelInterleavedSampleModel
+ - PlainDocument
+ - PlainView
+ - Point
+ - Point2D
+ - Point2D.Double
+ - Point2D.Float
+ - PointerInfo
+ - Policy
+ - Policy
+ - Policy
+ - PolicyError
+ - PolicyErrorCodeHelper
+ - PolicyErrorHelper
+ - PolicyErrorHolder
+ - PolicyFactory
+ - PolicyFactoryOperations
+ - PolicyHelper
+ - PolicyHolder
+ - PolicyListHelper
+ - PolicyListHolder
+ - PolicyNode
+ - PolicyOperations
+ - PolicyQualifierInfo
+ - PolicyTypeHelper
+ - Polygon
+ - PooledConnection
+ - Popup
+ - PopupFactory
+ - PopupMenu
+ - PopupMenuEvent
+ - PopupMenuListener
+ - PopupMenuUI
+ - Port
+ - Port.Info
+ - PortUnreachableException
+ - PortableRemoteObject
+ - PortableRemoteObjectDelegate
+ - Position
+ - Position.Bias
+ - Predicate
+ - PreferenceChangeEvent
+ - PreferenceChangeListener
+ - Preferences
+ - PreferencesFactory
+ - PreparedStatement
+ - PresentationDirection
+ - Principal
+ - Principal
+ - PrincipalHolder
+ - PrintEvent
+ - PrintException
+ - PrintGraphics
+ - PrintJob
+ - PrintJobAdapter
+ - PrintJobAttribute
+ - PrintJobAttributeEvent
+ - PrintJobAttributeListener
+ - PrintJobAttributeSet
+ - PrintJobEvent
+ - PrintJobListener
+ - PrintQuality
+ - PrintRequestAttribute
+ - PrintRequestAttributeSet
+ - PrintService
+ - PrintServiceAttribute
+ - PrintServiceAttributeEvent
+ - PrintServiceAttributeListener
+ - PrintServiceAttributeSet
+ - PrintServiceLookup
+ - PrintStream
+ - PrintWriter
+ - Printable
+ - PrinterAbortException
+ - PrinterException
+ - PrinterGraphics
+ - PrinterIOException
+ - PrinterInfo
+ - PrinterIsAcceptingJobs
+ - PrinterJob
+ - PrinterLocation
+ - PrinterMakeAndModel
+ - PrinterMessageFromOperator
+ - PrinterMoreInfo
+ - PrinterMoreInfoManufacturer
+ - PrinterName
+ - PrinterResolution
+ - PrinterState
+ - PrinterStateReason
+ - PrinterStateReasons
+ - PrinterURI
+ - PriorityBlockingQueue
+ - PriorityQueue
+ - PrivateClassLoader
+ - PrivateCredentialPermission
+ - PrivateKey
+ - PrivateMLet
+ - PrivilegedAction
+ - PrivilegedActionException
+ - PrivilegedExceptionAction
+ - Process
+ - ProcessBuilder
+ - ProcessingInstruction
+ - ProfileDataException
+ - ProfileIdHelper
+ - ProgressBarUI
+ - ProgressMonitor
+ - ProgressMonitorInputStream
+ - Properties
+ - PropertyChangeEvent
+ - PropertyChangeListener
+ - PropertyChangeListenerProxy
+ - PropertyChangeSupport
+ - PropertyDescriptor
+ - PropertyEditor
+ - PropertyEditorManager
+ - PropertyEditorSupport
+ - PropertyPermission
+ - PropertyResourceBundle
+ - PropertyVetoException
+ - ProtectionDomain
+ - ProtocolException
+ - Provider
+ - Provider.Service
+ - ProviderException
+ - Proxy
+ - Proxy
+ - Proxy.Type
+ - ProxySelector
+ - PublicKey
+ - PushbackInputStream
+ - PushbackReader
+ - QName
+ - QuadCurve2D
+ - QuadCurve2D.Double
+ - QuadCurve2D.Float
+ - Query
+ - QueryEval
+ - QueryExp
+ - Queue
+ - QueuedJobCount
+ - RC2ParameterSpec
+ - RC5ParameterSpec
+ - REBIND
+ - REQUEST_PROCESSING_POLICY_ID
+ - RGBImageFilter
+ - RMIClassLoader
+ - RMIClassLoaderSpi
+ - RMIClientSocketFactory
+ - RMIConnection
+ - RMIConnectionImpl
+ - RMIConnectionImpl_Stub
+ - RMIConnector
+ - RMIConnectorServer
+ - RMICustomMaxStreamFormat
+ - RMIFailureHandler
+ - RMIIIOPServerImpl
+ - RMIJRMPServerImpl
+ - RMISecurityException
+ - RMISecurityManager
+ - RMIServer
+ - RMIServerImpl
+ - RMIServerImpl_Stub
+ - RMIServerSocketFactory
+ - RMISocketFactory
+ - RSAKey
+ - RSAKeyGenParameterSpec
+ - RSAMultiPrimePrivateCrtKey
+ - RSAMultiPrimePrivateCrtKeySpec
+ - RSAOtherPrimeInfo
+ - RSAPrivateCrtKey
+ - RSAPrivateCrtKeySpec
+ - RSAPrivateKey
+ - RSAPrivateKeySpec
+ - RSAPublicKey
+ - RSAPublicKeySpec
+ - RTFEditorKit
+ - Random
+ - RandomAccess
+ - RandomAccessFile
+ - Raster
+ - RasterFormatException
+ - RasterOp
+ - Rdn
+ - ReadOnlyBufferException
+ - ReadWriteLock
+ - Readable
+ - ReadableByteChannel
+ - Reader
+ - RealmCallback
+ - RealmChoiceCallback
+ - Receiver
+ - Rectangle
+ - Rectangle2D
+ - Rectangle2D.Double
+ - Rectangle2D.Float
+ - RectangularShape
+ - ReentrantLock
+ - ReentrantReadWriteLock
+ - ReentrantReadWriteLock.ReadLock
+ - ReentrantReadWriteLock.WriteLock
+ - Ref
+ - RefAddr
+ - Reference
+ - Reference
+ - ReferenceQueue
+ - ReferenceUriSchemesSupported
+ - Referenceable
+ - ReferralException
+ - ReflectPermission
+ - ReflectionException
+ - RefreshFailedException
+ - Refreshable
+ - Region
+ - RegisterableService
+ - Registry
+ - RegistryHandler
+ - RejectedExecutionException
+ - RejectedExecutionHandler
+ - Relation
+ - RelationException
+ - RelationNotFoundException
+ - RelationNotification
+ - RelationService
+ - RelationServiceMBean
+ - RelationServiceNotRegisteredException
+ - RelationSupport
+ - RelationSupportMBean
+ - RelationType
+ - RelationTypeNotFoundException
+ - RelationTypeSupport
+ - RemarshalException
+ - Remote
+ - RemoteCall
+ - RemoteException
+ - RemoteObject
+ - RemoteObjectInvocationHandler
+ - RemoteRef
+ - RemoteServer
+ - RemoteStub
+ - RenderContext
+ - RenderableImage
+ - RenderableImageOp
+ - RenderableImageProducer
+ - RenderedImage
+ - RenderedImageFactory
+ - Renderer
+ - RenderingHints
+ - RenderingHints.Key
+ - RepaintManager
+ - ReplicateScaleFilter
+ - RepositoryIdHelper
+ - Request
+ - RequestInfo
+ - RequestInfoOperations
+ - RequestProcessingPolicy
+ - RequestProcessingPolicyOperations
+ - RequestProcessingPolicyValue
+ - RequestingUserName
+ - RequiredModelMBean
+ - RescaleOp
+ - ResolutionSyntax
+ - ResolveResult
+ - Resolver
+ - ResourceBundle
+ - ResponseCache
+ - ResponseHandler
+ - Result
+ - ResultSet
+ - ResultSetMetaData
+ - Retention
+ - RetentionPolicy
+ - ReverbType
+ - Robot
+ - Role
+ - RoleInfo
+ - RoleInfoNotFoundException
+ - RoleList
+ - RoleNotFoundException
+ - RoleResult
+ - RoleStatus
+ - RoleUnresolved
+ - RoleUnresolvedList
+ - RootPaneContainer
+ - RootPaneUI
+ - RoundRectangle2D
+ - RoundRectangle2D.Double
+ - RoundRectangle2D.Float
+ - RoundingMode
+ - RowMapper
+ - RowSet
+ - RowSetEvent
+ - RowSetInternal
+ - RowSetListener
+ - RowSetMetaData
+ - RowSetMetaDataImpl
+ - RowSetReader
+ - RowSetWarning
+ - RowSetWriter
+ - RuleBasedCollator
+ - RunTime
+ - RunTimeOperations
+ - Runnable
+ - Runtime
+ - RuntimeErrorException
+ - RuntimeException
+ - RuntimeMBeanException
+ - RuntimeMXBean
+ - RuntimeOperationsException
+ - RuntimePermission
+ - SAXException
+ - SAXNotRecognizedException
+ - SAXNotSupportedException
+ - SAXParseException
+ - SAXParser
+ - SAXParserFactory
+ - SAXResult
+ - SAXSource
+ - SAXTransformerFactory
+ - SERVANT_RETENTION_POLICY_ID
+ - SQLData
+ - SQLException
+ - SQLInput
+ - SQLInputImpl
+ - SQLOutput
+ - SQLOutputImpl
+ - SQLPermission
+ - SQLWarning
+ - SSLContext
+ - SSLContextSpi
+ - SSLEngine
+ - SSLEngineResult
+ - SSLEngineResult.HandshakeStatus
+ - SSLEngineResult.Status
+ - SSLException
+ - SSLHandshakeException
+ - SSLKeyException
+ - SSLPeerUnverifiedException
+ - SSLPermission
+ - SSLProtocolException
+ - SSLServerSocket
+ - SSLServerSocketFactory
+ - SSLSession
+ - SSLSessionBindingEvent
+ - SSLSessionBindingListener
+ - SSLSessionContext
+ - SSLSocket
+ - SSLSocketFactory
+ - SUCCESSFUL
+ - SYNC_WITH_TRANSPORT
+ - SYSTEM_EXCEPTION
+ - SampleModel
+ - Sasl
+ - SaslClient
+ - SaslClientFactory
+ - SaslException
+ - SaslServer
+ - SaslServerFactory
+ - Savepoint
+ - Scanner
+ - ScatteringByteChannel
+ - ScheduledExecutorService
+ - ScheduledFuture
+ - ScheduledThreadPoolExecutor
+ - Schema
+ - SchemaFactory
+ - SchemaFactoryLoader
+ - SchemaViolationException
+ - ScrollBarUI
+ - ScrollPane
+ - ScrollPaneAdjustable
+ - ScrollPaneConstants
+ - ScrollPaneLayout
+ - ScrollPaneLayout.UIResource
+ - ScrollPaneUI
+ - Scrollable
+ - Scrollbar
+ - SealedObject
+ - SearchControls
+ - SearchResult
+ - SecretKey
+ - SecretKeyFactory
+ - SecretKeyFactorySpi
+ - SecretKeySpec
+ - SecureCacheResponse
+ - SecureClassLoader
+ - SecureRandom
+ - SecureRandomSpi
+ - Security
+ - SecurityException
+ - SecurityManager
+ - SecurityPermission
+ - Segment
+ - SelectableChannel
+ - SelectionKey
+ - Selector
+ - SelectorProvider
+ - Semaphore
+ - SeparatorUI
+ - Sequence
+ - SequenceInputStream
+ - Sequencer
+ - Sequencer.SyncMode
+ - SerialArray
+ - SerialBlob
+ - SerialClob
+ - SerialDatalink
+ - SerialException
+ - SerialJavaObject
+ - SerialRef
+ - SerialStruct
+ - Serializable
+ - SerializablePermission
+ - Servant
+ - ServantActivator
+ - ServantActivatorHelper
+ - ServantActivatorOperations
+ - ServantActivatorPOA
+ - ServantAlreadyActive
+ - ServantAlreadyActiveHelper
+ - ServantLocator
+ - ServantLocatorHelper
+ - ServantLocatorOperations
+ - ServantLocatorPOA
+ - ServantManager
+ - ServantManagerOperations
+ - ServantNotActive
+ - ServantNotActiveHelper
+ - ServantObject
+ - ServantRetentionPolicy
+ - ServantRetentionPolicyOperations
+ - ServantRetentionPolicyValue
+ - ServerCloneException
+ - ServerError
+ - ServerException
+ - ServerIdHelper
+ - ServerNotActiveException
+ - ServerRef
+ - ServerRequest
+ - ServerRequestInfo
+ - ServerRequestInfoOperations
+ - ServerRequestInterceptor
+ - ServerRequestInterceptorOperations
+ - ServerRuntimeException
+ - ServerSocket
+ - ServerSocketChannel
+ - ServerSocketFactory
+ - ServiceContext
+ - ServiceContextHelper
+ - ServiceContextHolder
+ - ServiceContextListHelper
+ - ServiceContextListHolder
+ - ServiceDetail
+ - ServiceDetailHelper
+ - ServiceIdHelper
+ - ServiceInformation
+ - ServiceInformationHelper
+ - ServiceInformationHolder
+ - ServiceNotFoundException
+ - ServicePermission
+ - ServiceRegistry
+ - ServiceRegistry.Filter
+ - ServiceUI
+ - ServiceUIFactory
+ - ServiceUnavailableException
+ - Set
+ - SetOfIntegerSyntax
+ - SetOverrideType
+ - SetOverrideTypeHelper
+ - Severity
+ - Shape
+ - ShapeGraphicAttribute
+ - SheetCollate
+ - Short
+ - ShortBuffer
+ - ShortBufferException
+ - ShortHolder
+ - ShortLookupTable
+ - ShortMessage
+ - ShortSeqHelper
+ - ShortSeqHolder
+ - Sides
+ - Signature
+ - SignatureException
+ - SignatureSpi
+ - SignedObject
+ - Signer
+ - SimpleAttributeSet
+ - SimpleBeanInfo
+ - SimpleDateFormat
+ - SimpleDoc
+ - SimpleFormatter
+ - SimpleTimeZone
+ - SimpleType
+ - SinglePixelPackedSampleModel
+ - SingleSelectionModel
+ - Size2DSyntax
+ - SizeLimitExceededException
+ - SizeRequirements
+ - SizeSequence
+ - Skeleton
+ - SkeletonMismatchException
+ - SkeletonNotFoundException
+ - SliderUI
+ - Socket
+ - SocketAddress
+ - SocketChannel
+ - SocketException
+ - SocketFactory
+ - SocketHandler
+ - SocketImpl
+ - SocketImplFactory
+ - SocketOptions
+ - SocketPermission
+ - SocketSecurityException
+ - SocketTimeoutException
+ - SoftBevelBorder
+ - SoftReference
+ - SortControl
+ - SortKey
+ - SortResponseControl
+ - SortedMap
+ - SortedSet
+ - SortingFocusTraversalPolicy
+ - Soundbank
+ - SoundbankReader
+ - SoundbankResource
+ - Source
+ - SourceDataLine
+ - SourceLocator
+ - SpinnerDateModel
+ - SpinnerListModel
+ - SpinnerModel
+ - SpinnerNumberModel
+ - SpinnerUI
+ - SplitPaneUI
+ - Spring
+ - SpringLayout
+ - SpringLayout.Constraints
+ - SslRMIClientSocketFactory
+ - SslRMIServerSocketFactory
+ - Stack
+ - StackOverflowError
+ - StackTraceElement
+ - StandardMBean
+ - StartTlsRequest
+ - StartTlsResponse
+ - State
+ - StateEdit
+ - StateEditable
+ - StateFactory
+ - Statement
+ - Statement
+ - StreamCorruptedException
+ - StreamHandler
+ - StreamPrintService
+ - StreamPrintServiceFactory
+ - StreamResult
+ - StreamSource
+ - StreamTokenizer
+ - Streamable
+ - StreamableValue
+ - StrictMath
+ - String
+ - StringBuffer
+ - StringBufferInputStream
+ - StringBuilder
+ - StringCharacterIterator
+ - StringContent
+ - StringHolder
+ - StringIndexOutOfBoundsException
+ - StringMonitor
+ - StringMonitorMBean
+ - StringNameHelper
+ - StringReader
+ - StringRefAddr
+ - StringSelection
+ - StringSeqHelper
+ - StringSeqHolder
+ - StringTokenizer
+ - StringValueExp
+ - StringValueHelper
+ - StringWriter
+ - Stroke
+ - Struct
+ - StructMember
+ - StructMemberHelper
+ - Stub
+ - StubDelegate
+ - StubNotFoundException
+ - Style
+ - StyleConstants
+ - StyleConstants.CharacterConstants
+ - StyleConstants.ColorConstants
+ - StyleConstants.FontConstants
+ - StyleConstants.ParagraphConstants
+ - StyleContext
+ - StyleSheet
+ - StyleSheet.BoxPainter
+ - StyleSheet.ListPainter
+ - StyledDocument
+ - StyledEditorKit
+ - StyledEditorKit.AlignmentAction
+ - StyledEditorKit.BoldAction
+ - StyledEditorKit.FontFamilyAction
+ - StyledEditorKit.FontSizeAction
+ - StyledEditorKit.ForegroundAction
+ - StyledEditorKit.ItalicAction
+ - StyledEditorKit.StyledTextAction
+ - StyledEditorKit.UnderlineAction
+ - Subject
+ - SubjectDelegationPermission
+ - SubjectDomainCombiner
+ - SupportedValuesAttribute
+ - SuppressWarnings
+ - SwingConstants
+ - SwingPropertyChangeSupport
+ - SwingUtilities
+ - SyncFactory
+ - SyncFactoryException
+ - SyncFailedException
+ - SyncProvider
+ - SyncProviderException
+ - SyncResolver
+ - SyncScopeHelper
+ - SynchronousQueue
+ - SynthConstants
+ - SynthContext
+ - SynthGraphicsUtils
+ - SynthLookAndFeel
+ - SynthPainter
+ - SynthStyle
+ - SynthStyleFactory
+ - Synthesizer
+ - SysexMessage
+ - System
+ - SystemColor
+ - SystemException
+ - SystemFlavorMap
+ - TAG_ALTERNATE_IIOP_ADDRESS
+ - TAG_CODE_SETS
+ - TAG_INTERNET_IOP
+ - TAG_JAVA_CODEBASE
+ - TAG_MULTIPLE_COMPONENTS
+ - TAG_ORB_TYPE
+ - TAG_POLICIES
+ - TAG_RMI_CUSTOM_MAX_STREAM_FORMAT
+ - TCKind
+ - THREAD_POLICY_ID
+ - TIMEOUT
+ - TRANSACTION_MODE
+ - TRANSACTION_REQUIRED
+ - TRANSACTION_ROLLEDBACK
+ - TRANSACTION_UNAVAILABLE
+ - TRANSIENT
+ - TRANSPORT_RETRY
+ - TabExpander
+ - TabSet
+ - TabStop
+ - TabableView
+ - TabbedPaneUI
+ - TableCellEditor
+ - TableCellRenderer
+ - TableColumn
+ - TableColumnModel
+ - TableColumnModelEvent
+ - TableColumnModelListener
+ - TableHeaderUI
+ - TableModel
+ - TableModelEvent
+ - TableModelListener
+ - TableUI
+ - TableView
+ - TabularData
+ - TabularDataSupport
+ - TabularType
+ - TagElement
+ - TaggedComponent
+ - TaggedComponentHelper
+ - TaggedComponentHolder
+ - TaggedProfile
+ - TaggedProfileHelper
+ - TaggedProfileHolder
+ - Target
+ - TargetDataLine
+ - TargetedNotification
+ - Templates
+ - TemplatesHandler
+ - Text
+ - TextAction
+ - TextArea
+ - TextAttribute
+ - TextComponent
+ - TextEvent
+ - TextField
+ - TextHitInfo
+ - TextInputCallback
+ - TextLayout
+ - TextLayout.CaretPolicy
+ - TextListener
+ - TextMeasurer
+ - TextOutputCallback
+ - TextSyntax
+ - TextUI
+ - TexturePaint
+ - Thread
+ - Thread.State
+ - Thread.UncaughtExceptionHandler
+ - ThreadDeath
+ - ThreadFactory
+ - ThreadGroup
+ - ThreadInfo
+ - ThreadLocal
+ - ThreadMXBean
+ - ThreadPolicy
+ - ThreadPolicyOperations
+ - ThreadPolicyValue
+ - ThreadPoolExecutor
+ - ThreadPoolExecutor.AbortPolicy
+ - ThreadPoolExecutor.CallerRunsPolicy
+ - ThreadPoolExecutor.DiscardOldestPolicy
+ - ThreadPoolExecutor.DiscardPolicy
+ - Throwable
+ - Tie
+ - TileObserver
+ - Time
+ - TimeLimitExceededException
+ - TimeUnit
+ - TimeZone
+ - TimeoutException
+ - Timer
+ - Timer
+ - Timer
+ - TimerAlarmClockNotification
+ - TimerMBean
+ - TimerNotification
+ - TimerTask
+ - Timestamp
+ - Timestamp
+ - TitledBorder
+ - TooManyListenersException
+ - ToolBarUI
+ - ToolTipManager
+ - ToolTipUI
+ - Toolkit
+ - Track
+ - TransactionRequiredException
+ - TransactionRolledbackException
+ - TransactionService
+ - TransactionalWriter
+ - TransferHandler
+ - Transferable
+ - TransformAttribute
+ - Transformer
+ - TransformerConfigurationException
+ - TransformerException
+ - TransformerFactory
+ - TransformerFactoryConfigurationError
+ - TransformerHandler
+ - Transmitter
+ - Transparency
+ - TreeCellEditor
+ - TreeCellRenderer
+ - TreeExpansionEvent
+ - TreeExpansionListener
+ - TreeMap
+ - TreeModel
+ - TreeModelEvent
+ - TreeModelListener
+ - TreeNode
+ - TreePath
+ - TreeSelectionEvent
+ - TreeSelectionListener
+ - TreeSelectionModel
+ - TreeSet
+ - TreeUI
+ - TreeWillExpandListener
+ - TrustAnchor
+ - TrustManager
+ - TrustManagerFactory
+ - TrustManagerFactorySpi
+ - Type
+ - TypeCode
+ - TypeCodeHolder
+ - TypeInfo
+ - TypeInfoProvider
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatchHelper
+ - TypeMismatchHelper
+ - TypeNotPresentException
+ - TypeVariable
+ - Types
+ - UID
+ - UIDefaults
+ - UIDefaults.ActiveValue
+ - UIDefaults.LazyInputMap
+ - UIDefaults.LazyValue
+ - UIDefaults.ProxyLazyValue
+ - UIManager
+ - UIManager.LookAndFeelInfo
+ - UIResource
+ - ULongLongSeqHelper
+ - ULongLongSeqHolder
+ - ULongSeqHelper
+ - ULongSeqHolder
+ - UNKNOWN
+ - UNKNOWN
+ - UNSUPPORTED_POLICY
+ - UNSUPPORTED_POLICY_VALUE
+ - URI
+ - URIException
+ - URIResolver
+ - URISyntax
+ - URISyntaxException
+ - URL
+ - URLClassLoader
+ - URLConnection
+ - URLDecoder
+ - URLEncoder
+ - URLStreamHandler
+ - URLStreamHandlerFactory
+ - URLStringHelper
+ - USER_EXCEPTION
+ - UShortSeqHelper
+ - UShortSeqHolder
+ - UTFDataFormatException
+ - UUID
+ - UndeclaredThrowableException
+ - UndoManager
+ - UndoableEdit
+ - UndoableEditEvent
+ - UndoableEditListener
+ - UndoableEditSupport
+ - UnexpectedException
+ - UnicastRemoteObject
+ - UnionMember
+ - UnionMemberHelper
+ - UnknownEncoding
+ - UnknownEncodingHelper
+ - UnknownError
+ - UnknownException
+ - UnknownFormatConversionException
+ - UnknownFormatFlagsException
+ - UnknownGroupException
+ - UnknownHostException
+ - UnknownHostException
+ - UnknownObjectException
+ - UnknownServiceException
+ - UnknownUserException
+ - UnknownUserExceptionHelper
+ - UnknownUserExceptionHolder
+ - UnmappableCharacterException
+ - UnmarshalException
+ - UnmodifiableClassException
+ - UnmodifiableSetException
+ - UnrecoverableEntryException
+ - UnrecoverableKeyException
+ - Unreferenced
+ - UnresolvedAddressException
+ - UnresolvedPermission
+ - UnsatisfiedLinkError
+ - UnsolicitedNotification
+ - UnsolicitedNotificationEvent
+ - UnsolicitedNotificationListener
+ - UnsupportedAddressTypeException
+ - UnsupportedAudioFileException
+ - UnsupportedCallbackException
+ - UnsupportedCharsetException
+ - UnsupportedClassVersionError
+ - UnsupportedEncodingException
+ - UnsupportedFlavorException
+ - UnsupportedLookAndFeelException
+ - UnsupportedOperationException
+ - UserDataHandler
+ - UserException
+ - Util
+ - UtilDelegate
+ - Utilities
+ - VMID
+ - VM_ABSTRACT
+ - VM_CUSTOM
+ - VM_NONE
+ - VM_TRUNCATABLE
+ - Validator
+ - ValidatorHandler
+ - ValueBase
+ - ValueBaseHelper
+ - ValueBaseHolder
+ - ValueExp
+ - ValueFactory
+ - ValueHandler
+ - ValueHandlerMultiFormat
+ - ValueInputStream
+ - ValueMember
+ - ValueMemberHelper
+ - ValueOutputStream
+ - VariableHeightLayoutCache
+ - Vector
+ - VerifyError
+ - VersionSpecHelper
+ - VetoableChangeListener
+ - VetoableChangeListenerProxy
+ - VetoableChangeSupport
+ - View
+ - ViewFactory
+ - ViewportLayout
+ - ViewportUI
+ - VirtualMachineError
+ - Visibility
+ - VisibilityHelper
+ - VoiceStatus
+ - Void
+ - VolatileImage
+ - WCharSeqHelper
+ - WCharSeqHolder
+ - WStringSeqHelper
+ - WStringSeqHolder
+ - WStringValueHelper
+ - WeakHashMap
+ - WeakReference
+ - WebRowSet
+ - WildcardType
+ - Window
+ - WindowAdapter
+ - WindowConstants
+ - WindowEvent
+ - WindowFocusListener
+ - WindowListener
+ - WindowStateListener
+ - WrappedPlainView
+ - WritableByteChannel
+ - WritableRaster
+ - WritableRenderedImage
+ - WriteAbortedException
+ - Writer
+ - WrongAdapter
+ - WrongAdapterHelper
+ - WrongPolicy
+ - WrongPolicyHelper
+ - WrongTransaction
+ - WrongTransactionHelper
+ - WrongTransactionHolder
+ - X500Principal
+ - X500PrivateCredential
+ - X509CRL
+ - X509CRLEntry
+ - X509CRLSelector
+ - X509CertSelector
+ - X509Certificate
+ - X509Certificate
+ - X509EncodedKeySpec
+ - X509ExtendedKeyManager
+ - X509Extension
+ - X509KeyManager
+ - X509TrustManager
+ - XAConnection
+ - XADataSource
+ - XAException
+ - XAResource
+ - XMLConstants
+ - XMLDecoder
+ - XMLEncoder
+ - XMLFilter
+ - XMLFilterImpl
+ - XMLFormatter
+ - XMLGregorianCalendar
+ - XMLParseException
+ - XMLReader
+ - XMLReaderAdapter
+ - XMLReaderFactory
+ - XPath
+ - XPathConstants
+ - XPathException
+ - XPathExpression
+ - XPathExpressionException
+ - XPathFactory
+ - XPathFactoryConfigurationException
+ - XPathFunction
+ - XPathFunctionException
+ - XPathFunctionResolver
+ - XPathVariableResolver
+ - Xid
+ - XmlReader
+ - XmlWriter
+ - ZipEntry
+ - ZipException
+ - ZipFile
+ - ZipInputStream
+ - ZipOutputStream
+ - ZoneView
+ - _BindingIteratorImplBase
+ - _BindingIteratorStub
+ - _DynAnyFactoryStub
+ - _DynAnyStub
+ - _DynArrayStub
+ - _DynEnumStub
+ - _DynFixedStub
+ - _DynSequenceStub
+ - _DynStructStub
+ - _DynUnionStub
+ - _DynValueStub
+ - _IDLTypeStub
+ - _NamingContextExtStub
+ - _NamingContextImplBase
+ - _NamingContextStub
+ - _PolicyStub
+ - _Remote_Stub
+ - _ServantActivatorStub
+ - _ServantLocatorStub
+
+
+
+ - AbstractAnnotationValueVisitor6
+ - AbstractElementVisitor6
+ - AbstractMarshallerImpl
+ - AbstractOwnableSynchronizer
+ - AbstractProcessor
+ - AbstractQueuedLongSynchronizer
+ - AbstractScriptEngine
+ - AbstractTypeVisitor6
+ - AbstractUnmarshallerImpl
+ - ActivationDataFlavor
+ - AlgorithmMethod
+ - AnnotationMirror
+ - AnnotationValue
+ - AnnotationValueVisitor
+ - ArrayDeque
+ - AsyncHandler
+ - AttachmentMarshaller
+ - AttachmentPart
+ - AttachmentUnmarshaller
+ - Binder
+ - BindingProvider
+ - Bindings
+ - BlockingDeque
+ - BreakIteratorProvider
+ - C14NMethodParameterSpec
+ - CanonicalizationMethod
+ - Characters
+ - ClientInfoStatus
+ - CollapsedStringAdapter
+ - CollatorProvider
+ - CommandInfo
+ - CommandMap
+ - CommandObject
+ - CommonDataSource
+ - Compilable
+ - CompiledScript
+ - Completion
+ - Completions
+ - CompositeDataInvocationHandler
+ - CompositeDataView
+ - ConcurrentNavigableMap
+ - ConcurrentSkipListMap
+ - ConcurrentSkipListSet
+ - ConfigurationSpi
+ - Console
+ - ConstructorProperties
+ - CookieManager
+ - CookiePolicy
+ - CookieStore
+ - CurrencyNameProvider
+ - Data
+ - DataContentHandler
+ - DataContentHandlerFactory
+ - DataHandler
+ - DatatypeConverter
+ - DatatypeConverterInterface
+ - DateFormatProvider
+ - DateFormatSymbolsProvider
+ - DecimalFormatSymbolsProvider
+ - DeclaredType
+ - DefaultRowSorter
+ - DefaultValidationEventHandler
+ - DeflaterInputStream
+ - Deque
+ - DescriptorKey
+ - DescriptorRead
+ - Desktop
+ - Detail
+ - DetailEntry
+ - Diagnostic
+ - DiagnosticCollector
+ - DiagnosticListener
+ - DigestMethod
+ - DigestMethodParameterSpec
+ - Dispatch
+ - DOMCryptoContext
+ - DomHandler
+ - DOMSignContext
+ - DOMStructure
+ - DOMURIReference
+ - DOMValidateContext
+ - DropMode
+ - ElementFilter
+ - ElementKind
+ - ElementKindVisitor6
+ - Elements
+ - ElementScanner6
+ - ElementVisitor
+ - EndDocument
+ - EndElement
+ - Endpoint
+ - EntityDeclaration
+ - ErrorType
+ - EventException
+ - EventFilter
+ - EventReaderDelegate
+ - EventTarget
+ - ExcC14NParameterSpec
+ - ExecutableElement
+ - ExecutableType
+ - FileDataSource
+ - FileNameExtensionFilter
+ - FileObject
+ - Filer
+ - FilerException
+ - FileTypeMap
+ - ForwardingFileObject
+ - ForwardingJavaFileManager
+ - ForwardingJavaFileObject
+ - Generated
+ - GridBagLayoutInfo
+ - GroupLayout
+ - HandlerChain
+ - HandlerResolver
+ - HexBinaryAdapter
+ - HMACParameterSpec
+ - Holder
+ - HTTPBinding
+ - HttpCookie
+ - HTTPException
+ - IDN
+ - ImmutableDescriptor
+ - InflaterOutputStream
+ - InitParam
+ - InterfaceAddress
+ - Invocable
+ - IOError
+ - JavaCompiler
+ - JavaFileManager
+ - JavaFileObject
+ - JAXBContext
+ - JAXBElement
+ - JAXBException
+ - JAXBIntrospector
+ - JAXBResult
+ - JAXBSource
+ - JMX
+ - JMXAddressable
+ - KeyInfo
+ - KeyInfoFactory
+ - KeyName
+ - KeySelector
+ - KeySelectorException
+ - KeySelectorResult
+ - KeyValue
+ - LayoutPath
+ - LayoutStyle
+ - LinearGradientPaint
+ - LinkedBlockingDeque
+ - LocaleNameProvider
+ - LocaleServiceProvider
+ - Location
+ - LockInfo
+ - LogicalHandler
+ - LogicalMessage
+ - LogicalMessageContext
+ - MailcapCommandMap
+ - Marshaller
+ - MessageContext
+ - MessageFactory
+ - Messager
+ - MimeHeader
+ - MimeHeaders
+ - MimeType
+ - MimeTypeParameterList
+ - MimetypesFileTypeMap
+ - MirroredTypeException
+ - MirroredTypesException
+ - MLetContent
+ - MonitorInfo
+ - MultipleGradientPaint
+ - MutationEvent
+ - MXBean
+ - Namespace
+ - NavigableMap
+ - NavigableSet
+ - NClob
+ - NestingKind
+ - NodeSetData
+ - NormalizedStringAdapter
+ - Normalizer
+ - NoSuchMechanismException
+ - NotationDeclaration
+ - NotIdentifiableEvent
+ - NotIdentifiableEventImpl
+ - NoType
+ - NullType
+ - NumberFormatProvider
+ - OctetStreamData
+ - Oneway
+ - OptionChecker
+ - PackageElement
+ - ParseConversionEvent
+ - ParseConversionEventImpl
+ - Path2D
+ - PGPData
+ - PolicySpi
+ - PortInfo
+ - PostConstruct
+ - PreDestroy
+ - PrimitiveType
+ - PrintConversionEvent
+ - PrintConversionEventImpl
+ - ProcessingEnvironment
+ - Processor
+ - PropertyException
+ - RadialGradientPaint
+ - ReferenceType
+ - RequestWrapper
+ - Resource
+ - Resources
+ - Response
+ - ResponseWrapper
+ - RetrievalMethod
+ - RoundEnvironment
+ - RowFilter
+ - RowId
+ - RowIdLifetime
+ - RowSorter
+ - RowSorterEvent
+ - RowSorterListener
+ - RunnableFuture
+ - RunnableScheduledFuture
+ - SAAJMetaFactory
+ - SAAJResult
+ - SchemaOutputResolver
+ - ScriptContext
+ - ScriptEngine
+ - ScriptEngineFactory
+ - ScriptEngineManager
+ - ScriptException
+ - Service
+ - ServiceConfigurationError
+ - ServiceDelegate
+ - ServiceLoader
+ - ServiceMode
+ - SignatureMethod
+ - SignatureMethodParameterSpec
+ - SignatureProperties
+ - SignatureProperty
+ - SignedInfo
+ - SimpleAnnotationValueVisitor6
+ - SimpleBindings
+ - SimpleElementVisitor6
+ - SimpleJavaFileObject
+ - SimpleScriptContext
+ - SimpleTypeVisitor6
+ - SOAPBinding
+ - SOAPBinding
+ - SOAPBody
+ - SOAPBodyElement
+ - SOAPConnection
+ - SOAPConnectionFactory
+ - SOAPConstants
+ - SOAPElement
+ - SOAPElementFactory
+ - SOAPEnvelope
+ - SOAPException
+ - SOAPFactory
+ - SOAPFault
+ - SOAPFaultElement
+ - SOAPFaultException
+ - SOAPHandler
+ - SOAPHeader
+ - SOAPHeaderElement
+ - SOAPMessage
+ - SOAPMessageContext
+ - SOAPMessageHandler
+ - SOAPMessageHandlers
+ - SOAPPart
+ - SortOrder
+ - SourceVersion
+ - SplashScreen
+ - SQLClientInfoException
+ - SQLDataException
+ - SQLFeatureNotSupportedException
+ - SQLIntegrityConstraintViolationException
+ - SQLInvalidAuthorizationSpecException
+ - SQLNonTransientConnectionException
+ - SQLNonTransientException
+ - SQLRecoverableException
+ - SQLSyntaxErrorException
+ - SQLTimeoutException
+ - SQLTransactionRollbackException
+ - SQLTransientConnectionException
+ - SQLTransientException
+ - SQLXML
+ - SSLParameters
+ - StandardEmitterMBean
+ - StandardJavaFileManager
+ - StandardLocation
+ - StartDocument
+ - StartElement
+ - StatementEvent
+ - StatementEventListener
+ - StAXResult
+ - StAXSource
+ - StreamFilter
+ - StreamReaderDelegate
+ - SupportedAnnotationTypes
+ - SupportedOptions
+ - SupportedSourceVersion
+ - SwingWorker
+ - SystemTray
+ - TableRowSorter
+ - TableStringConverter
+ - TimeZoneNameProvider
+ - Tool
+ - ToolProvider
+ - Transform
+ - TransformException
+ - TransformParameterSpec
+ - TransformService
+ - TrayIcon
+ - TypeConstraintException
+ - TypeElement
+ - TypeKind
+ - TypeKindVisitor6
+ - TypeMirror
+ - TypeParameterElement
+ - TypeVisitor
+ - UIEvent
+ - UnknownAnnotationValueException
+ - UnknownElementException
+ - UnknownTypeException
+ - Unmarshaller
+ - UnmarshallerHandler
+ - UnsupportedDataTypeException
+ - URIDereferencer
+ - URIParameter
+ - URIReference
+ - URIReferenceException
+ - URLDataSource
+ - ValidationEvent
+ - ValidationEventCollector
+ - ValidationEventHandler
+ - ValidationEventImpl
+ - ValidationEventLocator
+ - ValidationEventLocatorImpl
+ - ValidationException
+ - VariableElement
+ - W3CDomHandler
+ - WebEndpoint
+ - WebFault
+ - WebMethod
+ - WebParam
+ - WebResult
+ - WebService
+ - WebServiceClient
+ - WebServiceContext
+ - WebServiceException
+ - WebServicePermission
+ - WebServiceProvider
+ - WebServiceRef
+ - WebServiceRefs
+ - Wrapper
+ - X509Data
+ - X509IssuerSerial
+ - XmlAccessOrder
+ - XmlAccessorOrder
+ - XmlAccessorType
+ - XmlAccessType
+ - XmlAdapter
+ - XmlAnyAttribute
+ - XmlAnyElement
+ - XmlAttachmentRef
+ - XmlAttribute
+ - XMLCryptoContext
+ - XmlElement
+ - XmlElementDecl
+ - XmlElementRef
+ - XmlElementRefs
+ - XmlElements
+ - XmlElementWrapper
+ - XmlEnum
+ - XmlEnumValue
+ - XMLEvent
+ - XMLEventAllocator
+ - XMLEventConsumer
+ - XMLEventFactory
+ - XMLEventReader
+ - XMLEventWriter
+ - XmlID
+ - XmlIDREF
+ - XmlInlineBinaryData
+ - XMLInputFactory
+ - XmlJavaTypeAdapter
+ - XmlJavaTypeAdapters
+ - XmlList
+ - XmlMimeType
+ - XmlMixed
+ - XmlNs
+ - XmlNsForm
+ - XMLObject
+ - XMLOutputFactory
+ - XmlRegistry
+ - XMLReporter
+ - XMLResolver
+ - XmlRootElement
+ - XmlSchema
+ - XmlSchemaType
+ - XmlSchemaTypes
+ - XMLSignature
+ - XMLSignatureException
+ - XMLSignatureFactory
+ - XMLSignContext
+ - XMLStreamConstants
+ - XMLStreamException
+ - XMLStreamReader
+ - XMLStreamWriter
+ - XMLStructure
+ - XmlTransient
+ - XmlType
+ - XMLValidateContext
+ - XmlValue
+ - XPathFilter2ParameterSpec
+ - XPathFilterParameterSpec
+ - XPathType
+ - XSLTTransformParameterSpec
+ - ZipError
+
+
+
+
+ - abstract
+ - break
+ - case
+ - catch
+ - class
+ - continue
+ - default
+ - do
+ - else
+ - enum
+ - extends
+ - false
+ - finally
+ - for
+ - goto
+ - if
+ - implements
+ - instanceof
+ - @interface
+ - interface
+ - native
+ - new
+ - null
+ - private
+ - protected
+ - public
+ - return
+ - super
+ - strictfp
+ - switch
+ - synchronized
+ - this
+ - throws
+ - throw
+ - transient
+ - true
+ - try
+ - volatile
+ - while
+
+
+ - boolean
+ - byte
+ - char
+ - const
+ - double
+ - final
+ - float
+ - int
+ - long
+ - short
+ - static
+ - void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/javadoc.xml b/data/syntax/javadoc.xml
new file mode 100644
index 0000000..c16cba3
--- /dev/null
+++ b/data/syntax/javadoc.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/javascript.xml b/data/syntax/javascript.xml
new file mode 100644
index 0000000..75fef19
--- /dev/null
+++ b/data/syntax/javascript.xml
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+
+
+ - break
+ - case
+ - catch
+ - continue
+ - debugger
+ - do
+ - else
+ - finally
+ - for
+ - if
+ - return
+ - switch
+ - throw
+ - try
+ - while
+ - with
+
+
+ - const
+ - delete
+ - function
+ - in
+ - instanceof
+ - new
+ - this
+ - typeof
+ - var
+ - void
+
+
+ - class
+ - enum
+ - extends
+ - super
+
+
+ - implements
+ - interface
+ - let
+ - private
+ - protected
+ - public
+ - static
+ - yield
+
+
+ - import
+ - from
+ - as
+ - default
+ - export
+ - package
+
+
+ - Infinity
+ - NaN
+ - false
+ - null
+ - true
+ - undefined
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/jira.xml b/data/syntax/jira.xml
new file mode 100644
index 0000000..baacb7e
--- /dev/null
+++ b/data/syntax/jira.xml
@@ -0,0 +1,720 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/json.xml b/data/syntax/json.xml
new file mode 100644
index 0000000..a187fe8
--- /dev/null
+++ b/data/syntax/json.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+ - null
+ - true
+ - false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/jsp.xml b/data/syntax/jsp.xml
new file mode 100644
index 0000000..26b9b46
--- /dev/null
+++ b/data/syntax/jsp.xml
@@ -0,0 +1,3070 @@
+
+
+
+
+
+
+ - ARG_IN
+ - ARG_INOUT
+ - ARG_OUT
+ - AWTError
+ - AWTEvent
+ - AWTEventListener
+ - AWTEventListenerProxy
+ - AWTEventMulticaster
+ - AWTException
+ - AWTKeyStroke
+ - AWTPermission
+ - AbstractAction
+ - AbstractBorder
+ - AbstractButton
+ - AbstractCellEditor
+ - AbstractCollection
+ - AbstractColorChooserPanel
+ - AbstractDocument
+ - AbstractFormatter
+ - AbstractFormatterFactory
+ - AbstractInterruptibleChannel
+ - AbstractLayoutCache
+ - AbstractList
+ - AbstractListModel
+ - AbstractMap
+ - AbstractMethodError
+ - AbstractPreferences
+ - AbstractSelectableChannel
+ - AbstractSelectionKey
+ - AbstractSelector
+ - AbstractSequentialList
+ - AbstractSet
+ - AbstractSpinnerModel
+ - AbstractTableModel
+ - AbstractUndoableEdit
+ - AbstractWriter
+ - AccessControlContext
+ - AccessControlException
+ - AccessController
+ - AccessException
+ - Accessible
+ - AccessibleAction
+ - AccessibleBundle
+ - AccessibleComponent
+ - AccessibleContext
+ - AccessibleEditableText
+ - AccessibleExtendedComponent
+ - AccessibleExtendedTable
+ - AccessibleHyperlink
+ - AccessibleHypertext
+ - AccessibleIcon
+ - AccessibleKeyBinding
+ - AccessibleObject
+ - AccessibleRelation
+ - AccessibleRelationSet
+ - AccessibleResourceBundle
+ - AccessibleRole
+ - AccessibleSelection
+ - AccessibleState
+ - AccessibleStateSet
+ - AccessibleTable
+ - AccessibleTableModelChange
+ - AccessibleText
+ - AccessibleValue
+ - AccountExpiredException
+ - Acl
+ - AclEntry
+ - AclNotFoundException
+ - Action
+ - ActionEvent
+ - ActionListener
+ - ActionMap
+ - ActionMapUIResource
+ - Activatable
+ - ActivateFailedException
+ - ActivationDesc
+ - ActivationException
+ - ActivationGroup
+ - ActivationGroupDesc
+ - ActivationGroupID
+ - ActivationGroup_Stub
+ - ActivationID
+ - ActivationInstantiator
+ - ActivationMonitor
+ - ActivationSystem
+ - Activator
+ - ActiveEvent
+ - ActiveValue
+ - AdapterActivator
+ - AdapterActivatorOperations
+ - AdapterAlreadyExists
+ - AdapterAlreadyExistsHelper
+ - AdapterInactive
+ - AdapterInactiveHelper
+ - AdapterNonExistent
+ - AdapterNonExistentHelper
+ - AddressHelper
+ - Adjustable
+ - AdjustmentEvent
+ - AdjustmentListener
+ - Adler32
+ - AffineTransform
+ - AffineTransformOp
+ - AlgorithmParameterGenerator
+ - AlgorithmParameterGeneratorSpi
+ - AlgorithmParameterSpec
+ - AlgorithmParameters
+ - AlgorithmParametersSpi
+ - AlignmentAction
+ - AllPermission
+ - AlphaComposite
+ - AlreadyBound
+ - AlreadyBoundException
+ - AlreadyBoundHelper
+ - AlreadyBoundHolder
+ - AlreadyConnectedException
+ - AncestorEvent
+ - AncestorListener
+ - Annotation
+ - Any
+ - AnyHolder
+ - AnySeqHelper
+ - AnySeqHelper
+ - AnySeqHolder
+ - AppConfigurationEntry
+ - Applet
+ - AppletContext
+ - AppletInitializer
+ - AppletStub
+ - ApplicationException
+ - Arc2D
+ - Area
+ - AreaAveragingScaleFilter
+ - ArithmeticException
+ - Array
+ - Array
+ - ArrayIndexOutOfBoundsException
+ - ArrayList
+ - ArrayStoreException
+ - Arrays
+ - AssertionError
+ - AsyncBoxView
+ - AsynchronousCloseException
+ - Attr
+ - Attribute
+ - Attribute
+ - Attribute
+ - Attribute
+ - Attribute
+ - AttributeContext
+ - AttributeException
+ - AttributeInUseException
+ - AttributeList
+ - AttributeList
+ - AttributeListImpl
+ - AttributeModificationException
+ - AttributeSet
+ - AttributeSet
+ - AttributeSetUtilities
+ - AttributeUndoableEdit
+ - AttributedCharacterIterator
+ - AttributedString
+ - Attributes
+ - Attributes
+ - Attributes
+ - AttributesImpl
+ - AudioClip
+ - AudioFileFormat
+ - AudioFileReader
+ - AudioFileWriter
+ - AudioFormat
+ - AudioInputStream
+ - AudioPermission
+ - AudioSystem
+ - AuthPermission
+ - AuthenticationException
+ - AuthenticationNotSupportedException
+ - Authenticator
+ - Autoscroll
+ - BAD_CONTEXT
+ - BAD_INV_ORDER
+ - BAD_OPERATION
+ - BAD_PARAM
+ - BAD_POLICY
+ - BAD_POLICY_TYPE
+ - BAD_POLICY_VALUE
+ - BAD_TYPECODE
+ - BCSIterator
+ - BCSSServiceProvider
+ - BYTE_ARRAY
+ - BackingStoreException
+ - BadKind
+ - BadLocationException
+ - BadPaddingException
+ - BandCombineOp
+ - BandedSampleModel
+ - BasicArrowButton
+ - BasicAttribute
+ - BasicAttributes
+ - BasicBorders
+ - BasicButtonListener
+ - BasicButtonUI
+ - BasicCaret
+ - BasicCheckBoxMenuItemUI
+ - BasicCheckBoxUI
+ - BasicColorChooserUI
+ - BasicComboBoxEditor
+ - BasicComboBoxRenderer
+ - BasicComboBoxUI
+ - BasicComboPopup
+ - BasicDesktopIconUI
+ - BasicDesktopPaneUI
+ - BasicDirectoryModel
+ - BasicEditorPaneUI
+ - BasicFileChooserUI
+ - BasicFormattedTextFieldUI
+ - BasicGraphicsUtils
+ - BasicHTML
+ - BasicHighlighter
+ - BasicIconFactory
+ - BasicInternalFrameTitlePane
+ - BasicInternalFrameUI
+ - BasicLabelUI
+ - BasicListUI
+ - BasicLookAndFeel
+ - BasicMenuBarUI
+ - BasicMenuItemUI
+ - BasicMenuUI
+ - BasicOptionPaneUI
+ - BasicPanelUI
+ - BasicPasswordFieldUI
+ - BasicPermission
+ - BasicPopupMenuSeparatorUI
+ - BasicPopupMenuUI
+ - BasicProgressBarUI
+ - BasicRadioButtonMenuItemUI
+ - BasicRadioButtonUI
+ - BasicRootPaneUI
+ - BasicScrollBarUI
+ - BasicScrollPaneUI
+ - BasicSeparatorUI
+ - BasicSliderUI
+ - BasicSpinnerUI
+ - BasicSplitPaneDivider
+ - BasicSplitPaneUI
+ - BasicStroke
+ - BasicTabbedPaneUI
+ - BasicTableHeaderUI
+ - BasicTableUI
+ - BasicTextAreaUI
+ - BasicTextFieldUI
+ - BasicTextPaneUI
+ - BasicTextUI
+ - BasicToggleButtonUI
+ - BasicToolBarSeparatorUI
+ - BasicToolBarUI
+ - BasicToolTipUI
+ - BasicTreeUI
+ - BasicViewportUI
+ - BatchUpdateException
+ - BeanContext
+ - BeanContextChild
+ - BeanContextChildComponentProxy
+ - BeanContextChildSupport
+ - BeanContextContainerProxy
+ - BeanContextEvent
+ - BeanContextMembershipEvent
+ - BeanContextMembershipListener
+ - BeanContextProxy
+ - BeanContextServiceAvailableEvent
+ - BeanContextServiceProvider
+ - BeanContextServiceProviderBeanInfo
+ - BeanContextServiceRevokedEvent
+ - BeanContextServiceRevokedListener
+ - BeanContextServices
+ - BeanContextServicesListener
+ - BeanContextServicesSupport
+ - BeanContextSupport
+ - BeanDescriptor
+ - BeanInfo
+ - Beans
+ - BeepAction
+ - BevelBorder
+ - BevelBorderUIResource
+ - Bias
+ - Bidi
+ - BigDecimal
+ - BigInteger
+ - BinaryRefAddr
+ - BindException
+ - Binding
+ - Binding
+ - BindingHelper
+ - BindingHolder
+ - BindingIterator
+ - BindingIteratorHelper
+ - BindingIteratorHolder
+ - BindingIteratorOperations
+ - BindingIteratorPOA
+ - BindingListHelper
+ - BindingListHolder
+ - BindingType
+ - BindingTypeHelper
+ - BindingTypeHolder
+ - BitSet
+ - Blob
+ - BlockView
+ - BoldAction
+ - Book
+ - Boolean
+ - BooleanControl
+ - BooleanHolder
+ - BooleanSeqHelper
+ - BooleanSeqHolder
+ - Border
+ - BorderFactory
+ - BorderLayout
+ - BorderUIResource
+ - BoundedRangeModel
+ - Bounds
+ - Bounds
+ - Box
+ - BoxLayout
+ - BoxPainter
+ - BoxView
+ - BoxedValueHelper
+ - BreakIterator
+ - Buffer
+ - BufferCapabilities
+ - BufferOverflowException
+ - BufferStrategy
+ - BufferUnderflowException
+ - BufferedImage
+ - BufferedImageFilter
+ - BufferedImageOp
+ - BufferedInputStream
+ - BufferedOutputStream
+ - BufferedReader
+ - BufferedWriter
+ - Button
+ - ButtonAreaLayout
+ - ButtonBorder
+ - ButtonBorder
+ - ButtonGroup
+ - ButtonModel
+ - ButtonUI
+ - Byte
+ - ByteArrayInputStream
+ - ByteArrayOutputStream
+ - ByteBuffer
+ - ByteChannel
+ - ByteHolder
+ - ByteLookupTable
+ - ByteOrder
+ - CDATASection
+ - CHAR_ARRAY
+ - CMMException
+ - COMM_FAILURE
+ - CRC32
+ - CRL
+ - CRLException
+ - CRLSelector
+ - CSS
+ - CTX_RESTRICT_SCOPE
+ - Calendar
+ - CallableStatement
+ - Callback
+ - CallbackHandler
+ - CancelablePrintJob
+ - CancelledKeyException
+ - CannotProceed
+ - CannotProceedException
+ - CannotProceedHelper
+ - CannotProceedHolder
+ - CannotRedoException
+ - CannotUndoException
+ - Canvas
+ - CardLayout
+ - Caret
+ - CaretEvent
+ - CaretListener
+ - CaretPolicy
+ - CellEditor
+ - CellEditorListener
+ - CellRendererPane
+ - CertPath
+ - CertPathBuilder
+ - CertPathBuilderException
+ - CertPathBuilderResult
+ - CertPathBuilderSpi
+ - CertPathParameters
+ - CertPathRep
+ - CertPathValidator
+ - CertPathValidatorException
+ - CertPathValidatorResult
+ - CertPathValidatorSpi
+ - CertSelector
+ - CertStore
+ - CertStoreException
+ - CertStoreParameters
+ - CertStoreSpi
+ - Certificate
+ - Certificate
+ - Certificate
+ - CertificateEncodingException
+ - CertificateEncodingException
+ - CertificateException
+ - CertificateException
+ - CertificateExpiredException
+ - CertificateExpiredException
+ - CertificateFactory
+ - CertificateFactorySpi
+ - CertificateNotYetValidException
+ - CertificateNotYetValidException
+ - CertificateParsingException
+ - CertificateParsingException
+ - CertificateRep
+ - ChangeEvent
+ - ChangeListener
+ - ChangedCharSetException
+ - Channel
+ - ChannelBinding
+ - Channels
+ - CharArrayReader
+ - CharArrayWriter
+ - CharBuffer
+ - CharConversionException
+ - CharHolder
+ - CharSeqHelper
+ - CharSeqHolder
+ - CharSequence
+ - Character
+ - CharacterAttribute
+ - CharacterCodingException
+ - CharacterConstants
+ - CharacterData
+ - CharacterIterator
+ - Charset
+ - CharsetDecoder
+ - CharsetEncoder
+ - CharsetProvider
+ - Checkbox
+ - CheckboxGroup
+ - CheckboxMenuItem
+ - CheckedInputStream
+ - CheckedOutputStream
+ - Checksum
+ - Choice
+ - ChoiceCallback
+ - ChoiceFormat
+ - Chromaticity
+ - Cipher
+ - CipherInputStream
+ - CipherOutputStream
+ - CipherSpi
+ - Class
+ - ClassCastException
+ - ClassCircularityError
+ - ClassDesc
+ - ClassFormatError
+ - ClassLoader
+ - ClassNotFoundException
+ - ClientRequestInfo
+ - ClientRequestInfoOperations
+ - ClientRequestInterceptor
+ - ClientRequestInterceptorOperations
+ - Clip
+ - Clipboard
+ - ClipboardOwner
+ - Clob
+ - CloneNotSupportedException
+ - Cloneable
+ - ClosedByInterruptException
+ - ClosedChannelException
+ - ClosedSelectorException
+ - CodeSets
+ - CodeSource
+ - Codec
+ - CodecFactory
+ - CodecFactoryHelper
+ - CodecFactoryOperations
+ - CodecOperations
+ - CoderMalfunctionError
+ - CoderResult
+ - CodingErrorAction
+ - CollationElementIterator
+ - CollationKey
+ - Collator
+ - Collection
+ - CollectionCertStoreParameters
+ - Collections
+ - Color
+ - ColorAttribute
+ - ColorChooserComponentFactory
+ - ColorChooserUI
+ - ColorConstants
+ - ColorConvertOp
+ - ColorModel
+ - ColorSelectionModel
+ - ColorSpace
+ - ColorSupported
+ - ColorType
+ - ColorUIResource
+ - ComboBoxEditor
+ - ComboBoxModel
+ - ComboBoxUI
+ - ComboPopup
+ - CommandEnvironment
+ - Comment
+ - CommunicationException
+ - Comparable
+ - Comparator
+ - Compiler
+ - CompletionStatus
+ - CompletionStatusHelper
+ - Component
+ - ComponentAdapter
+ - ComponentColorModel
+ - ComponentEvent
+ - ComponentIdHelper
+ - ComponentInputMap
+ - ComponentInputMapUIResource
+ - ComponentListener
+ - ComponentOrientation
+ - ComponentSampleModel
+ - ComponentUI
+ - ComponentView
+ - Composite
+ - CompositeContext
+ - CompositeName
+ - CompositeView
+ - CompoundBorder
+ - CompoundBorderUIResource
+ - CompoundControl
+ - CompoundEdit
+ - CompoundName
+ - Compression
+ - ConcurrentModificationException
+ - Configuration
+ - ConfigurationException
+ - ConfirmationCallback
+ - ConnectException
+ - ConnectException
+ - ConnectIOException
+ - Connection
+ - ConnectionEvent
+ - ConnectionEventListener
+ - ConnectionPendingException
+ - ConnectionPoolDataSource
+ - ConsoleHandler
+ - Constraints
+ - Constructor
+ - Container
+ - ContainerAdapter
+ - ContainerEvent
+ - ContainerListener
+ - ContainerOrderFocusTraversalPolicy
+ - Content
+ - ContentHandler
+ - ContentHandler
+ - ContentHandlerFactory
+ - ContentModel
+ - Context
+ - Context
+ - ContextList
+ - ContextNotEmptyException
+ - ContextualRenderedImageFactory
+ - Control
+ - Control
+ - ControlFactory
+ - ControllerEventListener
+ - ConvolveOp
+ - CookieHolder
+ - Copies
+ - CopiesSupported
+ - CopyAction
+ - CredentialExpiredException
+ - CropImageFilter
+ - CubicCurve2D
+ - Currency
+ - Current
+ - Current
+ - Current
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHolder
+ - CurrentOperations
+ - CurrentOperations
+ - CurrentOperations
+ - Cursor
+ - CustomMarshal
+ - CustomValue
+ - Customizer
+ - CutAction
+ - DATA_CONVERSION
+ - DESKeySpec
+ - DESedeKeySpec
+ - DGC
+ - DHGenParameterSpec
+ - DHKey
+ - DHParameterSpec
+ - DHPrivateKey
+ - DHPrivateKeySpec
+ - DHPublicKey
+ - DHPublicKeySpec
+ - DOMException
+ - DOMImplementation
+ - DOMLocator
+ - DOMResult
+ - DOMSource
+ - DSAKey
+ - DSAKeyPairGenerator
+ - DSAParameterSpec
+ - DSAParams
+ - DSAPrivateKey
+ - DSAPrivateKeySpec
+ - DSAPublicKey
+ - DSAPublicKeySpec
+ - DTD
+ - DTDConstants
+ - DTDHandler
+ - DataBuffer
+ - DataBufferByte
+ - DataBufferDouble
+ - DataBufferFloat
+ - DataBufferInt
+ - DataBufferShort
+ - DataBufferUShort
+ - DataFlavor
+ - DataFormatException
+ - DataInput
+ - DataInputStream
+ - DataInputStream
+ - DataLine
+ - DataOutput
+ - DataOutputStream
+ - DataOutputStream
+ - DataSource
+ - DataTruncation
+ - DatabaseMetaData
+ - DatagramChannel
+ - DatagramPacket
+ - DatagramSocket
+ - DatagramSocketImpl
+ - DatagramSocketImplFactory
+ - Date
+ - Date
+ - DateEditor
+ - DateFormat
+ - DateFormatSymbols
+ - DateFormatter
+ - DateTimeAtCompleted
+ - DateTimeAtCreation
+ - DateTimeAtProcessing
+ - DateTimeSyntax
+ - DebugGraphics
+ - DecimalFormat
+ - DecimalFormatSymbols
+ - DeclHandler
+ - DefaultBoundedRangeModel
+ - DefaultButtonModel
+ - DefaultCaret
+ - DefaultCellEditor
+ - DefaultColorSelectionModel
+ - DefaultComboBoxModel
+ - DefaultDesktopManager
+ - DefaultEditor
+ - DefaultEditorKit
+ - DefaultFocusManager
+ - DefaultFocusTraversalPolicy
+ - DefaultFormatter
+ - DefaultFormatterFactory
+ - DefaultHandler
+ - DefaultHighlightPainter
+ - DefaultHighlighter
+ - DefaultKeyTypedAction
+ - DefaultKeyboardFocusManager
+ - DefaultListCellRenderer
+ - DefaultListModel
+ - DefaultListSelectionModel
+ - DefaultMenuLayout
+ - DefaultMetalTheme
+ - DefaultMutableTreeNode
+ - DefaultPersistenceDelegate
+ - DefaultSelectionType
+ - DefaultSingleSelectionModel
+ - DefaultStyledDocument
+ - DefaultTableCellRenderer
+ - DefaultTableColumnModel
+ - DefaultTableModel
+ - DefaultTextUI
+ - DefaultTreeCellEditor
+ - DefaultTreeCellRenderer
+ - DefaultTreeModel
+ - DefaultTreeSelectionModel
+ - DefinitionKind
+ - DefinitionKindHelper
+ - Deflater
+ - DeflaterOutputStream
+ - Delegate
+ - Delegate
+ - Delegate
+ - DelegationPermission
+ - DesignMode
+ - DesktopIconUI
+ - DesktopManager
+ - DesktopPaneUI
+ - Destination
+ - DestinationType
+ - DestroyFailedException
+ - Destroyable
+ - Dialog
+ - DialogType
+ - Dictionary
+ - DigestException
+ - DigestInputStream
+ - DigestOutputStream
+ - Dimension
+ - Dimension2D
+ - DimensionUIResource
+ - DirContext
+ - DirObjectFactory
+ - DirStateFactory
+ - DirectColorModel
+ - DirectoryManager
+ - DisplayMode
+ - DnDConstants
+ - Doc
+ - DocAttribute
+ - DocAttributeSet
+ - DocFlavor
+ - DocPrintJob
+ - Document
+ - Document
+ - DocumentBuilder
+ - DocumentBuilderFactory
+ - DocumentEvent
+ - DocumentFilter
+ - DocumentFragment
+ - DocumentHandler
+ - DocumentListener
+ - DocumentName
+ - DocumentParser
+ - DocumentType
+ - DomainCombiner
+ - DomainManager
+ - DomainManagerOperations
+ - Double
+ - Double
+ - Double
+ - Double
+ - Double
+ - Double
+ - Double
+ - Double
+ - Double
+ - DoubleBuffer
+ - DoubleHolder
+ - DoubleSeqHelper
+ - DoubleSeqHolder
+ - DragGestureEvent
+ - DragGestureListener
+ - DragGestureRecognizer
+ - DragSource
+ - DragSourceAdapter
+ - DragSourceContext
+ - DragSourceDragEvent
+ - DragSourceDropEvent
+ - DragSourceEvent
+ - DragSourceListener
+ - DragSourceMotionListener
+ - Driver
+ - DriverManager
+ - DriverPropertyInfo
+ - DropTarget
+ - DropTargetAdapter
+ - DropTargetAutoScroller
+ - DropTargetContext
+ - DropTargetDragEvent
+ - DropTargetDropEvent
+ - DropTargetEvent
+ - DropTargetListener
+ - DuplicateName
+ - DuplicateNameHelper
+ - DynAny
+ - DynAny
+ - DynAnyFactory
+ - DynAnyFactoryHelper
+ - DynAnyFactoryOperations
+ - DynAnyHelper
+ - DynAnyOperations
+ - DynAnySeqHelper
+ - DynArray
+ - DynArray
+ - DynArrayHelper
+ - DynArrayOperations
+ - DynEnum
+ - DynEnum
+ - DynEnumHelper
+ - DynEnumOperations
+ - DynFixed
+ - DynFixed
+ - DynFixedHelper
+ - DynFixedOperations
+ - DynSequence
+ - DynSequence
+ - DynSequenceHelper
+ - DynSequenceOperations
+ - DynStruct
+ - DynStruct
+ - DynStructHelper
+ - DynStructOperations
+ - DynUnion
+ - DynUnion
+ - DynUnionHelper
+ - DynUnionOperations
+ - DynValue
+ - DynValue
+ - DynValueBox
+ - DynValueBoxOperations
+ - DynValueCommon
+ - DynValueCommonOperations
+ - DynValueHelper
+ - DynValueOperations
+ - DynamicImplementation
+ - DynamicImplementation
+ - DynamicUtilTreeNode
+ - ENCODING_CDR_ENCAPS
+ - EOFException
+ - EditorKit
+ - Element
+ - Element
+ - Element
+ - ElementChange
+ - ElementEdit
+ - ElementIterator
+ - ElementSpec
+ - Ellipse2D
+ - EmptyBorder
+ - EmptyBorderUIResource
+ - EmptySelectionModel
+ - EmptyStackException
+ - EncodedKeySpec
+ - Encoder
+ - Encoding
+ - Encoding
+ - EncryptedPrivateKeyInfo
+ - Engineering
+ - Entity
+ - Entity
+ - EntityReference
+ - EntityResolver
+ - Entry
+ - EnumControl
+ - EnumSyntax
+ - Enumeration
+ - Environment
+ - Error
+ - ErrorHandler
+ - ErrorListener
+ - ErrorManager
+ - EtchedBorder
+ - EtchedBorderUIResource
+ - Event
+ - EventContext
+ - EventDirContext
+ - EventHandler
+ - EventListener
+ - EventListenerList
+ - EventListenerProxy
+ - EventObject
+ - EventQueue
+ - EventSetDescriptor
+ - EventType
+ - EventType
+ - Exception
+ - ExceptionInInitializerError
+ - ExceptionList
+ - ExceptionListener
+ - ExemptionMechanism
+ - ExemptionMechanismException
+ - ExemptionMechanismSpi
+ - ExpandVetoException
+ - ExportException
+ - Expression
+ - ExtendedRequest
+ - ExtendedResponse
+ - Externalizable
+ - FREE_MEM
+ - FactoryConfigurationError
+ - FailedLoginException
+ - FeatureDescriptor
+ - Fidelity
+ - Field
+ - Field
+ - Field
+ - Field
+ - Field
+ - FieldBorder
+ - FieldNameHelper
+ - FieldNameHelper
+ - FieldPosition
+ - FieldView
+ - File
+ - FileCacheImageInputStream
+ - FileCacheImageOutputStream
+ - FileChannel
+ - FileChooserUI
+ - FileDescriptor
+ - FileDialog
+ - FileFilter
+ - FileFilter
+ - FileHandler
+ - FileIcon16
+ - FileImageInputStream
+ - FileImageOutputStream
+ - FileInputStream
+ - FileLock
+ - FileLockInterruptionException
+ - FileNameMap
+ - FileNotFoundException
+ - FileOutputStream
+ - FilePermission
+ - FileReader
+ - FileSystemView
+ - FileView
+ - FileWriter
+ - FilenameFilter
+ - Filler
+ - Filter
+ - Filter
+ - FilterBypass
+ - FilterBypass
+ - FilterInputStream
+ - FilterOutputStream
+ - FilterReader
+ - FilterWriter
+ - FilteredImageSource
+ - Finishings
+ - FixedHeightLayoutCache
+ - FixedHolder
+ - FlatteningPathIterator
+ - FlavorException
+ - FlavorMap
+ - FlavorTable
+ - FlipContents
+ - Float
+ - Float
+ - Float
+ - Float
+ - Float
+ - Float
+ - Float
+ - Float
+ - Float
+ - FloatBuffer
+ - FloatControl
+ - FloatHolder
+ - FloatSeqHelper
+ - FloatSeqHolder
+ - FlowLayout
+ - FlowStrategy
+ - FlowView
+ - Flush3DBorder
+ - FocusAdapter
+ - FocusEvent
+ - FocusListener
+ - FocusManager
+ - FocusTraversalPolicy
+ - FolderIcon16
+ - Font
+ - FontAttribute
+ - FontConstants
+ - FontFamilyAction
+ - FontFormatException
+ - FontMetrics
+ - FontRenderContext
+ - FontSizeAction
+ - FontUIResource
+ - ForegroundAction
+ - FormView
+ - Format
+ - FormatConversionProvider
+ - FormatMismatch
+ - FormatMismatchHelper
+ - Formatter
+ - ForwardRequest
+ - ForwardRequest
+ - ForwardRequestHelper
+ - ForwardRequestHelper
+ - Frame
+ - GSSContext
+ - GSSCredential
+ - GSSException
+ - GSSManager
+ - GSSName
+ - GZIPInputStream
+ - GZIPOutputStream
+ - GapContent
+ - GatheringByteChannel
+ - GeneralPath
+ - GeneralSecurityException
+ - GetField
+ - GlyphJustificationInfo
+ - GlyphMetrics
+ - GlyphPainter
+ - GlyphVector
+ - GlyphView
+ - GradientPaint
+ - GraphicAttribute
+ - Graphics
+ - Graphics2D
+ - GraphicsConfigTemplate
+ - GraphicsConfiguration
+ - GraphicsDevice
+ - GraphicsEnvironment
+ - GrayFilter
+ - GregorianCalendar
+ - GridBagConstraints
+ - GridBagLayout
+ - GridLayout
+ - Group
+ - Guard
+ - GuardedObject
+ - HTML
+ - HTMLDocument
+ - HTMLEditorKit
+ - HTMLEditorKit
+ - HTMLEditorKit
+ - HTMLFrameHyperlinkEvent
+ - HTMLWriter
+ - Handler
+ - HandlerBase
+ - HandshakeCompletedEvent
+ - HandshakeCompletedListener
+ - HasControls
+ - HashAttributeSet
+ - HashDocAttributeSet
+ - HashMap
+ - HashPrintJobAttributeSet
+ - HashPrintRequestAttributeSet
+ - HashPrintServiceAttributeSet
+ - HashSet
+ - Hashtable
+ - HeadlessException
+ - HierarchyBoundsAdapter
+ - HierarchyBoundsListener
+ - HierarchyEvent
+ - HierarchyListener
+ - Highlight
+ - HighlightPainter
+ - Highlighter
+ - HostnameVerifier
+ - HttpURLConnection
+ - HttpsURLConnection
+ - HyperlinkEvent
+ - HyperlinkListener
+ - ICC_ColorSpace
+ - ICC_Profile
+ - ICC_ProfileGray
+ - ICC_ProfileRGB
+ - IDLEntity
+ - IDLType
+ - IDLTypeHelper
+ - IDLTypeOperations
+ - ID_ASSIGNMENT_POLICY_ID
+ - ID_UNIQUENESS_POLICY_ID
+ - IIOByteBuffer
+ - IIOException
+ - IIOImage
+ - IIOInvalidTreeException
+ - IIOMetadata
+ - IIOMetadataController
+ - IIOMetadataFormat
+ - IIOMetadataFormatImpl
+ - IIOMetadataNode
+ - IIOParam
+ - IIOParamController
+ - IIOReadProgressListener
+ - IIOReadUpdateListener
+ - IIOReadWarningListener
+ - IIORegistry
+ - IIOServiceProvider
+ - IIOWriteProgressListener
+ - IIOWriteWarningListener
+ - IMPLICIT_ACTIVATION_POLICY_ID
+ - IMP_LIMIT
+ - INITIALIZE
+ - INPUT_STREAM
+ - INTERNAL
+ - INTF_REPOS
+ - INVALID_TRANSACTION
+ - INV_FLAG
+ - INV_IDENT
+ - INV_OBJREF
+ - INV_POLICY
+ - IOException
+ - IOR
+ - IORHelper
+ - IORHolder
+ - IORInfo
+ - IORInfoOperations
+ - IORInterceptor
+ - IORInterceptorOperations
+ - IRObject
+ - IRObjectOperations
+ - ISO
+ - Icon
+ - IconUIResource
+ - IconView
+ - IdAssignmentPolicy
+ - IdAssignmentPolicyOperations
+ - IdAssignmentPolicyValue
+ - IdUniquenessPolicy
+ - IdUniquenessPolicyOperations
+ - IdUniquenessPolicyValue
+ - IdentifierHelper
+ - Identity
+ - IdentityHashMap
+ - IdentityScope
+ - IllegalAccessError
+ - IllegalAccessException
+ - IllegalArgumentException
+ - IllegalBlockSizeException
+ - IllegalBlockingModeException
+ - IllegalCharsetNameException
+ - IllegalComponentStateException
+ - IllegalMonitorStateException
+ - IllegalPathStateException
+ - IllegalSelectorException
+ - IllegalStateException
+ - IllegalThreadStateException
+ - Image
+ - ImageCapabilities
+ - ImageConsumer
+ - ImageFilter
+ - ImageGraphicAttribute
+ - ImageIO
+ - ImageIcon
+ - ImageInputStream
+ - ImageInputStreamImpl
+ - ImageInputStreamSpi
+ - ImageObserver
+ - ImageOutputStream
+ - ImageOutputStreamImpl
+ - ImageOutputStreamSpi
+ - ImageProducer
+ - ImageReadParam
+ - ImageReader
+ - ImageReaderSpi
+ - ImageReaderWriterSpi
+ - ImageTranscoder
+ - ImageTranscoderSpi
+ - ImageTypeSpecifier
+ - ImageView
+ - ImageWriteParam
+ - ImageWriter
+ - ImageWriterSpi
+ - ImagingOpException
+ - ImplicitActivationPolicy
+ - ImplicitActivationPolicyOperations
+ - ImplicitActivationPolicyValue
+ - IncompatibleClassChangeError
+ - InconsistentTypeCode
+ - InconsistentTypeCode
+ - InconsistentTypeCodeHelper
+ - IndexColorModel
+ - IndexOutOfBoundsException
+ - IndexedPropertyDescriptor
+ - IndirectionException
+ - Inet4Address
+ - Inet6Address
+ - InetAddress
+ - InetSocketAddress
+ - Inflater
+ - InflaterInputStream
+ - Info
+ - Info
+ - Info
+ - Info
+ - Info
+ - InheritableThreadLocal
+ - InitialContext
+ - InitialContextFactory
+ - InitialContextFactoryBuilder
+ - InitialDirContext
+ - InitialLdapContext
+ - InlineView
+ - InputContext
+ - InputEvent
+ - InputMap
+ - InputMapUIResource
+ - InputMethod
+ - InputMethodContext
+ - InputMethodDescriptor
+ - InputMethodEvent
+ - InputMethodHighlight
+ - InputMethodListener
+ - InputMethodRequests
+ - InputSource
+ - InputStream
+ - InputStream
+ - InputStream
+ - InputStreamReader
+ - InputSubset
+ - InputVerifier
+ - InsertBreakAction
+ - InsertContentAction
+ - InsertHTMLTextAction
+ - InsertTabAction
+ - Insets
+ - InsetsUIResource
+ - InstantiationError
+ - InstantiationException
+ - Instrument
+ - InsufficientResourcesException
+ - IntBuffer
+ - IntHolder
+ - Integer
+ - IntegerSyntax
+ - Interceptor
+ - InterceptorOperations
+ - InternalError
+ - InternalFrameAdapter
+ - InternalFrameBorder
+ - InternalFrameEvent
+ - InternalFrameFocusTraversalPolicy
+ - InternalFrameListener
+ - InternalFrameUI
+ - InternationalFormatter
+ - InterruptedException
+ - InterruptedIOException
+ - InterruptedNamingException
+ - InterruptibleChannel
+ - IntrospectionException
+ - Introspector
+ - Invalid
+ - InvalidAddress
+ - InvalidAddressHelper
+ - InvalidAddressHolder
+ - InvalidAlgorithmParameterException
+ - InvalidAttributeIdentifierException
+ - InvalidAttributeValueException
+ - InvalidAttributesException
+ - InvalidClassException
+ - InvalidDnDOperationException
+ - InvalidKeyException
+ - InvalidKeySpecException
+ - InvalidMarkException
+ - InvalidMidiDataException
+ - InvalidName
+ - InvalidName
+ - InvalidName
+ - InvalidNameException
+ - InvalidNameHelper
+ - InvalidNameHelper
+ - InvalidNameHolder
+ - InvalidObjectException
+ - InvalidParameterException
+ - InvalidParameterSpecException
+ - InvalidPolicy
+ - InvalidPolicyHelper
+ - InvalidPreferencesFormatException
+ - InvalidSearchControlsException
+ - InvalidSearchFilterException
+ - InvalidSeq
+ - InvalidSlot
+ - InvalidSlotHelper
+ - InvalidTransactionException
+ - InvalidTypeForEncoding
+ - InvalidTypeForEncodingHelper
+ - InvalidValue
+ - InvalidValue
+ - InvalidValueHelper
+ - InvocationEvent
+ - InvocationHandler
+ - InvocationTargetException
+ - InvokeHandler
+ - IstringHelper
+ - ItalicAction
+ - ItemEvent
+ - ItemListener
+ - ItemSelectable
+ - Iterator
+ - Iterator
+ - IvParameterSpec
+ - JApplet
+ - JButton
+ - JCheckBox
+ - JCheckBoxMenuItem
+ - JColorChooser
+ - JComboBox
+ - JComponent
+ - JDesktopIcon
+ - JDesktopPane
+ - JDialog
+ - JEditorPane
+ - JFileChooser
+ - JFormattedTextField
+ - JFrame
+ - JIS
+ - JInternalFrame
+ - JLabel
+ - JLayeredPane
+ - JList
+ - JMenu
+ - JMenuBar
+ - JMenuItem
+ - JOptionPane
+ - JPEGHuffmanTable
+ - JPEGImageReadParam
+ - JPEGImageWriteParam
+ - JPEGQTable
+ - JPanel
+ - JPasswordField
+ - JPopupMenu
+ - JProgressBar
+ - JRadioButton
+ - JRadioButtonMenuItem
+ - JRootPane
+ - JScrollBar
+ - JScrollPane
+ - JSeparator
+ - JSlider
+ - JSpinner
+ - JSplitPane
+ - JTabbedPane
+ - JTable
+ - JTableHeader
+ - JTextArea
+ - JTextComponent
+ - JTextField
+ - JTextPane
+ - JToggleButton
+ - JToolBar
+ - JToolTip
+ - JTree
+ - JViewport
+ - JWindow
+ - JarEntry
+ - JarException
+ - JarFile
+ - JarInputStream
+ - JarOutputStream
+ - JarURLConnection
+ - JobAttributes
+ - JobHoldUntil
+ - JobImpressions
+ - JobImpressionsCompleted
+ - JobImpressionsSupported
+ - JobKOctets
+ - JobKOctetsProcessed
+ - JobKOctetsSupported
+ - JobMediaSheets
+ - JobMediaSheetsCompleted
+ - JobMediaSheetsSupported
+ - JobMessageFromOperator
+ - JobName
+ - JobOriginatingUserName
+ - JobPriority
+ - JobPrioritySupported
+ - JobSheets
+ - JobState
+ - JobStateReason
+ - JobStateReasons
+ - KerberosKey
+ - KerberosPrincipal
+ - KerberosTicket
+ - Kernel
+ - Key
+ - Key
+ - KeyAdapter
+ - KeyAgreement
+ - KeyAgreementSpi
+ - KeyBinding
+ - KeyEvent
+ - KeyEventDispatcher
+ - KeyEventPostProcessor
+ - KeyException
+ - KeyFactory
+ - KeyFactorySpi
+ - KeyGenerator
+ - KeyGeneratorSpi
+ - KeyListener
+ - KeyManagementException
+ - KeyManager
+ - KeyManagerFactory
+ - KeyManagerFactorySpi
+ - KeyPair
+ - KeyPairGenerator
+ - KeyPairGeneratorSpi
+ - KeySelectionManager
+ - KeySpec
+ - KeyStore
+ - KeyStoreException
+ - KeyStoreSpi
+ - KeyStroke
+ - KeyboardFocusManager
+ - Keymap
+ - LDAPCertStoreParameters
+ - LIFESPAN_POLICY_ID
+ - LOCATION_FORWARD
+ - Label
+ - LabelUI
+ - LabelView
+ - LanguageCallback
+ - LastOwnerException
+ - LayerPainter
+ - LayeredHighlighter
+ - LayoutFocusTraversalPolicy
+ - LayoutManager
+ - LayoutManager2
+ - LayoutQueue
+ - LazyInputMap
+ - LazyValue
+ - LdapContext
+ - LdapReferralException
+ - Lease
+ - Level
+ - LexicalHandler
+ - LifespanPolicy
+ - LifespanPolicyOperations
+ - LifespanPolicyValue
+ - LimitExceededException
+ - Line
+ - Line2D
+ - LineBorder
+ - LineBorderUIResource
+ - LineBreakMeasurer
+ - LineEvent
+ - LineListener
+ - LineMetrics
+ - LineNumberInputStream
+ - LineNumberReader
+ - LineUnavailableException
+ - LinkController
+ - LinkException
+ - LinkLoopException
+ - LinkRef
+ - LinkageError
+ - LinkedHashMap
+ - LinkedHashSet
+ - LinkedList
+ - List
+ - List
+ - ListCellRenderer
+ - ListDataEvent
+ - ListDataListener
+ - ListEditor
+ - ListIterator
+ - ListModel
+ - ListPainter
+ - ListResourceBundle
+ - ListSelectionEvent
+ - ListSelectionListener
+ - ListSelectionModel
+ - ListUI
+ - ListView
+ - LoaderHandler
+ - LocalObject
+ - Locale
+ - LocateRegistry
+ - Locator
+ - LocatorImpl
+ - LogManager
+ - LogRecord
+ - LogStream
+ - Logger
+ - LoggingPermission
+ - LoginContext
+ - LoginException
+ - LoginModule
+ - LoginModuleControlFlag
+ - Long
+ - LongBuffer
+ - LongHolder
+ - LongLongSeqHelper
+ - LongLongSeqHolder
+ - LongSeqHelper
+ - LongSeqHolder
+ - LookAndFeel
+ - LookAndFeelInfo
+ - LookupOp
+ - LookupTable
+ - MARSHAL
+ - Mac
+ - MacSpi
+ - MalformedInputException
+ - MalformedLinkException
+ - MalformedURLException
+ - ManagerFactoryParameters
+ - Manifest
+ - Map
+ - MapMode
+ - MappedByteBuffer
+ - MarginBorder
+ - MarshalException
+ - MarshalledObject
+ - MaskFormatter
+ - Matcher
+ - Math
+ - MatteBorder
+ - MatteBorderUIResource
+ - Media
+ - MediaName
+ - MediaPrintableArea
+ - MediaSize
+ - MediaSizeName
+ - MediaTracker
+ - MediaTray
+ - MediaType
+ - Member
+ - MemoryCacheImageInputStream
+ - MemoryCacheImageOutputStream
+ - MemoryHandler
+ - MemoryImageSource
+ - Menu
+ - MenuBar
+ - MenuBarBorder
+ - MenuBarBorder
+ - MenuBarUI
+ - MenuComponent
+ - MenuContainer
+ - MenuDragMouseEvent
+ - MenuDragMouseListener
+ - MenuElement
+ - MenuEvent
+ - MenuItem
+ - MenuItemBorder
+ - MenuItemUI
+ - MenuKeyEvent
+ - MenuKeyListener
+ - MenuListener
+ - MenuSelectionManager
+ - MenuShortcut
+ - MessageDigest
+ - MessageDigestSpi
+ - MessageFormat
+ - MessageProp
+ - MetaEventListener
+ - MetaMessage
+ - MetalBorders
+ - MetalButtonUI
+ - MetalCheckBoxIcon
+ - MetalCheckBoxUI
+ - MetalComboBoxButton
+ - MetalComboBoxEditor
+ - MetalComboBoxIcon
+ - MetalComboBoxUI
+ - MetalDesktopIconUI
+ - MetalFileChooserUI
+ - MetalIconFactory
+ - MetalInternalFrameTitlePane
+ - MetalInternalFrameUI
+ - MetalLabelUI
+ - MetalLookAndFeel
+ - MetalPopupMenuSeparatorUI
+ - MetalProgressBarUI
+ - MetalRadioButtonUI
+ - MetalRootPaneUI
+ - MetalScrollBarUI
+ - MetalScrollButton
+ - MetalScrollPaneUI
+ - MetalSeparatorUI
+ - MetalSliderUI
+ - MetalSplitPaneUI
+ - MetalTabbedPaneUI
+ - MetalTextFieldUI
+ - MetalTheme
+ - MetalToggleButtonUI
+ - MetalToolBarUI
+ - MetalToolTipUI
+ - MetalTreeUI
+ - Method
+ - MethodDescriptor
+ - MidiChannel
+ - MidiDevice
+ - MidiDeviceProvider
+ - MidiEvent
+ - MidiFileFormat
+ - MidiFileReader
+ - MidiFileWriter
+ - MidiMessage
+ - MidiSystem
+ - MidiUnavailableException
+ - MimeTypeParseException
+ - MinimalHTMLWriter
+ - MissingResourceException
+ - Mixer
+ - MixerProvider
+ - ModificationItem
+ - Modifier
+ - MouseAdapter
+ - MouseDragGestureRecognizer
+ - MouseEvent
+ - MouseInputAdapter
+ - MouseInputListener
+ - MouseListener
+ - MouseMotionAdapter
+ - MouseMotionListener
+ - MouseWheelEvent
+ - MouseWheelListener
+ - MultiButtonUI
+ - MultiColorChooserUI
+ - MultiComboBoxUI
+ - MultiDesktopIconUI
+ - MultiDesktopPaneUI
+ - MultiDoc
+ - MultiDocPrintJob
+ - MultiDocPrintService
+ - MultiFileChooserUI
+ - MultiInternalFrameUI
+ - MultiLabelUI
+ - MultiListUI
+ - MultiLookAndFeel
+ - MultiMenuBarUI
+ - MultiMenuItemUI
+ - MultiOptionPaneUI
+ - MultiPanelUI
+ - MultiPixelPackedSampleModel
+ - MultiPopupMenuUI
+ - MultiProgressBarUI
+ - MultiRootPaneUI
+ - MultiScrollBarUI
+ - MultiScrollPaneUI
+ - MultiSeparatorUI
+ - MultiSliderUI
+ - MultiSpinnerUI
+ - MultiSplitPaneUI
+ - MultiTabbedPaneUI
+ - MultiTableHeaderUI
+ - MultiTableUI
+ - MultiTextUI
+ - MultiToolBarUI
+ - MultiToolTipUI
+ - MultiTreeUI
+ - MultiViewportUI
+ - MulticastSocket
+ - MultipleComponentProfileHelper
+ - MultipleComponentProfileHolder
+ - MultipleDocumentHandling
+ - MultipleDocumentHandlingType
+ - MultipleMaster
+ - MutableAttributeSet
+ - MutableComboBoxModel
+ - MutableTreeNode
+ - NA
+ - NO_IMPLEMENT
+ - NO_MEMORY
+ - NO_PERMISSION
+ - NO_RESOURCES
+ - NO_RESPONSE
+ - NVList
+ - Name
+ - Name
+ - NameAlreadyBoundException
+ - NameCallback
+ - NameClassPair
+ - NameComponent
+ - NameComponentHelper
+ - NameComponentHolder
+ - NameDynAnyPair
+ - NameDynAnyPairHelper
+ - NameDynAnyPairSeqHelper
+ - NameHelper
+ - NameHolder
+ - NameNotFoundException
+ - NameParser
+ - NameValuePair
+ - NameValuePair
+ - NameValuePairHelper
+ - NameValuePairHelper
+ - NameValuePairSeqHelper
+ - NamedNodeMap
+ - NamedValue
+ - NamespaceChangeListener
+ - NamespaceSupport
+ - Naming
+ - NamingContext
+ - NamingContextExt
+ - NamingContextExtHelper
+ - NamingContextExtHolder
+ - NamingContextExtOperations
+ - NamingContextExtPOA
+ - NamingContextHelper
+ - NamingContextHolder
+ - NamingContextOperations
+ - NamingContextPOA
+ - NamingEnumeration
+ - NamingEvent
+ - NamingException
+ - NamingExceptionEvent
+ - NamingListener
+ - NamingManager
+ - NamingSecurityException
+ - NavigationFilter
+ - NegativeArraySizeException
+ - NetPermission
+ - NetworkInterface
+ - NoClassDefFoundError
+ - NoConnectionPendingException
+ - NoContext
+ - NoContextHelper
+ - NoInitialContextException
+ - NoPermissionException
+ - NoRouteToHostException
+ - NoServant
+ - NoServantHelper
+ - NoSuchAlgorithmException
+ - NoSuchAttributeException
+ - NoSuchElementException
+ - NoSuchFieldError
+ - NoSuchFieldException
+ - NoSuchMethodError
+ - NoSuchMethodException
+ - NoSuchObjectException
+ - NoSuchPaddingException
+ - NoSuchProviderException
+ - Node
+ - NodeChangeEvent
+ - NodeChangeListener
+ - NodeDimensions
+ - NodeList
+ - NonReadableChannelException
+ - NonWritableChannelException
+ - NoninvertibleTransformException
+ - NotActiveException
+ - NotBoundException
+ - NotContextException
+ - NotEmpty
+ - NotEmptyHelper
+ - NotEmptyHolder
+ - NotFound
+ - NotFoundHelper
+ - NotFoundHolder
+ - NotFoundReason
+ - NotFoundReasonHelper
+ - NotFoundReasonHolder
+ - NotOwnerException
+ - NotSerializableException
+ - NotYetBoundException
+ - NotYetConnectedException
+ - Notation
+ - NullCipher
+ - NullPointerException
+ - Number
+ - NumberEditor
+ - NumberFormat
+ - NumberFormatException
+ - NumberFormatter
+ - NumberOfDocuments
+ - NumberOfInterveningJobs
+ - NumberUp
+ - NumberUpSupported
+ - NumericShaper
+ - OBJECT_NOT_EXIST
+ - OBJ_ADAPTER
+ - OMGVMCID
+ - ORB
+ - ORB
+ - ORBInitInfo
+ - ORBInitInfoOperations
+ - ORBInitializer
+ - ORBInitializerOperations
+ - ObjID
+ - Object
+ - Object
+ - ObjectAlreadyActive
+ - ObjectAlreadyActiveHelper
+ - ObjectChangeListener
+ - ObjectFactory
+ - ObjectFactoryBuilder
+ - ObjectHelper
+ - ObjectHolder
+ - ObjectIdHelper
+ - ObjectImpl
+ - ObjectImpl
+ - ObjectInput
+ - ObjectInputStream
+ - ObjectInputValidation
+ - ObjectNotActive
+ - ObjectNotActiveHelper
+ - ObjectOutput
+ - ObjectOutputStream
+ - ObjectStreamClass
+ - ObjectStreamConstants
+ - ObjectStreamException
+ - ObjectStreamField
+ - ObjectView
+ - Observable
+ - Observer
+ - OctetSeqHelper
+ - OctetSeqHolder
+ - Oid
+ - OpenType
+ - Operation
+ - OperationNotSupportedException
+ - Option
+ - OptionDialogBorder
+ - OptionPaneUI
+ - OptionalDataException
+ - OrientationRequested
+ - OrientationRequestedType
+ - OriginType
+ - Other
+ - OutOfMemoryError
+ - OutputDeviceAssigned
+ - OutputKeys
+ - OutputStream
+ - OutputStream
+ - OutputStream
+ - OutputStreamWriter
+ - OverlappingFileLockException
+ - OverlayLayout
+ - Owner
+ - PBEKey
+ - PBEKeySpec
+ - PBEParameterSpec
+ - PDLOverrideSupported
+ - PERSIST_STORE
+ - PKCS8EncodedKeySpec
+ - PKIXBuilderParameters
+ - PKIXCertPathBuilderResult
+ - PKIXCertPathChecker
+ - PKIXCertPathValidatorResult
+ - PKIXParameters
+ - POA
+ - POAHelper
+ - POAManager
+ - POAManagerOperations
+ - POAOperations
+ - PRIVATE_MEMBER
+ - PSSParameterSpec
+ - PUBLIC_MEMBER
+ - Package
+ - PackedColorModel
+ - PageAttributes
+ - PageFormat
+ - PageRanges
+ - Pageable
+ - PagesPerMinute
+ - PagesPerMinuteColor
+ - Paint
+ - PaintContext
+ - PaintEvent
+ - PaletteBorder
+ - PaletteCloseIcon
+ - Panel
+ - PanelUI
+ - Paper
+ - ParagraphAttribute
+ - ParagraphConstants
+ - ParagraphView
+ - ParagraphView
+ - Parameter
+ - ParameterBlock
+ - ParameterDescriptor
+ - ParameterMetaData
+ - ParameterMode
+ - ParameterModeHelper
+ - ParameterModeHolder
+ - ParseException
+ - ParsePosition
+ - Parser
+ - Parser
+ - Parser
+ - ParserAdapter
+ - ParserCallback
+ - ParserConfigurationException
+ - ParserDelegator
+ - ParserFactory
+ - PartialResultException
+ - PasswordAuthentication
+ - PasswordCallback
+ - PasswordView
+ - PasteAction
+ - Patch
+ - PathIterator
+ - Pattern
+ - PatternSyntaxException
+ - Permission
+ - Permission
+ - PermissionCollection
+ - Permissions
+ - PersistenceDelegate
+ - PhantomReference
+ - Pipe
+ - PipedInputStream
+ - PipedOutputStream
+ - PipedReader
+ - PipedWriter
+ - PixelGrabber
+ - PixelInterleavedSampleModel
+ - PlainDocument
+ - PlainView
+ - Point
+ - Point2D
+ - Policy
+ - Policy
+ - Policy
+ - PolicyError
+ - PolicyErrorCodeHelper
+ - PolicyErrorHelper
+ - PolicyErrorHolder
+ - PolicyFactory
+ - PolicyFactoryOperations
+ - PolicyHelper
+ - PolicyHolder
+ - PolicyListHelper
+ - PolicyListHolder
+ - PolicyNode
+ - PolicyOperations
+ - PolicyQualifierInfo
+ - PolicyTypeHelper
+ - Polygon
+ - PooledConnection
+ - Popup
+ - PopupFactory
+ - PopupMenu
+ - PopupMenuBorder
+ - PopupMenuEvent
+ - PopupMenuListener
+ - PopupMenuUI
+ - Port
+ - PortUnreachableException
+ - PortableRemoteObject
+ - PortableRemoteObjectDelegate
+ - Position
+ - PreferenceChangeEvent
+ - PreferenceChangeListener
+ - Preferences
+ - PreferencesFactory
+ - PreparedStatement
+ - PresentationDirection
+ - Principal
+ - Principal
+ - PrincipalHolder
+ - PrintEvent
+ - PrintException
+ - PrintGraphics
+ - PrintJob
+ - PrintJobAdapter
+ - PrintJobAttribute
+ - PrintJobAttributeEvent
+ - PrintJobAttributeListener
+ - PrintJobAttributeSet
+ - PrintJobEvent
+ - PrintJobListener
+ - PrintQuality
+ - PrintQualityType
+ - PrintRequestAttribute
+ - PrintRequestAttributeSet
+ - PrintService
+ - PrintServiceAttribute
+ - PrintServiceAttributeEvent
+ - PrintServiceAttributeListener
+ - PrintServiceAttributeSet
+ - PrintServiceLookup
+ - PrintStream
+ - PrintWriter
+ - Printable
+ - PrinterAbortException
+ - PrinterException
+ - PrinterGraphics
+ - PrinterIOException
+ - PrinterInfo
+ - PrinterIsAcceptingJobs
+ - PrinterJob
+ - PrinterLocation
+ - PrinterMakeAndModel
+ - PrinterMessageFromOperator
+ - PrinterMoreInfo
+ - PrinterMoreInfoManufacturer
+ - PrinterName
+ - PrinterResolution
+ - PrinterState
+ - PrinterStateReason
+ - PrinterStateReasons
+ - PrinterURI
+ - PrivateCredentialPermission
+ - PrivateKey
+ - PrivilegedAction
+ - PrivilegedActionException
+ - PrivilegedExceptionAction
+ - Process
+ - ProcessingInstruction
+ - ProfileDataException
+ - ProfileIdHelper
+ - ProgressBarUI
+ - ProgressMonitor
+ - ProgressMonitorInputStream
+ - Properties
+ - PropertyChangeEvent
+ - PropertyChangeListener
+ - PropertyChangeListenerProxy
+ - PropertyChangeSupport
+ - PropertyDescriptor
+ - PropertyEditor
+ - PropertyEditorManager
+ - PropertyEditorSupport
+ - PropertyPermission
+ - PropertyResourceBundle
+ - PropertyVetoException
+ - ProtectionDomain
+ - ProtocolException
+ - Provider
+ - ProviderException
+ - Proxy
+ - ProxyLazyValue
+ - PublicKey
+ - PushbackInputStream
+ - PushbackReader
+ - PutField
+ - QuadCurve2D
+ - QueuedJobCount
+ - RC2ParameterSpec
+ - RC5ParameterSpec
+ - READER
+ - REQUEST_PROCESSING_POLICY_ID
+ - RGBImageFilter
+ - RMIClassLoader
+ - RMIClassLoaderSpi
+ - RMIClientSocketFactory
+ - RMIFailureHandler
+ - RMISecurityException
+ - RMISecurityManager
+ - RMIServerSocketFactory
+ - RMISocketFactory
+ - RSAKey
+ - RSAKeyGenParameterSpec
+ - RSAMultiPrimePrivateCrtKey
+ - RSAMultiPrimePrivateCrtKeySpec
+ - RSAOtherPrimeInfo
+ - RSAPrivateCrtKey
+ - RSAPrivateCrtKeySpec
+ - RSAPrivateKey
+ - RSAPrivateKeySpec
+ - RSAPublicKey
+ - RSAPublicKeySpec
+ - RTFEditorKit
+ - RadioButtonBorder
+ - Random
+ - RandomAccess
+ - RandomAccessFile
+ - Raster
+ - RasterFormatException
+ - RasterOp
+ - ReadOnlyBufferException
+ - ReadableByteChannel
+ - Reader
+ - Receiver
+ - Rectangle
+ - Rectangle2D
+ - RectangularShape
+ - Ref
+ - RefAddr
+ - Reference
+ - Reference
+ - ReferenceQueue
+ - ReferenceUriSchemesSupported
+ - Referenceable
+ - ReferralException
+ - ReflectPermission
+ - RefreshFailedException
+ - Refreshable
+ - RegisterableService
+ - Registry
+ - RegistryHandler
+ - RemarshalException
+ - Remote
+ - RemoteCall
+ - RemoteException
+ - RemoteObject
+ - RemoteRef
+ - RemoteServer
+ - RemoteStub
+ - RenderContext
+ - RenderableImage
+ - RenderableImageOp
+ - RenderableImageProducer
+ - RenderedImage
+ - RenderedImageFactory
+ - Renderer
+ - RenderingHints
+ - RepaintManager
+ - ReplicateScaleFilter
+ - RepositoryIdHelper
+ - Request
+ - RequestInfo
+ - RequestInfoOperations
+ - RequestProcessingPolicy
+ - RequestProcessingPolicyOperations
+ - RequestProcessingPolicyValue
+ - RequestingUserName
+ - RescaleOp
+ - ResolutionSyntax
+ - ResolveResult
+ - Resolver
+ - ResourceBundle
+ - ResponseHandler
+ - Result
+ - Result
+ - ResultSet
+ - ResultSetMetaData
+ - ReverbType
+ - Robot
+ - RolloverButtonBorder
+ - RolloverButtonBorder
+ - RootPaneContainer
+ - RootPaneUI
+ - RoundRectangle2D
+ - RowMapper
+ - RowSet
+ - RowSetEvent
+ - RowSetInternal
+ - RowSetListener
+ - RowSetMetaData
+ - RowSetReader
+ - RowSetWriter
+ - RuleBasedCollator
+ - RunTime
+ - RunTimeOperations
+ - Runnable
+ - Runtime
+ - RuntimeException
+ - RuntimePermission
+ - SAXException
+ - SAXNotRecognizedException
+ - SAXNotSupportedException
+ - SAXParseException
+ - SAXParser
+ - SAXParserFactory
+ - SAXResult
+ - SAXSource
+ - SAXTransformerFactory
+ - SERVANT_RETENTION_POLICY_ID
+ - SERVICE_FORMATTED
+ - SQLData
+ - SQLException
+ - SQLInput
+ - SQLOutput
+ - SQLPermission
+ - SQLWarning
+ - SSLContext
+ - SSLContextSpi
+ - SSLException
+ - SSLHandshakeException
+ - SSLKeyException
+ - SSLPeerUnverifiedException
+ - SSLPermission
+ - SSLProtocolException
+ - SSLServerSocket
+ - SSLServerSocketFactory
+ - SSLSession
+ - SSLSessionBindingEvent
+ - SSLSessionBindingListener
+ - SSLSessionContext
+ - SSLSocket
+ - SSLSocketFactory
+ - STRING
+ - SUCCESSFUL
+ - SYNC_WITH_TRANSPORT
+ - SYSTEM_EXCEPTION
+ - SampleModel
+ - Savepoint
+ - ScatteringByteChannel
+ - SchemaViolationException
+ - ScrollBarUI
+ - ScrollPane
+ - ScrollPaneAdjustable
+ - ScrollPaneBorder
+ - ScrollPaneConstants
+ - ScrollPaneLayout
+ - ScrollPaneUI
+ - Scrollable
+ - Scrollbar
+ - SealedObject
+ - SearchControls
+ - SearchResult
+ - SecretKey
+ - SecretKeyFactory
+ - SecretKeyFactorySpi
+ - SecretKeySpec
+ - SecureClassLoader
+ - SecureRandom
+ - SecureRandomSpi
+ - Security
+ - SecurityException
+ - SecurityManager
+ - SecurityPermission
+ - Segment
+ - SelectableChannel
+ - SelectionKey
+ - Selector
+ - SelectorProvider
+ - Separator
+ - Separator
+ - SeparatorUI
+ - Sequence
+ - SequenceInputStream
+ - Sequencer
+ - Serializable
+ - SerializablePermission
+ - Servant
+ - ServantActivator
+ - ServantActivatorHelper
+ - ServantActivatorOperations
+ - ServantActivatorPOA
+ - ServantAlreadyActive
+ - ServantAlreadyActiveHelper
+ - ServantLocator
+ - ServantLocatorHelper
+ - ServantLocatorOperations
+ - ServantLocatorPOA
+ - ServantManager
+ - ServantManagerOperations
+ - ServantNotActive
+ - ServantNotActiveHelper
+ - ServantObject
+ - ServantRetentionPolicy
+ - ServantRetentionPolicyOperations
+ - ServantRetentionPolicyValue
+ - ServerCloneException
+ - ServerError
+ - ServerException
+ - ServerNotActiveException
+ - ServerRef
+ - ServerRequest
+ - ServerRequestInfo
+ - ServerRequestInfoOperations
+ - ServerRequestInterceptor
+ - ServerRequestInterceptorOperations
+ - ServerRuntimeException
+ - ServerSocket
+ - ServerSocketChannel
+ - ServerSocketFactory
+ - ServiceContext
+ - ServiceContextHelper
+ - ServiceContextHolder
+ - ServiceContextListHelper
+ - ServiceContextListHolder
+ - ServiceDetail
+ - ServiceDetailHelper
+ - ServiceIdHelper
+ - ServiceInformation
+ - ServiceInformationHelper
+ - ServiceInformationHolder
+ - ServicePermission
+ - ServiceRegistry
+ - ServiceUI
+ - ServiceUIFactory
+ - ServiceUnavailableException
+ - Set
+ - SetOfIntegerSyntax
+ - SetOverrideType
+ - SetOverrideTypeHelper
+ - Severity
+ - Shape
+ - ShapeGraphicAttribute
+ - SheetCollate
+ - Short
+ - ShortBuffer
+ - ShortBufferException
+ - ShortHolder
+ - ShortLookupTable
+ - ShortMessage
+ - ShortSeqHelper
+ - ShortSeqHolder
+ - Sides
+ - SidesType
+ - Signature
+ - SignatureException
+ - SignatureSpi
+ - SignedObject
+ - Signer
+ - SimpleAttributeSet
+ - SimpleBeanInfo
+ - SimpleDateFormat
+ - SimpleDoc
+ - SimpleFormatter
+ - SimpleTimeZone
+ - SinglePixelPackedSampleModel
+ - SingleSelectionModel
+ - SinkChannel
+ - Size2DSyntax
+ - SizeLimitExceededException
+ - SizeRequirements
+ - SizeSequence
+ - Skeleton
+ - SkeletonMismatchException
+ - SkeletonNotFoundException
+ - SliderUI
+ - Socket
+ - SocketAddress
+ - SocketChannel
+ - SocketException
+ - SocketFactory
+ - SocketHandler
+ - SocketImpl
+ - SocketImplFactory
+ - SocketOptions
+ - SocketPermission
+ - SocketSecurityException
+ - SocketTimeoutException
+ - SoftBevelBorder
+ - SoftReference
+ - SortedMap
+ - SortedSet
+ - SortingFocusTraversalPolicy
+ - Soundbank
+ - SoundbankReader
+ - SoundbankResource
+ - Source
+ - SourceChannel
+ - SourceDataLine
+ - SourceLocator
+ - SpinnerDateModel
+ - SpinnerListModel
+ - SpinnerModel
+ - SpinnerNumberModel
+ - SpinnerUI
+ - SplitPaneBorder
+ - SplitPaneUI
+ - Spring
+ - SpringLayout
+ - Stack
+ - StackOverflowError
+ - StackTraceElement
+ - StartTlsRequest
+ - StartTlsResponse
+ - State
+ - StateEdit
+ - StateEditable
+ - StateFactory
+ - Statement
+ - Statement
+ - StreamCorruptedException
+ - StreamHandler
+ - StreamPrintService
+ - StreamPrintServiceFactory
+ - StreamResult
+ - StreamSource
+ - StreamTokenizer
+ - Streamable
+ - StreamableValue
+ - StrictMath
+ - String
+ - StringBuffer
+ - StringBufferInputStream
+ - StringCharacterIterator
+ - StringContent
+ - StringHolder
+ - StringIndexOutOfBoundsException
+ - StringNameHelper
+ - StringReader
+ - StringRefAddr
+ - StringSelection
+ - StringSeqHelper
+ - StringSeqHolder
+ - StringTokenizer
+ - StringValueHelper
+ - StringWriter
+ - Stroke
+ - Struct
+ - StructMember
+ - StructMemberHelper
+ - Stub
+ - StubDelegate
+ - StubNotFoundException
+ - Style
+ - StyleConstants
+ - StyleContext
+ - StyleSheet
+ - StyledDocument
+ - StyledEditorKit
+ - StyledTextAction
+ - Subject
+ - SubjectDomainCombiner
+ - Subset
+ - SupportedValuesAttribute
+ - SwingConstants
+ - SwingPropertyChangeSupport
+ - SwingUtilities
+ - SyncFailedException
+ - SyncMode
+ - SyncScopeHelper
+ - Synthesizer
+ - SysexMessage
+ - System
+ - SystemColor
+ - SystemException
+ - SystemFlavorMap
+ - TAG_ALTERNATE_IIOP_ADDRESS
+ - TAG_CODE_SETS
+ - TAG_INTERNET_IOP
+ - TAG_JAVA_CODEBASE
+ - TAG_MULTIPLE_COMPONENTS
+ - TAG_ORB_TYPE
+ - TAG_POLICIES
+ - TCKind
+ - THREAD_POLICY_ID
+ - TRANSACTION_REQUIRED
+ - TRANSACTION_ROLLEDBACK
+ - TRANSIENT
+ - TRANSPORT_RETRY
+ - TabExpander
+ - TabSet
+ - TabStop
+ - TabableView
+ - TabbedPaneUI
+ - TableCellEditor
+ - TableCellRenderer
+ - TableColumn
+ - TableColumnModel
+ - TableColumnModelEvent
+ - TableColumnModelListener
+ - TableHeaderBorder
+ - TableHeaderUI
+ - TableModel
+ - TableModelEvent
+ - TableModelListener
+ - TableUI
+ - TableView
+ - Tag
+ - TagElement
+ - TaggedComponent
+ - TaggedComponentHelper
+ - TaggedComponentHolder
+ - TaggedProfile
+ - TaggedProfileHelper
+ - TaggedProfileHolder
+ - TargetDataLine
+ - Templates
+ - TemplatesHandler
+ - Text
+ - TextAction
+ - TextArea
+ - TextAttribute
+ - TextComponent
+ - TextEvent
+ - TextField
+ - TextFieldBorder
+ - TextHitInfo
+ - TextInputCallback
+ - TextLayout
+ - TextListener
+ - TextMeasurer
+ - TextOutputCallback
+ - TextSyntax
+ - TextUI
+ - TexturePaint
+ - Thread
+ - ThreadDeath
+ - ThreadGroup
+ - ThreadLocal
+ - ThreadPolicy
+ - ThreadPolicyOperations
+ - ThreadPolicyValue
+ - Throwable
+ - Tie
+ - TileObserver
+ - Time
+ - TimeLimitExceededException
+ - TimeZone
+ - Timer
+ - Timer
+ - TimerTask
+ - Timestamp
+ - TitledBorder
+ - TitledBorderUIResource
+ - ToggleButtonBorder
+ - ToggleButtonBorder
+ - ToggleButtonModel
+ - TooManyListenersException
+ - ToolBarBorder
+ - ToolBarUI
+ - ToolTipManager
+ - ToolTipUI
+ - Toolkit
+ - Track
+ - TransactionRequiredException
+ - TransactionRolledbackException
+ - TransactionService
+ - TransferHandler
+ - Transferable
+ - TransformAttribute
+ - Transformer
+ - TransformerConfigurationException
+ - TransformerException
+ - TransformerFactory
+ - TransformerFactoryConfigurationError
+ - TransformerHandler
+ - Transmitter
+ - Transparency
+ - TreeCellEditor
+ - TreeCellRenderer
+ - TreeControlIcon
+ - TreeExpansionEvent
+ - TreeExpansionListener
+ - TreeFolderIcon
+ - TreeLeafIcon
+ - TreeMap
+ - TreeModel
+ - TreeModelEvent
+ - TreeModelListener
+ - TreeNode
+ - TreePath
+ - TreeSelectionEvent
+ - TreeSelectionListener
+ - TreeSelectionModel
+ - TreeSet
+ - TreeUI
+ - TreeWillExpandListener
+ - TrustAnchor
+ - TrustManager
+ - TrustManagerFactory
+ - TrustManagerFactorySpi
+ - Type
+ - Type
+ - Type
+ - Type
+ - Type
+ - Type
+ - Type
+ - TypeCode
+ - TypeCodeHolder
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatchHelper
+ - TypeMismatchHelper
+ - Types
+ - UID
+ - UIDefaults
+ - UIManager
+ - UIResource
+ - UIResource
+ - UIResource
+ - UIResource
+ - UIResource
+ - UIResource
+ - UIResource
+ - ULongLongSeqHelper
+ - ULongLongSeqHolder
+ - ULongSeqHelper
+ - ULongSeqHolder
+ - UNKNOWN
+ - UNSUPPORTED_POLICY
+ - UNSUPPORTED_POLICY_VALUE
+ - URI
+ - URIException
+ - URIResolver
+ - URISyntax
+ - URISyntaxException
+ - URL
+ - URL
+ - URLClassLoader
+ - URLConnection
+ - URLDecoder
+ - URLEncoder
+ - URLStreamHandler
+ - URLStreamHandlerFactory
+ - URLStringHelper
+ - USER_EXCEPTION
+ - UShortSeqHelper
+ - UShortSeqHolder
+ - UTFDataFormatException
+ - UndeclaredThrowableException
+ - UnderlineAction
+ - UndoManager
+ - UndoableEdit
+ - UndoableEditEvent
+ - UndoableEditListener
+ - UndoableEditSupport
+ - UnexpectedException
+ - UnicastRemoteObject
+ - UnicodeBlock
+ - UnionMember
+ - UnionMemberHelper
+ - UnknownEncoding
+ - UnknownEncodingHelper
+ - UnknownError
+ - UnknownException
+ - UnknownGroupException
+ - UnknownHostException
+ - UnknownHostException
+ - UnknownObjectException
+ - UnknownServiceException
+ - UnknownTag
+ - UnknownUserException
+ - UnknownUserExceptionHelper
+ - UnknownUserExceptionHolder
+ - UnmappableCharacterException
+ - UnmarshalException
+ - UnmodifiableSetException
+ - UnrecoverableKeyException
+ - Unreferenced
+ - UnresolvedAddressException
+ - UnresolvedPermission
+ - UnsatisfiedLinkError
+ - UnsolicitedNotification
+ - UnsolicitedNotificationEvent
+ - UnsolicitedNotificationListener
+ - UnsupportedAddressTypeException
+ - UnsupportedAudioFileException
+ - UnsupportedCallbackException
+ - UnsupportedCharsetException
+ - UnsupportedClassVersionError
+ - UnsupportedEncodingException
+ - UnsupportedFlavorException
+ - UnsupportedLookAndFeelException
+ - UnsupportedOperationException
+ - UserException
+ - Util
+ - UtilDelegate
+ - Utilities
+ - VMID
+ - VM_ABSTRACT
+ - VM_CUSTOM
+ - VM_NONE
+ - VM_TRUNCATABLE
+ - ValueBase
+ - ValueBaseHelper
+ - ValueBaseHolder
+ - ValueFactory
+ - ValueHandler
+ - ValueMember
+ - ValueMemberHelper
+ - VariableHeightLayoutCache
+ - Vector
+ - VerifyError
+ - VersionSpecHelper
+ - VetoableChangeListener
+ - VetoableChangeListenerProxy
+ - VetoableChangeSupport
+ - View
+ - ViewFactory
+ - ViewportLayout
+ - ViewportUI
+ - VirtualMachineError
+ - Visibility
+ - VisibilityHelper
+ - VoiceStatus
+ - Void
+ - VolatileImage
+ - WCharSeqHelper
+ - WCharSeqHolder
+ - WStringSeqHelper
+ - WStringSeqHolder
+ - WStringValueHelper
+ - WeakHashMap
+ - WeakReference
+ - Window
+ - WindowAdapter
+ - WindowConstants
+ - WindowEvent
+ - WindowFocusListener
+ - WindowListener
+ - WindowStateListener
+ - WrappedPlainView
+ - WritableByteChannel
+ - WritableRaster
+ - WritableRenderedImage
+ - WriteAbortedException
+ - Writer
+ - WrongAdapter
+ - WrongAdapterHelper
+ - WrongPolicy
+ - WrongPolicyHelper
+ - WrongTransaction
+ - WrongTransactionHelper
+ - WrongTransactionHolder
+ - X500Principal
+ - X500PrivateCredential
+ - X509CRL
+ - X509CRLEntry
+ - X509CRLSelector
+ - X509CertSelector
+ - X509Certificate
+ - X509Certificate
+ - X509EncodedKeySpec
+ - X509Extension
+ - X509KeyManager
+ - X509TrustManager
+ - XAConnection
+ - XADataSource
+ - XAException
+ - XAResource
+ - XMLDecoder
+ - XMLEncoder
+ - XMLFilter
+ - XMLFilterImpl
+ - XMLFormatter
+ - XMLReader
+ - XMLReaderAdapter
+ - XMLReaderFactory
+ - Xid
+ - ZipEntry
+ - ZipException
+ - ZipFile
+ - ZipInputStream
+ - ZipOutputStream
+ - ZoneView
+ - _BindingIteratorImplBase
+ - _BindingIteratorStub
+ - _DynAnyFactoryStub
+ - _DynAnyStub
+ - _DynArrayStub
+ - _DynEnumStub
+ - _DynFixedStub
+ - _DynSequenceStub
+ - _DynStructStub
+ - _DynUnionStub
+ - _DynValueStub
+ - _IDLTypeStub
+ - _NamingContextExtStub
+ - _NamingContextImplBase
+ - _NamingContextStub
+ - _PolicyStub
+ - _Remote_Stub
+ - _ServantActivatorStub
+ - _ServantLocatorStub
+
+
+
+ - abstract
+ - assert
+ - break
+ - case
+ - catch
+ - class
+ - continue
+ - default
+ - do
+ - else
+ - extends
+ - false
+ - finally
+ - for
+ - goto
+ - if
+ - implements
+ - import
+ - instanceof
+ - interface
+ - native
+ - new
+ - null
+ - package
+ - private
+ - protected
+ - public
+ - return
+ - super
+ - strictfp
+ - switch
+ - synchronized
+ - this
+ - throws
+ - throw
+ - transient
+ - true
+ - try
+ - volatile
+ - while
+
+
+
+ - boolean
+ - byte
+ - char
+ - const
+ - double
+ - final
+ - float
+ - int
+ - long
+ - short
+ - static
+ - void
+
+
+
+ - and
+ - eq
+ - gt
+ - true
+ - instanceof
+ - or
+ - ne
+ - le
+ - false
+ - empty
+ - not
+ - lt
+ - ge
+ - null
+ - div
+ - mod
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/julia.xml b/data/syntax/julia.xml
new file mode 100644
index 0000000..beba353
--- /dev/null
+++ b/data/syntax/julia.xml
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+
+ - begin
+ - do
+ - for
+ - function
+ - if
+ - let
+ - quote
+ - try
+ - type
+ - while
+
+
+ - catch
+ - else
+ - elseif
+
+
+ - end
+
+
+ - abstract
+ - bitstype
+ - break
+ - ccall
+ - const
+ - continue
+ - export
+ - global
+ - import
+ - in
+ - local
+ - macro
+ - module
+ - return
+ - typealias
+
+
+ - AbstractArray
+ - AbstractMatrix
+ - AbstractVector
+ - Any
+ - Array
+ - ASCIIString
+ - Associative
+ - Bool
+ - ByteString
+ - Char
+ - Complex
+ - Complex64
+ - Complex128
+ - ComplexPair
+ - DArray
+ - Dict
+ - Exception
+ - Expr
+ - Float
+ - Float32
+ - Float64
+ - Function
+ - ObjectIdDict
+ - Int
+ - Int8
+ - Int16
+ - Int32
+ - Int64
+ - Integer
+ - IntSet
+ - IO
+ - IOStream
+ - Matrix
+ - Nothing
+ - None
+ - NTuple
+ - Number
+ - Ptr
+ - Range
+ - Range1
+ - Ranges
+ - Rational
+ - Real
+ - Regex
+ - RegexMatch
+ - Set
+ - Signed
+ - StridedArray
+ - StridedMatrix
+ - StridedVecOrMat
+ - StridedVector
+ - String
+ - SubArray
+ - SubString
+ - Symbol
+ - Task
+ - Tuple
+ - Type
+ - Uint
+ - Uint8
+ - Uint16
+ - Uint32
+ - Uint64
+ - Union
+ - Unsigned
+ - UTF8String
+ - VecOrMat
+ - Vector
+ - Void
+ - WeakRef
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/k.xml b/data/syntax/k.xml
new file mode 100644
index 0000000..c51da2b
--- /dev/null
+++ b/data/syntax/k.xml
@@ -0,0 +1,430 @@
+
+
+
+
+
+ - while
+ - if
+ - do
+
+
+ - abs
+ - acos
+ - asin
+ - atan
+ - avg
+ - bin
+ - by
+ - cos
+ - delete
+ - div
+ - exec
+ - exit
+ - exp
+ - from
+ - getenv
+ - i
+ - in
+ - insert
+ - last
+ - like
+ - log
+ - max
+ - min
+ - prd
+ - select
+ - setenv
+ - sin
+ - sqrt
+ - ss
+ - sum
+ - tan
+ - update
+ - wavg
+ - within
+ - wsum
+ - xexp
+
+
+ - .Q.addmonths
+ - .Q.addr
+ - .Q.host
+ - .Q.chk
+ - .Q.cn
+ - .Q.dd
+ - .Q.dpft
+ - .Q.dsftg
+ - .Q.def
+ - .Q.en
+ - .Q.fc
+ - .Q.fk
+ - .Q.fmt
+ - .Q.foo
+ - .Q.fs
+ - .Q.ft
+ - .Q.fu
+ - .Q.gc
+ - .Q.hdpf
+ - .Q.ind
+ - .Q.j10
+ - .Q.x10
+ - .Q.j12
+ - .Q.x12
+ - .Q.k
+ - .Q.l
+ - .Q.opt
+ - .Q.par
+ - .Q.qp
+ - .Q.qt
+ - .Q.s
+ - .Q.s1
+ - .Q.ty
+ - .Q.v
+ - .Q.V
+ - .Q.view
+ - .Q.w
+ - .Q.M
+ - .Q.pf
+ - .Q.pt
+ - .Q.PD
+ - .Q.PV
+ - .Q.pd
+ - .Q.pv
+ - .Q.pn
+ - .Q.bv
+ - .Q.vp
+ - .Q.P
+ - .Q.D
+ - .Q.u
+
+
+ - .h.br
+ - .h.c0
+ - .h.c1
+ - .h.cd
+ - .h.code
+ - .h.data
+ - .h.eb
+ - .h.ec
+ - .h.ed
+ - .h.edsn
+ - .h.es
+ - .h.ex
+ - .h.fram
+ - .h.ha
+ - .h.hb
+ - .h.hc
+ - .h.he
+ - .h.hn
+ - .h.hp
+ - .h.hr
+ - .h.ht
+ - .h.hta
+ - .h.htac
+ - .h.htc
+ - .h.html
+ - .h.http
+ - .h.hu
+ - .h.hug
+ - .h.hy
+ - .h.iso8601
+ - .h.jx
+ - .h.logo
+ - .h.nbr
+ - .h.pre
+ - .h.text
+ - .h.tx
+ - .h.ty
+ - .h.uh
+ - .h.xd
+ - .h.xmp
+ - .h.xs
+ - .h.xt
+
+
+ - .o.B0
+ - .o.C0
+ - .o.Cols
+ - .o.Columns
+ - .o.FG
+ - .o.Fkey
+ - .o.Gkey
+ - .o.Key
+ - .o.PS
+ - .o.Special
+ - .o.Stats
+ - .o.T
+ - .o.T0
+ - .o.TI
+ - .o.Tables
+ - .o.Ts
+ - .o.TypeInfo
+ - .o.ex
+ - .o.o
+ - .o.t
+
+
+ - .z.a
+ - .z.ac
+ - .z.b
+ - .z.bm
+ - .z.c
+ - .z.exit
+ - .z.f
+ - .z.h
+ - .z.i
+ - .z.k
+ - .z.K
+ - .z.l
+ - .z.n
+ - .z.N
+ - .z.o
+ - .z.p
+ - .z.P
+ - .z.pc
+ - .z.pg
+ - .z.ph
+ - .z.pi
+ - .z.po
+ - .z.pp
+ - .z.ps
+ - .z.pw
+ - .z.q
+ - .z.s
+ - .z.ts
+ - .z.u
+ - .z.vs
+ - .z.w
+ - .z.W
+ - .z.ws
+ - .z.x
+ - .z.z
+ - .z.Z
+ - .z.t
+ - .z.T
+ - .z.d
+ - .z.D
+ - .z.zd
+
+
+ - .q.aj
+ - .q.aj0
+ - .q.all
+ - .q.and
+ - .q.any
+ - .q.asc
+ - .q.asof
+ - .q.attr
+ - .q.avgs
+ - .q.ceiling
+ - .q.cols
+ - .q.cor
+ - .q.count
+ - .q.cov
+ - .q.cross
+ - .q.csv
+ - .q.cut
+ - .q.deltas
+ - .q.desc
+ - .q.dev
+ - .q.differ
+ - .q.distinct
+ - .q.each
+ - .q.ej
+ - .q.enlist
+ - .q.eval
+ - .q.except
+ - .q.fby
+ - .q.fills
+ - .q.first
+ - .q.fkeys
+ - .q.flip
+ - .q.floor
+ - .q.get
+ - .q.group
+ - .q.gtime
+ - .q.hclose
+ - .q.hcount
+ - .q.hdel
+ - .q.hopen
+ - .q.hsym
+ - .q.iasc
+ - .q.idesc
+ - .q.ij
+ - .q.inter
+ - .q.inv
+ - .q.key
+ - .q.keys
+ - .q.lj
+ - .q.load
+ - .q.lower
+ - .q.lsq
+ - .q.ltime
+ - .q.ltrim
+ - .q.mavg
+ - .q.maxs
+ - .q.mcount
+ - .q.md5
+ - .q.mdev
+ - .q.med
+ - .q.meta
+ - .q.mins
+ - .q.mmax
+ - .q.mmin
+ - .q.mmu
+ - .q.mod
+ - .q.msum
+ - .q.neg
+ - .q.next
+ - .q.not
+ - .q.null
+ - .q.or
+ - .q.over
+ - .q.parse
+ - .q.peach
+ - .q.pj
+ - .q.plist
+ - .q.prds
+ - .q.prev
+ - .q.prior
+ - .q.rand
+ - .q.rank
+ - .q.ratios
+ - .q.raze
+ - .q.read0
+ - .q.read1
+ - .q.reciprocal
+ - .q.reverse
+ - .q.rload
+ - .q.rotate
+ - .q.rsave
+ - .q.rtrim
+ - .q.save
+ - .q.scan
+ - .q.set
+ - .q.show
+ - .q.signum
+ - .q.ssr
+ - .q.string
+ - .q.sublist
+ - .q.sums
+ - .q.sv
+ - .q.system
+ - .q.tables
+ - .q.til
+ - .q.trim
+ - .q.txf
+ - .q.type
+ - .q.uj
+ - .q.ungroup
+ - .q.union
+ - .q.upper
+ - .q.upsert
+ - .q.value
+ - .q.var
+ - .q.view
+ - .q.views
+ - .q.vs
+ - .q.where
+ - .q.wj
+ - .q.wj1
+ - .q.xasc
+ - .q.xbar
+ - .q.xcol
+ - .q.xcols
+ - .q.xdesc
+ - .q.xgroup
+ - .q.xkey
+ - .q.xlog
+ - .q.xprev
+ - .q.xrank
+
+
+ - TODO
+ - FIXME
+ - FIX
+ - HACK
+ - XXX
+ - NOTE
+ - GOTCHA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/kbasic.xml b/data/syntax/kbasic.xml
new file mode 100644
index 0000000..c3ca281
--- /dev/null
+++ b/data/syntax/kbasic.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+ - For
+ - Next
+ - Do
+ - Loop
+ - While
+ - Wend
+ - Until
+ - If
+ - Else
+ - End
+ - Function
+ - Goto
+ - Sub
+ - Implements
+ - In
+ - Sub
+ - Private
+ - Public
+ - Global
+ - As
+ - Dim
+ - Set
+ - Let
+ - Get
+ - To
+ - Property
+ - True
+ - False
+ - Or
+ - Not
+ - Xor
+ - And
+ - Then
+ - Exit
+ - Put
+ - Open
+ - Close
+ - Seek
+ - Print
+ - Input
+ - Output
+ - Repeat
+ - Load
+ - Unload
+ - Declare
+ - Option
+ - Explicit
+
+
+ - Integer
+ - Long
+ - Byte
+ - Boolean
+ - Variant
+ - Single
+ - Double
+ - Currency
+ - String
+ - Object
+ - Control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/kconfig.xml b/data/syntax/kconfig.xml
new file mode 100644
index 0000000..c430772
--- /dev/null
+++ b/data/syntax/kconfig.xml
@@ -0,0 +1,1144 @@
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/kdesrc-buildrc.xml b/data/syntax/kdesrc-buildrc.xml
new file mode 100644
index 0000000..62cb26d
--- /dev/null
+++ b/data/syntax/kdesrc-buildrc.xml
@@ -0,0 +1,248 @@
+
+
+
+
+
+
+ - true
+ - false
+ - TRUE
+ - FALSE
+ - 0
+ - 1
+
+
+
+ - set-env
+
+
+
+
+ - use-modules
+ - ignore-modules
+
+
+
+
+ - async
+ - colorful-output
+ - disable-agent-check
+ - disable-snapshot
+ - pretend
+ - purge-old-logs
+ - stop-on-failure
+ - use-idle-io-priority
+
+
+
+ - build-system-only
+ - build-when-unchanged
+ - ignore-kde-structure
+ - install-after-build
+ - install-session-driver
+ - manual-build
+ - manual-update
+ - no-src
+ - reconfigure
+ - recreate-configure
+ - refresh-build
+ - run-tests
+ - use-clean-install
+
+
+
+ - branch-group
+ - git-desired-protocol
+ - git-repository-base
+ - http-proxy
+ - kde-languages
+ - niceness
+ - debug-level
+ - persistent-data-file
+
+
+
+ - binpath
+ - branch
+ - build-dir
+ - checkout-only
+ - cmake-options
+ - configure-flags
+ - custom-build-command
+ - cxxflags
+ - dest-dir
+ - do-not-compile
+ - git-user
+ - kdedir
+ - libpath
+ - log-dir
+ - make-install-prefix
+ - make-options
+ - module-base-path
+ - override-build-system
+ - override-url
+ - prefix
+ - qmake-options
+ - qtdir
+ - remove-after-install
+ - repository
+ - revision
+ - source-dir
+ - svn-server
+ - tag
+
+
+
+ - include
+
+
+ - module
+ - options
+
+
+ - module-set
+
+
+ - global
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/kotlin.xml b/data/syntax/kotlin.xml
new file mode 100644
index 0000000..bf92431
--- /dev/null
+++ b/data/syntax/kotlin.xml
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+ - package
+ - import
+
+ - sealed
+ - data
+ - class
+ - enum
+ - interface
+ - companion
+ - object
+
+ - private
+ - public
+ - protected
+ - internal
+ - open
+ - final
+
+ - get
+ - set
+ - fun
+ - var
+ - val
+ - constructor
+
+ - inline
+ - reified
+ - crossinline
+ - tailrec
+
+ - in
+ - out
+ - is
+ - as
+ - by
+ - where
+
+ - vararg
+ - get
+ - set
+
+ - return
+ - throw
+
+ - typealias
+ - typeof
+ - override
+ - infix
+ - operator
+
+
+ - if
+ - else
+ - when
+
+ - for
+ - while
+ - do
+
+ - try
+ - catch
+ - finally
+
+ - continue
+ - break
+ - yield
+
+
+ - this
+ - super
+ - null
+ - true
+ - false
+
+
+ - Unit
+ - Nothing
+
+ - String
+ - Char
+
+ - Int
+ - Long
+ - Byte
+ - Short
+ - Float
+ - Double
+
+ - Boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/latex.xml b/data/syntax/latex.xml
new file mode 100644
index 0000000..dae8195
--- /dev/null
+++ b/data/syntax/latex.xml
@@ -0,0 +1,700 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ld.xml b/data/syntax/ld.xml
new file mode 100644
index 0000000..29501d6
--- /dev/null
+++ b/data/syntax/ld.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+ - AT
+ - ENTRY
+ - INPUT
+ - GROUP
+ - OUTPUT
+ - OUTPUT_ARCH
+ - OUTPUT_FORMAT
+ - SEARCH_DIR
+ - STARTUP
+ - TARGET
+
+
+ - ABSOLUTE
+ - ADDR
+ - ALIGN
+ - DATA_SEGMENT_ALIGN
+ - DATA_SEGMENT_END
+ - DATA_SEGMENT_RELRO_END
+ - DEFINED
+ - LOADADDR
+ - MAX
+ - MIN
+ - NEXT
+ - SIZEOF
+ - SIZEOF_HEADERS
+
+
+ - SECTIONS
+ - MEMORY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ldif.xml b/data/syntax/ldif.xml
new file mode 100644
index 0000000..fde17f0
--- /dev/null
+++ b/data/syntax/ldif.xml
@@ -0,0 +1,305 @@
+
+
+
+
+
+ - IPPhone
+ - URL
+ - aRecord
+ - aliasedEntryName
+ - aliasedObjectName
+ - associatedDomain
+ - associatedName
+ - audio
+ - authorityRevocationList
+ - bootFile
+ - bootParameter
+ - buildingName
+ - businessCategory
+ - c
+ - cACertificate
+ - cNAMERecord
+ - certificateRevocationList
+ - cn
+ - comment
+ - commonName
+ - conferenceInformation
+ - corbaContainer
+ - corbaRepositoryId
+ - countryName
+ - crossCertificatePair
+ - custom1
+ - custom2
+ - custom3
+ - custom4
+ - dITRedirect
+ - dSAQuality
+ - dc
+ - deltaRevocationList
+ - description
+ - destinationIndicator
+ - distinguishedName
+ - dmdName
+ - dnQualifier
+ - documentAuthor
+ - documentIdentifier
+ - documentLocation
+ - documentPublisher
+ - documentTitle
+ - documentVersion
+ - domainComponent
+ - enhancedSearchGuide
+ - facsimileTelephoneNumber
+ - fax
+ - gecos
+ - generationQualifier
+ - gidNumber
+ - givenName
+ - gn
+ - homeDirectory
+ - homePostalAddress
+ - homeUrl
+ - host
+ - houseIdentifier
+ - info
+ - initials
+ - internationaliSDNNumber
+ - ipHostNumber
+ - ipNetmaskNumber
+ - ipNetworkNumber
+ - ipProtocolNumber
+ - ipServicePort
+ - ipServiceProtocol
+ - janetMailbox
+ - javaClassNames
+ - javaCodebase
+ - javaContainer
+ - javaDoc
+ - javaFactory
+ - javaReferenceAddress
+ - javaSerializedData
+ - knowledgeInformation
+ - l
+ - labeledURI
+ - lastModifiedBy
+ - lastModifiedTime
+ - lmpassword
+ - localityName
+ - loginShell
+ - mDRecord
+ - mXRecord
+ - macAddress
+ - mail
+ - manager
+ - member
+ - memberNisNetgroup
+ - memberUid
+ - mozillaHomeCountryName
+ - mozillaHomeFriendlyCountryName
+ - mozillaHomeLocalityName
+ - mozillaHomePostalAddress2
+ - mozillaHomePostalCode
+ - mozillaHomeState
+ - mozillaPostalAddress2
+ - mozillaSecondemail
+ - nSRecord
+ - name
+ - nisMapEntry
+ - nisMapName
+ - nisNetgroupTriple
+ - ntpasswd
+ - o
+ - objectClass
+ - oncRpcNumber
+ - organizationName
+ - organizationalStatus
+ - organizationalUnitName
+ - otherFacsimiletelephoneNumber
+ - otherMailbox
+ - ou
+ - owner
+ - personalSignature
+ - personalTitle
+ - photo
+ - physicalDeliveryOfficeName
+ - postOfficeBox
+ - postalAddress
+ - postalCode
+ - preferredDeliveryMethod
+ - presentationAddress
+ - protocolInformation
+ - rdn
+ - registeredAddress
+ - reports
+ - rfc822Mailbox
+ - roleOccupant
+ - roomNumber
+ - sOARecord
+ - searchGuide
+ - secretary
+ - seeAlso
+ - serialNumber
+ - shadowExpire
+ - shadowFlag
+ - shadowInactive
+ - shadowLastChange
+ - shadowMax
+ - shadowMin
+ - shadowWarning
+ - singleLevelQuality
+ - sn
+ - st
+ - stateOrProvinceName
+ - street
+ - streetAddress
+ - subtreeMaximumQuality
+ - subtreeMinimumQuality
+ - supportedAlgorithms
+ - supportedApplicationContext
+ - surname
+ - telephoneNumber
+ - teletexTerminalIdentifier
+ - telexNumber
+ - textEncodedORAddress
+ - title
+ - uid
+ - uidNumber
+ - uniqueIdentifier
+ - uniqueMember
+ - userCertificate
+ - userClass
+ - userPassword
+ - userid
+ - workUrl
+ - x121Address
+ - x500UniqueIdentifier
+ - xmozillaNickname
+ - xmozillaUseHtmlMail
+ - xmozillanickname
+ - xmozillausehtmlmail
+
+
+ - RFC822localPart
+ - SUP
+ - account
+ - alias
+ - applicationEntity
+ - applicationProcess
+ - bootableDevice
+ - cRLDistributionPoint
+ - certificationAuthority
+ - certificationAuthority-V2
+ - corbaObject
+ - corbaObjectReference
+ - country
+ - dNSDomain
+ - dSA
+ - dcObject
+ - deltaCRL
+ - device
+ - dmd
+ - document
+ - documentSeries
+ - domain
+ - domainRelatedObject
+ - friendlyCountry
+ - groupOfNames
+ - groupOfUniqueNames
+ - ieee802Device
+ - inetOrgPerson
+ - ipHost
+ - ipNetwork
+ - ipProtocol
+ - ipService
+ - javaClassName
+ - javaMarshalledObject
+ - javaNamingReference
+ - javaObject
+ - javaSerializedObject
+ - labeledURIObject
+ - locality
+ - mozillaAbPersonObsolete
+ - nisMap
+ - nisNetgroup
+ - nisObject
+ - officePerson
+ - oncRpc
+ - organization
+ - organizationalPerson
+ - organizationalRole
+ - organizationalUnit
+ - pager
+ - pagerTelephoneNumber
+ - person
+ - pilotDSA
+ - pilotObject
+ - pilotOrganization
+ - pkiCA
+ - pkiUser
+ - posixAccount
+ - posixGroup
+ - qualityLabelledData
+ - residentialPerson
+ - rid
+ - room
+ - sambaAccount
+ - shadowAccount
+ - simpleSecurityObject
+ - strongAuthenticationUser
+ - telephoneNumber
+ - top
+ - uid
+ - uidNumber
+ - uidObject
+ - userSecurityInformation
+ - userid
+ - xmozillaanyphone
+ - zillaPerson
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/less.xml b/data/syntax/less.xml
new file mode 100644
index 0000000..f1d1945
--- /dev/null
+++ b/data/syntax/less.xml
@@ -0,0 +1,1101 @@
+
+
+
+
+
+
+
+ - azimuth
+ - align-content
+ - align-items
+ - align-self
+ - alignment-baseline
+ - all
+ - animation-name
+ - animation-duration
+ - animation-iteration-count
+ - animation-direction
+ - animation-delay
+ - animation-play-state
+ - animation-fill-mode
+ - animation-timing-function
+ - backface-visibility
+ - background
+ - background-attachment
+ - background-blend-mode
+ - background-break
+ - background-clip
+ - background-color
+ - background-image
+ - background-origin
+ - background-position
+ - background-repeat
+ - background-size
+ - baseline-shift
+ - bookmark-label
+ - bookmark-level
+ - bookmark-level
+ - border
+ - border-bottom
+ - border-bottom-color
+ - border-bottom-image
+ - border-bottom-style
+ - border-bottom-width
+ - border-bottom-left-image
+ - border-bottom-left-radius
+ - border-bottom-right-image
+ - border-bottom-right-radius
+ - border-boundary
+ - border-collapse
+ - border-color
+ - border-corner-image
+ - border-image
+ - border-image-outset
+ - border-image-repeat
+ - border-image-slice
+ - border-image-source
+ - border-image-width
+ - border-left
+ - border-left-color
+ - border-left-image
+ - border-left-style
+ - border-left-width
+ - border-radius
+ - border-right
+ - border-right-color
+ - border-right-image
+ - border-right-style
+ - border-right-width
+ - border-spacing
+ - border-style
+ - border-top
+ - border-top-color
+ - border-top-image
+ - border-top-style
+ - border-top-width
+ - border-top-left-image
+ - border-top-left-radius
+ - border-top-right-image
+ - border-top-right-radius
+ - border-width
+ - bottom
+ - box-align
+ - box-decoration-break
+ - box-direction
+ - box-flex
+ - box-shadow
+ - box-sizing
+ - box-snap
+ - box-suppress
+ - break-after
+ - break-before
+ - break-inside
+ - caret-color
+ - caption-side
+ - chains
+ - clear
+ - clip
+ - clip-path
+ - clip-rule
+ - color
+ - color-interpolation-filters
+ - column-count
+ - column-fill
+ - column-gap
+ - column-rule
+ - column-rule-color
+ - column-rule-style
+ - column-rule-width
+ - column-span
+ - column-width
+ - columns
+ - content
+ - counter-increment
+ - counter-reset
+ - counter-set
+ - cue
+ - cue-after
+ - cue-before
+ - cursor
+ - direction
+ - display
+ - dominant-baseline
+ - elevation
+ - empty-cells
+ - filter
+ - flex
+ - flex-basis
+ - flex-direction
+ - flex-flow
+ - flex-grow
+ - flex-shrink
+ - flex-wrap
+ - float
+ - flood-color
+ - flood-opacity
+ - flow
+ - flow-from
+ - flow-into
+ - font
+ - font-family
+ - font-size
+ - font-size-adjust
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - font-stretch
+ - font-feature-settings
+ - font-kerning
+ - font-language-override
+ - font-synthesis
+ - font-variant-alternates
+ - font-variant-caps
+ - font-variant-east-asian
+ - font-variant-ligatures
+ - font-variant-numeric
+ - font-variant-position
+ - footnote-display
+ - footnote-policy
+ - glyph-orientation-vertical
+ - grid
+ - grid-area
+ - grid-auto-columns
+ - grid-auto-flow
+ - grid-auto-rows
+ - grid-column
+ - grid-column-end
+ - grid-column-gap
+ - grid-column-start
+ - grid-gap
+ - grid-row
+ - grid-row-end
+ - grid-row-gap
+ - grid-row-start
+ - grid-template
+ - grid-template-areas
+ - grid-template-columns
+ - grid-template-rows
+ - hanging-punctuation
+ - height
+ - hyphens
+ - image-orientation
+ - image-rendering
+ - image-resolution
+ - initial-letter
+ - initial-letter-align
+ - initial-letter-wrap
+ - isolation
+ - justify-content
+ - justify-items
+ - justify-self
+ - left
+ - letter-spacing
+ - lighting-color
+ - linear-gradient
+ - line-grid
+ - line-height
+ - line-snap
+ - list-style
+ - list-style-image
+ - list-style-keyword
+ - list-style-position
+ - list-style-type
+ - margin
+ - margin-bottom
+ - margin-left
+ - margin-right
+ - margin-top
+ - marker-offset
+ - marker-side
+ - marquee-direction
+ - marquee-loop
+ - marquee-speed
+ - marquee-style
+ - mask
+ - mask-border
+ - mask-border-mode
+ - mask-border-outset
+ - mask-border-repeat
+ - mask-border-slice
+ - mask-border-source
+ - mask-border-width
+ - mask-clip
+ - mask-composite
+ - mask-image
+ - mask-mode
+ - mask-origin
+ - mask-position
+ - mask-repeat
+ - mask-size
+ - mask-type
+ - max-height
+ - max-lines
+ - max-width
+ - min-height
+ - min-width
+ - mix-blend-mode
+ - nav-down
+ - nav-left
+ - nav-right
+ - nav-up
+ - object-fit
+ - object-position
+ - offset-after
+ - offset-before
+ - offset-end
+ - offset-start
+ - opacity
+ - order
+ - orphans
+ - outline
+ - outline-color
+ - outline-offset
+ - outline-style
+ - outline-width
+ - overflow
+ - overflow-style
+ - overflow-wrap
+ - overflow-x
+ - overflow-y
+ - padding
+ - padding-bottom
+ - padding-left
+ - padding-right
+ - padding-top
+ - page
+ - page-break-after
+ - page-break-before
+ - page-break-inside
+ - pause
+ - pause-after
+ - pause-before
+ - perspective
+ - perspective-origin
+ - pitch
+ - pitch-range
+ - play-during
+ - pointer-events
+ - polar-anchor
+ - polar-angle
+ - polar-distance
+ - polar-origin
+ - position
+ - presentation-level
+ - quotes
+ - resize
+ - rest
+ - rest-after
+ - rest-before
+ - richness
+ - right
+ - rotation
+ - rotation-point
+ - ruby-align
+ - ruby-merge
+ - ruby-position
+ - running
+ - scroll-behavior
+ - scroll-snap-align
+ - scroll-snap-margin
+ - scroll-snap-margin-block
+ - scroll-snap-margin-block-end
+ - scroll-snap-margin-block-start
+ - scroll-snap-margin-bottom
+ - scroll-snap-margin-inline
+ - scroll-snap-margin-inline-end
+ - scroll-snap-margin-inline-start
+ - scroll-snap-margin-left
+ - scroll-snap-margin-right
+ - scroll-snap-margin-top
+ - scroll-snap-padding
+ - scroll-snap-padding-block
+ - scroll-snap-padding-block-end
+ - scroll-snap-padding-block-start
+ - scroll-snap-padding-bottom
+ - scroll-snap-padding-inline
+ - scroll-snap-padding-inline-end
+ - scroll-snap-padding-inline-start
+ - scroll-snap-padding-left
+ - scroll-snap-padding-right
+ - scroll-snap-padding-top
+ - scroll-snap-stop
+ - scroll-snap-type
+ - shape-image-threshold
+ - shape-inside
+ - shape-margin
+ - shape-outside
+ - size
+ - speak
+ - speak-as
+ - speak-header
+ - speak-numeral
+ - speak-punctuation
+ - speech-rate
+ - stress
+ - string-set
+ - tab-size
+ - table-layout
+ - text-align
+ - text-align-last
+ - text-combine-upright
+ - text-decoration
+ - text-decoration-color
+ - text-decoration-line
+ - text-decoration-skip
+ - text-decoration-style
+ - text-emphasis
+ - text-emphasis-color
+ - text-emphasis-position
+ - text-emphasis-style
+ - text-indent
+ - text-justify
+ - text-orientation
+ - text-overflow
+ - text-shadow
+ - text-transform
+ - text-underline-position
+ - text-wrap
+ - top
+ - transform
+ - transform-origin
+ - transform-style
+ - transition
+ - transition-delay
+ - transition-property
+ - transition-duration
+ - transition-timing-function
+ - unicode-bidi
+ - vertical-align
+ - visibility
+ - voice-balance
+ - voice-duration
+ - voice-family
+ - voice-pitch
+ - voice-range
+ - voice-rate
+ - voice-stress
+ - voice-volume
+ - volume
+ - white-space
+ - widows
+ - width
+ - will-change
+ - word-break
+ - word-spacing
+ - word-wrap
+ - wrap-flow
+ - wrap-through
+ - writing-mode
+ - z-index
+
+
+ - -moz-animation-name
+ - -moz-animation-duration
+ - -moz-animation-iteration
+ - -moz-animation-direction
+ - -moz-animation-delay
+ - -moz-animation-play-state
+ - -moz-animation-fill-mode
+ - -moz-background-size
+ - -moz-border-image
+ - -moz-border-bottom-colors
+ - -moz-border-left-colors
+ - -moz-border-radius
+ - -moz-border-radius-topleft
+ - -moz-border-radius-topright
+ - -moz-border-radius-bottomleft
+ - -moz-border-radius-bottomright
+ - -moz-border-right-colors
+ - -moz-border-top-colors
+ - -moz-box
+ - -moz-box-flex
+ - -moz-box-shadow
+ - -moz-box-sizing
+ - -moz-column-count
+ - -moz-column-gap
+ - -moz-hyphens
+ - -moz-linear-gradient
+ - -moz-opacity
+ - -moz-outline-style
+ - -moz-perspective
+ - -moz-radial-gradient
+ - -moz-resize
+ - -moz-transform
+ - -moz-transform-origin
+ - -moz-transform-style
+ - -moz-transition
+ - -moz-transition-property
+ - -moz-transition-duration
+
+
+ - -o-background-size
+ - -o-linear-gradient
+ - -o-text-overflow
+ - -o-transition
+ - -o-transform-origin
+
+
+ - konq_bgpos_x
+ - konq_bgpos_y
+ - -khtml-background-size
+ - -khtml-border-top-left-radius
+ - -khtml-border-top-right-radius
+ - -khtml-border-bottom-left-radius
+ - -khtml-border-bottom-right-radius
+ - -khtml-border-radius
+ - -khtml-box-shadow
+ - -khtml-opacity
+
+
+ - -webkit-appearance
+ - -webkit-animation-name
+ - -webkit-animation-duration
+ - -webkit-animation-iteration
+ - -webkit-animation-direction
+ - -webkit-animation-delay
+ - -webkit-animation-play-state
+ - -webkit-animation-fill-mode
+ - -webkit-background-size
+ - -webkit-border-image
+ - -webkit-border-bottom-colors
+ - -webkit-border-left-colors
+ - -webkit-border-radius
+ - -webkit-border-right-colors
+ - -webkit-border-top-colors
+ - -webkit-border-top-left-radius
+ - -webkit-border-top-right-radius
+ - -webkit-border-bottom-left-radius
+ - -webkit-border-bottom-right-radius
+ - -webkit-border-radius-bottomleft
+ - -webkit-border-radius-bottomright
+ - -webkit-box-flex
+ - -webkit-box-reflect
+ - -webkit-box-shadow
+ - -webkit-box-sizing
+ - -webkit-column-count
+ - -webkit-column-gap
+ - -webkit-hyphens
+ - -webkit-linear-gradient
+ - -webkit-gradient
+ - -webkit-perspective
+ - -webkit-text-fill-color
+ - -webkit-text-stroke-color
+ - -webkit-text-stroke-width
+ - -webkit-text-size-adjust
+ - -webkit-transform
+ - -webkit-transform-origin
+ - -webkit-transform-style
+ - -webkit-transition
+ - -webkit-transition-property
+ - -webkit-transition-duration
+
+
+ - zoom
+ - -ms-animation-name
+ - -ms-animation-duration
+ - -ms-animation-iteration
+ - -ms-animation-direction
+ - -ms-animation-delay
+ - -ms-animation-play-state
+ - -ms-animation-fill-mode
+ - -ms-box-sizing
+ - -ms-filter
+ - -ms-interpolation-mode
+ - -ms-linear-gradient
+ - -ms-text-size-adjust
+ - -ms-transform
+ - -ms-transition
+
+
+ - font-family
+ - font-size
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - unicode-range
+ - units-per-em
+ - src
+ - panose-1
+ - stemv
+ - stemh
+ - slope
+ - cap-height
+ - x-height
+ - ascent
+ - descent
+ - widths
+ - bbox
+ - definition-src
+ - baseline
+ - centerline
+ - mathline
+ - topline
+
+
+
+ - inherit
+ - none
+ - hidden
+ - dotted
+ - dashed
+ - solid
+ - double
+ - groove
+ - ridge
+ - inset
+ - outset
+ - xx-small
+ - x-small
+ - small
+ - medium
+ - large
+ - x-large
+ - xx-large
+ - smaller
+ - larger
+ - italic
+ - oblique
+ - small-caps
+ - normal
+ - bold
+ - bolder
+ - lighter
+ - light
+ - 100
+ - 200
+ - 300
+ - 400
+ - 500
+ - 600
+ - 700
+ - 800
+ - 900
+ - transparent
+ - repeat
+ - repeat-x
+ - repeat-y
+ - no-repeat
+ - baseline
+ - sub
+ - super
+ - top
+ - text-top
+ - middle
+ - bottom
+ - text-bottom
+ - left
+ - right
+ - center
+ - justify
+ - konq-center
+ - disc
+ - circle
+ - square
+ - box
+ - decimal
+ - decimal-leading-zero
+ - lower-roman
+ - upper-roman
+ - lower-greek
+ - lower-alpha
+ - lower-latin
+ - upper-alpha
+ - upper-latin
+ - hebrew
+ - armenian
+ - georgian
+ - cjk-ideographic
+ - hiragana
+ - katakana
+ - hiragana-iroha
+ - katakana-iroha
+ - inline
+ - inline-block
+ - block
+ - list-item
+ - run-in
+ - compact
+ - marker
+ - table
+ - inline-table
+ - table-row-group
+ - table-header-group
+ - table-footer-group
+ - table-row
+ - table-column-group
+ - table-column
+ - table-cell
+ - table-caption
+ - auto
+ - crosshair
+ - default
+ - pointer
+ - move
+ - e-resize
+ - ne-resize
+ - nw-resize
+ - n-resize
+ - se-resize
+ - sw-resize
+ - s-resize
+ - w-resize
+ - text
+ - wait
+ - help
+ - above
+ - absolute
+ - always
+ - avoid
+ - below
+ - bidi-override
+ - blink
+ - both
+ - capitalize
+ - caption
+ - clip
+ - close-quote
+ - collapse
+ - condensed
+ - crop
+ - cross
+ - ellipsis
+ - ellipsis-word
+ - embed
+ - expanded
+ - extra-condensed
+ - extra-expanded
+ - fixed
+ - hand
+ - hide
+ - higher
+ - icon
+ - inside
+ - invert
+ - landscape
+ - level
+ - line-through
+ - loud
+ - lower
+ - lowercase
+ - ltr
+ - menu
+ - message-box
+ - mix
+ - narrower
+ - no-close-quote
+ - no-open-quote
+ - nowrap
+ - open-quote
+ - outside
+ - overline
+ - portrait
+ - pre
+ - pre-line
+ - pre-wrap
+ - relative
+ - rtl
+ - scroll
+ - semi-condensed
+ - semi-expanded
+ - separate
+ - show
+ - small-caption
+ - static
+ - static-position
+ - status-bar
+ - thick
+ - thin
+ - ultra-condensed
+ - ultra-expanded
+ - underline
+ - uppercase
+ - visible
+ - wider
+ - break
+ - serif
+ - sans-serif
+ - cursive
+ - fantasy
+ - monospace
+ - border-box
+ - content-box
+ - -epub-hyphens
+
+
+
+ - aqua
+ - black
+ - blue
+ - cyan
+ - fuchsia
+ - gray
+ - green
+ - lime
+ - maroon
+ - navy
+ - olive
+ - purple
+ - red
+ - silver
+ - teal
+ - white
+ - yellow
+ - ActiveBorder
+ - ActiveCaption
+ - AppWorkspace
+ - Background
+ - ButtonFace
+ - ButtonHighlight
+ - ButtonShadow
+ - ButtonText
+ - CaptionText
+ - GrayText
+ - Highlight
+ - HighlightText
+ - InactiveBorder
+ - InactiveCaption
+ - InactiveCaptionText
+ - InfoBackground
+ - InfoText
+ - Menu
+ - MenuText
+ - Scrollbar
+ - ThreeDDarkShadow
+ - ThreeDFace
+ - ThreeDHighlight
+ - ThreeDLightShadow
+ - ThreeDShadow
+ - Window
+ - WindowFrame
+ - WindowText
+
+
+
+ - url
+ - attr
+ - rect
+ - rgb
+ - rgba
+ - hsl
+ - hsla
+ - counter
+ - counters
+
+
+ - local
+ - format
+
+
+ - expression
+
+
+
+
+ - all
+ - aural
+ - braille
+ - embossed
+ - handheld
+ - print
+ - projection
+ - screen
+ - speech
+ - tty
+ - tv
+
+
+
+ - not
+ - only
+
+
+
+ - width
+ - min-width
+ - max-width
+ - height
+ - min-height
+ - max-height
+ - device-width
+ - min-device-width
+ - max-device-width
+ - device-height
+ - min-device-height
+ - max-device-height
+ - orientation
+ - aspect-ratio
+ - min-aspect-ratio
+ - max-aspect-ratio
+ - device-aspect-ratio
+ - min-device-aspect-ratio
+ - max-device-aspect-ratio
+ - color
+ - min-color
+ - max-color
+ - color-index
+ - min-color-index
+ - max-color-index
+ - monochrome
+ - min-monochrome
+ - max-monochrome
+ - resolution
+ - min-resolution
+ - max-resolution
+ - scan
+ - grid
+
+
+
+ - hover
+ - link
+ - visited
+ - active
+ - focus
+ - first-child
+ - last-child
+ - only-child
+ - first-of-type
+ - last-of-type
+ - only-of-type
+ - first-letter
+ - first-line
+ - before
+ - after
+ - selection
+ - root
+ - empty
+ - target
+ - enabled
+ - disabled
+ - checked
+ - indeterminate
+ - nth-child
+ - nth-last-child
+ - nth-of-type
+ - nth-last-of-type
+ - not
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/lex.xml b/data/syntax/lex.xml
new file mode 100644
index 0000000..7f60575
--- /dev/null
+++ b/data/syntax/lex.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/lilypond.xml b/data/syntax/lilypond.xml
new file mode 100644
index 0000000..1d36627
--- /dev/null
+++ b/data/syntax/lilypond.xml
@@ -0,0 +1,1199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+ - ChoirStaff
+ - ChordNames
+ - CueVoice
+ - Devnull
+ - DrumStaff
+ - DrumVoice
+ - Dynamics
+ - FiguredBass
+ - FretBoards
+ - Global
+ - GrandStaff
+ - GregorianTranscriptionStaff
+ - GregorianTranscriptionVoice
+ - Lyrics
+ - MensuralStaff
+ - MensuralVoice
+ - NoteNames
+ - PianoStaff
+ - RhythmicStaff
+ - Score
+ - Staff
+ - StaffGroup
+ - TabStaff
+ - TabVoice
+ - Timing
+ - VaticanaStaff
+ - VaticanaVoice
+ - Voice
+
+
+ - InnerChoirStaff
+ - InnerStaffGroup
+
+
+ - Accidental
+ - AccidentalCautionary
+ - AccidentalPlacement
+ - AccidentalSuggestion
+ - Ambitus
+ - AmbitusAccidental
+ - AmbitusLine
+ - AmbitusNoteHead
+ - Arpeggio
+ - BalloonTextItem
+ - BarLine
+ - BarNumber
+ - BassFigure
+ - BassFigureAlignment
+ - BassFigureAlignmentPositioning
+ - BassFigureBracket
+ - BassFigureContinuation
+ - BassFigureLine
+ - Beam
+ - BendAfter
+ - BreakAlignGroup
+ - BreakAlignment
+ - BreathingSign
+ - ChordName
+ - Clef
+ - ClusterSpanner
+ - ClusterSpannerBeacon
+ - CombineTextScript
+ - Custos
+ - DotColumn
+ - Dots
+ - DoublePercentRepeat
+ - DoublePercentRepeatCounter
+ - DynamicLineSpanner
+ - DynamicText
+ - DynamicTextSpanner
+ - Episema
+ - Fingering
+ - FretBoard
+ - Glissando
+ - GraceSpacing
+ - GridLine
+ - GridPoint
+ - Hairpin
+ - HarmonicParenthesesItem
+ - HorizontalBracket
+ - InstrumentName
+ - InstrumentSwitch
+ - KeyCancellation
+ - KeySignature
+ - LaissezVibrerTie
+ - LaissezVibrerTieColumn
+ - LedgerLineSpanner
+ - LeftEdge
+ - LigatureBracket
+ - LyricExtender
+ - LyricHyphen
+ - LyricSpace
+ - LyricText
+ - MeasureGrouping
+ - MelodyItem
+ - MensuralLigature
+ - MetronomeMark
+ - MultiMeasureRest
+ - MultiMeasureRestNumber
+ - MultiMeasureRestText
+ - NonMusicalPaperColumn
+ - NoteCollision
+ - NoteColumn
+ - NoteHead
+ - NoteName
+ - NoteSpacing
+ - OctavateEight
+ - OttavaBracket
+ - PaperColumn
+ - ParenthesesItem
+ - PercentRepeat
+ - PercentRepeatCounter
+ - PhrasingSlur
+ - PianoPedalBracket
+ - RehearsalMark
+ - RepeatSlash
+ - RepeatTie
+ - RepeatTieColumn
+ - Rest
+ - RestCollision
+ - Script
+ - ScriptColumn
+ - ScriptRow
+ - SeparationItem
+ - Slur
+ - SostenutoPedal
+ - SostenutoPedalLineSpanner
+ - SpacingSpanner
+ - SpanBar
+ - StaffGrouper
+ - StaffSpacing
+ - StaffSymbol
+ - StanzaNumber
+ - Stem
+ - StemTremolo
+ - StringNumber
+ - StrokeFinger
+ - SustainPedal
+ - SustainPedalLineSpanner
+ - System
+ - SystemStartBar
+ - SystemStartBrace
+ - SystemStartBracket
+ - SystemStartSquare
+ - TabNoteHead
+ - TextScript
+ - TextSpanner
+ - Tie
+ - TieColumn
+ - TimeSignature
+ - TrillPitchAccidental
+ - TrillPitchGroup
+ - TrillPitchHead
+ - TrillSpanner
+ - TupletBracket
+ - TupletNumber
+ - UnaCordaPedal
+ - UnaCordaPedalLineSpanner
+ - VaticanaLigature
+ - VerticalAlignment
+ - VerticalAxisGroup
+ - VoiceFollower
+ - VoltaBracket
+ - VoltaBracketSpanner
+
+
+ - aDueText
+ - alignAboveContext
+ - alignBassFigureAccidentals
+ - alignBelowContext
+ - allowBeamBreak
+ - associatedVoice
+ - autoAccidentals
+ - autoBeamCheck
+ - autoBeamSettings
+ - autoBeaming
+ - autoCautionaries
+ - automaticBars
+ - barAlways
+ - barCheckSynchronize
+ - barNumberVisibility
+ - baseMoment
+ - bassFigureFormatFunction
+ - bassStaffProperties
+ - beamExceptions
+ - beatGrouping
+ - beatLength
+ - beatStructure
+ - chordChanges
+ - chordNameExceptions
+ - chordNameExceptionsFull
+ - chordNameExceptionsPartial
+ - chordNameFunction
+ - chordNameSeparator
+ - chordNoteNamer
+ - chordPrefixSpacer
+ - chordRootNamer
+ - clefGlyph
+ - clefOctavation
+ - clefPosition
+ - connectArpeggios
+ - countPercentRepeats
+ - createKeyOnClefChange
+ - createSpacing
+ - crescendoSpanner
+ - crescendoText
+ - currentBarNumber
+ - decrescendoSpanner
+ - decrescendoText
+ - defaultBarType
+ - doubleSlurs
+ - doubleRepeatType
+ - drumPitchTable
+ - drumStyleTable
+ - dynamicAbsoluteVolumeFunction
+ - explicitClefVisibility
+ - explicitKeySignatureVisibility
+ - extendersOverRests
+ - extraNatural
+ - figuredBassAlterationDirection
+ - figuredBassCenterContinuations
+ - figuredBassFormatter
+ - figuredBassPlusDirection
+ - fingeringOrientations
+ - firstClef
+ - followVoice
+ - fontSize
+ - forbidBreak
+ - forceClef
+ - gridInterval
+ - hairpinToBarline
+ - harmonicAccidentals
+ - highStringOne
+ - ignoreBarChecks
+ - ignoreFiguredBassRest
+ - ignoreMelismata
+ - implicitBassFigures
+ - implicitTimeSignatureVisibility
+ - instrumentCueName
+ - instrumentEqualizer
+ - instrumentName
+ - instrumentTransposition
+ - internalBarNumber
+ - keepAliveInterfaces
+ - keyAlterationOrder
+ - keySignature
+ - lyricMelismaAlignment
+ - majorSevenSymbol
+ - markFormatter
+ - maximumFretStretch
+ - measureLength
+ - measurePosition
+ - melismaBusyProperties
+ - metronomeMarkFormatter
+ - middleCClefPosition
+ - middleCOffset
+ - middleCPosition
+ - midiInstrument
+ - midiMaximumVolume
+ - midiMinimumVolume
+ - minimumFret
+ - minimumPageTurnLength
+ - minimumRepeatLengthForPageTurn
+ - noteToFretFunction
+ - ottavation
+ - output
+ - pedalSostenutoStrings
+ - pedalSostenutoStyle
+ - pedalSustainStrings
+ - pedalSustainStyle
+ - pedalUnaCordaStrings
+ - pedalUnaCordaStyle
+ - printKeyCancellation
+ - printOctaveNames
+ - printPartCombineTexts
+ - proportionalNotationDuration
+ - recordEventSequence
+ - rehearsalMark
+ - repeatCommands
+ - restNumberThreshold
+ - scriptDefinitions
+ - shapeNoteStyles
+ - shortInstrumentName
+ - shortVocalName
+ - skipBars
+ - skipTypesetting
+ - soloIIText
+ - soloText
+ - squashedPosition
+ - staffLineLayoutFunction
+ - stanza
+ - stemLeftBeamCount
+ - stemRightBeamCount
+ - stringNumberOrientations
+ - stringOneTopmost
+ - stringTunings
+ - strokeFingerOrientations
+ - subdivideBeams
+ - suggestAccidentals
+ - systemStartDelimiter
+ - systemStartDelimiterHierarchy
+ - tablatureFormat
+ - tempoUnitCount
+ - tempoUnitDuration
+ - tempoWholesPerMinute
+ - tieWaitForNote
+ - timeSignatureFraction
+ - timing
+ - tonic
+ - topLevelAlignment
+ - trebleStaffProperties
+ - tremoloFlags
+ - tupletFullLength
+ - tupletFullLengthNote
+ - tupletSpannerDuration
+ - useBassFigureExtenders
+ - verticallySpacedContexts
+ - vocalName
+ - voltaOnThisStaff
+ - voltaSpannerDuration
+ - whichBar
+
+
+ - barNumberAlignSymbol
+ - centralCPosition
+ - extraVerticalExtent
+ - fingerHorizontalDirection
+ - instr
+ - instrument
+ - keyAccidentalOrder
+ - minimumVerticalExtent
+ - rehearsalMarkAlignSymbol
+ - soloADue
+ - tupletNumberFormatFunction
+ - vocNam
+
+
+ - AbsoluteDynamicEvent
+ - AnnotateOutputEvent
+ - ApplyContext
+ - ApplyOutputEvent
+ - ArpeggioEvent
+ - ArticulationEvent
+ - AutoChangeMusic
+ - BarCheck
+ - BassFigureEvent
+ - BeamEvent
+ - BeamForbidEvent
+ - BendAfterEvent
+ - BreathingEvent
+ - ClusterNoteEvent
+ - ContextChange
+ - ContextSpeccedMusic
+ - CrescendoEvent
+ - DecrescendoEvent
+ - Event
+ - EventChord
+ - ExtenderEvent
+ - FingeringEvent
+ - GlissandoEvent
+ - GraceMusic
+ - HarmonicEvent
+ - HyphenEvent
+ - KeyChangeEvent
+ - LabelEvent
+ - LaissezVibrerEvent
+ - LigatureEvent
+ - LineBreakEvent
+ - LyricCombineMusic
+ - LyricEvent
+ - MarkEvent
+ - MultiMeasureRestEvent
+ - MultiMeasureRestMusic
+ - MultiMeasureTextEvent
+ - Music
+ - NoteEvent
+ - NoteGroupingEvent
+ - OverrideProperty
+ - PageBreakEvent
+ - PageTurnEvent
+ - PartCombineMusic
+ - PercentEvent
+ - PercentRepeatedMusic
+ - PesOrFlexaEvent
+ - PhrasingSlurEvent
+ - PropertySet
+ - PropertyUnset
+ - QuoteMusic
+ - RelativeOctaveCheck
+ - RelativeOctaveMusic
+ - RepeatTieEvent
+ - RepeatedMusic
+ - RestEvent
+ - RevertProperty
+ - ScriptEvent
+ - SequentialMusic
+ - SimultaneousMusic
+ - SkipEvent
+ - SkipMusic
+ - SlurEvent
+ - SoloOneEvent
+ - SoloTwoEvent
+ - SostenutoEvent
+ - SpacingSectionEvent
+ - SpanEvent
+ - StaffSpanEvent
+ - StringNumberEvent
+ - StrokeFingerEvent
+ - SustainEvent
+ - TextScriptEvent
+ - TextSpanEvent
+ - TieEvent
+ - TimeScaledMusic
+ - TransposedMusic
+ - TremoloEvent
+ - TremoloRepeatedMusic
+ - TremoloSpanEvent
+ - TrillSpanEvent
+ - TupletSpanEvent
+ - UnaCordaEvent
+ - UnfoldedRepeatedMusic
+ - UnisonoEvent
+ - UnrelativableMusic
+ - VoiceSeparator
+ - VoltaRepeatedMusic
+
+
+ - acousticbassdrum
+ - acousticsnare
+ - agh
+ - agl
+ - bassdrum
+ - bd
+ - bda
+ - boh
+ - bohm
+ - boho
+ - bol
+ - bolm
+ - bolo
+ - cab
+ - cabasa
+ - cb
+ - cgh
+ - cghm
+ - cgho
+ - cgl
+ - cglm
+ - cglo
+ - chinesecymbal
+ - cl
+ - claves
+ - closedhihat
+ - cowbell
+ - crashcymbal
+ - crashcymbala
+ - crashcymbalb
+ - cuim
+ - cuio
+ - cymc
+ - cymca
+ - cymcb
+ - cymch
+ - cymr
+ - cymra
+ - cymrb
+ - cyms
+ - da
+ - db
+ - dc
+ - dd
+ - de
+ - electricsnare
+ - fivedown
+ - fiveup
+ - fourdown
+ - fourup
+ - gui
+ - guil
+ - guiro
+ - guis
+ - halfopenhihat
+ - handclap
+ - hc
+ - hh
+ - hhc
+ - hhho
+ - hho
+ - hhp
+ - hiagogo
+ - hibongo
+ - hiconga
+ - highfloortom
+ - hightom
+ - hihat
+ - himidtom
+ - hisidestick
+ - hitimbale
+ - hiwoodblock
+ - loagogo
+ - lobongo
+ - loconga
+ - longguiro
+ - longwhistle
+ - losidestick
+ - lotimbale
+ - lowfloortom
+ - lowmidtom
+ - lowoodblock
+ - lowtom
+ - mar
+ - maracas
+ - mutecuica
+ - mutehibongo
+ - mutehiconga
+ - mutelobongo
+ - muteloconga
+ - mutetriangle
+ - onedown
+ - oneup
+ - opencuica
+ - openhibongo
+ - openhiconga
+ - openhihat
+ - openlobongo
+ - openloconga
+ - opentriangle
+ - pedalhihat
+ - rb
+ - ridebell
+ - ridecymbal
+ - ridecymbala
+ - ridecymbalb
+ - shortguiro
+ - shortwhistle
+ - sidestick
+ - sn
+ - sna
+ - snare
+ - sne
+ - splashcymbal
+ - ss
+ - ssh
+ - ssl
+ - tamb
+ - tambourine
+ - tamtam
+ - threedown
+ - threeup
+ - timh
+ - timl
+ - tomfh
+ - tomfl
+ - tomh
+ - toml
+ - tommh
+ - tomml
+ - tri
+ - triangle
+ - trim
+ - trio
+ - tt
+ - twodown
+ - twoup
+ - ua
+ - ub
+ - uc
+ - ud
+ - ue
+ - vibraslap
+ - vibs
+ - wbh
+ - wbl
+ - whl
+ - whs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/literate-curry.xml b/data/syntax/literate-curry.xml
new file mode 100644
index 0000000..f2e1a90
--- /dev/null
+++ b/data/syntax/literate-curry.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/literate-haskell.xml b/data/syntax/literate-haskell.xml
new file mode 100644
index 0000000..d5634ef
--- /dev/null
+++ b/data/syntax/literate-haskell.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/logtalk.xml b/data/syntax/logtalk.xml
new file mode 100644
index 0000000..d2de708
--- /dev/null
+++ b/data/syntax/logtalk.xml
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/lpc.xml b/data/syntax/lpc.xml
new file mode 100644
index 0000000..a30d220
--- /dev/null
+++ b/data/syntax/lpc.xml
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ - private
+ - protected
+ - static
+ - public
+ - nomask
+ - varargs
+ - nosave
+ - virtual
+
+
+ - void
+ - int
+ - status
+ - string
+ - object
+ - array
+ - mapping
+ - closure
+ - symbol
+ - float
+ - mixed
+
+
+ - break
+ - continue
+ - return
+ - if
+ - else
+ - for
+ - foreach
+ - do
+ - while
+ - switch
+ - case
+ - inherit
+ - default
+ - variables
+ - functions
+ - publish
+ - nolog
+
+
+ - FIXME
+ - HACK
+ - NOTE
+ - NOTICE
+ - TODO
+ - WARNING
+ - ###
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/lsl.xml b/data/syntax/lsl.xml
new file mode 100644
index 0000000..cee70ea
--- /dev/null
+++ b/data/syntax/lsl.xml
@@ -0,0 +1,1050 @@
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+ - integer
+ - float
+ - string
+ - key
+ - vector
+ - quaternion
+ - rotation
+ - list
+
+
+ - default
+ - state
+ - event
+ - jump
+ - return
+ - if
+ - else
+ - for
+ - do
+ - while
+
+
+ - state_entry
+ - state_exit
+ - touch_start
+ - touch
+ - touch_end
+ - collision_start
+ - collision
+ - collision_end
+ - land_collision_start
+ - land_collision
+ - land_collision_end
+ - timer
+ - listen
+ - sensor
+ - no_sensor
+ - control
+ - print
+ - at_target
+ - not_at_target
+ - at_rot_target
+ - not_at_rot_target
+ - money
+ - email
+ - run_time_permissions
+ - changed
+ - attach
+ - dataserver
+ - moving_start
+ - moving_end
+ - link_message
+ - on_rez
+ - object_rez
+ - remote_data
+ - http_response
+
+
+ - TRUE
+ - FALSE
+ - STATUS_PHYSICS
+ - STATUS_ROTATE_X
+ - STATUS_ROTATE_Y
+ - STATUS_ROTATE_Z
+ - STATUS_PHANTOM
+ - STATUS_SANDBOX
+ - STATUS_BLOCK_GRAB
+ - STATUS_DIE_AT_EDGE
+ - STATUS_RETURN_AT_EDGE
+ - STATUS_CAST_SHADOWS
+
+ - AGENT_FLYING
+ - AGENT_ATTACHMENTS
+ - AGENT_SCRIPTED
+ - AGENT_MOUSELOOK
+ - AGENT_SITTING
+ - AGENT_ON_OBJECT
+ - AGENT_AWAY
+ - AGENT_WALKING
+ - AGENT_IN_AIR
+ - AGENT_TYPING
+ - AGENT_CROUCHING
+ - AGENT_BUSY
+ - AGENT_ALWAYS_RUN
+
+ - CAMERA_PITCH
+ - CAMERA_FOCUS_OFFSET
+ - CAMERA_POSITION_LAG
+ - CAMERA_FOCUS_LAG
+ - CAMERA_DISTANCE
+ - CAMERA_BEHINDNESS_ANGLE
+ - CAMERA_BEHINDNESS_LAG
+ - CAMERA_POSITION_THRESHOLD
+ - CAMERA_FOCUS_THRESHOLD
+ - CAMERA_ACTIVE
+ - CAMERA_POSITION
+ - CAMERA_FOCUS
+ - CAMERA_POSITION_LOCKED
+ - CAMERA_FOCUS_LOCKED
+
+ - ANIM_ON
+ - LOOP
+ - REVERSE
+ - PING_PONG
+ - SMOOTH
+ - ROTATE
+ - SCALE
+
+ - ALL_SIDES
+ - LINK_ROOT
+ - LINK_SET
+ - LINK_ALL_OTHERS
+ - LINK_ALL_CHILDREN
+ - LINK_THIS
+
+ - AGENT
+ - ACTIVE
+ - PASSIVE
+ - SCRIPTED
+
+ - CONTROL_FWD
+ - CONTROL_BACK
+ - CONTROL_LEFT
+ - CONTROL_RIGHT
+ - CONTROL_ROT_LEFT
+ - CONTROL_ROT_RIGHT
+ - CONTROL_UP
+ - CONTROL_DOWN
+ - CONTROL_LBUTTON
+ - CONTROL_ML_LBUTTON
+
+ - PERMISSION_DEBIT
+ - PERMISSION_TAKE_CONTROLS
+ - PERMISSION_REMAP_CONTROLS
+ - PERMISSION_TRIGGER_ANIMATION
+ - PERMISSION_ATTACH
+ - PERMISSION_RELEASE_OWNERSHIP
+ - PERMISSION_CHANGE_LINKS
+ - PERMISSION_CHANGE_JOINTS
+ - PERMISSION_CHANGE_PERMISSIONS
+ - PERMISSION_TRACK_CAMERA
+ - PERMISSION_CONTROL_CAMERA
+
+ - INVENTORY_TEXTURE
+ - INVENTORY_SOUND
+ - INVENTORY_OBJECT
+ - INVENTORY_SCRIPT
+ - INVENTORY_LANDMARK
+ - INVENTORY_CLOTHING
+ - INVENTORY_NOTECARD
+ - INVENTORY_BODYPART
+ - INVENTORY_ANIMATION
+ - INVENTORY_GESTURE
+ - INVENTORY_ALL
+ - INVENTORY_NONE
+
+ - CHANGED_INVENTORY
+ - CHANGED_COLOR
+ - CHANGED_SHAPE
+ - CHANGED_SCALE
+ - CHANGED_TEXTURE
+ - CHANGED_LINK
+ - CHANGED_ALLOWED_DROP
+ - CHANGED_OWNER
+ - CHANGED_REGION
+ - CHANGED_TELEPORT
+
+ - OBJECT_UNKNOWN_DETAIL
+ - OBJECT_NAME
+ - OBJECT_DESC
+ - OBJECT_POS
+ - OBJECT_ROT
+ - OBJECT_VELOCITY
+ - OBJECT_OWNER
+ - OBJECT_GROUP
+ - OBJECT_CREATOR
+
+ - TYPE_INTEGER
+ - TYPE_FLOAT
+ - TYPE_STRING
+ - TYPE_KEY
+ - TYPE_VECTOR
+ - TYPE_ROTATION
+ - TYPE_INVALID
+
+ - NULL_KEY
+ - EOF
+
+ - PI
+ - TWO_PI
+ - PI_BY_TWO
+ - DEG_TO_RAD
+ - RAD_TO_DEG
+ - SQRT2
+
+ - DEBUG_CHANNEL
+ - PUBLIC_CHANNEL
+
+ - ZERO_VECTOR
+ - ZERO_ROTATION
+
+ - ATTACH_CHEST
+ - ATTACH_HEAD
+ - ATTACH_LSHOULDER
+ - ATTACH_RSHOULDER
+ - ATTACH_LHAND
+ - ATTACH_RHAND
+ - ATTACH_LFOOT
+ - ATTACH_RFOOT
+ - ATTACH_BACK
+ - ATTACH_PELVIS
+ - ATTACH_MOUTH
+ - ATTACH_CHIN
+ - ATTACH_LEAR
+ - ATTACH_REAR
+ - ATTACH_LEYE
+ - ATTACH_REYE
+ - ATTACH_NOSE
+ - ATTACH_RUARM
+ - ATTACH_RLARM
+ - ATTACH_LUARM
+ - ATTACH_LLARM
+ - ATTACH_RHIP
+ - ATTACH_RULEG
+ - ATTACH_RLLEG
+ - ATTACH_LHIP
+ - ATTACH_LULEG
+ - ATTACH_LLLEG
+ - ATTACH_BELLY
+ - ATTACH_LPEC
+ - ATTACH_RPEC
+ - ATTACH_HUD_CENTER_2
+ - ATTACH_HUD_TOP_RIGHT
+ - ATTACH_HUD_TOP_CENTER
+ - ATTACH_HUD_TOP_LEFT
+ - ATTACH_HUD_CENTER_1
+ - ATTACH_HUD_BOTTOM_LEFT
+ - ATTACH_HUD_BOTTOM
+ - ATTACH_HUD_BOTTOM_RIGHT
+
+ - LAND_LEVEL
+ - LAND_RAISE
+ - LAND_LOWER
+ - LAND_SMOOTH
+ - LAND_NOISE
+ - LAND_REVERT
+
+ - LAND_SMALL_BRUSH
+ - LAND_MEDIUM_BRUSH
+ - LAND_LARGE_BRUSH
+
+ - DATA_ONLINE
+ - DATA_NAME
+ - DATA_BORN
+ - DATA_RATING
+ - DATA_SIM_POS
+ - DATA_SIM_STATUS
+ - DATA_SIM_RATING
+ - DATA_PAYINFO
+
+ - PAYMENT_INFO_ON_FILE
+ - PAYMENT_INFO_USED
+
+ - REMOTE_DATA_CHANNEL
+ - REMOTE_DATA_REQUEST
+ - REMOTE_DATA_REPLY
+
+
+ - PSYS_PART_FLAGS
+ - PSYS_PART_START_COLOR
+ - PSYS_PART_START_ALPHA
+ - PSYS_PART_START_SCALE
+ - PSYS_PART_END_COLOR
+ - PSYS_PART_END_ALPHA
+ - PSYS_PART_END_SCALE
+ - PSYS_PART_MAX_AGE
+
+
+ - PSYS_PART_WIND_MASK
+ - PSYS_PART_INTERP_COLOR_MASK
+ - PSYS_PART_INTERP_SCALE_MASK
+ - PSYS_PART_BOUNCE_MASK
+ - PSYS_PART_FOLLOW_SRC_MASK
+ - PSYS_PART_FOLLOW_VELOCITY_MASK
+ - PSYS_PART_TARGET_POS_MASK
+ - PSYS_PART_EMISSIVE_MASK
+ - PSYS_PART_TARGET_LINEAR_MASK
+
+
+ - PSYS_SRC_MAX_AGE
+ - PSYS_SRC_PATTERN
+ - PSYS_SRC_INNERANGLE
+ - PSYS_SRC_OUTERANGLE
+ - PSYS_SRC_ANGLE_BEGIN
+ - PSYS_SRC_ANGLE_END
+ - PSYS_SRC_BURST_RATE
+ - PSYS_SRC_BURST_PART_COUNT
+ - PSYS_SRC_BURST_RADIUS
+ - PSYS_SRC_BURST_SPEED_MIN
+ - PSYS_SRC_BURST_SPEED_MAX
+ - PSYS_SRC_ACCEL
+ - PSYS_SRC_TEXTURE
+ - PSYS_SRC_TARGET_KEY
+ - PSYS_SRC_OMEGA
+
+ - PSYS_SRC_OBJ_REL_MASK
+
+ - PSYS_SRC_PATTERN_DROP
+ - PSYS_SRC_PATTERN_EXPLODE
+ - PSYS_SRC_PATTERN_ANGLE
+ - PSYS_SRC_PATTERN_ANGLE_CONE
+ - PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
+
+
+ - VEHICLE_TYPE_NONE
+ - VEHICLE_TYPE_SLED
+ - VEHICLE_TYPE_CAR
+ - VEHICLE_TYPE_BOAT
+ - VEHICLE_TYPE_AIRPLANE
+ - VEHICLE_TYPE_BALLOON
+
+ - VEHICLE_REFERENCE_FRAME
+ - VEHICLE_LINEAR_FRICTION_TIMESCALE
+ - VEHICLE_ANGULAR_FRICTION_TIMESCALE
+ - VEHICLE_LINEAR_MOTOR_DIRECTION
+ - VEHICLE_ANGULAR_MOTOR_DIRECTION
+ - VEHICLE_LINEAR_MOTOR_OFFSET
+
+
+
+ - VEHICLE_HOVER_HEIGHT
+ - VEHICLE_HOVER_EFFICIENCY
+ - VEHICLE_HOVER_TIMESCALE
+ - VEHICLE_BUOYANCY
+
+ - VEHICLE_LINEAR_DEFLECTION_EFFICIENCY
+ - VEHICLE_LINEAR_DEFLECTION_TIMESCALE
+ - VEHICLE_LINEAR_MOTOR_TIMESCALE
+ - VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE
+
+ - VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY
+ - VEHICLE_ANGULAR_DEFLECTION_TIMESCALE
+ - VEHICLE_ANGULAR_MOTOR_TIMESCALE
+ - VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE
+
+ - VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY
+ - VEHICLE_VERTICAL_ATTRACTION_TIMESCALE
+
+ - VEHICLE_BANKING_EFFICIENCY
+ - VEHICLE_BANKING_MIX
+ - VEHICLE_BANKING_TIMESCALE
+
+ - VEHICLE_FLAG_NO_FLY_UP
+ - VEHICLE_FLAG_NO_DEFLECTION_UP
+ - VEHICLE_FLAG_LIMIT_ROLL_ONLY
+ - VEHICLE_FLAG_HOVER_WATER_ONLY
+ - VEHICLE_FLAG_HOVER_TERRAIN_ONLY
+ - VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT
+ - VEHICLE_FLAG_HOVER_UP_ONLY
+ - VEHICLE_FLAG_LIMIT_MOTOR_UP
+ - VEHICLE_FLAG_MOUSELOOK_STEER
+ - VEHICLE_FLAG_MOUSELOOK_BANK
+ - VEHICLE_FLAG_CAMERA_DECOUPLED
+
+
+
+ - PRIM_TYPE
+ - PRIM_MATERIAL
+ - PRIM_PHYSICS
+ - PRIM_FLEXIBLE
+ - PRIM_POINT_LIGHT
+ - PRIM_TEMP_ON_REZ
+ - PRIM_PHANTOM
+ - PRIM_CAST_SHADOWS
+ - PRIM_POSITION
+ - PRIM_SIZE
+ - PRIM_ROTATION
+ - PRIM_TEXTURE
+ - PRIM_COLOR
+ - PRIM_BUMP_SHINY
+ - PRIM_FULLBRIGHT
+ - PRIM_TEXGEN
+ - PRIM_GLOW
+
+ - PRIM_TYPE_BOX
+ - PRIM_TYPE_CYLINDER
+ - PRIM_TYPE_PRISM
+ - PRIM_TYPE_SPHERE
+ - PRIM_TYPE_TORUS
+ - PRIM_TYPE_TUBE
+ - PRIM_TYPE_RING
+ - PRIM_TYPE_SCULPT
+
+ - PRIM_HOLE_DEFAULT
+ - PRIM_HOLE_CIRCLE
+ - PRIM_HOLE_SQUARE
+ - PRIM_HOLE_TRIANGLE
+
+ - PRIM_MATERIAL_STONE
+ - PRIM_MATERIAL_METAL
+ - PRIM_MATERIAL_GLASS
+ - PRIM_MATERIAL_WOOD
+ - PRIM_MATERIAL_FLESH
+ - PRIM_MATERIAL_PLASTIC
+ - PRIM_MATERIAL_RUBBER
+ - PRIM_MATERIAL_LIGHT
+
+ - PRIM_SHINY_NONE
+ - PRIM_SHINY_LOW
+ - PRIM_SHINY_MEDIUM
+ - PRIM_SHINY_HIGH
+
+ - PRIM_BUMP_NONE
+ - PRIM_BUMP_BRIGHT
+ - PRIM_BUMP_DARK
+ - PRIM_BUMP_WOOD
+ - PRIM_BUMP_BARK
+ - PRIM_BUMP_BRICKS
+ - PRIM_BUMP_CHECKER
+ - PRIM_BUMP_CONCRETE
+ - PRIM_BUMP_TILE
+ - PRIM_BUMP_STONE
+ - PRIM_BUMP_DISKS
+ - PRIM_BUMP_GRAVEL
+ - PRIM_BUMP_BLOBS
+ - PRIM_BUMP_SIDING
+ - PRIM_BUMP_LARGETILE
+ - PRIM_BUMP_STUCCO
+ - PRIM_BUMP_SUCTION
+ - PRIM_BUMP_WEAVE
+
+ - PRIM_TEXGEN_DEFAULT
+ - PRIM_TEXGEN_PLANAR
+
+ - PRIM_SCULPT_TYPE_SPHERE
+ - PRIM_SCULPT_TYPE_TORUS
+ - PRIM_SCULPT_TYPE_PLANE
+ - PRIM_SCULPT_TYPE_CYLINDER
+ - PRIM_SCULPT_TYPE_MASK
+ - PRIM_SCULPT_FLAG_MIRROR
+ - PRIM_SCULPT_FLAG_INVERT
+
+ - MASK_BASE
+ - MASK_OWNER
+ - MASK_GROUP
+ - MASK_EVERYONE
+ - MASK_NEXT
+
+ - PERM_TRANSFER
+ - PERM_MODIFY
+ - PERM_COPY
+ - PERM_MOVE
+ - PERM_ALL
+
+ - PARCEL_MEDIA_COMMAND_STOP
+ - PARCEL_MEDIA_COMMAND_PAUSE
+ - PARCEL_MEDIA_COMMAND_PLAY
+ - PARCEL_MEDIA_COMMAND_LOOP
+ - PARCEL_MEDIA_COMMAND_TEXTURE
+ - PARCEL_MEDIA_COMMAND_URL
+ - PARCEL_MEDIA_COMMAND_TIME
+ - PARCEL_MEDIA_COMMAND_AGENT
+ - PARCEL_MEDIA_COMMAND_UNLOAD
+ - PARCEL_MEDIA_COMMAND_AUTO_ALIGN
+ - PARCEL_MEDIA_COMMAND_TYPE
+ - PARCEL_MEDIA_COMMAND_SIZE
+ - PARCEL_MEDIA_COMMAND_DESC
+ - PARCEL_MEDIA_COMMAND_LOOP_SET
+
+ - LIST_STAT_MAX
+ - LIST_STAT_MIN
+ - LIST_STAT_MEAN
+ - LIST_STAT_MEDIAN
+ - LIST_STAT_STD_DEV
+ - LIST_STAT_SUM
+ - LIST_STAT_SUM_SQUARES
+ - LIST_STAT_NUM_COUNT
+ - LIST_STAT_GEOMETRIC_MEAN
+ - LIST_STAT_RANGE
+
+ - PAY_HIDE
+ - PAY_DEFAULT
+
+ - PARCEL_FLAG_ALLOW_FLY
+ - PARCEL_FLAG_ALLOW_GROUP_SCRIPTS
+ - PARCEL_FLAG_ALLOW_SCRIPTS
+ - PARCEL_FLAG_ALLOW_LANDMARK
+ - PARCEL_FLAG_ALLOW_TERRAFORM
+ - PARCEL_FLAG_ALLOW_DAMAGE
+ - PARCEL_FLAG_ALLOW_CREATE_OBJECTS
+ - PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS
+ - PARCEL_FLAG_USE_ACCESS_GROUP
+ - PARCEL_FLAG_USE_ACCESS_LIST
+ - PARCEL_FLAG_USE_BAN_LIST
+ - PARCEL_FLAG_USE_LAND_PASS_LIST
+ - PARCEL_FLAG_LOCAL_SOUND_ONLY
+ - PARCEL_FLAG_RESTRICT_PUSHOBJECT
+ - PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY
+ - PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY
+
+ - REGION_FLAG_ALLOW_DAMAGE
+ - REGION_FLAG_FIXED_SUN
+ - REGION_FLAG_BLOCK_TERRAFORM
+ - REGION_FLAG_SANDBOX
+ - REGION_FLAG_DISABLE_COLLISIONS
+ - REGION_FLAG_DISABLE_PHYSICS
+ - REGION_FLAG_BLOCK_FLY
+ - REGION_FLAG_ALLOW_DIRECT_TELEPORT
+ - REGION_FLAG_RESTRICT_PUSHOBJECT
+
+ - HTTP_METHOD
+ - HTTP_MIMETYPE
+ - HTTP_BODY_MAXLENGTH
+ - HTTP_BODY_TRUNCATED
+ - HTTP_VERIFY_CERT
+
+ - PARCEL_COUNT_TOTAL
+ - PARCEL_COUNT_OWNER
+ - PARCEL_COUNT_GROUP
+ - PARCEL_COUNT_OTHER
+ - PARCEL_COUNT_SELECTED
+ - PARCEL_COUNT_TEMP
+
+ - PARCEL_DETAILS_NAME
+ - PARCEL_DETAILS_DESC
+ - PARCEL_DETAILS_OWNER
+ - PARCEL_DETAILS_GROUP
+ - PARCEL_DETAILS_AREA
+
+ - STRING_TRIM_HEAD
+ - STRING_TRIM_TAIL
+ - STRING_TRIM
+
+ - CLICK_ACTION_NONE
+ - CLICK_ACTION_TOUCH
+ - CLICK_ACTION_SIT
+ - CLICK_ACTION_BUY
+ - CLICK_ACTION_PAY
+ - CLICK_ACTION_OPEN
+ - CLICK_ACTION_PLAY
+ - CLICK_ACTION_OPEN_MEDIA
+
+ - TEXTURE_BLANK
+ - TEXTURE_DEFAULT
+ - TEXTURE_MEDIA
+ - TEXTURE_PLYWOOD
+ - TEXTURE_TRANSPARENT
+
+ - TOUCH_INVALID_FACE
+ - TOUCH_INVALID_VECTOR
+ - TOUCH_INVALID_TEXCOORD
+
+
+ - ++
+ - --
+ - +=
+ - -=
+ - *=
+ - /=
+ - %=
+ - ;
+ - ,
+ - =
+ - (
+ - )
+ - -
+ - +
+ - *
+ - /
+ - %
+ - @
+ - :
+ - >
+ - <
+ - ==
+ - !=
+ - >=
+ - <=
+ - &
+ - |
+ - ^
+ - ~
+ - !
+ - &&
+ - ||
+ - <<
+ - >>
+
+
+
+
+ - llSin
+ - llCos
+ - llTan
+ - llAtan2
+ - llSqrt
+ - llPow
+ - llAbs
+ - llFabs
+ - llFrand
+ - llFloor
+ - llCeil
+ - llRound
+ - llVecMag
+ - llVecNorm
+ - llVecDist
+ - llRot2Euler
+ - llEuler2Rot
+ - llAxes2Rot
+ - llRot2Fwd
+ - llRot2Left
+ - llRot2Up
+ - llRotBetween
+ - llWhisper
+ - llSay
+ - llShout
+ - llListen
+ - llListenControl
+ - llListenRemove
+ - llSensor
+ - llSensorRepeat
+ - llSensorRemove
+ - llDetectedName
+ - llDetectedKey
+ - llDetectedOwner
+ - llDetectedType
+ - llDetectedPos
+ - llDetectedVel
+ - llDetectedGrab
+ - llDetectedRot
+ - llDetectedGroup
+ - llDetectedLinkNumber
+ - llDie
+ - llGround
+ - llCloud
+ - llWind
+ - llSetStatus
+ - llGetStatus
+ - llSetScale
+ - llGetScale
+ - llSetColor
+ - llGetAlpha
+ - llSetAlpha
+ - llGetColor
+ - llSetTexture
+ - llScaleTexture
+ - llOffsetTexture
+ - llRotateTexture
+ - llGetTexture
+ - llSetPos
+ - llGetPos
+ - llGetLocalPos
+ - llSetRot
+ - llGetRot
+ - llGetLocalRot
+ - llSetForce
+ - llGetForce
+ - llTarget
+ - llTargetRemove
+ - llRotTarget
+ - llRotTargetRemove
+ - llMoveToTarget
+ - llStopMoveToTarget
+ - llApplyImpulse
+ - llApplyRotationalImpulse
+ - llSetTorque
+ - llGetTorque
+ - llSetForceAndTorque
+ - llGetVel
+ - llGetAccel
+ - llGetOmega
+ - llGetTimeOfDay
+ - llGetWallclock
+ - llGetTime
+ - llResetTime
+ - llGetAndResetTime
+ - llSound
+ - llPlaySound
+ - llLoopSound
+ - llLoopSoundMaster
+ - llLoopSoundSlave
+ - llPlaySoundSlave
+ - llTriggerSound
+ - llStopSound
+ - llPreloadSound
+ - llGetSubString
+ - llDeleteSubString
+ - llInsertString
+ - llToUpper
+ - llToLower
+ - llGiveMoney
+ - llMakeExplosion
+ - llMakeFountain
+ - llMakeSmoke
+ - llMakeFire
+ - llRezObject
+ - llLookAt
+ - llStopLookAt
+ - llSetTimerEvent
+ - llSleep
+ - llGetMass
+ - llCollisionFilter
+ - llTakeControls
+ - llReleaseControls
+ - llAttachToAvatar
+ - llDetachFromAvatar
+ - llTakeCamera
+ - llReleaseCamera
+ - llGetOwner
+ - llInstantMessage
+ - llEmail
+ - llGetNextEmail
+ - llGetKey
+ - llSetBuoyancy
+ - llSetHoverHeight
+ - llStopHover
+ - llMinEventDelay
+ - llSoundPreload
+ - llRotLookAt
+ - llStringLength
+ - llStartAnimation
+ - llStopAnimation
+ - llPointAt
+ - llStopPointAt
+ - llTargetOmega
+ - llGetStartParameter
+ - llGodLikeRezObject
+ - llRequestPermissions
+ - llGetPermissionsKey
+ - llGetPermissions
+ - llGetLinkNumber
+ - llSetLinkColor
+ - llCreateLink
+ - llBreakLink
+ - llBreakAllLinks
+ - llGetLinkKey
+ - llGetLinkName
+ - llGetInventoryNumber
+ - llGetInventoryName
+ - llSetScriptState
+ - llGetEnergy
+ - llGiveInventory
+ - llRemoveInventory
+ - llSetText
+ - llWater
+ - llPassTouches
+ - llRequestAgentData
+ - llRequestInventoryData
+ - llSetDamage
+ - llTeleportAgentHome
+ - llModifyLand
+ - llCollisionSound
+ - llCollisionSprite
+ - llGetAnimation
+ - llResetScript
+ - llMessageLinked
+ - llPushObject
+ - llPassCollisions
+ - llGetScriptName
+ - llGetNumberOfSides
+ - llAxisAngle2Rot
+ - llRot2Axis
+ - llRot2Angle
+ - llAcos
+ - llAsin
+ - llAngleBetween
+ - llGetInventoryKey
+ - llAllowInventoryDrop
+ - llGetSunDirection
+ - llGetTextureOffset
+ - llGetTextureScale
+ - llGetTextureRot
+ - llSubStringIndex
+ - llGetOwnerKey
+ - llGetCenterOfMass
+ - llListSort
+ - llGetListLength
+ - llList2Integer
+ - llList2Float
+ - llList2String
+ - llList2Key
+ - llList2Vector
+ - llList2Rot
+ - llList2List
+ - llDeleteSubList
+ - llGetListEntryType
+ - llList2CSV
+ - llCSV2List
+ - llListRandomize
+ - llList2ListStrided
+ - llGetRegionCorner
+ - llListInsertList
+ - llListFindList
+ - llGetObjectName
+ - llSetObjectName
+ - llGetDate
+ - llEdgeOfWorld
+ - llGetAgentInfo
+ - llAdjustSoundVolume
+ - llSetSoundQueueing
+ - llSetSoundRadius
+ - llKey2Name
+ - llSetTextureAnim
+ - llTriggerSoundLimited
+ - llEjectFromLand
+ - llParseString2List
+ - llOverMyLand
+ - llGetLandOwnerAt
+ - llGetNotecardLine
+ - llGetAgentSize
+ - llSameGroup
+ - llUnSit
+ - llGroundSlope
+ - llGroundNormal
+ - llGroundContour
+ - llGetAttached
+ - llGetFreeMemory
+ - llGetRegionName
+ - llGetRegionTimeDilation
+ - llGetRegionFPS
+
+ - llParticleSystem
+ - llGroundRepel
+ - llGiveInventoryList
+
+ - llSetVehicleType
+ - llSetVehicleFloatParam
+ - llSetVehicleVectorParam
+ - llSetVehicleRotationParam
+ - llSetVehicleFlags
+ - llRemoveVehicleFlags
+ - llSitTarget
+ - llAvatarOnSitTarget
+ - llAddToLandPassList
+ - llSetTouchText
+ - llSetSitText
+ - llSetCameraEyeOffset
+ - llSetCameraAtOffset
+
+ - llDumpList2String
+ - llScriptDanger
+ - llDialog
+ - llVolumeDetect
+ - llResetOtherScript
+ - llGetScriptState
+ - llRemoteLoadScript
+
+ - llSetRemoteScriptAccessPin
+ - llRemoteLoadScriptPin
+
+ - llOpenRemoteDataChannel
+ - llSendRemoteData
+ - llRemoteDataReply
+ - llCloseRemoteDataChannel
+
+ - llMD5String
+ - llSetPrimitiveParams
+ - llStringToBase64
+ - llBase64ToString
+ - llXorBase64Strings
+ - llRemoteDataSetRegion
+ - llLog10
+ - llLog
+ - llGetAnimationList
+ - llSetParcelMusicURL
+
+ - llGetRootPosition
+ - llGetRootRotation
+
+ - llGetObjectDesc
+ - llSetObjectDesc
+ - llGetCreator
+ - llGetTimestamp
+ - llSetLinkAlpha
+ - llGetNumberOfPrims
+ - llGetNumberOfNotecardLines
+
+ - llGetBoundingBox
+ - llGetGeometricCenter
+ - llGetPrimitiveParams
+ - llIntegerToBase64
+ - llBase64ToInteger
+ - llGetGMTclock
+ - llGetSimulatorHostname
+
+ - llSetLocalRot
+
+ - llParseStringKeepNulls
+ - llRezAtRoot
+
+ - llGetObjectPermMask
+ - llSetObjectPermMask
+
+ - llGetInventoryPermMask
+ - llSetInventoryPermMask
+ - llGetInventoryCreator
+ - llOwnerSay
+ - llRequestSimulatorData
+ - llForceMouselook
+ - llGetObjectMass
+ - llListReplaceList
+ - llLoadURL
+
+ - llParcelMediaCommandList
+ - llParcelMediaQuery
+
+ - llModPow
+
+ - llGetInventoryType
+ - llSetPayPrice
+ - llGetCameraPos
+ - llGetCameraRot
+
+ - llSetPrimURL
+ - llRefreshPrimURL
+ - llEscapeURL
+ - llUnescapeURL
+
+ - llMapDestination
+ - llAddToLandBanList
+ - llRemoveFromLandPassList
+ - llRemoveFromLandBanList
+
+ - llSetCameraParams
+ - llClearCameraParams
+
+ - llListStatistics
+ - llGetUnixTime
+ - llGetParcelFlags
+ - llGetRegionFlags
+ - llXorBase64StringsCorrect
+
+ - llHTTPRequest
+
+ - llResetLandBanList
+ - llResetLandPassList
+
+ - llGetObjectPrimCount
+ - llGetParcelPrimOwners
+ - llGetParcelPrimCount
+ - llGetParcelMaxPrims
+ - llGetParcelDetails
+
+ - llSetLinkPrimitiveParams
+ - llSetLinkTexture
+
+
+ - llStringTrim
+ - llRegionSay
+ - llGetObjectDetails
+ - llSetClickAction
+
+ - llGetRegionAgentCount
+ - llTextBox
+ - llGetAgentLanguage
+ - llDetectedTouchUV
+ - llDetectedTouchFace
+ - llDetectedTouchPos
+ - llDetectedTouchNormal
+ - llDetectedTouchBinormal
+ - llDetectedTouchST
+
+ - llSHA1String
+
+
+
+
+ - FIXME
+ - TODO
+ - BUG
+ - HACK
+ - XXX
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/lua.xml b/data/syntax/lua.xml
new file mode 100644
index 0000000..07b9daa
--- /dev/null
+++ b/data/syntax/lua.xml
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+ - and
+ - function
+ - in
+ - local
+ - not
+ - or
+
+
+ - break
+ - do
+ - else
+ - elseif
+ - end
+ - for
+ - if
+ - repeat
+ - return
+ - then
+ - until
+ - while
+
+
+ - nil
+ - false
+ - true
+
+
+ - string.byte
- string.char
+ - string.find
- string.len
+ - string.lower
- string.rep
+ - string.sub
- string.upper
+ - string.format
- string.gfind
+ - string.gsub
- table.concat
+ - table.getn
- table.sort
+ - table.insert
- table.remove
+ - table.setn
- math.abs
+ - math.sin
- math.cos
+ - math.tan
- math.asin
+ - math.acos
- math.atan
+ - math.atan2
- math.ceil
+ - math.floor
- math.mod
+ - math.frexp
- math.ldexp
+ - math.squrt
- math.min
+ - math.max
- math.log
+ - math.log10
- math.exp
+ - math.deg
- math.rad
+ - math.random
- math.randomseed
+ - io.close
- io.flush
+ - io.input
- io.lines
+ - io.open
- io.output
+ - io.read
- io.stderr
+ - io.stdin
- io.stdout
+ - io.tmpfile
- io.write
+ - os.clock
- os.date
+ - os.difftime
- os.execute
+ - os.exit
- os.getenv
+ - os.remove
- os.rename
+ - os.setlocale
- os.time
+ - os.tmpname
- debug.getinfo
+ - debug.getlocal
- debug.setlocal
+ - debug.sethook
- debug.gethook
+ - assert
- collectgarbage
+ - dofile
- error
+ - next
- print
+ - rawget
- rawset
+ - tonumber
- tostring
+ - type
- _ALERT
+ - _ERRORMESSAGE
- call
+ - getmetatable
- gcinfo
+ - ipairs
- loadfile
+ - loadstring
- pairs
+ - pcall
- require
+ - LUA_PATH
- setmetatable
+ - _LOADED
- _VERSION
+ - gettagmethod
- globals
+ - newtag
- setglobal
+ - settag
- settagmethod
+ - setlinehook
- getglobals
+ - copytagmethods
- dostring
+ - getglobal
- tag
+ - setglobals
- unpack
+ - exit
- readfrom
+ - writeto
- appendto
+ - read
- write
+ - getinfo
- getlocal
+ - setlocal
- setcallhook
+ - tinsert
- tremove
+ - flush
- seek
+ - setlocale
- execute
+ - remove
- rename
+ - tmpname
- getenv
+ - getn
- sort
+ - table.foreach
- table.foreachi
+ - foreach
- foreachi
+ - abs
- sin
+ - cos
- tan
+ - asin
- acos
+ - atan
- atan2
+ - ceil
- floor
+ - mod
- frexp
+ - ldexp
- squrt
+ - min
- max
+ - log
- log10
+ - exp
- deg
+ - rad
- random
+ - randomseed
- strlen
+ - strsub
- strlower
+ - strupper
- strchar
+ - strrep
- ascii
+ - strbyte
- format
+ - strfind
- gsub
+ - openfile
- closefile
+ - date
- clock
+
+
+ - cgilua
- cgilua.lp.translate
+ - cgilua.contentheader
- cgilua.script_file
+ - cgilua.header
- cgilua.script_path
+ - cgilua.htmlheader
- cgilua.script_pdir
+ - cgilua.redirect
- cgilua.script_vdir
+ - cgilua.mkabsoluteurl
- cgilua.script_vpath
+ - cgilua.mkurlpath
- cgilua.servervariable
+ - cgilua.put
- cgilua.urlpath
+ - cgilua.handlelp
- cgilua.errorlog
+ - cgilua.lp.compile
- cgilua.seterrorhandler
+ - cgilua.lp.include
- cgilua.seterroroutput
+ - cgilua.lp.setcompatmode
- cgilua.addclosefunction
+ - cgilua.lp.setoutfunc
- cgilua.addopenfunction
+ - cgilua.addscripthandler
- cgilua.addscripthandler
+ - cgilua.buildprocesshandler
- cgilua.setmaxfilesize
+ - cgilua.setmaxinput
- cgilua.urlcode.encodetable
+ - cgilua.urlcode.escape
- cgilua.urlcode.parsequery
+ - cgilua.urlcode.unescape
- cgilua.urlcode.insertfield
+ - cgilua.setoutfunc
- cgilua.addopenfunction
+ - cgilua.doif
- cgilua.doscript
+ - cgilua.pack
- cgilua.splitpath
+ - cgilua.cookies.get
- cgilua.cookies.set
+ - cgilua.cookies.sethtml
- cgilua.cookies.delete
+ - cgilua.serialize
- cgilua.session.close
+ - cgilua.session.data
- cgilua.session.load
+ - cgilua.session.new
- cgilua.session.open
+ - cgilua.session.save
- cgilua.session.setsessiondir
+ - cgilua.session.delete
- cgilua.session
+ - cgilua.cookies
+
+ - numrows
- connect
+ - close
- fetch
+ - getcolnames
- getcoltypes
+ - commit
- rollback
+ - setautocommit
+
+ - lfs
- lfs.attributes
+ - lfs.chdir
- lfs.currentdir
+ - lfs.dir
- lfs.lock
+ - lfs.mkdir
- lfs.rmdir
+ - lfs.touch
- lfs.unlock
+
+ - zip
- zip.open
+ - zip.openfile
- files
+ - seek
- close
+ - lines
+
+
+
+
+ - TODO
+ - FIXME
+ - NOTE
+
+
+ - table.foreach
- table.foreachi
+ - foreach
- foreachi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/m3u.xml b/data/syntax/m3u.xml
new file mode 100644
index 0000000..99171b0
--- /dev/null
+++ b/data/syntax/m3u.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/m4.xml b/data/syntax/m4.xml
new file mode 100644
index 0000000..0d942e7
--- /dev/null
+++ b/data/syntax/m4.xml
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+ - __gnu__
+ - __os2__
+ - os2
+ - __unix__
+ - unix
+ - __windows__
+ - windows
+
+
+ - m4___gnu__
+ - m4___os2__
+ - m4_os2
+ - m4___unix__
+ - m4_unix
+ - m4___windows__
+ - m4_windows
+
+
+ - __file__
+ - __line__
+ - __program__
+ - builtin
+ - changecom
+ - changequote
+ - changeword
+ - debugfile
+ - debugmode
+ - decr
+ - define
+ - defn
+ - divert
+ - divnum
+ - dnl
+ - dumpdef
+ - errprint
+ - esyscmd
+ - eval
+ - format
+ - ifdef
+ - ifelse
+ - include
+ - incr
+ - index
+ - indir
+ - len
+ - m4exit
+ - m4wrap
+ - maketemp
+ - mkstemp
+ - patsubst
+ - popdef
+ - pushdef
+ - regexp
+ - shift
+ - sinclude
+ - substr
+ - syscmd
+ - sysval
+ - traceon
+ - traceoff
+ - translit
+ - undefine
+ - undivert
+
+
+ - m4___file__
+ - m4___line__
+ - m4___program__
+ - m4_builtin
+ - m4_changecom
+ - m4_changequote
+ - m4_changeword
+ - m4_debugfile
+ - m4_debugmode
+ - m4_decr
+ - m4_define
+ - m4_defn
+ - m4_divert
+ - m4_divnum
+ - m4_dnl
+ - m4_dumpdef
+ - m4_errprint
+ - m4_esyscmd
+ - m4_eval
+ - m4_format
+ - m4_ifdef
+ - m4_ifelse
+ - m4_include
+ - m4_incr
+ - m4_index
+ - m4_indir
+ - m4_len
+ - m4_m4exit
+ - m4_m4wrap
+ - m4_maketemp
+ - m4_mkstemp
+ - m4_patsubst
+ - m4_popdef
+ - m4_pushdef
+ - m4_regexp
+ - m4_shift
+ - m4_sinclude
+ - m4_substr
+ - m4_syscmd
+ - m4_sysval
+ - m4_traceon
+ - m4_traceoff
+ - m4_translit
+ - m4_undefine
+ - m4_undivert
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mab.xml b/data/syntax/mab.xml
new file mode 100644
index 0000000..387432d
--- /dev/null
+++ b/data/syntax/mab.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/magma.xml b/data/syntax/magma.xml
new file mode 100644
index 0000000..80a7521
--- /dev/null
+++ b/data/syntax/magma.xml
@@ -0,0 +1,154 @@
+
+
+
+
+
+ - and
+ - assert
+ - assigned
+ - attributes
+ - break
+ - by
+ - case
+ - cat
+ - cmpeq
+ - cmpne
+ - continue
+ - declare
+ - delete
+ - diff
+ - div
+ - do
+ - else
+ - elif
+ - end
+ - eq
+ - error
+ - exists
+ - false
+ - for
+ - forall
+ - forward
+ - freeze
+ - function
+ - ge
+ - gt
+ - if
+ - import
+ - in
+ - intrinsic
+ - join
+ - le
+ - lt
+ - max
+ - meet
+ - min
+ - mod
+ - ne
+ - not
+ - or
+ - procedure
+ - quit
+ - repeat
+ - require
+ - requirege
+ - requirerange
+ - return
+ - sdiff
+ - select
+ - then
+ - time
+ - to
+ - true
+ - until
+ - verbose
+ - vprint
+ - vtime
+ - when
+ - while
+ - xor
+
+
+ - Booleans
+ - EllipticCurve
+ - ExtensionField
+ - FiniteField
+ - GF
+ - HyperellipticCurve
+ - Integers
+ - Jacobian
+ - PolynomialRing
+ - Rationals
+ - RealField
+
+
+ - AddAttribute
+ - AssignNames
+ - Attach
+ - AttachSpec
+ - CoveringStructure
+ - Cputime
+ - Detach
+ - DetachSpec
+ - ElementType
+ - ExistsCoveringStructure
+ - ExtendedType
+ - GetAttributes
+ - GetSeed
+ - ISA
+ - IsCoercible
+ - IsIntrinsic
+ - ListAttributes
+ - MakeType
+ - Random
+ - Realtime
+ - SetSeed
+ - Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/makefile.xml b/data/syntax/makefile.xml
new file mode 100644
index 0000000..9baeb50
--- /dev/null
+++ b/data/syntax/makefile.xml
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+
+
+
+
+
+ - include
+ - define
+ - else
+ - endef
+ - endif
+ - ifdef
+ - ifeq
+ - ifndef
+ - ifneq
+ - override
+
+
+ - call
+ - subst
+ - patsubst
+ - strip
+ - findstring
+ - filter
+ - filter-out
+ - sort
+ - word
+ - wordlist
+ - words
+ - firstword
+ - lastword
+ - dir
+ - notdir
+ - suffix
+ - basename
+ - addsuffix
+ - addprefix
+ - join
+ - wildcard
+ - realpath
+ - abspath
+ - if
+ - or
+ - and
+ - foreach
+ - value
+ - eval
+ - origin
+ - flavor
+ - shell
+ - error
+ - warning
+ - info
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mako.xml b/data/syntax/mako.xml
new file mode 100644
index 0000000..63cacb6
--- /dev/null
+++ b/data/syntax/mako.xml
@@ -0,0 +1,255 @@
+
+
+
+]>
+
+
+
+
+ - endfor
+ - endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mandoc.xml b/data/syntax/mandoc.xml
new file mode 100644
index 0000000..4fd8b2a
--- /dev/null
+++ b/data/syntax/mandoc.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+ - SH
+ - SS
+ - TH
+
+
+
+ - HP
+ - IP
+ - LP
+ - P
+ - PD
+ - PP
+ - RE
+ - RS
+ - TP
+
+
+
+ - B
+ - BI
+ - BR
+ - I
+ - IB
+ - IR
+ - RB
+ - RI
+ - SM
+ - SB
+
+
+
+ - DT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/markdown.xml b/data/syntax/markdown.xml
new file mode 100644
index 0000000..7fe2043
--- /dev/null
+++ b/data/syntax/markdown.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mason.xml b/data/syntax/mason.xml
new file mode 100644
index 0000000..394dde7
--- /dev/null
+++ b/data/syntax/mason.xml
@@ -0,0 +1,236 @@
+
+
+
+
+
+ - sub
+ - bless
+ - caller
+ - cmp
+ - print
+ - echo
+ - die
+ - import
+ - lt
+ - le
+ - local
+ - defined
+ - last
+ - !
+ - ||
+ - eq
+ - ne
+ - use
+ - elsif
+ - my
+ - foreach
+ - wantarray
+ - push
+ - pop
+ - dbmclose
+ - dbmopen
+ - dump
+ - each
+ - ge
+ - gt
+ - split
+ - open
+ - close
+ - eval
+ - chomp
+ - chop
+ - unless
+ - undef
+ - next
+ - unlink
+ - new
+ - and
+ - not
+ - no
+ - ref
+ - redo
+ - require
+ - tied
+ - tie
+ - untie
+ - or
+ - xor
+ - continue
+ - do
+ - else
+ - for
+ - goto
+ - if
+ - return
+ - switch
+ - while
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mathematica.xml b/data/syntax/mathematica.xml
new file mode 100644
index 0000000..3deb3de
--- /dev/null
+++ b/data/syntax/mathematica.xml
@@ -0,0 +1,3229 @@
+
+
+
+
+
+ - A
+ - AbelianGroup
+ - All
+ - ArcSinh
+ - Abort
+ - AllowGroupClose
+ - ArcTan
+ - AbortKernels
+ - AllowReverseGroupClose
+ - ArcTanh
+ - AbortProtect
+ - AlphaChannel
+ - Arg
+ - Abs
+ - AlternatingGroup
+ - ArgMax
+ - AbsoluteCurrentValue
+ - AlternativeHypothesis
+ - ArgMin
+ - AbsoluteDashing
+ - Alternatives
+ - ArithmeticGeometricMean
+ - AbsoluteFileName
+ - AnchoredSearch
+ - Array
+ - AbsoluteOptions
+ - And
+ - ArrayComponents
+ - AbsolutePointSize
+ - AndersonDarlingTest
+ - ArrayDepth
+ - AbsoluteThickness
+ - AngerJ
+ - ArrayFlatten
+ - AbsoluteTime
+ - AngleBracket
+ - ArrayPad
+ - AbsoluteTiming
+ - Animate
+ - ArrayPlot
+ - AccountingForm
+ - AnimationDirection
+ - ArrayQ
+ - Accumulate
+ - AnimationDisplayTime
+ - ArrayRules
+ - Accuracy
+ - AnimationRate
+ - Arrow
+ - AccuracyGoal
+ - AnimationRepetitions
+ - Arrowheads
+ - ActionMenu
+ - AnimationRunning
+ - AspectRatio
+ - ActiveStyle
+ - Animator
+ - Assert
+ - AcyclicGraphQ
+ - Annotation
+ - Assuming
+ - AddTo
+ - Annuity
+ - Assumptions
+ - AdjacencyGraph
+ - AnnuityDue
+ - AstronomicalData
+ - AdjacencyMatrix
+ - Antialiasing
+ - Asynchronous
+ - AdjustmentBox
+ - Apart
+ - AtomQ
+ - AffineTransform
+ - ApartSquareFree
+ - Attributes
+ - AiryAi
+ - Appearance
+ - AugmentedSymmetricPolynomial
+ - AiryAiPrime
+ - AppearanceElements
+ - AutoAction
+ - AiryAiZero
+ - AppellF1
+ - AutoIndent
+ - AiryBi
+ - Append
+ - AutoItalicWords
+ - AiryBiPrime
+ - AppendTo
+ - Automatic
+ - AiryBiZero
+ - Apply
+ - AutoMultiplicationSymbol
+ - AlgebraicIntegerQ
+ - ArcCos
+ - AutorunSequencing
+ - AlgebraicNumber
+ - ArcCosh
+ - AutoScroll
+ - AlgebraicNumberDenominator
+ - ArcCot
+ - AutoSpacing
+ - AlgebraicNumberNorm
+ - ArcCoth
+ - Axes
+ - AlgebraicNumberPolynomial
+ - ArcCsc
+ - AxesEdge
+ - AlgebraicNumberTrace
+ - ArcCsch
+ - AxesLabel
+ - Algebraics
+ - ArcSec
+ - AxesOrigin
+ - AlgebraicUnitQ
+ - ArcSech
+ - AxesStyle
+ - Alignment
+ - ArcSin
+ - Axis
+ - AlignmentPoint
+ - ArcSinDistribution
+ - B
+ - BabyMonsterGroupB
+ - BetaRegularized
+ - BooleanGraph
+ - Back
+ - BetweennessCentrality
+ - BooleanMaxterms
+ - Background
+ - BezierCurve
+ - BooleanMinimize
+ - Backslash
+ - BezierFunction
+ - BooleanMinterms
+ - Backward
+ - BilateralFilter
+ - Booleans
+ - Band
+ - Binarize
+ - BooleanTable
+ - BarabasiAlbertGraphDistribution
+ - BinaryFormat
+ - BooleanVariables
+ - BarChart
+ - BinaryImageQ
+ - BorderDimensions
+ - BarChart3D
+ - BinaryRead
+ - BorelTannerDistribution
+ - BarnesG
+ - BinaryReadList
+ - Bottom
+ - BarOrigin
+ - BinaryWrite
+ - BottomHatTransform
+ - BarSpacing
+ - BinCounts
+ - BoundaryStyle
+ - BaseForm
+ - BinLists
+ - BoxData
+ - Baseline
+ - Binomial
+ - Boxed
+ - BaselinePosition
+ - BinomialDistribution
+ - BoxMatrix
+ - BaseStyle
+ - BinormalDistribution
+ - BoxRatios
+ - BatesDistribution
+ - BiorthogonalSplineWavelet
+ - BoxStyle
+ - BattleLemarieWavelet
+ - BipartiteGraphQ
+ - BoxWhiskerChart
+ - Because
+ - BirnbaumSaundersDistribution
+ - BracketingBar
+ - BeckmannDistribution
+ - BitAnd
+ - BrayCurtisDistance
+ - Beep
+ - BitClear
+ - BreadthFirstScan
+ - Begin
+ - BitGet
+ - Break
+ - BeginDialogPacket
+ - BitLength
+ - Brown
+ - BeginPackage
+ - BitNot
+ - BrownForsytheTest
+ - BellB
+ - BitOr
+ - BSplineBasis
+ - BellY
+ - BitSet
+ - BSplineCurve
+ - BenfordDistribution
+ - BitShiftLeft
+ - BSplineFunction
+ - BeniniDistribution
+ - BitShiftRight
+ - BSplineSurface
+ - BenktanderGibratDistribution
+ - BitXor
+ - BubbleChart
+ - BenktanderWeibullDistribution
+ - Black
+ - BubbleChart3D
+ - BernoulliB
+ - Blank
+ - BubbleScale
+ - BernoulliDistribution
+ - BlankNullSequence
+ - BubbleSizes
+ - BernoulliGraphDistribution
+ - BlankSequence
+ - ButterflyGraph
+ - BernsteinBasis
+ - Blend
+ - Button
+ - BesselI
+ - Block
+ - ButtonBar
+ - BesselJ
+ - BlockRandom
+ - ButtonBox
+ - BesselJZero
+ - Blue
+ - ButtonData
+ - BesselK
+ - Blur
+ - ButtonFrame
+ - BesselY
+ - BodePlot
+ - ButtonFunction
+ - BesselYZero
+ - Bold
+ - ButtonMinHeight
+ - Beta
+ - Bookmarks
+ - ButtonNotebook
+ - BetaBinomialDistribution
+ - Boole
+ - ButtonSource
+ - BetaDistribution
+ - BooleanConvert
+ - Byte
+ - BetaNegativeBinomialDistribution
+ - BooleanCountingFunction
+ - ByteCount
+ - BetaPrimeDistribution
+ - BooleanFunction
+ - ByteOrdering
+ - C
+ - C
+ - CityData
+ - ContinuousAction
+ - CallPacket
+ - Clear
+ - ContinuousTimeModelQ
+ - CanberraDistance
+ - ClearAll
+ - ContinuousWaveletData
+ - Cancel
+ - ClearAttributes
+ - ContinuousWaveletTransform
+ - CancelButton
+ - ClearSystemCache
+ - ContourDetect
+ - CandlestickChart
+ - ClebschGordan
+ - ContourLabels
+ - Cap
+ - ClickPane
+ - ContourPlot
+ - CapForm
+ - Clip
+ - ContourPlot3D
+ - CapitalDifferentialD
+ - ClippingStyle
+ - Contours
+ - CarmichaelLambda
+ - Clock
+ - ContourShading
+ - Cases
+ - Close
+ - ContourStyle
+ - Cashflow
+ - CloseKernels
+ - ContraharmonicMean
+ - Casoratian
+ - ClosenessCentrality
+ - Control
+ - Catalan
+ - Closing
+ - ControlActive
+ - CatalanNumber
+ - ClusteringComponents
+ - ControllabilityGramian
+ - Catch
+ - CMYKColor
+ - ControllabilityMatrix
+ - CauchyDistribution
+ - Coefficient
+ - ControllableDecomposition
+ - CayleyGraph
+ - CoefficientArrays
+ - ControllableModelQ
+ - CDF
+ - CoefficientList
+ - ControllerInformation
+ - CDFWavelet
+ - CoefficientRules
+ - ControllerLinking
+ - Ceiling
+ - CoifletWavelet
+ - ControllerManipulate
+ - Cell
+ - Collect
+ - ControllerMethod
+ - CellAutoOverwrite
+ - Colon
+ - ControllerPath
+ - CellBaseline
+ - ColorCombine
+ - ControllerState
+ - CellChangeTimes
+ - ColorConvert
+ - ControlPlacement
+ - CellContext
+ - ColorData
+ - ControlsRendering
+ - CellDingbat
+ - ColorDataFunction
+ - ControlType
+ - CellDynamicExpression
+ - ColorFunction
+ - Convergents
+ - CellEditDuplicate
+ - ColorFunctionScaling
+ - ConversionRules
+ - CellEpilog
+ - Colorize
+ - Convolve
+ - CellEvaluationDuplicate
+ - ColorNegate
+ - ConwayGroupCo1
+ - CellEvaluationFunction
+ - ColorQuantize
+ - ConwayGroupCo2
+ - CellEventActions
+ - ColorRules
+ - ConwayGroupCo3
+ - CellFrame
+ - ColorSeparate
+ - CoordinatesToolOptions
+ - CellFrameMargins
+ - ColorSetter
+ - CoprimeQ
+ - CellGroup
+ - ColorSlider
+ - Coproduct
+ - CellGroupData
+ - ColorSpace
+ - CopulaDistribution
+ - CellGrouping
+ - Column
+ - Copyable
+ - CellLabel
+ - ColumnAlignments
+ - CopyDirectory
+ - CellLabelAutoDelete
+ - ColumnLines
+ - CopyFile
+ - CellMargins
+ - ColumnsEqual
+ - CopyToClipboard
+ - CellOpen
+ - ColumnSpacings
+ - CornerFilter
+ - CellPrint
+ - ColumnWidths
+ - CornerNeighbors
+ - CellProlog
+ - Commonest
+ - Correlation
+ - CellTags
+ - CommonestFilter
+ - CorrelationDistance
+ - CellularAutomaton
+ - CompilationOptions
+ - Cos
+ - CensoredDistribution
+ - CompilationTarget
+ - Cosh
+ - Censoring
+ - Compile
+ - CoshIntegral
+ - Center
+ - Compiled
+ - CosineDistance
+ - CenterDot
+ - CompiledFunction
+ - CosIntegral
+ - CentralMoment
+ - Complement
+ - Cot
+ - CentralMomentGeneratingFunction
+ - CompleteGraph
+ - Coth
+ - CForm
+ - CompleteGraphQ
+ - Count
+ - ChampernowneNumber
+ - CompleteKaryTree
+ - CountRoots
+ - ChanVeseBinarize
+ - Complex
+ - CountryData
+ - Character
+ - Complexes
+ - Covariance
+ - CharacterEncoding
+ - ComplexExpand
+ - CovarianceEstimatorFunction
+ - CharacteristicFunction
+ - ComplexInfinity
+ - CramerVonMisesTest
+ - CharacteristicPolynomial
+ - ComplexityFunction
+ - CreateArchive
+ - CharacterRange
+ - ComponentMeasurements
+ - CreateDialog
+ - Characters
+ - ComposeList
+ - CreateDirectory
+ - ChartBaseStyle
+ - ComposeSeries
+ - CreateDocument
+ - ChartElementFunction
+ - Composition
+ - CreateIntermediateDirectories
+ - ChartElements
+ - CompoundExpression
+ - CreatePalette
+ - ChartLabels
+ - Compress
+ - CreateScheduledTask
+ - ChartLayout
+ - Condition
+ - CreateWindow
+ - ChartLegends
+ - ConditionalExpression
+ - CriticalSection
+ - ChartStyle
+ - Conditioned
+ - Cross
+ - ChebyshevT
+ - Cone
+ - CrossingDetect
+ - ChebyshevU
+ - ConfidenceLevel
+ - CrossMatrix
+ - Check
+ - Congruent
+ - Csc
+ - CheckAbort
+ - Conjugate
+ - Csch
+ - Checkbox
+ - ConjugateTranspose
+ - Cubics
+ - CheckboxBar
+ - Conjunction
+ - Cuboid
+ - ChemicalData
+ - ConnectedComponents
+ - Cumulant
+ - ChessboardDistance
+ - ConnectedGraphQ
+ - CumulantGeneratingFunction
+ - ChiDistribution
+ - ConoverTest
+ - Cup
+ - ChineseRemainder
+ - Constant
+ - CupCap
+ - ChiSquareDistribution
+ - ConstantArray
+ - CurrentImage
+ - ChoiceButtons
+ - Constants
+ - CurrentValue
+ - ChoiceDialog
+ - ContentPadding
+ - CurvatureFlowFilter
+ - CholeskyDecomposition
+ - ContentSelectable
+ - CurveClosed
+ - Chop
+ - ContentSize
+ - Cyan
+ - Circle
+ - Context
+ - CycleGraph
+ - CircleDot
+ - Contexts
+ - Cycles
+ - CircleMinus
+ - ContextToFileName
+ - CyclicGroup
+ - CirclePlus
+ - Continue
+ - Cyclotomic
+ - CircleTimes
+ - ContinuedFraction
+ - Cylinder
+ - CirculantGraph
+ - ContinuedFractionK
+ - CylindricalDecomposition
+ - D
+ - D
+ - DepthFirstScan
+ - DiskMatrix
+ - DagumDistribution
+ - Derivative
+ - Dispatch
+ - DamerauLevenshteinDistance
+ - DerivativeFilter
+ - DispersionEstimatorFunction
+ - Darker
+ - DesignMatrix
+ - DisplayAllSteps
+ - Dashed
+ - Det
+ - DisplayEndPacket
+ - Dashing
+ - DGaussianWavelet
+ - DisplayForm
+ - DataDistribution
+ - Diagonal
+ - DisplayFunction
+ - DataRange
+ - DiagonalMatrix
+ - DisplayPacket
+ - DataReversed
+ - Dialog
+ - DistanceFunction
+ - DateDifference
+ - DialogInput
+ - DistanceTransform
+ - DateFunction
+ - DialogNotebook
+ - Distribute
+ - DateList
+ - DialogProlog
+ - Distributed
+ - DateListLogPlot
+ - DialogReturn
+ - DistributedContexts
+ - DateListPlot
+ - DialogSymbols
+ - DistributeDefinitions
+ - DatePattern
+ - Diamond
+ - DistributionChart
+ - DatePlus
+ - DiamondMatrix
+ - DistributionFitTest
+ - DateString
+ - DiceDissimilarity
+ - DistributionParameterAssumptions
+ - DateTicksFormat
+ - DictionaryLookup
+ - DistributionParameterQ
+ - DaubechiesWavelet
+ - DifferenceDelta
+ - Divide
+ - DavisDistribution
+ - DifferenceRoot
+ - DivideBy
+ - DawsonF
+ - DifferenceRootReduce
+ - Dividers
+ - DeBruijnGraph
+ - Differences
+ - Divisible
+ - DeclarePackage
+ - DifferentialD
+ - Divisors
+ - Decompose
+ - DifferentialRoot
+ - DivisorSigma
+ - Decrement
+ - DifferentialRootReduce
+ - DivisorSum
+ - DedekindEta
+ - DigitBlock
+ - DMSList
+ - Default
+ - DigitCharacter
+ - DMSString
+ - DefaultAxesStyle
+ - DigitCount
+ - Do
+ - DefaultBaseStyle
+ - DigitQ
+ - DockedCells
+ - DefaultBoxStyle
+ - DihedralGroup
+ - DocumentNotebook
+ - DefaultButton
+ - Dilation
+ - Dot
+ - DefaultDuplicateCellStyle
+ - Dimensions
+ - DotDashed
+ - DefaultDuration
+ - DiracComb
+ - DotEqual
+ - DefaultElement
+ - DiracDelta
+ - Dotted
+ - DefaultFaceGridsStyle
+ - DirectedEdge
+ - DoubleBracketingBar
+ - DefaultFieldHintStyle
+ - DirectedEdges
+ - DoubleDownArrow
+ - DefaultFrameStyle
+ - DirectedGraph
+ - DoubleLeftArrow
+ - DefaultFrameTicksStyle
+ - DirectedGraphQ
+ - DoubleLeftRightArrow
+ - DefaultGridLinesStyle
+ - DirectedInfinity
+ - DoubleLongLeftArrow
+ - DefaultLabelStyle
+ - Direction
+ - DoubleLongLeftRightArrow
+ - DefaultMenuStyle
+ - Directive
+ - DoubleLongRightArrow
+ - DefaultNewCellStyle
+ - Directory
+ - DoubleRightArrow
+ - DefaultOptions
+ - DirectoryName
+ - DoubleUpArrow
+ - DefaultTicksStyle
+ - DirectoryQ
+ - DoubleUpDownArrow
+ - Defer
+ - DirectoryStack
+ - DoubleVerticalBar
+ - Definition
+ - DirichletCharacter
+ - DownArrow
+ - Degree
+ - DirichletConvolve
+ - DownArrowBar
+ - DegreeCentrality
+ - DirichletDistribution
+ - DownArrowUpArrow
+ - DegreeGraphDistribution
+ - DirichletL
+ - DownLeftRightVector
+ - Deinitialization
+ - DirichletTransform
+ - DownLeftTeeVector
+ - Del
+ - DiscreteConvolve
+ - DownLeftVector
+ - Deletable
+ - DiscreteDelta
+ - DownLeftVectorBar
+ - Delete
+ - DiscreteIndicator
+ - DownRightTeeVector
+ - DeleteBorderComponents
+ - DiscreteLQEstimatorGains
+ - DownRightVector
+ - DeleteCases
+ - DiscreteLQRegulatorGains
+ - DownRightVectorBar
+ - DeleteContents
+ - DiscreteLyapunovSolve
+ - DownTeeArrow
+ - DeleteDirectory
+ - DiscretePlot
+ - DownValues
+ - DeleteDuplicates
+ - DiscretePlot3D
+ - DragAndDrop
+ - DeleteFile
+ - DiscreteRatio
+ - Drop
+ - DeleteSmallComponents
+ - DiscreteRiccatiSolve
+ - DSolve
+ - Delimiter
+ - DiscreteShift
+ - Dt
+ - DelimiterFlashTime
+ - DiscreteTimeModelQ
+ - DualSystemsModel
+ - Denominator
+ - DiscreteUniformDistribution
+ - DumpSave
+ - DensityHistogram
+ - DiscreteWaveletData
+ - Dynamic
+ - DensityPlot
+ - DiscreteWaveletPacketTransform
+ - DynamicEvaluationTimeout
+ - DependentVariables
+ - DiscreteWaveletTransform
+ - DynamicModule
+ - Deploy
+ - Discriminant
+ - DynamicModuleValues
+ - Deployed
+ - Disjunction
+ - DynamicSetting
+ - Depth
+ - Disk
+ - DynamicWrapper
+ - E
+ - E
+ - End
+ - ExactNumberQ
+ - EdgeAdd
+ - EndDialogPacket
+ - ExampleData
+ - EdgeCount
+ - EndOfFile
+ - Except
+ - EdgeCoverQ
+ - EndOfLine
+ - ExcludedForms
+ - EdgeDelete
+ - EndOfString
+ - ExcludePods
+ - EdgeDetect
+ - EndPackage
+ - Exclusions
+ - EdgeForm
+ - EngineeringForm
+ - ExclusionsStyle
+ - EdgeIndex
+ - EnterExpressionPacket
+ - Exists
+ - EdgeLabeling
+ - EnterTextPacket
+ - Exit
+ - EdgeLabels
+ - Entropy
+ - Exp
+ - EdgeList
+ - EntropyFilter
+ - Expand
+ - EdgeQ
+ - Environment
+ - ExpandAll
+ - EdgeRenderingFunction
+ - Epilog
+ - ExpandDenominator
+ - EdgeRules
+ - Equal
+ - ExpandFileName
+ - EdgeShapeFunction
+ - EqualTilde
+ - ExpandNumerator
+ - EdgeStyle
+ - Equilibrium
+ - Expectation
+ - EdgeWeight
+ - Equivalent
+ - ExpGammaDistribution
+ - Editable
+ - Erf
+ - ExpIntegralE
+ - EditDistance
+ - Erfc
+ - ExpIntegralEi
+ - EffectiveInterest
+ - Erfi
+ - Exponent
+ - Eigensystem
+ - ErlangDistribution
+ - ExponentFunction
+ - Eigenvalues
+ - Erosion
+ - ExponentialDistribution
+ - EigenvectorCentrality
+ - ErrorBox
+ - ExponentialFamily
+ - Eigenvectors
+ - EstimatedDistribution
+ - ExponentialGeneratingFunction
+ - Element
+ - EstimatorGains
+ - ExponentialMovingAverage
+ - ElementData
+ - EstimatorRegulator
+ - ExponentialPowerDistribution
+ - Eliminate
+ - EuclideanDistance
+ - ExponentStep
+ - EllipticE
+ - EulerE
+ - Export
+ - EllipticExp
+ - EulerGamma
+ - ExportString
+ - EllipticExpPrime
+ - EulerianGraphQ
+ - Expression
+ - EllipticF
+ - EulerPhi
+ - ExpressionCell
+ - EllipticK
+ - Evaluatable
+ - ExpToTrig
+ - EllipticLog
+ - Evaluate
+ - ExtendedGCD
+ - EllipticNomeQ
+ - EvaluatePacket
+ - Extension
+ - EllipticPi
+ - EvaluationElements
+ - ExtentElementFunction
+ - EllipticTheta
+ - EvaluationMonitor
+ - ExtentMarkers
+ - EllipticThetaPrime
+ - EvaluationNotebook
+ - ExtentSize
+ - EmitSound
+ - EvaluationObject
+ - Extract
+ - EmpiricalDistribution
+ - Evaluator
+ - ExtractArchive
+ - EmptyGraphQ
+ - EvenQ
+ - ExtremeValueDistribution
+ - Enabled
+ - EventHandler
+ - Encode
+ - EventLabels
+ - F
+ - FaceForm
+ - FindFit
+ - FormBox
+ - FaceGrids
+ - FindGeneratingFunction
+ - FortranForm
+ - FaceGridsStyle
+ - FindGeoLocation
+ - Forward
+ - Factor
+ - FindGeometricTransform
+ - ForwardBackward
+ - Factorial
+ - FindGraphIsomorphism
+ - Fourier
+ - Factorial2
+ - FindHamiltonianCycle
+ - FourierCoefficient
+ - FactorialMoment
+ - FindIndependentEdgeSet
+ - FourierCosCoefficient
+ - FactorialMomentGeneratingFunction
+ - FindIndependentVertexSet
+ - FourierCosSeries
+ - FactorialPower
+ - FindInstance
+ - FourierCosTransform
+ - FactorInteger
+ - FindIntegerNullVector
+ - FourierDCT
+ - FactorList
+ - FindLibrary
+ - FourierDST
+ - FactorSquareFree
+ - FindLinearRecurrence
+ - FourierParameters
+ - FactorSquareFreeList
+ - FindList
+ - FourierSequenceTransform
+ - FactorTerms
+ - FindMaximum
+ - FourierSeries
+ - FactorTermsList
+ - FindMaxValue
+ - FourierSinCoefficient
+ - False
+ - FindMinimum
+ - FourierSinSeries
+ - FeedbackType
+ - FindMinValue
+ - FourierSinTransform
+ - Fibonacci
+ - FindPermutation
+ - FourierTransform
+ - FieldHint
+ - FindRoot
+ - FourierTrigSeries
+ - FieldHintStyle
+ - FindSequenceFunction
+ - FractionalPart
+ - FieldMasked
+ - FindShortestPath
+ - FractionBox
+ - FieldSize
+ - FindShortestTour
+ - Frame
+ - FileBaseName
+ - FindThreshold
+ - FrameBox
+ - FileByteCount
+ - FindVertexCover
+ - Framed
+ - FileDate
+ - FinishDynamic
+ - FrameLabel
+ - FileExistsQ
+ - FiniteAbelianGroupCount
+ - FrameMargins
+ - FileExtension
+ - FiniteGroupCount
+ - FrameStyle
+ - FileFormat
+ - FiniteGroupData
+ - FrameTicks
+ - FileHash
+ - First
+ - FrameTicksStyle
+ - FileNameDepth
+ - FischerGroupFi22
+ - FRatioDistribution
+ - FileNameDrop
+ - FischerGroupFi23
+ - FrechetDistribution
+ - FileNameJoin
+ - FischerGroupFi24Prime
+ - FreeQ
+ - FileNames
+ - FisherHypergeometricDistribution
+ - FresnelC
+ - FileNameSetter
+ - FisherRatioTest
+ - FresnelS
+ - FileNameSplit
+ - FisherZDistribution
+ - FrobeniusNumber
+ - FileNameTake
+ - Fit
+ - FrobeniusSolve
+ - FilePrint
+ - FittedModel
+ - FromCharacterCode
+ - FileType
+ - FixedPoint
+ - FromCoefficientRules
+ - FilledCurve
+ - FixedPointList
+ - FromContinuedFraction
+ - Filling
+ - Flat
+ - FromDigits
+ - FillingStyle
+ - Flatten
+ - FromDMS
+ - FillingTransform
+ - FlattenAt
+ - Front
+ - FilterRules
+ - FlipView
+ - FrontEndDynamicExpression
+ - FinancialBond
+ - Floor
+ - FrontEndEventActions
+ - FinancialData
+ - Fold
+ - FrontEndExecute
+ - FinancialDerivative
+ - FoldList
+ - FrontEndToken
+ - FinancialIndicator
+ - FontColor
+ - FrontEndTokenExecute
+ - Find
+ - FontFamily
+ - Full
+ - FindArgMax
+ - FontSize
+ - FullDefinition
+ - FindArgMin
+ - FontSlant
+ - FullForm
+ - FindClique
+ - FontSubstitutions
+ - FullGraphics
+ - FindClusters
+ - FontTracking
+ - FullSimplify
+ - FindCurvePath
+ - FontVariations
+ - Function
+ - FindDistributionParameters
+ - FontWeight
+ - FunctionExpand
+ - FindDivisions
+ - For
+ - FunctionInterpolation
+ - FindEdgeCover
+ - ForAll
+ - FunctionSpace
+ - FindEulerianCycle
+ - Format
+ - FindFile
+ - FormatType
+ - G
+ - GaborWavelet
+ - GeoPositionXYZ
+ - GraphStyle
+ - GainMargins
+ - GeoProjectionData
+ - GraphUnion
+ - GainPhaseMargins
+ - Get
+ - Gray
+ - Gamma
+ - Glaisher
+ - GrayLevel
+ - GammaDistribution
+ - Glow
+ - Greater
+ - GammaRegularized
+ - GoldenRatio
+ - GreaterEqual
+ - GapPenalty
+ - GompertzMakehamDistribution
+ - GreaterEqualLess
+ - Gather
+ - Goto
+ - GreaterFullEqual
+ - GatherBy
+ - Gradient
+ - GreaterGreater
+ - GaussianFilter
+ - GradientFilter
+ - GreaterLess
+ - GaussianIntegers
+ - Graph
+ - GreaterSlantEqual
+ - GaussianMatrix
+ - GraphCenter
+ - GreaterTilde
+ - GCD
+ - GraphComplement
+ - Green
+ - GegenbauerC
+ - GraphData
+ - Grid
+ - General
+ - GraphDiameter
+ - GridBox
+ - GeneralizedLinearModelFit
+ - GraphDifference
+ - GridDefaultElement
+ - GenerateConditions
+ - GraphDisjointUnion
+ - GridGraph
+ - GeneratedCell
+ - GraphDistance
+ - GridLines
+ - GeneratedParameters
+ - GraphDistanceMatrix
+ - GridLinesStyle
+ - GeneratingFunction
+ - GraphHighlight
+ - GroebnerBasis
+ - GenericCylindricalDecomposition
+ - GraphHighlightStyle
+ - GroupActionBase
+ - GenomeData
+ - Graphics
+ - GroupCentralizer
+ - GenomeLookup
+ - Graphics3D
+ - GroupElementPosition
+ - GeodesicDilation
+ - GraphicsColumn
+ - GroupElementQ
+ - GeodesicErosion
+ - GraphicsComplex
+ - GroupElements
+ - GeoDestination
+ - GraphicsGrid
+ - GroupGenerators
+ - GeodesyData
+ - GraphicsGroup
+ - GroupMultiplicationTable
+ - GeoDirection
+ - GraphicsRow
+ - GroupOrbits
+ - GeoDistance
+ - GraphIntersection
+ - GroupOrder
+ - GeoGridPosition
+ - GraphLayout
+ - GroupPageBreakWithin
+ - GeometricDistribution
+ - GraphPeriphery
+ - GroupSetwiseStabilizer
+ - GeometricMean
+ - GraphPlot
+ - GroupStabilizer
+ - GeometricMeanFilter
+ - GraphPlot3D
+ - GroupStabilizerChain
+ - GeometricTransformation
+ - GraphPower
+ - Gudermannian
+ - GeoPosition
+ - GraphQ
+ - GumbelDistribution
+ - GeoPositionENU
+ - GraphRadius
+ - H
+ - HaarWavelet
+ - HermitianMatrixQ
+ - Hue
+ - HalfNormalDistribution
+ - HessenbergDecomposition
+ - HumpDownHump
+ - HamiltonianGraphQ
+ - HexadecimalCharacter
+ - HumpEqual
+ - HammingDistance
+ - HighlightGraph
+ - HurwitzLerchPhi
+ - HankelH1
+ - HigmanSimsGroupHS
+ - HurwitzZeta
+ - HankelH2
+ - HilbertMatrix
+ - HyperbolicDistribution
+ - HankelMatrix
+ - Histogram
+ - HypercubeGraph
+ - HaradaNortonGroupHN
+ - Histogram3D
+ - Hyperfactorial
+ - HararyGraph
+ - HistogramDistribution
+ - Hypergeometric0F1
+ - HarmonicMean
+ - HistogramList
+ - Hypergeometric0F1Regularized
+ - HarmonicMeanFilter
+ - HitMissTransform
+ - Hypergeometric1F1
+ - HarmonicNumber
+ - HITSCentrality
+ - Hypergeometric1F1Regularized
+ - Hash
+ - Hold
+ - Hypergeometric2F1
+ - Haversine
+ - HoldAll
+ - Hypergeometric2F1Regularized
+ - HazardFunction
+ - HoldAllComplete
+ - HypergeometricDistribution
+ - Head
+ - HoldComplete
+ - HypergeometricPFQ
+ - Heads
+ - HoldFirst
+ - HypergeometricPFQRegularized
+ - HeavisideLambda
+ - HoldForm
+ - HypergeometricU
+ - HeavisidePi
+ - HoldPattern
+ - Hyperlink
+ - HeavisideTheta
+ - HoldRest
+ - Hyphenation
+ - HeldGroupHe
+ - HornerForm
+ - HypothesisTestData
+ - HermiteDecomposition
+ - HotellingTSquareDistribution
+ - HermiteH
+ - HoytDistribution
+ - I
+ - I
+ - ImportString
+ - Interrupt
+ - Identity
+ - In
+ - Intersection
+ - IdentityMatrix
+ - IncidenceGraph
+ - Interval
+ - If
+ - IncidenceMatrix
+ - IntervalIntersection
+ - IgnoreCase
+ - IncludeConstantBasis
+ - IntervalMemberQ
+ - Im
+ - IncludePods
+ - IntervalUnion
+ - Image
+ - Increment
+ - Inverse
+ - ImageAdd
+ - IndependentEdgeSetQ
+ - InverseBetaRegularized
+ - ImageAdjust
+ - IndependentVertexSetQ
+ - InverseCDF
+ - ImageAlign
+ - Indeterminate
+ - InverseChiSquareDistribution
+ - ImageApply
+ - IndexGraph
+ - InverseContinuousWaveletTransform
+ - ImageAspectRatio
+ - InexactNumberQ
+ - InverseDistanceTransform
+ - ImageAssemble
+ - Infinity
+ - InverseEllipticNomeQ
+ - ImageCapture
+ - Infix
+ - InverseErf
+ - ImageChannels
+ - Information
+ - InverseErfc
+ - ImageClip
+ - Inherited
+ - InverseFourier
+ - ImageColorSpace
+ - Initialization
+ - InverseFourierCosTransform
+ - ImageCompose
+ - InitializationCell
+ - InverseFourierSequenceTransform
+ - ImageConvolve
+ - Inner
+ - InverseFourierSinTransform
+ - ImageCooccurrence
+ - Inpaint
+ - InverseFourierTransform
+ - ImageCorrelate
+ - Input
+ - InverseFunction
+ - ImageCorrespondingPoints
+ - InputAliases
+ - InverseFunctions
+ - ImageCrop
+ - InputAssumptions
+ - InverseGammaDistribution
+ - ImageData
+ - InputAutoReplacements
+ - InverseGammaRegularized
+ - ImageDeconvolve
+ - InputField
+ - InverseGaussianDistribution
+ - ImageDifference
+ - InputForm
+ - InverseGudermannian
+ - ImageDimensions
+ - InputNamePacket
+ - InverseHaversine
+ - ImageEffect
+ - InputNotebook
+ - InverseJacobiCD
+ - ImageFilter
+ - InputPacket
+ - InverseJacobiCN
+ - ImageForestingComponents
+ - InputStream
+ - InverseJacobiCS
+ - ImageForwardTransformation
+ - InputString
+ - InverseJacobiDC
+ - ImageHistogram
+ - InputStringPacket
+ - InverseJacobiDN
+ - ImageKeypoints
+ - Insert
+ - InverseJacobiDS
+ - ImageLevels
+ - InsertResults
+ - InverseJacobiNC
+ - ImageLines
+ - Inset
+ - InverseJacobiND
+ - ImageMargins
+ - Install
+ - InverseJacobiNS
+ - ImageMultiply
+ - InstallService
+ - InverseJacobiSC
+ - ImagePad
+ - InString
+ - InverseJacobiSD
+ - ImagePadding
+ - Integer
+ - InverseJacobiSN
+ - ImagePartition
+ - IntegerDigits
+ - InverseLaplaceTransform
+ - ImagePerspectiveTransformation
+ - IntegerExponent
+ - InversePermutation
+ - ImageQ
+ - IntegerLength
+ - InverseRadon
+ - ImageReflect
+ - IntegerPart
+ - InverseSeries
+ - ImageResize
+ - IntegerPartitions
+ - InverseSurvivalFunction
+ - ImageResolution
+ - IntegerQ
+ - InverseWaveletTransform
+ - ImageRotate
+ - Integers
+ - InverseWeierstrassP
+ - ImageScaled
+ - IntegerString
+ - InverseZTransform
+ - ImageSize
+ - Integrate
+ - Invisible
+ - ImageSizeAction
+ - InteractiveTradingChart
+ - IrreduciblePolynomialQ
+ - ImageSizeMultipliers
+ - Interleaving
+ - IsolatingInterval
+ - ImageSubtract
+ - InternallyBalancedDecomposition
+ - IsomorphicGraphQ
+ - ImageTake
+ - InterpolatingFunction
+ - IsotopeData
+ - ImageTransformation
+ - InterpolatingPolynomial
+ - Italic
+ - ImageTrim
+ - Interpolation
+ - Item
+ - ImageType
+ - InterpolationOrder
+ - ItemAspectRatio
+ - ImageValue
+ - Interpretation
+ - ItemSize
+ - Implies
+ - InterpretationBox
+ - ItemStyle
+ - Import
+ - InterquartileRange
+ - J
+ - JaccardDissimilarity
+ - JacobiNS
+ - JankoGroupJ4
+ - JacobiAmplitude
+ - JacobiP
+ - JarqueBeraALMTest
+ - JacobiCD
+ - JacobiSC
+ - JohnsonDistribution
+ - JacobiCN
+ - JacobiSD
+ - Join
+ - JacobiCS
+ - JacobiSN
+ - Joined
+ - JacobiDC
+ - JacobiSymbol
+ - JoinedCurve
+ - JacobiDN
+ - JacobiZeta
+ - JoinForm
+ - JacobiDS
+ - JankoGroupJ1
+ - JordanDecomposition
+ - JacobiNC
+ - JankoGroupJ2
+ - JordanModelDecomposition
+ - JacobiND
+ - JankoGroupJ3
+ - K
+ - KagiChart
+ - KelvinKer
+ - KolmogorovSmirnovTest
+ - KalmanEstimator
+ - KernelMixtureDistribution
+ - KroneckerDelta
+ - KarhunenLoeveDecomposition
+ - KernelObject
+ - KroneckerProduct
+ - KaryTree
+ - Kernels
+ - KroneckerSymbol
+ - KatzCentrality
+ - Khinchin
+ - KuiperTest
+ - KCoreComponents
+ - KirchhoffGraph
+ - KumaraswamyDistribution
+ - KDistribution
+ - KirchhoffMatrix
+ - Kurtosis
+ - KelvinBei
+ - KleinInvariantJ
+ - KuwaharaFilter
+ - KelvinBer
+ - KnightTourGraph
+ - KelvinKei
+ - KnotData
+ - L
+ - Label
+ - LibraryFunction
+ - ListDensityPlot
+ - Labeled
+ - LibraryFunctionError
+ - ListInterpolation
+ - LabelingFunction
+ - LibraryFunctionInformation
+ - ListLineIntegralConvolutionPlot
+ - LabelStyle
+ - LibraryFunctionLoad
+ - ListLinePlot
+ - LaguerreL
+ - LibraryFunctionUnload
+ - ListLogLinearPlot
+ - LandauDistribution
+ - LibraryLoad
+ - ListLogLogPlot
+ - LanguageCategory
+ - LibraryUnload
+ - ListLogPlot
+ - LaplaceDistribution
+ - LiftingFilterData
+ - ListPlay
+ - LaplaceTransform
+ - LiftingWaveletTransform
+ - ListPlot
+ - LaplacianFilter
+ - LightBlue
+ - ListPlot3D
+ - LaplacianGaussianFilter
+ - LightBrown
+ - ListPointPlot3D
+ - Large
+ - LightCyan
+ - ListPolarPlot
+ - Larger
+ - Lighter
+ - ListStreamDensityPlot
+ - Last
+ - LightGray
+ - ListStreamPlot
+ - Latitude
+ - LightGreen
+ - ListSurfacePlot3D
+ - LatitudeLongitude
+ - Lighting
+ - ListVectorDensityPlot
+ - LatticeData
+ - LightingAngle
+ - ListVectorPlot
+ - LatticeReduce
+ - LightMagenta
+ - ListVectorPlot3D
+ - LaunchKernels
+ - LightOrange
+ - LocalizeVariables
+ - LayeredGraphPlot
+ - LightPink
+ - LocationEquivalenceTest
+ - LayerSizeFunction
+ - LightPurple
+ - LocationTest
+ - LCM
+ - LightRed
+ - Locator
+ - LeafCount
+ - LightYellow
+ - LocatorAutoCreate
+ - LeastSquares
+ - Likelihood
+ - LocatorPane
+ - Left
+ - Limit
+ - LocatorRegion
+ - LeftArrow
+ - LimitsPositioning
+ - Locked
+ - LeftArrowBar
+ - LindleyDistribution
+ - Log
+ - LeftArrowRightArrow
+ - Line
+ - Log10
+ - LeftDownTeeVector
+ - LinearFractionalTransform
+ - Log2
+ - LeftDownVector
+ - LinearModelFit
+ - LogBarnesG
+ - LeftDownVectorBar
+ - LinearOffsetFunction
+ - LogGamma
+ - LeftRightArrow
+ - LinearProgramming
+ - LogGammaDistribution
+ - LeftRightVector
+ - LinearRecurrence
+ - LogicalExpand
+ - LeftTeeArrow
+ - LinearSolve
+ - LogIntegral
+ - LeftTeeVector
+ - LinearSolveFunction
+ - LogisticDistribution
+ - LeftTriangle
+ - LineBreakChart
+ - LogitModelFit
+ - LeftTriangleBar
+ - LineGraph
+ - LogLikelihood
+ - LeftTriangleEqual
+ - LineIndent
+ - LogLinearPlot
+ - LeftUpDownVector
+ - LineIndentMaxFraction
+ - LogLogisticDistribution
+ - LeftUpTeeVector
+ - LineIntegralConvolutionPlot
+ - LogLogPlot
+ - LeftUpVector
+ - LineIntegralConvolutionScale
+ - LogNormalDistribution
+ - LeftUpVectorBar
+ - LineSpacing
+ - LogPlot
+ - LeftVector
+ - LinkClose
+ - LogSeriesDistribution
+ - LeftVectorBar
+ - LinkConnect
+ - Longest
+ - LegendAppearance
+ - LinkCreate
+ - LongestCommonSequence
+ - Legended
+ - LinkFunction
+ - LongestCommonSubsequence
+ - LegendreP
+ - LinkInterrupt
+ - Longitude
+ - LegendreQ
+ - LinkLaunch
+ - LongLeftArrow
+ - Length
+ - LinkObject
+ - LongLeftRightArrow
+ - LengthWhile
+ - LinkPatterns
+ - LongRightArrow
+ - LerchPhi
+ - LinkProtocol
+ - LoopFreeGraphQ
+ - Less
+ - LinkRead
+ - LowerCaseQ
+ - LessEqual
+ - LinkReadyQ
+ - LowerLeftArrow
+ - LessEqualGreater
+ - Links
+ - LowerRightArrow
+ - LessFullEqual
+ - LinkWrite
+ - LowerTriangularize
+ - LessGreater
+ - LiouvilleLambda
+ - LQEstimatorGains
+ - LessLess
+ - List
+ - LQGRegulator
+ - LessSlantEqual
+ - Listable
+ - LQOutputRegulatorGains
+ - LessTilde
+ - ListAnimate
+ - LQRegulatorGains
+ - LetterCharacter
+ - ListContourPlot
+ - LucasL
+ - LetterQ
+ - ListContourPlot3D
+ - LUDecomposition
+ - Level
+ - ListConvolve
+ - LyapunovSolve
+ - LeveneTest
+ - ListCorrelate
+ - LyonsGroupLy
+ - LeviCivitaTensor
+ - ListCurvePathPlot
+ - LevyDistribution
+ - ListDeconvolve
+ - M
+ - MachineNumberQ
+ - MaxDetect
+ - MinDetect
+ - MachinePrecision
+ - MaxExtraBandwidths
+ - MinFilter
+ - Magenta
+ - MaxExtraConditions
+ - MinimalPolynomial
+ - Magnification
+ - MaxFilter
+ - MinimalStateSpaceModel
+ - Magnify
+ - Maximize
+ - Minimize
+ - Majority
+ - MaxIterations
+ - Minors
+ - MakeBoxes
+ - MaxMemoryUsed
+ - MinStableDistribution
+ - MakeExpression
+ - MaxMixtureKernels
+ - Minus
+ - MangoldtLambda
+ - MaxPlotPoints
+ - MinusPlus
+ - ManhattanDistance
+ - MaxRecursion
+ - MinValue
+ - Manipulate
+ - MaxStableDistribution
+ - Missing
+ - Manipulator
+ - MaxStepFraction
+ - MixtureDistribution
+ - MannWhitneyTest
+ - MaxSteps
+ - Mod
+ - MantissaExponent
+ - MaxStepSize
+ - Modal
+ - Manual
+ - MaxValue
+ - ModularLambda
+ - Map
+ - MaxwellDistribution
+ - Module
+ - MapAll
+ - McLaughlinGroupMcL
+ - Modulus
+ - MapAt
+ - Mean
+ - MoebiusMu
+ - MapIndexed
+ - MeanDeviation
+ - Moment
+ - MapThread
+ - MeanFilter
+ - MomentConvert
+ - MarcumQ
+ - MeanShift
+ - MomentEvaluate
+ - MardiaCombinedTest
+ - MeanShiftFilter
+ - MomentGeneratingFunction
+ - MardiaKurtosisTest
+ - Median
+ - Monitor
+ - MardiaSkewnessTest
+ - MedianDeviation
+ - MonomialList
+ - MarginalDistribution
+ - MedianFilter
+ - MonsterGroupM
+ - Masking
+ - Medium
+ - MorletWavelet
+ - MatchingDissimilarity
+ - MeijerG
+ - MorphologicalBinarize
+ - MatchLocalNames
+ - MemberQ
+ - MorphologicalBranchPoints
+ - MatchQ
+ - MemoryConstrained
+ - MorphologicalComponents
+ - MathieuC
+ - MemoryInUse
+ - MorphologicalEulerNumber
+ - MathieuCharacteristicA
+ - MenuCommandKey
+ - MorphologicalGraph
+ - MathieuCharacteristicB
+ - MenuPacket
+ - MorphologicalPerimeter
+ - MathieuCharacteristicExponent
+ - MenuSortingValue
+ - MorphologicalTransform
+ - MathieuCPrime
+ - MenuStyle
+ - Most
+ - MathieuGroupM11
+ - MenuView
+ - MouseAnnotation
+ - MathieuGroupM12
+ - Mesh
+ - MouseAppearance
+ - MathieuGroupM22
+ - MeshFunctions
+ - Mouseover
+ - MathieuGroupM23
+ - MeshShading
+ - MousePosition
+ - MathieuGroupM24
+ - MeshStyle
+ - MovingAverage
+ - MathieuS
+ - Message
+ - MovingMedian
+ - MathieuSPrime
+ - MessageDialog
+ - MoyalDistribution
+ - MathMLForm
+ - MessageList
+ - MultiedgeStyle
+ - MatrixExp
+ - MessageName
+ - Multinomial
+ - MatrixForm
+ - MessagePacket
+ - MultinomialDistribution
+ - MatrixPlot
+ - Messages
+ - MultinormalDistribution
+ - MatrixPower
+ - Method
+ - MultiplicativeOrder
+ - MatrixQ
+ - MexicanHatWavelet
+ - MultivariateHypergeometricDistribution
+ - MatrixRank
+ - MeyerWavelet
+ - MultivariatePoissonDistribution
+ - Max
+ - Min
+ - MultivariateTDistribution
+ - N
+ - N
+ - NormalizedSquaredEuclideanDistance
+ - NotPrecedesSlantEqual
+ - NakagamiDistribution
+ - NormalsFunction
+ - NotPrecedesTilde
+ - NameQ
+ - NormFunction
+ - NotReverseElement
+ - Names
+ - Not
+ - NotRightTriangle
+ - Nand
+ - NotCongruent
+ - NotRightTriangleBar
+ - NArgMax
+ - NotCupCap
+ - NotRightTriangleEqual
+ - NArgMin
+ - NotDoubleVerticalBar
+ - NotSquareSubset
+ - NCache
+ - Notebook
+ - NotSquareSubsetEqual
+ - NDSolve
+ - NotebookApply
+ - NotSquareSuperset
+ - Nearest
+ - NotebookAutoSave
+ - NotSquareSupersetEqual
+ - NearestFunction
+ - NotebookClose
+ - NotSubset
+ - NeedlemanWunschSimilarity
+ - NotebookDelete
+ - NotSubsetEqual
+ - Needs
+ - NotebookDirectory
+ - NotSucceeds
+ - Negative
+ - NotebookDynamicExpression
+ - NotSucceedsEqual
+ - NegativeBinomialDistribution
+ - NotebookEvaluate
+ - NotSucceedsSlantEqual
+ - NegativeMultinomialDistribution
+ - NotebookEventActions
+ - NotSucceedsTilde
+ - NeighborhoodGraph
+ - NotebookFileName
+ - NotSuperset
+ - Nest
+ - NotebookFind
+ - NotSupersetEqual
+ - NestedGreaterGreater
+ - NotebookGet
+ - NotTilde
+ - NestedLessLess
+ - NotebookInformation
+ - NotTildeEqual
+ - NestList
+ - NotebookLocate
+ - NotTildeFullEqual
+ - NestWhile
+ - NotebookObject
+ - NotTildeTilde
+ - NestWhileList
+ - NotebookOpen
+ - NotVerticalBar
+ - NevilleThetaC
+ - NotebookPrint
+ - NProbability
+ - NevilleThetaD
+ - NotebookPut
+ - NProduct
+ - NevilleThetaN
+ - NotebookRead
+ - NRoots
+ - NevilleThetaS
+ - Notebooks
+ - NSolve
+ - NExpectation
+ - NotebookSave
+ - NSum
+ - NextPrime
+ - NotebookSelection
+ - Null
+ - NHoldAll
+ - NotebookWrite
+ - NullRecords
+ - NHoldFirst
+ - NotElement
+ - NullSpace
+ - NHoldRest
+ - NotEqualTilde
+ - NullWords
+ - NicholsGridLines
+ - NotExists
+ - Number
+ - NicholsPlot
+ - NotGreater
+ - NumberFieldClassNumber
+ - NIntegrate
+ - NotGreaterEqual
+ - NumberFieldDiscriminant
+ - NMaximize
+ - NotGreaterFullEqual
+ - NumberFieldFundamentalUnits
+ - NMaxValue
+ - NotGreaterGreater
+ - NumberFieldIntegralBasis
+ - NMinimize
+ - NotGreaterLess
+ - NumberFieldNormRepresentatives
+ - NMinValue
+ - NotGreaterSlantEqual
+ - NumberFieldRegulator
+ - NominalVariables
+ - NotGreaterTilde
+ - NumberFieldRootsOfUnity
+ - NoncentralBetaDistribution
+ - NotHumpDownHump
+ - NumberFieldSignature
+ - NoncentralChiSquareDistribution
+ - NotHumpEqual
+ - NumberForm
+ - NoncentralFRatioDistribution
+ - NotLeftTriangle
+ - NumberFormat
+ - NoncentralStudentTDistribution
+ - NotLeftTriangleBar
+ - NumberMarks
+ - NonCommutativeMultiply
+ - NotLeftTriangleEqual
+ - NumberMultiplier
+ - NonConstants
+ - NotLess
+ - NumberPadding
+ - None
+ - NotLessEqual
+ - NumberPoint
+ - NonlinearModelFit
+ - NotLessFullEqual
+ - NumberQ
+ - NonNegative
+ - NotLessGreater
+ - NumberSeparator
+ - NonPositive
+ - NotLessLess
+ - NumberSigns
+ - Nor
+ - NotLessSlantEqual
+ - NumberString
+ - NorlundB
+ - NotLessTilde
+ - Numerator
+ - Norm
+ - NotNestedGreaterGreater
+ - NumericFunction
+ - Normal
+ - NotNestedLessLess
+ - NumericQ
+ - NormalDistribution
+ - NotPrecedes
+ - NyquistGridLines
+ - Normalize
+ - NotPrecedesEqual
+ - NyquistPlot
+ - O
+ - O
+ - Operate
+ - OutputForm
+ - ObservabilityGramian
+ - OperatingSystem
+ - OutputNamePacket
+ - ObservabilityMatrix
+ - Optional
+ - OutputResponse
+ - ObservableDecomposition
+ - Options
+ - OutputSizeLimit
+ - ObservableModelQ
+ - OptionsPattern
+ - OutputStream
+ - OddQ
+ - OptionValue
+ - OverBar
+ - Off
+ - Or
+ - OverDot
+ - Offset
+ - Orange
+ - Overflow
+ - On
+ - Order
+ - OverHat
+ - ONanGroupON
+ - OrderDistribution
+ - Overlaps
+ - OneIdentity
+ - OrderedQ
+ - Overlay
+ - Opacity
+ - Ordering
+ - Overscript
+ - OpenAppend
+ - Orderless
+ - OverscriptBox
+ - Opener
+ - Orthogonalize
+ - OverTilde
+ - OpenerView
+ - Out
+ - OverVector
+ - Opening
+ - Outer
+ - OwenT
+ - OpenRead
+ - OutputControllabilityMatrix
+ - OwnValues
+ - OpenWrite
+ - OutputControllableModelQ
+ - P
+ - PackingMethod
+ - PermutationList
+ - PopupMenu
+ - PaddedForm
+ - PermutationListQ
+ - PopupView
+ - Padding
+ - PermutationMax
+ - PopupWindow
+ - PadeApproximant
+ - PermutationMin
+ - Position
+ - PadLeft
+ - PermutationOrder
+ - Positive
+ - PadRight
+ - PermutationPower
+ - PositiveDefiniteMatrixQ
+ - PageBreakAbove
+ - PermutationProduct
+ - PossibleZeroQ
+ - PageBreakBelow
+ - PermutationReplace
+ - Postfix
+ - PageBreakWithin
+ - Permutations
+ - Power
+ - PageFooters
+ - PermutationSupport
+ - PowerDistribution
+ - PageHeaders
+ - Permute
+ - PowerExpand
+ - PageRankCentrality
+ - PeronaMalikFilter
+ - PowerMod
+ - PageWidth
+ - PERTDistribution
+ - PowerModList
+ - PairedBarChart
+ - PetersenGraph
+ - PowersRepresentations
+ - PairedHistogram
+ - PhaseMargins
+ - PowerSymmetricPolynomial
+ - PairedTTest
+ - Pi
+ - PrecedenceForm
+ - PairedZTest
+ - Pick
+ - Precedes
+ - PaletteNotebook
+ - Piecewise
+ - PrecedesEqual
+ - Pane
+ - PiecewiseExpand
+ - PrecedesSlantEqual
+ - Panel
+ - PieChart
+ - PrecedesTilde
+ - Paneled
+ - PieChart3D
+ - Precision
+ - PaneSelector
+ - Pink
+ - PrecisionGoal
+ - ParabolicCylinderD
+ - PixelConstrained
+ - PreDecrement
+ - ParagraphIndent
+ - PixelValue
+ - PreemptProtect
+ - ParagraphSpacing
+ - Placed
+ - Prefix
+ - ParallelArray
+ - Placeholder
+ - PreIncrement
+ - ParallelCombine
+ - PlaceholderReplace
+ - Prepend
+ - ParallelDo
+ - Plain
+ - PrependTo
+ - ParallelEvaluate
+ - Play
+ - PreserveImageOptions
+ - Parallelization
+ - PlayRange
+ - PriceGraphDistribution
+ - Parallelize
+ - Plot
+ - Prime
+ - ParallelMap
+ - Plot3D
+ - PrimeNu
+ - ParallelNeeds
+ - PlotLabel
+ - PrimeOmega
+ - ParallelProduct
+ - PlotLayout
+ - PrimePi
+ - ParallelSubmit
+ - PlotMarkers
+ - PrimePowerQ
+ - ParallelSum
+ - PlotPoints
+ - PrimeQ
+ - ParallelTable
+ - PlotRange
+ - Primes
+ - ParallelTry
+ - PlotRangeClipping
+ - PrimeZetaP
+ - ParameterEstimator
+ - PlotRangePadding
+ - PrimitiveRoot
+ - ParameterMixtureDistribution
+ - PlotRegion
+ - PrincipalComponents
+ - ParametricPlot
+ - PlotStyle
+ - PrincipalValue
+ - ParametricPlot3D
+ - Plus
+ - Print
+ - ParentDirectory
+ - PlusMinus
+ - PrintingStyleEnvironment
+ - ParetoDistribution
+ - Pochhammer
+ - PrintTemporary
+ - Part
+ - PodStates
+ - Probability
+ - ParticleData
+ - PodWidth
+ - ProbabilityDistribution
+ - Partition
+ - Point
+ - ProbabilityPlot
+ - PartitionsP
+ - PointFigureChart
+ - ProbabilityScalePlot
+ - PartitionsQ
+ - PointSize
+ - ProbitModelFit
+ - PascalDistribution
+ - PoissonConsulDistribution
+ - Product
+ - PassEventsDown
+ - PoissonDistribution
+ - ProductDistribution
+ - PassEventsUp
+ - PolarAxes
+ - ProductLog
+ - Paste
+ - PolarAxesOrigin
+ - ProgressIndicator
+ - PasteButton
+ - PolarGridLines
+ - Projection
+ - Path
+ - PolarPlot
+ - Prolog
+ - PathGraph
+ - PolarTicks
+ - Properties
+ - PathGraphQ
+ - PoleZeroMarkers
+ - Property
+ - Pattern
+ - PolyaAeppliDistribution
+ - PropertyList
+ - PatternSequence
+ - PolyGamma
+ - PropertyValue
+ - PatternTest
+ - Polygon
+ - Proportion
+ - PauliMatrix
+ - PolyhedronData
+ - Proportional
+ - PaulWavelet
+ - PolyLog
+ - Protect
+ - Pause
+ - PolynomialExtendedGCD
+ - Protected
+ - PDF
+ - PolynomialGCD
+ - ProteinData
+ - PearsonChiSquareTest
+ - PolynomialLCM
+ - Pruning
+ - PearsonDistribution
+ - PolynomialMod
+ - PseudoInverse
+ - PerformanceGoal
+ - PolynomialQ
+ - Purple
+ - PermutationCycles
+ - PolynomialQuotient
+ - Put
+ - PermutationCyclesQ
+ - PolynomialQuotientRemainder
+ - PutAppend
+ - PermutationGroup
+ - PolynomialReduce
+ - PermutationLength
+ - PolynomialRemainder
+ - Q
+ - QBinomial
+ - QRDecomposition
+ - Quartiles
+ - QFactorial
+ - QuadraticIrrationalQ
+ - QuartileSkewness
+ - QGamma
+ - Quantile
+ - Quiet
+ - QHypergeometricPFQ
+ - QuantilePlot
+ - Quit
+ - QPochhammer
+ - Quartics
+ - Quotient
+ - QPolyGamma
+ - QuartileDeviation
+ - QuotientRemainder
+ - R
+ - RadicalBox
+ - RefreshRate
+ - RightArrowBar
+ - RadioButton
+ - RegionBinarize
+ - RightArrowLeftArrow
+ - RadioButtonBar
+ - RegionFunction
+ - RightCosetRepresentative
+ - Radon
+ - RegionPlot
+ - RightDownTeeVector
+ - RamanujanTau
+ - RegionPlot3D
+ - RightDownVector
+ - RamanujanTauL
+ - RegularExpression
+ - RightDownVectorBar
+ - RamanujanTauTheta
+ - Regularization
+ - RightTeeArrow
+ - RamanujanTauZ
+ - ReleaseHold
+ - RightTeeVector
+ - RandomChoice
+ - ReliefImage
+ - RightTriangle
+ - RandomComplex
+ - ReliefPlot
+ - RightTriangleBar
+ - RandomGraph
+ - Remove
+ - RightTriangleEqual
+ - RandomImage
+ - RemoveAlphaChannel
+ - RightUpDownVector
+ - RandomInteger
+ - RemoveProperty
+ - RightUpTeeVector
+ - RandomPermutation
+ - RemoveScheduledTask
+ - RightUpVector
+ - RandomPrime
+ - RenameDirectory
+ - RightUpVectorBar
+ - RandomReal
+ - RenameFile
+ - RightVector
+ - RandomSample
+ - RenkoChart
+ - RightVectorBar
+ - RandomVariate
+ - Repeated
+ - RogersTanimotoDissimilarity
+ - Range
+ - RepeatedNull
+ - Root
+ - RangeFilter
+ - Replace
+ - RootApproximant
+ - RankedMax
+ - ReplaceAll
+ - RootIntervals
+ - RankedMin
+ - ReplaceList
+ - RootLocusPlot
+ - Raster
+ - ReplacePart
+ - RootMeanSquare
+ - Rasterize
+ - ReplaceRepeated
+ - RootOfUnityQ
+ - RasterSize
+ - Resampling
+ - RootReduce
+ - Rational
+ - Rescale
+ - Roots
+ - Rationalize
+ - RescalingTransform
+ - RootSum
+ - Rationals
+ - ResetDirectory
+ - Rotate
+ - Ratios
+ - ResetScheduledTask
+ - RotateLabel
+ - RawBoxes
+ - Residue
+ - RotateLeft
+ - RawData
+ - Resolve
+ - RotateRight
+ - RayleighDistribution
+ - Rest
+ - RotationAction
+ - Re
+ - Resultant
+ - RotationMatrix
+ - Read
+ - ResumePacket
+ - RotationTransform
+ - ReadList
+ - Return
+ - Round
+ - ReadProtected
+ - ReturnExpressionPacket
+ - RoundingRadius
+ - Real
+ - ReturnPacket
+ - Row
+ - RealBlockDiagonalForm
+ - ReturnTextPacket
+ - RowAlignments
+ - RealDigits
+ - Reverse
+ - RowBox
+ - RealExponent
+ - ReverseBiorthogonalSplineWavelet
+ - RowLines
+ - Reals
+ - ReverseElement
+ - RowMinHeight
+ - Reap
+ - ReverseEquilibrium
+ - RowReduce
+ - Record
+ - ReverseGraph
+ - RowsEqual
+ - RecordLists
+ - ReverseUpEquilibrium
+ - RowSpacings
+ - RecordSeparators
+ - RevolutionAxis
+ - RSolve
+ - Rectangle
+ - RevolutionPlot3D
+ - RudvalisGroupRu
+ - RectangleChart
+ - RGBColor
+ - Rule
+ - RectangleChart3D
+ - RiccatiSolve
+ - RuleDelayed
+ - RecurrenceTable
+ - RiceDistribution
+ - Run
+ - Red
+ - RidgeFilter
+ - RunScheduledTask
+ - Reduce
+ - RiemannR
+ - RunThrough
+ - ReferenceLineStyle
+ - RiemannSiegelTheta
+ - RuntimeAttributes
+ - Refine
+ - RiemannSiegelZ
+ - RuntimeOptions
+ - ReflectionMatrix
+ - Riffle
+ - RussellRaoDissimilarity
+ - ReflectionTransform
+ - Right
+ - Refresh
+ - RightArrow
+ - S
+ - SameQ
+ - Sin
+ - StationaryWaveletPacketTransform
+ - SameTest
+ - Sinc
+ - StationaryWaveletTransform
+ - SampleDepth
+ - SinghMaddalaDistribution
+ - StatusArea
+ - SampledSoundFunction
+ - SingleLetterItalics
+ - StepMonitor
+ - SampledSoundList
+ - SingularValueDecomposition
+ - StieltjesGamma
+ - SampleRate
+ - SingularValueList
+ - StirlingS1
+ - SamplingPeriod
+ - SingularValuePlot
+ - StirlingS2
+ - SatisfiabilityCount
+ - Sinh
+ - StopScheduledTask
+ - SatisfiabilityInstances
+ - SinhIntegral
+ - StreamColorFunction
+ - SatisfiableQ
+ - SinIntegral
+ - StreamColorFunctionScaling
+ - Save
+ - SixJSymbol
+ - StreamDensityPlot
+ - SaveDefinitions
+ - Skeleton
+ - StreamPlot
+ - SawtoothWave
+ - SkeletonTransform
+ - StreamPoints
+ - Scale
+ - SkellamDistribution
+ - StreamPosition
+ - Scaled
+ - Skewness
+ - Streams
+ - ScalingFunctions
+ - SkewNormalDistribution
+ - StreamScale
+ - ScalingMatrix
+ - Skip
+ - StreamStyle
+ - ScalingTransform
+ - Slider
+ - String
+ - Scan
+ - Slider2D
+ - StringCases
+ - ScheduledTaskObject
+ - SlideView
+ - StringCount
+ - ScheduledTasks
+ - Slot
+ - StringDrop
+ - SchurDecomposition
+ - SlotSequence
+ - StringExpression
+ - ScientificForm
+ - Small
+ - StringForm
+ - ScreenStyleEnvironment
+ - SmallCircle
+ - StringFormat
+ - ScriptBaselineShifts
+ - Smaller
+ - StringFreeQ
+ - ScriptMinSize
+ - SmithWatermanSimilarity
+ - StringInsert
+ - ScriptSizeMultipliers
+ - SmoothDensityHistogram
+ - StringJoin
+ - Scrollbars
+ - SmoothHistogram
+ - StringLength
+ - ScrollPosition
+ - SmoothHistogram3D
+ - StringMatchQ
+ - Sec
+ - SmoothKernelDistribution
+ - StringPosition
+ - Sech
+ - SokalSneathDissimilarity
+ - StringQ
+ - SechDistribution
+ - Solve
+ - StringReplace
+ - SectorChart
+ - SolveAlways
+ - StringReplaceList
+ - SectorChart3D
+ - Sort
+ - StringReplacePart
+ - SectorOrigin
+ - SortBy
+ - StringReverse
+ - SectorSpacing
+ - Sound
+ - StringSkeleton
+ - SeedRandom
+ - SoundNote
+ - StringSplit
+ - Select
+ - SoundVolume
+ - StringTake
+ - Selectable
+ - Sow
+ - StringToStream
+ - SelectComponents
+ - Spacer
+ - StringTrim
+ - SelectedNotebook
+ - Spacings
+ - StructuredSelection
+ - SelectionAnimate
+ - Span
+ - StruveH
+ - SelectionCreateCell
+ - SpanFromAbove
+ - StruveL
+ - SelectionEvaluate
+ - SpanFromBoth
+ - Stub
+ - SelectionEvaluateCreateCell
+ - SpanFromLeft
+ - StudentTDistribution
+ - SelectionMove
+ - SparseArray
+ - Style
+ - SelfLoopStyle
+ - Speak
+ - StyleBox
+ - SemialgebraicComponentInstances
+ - Specularity
+ - StyleData
+ - SendMail
+ - SpellingCorrection
+ - StyleDefinitions
+ - Sequence
+ - Sphere
+ - Subfactorial
+ - SequenceAlignment
+ - SphericalBesselJ
+ - Subgraph
+ - SequenceHold
+ - SphericalBesselY
+ - SubMinus
+ - Series
+ - SphericalHankelH1
+ - SubPlus
+ - SeriesCoefficient
+ - SphericalHankelH2
+ - Subresultants
+ - SeriesData
+ - SphericalHarmonicY
+ - Subscript
+ - SessionTime
+ - SphericalPlot3D
+ - SubscriptBox
+ - Set
+ - SphericalRegion
+ - Subset
+ - SetAccuracy
+ - SpheroidalEigenvalue
+ - SubsetEqual
+ - SetAlphaChannel
+ - SpheroidalJoiningFactor
+ - Subsets
+ - SetAttributes
+ - SpheroidalPS
+ - SubStar
+ - SetDelayed
+ - SpheroidalPSPrime
+ - Subsuperscript
+ - SetDirectory
+ - SpheroidalQS
+ - SubsuperscriptBox
+ - SetFileDate
+ - SpheroidalQSPrime
+ - Subtract
+ - SetOptions
+ - SpheroidalRadialFactor
+ - SubtractFrom
+ - SetPrecision
+ - SpheroidalS1
+ - Succeeds
+ - SetProperty
+ - SpheroidalS1Prime
+ - SucceedsEqual
+ - SetSelectedNotebook
+ - SpheroidalS2
+ - SucceedsSlantEqual
+ - SetSharedFunction
+ - SpheroidalS2Prime
+ - SucceedsTilde
+ - SetSharedVariable
+ - Splice
+ - SuchThat
+ - SetStreamPosition
+ - SplineClosed
+ - Sum
+ - SetSystemOptions
+ - SplineDegree
+ - SumConvergence
+ - Setter
+ - SplineKnots
+ - SuperDagger
+ - SetterBar
+ - SplineWeights
+ - SuperMinus
+ - Setting
+ - Split
+ - SuperPlus
+ - Shallow
+ - SplitBy
+ - Superscript
+ - ShannonWavelet
+ - SpokenString
+ - SuperscriptBox
+ - ShapiroWilkTest
+ - Sqrt
+ - Superset
+ - Share
+ - SqrtBox
+ - SupersetEqual
+ - Sharpen
+ - Square
+ - SuperStar
+ - ShearingMatrix
+ - SquaredEuclideanDistance
+ - SurvivalDistribution
+ - ShearingTransform
+ - SquareFreeQ
+ - SurvivalFunction
+ - Short
+ - SquareIntersection
+ - SuspendPacket
+ - ShortDownArrow
+ - SquaresR
+ - SuzukiDistribution
+ - Shortest
+ - SquareSubset
+ - SuzukiGroupSuz
+ - ShortestPathFunction
+ - SquareSubsetEqual
+ - Switch
+ - ShortLeftArrow
+ - SquareSuperset
+ - Symbol
+ - ShortRightArrow
+ - SquareSupersetEqual
+ - SymbolName
+ - ShortUpArrow
+ - SquareUnion
+ - SymletWavelet
+ - Show
+ - SquareWave
+ - SymmetricGroup
+ - ShowAutoStyles
+ - StabilityMargins
+ - SymmetricMatrixQ
+ - ShowCellBracket
+ - StabilityMarginsStyle
+ - SymmetricPolynomial
+ - ShowCellLabel
+ - StableDistribution
+ - SymmetricReduction
+ - ShowCellTags
+ - Stack
+ - SynchronousInitialization
+ - ShowCursorTracker
+ - StackBegin
+ - SynchronousUpdating
+ - ShowGroupOpener
+ - StackComplete
+ - SyntaxInformation
+ - ShowPageBreaks
+ - StackInhibit
+ - SyntaxLength
+ - ShowSelection
+ - StandardDeviation
+ - SyntaxPacket
+ - ShowSpecialCharacters
+ - StandardDeviationFilter
+ - SyntaxQ
+ - ShowStringCharacters
+ - StandardForm
+ - SystemDialogInput
+ - ShrinkingDelay
+ - Standardize
+ - SystemInformation
+ - SiegelTheta
+ - Star
+ - SystemOpen
+ - SiegelTukeyTest
+ - StarGraph
+ - SystemOptions
+ - Sign
+ - StartingStepSize
+ - SystemsModelDelete
+ - Signature
+ - StartOfLine
+ - SystemsModelDimensions
+ - SignedRankTest
+ - StartOfString
+ - SystemsModelExtract
+ - SignificanceLevel
+ - StartScheduledTask
+ - SystemsModelFeedbackConnect
+ - SignPadding
+ - StateFeedbackGains
+ - SystemsModelLabels
+ - SignTest
+ - StateOutputEstimator
+ - SystemsModelOrder
+ - SimilarityRules
+ - StateResponse
+ - SystemsModelParallelConnect
+ - SimpleGraph
+ - StateSpaceModel
+ - SystemsModelSeriesConnect
+ - SimpleGraphQ
+ - StateSpaceRealization
+ - SystemsModelStateFeedbackConnect
+ - Simplify
+ - StateSpaceTransform
+ - T
+ - Table
+ - Tilde
+ - TraceOn
+ - TableAlignments
+ - TildeEqual
+ - TraceOriginal
+ - TableDepth
+ - TildeFullEqual
+ - TracePrint
+ - TableDirections
+ - TildeTilde
+ - TraceScan
+ - TableForm
+ - TimeConstrained
+ - TrackedSymbols
+ - TableHeadings
+ - TimeConstraint
+ - TradingChart
+ - TableSpacing
+ - Times
+ - TraditionalForm
+ - TabView
+ - TimesBy
+ - TransferFunctionCancel
+ - TagBox
+ - TimeUsed
+ - TransferFunctionExpand
+ - TaggingRules
+ - TimeValue
+ - TransferFunctionFactor
+ - TagSet
+ - TimeZone
+ - TransferFunctionModel
+ - TagSetDelayed
+ - Timing
+ - TransferFunctionPoles
+ - TagUnset
+ - Tiny
+ - TransferFunctionZeros
+ - Take
+ - TitsGroupT
+ - TransformationFunction
+ - TakeWhile
+ - ToBoxes
+ - TransformationFunctions
+ - Tally
+ - ToCharacterCode
+ - TransformationMatrix
+ - Tan
+ - ToContinuousTimeModel
+ - TransformedDistribution
+ - Tanh
+ - ToDiscreteTimeModel
+ - Translate
+ - TargetFunctions
+ - ToeplitzMatrix
+ - TranslationTransform
+ - TautologyQ
+ - ToExpression
+ - Transparent
+ - Temporary
+ - Together
+ - Transpose
+ - TeXForm
+ - Toggler
+ - TreeForm
+ - Text
+ - TogglerBar
+ - TreeGraph
+ - TextAlignment
+ - TokenWords
+ - TreeGraphQ
+ - TextCell
+ - Tolerance
+ - TreePlot
+ - TextClipboardType
+ - ToLowerCase
+ - TrendStyle
+ - TextData
+ - ToNumberField
+ - TriangleWave
+ - TextJustification
+ - Tooltip
+ - TriangularDistribution
+ - TextPacket
+ - TooltipDelay
+ - Trig
+ - TextRecognize
+ - Top
+ - TrigExpand
+ - Texture
+ - TopHatTransform
+ - TrigFactor
+ - TextureCoordinateFunction
+ - TopologicalSort
+ - TrigFactorList
+ - TextureCoordinateScaling
+ - ToRadicals
+ - Trigger
+ - Therefore
+ - ToRules
+ - TrigReduce
+ - Thick
+ - ToString
+ - TrigToExp
+ - Thickness
+ - Total
+ - TrimmedMean
+ - Thin
+ - TotalVariationFilter
+ - True
+ - Thinning
+ - TotalWidth
+ - TrueQ
+ - ThompsonGroupTh
+ - ToUpperCase
+ - TruncatedDistribution
+ - Thread
+ - Tr
+ - TTest
+ - ThreeJSymbol
+ - Trace
+ - Tube
+ - Threshold
+ - TraceAbove
+ - TukeyLambdaDistribution
+ - Through
+ - TraceBackward
+ - Tuples
+ - Throw
+ - TraceDepth
+ - TuranGraph
+ - Thumbnail
+ - TraceDialog
+ - TuringMachine
+ - Ticks
+ - TraceForward
+ - TicksStyle
+ - TraceOff
+ - U
+ - Uncompress
+ - UniformSumDistribution
+ - UpArrowBar
+ - Undefined
+ - Uninstall
+ - UpArrowDownArrow
+ - UnderBar
+ - Union
+ - Update
+ - Underflow
+ - UnionPlus
+ - UpdateInterval
+ - Underlined
+ - Unique
+ - UpDownArrow
+ - Underoverscript
+ - UnitBox
+ - UpEquilibrium
+ - UnderoverscriptBox
+ - Unitize
+ - UpperCaseQ
+ - Underscript
+ - UnitStep
+ - UpperLeftArrow
+ - UnderscriptBox
+ - UnitTriangle
+ - UpperRightArrow
+ - UndirectedEdge
+ - UnitVector
+ - UpperTriangularize
+ - UndirectedGraph
+ - Unprotect
+ - UpSet
+ - UndirectedGraphQ
+ - UnsameQ
+ - UpSetDelayed
+ - Unequal
+ - UnsavedVariables
+ - UpTeeArrow
+ - Unevaluated
+ - Unset
+ - UpValues
+ - UniformDistribution
+ - UnsetShared
+ - UsingFrontEnd
+ - UniformGraphDistribution
+ - UpArrow
+ - V
+ - ValidationLength
+ - VertexAdd
+ - VertexReplace
+ - ValueQ
+ - VertexColors
+ - VertexShape
+ - Variables
+ - VertexComponent
+ - VertexShapeFunction
+ - Variance
+ - VertexCoordinateRules
+ - VertexSize
+ - VarianceEquivalenceTest
+ - VertexCoordinates
+ - VertexStyle
+ - VarianceEstimatorFunction
+ - VertexCount
+ - VertexTextureCoordinates
+ - VarianceTest
+ - VertexCoverQ
+ - VertexWeight
+ - VectorAngle
+ - VertexDegree
+ - VerticalBar
+ - VectorColorFunction
+ - VertexDelete
+ - VerticalSeparator
+ - VectorColorFunctionScaling
+ - VertexEccentricity
+ - VerticalSlider
+ - VectorDensityPlot
+ - VertexInComponent
+ - VerticalTilde
+ - VectorPlot
+ - VertexInDegree
+ - ViewAngle
+ - VectorPlot3D
+ - VertexIndex
+ - ViewCenter
+ - VectorPoints
+ - VertexLabeling
+ - ViewMatrix
+ - VectorQ
+ - VertexLabels
+ - ViewPoint
+ - VectorScale
+ - VertexList
+ - ViewRange
+ - VectorStyle
+ - VertexNormals
+ - ViewVector
+ - Vee
+ - VertexOutComponent
+ - ViewVertical
+ - Verbatim
+ - VertexOutDegree
+ - Visible
+ - VerifyConvergence
+ - VertexQ
+ - VonMisesDistribution
+ - VerifyTestAssumptions
+ - VertexRenderingFunction
+ - W
+ - WaitAll
+ - WeierstrassHalfPeriods
+ - WindowFloating
+ - WaitNext
+ - WeierstrassInvariants
+ - WindowFrame
+ - WakebyDistribution
+ - WeierstrassP
+ - WindowMargins
+ - WalleniusHypergeometricDistribution
+ - WeierstrassPPrime
+ - WindowMovable
+ - WaringYuleDistribution
+ - WeierstrassSigma
+ - WindowOpacity
+ - WatershedComponents
+ - WeierstrassZeta
+ - WindowSize
+ - WatsonUSquareTest
+ - WeightedAdjacencyGraph
+ - WindowStatusArea
+ - WattsStrogatzGraphDistribution
+ - WeightedAdjacencyMatrix
+ - WindowTitle
+ - WaveletBestBasis
+ - WeightedGraphQ
+ - WindowToolbars
+ - WaveletFilterCoefficients
+ - Weights
+ - With
+ - WaveletImagePlot
+ - WheelGraph
+ - WolframAlpha
+ - WaveletListPlot
+ - Which
+ - Word
+ - WaveletMapIndexed
+ - While
+ - WordBoundary
+ - WaveletMatrixPlot
+ - White
+ - WordCharacter
+ - WaveletPhi
+ - Whitespace
+ - WordData
+ - WaveletPsi
+ - WhitespaceCharacter
+ - WordSearch
+ - WaveletScale
+ - WhittakerM
+ - WordSeparators
+ - WaveletScalogram
+ - WhittakerW
+ - WorkingPrecision
+ - WaveletThreshold
+ - WienerFilter
+ - Write
+ - WeatherData
+ - WignerD
+ - WriteString
+ - WeberE
+ - WignerSemicircleDistribution
+ - Wronskian
+ - Wedge
+ - WindowClickSelect
+ - WeibullDistribution
+ - WindowElements
+ - X
+ - XMLElement
+ - Xnor
+ - XMLObject
+ - Xor
+ - Y
+ - Yellow
+ - YuleDissimilarity
+ - Z
+ - ZernikeR
+ - ZetaZero
+ - ZTransform
+ - ZeroTest
+ - ZipfDistribution
+ - Zeta
+ - ZTest
+ - $
+ - $Aborted
+ - $Inspector
+ - $OutputSizeLimit
+ - $AssertFunction
+ - $InstallationDirectory
+ - $Packages
+ - $Assumptions
+ - $IterationLimit
+ - $ParentLink
+ - $BaseDirectory
+ - $KernelCount
+ - $ParentProcessID
+ - $BatchInput
+ - $KernelID
+ - $Path
+ - $BatchOutput
+ - $Language
+ - $PathnameSeparator
+ - $ByteOrdering
+ - $LibraryPath
+ - $PerformanceGoal
+ - $Canceled
+ - $LicenseExpirationDate
+ - $Post
+ - $CharacterEncoding
+ - $LicenseID
+ - $Pre
+ - $CharacterEncodings
+ - $LicenseServer
+ - $PrePrint
+ - $CommandLine
+ - $Line
+ - $PreRead
+ - $CompilationTarget
+ - $Linked
+ - $ProcessID
+ - $ConfiguredKernels
+ - $MachineAddresses
+ - $ProcessorCount
+ - $Context
+ - $MachineDomains
+ - $ProcessorType
+ - $ContextPath
+ - $MachineEpsilon
+ - $RecursionLimit
+ - $ControlActiveSetting
+ - $MachineID
+ - $ReleaseNumber
+ - $CreationDate
+ - $MachineName
+ - $RootDirectory
+ - $CurrentLink
+ - $MachinePrecision
+ - $ScheduledTask
+ - $DateStringFormat
+ - $MachineType
+ - $ScriptCommandLine
+ - $DefaultImagingDevice
+ - $MaxExtraPrecision
+ - $SessionID
+ - $Display
+ - $MaxMachineNumber
+ - $SharedFunctions
+ - $DisplayFunction
+ - $MaxNumber
+ - $SharedVariables
+ - $DistributedContexts
+ - $MaxPiecewiseCases
+ - $SoundDisplayFunction
+ - $DynamicEvaluation
+ - $MaxPrecision
+ - $SyntaxHandler
+ - $Echo
+ - $MaxRootDegree
+ - $System
+ - $Epilog
+ - $MessageGroups
+ - $SystemCharacterEncoding
+ - $ExportFormats
+ - $MessageList
+ - $SystemID
+ - $Failed
+ - $MessagePrePrint
+ - $SystemWordLength
+ - $FrontEnd
+ - $Messages
+ - $TemporaryDirectory
+ - $FrontEndSession
+ - $MinMachineNumber
+ - $TimedOut
+ - $GeoLocation
+ - $MinNumber
+ - $TimeUnit
+ - $HistoryLength
+ - $MinPrecision
+ - $TimeZone
+ - $HomeDirectory
+ - $ModuleNumber
+ - $Urgent
+ - $IgnoreEOF
+ - $NewMessage
+ - $UserBaseDirectory
+ - $ImagingDevices
+ - $NewSymbol
+ - $UserDocumentsDirectory
+ - $ImportFormats
+ - $Notebooks
+ - $UserName
+ - $InitialDirectory
+ - $NumberMarks
+ - $Version
+ - $Input
+ - $OperatingSystem
+ - $VersionNumber
+ - $InputFileName
+ - $Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/matlab.xml b/data/syntax/matlab.xml
new file mode 100644
index 0000000..89d6e66
--- /dev/null
+++ b/data/syntax/matlab.xml
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+
+
+
+
+ - break
+ - case
+ - catch
+ - classdef
+ - continue
+ - else
+ - elseif
+ - end
+ - for
+ - function
+ - global
+ - if
+ - otherwise
+ - parfor
+ - persistent
+ - return
+ - spmd
+ - switch
+ - try
+ - while
+ - methods
+ - properties
+ - events
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/maxima.xml b/data/syntax/maxima.xml
new file mode 100644
index 0000000..b619b17
--- /dev/null
+++ b/data/syntax/maxima.xml
@@ -0,0 +1,1890 @@
+
+
+
+
+
+
+
+
+
+ - and
+ - do
+ - else
+ - elseif
+ - false
+ - for
+ - if
+ - in
+ - not
+ - or
+ - step
+ - then
+ - thru
+ - true
+ - while
+
+
+
+ - FIXME
+ - TODO
+
+
+
+ - abasep
+ - abs
+ - absint
+ - absolute_real_time
+ - acos
+ - acosh
+ - acot
+ - acoth
+ - acsc
+ - acsch
+ - activate
+ - addcol
+ - add_edge
+ - add_edges
+ - addmatrices
+ - addrow
+ - add_vertex
+ - add_vertices
+ - adjacency_matrix
+ - adjoin
+ - adjoint
+ - af
+ - agd
+ - airy_ai
+ - airy_bi
+ - airy_dai
+ - airy_dbi
+ - algsys
+ - alg_type
+ - alias
+ - allroots
+ - alphacharp
+ - alphanumericp
+ - antid
+ - antidiff
+ - AntiDifference
+ - append
+ - appendfile
+ - apply
+ - apply1
+ - apply2
+ - applyb1
+ - apropos
+ - args
+ - arithmetic
+ - arithsum
+ - array
+ - arrayapply
+ - arrayinfo
+ - arraymake
+ - ascii
+ - asec
+ - asech
+ - asin
+ - asinh
+ - askinteger
+ - asksign
+ - assoc
+ - assoc_legendre_p
+ - assoc_legendre_q
+ - assume
+ - asympa
+ - at
+ - atan
+ - atan2
+ - atanh
+ - atensimp
+ - atom
+ - atvalue
+ - augcoefmatrix
+ - augmented_lagrangian_method
+ - av
+ - average_degree
+ - backtrace
+ - barsplot
+ - bashindices
+ - batch
+ - batchload
+ - bc2
+ - bdvac
+ - belln
+ - bern
+ - bernpoly
+ - bessel
+ - bessel_i
+ - bessel_j
+ - bessel_k
+ - bessel_y
+ - beta
+ - bezout
+ - bffac
+ - bfhzeta
+ - bfloat
+ - bfloatp
+ - bfpsi
+ - bfpsi0
+ - bfzeta
+ - biconected_components
+ - bimetric
+ - binomial
+ - bipartition
+ - block
+ - blockmatrixp
+ - bode_gain
+ - bode_phase
+ - bothcoef
+ - box
+ - boxplot
+ - break
+ - bug_report
+ - build_info
+ - buildq
+ - burn
+ - cabs
+ - canform
+ - canten
+ - cardinality
+ - carg
+ - cartan
+ - cartesian_product
+ - catch
+ - cbffac
+ - cdf_bernoulli
+ - cdf_beta
+ - cdf_binomial
+ - cdf_cauchy
+ - cdf_chi2
+ - cdf_continuous_uniform
+ - cdf_discrete_uniform
+ - cdf_exp
+ - cdf_f
+ - cdf_gamma
+ - cdf_geometric
+ - cdf_gumbel
+ - cdf_hypergeometric
+ - cdf_laplace
+ - cdf_logistic
+ - cdf_lognormal
+ - cdf_negative_binomial
+ - cdf_normal
+ - cdf_pareto
+ - cdf_poisson
+ - cdf_rank_sum
+ - cdf_rayleigh
+ - cdf_signed_rank
+ - cdf_student_t
+ - cdf_weibull
+ - cdisplay
+ - ceiling
+ - central_moment
+ - cequal
+ - cequalignore
+ - cf
+ - cfdisrep
+ - cfexpand
+ - cgeodesic
+ - cgreaterp
+ - cgreaterpignore
+ - changename
+ - changevar
+ - chaosgame
+ - charat
+ - charfun
+ - charfun2
+ - charlist
+ - charp
+ - charpoly
+ - chebyshev_t
+ - chebyshev_u
+ - checkdiv
+ - check_overlaps
+ - cholesky
+ - christof
+ - chromatic_index
+ - chromatic_number
+ - cint
+ - circulant_graph
+ - clear_edge_weight
+ - clear_rules
+ - clear_vertex_label
+ - clebsch_graph
+ - clessp
+ - clesspignore
+ - close
+ - closefile
+ - cmetric
+ - coeff
+ - coefmatrix
+ - cograd
+ - col
+ - collapse
+ - collectterms
+ - columnop
+ - columnspace
+ - columnswap
+ - columnvector
+ - combination
+ - combine
+ - comp2pui
+ - compare
+ - compfile
+ - compile
+ - compile_file
+ - complement_graph
+ - complete_bipartite_graph
+ - complete_graph
+ - components
+ - concan
+ - concat
+ - conjugate
+ - conmetderiv
+ - connected_components
+ - connect_vertices
+ - cons
+ - constantp
+ - constituent
+ - cont2part
+ - content
+ - continuous_freq
+ - contortion
+ - contour_plot
+ - contract
+ - contract_edge
+ - contragrad
+ - contrib_ode
+ - convert
+ - coord
+ - copy
+ - copy_graph
+ - copylist
+ - copymatrix
+ - cor
+ - cos
+ - cosh
+ - cot
+ - coth
+ - cov
+ - cov1
+ - covdiff
+ - covect
+ - covers
+ - create_graph
+ - create_list
+ - csc
+ - csch
+ - csetup
+ - cspline
+ - ctaylor
+ - ct_coordsys
+ - ctransform
+ - ctranspose
+ - cube_graph
+ - cunlisp
+ - cv
+ - cycle_digraph
+ - cycle_graph
+ - dblint
+ - deactivate
+ - declare
+ - declare_translated
+ - declare_weight
+ - decsym
+ - defcon
+ - define
+ - define_variable
+ - defint
+ - defmatch
+ - defrule
+ - deftaylor
+ - degree_sequence
+ - del
+ - delete
+ - deleten
+ - delta
+ - demo
+ - demoivre
+ - denom
+ - depends
+ - derivdegree
+ - derivlist
+ - describe
+ - desolve
+ - determinant
+ - dgauss_a
+ - dgauss_b
+ - dgeev
+ - dgesvd
+ - diag
+ - diagmatrix
+ - diag_matrix
+ - diagmatrixp
+ - diameter
+ - diff
+ - digitcharp
+ - dimacs_export
+ - dimacs_import
+ - dimension
+ - direct
+ - discrete_freq
+ - disjoin
+ - disjointp
+ - disolate
+ - disp
+ - dispcon
+ - dispform
+ - dispfun
+ - dispJordan
+ - display
+ - disprule
+ - dispterms
+ - distrib
+ - divide
+ - divisors
+ - divsum
+ - dkummer_m
+ - dkummer_u
+ - dlange
+ - dodecahedron_graph
+ - dotproduct
+ - dotsimp
+ - dpart
+ - draw
+ - draw2d
+ - draw3d
+ - draw_graph
+ - dscalar
+ - echelon
+ - edge_coloring
+ - edges
+ - eigens_by_jacobi
+ - eigenvalues
+ - eigenvectors
+ - eighth
+ - einstein
+ - eivals
+ - eivects
+ - elapsed_real_time
+ - elapsed_run_time
+ - ele2comp
+ - ele2polynome
+ - ele2pui
+ - elem
+ - elementp
+ - eliminate
+ - elliptic_e
+ - elliptic_ec
+ - elliptic_eu
+ - elliptic_f
+ - elliptic_kc
+ - elliptic_pi
+ - ematrix
+ - empty_graph
+ - emptyp
+ - endcons
+ - entermatrix
+ - entertensor
+ - entier
+ - equal
+ - equalp
+ - equiv_classes
+ - erf
+ - errcatch
+ - error
+ - errormsg
+ - euler
+ - ev
+ - eval_string
+ - evenp
+ - every
+ - evolution
+ - evolution2d
+ - evundiff
+ - example
+ - exp
+ - expand
+ - expandwrt
+ - expandwrt_factored
+ - explose
+ - exponentialize
+ - express
+ - expt
+ - exsec
+ - extdiff
+ - extract_linear_equations
+ - extremal_subset
+ - ezgcd
+ - f90
+ - facsum
+ - factcomb
+ - factor
+ - factorfacsum
+ - factorial
+ - factorout
+ - factorsum
+ - facts
+ - fast_central_elements
+ - fast_linsolve
+ - fasttimes
+ - featurep
+ - fft
+ - fib
+ - fibtophi
+ - fifth
+ - filename_merge
+ - file_search
+ - file_type
+ - fillarray
+ - findde
+ - find_root
+ - first
+ - fix
+ - flatten
+ - flength
+ - float
+ - floatnump
+ - floor
+ - flower_snark
+ - flush
+ - flush1deriv
+ - flushd
+ - flushnd
+ - forget
+ - fortran
+ - fourcos
+ - fourexpand
+ - fourier
+ - fourint
+ - fourintcos
+ - fourintsin
+ - foursimp
+ - foursin
+ - fourth
+ - fposition
+ - frame_bracket
+ - freeof
+ - freshline
+ - from_adjacency_matrix
+ - frucht_graph
+ - full_listify
+ - fullmap
+ - fullmapl
+ - fullratsimp
+ - fullratsubst
+ - fullsetify
+ - funcsolve
+ - fundef
+ - funmake
+ - funp
+ - gamma
+ - gauss_a
+ - gauss_b
+ - gaussprob
+ - gcd
+ - gcdex
+ - gcdivide
+ - gcfac
+ - gcfactor
+ - gd
+ - genfact
+ - gen_laguerre
+ - genmatrix
+ - geometric
+ - geometric_mean
+ - geosum
+ - get
+ - get_edge_weight
+ - get_lu_factors
+ - get_pixel
+ - get_vertex_label
+ - gfactor
+ - gfactorsum
+ - ggf
+ - girth
+ - global_variances
+ - gnuplot_close
+ - gnuplot_replot
+ - gnuplot_reset
+ - gnuplot_restart
+ - gnuplot_start
+ - go
+ - Gosper
+ - GosperSum
+ - gradef
+ - gramschmidt
+ - graph6_decode
+ - graph6_encode
+ - graph6_export
+ - graph6_import
+ - graph_center
+ - graph_charpoly
+ - graph_eigenvalues
+ - graph_order
+ - graph_periphery
+ - graph_product
+ - graph_size
+ - graph_union
+ - grid_graph
+ - grind
+ - grobner_basis
+ - grotzch_graph
+ - hamilton_cycle
+ - hamilton_path
+ - hankel
+ - harmonic
+ - harmonic_mean
+ - hav
+ - heawood_graph
+ - hermite
+ - hessian
+ - hilbert_matrix
+ - hipow
+ - histogram
+ - hodge
+ - horner
+ - ic1
+ - ic2
+ - ic_convert
+ - ichr1
+ - ichr2
+ - icosahedron_graph
+ - icurvature
+ - ident
+ - identfor
+ - identity
+ - idiff
+ - idim
+ - idummy
+ - ieqn
+ - ifactors
+ - iframes
+ - ifs
+ - ift
+ - igeodesic_coords
+ - ilt
+ - imagpart
+ - imetric
+ - implicit_derivative
+ - implicit_plot
+ - indexed_tensor
+ - indices
+ - induced_subgraph
+ - inferencep
+ - inference_result
+ - infix
+ - init_atensor
+ - init_ctensor
+ - in_neighbors
+ - innerproduct
+ - inpart
+ - inprod
+ - inrt
+ - integerp
+ - integer_partitions
+ - integrate
+ - intersect
+ - intersection
+ - intervalp
+ - intopois
+ - intosum
+ - invariant1
+ - invariant2
+ - inverse_jacobi_cd
+ - inverse_jacobi_cn
+ - inverse_jacobi_cs
+ - inverse_jacobi_dc
+ - inverse_jacobi_dn
+ - inverse_jacobi_ds
+ - inverse_jacobi_nc
+ - inverse_jacobi_nd
+ - inverse_jacobi_ns
+ - inverse_jacobi_sc
+ - inverse_jacobi_sd
+ - inverse_jacobi_sn
+ - invert
+ - invert_by_lu
+ - inv_mod
+ - is
+ - is_biconnected
+ - is_bipartite
+ - is_connected
+ - is_digraph
+ - is_edge_in_graph
+ - is_graph
+ - is_graph_or_digraph
+ - ishow
+ - is_isomorphic
+ - isolate
+ - isomorphism
+ - is_planar
+ - isqrt
+ - is_sconnected
+ - is_tree
+ - is_vertex_in_graph
+ - items_inference
+ - jacobi
+ - jacobian
+ - jacobi_cd
+ - jacobi_cn
+ - jacobi_cs
+ - jacobi_dc
+ - jacobi_dn
+ - jacobi_ds
+ - jacobi_nc
+ - jacobi_nd
+ - jacobi_ns
+ - jacobi_p
+ - jacobi_sc
+ - jacobi_sd
+ - jacobi_sn
+ - JF
+ - join
+ - jordan
+ - julia
+ - kdels
+ - kdelta
+ - kill
+ - killcontext
+ - kostka
+ - kron_delta
+ - kronecker_product
+ - kummer_m
+ - kummer_u
+ - kurtosis
+ - kurtosis_bernoulli
+ - kurtosis_beta
+ - kurtosis_binomial
+ - kurtosis_chi2
+ - kurtosis_continuous_uniform
+ - kurtosis_discrete_uniform
+ - kurtosis_exp
+ - kurtosis_f
+ - kurtosis_gamma
+ - kurtosis_geometric
+ - kurtosis_gumbel
+ - kurtosis_hypergeometric
+ - kurtosis_laplace
+ - kurtosis_logistic
+ - kurtosis_lognormal
+ - kurtosis_negative_binomial
+ - kurtosis_normal
+ - kurtosis_pareto
+ - kurtosis_poisson
+ - kurtosis_rayleigh
+ - kurtosis_student_t
+ - kurtosis_weibull
+ - labels
+ - lagrange
+ - laguerre
+ - lambda
+ - laplace
+ - laplacian_matrix
+ - last
+ - lbfgs
+ - lc2kdt
+ - lcharp
+ - lc_l
+ - lcm
+ - lc_u
+ - ldefint
+ - ldisp
+ - ldisplay
+ - legendre_p
+ - legendre_q
+ - leinstein
+ - length
+ - let
+ - letrules
+ - letsimp
+ - levi_civita
+ - lfreeof
+ - lgtreillis
+ - lhs
+ - li
+ - liediff
+ - limit
+ - Lindstedt
+ - linear
+ - linearinterpol
+ - linear_program
+ - line_graph
+ - linsolve
+ - listarray
+ - list_correlations
+ - listify
+ - list_nc_monomials
+ - listoftens
+ - listofvars
+ - listp
+ - lmax
+ - lmin
+ - load
+ - loadfile
+ - local
+ - locate_matrix_entry
+ - log
+ - logand
+ - logarc
+ - logcontract
+ - logor
+ - logxor
+ - lopow
+ - lorentz_gauge
+ - lowercasep
+ - lpart
+ - lratsubst
+ - lreduce
+ - lriemann
+ - lsquares_estimates
+ - lsquares_estimates_approximate
+ - lsquares_estimates_exact
+ - lsquares_mse
+ - lsquares_residual_mse
+ - lsquares_residuals
+ - lsum
+ - ltreillis
+ - lu_backsub
+ - lu_factor
+ - macroexpand
+ - macroexpand1
+ - make_array
+ - makebox
+ - makefact
+ - makegamma
+ - make_level_picture
+ - makelist
+ - makeOrders
+ - make_poly_continent
+ - make_poly_country
+ - make_polygon
+ - make_random_state
+ - make_rgb_picture
+ - makeset
+ - make_transform
+ - mandelbrot
+ - map
+ - mapatom
+ - maplist
+ - matchdeclare
+ - matchfix
+ - mat_cond
+ - mat_fullunblocker
+ - mat_function
+ - mat_norm
+ - matrix
+ - matrixmap
+ - matrixp
+ - matrix_size
+ - mattrace
+ - mat_trace
+ - mat_unblocker
+ - max
+ - max_clique
+ - max_degree
+ - max_flow
+ - maxi
+ - maximize_lp
+ - max_independent_set
+ - max_matching
+ - maybe
+ - mean
+ - mean_bernoulli
+ - mean_beta
+ - mean_binomial
+ - mean_chi2
+ - mean_continuous_uniform
+ - mean_deviation
+ - mean_discrete_uniform
+ - mean_exp
+ - mean_f
+ - mean_gamma
+ - mean_geometric
+ - mean_gumbel
+ - mean_hypergeometric
+ - mean_laplace
+ - mean_logistic
+ - mean_lognormal
+ - mean_negative_binomial
+ - mean_normal
+ - mean_pareto
+ - mean_poisson
+ - mean_rayleigh
+ - mean_student_t
+ - mean_weibull
+ - median
+ - median_deviation
+ - member
+ - metricexpandall
+ - min
+ - min_degree
+ - minfactorial
+ - mini
+ - minimalPoly
+ - minimize_lp
+ - minimum_spanning_tree
+ - minor
+ - mnewton
+ - mod
+ - mode_declare
+ - mode_identity
+ - ModeMatrix
+ - moebius
+ - mon2schur
+ - mono
+ - monomial_dimensions
+ - multi_elem
+ - multinomial
+ - multinomial_coeff
+ - multi_orbit
+ - multi_pui
+ - multsym
+ - multthru
+ - mycielski_graph
+ - nary
+ - nc_degree
+ - ncexpt
+ - ncharpoly
+ - negative_picture
+ - neighbors
+ - newcontext
+ - newdet
+ - new_graph
+ - newline
+ - newton
+ - next_prime
+ - niceindices
+ - ninth
+ - noncentral_moment
+ - nonmetricity
+ - nonnegintegerp
+ - nonscalarp
+ - nonzeroandfreeof
+ - notequal
+ - nounify
+ - nptetrad
+ - nroots
+ - nterms
+ - ntermst
+ - nthroot
+ - nullity
+ - nullspace
+ - num
+ - numbered_boundaries
+ - numberp
+ - num_distinct_partitions
+ - numerval
+ - numfactor
+ - num_partitions
+ - nusum
+ - odd_girth
+ - oddp
+ - ode2
+ - ode_check
+ - odelin
+ - op
+ - opena
+ - openr
+ - openw
+ - operatorp
+ - opsubst
+ - optimize
+ - orbit
+ - orbits
+ - ordergreat
+ - ordergreatp
+ - orderless
+ - orderlessp
+ - orthogonal_complement
+ - orthopoly_recur
+ - orthopoly_weight
+ - outermap
+ - out_neighbors
+ - outofpois
+ - pade
+ - parGosper
+ - parse_string
+ - part
+ - part2cont
+ - partfrac
+ - partition
+ - partition_set
+ - partpol
+ - path_digraph
+ - path_graph
+ - pdf_bernoulli
+ - pdf_beta
+ - pdf_binomial
+ - pdf_cauchy
+ - pdf_chi2
+ - pdf_continuous_uniform
+ - pdf_discrete_uniform
+ - pdf_exp
+ - pdf_f
+ - pdf_gamma
+ - pdf_geometric
+ - pdf_gumbel
+ - pdf_hypergeometric
+ - pdf_laplace
+ - pdf_logistic
+ - pdf_lognormal
+ - pdf_negative_binomial
+ - pdf_normal
+ - pdf_pareto
+ - pdf_poisson
+ - pdf_rank_sum
+ - pdf_rayleigh
+ - pdf_signed_rank
+ - pdf_student_t
+ - pdf_weibull
+ - pearson_skewness
+ - permanent
+ - permut
+ - permutation
+ - permutations
+ - petersen_graph
+ - petrov
+ - pickapart
+ - picture_equalp
+ - picturep
+ - piechart
+ - planar_embedding
+ - playback
+ - plog
+ - plot2d
+ - plot3d
+ - plotdf
+ - plsquares
+ - pochhammer
+ - poisdiff
+ - poisexpt
+ - poisint
+ - poismap
+ - poisplus
+ - poissimp
+ - poissubst
+ - poistimes
+ - poistrim
+ - polarform
+ - polartorect
+ - poly_add
+ - poly_buchberger
+ - poly_buchberger_criterion
+ - poly_colon_ideal
+ - poly_content
+ - polydecomp
+ - poly_depends_p
+ - poly_elimination_ideal
+ - poly_exact_divide
+ - poly_expand
+ - poly_expt
+ - poly_gcd
+ - poly_grobner
+ - poly_grobner_equal
+ - poly_grobner_member
+ - poly_grobner_subsetp
+ - poly_ideal_intersection
+ - poly_ideal_polysaturation
+ - poly_ideal_polysaturation1
+ - poly_ideal_saturation
+ - poly_ideal_saturation1
+ - poly_lcm
+ - poly_minimization
+ - polymod
+ - poly_multiply
+ - polynome2ele
+ - polynomialp
+ - poly_normal_form
+ - poly_normalize
+ - poly_normalize_list
+ - poly_polysaturation_extension
+ - poly_primitive_part
+ - poly_pseudo_divide
+ - poly_reduced_grobner
+ - poly_reduction
+ - poly_saturation_extension
+ - poly_s_polynomial
+ - poly_subtract
+ - polytocompanion
+ - potential
+ - power_mod
+ - powers
+ - powerseries
+ - powerset
+ - prev_prime
+ - primep
+ - print
+ - printf
+ - print_graph
+ - printpois
+ - printprops
+ - prodrac
+ - product
+ - properties
+ - propvars
+ - psi
+ - ptriangularize
+ - pui
+ - pui2comp
+ - pui2ele
+ - pui2polynome
+ - pui_direct
+ - puireduc
+ - put
+ - qput
+ - qrange
+ - quad_qag
+ - quad_qagi
+ - quad_qags
+ - quad_qawc
+ - quad_qawf
+ - quad_qawo
+ - quad_qaws
+ - quantile
+ - quantile_bernoulli
+ - quantile_beta
+ - quantile_binomial
+ - quantile_cauchy
+ - quantile_chi2
+ - quantile_continuous_uniform
+ - quantile_discrete_uniform
+ - quantile_exp
+ - quantile_f
+ - quantile_gamma
+ - quantile_geometric
+ - quantile_gumbel
+ - quantile_hypergeometric
+ - quantile_laplace
+ - quantile_logistic
+ - quantile_lognormal
+ - quantile_negative_binomial
+ - quantile_normal
+ - quantile_pareto
+ - quantile_poisson
+ - quantile_rayleigh
+ - quantile_student_t
+ - quantile_weibull
+ - quartile_skewness
+ - quit
+ - qunit
+ - quotient
+ - radcan
+ - radius
+ - random
+ - random_bernoulli
+ - random_beta
+ - random_binomial
+ - random_cauchy
+ - random_chi2
+ - random_continuous_uniform
+ - random_digraph
+ - random_discrete_uniform
+ - random_exp
+ - random_f
+ - random_gamma
+ - random_geometric
+ - random_graph
+ - random_graph1
+ - random_gumbel
+ - random_hypergeometric
+ - random_laplace
+ - random_logistic
+ - random_lognormal
+ - random_negative_binomial
+ - random_network
+ - random_normal
+ - random_pareto
+ - random_permutation
+ - random_poisson
+ - random_rayleigh
+ - random_regular_graph
+ - random_student_t
+ - random_tournament
+ - random_tree
+ - random_weibull
+ - range
+ - rank
+ - rat
+ - ratcoef
+ - ratdenom
+ - ratdiff
+ - ratdisrep
+ - ratexpand
+ - rational
+ - rationalize
+ - ratnumer
+ - ratnump
+ - ratp
+ - ratsimp
+ - ratsubst
+ - ratvars
+ - ratweight
+ - read
+ - read_hashed_array
+ - readline
+ - read_lisp_array
+ - read_list
+ - read_matrix
+ - read_maxima_array
+ - read_nested_list
+ - readonly
+ - read_xpm
+ - realpart
+ - realroots
+ - rearray
+ - rectform
+ - recttopolar
+ - rediff
+ - reduce_consts
+ - reduce_order
+ - region_boundaries
+ - rem
+ - remainder
+ - remarray
+ - rembox
+ - remcomps
+ - remcon
+ - remcoord
+ - remfun
+ - remfunction
+ - remlet
+ - remove
+ - remove_edge
+ - remove_vertex
+ - rempart
+ - remrule
+ - remsym
+ - remvalue
+ - rename
+ - reset
+ - residue
+ - resolvante
+ - resolvante_alternee1
+ - resolvante_bipartite
+ - resolvante_diedrale
+ - resolvante_klein
+ - resolvante_klein3
+ - resolvante_produit_sym
+ - resolvante_unitaire
+ - resolvante_vierer
+ - rest
+ - resultant
+ - return
+ - reveal
+ - reverse
+ - revert
+ - revert2
+ - rgb2level
+ - rhs
+ - ricci
+ - riemann
+ - rinvariant
+ - risch
+ - rk
+ - rncombine
+ - romberg
+ - room
+ - rootscontract
+ - row
+ - rowop
+ - rowswap
+ - rreduce
+ - run_testsuite
+ - save
+ - scalarp
+ - scaled_bessel_i
+ - scaled_bessel_i0
+ - scaled_bessel_i1
+ - scalefactors
+ - scanmap
+ - scatterplot
+ - schur2comp
+ - sconcat
+ - scopy
+ - scsimp
+ - scurvature
+ - sdowncase
+ - sec
+ - sech
+ - second
+ - sequal
+ - sequalignore
+ - setdifference
+ - set_edge_weight
+ - setelmx
+ - setequalp
+ - setify
+ - setp
+ - set_partitions
+ - set_plot_option
+ - set_random_state
+ - setunits
+ - setup_autoload
+ - set_up_dot_simplifications
+ - set_vertex_label
+ - seventh
+ - sexplode
+ - sf
+ - shortest_path
+ - show
+ - showcomps
+ - showratvars
+ - sign
+ - signum
+ - similaritytransform
+ - simple_linear_regression
+ - simplify_sum
+ - simplode
+ - simpmetderiv
+ - simtran
+ - sin
+ - sinh
+ - sinsert
+ - sinvertcase
+ - sixth
+ - skewness
+ - skewness_bernoulli
+ - skewness_beta
+ - skewness_binomial
+ - skewness_chi2
+ - skewness_continuous_uniform
+ - skewness_discrete_uniform
+ - skewness_exp
+ - skewness_f
+ - skewness_gamma
+ - skewness_geometric
+ - skewness_gumbel
+ - skewness_hypergeometric
+ - skewness_laplace
+ - skewness_logistic
+ - skewness_lognormal
+ - skewness_negative_binomial
+ - skewness_normal
+ - skewness_pareto
+ - skewness_poisson
+ - skewness_rayleigh
+ - skewness_student_t
+ - skewness_weibull
+ - slength
+ - smake
+ - smismatch
+ - solve
+ - solve_rec
+ - solve_rec_rat
+ - some
+ - somrac
+ - sort
+ - sparse6_decode
+ - sparse6_encode
+ - sparse6_export
+ - sparse6_import
+ - specint
+ - spherical_bessel_j
+ - spherical_bessel_y
+ - spherical_hankel1
+ - spherical_hankel2
+ - spherical_harmonic
+ - splice
+ - split
+ - sposition
+ - sprint
+ - sqfr
+ - sqrt
+ - sqrtdenest
+ - sremove
+ - sremovefirst
+ - sreverse
+ - ssearch
+ - ssort
+ - sstatus
+ - ssubst
+ - ssubstfirst
+ - staircase
+ - status
+ - std
+ - std1
+ - std_bernoulli
+ - std_beta
+ - std_binomial
+ - std_chi2
+ - std_continuous_uniform
+ - std_discrete_uniform
+ - std_exp
+ - std_f
+ - std_gamma
+ - std_geometric
+ - std_gumbel
+ - std_hypergeometric
+ - std_laplace
+ - std_logistic
+ - std_lognormal
+ - std_negative_binomial
+ - std_normal
+ - std_pareto
+ - std_poisson
+ - std_rayleigh
+ - std_student_t
+ - std_weibull
+ - stirling
+ - stirling1
+ - stirling2
+ - strim
+ - striml
+ - strimr
+ - string
+ - stringout
+ - stringp
+ - strong_components
+ - sublis
+ - sublist
+ - sublist_indices
+ - submatrix
+ - subsample
+ - subset
+ - subsetp
+ - subst
+ - substinpart
+ - substpart
+ - substring
+ - subvar
+ - subvarp
+ - sum
+ - sumcontract
+ - summand_to_rec
+ - supcase
+ - supcontext
+ - symbolp
+ - symmdifference
+ - symmetricp
+ - system
+ - take_channel
+ - take_inference
+ - tan
+ - tanh
+ - taylor
+ - taylorinfo
+ - taylorp
+ - taylor_simplifier
+ - taytorat
+ - tcl_output
+ - tcontract
+ - tellrat
+ - tellsimp
+ - tellsimpafter
+ - tentex
+ - tenth
+ - test_mean
+ - test_means_difference
+ - test_normality
+ - test_rank_sum
+ - test_sign
+ - test_signed_rank
+ - test_variance
+ - test_variance_ratio
+ - tex
+ - texput
+ - %th
+ - third
+ - throw
+ - time
+ - timedate
+ - timer
+ - timer_info
+ - tldefint
+ - tlimit
+ - todd_coxeter
+ - toeplitz
+ - tokens
+ - to_lisp
+ - topological_sort
+ - totaldisrep
+ - totalfourier
+ - totient
+ - tpartpol
+ - trace
+ - tracematrix
+ - trace_options
+ - translate
+ - translate_file
+ - transpose
+ - tree_reduce
+ - treillis
+ - treinat
+ - triangularize
+ - trigexpand
+ - trigrat
+ - trigreduce
+ - trigsimp
+ - trunc
+ - tr_warnings_get
+ - ueivects
+ - uforget
+ - ultraspherical
+ - underlying_graph
+ - undiff
+ - union
+ - unique
+ - uniteigenvectors
+ - unit_step
+ - unitvector
+ - unknown
+ - unorder
+ - unsum
+ - untellrat
+ - untimer
+ - untrace
+ - uppercasep
+ - uricci
+ - uriemann
+ - uvect
+ - vandermonde_matrix
+ - var
+ - var1
+ - var_bernoulli
+ - var_beta
+ - var_binomial
+ - var_chi2
+ - var_continuous_uniform
+ - var_discrete_uniform
+ - var_exp
+ - var_f
+ - var_gamma
+ - var_geometric
+ - var_gumbel
+ - var_hypergeometric
+ - var_laplace
+ - var_logistic
+ - var_lognormal
+ - var_negative_binomial
+ - var_normal
+ - var_pareto
+ - var_poisson
+ - var_rayleigh
+ - var_student_t
+ - var_weibull
+ - vectorpotential
+ - vectorsimp
+ - verbify
+ - vers
+ - vertex_coloring
+ - vertex_degree
+ - vertex_distance
+ - vertex_eccentricity
+ - vertex_in_degree
+ - vertex_out_degree
+ - vertices
+ - vertices_to_cycle
+ - vertices_to_path
+ - weyl
+ - wheel_graph
+ - with_stdout
+ - write_data
+ - writefile
+ - wronskian
+ - xgraph_curves
+ - xreduce
+ - xthru
+ - Zeilberger
+ - zeroequiv
+ - zerofor
+ - zeromatrix
+ - zeromatrixp
+ - zeta
+ - zlange
+
+
+
+ - _
+ - __
+ - %
+ - %%
+ - absboxchar
+ - activecontexts
+ - additive
+ - algebraic
+ - algepsilon
+ - algexact
+ - aliases
+ - all_dotsimp_denoms
+ - allbut
+ - allsym
+ - arrays
+ - askexp
+ - assume_pos
+ - assume_pos_pred
+ - assumescalar
+ - atomgrad
+ - backsubst
+ - berlefact
+ - besselexpand
+ - bftorat
+ - bftrunc
+ - boxchar
+ - breakup
+ - cauchysum
+ - cflength
+ - cframe_flag
+ - cnonmet_flag
+ - context
+ - contexts
+ - cosnpiflag
+ - ctaypov
+ - ctaypt
+ - ctayswitch
+ - ctayvar
+ - ct_coords
+ - ctorsion_flag
+ - ctrgsimp
+ - current_let_rule_package
+ - debugmode
+ - default_let_rule_package
+ - demoivre
+ - dependencies
+ - derivabbrev
+ - derivsubst
+ - detout
+ - diagmetric
+ - dim
+ - dispflag
+ - display2d
+ - display_format_internal
+ - doallmxops
+ - domain
+ - domxexpt
+ - domxmxops
+ - domxnctimes
+ - dontfactor
+ - doscmxops
+ - doscmxplus
+ - dot0nscsimp
+ - dot0simp
+ - dot1simp
+ - dotassoc
+ - dotconstrules
+ - dotdistrib
+ - dotexptsimp
+ - dotident
+ - dotscrules
+ - draw_graph_program
+ - %edispflag
+ - %emode
+ - %enumer
+ - epsilon_lp
+ - erfflag
+ - error
+ - error_size
+ - error_syms
+ - %e_to_numlog
+ - evflag
+ - evfun
+ - expandwrt_denom
+ - expon
+ - exponentialize
+ - expop
+ - exptdispflag
+ - exptisolate
+ - exptsubst
+ - facexpand
+ - factlim
+ - factorflag
+ - file_output_append
+ - file_search_demo
+ - file_search_lisp
+ - file_search_maxima
+ - find_root_abs
+ - find_root_error
+ - find_root_rel
+ - flipflag
+ - float2bf
+ - fortindent
+ - fortspaces
+ - fpprec
+ - fpprintprec
+ - functions
+ - gammalim
+ - gdet
+ - genindex
+ - gensumnum
+ - GGFCFMAX
+ - GGFINFINITY
+ - globalsolve
+ - gradefs
+ - grind
+ - halfangles
+ - %iargs
+ - ibase
+ - icounter
+ - idummyx
+ - ieqnprint
+ - iframe_bracket_form
+ - igeowedge_flag
+ - imetric
+ - inchar
+ - infeval
+ - inflag
+ - infolists
+ - in_netmath
+ - integrate_use_rootsof
+ - integration_constant
+ - integration_constant_counter
+ - intfaclim
+ - isolate_wrt_times
+ - keepfloat
+ - labels
+ - letrat
+ - let_rule_packages
+ - lhospitallim
+ - limsubst
+ - linechar
+ - linel
+ - linenum
+ - linsolve_params
+ - linsolvewarn
+ - lispdisp
+ - listarith
+ - listconstvars
+ - listdummyvars
+ - lmxchar
+ - loadprint
+ - logabs
+ - logarc
+ - logconcoeffp
+ - logexpand
+ - lognegint
+ - lognumer
+ - logsimp
+ - m1pbranch
+ - macroexpansion
+ - maperror
+ - mapprint
+ - matrix_element_add
+ - matrix_element_mult
+ - matrix_element_transpose
+ - maxapplydepth
+ - maxapplyheight
+ - maxima_tempdir
+ - maxima_userdir
+ - maxnegex
+ - maxposex
+ - maxpsifracdenom
+ - maxpsifracnum
+ - maxpsinegint
+ - maxpsiposint
+ - maxtayorder
+ - method
+ - mode_check_errorp
+ - mode_checkp
+ - mode_check_warnp
+ - modulus
+ - multiplicities
+ - myoptions
+ - negdistrib
+ - negsumdispflag
+ - newtonepsilon
+ - newtonmaxiter
+ - niceindicespref
+ - nolabels
+ - nonegative_lp
+ - noundisp
+ - obase
+ - opproperties
+ - opsubst
+ - optimprefix
+ - optionset
+ - outchar
+ - packagefile
+ - partswitch
+ - pfeformat
+ - %piargs
+ - piece
+ - plot_options
+ - poislim
+ - poly_coefficient_ring
+ - poly_elimination_order
+ - poly_grobner_algorithm
+ - poly_grobner_debug
+ - poly_monomial_order
+ - poly_primary_elimination_order
+ - poly_return_term_list
+ - poly_secondary_elimination_order
+ - poly_top_reduction_only
+ - powerdisp
+ - prederror
+ - primep_number_of_tests
+ - product_use_gamma
+ - programmode
+ - prompt
+ - psexpand
+ - radexpand
+ - radsubstflag
+ - random_beta_algorithm
+ - random_binomial_algorithm
+ - random_chi2_algorithm
+ - random_exp_algorithm
+ - random_f_algorithm
+ - random_gamma_algorithm
+ - random_geometric_algorithm
+ - random_hypergeometric_algorithm
+ - random_negative_binomial_algorithm
+ - random_normal_algorithm
+ - random_poisson_algorithm
+ - random_student_t_algorithm
+ - ratalgdenom
+ - ratchristof
+ - ratdenomdivide
+ - rateinstein
+ - ratepsilon
+ - ratexpand
+ - ratfac
+ - ratmx
+ - ratprint
+ - ratriemann
+ - ratsimpexpons
+ - ratvars
+ - ratweights
+ - ratweyl
+ - ratwtlvl
+ - realonly
+ - refcheck
+ - rmxchar
+ - %rnum_list
+ - rombergabs
+ - rombergit
+ - rombergmin
+ - rombergtol
+ - rootsconmode
+ - rootsepsilon
+ - savedef
+ - savefactors
+ - scalarmatrixp
+ - setcheck
+ - setcheckbreak
+ - setval
+ - showtime
+ - simplify_products
+ - simpsum
+ - sinnpiflag
+ - solvedecomposes
+ - solveexplicit
+ - solvefactors
+ - solve_inconsistent_error
+ - solvenullwarn
+ - solveradcan
+ - solvetrigwarn
+ - sparse
+ - sqrtdispflag
+ - stardisp
+ - stats_numer
+ - stringdisp
+ - sublis_apply_lambda
+ - sumexpand
+ - sumsplitfact
+ - taylordepth
+ - taylor_logexpand
+ - taylor_order_coefficients
+ - taylor_truncate_polynomials
+ - tensorkill
+ - testsuite_files
+ - timer_devalue
+ - tlimswitch
+ - transcompile
+ - transrun
+ - tr_array_as_ref
+ - tr_bound_function_applyp
+ - tr_file_tty_messagesp
+ - tr_float_can_branch_complex
+ - tr_function_call_default
+ - trigexpandplus
+ - trigexpandtimes
+ - triginverses
+ - trigsign
+ - tr_numer
+ - tr_optimize_max_loop
+ - tr_semicompile
+ - tr_state_vars
+ - tr_warn_bad_function_calls
+ - tr_warn_fexpr
+ - tr_warn_meval
+ - tr_warn_mode
+ - tr_warn_undeclared
+ - tr_warn_undefined_variable
+ - tr_windy
+ - ttyoff
+ - use_fast_arrays
+ - values
+ - vect_cross
+ - verbose
+ - zerobern
+ - zeta%pi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mediawiki.xml b/data/syntax/mediawiki.xml
new file mode 100644
index 0000000..e46c74d
--- /dev/null
+++ b/data/syntax/mediawiki.xml
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mel.xml b/data/syntax/mel.xml
new file mode 100644
index 0000000..522daba
--- /dev/null
+++ b/data/syntax/mel.xml
@@ -0,0 +1,1381 @@
+
+
+
+
+
+
+
+ - break
+ - case
+ - continue
+ - default
+ - do
+ - else
+ - false
+ - for
+ - global
+ - if
+ - in
+ - proc
+ - return
+ - switch
+ - true
+ - while
+
+
+
+
+ - about
+ - abs
+ - addAttr
+ - addAttributeEditorNodeHelp
+ - addDynamic
+ - addNewShelfTab
+ - addPanelCategory
+ - addPP
+ - addPrefixToName
+ - advanceToNextDrivenKey
+ - affectedNet
+ - affects
+ - aimConstraint
+ - air
+ - aliasAttr
+ - alias
+ - alignCtx
+ - alignCurve
+ - align
+ - alignSurface
+ - allViewFit
+ - ambientLight
+ - angleBetween
+ - angle
+ - animCurveEditor
+ - animDisplay
+ - animView
+ - annotate
+ - appendStringArray
+ - applicationName
+ - applyAttrPreset
+ - applyTake
+ - arcLenDimContext
+ - arcLengthDimension
+ - arclen
+ - arrayMapper
+ - art3dPaintCtx
+ - artAttrCtx
+ - artAttrPaintVertexCtx
+ - artAttrSkinPaintCtx
+ - artAttrTool
+ - artBuildPaintMenu
+ - artFluidAttrCtx
+ - artPuttyCtx
+ - artSelectCtx
+ - artSetPaintCtx
+ - artUserPaintCtx
+ - assignCommand
+ - assignInputDevice
+ - assignViewportFactories
+ - attachCurve
+ - attachDeviceAttr
+ - attachSurface
+ - attrColorSliderGrp
+ - attrCompatibility
+ - attrControlGrp
+ - attrEnumOptionMenuGrp
+ - attrEnumOptionMenu
+ - attrFieldGrp
+ - attrFieldSliderGrp
+ - attributeExists
+ - attributeInfo
+ - attributeMenu
+ - attributeQuery
+ - attrNavigationControlGrp
+ - attrPresetEditWin
+ - autoKeyframe
+ - autoPlace
+ - bakeClip
+ - bakeFluidShading
+ - bakePartialHistory
+ - bakeResults
+ - bakeSimulation
+ - basenameEx
+ - basename
+ - batchRender
+ - bessel
+ - bevel
+ - bevelPlus
+ - bindSkin
+ - binMembership
+ - blank
+ - blend2
+ - blendShapeEditor
+ - blendShape
+ - blendShapePanel
+ - blendTwoAttr
+ - blindDataType
+ - boneLattice
+ - boundary
+ - boxDollyCtx
+ - boxZoomCtx
+ - bufferCurve
+ - buildBookmarkMenu
+ - buildKeyframeMenu
+ - button
+ - buttonManip
+ - cacheFileCombine
+ - cacheFile
+ - cacheFileMerge
+ - cacheFileTrack
+ - camera
+ - cameraView
+ - canCreateManip
+ - canvas
+ - capitalizeString
+ - cat_Animation
+ - catch
+ - catchQuiet
+ - cat_Effects
+ - cat_General
+ - cat_Language
+ - cat_Modeling
+ - cat_Rendering
+ - cat_System
+ - cat_Windows
+ - CBG
+ - ceil
+ - changeSubdivComponentDisplayLevel
+ - changeSubdivRegion
+ - channelBox
+ - character
+ - characterize
+ - characterMap
+ - characterOutlineEditor
+ - chdir
+ - checkBoxGrp
+ - checkBox
+ - checkDefaultRenderGlobals
+ - choice
+ - circle
+ - circularFillet
+ - clamp
+ - clearCache
+ - clear
+ - clipEditorCurrentTimeCtx
+ - clipEditor
+ - clip
+ - clipSchedule
+ - clipSchedulerOutliner
+ - clipTrimBefore
+ - closeCurve
+ - closeSurface
+ - cluster
+ - cmdFileOutput
+ - cmdScrollFieldExecuter
+ - cmdScrollFieldReporter
+ - cmdShell
+ - coarsenSubdivSelectionList
+ - collision
+ - colorAtPoint
+ - colorEditor
+ - color
+ - colorIndex
+ - colorIndexSliderGrp
+ - colorSliderButtonGrp
+ - colorSliderGrp
+ - columnLayout
+ - commandEcho
+ - commandLine
+ - commandPort
+ - compactHairSystem
+ - componentEditor
+ - compositingInterop
+ - computePolysetVolume
+ - condition
+ - cone
+ - confirmDialog
+ - connectAttr
+ - connectControl
+ - connectDynamic
+ - connectionInfo
+ - connectJoint
+ - constrain
+ - constrainValue
+ - constructionHistory
+ - container
+ - containsMultibyte
+ - contextInfo
+ - control
+ - convertFromOldLayers
+ - convertIffToPsd
+ - convertLightmap
+ - convertSolidTx
+ - convertTessellation
+ - convertUnit
+ - copyArray
+ - copyFlexor
+ - copyKey
+ - copySkinWeights
+ - cos
+ - cpButton
+ - cpCache
+ - cpClothSet
+ - cpCollision
+ - cpConstraint
+ - cpConvClothToMesh
+ - cpForces
+ - cpGetSolverAttr
+ - cpPanel
+ - cpProperty
+ - cpRigidCollisionFilter
+ - cpSeam
+ - cpSetEdit
+ - cpSetSolverAttr
+ - cpSolver
+ - cpSolverTypes
+ - cpTool
+ - cpUpdateClothUVs
+ - createDisplayLayer
+ - createDrawCtx
+ - createEditor
+ - createLayeredPsdFile
+ - createMotionField
+ - createNewShelf
+ - createNode
+ - createRenderLayer
+ - createSubdivRegion
+ - cross
+ - crossProduct
+ - ctxAbort
+ - ctxCompletion
+ - ctxEditMode
+ - ctxTraverse
+ - currentCtx
+ - currentTimeCtx
+ - currentTime
+ - currentUnit
+ - curveAddPtCtx
+ - curveCVCtx
+ - curveEditorCtx
+ - curveEPCtx
+ - curve
+ - curveIntersect
+ - curveMoveEPCtx
+ - curveOnSurface
+ - curveSketchCtx
+ - cutKey
+ - cycleCheck
+ - cylinder
+ - dagPose
+ - date
+ - defaultLightListCheckBox
+ - defaultNavigation
+ - defineDataServer
+ - defineVirtualDevice
+ - deformer
+ - deg_to_rad
+ - deleteAttr
+ - delete
+ - deleteShadingGroupsAndMaterials
+ - deleteShelfTab
+ - deleteUI
+ - deleteUnusedBrushes
+ - delrandstr
+ - detachCurve
+ - detachDeviceAttr
+ - detachSurface
+ - deviceEditor
+ - devicePanel
+ - dgdirty
+ - dgeval
+ - dgInfo
+ - dgtimer
+ - dimWhen
+ - directionalLight
+ - directKeyCtx
+ - dirmap
+ - dirname
+ - disable
+ - disconnectAttr
+ - disconnectJoint
+ - diskCache
+ - displacementToPoly
+ - displayAffected
+ - displayColor
+ - displayCull
+ - displayLevelOfDetail
+ - displayPref
+ - displayRGBColor
+ - displaySmoothness
+ - displayStats
+ - displayString
+ - displaySurface
+ - distanceDimContext
+ - distanceDimension
+ - doBlur
+ - dollyCtx
+ - dolly
+ - dopeSheetEditor
+ - dot
+ - dotProduct
+ - doubleProfileBirailSurface
+ - dragAttrContext
+ - draggerContext
+ - drag
+ - dropoffLocator
+ - duplicateCurve
+ - duplicate
+ - duplicateSurface
+ - dynamicLoad
+ - dynCache
+ - dynControl
+ - dynExport
+ - dynExpression
+ - dynGlobals
+ - dynPaintEditor
+ - dynParticleCtx
+ - dynPref
+ - dynRelEditor
+ - dynRelEdPanel
+ - editAttrLimits
+ - editDisplayLayerGlobals
+ - editDisplayLayerMembers
+ - editor
+ - editorTemplate
+ - editRenderLayerAdjustment
+ - editRenderLayerGlobals
+ - editRenderLayerMembers
+ - effector
+ - emit
+ - emitter
+ - enableDevice
+ - encodeString
+ - endString
+ - endsWith
+ - env
+ - equivalent
+ - equivalentTol
+ - erf
+ - error
+ - evalDeferred
+ - evalEcho
+ - eval
+ - event
+ - exactWorldBoundingBox
+ - exclusiveLightCheckBox
+ - exec
+ - executeForEachObject
+ - exists
+ - exp
+ - expressionEditorListen
+ - expression
+ - extendCurve
+ - extendSurface
+ - extrude
+ - fcheck
+ - fclose
+ - feof
+ - fflush
+ - fgetline
+ - fgetword
+ - fileBrowserDialog
+ - fileDialog
+ - fileExtension
+ - file
+ - fileInfo
+ - filetest
+ - filletCurve
+ - filterCurve
+ - filterExpand
+ - filter
+ - filterStudioImport
+ - findAllIntersections
+ - findAnimCurves
+ - finder
+ - findKeyframe
+ - findMenuItem
+ - findRelatedSkinCluster
+ - firstParentOf
+ - fitBspline
+ - flexor
+ - floatEq
+ - floatFieldGrp
+ - floatField
+ - floatScrollBar
+ - floatSlider2
+ - floatSliderButtonGrp
+ - floatSliderGrp
+ - floatSlider
+ - floor
+ - flow
+ - fluidCacheInfo
+ - fluidEmitter
+ - fluidVoxelInfo
+ - flushUndo
+ - fmod
+ - fontDialog
+ - fopen
+ - format
+ - formLayout
+ - fprint
+ - frameLayout
+ - frame_search
+ - fread
+ - freeFormFillet
+ - frewind
+ - fromNativePath
+ - fwrite
+ - gamma
+ - gauss
+ - geometryConstraint
+ - getApplicationVersionAsFloat
+ - getAttr
+ - getClassification
+ - getDefaultBrush
+ - getenv
+ - getFileList
+ - getFluidAttr
+ - getInputDeviceRange
+ - getMayaPanelTypes
+ - getModifiers
+ - getPanel
+ - getParticleAttr
+ - getpid
+ - getPluginResource
+ - globalStitch
+ - glRenderEditor
+ - glRender
+ - gmatch
+ - goal
+ - gotoBindPose
+ - grabColor
+ - gradientControl
+ - gradientControlNoAttr
+ - graphDollyCtx
+ - graphSelectContext
+ - graphTrackCtx
+ - gravity
+ - grid
+ - gridLayout
+ - group
+ - groupObjectsByName
+ - hardenPointCurve
+ - hardware
+ - hardwareRenderPanel
+ - headsUpDisplay
+ - headsUpMessage
+ - help
+ - helpLine
+ - hermite
+ - HfAddAttractorToAS
+ - HfAssignAS
+ - HfBuildEqualMap
+ - HfBuildFurFiles
+ - HfBuildFurImages
+ - HfCancelAFR
+ - HfConnectASToHF
+ - HfCreateAttractor
+ - HfDeleteAS
+ - HfEditAS
+ - HfPerformCreateAS
+ - HfRemoveAttractorFromAS
+ - HfSelectAttached
+ - HfSelectAttractors
+ - HfUnassignAS
+ - hide
+ - hilite
+ - hitTest
+ - hotBox
+ - hotkeyCheck
+ - hotkey
+ - hsv_to_rgb
+ - hudButton
+ - hudSliderButton
+ - hudSlider
+ - hwReflectionMap
+ - hwRender
+ - hwRenderLoad
+ - hyperGraph
+ - hyperPanel
+ - hyperShade
+ - hypot
+ - iconTextButton
+ - iconTextCheckBox
+ - iconTextRadioButton
+ - iconTextRadioCollection
+ - iconTextScrollList
+ - iconTextStaticLabel
+ - ikfkDisplayMethod
+ - ikHandleCtx
+ - ikHandleDisplayScale
+ - ikHandle
+ - ikSolver
+ - ikSplineHandleCtx
+ - ikSystem
+ - ikSystemInfo
+ - illustratorCurves
+ - image
+ - imfPlugins
+ - index_all
+ - index
+ - index_overview
+ - index_substring
+ - inheritTransform
+ - insertJointCtx
+ - insertJoint
+ - insertKeyCtx
+ - insertKnotCurve
+ - insertKnotSurface
+ - instanceable
+ - instance
+ - instancer
+ - internalVar
+ - intersect
+ - interToUI
+ - intFieldGrp
+ - intField
+ - intScrollBar
+ - intSliderGrp
+ - intSlider
+ - iprEngine
+ - isAnimCurve
+ - isConnected
+ - isDirty
+ - isolateSelect
+ - isParentOf
+ - isSameObject
+ - isTrue
+ - isValidObjectName
+ - isValidString
+ - isValidUiName
+ - itemFilterAttr
+ - itemFilter
+ - itemFilterRender
+ - itemFilterType
+ - jointCluster
+ - jointCtx
+ - jointDisplayScale
+ - joint
+ - jointLattice
+ - keyframe
+ - keyframeOutliner
+ - keyframeRegionCurrentTimeCtx
+ - keyframeRegionDirectKeyCtx
+ - keyframeRegionDollyCtx
+ - keyframeRegionInsertKeyCtx
+ - keyframeRegionMoveKeyCtx
+ - keyframeRegionScaleKeyCtx
+ - keyframeRegionSelectKeyCtx
+ - keyframeRegionSetKeyCtx
+ - keyframeRegionTrackCtx
+ - keyframeStats
+ - keyTangent
+ - lassoContext
+ - latticeDeformKeyCtx
+ - lattice
+ - launch
+ - launchImageEditor
+ - layerButton
+ - layeredShaderPort
+ - layeredTexturePort
+ - layoutDialog
+ - layout
+ - lightlink
+ - lightListEditor
+ - lightList
+ - lightListPanel
+ - linearPrecision
+ - lineIntersection
+ - linstep
+ - listAnimatable
+ - listAttr
+ - listCameras
+ - listConnections
+ - listDeviceAttachments
+ - listerEditor
+ - listHistory
+ - listInputDeviceAxes
+ - listInputDeviceButtons
+ - listInputDevices
+ - listMenuAnnotation
+ - listNodeTypes
+ - listPanelCategories
+ - listRelatives
+ - listSets
+ - listTransforms
+ - listUnselected
+ - loadFluid
+ - loadNewShelf
+ - loadPlugin
+ - loadPluginLanguageResources
+ - loadPrefObjects
+ - localizedPanelLabel
+ - lockNode
+ - loft
+ - log
+ - longNameOf
+ - lookThru
+ - ls
+ - lsThroughFilter
+ - lsType
+ - lsUI
+ - mag
+ - makebot
+ - makeIdentity
+ - makeLive
+ - makePaintable
+ - makeRoll
+ - makeSingleSurface
+ - makeTubeOn
+ - manipMoveContext
+ - manipMoveLimitsCtx
+ - manipOptions
+ - manipRotateContext
+ - manipRotateLimitsCtx
+ - manipScaleContext
+ - manipScaleLimitsCtx
+ - marker
+ - match
+ - max
+ - Mayatomr
+ - memory
+ - menuBarLayout
+ - menuEditor
+ - menu
+ - menuItem
+ - menuItemToShelf
+ - menuSet
+ - menuSetPref
+ - messageLine
+ - min
+ - minimizeApp
+ - mirrorJoint
+ - modelCurrentTimeCtx
+ - modelEditor
+ - modelPanel
+ - mouse
+ - move
+ - moveIKtoFK
+ - moveKeyCtx
+ - moveVertexAlongDirection
+ - movIn
+ - movOut
+ - multiProfileBirailSurface
+ - mute
+ - nameCommand
+ - nameField
+ - namespace
+ - namespaceInfo
+ - nav_Animation
+ - nav_Effects
+ - nav_General
+ - nav_Language
+ - nav_Modeling
+ - nav_Rendering
+ - nav_System
+ - nav_Windows
+ - newPanelItems
+ - newton
+ - nodeCast
+ - nodeIconButton
+ - nodeOutliner
+ - nodePreset
+ - nodeType
+ - noise
+ - nonLinear
+ - normalConstraint
+ - normalize
+ - nParticle
+ - nurbsBoolean
+ - nurbsCopyUVSet
+ - nurbsCube
+ - nurbsEditUV
+ - nurbsPlane
+ - nurbsSelect
+ - nurbsSquare
+ - nurbsToPolygonsPref
+ - nurbsToPoly
+ - nurbsToSubdiv
+ - nurbsToSubdivPref
+ - nurbsUVSet
+ - nurbsViewDirectionVector
+ - objectCenter
+ - objectLayer
+ - objectType
+ - objectTypeUI
+ - objExists
+ - obsoleteProc
+ - oceanNurbsPreviewPlane
+ - offsetCurve
+ - offsetCurveOnSurface
+ - offsetSurface
+ - openGLExtension
+ - openMayaPref
+ - optionMenuGrp
+ - optionMenu
+ - optionVar
+ - orbitCtx
+ - orbit
+ - orientConstraint
+ - outlinerEditor
+ - outlinerPanel
+ - overrideModifier
+ - paintEffectsDisplay
+ - pairBlend
+ - palettePort
+ - paneLayout
+ - panelConfiguration
+ - panelHistory
+ - panel
+ - paramDimContext
+ - paramDimension
+ - paramLocator
+ - parentConstraint
+ - parent
+ - particleExists
+ - particle
+ - particleInstancer
+ - particleRenderInfo
+ - partition
+ - pasteKey
+ - pathAnimation
+ - pause
+ - pclose
+ - percent
+ - performanceOptions
+ - pfxstrokes
+ - pickWalk
+ - picture
+ - pixelMove
+ - planarSrf
+ - plane
+ - playbackOptions
+ - playblast
+ - play
+ - plugAttr
+ - pluginInfo
+ - pluginResourceUtil
+ - plugNode
+ - pointConstraint
+ - pointCurveConstraint
+ - pointLight
+ - pointMatrixMult
+ - pointOnCurve
+ - pointOnSurface
+ - pointPosition
+ - poleVectorConstraint
+ - polyAppendFacetCtx
+ - polyAppend
+ - polyAppendVertex
+ - polyAutoProjection
+ - polyAverageNormal
+ - polyAverageVertex
+ - polyBevel
+ - polyBlendColor
+ - polyBlindData
+ - polyBoolOp
+ - polyBridgeEdge
+ - polyCacheMonitor
+ - polyCheck
+ - polyChipOff
+ - polyClipboard
+ - polyCloseBorder
+ - polyCollapseEdge
+ - polyCollapseFacet
+ - polyColorBlindData
+ - polyColorDel
+ - polyColorPerVertex
+ - polyColorSet
+ - polyCompare
+ - polyCone
+ - polyCopyUV
+ - polyCreaseCtx
+ - polyCrease
+ - polyCreateFacetCtx
+ - polyCreateFacet
+ - polyCube
+ - polyCutCtx
+ - polyCut
+ - polyCylinder
+ - polyCylindricalProjection
+ - polyDelEdge
+ - polyDelFacet
+ - polyDelVertex
+ - polyDuplicateAndConnect
+ - polyDuplicateEdge
+ - polyEditUV
+ - polyEditUVShell
+ - polyEvaluate
+ - polyExtrudeEdge
+ - polyExtrudeFacet
+ - polyExtrudeVertex
+ - polyFlipEdge
+ - polyFlipUV
+ - polyForceUV
+ - polyGeoSampler
+ - polyHelix
+ - polyInfo
+ - polyInstallAction
+ - polyLayoutUV
+ - polyListComponentConversion
+ - polyMapCut
+ - polyMapDel
+ - polyMapSew
+ - polyMapSewMove
+ - polyMergeEdgeCtx
+ - polyMergeEdge
+ - polyMergeFacetCtx
+ - polyMergeFacet
+ - polyMergeUV
+ - polyMergeVertex
+ - polyMirrorFace
+ - polyMoveEdge
+ - polyMoveFacet
+ - polyMoveFacetUV
+ - polyMoveUV
+ - polyMoveVertex
+ - polyNormal
+ - polyNormalizeUV
+ - polyNormalPerVertex
+ - polyOptions
+ - polyOptUvs
+ - polyOutput
+ - polyPipe
+ - polyPlanarProjection
+ - polyPlane
+ - polyPlatonicSolid
+ - polyPoke
+ - polyPrimitive
+ - polyPrism
+ - polyProjection
+ - polyPyramid
+ - polyQuad
+ - polyQueryBlindData
+ - polyReduce
+ - polySelectConstraint
+ - polySelectConstraintMonitor
+ - polySelectCtx
+ - polySelectEditCtx
+ - polySelect
+ - polySeparate
+ - polySetToFaceNormal
+ - polySewEdge
+ - polyShortestPathCtx
+ - polySlideEdge
+ - polySmooth
+ - polySoftEdge
+ - polySphere
+ - polySphericalProjection
+ - polySplitCtx
+ - polySplitEdge
+ - polySplit
+ - polySplitRing
+ - polySplitVertex
+ - polyStraightenUVBorder
+ - polySubdivideEdge
+ - polySubdivideFacet
+ - polyTorus
+ - polyToSubdiv
+ - polyTransfer
+ - polyTriangulate
+ - polyUnite
+ - polyUVSet
+ - polyWedgeFace
+ - popen
+ - popupMenu
+ - pose
+ - pow
+ - preloadRefEd
+ - print
+ - progressBar
+ - progressWindow
+ - projectCurve
+ - projectionContext
+ - projectionManip
+ - projectTangent
+ - projFileViewer
+ - promptDialog
+ - propModCtx
+ - propMove
+ - psdChannelOutliner
+ - psdEditTextureFile
+ - psdExport
+ - psdTextureFile
+ - putenv
+ - pwd
+ - python
+ - querySubdiv
+ - quit
+ - radial
+ - radioButtonGrp
+ - radioButton
+ - radioCollection
+ - radioMenuItemCollection
+ - rad_to_deg
+ - rampColorPort
+ - rand
+ - randomizeFollicles
+ - randstate
+ - rangeControl
+ - readTake
+ - rebuildCurve
+ - rebuildSurface
+ - recordAttr
+ - recordDevice
+ - redo
+ - referenceEdit
+ - reference
+ - referenceQuery
+ - refineSubdivSelectionList
+ - refreshAE
+ - refresh
+ - registerPluginResource
+ - rehash
+ - reloadImage
+ - removeJoint
+ - removeMultiInstance
+ - removePanelCategory
+ - renameAttr
+ - rename
+ - renameSelectionList
+ - renameUI
+ - renderer
+ - renderGlobalsNode
+ - render
+ - renderInfo
+ - renderLayerButton
+ - renderLayerParent
+ - renderLayerPostProcess
+ - renderLayerUnparent
+ - renderManip
+ - renderPartition
+ - renderQualityNode
+ - renderSettings
+ - renderThumbnailUpdate
+ - renderWindowEditor
+ - renderWindowSelectContext
+ - reorderDeformers
+ - reorder
+ - requires
+ - reroot
+ - resampleFluid
+ - resetAE
+ - resetPfxToPolyCamera
+ - resetTool
+ - resolutionNode
+ - retarget
+ - reverseCurve
+ - reverseSurface
+ - revolve
+ - rgb_to_hsv
+ - rigidBody
+ - rigidSolver
+ - rollCtx
+ - roll
+ - rootOf
+ - rotate
+ - rotationInterpolation
+ - rot
+ - roundConstantRadius
+ - rowColumnLayout
+ - rowLayout
+ - runTimeCommand
+ - runup
+ - sampleImage
+ - saveAllShelves
+ - saveAttrPreset
+ - saveFluid
+ - saveImage
+ - saveInitialState
+ - saveMenu
+ - savePrefObjects
+ - savePrefs
+ - saveShelf
+ - saveToolSettings
+ - scaleBrushBrightness
+ - scaleComponents
+ - scaleConstraint
+ - scale
+ - scaleKeyCtx
+ - scaleKey
+ - sceneEditor
+ - sceneUIReplacement
+ - scmh
+ - scriptCtx
+ - scriptEditorInfo
+ - scriptedPanel
+ - scriptedPanelType
+ - scriptJob
+ - scriptNode
+ - scriptTable
+ - scriptToShelf
+ - scrollField
+ - scrollLayout
+ - sculpt
+ - searchPathArray
+ - seed
+ - selectContext
+ - selectCurveCV
+ - selectedNodes
+ - select
+ - selectionConnection
+ - selectKeyCtx
+ - selectKeyframeRegionCtx
+ - selectKey
+ - selectMode
+ - selectPref
+ - selectPriority
+ - selectType
+ - selLoadSettings
+ - separator
+ - setAttrEnumResource
+ - setAttr
+ - setAttrMapping
+ - setAttrNiceNameResource
+ - setConstraintRestPosition
+ - setCustomAttrEnumResource
+ - setCustomAttrNiceNameResource
+ - setDefaultShadingGroup
+ - setDrivenKeyframe
+ - setDynamic
+ - setEditCtx
+ - setEditor
+ - setFluidAttr
+ - setFocus
+ - setInfinity
+ - setInputDeviceMapping
+ - setKeyCtx
+ - setKeyframeBlendshapeTargetWts
+ - setKeyframe
+ - setKeyPath
+ - setMenuMode
+ - setNodeNiceNameResource
+ - setNodeTypeFlag
+ - setParent
+ - setParticleAttr
+ - setPfxToPolyCamera
+ - setPluginResource
+ - setProject
+ - sets
+ - setStampDensity
+ - setStartupMessage
+ - setState
+ - setToolTo
+ - setUITemplate
+ - setXformManip
+ - shadingConnection
+ - shadingGeometryRelCtx
+ - shadingLightRelCtx
+ - shadingNetworkCompare
+ - shadingNode
+ - shapeCompare
+ - shelfButton
+ - shelfLayout
+ - shelfTabLayout
+ - shellField
+ - shortNameOf
+ - showHelp
+ - showHidden
+ - show
+ - showManipCtx
+ - showSelectionInTitle
+ - showShadingGroupAttrEditor
+ - showWindow
+ - sign
+ - simplify
+ - singleProfileBirailSurface
+ - sin
+ - sizeBytes
+ - size
+ - skinCluster
+ - skinPercent
+ - smoothCurve
+ - smoothstep
+ - smoothTangentSurface
+ - snap2to2
+ - snapKey
+ - snapMode
+ - snapshot
+ - snapTogetherCtx
+ - soft
+ - softModCtx
+ - softMod
+ - sort
+ - soundControl
+ - sound
+ - source
+ - spaceLocator
+ - sphere
+ - sphrand
+ - spotLight
+ - spotLightPreviewPort
+ - spreadSheetEditor
+ - spring
+ - sqrt
+ - squareSurface
+ - srtContext
+ - stackTrace
+ - startString
+ - startsWith
+ - stitchAndExplodeShell
+ - stitchSurface
+ - stitchSurfacePoints
+ - strcmp
+ - stringArrayCatenate
+ - stringArrayContains
+ - stringArrayCount
+ - stringArrayInsertAtIndex
+ - stringArrayIntersector
+ - stringArrayRemoveAtIndex
+ - stringArrayRemoveDuplicates
+ - stringArrayRemoveExact
+ - stringArrayRemove
+ - stringArrayToString
+ - stringToStringArray
+ - strip
+ - stripPrefixFromName
+ - stroke
+ - subdAutoProjection
+ - subdCleanTopology
+ - subdCollapse
+ - subdDuplicateAndConnect
+ - subdEditUV
+ - subdivCrease
+ - subdivDisplaySmoothness
+ - subdiv
+ - subdListComponentConversion
+ - subdMapCut
+ - subdMapSewMove
+ - subdMatchTopology
+ - subdMirror
+ - subdToBlind
+ - subdToPoly
+ - subdTransferUVsToCache
+ - substituteAllString
+ - substituteGeometry
+ - substitute
+ - substring
+ - surface
+ - surfaceSampler
+ - surfaceShaderList
+ - swatchDisplayPort
+ - switchTable
+ - SymbolsButton
+ - SymbolsCheckBox
+ - symmetricModelling
+ - sysFile
+ - system
+ - tabLayout
+ - tangentConstraint
+ - tan
+ - texLatticeDeformContext
+ - texManipContext
+ - texMoveContext
+ - texMoveUVShellContext
+ - texRotateContext
+ - texScaleContext
+ - texSelectContext
+ - texSelectShortestPathCtx
+ - texSmudgeUVContext
+ - textCurves
+ - textFieldButtonGrp
+ - textFieldGrp
+ - textField
+ - text
+ - textManip
+ - textScrollList
+ - textToShelf
+ - textureDisplacePlane
+ - textureHairColor
+ - texturePlacementContext
+ - textureWindow
+ - texWinToolCtx
+ - threadCount
+ - threePointArcCtx
+ - timeControl
+ - timePort
+ - timerX
+ - toggleAxis
+ - toggle
+ - toggleWindowVisibility
+ - tokenize
+ - tokenizeList
+ - tolerance
+ - tolower
+ - toNativePath
+ - toolButton
+ - toolCollection
+ - toolDropped
+ - toolHasOptions
+ - toolPropertyWindow
+ - torus
+ - toupper
+ - trace
+ - trackCtx
+ - track
+ - transferAttributes
+ - transformCompare
+ - transformLimits
+ - translator
+ - trim
+ - truncateFluidCache
+ - truncateHairCache
+ - trunc
+ - tumbleCtx
+ - tumble
+ - turbulence
+ - twoPointArcCtx
+ - uiRes
+ - uiTemplate
+ - unassignInputDevice
+ - undo
+ - undoInfo
+ - ungroup
+ - uniform
+ - unit
+ - unloadPlugin
+ - untangleUV
+ - untitledFileName
+ - untrim
+ - upAxis
+ - updateAE
+ - userCtx
+ - uvLink
+ - uvSnapshot
+ - validateShelfName
+ - vectorize
+ - view2dToolCtx
+ - viewCamera
+ - viewClipPlane
+ - viewFit
+ - viewHeadOn
+ - viewLookAt
+ - viewManip
+ - viewPlace
+ - viewSet
+ - visor
+ - volumeAxis
+ - vortex
+ - waitCursor
+ - warning
+ - webBrowser
+ - webBrowserPrefs
+ - whatIs
+ - window
+ - windowPref
+ - wireContext
+ - wire
+ - workspace
+ - wrinkleContext
+ - wrinkle
+ - writeTake
+ - xbmLangPathList
+ - xform
+ - xpmPicker
+
+
+ - int
+ - string
+ - float
+ - vector
+ - matrix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mergetagtext.xml b/data/syntax/mergetagtext.xml
new file mode 100644
index 0000000..0cd7d50
--- /dev/null
+++ b/data/syntax/mergetagtext.xml
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/meson.xml b/data/syntax/meson.xml
new file mode 100644
index 0000000..8be09c5
--- /dev/null
+++ b/data/syntax/meson.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+ - if
+ - else
+ - endif
+ - foreach
+ - endforeach
+
+
+ - add_global_arguments
+ - build_target
+ - configuration_data
+ - configure_file
+ - custom_target
+ - declare_dependency
+ - dependency
+ - error
+ - executable
+ - find_program
+ - find_library
+ - files
+ - generator
+ - get_option
+ - gettext
+ - import
+ - include_directories
+ - install_data
+ - install_headers
+ - install_man
+ - install_subdir
+ - is_subproject
+ - jar
+ - message
+ - pkgconfig_gen
+ - project
+ - run_command
+ - run_target
+ - set_variable
+ - shared_library
+ - static_library
+ - subdir
+ - subproject
+ - test
+ - vcs_tag
+
+
+ - and
+ - or
+ - not
+
+
+ - true
+ - false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/metafont.xml b/data/syntax/metafont.xml
new file mode 100644
index 0000000..4ce1e14
--- /dev/null
+++ b/data/syntax/metafont.xml
@@ -0,0 +1,1009 @@
+
+
+
+
+
+
+
+
+
+
+ - true
+
+ - false
+ - known
+ - unknown
+ - odd
+ - charexists
+ - not
+
+ - and
+ - or
+
+
+
+
+ - normaldeviate
+ - length
+
+ - ASCII
+ - oct
+ - hex
+ - angle
+ - turningnumber
+ - totalweight
+
+ - directiontime
+ - xpart
+ - ypart
+ - xxpart
+ - xypart
+ - yxpart
+
+ - yypart
+ - sqrt
+ - sind
+ - cosd
+ - mlog
+ - mexp
+
+ - floor
+ - uniformdeviate
+ - abs
+ - div
+ - dotprod
+ - max
+
+ - min
+ - mod
+ - ceiling
+
+
+
+
+ - tracingtitles
+
+ - tracingequations
+ - tracingcapsules
+ - tracingchoices
+ - tracingspecs
+ - tracingpens
+ - tracingcommands
+
+ - tracingrestores
+ - tracingmacros
+ - tracingedges
+ - tracingoutput
+ - tracingonline
+ - tracingstats
+
+ - pausing
+ - showstopping
+ - fontmaking
+ - proofing
+ - turningcheck
+ - warningcheck
+
+ - smoothing
+ - autorounding
+ - granularity
+ - fillin
+ - year
+ - month
+
+ - day
+ - time
+ - charcode
+ - charext
+ - charwd
+ - charht
+
+ - chardp
+ - charic
+ - chardx
+ - chardy
+ - designsize
+ - hppp
+
+ - vppp
+ - xoffset
+ - yoffset
+ - boundarychar
+
+
+
+
+
+ - point
+ - of
+ - precontrol
+ - postcontrol
+ - penoffset
+
+ - rotated
+ - scaled
+ - shifted
+ - slanted
+ - transformed
+ - xscaled
+
+ - yscaled
+ - zscaled
+
+
+
+
+ - makepath
+ - reverse
+
+ - subpath
+ - curl
+ - tension
+ - atleast
+ - controls
+ - cycle
+
+
+
+
+
+ - nullpen
+ - pencircle
+ - makepen
+
+
+
+
+ - nullpicture
+
+
+
+
+ - jobname
+
+ - readstring
+ - str
+ - char
+ - decimal
+ - substring
+
+
+
+
+ - end
+ - dump
+ - save
+ - interim
+
+ - newinternal
+ - randomseed
+ - let
+ - delimiters
+ - outer
+ - everyjob
+
+ - show
+ - showvariable
+ - showtoken
+ - showdependencies
+ - showstats
+ - message
+
+ - errmessage
+ - errhelp
+ - batchmode
+ - nonstopmode
+ - scrollmode
+ - errorstopmode
+
+ - addto
+ - also
+ - contour
+ - doublepath
+ - withpen
+ - withweight
+
+ - cull
+ - keeping
+ - dropping
+ - display
+ - inwindow
+ - openwindow
+
+ - at
+ - from
+ - to
+ - shipout
+ - special
+ - numspecial
+
+
+
+
+
+ - boolean
+ - numeric
+ - pair
+ - path
+
+ - pen
+ - picture
+ - string
+ - transform
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - expr
+ - suffix
+
+ - text
+ - primary
+ - secondary
+ - tertiary
+
+ - primarydef
+ - secondarydef
+
+ - tertiarydef
+
+
+
+
+
+
+ - else
+ - elseif
+
+
+
+
+
+ - step
+ - until
+ - upto
+ - exitif
+
+
+
+
+ - charlist
+ - endinput
+ - expandafter
+ - extensible
+
+ - fontdimen
+ - headerbyte
+ - inner
+ - input
+ - intersectiontimes
+ - kern
+
+ - ligtable
+ - quote
+ - scantokens
+ - skipto
+
+
+
+
+
+
+ - addto_currentpicture
+ - aspect_ratio
+ - base_name
+ - base_version
+
+ - blacker
+
+ - blankpicture
+ - bot
+ - bye
+ - byte
+ - capsule_def
+
+ - change_width
+
+ - clear_pen_memory
+ - clearit
+ - clearpen
+ - clearxy
+ - counterclockwise
+ - culldraw
+
+ - cullit
+ - currentpen
+ - currentpen_path
+ - currentpicture
+ - currenttransform
+ - currentwindow
+
+ - cutdraw
+ - cutoff
+ - d
+ - decr
+ - define_blacker_pixels
+ - define_corrected_pixels
+
+ - define_good_x_pixels
+ - define_good_y_pixels
+ - define_horizontal_corrected_pixels
+ - define_pixels
+ - define_whole_blacker_pixels
+ - define_whole_pixels
+
+ - define_whole_vertical_blacker_pixels
+ - define_whole_vertical_pixels
+ - dir
+ - direction
+ - directionpoint
+ - displaying
+
+ - ditto
+
+
+ - down
+ - downto
+ - draw
+ - drawdot
+
+
+ - eps
+ - epsilon
+
+
+ - extra_setup
+ - erase
+ - exitunless
+
+ - fill
+ - filldraw
+ - fix_units
+ - flex
+ - font_coding_scheme
+ - font_extra_space
+
+ - font_identifier
+ - font_normal_shrink
+ - font_normal_space
+ - font_normal_stretch
+ - font_quad
+ - font_setup
+
+ - font_size
+ - font_slant
+ - font_x_height
+ - fullcircle
+ - generate
+ - gfcorners
+
+ - gobble
+ - gobbled
+ - grayfont
+ - h
+ - halfcircle
+ - hide
+
+ - hround
+ - identity
+ - image_rules
+ - incr
+ - infinity
+ - interact
+
+ - interpath
+ - intersectionpoint
+ - inverse
+ - italcorr
+ - join_radius
+ - killtext
+
+ - labelfont
+ - labels
+ - left
+ - lft
+ - localfont
+ - loggingall
+
+ - lowres
+ - lowres_fix
+ - mag
+ - magstep
+ - makebox
+ - makegrid
+
+ - makelabel
+ - maketicks
+
+
+
+ - mode
+ - mode_def
+ - mode_name
+
+ - mode_setup
+ - nodisplays
+ - notransforms
+ - number_of_modes
+ - numtok
+ - o_correction
+
+ - openit
+ - origin
+ - pen_bot
+ - pen_lft
+ - pen_rt
+ - pen_top
+
+ - penlabels
+ - penpos
+ - penrazor
+ - penspeck
+ - pensquare
+ - penstroke
+
+ - pickup
+ - pixels_per_inch
+ - proof
+ - proofoffset
+ - proofrule
+ - proofrulethickness
+
+ - quartercircle
+ - range
+ - reflectedabout
+ - relax
+ - right
+ - rotatedabout
+
+ - rotatedaround
+ - round
+ - rt
+ - rulepen
+ - savepen
+ - screenchars
+
+ - screen_rows
+ - screen_cols
+ - screenrule
+ - screenstrokes
+ - shipit
+ - showit
+
+ - slantfont
+ - smode
+ - smoke
+ - softjoin
+ - solve
+ - stop
+
+ - superellipse
+ - takepower
+ - tensepath
+ - titlefont
+ - tolerance
+ - top
+
+ - tracingall
+ - tracingnone
+ - undraw
+ - undrawdot
+ - unfill
+ - unfilldraw
+
+ - unitpixel
+ - unitsquare
+ - unitvector
+ - up
+ - upto
+ - vround
+
+ - w
+ - whatever
+
+
+
+
+
+
+ - bluepart
+
+ - clip
+ - color
+ - dashed
+ - fontsize
+ - greenpart
+ - infont
+
+ - linecap
+ - linejoin
+ - llcorner
+ - lrcorner
+ - miterlimit
+ - mpxbreak
+
+ - prologues
+ - redpart
+ - setbounds
+ - tracinglostchars
+ - truecorners
+ - ulcorner
+
+ - urcorner
+ - withcolor
+
+
+
+
+ - autorounding
+ - chardx
+
+ - chardy
+ - fillin
+ - granularity
+ - hppp
+ - proofing
+ - smoothing
+
+ - tracingedges
+ - tracingpens
+ - turningcheck
+ - vppp
+ - xoffset
+ - yoffset
+
+
+
+
+
+ - ahangle
+ - ahlength
+ - background
+ - bbox
+
+ - bboxmargin
+
+ - beveled
+ - black
+ - blue
+ - buildcycle
+ - butt
+
+ - center
+ - cutafter
+ - cutbefore
+ - cuttings
+ - dashpattern
+ - defaultfont
+
+ - defaultpen
+ - defaultscale
+ - dotlabel
+ - dotlabels
+ - drawarrow
+ - drawdblarrow
+
+ - drawoptions
+
+ - evenly
+
+
+ - green
+ - label
+ - labeloffset
+
+ - mitered
+ - red
+ - rounded
+ - squared
+ - thelabel
+ - white
+
+ - base_name
+ - base_version
+ - upto
+ - downto
+ - exitunless
+ - relax
+
+ - gobble
+ - gobbled
+ - interact
+ - loggingall
+ - tracingall
+ - tracingnone
+
+ - eps
+ - epsilon
+ - infinity
+ - right
+ - left
+ - up
+
+ - down
+ - origin
+ - quartercircle
+ - halfcircle
+ - fullcircle
+ - unitsquare
+
+ - identity
+ - blankpicture
+ - withdots
+ - ditto
+ - EOF
+ - pensquare
+
+ - penrazor
+ - penspeck
+ - whatever
+
+ - round
+
+ - byte
+
+ - dir
+ - unitvector
+ - inverse
+ - counterclockwise
+ - tensepath
+
+
+
+
+ - takepower
+ - direction
+ - directionpoint
+ - intersectionpoint
+ - softjoin
+ - incr
+
+ - decr
+ - reflectedabout
+ - rotatedaround
+ - rotatedabout
+
+
+ - flex
+
+ - superellipse
+ - interpath
+ - magstep
+ - currentpen
+ - currentpen_path
+ - currentpicture
+
+ - fill
+ - draw
+ - filldraw
+ - drawdot
+ - unfill
+ - undraw
+
+ - unfilldraw
+ - undrawdot
+ - erase
+ - cutdraw
+ - image
+ - pickup
+
+ - numeric_pickup
+ - pen_lft
+ - pen_rt
+ - pen_top
+ - pen_bot
+ - savepen
+
+ - clearpen
+ - clear_pen_memory
+ - lft
+ - rt
+ - top
+ - bot
+
+ - ulft
+ - urt
+ - llft
+ - lrt
+ - penpos
+ - penstroke
+
+ - arrowhead
+ - makelabel
+ - labels
+ - penlabel
+ - range
+ - numtok
+
+ - thru
+ - clearxy
+ - clearit
+ - clearpen
+ - pickup
+ - shipit
+
+ - bye
+ - hide
+ - stop
+ - solve
+
+ - blacker
+ - capsule_def
+
+ - change_width
+ - define_blacker_pixels
+ - define_corrected_pixels
+ - define_good_x_pixels
+ - define_good_y_pixels
+ - define_horizontal_corrected_pixels
+
+ - define_pixels
+ - define_whole_blacker_pixels
+ - define_whole_vertical_blacker_pixels
+ - define_whole_vertical_pixels
+
+
+
+ - extra_setup
+
+ - font_coding_scheme
+ - font_extra_space
+ - font_identifier
+ - font_normal_shrink
+ - font_normal_space
+ - font_normal_stretch
+
+ - font_quad
+ - font_size
+ - font_slant
+ - font_x_height
+ - italcorr
+ - labelfont
+
+ - makebox
+ - makegrid
+ - maketicks
+ - mode_def
+ - mode_setup
+ - o_correction
+
+ - proofrule
+ - proofrulethickness
+ - rulepen
+ - smode
+ - cullit
+ - currenttransform
+
+ - gfcorners
+ - grayfont
+ - hround
+ - imagerules
+ - lowres_fix
+ - nodisplays
+
+ - notransforms
+ - openit
+ - proofoffset
+ - screenchars
+ - screenrule
+ - screenstrokes
+
+ - showit
+ - slantfont
+ - titlefont
+ - unitpixel
+ - vround
+ - circmargin
+
+ - defaultdx
+ - defaultdy
+ - boxit
+ - boxjoin
+ - bpath
+ - circleit
+
+ - drawboxed
+ - drawboxes
+ - drawunboxed
+ - fixpos
+ - fixsize
+ - pic
+
+
+
+
+
+ - beginchar
+ - endchar
+ - extra_beginchar
+ - extra_endchar
+
+ - beginlogochar
+ - beginfig
+ - endfig
+ - extra_beginfig
+ - extra_endfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mips.xml b/data/syntax/mips.xml
new file mode 100644
index 0000000..51b6fc9
--- /dev/null
+++ b/data/syntax/mips.xml
@@ -0,0 +1,359 @@
+
+
+
+
+
+ - .align
+ - .ascii
+ - .asciiz
+ - .byte
+ - .double
+ - .extern
+ - .float
+ - .globl
+ - .half
+ - .sdata
+ - .set
+ - .space
+ - .word
+
+
+ - .data
+ - .kdata
+ - .ktext
+ - .text
+
+
+ - abs.d
+ - abs.s
+ - add
+ - add.d
+ - add.s
+ - addi
+ - addiu
+ - addu
+ - and
+ - andi
+ - bc0f
+ - bc0t
+ - bc1f
+ - bc1t
+ - bc2f
+ - bc2t
+ - bc3f
+ - bc3t
+ - beq
+ - bgez
+ - bgezal
+ - bgtz
+ - blez
+ - bltz
+ - bltzal
+ - bne
+ - break
+ - c.eq.d
+ - c.eq.s
+ - c.seq.s
+ - c.seq.d
+ - c.ueq.s
+ - c.ueq.d
+ - c.olt.d
+ - c.olt.s
+ - c.ole.d
+ - c.ole.s
+ - c.ult.d
+ - c.ult.s
+ - c.ule.d
+ - c.ule.s
+ - c.le.d
+ - c.le.s
+ - c.lt.d
+ - c.lt.s
+ - c.un.s
+ - c.un.d
+ - cvt.d.s
+ - cvt.d.w
+ - cvt.s.d
+ - cvt.s.w
+ - cvt.w.d
+ - cvt.w.s
+ - div.d
+ - div.s
+ - j
+ - jal
+ - jalr
+ - jr
+ - lb
+ - lbu
+ - lh
+ - lhu
+ - lui
+ - lw
+ - lwc0
+ - lwc1
+ - lwc2
+ - lwc3
+ - lwl
+ - lwr
+ - mfc0
+ - mfc1
+ - mfc2
+ - mfc3
+ - mfhi
+ - mflo
+ - mtc0
+ - mtc1
+ - mtc2
+ - mtc3
+ - mthi
+ - mtlo
+ - mul.d
+ - mul.s
+ - mult
+ - multu
+ - nor
+ - or
+ - ori
+ - rfe
+ - sb
+ - sh
+ - sw
+ - swcl
+ - swl
+ - swr
+ - sll
+ - sllv
+ - slt
+ - slti
+ - sltiu
+ - sra
+ - srav
+ - srl
+ - srlv
+ - sub
+ - sub.d
+ - sub.s
+ - subu
+ - sw
+ - swc0
+ - swc1
+ - swc2
+ - swc3
+ - swl
+ - swr
+ - syscall
+ - xor
+ - xori
+
+
+ - abs
+ - b
+ - beqz
+ - bge
+ - bgeu
+ - bgt
+ - bgtu
+ - ble
+ - bleu
+ - blt
+ - bltu
+ - bnez
+ - div
+ - divu
+ - l.d
+ - l.s
+ - la
+ - ld
+ - li
+ - li.d
+ - li.s
+ - mfc0.d
+ - mfc1.d
+ - mfc2.d
+ - mfc3.d
+ - mov.d
+ - mov.s
+ - move
+ - mul
+ - mulo
+ - mulou
+ - neg
+ - neg.d
+ - neg.s
+ - negu
+ - nop
+ - not
+ - rem
+ - remu
+ - rol
+ - ror
+ - s.d
+ - s.s
+ - sd
+ - seq
+ - sge
+ - sgeu
+ - sgt
+ - sgtu
+ - sle
+ - sleu
+ - sne
+ - ulh
+ - ulhu
+ - ulw
+ - ush
+ - usw
+
+
+ - $0
+ - $1
+ - $2
+ - $3
+ - $4
+ - $5
+ - $6
+ - $7
+ - $8
+ - $9
+ - $10
+ - $11
+ - $12
+ - $13
+ - $14
+ - $15
+ - $16
+ - $17
+ - $18
+ - $19
+ - $20
+ - $21
+ - $22
+ - $23
+ - $24
+ - $25
+ - $26
+ - $27
+ - $28
+ - $29
+ - $30
+ - $31
+ - $zero
+ - $t0
+ - $t1
+ - $t2
+ - $t3
+ - $t4
+ - $t5
+ - $t6
+ - $t7
+ - $t8
+ - $t9
+
+
+ - $v0
+ - $v1
+ - $a0
+ - $a1
+ - $a2
+ - $a3
+ - $k0
+ - $k1
+ - $at
+ - $gp
+ - $sp
+ - $fp
+ - $s0
+ - $s1
+ - $s2
+ - $s3
+ - $s4
+ - $s5
+ - $s6
+ - $s7
+ - $ra
+
+
+ - $f0
+ - $f1
+ - $f2
+ - $f3
+ - $f4
+ - $f5
+ - $f6
+ - $f7
+ - $f8
+ - $f9
+ - $f10
+ - $f11
+ - $f12
+ - $f13
+ - $f14
+ - $f15
+ - $f16
+ - $f17
+ - $f18
+ - $f19
+ - $f20
+ - $f21
+ - $f22
+ - $f23
+ - $f24
+ - $f25
+ - $f26
+ - $f27
+ - $f28
+ - $f29
+ - $f30
+ - $f31
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/modelica.xml b/data/syntax/modelica.xml
new file mode 100644
index 0000000..d182965
--- /dev/null
+++ b/data/syntax/modelica.xml
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+
+ - block
+ - class
+ - connector
+ - function
+ - model
+ - package
+ - record
+
+
+
+
+ - type
+
+
+
+
+ - Boolean
+ - enumeration
+ - ExternalObject
+ - Integer
+ - Real
+ - StateSelect
+ - String
+
+
+
+
+ - display
+ - fixed
+ - max
+ - min
+ - nominal
+ - quantity
+ - start
+ - stateSelect
+ - unit
+ - value
+
+
+
+
+ - algorithm
+ - and
+ - annotation
+ - assert
+ - break
+ - connect
+ - constant
+ - constrainedby
+ - discrete
+ - else
+ - elseif
+ - elsewhen
+ - encapsulated
+ - end
+ - equation
+ - expandable
+ - extends
+ - external
+ - false
+ - final
+ - flow
+ - for
+ - if
+ - import
+ - in
+ - inner
+ - input
+ - loop
+ - not
+ - or
+ - outer
+ - output
+ - parameter
+ - partial
+ - protected
+ - public
+ - redeclare
+ - replaceable
+ - return
+ - then
+ - true
+ - when
+ - while
+ - within
+
+
+
+
+
+ - time
+
+ - abs
+ - ceil
+ - div
+ - floor
+ - integer
+ - mod
+ - rem
+ - sign
+ - sqrt
+
+ - sin
+ - cos
+ - tan
+ - asin
+ - acos
+ - atan
+ - atan2
+ - sinh
+ - cosh
+ - tanh
+ - exp
+ - log
+ - log10
+
+ - analysisType
+ - cardinality
+ - change
+ - delay
+ - der
+ - direction
+ - edge
+ - initial
+ - isPresent
+ - noEvent
+ - pre
+ - reinit
+ - sample
+ - semiLinear
+ - smooth
+ - terminal
+ - terminate
+
+ - ndims
+ - size
+ - scalar
+ - vector
+ - matrix
+ - array
+ - zeros
+ - ones
+ - fill
+ - identity
+ - diagonal
+ - linspace
+ - min
+ - max
+ - sum
+ - product
+ - transpose
+ - outerProduct
+ - symmetric
+ - cross
+ - skew
+ - cat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/modelines.xml b/data/syntax/modelines.xml
new file mode 100644
index 0000000..f85631e
--- /dev/null
+++ b/data/syntax/modelines.xml
@@ -0,0 +1,194 @@
+
+
+
+]>
+
+
+
+
+
+ - kate:
+
+
+
+
+
+ - auto-insert-doxygen
+ - automatic-spell-checking
+ - backspace-indents
+ - block-selection
+ - bookmark-sorting
+ - bom
+ - byte-order-marker
+ - dynamic-word-wrap
+ - folding-markers
+ - folding-preview
+ - icon-border
+ - indent-pasted-text
+ - keep-extra-spaces
+ - line-numbers
+ - newline-at-eof
+ - overwrite-mode
+ - persistent-selection
+
+
+ - replace-tabs-save
+ - replace-tabs
+ - replace-trailing-space-save
+ - smart-home
+ - scrollbar-minimap
+ - scrollbar-preview
+ - space-indent
+ - show-tabs
+ - show-trailing-spaces
+ - tab-indents
+ - word-wrap
+ - wrap-cursor
+
+
+
+ - on
+ - true
+ - 1
+
+
+
+ - off
+ - false
+ - 0
+
+
+
+ - auto-center-lines
+ - font-size
+ - indent-mode
+ - indent-width
+ - tab-width
+ - undo-steps
+ - word-wrap-column
+
+
+
+ - background-color
+ - bracket-highlight-color
+ - current-line-color
+ - default-dictionary
+ - encoding
+ - eol
+ - end-of-line
+ - font
+ - hl
+ - icon-bar-color
+ - mode
+ - scheme
+ - selection-color
+ - syntax
+ - word-wrap-marker-color
+
+
+
+ - remove-trailing-spaces
+
+
+
+ - 0
+ - -
+ - none
+
+ - modified
+ - mod
+ - +
+ - 1
+
+ - all
+ - *
+ - 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/modula-2.xml b/data/syntax/modula-2.xml
new file mode 100644
index 0000000..b6c65a2
--- /dev/null
+++ b/data/syntax/modula-2.xml
@@ -0,0 +1,188 @@
+
+
+
+
+
+ - ASSEMBLER
+ - ALLOCATE
+ - DEALLOCATE
+ - SIZE
+ - Write
+ - WriteString
+ - WriteCard
+ - WriteLn
+ - WriteBf
+ - WriteInt
+ - WriteReal
+ - WriteLongReal
+ - Read
+ - ReadString
+ - ReadCard
+ - ReadInt
+ - ReadReal
+ - ReadLongReal
+ - Open
+ - Close
+ - OpenInput
+ - OpenOutput
+ - Accessible
+ - Erase
+ - EOF
+ - Done
+ - EmptyString
+ - Assign
+ - Append
+ - Length
+ - StrEq
+ - Copy
+ - Concat
+ - pos
+ - Delete
+ - Insert
+ - compare
+ - CAPS
+ - PutBf
+ - GetArgs
+ - GetEnv
+ - ResetClock
+ - UserTime
+ - SystemTime
+ - GetChar
+ - GetInt
+ - GetCard
+ - GetString
+ - GetReal
+ - GetLongReal
+ - PutChar
+ - PutInt
+ - PutCard
+ - PutString
+ - PutReal
+ - PutLongReal
+ - PutLn
+
+
+ - AND
+ - ARRAY
+ - ASM
+ - BEGIN
+ - CASE
+ - CONST
+ - DIV
+ - DO
+ - ELSE
+ - ELSIF
+ - END
+ - FOR
+ - IF
+ - IMPLEMENTATION
+ - IN
+ - SET
+ - INCL
+ - EXCL
+ - ABS
+ - BITSET
+ - CAP
+ - CHR
+ - DEC
+ - HALT
+ - HIGH
+ - INC
+ - MAX
+ - MIN
+ - ODD
+ - ORD
+ - PROC
+ - TRUNC
+ - VAL
+ - MOD
+ - NIL
+ - NOT
+ - OF
+ - OR
+ - PROCEDURE
+ - MODULE
+ - DEFINITION
+ - RECORD
+ - REPEAT
+ - THEN
+ - TO
+ - TYPE
+ - UNTIL
+ - LOOP
+ - VAR
+ - WHILE
+ - WITH
+ - EXIT
+ - FALSE
+ - TRUE
+ - BY
+ - FROM
+ - IMPORT
+ - EXPORT
+ - QUALIFIED
+ - RETURN
+ - NEWPROCESS
+ - TRANSFER
+ - IOTRANSFER
+ - FOREIGN
+
+
+ - INTEGER
+ - CARDINAL
+ - SHORTINT
+ - SHORTCARD
+ - LONGINT
+ - LONGREAL
+ - CHAR
+ - BOOLEAN
+ - POINTER
+ - ADDRESS
+ - ADR
+ - REAL
+ - File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/monobasic.xml b/data/syntax/monobasic.xml
new file mode 100644
index 0000000..51f62d5
--- /dev/null
+++ b/data/syntax/monobasic.xml
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+ - Option
+ - Explicit
+ - Strict
+ - Imports
+ - Inherits
+ - As
+ - New
+ - Dim
+ - Redim
+ - Private
+ - Friend
+ - Public
+ - Const
+ - ReadOnly
+ - WriteOnly
+ - Default
+ - Shared
+ - Shadows
+ - Protected
+ - Overloads
+ - Overrides
+ - NotOverridable
+ - NotInheritable
+ - MustInherit
+ - MustOverride
+ - MyBase
+ - MyClass
+ - Me
+ - Delegate
+ - Catch
+ - Finaly
+ - When
+ - Throw
+ - To
+ - Step
+ - Then
+ - Else
+ - True
+ - False
+ - Nothing
+ - Call
+ - ByVal
+ - ByRef
+ - Optional
+ - ParamArray
+ - Return
+ - Declare
+ - WithEvents
+ - Event
+ - RaiseEvent
+ - AddHandler
+ - And
+ - Or
+ - Not
+ - Xor
+ - AndAlso
+ - OrElse
+ - Goto
+ - On
+ - Error
+ - Resume
+
+
+
+ - Boolean
+ - Char
+ - String
+ - Integer
+ - Long
+ - Double
+ - Object
+ - Exception
+ - Date
+ - DateTime
+ - Int16
+ - Int32
+ - Int64
+ - ParamArray
+ - TimeSpan
+ - Byte
+ - Decimal
+ - IntPtr
+ - Single
+ - Guid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/mup.xml b/data/syntax/mup.xml
new file mode 100644
index 0000000..38d949b
--- /dev/null
+++ b/data/syntax/mup.xml
@@ -0,0 +1,865 @@
+
+
+
+
+
+
+
+ - score
+ - music
+ - header
+ - header2
+ - footer
+ - footer2
+ - top
+ - top2
+ - bottom
+ - bottom2
+ - staff
+ - voice
+ - grids
+ - music
+ - headshapes
+ - block
+
+
+
+
+ - aboveorder
+ - addtranspose
+ - barstyle
+ - beamslope
+ - beamstyle
+ - beloworder
+ - betweenorder
+ - bottommargin
+ - brace
+ - bracket
+ - cancelkey
+ - chorddist
+ - clef
+ - crescdist
+ - defoct
+ - dist
+ - division
+ - dyndist
+ - endingstyle
+ - firstpage
+ - font
+ - fontfamily
+ - gridfret
+ - gridsatend
+ - gridscale
+ - gridswhereused
+ - key
+ - label
+ - label2
+ - leftmargin
+ - lyricsalign
+ - lyricsfont
+ - lyricsfontfamily
+ - lyricssize
+ - measnum
+ - measnumfont
+ - measnumfontfamily
+ - measnumsize
+ - noteheads
+ - numbermrpt
+ - ontheline
+ - packexp
+ - packfact
+ - pad
+ - pageheight
+ - pagewidth
+ - panelsperpage
+ - pedstyle
+ - printmultnum
+ - rehstyle
+ - release
+ - restcombine
+ - restsymmult
+ - rightmargin
+ - scale
+ - scorepad
+ - scoresep
+ - size
+ - stafflines
+ - staffpad
+ - staffs
+ - staffscale
+ - staffsep
+ - stemlen
+ - swingunit
+ - sylposition
+ - tabwhitebox
+ - time
+ - timeunit
+ - topmargin
+ - transpose
+ - units
+ - visible
+ - vscheme
+ - warn
+
+
+
+
+ - y
+ - n
+ - 2f
+ - 2o
+ - 3f
+ - 3o
+ - mussym
+ - octave
+ - dyn
+ - othertext
+ - chord
+ - lyrics
+ - ending
+ - reh
+ - up
+ - down
+ - major
+ - minor
+ - perfect
+ - augmented
+ - diminished
+ - maj
+ - min
+ - per
+ - aug
+ - dim
+ - pedal
+ - 8treble
+ - treble8
+ - treble
+ - frenchviolin
+ - soprano
+ - mezzosoprano
+ - alto
+ - tenor
+ - baritone
+ - bass
+ - cut
+ - common
+ - line
+ - alt
+ - pedstar
+ - top
+ - barred
+ - grouped
+ - times
+ - boxed
+ - circled
+ - plain
+ - 1n
+ - 5n
+ - 1drum
+ - 5drum
+ - drum
+ - tab
+ - inches
+ - cm
+ - whereused
+
+
+
+
+ - define
+ - ifdef
+ - ifndef
+
+
+
+
+ - @
+ - endif
+
+
+
+
+ - else
+ - include
+ - undef
+
+
+
+
+ - exclamdown
+ - questiondown
+ - sterling
+ - yen
+ - cent
+ - quotedblbase
+ - quotedblleft
+ - ``
+ - quotedblright
+ - ''
+ - guillemotleft
+ - <<
+ - guillemotright
+ - >>
+ - guildsinglleft
+ - guilsinglright
+ - dagger
+ - daggerdbl
+ - grave
+ - acute
+ - macron
+ - breve
+ - dotaccent
+ - dieresis
+ - ring
+ - cedilla
+ - hungarumlaut
+ - ogonek
+ - caron
+ - emdash
+ - AE
+ - ae
+ - ordfeminine
+ - ordmasculine
+ - Lslash
+ - L/
+ - lslash
+ - l/
+ - Oslash
+ - O/
+ - oslash
+ - o/
+ - OE
+ - oe
+ - dotlessi
+ - germandbls
+ - ss
+ - Aacute
+ - A'
+ - aacute
+ - a'
+ - Acircumflex
+ - A^
+ - acircumflex
+ - a^
+ - Adieresis
+ - A:
+ - adieresis
+ - a:
+ - Agrave
+ - A`
+ - agrave
+ - a`
+ - Aring
+ - Ao
+ - aring
+ - ao
+ - Atilde
+ - A~
+ - atilde
+ - a~
+ - Ccedilla
+ - C,
+ - ccedilla
+ - c,
+ - Eacute
+ - E'
+ - eacute
+ - e'
+ - Ecircumflex
+ - E^
+ - ecircumflex
+ - e^
+ - Edieresis
+ - E:
+ - edieresis
+ - e:
+ - Egrave
+ - E`
+ - egrave
+ - e`
+ - Iacute
+ - I'
+ - iacute
+ - i'
+ - Icircumflex
+ - I^
+ - icircumflex
+ - i^
+ - Idieresis
+ - i:
+ - idieresis
+ - i:
+ - Igrave
+ - I`
+ - igrave
+ - i`
+ - Ntilde
+ - N~
+ - ntilde
+ - n~
+ - Oacute
+ - O'
+ - oacute
+ - o'
+ - Ocircumflex
+ - O^
+ - ocircumflex
+ - o^
+ - Odieresis
+ - O:
+ - odieresis
+ - o:
+ - Ograve
+ - O`
+ - ograve
+ - o`
+ - Otilde
+ - O~
+ - otilde
+ - o~
+ - Scaron
+ - Sv
+ - scaron
+ - sv
+ - Uacute
+ - U'
+ - uacute
+ - u'
+ - Ucircumflex
+ - U^
+ - ucircumflex
+ - u^
+ - Udieresis
+ - U:
+ - udieresis
+ - u:
+ - Ugrave
+ - U`
+ - ugrave
+ - u`
+ - Ydieresis
+ - Y:
+ - ydieresis
+ - y:
+ - Zcaron
+ - Zv
+ - zcaron
+ - zv
+ - bullet
+ - space
+
+
+
+
+ - gclef
+ - fclef
+ - cclef
+ - com
+ - cut
+ - flat
+ - dblflat
+ - sharp
+ - dblsharp
+ - nat
+ - 4n
+ - 2n
+ - 1n
+ - dblwhole
+ - xnote
+ - diamond
+ - filldiamond
+ - dwhdiamond
+ - dn2n
+ - dn4n
+ - dn8n
+ - dn16n
+ - dn32n
+ - dn64n
+ - dn128n
+ - dn256n
+ - up2n
+ - up4n
+ - up8n
+ - up16n
+ - up32n
+ - up64n
+ - up128n
+ - up256n
+ - upflag
+ - dnflag
+ - qwhrest
+ - dwhrest
+ - 1rest
+ - 2rest
+ - 4rest
+ - 8rest
+ - 16rest
+ - 32rest
+ - 64rest
+ - 128rest
+ - 256rest
+ - begped
+ - endped
+ - pedal
+ - tr
+ - mor
+ - invmor
+ - turn
+ - invturn
+ - ferm
+ - uferm
+ - acc_gt
+ - acc_hat
+ - acc_uhat
+ - leg
+ - dot
+ - wedge
+ - uwedge
+ - sign
+ - coda
+ - upbow
+ - dnbow
+ - rr
+ - measrpt
+ - copyright
+ - dim
+ - halfdim
+ - triangle
+
+ - smgclef
+ - smfclef
+ - smcclef
+ - smcom
+ - smcut
+ - smflat
+ - smdblflat
+ - smsharp
+ - smdblsharp
+ - smnat
+ - sm4n
+ - sm2n
+ - sm1n
+ - smdblwhole
+ - smxnote
+ - smdiamond
+ - smfilldiamond
+ - smdwhdiamond
+ - smdn2n
+ - smdn4n
+ - smdn8n
+ - smdn16n
+ - smdn32n
+ - smdn64n
+ - smdn128n
+ - smdn256n
+ - smup2n
+ - smup4n
+ - smup8n
+ - smup16n
+ - smup32n
+ - smup64n
+ - smup128n
+ - smup256n
+ - smupflag
+ - smdnflag
+ - smqwhrest
+ - smdwhrest
+ - sm1rest
+ - sm2rest
+ - sm4rest
+ - sm8rest
+ - sm16rest
+ - sm32rest
+ - sm64rest
+ - sm128rest
+ - sm256rest
+ - smbegped
+ - smendped
+ - smpedal
+ - smtr
+ - smmor
+ - sminvmor
+ - smturn
+ - sminvturn
+ - smferm
+ - smuferm
+ - smacc_gt
+ - smacc_hat
+ - smacc_uhat
+ - smleg
+ - smdot
+ - smwedge
+ - smuwedge
+ - smsign
+ - smcoda
+ - smupbow
+ - smdnbow
+ - smrr
+ - smmeasrpt
+ - smcopyright
+ - smdim
+ - smhalfdim
+ - smtriangle
+
+
+
+
+ - print
+ - left
+ - right
+ - center
+ - title
+ - paragraph
+ - postscript
+
+
+
+
+ - avantgarde
+ - bookman
+ - courier
+ - helvetica
+ - newcentury
+ - palatino
+ - times
+
+
+
+
+ - rom
+ - bold
+ - ital
+ - boldital
+
+
+
+
+ - chord
+ - analysis
+ - figbass
+ - dyn
+
+
+
+
+ - dotted
+ - dashed
+ - wavy
+ - wide
+ - medium
+
+ - line
+ - curve
+ - to
+ - bulge
+
+ - octave
+ - mussym
+ - phrase
+ - pedal
+ - roll
+ - to
+
+ - down
+ - up
+ - with
+
+ - midi
+
+
+
+
+ - above
+ - below
+ - between
+ - all
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/nagios.xml b/data/syntax/nagios.xml
new file mode 100644
index 0000000..362103a
--- /dev/null
+++ b/data/syntax/nagios.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+ - host
+ - hostgroup
+ - service
+ - servicegroup
+ - contact
+ - contactgroup
+ - timeperiod
+ - command
+ - servicedependency
+ - serviceescalation
+ - hostdependency
+ - hostescalation
+ - hostextinfo
+ - serviceextinfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/nasm.xml b/data/syntax/nasm.xml
new file mode 100644
index 0000000..8c5dbf0
--- /dev/null
+++ b/data/syntax/nasm.xml
@@ -0,0 +1,893 @@
+
+
+
+
+
+
+
+ - eax
+ - ax
+ - ah
+ - al
+ - ebx
+ - bx
+ - bh
+ - bl
+ - ecx
+ - cx
+ - ch
+ - cl
+ - edx
+ - dx
+ - dh
+ - dl
+ - ebp
+ - bp
+ - esi
+ - si
+ - edi
+ - di
+
+ - esp
+ - sp
+
+ - cs
+ - ds
+ - es
+ - fs
+ - gs
+ - ss
+
+ - cr0
+
+ - cr2
+ - cr3
+ - cr4
+
+ - dr0
+ - dr1
+ - dr2
+ - dr3
+ - dr6
+ - dr7
+
+ - st
+
+ - mm0
+ - mm1
+ - mm2
+ - mm3
+ - mm4
+ - mm5
+ - mm6
+ - mm7
+
+ - xmm0
+ - xmm1
+ - xmm2
+ - xmm3
+ - xmm4
+ - xmm5
+ - xmm6
+ - xmm7
+
+
+ - aaa
+ - aad
+ - aam
+ - aas
+ - adc
+ - add
+ - addpd
+ - addps
+ - addsd
+ - addss
+ - addsubpd
+ - addsubps
+ - and
+ - andnpd
+ - andnps
+ - andpd
+ - andps
+ - arpl
+ - bound
+ - bsf
+ - bsr
+ - bswap
+ - bt
+ - btc
+ - btr
+ - bts
+ - call
+ - cbw
+ - cwde
+ - cwd
+ - cdq
+ - cdqe
+ - cqo
+ - clc
+ - cld
+ - clgi
+ - cli
+ - clts
+ - clflush
+ - cmc
+ - cmova
+ - cmovae
+ - cmovb
+ - cmovbe
+ - cmovc
+ - cmove
+ - cmovg
+ - cmovge
+ - cmovl
+ - cmovle
+ - cmovna
+ - cmovnae
+ - cmovnb
+ - cmovnbe
+ - cmovnc
+ - cmovne
+ - cmovng
+ - cmovnge
+ - cmovnl
+ - cmovnle
+ - cmovno
+ - cmovnp
+ - cmovns
+ - cmovnz
+ - cmovo
+ - cmovp
+ - cmovpe
+ - cmovpo
+ - cmovs
+ - cmovz
+ - cmp
+ - cmpeqpd
+ - cmpeqps
+ - cmpeqsd
+ - cmpeqss
+ - cmplepd
+ - cmpleps
+ - cmplesd
+ - cmpless
+ - cmpltpd
+ - cmpltps
+ - cmpltsd
+ - cmpltss
+ - cmpneqpd
+ - cmpneqps
+ - cmpneqsd
+ - cmpneqss
+ - cmpnlepd
+ - cmpnleps
+ - cmpnlesd
+ - cmpnless
+ - cmpnltpd
+ - cmpnltps
+ - cmpnltsd
+ - cmpnltss
+ - cmpordpd
+ - cmpordps
+ - cmpordsd
+ - cmpordss
+ - cmppd
+ - cmpps
+ - cmps
+ - cmpsb
+ - cmpsd
+ - cmpss
+ - cmpsw
+ - cmpunordpd
+ - cmpunordps
+ - cmpunordsd
+ - cmpunordss
+ - cmpxchg
+ - cmpxchg486
+ - cmpxchg8b
+ - cmpxchg16b
+ - comisd
+ - comiss
+ - cpuid
+ - cvtdq2pd
+ - cvtdq2ps
+ - cvtpd2dq
+ - cvtpd2pi
+ - cvtpd2ps
+ - cvtpi2pd
+ - cvtpi2ps
+ - cvtps2dq
+ - cvtps2pd
+ - cvtps2pi
+ - cvtsd2si
+ - cvtsd2ss
+ - cvtsi2sd
+ - cvtsi2ss
+ - cvtss2sd
+ - cvtss2si
+ - cvttpd2dq
+ - cvttpd2pi
+ - cvttps2dq
+ - cvttps2pi
+ - cvttsd2si
+ - cvttss2si
+ - daa
+ - das
+ - dec
+ - div
+ - divpd
+ - divps
+ - divsd
+ - divss
+ - emms
+ - enter
+ - f2xm1
+ - fabs
+ - fadd
+ - faddp
+ - fbld
+ - fbstp
+ - fchs
+ - fclex
+ - fnclex
+ - fcmovb
+ - fcmovbe
+ - fcmove
+ - fcmovnb
+ - fcmovnbe
+ - fcmovne
+ - fcmovnu
+ - fcmovu
+ - fcom
+ - fcomp
+ - fcompp
+ - fcomi
+ - fcomip
+ - fcos
+ - fdecstp
+ - fdisi
+ - feni
+ - fdiv
+ - fdivr
+ - fdivp
+ - fdivrp
+ - femms
+ - ffree
+ - ffreep
+ - fiadd
+ - ficom
+ - ficomp
+ - fidiv
+ - fidivr
+ - fild
+ - fimul
+ - fincstp
+ - finit
+ - fist
+ - fistp
+ - fisttp
+ - fisub
+ - fisubr
+ - fld
+ - fld1
+ - fldl2e
+ - fldl2t
+ - fldlg2
+ - fldln2
+ - fldcw
+ - fldenv
+ - fldpi
+ - fldz
+ - fmul
+ - fmulp
+ - fndisi
+ - fneni
+ - fninit
+ - fnop
+ - fnsave
+ - fnstcw
+ - fnstenv
+ - fnstsw
+ - fnwait
+ - fpatan
+ - fptan
+ - fprem
+ - fprem1
+ - frndint
+ - frstor
+ - fsave
+ - fscale
+ - fsetpm
+ - fsin
+ - fsincos
+ - fsqrt
+ - fst
+ - fstp
+ - fstcw
+ - fstenv
+ - fstsw
+ - fsub
+ - fsubr
+ - fsubp
+ - fsubrp
+ - ftst
+ - fucom
+ - fucomp
+ - fucompp
+ - fucomi
+ - fucomip
+ - fwait
+ - fxam
+ - fxch
+ - fxrstor
+ - fxsave
+ - fxtract
+ - fyl2x
+ - fyl2xp1
+ - haddpd
+ - haddps
+ - hlt
+ - hsubpd
+ - hsubps
+ - ibts
+ - idiv
+ - imul
+ - in
+ - inc
+ - ins
+ - insb
+ - insd
+ - insw
+ - int
+ - int1
+ - int3
+ - into
+ - invd
+ - invlpg
+ - invlpga
+ - iret
+ - iretd
+ - iretq
+ - iretw
+ - ja
+ - jae
+ - jb
+ - jbe
+ - jc
+ - je
+ - jg
+ - jge
+ - jl
+ - jle
+ - jna
+ - jnae
+ - jnb
+ - jnbe
+ - jnc
+ - jne
+ - jng
+ - jnge
+ - jnl
+ - jnle
+ - jno
+ - jnp
+ - jns
+ - jnz
+ - jo
+ - jp
+ - jpe
+ - jpo
+ - js
+ - jz
+ - jcxz
+ - jecxz
+ - jrcxz
+ - jmp
+ - lahf
+ - lar
+ - lddqu
+ - ldmxcsr
+ - lds
+ - les
+ - lea
+ - leave
+ - lfence
+ - lfs
+ - lgdt
+ - lgs
+ - lidt
+ - lldt
+ - lmsw
+ - loadall
+ - loadall286
+ - lods
+ - lodsb
+ - lodsd
+ - lodsq
+ - lodsw
+ - loop
+ - loope
+ - loopne
+ - loopnz
+ - loopz
+ - lsl
+ - lss
+ - ltr
+ - maskmovdqu
+ - maskmovq
+ - maxpd
+ - maxps
+ - maxsd
+ - maxss
+ - mfence
+ - minpd
+ - minps
+ - minsd
+ - minss
+ - monitor
+ - mov
+ - movapd
+ - movaps
+ - movd
+ - movddup
+ - movdq2q
+ - movdqa
+ - movdqu
+ - movhlps
+ - movhpd
+ - movhps
+ - movlhps
+ - movlpd
+ - movlps
+ - movmskpd
+ - movmskps
+ - movntdq
+ - movnti
+ - movntpd
+ - movntps
+ - movntq
+ - movq
+ - movq2dq
+ - movs
+ - movsb
+ - movsd
+ - movshdup
+ - movsldup
+ - movsq
+ - movss
+ - movsx
+ - movsxd
+ - movsw
+ - movupd
+ - movups
+ - movzx
+ - mul
+ - mulpd
+ - mulps
+ - mulsd
+ - mulss
+ - mwait
+ - neg
+ - nop
+ - not
+ - or
+ - orpd
+ - orps
+ - out
+ - outs
+ - outsb
+ - outsw
+ - outsd
+ - packssdw
+ - packsswb
+ - packuswb
+ - paddb
+ - paddd
+ - paddq
+ - paddsb
+ - paddsw
+ - paddusb
+ - paddusw
+ - paddw
+ - pand
+ - pandn
+ - pause
+ - pavgb
+ - pavgusb
+ - pavgw
+ - pcmpeqb
+ - pcmpeqw
+ - pcmpeqd
+ - pcmpgtb
+ - pcmpgtw
+ - pcmpgtd
+ - pdistib
+ - pextrw
+ - pf2id
+ - pf2iw
+ - pfacc
+ - pfadd
+ - pfcmpeq
+ - pfcmpge
+ - pfcmpgt
+ - pfmax
+ - pfmin
+ - pfmul
+ - pfnacc
+ - pfpnacc
+ - pfrcp
+ - pfrcpit1
+ - pfrcpit2
+ - pfrsqit1
+ - pfrsqrt
+ - pfsub
+ - pfsubr
+ - pi2fd
+ - pi2fw
+ - pinsrw
+ - pmachriw
+ - pmaddwd
+ - pmagw
+ - pmaxsw
+ - pmaxub
+ - pminsw
+ - pminub
+ - pmovmskb
+ - pmulhrw
+ - pmulhuw
+ - pmulhw
+ - pmullw
+ - pmuludq
+ - pmvgezb
+ - pmvlzb
+ - pmvnzb
+ - pmvzb
+ - pop
+ - popa
+ - popaw
+ - popad
+ - popf
+ - popfw
+ - popfd
+ - popfq
+ - por
+ - prefetch
+ - prefetchnta
+ - prefetcht0
+ - prefetcht1
+ - prefetcht2
+ - prefetchw
+ - psadbw
+ - pshufd
+ - pshufhw
+ - pshuflw
+ - pshufw
+ - pslld
+ - pslldq
+ - psllq
+ - psllw
+ - psrad
+ - psraw
+ - psrld
+ - psrldq
+ - psrlq
+ - psrlw
+ - psubb
+ - psubd
+ - psubq
+ - psubsb
+ - psubsiw
+ - psubsw
+ - psubusb
+ - psubusw
+ - psubw
+ - pswapd
+ - punpckhbw
+ - punpckhdq
+ - punpckhqdq
+ - punpckhwd
+ - punpcklbw
+ - punpckldq
+ - punpcklqdq
+ - punpcklwd
+ - push
+ - pusha
+ - pushad
+ - pushaw
+ - pushf
+ - pushfd
+ - pushfq
+ - pushfw
+ - pxor
+ - rcl
+ - rcr
+ - rcpps
+ - rcpss
+ - rdmsr
+ - rdpmc
+ - rdshr
+ - rdtsc
+ - rdtscp
+ - ret
+ - retf
+ - retn
+ - rol
+ - ror
+ - rsdc
+ - rsldt
+ - rsm
+ - rsqrtps
+ - rsqrtss
+ - rsts
+ - sahf
+ - sal
+ - sar
+ - salc
+ - sbb
+ - scas
+ - scasb
+ - scasd
+ - scasq
+ - scasw
+ - seta
+ - setae
+ - setb
+ - setbe
+ - setc
+ - sete
+ - setg
+ - setge
+ - setl
+ - setle
+ - setna
+ - setnae
+ - setnb
+ - setnbe
+ - setnc
+ - setne
+ - setng
+ - setnge
+ - setnl
+ - setnle
+ - setno
+ - setnp
+ - setns
+ - setnz
+ - seto
+ - setp
+ - setpe
+ - setpo
+ - sets
+ - setz
+ - sfence
+ - sgdt
+ - shl
+ - shld
+ - shr
+ - shrd
+ - shufpd
+ - shufps
+ - sidt
+ - skinit
+ - sldt
+ - smi
+ - smint
+ - smintold
+ - smsw
+ - sqrtpd
+ - sqrtps
+ - sqrtsd
+ - sqrtss
+ - stc
+ - std
+ - stgi
+ - sti
+ - stmxcsr
+ - stos
+ - stosb
+ - stosd
+ - stosq
+ - stosw
+ - str
+ - sub
+ - subpd
+ - subps
+ - subsd
+ - subss
+ - svdc
+ - svldt
+ - svts
+ - swapgs
+ - syscall
+ - sysenter
+ - sysexit
+ - sysret
+ - test
+ - ucomisd
+ - ucomiss
+ - ud0
+ - ud1
+ - ud2
+ - umov
+ - unpckhpd
+ - unpckhps
+ - unpcklpd
+ - unpcklps
+ - verr
+ - verw
+ - vmload
+ - vmmcall
+ - vmrun
+ - vmsave
+ - wait
+ - wbinvd
+ - wrmsr
+ - wrshr
+ - xadd
+ - xbts
+ - xchg
+ - xlat
+ - xlatb
+ - xor
+ - xorpd
+ - xorps
+
+
+
+ - times
+
+ - equ
+
+ - db
+ - dw
+ - dd
+ - dq
+ - dt
+
+ - resb
+ - resw
+ - resd
+ - resq
+ - rest
+
+ - incbin
+
+ - byte
+ - word
+ - dword
+ - qword
+ - short
+ - ptr
+
+
+
+ - absolute
+ - bits
+ - common
+ - extern
+ - global
+ - org
+ - section
+ - seg
+ - segment
+ - strict
+ - use16
+ - use32
+ - wrt
+
+ - struc
+ - endstruc
+ - istruc
+ - at
+ - iend
+ - align
+ - alignb
+
+ - __SECT__
+ - __NASM_MAJOR__
+ - __NASM_MINOR__
+ - __NASM_SUBMINOR__
+ - ___NASM_PATCHLEVEL__
+ - __NASM_VERSION_ID__
+ - __NASM_VER__
+ - __FILE__
+ - __LINE__
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/nemerle.xml b/data/syntax/nemerle.xml
new file mode 100644
index 0000000..208d70d
--- /dev/null
+++ b/data/syntax/nemerle.xml
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+ - abstract
+ - def
+ - delegate
+ - event
+ - extern
+ - internal
+ - mutable
+ - override
+ - public
+ - private
+ - protected
+ - sealed
+ - static
+ - volatile
+ - virtual
+ - new
+
+
+
+ - macro
+ - namespace
+ - using
+ - \[Record\]
+
+
+
+ - array
+ - bool
+ - byte
+ - char
+ - decimal
+ - double
+ - enum
+ - float
+ - int
+ - list
+ - long
+ - object
+ - sbyte
+ - short
+ - string
+ - uint
+ - ulong
+ - ushort
+ - variant
+ - void
+
+
+
+ - _
+ - as
+ - assert
+ - base
+ - catch
+ - checked
+ - do
+ - else
+ - false
+ - finally
+ - for
+ - foreach
+ - fun
+ - get
+ - if
+ - ignore
+ - implements
+ - in
+ - is
+ - lock
+ - match
+ - null
+ - out
+ - params
+ - ref
+ - repeat
+ - set
+ - syntax
+ - this
+ - throw
+ - true
+ - try
+ - typeof
+ - unchecked
+ - unless
+ - when
+ - where
+ - while
+ - with
+
+
+
+ - #define
+ - #elif
+ - #else
+ - #endif
+ - #endregion
+ - #error
+ - #if
+ - #line
+ - #region
+ - #undef
+ - #warning
+ - #pragma
+
+
+
+ - class
+ - interface
+ - module
+ - struct
+ - type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/nesc.xml b/data/syntax/nesc.xml
new file mode 100644
index 0000000..5a88f87
--- /dev/null
+++ b/data/syntax/nesc.xml
@@ -0,0 +1,192 @@
+
+
+
+
+
+ - break
+ - case
+ - continue
+ - default
+ - do
+ - else
+ - enum
+ - extern
+ - for
+ - goto
+ - if
+ - inline
+ - return
+ - sizeof
+ - struct
+ - switch
+ - typedef
+ - union
+ - while
- interface
+ - module
+ - configuration
+ - implementation
+ - components
+ - as
+ - uses
+ - provides
+ - includes
+ - command
+ - event
+ - async
+ - task
+ - norace
+ - default
+ - __attribute__
+ - atomic
+ - call
+ - signal
+ - post
+
+
+
+ - auto
+ - char
+ - const
+ - double
+ - float
+ - int
+ - long
+ - register
+ - restrict
+ - short
+ - signed
+ - static
+ - unsigned
+ - void
+ - volatile
+ - _Imaginary
+ - _Complex
+ - _Bool
+ - bool
+ - uint8_t
+ - uint16_t
+ - uint32_t
+ - uint64_t
+ - result_t
+ - SUCCESS
+ - FAIL
+ - TRUE
+ - FALSE
+ - TOSH_INTERRUPT
+ - TOSH_SIGNAL
+ - TOS_MsgPtr
+ - TOS_Msg
+
+
+ - FIXME
+ - TODO
+ - ###
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/noweb.xml b/data/syntax/noweb.xml
new file mode 100644
index 0000000..09641af
--- /dev/null
+++ b/data/syntax/noweb.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/nsis.xml b/data/syntax/nsis.xml
new file mode 100644
index 0000000..609cb79
--- /dev/null
+++ b/data/syntax/nsis.xml
@@ -0,0 +1,494 @@
+
+
+
+
+
+ - packhdr
+ - finalize
+ - system
+ - execute
+ - makensis
+ - AddIncludeDir
+ - include
+ - cd
+ - if
+ - ifdef
+ - ifndef
+ - endif
+ - define
+ - undef
+ - else
+ - echo
+ - warning
+ - error
+ - verbose
+ - macro
+ - macroend
+ - macroundef
+ - insertmacro
+ - ifmacrodef
+ - ifmacrondef
+ - tempfile
+ - delfile
+ - appendfile
+ - getdllversion
+ - searchparse
+ - searchreplace
+ - AddPluginDir
+
+
+ - nonfatal
+ - MB_ICONQUESTION
+ - MB_YESNO
+ - MB_DEFBUTTON2
+ - MB_ICONINFORMATION
+ - MB_OK
+
+
+
+ - MUI_SYSVERSION
+ - MUI_ICON
+ - MUI_UNICON
+ - MUI_HEADERIMAGE
+ - MUI_HEADERIMAGE_BITMAP
+ - MUI_HEADERIMAGE_BITMAP_NOSTRETCH
+ - MUI_HEADERIMAGE_BITMAP_RTL
+ - MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH
+ - MUI_HEADERIMAGE_UNBITMAP
+ - MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
+ - MUI_HEADERIMAGE_UNBITMAP_RTL
+ - MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH
+ - MUI_HEADERIMAGE_RIGHT
+ - MUI_BGCOLOR
+ - MUI_UI
+ - MUI_UI_HEADERIMAGE
+ - MUI_UI_HEADERIMAGE_RIGHT
+ - MUI_UI_COMPONENTSPAGE_SMALLDESC
+ - MUI_UI_COMPONENTSPAGE_NODESC
+ - MUI_WELCOMEFINISHPAGE_BITMAP
+ - MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
+ - MUI_WELCOMEFINISHPAGE_INI
+ - MUI_UNWELCOMEFINISHPAGE_BITMAP
+ - MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
+ - MUI_UNWELCOMEFINISHPAGE_INI
+ - MUI_LICENSEPAGE_BGCOLOR
+ - MUI_COMPONENTSPAGE_CHECKBITMAP
+ - MUI_COMPONENTSPAGE_SMALLDESC
+ - MUI_COMPONENTSPAGE_NODESC
+ - MUI_INSTFILESPAGE_COLORS
+ - MUI_INSTFILESPAGE_PROGRESSBAR
+ - MUI_FINISHPAGE_NOAUTOCLOSE
+ - MUI_UNFINISHPAGE_NOAUTOCLOSE
+ - MUI_ABORTWARNING
+ - MUI_ABORTWARNING_TEXT
+ - MUI_UNABORTWARNING
+ - MUI_UNABORTWARNING_TEXT
+ - MUI_PAGE_WELCOME
+ - MUI_PAGE_LICENSE
+ - MUI_PAGE_COMPONENTS
+ - MUI_PAGE_DIRECTORY
+ - MUI_PAGE_STARTMENU
+ - MUI_PAGE_INSTFILES
+ - MUI_PAGE_FINISH
+ - MUI_UNPAGE_WELCOME
+ - MUI_UNPAGE_CONFIRM
+ - MUI_UNPAGE_LICENSE
+ - MUI_UNPAGE_COMPONENTS
+ - MUI_UNPAGE_DIRECTORY
+ - MUI_UNPAGE_INSTFILES
+ - MUI_UNPAGE_FINISH
+ - MUI_PAGE_HEADER_TEXT
+ - MUI_PAGE_HEADER_SUBTEXT
+ - MUI_WELCOMEPAGE_TITLE
+ - MUI_WELCOMEPAGE_TITLE_3LINES
+ - MUI_WELCOMEPAGE_TEXT
+ - MUI_LICENSEPAGE_TEXT_TOP
+ - MUI_LICENSEPAGE_TEXT_BOTTOM
+ - MUI_LICENSEPAGE_BUTTON
+ - MUI_LICENSEPAGE_CHECKBOX
+ - MUI_LICENSEPAGE_CHECKBOX_TEXT
+ - MUI_LICENSEPAGE_RADIOBUTTONS
+ - MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT
+ - MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE
+ - MUI_COMPONENTSPAGE_TEXT_TOP
+ - MUI_COMPONENTSPAGE_TEXT_COMPLIST
+ - MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+ - MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+ - MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+ - MUI_DIRECTORYPAGE_TEXT_TOP
+ - MUI_DIRECTORYPAGE_TEXT_DESTINATION
+ - MUI_DIRECTORYPAGE_VARIABLE
+ - MUI_DIRECTORYPAGE_VERIFYONLEAVE
+ - MUI_STARTMENU_WRITE_BEGIN
+ - MUI_STARTMENU_WRITE_END
+ - MUI_STARTMENUPAGE_TEXT_TOP
+ - MUI_STARTMENUPAGE_TEXT_CHECKBOX
+ - MUI_STARTMENUPAGE_DEFAULTFOLDER
+ - MUI_STARTMENUPAGE_NODISABLE
+ - MUI_STARTMENUPAGE_REGISTRY_ROOT
+ - MUI_STARTMENUPAGE_REGISTRY_KEY
+ - MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+ - MUI_INSTFILESPAGE_FINISHHEADER_TEXT
+ - MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
+ - MUI_INSTFILESPAGE_ABORTHEADER_TEXT
+ - MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
+ - MUI_FINISHPAGE_TITLE
+ - MUI_FINISHPAGE_TITLE_3LINES
+ - MUI_FINISHPAGE_TEXT
+ - MUI_FINISHPAGE_TEXT_LARGE
+ - MUI_FINISHPAGE_BUTTON
+ - MUI_FINISHPAGE_TEXT_REBOOT
+ - MUI_FINISHPAGE_TEXT_REBOOTNOW
+ - MUI_FINISHPAGE_TEXT_REBOOTLATER
+ - MUI_FINISHPAGE_RUN
+ - MUI_FINISHPAGE_RUN_TEXT
+ - MUI_FINISHPAGE_RUN_PARAMETERS
+ - MUI_FINISHPAGE_RUN_NOTCHECKED
+ - MUI_FINISHPAGE_RUN_FUNCTION
+ - MUI_FINISHPAGE_SHOWREADME
+ - MUI_FINISHPAGE_SHOWREADME_TEXT
+ - MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+ - MUI_FINISHPAGE_SHOWREADME_FUNCTION
+ - MUI_FINISHPAGE_LINK
+ - MUI_FINISHPAGE_LINK_LOCATION
+ - MUI_FINISHPAGE_LINK_COLOR
+ - MUI_FINISHPAGE_NOREBOOTSUPPORT
+ - MUI_UNCONFIRMPAGE_TEXT_TOP
+ - MUI_UNCONFIRMPAGE_TEXT_LOCATION
+ - MUI_LANGUAGE
+ - MUI_LANGDLL_DISPLAY
+ - MUI_LANGDLL_REGISTRY_ROOT
+ - MUI_LANGDLL_REGISTRY_KEY
+ - MUI_LANGDLL_REGISTRY_VALUENAME
+ - MUI_LANGDLL_WINDOWTITLE
+ - MUI_LANGDLL_INFO
+ - MUI_LANGDLL_ALWAYSSHOW
+ - MUI_RESERVEFILE_INSTALLOPTIONS
+ - MUI_RESERVEFILE_LANGDLL
+ - MUI_FUNCTION_DESCRIPTION_BEGIN
+ - MUI_DESCRIPTION_TEXT
+ - MUI_FUNCTION_DESCRIPTION_END
+ - MUI_INSTALLOPTIONS_EXTRACT
+ - MUI_INSTALLOPTIONS_EXTRACT_AS
+ - MUI_HEADER_TEXT
+ - MUI_INSTALLOPTIONS_DISPLAY
+ - MUI_INSTALLOPTIONS_INITDIALOG
+ - MUI_INSTALLOPTIONS_SHOW
+ - MUI_INSTALLOPTIONS_DISPLAY_RETURN
+ - MUI_INSTALLOPTIONS_SHOW_RETURN
+ - MUI_INSTALLOPTIONS_READ
+ - MUI_INSTALLOPTIONS_WRITE
+ - MUI_CUSTOMFUNCTION_GUIINIT
+ - MUI_CUSTOMFUNCTION_UNGUIINIT
+ - MUI_CUSTOMFUNCTION_ABORT
+ - MUI_CUSTOMFUNCTION_UNABORT
+ - MUI_PAGE_CUSTOMFUNCTION_PRE
+ - MUI_PAGE_CUSTOMFUNCTION_SHOW
+ - MUI_PAGE_CUSTOMFUNCTION_LEAVE
+ - MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT
+
+
+ - IfCmd
+ - If
+ - Unless
+ - IfNot
+ - AndIf
+ - AndUnless
+ - AndIfNot
+ - OrIf
+ - OrUnless
+ - OrIfNot
+ - Else
+ - ElseIf
+ - ElseUnless
+ - ElseIfNot
+ - EndIf
+ - EndUnless
+ - IfThen
+ - IfNotThen
+ - ForEach
+ - For
+ - ExitFor
+ - Next
+ - While
+ - ExitWhile
+ - EndWhile
+ - Do
+ - DoWhile
+ - DoUntil
+ - ExitDo
+ - Loop
+ - LoopWhile
+ - LoopUntil
+ - Continue
+ - Break
+ - Select
+ - CaseElse
+ - Case_Else
+ - Default
+ - Case
+ - Case2
+ - Case3
+ - Case4
+ - Case5
+ - EndSelect
+ - Switch
+ - EndSwitch
+
+
+
+ - Abort
+ - AddBrandingImage
+ - AddSize
+ - AutoCloseWindow
+ - BGFont
+ - BGGradient
+ - BrandingText
+ - BringToFront
+ - Call
+ - CallInstDLL
+ - Caption
+ - ChangeUI
+ - ClearErrors
+ - ComponentText
+ - GetDLLVersion
+ - GetDLLVersionLocal
+ - GetFileTime
+ - GetFileTimeLocal
+ - CopyFiles
+ - CRCCheck
+ - CreateDirectory
+ - CreateFont
+ - CreateShortcut
+ - SetDatablockOptimize
+ - DeleteINISec
+ - DeleteINIStr
+ - DeleteRegKey
+ - DeleteRegValue
+ - Delete
+ - DetailPrint
+ - DirText
+ - DirShow
+ - DirVar
+ - DirVerify
+ - GetInstDirError
+ - AllowRootDirInstall
+ - CheckBitmap
+ - EnableWindow
+ - EnumRegKey
+ - EnumRegValue
+ - Exch
+ - Exec
+ - ExecWait
+ - ExecShell
+ - ExpandEnvStrings
+ - FindWindow
+ - FindClose
+ - FindFirst
+ - FindNext
+ - File
+ - FileBufSize
+ - FlushINI
+ - ReserveFile
+ - FileClose
+ - FileErrorText
+ - FileOpen
+ - FileRead
+ - FileWrite
+ - FileReadByte
+ - FileWriteByte
+ - FileReadUTF16LE
+ - FileWriteUTF16LE
+ - FileReadWord
+ - FileWriteWord
+ - FileSeek
+ - Function
+ - FunctionEnd
+ - GetDlgItem
+ - GetFullPathName
+ - GetTempFileName
+ - HideWindow
+ - Icon
+ - IfAbort
+ - IfErrors
+ - IfFileExists
+ - IfRebootFlag
+ - IfSilent
+ - InstallDirRegKey
+ - InstallColors
+ - InstallDir
+ - InstProgressFlags
+ - InstType
+ - IntOp
+ - IntCmp
+ - IntCmpU
+ - IntFmt
+ - IsWindow
+ - Goto
+ - LangString
+ - LangStringUP
+ - LicenseData
+ - LicenseForceSelection
+ - LicenseLangString
+ - LicenseText
+ - LicenseBkColor
+ - LoadLanguageFile
+ - LogSet
+ - LogText
+ - MessageBox
+ - Nop
+ - Name
+ - OutFile
+ - Page
+ - PageCallbacks
+ - PageEx
+ - PageExEnd
+ - Pop
+ - Push
+ - Quit
+ - ReadINIStr
+ - ReadRegDWORD
+ - ReadRegStr
+ - ReadEnvStr
+ - Reboot
+ - RegDLL
+ - Rename
+ - Return
+ - RMDir
+ - Section
+ - SectionEnd
+ - SectionIn
+ - SubSection
+ - SectionGroup
+ - SubSectionEnd
+ - SectionGroupEnd
+ - SearchPath
+ - SectionSetFlags
+ - SectionGetFlags
+ - SectionSetInstTypes
+ - SectionGetInstTypes
+ - SectionGetText
+ - SectionSetText
+ - SectionGetSize
+ - SectionSetSize
+ - GetCurInstType
+ - SetCurInstType
+ - InstTypeSetText
+ - InstTypeGetText
+ - SendMessage
+ - SetAutoClose
+ - SetCtlColors
+ - SetBrandingImage
+ - SetCompress
+ - SetCompressor
+ - SetCompressorDictSize
+ - SetCompressionLevel
+ - SetDateSave
+ - SetDetailsView
+ - SetDetailsPrint
+ - SetErrors
+ - SetErrorLevel
+ - GetErrorLevel
+ - SetFileAttributes
+ - SetFont
+ - SetOutPath
+ - SetOverwrite
+ - SetPluginUnload
+ - SetRebootFlag
+ - SetRegView
+ - SetShellVarContext
+ - SetSilent
+ - ShowInstDetails
+ - ShowUninstDetails
+ - ShowWindow
+ - SilentInstall
+ - SilentUnInstall
+ - Sleep
+ - StrCmp
+ - StrCmpS
+ - StrCpy
+ - UnsafeStrCpy
+ - StrLen
+ - SubCaption
+ - Unicode
+ - UninstallExeName
+ - UninstallCaption
+ - UninstallIcon
+ - UninstPage
+ - UninstallText
+ - UninstallSubCaption
+ - UnRegDLL
+ - WindowIcon
+ - WriteINIStr
+ - WriteRegBin
+ - WriteRegDWORD
+ - WriteRegStr
+ - WriteRegExpandStr
+ - WriteUninstaller
+ - PEDllCharacteristics
+ - PESubsysVer
+ - XPStyle
+ - RequestExecutionLevel
+ - ManifestDPIAware
+ - ManifestSupportedOS
+ - MiscButtonText
+ - DetailsButtonText
+ - UninstallButtonText
+ - InstallButtonText
+ - SpaceTexts
+ - CompletedText
+ - GetFunctionAddress
+ - GetLabelAddress
+ - GetCurrentAddress
+ - InitPluginsDir
+ - AllowSkipFiles
+ - Var
+ - VIAddVersionKey
+ - VIProductVersion
+ - VIFileVersion
+ - LockWindow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/objectivec.xml b/data/syntax/objectivec.xml
new file mode 100644
index 0000000..18b0629
--- /dev/null
+++ b/data/syntax/objectivec.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+ - break
+ - case
+ - continue
+ - default
+ - do
+ - else
+ - enum
+ - extern
+ - for
+ - goto
+ - if
+ - return
+ - sizeof
+ - struct
+ - switch
+ - typedef
+ - union
+ - while
+ - @class
+ - @defs
+ - @encode
+ - @end
+ - @implementation
+ - @interface
+ - @private
+ - @protected
+ - @protocol
+ - @public
+ - @selector
+ - self
+ - super
+
+
+ - auto
+ - char
+ - const
+ - double
+ - float
+ - int
+ - long
+ - register
+ - short
+ - signed
+ - static
+ - unsigned
+ - void
+ - volatile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/objectivecpp.xml b/data/syntax/objectivecpp.xml
new file mode 100644
index 0000000..2091f90
--- /dev/null
+++ b/data/syntax/objectivecpp.xml
@@ -0,0 +1,318 @@
+
+
+
+
+
+ - break
+ - case
+ - continue
+ - default
+ - do
+ - else
+ - enum
+ - extern
+ - for
+ - goto
+ - if
+ - return
+ - sizeof
+ - struct
+ - switch
+ - typedef
+ - union
+ - while
+ - @class
+ - @defs
+ - @encode
+ - @end
+ - @implementation
+ - @interface
+ - @private
+ - @protected
+ - @protocol
+ - @public
+ - @selector
+ - self
+ - super
+
+ - asm
+ - catch
+ - class
+ - const_cast
+ - delete
+ - dynamic_cast
+ - explicit
+ - export
+ - false
+ - friend
+ - inline
+ - namespace
+ - new
+ - operator
+ - private
+ - protected
+ - public
+ - qobject_cast
+ - reinterpret_cast
+ - static_cast
+ - template
+ - this
+ - throw
+ - true
+ - try
+ - typeid
+ - type_info
+ - typename
+ - using
+ - virtual
+
+ - and
+ - and_eq
+ - bad_cast
+ - bad_typeid
+ - bitand
+ - bitor
+ - compl
+ - not
+ - not_eq
+ - or
+ - or_eq
+ - xor
+ - xor_eq
+
+
+ - K_DCOP
+ - SLOT
+ - SIGNAL
+ - Q_CLASSINFO
+ - Q_ENUMS
+ - Q_EXPORT
+ - Q_OBJECT
+ - Q_OVERRIDE
+ - Q_PROPERTY
+ - Q_SETS
+ - Q_SIGNALS
+ - Q_SLOTS
+ - Q_FOREACH
+ - Q_DECLARE_FLAGS
+ - Q_INIT_RESOURCE
+ - Q_CLEANUP_RESOURCE
+ - Q_GLOBAL_STATIC
+ - Q_GLOBAL_STATIC_WITH_ARGS
+ - Q_DECLARE_INTERFACE
+ - Q_DECLARE_TYPEINFO
+ - Q_DECLARE_SHARED
+ - Q_DECLARE_FLAGS
+ - Q_DECLARE_OPERATORS_FOR_FLAGS
+ - Q_FOREVER
+ - Q_DECLARE_PRIVATE
+ - Q_DECLARE_PUBLIC
+ - Q_D
+ - Q_Q
+ - Q_DISABLE_COPY
+ - Q_INTERFACES
+ - Q_FLAGS
+ - Q_SCRIPTABLE
+ - Q_INVOKABLE
+ - Q_GADGET
+ - Q_ARG
+ - Q_RETURN_ARG
+ - Q_ASSERT
+ - Q_ASSERT_X
+ - TRUE
+ - FALSE
+ - connect
+ - disconnect
+ - emit
+ - signals
+ - slots
+ - foreach
+ - forever
+
+
+ - auto
+ - char
+ - const
+ - double
+ - float
+ - int
+ - long
+ - register
+ - short
+ - signed
+ - static
+ - unsigned
+ - void
+ - volatile
+
+ - bool
+ - mutable
+ - uchar
+ - uint
+ - int8_t
+ - int16_t
+ - int32_t
+ - int64_t
+ - uint8_t
+ - uint16_t
+ - uint32_t
+ - uint64_t
+ - wchar_t
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ocaml.xml b/data/syntax/ocaml.xml
new file mode 100644
index 0000000..15a876f
--- /dev/null
+++ b/data/syntax/ocaml.xml
@@ -0,0 +1,615 @@
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+ - in
+ - as
+ - forall
+
+
+ - and
+ - as
+ - assert
+ - asr
+ - begin
+ - class
+ - closed
+ - constraint
+ - do
+ - done
+ - downto
+ - else
+ - end
+ - exception
+ - external
+ - false
+ - for
+ - fun
+ - function
+ - functor
+ - if
+ - in
+ - include
+ - inherit
+ - land
+ - lazy
+ - let
+ - lor
+ - lsl
+ - lsr
+ - lxor
+ - match
+ - method
+ - mod
+ - module
+ - mutable
+ - new
+ - object
+ - of
+ - open
+ - or
+ - parser
+ - private
+ - rec
+ - sig
+ - struct
+ - then
+ - to
+ - true
+ - try
+ - type
+ - val
+ - virtual
+ - when
+ - while
+ - with
+
+
+
+
+
+
+ - declare
+ - value
+ - where
+
+
+
+ - abs
+ - abs_float
+ - acos
+ - asin
+ - at_exit
+ - atan
+ - atan2
+ - bool_of_string
+ - ceil
+ - char_of_int
+ - classify_float
+ - close_in
+ - close_in_noerr
+ - close_out
+ - close_out_noerr
+ - compare
+ - cos
+ - cosh
+ - decr
+ - do_at_exit
+ - epsilon_float
+ - exp
+ - float
+ - float_of_int
+ - float_of_string
+ - floor
+ - flush
+ - flush_all
+ - format_of_string
+ - frexp
+ - fst
+ - ignore
+ - in_channel_length
+ - incr
+ - infinity
+ - input
+ - input_binary_int
+ - input_byte
+ - input_char
+ - input_line
+ - input_value
+ - int_of_char
+ - int_of_float
+ - int_of_string
+ - ldexp
+ - lnot
+ - log
+ - log10
+ - max
+ - max_float
+ - max_int
+ - min
+ - min_float
+ - min_int
+ - mod_float
+ - modf
+ - nan
+ - neg_infinity
+ - not
+ - open_in
+ - open_in_bin
+ - open_in_gen
+ - open_out
+ - open_out_bin
+ - open_out_gen
+ - out_channel_length
+ - output
+ - output_binary_int
+ - output_byte
+ - output_char
+ - output_string
+ - output_value
+ - pos_in
+ - pos_out
+ - pred
+ - prerr_char
+ - prerr_endline
+ - prerr_float
+ - prerr_int
+ - prerr_newline
+ - prerr_string
+ - print_char
+ - print_endline
+ - print_float
+ - print_int
+ - print_newline
+ - print_string
+ - read_float
+ - read_int
+ - read_line
+ - really_input
+ - ref
+ - seek_in
+ - seek_out
+ - set_binary_mode_in
+ - set_binary_mode_out
+ - sin
+ - sinh
+ - snd
+ - sqrt
+ - stderr
+ - stdin
+ - stdout
+ - string_of_bool
+ - string_of_float
+ - string_of_format
+ - string_of_int
+ - succ
+ - tan
+ - tanh
+ - truncate
+ - unsafe_really_input
+ - valid_float_lexem
+
+
+
+
+
+ - exit
+ - failwith
+ - invalid_arg
+ - raise
+
+
+
+ - array
+ - bool
+ - char
+ - exn
+ - format4
+ - fpclass
+ - in_channel
+ - int
+ - int32
+ - int64
+ - lazy_t
+ - list
+ - nativeint
+ - open_flag
+ - option
+ - out_channel
+ - real
+ - ref
+ - string
+ - unit
+
+
+
+ - FP_infinite
+ - FP_nan
+ - FP_normal
+ - FP_subnormal
+ - FP_zero
+ - None
+ - Open_append
+ - Open_append
+ - Open_binary
+ - Open_binary
+ - Open_creat
+ - Open_creat
+ - Open_excl
+ - Open_excl
+ - Open_nonblock
+ - Open_nonblock
+ - Open_rdonly
+ - Open_rdonly
+ - Open_text
+ - Open_text
+ - Open_trunc
+ - Open_trunc
+ - Open_wronly
+ - Open_wronly
+ - Some
+
+
+
+ - Assert_failure
+ - Division_by_zero
+ - End_of_file
+ - Exit
+ - Failure
+ - Invalid_argument
+ - Match_failure
+ - Not_found
+ - Out_of_memory
+ - Stack_overflow
+ - Sys_blocked_io
+ - Sys_error
+ - Undefined_recursive_module
+
+
+
+ - Arg
+ - Array
+ - ArrayLabels
+ - Buffer
+ - Callback
+ - Char
+ - Complex
+ - Digest
+ - Filename
+ - Format
+ - Gc
+ - Genlex
+ - Hashtbl
+ - Int32
+ - Int64
+ - Lazy
+ - Lexing
+ - List
+ - ListLabels
+ - Map
+ - Marshal
+ - MoreLabels
+ - Nativeint
+ - Oo
+ - Parsing
+ - Printexc
+ - Printf
+ - Queue
+ - Random
+ - Scanf
+ - Set
+ - Sort
+ - Stack
+ - StdLabels
+ - Stream
+ - String
+ - StringLabels
+ - Sys
+ - Weak
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ocamllex.xml b/data/syntax/ocamllex.xml
new file mode 100644
index 0000000..ba078e8
--- /dev/null
+++ b/data/syntax/ocamllex.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+]>
+
+
+
+
+
+ - and
+ - as
+ - eof
+ - let
+ - parse
+ - rule
+ - shortest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ocamlyacc.xml b/data/syntax/ocamlyacc.xml
new file mode 100644
index 0000000..620db8d
--- /dev/null
+++ b/data/syntax/ocamlyacc.xml
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+ - %token
+ - %type
+
+
+
+ - %left
+ - %right
+ - %nonassoc
+ - %start
+
+
+
+ - %prec
+ - error
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/octave.xml b/data/syntax/octave.xml
new file mode 100644
index 0000000..50f2faa
--- /dev/null
+++ b/data/syntax/octave.xml
@@ -0,0 +1,2219 @@
+
+
+
+
+
+
+
+
+
+
+
+ - all_va_args
+ - break
+ - case
+ - continue
+ - else
+ - elseif
+ - end_unwind_protect
+ - global
+ - gplot
+ - gsplot
+ - otherwise
+ - persistent
+ - replot
+ - return
+ - static
+ - until
+ - unwind_protect
+ - unwind_protect_cleanup
+ - varargin
+ - varargout
+
+
+
+ - argv
+ - e
+ - eps
+ - false
+ - F_DUPFD
+ - F_GETFD
+ - F_GETFL
+ - filesep
+ - F_SETFD
+ - F_SETFL
+ - i
+ - I
+ - inf
+ - Inf
+ - j
+ - J
+ - NA
+ - nan
+ - NaN
+ - O_APPEND
+ - O_ASYNC
+ - O_CREAT
+ - OCTAVE_HOME
+ - OCTAVE_VERSION
+ - O_EXCL
+ - O_NONBLOCK
+ - O_RDONLY
+ - O_RDWR
+ - O_SYNC
+ - O_TRUNC
+ - O_WRONLY
+ - pi
+ - program_invocation_name
+ - program_name
+ - P_tmpdir
+ - realmax
+ - realmin
+ - SEEK_CUR
+ - SEEK_END
+ - SEEK_SET
+ - SIG
+ - stderr
+ - stdin
+ - stdout
+ - true
+ - ans
+ - automatic_replot
+ - beep_on_error
+ - completion_append_char
+ - crash_dumps_octave_core
+ - current_script_file_name
+ - debug_on_error
+ - debug_on_interrupt
+ - debug_on_warning
+ - debug_symtab_lookups
+ - DEFAULT_EXEC_PATH
+ - DEFAULT_LOADPATH
+ - default_save_format
+ - echo_executing_commands
+ - EDITOR
+ - EXEC_PATH
+ - FFTW_WISDOM_PROGRAM
+ - fixed_point_format
+ - gnuplot_binary
+ - gnuplot_command_axes
+ - gnuplot_command_end
+ - gnuplot_command_plot
+ - gnuplot_command_replot
+ - gnuplot_command_splot
+ - gnuplot_command_title
+ - gnuplot_command_using
+ - gnuplot_command_with
+ - gnuplot_has_frames
+ - history_file
+ - history_size
+ - ignore_function_time_stamp
+ - IMAGEPATH
+ - INFO_FILE
+ - INFO_PROGRAM
+ - __kluge_procbuf_delay__
+ - LOADPATH
+ - MAKEINFO_PROGRAM
+ - max_recursion_depth
+ - octave_core_file_format
+ - octave_core_file_limit
+ - octave_core_file_name
+ - output_max_field_width
+ - output_precision
+ - page_output_immediately
+ - PAGER
+ - page_screen_output
+ - print_answer_id_name
+ - print_empty_dimensions
+ - print_rhs_assign_val
+ - PS1
+ - PS2
+ - PS4
+ - save_header_format_string
+ - save_precision
+ - saving_history
+ - sighup_dumps_octave_core
+ - sigterm_dumps_octave_core
+ - silent_functions
+ - split_long_rows
+ - string_fill_char
+ - struct_levels_to_print
+ - suppress_verbose_help_message
+ - variables_can_hide_functions
+ - warn_assign_as_truth_value
+ - warn_divide_by_zero
+ - warn_empty_list_elements
+ - warn_fortran_indexing
+ - warn_function_name_clash
+ - warn_future_time_stamp
+ - warn_imag_to_real
+ - warn_matlab_incompatible
+ - warn_missing_semicolon
+ - warn_neg_dim_as_zero
+ - warn_num_to_str
+ - warn_precedence_change
+ - warn_reload_forces_clear
+ - warn_resize_on_range_error
+ - warn_separator_insert
+ - warn_single_quote_string
+ - warn_str_to_num
+ - warn_undefined_return_values
+ - warn_variable_switch_label
+ - whos_line_format
+
+
+
+ - casesen
+ - cd
+ - chdir
+ - clear
+ - dbclear
+ - dbstatus
+ - dbstop
+ - dbtype
+ - dbwhere
+ - diary
+ - echo
+ - edit_history
+ - __end__
+ - format
+ - gset
+ - gshow
+ - help
+ - history
+ - hold
+ - iskeyword
+ - isvarname
+ - load
+ - ls
+ - mark_as_command
+ - mislocked
+ - mlock
+ - more
+ - munlock
+ - run_history
+ - save
+ - set
+ - show
+ - type
+ - unmark_command
+ - which
+ - who
+ - whos
+
+
+
+ - abs
+ - acos
+ - acosh
+ - all
+ - angle
+ - any
+ - append
+ - arg
+ - argnames
+ - asin
+ - asinh
+ - assignin
+ - atan
+ - atan2
+ - atanh
+ - atexit
+ - bitand
+ - bitmax
+ - bitor
+ - bitshift
+ - bitxor
+ - casesen
+ - cat
+ - cd
+ - ceil
+ - cell
+ - cell2struct
+ - cellstr
+ - char
+ - chdir
+ - class
+ - clc
+ - clear
+ - clearplot
+ - clg
+ - closeplot
+ - completion_matches
+ - conj
+ - conv
+ - convmtx
+ - cos
+ - cosh
+ - cumprod
+ - cumsum
+ - dbclear
+ - dbstatus
+ - dbstop
+ - dbtype
+ - dbwhere
+ - deconv
+ - det
+ - dftmtx
+ - diag
+ - diary
+ - disp
+ - document
+ - do_string_escapes
+ - double
+ - dup2
+ - echo
+ - edit_history
+ - __end__
+ - erf
+ - erfc
+ - ERRNO
+ - error
+ - __error_text__
+ - error_text
+ - eval
+ - evalin
+ - exec
+ - exist
+ - exit
+ - exp
+ - eye
+ - fclose
+ - fcntl
+ - fdisp
+ - feof
+ - ferror
+ - feval
+ - fflush
+ - fft
+ - fgetl
+ - fgets
+ - fieldnames
+ - file_in_loadpath
+ - file_in_path
+ - filter
+ - find
+ - find_first_of_in_loadpath
+ - finite
+ - fix
+ - floor
+ - fmod
+ - fnmatch
+ - fopen
+ - fork
+ - format
+ - formula
+ - fprintf
+ - fputs
+ - fread
+ - freport
+ - frewind
+ - fscanf
+ - fseek
+ - ftell
+ - func2str
+ - functions
+ - fwrite
+ - gamma
+ - gammaln
+ - getegid
+ - getenv
+ - geteuid
+ - getgid
+ - getpgrp
+ - getpid
+ - getppid
+ - getuid
+ - glob
+ - graw
+ - gset
+ - gshow
+ - help
+ - history
+ - hold
+ - home
+ - horzcat
+ - ifft
+ - imag
+ - inline
+ - input
+ - input_event_hook
+ - int16
+ - int32
+ - int64
+ - int8
+ - intmax
+ - intmin
+ - inv
+ - inverse
+ - ipermute
+ - isalnum
+ - isalpha
+ - isascii
+ - isbool
+ - iscell
+ - iscellstr
+ - ischar
+ - iscntrl
+ - iscomplex
+ - isdigit
+ - isempty
+ - isfield
+ - isfinite
+ - isglobal
+ - isgraph
+ - ishold
+ - isieee
+ - isinf
+ - iskeyword
+ - islist
+ - islogical
+ - islower
+ - ismatrix
+ - isna
+ - isnan
+ - is_nan_or_na
+ - isnumeric
+ - isprint
+ - ispunct
+ - isreal
+ - isspace
+ - isstream
+ - isstreamoff
+ - isstruct
+ - isupper
+ - isvarname
+ - isxdigit
+ - kbhit
+ - keyboard
+ - kill
+ - lasterr
+ - lastwarn
+ - length
+ - lgamma
+ - link
+ - linspace
+ - list
+ - load
+ - log
+ - log10
+ - ls
+ - lstat
+ - lu
+ - mark_as_command
+ - mislocked
+ - mkdir
+ - mkfifo
+ - mkstemp
+ - mlock
+ - more
+ - munlock
+ - nargin
+ - nargout
+ - native_float_format
+ - ndims
+ - nth
+ - numel
+ - octave_config_info
+ - octave_tmp_file_name
+ - ones
+ - pause
+ - pclose
+ - permute
+ - pipe
+ - popen
+ - printf
+ - __print_symbol_info__
+ - __print_symtab_info__
+ - prod
+ - purge_tmp_files
+ - putenv
+ - puts
+ - pwd
+ - quit
+ - rank
+ - readdir
+ - readlink
+ - read_readline_init_file
+ - real
+ - rehash
+ - rename
+ - reshape
+ - reverse
+ - rmdir
+ - rmfield
+ - roots
+ - round
+ - run_history
+ - save
+ - scanf
+ - set
+ - shell_cmd
+ - show
+ - sign
+ - sin
+ - sinh
+ - size
+ - sizeof
+ - sleep
+ - sort
+ - source
+ - splice
+ - sprintf
+ - sqrt
+ - squeeze
+ - sscanf
+ - stat
+ - str2func
+ - streamoff
+ - struct
+ - struct2cell
+ - sum
+ - sumsq
+ - symlink
+ - system
+ - tan
+ - tanh
+ - tilde_expand
+ - tmpfile
+ - tmpnam
+ - toascii
+ - __token_count__
+ - tolower
+ - toupper
+ - type
+ - typeinfo
+ - uint16
+ - uint32
+ - uint64
+ - uint8
+ - umask
+ - undo_string_escapes
+ - unlink
+ - unmark_command
+ - usage
+ - usleep
+ - va_arg
+ - va_start
+ - vectorize
+ - vertcat
+ - vr_val
+ - waitpid
+ - warning
+ - warranty
+ - which
+ - who
+ - whos
+ - zeros
+ - airy
+ - balance
+ - besselh
+ - besseli
+ - besselj
+ - besselk
+ - bessely
+ - betainc
+ - chol
+ - colloc
+ - daspk
+ - daspk_options
+ - dasrt
+ - dasrt_options
+ - dassl
+ - dassl_options
+ - det
+ - eig
+ - endgrent
+ - endpwent
+ - expm
+ - fft
+ - fft2
+ - fftn
+ - fftw_wisdom
+ - filter
+ - find
+ - fsolve
+ - fsolve_options
+ - gammainc
+ - gcd
+ - getgrent
+ - getgrgid
+ - getgrnam
+ - getpwent
+ - getpwnam
+ - getpwuid
+ - getrusage
+ - givens
+ - gmtime
+ - hess
+ - ifft
+ - ifft2
+ - ifftn
+ - inv
+ - inverse
+ - kron
+ - localtime
+ - lpsolve
+ - lpsolve_options
+ - lsode
+ - lsode_options
+ - lu
+ - max
+ - min
+ - minmax
+ - mktime
+ - odessa
+ - odessa_options
+ - pinv
+ - qr
+ - quad
+ - quad_options
+ - qz
+ - rand
+ - randn
+ - schur
+ - setgrent
+ - setpwent
+ - sort
+ - sqrtm
+ - strftime
+ - strptime
+ - svd
+ - syl
+ - time
+ - abcddim
+ - __abcddims__
+ - acot
+ - acoth
+ - acsc
+ - acsch
+ - analdemo
+ - anova
+ - arch_fit
+ - arch_rnd
+ - arch_test
+ - are
+ - arma_rnd
+ - asctime
+ - asec
+ - asech
+ - autocor
+ - autocov
+ - autoreg_matrix
+ - axis
+ - axis2dlim
+ - __axis_label__
+ - bar
+ - bartlett
+ - bartlett_test
+ - base2dec
+ - bddemo
+ - beep
+ - bessel
+ - beta
+ - beta_cdf
+ - betai
+ - beta_inv
+ - beta_pdf
+ - beta_rnd
+ - bin2dec
+ - bincoeff
+ - binomial_cdf
+ - binomial_inv
+ - binomial_pdf
+ - binomial_rnd
+ - bitcmp
+ - bitget
+ - bitset
+ - blackman
+ - blanks
+ - bode
+ - bode_bounds
+ - __bodquist__
+ - bottom_title
+ - bug_report
+ - buildssic
+ - c2d
+ - cart2pol
+ - cart2sph
+ - cauchy_cdf
+ - cauchy_inv
+ - cauchy_pdf
+ - cauchy_rnd
+ - cellidx
+ - center
+ - chisquare_cdf
+ - chisquare_inv
+ - chisquare_pdf
+ - chisquare_rnd
+ - chisquare_test_homogeneity
+ - chisquare_test_independence
+ - circshift
+ - clock
+ - cloglog
+ - close
+ - colormap
+ - columns
+ - com2str
+ - comma
+ - common_size
+ - commutation_matrix
+ - compan
+ - complement
+ - computer
+ - cond
+ - contour
+ - controldemo
+ - conv
+ - cor
+ - corrcoef
+ - cor_test
+ - cot
+ - coth
+ - cov
+ - cputime
+ - create_set
+ - cross
+ - csc
+ - csch
+ - ctime
+ - ctrb
+ - cut
+ - d2c
+ - damp
+ - dare
+ - date
+ - dcgain
+ - deal
+ - deblank
+ - dec2base
+ - dec2bin
+ - dec2hex
+ - deconv
+ - delete
+ - DEMOcontrol
+ - demoquat
+ - detrend
+ - dezero
+ - dgkfdemo
+ - dgram
+ - dhinfdemo
+ - diff
+ - diffpara
+ - dir
+ - discrete_cdf
+ - discrete_inv
+ - discrete_pdf
+ - discrete_rnd
+ - dkalman
+ - dlqe
+ - dlqg
+ - dlqr
+ - dlyap
+ - dmr2d
+ - dmult
+ - dot
+ - dre
+ - dump_prefs
+ - duplication_matrix
+ - durbinlevinson
+ - empirical_cdf
+ - empirical_inv
+ - empirical_pdf
+ - empirical_rnd
+ - erfinv
+ - __errcomm__
+ - errorbar
+ - __errplot__
+ - etime
+ - exponential_cdf
+ - exponential_inv
+ - exponential_pdf
+ - exponential_rnd
+ - f_cdf
+ - fftconv
+ - fftfilt
+ - fftshift
+ - figure
+ - fileparts
+ - findstr
+ - f_inv
+ - fir2sys
+ - flipdim
+ - fliplr
+ - flipud
+ - flops
+ - f_pdf
+ - fractdiff
+ - frdemo
+ - freqchkw
+ - __freqresp__
+ - freqz
+ - freqz_plot
+ - f_rnd
+ - f_test_regression
+ - fullfile
+ - fv
+ - fvl
+ - gamma_cdf
+ - gammai
+ - gamma_inv
+ - gamma_pdf
+ - gamma_rnd
+ - geometric_cdf
+ - geometric_inv
+ - geometric_pdf
+ - geometric_rnd
+ - gls
+ - gram
+ - gray
+ - gray2ind
+ - grid
+ - h2norm
+ - h2syn
+ - hamming
+ - hankel
+ - hanning
+ - hex2dec
+ - hilb
+ - hinf_ctr
+ - hinfdemo
+ - hinfnorm
+ - hinfsyn
+ - hinfsyn_chk
+ - hinfsyn_ric
+ - hist
+ - hotelling_test
+ - hotelling_test_2
+ - housh
+ - hsv2rgb
+ - hurst
+ - hypergeometric_cdf
+ - hypergeometric_inv
+ - hypergeometric_pdf
+ - hypergeometric_rnd
+ - image
+ - imagesc
+ - impulse
+ - imshow
+ - ind2gray
+ - ind2rgb
+ - ind2sub
+ - index
+ - int2str
+ - intersection
+ - invhilb
+ - iqr
+ - irr
+ - isa
+ - is_abcd
+ - is_bool
+ - is_complex
+ - is_controllable
+ - isdefinite
+ - is_detectable
+ - is_dgkf
+ - is_digital
+ - is_duplicate_entry
+ - is_global
+ - is_leap_year
+ - isletter
+ - is_list
+ - is_matrix
+ - is_observable
+ - ispc
+ - is_sample
+ - is_scalar
+ - isscalar
+ - is_signal_list
+ - is_siso
+ - is_square
+ - issquare
+ - is_stabilizable
+ - is_stable
+ - isstr
+ - is_stream
+ - is_struct
+ - is_symmetric
+ - issymmetric
+ - isunix
+ - is_vector
+ - isvector
+ - jet707
+ - kendall
+ - kolmogorov_smirnov_cdf
+ - kolmogorov_smirnov_test
+ - kolmogorov_smirnov_test_2
+ - kruskal_wallis_test
+ - krylov
+ - krylovb
+ - kurtosis
+ - laplace_cdf
+ - laplace_inv
+ - laplace_pdf
+ - laplace_rnd
+ - lcm
+ - lin2mu
+ - listidx
+ - list_primes
+ - loadaudio
+ - loadimage
+ - log2
+ - logical
+ - logistic_cdf
+ - logistic_inv
+ - logistic_pdf
+ - logistic_regression
+ - logistic_regression_derivatives
+ - logistic_regression_likelihood
+ - logistic_rnd
+ - logit
+ - loglog
+ - loglogerr
+ - logm
+ - lognormal_cdf
+ - lognormal_inv
+ - lognormal_pdf
+ - lognormal_rnd
+ - logspace
+ - lower
+ - lqe
+ - lqg
+ - lqr
+ - lsim
+ - ltifr
+ - lyap
+ - mahalanobis
+ - manova
+ - mcnemar_test
+ - mean
+ - meansq
+ - median
+ - menu
+ - mesh
+ - meshdom
+ - meshgrid
+ - minfo
+ - mod
+ - moddemo
+ - moment
+ - mplot
+ - mu2lin
+ - multiplot
+ - nargchk
+ - nextpow2
+ - nichols
+ - norm
+ - normal_cdf
+ - normal_inv
+ - normal_pdf
+ - normal_rnd
+ - not
+ - nper
+ - npv
+ - ntsc2rgb
+ - null
+ - num2str
+ - nyquist
+ - obsv
+ - ocean
+ - ols
+ - oneplot
+ - ord2
+ - orth
+ - __outlist__
+ - pack
+ - packedform
+ - packsys
+ - parallel
+ - paren
+ - pascal_cdf
+ - pascal_inv
+ - pascal_pdf
+ - pascal_rnd
+ - path
+ - periodogram
+ - perror
+ - place
+ - playaudio
+ - plot
+ - plot_border
+ - __plr__
+ - __plr1__
+ - __plr2__
+ - __plt__
+ - __plt1__
+ - __plt2__
+ - __plt2mm__
+ - __plt2mv__
+ - __plt2ss__
+ - __plt2vm__
+ - __plt2vv__
+ - __pltopt__
+ - __pltopt1__
+ - pmt
+ - poisson_cdf
+ - poisson_inv
+ - poisson_pdf
+ - poisson_rnd
+ - pol2cart
+ - polar
+ - poly
+ - polyder
+ - polyderiv
+ - polyfit
+ - polyinteg
+ - polyout
+ - polyreduce
+ - polyval
+ - polyvalm
+ - popen2
+ - postpad
+ - pow2
+ - ppplot
+ - prepad
+ - probit
+ - prompt
+ - prop_test_2
+ - pv
+ - pvl
+ - pzmap
+ - qconj
+ - qcoordinate_plot
+ - qderiv
+ - qderivmat
+ - qinv
+ - qmult
+ - qqplot
+ - qtrans
+ - qtransv
+ - qtransvmat
+ - quaternion
+ - qzhess
+ - qzval
+ - randperm
+ - range
+ - rank
+ - ranks
+ - rate
+ - record
+ - rectangle_lw
+ - rectangle_sw
+ - rem
+ - repmat
+ - residue
+ - rgb2hsv
+ - rgb2ind
+ - rgb2ntsc
+ - rindex
+ - rldemo
+ - rlocus
+ - roots
+ - rot90
+ - rotdim
+ - rotg
+ - rows
+ - run_cmd
+ - run_count
+ - run_test
+ - saveaudio
+ - saveimage
+ - sec
+ - sech
+ - semicolon
+ - semilogx
+ - semilogxerr
+ - semilogy
+ - semilogyerr
+ - series
+ - setaudio
+ - setstr
+ - shg
+ - shift
+ - shiftdim
+ - sign_test
+ - sinc
+ - sinetone
+ - sinewave
+ - skewness
+ - sombrero
+ - sortcom
+ - spearman
+ - spectral_adf
+ - spectral_xdf
+ - spencer
+ - sph2cart
+ - split
+ - ss
+ - ss2sys
+ - ss2tf
+ - ss2zp
+ - stairs
+ - starp
+ - statistics
+ - std
+ - stdnormal_cdf
+ - stdnormal_inv
+ - stdnormal_pdf
+ - stdnormal_rnd
+ - step
+ - __stepimp__
+ - stft
+ - str2mat
+ - str2num
+ - strappend
+ - strcat
+ - strcmp
+ - strerror
+ - strjust
+ - strrep
+ - struct_contains
+ - struct_elements
+ - studentize
+ - sub2ind
+ - subplot
+ - substr
+ - subwindow
+ - swap
+ - swapcols
+ - swaprows
+ - sylvester_matrix
+ - synthesis
+ - sys2fir
+ - sys2ss
+ - sys2tf
+ - sys2zp
+ - sysadd
+ - sysappend
+ - syschnames
+ - __syschnamesl__
+ - syschtsam
+ - __sysconcat__
+ - sysconnect
+ - syscont
+ - __syscont_disc__
+ - __sysdefioname__
+ - __sysdefstname__
+ - sysdimensions
+ - sysdisc
+ - sysdup
+ - sysgetsignals
+ - sysgettsam
+ - sysgettype
+ - sysgroup
+ - __sysgroupn__
+ - sysidx
+ - sysmin
+ - sysmult
+ - sysout
+ - sysprune
+ - sysreorder
+ - sysrepdemo
+ - sysscale
+ - syssetsignals
+ - syssub
+ - sysupdate
+ - table
+ - t_cdf
+ - tempdir
+ - tempname
+ - texas_lotto
+ - tf
+ - tf2ss
+ - tf2sys
+ - __tf2sysl__
+ - tf2zp
+ - __tfl__
+ - tfout
+ - tic
+ - t_inv
+ - title
+ - toc
+ - toeplitz
+ - top_title
+ - t_pdf
+ - trace
+ - triangle_lw
+ - triangle_sw
+ - tril
+ - triu
+ - t_rnd
+ - t_test
+ - t_test_2
+ - t_test_regression
+ - tzero
+ - tzero2
+ - ugain
+ - uniform_cdf
+ - uniform_inv
+ - uniform_pdf
+ - uniform_rnd
+ - union
+ - unix
+ - unpacksys
+ - unwrap
+ - upper
+ - u_test
+ - values
+ - vander
+ - var
+ - var_test
+ - vec
+ - vech
+ - version
+ - vol
+ - weibull_cdf
+ - weibull_inv
+ - weibull_pdf
+ - weibull_rnd
+ - welch_test
+ - wgt1o
+ - wiener_rnd
+ - wilcoxon_test
+ - xlabel
+ - xor
+ - ylabel
+ - yulewalker
+ - zgfmul
+ - zgfslv
+ - zginit
+ - __zgpbal__
+ - zgreduce
+ - zgrownorm
+ - zgscal
+ - zgsgiv
+ - zgshsr
+ - zlabel
+ - zp
+ - zp2ss
+ - __zp2ssg2__
+ - zp2sys
+ - zp2tf
+ - zpout
+ - z_test
+ - z_test_2
+
+
+
+ - airy_Ai
+ - airy_Ai_deriv
+ - airy_Ai_deriv_scaled
+ - airy_Ai_scaled
+ - airy_Bi
+ - airy_Bi_deriv
+ - airy_Bi_deriv_scaled
+ - airy_Bi_scaled
+ - airy_zero_Ai
+ - airy_zero_Ai_deriv
+ - airy_zero_Bi
+ - airy_zero_Bi_deriv
+ - atanint
+ - bchdeco
+ - bchenco
+ - bessel_il_scaled
+ - bessel_In
+ - bessel_In_scaled
+ - bessel_Inu
+ - bessel_Inu_scaled
+ - bessel_jl
+ - bessel_Jn
+ - bessel_Jnu
+ - bessel_kl_scaled
+ - bessel_Kn
+ - bessel_Kn_scaled
+ - bessel_Knu
+ - bessel_Knu_scaled
+ - bessel_lnKnu
+ - bessel_yl
+ - bessel_Yn
+ - bessel_Ynu
+ - bessel_zero_J0
+ - bessel_zero_J1
+ - beta_gsl
+ - bfgsmin
+ - bisectionstep
+ - builtin
+ - bwfill
+ - bwlabel
+ - cell2csv
+ - celleval
+ - Chi
+ - chol
+ - Ci
+ - clausen
+ - conicalP_0
+ - conicalP_1
+ - conicalP_half
+ - conicalP_mhalf
+ - conv2
+ - cordflt2
+ - coupling_3j
+ - coupling_6j
+ - coupling_9j
+ - csv2cell
+ - csvconcat
+ - csvexplode
+ - cyclgen
+ - cyclpoly
+ - dawson
+ - debye_1
+ - debye_2
+ - debye_3
+ - debye_4
+ - deref
+ - dispatch
+ - dispatch_help
+ - display_fixed_operations
+ - dlmread
+ - ellint_Ecomp
+ - ellint_Kcomp
+ - ellipj
+ - erfc_gsl
+ - erf_gsl
+ - erf_Q
+ - erf_Z
+ - _errcore
+ - eta
+ - eta_int
+ - expint_3
+ - expint_E1
+ - expint_E2
+ - expint_Ei
+ - expm1
+ - exp_mult
+ - exprel
+ - exprel_2
+ - exprel_n
+ - fabs
+ - fangle
+ - farg
+ - fatan2
+ - fceil
+ - fconj
+ - fcos
+ - fcosh
+ - fcumprod
+ - fcumsum
+ - fdiag
+ - fermi_dirac_3half
+ - fermi_dirac_half
+ - fermi_dirac_inc_0
+ - fermi_dirac_int
+ - fermi_dirac_mhalf
+ - fexp
+ - ffloor
+ - fimag
+ - finitedifference
+ - fixed
+ - flog
+ - flog10
+ - fprod
+ - freal
+ - freshape
+ - fround
+ - fsin
+ - fsinh
+ - fsqrt
+ - fsum
+ - fsumsq
+ - ftan
+ - ftanh
+ - full
+ - gamma_gsl
+ - gamma_inc
+ - gamma_inc_P
+ - gamma_inc_Q
+ - gammainv_gsl
+ - gammastar
+ - gdet
+ - gdiag
+ - gexp
+ - gf
+ - gfilter
+ - _gfweight
+ - ginv
+ - ginverse
+ - glog
+ - glu
+ - gpick
+ - gprod
+ - grab
+ - grank
+ - graycomatrix
+ - __grcla__
+ - __grclf__
+ - __grcmd__
+ - greshape
+ - __grexit__
+ - __grfigure__
+ - __grgetstat__
+ - __grhold__
+ - __grinit__
+ - __grishold__
+ - __grnewset__
+ - __grsetgraph__
+ - gsl_sf
+ - gsqrt
+ - gsum
+ - gsumsq
+ - gtext
+ - gzoom
+ - hazard
+ - houghtf
+ - hyperg_0F1
+ - hzeta
+ - is_complex_sparse
+ - isfixed
+ - isgalois
+ - isprimitive
+ - is_real_sparse
+ - is_sparse
+ - jpgread
+ - jpgwrite
+ - lambert_W0
+ - lambert_Wm1
+ - legendre_Pl
+ - legendre_Plm
+ - legendre_Ql
+ - legendre_sphPlm
+ - legendre_sphPlm_array
+ - leval
+ - listen
+ - lnbeta
+ - lncosh
+ - lngamma_gsl
+ - lnpoch
+ - lnsinh
+ - log_1plusx
+ - log_1plusx_mx
+ - log_erfc
+ - lp
+ - make_sparse
+ - mark_for_deletion
+ - medfilt1
+ - newtonstep
+ - nnz
+ - numgradient
+ - numhessian
+ - pchip_deriv
+ - pngread
+ - pngwrite
+ - poch
+ - pochrel
+ - pretty
+ - primpoly
+ - psi
+ - psi_1_int
+ - psi_1piy
+ - psi_n
+ - rand
+ - rande
+ - randn
+ - randp
+ - regexp
+ - remez
+ - reset_fixed_operations
+ - rotate_scale
+ - rsdec
+ - rsenc
+ - samin
+ - SBBacksub
+ - SBEig
+ - SBFactor
+ - SBProd
+ - SBSolve
+ - Shi
+ - Si
+ - sinc_gsl
+ - spabs
+ - sparse
+ - spfind
+ - spimag
+ - spinv
+ - splu
+ - spreal
+ - SymBand
+ - synchrotron_1
+ - synchrotron_2
+ - syndtable
+ - taylorcoeff
+ - transport_2
+ - transport_3
+ - transport_4
+ - transport_5
+ - trisolve
+ - waitbar
+ - xmlread
+ - zeta
+ - zeta_int
+ - aar
+ - aarmam
+ - ac2poly
+ - ac2rc
+ - acorf
+ - acovf
+ - addpath
+ - ademodce
+ - adim
+ - adsmax
+ - amodce
+ - anderson_darling_cdf
+ - anderson_darling_test
+ - anovan
+ - apkconst
+ - append_save
+ - applylut
+ - ar2poly
+ - ar2rc
+ - arburg
+ - arcext
+ - arfit2
+ - ar_spa
+ - aryule
+ - assert
+ - au
+ - aucapture
+ - auload
+ - auplot
+ - aurecord
+ - ausave
+ - autumn
+ - average_moments
+ - awgn
+ - azimuth
+ - BandToFull
+ - BandToSparse
+ - base64encode
+ - battery
+ - bchpoly
+ - bestblk
+ - best_dir
+ - best_dir_cov
+ - betaln
+ - bfgs
+ - bfgsmin_example
+ - bi2de
+ - biacovf
+ - bilinear
+ - bisdemo
+ - bispec
+ - biterr
+ - blkdiag
+ - blkproc
+ - bmpwrite
+ - bone
+ - bound_convex
+ - boxcar
+ - boxplot
+ - brighten
+ - bs_gradient
+ - butter
+ - buttord
+ - bwborder
+ - bweuler
+ - bwlabel
+ - bwmorph
+ - bwselect
+ - calendar
+ - cceps
+ - cdiff
+ - cellstr
+ - char
+ - cheb
+ - cheb1ord
+ - cheb2ord
+ - chebwin
+ - cheby1
+ - cheby2
+ - chirp
+ - clf
+ - clip
+ - cmpermute
+ - cmunique
+ - cohere
+ - col2im
+ - colfilt
+ - colorgradient
+ - comms
+ - compand
+ - complex
+ - concat
+ - conndef
+ - content
+ - contents
+ - Contents
+ - contourf
+ - convhull
+ - convmtx
+ - cool
+ - copper
+ - corr2
+ - cosets
+ - count
+ - covm
+ - cplxpair
+ - cquadnd
+ - create_lookup_table
+ - crule
+ - crule2d
+ - crule2dgen
+ - csape
+ - csapi
+ - csd
+ - csvread
+ - csvwrite
+ - ctranspose
+ - cumtrapz
+ - czt
+ - d2_min
+ - datenum
+ - datestr
+ - datevec
+ - dct
+ - dct2
+ - dctmtx
+ - de2bi
+ - deal
+ - decimate
+ - decode
+ - deg2rad
+ - del2
+ - delaunay
+ - delaunay3
+ - delta_method
+ - demo
+ - demodmap
+ - deriv
+ - detrend
+ - dfdp
+ - dftmtx
+ - dhbar
+ - dilate
+ - dispatch
+ - distance
+ - dlmread
+ - dlmwrite
+ - dos
+ - double
+ - drawnow
+ - durlev
+ - dxfwrite
+ - edge
+ - edit
+ - ellip
+ - ellipdemo
+ - ellipj
+ - ellipke
+ - ellipord
+ - __ellip_ws
+ - __ellip_ws_min
+ - encode
+ - eomday
+ - erode
+ - example
+ - ExampleEigenValues
+ - ExampleGenEigenValues
+ - expdemo
+ - expfit
+ - eyediagram
+ - factor
+ - factorial
+ - fail
+ - fcnchk
+ - feedback
+ - fem_test
+ - ff2n
+ - fftconv2
+ - fieldnames
+ - fill
+ - fill3
+ - filter2
+ - filtfilt
+ - filtic
+ - findsym
+ - fir1
+ - fir2
+ - fixedpoint
+ - flag
+ - flag_implicit_samplerate
+ - flattopwin
+ - flix
+ - float
+ - fmin
+ - fminbnd
+ - fmins
+ - fminunc
+ - fnder
+ - fnplt
+ - fnval
+ - fplot
+ - freqs
+ - freqs_plot
+ - fsort
+ - fullfact
+ - FullToBand
+ - funm
+ - fzero
+ - gammaln
+ - gapTest
+ - gaussian
+ - gausswin
+ - gconv
+ - gconvmtx
+ - gdeconv
+ - gdftmtx
+ - gen2par
+ - geomean
+ - getfield
+ - getfields
+ - gfft
+ - gftable
+ - gfweight
+ - gget
+ - gifft
+ - ginput
+ - gmm_estimate
+ - gmm_example
+ - gmm_obj
+ - gmm_results
+ - gmm_variance
+ - gmm_variance_inefficient
+ - gquad
+ - gquad2d
+ - gquad2d6
+ - gquad2dgen
+ - gquad6
+ - gquadnd
+ - grace_octave_path
+ - gradient
+ - grayslice
+ - grep
+ - grid
+ - griddata
+ - groots
+ - grpdelay
+ - grule
+ - grule2d
+ - grule2dgen
+ - hadamard
+ - hammgen
+ - hankel
+ - hann
+ - harmmean
+ - hilbert
+ - histeq
+ - histfit
+ - histo
+ - histo2
+ - histo3
+ - histo4
+ - hot
+ - hsv
+ - hup
+ - idct
+ - idct2
+ - idplot
+ - idsim
+ - ifftshift
+ - im2bw
+ - im2col
+ - imadjust
+ - imginfo
+ - imhist
+ - imnoise
+ - impad
+ - impz
+ - imread
+ - imrotate
+ - imshear
+ - imtranslate
+ - imwrite
+ - innerfun
+ - inputname
+ - interp
+ - interp1
+ - interp2
+ - interpft
+ - intersect
+ - invest0
+ - invest1
+ - invfdemo
+ - invfreq
+ - invfreqs
+ - invfreqz
+ - inz
+ - irsa_act
+ - irsa_actcore
+ - irsa_check
+ - irsa_dft
+ - irsa_dftfp
+ - irsa_genreal
+ - irsa_idft
+ - irsa_isregular
+ - irsa_jitsp
+ - irsa_mdsp
+ - irsa_normalize
+ - irsa_plotdft
+ - irsa_resample
+ - irsa_rgenreal
+ - isa
+ - isbw
+ - isdir
+ - isequal
+ - isfield
+ - isgray
+ - isind
+ - ismember
+ - isprime
+ - isrgb
+ - issparse
+ - isunix
+ - jet
+ - kaiser
+ - kaiserord
+ - lambertw
+ - lattice
+ - lauchli
+ - leasqr
+ - leasqrdemo
+ - legend
+ - legendre
+ - levinson
+ - lin2mu
+ - line_min
+ - lloyds
+ - lookup
+ - lookup_table
+ - lpc
+ - lp_test
+ - mad
+ - magic
+ - makelut
+ - MakeShears
+ - map
+ - mat2gray
+ - mat2str
+ - mdsmax
+ - mean2
+ - medfilt2
+ - meshc
+ - minimize
+ - minpol
+ - mkpp
+ - mktheta
+ - mle_estimate
+ - mle_example
+ - mle_obj
+ - mle_results
+ - mle_variance
+ - modmap
+ - mu2lin
+ - mvaar
+ - mvar
+ - mvfilter
+ - mvfreqz
+ - myfeval
+ - nanmax
+ - nanmean
+ - nanmedian
+ - nanmin
+ - nanstd
+ - nansum
+ - ncauer
+ - nchoosek
+ - ncrule
+ - ndims
+ - nelder_mead_min
+ - newmark
+ - nlfilter
+ - nlnewmark
+ - __nlnewmark_fcn__
+ - nmsmax
+ - nonzeros
+ - normplot
+ - now
+ - nrm
+ - nthroot
+ - nze
+ - OCTAVE_FORGE_VERSION
+ - ode23
+ - ode45
+ - ode78
+ - optimset
+ - ordfilt2
+ - orient
+ - pacf
+ - padarray
+ - parameterize
+ - parcor
+ - pareto
+ - pascal
+ - patch
+ - pburg
+ - pcg
+ - pchip
+ - pcolor
+ - pcr
+ - peaks
+ - penddot
+ - pendulum
+ - perms
+ - pie
+ - pink
+ - plot3
+ - __plt3__
+ - poly2ac
+ - poly2ar
+ - poly_2_ex
+ - poly2mask
+ - poly2rc
+ - poly2sym
+ - poly2th
+ - polyarea
+ - polyconf
+ - polyder
+ - polyderiv
+ - polygcd
+ - polystab
+ - __power
+ - ppval
+ - prctile
+ - prettyprint
+ - prettyprint_c
+ - primes
+ - princomp
+ - print
+ - prism
+ - proplan
+ - pulstran
+ - pwelch
+ - pyulear
+ - qaskdeco
+ - qaskenco
+ - qtdecomp
+ - qtgetblk
+ - qtsetblk
+ - quad2dc
+ - quad2dcgen
+ - quad2dg
+ - quad2dggen
+ - quadc
+ - quadg
+ - quadl
+ - quadndg
+ - quantiz
+ - quiver
+ - rad2deg
+ - rainbow
+ - randerr
+ - randint
+ - randsrc
+ - rat
+ - rats
+ - rc2ac
+ - rc2ar
+ - rc2poly
+ - rceps
+ - read_options
+ - read_pdb
+ - rectpuls
+ - resample
+ - rgb2gray
+ - rk2fixed
+ - rk4fixed
+ - rk8fixed
+ - rmfield
+ - rmle
+ - rmpath
+ - roicolor
+ - rosser
+ - rotparams
+ - rotv
+ - rref
+ - rsdecof
+ - rsencof
+ - rsgenpoly
+ - samin_example
+ - save_vrml
+ - sbispec
+ - scale_data
+ - scatter
+ - scatterplot
+ - select_3D_points
+ - selmo
+ - setdiff
+ - setfield
+ - setfields
+ - setxor
+ - sftrans
+ - sgolay
+ - sgolayfilt
+ - sinvest1
+ - slurp_file
+ - sortrows
+ - sound
+ - soundsc
+ - spdiags
+ - specgram
+ - speed
+ - speye
+ - spfun
+ - sphcat
+ - spline
+ - splot
+ - spones
+ - sprand
+ - sprandn
+ - spring
+ - spstats
+ - spsum
+ - sp_test
+ - sptest
+ - spvcat
+ - spy
+ - std2
+ - stem
+ - str2double
+ - strcmpi
+ - stretchlim
+ - strfind
+ - strmatch
+ - strncmp
+ - strncmpi
+ - strsort
+ - strtok
+ - strtoz
+ - struct
+ - strvcat
+ - summer
+ - sumskipnan
+ - surf
+ - surfc
+ - sym2poly
+ - symerr
+ - symfsolve
+ - tabulate
+ - tar
+ - temp_name
+ - test
+ - test_d2_min_1
+ - test_d2_min_2
+ - test_d2_min_3
+ - test_ellipj
+ - test_fminunc_1
+ - testimio
+ - test_inline_1
+ - test_min_1
+ - test_min_2
+ - test_min_3
+ - test_min_4
+ - test_minimize_1
+ - test_nelder_mead_min_1
+ - test_nelder_mead_min_2
+ - test_sncndn
+ - test_struct
+ - test_vmesh
+ - test_vrml_faces
+ - test_wpolyfit
+ - text
+ - textread
+ - tf2zp
+ - tfe
+ - thfm
+ - tics
+ - toeplitz
+ - toggle_grace_use
+ - transpose
+ - trapz
+ - triang
+ - tril
+ - trimmean
+ - tripuls
+ - trisolve
+ - triu
+ - tsademo
+ - tsearchdemo
+ - ucp
+ - uintlut
+ - unique
+ - unix
+ - unmkpp
+ - unscale_parameters
+ - vec2mat
+ - view
+ - vmesh
+ - voronoi
+ - voronoin
+ - vrml_arrow
+ - vrml_Background
+ - vrml_browse
+ - vrml_cyl
+ - vrml_demo_tutorial_1
+ - vrml_demo_tutorial_2
+ - vrml_demo_tutorial_3
+ - vrml_demo_tutorial_4
+ - vrml_ellipsoid
+ - vrml_faces
+ - vrml_flatten
+ - vrml_frame
+ - vrml_group
+ - vrml_kill
+ - vrml_lines
+ - vrml_material
+ - vrml_parallelogram
+ - vrml_PointLight
+ - vrml_points
+ - vrml_select_points
+ - vrml_surf
+ - vrml_text
+ - vrml_thick_surf
+ - vrml_transfo
+ - wavread
+ - wavwrite
+ - weekday
+ - wgn
+ - white
+ - wilkinson
+ - winter
+ - wpolyfit
+ - wpolyfitdemo
+ - write_pdb
+ - wsolve
+ - xcorr
+ - xcorr2
+ - xcov
+ - xlsread
+ - xmlwrite
+ - y2res
+ - zero_count
+ - zoom
+ - zp2tf
+ - zplane
+ - zscore
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/oors.xml b/data/syntax/oors.xml
new file mode 100644
index 0000000..f189ddd
--- /dev/null
+++ b/data/syntax/oors.xml
@@ -0,0 +1,94 @@
+
+
+
+
+
+ - allow
+ - apply
+ - backtrack
+ - copy
+ - condition
+ - deny
+ - extends
+ - graph
+ - if
+ - else
+ - linear
+ - profile
+ - rule
+ - ruleset
+ - search
+ - unsafe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/opal.xml b/data/syntax/opal.xml
new file mode 100644
index 0000000..e390d13
--- /dev/null
+++ b/data/syntax/opal.xml
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+
+ - ALL
+ - AND
+ - ANDIF
+ - ANY
+ - AS
+ - ASSERT
+ - AXM
+ - COMPLETELY
+ - DATA
+ - DEF
+ - DERIVE
+ - DFD
+ - DISCRIMINATORS
+ - ELSE
+ - EX
+ - EXTERNAL
+ - FI
+ - FIX
+ - FUN
+ - IF
+ - IMPLEMENTATION
+ - IMPLIES
+ - IMPORT
+ - IN
+ - INHERIT
+ - INJECTIONS
+ - INTERFACE
+ - INTERNAL
+ - LAW
+ - LAZY
+ - LEFTASSOC
+ - LET
+ - MODULE
+ - NOT
+ - ONLY
+ - OR
+ - ORIF
+ - OTHERWISE
+ - POST
+ - PRE
+ - PRED
+ - PRIORITY
+ - PROPERTIES
+ - REALIZES
+ - REQUIRE
+ - RIGHTASSOC
+ - SELECTORS
+ - SIGNATURE
+ - SORT
+ - SPC
+ - SPEC
+ - SPECIFICATION
+ - STRUCTURE
+ - THE
+ - THEN
+ - THEORY
+ - THM
+ - TYPE
+ - UNIQ
+ - WHERE
+
+
+ - aEntry
+ - agent
+ - align
+ - anchor
+ - ans
+ - arg
+ - arg1
+ - arg2
+ - array
+ - arrowWhere
+ - bag
+ - bitmap
+ - bool
+ - bstree
+ - byte
+ - callback
+ - canvasEditor
+ - capStyle
+ - channel
+ - char
+ - childstat
+ - codom
+ - codomFrom
+ - codomTo
+ - color
+ - colorModel
+ - com
+ - composeOp
+ - config
+ - configCom
+ - cursor
+ - dArray
+ - data
+ - data1
+ - data11
+ - data2
+ - data21
+ - data3
+ - data31
+ - data4
+ - data41
+ - dataFrom
+ - dataTo
+ - defaultPrio
+ - denotation
+ - device
+ - dist
+ - distOut
+ - dom
+ - domFrom
+ - domTo
+ - drawing
+ - dyn
+ - emitter
+ - env
+ - event
+ - eventInfo
+ - file
+ - filemode
+ - filestat
+ - filetype
+ - first
+ - first1
+ - first2
+ - first3
+ - fission
+ - fmt
+ - font
+ - from
+ - from1
+ - from2
+ - funct
+ - group
+ - groupid
+ - heap
+ - iconfig
+ - image
+ - in
+ - inData
+ - index
+ - inode
+ - input
+ - int
+ - inter
+ - interdom
+ - interpreter
+ - iseq
+ - items
+ - joinStyle
+ - justifyHow
+ - long
+ - manager
+ - managerRequest
+ - map
+ - mapEntry
+ - mark
+ - mid
+ - modifier
+ - nat
+ - natMap
+ - OBJECT
+ - option
+ - orient
+ - out
+ - outData
+ - output
+ - packOp
+ - pair
+ - parser
+ - permission
+ - point
+ - positionRequest
+ - process
+ - procstat
+ - quad
+ - range
+ - real
+ - regulator
+ - rel
+ - relief
+ - res
+ - res1
+ - res2
+ - result
+ - role
+ - sap
+ - script
+ - scroller
+ - scrollView
+ - scrollWindow
+ - searchOpt
+ - second
+ - seekMode
+ - selector
+ - semaphor
+ - seq
+ - seqEntry
+ - set
+ - setEntry
+ - short
+ - sigaction
+ - sighandler
+ - sigmask
+ - signal
+ - size
+ - sizeRequest
+ - some
+ - sreal
+ - state
+ - stateId
+ - stateRequest
+ - string
+ - subrel
+ - tag
+ - textEditor
+ - time
+ - to
+ - tree
+ - triple
+ - union
+ - user
+ - userid
+ - version
+ - view
+ - void
+ - wconfig
+ - wconfigCom
+ - wday
+ - widget
+ - window
+ - wrapStyle
+
+
+ - true
+ - false
+
+ - 0
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
+ - 11
+ - 12
+ - 13
+ - 14
+ - 15
+ - 16
+ - 17
+ - 18
+ - 19
+ - 20
+ - 21
+ - 22
+ - 23
+ - 24
+ - 25
+ - 26
+ - 27
+ - 28
+ - 29
+ - 30
+ - 31
+ - 32
+ - 64
+ - 128
+ - 256
+ - 512
+ - 1024
+ - 10000
+ - 100000
+ - 1000000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/opencl.xml b/data/syntax/opencl.xml
new file mode 100644
index 0000000..1d40da0
--- /dev/null
+++ b/data/syntax/opencl.xml
@@ -0,0 +1,257 @@
+
+
+
+
+
+ - __constant
+ - __global
+ - __local
+ - __private
+ - __kernel
+ - __read_only
+ - __write_only
+ - constant
+ - global
+ - local
+ - private
+ - kernel
+ - read_only
+ - write_only
+ - break
+ - case
+ - continue
+ - default
+ - do
+ - else
+ - enum
+ - for
+ - goto
+ - if
+ - inline
+ - return
+ - sizeof
+ - struct
+ - switch
+ - typedef
+ - union
+ - while
+
+
+ - bool
+ - uchar
+ - uchar2
+ - uchar3
+ - uchar4
+ - uchar8
+ - uchar16
+ - char
+ - char2
+ - char3
+ - char4
+ - char8
+ - char16
+ - const
+ - double
+ - double2
+ - double3
+ - double4
+ - double8
+ - double16
+ - event_t
+ - float
+ - float2
+ - float3
+ - float4
+ - float8
+ - float16
+ - half
+ - half2
+ - half3
+ - half4
+ - half8
+ - half16
+ - image1d_t
+ - image2d_t
+ - image3d_t
+ - uint
+ - uint2
+ - uint3
+ - uint4
+ - uint8
+ - uint16
+ - int
+ - int2
+ - int3
+ - int4
+ - int8
+ - int16
+ - ulong
+ - ulong2
+ - ulong3
+ - ulong4
+ - ulong8
+ - ulong16
+ - long
+ - long2
+ - long3
+ - long4
+ - long8
+ - long16
+ - restrict
+ - sampler_t
+ - ushort
+ - ushort2
+ - ushort3
+ - ushort4
+ - ushort8
+ - ushort16
+ - short
+ - short2
+ - short3
+ - short4
+ - short8
+ - short16
+ - signed
+ - static
+ - unsigned
+ - void
+ - volatile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/pango.xml b/data/syntax/pango.xml
new file mode 100644
index 0000000..e439e06
--- /dev/null
+++ b/data/syntax/pango.xml
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+ - <span
+ - <b
+ - <big
+ - <i
+ - <s
+ - <sub
+ - <sup
+ - <small
+ - <tt
+ - <u
+
+
+
+ - </span>
+ - </b>
+ - </big>
+ - </i>
+ - </s>
+ - </sub>
+ - </sup>
+ - </small>
+ - </tt>
+ - </u>
+
+
+
+ - size=
+ - font_size=
+ - rise=
+ - letter_spacing=
+
+
+
+ - font=
+ - font_desc=
+ - font_family=
+ - face=
+ - lang=
+
+
+
+ - strikethrough_color=
+ - foreground=
+ - fgcolor=
+ - color=
+ - background=
+ - bgcolor=
+ - underline_color=
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/pascal.xml b/data/syntax/pascal.xml
new file mode 100644
index 0000000..e8ad5eb
--- /dev/null
+++ b/data/syntax/pascal.xml
@@ -0,0 +1,219 @@
+
+
+
+
+
+ - and
+ - array
+ - asm
+ - case
+ - const
+ - div
+ - do
+ - downto
+ - else
+ - file
+ - for
+ - function
+ - goto
+ - if
+ - in
+ - label
+ - mod
+ - nil
+ - not
+ - of
+ - operator
+ - or
+ - packed
+ - procedure
+ - program
+ - record
+ - repeat
+ - set
+ - then
+ - to
+ - type
+ - unit
+ - until
+ - uses
+ - var
+ - while
+ - with
+ - xor
+
+
+ - at
+ - automated
+ - break
+ - continue
+ - dispinterface
+ - dispose
+ - exit
+ - false
+ - finalization
+ - initialization
+ - library
+ - new
+ - published
+ - resourcestring
+ - self
+ - true
+
+
+ - abstract
+ - as
+ - bindable
+ - constructor
+ - destructor
+ - except
+ - export
+ - finally
+ - import
+ - implementation
+ - inherited
+ - inline
+ - interface
+ - is
+ - module
+ - on
+ - only
+ - otherwise
+ - override
+ - private
+ - property
+ - protected
+ - public
+ - read
+ - qualified
+ - raise
+ - restricted
+ - shl
+ - shr
+ - threadvar
+ - try
+ - virtual
+ - write
+
+
+ - Integer
+ - Cardinal
+ - ShortInt
+ - SmallInt
+ - LongInt
+ - Int64
+ - Byte
+ - Word
+ - LongWord
+ - DWord
+ - QWord
+ - Char
+ - AnsiChar
+ - WideChar
+ - Boolean
+ - ByteBool
+ - WordBool
+ - LongBool
+ - Single
+ - Double
+ - Extended
+ - Comp
+ - Currency
+ - Real
+ - Real48
+ - String
+ - ShortString
+ - AnsiString
+ - WideString
+ - Pointer
+ - Variant
+ - File
+ - Text
+
+
+ - FIXME
+ - TODO
+ - NOTE
+ - ###
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/perl.xml b/data/syntax/perl.xml
new file mode 100644
index 0000000..a3c6bdb
--- /dev/null
+++ b/data/syntax/perl.xml
@@ -0,0 +1,842 @@
+
+
+
+
+
+
+ - if
+ - unless
+ - else
+ - elsif
+ - while
+ - until
+ - for
+ - each
+ - foreach
+ - next
+ - last
+ - break
+ - continue
+ - return
+ - my
+ - our
+ - local
+ - state
+ - BEGIN
+ - END
+ - package
+ - sub
+ - do
+ - given
+ - when
+ - default
+ - __END__
+ - __DATA__
+ - __FILE__
+ - __LINE__
+ - __PACKAGE__
+
+
+ - =
+ - !=
+ - ~=
+ - +=
+ - -=
+ - *=
+ - /=
+ - **=
+ - |=
+ - ||=
+ - //=
+ - &=
+ - &&=
+ - ?=
+ - +
+ - -
+ - *
+
+ - %
+ - ||
+ - //
+ - &&
+ - |
+ - &
+ - <
+ - <<
+ - >
+ - >>
+ - ^
+ - ->
+ - =>
+ - .
+ - ,
+ - ;
+ - ::
+ - \
+ - and
+ - or
+ - not
+ - eq
+ - ne
+ - lt
+ - gt
+ - le
+ - ge
+ - cmp
+
+
+ - abs
+ - accept
+ - alarm
+ - atan2
+ - bind
+ - binmode
+ - bless
+ - caller
+ - chdir
+ - chmod
+ - chomp
+ - chop
+ - chown
+ - chr
+ - chroot
+ - close
+ - closedir
+ - connect
+ - cos
+ - crypt
+ - dbmclose
+ - dbmopen
+ - defined
+ - delete
+ - die
+ - dump
+ - endgrent
+ - endhostent
+ - endnetent
+ - endprotoent
+ - endpwent
+ - endservent
+ - eof
+ - eval
+ - exec
+ - exists
+ - exit
+ - exp
+ - fcntl
+ - fileno
+ - flock
+ - fork
+ - format
+ - formline
+ - getc
+ - getgrent
+ - getgrgid
+ - getgrnam
+ - gethostbyaddr
+ - gethostbyname
+ - gethostent
+ - getlogin
+ - getnetbyaddr
+ - getnetbyname
+ - getnetent
+ - getpeername
+ - getpgrp
+ - getppid
+ - getpriority
+ - getprotobyname
+ - getprotobynumber
+ - getprotoent
+ - getpwent
+ - getpwnam
+ - getpwuid
+ - getservbyname
+ - getservbyport
+ - getservent
+ - getsockname
+ - getsockopt
+ - glob
+ - gmtime
+ - goto
+ - grep
+ - hex
+ - import
+ - index
+ - int
+ - ioctl
+ - join
+ - keys
+ - kill
+ - last
+ - lc
+ - lcfirst
+ - length
+ - link
+ - listen
+ - localtime
+ - lock
+ - log
+ - lstat
+ - map
+ - mkdir
+ - msgctl
+ - msgget
+ - msgrcv
+ - msgsnd
+ - no
+ - oct
+ - open
+ - opendir
+ - ord
+ - pack
+ - package
+ - pipe
+ - pop
+ - pos
+ - print
+ - printf
+ - prototype
+ - push
+ - quotemeta
+ - rand
+ - read
+ - readdir
+ - readline
+ - readlink
+ - recv
+ - redo
+ - ref
+ - rename
+ - require
+ - reset
+ - return
+ - reverse
+ - rewinddir
+ - rindex
+ - rmdir
+ - scalar
+ - seek
+ - seekdir
+ - select
+ - semctl
+ - semget
+ - semop
+ - send
+ - setgrent
+ - sethostent
+ - setnetent
+ - setpgrp
+ - setpriority
+ - setprotoent
+ - setpwent
+ - setservent
+ - setsockopt
+ - shift
+ - shmctl
+ - shmget
+ - shmread
+ - shmwrite
+ - shutdown
+ - sin
+ - sleep
+ - socket
+ - socketpair
+ - sort
+ - splice
+ - split
+ - sprintf
+ - sqrt
+ - srand
+ - stat
+ - study
+ - sub
+ - substr
+ - symlink
+ - syscall
+ - sysread
+ - sysseek
+ - system
+ - syswrite
+ - tell
+ - telldir
+ - tie
+ - time
+ - times
+ - truncate
+ - uc
+ - ucfirst
+ - umask
+ - undef
+ - unlink
+ - unpack
+ - unshift
+ - untie
+ - use
+ - utime
+ - values
+ - vec
+ - wait
+ - waitpid
+ - wantarray
+ - warn
+ - write
+
+
+ - strict
+ - english
+ - warnings
+ - vars
+ - subs
+ - utf8
+ - sigtrap
+ - locale
+ - open
+ - less
+ - integer
+ - filetest
+ - constant
+ - bytes
+ - diagnostics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/pgn.xml b/data/syntax/pgn.xml
new file mode 100644
index 0000000..859b307
--- /dev/null
+++ b/data/syntax/pgn.xml
@@ -0,0 +1,108 @@
+
+
+
+
+ - Event
+ - Site
+ - Date
+ - Round
+ - White
+ - Black
+ - Result
+ - ECO
+ - Annotator
+ - PlyCount
+ - EventDate
+ - EventCountry
+ - SourceDate
+ - WhiteTitle
+ - BlackTitle
+ - FM
+ - IM
+ - GM
+ - WhiteElo
+ - BlackElo
+ - WhiteNA
+ - BlackNA
+ - WhiteType
+ - BlackType
+ - program
+ - human
+ - TimeControl
+ - FEN
+ - Termination
+ - abandoned
+ - adjudication
+ - death
+ - emergency
+ - normal
+ - rules
+ - infraction
+ - time
+ - forfeit
+ - unterminated
+ - Mode
+ - OTB
+ - PM
+ - EM
+ - ICS
+ - TC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/php.xml b/data/syntax/php.xml
new file mode 100644
index 0000000..847c7b0
--- /dev/null
+++ b/data/syntax/php.xml
@@ -0,0 +1,5645 @@
+
+
+
+]>
+
+
+
+
+ - as
+ - case
+ - default
+ - if
+ - else
+ - elseif
+ - while
+ - do
+ - for
+ - foreach
+ - break
+ - continue
+ - switch
+ - declare
+ - return
+ - require
+ - include
+ - require_once
+ - include_once
+ - endif
+ - endwhile
+ - endfor
+ - endforeach
+ - endswitch
+
+
+ - abstract
+ - callable
+ - catch
+ - class
+ - clone
+ - const
+ - exception
+ - extends
+ - final
+ - finally
+ - function
+ - global
+ - implements
+ - instanceof
+ - insteadof
+ - interface
+ - new
+ - self
+ - static
+ - parent
+ - private
+ - protected
+ - public
+ - throw
+ - try
+ - trait
+ - and
+ - or
+ - xor
+ - var
+ - namespace
+ - use
+ - yield
+
+
+
+ - __LINE__
+ - __FILE__
+ - __DIR__
+ - __FUNCTION__
+ - __CLASS__
+ - __METHOD__
+ - __NAMESPACE__
+ - __TRAIT__
+ - __COMPILER_HALT_OFFSET__
+
+ - ABDAY_1
+ - ABDAY_2
+ - ABDAY_3
+ - ABDAY_4
+ - ABDAY_5
+ - ABDAY_6
+ - ABDAY_7
+ - ABMON_1
+ - ABMON_10
+ - ABMON_11
+ - ABMON_12
+ - ABMON_2
+ - ABMON_3
+ - ABMON_4
+ - ABMON_5
+ - ABMON_6
+ - ABMON_7
+ - ABMON_8
+ - ABMON_9
+ - AF_INET
+ - AF_INET6
+ - AF_UNIX
+ - ALT_DIGITS
+ - AM_STR
+ - ASSERT_ACTIVE
+ - ASSERT_BAIL
+ - ASSERT_CALLBACK
+ - ASSERT_QUIET_EVAL
+ - ASSERT_WARNING
+ - CAL_DOW_DAYNO
+ - CAL_DOW_LONG
+ - CAL_DOW_SHORT
+ - CAL_EASTER_ALWAYS_GREGORIAN
+ - CAL_EASTER_ALWAYS_JULIAN
+ - CAL_EASTER_DEFAULT
+ - CAL_EASTER_ROMAN
+ - CAL_FRENCH
+ - CAL_GREGORIAN
+ - CAL_JEWISH
+ - CAL_JEWISH_ADD_ALAFIM
+ - CAL_JEWISH_ADD_ALAFIM_GERESH
+ - CAL_JEWISH_ADD_GERESHAYIM
+ - CAL_JULIAN
+ - CAL_MONTH_FRENCH
+ - CAL_MONTH_GREGORIAN_LONG
+ - CAL_MONTH_GREGORIAN_SHORT
+ - CAL_MONTH_JEWISH
+ - CAL_MONTH_JULIAN_LONG
+ - CAL_MONTH_JULIAN_SHORT
+ - CAL_NUM_CALS
+ - CASE_LOWER
+ - CASE_UPPER
+ - CHAR_MAX
+ - CIT_CALL_TOSTRING
+ - CIT_CATCH_GET_CHILD
+ - CL_EXPUNGE
+ - CODESET
+ - CONNECTION_ABORTED
+ - CONNECTION_NORMAL
+ - CONNECTION_TIMEOUT
+ - COUNT_NORMAL
+ - COUNT_RECURSIVE
+ - CP_MOVE
+ - CP_UID
+ - CREDITS_ALL
+ - CREDITS_DOCS
+ - CREDITS_FULLPAGE
+ - CREDITS_GENERAL
+ - CREDITS_GROUP
+ - CREDITS_MODULES
+ - CREDITS_QA
+ - CREDITS_SAPI
+ - CRNCYSTR
+ - CRYPT_BLOWFISH
+ - CRYPT_EXT_DES
+ - CRYPT_MD5
+ - CRYPT_SALT_LENGTH
+ - CRYPT_STD_DES
+ - CURLAUTH_ANY
+ - CURLAUTH_ANYSAFE
+ - CURLAUTH_BASIC
+ - CURLAUTH_DIGEST
+ - CURLAUTH_GSSNEGOTIATE
+ - CURLAUTH_NTLM
+ - CURLCLOSEPOLICY_CALLBACK
+ - CURLCLOSEPOLICY_LEAST_RECENTLY_USED
+ - CURLCLOSEPOLICY_LEAST_TRAFFIC
+ - CURLCLOSEPOLICY_OLDEST
+ - CURLCLOSEPOLICY_SLOWEST
+ - CURLE_ABORTED_BY_CALLBACK
+ - CURLE_BAD_CALLING_ORDER
+ - CURLE_BAD_CONTENT_ENCODING
+ - CURLE_BAD_FUNCTION_ARGUMENT
+ - CURLE_BAD_PASSWORD_ENTERED
+ - CURLE_COULDNT_CONNECT
+ - CURLE_COULDNT_RESOLVE_HOST
+ - CURLE_COULDNT_RESOLVE_PROXY
+ - CURLE_FAILED_INIT
+ - CURLE_FILE_COULDNT_READ_FILE
+ - CURLE_FTP_ACCESS_DENIED
+ - CURLE_FTP_BAD_DOWNLOAD_RESUME
+ - CURLE_FTP_CANT_GET_HOST
+ - CURLE_FTP_CANT_RECONNECT
+ - CURLE_FTP_COULDNT_GET_SIZE
+ - CURLE_FTP_COULDNT_RETR_FILE
+ - CURLE_FTP_COULDNT_SET_ASCII
+ - CURLE_FTP_COULDNT_SET_BINARY
+ - CURLE_FTP_COULDNT_STOR_FILE
+ - CURLE_FTP_COULDNT_USE_REST
+ - CURLE_FTP_PORT_FAILED
+ - CURLE_FTP_QUOTE_ERROR
+ - CURLE_FTP_USER_PASSWORD_INCORRECT
+ - CURLE_FTP_WEIRD_227_FORMAT
+ - CURLE_FTP_WEIRD_PASS_REPLY
+ - CURLE_FTP_WEIRD_PASV_REPLY
+ - CURLE_FTP_WEIRD_SERVER_REPLY
+ - CURLE_FTP_WEIRD_USER_REPLY
+ - CURLE_FTP_WRITE_ERROR
+ - CURLE_FUNCTION_NOT_FOUND
+ - CURLE_GOT_NOTHING
+ - CURLE_HTTP_NOT_FOUND
+ - CURLE_HTTP_PORT_FAILED
+ - CURLE_HTTP_POST_ERROR
+ - CURLE_HTTP_RANGE_ERROR
+ - CURLE_LDAP_CANNOT_BIND
+ - CURLE_LDAP_SEARCH_FAILED
+ - CURLE_LIBRARY_NOT_FOUND
+ - CURLE_MALFORMAT_USER
+ - CURLE_OBSOLETE
+ - CURLE_OK
+ - CURLE_OPERATION_TIMEOUTED
+ - CURLE_OUT_OF_MEMORY
+ - CURLE_PARTIAL_FILE
+ - CURLE_READ_ERROR
+ - CURLE_RECV_ERROR
+ - CURLE_SEND_ERROR
+ - CURLE_SHARE_IN_USE
+ - CURLE_SSL_CACERT
+ - CURLE_SSL_CERTPROBLEM
+ - CURLE_SSL_CIPHER
+ - CURLE_SSL_CONNECT_ERROR
+ - CURLE_SSL_ENGINE_NOTFOUND
+ - CURLE_SSL_ENGINE_SETFAILED
+ - CURLE_SSL_PEER_CERTIFICATE
+ - CURLE_TELNET_OPTION_SYNTAX
+ - CURLE_TOO_MANY_REDIRECTS
+ - CURLE_UNKNOWN_TELNET_OPTION
+ - CURLE_UNSUPPORTED_PROTOCOL
+ - CURLE_URL_MALFORMAT
+ - CURLE_URL_MALFORMAT_USER
+ - CURLE_WRITE_ERROR
+ - CURLINFO_CONNECT_TIME
+ - CURLINFO_CONTENT_LENGTH_DOWNLOAD
+ - CURLINFO_CONTENT_LENGTH_UPLOAD
+ - CURLINFO_CONTENT_TYPE
+ - CURLINFO_EFFECTIVE_URL
+ - CURLINFO_FILETIME
+ - CURLINFO_HEADER_OUT
+ - CURLINFO_HEADER_SIZE
+ - CURLINFO_HTTP_CODE
+ - CURLINFO_NAMELOOKUP_TIME
+ - CURLINFO_PRETRANSFER_TIME
+ - CURLINFO_REDIRECT_COUNT
+ - CURLINFO_REDIRECT_TIME
+ - CURLINFO_REQUEST_SIZE
+ - CURLINFO_SIZE_DOWNLOAD
+ - CURLINFO_SIZE_UPLOAD
+ - CURLINFO_SPEED_DOWNLOAD
+ - CURLINFO_SPEED_UPLOAD
+ - CURLINFO_SSL_VERIFYRESULT
+ - CURLINFO_STARTTRANSFER_TIME
+ - CURLINFO_TOTAL_TIME
+ - CURLMSG_DONE
+ - CURLM_BAD_EASY_HANDLE
+ - CURLM_BAD_HANDLE
+ - CURLM_CALL_MULTI_PERFORM
+ - CURLM_INTERNAL_ERROR
+ - CURLM_OK
+ - CURLM_OUT_OF_MEMORY
+ - CURLOPT_BINARYTRANSFER
+ - CURLOPT_BUFFERSIZE
+ - CURLOPT_CAINFO
+ - CURLOPT_CAPATH
+ - CURLOPT_CLOSEPOLICY
+ - CURLOPT_CONNECTTIMEOUT
+ - CURLOPT_COOKIE
+ - CURLOPT_COOKIEFILE
+ - CURLOPT_COOKIEJAR
+ - CURLOPT_CRLF
+ - CURLOPT_CUSTOMREQUEST
+ - CURLOPT_DNS_CACHE_TIMEOUT
+ - CURLOPT_DNS_USE_GLOBAL_CACHE
+ - CURLOPT_EGDSOCKET
+ - CURLOPT_ENCODING
+ - CURLOPT_FAILONERROR
+ - CURLOPT_FILE
+ - CURLOPT_FILETIME
+ - CURLOPT_FOLLOWLOCATION
+ - CURLOPT_FORBID_REUSE
+ - CURLOPT_FRESH_CONNECT
+ - CURLOPT_FTPAPPEND
+ - CURLOPT_FTPASCII
+ - CURLOPT_FTPLISTONLY
+ - CURLOPT_FTPPORT
+ - CURLOPT_FTP_USE_EPRT
+ - CURLOPT_FTP_USE_EPSV
+ - CURLOPT_HEADER
+ - CURLOPT_HEADERFUNCTION
+ - CURLOPT_HTTP200ALIASES
+ - CURLOPT_HTTPAUTH
+ - CURLOPT_HTTPGET
+ - CURLOPT_HTTPHEADER
+ - CURLOPT_HTTPPROXYTUNNEL
+ - CURLOPT_HTTP_VERSION
+ - CURLOPT_INFILE
+ - CURLOPT_INFILESIZE
+ - CURLOPT_INTERFACE
+ - CURLOPT_KRB4LEVEL
+ - CURLOPT_LOW_SPEED_LIMIT
+ - CURLOPT_LOW_SPEED_TIME
+ - CURLOPT_MAXCONNECTS
+ - CURLOPT_MAXREDIRS
+ - CURLOPT_MUTE
+ - CURLOPT_NETRC
+ - CURLOPT_NOBODY
+ - CURLOPT_NOPROGRESS
+ - CURLOPT_NOSIGNAL
+ - CURLOPT_PASSWDFUNCTION
+ - CURLOPT_PORT
+ - CURLOPT_POST
+ - CURLOPT_POSTFIELDS
+ - CURLOPT_POSTQUOTE
+ - CURLOPT_PROXY
+ - CURLOPT_PROXYAUTH
+ - CURLOPT_PROXYPORT
+ - CURLOPT_PROXYTYPE
+ - CURLOPT_PROXYUSERPWD
+ - CURLOPT_PUT
+ - CURLOPT_QUOTE
+ - CURLOPT_RANDOM_FILE
+ - CURLOPT_RANGE
+ - CURLOPT_READDATA
+ - CURLOPT_READFUNCTION
+ - CURLOPT_REFERER
+ - CURLOPT_RESUME_FROM
+ - CURLOPT_RETURNTRANSFER
+ - CURLOPT_SSLCERT
+ - CURLOPT_SSLCERTPASSWD
+ - CURLOPT_SSLCERTTYPE
+ - CURLOPT_SSLENGINE
+ - CURLOPT_SSLENGINE_DEFAULT
+ - CURLOPT_SSLKEY
+ - CURLOPT_SSLKEYPASSWD
+ - CURLOPT_SSLKEYTYPE
+ - CURLOPT_SSLVERSION
+ - CURLOPT_SSL_CIPHER_LIST
+ - CURLOPT_SSL_VERIFYHOST
+ - CURLOPT_SSL_VERIFYPEER
+ - CURLOPT_STDERR
+ - CURLOPT_TIMECONDITION
+ - CURLOPT_TIMEOUT
+ - CURLOPT_TIMEVALUE
+ - CURLOPT_TRANSFERTEXT
+ - CURLOPT_UNRESTRICTED_AUTH
+ - CURLOPT_UPLOAD
+ - CURLOPT_URL
+ - CURLOPT_USERAGENT
+ - CURLOPT_USERPWD
+ - CURLOPT_VERBOSE
+ - CURLOPT_WRITEFUNCTION
+ - CURLOPT_WRITEHEADER
+ - CURLPROXY_HTTP
+ - CURLPROXY_SOCKS5
+ - CURLVERSION_NOW
+ - CURL_HTTP_VERSION_1_0
+ - CURL_HTTP_VERSION_1_1
+ - CURL_HTTP_VERSION_NONE
+ - CURL_NETRC_IGNORED
+ - CURL_NETRC_OPTIONAL
+ - CURL_NETRC_REQUIRED
+ - CURL_TIMECOND_IFMODSINCE
+ - CURL_TIMECOND_IFUNMODSINCE
+ - CURL_TIMECOND_LASTMOD
+ - CURL_VERSION_IPV6
+ - CURL_VERSION_KERBEROS4
+ - CURL_VERSION_LIBZ
+ - CURL_VERSION_SSL
+ - C_EXPLICIT_ABSTRACT
+ - C_FINAL
+ - C_IMPLICIT_ABSTRACT
+ - DATE_ATOM
+ - DATE_COOKIE
+ - DATE_ISO8601
+ - DATE_RFC1036
+ - DATE_RFC1123
+ - DATE_RFC2822
+ - DATE_RFC3339
+ - DATE_RFC822
+ - DATE_RFC850
+ - DATE_RSS
+ - DATE_W3C
+ - DAY_1
+ - DAY_2
+ - DAY_3
+ - DAY_4
+ - DAY_5
+ - DAY_6
+ - DAY_7
+ - DBX_CMP_ASC
+ - DBX_CMP_DESC
+ - DBX_CMP_NATIVE
+ - DBX_CMP_NUMBER
+ - DBX_CMP_TEXT
+ - DBX_COLNAMES_LOWERCASE
+ - DBX_COLNAMES_UNCHANGED
+ - DBX_COLNAMES_UPPERCASE
+ - DBX_FBSQL
+ - DBX_MSSQL
+ - DBX_MYSQL
+ - DBX_OCI8
+ - DBX_ODBC
+ - DBX_PERSISTENT
+ - DBX_PGSQL
+ - DBX_RESULT_ASSOC
+ - DBX_RESULT_INDEX
+ - DBX_RESULT_INFO
+ - DBX_RESULT_UNBUFFERED
+ - DBX_SQLITE
+ - DBX_SYBASECT
+ - DEFAULT_INCLUDE_PATH
+ - DIRECTORY_SEPARATOR
+ - DNS_A
+ - DNS_AAAA
+ - DNS_ALL
+ - DNS_ANY
+ - DNS_CNAME
+ - DNS_HINFO
+ - DNS_MX
+ - DNS_NAPTR
+ - DNS_NS
+ - DNS_PTR
+ - DNS_SOA
+ - DNS_SRV
+ - DNS_TXT
+ - DOMSTRING_SIZE_ERR
+ - DOM_HIERARCHY_REQUEST_ERR
+ - DOM_INDEX_SIZE_ERR
+ - DOM_INUSE_ATTRIBUTE_ERR
+ - DOM_INVALID_ACCESS_ERR
+ - DOM_INVALID_CHARACTER_ERR
+ - DOM_INVALID_MODIFICATION_ERR
+ - DOM_INVALID_STATE_ERR
+ - DOM_NAMESPACE_ERR
+ - DOM_NOT_FOUND_ERR
+ - DOM_NOT_SUPPORTED_ERR
+ - DOM_NO_DATA_ALLOWED_ERR
+ - DOM_NO_MODIFICATION_ALLOWED_ERR
+ - DOM_PHP_ERR
+ - DOM_SYNTAX_ERR
+ - DOM_VALIDATION_ERR
+ - DOM_WRONG_DOCUMENT_ERR
+ - D_FMT
+ - D_T_FMT
+ - ENC7BIT
+ - ENC8BIT
+ - ENCBASE64
+ - ENCBINARY
+ - ENCOTHER
+ - ENCQUOTEDPRINTABLE
+ - ENT_COMPAT
+ - ENT_NOQUOTES
+ - ENT_QUOTES
+ - ERA
+ - ERA_D_FMT
+ - ERA_D_T_FMT
+ - ERA_T_FMT
+ - EXIF_USE_MBSTRING
+ - EXTR_IF_EXISTS
+ - EXTR_OVERWRITE
+ - EXTR_PREFIX_ALL
+ - EXTR_PREFIX_IF_EXISTS
+ - EXTR_PREFIX_INVALID
+ - EXTR_PREFIX_SAME
+ - EXTR_REFS
+ - EXTR_SKIP
+ - E_ALL
+ - E_COMPILE_ERROR
+ - E_COMPILE_WARNING
+ - E_CORE_ERROR
+ - E_CORE_WARNING
+ - E_DEPRECATED
+ - E_ERROR
+ - E_NOTICE
+ - E_PARSE
+ - E_RECOVERABLE_ERROR
+ - E_STRICT
+ - E_USER_DEPRECATED
+ - E_USER_ERROR
+ - E_USER_NOTICE
+ - E_USER_WARNING
+ - E_WARNING
+ - FALSE
+ - FAMAcknowledge
+ - FAMChanged
+ - FAMCreated
+ - FAMDeleted
+ - FAMEndExist
+ - FAMExists
+ - FAMMoved
+ - FAMStartExecuting
+ - FAMStopExecuting
+ - FILE_APPEND
+ - FILE_IGNORE_NEW_LINES
+ - FILE_NO_DEFAULT_CONTEXT
+ - FILE_SKIP_EMPTY_LINES
+ - FILE_USE_INCLUDE_PATH
+ - FNM_CASEFOLD
+ - FNM_NOESCAPE
+ - FNM_PATHNAME
+ - FNM_PERIOD
+ - FORCE_DEFLATE
+ - FORCE_GZIP
+ - FTP_ASCII
+ - FTP_AUTORESUME
+ - FTP_AUTOSEEK
+ - FTP_BINARY
+ - FTP_FAILED
+ - FTP_FINISHED
+ - FTP_IMAGE
+ - FTP_MOREDATA
+ - FTP_TEXT
+ - FTP_TIMEOUT_SEC
+ - FT_INTERNAL
+ - FT_NOT
+ - FT_PEEK
+ - FT_PREFETCHTEXT
+ - FT_UID
+ - F_DUPFD
+ - F_GETFD
+ - F_GETFL
+ - F_GETLK
+ - F_GETOWN
+ - F_RDLCK
+ - F_SETFL
+ - F_SETLK
+ - F_SETLKW
+ - F_SETOWN
+ - F_UNLCK
+ - F_WRLCK
+ - GD_BUNDLED
+ - GLOB_BRACE
+ - GLOB_MARK
+ - GLOB_NOCHECK
+ - GLOB_NOESCAPE
+ - GLOB_NOSORT
+ - GLOB_ONLYDIR
+ - GMP_ROUND_MINUSINF
+ - GMP_ROUND_PLUSINF
+ - GMP_ROUND_ZERO
+ - HASH_HMAC
+ - HTML_ENTITIES
+ - HTML_SPECIALCHARS
+ - ICONV_IMPL
+ - ICONV_MIME_DECODE_CONTINUE_ON_ERROR
+ - ICONV_MIME_DECODE_STRICT
+ - ICONV_VERSION
+ - IMAGETYPE_BMP
+ - IMAGETYPE_GIF
+ - IMAGETYPE_IFF
+ - IMAGETYPE_JB2
+ - IMAGETYPE_JP2
+ - IMAGETYPE_JPC
+ - IMAGETYPE_JPEG
+ - IMAGETYPE_JPEG2000
+ - IMAGETYPE_JPX
+ - IMAGETYPE_PNG
+ - IMAGETYPE_PSD
+ - IMAGETYPE_SWF
+ - IMAGETYPE_TIFF_II
+ - IMAGETYPE_TIFF_MM
+ - IMAGETYPE_WBMP
+ - IMAGETYPE_XBM
+ - IMAP_CLOSETIMEOUT
+ - IMAP_OPENTIMEOUT
+ - IMAP_READTIMEOUT
+ - IMAP_WRITETIMEOUT
+ - IMG_ARC_CHORD
+ - IMG_ARC_EDGED
+ - IMG_ARC_NOFILL
+ - IMG_ARC_PIE
+ - IMG_ARC_ROUNDED
+ - IMG_COLOR_BRUSHED
+ - IMG_COLOR_STYLED
+ - IMG_COLOR_STYLEDBRUSHED
+ - IMG_COLOR_TILED
+ - IMG_COLOR_TRANSPARENT
+ - IMG_EFFECT_ALPHABLEND
+ - IMG_EFFECT_NORMAL
+ - IMG_EFFECT_OVERLAY
+ - IMG_EFFECT_REPLACE
+ - IMG_FILTER_BRIGHTNESS
+ - IMG_FILTER_COLORIZE
+ - IMG_FILTER_CONTRAST
+ - IMG_FILTER_EDGEDETECT
+ - IMG_FILTER_EMBOSS
+ - IMG_FILTER_GAUSSIAN_BLUR
+ - IMG_FILTER_GRAYSCALE
+ - IMG_FILTER_MEAN_REMOVAL
+ - IMG_FILTER_NEGATE
+ - IMG_FILTER_SELECTIVE_BLUR
+ - IMG_FILTER_SMOOTH
+ - IMG_GD2_COMPRESSED
+ - IMG_GD2_RAW
+ - IMG_GIF
+ - IMG_JPEG
+ - IMG_JPG
+ - IMG_PNG
+ - IMG_WBMP
+ - IMG_XPM
+ - INF
+ - INFO_ALL
+ - INFO_CONFIGURATION
+ - INFO_CREDITS
+ - INFO_ENVIRONMENT
+ - INFO_GENERAL
+ - INFO_LICENSE
+ - INFO_MODULES
+ - INFO_VARIABLES
+ - INI_ALL
+ - INI_PERDIR
+ - INI_SYSTEM
+ - INI_USER
+ - LATT_HASCHILDREN
+ - LATT_HASNOCHILDREN
+ - LATT_MARKED
+ - LATT_NOINFERIORS
+ - LATT_NOSELECT
+ - LATT_REFERRAL
+ - LATT_UNMARKED
+ - LC_ALL
+ - LC_COLLATE
+ - LC_CTYPE
+ - LC_MESSAGES
+ - LC_MONETARY
+ - LC_NUMERIC
+ - LC_TIME
+ - LDAP_DEREF_ALWAYS
+ - LDAP_DEREF_FINDING
+ - LDAP_DEREF_NEVER
+ - LDAP_DEREF_SEARCHING
+ - LDAP_OPT_CLIENT_CONTROLS
+ - LDAP_OPT_DEBUG_LEVEL
+ - LDAP_OPT_DEREF
+ - LDAP_OPT_ERROR_NUMBER
+ - LDAP_OPT_ERROR_STRING
+ - LDAP_OPT_HOST_NAME
+ - LDAP_OPT_MATCHED_DN
+ - LDAP_OPT_PROTOCOL_VERSION
+ - LDAP_OPT_REFERRALS
+ - LDAP_OPT_RESTART
+ - LDAP_OPT_SERVER_CONTROLS
+ - LDAP_OPT_SIZELIMIT
+ - LDAP_OPT_TIMELIMIT
+ - LIBXML_COMPACT
+ - LIBXML_DOTTED_VERSION
+ - LIBXML_DTDATTR
+ - LIBXML_DTDLOAD
+ - LIBXML_DTDVALID
+ - LIBXML_ERR_ERROR
+ - LIBXML_ERR_FATAL
+ - LIBXML_ERR_NONE
+ - LIBXML_ERR_WARNING
+ - LIBXML_NOBLANKS
+ - LIBXML_NOCDATA
+ - LIBXML_NOEMPTYTAG
+ - LIBXML_NOENT
+ - LIBXML_NOERROR
+ - LIBXML_NONET
+ - LIBXML_NOWARNING
+ - LIBXML_NOXMLDECL
+ - LIBXML_NSCLEAN
+ - LIBXML_VERSION
+ - LIBXML_XINCLUDE
+ - LOCK_EX
+ - LOCK_NB
+ - LOCK_SH
+ - LOCK_UN
+ - LOG_ALERT
+ - LOG_AUTH
+ - LOG_AUTHPRIV
+ - LOG_CONS
+ - LOG_CRIT
+ - LOG_CRON
+ - LOG_DAEMON
+ - LOG_DEBUG
+ - LOG_EMERG
+ - LOG_ERR
+ - LOG_INFO
+ - LOG_KERN
+ - LOG_LOCAL0
+ - LOG_LOCAL1
+ - LOG_LOCAL2
+ - LOG_LOCAL3
+ - LOG_LOCAL4
+ - LOG_LOCAL5
+ - LOG_LOCAL6
+ - LOG_LOCAL7
+ - LOG_LPR
+ - LOG_MAIL
+ - LOG_NDELAY
+ - LOG_NEWS
+ - LOG_NOTICE
+ - LOG_NOWAIT
+ - LOG_ODELAY
+ - LOG_PERROR
+ - LOG_PID
+ - LOG_SYSLOG
+ - LOG_USER
+ - LOG_UUCP
+ - LOG_WARNING
+ - MB_CASE_LOWER
+ - MB_CASE_TITLE
+ - MB_CASE_UPPER
+ - MB_OVERLOAD_MAIL
+ - MB_OVERLOAD_REGEX
+ - MB_OVERLOAD_STRING
+ - MCRYPT_3DES
+ - MCRYPT_ARCFOUR
+ - MCRYPT_ARCFOUR_IV
+ - MCRYPT_BLOWFISH
+ - MCRYPT_BLOWFISH_COMPAT
+ - MCRYPT_CAST_128
+ - MCRYPT_CAST_256
+ - MCRYPT_CRYPT
+ - MCRYPT_DECRYPT
+ - MCRYPT_DES
+ - MCRYPT_DEV_RANDOM
+ - MCRYPT_DEV_URANDOM
+ - MCRYPT_ENCRYPT
+ - MCRYPT_ENIGNA
+ - MCRYPT_GOST
+ - MCRYPT_IDEA
+ - MCRYPT_LOKI97
+ - MCRYPT_MARS
+ - MCRYPT_MODE_CBC
+ - MCRYPT_MODE_CFB
+ - MCRYPT_MODE_ECB
+ - MCRYPT_MODE_NOFB
+ - MCRYPT_MODE_OFB
+ - MCRYPT_MODE_STREAM
+ - MCRYPT_PANAMA
+ - MCRYPT_RAND
+ - MCRYPT_RC2
+ - MCRYPT_RC6
+ - MCRYPT_RIJNDAEL_128
+ - MCRYPT_RIJNDAEL_192
+ - MCRYPT_RIJNDAEL_256
+ - MCRYPT_SAFER128
+ - MCRYPT_SAFER64
+ - MCRYPT_SAFERPLUS
+ - MCRYPT_SERPENT
+ - MCRYPT_SKIPJACK
+ - MCRYPT_THREEWAY
+ - MCRYPT_TRIPLEDES
+ - MCRYPT_TWOFISH
+ - MCRYPT_WAKE
+ - MCRYPT_XTEA
+ - MHASH_ADLER32
+ - MHASH_CRC32
+ - MHASH_CRC32B
+ - MHASH_GOST
+ - MHASH_HAVAL128
+ - MHASH_HAVAL160
+ - MHASH_HAVAL192
+ - MHASH_HAVAL224
+ - MHASH_HAVAL256
+ - MHASH_MD2
+ - MHASH_MD4
+ - MHASH_MD5
+ - MHASH_RIPEMD128
+ - MHASH_RIPEMD160
+ - MHASH_RIPEMD256
+ - MHASH_RIPEMD320
+ - MHASH_SHA1
+ - MHASH_SHA224
+ - MHASH_SHA256
+ - MHASH_SHA384
+ - MHASH_SHA512
+ - MHASH_SNEFRU128
+ - MHASH_SNEFRU256
+ - MHASH_TIGER
+ - MHASH_TIGER128
+ - MHASH_TIGER160
+ - MHASH_WHIRLPOOL
+ - MON_1
+ - MON_10
+ - MON_11
+ - MON_12
+ - MON_2
+ - MON_3
+ - MON_4
+ - MON_5
+ - MON_6
+ - MON_7
+ - MON_8
+ - MON_9
+ - MSG_DONTROUTE
+ - MSG_EXCEPT
+ - MSG_IPC_NOWAIT
+ - MSG_NOERROR
+ - MSG_OOB
+ - MSG_PEEK
+ - MSG_WAITALL
+ - MYSQLI_ASSOC
+ - MYSQLI_AUTO_INCREMENT_FLAG
+ - MYSQLI_BLOB_FLAG
+ - MYSQLI_BOTH
+ - MYSQLI_CLIENT_COMPRESS
+ - MYSQLI_CLIENT_FOUND_ROWS
+ - MYSQLI_CLIENT_IGNORE_SPACE
+ - MYSQLI_CLIENT_INTERACTIVE
+ - MYSQLI_CLIENT_NO_SCHEMA
+ - MYSQLI_CLIENT_SSL
+ - MYSQLI_GROUP_FLAG
+ - MYSQLI_INIT_COMMAND
+ - MYSQLI_MULTIPLE_KEY_FLAG
+ - MYSQLI_NOT_NULL_FLAG
+ - MYSQLI_NO_DATA
+ - MYSQLI_NUM
+ - MYSQLI_NUM_FLAG
+ - MYSQLI_OPT_CONNECT_TIMEOUT
+ - MYSQLI_OPT_LOCAL_INFILE
+ - MYSQLI_PART_KEY_FLAG
+ - MYSQLI_PRI_KEY_FLAG
+ - MYSQLI_READ_DEFAULT_FILE
+ - MYSQLI_READ_DEFAULT_GROUP
+ - MYSQLI_REPORT_ALL
+ - MYSQLI_REPORT_ERROR
+ - MYSQLI_REPORT_INDEX
+ - MYSQLI_REPORT_OFF
+ - MYSQLI_REPORT_STRICT
+ - MYSQLI_RPL_ADMIN
+ - MYSQLI_RPL_MASTER
+ - MYSQLI_RPL_SLAVE
+ - MYSQLI_SET_FLAG
+ - MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH
+ - MYSQLI_STORE_RESULT
+ - MYSQLI_TIMESTAMP_FLAG
+ - MYSQLI_TYPE_BLOB
+ - MYSQLI_TYPE_CHAR
+ - MYSQLI_TYPE_DATE
+ - MYSQLI_TYPE_DATETIME
+ - MYSQLI_TYPE_DECIMAL
+ - MYSQLI_TYPE_DOUBLE
+ - MYSQLI_TYPE_ENUM
+ - MYSQLI_TYPE_FLOAT
+ - MYSQLI_TYPE_GEOMETRY
+ - MYSQLI_TYPE_INT24
+ - MYSQLI_TYPE_INTERVAL
+ - MYSQLI_TYPE_LONG
+ - MYSQLI_TYPE_LONGLONG
+ - MYSQLI_TYPE_LONG_BLOB
+ - MYSQLI_TYPE_MEDIUM_BLOB
+ - MYSQLI_TYPE_NEWDATE
+ - MYSQLI_TYPE_NULL
+ - MYSQLI_TYPE_SET
+ - MYSQLI_TYPE_SHORT
+ - MYSQLI_TYPE_STRING
+ - MYSQLI_TYPE_TIME
+ - MYSQLI_TYPE_TIMESTAMP
+ - MYSQLI_TYPE_TINY
+ - MYSQLI_TYPE_TINY_BLOB
+ - MYSQLI_TYPE_VAR_STRING
+ - MYSQLI_TYPE_YEAR
+ - MYSQLI_UNIQUE_KEY_FLAG
+ - MYSQLI_UNSIGNED_FLAG
+ - MYSQLI_USE_RESULT
+ - MYSQLI_ZEROFILL_FLAG
+ - MYSQL_ASSOC
+ - MYSQL_BOTH
+ - MYSQL_CLIENT_COMPRESS
+ - MYSQL_CLIENT_IGNORE_SPACE
+ - MYSQL_CLIENT_INTERACTIVE
+ - MYSQL_CLIENT_SSL
+ - MYSQL_NUM
+ - M_1_PI
+ - M_2_PI
+ - M_2_SQRTPI
+ - M_ABSTRACT
+ - M_E
+ - M_FINAL
+ - M_LN10
+ - M_LN2
+ - M_LOG10E
+ - M_LOG2E
+ - M_PI
+ - M_PI_2
+ - M_PI_4
+ - M_PRIVATE
+ - M_PROTECTED
+ - M_PUBLIC
+ - M_SQRT1_2
+ - M_SQRT2
+ - M_STATIC
+ - NAN
+ - NCURSES_ALL_MOUSE_EVENTS
+ - NCURSES_A_ALTCHARSET
+ - NCURSES_A_BLINK
+ - NCURSES_A_BOLD
+ - NCURSES_A_CHARTEXT
+ - NCURSES_A_DIM
+ - NCURSES_A_INVIS
+ - NCURSES_A_NORMAL
+ - NCURSES_A_PROTECT
+ - NCURSES_A_REVERSE
+ - NCURSES_A_STANDOUT
+ - NCURSES_A_UNDERLINE
+ - NCURSES_BUTTON1_CLICKED
+ - NCURSES_BUTTON1_DOUBLE_CLICKED
+ - NCURSES_BUTTON1_PRESSED
+ - NCURSES_BUTTON1_RELEASED
+ - NCURSES_BUTTON1_TRIPLE_CLICKED
+ - NCURSES_BUTTON2_CLICKED
+ - NCURSES_BUTTON2_DOUBLE_CLICKED
+ - NCURSES_BUTTON2_PRESSED
+ - NCURSES_BUTTON2_RELEASED
+ - NCURSES_BUTTON2_TRIPLE_CLICKED
+ - NCURSES_BUTTON3_CLICKED
+ - NCURSES_BUTTON3_DOUBLE_CLICKED
+ - NCURSES_BUTTON3_PRESSED
+ - NCURSES_BUTTON3_RELEASED
+ - NCURSES_BUTTON3_TRIPLE_CLICKED
+ - NCURSES_BUTTON4_CLICKED
+ - NCURSES_BUTTON4_DOUBLE_CLICKED
+ - NCURSES_BUTTON4_PRESSED
+ - NCURSES_BUTTON4_RELEASED
+ - NCURSES_BUTTON4_TRIPLE_CLICKED
+ - NCURSES_BUTTON_ALT
+ - NCURSES_BUTTON_CTRL
+ - NCURSES_BUTTON_SHIFT
+ - NCURSES_COLOR_BLACK
+ - NCURSES_COLOR_BLUE
+ - NCURSES_COLOR_CYAN
+ - NCURSES_COLOR_GREEN
+ - NCURSES_COLOR_MAGENTA
+ - NCURSES_COLOR_RED
+ - NCURSES_COLOR_WHITE
+ - NCURSES_COLOR_YELLOW
+ - NCURSES_KEY_A1
+ - NCURSES_KEY_A3
+ - NCURSES_KEY_B2
+ - NCURSES_KEY_BACKSPACE
+ - NCURSES_KEY_BEG
+ - NCURSES_KEY_BTAB
+ - NCURSES_KEY_C1
+ - NCURSES_KEY_C3
+ - NCURSES_KEY_CANCEL
+ - NCURSES_KEY_CATAB
+ - NCURSES_KEY_CLEAR
+ - NCURSES_KEY_CLOSE
+ - NCURSES_KEY_COMMAND
+ - NCURSES_KEY_COPY
+ - NCURSES_KEY_CREATE
+ - NCURSES_KEY_CTAB
+ - NCURSES_KEY_DC
+ - NCURSES_KEY_DL
+ - NCURSES_KEY_DOWN
+ - NCURSES_KEY_EIC
+ - NCURSES_KEY_END
+ - NCURSES_KEY_ENTER
+ - NCURSES_KEY_EOL
+ - NCURSES_KEY_EOS
+ - NCURSES_KEY_EXIT
+ - NCURSES_KEY_F0
+ - NCURSES_KEY_F1
+ - NCURSES_KEY_F10
+ - NCURSES_KEY_F11
+ - NCURSES_KEY_F12
+ - NCURSES_KEY_F2
+ - NCURSES_KEY_F3
+ - NCURSES_KEY_F4
+ - NCURSES_KEY_F5
+ - NCURSES_KEY_F6
+ - NCURSES_KEY_F7
+ - NCURSES_KEY_F8
+ - NCURSES_KEY_F9
+ - NCURSES_KEY_FIND
+ - NCURSES_KEY_HELP
+ - NCURSES_KEY_IC
+ - NCURSES_KEY_IL
+ - NCURSES_KEY_LEFT
+ - NCURSES_KEY_LL
+ - NCURSES_KEY_MARK
+ - NCURSES_KEY_MESSAGE
+ - NCURSES_KEY_MOUSE
+ - NCURSES_KEY_MOVE
+ - NCURSES_KEY_NEXT
+ - NCURSES_KEY_NPAGE
+ - NCURSES_KEY_OPEN
+ - NCURSES_KEY_OPTIONS
+ - NCURSES_KEY_PPAGE
+ - NCURSES_KEY_PREVIOUS
+ - NCURSES_KEY_PRINT
+ - NCURSES_KEY_REDO
+ - NCURSES_KEY_REFERENCE
+ - NCURSES_KEY_REFRESH
+ - NCURSES_KEY_REPLACE
+ - NCURSES_KEY_RESET
+ - NCURSES_KEY_RESIZE
+ - NCURSES_KEY_RESTART
+ - NCURSES_KEY_RESUME
+ - NCURSES_KEY_RIGHT
+ - NCURSES_KEY_SAVE
+ - NCURSES_KEY_SBEG
+ - NCURSES_KEY_SCANCEL
+ - NCURSES_KEY_SCOMMAND
+ - NCURSES_KEY_SCOPY
+ - NCURSES_KEY_SCREATE
+ - NCURSES_KEY_SDC
+ - NCURSES_KEY_SDL
+ - NCURSES_KEY_SELECT
+ - NCURSES_KEY_SEND
+ - NCURSES_KEY_SEOL
+ - NCURSES_KEY_SEXIT
+ - NCURSES_KEY_SF
+ - NCURSES_KEY_SFIND
+ - NCURSES_KEY_SHELP
+ - NCURSES_KEY_SHOME
+ - NCURSES_KEY_SIC
+ - NCURSES_KEY_SLEFT
+ - NCURSES_KEY_SMESSAGE
+ - NCURSES_KEY_SMOVE
+ - NCURSES_KEY_SNEXT
+ - NCURSES_KEY_SOPTIONS
+ - NCURSES_KEY_SPREVIOUS
+ - NCURSES_KEY_SPRINT
+ - NCURSES_KEY_SR
+ - NCURSES_KEY_SREDO
+ - NCURSES_KEY_SREPLACE
+ - NCURSES_KEY_SRESET
+ - NCURSES_KEY_SRIGHT
+ - NCURSES_KEY_SRSUME
+ - NCURSES_KEY_SSAVE
+ - NCURSES_KEY_SSUSPEND
+ - NCURSES_KEY_STAB
+ - NCURSES_KEY_SUNDO
+ - NCURSES_KEY_SUSPEND
+ - NCURSES_KEY_UNDO
+ - NCURSES_KEY_UP
+ - NCURSES_REPORT_MOUSE_POSITION
+ - NIL
+ - NOEXPR
+ - NULL
+ - OCI_ASSOC
+ - OCI_BOTH
+ - OCI_B_BFILE
+ - OCI_B_BIN
+ - OCI_B_BLOB
+ - OCI_B_CFILEE
+ - OCI_B_CLOB
+ - OCI_B_CURSOR
+ - OCI_B_INT
+ - OCI_B_NTY
+ - OCI_B_NUM
+ - OCI_B_ROWID
+ - OCI_COMMIT_ON_SUCCESS
+ - OCI_CRED_EXT
+ - OCI_DEFAULT
+ - OCI_DESCRIBE_ONLY
+ - OCI_DTYPE_FILE
+ - OCI_DTYPE_LOB
+ - OCI_DTYPE_ROWID
+ - OCI_FETCHSTATEMENT_BY_COLUMN
+ - OCI_FETCHSTATEMENT_BY_ROW
+ - OCI_LOB_BUFFER_FREE
+ - OCI_NO_AUTO_COMMIT
+ - OCI_NUM
+ - OCI_RETURN_LOBS
+ - OCI_RETURN_NULLS
+ - OCI_SEEK_CUR
+ - OCI_SEEK_END
+ - OCI_SEEK_SET
+ - OCI_SYSDBA
+ - OCI_SYSOPER
+ - OCI_TEMP_BLOB
+ - OCI_TEMP_CLOB
+ - ODBC_BINMODE_CONVERT
+ - ODBC_BINMODE_PASSTHRU
+ - ODBC_BINMODE_RETURN
+ - ODBC_TYPE
+ - OPENSSL_ALGO_MD2
+ - OPENSSL_ALGO_MD4
+ - OPENSSL_ALGO_MD5
+ - OPENSSL_ALGO_SHA1
+ - OPENSSL_CIPHER_3DES
+ - OPENSSL_CIPHER_DES
+ - OPENSSL_CIPHER_RC2_128
+ - OPENSSL_CIPHER_RC2_40
+ - OPENSSL_CIPHER_RC2_64
+ - OPENSSL_KEYTYPE_DH
+ - OPENSSL_KEYTYPE_DSA
+ - OPENSSL_KEYTYPE_RSA
+ - OPENSSL_NO_PADDING
+ - OPENSSL_PKCS1_OAEP_PADDING
+ - OPENSSL_PKCS1_PADDING
+ - OPENSSL_SSLV23_PADDING
+ - OP_ANONYMOUS
+ - OP_DEBUG
+ - OP_EXPUNGE
+ - OP_HALFOPEN
+ - OP_PROTOTYPE
+ - OP_READONLY
+ - OP_SECURE
+ - OP_SHORTCACHE
+ - OP_SILENT
+ - O_APPEND
+ - O_ASYNC
+ - O_CREAT
+ - O_EXCL
+ - O_NDELAY
+ - O_NOCTTY
+ - O_NONBLOCK
+ - O_RDONLY
+ - O_RDWR
+ - O_SYNC
+ - O_TRUNC
+ - O_WRONLY
+ - PATHINFO_BASENAME
+ - PATHINFO_DIRNAME
+ - PATHINFO_EXTENSION
+ - PATHINFO_FILENAME
+ - PATH_SEPARATOR
+ - PEAR_EXTENSION_DIR
+ - PEAR_INSTALL_DIR
+ - PGSQL_ASSOC
+ - PGSQL_BAD_RESPONSE
+ - PGSQL_BOTH
+ - PGSQL_COMMAND_OK
+ - PGSQL_CONNECTION_BAD
+ - PGSQL_CONNECTION_OK
+ - PGSQL_CONNECT_FORCE_NEW
+ - PGSQL_CONV_FORCE_NULL
+ - PGSQL_CONV_IGNORE_DEFAULT
+ - PGSQL_CONV_IGNORE_NOT_NULL
+ - PGSQL_COPY_IN
+ - PGSQL_COPY_OUT
+ - PGSQL_DML_ASYNC
+ - PGSQL_DML_EXEC
+ - PGSQL_DML_NO_CONV
+ - PGSQL_DML_STRING
+ - PGSQL_EMPTY_QUERY
+ - PGSQL_FATAL_ERROR
+ - PGSQL_NONFATAL_ERROR
+ - PGSQL_NUM
+ - PGSQL_SEEK_CUR
+ - PGSQL_SEEK_END
+ - PGSQL_SEEK_SET
+ - PGSQL_STATUS_LONG
+ - PGSQL_STATUS_STRING
+ - PGSQL_TUPLES_OK
+ - PHP_BINARY_READ
+ - PHP_BINDIR
+ - PHP_CONFIG_FILE_PATH
+ - PHP_CONFIG_FILE_SCAN_DIR
+ - PHP_DATADIR
+ - PHP_EOL
+ - PHP_EXTENSION_DIR
+ - PHP_LIBDIR
+ - PHP_LOCALSTATEDIR
+ - PHP_NORMAL_READ
+ - PHP_OS
+ - PHP_OUTPUT_HANDLER_CONT
+ - PHP_OUTPUT_HANDLER_END
+ - PHP_OUTPUT_HANDLER_START
+ - PHP_PREFIX
+ - PHP_SAPI
+ - PHP_SHLIB_SUFFIX
+ - PHP_SYSCONFDIR
+ - PHP_URL_FRAGMENT
+ - PHP_URL_HOST
+ - PHP_URL_PASS
+ - PHP_URL_PATH
+ - PHP_URL_PORT
+ - PHP_URL_QUERY
+ - PHP_URL_SCHEME
+ - PHP_URL_USER
+ - PHP_VERSION
+ - PKCS7_BINARY
+ - PKCS7_DETACHED
+ - PKCS7_NOATTR
+ - PKCS7_NOCERTS
+ - PKCS7_NOCHAIN
+ - PKCS7_NOINTERN
+ - PKCS7_NOSIGS
+ - PKCS7_NOVERIFY
+ - PKCS7_TEXT
+ - PM_STR
+ - PREG_GREP_INVERT
+ - PREG_OFFSET_CAPTURE
+ - PREG_PATTERN_ORDER
+ - PREG_SET_ORDER
+ - PREG_SPLIT_DELIM_CAPTURE
+ - PREG_SPLIT_NO_EMPTY
+ - PREG_SPLIT_OFFSET_CAPTURE
+ - PRIO_PGRP
+ - PRIO_PROCESS
+ - PRIO_USER
+ - PSFS_ERR_FATAL
+ - PSFS_FEED_ME
+ - PSFS_FLAG_FLUSH_CLOSE
+ - PSFS_FLAG_FLUSH_INC
+ - PSFS_FLAG_NORMAL
+ - PSFS_PASS_ON
+ - P_PRIVATE
+ - P_PROTECTED
+ - P_PUBLIC
+ - P_STATIC
+ - RADIXCHAR
+ - RIT_CHILD_FIRST
+ - RIT_LEAVES_ONLY
+ - RIT_SELF_FIRST
+ - SA_ALL
+ - SA_MESSAGES
+ - SA_RECENT
+ - SA_UIDNEXT
+ - SA_UIDVALIDITY
+ - SA_UNSEEN
+ - SEEK_CUR
+ - SEEK_END
+ - SEEK_SET
+ - SE_FREE
+ - SE_NOPREFETCH
+ - SE_UID
+ - SIGABRT
+ - SIGALRM
+ - SIGBABY
+ - SIGBUS
+ - SIGCHLD
+ - SIGCLD
+ - SIGCONT
+ - SIGFPE
+ - SIGHUP
+ - SIGILL
+ - SIGINT
+ - SIGIO
+ - SIGIOT
+ - SIGKILL
+ - SIGPIPE
+ - SIGPOLL
+ - SIGPROF
+ - SIGPWR
+ - SIGQUIT
+ - SIGSEGV
+ - SIGSTKFLT
+ - SIGSTOP
+ - SIGSYS
+ - SIGTERM
+ - SIGTRAP
+ - SIGTSTP
+ - SIGTTIN
+ - SIGTTOU
+ - SIGURG
+ - SIGUSR1
+ - SIGUSR2
+ - SIGVTALRM
+ - SIGWINCH
+ - SIGXCPU
+ - SIGXFSZ
+ - SIG_DFL
+ - SIG_ERR
+ - SIG_IGN
+ - SNMP_BIT_STR
+ - SNMP_COUNTER
+ - SNMP_COUNTER64
+ - SNMP_INTEGER
+ - SNMP_IPADDRESS
+ - SNMP_NULL
+ - SNMP_OBJECT_ID
+ - SNMP_OCTET_STR
+ - SNMP_OPAQUE
+ - SNMP_TIMETICKS
+ - SNMP_UINTEGER
+ - SNMP_UNSIGNED
+ - SNMP_VALUE_LIBRARY
+ - SNMP_VALUE_OBJECT
+ - SNMP_VALUE_PLAIN
+ - SOAP_1_1
+ - SOAP_1_2
+ - SOAP_ACTOR_NEXT
+ - SOAP_ACTOR_NONE
+ - SOAP_ACTOR_UNLIMATERECEIVER
+ - SOAP_COMPRESSION_ACCEPT
+ - SOAP_COMPRESSION_DEFLATE
+ - SOAP_COMPRESSION_GZIP
+ - SOAP_DOCUMENT
+ - SOAP_ENCODED
+ - SOAP_ENC_ARRAY
+ - SOAP_ENC_OBJECT
+ - SOAP_FUNCTIONS_ALL
+ - SOAP_LITERAL
+ - SOAP_PERSISTENCE_REQUEST
+ - SOAP_PERSISTENCE_SESSION
+ - SOAP_RPC
+ - SOCKET_E2BIG
+ - SOCKET_EACCES
+ - SOCKET_EADDRINUSE
+ - SOCKET_EADDRNOTAVAIL
+ - SOCKET_EADV
+ - SOCKET_EAFNOSUPPORT
+ - SOCKET_EAGAIN
+ - SOCKET_EALREADY
+ - SOCKET_EBADE
+ - SOCKET_EBADF
+ - SOCKET_EBADFD
+ - SOCKET_EBADMSG
+ - SOCKET_EBADR
+ - SOCKET_EBADRQC
+ - SOCKET_EBADSLT
+ - SOCKET_EBUSY
+ - SOCKET_ECHRNG
+ - SOCKET_ECOMM
+ - SOCKET_ECONNABORTED
+ - SOCKET_ECONNREFUSED
+ - SOCKET_ECONNRESET
+ - SOCKET_EDESTADDRREQ
+ - SOCKET_EDQUOT
+ - SOCKET_EEXIST
+ - SOCKET_EFAULT
+ - SOCKET_EHOSTDOWN
+ - SOCKET_EHOSTUNREACH
+ - SOCKET_EIDRM
+ - SOCKET_EINPROGRESS
+ - SOCKET_EINTR
+ - SOCKET_EINVAL
+ - SOCKET_EIO
+ - SOCKET_EISCONN
+ - SOCKET_EISDIR
+ - SOCKET_EISNAM
+ - SOCKET_EL2HLT
+ - SOCKET_EL2NSYNC
+ - SOCKET_EL3HLT
+ - SOCKET_EL3RST
+ - SOCKET_ELNRNG
+ - SOCKET_ELOOP
+ - SOCKET_EMEDIUMTYPE
+ - SOCKET_EMFILE
+ - SOCKET_EMLINK
+ - SOCKET_EMSGSIZE
+ - SOCKET_EMULTIHOP
+ - SOCKET_ENAMETOOLONG
+ - SOCKET_ENETDOWN
+ - SOCKET_ENETRESET
+ - SOCKET_ENETUNREACH
+ - SOCKET_ENFILE
+ - SOCKET_ENOANO
+ - SOCKET_ENOBUFS
+ - SOCKET_ENOCSI
+ - SOCKET_ENODATA
+ - SOCKET_ENODEV
+ - SOCKET_ENOENT
+ - SOCKET_ENOLCK
+ - SOCKET_ENOLINK
+ - SOCKET_ENOMEDIUM
+ - SOCKET_ENOMEM
+ - SOCKET_ENOMSG
+ - SOCKET_ENONET
+ - SOCKET_ENOPROTOOPT
+ - SOCKET_ENOSPC
+ - SOCKET_ENOSR
+ - SOCKET_ENOSTR
+ - SOCKET_ENOSYS
+ - SOCKET_ENOTBLK
+ - SOCKET_ENOTCONN
+ - SOCKET_ENOTDIR
+ - SOCKET_ENOTEMPTY
+ - SOCKET_ENOTSOCK
+ - SOCKET_ENOTTY
+ - SOCKET_ENOTUNIQ
+ - SOCKET_ENXIO
+ - SOCKET_EOPNOTSUPP
+ - SOCKET_EPERM
+ - SOCKET_EPFNOSUPPORT
+ - SOCKET_EPIPE
+ - SOCKET_EPROTO
+ - SOCKET_EPROTONOSUPPORT
+ - SOCKET_EPROTOTYPE
+ - SOCKET_EREMCHG
+ - SOCKET_EREMOTE
+ - SOCKET_EREMOTEIO
+ - SOCKET_ERESTART
+ - SOCKET_EROFS
+ - SOCKET_ESHUTDOWN
+ - SOCKET_ESOCKTNOSUPPORT
+ - SOCKET_ESPIPE
+ - SOCKET_ESRMNT
+ - SOCKET_ESTRPIPE
+ - SOCKET_ETIME
+ - SOCKET_ETIMEDOUT
+ - SOCKET_ETOOMANYREFS
+ - SOCKET_EUNATCH
+ - SOCKET_EUSERS
+ - SOCKET_EWOULDBLOCK
+ - SOCKET_EXDEV
+ - SOCKET_EXFULL
+ - SOCK_DGRAM
+ - SOCK_RAW
+ - SOCK_RDM
+ - SOCK_SEQPACKET
+ - SOCK_STREAM
+ - SOL_SOCKET
+ - SOL_TCP
+ - SOL_UDP
+ - SOMAXCONN
+ - SORTARRIVAL
+ - SORTCC
+ - SORTDATE
+ - SORTFROM
+ - SORTSIZE
+ - SORTSUBJECT
+ - SORTTO
+ - SORT_ASC
+ - SORT_DESC
+ - SORT_FLAG_CASE
+ - SORT_LOCALE_STRING
+ - SORT_NATURAL
+ - SORT_NUMERIC
+ - SORT_REGULAR
+ - SORT_STRING
+ - SO_BROADCAST
+ - SO_DEBUG
+ - SO_DONTROUTE
+ - SO_ERROR
+ - SO_FREE
+ - SO_KEEPALIVE
+ - SO_LINGER
+ - SO_NOSERVER
+ - SO_OOBINLINE
+ - SO_RCVBUF
+ - SO_RCVLOWAT
+ - SO_RCVTIMEO
+ - SO_REUSEADDR
+ - SO_SNDBUF
+ - SO_SNDLOWAT
+ - SO_SNDTIMEO
+ - SO_TYPE
+ - SQLITE3_ASSOC
+ - SQLITE3_BLOB
+ - SQLITE3_BOTH
+ - SQLITE3_FLOAT
+ - SQLITE3_INTEGER
+ - SQLITE3_NULL
+ - SQLITE3_NUM
+ - SQLITE3_OPEN_CREATE
+ - SQLITE3_OPEN_READONLY
+ - SQLITE3_OPEN_READWRITE
+ - SQLITE3_TEXT
+ - SQLITE_ABORT
+ - SQLITE_ASSOC
+ - SQLITE_AUTH
+ - SQLITE_BOTH
+ - SQLITE_BUSY
+ - SQLITE_CANTOPEN
+ - SQLITE_CONSTRAINT
+ - SQLITE_CORRUPT
+ - SQLITE_DONE
+ - SQLITE_EMPTY
+ - SQLITE_ERROR
+ - SQLITE_FORMAT
+ - SQLITE_FULL
+ - SQLITE_INTERNAL
+ - SQLITE_INTERRUPT
+ - SQLITE_IOERR
+ - SQLITE_LOCKED
+ - SQLITE_MISMATCH
+ - SQLITE_MISUSE
+ - SQLITE_NOLFS
+ - SQLITE_NOMEM
+ - SQLITE_NOTFOUND
+ - SQLITE_NUM
+ - SQLITE_OK
+ - SQLITE_PERM
+ - SQLITE_PROTOCOL
+ - SQLITE_READONLY
+ - SQLITE_ROW
+ - SQLITE_SCHEMA
+ - SQLITE_TOOBIG
+ - SQLT_AFC
+ - SQLT_AVC
+ - SQLT_BDOUBLE
+ - SQLT_BFILEE
+ - SQLT_BFLOAT
+ - SQLT_BIN
+ - SQLT_BLOB
+ - SQLT_CFILEE
+ - SQLT_CHR
+ - SQLT_CLOB
+ - SQLT_FLT
+ - SQLT_INT
+ - SQLT_LBI
+ - SQLT_LNG
+ - SQLT_LVC
+ - SQLT_NTY
+ - SQLT_NUM
+ - SQLT_ODT
+ - SQLT_RDD
+ - SQLT_RSET
+ - SQLT_STR
+ - SQLT_UIN
+ - SQLT_VCS
+ - SQL_BIGINT
+ - SQL_BINARY
+ - SQL_BIT
+ - SQL_CHAR
+ - SQL_CONCURRENCY
+ - SQL_CONCUR_LOCK
+ - SQL_CONCUR_READ_ONLY
+ - SQL_CONCUR_ROWVER
+ - SQL_CONCUR_VALUES
+ - SQL_CURSOR_DYNAMIC
+ - SQL_CURSOR_FORWARD_ONLY
+ - SQL_CURSOR_KEYSET_DRIVEN
+ - SQL_CURSOR_STATIC
+ - SQL_CURSOR_TYPE
+ - SQL_CUR_USE_DRIVER
+ - SQL_CUR_USE_IF_NEEDED
+ - SQL_CUR_USE_ODBC
+ - SQL_DATE
+ - SQL_DECIMAL
+ - SQL_DOUBLE
+ - SQL_FETCH_FIRST
+ - SQL_FETCH_NEXT
+ - SQL_FLOAT
+ - SQL_INTEGER
+ - SQL_KEYSET_SIZE
+ - SQL_LONGVARBINARY
+ - SQL_LONGVARCHAR
+ - SQL_NUMERIC
+ - SQL_ODBC_CURSORS
+ - SQL_REAL
+ - SQL_SMALLINT
+ - SQL_TIME
+ - SQL_TIMESTAMP
+ - SQL_TINYINT
+ - SQL_VARBINARY
+ - SQL_VARCHAR
+ - STDERR
+ - STDIN
+ - STDOUT
+ - STREAM_CLIENT_ASYNC_CONNECT
+ - STREAM_CLIENT_CONNECT
+ - STREAM_CLIENT_PERSISTENT
+ - STREAM_ENFORCE_SAFE_MODE
+ - STREAM_FILTER_ALL
+ - STREAM_FILTER_READ
+ - STREAM_FILTER_WRITE
+ - STREAM_IGNORE_URL
+ - STREAM_MKDIR_RECURSIVE
+ - STREAM_MUST_SEEK
+ - STREAM_NOTIFY_AUTH_REQUIRED
+ - STREAM_NOTIFY_AUTH_RESULT
+ - STREAM_NOTIFY_COMPLETED
+ - STREAM_NOTIFY_CONNECT
+ - STREAM_NOTIFY_FAILURE
+ - STREAM_NOTIFY_FILE_SIZE_IS
+ - STREAM_NOTIFY_MIME_TYPE_IS
+ - STREAM_NOTIFY_PROGRESS
+ - STREAM_NOTIFY_REDIRECTED
+ - STREAM_NOTIFY_RESOLVE
+ - STREAM_NOTIFY_SEVERITY_ERR
+ - STREAM_NOTIFY_SEVERITY_INFO
+ - STREAM_NOTIFY_SEVERITY_WARN
+ - STREAM_OOB
+ - STREAM_PEEK
+ - STREAM_REPORT_ERRORS
+ - STREAM_SERVER_BIND
+ - STREAM_SERVER_LISTEN
+ - STREAM_URL_STAT_LINK
+ - STREAM_URL_STAT_QUIET
+ - STREAM_USE_PATH
+ - STR_PAD_BOTH
+ - STR_PAD_LEFT
+ - STR_PAD_RIGHT
+ - ST_SET
+ - ST_SILENT
+ - ST_UID
+ - SUNFUNCS_RET_DOUBLE
+ - SUNFUNCS_RET_STRING
+ - SUNFUNCS_RET_TIMESTAMP
+ - S_IRGRP
+ - S_IROTH
+ - S_IRUSR
+ - S_IRWXG
+ - S_IRWXO
+ - S_IRWXU
+ - S_IWGRP
+ - S_IWOTH
+ - S_IWUSR
+ - S_IXGRP
+ - S_IXOTH
+ - S_IXUSR
+ - THOUSEP
+ - TRUE
+ - TYPEAPPLICATION
+ - TYPEAUDIO
+ - TYPEIMAGE
+ - TYPEMESSAGE
+ - TYPEMODEL
+ - TYPEMULTIPART
+ - TYPEOTHER
+ - TYPETEXT
+ - TYPEVIDEO
+ - T_ABSTRACT
+ - T_AND_EQUAL
+ - T_ARRAY
+ - T_ARRAY_CAST
+ - T_AS
+ - T_BAD_CHARACTER
+ - T_BOOLEAN_AND
+ - T_BOOLEAN_OR
+ - T_BOOL_CAST
+ - T_BREAK
+ - T_CASE
+ - T_CATCH
+ - T_CHARACTER
+ - T_CLASS
+ - T_CLASS_C
+ - T_CLONE
+ - T_CLOSE_TAG
+ - T_COMMENT
+ - T_CONCAT_EQUAL
+ - T_CONST
+ - T_CONSTANT_ENCAPSED_STRING
+ - T_CONTINUE
+ - T_CURLY_OPEN
+ - T_DEC
+ - T_DECLARE
+ - T_DEFAULT
+ - T_DIV_EQUAL
+ - T_DNUMBER
+ - T_DO
+ - T_DOC_COMMENT
+ - T_DOLLAR_OPEN_CURLY_BRACES
+ - T_DOUBLE_ARROW
+ - T_DOUBLE_CAST
+ - T_DOUBLE_COLON
+ - T_ECHO
+ - T_ELSE
+ - T_ELSEIF
+ - T_EMPTY
+ - T_ENCAPSED_AND_WHITESPACE
+ - T_ENDDECLARE
+ - T_ENDFOR
+ - T_ENDFOREACH
+ - T_ENDIF
+ - T_ENDSWITCH
+ - T_ENDWHILE
+ - T_END_HEREDOC
+ - T_EVAL
+ - T_EXIT
+ - T_EXTENDS
+ - T_FILE
+ - T_FINAL
+ - T_FMT
+ - T_FMT_AMPM
+ - T_FOR
+ - T_FOREACH
+ - T_FUNCTION
+ - T_FUNC_C
+ - T_GLOBAL
+ - T_IF
+ - T_IMPLEMENTS
+ - T_INC
+ - T_INCLUDE
+ - T_INCLUDE_ONCE
+ - T_INLINE_HTML
+ - T_INSTANCEOF
+ - T_INTERFACE
+ - T_INT_CAST
+ - T_ISSET
+ - T_IS_EQUAL
+ - T_IS_GREATER_OR_EQUAL
+ - T_IS_IDENTICAL
+ - T_IS_NOT_EQUAL
+ - T_IS_NOT_IDENTICAL
+ - T_IS_SMALLER_OR_EQUAL
+ - T_LINE
+ - T_LIST
+ - T_LNUMBER
+ - T_LOGICAL_AND
+ - T_LOGICAL_OR
+ - T_LOGICAL_XOR
+ - T_METHOD_C
+ - T_MINUS_EQUAL
+ - T_MOD_EQUAL
+ - T_MUL_EQUAL
+ - T_NEW
+ - T_NUM_STRING
+ - T_OBJECT_CAST
+ - T_OBJECT_OPERATOR
+ - T_OPEN_TAG
+ - T_OPEN_TAG_WITH_ECHO
+ - T_OR_EQUAL
+ - T_PAAMAYIM_NEKUDOTAYIM
+ - T_PLUS_EQUAL
+ - T_PRINT
+ - T_PRIVATE
+ - T_PROTECTED
+ - T_PUBLIC
+ - T_REQUIRE
+ - T_REQUIRE_ONCE
+ - T_RETURN
+ - T_SL
+ - T_SL_EQUAL
+ - T_SR
+ - T_SR_EQUAL
+ - T_START_HEREDOC
+ - T_STATIC
+ - T_STRING
+ - T_STRING_CAST
+ - T_STRING_VARNAME
+ - T_SWITCH
+ - T_THROW
+ - T_TRY
+ - T_UNSET
+ - T_UNSET_CAST
+ - T_USE
+ - T_VAR
+ - T_VARIABLE
+ - T_WHILE
+ - T_WHITESPACE
+ - T_XOR_EQUAL
+ - UNKNOWN_TYPE
+ - UPLOAD_ERR_CANT_WRITE
+ - UPLOAD_ERR_FORM_SIZE
+ - UPLOAD_ERR_INI_SIZE
+ - UPLOAD_ERR_NO_FILE
+ - UPLOAD_ERR_NO_TMP_DIR
+ - UPLOAD_ERR_OK
+ - UPLOAD_ERR_PARTIAL
+ - WNOHANG
+ - WUNTRACED
+ - X509_PURPOSE_ANY
+ - X509_PURPOSE_CRL_SIGN
+ - X509_PURPOSE_NS_SSL_SERVER
+ - X509_PURPOSE_SMIME_ENCRYPT
+ - X509_PURPOSE_SMIME_SIGN
+ - X509_PURPOSE_SSL_CLIENT
+ - X509_PURPOSE_SSL_SERVER
+ - XML_ATTRIBUTE_CDATA
+ - XML_ATTRIBUTE_DECL_NODE
+ - XML_ATTRIBUTE_ENTITY
+ - XML_ATTRIBUTE_ENUMERATION
+ - XML_ATTRIBUTE_ID
+ - XML_ATTRIBUTE_IDREF
+ - XML_ATTRIBUTE_IDREFS
+ - XML_ATTRIBUTE_NMTOKEN
+ - XML_ATTRIBUTE_NMTOKENS
+ - XML_ATTRIBUTE_NODE
+ - XML_ATTRIBUTE_NOTATION
+ - XML_CDATA_SECTION_NODE
+ - XML_COMMENT_NODE
+ - XML_DOCUMENT_FRAG_NODE
+ - XML_DOCUMENT_NODE
+ - XML_DOCUMENT_TYPE_NODE
+ - XML_DTD_NODE
+ - XML_ELEMENT_DECL_NODE
+ - XML_ELEMENT_NODE
+ - XML_ENTITY_DECL_NODE
+ - XML_ENTITY_NODE
+ - XML_ENTITY_REF_NODE
+ - XML_ERROR_ASYNC_ENTITY
+ - XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
+ - XML_ERROR_BAD_CHAR_REF
+ - XML_ERROR_BINARY_ENTITY_REF
+ - XML_ERROR_DUPLICATE_ATTRIBUTE
+ - XML_ERROR_EXTERNAL_ENTITY_HANDLING
+ - XML_ERROR_INCORRECT_ENCODING
+ - XML_ERROR_INVALID_TOKEN
+ - XML_ERROR_JUNK_AFTER_DOC_ELEMENT
+ - XML_ERROR_MISPLACED_XML_PI
+ - XML_ERROR_NONE
+ - XML_ERROR_NO_ELEMENTS
+ - XML_ERROR_NO_MEMORY
+ - XML_ERROR_PARAM_ENTITY_REF
+ - XML_ERROR_PARTIAL_CHAR
+ - XML_ERROR_RECURSIVE_ENTITY_REF
+ - XML_ERROR_SYNTAX
+ - XML_ERROR_TAG_MISMATCH
+ - XML_ERROR_UNCLOSED_CDATA_SECTION
+ - XML_ERROR_UNCLOSED_TOKEN
+ - XML_ERROR_UNDEFINED_ENTITY
+ - XML_ERROR_UNKNOWN_ENCODING
+ - XML_HTML_DOCUMENT_NODE
+ - XML_LOCAL_NAMESPACE
+ - XML_NAMESPACE_DECL_NODE
+ - XML_NOTATION_NODE
+ - XML_OPTION_CASE_FOLDING
+ - XML_OPTION_SKIP_TAGSTART
+ - XML_OPTION_SKIP_WHITE
+ - XML_OPTION_TARGET_ENCODING
+ - XML_PI_NODE
+ - XML_SAX_IMPL
+ - XML_TEXT_NODE
+ - XSD_1999_NAMESPACE
+ - XSD_1999_TIMEINSTANT
+ - XSD_ANYTYPE
+ - XSD_ANYURI
+ - XSD_BASE64BINARY
+ - XSD_BOOLEAN
+ - XSD_BYTE
+ - XSD_DATE
+ - XSD_DATETIME
+ - XSD_DECIMAL
+ - XSD_DOUBLE
+ - XSD_DURATION
+ - XSD_ENTITIES
+ - XSD_ENTITY
+ - XSD_FLOAT
+ - XSD_GDAY
+ - XSD_GMONTH
+ - XSD_GMONTHDAY
+ - XSD_GYEAR
+ - XSD_GYEARMONTH
+ - XSD_HEXBINARY
+ - XSD_ID
+ - XSD_IDREF
+ - XSD_IDREFS
+ - XSD_INT
+ - XSD_INTEGER
+ - XSD_LANGUAGE
+ - XSD_LONG
+ - XSD_NAME
+ - XSD_NAMESPACE
+ - XSD_NCNAME
+ - XSD_NEGATIVEINTEGER
+ - XSD_NMTOKEN
+ - XSD_NMTOKENS
+ - XSD_NONNEGATIVEINTEGER
+ - XSD_NONPOSITIVEINTEGER
+ - XSD_NORMALIZEDSTRING
+ - XSD_NOTATION
+ - XSD_POSITIVEINTEGER
+ - XSD_QNAME
+ - XSD_SHORT
+ - XSD_STRING
+ - XSD_TIME
+ - XSD_TOKEN
+ - XSD_UNSIGNEDBYTE
+ - XSD_UNSIGNEDINT
+ - XSD_UNSIGNEDLONG
+ - XSD_UNSIGNEDSHORT
+ - XSL_CLONE_ALWAYS
+ - XSL_CLONE_AUTO
+ - XSL_CLONE_NEVER
+ - YESEXPR
+ - YPERR_BADARGS
+ - YPERR_BADDB
+ - YPERR_BUSY
+ - YPERR_DOMAIN
+ - YPERR_KEY
+ - YPERR_MAP
+ - YPERR_NODOM
+ - YPERR_NOMORE
+ - YPERR_PMAP
+ - YPERR_RESRC
+ - YPERR_RPC
+ - YPERR_VERS
+ - YPERR_YPBIND
+ - YPERR_YPERR
+ - YPERR_YPSERV
+ - ZEND_THREAD_SAFE
+ - false
+ - null
+ - true
+
+
+ - __autoload
+ - __call
+ - __clone
+ - __construct
+ - __destruct
+ - __get
+ - __halt_compiler
+ - __isset
+ - __set
+ - __set_state
+ - __sleep
+ - __toString
+ - __unset
+ - __wakeup
+
+
+ - _
+ - abs
+ - acos
+ - acosh
+ - addcslashes
+ - addslashes
+ - apache_get_modules
+ - apache_get_version
+ - apache_getenv
+ - apache_lookup_uri
+ - apache_note
+ - apache_request_headers
+ - apache_response_headers
+ - apache_setenv
+ - array
+ - array_change_key_case
+ - array_chunk
+ - array_combine
+ - array_count_values
+ - array_diff
+ - array_diff_assoc
+ - array_diff_key
+ - array_diff_uassoc
+ - array_diff_ukey
+ - array_fill
+ - array_fill_keys
+ - array_filter
+ - array_flip
+ - array_intersect
+ - array_intersect_assoc
+ - array_intersect_key
+ - array_intersect_uassoc
+ - array_intersect_ukey
+ - array_key_exists
+ - array_keys
+ - array_map
+ - array_merge
+ - array_merge_recursive
+ - array_multisort
+ - array_pad
+ - array_pop
+ - array_product
+ - array_push
+ - array_rand
+ - array_reduce
+ - array_replace
+ - array_replace_recursive
+ - array_reverse
+ - array_search
+ - array_shift
+ - array_slice
+ - array_splice
+ - array_sum
+ - array_udiff
+ - array_udiff_assoc
+ - array_udiff_uassoc
+ - array_uintersect
+ - array_uintersect_assoc
+ - array_uintersect_uassoc
+ - array_unique
+ - array_unshift
+ - array_values
+ - array_walk
+ - array_walk_recursive
+ - arsort
+ - ascii2ebcdic
+ - asin
+ - asinh
+ - asort
+ - aspell_check
+ - aspell_check_raw
+ - aspell_new
+ - aspell_suggest
+ - assert
+ - assert_options
+ - atan
+ - atan2
+ - atanh
+ - base64_decode
+ - base64_encode
+ - base_convert
+ - basename
+ - bcadd
+ - bccomp
+ - bcdiv
+ - bcmod
+ - bcmul
+ - bcpow
+ - bcpowmod
+ - bcscale
+ - bcsqrt
+ - bcsub
+ - bin2hex
+ - bind_textdomain_codeset
+ - bindec
+ - bindtextdomain
+ - bzclose
+ - bzcompress
+ - bzdecompress
+ - bzerrno
+ - bzerror
+ - bzerrstr
+ - bzflush
+ - bzopen
+ - bzread
+ - bzwrite
+ - cal_days_in_month
+ - cal_from_jd
+ - cal_info
+ - cal_to_jd
+ - call_user_func
+ - call_user_func_array
+ - ccvs_add
+ - ccvs_auth
+ - ccvs_command
+ - ccvs_count
+ - ccvs_delete
+ - ccvs_done
+ - ccvs_init
+ - ccvs_lookup
+ - ccvs_new
+ - ccvs_report
+ - ccvs_return
+ - ccvs_reverse
+ - ccvs_sale
+ - ccvs_status
+ - ccvs_textvalue
+ - ccvs_void
+ - ceil
+ - chdir
+ - checkdate
+ - checkdnsrr
+ - chgrp
+ - chmod
+ - chop
+ - chown
+ - chr
+ - chroot
+ - chunk_split
+ - class_exists
+ - class_implements
+ - class_parents
+ - clearstatcache
+ - closedir
+ - closelog
+ - com
+ - com_addref
+ - com_get
+ - com_invoke
+ - com_isenum
+ - com_load
+ - com_load_typelib
+ - com_propget
+ - com_propput
+ - com_propset
+ - com_release
+ - com_set
+ - compact
+ - connection_aborted
+ - connection_status
+ - connection_timeout
+ - constant
+ - convert_cyr_string
+ - convert_uudecode
+ - convert_uuencode
+ - copy
+ - cos
+ - cosh
+ - count
+ - count_chars
+ - cpdf_add_annotation
+ - cpdf_add_outline
+ - cpdf_arc
+ - cpdf_begin_text
+ - cpdf_circle
+ - cpdf_clip
+ - cpdf_close
+ - cpdf_closepath
+ - cpdf_closepath_fill_stroke
+ - cpdf_closepath_stroke
+ - cpdf_continue_text
+ - cpdf_curveto
+ - cpdf_end_text
+ - cpdf_fill
+ - cpdf_fill_stroke
+ - cpdf_finalize
+ - cpdf_finalize_page
+ - cpdf_global_set_document_limits
+ - cpdf_import_jpeg
+ - cpdf_lineto
+ - cpdf_moveto
+ - cpdf_newpath
+ - cpdf_open
+ - cpdf_output_buffer
+ - cpdf_page_init
+ - cpdf_place_inline_image
+ - cpdf_rect
+ - cpdf_restore
+ - cpdf_rlineto
+ - cpdf_rmoveto
+ - cpdf_rotate
+ - cpdf_rotate_text
+ - cpdf_save
+ - cpdf_save_to_file
+ - cpdf_scale
+ - cpdf_set_action_url
+ - cpdf_set_char_spacing
+ - cpdf_set_creator
+ - cpdf_set_current_page
+ - cpdf_set_font
+ - cpdf_set_font_directories
+ - cpdf_set_font_map_file
+ - cpdf_set_horiz_scaling
+ - cpdf_set_keywords
+ - cpdf_set_leading
+ - cpdf_set_page_animation
+ - cpdf_set_subject
+ - cpdf_set_text_matrix
+ - cpdf_set_text_pos
+ - cpdf_set_text_rendering
+ - cpdf_set_text_rise
+ - cpdf_set_title
+ - cpdf_set_viewer_preferences
+ - cpdf_set_word_spacing
+ - cpdf_setdash
+ - cpdf_setflat
+ - cpdf_setgray
+ - cpdf_setgray_fill
+ - cpdf_setgray_stroke
+ - cpdf_setlinecap
+ - cpdf_setlinejoin
+ - cpdf_setlinewidth
+ - cpdf_setmiterlimit
+ - cpdf_setrgbcolor
+ - cpdf_setrgbcolor_fill
+ - cpdf_setrgbcolor_stroke
+ - cpdf_show
+ - cpdf_show_xy
+ - cpdf_stringwidth
+ - cpdf_stroke
+ - cpdf_text
+ - cpdf_translate
+ - crack_check
+ - crack_closedict
+ - crack_getlastmessage
+ - crack_opendict
+ - crc32
+ - create_function
+ - crypt
+ - ctype_alnum
+ - ctype_alpha
+ - ctype_cntrl
+ - ctype_digit
+ - ctype_graph
+ - ctype_lower
+ - ctype_print
+ - ctype_punct
+ - ctype_space
+ - ctype_upper
+ - ctype_xdigit
+ - curl_close
+ - curl_copy_handle
+ - curl_errno
+ - curl_error
+ - curl_exec
+ - curl_getinfo
+ - curl_init
+ - curl_multi_add_handle
+ - curl_multi_close
+ - curl_multi_exec
+ - curl_multi_getcontent
+ - curl_multi_info_read
+ - curl_multi_init
+ - curl_multi_remove_handle
+ - curl_multi_select
+ - curl_setopt
+ - curl_setopt_array
+ - curl_version
+ - current
+ - cybercash_base64_decode
+ - cybercash_base64_encode
+ - cybercash_decr
+ - cybercash_encr
+ - cybermut_creerformulairecm
+ - cybermut_creerreponsecm
+ - cybermut_testmac
+ - cyrus_authenticate
+ - cyrus_bind
+ - cyrus_close
+ - cyrus_connect
+ - cyrus_query
+ - cyrus_unbind
+ - date
+ - date_add
+ - date_create
+ - date_create_from_format
+ - date_date_set
+ - date_default_timezone_get
+ - date_default_timezone_set
+ - date_diff
+ - date_format
+ - date_get_last_errors
+ - date_interval_create_from_date_string
+ - date_interval_format
+ - date_isodate_set
+ - date_modify
+ - date_offset_get
+ - date_parse
+ - date_parse_from_format
+ - date_sub
+ - date_sun_info
+ - date_sunrise
+ - date_sunset
+ - date_time_ set
+ - date_timestamp_get
+ - date_timestamp_set
+ - date_timezone_get
+ - date_timezone_set
+ - dba_close
+ - dba_delete
+ - dba_exists
+ - dba_fetch
+ - dba_firstkey
+ - dba_handlers
+ - dba_insert
+ - dba_key_split
+ - dba_list
+ - dba_nextkey
+ - dba_open
+ - dba_optimize
+ - dba_popen
+ - dba_replace
+ - dba_sync
+ - dbase_add_record
+ - dbase_close
+ - dbase_create
+ - dbase_delete_record
+ - dbase_get_header_info
+ - dbase_get_record
+ - dbase_get_record_with_names
+ - dbase_numfields
+ - dbase_numrecords
+ - dbase_open
+ - dbase_pack
+ - dbase_replace_record
+ - dblist
+ - dbmclose
+ - dbmdelete
+ - dbmexists
+ - dbmfetch
+ - dbmfirstkey
+ - dbminsert
+ - dbmnextkey
+ - dbmopen
+ - dbmreplace
+ - dbplus_add
+ - dbplus_aql
+ - dbplus_chdir
+ - dbplus_close
+ - dbplus_curr
+ - dbplus_errcode
+ - dbplus_errno
+ - dbplus_find
+ - dbplus_first
+ - dbplus_flush
+ - dbplus_freealllocks
+ - dbplus_freelock
+ - dbplus_freerlocks
+ - dbplus_getlock
+ - dbplus_getunique
+ - dbplus_info
+ - dbplus_last
+ - dbplus_lockrel
+ - dbplus_next
+ - dbplus_open
+ - dbplus_prev
+ - dbplus_rchperm
+ - dbplus_rcreate
+ - dbplus_rcrtexact
+ - dbplus_rcrtlike
+ - dbplus_resolve
+ - dbplus_restorepos
+ - dbplus_rkeys
+ - dbplus_ropen
+ - dbplus_rquery
+ - dbplus_rrename
+ - dbplus_rsecindex
+ - dbplus_runlink
+ - dbplus_rzap
+ - dbplus_savepos
+ - dbplus_setindex
+ - dbplus_setindexbynumber
+ - dbplus_sql
+ - dbplus_tcl
+ - dbplus_tremove
+ - dbplus_undo
+ - dbplus_undoprepare
+ - dbplus_unlockrel
+ - dbplus_unselect
+ - dbplus_update
+ - dbplus_xlockrel
+ - dbplus_xunlockrel
+ - dbx_close
+ - dbx_compare
+ - dbx_connect
+ - dbx_error
+ - dbx_escape_string
+ - dbx_fetch_row
+ - dbx_query
+ - dbx_sort
+ - dcgettext
+ - dcngettext
+ - debug_backtrace
+ - debug_print_backtrace
+ - debug_zval_dump
+ - decbin
+ - dechex
+ - decoct
+ - define
+ - define_syslog_variables
+ - defined
+ - deg2rad
+ - dgettext
+ - die
+ - dio_close
+ - dio_fcntl
+ - dio_open
+ - dio_read
+ - dio_seek
+ - dio_stat
+ - dio_tcsetattr
+ - dio_truncate
+ - dio_write
+ - dir
+ - dirname
+ - disk_free_space
+ - disk_total_space
+ - diskfreespace
+ - dl
+ - dngettext
+ - dns_check_record
+ - dns_get_mx
+ - dns_get_record
+ - dom_import_simplexml
+ - domxml_add_root
+ - domxml_attributes
+ - domxml_children
+ - domxml_dumpmem
+ - domxml_get_attribute
+ - domxml_new_child
+ - domxml_new_xmldoc
+ - domxml_node
+ - domxml_node_set_content
+ - domxml_node_unlink_node
+ - domxml_root
+ - domxml_set_attribute
+ - domxml_version
+ - doubleval
+ - each
+ - easter_date
+ - easter_days
+ - ebcdic2ascii
+ - echo
+ - empty
+ - end
+ - error_get_last
+ - error_log
+ - error_reporting
+ - escapeshellarg
+ - escapeshellcmd
+ - eval
+ - exec
+ - exif_imagetype
+ - exif_read_data
+ - exif_tagname
+ - exif_thumbnail
+ - exit
+ - exp
+ - explode
+ - expm1
+ - extension_loaded
+ - extract
+ - ezmlm_hash
+ - fam_cancel_monitor
+ - fam_close
+ - fam_monitor_collection
+ - fam_monitor_directory
+ - fam_monitor_file
+ - fam_next_event
+ - fam_open
+ - fam_pending
+ - fam_resume_monitor
+ - fam_suspend_monitor
+ - fbsql_affected_rows
+ - fbsql_autocommit
+ - fbsql_change_user
+ - fbsql_close
+ - fbsql_commit
+ - fbsql_connect
+ - fbsql_create_blob
+ - fbsql_create_clob
+ - fbsql_create_db
+ - fbsql_data_seek
+ - fbsql_database
+ - fbsql_database_password
+ - fbsql_db_query
+ - fbsql_db_status
+ - fbsql_drop_db
+ - fbsql_errno
+ - fbsql_error
+ - fbsql_fetch_array
+ - fbsql_fetch_assoc
+ - fbsql_fetch_field
+ - fbsql_fetch_lengths
+ - fbsql_fetch_object
+ - fbsql_fetch_row
+ - fbsql_field_flags
+ - fbsql_field_len
+ - fbsql_field_name
+ - fbsql_field_seek
+ - fbsql_field_table
+ - fbsql_field_type
+ - fbsql_free_result
+ - fbsql_get_autostart_info
+ - fbsql_hostname
+ - fbsql_insert_id
+ - fbsql_list_dbs
+ - fbsql_list_fields
+ - fbsql_list_tables
+ - fbsql_next_result
+ - fbsql_num_fields
+ - fbsql_num_rows
+ - fbsql_password
+ - fbsql_pconnect
+ - fbsql_query
+ - fbsql_read_blob
+ - fbsql_read_clob
+ - fbsql_result
+ - fbsql_rollback
+ - fbsql_select_db
+ - fbsql_set_lob_mode
+ - fbsql_set_transaction
+ - fbsql_start_db
+ - fbsql_stop_db
+ - fbsql_tablename
+ - fbsql_username
+ - fbsql_warnings
+ - fclose
+ - fdf_add_template
+ - fdf_close
+ - fdf_create
+ - fdf_get_file
+ - fdf_get_status
+ - fdf_get_value
+ - fdf_next_field_name
+ - fdf_open
+ - fdf_save
+ - fdf_set_ap
+ - fdf_set_encoding
+ - fdf_set_file
+ - fdf_set_flags
+ - fdf_set_javascript_action
+ - fdf_set_opt
+ - fdf_set_status
+ - fdf_set_submit_form_action
+ - fdf_set_value
+ - feof
+ - fflush
+ - fgetc
+ - fgetcsv
+ - fgets
+ - fgetss
+ - file
+ - file_exists
+ - file_get_contents
+ - file_put_contents
+ - fileatime
+ - filectime
+ - filegroup
+ - fileinode
+ - filemtime
+ - fileowner
+ - fileperms
+ - filepro
+ - filepro_fieldcount
+ - filepro_fieldname
+ - filepro_fieldtype
+ - filepro_fieldwidth
+ - filepro_retrieve
+ - filepro_rowcount
+ - filesize
+ - filetype
+ - filter_has_var
+ - filter_id
+ - filter_input
+ - filter_input_array
+ - filter_list
+ - filter_var
+ - filter_var_array
+ - floatval
+ - flock
+ - floor
+ - flush
+ - fmod
+ - fnmatch
+ - fopen
+ - forward_static_call
+ - forward_static_call_array
+ - fpassthru
+ - fprintf
+ - fputcsv
+ - fputs
+ - fread
+ - frenchtojd
+ - fribidi_log2vis
+ - fscanf
+ - fseek
+ - fsockopen
+ - fstat
+ - ftell
+ - ftok
+ - ftp_alloc
+ - ftp_cdup
+ - ftp_chdir
+ - ftp_chmod
+ - ftp_close
+ - ftp_connect
+ - ftp_delete
+ - ftp_exec
+ - ftp_fget
+ - ftp_fput
+ - ftp_get
+ - ftp_get_option
+ - ftp_login
+ - ftp_mdtm
+ - ftp_mkdir
+ - ftp_nb_continue
+ - ftp_nb_fget
+ - ftp_nb_fput
+ - ftp_nb_get
+ - ftp_nb_put
+ - ftp_nlist
+ - ftp_pasv
+ - ftp_put
+ - ftp_pwd
+ - ftp_quit
+ - ftp_raw
+ - ftp_rawlist
+ - ftp_rename
+ - ftp_rmdir
+ - ftp_set_option
+ - ftp_site
+ - ftp_size
+ - ftp_ssl_connect
+ - ftp_systype
+ - ftruncate
+ - func_get_arg
+ - func_get_args
+ - func_num_args
+ - function_exists
+ - fwrite
+ - gc_collect_cycles
+ - gc_disable
+ - gc_enable
+ - gc_enabled
+ - gd_info
+ - get_called_class
+ - get_browser
+ - get_cfg_var
+ - get_class
+ - get_class_methods
+ - get_class_vars
+ - get_current_user
+ - get_declared_classes
+ - get_declared_interfaces
+ - get_defined_constants
+ - get_defined_functions
+ - get_defined_vars
+ - get_extension_funcs
+ - get_headers
+ - get_html_translation_table
+ - get_include_path
+ - get_included_files
+ - get_loaded_extensions
+ - get_magic_quotes_gpc
+ - get_magic_quotes_runtime
+ - get_meta_tags
+ - get_object_vars
+ - get_parent_class
+ - get_required_files
+ - get_resource_type
+ - getallheaders
+ - getcwd
+ - getdate
+ - getenv
+ - gethostbyaddr
+ - gethostbyname
+ - gethostbynamel
+ - gethostname
+ - getimagesize
+ - getlastmod
+ - getmxrr
+ - getmygid
+ - getmyinode
+ - getmypid
+ - getmyuid
+ - getopt
+ - getprotobyname
+ - getprotobynumber
+ - getrandmax
+ - getrusage
+ - getservbyname
+ - getservbyport
+ - gettext
+ - gettimeofday
+ - gettype
+ - glob
+ - gmdate
+ - gmmktime
+ - gmp_abs
+ - gmp_add
+ - gmp_and
+ - gmp_clrbit
+ - gmp_cmp
+ - gmp_com
+ - gmp_div
+ - gmp_div_q
+ - gmp_div_qr
+ - gmp_div_r
+ - gmp_divexact
+ - gmp_fact
+ - gmp_gcd
+ - gmp_gcdext
+ - gmp_hamdist
+ - gmp_init
+ - gmp_intval
+ - gmp_invert
+ - gmp_jacobi
+ - gmp_legendre
+ - gmp_mod
+ - gmp_mul
+ - gmp_neg
+ - gmp_or
+ - gmp_perfect_square
+ - gmp_popcount
+ - gmp_pow
+ - gmp_powm
+ - gmp_prob_prime
+ - gmp_random
+ - gmp_scan0
+ - gmp_scan1
+ - gmp_setbit
+ - gmp_sign
+ - gmp_sqrt
+ - gmp_sqrtrem
+ - gmp_strval
+ - gmp_sub
+ - gmp_xor
+ - gmstrftime
+ - gregoriantojd
+ - gzclose
+ - gzcompress
+ - gzdeflate
+ - gzencode
+ - gzeof
+ - gzfile
+ - gzgetc
+ - gzgets
+ - gzgetss
+ - gzinflate
+ - gzopen
+ - gzpassthru
+ - gzputs
+ - gzread
+ - gzrewind
+ - gzseek
+ - gztell
+ - gzuncompress
+ - gzwrite
+ - hash
+ - hash_algos
+ - hash_copy
+ - hash_file
+ - hash_final
+ - hash_hmac
+ - hash_hmac_file
+ - hash_init
+ - hash_update
+ - hash_update_file
+ - hash_update_stream
+ - header
+ - header_remove
+ - headers_list
+ - headers_sent
+ - hebrev
+ - hebrevc
+ - hexdec
+ - highlight_file
+ - highlight_string
+ - html_entity_decode
+ - htmlentities
+ - htmlspecialchars
+ - htmlspecialchars_decode
+ - http_build_query
+ - hw_array2objrec
+ - hw_changeobject
+ - hw_children
+ - hw_childrenobj
+ - hw_close
+ - hw_connect
+ - hw_connection_info
+ - hw_cp
+ - hw_deleteobject
+ - hw_docbyanchor
+ - hw_docbyanchorobj
+ - hw_document_attributes
+ - hw_document_bodytag
+ - hw_document_content
+ - hw_document_setcontent
+ - hw_document_size
+ - hw_dummy
+ - hw_edittext
+ - hw_error
+ - hw_errormsg
+ - hw_free_document
+ - hw_getanchors
+ - hw_getanchorsobj
+ - hw_getandlock
+ - hw_getchildcoll
+ - hw_getchildcollobj
+ - hw_getchilddoccoll
+ - hw_getchilddoccollobj
+ - hw_getobject
+ - hw_getobjectbyquery
+ - hw_getobjectbyquerycoll
+ - hw_getobjectbyquerycollobj
+ - hw_getobjectbyqueryobj
+ - hw_getparents
+ - hw_getparentsobj
+ - hw_getrellink
+ - hw_getremote
+ - hw_getremotechildren
+ - hw_getsrcbydestobj
+ - hw_gettext
+ - hw_getusername
+ - hw_identify
+ - hw_incollections
+ - hw_info
+ - hw_inscoll
+ - hw_insdoc
+ - hw_insertanchors
+ - hw_insertdocument
+ - hw_insertobject
+ - hw_mapid
+ - hw_modifyobject
+ - hw_mv
+ - hw_new_document
+ - hw_objrec2array
+ - hw_output_document
+ - hw_pconnect
+ - hw_pipedocument
+ - hw_root
+ - hw_setlinkroot
+ - hw_stat
+ - hw_unlock
+ - hw_who
+ - hypot
+ - ibase_blob_add
+ - ibase_blob_cancel
+ - ibase_blob_close
+ - ibase_blob_create
+ - ibase_blob_echo
+ - ibase_blob_get
+ - ibase_blob_import
+ - ibase_blob_info
+ - ibase_blob_open
+ - ibase_close
+ - ibase_commit
+ - ibase_connect
+ - ibase_errmsg
+ - ibase_execute
+ - ibase_fetch_object
+ - ibase_fetch_row
+ - ibase_field_info
+ - ibase_free_query
+ - ibase_free_result
+ - ibase_num_fields
+ - ibase_pconnect
+ - ibase_prepare
+ - ibase_query
+ - ibase_rollback
+ - ibase_timefmt
+ - ibase_trans
+ - icap_close
+ - icap_create_calendar
+ - icap_delete_calendar
+ - icap_delete_event
+ - icap_fetch_event
+ - icap_list_alarms
+ - icap_list_events
+ - icap_open
+ - icap_rename_calendar
+ - icap_reopen
+ - icap_snooze
+ - icap_store_event
+ - iconv
+ - iconv_get_encoding
+ - iconv_mime_decode
+ - iconv_mime_decode_headers
+ - iconv_mime_encode
+ - iconv_set_encoding
+ - iconv_strlen
+ - iconv_strpos
+ - iconv_strrpos
+ - iconv_substr
+ - idate
+ - ifx_affected_rows
+ - ifx_blobinfile_mode
+ - ifx_byteasvarchar
+ - ifx_close
+ - ifx_connect
+ - ifx_copy_blob
+ - ifx_create_blob
+ - ifx_create_char
+ - ifx_do
+ - ifx_error
+ - ifx_errormsg
+ - ifx_fetch_row
+ - ifx_fieldproperties
+ - ifx_fieldtypes
+ - ifx_free_blob
+ - ifx_free_char
+ - ifx_free_result
+ - ifx_get_blob
+ - ifx_get_char
+ - ifx_getsqlca
+ - ifx_htmltbl_result
+ - ifx_nullformat
+ - ifx_num_fields
+ - ifx_num_rows
+ - ifx_pconnect
+ - ifx_prepare
+ - ifx_query
+ - ifx_textasvarchar
+ - ifx_update_blob
+ - ifx_update_char
+ - ifxus_close_slob
+ - ifxus_create_slob
+ - ifxus_free_slob
+ - ifxus_open_slob
+ - ifxus_read_slob
+ - ifxus_seek_slob
+ - ifxus_tell_slob
+ - ifxus_write_slob
+ - ignore_user_abort
+ - image2wbmp
+ - image_type_to_extension
+ - image_type_to_mime_type
+ - imagealphablending
+ - imageantialias
+ - imagearc
+ - imagechar
+ - imagecharup
+ - imagecolorallocate
+ - imagecolorallocatealpha
+ - imagecolorat
+ - imagecolorclosest
+ - imagecolorclosestalpha
+ - imagecolorclosesthwb
+ - imagecolordeallocate
+ - imagecolorexact
+ - imagecolorexactalpha
+ - imagecolormatch
+ - imagecolorresolve
+ - imagecolorresolvealpha
+ - imagecolorset
+ - imagecolorsforindex
+ - imagecolorstotal
+ - imagecolortransparent
+ - imageconvolution
+ - imagecopy
+ - imagecopymerge
+ - imagecopymergegray
+ - imagecopyresampled
+ - imagecopyresized
+ - imagecreate
+ - imagecreatefromgd
+ - imagecreatefromgd2
+ - imagecreatefromgd2part
+ - imagecreatefromgif
+ - imagecreatefromjpeg
+ - imagecreatefrompng
+ - imagecreatefromstring
+ - imagecreatefromwbmp
+ - imagecreatefromxbm
+ - imagecreatefromxpm
+ - imagecreatetruecolor
+ - imagedashedline
+ - imagedestroy
+ - imageellipse
+ - imagefill
+ - imagefilledarc
+ - imagefilledellipse
+ - imagefilledpolygon
+ - imagefilledrectangle
+ - imagefilltoborder
+ - imagefilter
+ - imagefontheight
+ - imagefontwidth
+ - imageftbbox
+ - imagefttext
+ - imagegammacorrect
+ - imagegd
+ - imagegd2
+ - imagegif
+ - imageinterlace
+ - imageistruecolor
+ - imagejpeg
+ - imagelayereffect
+ - imageline
+ - imageloadfont
+ - imagepalettecopy
+ - imagepng
+ - imagepolygon
+ - imagepsbbox
+ - imagepsencodefont
+ - imagepsextendfont
+ - imagepsfreefont
+ - imagepsloadfont
+ - imagepsslantfont
+ - imagepstext
+ - imagerectangle
+ - imagerotate
+ - imagesavealpha
+ - imagesetbrush
+ - imagesetpixel
+ - imagesetstyle
+ - imagesetthickness
+ - imagesettile
+ - imagestring
+ - imagestringup
+ - imagesx
+ - imagesy
+ - imagetruecolortopalette
+ - imagettfbbox
+ - imagettftext
+ - imagetypes
+ - imagewbmp
+ - imagexbm
+ - imap_8bit
+ - imap_alerts
+ - imap_append
+ - imap_base64
+ - imap_binary
+ - imap_body
+ - imap_bodystruct
+ - imap_check
+ - imap_clearflag_full
+ - imap_close
+ - imap_create
+ - imap_createmailbox
+ - imap_delete
+ - imap_deletemailbox
+ - imap_errors
+ - imap_expunge
+ - imap_fetch_overview
+ - imap_fetchbody
+ - imap_fetchheader
+ - imap_fetchstructure
+ - imap_fetchtext
+ - imap_get_quota
+ - imap_get_quotaroot
+ - imap_getacl
+ - imap_getmailboxes
+ - imap_getsubscribed
+ - imap_header
+ - imap_headerinfo
+ - imap_headers
+ - imap_last_error
+ - imap_list
+ - imap_listmailbox
+ - imap_listsubscribed
+ - imap_lsub
+ - imap_mail
+ - imap_mail_compose
+ - imap_mail_copy
+ - imap_mail_move
+ - imap_mailboxmsginfo
+ - imap_mime_header_decode
+ - imap_msgno
+ - imap_num_msg
+ - imap_num_recent
+ - imap_open
+ - imap_ping
+ - imap_popen
+ - imap_qprint
+ - imap_rename
+ - imap_renamemailbox
+ - imap_reopen
+ - imap_rfc822_parse_adrlist
+ - imap_rfc822_parse_headers
+ - imap_rfc822_write_address
+ - imap_scan
+ - imap_scanmailbox
+ - imap_search
+ - imap_set_quota
+ - imap_setacl
+ - imap_setflag_full
+ - imap_sort
+ - imap_status
+ - imap_subscribe
+ - imap_thread
+ - imap_timeout
+ - imap_uid
+ - imap_undelete
+ - imap_unsubscribe
+ - imap_utf7_decode
+ - imap_utf7_encode
+ - imap_utf8
+ - implode
+ - import_request_variables
+ - in_array
+ - include
+ - include_once
+ - inet_ntop
+ - inet_pton
+ - ingres_autocommit
+ - ingres_close
+ - ingres_commit
+ - ingres_connect
+ - ingres_fetch_array
+ - ingres_fetch_object
+ - ingres_fetch_row
+ - ingres_field_length
+ - ingres_field_name
+ - ingres_field_nullable
+ - ingres_field_precision
+ - ingres_field_scale
+ - ingres_field_type
+ - ingres_num_fields
+ - ingres_num_rows
+ - ingres_pconnect
+ - ingres_query
+ - ingres_rollback
+ - ini_alter
+ - ini_get
+ - ini_get_all
+ - ini_restore
+ - ini_set
+ - interface_exists
+ - intval
+ - ip2long
+ - iptcembed
+ - iptcparse
+ - ircg_channel_mode
+ - ircg_disconnect
+ - ircg_fetch_error_msg
+ - ircg_get_username
+ - ircg_html_encode
+ - ircg_ignore_add
+ - ircg_ignore_del
+ - ircg_is_conn_alive
+ - ircg_join
+ - ircg_kick
+ - ircg_lookup_format_messages
+ - ircg_msg
+ - ircg_nick
+ - ircg_nickname_escape
+ - ircg_nickname_unescape
+ - ircg_notice
+ - ircg_part
+ - ircg_pconnect
+ - ircg_register_format_messages
+ - ircg_set_current
+ - ircg_set_file
+ - ircg_set_on_die
+ - ircg_topic
+ - ircg_whois
+ - is_a
+ - is_array
+ - is_bool
+ - is_callable
+ - is_dir
+ - is_double
+ - is_executable
+ - is_file
+ - is_finite
+ - is_float
+ - is_infinite
+ - is_int
+ - is_integer
+ - is_link
+ - is_long
+ - is_nan
+ - is_null
+ - is_numeric
+ - is_object
+ - is_readable
+ - is_real
+ - is_resource
+ - is_scalar
+ - is_string
+ - is_subclass_of
+ - is_uploaded_file
+ - is_writable
+ - is_writeable
+ - isset
+ - iterator_apply
+ - iterator_count
+ - iterator_to_array
+ - java_last_exception_clear
+ - java_last_exception_get
+ - jddayofweek
+ - jdmonthname
+ - jdtofrench
+ - jdtogregorian
+ - jdtojewish
+ - jdtojulian
+ - jdtounix
+ - jewishtojd
+ - join
+ - jpeg2wbmp
+ - json_decode
+ - json_encode
+ - json_last_error
+ - juliantojd
+ - key
+ - key_exists
+ - krsort
+ - ksort
+ - lcfirst
+ - lcg_value
+ - lchgrp
+ - lchown
+ - ldap_8859_to_t61
+ - ldap_add
+ - ldap_bind
+ - ldap_close
+ - ldap_compare
+ - ldap_connect
+ - ldap_count_entries
+ - ldap_delete
+ - ldap_dn2ufn
+ - ldap_err2str
+ - ldap_errno
+ - ldap_error
+ - ldap_explode_dn
+ - ldap_first_attribute
+ - ldap_first_entry
+ - ldap_first_reference
+ - ldap_free_result
+ - ldap_get_attributes
+ - ldap_get_dn
+ - ldap_get_entries
+ - ldap_get_option
+ - ldap_get_values
+ - ldap_get_values_len
+ - ldap_list
+ - ldap_mod_add
+ - ldap_mod_del
+ - ldap_mod_replace
+ - ldap_modify
+ - ldap_next_attribute
+ - ldap_next_entry
+ - ldap_next_reference
+ - ldap_parse_reference
+ - ldap_parse_result
+ - ldap_read
+ - ldap_rename
+ - ldap_search
+ - ldap_set_option
+ - ldap_set_rebind_proc
+ - ldap_sort
+ - ldap_start_tls
+ - ldap_t61_to_8859
+ - ldap_unbind
+ - levenshtein
+ - libxml_clear_errors
+ - libxml_get_errors
+ - libxml_get_last_error
+ - libxml_set_streams_context
+ - libxml_set_streams_context
+ - libxml_use_internal_errors
+ - link
+ - linkinfo
+ - list
+ - localeconv
+ - localtime
+ - log
+ - log10
+ - log1p
+ - long2ip
+ - lstat
+ - ltrim
+ - magic_quotes_runtime
+ - mail
+ - mailparse_determine_best_xfer_encoding
+ - mailparse_msg_create
+ - mailparse_msg_extract_part
+ - mailparse_msg_extract_part_file
+ - mailparse_msg_free
+ - mailparse_msg_get_part
+ - mailparse_msg_get_part_data
+ - mailparse_msg_get_structure
+ - mailparse_msg_parse
+ - mailparse_msg_parse_file
+ - mailparse_rfc822_parse_addresses
+ - mailparse_stream_encode
+ - mailparse_uudecode_all
+ - max
+ - mb_check_encoding
+ - mb_convert_case
+ - mb_convert_encoding
+ - mb_convert_kana
+ - mb_convert_variables
+ - mb_decode_mimeheader
+ - mb_decode_numericentity
+ - mb_detect_encoding
+ - mb_detect_order
+ - mb_encode_mimeheader
+ - mb_encode_numericentity
+ - mb_encoding_aliases
+ - mb_ereg
+ - mb_ereg_match
+ - mb_ereg_replace
+ - mb_ereg_search
+ - mb_ereg_search_getpos
+ - mb_ereg_search_getregs
+ - mb_ereg_search_init
+ - mb_ereg_search_pos
+ - mb_ereg_search_regs
+ - mb_ereg_search_setpos
+ - mb_eregi
+ - mb_eregi_replace
+ - mb_get_info
+ - mb_http_input
+ - mb_http_output
+ - mb_internal_encoding
+ - mb_language
+ - mb_list_encodings
+ - mb_output_handler
+ - mb_parse_str
+ - mb_preferred_mime_name
+ - mb_regex_encoding
+ - mb_regex_set_options
+ - mb_send_mail
+ - mb_split
+ - mb_strcut
+ - mb_strimwidth
+ - mb_stripos
+ - mb_stristr
+ - mb_strlen
+ - mb_strpos
+ - mb_strrchr
+ - mb_strrichr
+ - mb_strripos
+ - mb_strrpos
+ - mb_strstr
+ - mb_strtolower
+ - mb_strtoupper
+ - mb_strwidth
+ - mb_substitute_character
+ - mb_substr
+ - mb_substr_count
+ - mcal_append_event
+ - mcal_close
+ - mcal_create_calendar
+ - mcal_date_compare
+ - mcal_date_valid
+ - mcal_day_of_week
+ - mcal_day_of_year
+ - mcal_days_in_month
+ - mcal_delete_calendar
+ - mcal_delete_event
+ - mcal_event_add_attribute
+ - mcal_event_init
+ - mcal_event_set_alarm
+ - mcal_event_set_category
+ - mcal_event_set_class
+ - mcal_event_set_description
+ - mcal_event_set_end
+ - mcal_event_set_recur_daily
+ - mcal_event_set_recur_monthly_mday
+ - mcal_event_set_recur_monthly_wday
+ - mcal_event_set_recur_none
+ - mcal_event_set_recur_weekly
+ - mcal_event_set_recur_yearly
+ - mcal_event_set_start
+ - mcal_event_set_title
+ - mcal_expunge
+ - mcal_fetch_current_stream_event
+ - mcal_fetch_event
+ - mcal_is_leap_year
+ - mcal_list_alarms
+ - mcal_list_events
+ - mcal_next_recurrence
+ - mcal_open
+ - mcal_popen
+ - mcal_rename_calendar
+ - mcal_reopen
+ - mcal_snooze
+ - mcal_store_event
+ - mcal_time_valid
+ - mcal_week_of_year
+ - mcrypt_cbc
+ - mcrypt_cfb
+ - mcrypt_create_iv
+ - mcrypt_decrypt
+ - mcrypt_enc_get_algorithms_name
+ - mcrypt_enc_get_block_size
+ - mcrypt_enc_get_iv_size
+ - mcrypt_enc_get_key_size
+ - mcrypt_enc_get_modes_name
+ - mcrypt_enc_get_supported_key_sizes
+ - mcrypt_enc_is_block_algorithm
+ - mcrypt_enc_is_block_algorithm_mode
+ - mcrypt_enc_is_block_mode
+ - mcrypt_enc_self_test
+ - mcrypt_encrypt
+ - mcrypt_generic
+ - mcrypt_generic_deinit
+ - mcrypt_generic_end
+ - mcrypt_generic_init
+ - mcrypt_get_block_size
+ - mcrypt_get_cipher_name
+ - mcrypt_get_iv_size
+ - mcrypt_get_key_size
+ - mcrypt_list_algorithms
+ - mcrypt_list_modes
+ - mcrypt_module_close
+ - mcrypt_module_get_algo_block_size
+ - mcrypt_module_get_algo_key_size
+ - mcrypt_module_get_supported_key_sizes
+ - mcrypt_module_is_block_algorithm
+ - mcrypt_module_is_block_algorithm_mode
+ - mcrypt_module_is_block_mode
+ - mcrypt_module_open
+ - mcrypt_module_self_test
+ - mcrypt_ofb
+ - md5
+ - md5_file
+ - mdecrypt_generic
+ - memory_get_peak_usage
+ - memory_get_usage
+ - metaphone
+ - method_exists
+ - mhash
+ - mhash_count
+ - mhash_get_block_size
+ - mhash_get_hash_name
+ - mhash_keygen_s2k
+ - microtime
+ - min
+ - ming_setcubicthreshold
+ - ming_setscale
+ - ming_useswfversion
+ - mkdir
+ - mktime
+ - money_format
+ - move_uploaded_file
+ - msession_connect
+ - msession_count
+ - msession_create
+ - msession_destroy
+ - msession_disconnect
+ - msession_find
+ - msession_get
+ - msession_get_array
+ - msession_getdata
+ - msession_inc
+ - msession_list
+ - msession_listvar
+ - msession_lock
+ - msession_plugin
+ - msession_randstr
+ - msession_set
+ - msession_set_array
+ - msession_setdata
+ - msession_timeout
+ - msession_uniq
+ - msession_unlock
+ - msg_get_queue
+ - msg_receive
+ - msg_remove_queue
+ - msg_send
+ - msg_set_queue
+ - msg_stat_queue
+ - msql
+ - msql_affected_rows
+ - msql_close
+ - msql_connect
+ - msql_create_db
+ - msql_createdb
+ - msql_data_seek
+ - msql_dbname
+ - msql_drop_db
+ - msql_dropdb
+ - msql_error
+ - msql_fetch_array
+ - msql_fetch_field
+ - msql_fetch_object
+ - msql_fetch_row
+ - msql_field_seek
+ - msql_fieldflags
+ - msql_fieldlen
+ - msql_fieldname
+ - msql_fieldtable
+ - msql_fieldtype
+ - msql_free_result
+ - msql_freeresult
+ - msql_list_dbs
+ - msql_list_fields
+ - msql_list_tables
+ - msql_listdbs
+ - msql_listfields
+ - msql_listtables
+ - msql_num_fields
+ - msql_num_rows
+ - msql_numfields
+ - msql_numrows
+ - msql_pconnect
+ - msql_query
+ - msql_regcase
+ - msql_result
+ - msql_select_db
+ - msql_selectdb
+ - msql_tablename
+ - mssql_bind
+ - mssql_close
+ - mssql_connect
+ - mssql_data_seek
+ - mssql_execute
+ - mssql_fetch_array
+ - mssql_fetch_assoc
+ - mssql_fetch_batch
+ - mssql_fetch_field
+ - mssql_fetch_object
+ - mssql_fetch_row
+ - mssql_field_length
+ - mssql_field_name
+ - mssql_field_seek
+ - mssql_field_type
+ - mssql_free_result
+ - mssql_get_last_message
+ - mssql_guid_string
+ - mssql_init
+ - mssql_min_error_severity
+ - mssql_min_message_severity
+ - mssql_next_result
+ - mssql_num_fields
+ - mssql_num_rows
+ - mssql_pconnect
+ - mssql_query
+ - mssql_result
+ - mssql_rows_affected
+ - mssql_select_db
+ - mt_getrandmax
+ - mt_rand
+ - mt_srand
+ - muscat_close
+ - muscat_get
+ - muscat_give
+ - muscat_setup
+ - muscat_setup_net
+ - mysql
+ - mysql_affected_rows
+ - mysql_client_encoding
+ - mysql_close
+ - mysql_connect
+ - mysql_data_seek
+ - mysql_db_name
+ - mysql_db_query
+ - mysql_errno
+ - mysql_error
+ - mysql_escape_string
+ - mysql_fetch_array
+ - mysql_fetch_assoc
+ - mysql_fetch_field
+ - mysql_fetch_lengths
+ - mysql_fetch_object
+ - mysql_fetch_row
+ - mysql_field_flags
+ - mysql_field_len
+ - mysql_field_name
+ - mysql_field_seek
+ - mysql_field_table
+ - mysql_field_type
+ - mysql_free_result
+ - mysql_get_client_info
+ - mysql_get_host_info
+ - mysql_get_proto_info
+ - mysql_get_server_info
+ - mysql_info
+ - mysql_insert_id
+ - mysql_list_dbs
+ - mysql_list_processes
+ - mysql_num_fields
+ - mysql_num_rows
+ - mysql_pconnect
+ - mysql_ping
+ - mysql_query
+ - mysql_real_escape_string
+ - mysql_result
+ - mysql_select_db
+ - mysql_set_charset
+ - mysql_stat
+ - mysql_table_name
+ - mysql_thread_id
+ - mysql_unbuffered_query
+ - mysqli_affected_rows
+ - mysqli_autocommit
+ - mysqli_bind_param
+ - mysqli_bind_result
+ - mysqli_change_user
+ - mysqli_character_set_name
+ - mysqli_client_encoding
+ - mysqli_close
+ - mysqli_commit
+ - mysqli_connect
+ - mysqli_connect_errno
+ - mysqli_connect_error
+ - mysqli_data_seek
+ - mysqli_debug
+ - mysqli_dump_debug_info
+ - mysqli_errno
+ - mysqli_error
+ - mysqli_escape_string
+ - mysqli_execute
+ - mysqli_fetch
+ - mysqli_fetch_array
+ - mysqli_fetch_assoc
+ - mysqli_fetch_field
+ - mysqli_fetch_field_direct
+ - mysqli_fetch_fields
+ - mysqli_fetch_lengths
+ - mysqli_fetch_object
+ - mysqli_fetch_row
+ - mysqli_field_count
+ - mysqli_field_seek
+ - mysqli_field_tell
+ - mysqli_free_result
+ - mysqli_get_cache_stats
+ - mysqli_get_client_info
+ - mysqli_get_client_stats
+ - mysqli_get_client_version
+ - mysqli_get_host_info
+ - mysqli_get_metadata
+ - mysqli_get_proto_info
+ - mysqli_get_server_info
+ - mysqli_get_server_version
+ - mysqli_info
+ - mysqli_init
+ - mysqli_insert_id
+ - mysqli_kill
+ - mysqli_more_results
+ - mysqli_multi_query
+ - mysqli_next_result
+ - mysqli_num_fields
+ - mysqli_num_rows
+ - mysqli_options
+ - mysqli_param_count
+ - mysqli_ping
+ - mysqli_prepare
+ - mysqli_query
+ - mysqli_real_connect
+ - mysqli_real_escape_string
+ - mysqli_real_query
+ - mysqli_refresh
+ - mysqli_report
+ - mysqli_rollback
+ - mysqli_select_db
+ - mysqli_send_long_data
+ - mysqli_set_charset
+ - mysqli_set_local_infile_default
+ - mysqli_set_local_infile_handler
+ - mysqli_set_opt
+ - mysqli_sqlstate
+ - mysqli_ssl_set
+ - mysqli_stat
+ - mysqli_stmt_affected_rows
+ - mysqli_stmt_attr_get
+ - mysqli_stmt_attr_set
+ - mysqli_stmt_bind_param
+ - mysqli_stmt_bind_result
+ - mysqli_stmt_close
+ - mysqli_stmt_data_seek
+ - mysqli_stmt_errno
+ - mysqli_stmt_error
+ - mysqli_stmt_execute
+ - mysqli_stmt_fetch
+ - mysqli_stmt_field_count
+ - mysqli_stmt_free_result
+ - mysqli_stmt_get_warnings
+ - mysqli_stmt_init
+ - mysqli_stmt_insert_id
+ - mysqli_stmt_num_rows
+ - mysqli_stmt_param_count
+ - mysqli_stmt_prepare
+ - mysqli_stmt_reset
+ - mysqli_stmt_result_metadata
+ - mysqli_stmt_send_long_data
+ - mysqli_stmt_sqlstate
+ - mysqli_stmt_store_result
+ - mysqli_store_result
+ - mysqli_thread_id
+ - mysqli_thread_safe
+ - mysqli_use_result
+ - mysqli_warning_count
+ - natcasesort
+ - natsort
+ - ncurses_addch
+ - ncurses_addchnstr
+ - ncurses_addchstr
+ - ncurses_addnstr
+ - ncurses_addstr
+ - ncurses_assume_default_colors
+ - ncurses_attroff
+ - ncurses_attron
+ - ncurses_attrset
+ - ncurses_baudrate
+ - ncurses_beep
+ - ncurses_bkgd
+ - ncurses_bkgdset
+ - ncurses_border
+ - ncurses_bottom_panel
+ - ncurses_can_change_color
+ - ncurses_cbreak
+ - ncurses_clear
+ - ncurses_clrtobot
+ - ncurses_clrtoeol
+ - ncurses_color_content
+ - ncurses_color_set
+ - ncurses_curs_set
+ - ncurses_def_prog_mode
+ - ncurses_def_shell_mode
+ - ncurses_define_key
+ - ncurses_del_panel
+ - ncurses_delay_output
+ - ncurses_delch
+ - ncurses_deleteln
+ - ncurses_delwin
+ - ncurses_doupdate
+ - ncurses_echo
+ - ncurses_echochar
+ - ncurses_end
+ - ncurses_erase
+ - ncurses_erasechar
+ - ncurses_filter
+ - ncurses_flash
+ - ncurses_flushinp
+ - ncurses_getch
+ - ncurses_getmaxyx
+ - ncurses_getmouse
+ - ncurses_getyx
+ - ncurses_halfdelay
+ - ncurses_has_colors
+ - ncurses_has_ic
+ - ncurses_has_il
+ - ncurses_has_key
+ - ncurses_hide_panel
+ - ncurses_hline
+ - ncurses_inch
+ - ncurses_init
+ - ncurses_init_color
+ - ncurses_init_pair
+ - ncurses_insch
+ - ncurses_insdelln
+ - ncurses_insertln
+ - ncurses_insstr
+ - ncurses_instr
+ - ncurses_isendwin
+ - ncurses_keyok
+ - ncurses_keypad
+ - ncurses_killchar
+ - ncurses_longname
+ - ncurses_meta
+ - ncurses_mouse_trafo
+ - ncurses_mouseinterval
+ - ncurses_mousemask
+ - ncurses_move
+ - ncurses_move_panel
+ - ncurses_mvaddch
+ - ncurses_mvaddchnstr
+ - ncurses_mvaddchstr
+ - ncurses_mvaddnstr
+ - ncurses_mvaddstr
+ - ncurses_mvcur
+ - ncurses_mvdelch
+ - ncurses_mvgetch
+ - ncurses_mvhline
+ - ncurses_mvinch
+ - ncurses_mvvline
+ - ncurses_mvwaddstr
+ - ncurses_napms
+ - ncurses_new_panel
+ - ncurses_newpad
+ - ncurses_newwin
+ - ncurses_nl
+ - ncurses_nocbreak
+ - ncurses_noecho
+ - ncurses_nonl
+ - ncurses_noqiflush
+ - ncurses_noraw
+ - ncurses_pair_content
+ - ncurses_panel_above
+ - ncurses_panel_below
+ - ncurses_panel_window
+ - ncurses_pnoutrefresh
+ - ncurses_prefresh
+ - ncurses_putp
+ - ncurses_qiflush
+ - ncurses_raw
+ - ncurses_refresh
+ - ncurses_replace_panel
+ - ncurses_reset_prog_mode
+ - ncurses_reset_shell_mode
+ - ncurses_resetty
+ - ncurses_savetty
+ - ncurses_scr_dump
+ - ncurses_scr_init
+ - ncurses_scr_restore
+ - ncurses_scr_set
+ - ncurses_scrl
+ - ncurses_show_panel
+ - ncurses_slk_attr
+ - ncurses_slk_attroff
+ - ncurses_slk_attron
+ - ncurses_slk_attrset
+ - ncurses_slk_clear
+ - ncurses_slk_color
+ - ncurses_slk_init
+ - ncurses_slk_noutrefresh
+ - ncurses_slk_refresh
+ - ncurses_slk_restore
+ - ncurses_slk_set
+ - ncurses_slk_touch
+ - ncurses_standend
+ - ncurses_standout
+ - ncurses_start_color
+ - ncurses_termattrs
+ - ncurses_termname
+ - ncurses_timeout
+ - ncurses_top_panel
+ - ncurses_typeahead
+ - ncurses_ungetch
+ - ncurses_ungetmouse
+ - ncurses_update_panels
+ - ncurses_use_default_colors
+ - ncurses_use_env
+ - ncurses_use_extended_names
+ - ncurses_vidattr
+ - ncurses_vline
+ - ncurses_waddch
+ - ncurses_waddstr
+ - ncurses_wattroff
+ - ncurses_wattron
+ - ncurses_wattrset
+ - ncurses_wborder
+ - ncurses_wclear
+ - ncurses_wcolor_set
+ - ncurses_werase
+ - ncurses_wgetch
+ - ncurses_whline
+ - ncurses_wmouse_trafo
+ - ncurses_wmove
+ - ncurses_wnoutrefresh
+ - ncurses_wrefresh
+ - ncurses_wstandend
+ - ncurses_wstandout
+ - ncurses_wvline
+ - next
+ - ngettext
+ - nl2br
+ - nl_langinfo
+ - notes_body
+ - notes_copy_db
+ - notes_create_db
+ - notes_create_note
+ - notes_drop_db
+ - notes_find_note
+ - notes_header_info
+ - notes_list_msgs
+ - notes_mark_read
+ - notes_mark_unread
+ - notes_nav_create
+ - notes_search
+ - notes_unread
+ - notes_version
+ - number_format
+ - ob_clean
+ - ob_end_clean
+ - ob_end_flush
+ - ob_flush
+ - ob_get_clean
+ - ob_get_contents
+ - ob_get_flush
+ - ob_get_length
+ - ob_get_level
+ - ob_get_status
+ - ob_gzhandler
+ - ob_iconv_handler
+ - ob_implicit_flush
+ - ob_list_handlers
+ - ob_start
+ - oci_bind_array_by_name
+ - oci_bind_by_name
+ - oci_cancel
+ - oci_close
+ - oci_commit
+ - oci_connect
+ - oci_define_by_name
+ - oci_error
+ - oci_execute
+ - oci_fetch
+ - oci_fetch_all
+ - oci_fetch_array
+ - oci_fetch_assoc
+ - oci_fetch_object
+ - oci_fetch_row
+ - oci_field_is_null
+ - oci_field_name
+ - oci_field_precision
+ - oci_field_scale
+ - oci_field_size
+ - oci_field_type
+ - oci_field_type_raw
+ - oci_free_statement
+ - oci_internal_debug
+ - oci_lob_copy
+ - oci_lob_is_equal
+ - oci_new_collection
+ - oci_new_connect
+ - oci_new_cursor
+ - oci_new_descriptor
+ - oci_num_fields
+ - oci_num_rows
+ - oci_parse
+ - oci_password_change
+ - oci_pconnect
+ - oci_result
+ - oci_rollback
+ - oci_server_version
+ - oci_set_action
+ - oci_set_client_identifier
+ - oci_set_client_info
+ - oci_set_edition
+ - oci_set_module_name
+ - oci_set_prefetch
+ - oci_statement_type
+ - ocibindbyname
+ - ocicancel
+ - ocicollappend
+ - ocicollassign
+ - ocicollassignelem
+ - ocicollgetelem
+ - ocicollmax
+ - ocicollsize
+ - ocicolltrim
+ - ocicolumnisnull
+ - ocicolumnname
+ - ocicolumnprecision
+ - ocicolumnscale
+ - ocicolumnsize
+ - ocicolumntype
+ - ocicolumntyperaw
+ - ocicommit
+ - ocidefinebyname
+ - ocierror
+ - ociexecute
+ - ocifetch
+ - ocifetchstatement
+ - ocifreecollection
+ - ocifreecursor
+ - ocifreedesc
+ - ocifreestatement
+ - ociinternaldebug
+ - ociloadlob
+ - ocilogoff
+ - ocilogon
+ - ocinewcollection
+ - ocinewcursor
+ - ocinewdescriptor
+ - ocinlogon
+ - ocinumcols
+ - ociparse
+ - ociplogon
+ - ociresult
+ - ocirollback
+ - ocirowcount
+ - ocisavelob
+ - ocisavelobfile
+ - ociserverversion
+ - ocisetprefetch
+ - ocistatementtype
+ - ociwritelobtofile
+ - octdec
+ - odbc_autocommit
+ - odbc_binmode
+ - odbc_close
+ - odbc_close_all
+ - odbc_columnprivileges
+ - odbc_columns
+ - odbc_commit
+ - odbc_connect
+ - odbc_cursor
+ - odbc_data_source
+ - odbc_do
+ - odbc_error
+ - odbc_errormsg
+ - odbc_exec
+ - odbc_execute
+ - odbc_fetch_array
+ - odbc_fetch_into
+ - odbc_fetch_object
+ - odbc_fetch_row
+ - odbc_field_len
+ - odbc_field_name
+ - odbc_field_num
+ - odbc_field_precision
+ - odbc_field_scale
+ - odbc_field_type
+ - odbc_foreignkeys
+ - odbc_free_result
+ - odbc_gettypeinfo
+ - odbc_longreadlen
+ - odbc_next_result
+ - odbc_num_fields
+ - odbc_num_rows
+ - odbc_pconnect
+ - odbc_prepare
+ - odbc_primarykeys
+ - odbc_procedurecolumns
+ - odbc_procedures
+ - odbc_result
+ - odbc_result_all
+ - odbc_rollback
+ - odbc_setoption
+ - odbc_specialcolumns
+ - odbc_statistics
+ - odbc_tableprivileges
+ - odbc_tables
+ - opendir
+ - openlog
+ - openssl_csr_export
+ - openssl_csr_export_to_file
+ - openssl_csr_new
+ - openssl_csr_sign
+ - openssl_error_string
+ - openssl_free_key
+ - openssl_get_privatekey
+ - openssl_get_publickey
+ - openssl_open
+ - openssl_pkcs7_decrypt
+ - openssl_pkcs7_encrypt
+ - openssl_pkcs7_sign
+ - openssl_pkcs7_verify
+ - openssl_pkey_export
+ - openssl_pkey_export_to_file
+ - openssl_pkey_free
+ - openssl_pkey_get_private
+ - openssl_pkey_get_public
+ - openssl_pkey_new
+ - openssl_private_decrypt
+ - openssl_private_encrypt
+ - openssl_public_decrypt
+ - openssl_public_encrypt
+ - openssl_seal
+ - openssl_sign
+ - openssl_verify
+ - openssl_x509_check_private_key
+ - openssl_x509_checkpurpose
+ - openssl_x509_export
+ - openssl_x509_export_to_file
+ - openssl_x509_free
+ - openssl_x509_parse
+ - openssl_x509_read
+ - ord
+ - output_add_rewrite_var
+ - output_reset_rewrite_vars
+ - overload
+ - ovrimos_close
+ - ovrimos_commit
+ - ovrimos_connect
+ - ovrimos_cursor
+ - ovrimos_exec
+ - ovrimos_execute
+ - ovrimos_fetch_into
+ - ovrimos_fetch_row
+ - ovrimos_field_len
+ - ovrimos_field_name
+ - ovrimos_field_num
+ - ovrimos_field_type
+ - ovrimos_free_result
+ - ovrimos_longreadlen
+ - ovrimos_num_fields
+ - ovrimos_num_rows
+ - ovrimos_prepare
+ - ovrimos_result
+ - ovrimos_result_all
+ - ovrimos_rollback
+ - pack
+ - parse_ini_file
+ - parse_ini_string
+ - parse_str
+ - parse_url
+ - passthru
+ - pathinfo
+ - pclose
+ - pcntl_alarm
+ - pcntl_exec
+ - pcntl_fork
+ - pcntl_getpriority
+ - pcntl_setpriority
+ - pcntl_signal
+ - pcntl_wait
+ - pcntl_waitpid
+ - pcntl_wexitstatus
+ - pcntl_wifexited
+ - pcntl_wifsignaled
+ - pcntl_wifstopped
+ - pcntl_wstopsig
+ - pcntl_wtermsig
+ - pdf_add_annotation
+ - pdf_add_bookmark
+ - pdf_add_launchlink
+ - pdf_add_locallink
+ - pdf_add_note
+ - pdf_add_outline
+ - pdf_add_pdflink
+ - pdf_add_thumbnail
+ - pdf_add_weblink
+ - pdf_arc
+ - pdf_arcn
+ - pdf_attach_file
+ - pdf_begin_page
+ - pdf_begin_pattern
+ - pdf_begin_template
+ - pdf_circle
+ - pdf_clip
+ - pdf_close
+ - pdf_close_image
+ - pdf_close_pdi
+ - pdf_close_pdi_page
+ - pdf_closepath
+ - pdf_closepath_fill_stroke
+ - pdf_closepath_stroke
+ - pdf_concat
+ - pdf_continue_text
+ - pdf_curveto
+ - pdf_delete
+ - pdf_end_page
+ - pdf_end_pattern
+ - pdf_end_template
+ - pdf_endpath
+ - pdf_fill
+ - pdf_fill_stroke
+ - pdf_findfont
+ - pdf_get_buffer
+ - pdf_get_font
+ - pdf_get_fontname
+ - pdf_get_fontsize
+ - pdf_get_image_height
+ - pdf_get_image_width
+ - pdf_get_majorversion
+ - pdf_get_minorversion
+ - pdf_get_parameter
+ - pdf_get_pdi_parameter
+ - pdf_get_pdi_value
+ - pdf_get_value
+ - pdf_initgraphics
+ - pdf_lineto
+ - pdf_makespotcolor
+ - pdf_moveto
+ - pdf_new
+ - pdf_open
+ - pdf_open_ccitt
+ - pdf_open_file
+ - pdf_open_gif
+ - pdf_open_image
+ - pdf_open_image_file
+ - pdf_open_jpeg
+ - pdf_open_memory_image
+ - pdf_open_pdi
+ - pdf_open_pdi_page
+ - pdf_open_png
+ - pdf_open_tiff
+ - pdf_place_image
+ - pdf_place_pdi_page
+ - pdf_rect
+ - pdf_restore
+ - pdf_rotate
+ - pdf_save
+ - pdf_scale
+ - pdf_set_border_color
+ - pdf_set_border_dash
+ - pdf_set_border_style
+ - pdf_set_char_spacing
+ - pdf_set_duration
+ - pdf_set_font
+ - pdf_set_horiz_scaling
+ - pdf_set_info
+ - pdf_set_info_author
+ - pdf_set_info_creator
+ - pdf_set_info_keywords
+ - pdf_set_info_subject
+ - pdf_set_info_title
+ - pdf_set_leading
+ - pdf_set_parameter
+ - pdf_set_text_pos
+ - pdf_set_text_rendering
+ - pdf_set_text_rise
+ - pdf_set_transition
+ - pdf_set_value
+ - pdf_set_word_spacing
+ - pdf_setcolor
+ - pdf_setdash
+ - pdf_setflat
+ - pdf_setfont
+ - pdf_setgray
+ - pdf_setgray_fill
+ - pdf_setgray_stroke
+ - pdf_setlinecap
+ - pdf_setlinejoin
+ - pdf_setlinewidth
+ - pdf_setmatrix
+ - pdf_setmiterlimit
+ - pdf_setpolydash
+ - pdf_setrgbcolor
+ - pdf_setrgbcolor_fill
+ - pdf_setrgbcolor_stroke
+ - pdf_show
+ - pdf_show_boxed
+ - pdf_show_xy
+ - pdf_skew
+ - pdf_stringwidth
+ - pdf_stroke
+ - pdf_translate
+ - pfpro_cleanup
+ - pfpro_init
+ - pfpro_process
+ - pfpro_process_raw
+ - pfpro_version
+ - pdo_drivers
+ - pfsockopen
+ - pg_affected_rows
+ - pg_cancel_query
+ - pg_client_encoding
+ - pg_clientencoding
+ - pg_close
+ - pg_cmdtuples
+ - pg_connect
+ - pg_connection_busy
+ - pg_connection_reset
+ - pg_connection_status
+ - pg_convert
+ - pg_copy_from
+ - pg_copy_to
+ - pg_dbname
+ - pg_delete
+ - pg_end_copy
+ - pg_errormessage
+ - pg_escape_bytea
+ - pg_escape_string
+ - pg_exec
+ - pg_fetch_all
+ - pg_fetch_array
+ - pg_fetch_assoc
+ - pg_fetch_object
+ - pg_fetch_result
+ - pg_fetch_row
+ - pg_field_is_null
+ - pg_field_name
+ - pg_field_num
+ - pg_field_prtlen
+ - pg_field_size
+ - pg_field_type
+ - pg_fieldisnull
+ - pg_fieldname
+ - pg_fieldnum
+ - pg_fieldprtlen
+ - pg_fieldsize
+ - pg_fieldtype
+ - pg_free_result
+ - pg_freeresult
+ - pg_get_notify
+ - pg_get_pid
+ - pg_get_result
+ - pg_getlastoid
+ - pg_host
+ - pg_insert
+ - pg_last_error
+ - pg_last_notice
+ - pg_last_oid
+ - pg_lo_close
+ - pg_lo_create
+ - pg_lo_export
+ - pg_lo_import
+ - pg_lo_open
+ - pg_lo_read
+ - pg_lo_read_all
+ - pg_lo_seek
+ - pg_lo_tell
+ - pg_lo_unlink
+ - pg_lo_write
+ - pg_loclose
+ - pg_locreate
+ - pg_loexport
+ - pg_loimport
+ - pg_loopen
+ - pg_loread
+ - pg_loreadall
+ - pg_lounlink
+ - pg_lowrite
+ - pg_meta_data
+ - pg_num_fields
+ - pg_num_rows
+ - pg_numfields
+ - pg_numrows
+ - pg_options
+ - pg_parameter_status
+ - pg_pconnect
+ - pg_ping
+ - pg_port
+ - pg_put_line
+ - pg_query
+ - pg_result
+ - pg_result_error
+ - pg_result_seek
+ - pg_result_status
+ - pg_select
+ - pg_send_query
+ - pg_set_client_encoding
+ - pg_setclientencoding
+ - pg_trace
+ - pg_tty
+ - pg_unescape_bytea
+ - pg_untrace
+ - pg_update
+ - pg_version
+ - php_egg_logo_guid
+ - php_ini_loaded_file
+ - php_ini_scanned_files
+ - php_logo_guid
+ - php_real_logo_guid
+ - php_sapi_name
+ - php_strip_whitespace
+ - php_uname
+ - phpcredits
+ - phpinfo
+ - phpversion
+ - pi
+ - png2wbmp
+ - popen
+ - pos
+ - posix_ctermid
+ - posix_errno
+ - posix_get_last_error
+ - posix_getcwd
+ - posix_getegid
+ - posix_geteuid
+ - posix_getgid
+ - posix_getgrgid
+ - posix_getgrnam
+ - posix_getgroups
+ - posix_getlogin
+ - posix_getpgid
+ - posix_getpgrp
+ - posix_getpid
+ - posix_getppid
+ - posix_getpwnam
+ - posix_getpwuid
+ - posix_getrlimit
+ - posix_getsid
+ - posix_getuid
+ - posix_isatty
+ - posix_kill
+ - posix_mkfifo
+ - posix_setegid
+ - posix_seteuid
+ - posix_setgid
+ - posix_setpgid
+ - posix_setsid
+ - posix_setuid
+ - posix_strerror
+ - posix_times
+ - posix_ttyname
+ - posix_uname
+ - pow
+ - preg_filter
+ - preg_grep
+ - preg_last_error
+ - preg_match
+ - preg_match_all
+ - preg_quote
+ - preg_replace
+ - preg_replace_callback
+ - preg_split
+ - prev
+ - print
+ - print_r
+ - printer_abort
+ - printer_close
+ - printer_create_brush
+ - printer_create_dc
+ - printer_create_font
+ - printer_create_pen
+ - printer_delete_brush
+ - printer_delete_dc
+ - printer_delete_font
+ - printer_delete_pen
+ - printer_draw_bmp
+ - printer_draw_chord
+ - printer_draw_elipse
+ - printer_draw_line
+ - printer_draw_pie
+ - printer_draw_rectangle
+ - printer_draw_roundrect
+ - printer_draw_text
+ - printer_end_doc
+ - printer_end_page
+ - printer_get_option
+ - printer_list
+ - printer_logical_fontheight
+ - printer_open
+ - printer_select_brush
+ - printer_select_font
+ - printer_select_pen
+ - printer_set_option
+ - printer_start_doc
+ - printer_start_page
+ - printer_write
+ - printf
+ - proc_close
+ - proc_get_status
+ - proc_nice
+ - proc_open
+ - proc_terminate
+ - property_exists
+ - pspell_add_to_personal
+ - pspell_add_to_session
+ - pspell_check
+ - pspell_clear_session
+ - pspell_config_create
+ - pspell_config_ignore
+ - pspell_config_mode
+ - pspell_config_personal
+ - pspell_config_repl
+ - pspell_config_runtogether
+ - pspell_config_save_repl
+ - pspell_new
+ - pspell_new_config
+ - pspell_new_personal
+ - pspell_save_wordlist
+ - pspell_store_replacement
+ - pspell_suggest
+ - putenv
+ - qdom_error
+ - qdom_tree
+ - quoted_printable_decode
+ - quoted_printable_encode
+ - quotemeta
+ - rad2deg
+ - rand
+ - range
+ - rawurldecode
+ - rawurlencode
+ - read_exif_data
+ - readdir
+ - readfile
+ - readgzfile
+ - readline
+ - readline_add_history
+ - readline_clear_history
+ - readline_completion_function
+ - readline_info
+ - readline_list_history
+ - readline_read_history
+ - readline_write_history
+ - readlink
+ - realpath
+ - realpath_cache_get
+ - realpath_cache_size
+ - recode
+ - recode_file
+ - recode_string
+ - register_shutdown_function
+ - register_tick_function
+ - rename
+ - require
+ - require_once
+ - reset
+ - restore_error_handler
+ - restore_exception_handler
+ - restore_include_path
+ - rewind
+ - rewinddir
+ - rmdir
+ - round
+ - rsort
+ - rtrim
+ - scandir
+ - sem_acquire
+ - sem_get
+ - sem_release
+ - sem_remove
+ - serialize
+ - sesam_affected_rows
+ - sesam_commit
+ - sesam_connect
+ - sesam_diagnostic
+ - sesam_disconnect
+ - sesam_errormsg
+ - sesam_execimm
+ - sesam_fetch_array
+ - sesam_fetch_result
+ - sesam_fetch_row
+ - sesam_field_array
+ - sesam_field_name
+ - sesam_free_result
+ - sesam_num_fields
+ - sesam_query
+ - sesam_rollback
+ - sesam_seek_row
+ - sesam_settransaction
+ - session_cache_expire
+ - session_cache_limiter
+ - session_commit
+ - session_decode
+ - session_destroy
+ - session_encode
+ - session_get_cookie_params
+ - session_id
+ - session_is_registered
+ - session_module_name
+ - session_name
+ - session_regenerate_id
+ - session_register
+ - session_save_path
+ - session_set_cookie_params
+ - session_set_save_handler
+ - session_start
+ - session_unregister
+ - session_unset
+ - session_write_close
+ - set_error_handler
+ - set_exception_handler
+ - set_file_buffer
+ - set_include_path
+ - set_magic_quotes_runtime
+ - set_socket_blocking
+ - set_time_limit
+ - setcookie
+ - setlocale
+ - setrawcookie
+ - settype
+ - sha1
+ - sha1_file
+ - sha256
+ - sha256_file
+ - shell_exec
+ - shm_attach
+ - shm_detach
+ - shm_get_var
+ - shm_put_var
+ - shm_remove
+ - shm_remove_var
+ - shmop_close
+ - shmop_delete
+ - shmop_open
+ - shmop_read
+ - shmop_size
+ - shmop_write
+ - show_source
+ - shuffle
+ - similar_text
+ - simplexml_import_dom
+ - simplexml_load_file
+ - simplexml_load_string
+ - sin
+ - sinh
+ - sizeof
+ - sleep
+ - snmp3_get
+ - snmp3_getnext
+ - snmp3_real_walk
+ - snmp3_set
+ - snmp3_walk
+ - snmp_get_quick_print
+ - snmp_get_valueretrieval
+ - snmp_read_mib
+ - snmp_set_enum_print
+ - snmp_set_oid_numeric_print
+ - snmp_set_quick_print
+ - snmp_set_valueretrieval
+ - snmpget
+ - snmpgetnext
+ - snmprealwalk
+ - snmpset
+ - snmpwalk
+ - snmpwalkoid
+ - socket_accept
+ - socket_bind
+ - socket_clear_error
+ - socket_close
+ - socket_connect
+ - socket_create
+ - socket_create_listen
+ - socket_create_pair
+ - socket_get_option
+ - socket_get_status
+ - socket_getopt
+ - socket_getpeername
+ - socket_getsockname
+ - socket_last_error
+ - socket_listen
+ - socket_read
+ - socket_recv
+ - socket_recvfrom
+ - socket_select
+ - socket_send
+ - socket_sendto
+ - socket_set_block
+ - socket_set_blocking
+ - socket_set_nonblock
+ - socket_set_option
+ - socket_set_timeout
+ - socket_setopt
+ - socket_shutdown
+ - socket_strerror
+ - socket_write
+ - sort
+ - soundex
+ - spl_autoload
+ - spl_autoload_call
+ - spl_autoload_extensions
+ - spl_autoload_functions
+ - spl_autoload_register
+ - spl_autoload_unregister
+ - spl_classes
+ - spl_object_hash
+ - sprintf
+ - sqlite_array_query
+ - sqlite_busy_timeout
+ - sqlite_changes
+ - sqlite_close
+ - sqlite_column
+ - sqlite_create_aggregate
+ - sqlite_create_function
+ - sqlite_current
+ - sqlite_error_string
+ - sqlite_escape_string
+ - sqlite_exec
+ - sqlite_factory
+ - sqlite_fetch_all
+ - sqlite_fetch_array
+ - sqlite_fetch_column_types
+ - sqlite_fetch_object
+ - sqlite_fetch_single
+ - sqlite_fetch_string
+ - sqlite_field_name
+ - sqlite_has_more
+ - sqlite_has_prev
+ - sqlite_last_error
+ - sqlite_last_insert_rowid
+ - sqlite_libencoding
+ - sqlite_libversion
+ - sqlite_next
+ - sqlite_num_fields
+ - sqlite_num_rows
+ - sqlite_open
+ - sqlite_popen
+ - sqlite_prev
+ - sqlite_query
+ - sqlite_rewind
+ - sqlite_seek
+ - sqlite_single_query
+ - sqlite_udf_decode_binary
+ - sqlite_udf_encode_binary
+ - sqlite_unbuffered_query
+ - sqlite_valid
+ - sqrt
+ - srand
+ - sscanf
+ - stat
+ - str_getcsv
+ - str_ireplace
+ - str_pad
+ - str_repeat
+ - str_replace
+ - str_rot13
+ - str_shuffle
+ - str_split
+ - str_word_count
+ - strcasecmp
+ - strchr
+ - strcmp
+ - strcoll
+ - strcspn
+ - stream_bucket_append
+ - stream_bucket_make_writeable
+ - stream_bucket_new
+ - stream_bucket_prepend
+ - stream_context_create
+ - stream_context_get_default
+ - stream_context_get_options
+ - stream_context_get_params
+ - stream_context_set_default
+ - stream_context_set_option
+ - stream_context_set_params
+ - stream_copy_to_stream
+ - stream_filter_append
+ - stream_filter_prepend
+ - stream_filter_register
+ - stream_filter_remove
+ - stream_get_contents
+ - stream_get_filters
+ - stream_get_line
+ - stream_get_meta_data
+ - stream_get_transports
+ - stream_get_wrappers
+ - stream_is_local
+ - stream_register_wrapper
+ - stream_resolve_include_path
+ - stream_select
+ - stream_set_blocking
+ - stream_set_read_buffer
+ - stream_set_timeout
+ - stream_set_write_buffer
+ - stream_socket_accept
+ - stream_socket_client
+ - stream_socket_enable_crypto
+ - stream_socket_get_name
+ - stream_socket_pair
+ - stream_socket_recvfrom
+ - stream_socket_sendto
+ - stream_socket_server
+ - stream_socket_shutdown
+ - stream_supports_lock
+ - stream_wrapper_register
+ - stream_wrapper_restore
+ - stream_wrapper_unregister
+ - strftime
+ - strip_tags
+ - stripcslashes
+ - stripos
+ - stripslashes
+ - stristr
+ - strlen
+ - strnatcasecmp
+ - strnatcmp
+ - strncasecmp
+ - strncmp
+ - strpbrk
+ - strpos
+ - strptime
+ - strrchr
+ - strrev
+ - strripos
+ - strrpos
+ - strspn
+ - strstr
+ - strtok
+ - strtolower
+ - strtotime
+ - strtoupper
+ - strtr
+ - strval
+ - substr
+ - substr_compare
+ - substr_count
+ - substr_replace
+ - suhosin_encrypt_cookie
+ - suhosin_get_raw_cookies
+ - swf_actiongeturl
+ - swf_actiongotoframe
+ - swf_actiongotolabel
+ - swf_actionnextframe
+ - swf_actionplay
+ - swf_actionprevframe
+ - swf_actionsettarget
+ - swf_actionstop
+ - swf_actiontogglequality
+ - swf_actionwaitforframe
+ - swf_addbuttonrecord
+ - swf_addcolor
+ - swf_closefile
+ - swf_definebitmap
+ - swf_definefont
+ - swf_defineline
+ - swf_definepoly
+ - swf_definerect
+ - swf_definetext
+ - swf_endbutton
+ - swf_enddoaction
+ - swf_endshape
+ - swf_endsymbol
+ - swf_fontsize
+ - swf_fontslant
+ - swf_fonttracking
+ - swf_getbitmapinfo
+ - swf_getfontinfo
+ - swf_getframe
+ - swf_labelframe
+ - swf_lookat
+ - swf_modifyobject
+ - swf_mulcolor
+ - swf_nextid
+ - swf_oncondition
+ - swf_openfile
+ - swf_ortho
+ - swf_ortho2
+ - swf_perspective
+ - swf_placeobject
+ - swf_polarview
+ - swf_popmatrix
+ - swf_posround
+ - swf_pushmatrix
+ - swf_removeobject
+ - swf_rotate
+ - swf_scale
+ - swf_setfont
+ - swf_setframe
+ - swf_shapearc
+ - swf_shapecurveto
+ - swf_shapecurveto3
+ - swf_shapefillbitmapclip
+ - swf_shapefillbitmaptile
+ - swf_shapefilloff
+ - swf_shapefillsolid
+ - swf_shapelinesolid
+ - swf_shapelineto
+ - swf_shapemoveto
+ - swf_showframe
+ - swf_startbutton
+ - swf_startdoaction
+ - swf_startshape
+ - swf_startsymbol
+ - swf_textwidth
+ - swf_translate
+ - swf_viewport
+ - swfaction
+ - swfbitmap
+ - swfbitmap.getheight
+ - swfbitmap.getwidth
+ - swfbutton
+ - swfbutton.addaction
+ - swfbutton.addshape
+ - swfbutton.setaction
+ - swfbutton.setdown
+ - swfbutton.sethit
+ - swfbutton.setover
+ - swfbutton.setup
+ - swfbutton_keypress
+ - swfdisplayitem
+ - swfdisplayitem.addcolor
+ - swfdisplayitem.move
+ - swfdisplayitem.moveto
+ - swfdisplayitem.multcolor
+ - swfdisplayitem.remove
+ - swfdisplayitem.rotate
+ - swfdisplayitem.rotateto
+ - swfdisplayitem.scale
+ - swfdisplayitem.scaleto
+ - swfdisplayitem.setdepth
+ - swfdisplayitem.setname
+ - swfdisplayitem.setratio
+ - swfdisplayitem.skewx
+ - swfdisplayitem.skewxto
+ - swfdisplayitem.skewy
+ - swfdisplayitem.skewyto
+ - swffill
+ - swffill.moveto
+ - swffill.rotateto
+ - swffill.scaleto
+ - swffill.skewxto
+ - swffill.skewyto
+ - swffont
+ - swffont.getwidth
+ - swfgradient
+ - swfgradient.addentry
+ - swfmorph
+ - swfmorph.getshape1
+ - swfmorph.getshape2
+ - swfmovie
+ - swfmovie.add
+ - swfmovie.nextframe
+ - swfmovie.output
+ - swfmovie.remove
+ - swfmovie.save
+ - swfmovie.setbackground
+ - swfmovie.setdimension
+ - swfmovie.setframes
+ - swfmovie.setrate
+ - swfmovie.streammp3
+ - swfshape
+ - swfshape.addfill
+ - swfshape.drawcurve
+ - swfshape.drawcurveto
+ - swfshape.drawline
+ - swfshape.drawlineto
+ - swfshape.movepen
+ - swfshape.movepento
+ - swfshape.setleftfill
+ - swfshape.setline
+ - swfshape.setrightfill
+ - swfsprite
+ - swfsprite.add
+ - swfsprite.nextframe
+ - swfsprite.remove
+ - swfsprite.setframes
+ - swftext
+ - swftext.addstring
+ - swftext.getwidth
+ - swftext.moveto
+ - swftext.setcolor
+ - swftext.setfont
+ - swftext.setheight
+ - swftext.setspacing
+ - swftextfield
+ - swftextfield.addstring
+ - swftextfield.align
+ - swftextfield.setbounds
+ - swftextfield.setcolor
+ - swftextfield.setfont
+ - swftextfield.setheight
+ - swftextfield.setindentation
+ - swftextfield.setleftmargin
+ - swftextfield.setlinespacing
+ - swftextfield.setmargins
+ - swftextfield.setname
+ - swftextfield.setrightmargin
+ - sybase_affected_rows
+ - sybase_close
+ - sybase_connect
+ - sybase_data_seek
+ - sybase_fetch_array
+ - sybase_fetch_field
+ - sybase_fetch_object
+ - sybase_fetch_row
+ - sybase_field_seek
+ - sybase_free_result
+ - sybase_get_last_message
+ - sybase_min_client_severity
+ - sybase_min_error_severity
+ - sybase_min_message_severity
+ - sybase_min_server_severity
+ - sybase_num_fields
+ - sybase_num_rows
+ - sybase_pconnect
+ - sybase_query
+ - sybase_result
+ - sybase_select_db
+ - symlink
+ - sys_get_temp_dir
+ - sys_getloadavg
+ - syslog
+ - system
+ - tan
+ - tanh
+ - tempnam
+ - textdomain
+ - time
+ - time_nanosleep
+ - time_sleep_until
+ - timezone_abbreviations_list
+ - timezone_identifiers_list
+ - timezone_location_get
+ - timezone_name_from_abbr
+ - timezone_name_get
+ - timezone_offset_get
+ - timezone_open
+ - timezone_transitions_get
+ - timezone_version_get
+ - tmpfile
+ - token_get_all
+ - token_name
+ - touch
+ - trigger_error
+ - trim
+ - uasort
+ - ucfirst
+ - ucwords
+ - udm_add_search_limit
+ - udm_alloc_agent
+ - udm_api_version
+ - udm_cat_list
+ - udm_cat_path
+ - udm_check_charset
+ - udm_check_stored
+ - udm_clear_search_limits
+ - udm_close_stored
+ - udm_crc32
+ - udm_errno
+ - udm_error
+ - udm_find
+ - udm_free_agent
+ - udm_free_ispell_data
+ - udm_free_res
+ - udm_get_doc_count
+ - udm_get_res_field
+ - udm_get_res_param
+ - udm_load_ispell_data
+ - udm_open_stored
+ - udm_set_agent_param
+ - uksort
+ - umask
+ - uniqid
+ - unixtojd
+ - unlink
+ - unpack
+ - unregister_tick_function
+ - unserialize
+ - unset
+ - urldecode
+ - urlencode
+ - use_soap_error_handler
+ - user_error
+ - usleep
+ - usort
+ - utf8_decode
+ - utf8_encode
+ - var_dump
+ - var_export
+ - variant
+ - version_compare
+ - vfprintf
+ - virtual
+ - vpopmail_add_alias_domain
+ - vpopmail_add_alias_domain_ex
+ - vpopmail_add_domain
+ - vpopmail_add_domain_ex
+ - vpopmail_add_user
+ - vpopmail_alias_add
+ - vpopmail_alias_del
+ - vpopmail_alias_del_domain
+ - vpopmail_alias_get
+ - vpopmail_alias_get_all
+ - vpopmail_auth_user
+ - vpopmail_del_domain
+ - vpopmail_del_domain_ex
+ - vpopmail_del_user
+ - vpopmail_error
+ - vpopmail_passwd
+ - vpopmail_set_user_quota
+ - vprintf
+ - vsprintf
+ - w32api_deftype
+ - w32api_init_dtype
+ - w32api_invoke_function
+ - w32api_register_function
+ - w32api_set_call_method
+ - wddx_add_vars
+ - wddx_deserialize
+ - wddx_packet_end
+ - wddx_packet_start
+ - wddx_serialize_value
+ - wddx_serialize_vars
+ - wordwrap
+ - xdebug_break
+ - xdebug_call_class
+ - xdebug_call_file
+ - xdebug_call_function
+ - xdebug_call_line
+ - xdebug_clear_aggr_profiling_data
+ - xdebug_debug_zval
+ - xdebug_debug_zval_stdout
+ - xdebug_disable
+ - xdebug_dump_aggr_profiling_data
+ - xdebug_dump_superglobals
+ - xdebug_enable
+ - xdebug_get_code_coverage
+ - xdebug_get_collected_errors
+ - xdebug_get_declared_vars
+ - xdebug_get_formatted_function_stack
+ - xdebug_get_function_count
+ - xdebug_get_function_stack
+ - xdebug_get_headers
+ - xdebug_get_profiler_filename
+ - xdebug_get_stack_depth
+ - xdebug_get_tracefile_name
+ - xdebug_is_enabled
+ - xdebug_memory_usage
+ - xdebug_peak_memory_usage
+ - xdebug_print_function_stack
+ - xdebug_start_code_coverage
+ - xdebug_start_error_collection
+ - xdebug_start_trace
+ - xdebug_stop_code_coverage
+ - xdebug_stop_error_collection
+ - xdebug_stop_trace
+ - xdebug_time_index
+ - xdebug_var_dump
+ - xml_error_string
+ - xml_get_current_byte_index
+ - xml_get_current_column_number
+ - xml_get_current_line_number
+ - xml_get_error_code
+ - xml_parse
+ - xml_parse_into_struct
+ - xml_parser_create
+ - xml_parser_create_ns
+ - xml_parser_free
+ - xml_parser_get_option
+ - xml_parser_set_option
+ - xml_set_character_data_handler
+ - xml_set_default_handler
+ - xml_set_element_handler
+ - xml_set_end_namespace_decl_handler
+ - xml_set_external_entity_ref_handler
+ - xml_set_notation_decl_handler
+ - xml_set_object
+ - xml_set_processing_instruction_handler
+ - xml_set_start_namespace_decl_handler
+ - xml_set_unparsed_entity_decl_handler
+ - xmldoc
+ - xmldocfile
+ - xmlrpc_decode
+ - xmlrpc_decode_request
+ - xmlrpc_encode
+ - xmlrpc_encode_request
+ - xmlrpc_get_type
+ - xmlrpc_is_fault
+ - xmlrpc_parse_method_descriptions
+ - xmlrpc_server_add_introspection_data
+ - xmlrpc_server_call_method
+ - xmlrpc_server_create
+ - xmlrpc_server_destroy
+ - xmlrpc_server_register_introspection_callback
+ - xmlrpc_server_register_method
+ - xmlrpc_set_type
+ - xmltree
+ - xmlwriter_end_attribute
+ - xmlwriter_end_cdata
+ - xmlwriter_end_comment
+ - xmlwriter_end_document
+ - xmlwriter_end_dtd
+ - xmlwriter_end_dtd_attlist
+ - xmlwriter_end_dtd_element
+ - xmlwriter_end_dtd_entity
+ - xmlwriter_end_element
+ - xmlwriter_end_pi
+ - xmlwriter_flush
+ - xmlwriter_full_end_element
+ - xmlwriter_open_memory
+ - xmlwriter_open_uri
+ - xmlwriter_output_memory
+ - xmlwriter_set_indent
+ - xmlwriter_set_indent_string
+ - xmlwriter_start_attribute
+ - xmlwriter_start_attribute_ns
+ - xmlwriter_start_cdata
+ - xmlwriter_start_comment
+ - xmlwriter_start_document
+ - xmlwriter_start_dtd
+ - xmlwriter_start_dtd_attlist
+ - xmlwriter_start_dtd_element
+ - xmlwriter_start_dtd_entity
+ - xmlwriter_start_element
+ - xmlwriter_start_element_ns
+ - xmlwriter_start_pi
+ - xmlwriter_text
+ - xmlwriter_write_attribute
+ - xmlwriter_write_attribute_ns
+ - xmlwriter_write_cdata
+ - xmlwriter_write_comment
+ - xmlwriter_write_dtd
+ - xmlwriter_write_dtd_attlist
+ - xmlwriter_write_dtd_element
+ - xmlwriter_write_dtd_entity
+ - xmlwriter_write_element
+ - xmlwriter_write_element_ns
+ - xmlwriter_write_pi
+ - xmlwriter_write_raw
+ - xpath_eval
+ - xpath_eval_expression
+ - xpath_new_context
+ - xptr_eval
+ - xptr_new_context
+ - xslt_create
+ - xslt_errno
+ - xslt_error
+ - xslt_free
+ - xslt_process
+ - xslt_set_base
+ - xslt_set_encoding
+ - xslt_set_error_handler
+ - xslt_set_log
+ - xslt_set_sax_handler
+ - xslt_set_sax_handlers
+ - xslt_set_scheme_handler
+ - xslt_set_scheme_handlers
+ - yaz_addinfo
+ - yaz_ccl_conf
+ - yaz_ccl_parse
+ - yaz_close
+ - yaz_connect
+ - yaz_database
+ - yaz_element
+ - yaz_errno
+ - yaz_error
+ - yaz_hits
+ - yaz_itemorder
+ - yaz_present
+ - yaz_range
+ - yaz_record
+ - yaz_scan
+ - yaz_scan_result
+ - yaz_search
+ - yaz_sort
+ - yaz_syntax
+ - yaz_wait
+ - yp_all
+ - yp_cat
+ - yp_err_string
+ - yp_errno
+ - yp_first
+ - yp_get_default_domain
+ - yp_master
+ - yp_match
+ - yp_next
+ - yp_order
+ - zend_logo_guid
+ - zend_version
+ - zip_close
+ - zip_entry_close
+ - zip_entry_compressedsize
+ - zip_entry_compressionmethod
+ - zip_entry_filesize
+ - zip_entry_name
+ - zip_entry_open
+ - zip_entry_read
+ - zip_open
+ - zip_read
+ - zlib_get_coding_type
+
+
+ - $GLOBALS
+ - $_COOKIE
+ - $_ENV
+ - $_FILES
+ - $_GET
+ - $_POST
+ - $_REQUEST
+ - $_SERVER
+ - $_SESSION
+ - $php_errormsg
+ - $this
+
+
+ - APCIterator
+ - AppendIterator
+ - ArrayAccess
+ - ArrayIterator
+ - ArrayObject
+ - BadFunctionCallException
+ - BadMethodCallException
+ - CachingIterator
+ - Closure
+ - Countable
+ - DOMAttr
+ - DOMCDATASection
+ - DOMCharacterData
+ - DOMComment
+ - DOMConfiguration
+ - DOMDocument
+ - DOMDocumentFragment
+ - DOMDocumentType
+ - DOMDomError
+ - DOMElement
+ - DOMEntity
+ - DOMEntityReference
+ - DOMErrorHandler
+ - DOMException
+ - DOMImplementation
+ - DOMImplementationList
+ - DOMImplementationSource
+ - DOMLocator
+ - DOMNameList
+ - DOMNameSpaceNode
+ - DOMNamedNodeMap
+ - DOMNode
+ - DOMNodeList
+ - DOMNotation
+ - DOMProcessingInstruction
+ - DOMStringExtend
+ - DOMStringList
+ - DOMText
+ - DOMTypeinfo
+ - DOMUserDataHandler
+ - DOMXPath
+ - DateInterval
+ - DatePeriod
+ - DateTime
+ - DateTimeZone
+ - Directory
+ - DirectoryIterator
+ - DomainException
+ - EmptyIterator
+ - ErrorException
+ - Exception
+ - FilesystemIterator
+ - FilterIterator
+ - GlobIterator
+ - InfiniteIterator
+ - InvalidArgumentException
+ - Iterator
+ - IteratorAggregate
+ - IteratorIterator
+ - LengthException
+ - LibXMLError
+ - LimitIterator
+ - LogicException
+ - MultipleIterator
+ - MySQLi
+ - MySQLi_Driver
+ - MySQLi_SQL_Exception
+ - MySQLi_Result
+ - MySQLi_STMT
+ - MySQLi_Warning
+ - NoRewindIterator
+ - OCI-Collection
+ - OCI-LOB
+ - OutOfBoundsException
+ - OutOfRangeException
+ - OuterIterator
+ - OverflowException
+ - PDO
+ - PDOException
+ - PDORow
+ - PDOStatement
+ - ParentIterator
+ - Phar
+ - PharData
+ - PharException
+ - PharFileInfo
+ - RangeException
+ - RecursiveArrayIterator
+ - RecursiveCachingIterator
+ - RecursiveDirectoryIterator
+ - RecursiveFilterIterator
+ - RecursiveIterator
+ - RecursiveIteratorIterator
+ - RecursiveRegexIterator
+ - RecursiveTreeIterator
+ - Reflection
+ - ReflectionClass
+ - ReflectionException
+ - ReflectionExtension
+ - ReflectionFunction
+ - ReflectionFunctionAbstract
+ - ReflectionMethod
+ - ReflectionObject
+ - ReflectionParameter
+ - ReflectionProperty
+ - Reflector
+ - RegexIterator
+ - RuntimeException
+ - SQLite3
+ - SQLite3Result
+ - SQLite3Stmt
+ - SQLiteDatabase
+ - SQLiteException
+ - SQLiteResult
+ - SQLiteUnbuffered
+ - SeekableIterator
+ - Serializable
+ - SimpleXMLElement
+ - SimpleXMLIterator
+ - SplDoublyLinkedList
+ - SplFileInfo
+ - SplFileObject
+ - SplFixedArray
+ - SplHeap
+ - SplMaxHeap
+ - SplMinHeap
+ - SplObjectStorage
+ - SplObserver
+ - SplPriorityQueue
+ - SplQueue
+ - SplStack
+ - SplSubject
+ - SplTempFileObject
+ - Traversable
+ - UnderflowException
+ - UnexpectedValueException
+ - XMLReader
+ - XMLWriter
+ - XSLTProcessor
+ - ZipArchive
+ - __PHP_Incomplete_Class
+ - php_user_filter
+ - stdClass
+
+
+
+ - $HTTP_SERVER_VARS
+ - $HTTP_SESSION_VARS
+ - $HTTP_ENV_VARS
+ - $HTTP_POST_FILES
+ - $HTTP_COOKIE_VARS
+ - $HTTP_POST_VARS
+ - $HTTP_GET_VARS
+ - $DOCUMENT_ROOT
+
+
+ - call_user_method
+ - call_user_method_array
+ - ereg
+ - ereg_replace
+ - eregi
+ - eregi_replace
+ - mcrypt_ecb
+ - mime_content_type
+ - mysql_create_db
+ - mysql_dbname
+ - mysql_drop_db
+ - mysql_fieldflags
+ - mysql_fieldlen
+ - mysql_fieldname
+ - mysql_fieldtable
+ - mysql_fieldtype
+ - mysql_freeresult
+ - mysql_list_fields
+ - mysql_list_tables
+ - mysql_listdbs
+ - mysql_listfields
+ - mysql_listtables
+ - mysql_numfields
+ - mysql_numrows
+ - mysql_selectdb
+ - mysql_tablename
+ - mysqli_disable_reads_from_master
+ - mysqli_disable_rpl_parse
+ - mysqli_enable_reads_from_master
+ - mysqli_enable_rpl_parse
+ - mysqli_master_query
+ - mysqli_rpl_parse_enabled
+ - mysqli_rpl_probe
+ - mysqli_rpl_query_type
+ - mysqli_send_query
+ - mysqli_slave_query
+ - ocifetchinto
+ - ora_bind
+ - ora_close
+ - ora_columnname
+ - ora_columnsize
+ - ora_columntype
+ - ora_commit
+ - ora_commitoff
+ - ora_commiton
+ - ora_do
+ - ora_error
+ - ora_errorcode
+ - ora_exec
+ - ora_fetch
+ - ora_fetch_into
+ - ora_getcolumn
+ - ora_logoff
+ - ora_logon
+ - ora_numcols
+ - ora_numrows
+ - ora_open
+ - ora_parse
+ - ora_plogon
+ - ora_rollback
+ - php_check_syntax
+ - split
+ - spliti
+ - sql_regcase
+
+
+ - var
+
+
+ - OCI_DEFAULT
+ - OCI_D_FILE
+ - OCI_D_LOB
+ - OCI_D_ROWID
+ - OCI_EXACT_FETCH
+ - OCI_SYSDATE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/picsrc.xml b/data/syntax/picsrc.xml
new file mode 100644
index 0000000..39964a7
--- /dev/null
+++ b/data/syntax/picsrc.xml
@@ -0,0 +1,402 @@
+
+
+
+
+
+
+
+
+
+
+ - __BADRAM
+ - __CONFIG
+ - __IDLOCS
+ - __MAXRAM
+
+ - cblock
+ - constant
+ - da
+ - data
+ - db
+ - de
+ - dt
+ - dw
+ - endc
+ - endm
+ - equ
+ - error
+ - errorlevel
+ - exitm
+ - fill
+ - list
+ - local
+ - macro
+ - messg
+ - noexpand
+ - nolist
+ - org
+ - page
+ - processor
+ - radix
+ - res
+ - set
+ - space
+ - subtitle
+ - title
+ - variable
+ - end
+
+ - CBLOCK
+ - CONSTANT
+ - DA
+ - DATA
+ - DB
+ - DE
+ - DT
+ - DW
+ - ENDC
+ - ENDM
+ - EQU
+ - ERROR
+ - ERRORLEVEL
+ - EXITM
+ - FILL
+ - LIST
+ - LOCAL
+ - MACRO
+ - MESSG
+ - NOEXPAND
+ - NOLIST
+ - ORG
+ - PAGE
+ - PROCESSOR
+ - RADIX
+ - RES
+ - SET
+ - SPACE
+ - SUBTITLE
+ - TITLE
+ - VARIABLE
+ - END
+
+
+
+ - if
+ - else
+ - idef
+ - ifndef
+ - endif
+ - while
+ - include
+ - endw
+ - {
+ - }
+
+
+
+ - addcf
+ - b
+ - clrc
+ - clrz
+ - setc
+ - setz
+ - movfw
+ - skpc
+ - skpz
+ - skpnc
+ - skpnz
+ - subcf
+ - tstf
+
+ - ADDCF
+ - B
+ - CLRC
+ - CLRZ
+ - SETC
+ - SETZ
+ - MOVFW
+ - SKPC
+ - SKPZ
+ - SKPNC
+ - SKPNZ
+ - SUBCF
+ - TSTF
+
+
+
+ - addlw
+ - addwf
+ - addwfc
+ - andlw
+ - andwf
+ - bc
+ - bcf
+ - bn
+ - bnc
+ - bnov
+ - bnz
+ - bov
+ - bra
+ - bsf
+ - btg
+ - bz
+ - btfsc
+ - btfss
+ - call
+ - clrf
+ - clrw
+ - clrwdt
+ - comf
+ - cpfseq
+ - cpfslt
+ - cpfsgt
+ - daw
+ - decf
+ - dcfsnz
+ - decfsz
+ - goto
+ - incf
+ - incfsz
+ - infsnz
+ - iorlw
+ - iorwf
+ - lfsr
+ - movf
+ - movff
+ - movlb
+ - movlw
+ - movwf
+ - mullw
+ - mulwf
+ - negf
+ - nop
+ - option
+ - pop
+ - push
+ - rcall
+ - reset
+ - retfie
+ - retlw
+ - return
+ - rlcf
+ - rlf
+ - rlncf
+ - rrcf
+ - rrf
+ - rrncf
+ - setf
+ - sleep
+ - subfwb
+ - sublw
+ - subwf
+ - subwfb
+ - swapf
+ - tblrd
+ - tblwt
+ - tstfsz
+ - xorlw
+ - xorwf
+
+ - ADDLW
+ - ADDWF
+ - ADDWFC
+ - ANDLW
+ - ANDWF
+ - BC
+ - BCF
+ - BN
+ - BNC
+ - BNOV
+ - BNZ
+ - BOV
+ - BRA
+ - BSF
+ - BTG
+ - BZ
+ - BTFSC
+ - BTFSS
+ - CALL
+ - CLRF
+ - CLRW
+ - CLRWDT
+ - COMF
+ - CPFSEQ
+ - CPFSLT
+ - CPFSGT
+ - DAW
+ - DCFSNZ
+ - DECF
+ - DECFSZ
+ - GOTO
+ - INCF
+ - INCFSZ
+ - INFSNZ
+ - IORLW
+ - IORWF
+ - LFSR
+ - MOVF
+ - MOVFF
+ - MOVLB
+ - MOVLW
+ - MOVWF
+ - MULLW
+ - MULWF
+ - NEGF
+ - NOP
+ - OPTION
+ - POP
+ - PUSH
+ - RCALL
+ - RESET
+ - RETFIE
+ - RETLW
+ - RETURN
+ - RLCF
+ - RLF
+ - RLNCF
+ - RRCF
+ - RRF
+ - RRNCF
+ - SETF
+ - SLEEP
+ - SUBFWB
+ - SUBLW
+ - SUBWF
+ - SUBWFB
+ - SWAPF
+ - TBLRD
+ - TBLWT
+ - TSTFSZ
+ - XORLW
+ - XORWF
+
+
+
+ - A
+ - ACCESS
+ - BANKED
+ - W
+ - F
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/pig.xml b/data/syntax/pig.xml
new file mode 100644
index 0000000..7cc75fe
--- /dev/null
+++ b/data/syntax/pig.xml
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+ - load
+ - store
+ - filter
+ - foreach
+ - order
+ - arrange
+ - distinct
+ - cogroup
+ - join
+ - cross
+ - union
+ - onschema
+ - split
+ - into
+ - if
+ - all
+ - any
+ - as
+ - by
+ - using
+ - inner
+ - outer
+ - parallel
+ - group
+ - continuously
+ - window
+ - tuples
+ - generate
+ - eval
+ - define
+ - returns
+ - input
+ - output
+ - ship
+ - cache
+ - stream
+ - through
+ - seconds
+ - minutes
+ - hours
+ - asc
+ - desc
+ - null
+ - left
+ - right
+ - full
+
+
+ - cat
+ - cd
+ - cp
+ - copyFromLocal
+ - copyToLocal
+ - define
+ - dump
+ - illustrate
+ - describe
+ - explain
+ - exec
+ - help
+ - kill
+ - ls
+ - mv
+ - mkdir
+ - pwd
+ - quit
+ - register
+ - import
+ - rm
+ - set
+
+
+ - chararray
+ - bytearray
+ - int
+ - long
+ - float
+ - double
+ - tuple
+ - bag
+ - map
+
+
+ - and
+ - is
+ - not
+ - or
+ - eq
+ - neq
+ - gt
+ - lt
+ - gte
+ - lte
+ - matches
+
+
+ - flatten
+ - sum
+ - count
+ - min
+ - max
+ - avg
+ - arity
+ - tokenize
+ - diff
+ - size
+ - concat
+ - BinStorage
+ - PigStorage
+ - TextLoader
+ - PigDump
+ - IsEmpty
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/pike.xml b/data/syntax/pike.xml
new file mode 100644
index 0000000..eda28ea
--- /dev/null
+++ b/data/syntax/pike.xml
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+ - break
+ - case
+ - class
+ - continue
+ - default
+ - do
+ - else
+ - for
+ - foreach
+ - if
+ - return
+ - switch
+ - while
+
+
+ - array
+ - float
+ - function
+ - int
+ - mapping
+ - mixed
+ - multiset>
+ - object
+ - program
+ - static
+ - string
+ - void
+
+
+ - catch
+ - gauge
+ - sscanf
+ - typeof
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/pli.xml b/data/syntax/pli.xml
new file mode 100644
index 0000000..a8a5af9
--- /dev/null
+++ b/data/syntax/pli.xml
@@ -0,0 +1,455 @@
+
+
+
+
+
+ - ALIGNED
+ - AUTOMATIC
+ - BACKWARDS
+ - BIN
+ - BINARY
+ - BIT
+ - BUFFERED
+ - BUILTIN
+ - COMPLEX
+ - CONDITION
+ - CONNECTED
+ - CONTROLLED
+ - DEC
+ - DECIMAL
+ - DIRECT
+ - EVENT
+ - EXCLUSIVE
+ - EXTERNAL
+ - FILE
+ - FIXED
+ - FLOAT
+ - INPUT
+ - INTERNAL
+ - IRREDUCIBLE
+ - KEYED
+ - LIKE
+ - OUTPUT
+ - POINTER
+ - PRINT
+ - REAL
+ - RECORD
+ - REDUCIBLE
+ - SEQUENTIAL
+ - STATIC
+ - STREAM
+ - TASK
+ - TRANSIENT
+ - UNALIGNED
+ - UNBUFFERED
+ - UPDATE
+ - VARIABLE
+ - VAR
+ - VARYING
+
+
+ - A
+ - ABS
+ - ACOS
+ - ACTIVATE
+ - ADD
+ - ADDR
+ - ALIGNED
+ - ALL
+ - ALLOCATE
+ - ALLOCATION
+ - ANY
+ - AREA
+ - ASIN
+ - ASMTDLI
+ - ASSEMBLER
+ - ATAN
+ - ATAND
+ - ATANH
+ - ATTENTION
+ - AUTOMATIC
+ - B
+ - BACKWARDS
+ - BASED
+ - BEGIN
+ - BINARY
+ - BINARYVALUE
+ - BIT
+ - BOOL
+ - BUFFERED
+ - BUILTIN
+ - BY
+ - C
+ - CALL
+ - CEIL
+ - CHAR
+ - CHARACTER
+ - CHARGRAPHIC
+ - CHECK
+ - CLOSE
+ - COBOL
+ - COL
+ - COLUMN
+ - COMPILE
+ - COMPILETIME
+ - COMPLETION
+ - COMPLEX
+ - CONDITION
+ - CONJG
+ - CONNECTED
+ - CONTROLLED
+ - CONVERSION
+ - COPY
+ - COS
+ - COSD
+ - COSH
+ - COUNT
+ - COUNTER
+ - CURRENTSTORAGE
+ - DATA
+ - DATAFIELD
+ - DATE
+ - DATETIME
+ - DCL
+ - DEACTIVATE
+ - DECIMAL
+ - DECLARE
+ - DEF
+ - DEFAULT
+ - DEFINED
+ - DELAY
+ - DELETE
+ - DESCRIPTORS
+ - DIM
+ - DIRECT
+ - DISPLAY
+ - DIVIDE
+ - DO
+ - E
+ - EDIT
+ - ELSE
+ - EMPTY
+ - END
+ - ENDFILE
+ - ENDPAGE
+ - ENTRY
+ - ENTRYADDR
+ - ENVIRONMENT
+ - ERF
+ - ERFC
+ - ERROR
+ - EVENT
+ - EXCLUSIVE
+ - EXIT
+ - EXP
+ - EXTERNAL
+ - F
+ - FETCH
+ - FILE
+ - FINISH
+ - FIXED
+ - FIXEDOVERFLOW
+ - FLOAT
+ - FLOOR
+ - FORMAT
+ - FORTRAN
+ - FREE
+ - FROM
+ - G
+ - GENERIC
+ - GET
+ - GET-STRING
+ - GO
+ - GOTO
+ - GO_TO
+ - GRAPHIC
+ - HBOUND
+ - HIGH
+ - IF
+ - IGNORE
+ - IMAG
+ - IN
+ - %INCLUDE
+ - INCLUDE
+ - INDEX
+ - INIT
+ - INITIAL
+ - INPUT
+ - INTER
+ - INTERNAL
+ - INTO
+ - IRREDUCIBLE
+ - ITEM
+ - KEY
+ - KEYED
+ - KEYFROM
+ - KEYTO
+ - LABEL
+ - LBOUND
+ - LEAVE
+ - LENGTH
+ - LIKE
+ - LINE
+ - LINENO
+ - LINESIZE
+ - LIST
+ - LOCATE
+ - LOG
+ - LOG10
+ - LOG2
+ - LOW
+ - MAIN
+ - MAX
+ - MIN
+ - MPSTR
+ - MULTIPLY
+ - NAME
+ - NOCHARGRAPHIC
+ - NOEXECOPS
+ - NOLOCK
+ - NOMAP
+ - NOMAPIN
+ - NOMAPOUT
+ - NOPRINT
+ - NORESCAN
+ - NOTE
+ - NULL
+ - OFFSET
+ - ON
+ - ONCHAR
+ - ONCODE
+ - ONCOUNT
+ - ONFILE
+ - ONKEY
+ - ONLOC
+ - ONSOURCE
+ - OPEN
+ - OPTIONS
+ - ORDER
+ - OTHERWISE
+ - OUTPUT
+ - OVERFLOW
+ - P
+ - PAGE
+ - PAGESIZE
+ - PARMSET
+ - PENDING
+ - PICTURE
+ - PLICANC
+ - PLICKPT
+ - PLIDUMP
+ - PLIREST
+ - PLISRTA
+ - PLISRTB
+ - PLISRTC
+ - PLISRTD
+ - PLITDLI
+ - PLITEST
+ - POINTER
+ - POINTERADD
+ - POINTERVALUE
+ - POLY
+ - POS
+ - POSITION
+ - PRECISION
+ - PRINT
+ - PRIORITY
+ - PROC
+ - PROCEDURE
+ - PROCESS
+ - PROD
+ - PUT
+ - PUT-STRING
+ - R
+ - RANGE
+ - READ
+ - REAL
+ - RECORD
+ - RECURSIVE
+ - REDUCIBLE
+ - REENTRANT
+ - REFER
+ - RELEASE
+ - REORDER
+ - REPEAT
+ - REPLY
+ - REREAD
+ - RESCAN
+ - RETCODE
+ - RETURN
+ - RETURNS
+ - REVERT
+ - REWRITE_FILE
+ - SAMEKEY
+ - SELECT
+ - SEQUENTIAL
+ - SET
+ - SIGN
+ - SIGNAL
+ - SIN
+ - SIND
+ - SINH
+ - SIZE
+ - SKIP
+ - SNAP
+ - SQRT
+ - STATEMENT
+ - STATIC
+ - STATUS
+ - STOP
+ - STORAGE
+ - STREAM
+ - STRING
+ - STRINGRANGE
+ - STRINGSIZE
+ - SUBSCRIPTRANGE
+ - SUBSTR
+ - SUM
+ - SYSNULL
+ - SYSTEM
+ - TAN
+ - TAND
+ - TANH
+ - TASK
+ - THEN
+ - TIME
+ - TITLE
+ - TO
+ - TRANSIENT
+ - TRANSLATE
+ - TRANSMIT
+ - TRUNC
+ - UNALIGNED
+ - UNBUFFERED
+ - UNDEFINEDFILE
+ - UNDERFLOW
+ - UNLOCK
+ - UNSPEC
+ - UNTIL
+ - UPDATE
+ - VALUE
+ - VARIABLE
+ - VARYING
+ - VERIFY
+ - WAIT
+ - WHEN
+ - WHILE
+ - WRITE
+ - ZERODIVIDE
+
+
+ - MOD
+ - ROUND
+ - PLIRETC
+ - PLIRETV
+ - ADDR
+ - CEIL
+ - DATETIME
+ - INDEX
+ - LENGTH
+ - MAX
+ - MOD
+ - NULL
+ - PLIRETC
+ - PLIRETV
+ - PLISRTD
+ - ROUND
+ - STG
+ - SUBSTR
+ - ONCODE
+ - ONCONDCOND
+ - ONCOUNT
+ - ONFILE
+ - ONLOC
+ - ONSUBCODE
+
+
+ - BIN
+ - BINARY
+ - BIT
+ - BUILTIN
+ - CHAR
+ - CHARACTER
+ - DEC
+ - DECIMAL
+ - ENTRY
+ - FIXED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ply.xml b/data/syntax/ply.xml
new file mode 100644
index 0000000..6a8f139
--- /dev/null
+++ b/data/syntax/ply.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+ - format
+ - element
+ - property
+ - end_header
+
+
+ - char
+ - uchar
+ - short
+ - ushort
+ - int
+ - uint
+ - float
+ - double
+ - list
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/postscript.xml b/data/syntax/postscript.xml
new file mode 100644
index 0000000..4fcabbd
--- /dev/null
+++ b/data/syntax/postscript.xml
@@ -0,0 +1,434 @@
+
+
+
+
+
+ - abs
+ - add
+ - aload
+ - anchorsearch
+ - and
+ - arc
+ - arcn
+ - arct
+ - arcto
+ - array
+ - ashow
+ - astore
+ - awidthshow
+ - begin
+ - bind
+ - bitshift
+ - ceiling
+ - charpath
+ - clear
+ - cleartomark
+ - clip
+ - clippath
+ - closepath
+ - concat
+ - concatmatrix
+ - copy
+ - count
+ - counttomark
+ - currentcmykcolor
+ - currentdash
+ - currentdict
+ - currentfile
+ - currentfont
+ - currentgray
+ - currentgstate
+ - currenthsbcolor
+ - currentlinecap
+ - currentlinejoin
+ - currentlinewidth
+ - currentmatrix
+ - currentpoint
+ - currentrgbcolor
+ - currentshared
+ - curveto
+ - cvi
+ - cvlit
+ - cvn
+ - cvr
+ - cvrs
+ - cvs
+ - cvx
+ - def
+ - defineusername
+ - dict
+ - div
+ - dtransform
+ - dup
+ - end
+ - eoclip
+ - eofill
+ - eoviewclip
+ - eq
+ - exch
+ - exec
+ - exit
+ - file
+ - fill
+ - findfont
+ - flattenpath
+ - floor
+ - flush
+ - flushfile
+ - for
+ - forall
+ - ge
+ - get
+ - getinterval
+ - grestore
+ - gsave
+ - gstate
+ - gt
+ - identmatrix
+ - idiv
+ - idtransform
+ - if
+ - ifelse
+ - image
+ - imagemask
+ - index
+ - ineofill
+ - infill
+ - initviewclip
+ - inueofill
+ - inufill
+ - invertmatrix
+ - itransform
+ - known
+ - le
+ - length
+ - lineto
+ - load
+ - loop
+ - lt
+ - makefont
+ - matrix
+ - maxlength
+ - mod
+ - moveto
+ - mul
+ - ne
+ - neg
+ - newpath
+ - not
+ - null
+ - or
+ - pathbbox
+ - pathforall
+ - pop
+ - print
+ - printobject
+ - put
+ - putinterval
+ - rcurveto
+ - read
+ - readhexstring
+ - readline
+ - readstring
+ - rectclip
+ - rectfill
+ - rectstroke
+ - rectviewclip
+ - repeat
+ - restore
+ - rlineto
+ - rmoveto
+ - roll
+ - rotate
+ - round
+ - save
+ - scale
+ - scalefont
+ - search
+ - selectfont
+ - setbbox
+ - setcachedevice
+ - setcachedevice2
+ - setcharwidth
+ - setcmykcolor
+ - setdash
+ - setfont
+ - setgray
+ - setgstate
+ - sethsbcolor
+ - setlinecap
+ - setlinejoin
+ - setlinewidth
+ - setmatrix
+ - setrgbcolor
+ - setshared
+ - shareddict
+ - show
+ - showpage
+ - stop
+ - stopped
+ - store
+ - string
+ - stringwidth
+ - stroke
+ - strokepath
+ - sub
+ - systemdict
+ - token
+ - transform
+ - translate
+ - truncate
+ - type
+ - uappend
+ - ucache
+ - ueofill
+ - ufill
+ - undef
+ - upath
+ - userdict
+ - ustroke
+ - viewclip
+ - viewclippath
+ - where
+ - widthshow
+ - write
+ - writehexstring
+ - writeobject
+ - writestring
+ - wtranslation
+ - xor
+ - xshow
+ - xyshow
+ - yshow
+ - FontDirectory
+ - SharedFontDirectory
+ - Courier
+ - Courier-Bold
+ - Courier-BoldOblique
+ - Courier-Oblique
+ - Helvetica
+ - Helvetica-Bold
+ - Helvetica-BoldOblique
+ - Helvetica-Oblique
+ - Symbol
+ - Times-Bold
+ - Times-BoldItalic
+ - Times-Italic
+ - Times-Roman
+ - execuserobject
+ - currentcolor
+ - currentcolorspace
+ - currentglobal
+ - execform
+ - filter
+ - findresource
+ - globaldict
+ - makepattern
+ - setcolor
+ - setcolorspace
+ - setglobal
+ - setpagedevice
+ - setpattern
+ - ISOLatin1Encoding
+ - StandardEncoding
+ - atan
+ - banddevice
+ - bytesavailable
+ - cachestatus
+ - closefile
+ - colorimage
+ - condition
+ - copypage
+ - cos
+ - countdictstack
+ - countexecstack
+ - cshow
+ - currentblackgeneration
+ - currentcacheparams
+ - currentcolorscreen
+ - currentcolortransfer
+ - currentcontext
+ - currentflat
+ - currenthalftone
+ - currenthalftonephase
+ - currentmiterlimit
+ - currentobjectformat
+ - currentpacking
+ - currentscreen
+ - currentstrokeadjust
+ - currenttransfer
+ - currentundercolorremoval
+ - defaultmatrix
+ - definefont
+ - deletefile
+ - detach
+ - deviceinfo
+ - dictstack
+ - echo
+ - erasepage
+ - errordict
+ - execstack
+ - executeonly
+ - exp
+ - false
+ - filenameforall
+ - fileposition
+ - fork
+ - framedevice
+ - grestoreall
+ - handleerror
+ - initclip
+ - initgraphics
+ - initmatrix
+ - instroke
+ - inustroke
+ - join
+ - kshow
+ - ln
+ - lock
+ - log
+ - mark
+ - monitor
+ - noaccess
+ - notify
+ - nulldevice
+ - packedarray
+ - quit
+ - rand
+ - rcheck
+ - readonly
+ - realtime
+ - renamefile
+ - renderbands
+ - resetfile
+ - reversepath
+ - rootfont
+ - rrand
+ - run
+ - scheck
+ - setblackgeneration
+ - setcachelimit
+ - setcacheparams
+ - setcolorscreen
+ - setcolortransfer
+ - setfileposition
+ - setflat
+ - sethalftone
+ - sethalftonephase
+ - setmiterlimit
+ - setobjectformat
+ - setpacking
+ - setscreen
+ - setstrokeadjust
+ - settransfer
+ - setucacheparams
+ - setundercolorremoval
+ - sin
+ - sqrt
+ - srand
+ - stack
+ - status
+ - statusdict
+ - true
+ - ucachestatus
+ - undefinefont
+ - usertime
+ - ustrokepath
+ - version
+ - vmreclaim
+ - vmstatus
+ - wait
+ - wcheck
+ - xcheck
+ - yield
+ - defineuserobject
+ - undefineuserobject
+ - UserObjects
+ - cleardictstack
+ - setvmthreshold
+ - currentcolorrendering
+ - currentdevparams
+ - currentoverprint
+ - currentpagedevice
+ - currentsystemparams
+ - currentuserparams
+ - defineresource
+ - findencoding
+ - gcheck
+ - glyphshow
+ - languagelevel
+ - product
+ - pstack
+ - resourceforall
+ - resourcestatus
+ - revision
+ - serialnumber
+ - setcolorrendering
+ - setdevparams
+ - setoverprint
+ - setsystemparams
+ - setuserparams
+ - startjob
+ - undefineresource
+ - GlobalFontDirectory
+ - ASCII85Decode
+ - ASCII85Encode
+ - ASCIIHexDecode
+ - ASCIIHexEncode
+ - CCITTFaxDecode
+ - CCITTFaxEncode
+ - DCTDecode
+ - DCTEncode
+ - LZWDecode
+ - LZWEncode
+ - NullEncode
+ - RunLengthDecode
+ - RunLengthEncode
+ - SubFileDecode
+ - CIEBasedA
+ - CIEBasedABC
+ - DeviceCMYK
+ - DeviceGray
+ - DeviceRGB
+ - Indexed
+ - Pattern
+ - Separation
+ - CIEBasedDEF
+ - CIEBasedDEFG
+ - DeviceN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/povray.xml b/data/syntax/povray.xml
new file mode 100644
index 0000000..657bbdb
--- /dev/null
+++ b/data/syntax/povray.xml
@@ -0,0 +1,976 @@
+
+
+
+
+
+
+
+
+
+
+ - aa_threshold
+ - aa_level
+ - absorption
+ - abs
+ - accuracy
+ - acosh
+ - acos
+ - adaptive
+ - adc_bailout
+ - agate
+ - agate_turb
+ - all_intersections
+ - all
+ - alpha
+ - always_sample
+ - altitude
+ - ambient_light
+ - ambient
+ - angle
+ - aperture
+ - append
+ - arc_angle
+ - area_light
+ - array
+ - ascii
+ - asc
+ - asinh
+ - asin
+ - assumed_gamma
+ - atan2
+ - atanh
+ - atan
+ - average
+ - background
+ - bezier_spline
+ - bicubic_patch
+ - black_hole
+ - blob
+ - blue
+ - blur_samples
+ - bounded_by
+ - boxed
+ - box
+ - bozo
+ - brick_size
+ - brick
+ - brightness
+ - brilliance
+ - bumps
+ - bump_map
+ - bump_size
+ - b_spline
+ - camera
+ - caustics
+ - ceil
+ - cells
+ - charset
+ - checker
+ - chr
+ - circular
+ - clipped_by
+ - clock_delta
+ - clock_on
+ - clock
+ - color_map
+ - colour_map
+ - color
+ - colour
+ - component
+ - composite
+ - concat
+ - cone
+ - confidence
+ - conic_sweep
+ - contained_by
+ - control0
+ - control1
+ - coords
+ - cosh
+ - cos
+ - count
+ - crackle
+ - crand
+ - cube
+ - cubic_spline
+ - cubic
+ - cubic_wave
+ - cylinder
+ - cylindrical
+ - defined
+ - degrees
+ - density_file
+ - density_map
+ - density
+ - dents
+ - df3
+ - difference
+ - diffuse
+ - dimensions
+ - dimension_size
+ - direction
+ - disc
+ - dispersion
+ - dispersion_samples
+ - distance_maximum
+ - distance
+ - dist_exp
+ - div
+ - double_illuminate
+ - eccentricity
+ - emission
+ - error_bound
+ - evaluate
+ - exp
+ - exponent
+ - exterior
+ - extinction
+ - facets
+ - face_indices
+ - fade_colour
+ - fade_color
+ - fade_distance
+ - fade_power
+ - falloff_angle
+ - falloff
+ - false
+ - file_exists
+ - shadowless
+ - filter
+ - final_clock
+ - final_frame
+ - finish
+ - fisheye
+ - flatness
+ - flip
+ - floor
+ - focal_point
+ - fog_alt
+ - fog_offset
+ - fog
+ - fog_type
+ - form
+ - frame_number
+ - frequency
+ - fresnel
+ - function
+ - gif
+ - global_settings
+ - gradient
+ - granite
+ - gray
+ - gray_threshold
+ - green
+ - height_field
+ - hexagon
+ - hf_gray_16
+ - hierarchy
+ - hollow
+ - hypercomplex
+ - image_width
+ - image_height
+ - initial_clock
+ - initial_frame
+ - interior_texture
+ - iff
+ - image_map
+ - image_pattern
+ - inside
+ - inside_vector
+ - interior
+ - interpolate
+ - intersection
+ - intervals
+ - int
+ - inverse
+ - ior
+ - irid
+ - irid_wavelength
+ - isosurface
+ - jitter
+ - julia
+ - julia_fractal
+ - jpeg
+ - lambda
+ - lathe
+ - leopard
+ - light_group
+ - light_source
+ - linear_spline
+ - linear_sweep
+ - ln
+ - load_file
+ - location
+ - log
+ - looks_like
+ - look_at
+ - low_error_factor
+ - magnet
+ - major_radius
+ - mandel
+ - map_type
+ - marble
+ - material_map
+ - material
+ - matrix
+ - max_extent
+ - max_gradient
+ - max_intersections
+ - max_iteration
+ - max_sample
+ - max
+ - max_trace_level
+ - max_trace
+ - media_attenuation
+ - media_interaction
+ - media
+ - merge
+ - mesh2
+ - mesh
+ - metallic
+ - method
+ - metric
+ - minimum_reuse
+ - min_extent
+ - min
+ - mod
+ - mortar
+ - natural_spline
+ - nearest_count
+ - normal
+ - normal_indices
+ - normal_map
+ - normal_vectors
+ - no_image
+ - no_reflection
+ - no_shadow
+ - no
+ - number_of_waves
+ - object
+ - octaves
+ - offset
+ - off
+ - omega
+ - omnimax
+ - once
+ - onion
+ - on
+ - open
+ - orientation
+ - orient
+ - orthographic
+ - panoramic
+ - parallel
+ - parametric
+ - pattern
+ - perspective
+ - pgm
+ - phase
+ - phong_size
+ - phong
+ - pigment_map
+ - pigment
+ - pi
+ - planar
+ - plane
+ - png
+ - point_at
+ - polygon
+ - poly
+ - poly_wave
+ - pot
+ - pow
+ - ppm
+ - precision
+ - precompute
+ - pretrace_start
+ - pretrace_end
+ - prism
+ - prod
+ - projected_through
+ - pwr
+ - quadratic_spline
+ - quadric
+ - quartic
+ - quaternion
+ - quick_color
+ - quick_colour
+ - quilted
+ - radial
+ - radians
+ - radiosity
+ - radius
+ - rainbow
+ - ramp_wave
+ - rand
+ - range
+ - ratio
+ - reciprocal
+ - recursion_limit
+ - red
+ - reflection_exponent
+ - reflection
+ - refraction
+ - repeat
+ - rgbft
+ - rgbf
+ - rgbt
+ - rgb
+ - right
+ - ripples
+ - rotate
+ - roughness
+ - samples
+ - save_file
+ - scale
+ - scallop_wave
+ - scattering
+ - seed
+ - select
+ - sine_wave
+ - sinh
+ - sin
+ - size
+ - sky_sphere
+ - sky
+ - slice
+ - slope_map
+ - slope
+ - smooth
+ - smooth_triangle
+ - solid
+ - sor
+ - specular
+ - sphere_sweep
+ - sphere
+ - spherical
+ - spiral1
+ - spiral2
+ - spline
+ - spotlight
+ - spotted
+ - sqrt
+ - sqr
+ - statistics
+ - strcmp
+ - strength
+ - strlen
+ - strlwr
+ - strupr
+ - str
+ - sturm
+ - substr
+ - sum
+ - superellipsoid
+ - sys
+ - tanh
+ - tan
+ - texture_list
+ - texture_map
+ - texture
+ - text
+ - tga
+ - thickness
+ - threshold
+ - tiff
+ - tightness
+ - tile2
+ - tiles
+ - normal
+ - tolerance
+ - toroidal
+ - torus
+ - trace
+ - transform
+ - translate
+ - transmit
+ - triangle
+ - triangle_wave
+ - true
+ - ttf
+ - turbulence
+ - turb_depth
+ - type
+ - t
+ - ultra_wide_angle
+ - union
+ - up
+ - use_alpha
+ - use_color
+ - use_colour
+ - use_index
+ - utf8
+ - uv_indices
+ - uv_mapping
+ - uv_vectors
+ - u_steps
+ - u
+ - val
+ - variance
+ - vaxis_rotate
+ - vcross
+ - vdot
+ - vertex_vectors
+ - vlength
+ - vnormalize
+ - vrotate
+ - vstr
+ - vturbulence
+ - v_steps
+ - v
+ - warning
+ - warp
+ - water_level
+ - waves
+ - while
+ - width
+ - wood
+ - wrinkles
+ - write
+ - x
+ - yes
+ - y
+ - z
+ - photons
+ - steps
+ - pass_through
+ - collect
+ - autostop
+ - gather
+ - split_union
+ - expand_thresholds
+ - spacing
+ - global
+ - target
+ - conserve_energy
+ - cutaway_textures
+ - pigment_pattern
+ - no_bump_scale
+ - global_lights
+ - internal
+ - noise_generator
+
+
+ - akima_spline
+ - aoi
+ - basic_x_spline
+ - camera_view
+ - displace
+ - exposure
+ - exposure_gain
+ - extended_x_spline
+ - float
+ - frame_step
+ - date
+ - start_chrono
+ - current_chrono
+ - general_x_spline
+ - glow
+ - h_align_left
+ - h_align_right
+ - h_align_center
+ - v_align_top
+ - v_align_bottom
+ - v_align_center
+ - inverted_normals
+ - is
+ - listed
+ - mpeg
+ - n_roots
+ - noise_pigment
+ - output_filename
+ - post_process
+ - projection
+ - point
+ - blur
+ - set
+ - sor_spline
+ - string
+ - structure
+ - tcb_spline
+ - tension
+ - continuity
+ - bias
+ - user_defined
+ - vector
+ - unofficial_version
+ - gravity
+ - environment
+ - friction
+ - damping
+ - simcloth
+ - wind
+ - neighbors
+ - neighbours
+ - internal_collision
+ - viscosity
+ - iterations
+ - input
+ - mesh_output
+ - smooth_mesh
+ - uv_mesh
+ - output
+ - stiffness
+ - topology
+ - mass
+ - connection
+ - face
+ - velocity
+ - position
+ - mass_count
+ - connection_count
+ - face_count
+ - index1
+ - index2
+ - index3
+ - time
+ - time_step
+ - step_count
+ - start_time
+ - end_time
+ - fixed
+ - collision
+ - interaction
+ - group
+ - attach
+ - field
+ - mechsim
+ - bounding
+ - viscoelastic
+ - viscoelastic_count
+ - element
+ - length
+ - force
+ - message
+ - weight
+ - randomize
+ - hdr
+ - no_radiosity
+ - motion_blur
+ - tone_mapping
+ - show_samples
+ - show_low_count
+
+
+ - bicubic_patch
+ - blob
+ - box
+ - cone
+ - cubic
+ - cylinder
+ - difference
+ - disc
+ - height_field
+ - intersection
+ - isosurface
+ - julia_fractal
+ - lathe
+ - light_source
+ - merge
+ - mesh
+ - mesh2
+ - object
+ - parametric
+ - plane
+ - poly
+ - polygon
+ - prism
+ - quadric
+ - quartic
+ - smooth_triangle
+ - sor
+ - sphere
+ - sphere_sweep
+ - superellipsoid
+ - text
+ - torus
+ - triangle
+ - union
+
+
+ - aa_threshold
+ - aa_level
+ - absorption
+ - agate
+ - agate_turb
+ - ambient
+ - average
+ - black_hole
+ - blue
+ - boxed
+ - brick_size
+ - brick
+ - brilliance
+ - bumps
+ - bump_map
+ - bump_size
+ - caustics
+ - cells
+ - checker
+ - color_map
+ - colour_map
+ - color
+ - colour
+ - conserve_energy
+ - control0
+ - control1
+ - crackle
+ - crand
+ - cubic_wave
+ - cylindrical
+ - density_file
+ - density_map
+ - density
+ - dents
+ - diffuse
+ - dist_exp
+ - double_illuminate
+ - eccentricity
+ - emission
+ - exponent
+ - exterior
+ - extinction
+ - facets
+ - fade_colour
+ - fade_color
+ - fade_distance
+ - fade_power
+ - filter
+ - finish
+ - form
+ - frequency
+ - fresnel
+ - gradient
+ - granite
+ - gray
+ - green
+ - hexagon
+ - hypercomplex
+ - interior_texture
+ - image_map
+ - image_pattern
+ - interior
+ - interpolate
+ - intervals
+ - ior
+ - irid
+ - irid_wavelength
+ - julia
+ - lambda
+ - leopard
+ - magnet
+ - mandel
+ - map_type
+ - marble
+ - material_map
+ - material
+ - media
+ - metallic
+ - method
+ - metric
+ - mortar
+ - normal
+ - normal_map
+ - number_of_waves
+ - octaves
+ - omega
+ - once
+ - onion
+ - orientation
+ - phase
+ - phong_size
+ - phong
+ - pigment_map
+ - pigment
+ - planar
+ - quaternion
+ - quick_color
+ - quick_colour
+ - quilted
+ - radial
+ - ramp_wave
+ - red
+ - reflection_exponent
+ - reflection
+ - repeat
+ - rgbft
+ - rgbf
+ - rgbt
+ - rgb
+ - ripples
+ - roughness
+ - samples
+ - scallop_wave
+ - scattering
+ - sine_wave
+ - slope_map
+ - slope
+ - solid
+ - specular
+ - spherical
+ - spiral1
+ - spiral2
+ - spotted
+ - texture_list
+ - texture_map
+ - texture
+ - tile2
+ - tiles
+ - normal
+ - toroidal
+ - transmit
+ - triangle_wave
+ - turbulence
+ - turb_depth
+ - use_alpha
+ - use_color
+ - use_colour
+ - use_index
+ - uv_mapping
+ - warp
+ - waves
+ - wood
+ - wrinkles
+ - cutaway_textures
+ - pigment_pattern
+ - no_bump_scale
+
+
+ - matrix
+ - rotate
+ - scale
+ - translate
+ - transform
+
+
+ - df3
+ - gif
+ - iff
+ - jpeg
+ - pgm
+ - png
+ - pot
+ - ppm
+ - tga
+ - tiff
+ - ttf
+
+
+ - clock
+ - clock_delta
+ - clock_on
+ - final_clock
+ - final_frame
+ - frame_number
+ - image_height
+ - image_width
+ - initial_clock
+ - initial_frame
+ - t
+ - u
+ - v
+ - x
+ - y
+ - z
+
+
+ - false
+ - no
+ - off
+ - on
+ - pi
+ - true
+ - yes
+
+
+ - abs
+ - acos
+ - acosh
+ - asc
+ - asin
+ - asinh
+ - atan
+ - atan2
+ - atanh
+ - ceil
+ - chr
+ - concat
+ - cos
+ - cosh
+ - cube
+ - defined
+ - degress
+ - dimension_size
+ - dimensions
+ - div
+ - exp
+ - file_exists
+ - floor
+ - inside
+ - int
+ - ln
+ - log
+ - max
+ - min
+ - mod
+ - pow
+ - prod
+ - pwr
+ - radians
+ - rand
+ - seed
+ - select
+ - sin
+ - sinh
+ - sqrt
+ - str
+ - strcmp
+ - strlen
+ - strlwr
+ - strupr
+ - substr
+ - sum
+ - tan
+ - tanh
+ - trace
+ - val
+ - vaxis_rotate
+ - vcross
+ - vdot
+ - vlength
+ - vnormalize
+ - vrotate
+ - vstr
+ - vturbulence
+
+
+ - #debug
+ - #default
+ - #else
+ - #end
+ - #error
+ - #fclose
+ - #fopen
+ - #if
+ - #ifdef
+ - #ifndef
+ - #include
+ - #range
+ - #read
+ - #render
+ - #statistics
+ - #switch
+ - #undef
+ - #version
+ - #warning
+ - #while
+ - #write
+
+
+ - FIXME
+ - TODO
+ - ###
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ppd.xml b/data/syntax/ppd.xml
new file mode 100644
index 0000000..96b334e
--- /dev/null
+++ b/data/syntax/ppd.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/praat.xml b/data/syntax/praat.xml
new file mode 100644
index 0000000..545ea35
--- /dev/null
+++ b/data/syntax/praat.xml
@@ -0,0 +1,510 @@
+
+
+]>
+
+
+
+
+ - assert
+ - clearinfo
+ - demo
+ - elif
+ - else
+ - elsif
+ - from
+ - minus
+ - nocheck
+ - noprogress
+ - nowarn
+ - plus
+ - select
+ - stopwatch
+ - then
+ - to
+
+
+ - backslashTrigraphsToUnicode$
+ - chooseDirectory$
+ - chooseReadFile$
+ - chooseWriteFile$
+ - date$
+ - demoKey$
+ - do$
+ - environment$
+ - extractLine$
+ - extractWord$
+ - fixed$
+ - info$
+ - left$
+ - mid$
+ - percent$
+ - readFile$
+ - replace$
+ - replace_regex$
+ - right$
+ - selected$
+ - string$
+
+
+ - abs
+ - appendFile
+ - appendFileLine
+ - appendInfo
+ - appendInfoLine
+ - arccos
+ - arccosh
+ - arcsin
+ - arcsinh
+ - arctan
+ - arctan2
+ - arctanh
+ - barkToHertz
+ - beginPause
+ - beginSendPraat
+ - besselI
+ - besselK
+ - beta
+ - beta2
+ - binomialP
+ - binomialQ
+ - boolean
+ - ceiling
+ - chiSquareP
+ - chiSquareQ
+ - choice
+ - comment
+ - cos
+ - cosh
+ - createDirectory
+ - deleteFile
+ - demoClicked
+ - demoClickedIn
+ - demoCommandKeyPressed
+ - demoExtraControlKeyPressed
+ - demoInput
+ - demoKeyPressed
+ - demoOptionKeyPressed
+ - demoShiftKeyPressed
+ - demoShow
+ - demoWaitForInput
+ - demoWindowTitle
+ - demoX
+ - demoY
+ - differenceLimensToPhon
+ - do
+ - editor
+ - endPause
+ - endSendPraat
+ - endsWith
+ - erb
+ - erbToHertz
+ - erf
+ - erfc
+ - exitScript
+ - exp
+ - extractNumber
+ - fileReadable
+ - fisherP
+ - fisherQ
+ - floor
+ - gaussP
+ - gaussQ
+ - hash
+ - hertzToBark
+ - hertzToErb
+ - hertzToMel
+ - hertzToSemitones
+ - imax
+ - imin
+ - incompleteBeta
+ - incompleteGammaP
+ - index
+ - index_regex
+ - integer
+ - invBinomialP
+ - invBinomialQ
+ - invChiSquareQ
+ - invFisherQ
+ - invGaussQ
+ - invSigmoid
+ - invStudentQ
+ - length
+ - ln
+ - lnBeta
+ - lnGamma
+ - log10
+ - log2
+ - max
+ - melToHertz
+ - min
+ - minusObject
+ - natural
+ - number
+ - numberOfColumns
+ - numberOfRows
+ - numberOfSelected
+ - objectsAreIdentical
+ - option
+ - optionMenu
+ - pauseScript
+ - phonToDifferenceLimens
+ - plusObject
+ - positive
+ - randomBinomial
+ - randomGauss
+ - randomInteger
+ - randomPoisson
+ - randomUniform
+ - real
+ - readFile
+ - removeObject
+ - rindex
+ - rindex_regex
+ - round
+ - runScript
+ - runSystem
+ - runSystem_nocheck
+ - selectObject
+ - selected
+ - semitonesToHertz
+ - sentence
+ - sentencetext
+ - sigmoid
+ - sin
+ - sinc
+ - sincpi
+ - sinh
+ - soundPressureToPhon
+ - sqrt
+ - startsWith
+ - studentP
+ - studentQ
+ - tan
+ - tanh
+ - text
+ - variableExists
+ - word
+ - writeFile
+ - writeFileLine
+ - writeInfo
+ - writeInfoLine
+
+
+ - linear#
+ - randomGauss#
+ - randomInteger#
+ - randomUniform#
+ - zero#
+
+
+ - all
+ - average
+ - e
+ - left
+ - macintosh
+ - mono
+ - pi
+ - praatVersion
+ - right
+ - stereo
+ - undefined
+ - unix
+ - windows
+
+
+ - praatVersion$
+ - tab$
+ - shellDirectory$
+ - homeDirectory$
+ - preferencesDirectory$
+ - newline$
+ - temporaryDirectory$
+ - defaultDirectory$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/progress.xml b/data/syntax/progress.xml
new file mode 100644
index 0000000..46a105c
--- /dev/null
+++ b/data/syntax/progress.xml
@@ -0,0 +1,1709 @@
+
+
+
+
+
+
+
+ - CHAR
+ - CHARACTER
+ - COM-HANDLE
+ - DECI
+ - DECIMAL
+ - DATE
+ - INTE
+ - INTEGER
+ - ROWID
+ - RECID
+ - LOGI
+ - LONGCHAR
+ - LOGICAL
+ - HANDLE
+ - WIDGET-HANDLE
+ - RAW
+ - LONG
+ - BYTE
+ - SHORT
+ - BLOB
+ - UNSIGNED-SHORT
+ - FLOAT
+ - DOUBLE
+ - CLOB
+ - LONGCHAR
+ - DATETIME
+ - DATETIME-TZ
+ - TEMP-TABLE
+ - DATASET
+ - DATASET-HANDLE
+ - BUFFER
+ - STREAM
+ - SAX-WRITER
+ - MEMPTR
+
+
+
+ - AND
+ - OR
+ - NOT
+ - BEGINS
+ - MATCHES
+ - MODULO
+ - EQ
+ - NE
+ - LT
+ - GT
+ - GE
+ - LE
+ - FALSE
+ - TRUE
+ - YES
+ - NO
+
+
+
+ - OUT
+ - BATCH-MODE
+ - FILE-NAME
+ - GLOBAL-DEFINE
+ - LINE-NUMBER
+ - OPSYS
+ - ENDIF
+ - SCOPED-DEFINE
+ - SEQUENCE
+ - UNDEFINE
+ - WINDOW-SYSTEM
+ - ANALYZE-RESUME
+ - ANALYZE-SUSPEND
+ - WEBSTREAM
+
+
+
+ - VOID
+ - IMPLEMENTS
+ - OVERRIDE
+ - FINAL
+ - INHERITS
+ - AS
+ - WORD-INDEX
+ - LIKE
+ - ALERT-BOX
+ - AT
+ - COLOR
+ - COMBO-BOX
+ - EDITOR
+ - FORMAT
+ - FRAME
+ - IMAGE
+ - ENDKEY
+ - ERROR
+ - QUIT
+ - STOP
+ - PRESELECT
+ - QUERY-TUNING
+ - RADIO-SET
+ - RECORD
+ - SELECTION-LIST
+ - SIZE
+ - SLIDER
+ - TRIGGER
+ - WIDGET
+ - VIEW-AS
+ - NO-UNDO
+ - NO-ERROR
+ - OUT
+ - WHERE
+ - GLOBAL
+ - SHARED
+ - DEFINED
+ - EXCLUSIVE-LOCK
+ - SHARE-LOCK
+ - NO-LOCK
+ - EACH
+ - FIRST
+ - PREV
+ - LAST
+ - SKIP
+ - FORWARD
+ - UNIQUE
+ - UNFORMATTED
+ - APPEND
+ - IN
+ - OF
+ - BEFORE-HIDE
+ - NO-BOX
+ - NO-UNDERLINE
+ - KEEP-TAB-ORDER
+ - UNBUFFERED
+ - BINARY
+ - NO-CONVERT
+ - CONVERT
+ - TARGET
+ - NO-FILL
+ - BY
+ - NO-LABEL
+ - GROUP
+ - BREAK
+ - COLON-ALIGNED
+ - WITH
+ - NO-LABELS
+ - NO-PAUSE
+ - NO-MESSAGE
+ - NO-ECHO
+ - NO-MAP
+ - PRIVATE
+ - PUBLIC
+ - PROTECTED
+
+
+
+ - ROW-UPDATE
+ - VALID-OBJECT
+ - TYPE-OF
+ - CAST
+ - AUDIT-ENABLED
+ - GENERATE-UUID
+ - GUID
+ - HEX-DECODE
+ - HEX-ENCODE
+ - SET-DB-CLIENT
+ - output-content-type
+ - get-value
+ - get-cgi
+ - get-field
+ - html-encode
+ - url-encode
+ - ABSOLUTE
+ - ACCUM
+ - ADD-INTERVAL
+ - ALIAS
+ - AMBIGUOUS
+ - ASC
+ - AVAILABLE
+ - BASE64-DECODE
+ - BASE64-ENCODE
+ - CAN-DO
+ - CAN-FIND
+ - CAN-QUERY
+ - CAN-SET
+ - CAPS
+ - CHR
+ - CODEPAGE-CONVERT
+ - COMPARE
+ - CONNECTED
+ - COUNT-OF
+ - CURRENT-CHANGED
+ - CURRENT-LANGUAGE
+ - CURRENT-RESULT-ROW
+ - CURRENT-VALUE
+ - DATASERVERS
+ - DATA-SOURCE-MODIFIED
+ - DATE
+ - DATETIME
+ - DATETIME-TZ
+ - DAY
+ - DBCODEPAGE
+ - DBCOLLATION
+ - DBNAME
+ - DBPARAM
+ - DBRESTRICTIONS
+ - DBTASKID
+ - DBTYPE
+ - DBVERSION
+ - DECIMAL
+ - DECRYPT
+ - DYNAMIC-CURRENT-VALUE
+ - DYNAMIC-FUNCTION
+ - DYNAMIC-NEXT-VALUE
+ - ENCODE
+ - ENCRYPT
+ - ENTERED
+ - ENTRY
+ - ERROR
+ - ETIME
+ - EXP
+ - EXTENT
+ - FILL
+ - FIRST
+ - FIRST-OF
+ - FIX-CODEPAGE
+ - FRAME-COL
+ - FRAME-DB
+ - FRAME-DOWN
+ - FRAME-FIELD
+ - FRAME-FILE
+ - FRAME-INDEX
+ - FRAME-LINE
+ - FRAME-NAME
+ - FRAME-ROW
+ - FRAME-VALUE
+ - GENERATE-PBE-KEY
+ - GENERATE-PBE-SALT
+ - GENERATE-RANDOM-KEY
+ - GET-BITS
+ - GET-BYTE
+ - GET-BYTE-ORDER
+ - GET-BYTES
+ - GET-CODEPAGE
+ - GET-CODEPAGES
+ - GET-COLLATION
+ - GET-COLLATIONS
+ - GET-DOUBLE
+ - GET-FLOAT
+ - GET-LONG
+ - GET-POINTER-VALUE
+ - GET-SHORT
+ - GET-SIZE
+ - GET-STRING
+ - GET-UNSIGNED-SHORT
+ - INDEX
+ - INTEGER
+ - INTERVAL
+ - IS-CODEPAGE-FIXED
+ - IS-COLUMN-CODEPAGE
+ - IS-LEAD-BYTE
+ - ISO-DATE
+ - KBLABEL
+ - KEYCODE
+ - KEYFUNCTION
+ - KEYLABEL
+ - KEYWORD
+ - KEYWORD-ALL
+ - LAST
+ - LASTKEY
+ - LAST-OF
+ - LC
+ - LDBNAME
+ - LEFT-TRIM
+ - LENGTH
+ - LIBRARY
+ - LINE-COUNTER
+ - LIST-EVENTS
+ - LIST-QUERY-ATTRS
+ - LIST-SET-ATTRS
+ - LIST-WIDGETS
+ - LOCKED
+ - LOG
+ - LOGICAL
+ - LOOKUP
+ - MAXIMUM
+ - MD5-DIGEST
+ - MEMBER
+ - MESSAGE-LINES
+ - MINIMUM
+ - MONTH
+ - MTIME
+ - NEW
+ - NEXT-VALUE
+ - NORMALIZE
+ - NOT ENTERED
+ - NOW
+ - NUM-ALIASES
+ - NUM-DBS
+ - NUM-ENTRIES
+ - NUM-RESULTS
+ - OPSYS
+ - OS-DRIVES
+ - OS-ERROR
+ - OS-GETENV
+ - PAGE-NUMBER
+ - PAGE-SIZE
+ - PDBNAME
+ - PROC-HANDLE
+ - PROC-STATUS
+ - PROGRAM-NAME
+ - PROGRESS
+ - PROMSGS
+ - PROPATH
+ - PROVERSION
+ - QUERY-OFF-END
+ - QUOTER
+ - RANDOM
+ - RAW
+ - RECID
+ - RECORD-LENGTH
+ - REJECTED
+ - REPLACE
+ - RETRY
+ - RETURN-VALUE
+ - RGB-VALUE
+ - RIGHT-TRIM
+ - R-INDEX
+ - ROUND
+ - ROWID
+ - ROW-STATE
+ - SCREEN-LINES
+ - SDBNAME
+ - SEARCH
+ - SEEK
+ - SETUSERID
+ - SHA1-DIGEST
+ - SQRT
+ - SSL-SERVER-NAME
+ - STRING
+ - SUBSTITUTE
+ - SUBSTRING
+ - SUPER
+ - TERMINAL
+ - TIME
+ - TIMEZONE
+ - TODAY
+ - TO-ROWID
+ - TRANSACTION
+ - TRIM
+ - TRUNCATE
+ - USERID
+ - VALID-EVENT
+ - VALID-HANDLE
+ - WEEKDAY
+ - WIDGET-HANDLE
+ - YEAR
+
+
+
+ - IF
+ - THEN
+ - ELSE
+ - WHEN
+ - OTHERWISE
+ - ACCUMULATE
+ - APPLY
+ - ASSIGN
+ - BELL
+ - BUFFER-COMPARE
+ - BUFFER-COPY
+ - CLEAR
+ - CLOSE
+ - QUERY
+ - STORED-PROCEDURE
+ - COLOR
+ - COMPILE
+ - CONNECT
+ - COPY-LOB
+ - CREATE
+ - CLIENT-PRINCIPAL
+ - ALIAS
+ - BROWSE
+ - BUFFER
+ - CALL
+ - DATABASE
+ - DATA-SOURCE
+ - QUERY
+ - SAX-READER
+ - SERVER
+ - SERVER-SOCKET
+ - SOAP-HEADER
+ - SOAP-HEADER-ENTRYREF
+ - SOCKET
+ - TEMP-TABLE
+ - WIDGET
+ - WIDGET-POOL
+ - X-DOCUMENT
+ - X-NODEREF
+ - CURRENT-LANGUAGE
+ - CURRENT-VALUE
+ - DDE
+ - ADVISE
+ - EXECUTE
+ - GET
+ - INITIATE
+ - REQUEST
+ - SEND
+ - TERMINATE
+ - DEF
+ - DEFINE
+ - VAR
+ - VARIABLE
+ - BROWSE
+ - BUFFER
+ - BUTTON
+ - DATA-SOURCE
+ - FRAME
+ - IMAGE
+ - MENU
+ - PARAM
+ - PARAMETER
+ - QUERY
+ - RECTANGLE
+ - STREAM
+ - SUB-MENU
+ - TEMP-TABLE
+ - VARIABLE
+ - WORK-TABLE
+ - WORKFILE
+ - DELETE
+ - ALIAS
+ - OBJECT
+ - WIDGET
+ - WIDGET-POOL
+ - DICTIONARY
+ - DISABLE
+ - TRIGGERS
+ - DISCONNECT
+ - DISPLAY
+ - DOS
+ - DOWN
+ - DYNAMIC-CURRENT-VALUE
+ - EMPTY
+ - TEMP-TABLE
+ - ENABLE
+ - ENTRY
+ - EXPORT
+ - FIND
+ - FORM
+ - FRAME-VALUE
+ - GET
+ - GET-KEY-VALUE
+ - HIDE
+ - IMPORT
+ - INPUT
+ - CLEAR
+ - CLOSE
+ - FROM
+ - TO
+ - THROUGH
+ - INPUT-OUTPUT
+ - THROUGH
+ - INSERT
+ - LEAVE
+ - LENGTH
+ - LOAD
+ - LOAD-PICTURE
+ - MESSAGE
+ - NEXT
+ - NEXT-PROMPT
+ - QUERY
+ - OPEN
+ - OS-APPEND
+ - OS-COMMAND
+ - OS-COPY
+ - OS-CREATE-DIR
+ - OS-DELETE
+ - OS-RENAME
+ - OUTPUT
+ - OVERLAY
+ - PAGE
+ - PAUSE
+ - PROCESS
+ - EVENTS
+ - PROMPT-FOR
+ - PROMSGS
+ - PROPATH
+ - PUBLISH
+ - CURSOR
+ - PUT
+ - PUT-BITS
+ - PUT-BYTE
+ - PUT-BYTES
+ - PUT-DOUBLE
+ - PUT-FLOAT
+ - PUT-KEY-VALUE
+ - PUT-LONG
+ - PUT-SHORT
+ - PUT-STRING
+ - PUT-UNSIGNED-SHORT
+ - QUIT
+ - RAW
+ - RAW-TRANSFER
+ - READKEY
+ - RELEASE
+ - EXTERNAL
+ - OBJECT
+ - REPOSITION
+ - RETURN
+ - RETURNS
+ - RUN
+ - STORED-PROCEDURE
+ - SUPER
+ - SAVE
+ - CACHE
+ - SEEK
+ - SET
+ - SET-BYTE-ORDER
+ - SET-POINTER-VALUE
+ - SET-SIZE
+ - SHOW-STATS
+ - STATUS
+ - STOP
+ - SUBSCRIBE
+ - SUBSTRING
+ - COLOR
+ - SYSTEM-DIALOG
+ - FONT
+ - GET-DIR
+ - GET-FILE
+ - PRINTER-SETUP
+ - SYSTEM-HELP
+ - TERMINAL
+ - TRANSACTION-MODE
+ - AUTOMATIC
+ - TRIGGER
+ - UNDERLINE
+ - UNDO
+ - UNIX
+ - UNLOAD
+ - UNSUBSCRIBE
+ - UP
+ - UPDATE
+ - USE
+ - VALIDATE
+ - VIEW
+ - WAIT-FOR
+
+
+
+ - BROWSE
+ - BUTTON
+ - COMBO-BOX
+ - CONTROL-FRAME
+ - DIALOG-BOX
+ - EDITOR
+ - FIELD-GROUP
+ - FILL-IN
+ - FRAME
+ - IMAGE
+ - LITERAL
+ - MENU
+ - MENU-ITEM
+ - RADIO-SET
+ - RECTANGLE
+ - SELECTION-LIST
+ - SLIDER
+ - SUB-MENU
+ - TEXT
+ - TOGGLE-BOX
+ - WINDOW
+
+
+
+ - THIS-OBJECT
+ - AUDIT-CONTROL
+ - AUDIT-POLICY
+ - SECURITY-POLICY
+ - ACTIVE-WINDOW
+ - BUFFER
+ - BUFFER-FIELD
+ - CALL
+ - CLIPBOARD
+ - CODEBASE-LOCATOR
+ - COLOR-TABLE
+ - COM-SELF
+ - COMPILER
+ - CURRENT-WINDOW
+ - DATA-RELATION
+ - DATE-SOURCE
+ - DEBUGGER
+ - DEFAULT-WINDOW
+ - ERROR-STATUS
+ - FILE-INFO
+ - FIELD
+ - FOCUS
+ - FONT-TABLE
+ - LAST-EVENT
+ - LOG-MANAGER
+ - PRODATASET
+ - QUERY
+ - RCODE-INFO
+ - SAX-ATTRIBUTES
+ - SAX-READER
+ - SELF
+ - SERVER SOCKET
+ - SESSION
+ - SOAP-FAULT
+ - SOAP-FAULT-DETAIL
+ - SOAP-HEADER
+ - SOAP-HEADER-ENTRYREF
+ - SOCKET
+ - SOURCE-PROCEDURE
+ - TARGET-PROCEDURE
+ - TEMP-TABLE
+ - THIS-PROCEDURE
+ - TRANSACTION
+ - WEB-CONTEXT
+ - X-DOCUMENT
+ - X-NODEREF
+
+
+
+ - CONTROL-NAME
+ - CONTROLS
+ - HEIGHT
+ - HONORPROKEYS
+ - HONORRETURNKEY
+ - LEFT
+ - TOP
+ - WIDTH
+ - TAG
+
+
+
+ - ANYWHERE
+ - SCHEMA-MARSHAL
+ - ATTACHED-PAIRLIST
+ - DATA-SOURCE-COMPLETE-MAP
+ - KEYS
+ - NEXT-ROWID
+ - NUM-REFERENCES
+ - RESTART-ROWID
+ - CLASS-TYPE
+ - FIRST-OBJECT
+ - LAST-OBJECT
+ - MULTI-COMPILE
+ - WIDGET-ID
+ - SCHEMA-LOCATION
+ - STANDALONE
+ - STRICT
+ - VERSION
+ - WRITE-STATUS
+ - NONAMESPACE-SCHEMA-LOCATION
+ - FRAGMENT
+ - APPL-CONTEXT-ID
+ - AUDIT-EVENT-CONTEXT
+ - CLIENT-TTY
+ - CLIENT-WORKSTATION
+ - DOMAIN-DESCRIPTION
+ - DOMAIN-NAME
+ - DOMAIN-TYPE
+ - EVENT-GROUP-ID
+ - LOGIN-EXPIRATION-TIMESTAMP
+ - LOGIN-HOST
+ - LOGIN-STATE
+ - ROLES
+ - SEAL-TIMESTAMP
+ - SESSION-ID
+ - STATE-DETAIL
+ - USER-ID
+ - ACCELERATOR
+ - ACTIVE
+ - ACTOR
+ - ADM-DATA
+ - AFTER-BUFFER
+ - AFTER-ROWID
+ - AFTER-TABLE
+ - ALLOW-COLUMN-SEARCHING
+ - ALWAYS-ON-TOP
+ - AMBIGUOUS
+ - APPL-ALERT-BOXES
+ - APPSERVER-INFO
+ - APPSERVER-PASSWORD
+ - APPSERVER-USERID
+ - ASYNCHRONOUS
+ - ASYNC-REQUEST-COUNT
+ - ASYNC-REQUEST-HANDLE
+ - ATTRIBUTE-NAMES
+ - ATTR-SPACE
+ - AUTO-COMPLETION
+ - AUTO-DELETE
+ - AUTO-ENDKEY
+ - AUTO-GO
+ - AUTO-INDENT
+ - AUTO-RESIZE
+ - AUTO-RETURN
+ - AUTO-VALIDATE
+ - AUTO-ZAP
+ - AVAILABLE
+ - AVAILABLE-FORMATS
+ - BACKGROUND
+ - BASE-ADE
+ - BASIC-LOGGING
+ - BATCH-MODE
+ - BEFORE-BUFFER
+ - BEFORE-ROWID
+ - BEFORE-TABLE
+ - BGCOLOR
+ - BLANK
+ - BLOCK-ITERATION-DISPLAY
+ - BORDER-BOTTOM-CHARS
+ - BORDER-BOTTOM-PIXELS
+ - BORDER-LEFT-CHARS
+ - BORDER-LEFT-PIXELS
+ - BORDER-RIGHT-CHARS
+ - BORDER-RIGHT-PIXELS
+ - BORDER-TOP-CHARS
+ - BORDER-TOP-PIXELS
+ - BOX
+ - BOX-SELECTABLE
+ - BUFFER-CHARS
+ - BUFFER-VALUE
+ - BYTES-READ
+ - BYTES-WRITTEN
+ - CACHE
+ - CALL-NAME
+ - CALL-TYPE
+ - BUFFER-FIELD
+ - BUFFER-HANDLE
+ - BUFFER-LINES
+ - BUFFER-NAME
+ - CANCEL-BUTTON
+ - CANCELLED
+ - CAN-CREATE
+ - CAN-DELETE
+ - CAN-READ
+ - CAN-WRITE
+ - CAREFUL-PAINT
+ - CASE-SENSITIVE
+ - CENTERED
+ - CHARSET
+ - CHECKED
+ - CHILD-BUFFER
+ - CHILD-NUM
+ - CLIENT-CONNECTION-ID
+ - CLIENT-TYPE
+ - CODE
+ - CODEPAGE
+ - COLUMN
+ - COLUMN-BGCOLOR
+ - COLUMN-DCOLOR
+ - COLUMN-FGCOLOR
+ - COLUMN-FONT
+ - COLUMN-LABEL
+ - COLUMN-MOVABLE
+ - COLUMN-PFCOLOR
+ - COLUMN-READ-ONLY
+ - COLUMN-RESIZABLE
+ - COLUMN-SCROLLING
+ - COM-HANDLE
+ - COMPLETE
+ - CONTEXT-HELP
+ - CONTEXT-HELP-FILE
+ - CONTEXT-HELP-ID
+ - CONTROL-BOX
+ - CONVERT-D-COLORS
+ - CPCASE
+ - CPCOLL
+ - CPINTERNAL
+ - CPLOG
+ - CPPRINT
+ - CPRCODEIN
+ - CPRCODEOUT
+ - CPSTREAM
+ - CPTERM
+ - CRC-VALUE
+ - CURRENT-CHANGED
+ - CURRENT-COLUMN
+ - CURRENT-ITERATION
+ - CURRENT-RESULT-ROW
+ - CURRENT-ROW-MODIFIED
+ - CURRENT-WINDOW
+ - CURSOR-CHAR
+ - CURSOR-LINE
+ - CURSOR-OFFSET
+ - DATA-ENTRY-RETURN
+ - DATA-SOURCE
+ - DATA-TYPE
+ - DATASET
+ - DATE-FORMAT
+ - DBNAME
+ - DB-REFERENCES
+ - DCOLOR
+ - DDE-ERROR
+ - DDE-ID
+ - DDE-ITEM
+ - DDE-NAME
+ - DDE-TOPIC
+ - DEBLANK
+ - DEBUG-ALERT
+ - DECIMALS
+ - DEFAULT
+ - DEFAULT-BUFFER-HANDLE
+ - DEFAULT-BUTTON
+ - DEFAULT-COMMIT
+ - DELIMITER
+ - DISABLE-AUTO-ZAP
+ - DISPLAY-TIMEZONE
+ - DISPLAY-TYPE
+ - DOWN
+ - DRAG-ENABLED
+ - DROP-TARGET
+ - DYNAMIC
+ - EDGE-CHARS
+ - EDGE-PIXELS
+ - EDIT-CAN-PASTE
+ - EDIT-CAN-UNDO
+ - EMPTY
+ - ENCODING
+ - END-USER-PROMPT
+ - ENTRY-TYPES-LIST
+ - ERROR
+ - ERROR-COLUMN
+ - ERROR-OBJECT-DETAIL
+ - ERROR-ROW
+ - ERROR-STRING
+ - EVENT-PROCEDURE
+ - EVENT-PROCEDURE-CONTEXT
+ - EVENT-TYPE
+ - EXPAND
+ - EXPANDABLE
+ - EXTENT
+ - FGCOLOR
+ - FILE-CREATE-DATE
+ - FILE-CREATE-TIME
+ - FILE-MOD-DATE
+ - FILE-MOD-TIME
+ - FILE-NAME
+ - FILE-OFFSET
+ - FILE-SIZE
+ - FILE-TYPE
+ - FILLED
+ - FILL-MODE
+ - FILL-WHERE-STRING
+ - FIRST-ASYNC-REQUEST
+ - FIRST-BUFFER
+ - FIRST-CHILD
+ - FIRST-COLUMN
+ - FIRST-DATASET
+ - FIRST-DATA-SOURCE
+ - FIRST-PROCEDURE
+ - FIRST-QUERY
+ - FIRST-SERVER
+ - FIRST-SERVER-SOCKET
+ - FIRST-SOCKET
+ - FIRST-TAB-ITEM
+ - FIT-LAST-COLUMN
+ - FLAT-BUTTON
+ - FOCUSED-ROW
+ - FOCUSED-ROW-SELECTED
+ - FONT
+ - FOREGROUND
+ - FORMAT
+ - FORWARD-ONLY
+ - FRAME
+ - FRAME-COL
+ - FRAME-NAME
+ - FRAME-ROW
+ - FRAME-SPACING
+ - FRAME-X
+ - FRAME-Y
+ - FREQUENCY
+ - FULL-HEIGHT-CHARS
+ - FULL-HEIGHT-PIXELS
+ - FULL-PATHNAME
+ - FULL-WIDTH-CHARS
+ - FULL-WIDTH-PIXELS
+ - GRAPHIC-EDGE
+ - GRID-FACTOR-HORIZONTAL
+ - GRID-FACTOR-VERTICAL
+ - GRID-SNAP
+ - GRID-UNIT-HEIGHT-CHARS
+ - GRID-UNIT-HEIGHT-PIXELS
+ - GRID-UNIT-WIDTH-CHARS
+ - GRID-UNIT-WIDTH-PIXELS
+ - GRID-VISIBLE
+ - HANDLER
+ - HAS-LOBS
+ - HAS-RECORDS
+ - HEIGHT-CHARS
+ - HEIGHT-PIXELS
+ - HELP
+ - HIDDEN
+ - HORIZONTAL
+ - HTML-CHARSET
+ - HWND
+ - ICFPARAMETER
+ - ICON
+ - IGNORE-CURRENT-MODIFIED
+ - IMAGE
+ - IMAGE-DOWN
+ - IMAGE-INSENSITIVE
+ - IMAGE-UP
+ - IMMEDIATE-DISPLAY
+ - INDEX
+ - INDEX-INFORMATION
+ - INIT
+ - INITIAL
+ - INNER-CHARS
+ - INNER-LINES
+ - INPUT-VALUE
+ - INSTANTIATING-PROCEDURE
+ - INTERNAL-ENTRIES
+ - IN-HANDLE
+ - IS-OPEN
+ - IS-PARAMETER-SET
+ - ITEMS-PER-ROW
+ - KEEP-CONNECTION-OPEN
+ - KEEP-FRAME-Z-ORDER
+ - KEEP-SECURITY-CACHE
+ - KEY
+ - LABEL
+ - LABEL-BGCOLOR
+ - LABEL-DCOLOR
+ - LABEL-FGCOLOR
+ - LABEL-FONT
+ - LABELS
+ - LANGUAGES
+ - LARGE
+ - LARGE-TO-SMALL
+ - LAST-ASYNC-REQUEST
+ - LAST-CHILD
+ - LAST-PROCEDURE
+ - LAST-SERVER
+ - LAST-SERVER-SOCKET
+ - LAST-SOCKET
+ - LAST-TAB-ITEM
+ - LENGTH
+ - LINE
+ - LIST-ITEM-PAIRS
+ - LIST-ITEMS
+ - LITERAL-QUESTION
+ - LOCAL-HOST
+ - LOCAL-NAME
+ - LOCAL-PORT
+ - LOCATOR-COLUMN-NUMBER
+ - LOCATOR-LINE-NUMBER
+ - LOCATOR-PUBLIC-ID
+ - LOCATOR-SYSTEM-ID
+ - LOCATOR-TYPE
+ - LOCKED
+ - LOG-ENTRY-TYPES
+ - LOG-THRESHOLD
+ - LOGFILE-NAME
+ - LOGGING-LEVEL
+ - MANDATORY
+ - MANUAL-HIGHLIGHT
+ - MAX-BUTTON
+ - MAX-CHARS
+ - MAX-DATA-GUESS
+ - MAX-HEIGHT-CHARS
+ - MAX-HEIGHT-PIXELS
+ - MAX-VALUE
+ - MAX-WIDTH-CHARS
+ - MAX-WIDTH-PIXELS
+ - MD-VALUE
+ - MENU-BAR
+ - MENU-KEY
+ - MENU-MOUSE
+ - MESSAGE-AREA
+ - MESSAGE-AREA-FONT
+ - MIN-BUTTON
+ - MIN-COLUMN-WIDTH-CHARS
+ - MIN-COLUMN-WIDTH-PIXELS
+ - MIN-HEIGHT-CHARS
+ - MIN-HEIGHT-PIXELS
+ - MIN-SCHEMA-MARSHAL
+ - MIN-VALUE
+ - MIN-WIDTH-CHARS
+ - MIN-WIDTH-PIXELS
+ - MODIFIED
+ - MOUSE-POINTER
+ - MOVABLE
+ - MULTIPLE
+ - MULTITASKING-INTERVAL
+ - MUST-UNDERSTAND
+ - NAMESPACE-PREFIX
+ - NAMESPACE-URI
+ - NEEDS-APPSERVER-PROMPT
+ - NEEDS-PROMPT
+ - NEW
+ - NEW-ROW
+ - NEXT-COLUMN
+ - NEXT-SIBLING
+ - NEXT-TAB-ITEM
+ - NO-CURRENT-VALUE
+ - NO-EMPTY-SPACE
+ - NO-FOCUS
+ - NO-SCHEMA-MARSHAL
+ - NO-VALIDATE
+ - NODE-VALUE
+ - NUM-BUFFERS
+ - NUM-BUTTONS
+ - NUM-CHILD-RELATIONS
+ - NUM-CHILDREN
+ - NUM-COLUMNS
+ - NUM-DROPPED-FILES
+ - NUM-ENTRIES
+ - NUM-FIELDS
+ - NUM-FORMATS
+ - NUM-HEADER-ENTRIES
+ - NUM-ITEMS
+ - NUM-ITERATIONS
+ - NUM-LINES
+ - NUM-LOCKED-COLUMNS
+ - NUM-LOG-FILES
+ - NUM-MESSAGES
+ - NUM-PARAMETERS
+ - NUM-RELATIONS
+ - NUM-REPLACED
+ - NUM-RESULTS
+ - NUM-SELECTED-ROWS
+ - NUM-SELECTED-WIDGETS
+ - NUM-SOURCE-BUFFERS
+ - NUM-TABS
+ - NUM-TO-RETAIN
+ - NUM-TOP-BUFFERS
+ - NUM-VISIBLE-COLUMNS
+ - NUMERIC-DECIMAL-POINT
+ - NUMERIC-FORMAT
+ - NUMERIC-SEPARATOR
+ - ON-FRAME-BORDER
+ - ORIGIN-HANDLE
+ - ORIGIN-ROWID
+ - OVERLAY
+ - OWNER
+ - OWNER-DOCUMENT
+ - PAGE-BOTTOM
+ - PAGE-TOP
+ - PARAMETER
+ - PARENT
+ - PARENT-BUFFER
+ - PARENT-RELATION
+ - PARSE-STATUS
+ - PASSWORD-FIELD
+ - PATHNAME
+ - PERSISTENT
+ - PERSISTENT-CACHE-DISABLED
+ - PERSISTENT-PROCEDURE
+ - PFCOLOR
+ - PIXELS-PER-COLUMN
+ - PIXELS-PER-ROW
+ - POPUP-MENU
+ - POPUP-ONLY
+ - POSITION
+ - PREPARED
+ - PREPARE-STRING
+ - PREV-COLUMN
+ - PREV-SIBLING
+ - PREV-TAB-ITEM
+ - PRIMARY
+ - PRINTER-CONTROL-HANDLE
+ - PRINTER-HDC
+ - PRINTER-NAME
+ - PRINTER-PORT
+ - PRIVATE-DATA
+ - PROCEDURE-NAME
+ - PROGRESS-SOURCE
+ - PROXY
+ - PROXY-PASSWORD
+ - PROXY-USERID
+ - PUBLIC-ID
+ - PUBLISHED-EVENTS
+ - QUERY
+ - QUERY-OFF-END
+ - QUIT
+ - RADIO-BUTTONS
+ - READ-ONLY
+ - RECID
+ - RECORD-LENGTH
+ - REFRESHABLE
+ - REJECTED
+ - RELATION-FIELDS
+ - RELATIONS-ACTIVE
+ - REMOTE
+ - REMOTE-HOST
+ - REMOTE-PORT
+ - REPOSITION
+ - RESIZABLE
+ - RESIZE
+ - RETAIN-SHAPE
+ - RETURN-INSERTED
+ - RETURN-VALUE
+ - RETURN-VALUE-DATA-TYPE
+ - ROW
+ - COL
+ - ROW-HEIGHT-CHARS
+ - ROW-HEIGHT-PIXELS
+ - ROW-STATE
+ - ROWID
+ - ROW-MARKERS
+ - ROW-RESIZABLE
+ - SAVE-WHERE-STRING
+ - SCHEMA-CHANGE
+ - SCHEMA-PATH
+ - SCREEN-LINES
+ - SCREEN-VALUE
+ - SCROLL-BARS
+ - SCROLLABLE
+ - SCROLLBAR-HORIZONTAL
+ - SCROLLBAR-VERTICAL
+ - SELECTABLE
+ - SELECTED
+ - SELECTION-END
+ - SELECTION-START
+ - SELECTION-TEXT
+ - SENSITIVE
+ - SEPARATORS
+ - SEPARATOR-FGCOLOR
+ - SERVER
+ - SERVER-CONNECTION-BOUND
+ - SERVER-CONNECTION-BOUND-REQUEST
+ - SERVER-CONNECTION-CONTEXT
+ - SERVER-CONNECTION-ID
+ - SERVER-OPERATING-MODE
+ - SHOW-IN-TASKBAR
+ - SIDE-LABEL-HANDLE
+ - SIDE-LABELS
+ - SKIP-DELETED-RECORD
+ - SMALL-ICON
+ - SMALL-TITLE
+ - SOAP-FAULT-ACTOR
+ - SOAP-FAULT-CODE
+ - SOAP-FAULT-DETAIL
+ - SOAP-FAULT-STRING
+ - SORT
+ - STARTUP-PARAMETERS
+ - STATUS-AREA
+ - STATUS-AREA-FONT
+ - STOP
+ - STOPPED
+ - STREAM
+ - STRETCH-TO-FIT
+ - STRING-VALUE
+ - SUBTYPE
+ - SUPER-PROCEDURES
+ - SUPPRESS-NAMESPACE-PROCESSING
+ - SUPPRESS-WARNINGS
+ - SYSTEM-ALERT-BOXES
+ - SYSTEM-ID
+ - TAB-POSITION
+ - TAB-STOP
+ - TABLE
+ - TABLE-CRC-LIST
+ - TABLE-HANDLE
+ - TABLE-LIST
+ - TABLE-NUMBER
+ - TEMP-DIRECTORY
+ - TEXT-SELECTED
+ - THREE-D
+ - TIC-MARKS
+ - TIME-SOURCE
+ - TITLE
+ - TITLE-BGCOLOR
+ - TITLE-DCOLOR
+ - TITLE-FGCOLOR
+ - TITLE-FONT
+ - TOGGLE-BOX
+ - TOOLTIP
+ - TOOLTIPS
+ - TOP-ONLY
+ - TRACKING-CHANGES
+ - TRANSACTION
+ - TRANSPARENT
+ - TRANS-INIT-PROCEDURE
+ - TYPE
+ - UNDO
+ - UNIQUE-ID
+ - UNIQUE-MATCH
+ - URL
+ - URL-PASSWORD
+ - URL-USERID
+ - DISPLAY
+ - VALIDATE-EXPRESSION
+ - VALIDATE-MESSAGE
+ - VALIDATION-ENABLED
+ - VALUE
+ - VIEW-FIRST-COLUMN-ON-REOPEN
+ - VIRTUAL-HEIGHT
+ - VIRTUAL-WIDTH
+ - VIRTUAL-HEIGHT-CHARS
+ - VIRTUAL-HEIGHT-PIXELS
+ - VIRTUAL-WIDTH-CHARS
+ - VIRTUAL-WIDTH-PIXELS
+ - VISIBLE
+ - WARNING
+ - WHERE-STRING
+ - WIDGET-ENTER
+ - WIDGET-LEAVE
+ - WIDTH-CHARS
+ - WIDTH-PIXELS
+ - WINDOW
+ - WINDOW-STATE
+ - WINDOW-SYSTEM
+ - WORD-WRAP
+ - WORK-AREA-HEIGHT-PIXELS
+ - WORK-AREA-WIDTH-PIXELS
+ - WORK-AREA-X
+ - WORK-AREA-Y
+ - X
+ - XML-SCHEMA-PATH
+ - XML-SUPPRESS-NAMESPACE-PROCESSING
+ - Y
+ - YEAR-OFFSET
+ - WRITE-XMLSCHEMA
+ - READ-XMLSCHEMA
+ - WRITE-XML
+ - READ-XML
+ - NESTED
+ - XML-DATA-TYPE
+ - XML-NODE-TYPE
+ - FORMATTED
+ - SET-OUTPUT-DESTINATION
+ - START-DOCUMENT
+ - START-ELEMENT
+ - WRITE-CHARACTERS
+ - END-ELEMENT
+ - END-DOCUMENT
+ - WRITE-DATA-ELEMENT
+ - INSERT-ATTRIBUTE
+
+
+
+ - COPY-DATASET
+ - COPY-TEMP-TABLE
+ - GET-CALLBACK-PROC-CONTEXT
+ - GET-CALLBACK-PROC-NAME
+ - GET-BINARY-DATA
+ - ADD-SCHEMA-LOCATION
+ - DECLARE-NAMESPACE
+ - RESET
+ - WRITE-CDATA
+ - WRITE-COMMENT
+ - WRITE-EMPTY-ELEMENT
+ - WRITE-ENTITY-REF
+ - WRITE-EXTERNAL-DTD
+ - WRITE-FRAGMENT
+ - WRITE-PROCESSING-INSTRUCTION
+ - CLEAR-LOG
+ - CLOSE-LOG
+ - WRITE-MESSAGE
+ - AUTHENTICATION-FAILED
+ - BEGIN-EVENT-GROUP
+ - CLEAR-APPL-CONTEXT
+ - ENCRYPT-AUDIT-MAC-KEY
+ - END-EVENT-GROUP
+ - EXPORT-PRINCIPAL
+ - GET-PROPERTY
+ - IMPORT-PRINCIPAL
+ - LIST-PROPERTY-NAMES
+ - LOAD-DOMAINS
+ - LOCK-REGISTRATION
+ - LOG-AUDIT-EVENT
+ - LOGOUT
+ - REFRESH-AUDIT-POLICY
+ - REGISTER-DOMAIN
+ - SEAL
+ - SET-APPL-CONTEXT
+ - SET-CLIENT
+ - SET-PROPERTY
+ - VALIDATE-SEAL
+ - ACCEPT-CHANGES
+ - ACCEPT-ROW-CHANGES
+ - ADD-BUFFER
+ - ADD-CALC-COLUMN
+ - ADD-COLUMNS-FROM
+ - ADD-EVENTS-PROCEDURE
+ - ADD-FIELDS-FROM
+ - ADD-FIRST
+ - ADD-HEADER-ENTRY
+ - ADD-INDEX-FIELD
+ - ADD-LAST
+ - ADD-LIKE-COLUMN
+ - ADD-LIKE-FIELD
+ - ADD-LIKE-INDEX
+ - ADD-NEW-FIELD
+ - ADD-NEW-INDEX
+ - ADD-RELATION
+ - ADD-SOURCE-BUFFER
+ - ADD-SUPER-PROCEDURE
+ - APPEND-CHILD
+ - APPLY-CALLBACK
+ - ATTACH-DATA-SOURCE
+ - BUFFER-COMPARE
+ - BUFFER-COPY
+ - BUFFER-CREATE
+ - BUFFER-DELETE
+ - BUFFER-FIELD
+ - BUFFER-RELEASE
+ - BUFFER-VALIDATE
+ - CANCEL-BREAK
+ - CANCEL-REQUESTS
+ - CLEAR
+ - CLEAR-SELECTION
+ - CLONE-NODE
+ - CONNECT
+ - CONNECTED
+ - CONVERT-TO-OFFSET
+ - CREATE-LIKE
+ - CREATE-NODE
+ - CREATE-NODE-NAMESPACE
+ - CREATE-RESULT-LIST-ENTRY
+ - DEBUG
+ - DELETE
+ - DELETE-CHAR
+ - DELETE-CURRENT-ROW
+ - DELETE-HEADER-ENTRY
+ - DELETE-LINE
+ - DELETE-NODE
+ - DELETE-RESULT-LIST-ENTRY
+ - DELETE-SELECTED-ROW
+ - DELETE-SELECTED-ROWS
+ - DESELECT-FOCUSED-ROW
+ - DESELECT-ROWS
+ - DESELECT-SELECTED-ROW
+ - DETACH-DATA-SOURCE
+ - DISABLE
+ - DISABLE-CONNECTIONS
+ - DISABLE-DUMP-TRIGGERS
+ - DISABLE-LOAD-TRIGGERS
+ - DISCONNECT
+ - DISPLAY-MESSAGE
+ - DUMP-LOGGING-NOW
+ - EDIT-CLEAR
+ - EDIT-COPY
+ - EDIT-CUT
+ - EDIT-PASTE
+ - EDIT-UNDO
+ - EMPTY-DATASET
+ - EMPTY-TEMP-TABLE
+ - ENABLE
+ - ENABLE-CONNECTIONS
+ - ENABLE-EVENTS
+ - END-FILE-DROP
+ - ENTRY
+ - EXPORT
+ - FETCH-SELECTED-ROW
+ - FILL
+ - FIND-BY-ROWID
+ - FIND-CURRENT
+ - FIND-FIRST
+ - FIND-LAST
+ - FIND-UNIQUE
+ - GET-ATTRIBUTE
+ - GET-ATTRIBUTE-NODE
+ - GET-BLUE-VALUE
+ - GET-BROWSE-COLUMN
+ - GET-BUFFER-HANDLE
+ - GET-BYTES-AVAILABLE
+ - GET-CHANGES
+ - GET-CHILD
+ - GET-CHILD-RELATION
+ - GET-CURRENT
+ - GET-DATASET-BUFFER
+ - GET-DOCUMENT-ELEMENT
+ - GET-DROPPED-FILE
+ - GET-DYNAMIC
+ - GET-FIRST
+ - GET-GREEN-VALUE
+ - GET-HEADER-ENTRY
+ - GET-INDEX-BY-NAMESPACE-NAME
+ - GET-INDEX-BY-QNAME
+ - GET-ITERATION
+ - GET-LAST
+ - GET-LOCALNAME-BY-INDEX
+ - GET-MESSAGE
+ - GET-NEXT
+ - GET-NODE
+ - GET-NUMBER
+ - GET-PARENT
+ - GET-PREV
+ - GET-PRINTERS
+ - GET-QNAME-BY-INDEX
+ - GET-RED-VALUE
+ - GET-RELATION
+ - GET-REPOSITIONED-ROW
+ - GET-RGB-VALUE
+ - GET-SELECTED-WIDGET
+ - GET-SERIALIZED
+ - GET-SIGNATURE
+ - GET-SOCKET-OPTION
+ - GET-SOURCE-BUFFER
+ - GET-TAB-ITEM
+ - GET-TEXT-HEIGHT-CHARS
+ - GET-TEXT-HEIGHT-PIXELS
+ - GET-TEXT-WIDTH-CHARS
+ - GET-TEXT-WIDTH-PIXELS
+ - GET-TOP-BUFFER
+ - GET-TYPE-BY-INDEX
+ - GET-TYPE-BY-NAMESPACE-NAME
+ - GET-TYPE-BY-QNAME
+ - GET-URI-BY-INDEX
+ - GET-VALUE-BY-INDEX
+ - GET-VALUE-BY-NAMESPACE-NAME
+ - GET-VALUE-BY-QNAME
+ - GET-WAIT-STATE
+ - IMPORT-NODE
+ - INDEX-INFORMATION
+ - INITIALIZE-DOCUMENT-TYPE
+ - INITIATE
+ - INSERT
+ - INSERT-BACKTAB
+ - INSERT-BEFORE
+ - INSERT-FILE
+ - INSERT-ROW
+ - INSERT-STRING
+ - INSERT-TAB
+ - INVOKE
+ - IS-ROW-SELECTED
+ - IS-SELECTED
+ - LOAD
+ - LoadControls
+ - LOAD-ICON
+ - LOAD-IMAGE
+ - LOAD-IMAGE-DOWN
+ - LOAD-IMAGE-INSENSITIVE
+ - LOAD-IMAGE-UP
+ - LOAD-MOUSE-POINTER
+ - LOAD-SMALL-ICON
+ - LONGCHAR-TO-NODE-VALUE
+ - LOOKUP
+ - MEMPTR-TO-NODE-VALUE
+ - MERGE-CHANGES
+ - MERGE-ROW-CHANGES
+ - MOVE-AFTER-TAB-ITEM
+ - MOVE-BEFORE-TAB-ITEM
+ - MOVE-COLUMN
+ - MOVE-TO-BOTTOM
+ - MOVE-TO-EOF
+ - MOVE-TO-TOP
+ - NODE-VALUE-TO-LONGCHAR
+ - NODE-VALUE-TO-MEMPTR
+ - NORMALIZE
+ - QUERY-CLOSE
+ - QUERY-OPEN
+ - QUERY-PREPARE
+ - RAW-TRANSFER
+ - READ
+ - READ-FILE
+ - REFRESH
+ - REJECT-CHANGES
+ - REJECT-ROW-CHANGES
+ - REMOVE-ATTRIBUTE
+ - REMOVE-CHILD
+ - REMOVE-EVENTS-PROCEDURE
+ - REMOVE-SUPER-PROCEDURE
+ - REPLACE
+ - REPLACE-CHILD
+ - REPLACE-SELECTION-TEXT
+ - REPOSITION-BACKWARD
+ - REPOSITION-FORWARD
+ - REPOSITION-TO-ROW
+ - REPOSITION-TO-ROWID
+ - SAVE
+ - SAVE-FILE
+ - SAVE-ROW-CHANGES
+ - SAX-PARSE
+ - SAX-PARSE-FIRST
+ - SAX-PARSE-NEXT
+ - SCROLL-TO-CURRENT-ROW
+ - SCROLL-TO-ITEM
+ - SCROLL-TO-SELECTED-ROW
+ - SEARCH
+ - SELECT-ALL
+ - SELECT-FOCUSED-ROW
+ - SELECT-NEXT-ROW
+ - SELECT-PREV-ROW
+ - SELECT-ROW
+ - SET-ACTOR
+ - SET-ATTRIBUTE
+ - SET-ATTRIBUTE-NODE
+ - SET-BLUE-VALUE
+ - SET-BREAK
+ - SET-BUFFERS
+ - SET-CALLBACK-PROCEDURE
+ - SET-COMMIT
+ - SET-CONNECT-PROCEDURE
+ - SET-DYNAMIC
+ - SET-GREEN-VALUE
+ - SET-INPUT-SOURCE
+ - SET-MUST-UNDERSTAND
+ - SET-NODE
+ - SET-NUMERIC-FORMAT
+ - SET-PARAMETER
+ - SET-READ-RESPONSE-PROCEDURE
+ - SET-RED-VALUE
+ - SET-REPOSITIONED-ROW
+ - SET-RGB-VALUE
+ - SET-ROLLBACK
+ - SET-SELECTION
+ - SET-SERIALIZED
+ - SET-SOCKET-OPTION
+ - SET-WAIT-STATE
+ - STOP-PARSING
+ - SYNCHRONIZE
+ - TEMP-TABLE-PREPARE
+ - VALIDATE
+ - WRITE
+ - MAX-HEIGHT
+ - MAX-WIDTH
+
+
+
+ - CLASSPATH
+ - DLC
+ - EVTLEVEL
+ - JDKCP
+ - JDKHOME
+ - JFCCP
+ - JFHOME
+ - JIT
+ - JRECP
+ - JREHOME
+ - JVMEXE
+ - PATH
+ - PROCFG
+ - PROCONV
+ - PROEXE
+ - PROGRESSCP
+ - PROLOAD
+ - PROMSGS
+ - PROPATH
+ - PROSRV
+ - PROSTARTUP
+ - PROTERMCAP
+ - TERM
+ - TERMINAL
+ - GATEWAY_INTERFACE
+ - SERVER_SOFTWARE
+ - SERVER_PROTOCOL
+ - SERVER_NAME
+ - SERVER_PORT
+ - REQUEST_METHOD
+ - SCRIPT_NAME
+ - PATH_INFO
+ - PATH_TRANSLATED
+ - QUERY_STRING
+ - REMOTE_ADDR
+ - REMOTE_IDENT
+ - REMOTE_USER
+ - AUTH_TYPE
+ - REMOTE_HOST
+ - CONTENT_TYPE
+ - CONTENT_LENGTH
+ - HTTP_ACCEPT
+ - HTTP_COOKIE
+ - HTTP_REFERER
+ - HTTP_USER_AGENT
+ - HTTP_REFERER
+ - HTTPS
+ - HTTP_REFERER
+ - HOSTURL
+ - SELFURL
+ - APPPROGRAM
+ - APPURL
+ - APPPROGRAM
+ - OUTPUT-CONTENT-TYPE
+ - WEB_SRC_PATH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/prolog.xml b/data/syntax/prolog.xml
new file mode 100644
index 0000000..7594e08
--- /dev/null
+++ b/data/syntax/prolog.xml
@@ -0,0 +1,1109 @@
+
+
+
+
+
+ ?@^~\\]">
+
+
+
+
+
+
+
+ |\\\+|:-|=|\\=)(?!&gr_char_iso;)">
+
+
+ (?!&gr_char_iso;)">
+
+
+ =|>)(?!&gr_char_iso;)">
+
+
+
+ >)(?!&gr_char_iso;)">
+
+
+ =|@>|=\.\.|@|:)(?!&gr_char_iso;)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?@^~\">
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+ - error
+
+
+ - instantiation_error
+ - uninstantiation_error
+ - type_error
+ - domain_error
+ - existence_error
+ - permission_error
+ - representation_error
+ - evaluation_error
+ - resource_error
+ - syntax_error
+ - system_error
+
+
+
+
+ - char_conversion
+ - current_char_conversion
+ - include
+ - ensure_loaded
+
+ - atan
+
+ - xor
+
+
+
+ - consult
+ - built_in
+
+
+
+
+
+
+
+
+
+
+
+ - initialization
+
+ - fail
+ - repeat
+ - call
+ - catch
+ - throw
+ - true
+ - false
+ - once
+
+
+
+
+ - dynamic
+ - asserta
+ - assertz
+ - retractall
+ - retract
+ - abolish
+ - clause
+
+
+
+
+
+ - listing
+
+
+
+
+ - atom_concat
+ - atom_length
+ - atom_chars
+ - atom_codes
+ - arg
+ - subsumes_term
+ - acyclic_term
+ - char_code
+ - compare
+ - copy_term
+ - functor
+ - number_chars
+ - number_codes
+
+ - term_variables
+ - unify_with_occurs_check
+
+
+
+ - number_atom
+ - expand_term
+ - term_expansion
+
+
+ - display
+ - print
+ - format
+ - portray_clause
+ - portray
+ - term_expansion
+
+
+ - phrase
+
+
+ - sort
+ - keysort
+
+
+ - append
+ - delete
+ - length
+ - last
+ - map_list
+ - min_list
+ - maplist
+ - msort
+ - memberchk
+ - member
+ - nth
+ - permutation
+ - reverse
+ - select
+ - prefix
+ - suffix
+ - sublist
+ - sum_list
+
+
+ - open
+
+ - set_stream_position
+ - get_char
+ - get_code
+ - peek_char
+ - peek_code
+ - get_byte
+ - peek_byte
+
+ - put_char
+ - put_code
+ - put_byte
+ - nl
+
+ - read_term
+ - read
+ - write_canonical
+ - writeq
+ - write
+
+
+ - append
+ - seeing
+ - seen
+ - see
+ - telling
+ - tell
+ - told
+ - get0
+ - get
+ - skip
+ - put
+ - tab
+
+
+ - is
+
+
+ - rem
+ - mod
+ - div
+
+
+
+
+ - abs
+ - sign
+ - min
+ - max
+
+
+
+
+ - ceiling
+ - floor
+ - round
+ - truncate
+
+
+
+ - pi
+
+
+ - sqrt
+ - tan
+ - cos
+ - sin
+ - atan2
+ - acos
+ - asin
+ - exp
+ - log
+ - float
+ - float_fractional_part
+ - float_integer_part
+
+
+
+
+ - multifile
+ - discontigous
+ - op
+ - set_prolog_flag
+
+
+ - var
+ - nonvar
+ - atom
+ - integer
+ - float
+ - number
+ - atomic
+ - compound
+ - callable
+ - ground
+
+
+
+ - list
+ - is_list
+
+
+
+
+ - current_op
+ - current_prolog_flag
+ - current_input
+ - current_output
+
+
+ - set_input
+ - set_output
+
+
+ - close
+
+ - flush_output
+
+
+ - at_end_of_stream
+
+ - stream_property
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/protobuf.xml b/data/syntax/protobuf.xml
new file mode 100644
index 0000000..50e609c
--- /dev/null
+++ b/data/syntax/protobuf.xml
@@ -0,0 +1,121 @@
+
+
+
+
+
+ - message
+ - required
+ - optional
+ - repeated
+ - packed
+ - enum
+ - default
+ - import
+ - public
+ - extensions
+ - package
+ - option
+ - deprecated
+ - extend
+
+
+ - =
+ - ;
+
+
+ - double
+ - float
+ - int32
+ - int64
+ - uint32
+ - uint64
+ - sint32
+ - sint64
+ - fixed32
+ - fixed64
+ - sfixed32
+ - sfixed64
+ - bool
+ - string
+ - bytes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/puppet.xml b/data/syntax/puppet.xml
new file mode 100644
index 0000000..82dec63
--- /dev/null
+++ b/data/syntax/puppet.xml
@@ -0,0 +1,711 @@
+
+
+
+
+]>
+
+
+
+
+
+
+ - import
+ - false
+ - true
+ - undef
+
+
+
+ - in
+ - and
+ - or
+
+
+
+ - and
+ - or
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/purebasic.xml b/data/syntax/purebasic.xml
new file mode 100644
index 0000000..b9ad1b5
--- /dev/null
+++ b/data/syntax/purebasic.xml
@@ -0,0 +1,1766 @@
+
+
+
+
+ - Break
+ - Continue
+ - For
+ - ForEach
+ - To
+ - Step
+ - Next
+ - Gosub
+ - Return
+ - FakeReturn
+ - If
+ - Else
+ - ElseIf
+ - EndIf
+ - Repeat
+ - Until
+ - Select
+ - Case
+ - Default
+ - EndSelect
+ - While
+ - Wend
+ - End
+ - Structure
+ - EndStructure
+ - Interface
+ - EndInterface
+ - Extends
+ - DefType
+ - Dim
+ - Enumeration
+ - EndEnumeration
+ - Global
+ - Procedure
+ - EndProcedure
+ - ProcedureReturn
+ - Shared
+ - Protected
+ - Static
+ - Declare
+ - DataSection
+ - EndDataSection
+ - Data
+ - Restore
+ - Read
+ - IncludeFile
+ - XIncludeFile
+ - IncludeBinary
+ - IncludePath
+ - ProcedureDLL
+ - NewList
+ - Goto
+ - With
+ - DeclareModule
+ - EndDeclareModule
+ - Module
+ - EndModule
+ - UseModule
+ - UnuseModule
+
+
+ - CompilerIf
+ - CompilerElse
+ - CompilerEndIf
+ - CompilerSelect
+ - CompilerCase
+ - CompilerDefault
+ - CompilerEndSelect
+
+
+ - CallDebugger
+ - Debug
+
+
+ - ACos
+ - ACosH
+ - AESDecoder
+ - AESEncoder
+ - ASin
+ - ASinH
+ - ATan
+ - ATan2
+ - ATanH
+ - AbortFTPFile
+ - Abs
+ - Add3DArchive
+ - AddBillboard
+ - AddCipherBuffer
+ - AddDate
+ - AddElement
+ - AddEntityAnimationTime
+ - AddGadgetColumn
+ - AddGadgetItem
+ - AddGadgetItem3D
+ - AddJSONElement
+ - AddJSONMember
+ - AddKeyboardShortcut
+ - AddMailAttachment
+ - AddMailAttachmentData
+ - AddMailRecipient
+ - AddMapElement
+ - AddMaterialLayer
+ - AddNodeAnimationTime
+ - AddPackFile
+ - AddPackMemory
+ - AddSplinePoint
+ - AddStaticGeometryEntity
+ - AddStatusBarField
+ - AddSubMesh
+ - AddSysTrayIcon
+ - AddTerrainTexture
+ - AddVertexPoseReference
+ - AddWindowTimer
+ - AffectedDatabaseRows
+ - AllocateMemory
+ - AllocateStructure
+ - Alpha
+ - AlphaBlend
+ - AmbientColor
+ - AntialiasingMode
+ - ApplyEntityForce
+ - ApplyEntityImpulse
+ - ArraySize
+ - Asc
+ - AttachEntityObject
+ - AttachNodeObject
+ - AttachRibbonEffect
+ - AudioCDLength
+ - AudioCDName
+ - AudioCDStatus
+ - AudioCDTrackLength
+ - AudioCDTrackSeconds
+ - AudioCDTracks
+ - AvailableProgramOutput
+ - AvailableScreenMemory
+ - AvailableSerialPortInput
+ - AvailableSerialPortOutput
+ - BackColor
+ - Base64Decoder
+ - Base64Encoder
+ - BillboardGroupCommonDirection
+ - BillboardGroupCommonUpVector
+ - BillboardGroupID
+ - BillboardGroupMaterial
+ - BillboardGroupX
+ - BillboardGroupY
+ - BillboardGroupZ
+ - BillboardHeight
+ - BillboardLocate
+ - BillboardWidth
+ - BillboardX
+ - BillboardY
+ - BillboardZ
+ - Bin
+ - BindEvent
+ - BindGadgetEvent
+ - BindMenuEvent
+ - Blue
+ - Box
+ - BoxedGradient
+ - BuildMeshShadowVolume
+ - BuildMeshTangents
+ - BuildStaticGeometry
+ - BuildTerrain
+ - ButtonGadget
+ - ButtonGadget3D
+ - ButtonImageGadget
+ - CPUName
+ - CRC32FileFingerprint
+ - CRC32Fingerprint
+ - CalendarGadget
+ - CallCFunction
+ - CallCFunctionFast
+ - CallFunction
+ - CallFunctionFast
+ - CameraBackColor
+ - CameraDirection
+ - CameraDirectionX
+ - CameraDirectionY
+ - CameraDirectionZ
+ - CameraFOV
+ - CameraFixedYawAxis
+ - CameraFollow
+ - CameraID
+ - CameraLookAt
+ - CameraPitch
+ - CameraProjectionMode
+ - CameraProjectionX
+ - CameraProjectionY
+ - CameraRange
+ - CameraRenderMode
+ - CameraRoll
+ - CameraViewHeight
+ - CameraViewWidth
+ - CameraViewX
+ - CameraViewY
+ - CameraX
+ - CameraY
+ - CameraYaw
+ - CameraZ
+ - CanvasGadget
+ - CanvasOutput
+ - CatchImage
+ - CatchJSON
+ - CatchMusic
+ - CatchSound
+ - CatchSprite
+ - CatchXML
+ - ChangeCurrentElement
+ - ChangeGamma
+ - ChangeListIconGadgetDisplay
+ - ChangeSysTrayIcon
+ - CheckBoxGadget
+ - CheckBoxGadget3D
+ - CheckDatabaseNull
+ - CheckFTPConnection
+ - CheckFilename
+ - CheckObjectVisibility
+ - ChildXMLNode
+ - Chr
+ - Circle
+ - CircularGradient
+ - ClearBillboards
+ - ClearClipboard
+ - ClearConsole
+ - ClearDebugOutput
+ - ClearGadgetItemList
+ - ClearGadgetItems
+ - ClearGadgetItems3D
+ - ClearJSONElements
+ - ClearJSONMembers
+ - ClearList
+ - ClearMap
+ - ClearScreen
+ - ClearSpline
+ - ClipOutput
+ - ClipSprite
+ - CloseConsole
+ - CloseCryptRandom
+ - CloseDatabase
+ - CloseFTP
+ - CloseFile
+ - CloseGadgetList
+ - CloseGadgetList3D
+ - CloseHelp
+ - CloseLibrary
+ - CloseNetworkConnection
+ - CloseNetworkServer
+ - ClosePack
+ - ClosePreferences
+ - CloseProgram
+ - CloseScreen
+ - CloseSerialPort
+ - CloseSubMenu
+ - CloseWindow
+ - CloseWindow3D
+ - CocoaMessage
+ - ColorRequester
+ - ComboBoxGadget
+ - ComboBoxGadget3D
+ - CompareMemory
+ - CompareMemoryString
+ - ComposeJSON
+ - ComposeXML
+ - CompositorEffectParameter
+ - CompressMemory
+ - ComputeSpline
+ - ComputerName
+ - ConeTwistJoint
+ - ConicalGradient
+ - ConnectionID
+ - ConsoleColor
+ - ConsoleCursor
+ - ConsoleError
+ - ConsoleLocate
+ - ConsoleTitle
+ - ContainerGadget
+ - ContainerGadget3D
+ - ConvertLocalToWorldPosition
+ - ConvertWorldToLocalPosition
+ - CopyArray
+ - CopyDirectory
+ - CopyEntity
+ - CopyFile
+ - CopyImage
+ - CopyLight
+ - CopyList
+ - CopyMap
+ - CopyMaterial
+ - CopyMemory
+ - CopyMemoryString
+ - CopyMesh
+ - CopySprite
+ - CopyTexture
+ - CopyXMLNode
+ - Cos
+ - CosH
+ - CountBillboards
+ - CountCPUs
+ - CountGadgetItems
+ - CountGadgetItems3D
+ - CountLibraryFunctions
+ - CountList
+ - CountMaterialLayers
+ - CountProgramParameters
+ - CountRegularExpressionGroups
+ - CountSplinePoints
+ - CountString
+ - CreateBillboardGroup
+ - CreateCamera
+ - CreateCompositorEffect
+ - CreateCube
+ - CreateCubeMapTexture
+ - CreateCylinder
+ - CreateDialog
+ - CreateDirectory
+ - CreateEntity
+ - CreateFTPDirectory
+ - CreateFile
+ - CreateGadgetList
+ - CreateImage
+ - CreateImageMenu
+ - CreateJSON
+ - CreateLensFlareEffect
+ - CreateLight
+ - CreateLine3D
+ - CreateMail
+ - CreateMaterial
+ - CreateMenu
+ - CreateMesh
+ - CreateMutex
+ - CreateNetworkServer
+ - CreateNode
+ - CreateNodeAnimation
+ - CreateNodeAnimationKeyFrame
+ - CreatePack
+ - CreateParticleEmitter
+ - CreatePlane
+ - CreatePopupImageMenu
+ - CreatePopupMenu
+ - CreatePreferences
+ - CreateRegularExpression
+ - CreateRenderTexture
+ - CreateRibbonEffect
+ - CreateSemaphore
+ - CreateSphere
+ - CreateSpline
+ - CreateSprite
+ - CreateStaticGeometry
+ - CreateStatusBar
+ - CreateTerrain
+ - CreateText3D
+ - CreateTexture
+ - CreateThread
+ - CreateToolBar
+ - CreateVertexAnimation
+ - CreateVertexPoseKeyFrame
+ - CreateVertexTrack
+ - CreateWater
+ - CreateXML
+ - CreateXMLNode
+ - CryptRandom
+ - CryptRandomData
+ - CustomFilterCallback
+ - CustomGradient
+ - DESFingerprint
+ - DatabaseColumnIndex
+ - DatabaseColumnName
+ - DatabaseColumnSize
+ - DatabaseColumnType
+ - DatabaseColumns
+ - DatabaseDriverDescription
+ - DatabaseDriverName
+ - DatabaseError
+ - DatabaseID
+ - DatabaseQuery
+ - DatabaseUpdate
+ - Date
+ - DateGadget
+ - Day
+ - DayOfWeek
+ - DayOfYear
+ - DefaultPrinter
+ - DefineTerrainTile
+ - Degree
+ - Delay
+ - DeleteDirectory
+ - DeleteElement
+ - DeleteFTPDirectory
+ - DeleteFTPFile
+ - DeleteFile
+ - DeleteMapElement
+ - DeleteXMLNode
+ - DesktopDepth
+ - DesktopFrequency
+ - DesktopHeight
+ - DesktopMouseX
+ - DesktopMouseY
+ - DesktopName
+ - DesktopWidth
+ - DesktopX
+ - DesktopY
+ - DetachEntityObject
+ - DetachNodeObject
+ - DetachRibbonEffect
+ - DialogError
+ - DialogGadget
+ - DialogID
+ - DialogWindow
+ - DirectoryEntryAttributes
+ - DirectoryEntryDate
+ - DirectoryEntryName
+ - DirectoryEntrySize
+ - DirectoryEntryType
+ - DisableEntityBody
+ - DisableGadget
+ - DisableGadget3D
+ - DisableLightShadows
+ - DisableMaterialLighting
+ - DisableMenuItem
+ - DisableParticleEmitter
+ - DisableToolBarButton
+ - DisableWindow
+ - DisableWindow3D
+ - DisplayPopupMenu
+ - DisplaySprite
+ - DisplayTransparentSprite
+ - DoubleClickTime
+ - DragFiles
+ - DragImage
+ - DragOSFormats
+ - DragPrivate
+ - DragText
+ - DrawAlphaImage
+ - DrawImage
+ - DrawRotatedText
+ - DrawText
+ - DrawingBuffer
+ - DrawingBufferPitch
+ - DrawingBufferPixelFormat
+ - DrawingFont
+ - DrawingMode
+ - EditorGadget
+ - EditorGadget3D
+ - EjectAudioCD
+ - ElapsedMilliseconds
+ - Ellipse
+ - EllipticalGradient
+ - EnableGadgetDrop
+ - EnableGraphicalConsole
+ - EnableHingeJointAngularMotor
+ - EnableManualEntityBoneControl
+ - EnableWindowDrop
+ - EnableWorldCollisions
+ - EnableWorldPhysics
+ - EncodeImage
+ - Engine3DStatus
+ - EntityAngularFactor
+ - EntityAnimationBlendMode
+ - EntityAnimationStatus
+ - EntityBonePitch
+ - EntityBoneRoll
+ - EntityBoneX
+ - EntityBoneY
+ - EntityBoneYaw
+ - EntityBoneZ
+ - EntityBoundingBox
+ - EntityCollide
+ - EntityCubeMapTexture
+ - EntityCustomParameter
+ - EntityFixedYawAxis
+ - EntityID
+ - EntityLinearFactor
+ - EntityLookAt
+ - EntityParentNode
+ - EntityPhysicBody
+ - EntityPitch
+ - EntityRenderMode
+ - EntityRoll
+ - EntityVelocity
+ - EntityX
+ - EntityY
+ - EntityYaw
+ - EntityZ
+ - EnvironmentVariableName
+ - EnvironmentVariableValue
+ - Eof
+ - ErrorAddress
+ - ErrorCode
+ - ErrorFile
+ - ErrorLine
+ - ErrorMessage
+ - ErrorRegister
+ - ErrorTargetAddress
+ - EventClient
+ - EventData
+ - EventDropAction
+ - EventDropBuffer
+ - EventDropFiles
+ - EventDropImage
+ - EventDropPrivate
+ - EventDropSize
+ - EventDropText
+ - EventDropType
+ - EventDropX
+ - EventDropY
+ - EventGadget
+ - EventGadget3D
+ - EventMenu
+ - EventServer
+ - EventTimer
+ - EventType
+ - EventType3D
+ - EventWindow
+ - EventWindow3D
+ - EventlParam
+ - EventwParam
+ - ExamineAssembly
+ - ExamineDatabaseDrivers
+ - ExamineDesktops
+ - ExamineDirectory
+ - ExamineEnvironmentVariables
+ - ExamineFTPDirectory
+ - ExamineIPAddresses
+ - ExamineJSONMembers
+ - ExamineJoystick
+ - ExamineKeyboard
+ - ExamineLibraryFunctions
+ - ExamineMD5Fingerprint
+ - ExamineMouse
+ - ExaminePack
+ - ExaminePreferenceGroups
+ - ExaminePreferenceKeys
+ - ExamineRegularExpression
+ - ExamineSHA1Fingerprint
+ - ExamineScreenModes
+ - ExamineWorldCollisions
+ - ExamineXMLAttributes
+ - Exp
+ - ExplorerComboGadget
+ - ExplorerListGadget
+ - ExplorerTreeGadget
+ - ExportJSON
+ - ExportJSONSize
+ - ExportXML
+ - ExportXMLSize
+ - ExtractJSONArray
+ - ExtractJSONList
+ - ExtractJSONMap
+ - ExtractJSONStructure
+ - ExtractRegularExpression
+ - ExtractXMLArray
+ - ExtractXMLList
+ - ExtractXMLMap
+ - ExtractXMLStructure
+ - FTPDirectoryEntryAttributes
+ - FTPDirectoryEntryDate
+ - FTPDirectoryEntryName
+ - FTPDirectoryEntryRaw
+ - FTPDirectoryEntrySize
+ - FTPDirectoryEntryType
+ - FTPProgress
+ - FetchEntityMaterial
+ - FetchOrientation
+ - FileBuffersSize
+ - FileID
+ - FileSeek
+ - FileSize
+ - FillArea
+ - FillMemory
+ - FindMapElement
+ - FindString
+ - FinishCipher
+ - FinishDatabaseQuery
+ - FinishDirectory
+ - FinishFTPDirectory
+ - FinishFingerprint
+ - FinishMesh
+ - FirstDatabaseRow
+ - FirstElement
+ - FirstWorldCollisionEntity
+ - FlipBuffers
+ - FlushFileBuffers
+ - Fog
+ - FontID
+ - FontRequester
+ - FormatDate
+ - FormatXML
+ - FrameGadget
+ - FrameGadget3D
+ - FreeArray
+ - FreeBillboardGroup
+ - FreeCamera
+ - FreeDialog
+ - FreeEffect
+ - FreeEntity
+ - FreeEntityJoints
+ - FreeFont
+ - FreeGadget
+ - FreeGadget3D
+ - FreeIP
+ - FreeImage
+ - FreeJSON
+ - FreeJoint
+ - FreeLight
+ - FreeList
+ - FreeMail
+ - FreeMap
+ - FreeMaterial
+ - FreeMemory
+ - FreeMenu
+ - FreeMesh
+ - FreeMovie
+ - FreeMusic
+ - FreeMutex
+ - FreeNode
+ - FreeNodeAnimation
+ - FreeParticleEmitter
+ - FreeRegularExpression
+ - FreeSemaphore
+ - FreeSound
+ - FreeSound3D
+ - FreeSpline
+ - FreeSprite
+ - FreeStaticGeometry
+ - FreeStatusBar
+ - FreeStructure
+ - FreeTerrain
+ - FreeText3D
+ - FreeTexture
+ - FreeToolBar
+ - FreeWater
+ - FreeXML
+ - FrontColor
+ - GadgetHeight
+ - GadgetHeight3D
+ - GadgetID
+ - GadgetID3D
+ - GadgetItemID
+ - GadgetToolTip
+ - GadgetToolTip3D
+ - GadgetType
+ - GadgetType3D
+ - GadgetWidth
+ - GadgetWidth3D
+ - GadgetX
+ - GadgetX3D
+ - GadgetY
+ - GadgetY3D
+ - GetActiveGadget
+ - GetActiveGadget3D
+ - GetActiveWindow
+ - GetActiveWindow3D
+ - GetClientIP
+ - GetClientPort
+ - GetClipboardImage
+ - GetClipboardText
+ - GetCurrentDirectory
+ - GetDatabaseBlob
+ - GetDatabaseDouble
+ - GetDatabaseFloat
+ - GetDatabaseLong
+ - GetDatabaseQuad
+ - GetDatabaseString
+ - GetEntityAnimationLength
+ - GetEntityAnimationTime
+ - GetEntityAnimationWeight
+ - GetEntityAttribute
+ - GetEntityCollisionGroup
+ - GetEntityCollisionMask
+ - GetEnvironmentVariable
+ - GetExtensionPart
+ - GetFTPDirectory
+ - GetFileAttributes
+ - GetFileDate
+ - GetFilePart
+ - GetFunction
+ - GetFunctionEntry
+ - GetGadgetAttribute
+ - GetGadgetAttribute3D
+ - GetGadgetColor
+ - GetGadgetData
+ - GetGadgetData3D
+ - GetGadgetFont
+ - GetGadgetItemAttribute
+ - GetGadgetItemColor
+ - GetGadgetItemData
+ - GetGadgetItemData3D
+ - GetGadgetItemState
+ - GetGadgetItemState3D
+ - GetGadgetItemText
+ - GetGadgetItemText3D
+ - GetGadgetState
+ - GetGadgetState3D
+ - GetGadgetText
+ - GetGadgetText3D
+ - GetHTTPHeader
+ - GetHomeDirectory
+ - GetJSONBoolean
+ - GetJSONDouble
+ - GetJSONElement
+ - GetJSONFloat
+ - GetJSONInteger
+ - GetJSONMember
+ - GetJSONQuad
+ - GetJSONString
+ - GetJointAttribute
+ - GetLightColor
+ - GetMailAttribute
+ - GetMailBody
+ - GetMaterialAttribute
+ - GetMaterialColor
+ - GetMenuItemState
+ - GetMenuItemText
+ - GetMenuTitleText
+ - GetMeshData
+ - GetMusicPosition
+ - GetMusicRow
+ - GetNodeAnimationKeyFrameTime
+ - GetNodeAnimationLength
+ - GetNodeAnimationTime
+ - GetNodeAnimationWeight
+ - GetOriginX
+ - GetOriginY
+ - GetPathPart
+ - GetRuntimeDouble
+ - GetRuntimeInteger
+ - GetRuntimeString
+ - GetScriptMaterial
+ - GetScriptParticleEmitter
+ - GetScriptTexture
+ - GetSerialPortStatus
+ - GetSoundFrequency
+ - GetSoundPosition
+ - GetTemporaryDirectory
+ - GetTerrainTileHeightAtPoint
+ - GetTerrainTileLayerBlend
+ - GetToolBarButtonState
+ - GetURLPart
+ - GetW
+ - GetWindowColor
+ - GetWindowData
+ - GetWindowState
+ - GetWindowTitle
+ - GetWindowTitle3D
+ - GetX
+ - GetXMLAttribute
+ - GetXMLEncoding
+ - GetXMLNodeName
+ - GetXMLNodeOffset
+ - GetXMLNodeText
+ - GetXMLStandalone
+ - GetY
+ - GetZ
+ - GrabDrawingImage
+ - GrabImage
+ - GrabSprite
+ - GradientColor
+ - Green
+ - Hex
+ - HideBillboardGroup
+ - HideEffect
+ - HideEntity
+ - HideGadget
+ - HideGadget3D
+ - HideLight
+ - HideMenu
+ - HideParticleEmitter
+ - HideWindow
+ - HideWindow3D
+ - HingeJoint
+ - HingeJointMotorTarget
+ - HostName
+ - Hour
+ - HyperLinkGadget
+ - IPAddressField
+ - IPAddressGadget
+ - IPString
+ - ImageDepth
+ - ImageFormat
+ - ImageGadget
+ - ImageGadget3D
+ - ImageHeight
+ - ImageID
+ - ImageOutput
+ - ImageWidth
+ - Infinity
+ - InitAudioCD
+ - InitEngine3D
+ - InitJoystick
+ - InitKeyboard
+ - InitMouse
+ - InitMovie
+ - InitNetwork
+ - InitScintilla
+ - InitSound
+ - InitSprite
+ - Inkey
+ - Input
+ - InputEvent3D
+ - InputRequester
+ - InsertElement
+ - InsertJSONArray
+ - InsertJSONList
+ - InsertJSONMap
+ - InsertJSONStructure
+ - InsertString
+ - InsertXMLArray
+ - InsertXMLList
+ - InsertXMLMap
+ - InsertXMLStructure
+ - InstructionAddress
+ - InstructionString
+ - Int
+ - IntQ
+ - IsBillboardGroup
+ - IsCamera
+ - IsDatabase
+ - IsDialog
+ - IsDirectory
+ - IsEffect
+ - IsEntity
+ - IsFile
+ - IsFingerprint
+ - IsFont
+ - IsFtp
+ - IsGadget
+ - IsGadget3D
+ - IsImage
+ - IsInfinity
+ - IsJSON
+ - IsLibrary
+ - IsLight
+ - IsMail
+ - IsMaterial
+ - IsMenu
+ - IsMesh
+ - IsMovie
+ - IsMusic
+ - IsNaN
+ - IsNode
+ - IsParticleEmitter
+ - IsProgram
+ - IsRegularExpression
+ - IsRuntime
+ - IsScreenActive
+ - IsSerialPort
+ - IsSound
+ - IsSound3D
+ - IsSprite
+ - IsStaticGeometry
+ - IsStatusBar
+ - IsSysTrayIcon
+ - IsText3D
+ - IsTexture
+ - IsThread
+ - IsToolBar
+ - IsWindow
+ - IsWindow3D
+ - IsXML
+ - JSONArraySize
+ - JSONErrorLine
+ - JSONErrorMessage
+ - JSONErrorPosition
+ - JSONMemberKey
+ - JSONMemberValue
+ - JSONObjectSize
+ - JSONType
+ - JSONValue
+ - JoystickAxisX
+ - JoystickAxisY
+ - JoystickAxisZ
+ - JoystickButton
+ - JoystickName
+ - KeyboardInkey
+ - KeyboardMode
+ - KeyboardPushed
+ - KeyboardReleased
+ - KillProgram
+ - KillThread
+ - LCase
+ - LSet
+ - LTrim
+ - LastElement
+ - Left
+ - Len
+ - LensFlareEffectColor
+ - LibraryFunctionAddress
+ - LibraryFunctionName
+ - LibraryID
+ - LightAttenuation
+ - LightDirection
+ - LightDirectionX
+ - LightDirectionY
+ - LightDirectionZ
+ - LightID
+ - LightLookAt
+ - LightPitch
+ - LightRoll
+ - LightX
+ - LightY
+ - LightYaw
+ - LightZ
+ - Line
+ - LineXY
+ - LinearGradient
+ - ListIconGadget
+ - ListIndex
+ - ListSize
+ - ListViewGadget
+ - ListViewGadget3D
+ - LoadFont
+ - LoadImage
+ - LoadJSON
+ - LoadMesh
+ - LoadMovie
+ - LoadMusic
+ - LoadSound
+ - LoadSound3D
+ - LoadSprite
+ - LoadTexture
+ - LoadWorld
+ - LoadXML
+ - Loc
+ - LockMutex
+ - Lof
+ - Log
+ - Log10
+ - MD5FileFingerprint
+ - MD5Fingerprint
+ - MDIGadget
+ - MailProgress
+ - MainXMLNode
+ - MakeIPAddress
+ - MapKey
+ - MapSize
+ - MatchRegularExpression
+ - MaterialBlendingMode
+ - MaterialCullingMode
+ - MaterialFilteringMode
+ - MaterialFog
+ - MaterialID
+ - MaterialShadingMode
+ - MaterialShininess
+ - MemorySize
+ - MemoryStatus
+ - MemoryStringLength
+ - MenuBar
+ - MenuHeight
+ - MenuID
+ - MenuItem
+ - MenuTitle
+ - MergeLists
+ - MeshFace
+ - MeshID
+ - MeshIndex
+ - MeshIndexCount
+ - MeshPoseCount
+ - MeshPoseName
+ - MeshRadius
+ - MeshVertexColor
+ - MeshVertexCount
+ - MeshVertexNormal
+ - MeshVertexPosition
+ - MeshVertexTangent
+ - MeshVertexTextureCoordinate
+ - MessageRequester
+ - Mid
+ - Minute
+ - Mod
+ - Month
+ - MouseButton
+ - MouseDeltaX
+ - MouseDeltaY
+ - MouseLocate
+ - MousePick
+ - MouseRayCast
+ - MouseWheel
+ - MouseX
+ - MouseY
+ - MoveBillboard
+ - MoveBillboardGroup
+ - MoveCamera
+ - MoveElement
+ - MoveEntity
+ - MoveEntityBone
+ - MoveLight
+ - MoveMemory
+ - MoveNode
+ - MoveParticleEmitter
+ - MoveText3D
+ - MoveXMLNode
+ - MovieAudio
+ - MovieHeight
+ - MovieInfo
+ - MovieLength
+ - MovieSeek
+ - MovieStatus
+ - MovieWidth
+ - MusicVolume
+ - NaN
+ - NetworkClientEvent
+ - NetworkServerEvent
+ - NewPrinterPage
+ - NextDatabaseDriver
+ - NextDatabaseRow
+ - NextDirectoryEntry
+ - NextElement
+ - NextEnvironmentVariable
+ - NextFTPDirectoryEntry
+ - NextFingerprint
+ - NextIPAddress
+ - NextInstruction
+ - NextJSONMember
+ - NextLibraryFunction
+ - NextMapElement
+ - NextPackEntry
+ - NextPreferenceGroup
+ - NextPreferenceKey
+ - NextRegularExpressionMatch
+ - NextScreenMode
+ - NextSelectedFilename
+ - NextWorldCollision
+ - NextXMLAttribute
+ - NextXMLNode
+ - NodeAnimationKeyFramePitch
+ - NodeAnimationKeyFrameRoll
+ - NodeAnimationKeyFrameX
+ - NodeAnimationKeyFrameY
+ - NodeAnimationKeyFrameYaw
+ - NodeAnimationKeyFrameZ
+ - NodeAnimationStatus
+ - NodeFixedYawAxis
+ - NodeID
+ - NodeLookAt
+ - NodePitch
+ - NodeRoll
+ - NodeX
+ - NodeY
+ - NodeYaw
+ - NodeZ
+ - NormalX
+ - NormalY
+ - NormalZ
+ - NormalizeMesh
+ - OSVersion
+ - OnErrorCall
+ - OnErrorDefault
+ - OnErrorExit
+ - OnErrorGoto
+ - OpenConsole
+ - OpenCryptRandom
+ - OpenDatabase
+ - OpenDatabaseRequester
+ - OpenFTP
+ - OpenFile
+ - OpenFileRequester
+ - OpenGLGadget
+ - OpenGadgetList
+ - OpenGadgetList3D
+ - OpenHelp
+ - OpenLibrary
+ - OpenNetworkConnection
+ - OpenPack
+ - OpenPreferences
+ - OpenScreen
+ - OpenSerialPort
+ - OpenSubMenu
+ - OpenWindow
+ - OpenWindow3D
+ - OpenWindowedScreen
+ - OpenXMLDialog
+ - OptionGadget
+ - OptionGadget3D
+ - OutputDepth
+ - OutputHeight
+ - OutputWidth
+ - PackEntryName
+ - PackEntrySize
+ - PackEntryType
+ - PanelGadget
+ - PanelGadget3D
+ - ParentXMLNode
+ - Parse3DScripts
+ - ParseDate
+ - ParseJSON
+ - ParseXML
+ - ParticleColorFader
+ - ParticleColorRange
+ - ParticleEmissionRate
+ - ParticleEmitterDirection
+ - ParticleEmitterID
+ - ParticleEmitterX
+ - ParticleEmitterY
+ - ParticleEmitterZ
+ - ParticleMaterial
+ - ParticleSize
+ - ParticleSpeedFactor
+ - ParticleTimeToLive
+ - ParticleVelocity
+ - PathRequester
+ - PauseAudioCD
+ - PauseMovie
+ - PauseSound
+ - PauseThread
+ - PeekA
+ - PeekB
+ - PeekC
+ - PeekD
+ - PeekF
+ - PeekI
+ - PeekL
+ - PeekQ
+ - PeekS
+ - PeekU
+ - PeekW
+ - PickX
+ - PickY
+ - PickZ
+ - Pitch
+ - PlayAudioCD
+ - PlayMovie
+ - PlayMusic
+ - PlaySound
+ - PlaySound3D
+ - Plot
+ - Point
+ - PointJoint
+ - PointPick
+ - PokeA
+ - PokeB
+ - PokeC
+ - PokeD
+ - PokeF
+ - PokeI
+ - PokeL
+ - PokeQ
+ - PokeS
+ - PokeU
+ - PokeW
+ - PopListPosition
+ - PopMapPosition
+ - PostEvent
+ - Pow
+ - PreferenceComment
+ - PreferenceGroup
+ - PreferenceGroupName
+ - PreferenceKeyName
+ - PreferenceKeyValue
+ - PreviousDatabaseRow
+ - PreviousElement
+ - PreviousXMLNode
+ - Print
+ - PrintN
+ - PrintRequester
+ - PrinterOutput
+ - PrinterPageHeight
+ - PrinterPageWidth
+ - ProgramExitCode
+ - ProgramFilename
+ - ProgramID
+ - ProgramParameter
+ - ProgramRunning
+ - ProgressBarGadget
+ - ProgressBarGadget3D
+ - PurifierGranularity
+ - PushListPosition
+ - PushMapPosition
+ - RGB
+ - RGBA
+ - RSet
+ - RTrim
+ - Radian
+ - RaiseError
+ - Random
+ - RandomData
+ - RandomSeed
+ - RandomizeArray
+ - RandomizeList
+ - RawKey
+ - RayCast
+ - RayCollide
+ - RayPick
+ - ReAllocateMemory
+ - ReadAsciiCharacter
+ - ReadByte
+ - ReadCharacter
+ - ReadConsoleData
+ - ReadData
+ - ReadDouble
+ - ReadFile
+ - ReadFloat
+ - ReadInteger
+ - ReadLong
+ - ReadPreferenceDouble
+ - ReadPreferenceFloat
+ - ReadPreferenceInteger
+ - ReadPreferenceLong
+ - ReadPreferenceQuad
+ - ReadPreferenceString
+ - ReadProgramData
+ - ReadProgramError
+ - ReadProgramString
+ - ReadQuad
+ - ReadSerialPortData
+ - ReadString
+ - ReadStringFormat
+ - ReadUnicodeCharacter
+ - ReadWord
+ - ReceiveFTPFile
+ - ReceiveHTTPFile
+ - ReceiveNetworkData
+ - Red
+ - RegularExpressionError
+ - RegularExpressionGroup
+ - RegularExpressionGroupLength
+ - RegularExpressionGroupPosition
+ - RegularExpressionMatchLength
+ - RegularExpressionMatchPosition
+ - RegularExpressionMatchString
+ - RegularExpressionNamedGroup
+ - RegularExpressionNamedGroupLength
+ - RegularExpressionNamedGroupPosition
+ - ReleaseMouse
+ - ReloadMaterial
+ - RemoveBillboard
+ - RemoveEnvironmentVariable
+ - RemoveGadgetColumn
+ - RemoveGadgetItem
+ - RemoveGadgetItem3D
+ - RemoveJSONElement
+ - RemoveJSONMember
+ - RemoveKeyboardShortcut
+ - RemoveMailRecipient
+ - RemoveMaterialLayer
+ - RemovePackFile
+ - RemovePreferenceGroup
+ - RemovePreferenceKey
+ - RemoveString
+ - RemoveSysTrayIcon
+ - RemoveWindowTimer
+ - RemoveXMLAttribute
+ - RenameFTPFile
+ - RenameFile
+ - RenderWorld
+ - ReplaceRegularExpression
+ - ReplaceString
+ - ResetGradientColors
+ - ResetList
+ - ResetMap
+ - ResetMaterial
+ - ResetProfiler
+ - ResizeBillboard
+ - ResizeGadget
+ - ResizeGadget3D
+ - ResizeImage
+ - ResizeJSONElements
+ - ResizeMovie
+ - ResizeParticleEmitter
+ - ResizeWindow
+ - ResizeWindow3D
+ - ResolveXMLAttributeName
+ - ResolveXMLNodeName
+ - ResumeAudioCD
+ - ResumeMovie
+ - ResumeSound
+ - ResumeThread
+ - ReverseString
+ - RibbonEffectColor
+ - RibbonEffectWidth
+ - Right
+ - Roll
+ - RootXMLNode
+ - RotateBillboardGroup
+ - RotateCamera
+ - RotateEntity
+ - RotateEntityBone
+ - RotateLight
+ - RotateMaterial
+ - RotateNode
+ - RotateSprite
+ - Round
+ - RoundBox
+ - RunProgram
+ - SHA1FileFingerprint
+ - SHA1Fingerprint
+ - SaveDebugOutput
+ - SaveFileRequester
+ - SaveImage
+ - SaveJSON
+ - SaveMesh
+ - SaveRenderTexture
+ - SaveSprite
+ - SaveTerrain
+ - SaveXML
+ - ScaleEntity
+ - ScaleMaterial
+ - ScaleNode
+ - ScaleText3D
+ - ScintillaGadget
+ - ScintillaSendMessage
+ - ScreenDepth
+ - ScreenHeight
+ - ScreenID
+ - ScreenModeDepth
+ - ScreenModeHeight
+ - ScreenModeRefreshRate
+ - ScreenModeWidth
+ - ScreenOutput
+ - ScreenWidth
+ - ScrollAreaGadget
+ - ScrollAreaGadget3D
+ - ScrollBarGadget
+ - ScrollBarGadget3D
+ - ScrollMaterial
+ - Second
+ - SecondWorldCollisionEntity
+ - SelectElement
+ - SelectedFilePattern
+ - SelectedFontColor
+ - SelectedFontName
+ - SelectedFontSize
+ - SelectedFontStyle
+ - SendFTPFile
+ - SendMail
+ - SendNetworkData
+ - SendNetworkString
+ - SerialPortError
+ - SerialPortID
+ - SerialPortTimeouts
+ - ServerID
+ - SetActiveGadget
+ - SetActiveGadget3D
+ - SetActiveWindow
+ - SetActiveWindow3D
+ - SetClipboardImage
+ - SetClipboardText
+ - SetCurrentDirectory
+ - SetDatabaseBlob
+ - SetDragCallback
+ - SetDropCallback
+ - SetEntityAnimationLength
+ - SetEntityAnimationTime
+ - SetEntityAnimationWeight
+ - SetEntityAttribute
+ - SetEntityCollisionFilter
+ - SetEntityMaterial
+ - SetEnvironmentVariable
+ - SetFTPDirectory
+ - SetFileAttributes
+ - SetFileDate
+ - SetFrameRate
+ - SetGUITheme3D
+ - SetGadgetAttribute
+ - SetGadgetAttribute3D
+ - SetGadgetColor
+ - SetGadgetData
+ - SetGadgetData3D
+ - SetGadgetFont
+ - SetGadgetItemAttribute
+ - SetGadgetItemColor
+ - SetGadgetItemData
+ - SetGadgetItemData3D
+ - SetGadgetItemImage
+ - SetGadgetItemState
+ - SetGadgetItemState3D
+ - SetGadgetItemText
+ - SetGadgetItemText3D
+ - SetGadgetState
+ - SetGadgetState3D
+ - SetGadgetText
+ - SetGadgetText3D
+ - SetJSONArray
+ - SetJSONBoolean
+ - SetJSONDouble
+ - SetJSONFloat
+ - SetJSONInteger
+ - SetJSONNull
+ - SetJSONObject
+ - SetJSONQuad
+ - SetJSONString
+ - SetJointAttribute
+ - SetLightColor
+ - SetMailAttribute
+ - SetMailBody
+ - SetMaterialAttribute
+ - SetMaterialColor
+ - SetMenuItemState
+ - SetMenuItemText
+ - SetMenuTitleText
+ - SetMeshData
+ - SetMeshMaterial
+ - SetMusicPosition
+ - SetNodeAnimationKeyFramePosition
+ - SetNodeAnimationKeyFrameRotation
+ - SetNodeAnimationKeyFrameScale
+ - SetNodeAnimationLength
+ - SetNodeAnimationTime
+ - SetNodeAnimationWeight
+ - SetOrientation
+ - SetOrigin
+ - SetRenderQueue
+ - SetRuntimeDouble
+ - SetRuntimeInteger
+ - SetRuntimeString
+ - SetSerialPortStatus
+ - SetSoundFrequency
+ - SetSoundPosition
+ - SetTerrainTileHeightAtPoint
+ - SetTerrainTileLayerBlend
+ - SetToolBarButtonState
+ - SetURLPart
+ - SetWindowCallback
+ - SetWindowColor
+ - SetWindowData
+ - SetWindowState
+ - SetWindowTitle
+ - SetWindowTitle3D
+ - SetXMLAttribute
+ - SetXMLEncoding
+ - SetXMLNodeName
+ - SetXMLNodeOffset
+ - SetXMLNodeText
+ - SetXMLStandalone
+ - SetupTerrains
+ - ShortcutGadget
+ - ShowAssemblyViewer
+ - ShowCallstack
+ - ShowDebugOutput
+ - ShowGUI
+ - ShowLibraryViewer
+ - ShowMemoryViewer
+ - ShowProfiler
+ - ShowVariableViewer
+ - ShowWatchlist
+ - Sign
+ - SignalSemaphore
+ - Sin
+ - SinH
+ - SkyBox
+ - SkyDome
+ - SliderJoint
+ - SmartWindowRefresh
+ - SortArray
+ - SortList
+ - SortStructuredArray
+ - SortStructuredList
+ - SoundCone3D
+ - SoundID3D
+ - SoundLength
+ - SoundListenerLocate
+ - SoundPan
+ - SoundRange3D
+ - SoundStatus
+ - SoundVolume
+ - SoundVolume3D
+ - Space
+ - SpinGadget
+ - SpinGadget3D
+ - SplinePointX
+ - SplinePointY
+ - SplinePointZ
+ - SplineX
+ - SplineY
+ - SplineZ
+ - SplitList
+ - SplitterGadget
+ - SpotLightRange
+ - SpriteBlendingMode
+ - SpriteCollision
+ - SpriteDepth
+ - SpriteHeight
+ - SpriteID
+ - SpriteOutput
+ - SpritePixelCollision
+ - SpriteQuality
+ - SpriteWidth
+ - Sqr
+ - StartAESCipher
+ - StartDrawing
+ - StartEntityAnimation
+ - StartNodeAnimation
+ - StartPrinting
+ - StartProfiler
+ - StatusBarHeight
+ - StatusBarID
+ - StatusBarImage
+ - StatusBarProgress
+ - StatusBarText
+ - StickyWindow
+ - StopAudioCD
+ - StopDrawing
+ - StopEntityAnimation
+ - StopMovie
+ - StopMusic
+ - StopNodeAnimation
+ - StopPrinting
+ - StopProfiler
+ - StopSound
+ - StopSound3D
+ - Str
+ - StrD
+ - StrF
+ - StrU
+ - StringByteLength
+ - StringField
+ - StringGadget
+ - StringGadget3D
+ - SubMeshCount
+ - Sun
+ - SwapElements
+ - SwitchCamera
+ - SysTrayIconToolTip
+ - Tan
+ - TanH
+ - TerrainHeight
+ - TerrainLocate
+ - TerrainMousePick
+ - TerrainPhysicBody
+ - TerrainRenderMode
+ - TerrainTileHeightAtPosition
+ - TerrainTileLayerMapSize
+ - TerrainTilePointX
+ - TerrainTilePointY
+ - TerrainTileSize
+ - Text3DAlignment
+ - Text3DCaption
+ - Text3DColor
+ - Text3DID
+ - TextGadget
+ - TextGadget3D
+ - TextHeight
+ - TextWidth
+ - TextureHeight
+ - TextureID
+ - TextureOutput
+ - TextureWidth
+ - ThreadID
+ - ThreadPriority
+ - ToolBarHeight
+ - ToolBarID
+ - ToolBarImageButton
+ - ToolBarSeparator
+ - ToolBarStandardButton
+ - ToolBarToolTip
+ - TrackBarGadget
+ - TransformMesh
+ - TransformSprite
+ - TransparentSpriteColor
+ - TreeGadget
+ - Trim
+ - TruncateFile
+ - TryLockMutex
+ - TrySemaphore
+ - UCase
+ - URLDecoder
+ - URLEncoder
+ - UnbindEvent
+ - UnbindGadgetEvent
+ - UnbindMenuEvent
+ - UnclipOutput
+ - UncompressMemory
+ - UncompressPackFile
+ - UncompressPackMemory
+ - UnlockMutex
+ - UpdateEntityAnimation
+ - UpdateMesh
+ - UpdateMeshBoundingBox
+ - UpdateRenderTexture
+ - UpdateSplinePoint
+ - UpdateTerrain
+ - UpdateTerrainTileLayerBlend
+ - UpdateVertexPoseReference
+ - UseAudioCD
+ - UseBriefLZPacker
+ - UseFLACSoundDecoder
+ - UseGadgetList
+ - UseJCALG1Packer
+ - UseJPEG2000ImageDecoder
+ - UseJPEG2000ImageEncoder
+ - UseJPEGImageDecoder
+ - UseJPEGImageEncoder
+ - UseLZMAPacker
+ - UseODBCDatabase
+ - UseOGGSoundDecoder
+ - UsePNGImageDecoder
+ - UsePNGImageEncoder
+ - UsePostgreSQLDatabase
+ - UseSQLiteDatabase
+ - UseTGAImageDecoder
+ - UseTIFFImageDecoder
+ - UseZipPacker
+ - UserName
+ - Val
+ - ValD
+ - ValF
+ - VertexPoseReferenceCount
+ - WaitProgram
+ - WaitSemaphore
+ - WaitThread
+ - WaitWindowEvent
+ - WaterColor
+ - WaterHeight
+ - WebGadget
+ - WebGadgetPath
+ - WindowBounds
+ - WindowEvent
+ - WindowEvent3D
+ - WindowHeight
+ - WindowHeight3D
+ - WindowID
+ - WindowID3D
+ - WindowMouseX
+ - WindowMouseY
+ - WindowOutput
+ - WindowWidth
+ - WindowWidth3D
+ - WindowX
+ - WindowX3D
+ - WindowY
+ - WindowY3D
+ - WorldCollisionAppliedImpulse
+ - WorldCollisionContact
+ - WorldCollisionNormal
+ - WorldDebug
+ - WorldGravity
+ - WorldShadows
+ - WriteAsciiCharacter
+ - WriteByte
+ - WriteCharacter
+ - WriteConsoleData
+ - WriteData
+ - WriteDouble
+ - WriteFloat
+ - WriteInteger
+ - WriteLong
+ - WritePreferenceDouble
+ - WritePreferenceFloat
+ - WritePreferenceInteger
+ - WritePreferenceLong
+ - WritePreferenceQuad
+ - WritePreferenceString
+ - WriteProgramData
+ - WriteProgramString
+ - WriteProgramStringN
+ - WriteQuad
+ - WriteSerialPortData
+ - WriteSerialPortString
+ - WriteString
+ - WriteStringFormat
+ - WriteStringN
+ - WriteUnicodeCharacter
+ - WriteWord
+ - XMLAttributeName
+ - XMLAttributeValue
+ - XMLChildCount
+ - XMLError
+ - XMLErrorLine
+ - XMLErrorPosition
+ - XMLNodeFromID
+ - XMLNodeFromPath
+ - XMLNodePath
+ - XMLNodeType
+ - XMLStatus
+ - Yaw
+ - Year
+ - ZoomSprite
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/python.xml b/data/syntax/python.xml
new file mode 100644
index 0000000..670e22a
--- /dev/null
+++ b/data/syntax/python.xml
@@ -0,0 +1,624 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - import
+ - from
+ - as
+
+
+ - class
+ - def
+ - del
+ - global
+ - lambda
+ - nonlocal
+
+
+ - and
+ - in
+ - is
+ - not
+ - or
+
+
+ - assert
+ - break
+ - continue
+ - elif
+ - else
+ - except
+ - finally
+ - for
+ - if
+ - pass
+ - raise
+ - return
+ - try
+ - while
+ - with
+ - yield
+ - async
+ - await
+
+
+ - __import__
+ - abs
+ - all
+ - any
+ - apply
+ - ascii
+ - basestring
+ - bin
+ - bool
+ - buffer
+ - bytearray
+ - bytes
+ - callable
+ - chr
+ - classmethod
+ - cmp
+ - coerce
+ - compile
+ - complex
+ - delattr
+ - dict
+ - dir
+ - divmod
+ - enumerate
+ - eval
+ - exec
+ - execfile
+ - file
+ - filter
+ - float
+ - format
+ - frozenset
+ - getattr
+ - globals
+ - hasattr
+ - hash
+ - help
+ - hex
+ - id
+ - input
+ - int
+ - intern
+ - isinstance
+ - issubclass
+ - iter
+ - len
+ - list
+ - locals
+ - long
+ - map
+ - max
+ - memoryview
+ - min
+ - next
+ - object
+ - oct
+ - open
+ - ord
+ - pow
+ - print
+ - property
+ - range
+ - raw_input
+ - reduce
+ - reload
+ - repr
+ - reversed
+ - round
+ - set
+ - setattr
+ - slice
+ - sorted
+ - staticmethod
+ - str
+ - sum
+ - super
+ - tuple
+ - type
+ - unichr
+ - unicode
+ - vars
+ - xrange
+ - zip
+
+
+ - None
+ - self
+ - True
+ - False
+ - NotImplemented
+ - Ellipsis
+ - __debug__
+ - __file__
+ - __name__
+
+
+ - SIGNAL
+ - SLOT
+ - connect
+
+
+ - __new__
+ - __init__
+ - __del__
+ - __repr__
+ - __str__
+ - __lt__
+ - __le__
+ - __eq__
+ - __ne__
+ - __gt__
+ - __ge__
+ - __cmp__
+ - __rcmp__
+ - __hash__
+ - __nonzero__
+ - __unicode__
+ - __getattr__
+ - __setattr__
+ - __delattr__
+ - __getattribute__
+ - __get__
+ - __set__
+ - __delete__
+ - __call__
+ - __len__
+ - __getitem__
+ - __setitem__
+ - __delitem__
+ - __iter__
+ - __reversed__
+ - __contains__
+ - __getslice__
+ - __setslice__
+ - __delslice__
+ - __add__
+ - __sub__
+ - __mul__
+ - __floordiv__
+ - __mod__
+ - __divmod__
+ - __pow__
+ - __lshift__
+ - __rshift__
+ - __and__
+ - __xor__
+ - __or__
+ - __div__
+ - __truediv__
+ - __radd__
+ - __rsub__
+ - __rmul__
+ - __rdiv__
+ - __rtruediv__
+ - __rfloordiv__
+ - __rmod__
+ - __rdivmod__
+ - __rpow__
+ - __rlshift__
+ - __rrshift__
+ - __rand__
+ - __rxor__
+ - __ror__
+ - __iadd__
+ - __isub__
+ - __imul__
+ - __idiv__
+ - __itruediv__
+ - __ifloordiv__
+ - __imod__
+ - __ipow__
+ - __ilshift__
+ - __irshift__
+ - __iand__
+ - __ixor__
+ - __ior__
+ - __neg__
+ - __pos__
+ - __abs__
+ - __invert__
+ - __complex__
+ - __int__
+ - __long__
+ - __float__
+ - __oct__
+ - __hex__
+ - __index__
+ - __coerce__
+ - __enter__
+ - __exit__
+ - __bytes__
+ - __format__
+ - __next__
+ - __dir__
+ - __await__
+ - __aiter__
+ - __anext__
+ - __aenter__
+ - __aexit__
+
+
+
+ - ArithmeticError
+ - AssertionError
+ - AttributeError
+ - BaseException
+ - BlockingIOError
+ - BrokenPipeError
+ - BufferError
+ - BytesWarning
+ - ChildProcessError
+ - ConnectionAbortedError
+ - ConnectionError
+ - ConnectionRefusedError
+ - ConnectionResetError
+ - DeprecationWarning
+ - EnvironmentError
+ - EOFError
+ - Exception
+ - FileExistsError
+ - FileNotFoundError
+ - FloatingPointError
+ - FutureWarning
+ - GeneratorExit
+ - ImportError
+ - ImportWarning
+ - IndentationError
+ - IndexError
+ - InterruptedError
+ - IOError
+ - IsADirectoryError
+ - KeyboardInterrupt
+ - KeyError
+ - LookupError
+ - MemoryError
+ - NameError
+ - NotADirectoryError
+ - NotImplementedError
+ - OSError
+ - OverflowError
+ - PendingDeprecationWarning
+ - PermissionError
+ - ProcessLookupError
+ - ReferenceError
+ - ResourceWarning
+ - RuntimeError
+ - RuntimeWarning
+ - StandardError
+ - StopIteration
+ - SyntaxError
+ - SyntaxWarning
+ - SystemError
+ - SystemExit
+ - TabError
+ - TimeoutError
+ - TypeError
+ - UnboundLocalError
+ - UnicodeDecodeError
+ - UnicodeEncodeError
+ - UnicodeError
+ - UnicodeTranslateError
+ - UnicodeWarning
+ - UserWarning
+ - ValueError
+ - Warning
+ - WindowsError
+ - ZeroDivisionError
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/q.xml b/data/syntax/q.xml
new file mode 100644
index 0000000..5d7ac67
--- /dev/null
+++ b/data/syntax/q.xml
@@ -0,0 +1,210 @@
+
+
+
+
+
+ - .Q.addmonths
+ - .Q.addr
+ - .Q.host
+ - .Q.chk
+ - .Q.cn
+ - .Q.dd
+ - .Q.dpft
+ - .Q.dsftg
+ - .Q.def
+ - .Q.en
+ - .Q.fc
+ - .Q.fk
+ - .Q.fmt
+ - .Q.fs
+ - .Q.ft
+ - .Q.fu
+ - .Q.gc
+ - .Q.hdpf
+ - .Q.ind
+ - .Q.j10
+ - .Q.x10
+ - .Q.j12
+ - .Q.x12
+ - .Q.k
+ - .Q.l
+ - .Q.opt
+ - .Q.par
+ - .Q.qp
+ - .Q.qt
+ - .Q.s
+ - .Q.ty
+ - .Q.v
+ - .Q.V
+ - .Q.view
+ - .Q.w
+ - .Q.M
+ - .Q.pf
+ - .Q.pt
+ - .Q.PD
+ - .Q.PV
+ - .Q.pd
+ - .Q.pv
+ - .Q.pn
+ - .Q.bv
+ - .Q.vp
+ - .Q.P
+ - .Q.D
+ - .Q.u
+
+
+ - aj
+ - aj0
+ - all
+ - and
+ - any
+ - asc
+ - asof
+ - attr
+ - avgs
+ - ceiling
+ - cols
+ - cor
+ - count
+ - cov
+ - cross
+ - csv
+ - cut
+ - deltas
+ - desc
+ - dev
+ - differ
+ - distinct
+ - each
+ - ej
+ - enlist
+ - eval
+ - except
+ - fby
+ - fills
+ - first
+ - fkeys
+ - flip
+ - floor
+ - from
+ - get
+ - group
+ - gtime
+ - hclose
+ - hcount
+ - hdel
+ - hopen
+ - hsym
+ - iasc
+ - idesc
+ - ij
+ - inter
+ - inv
+ - key
+ - keys
+ - lj
+ - load
+ - lower
+ - lsq
+ - ltime
+ - ltrim
+ - mavg
+ - maxs
+ - mcount
+ - md5
+ - mdev
+ - med
+ - meta
+ - mins
+ - mmax
+ - mmin
+ - mmu
+ - mod
+ - msum
+ - neg
+ - next
+ - not
+ - null
+ - or
+ - over
+ - parse
+ - peach
+ - pj
+ - plist
+ - prds
+ - prev
+ - prior
+ - rand
+ - rank
+ - ratios
+ - raze
+ - read0
+ - read1
+ - reciprocal
+ - reverse
+ - rload
+ - rotate
+ - rsave
+ - rtrim
+ - save
+ - scan
+ - set
+ - show
+ - signum
+ - ssr
+ - string
+ - sublist
+ - sums
+ - sv
+ - system
+ - tables
+ - til
+ - trim
+ - txf
+ - type
+ - uj
+ - ungroup
+ - union
+ - update
+ - upper
+ - upsert
+ - value
+ - var
+ - view
+ - views
+ - vs
+ - where
+ - wj
+ - wj1
+ - xasc
+ - xbar
+ - xcol
+ - xcols
+ - xdesc
+ - xgroup
+ - xkey
+ - xlog
+ - xprev
+ - xrank
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/qmake.xml b/data/syntax/qmake.xml
new file mode 100644
index 0000000..f2fd090
--- /dev/null
+++ b/data/syntax/qmake.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+ - CONFIG
+ - DEFINES
+ - DESTDIR
+ - DLLDESTDIR
+ - FORMS
+ - HEADERS
+ - INCLUDEPATH
+ - INSTALLS
+ - LIBS
+ - OBJECTIVE_SOURCES
+ - OTHER_FILES
+ - OUT_PWD
+ - QMAKE_CXXFLAGS
+ - QMAKE_CFLAGS
+ - QMAKE_EXTRA_COMPILERS
+ - QMAKE_FILE_IN
+ - QMAKE_FILE_OUT
+ - QMAKE_LFLAGS
+ - QMAKE_LFLAGS_SONAME
+ - QMAKE_RPATHDIR
+ - QMAKE_SUBSTITUTES
+ - QT
+ - QT_CONFIG
+ - QT_MAJOR_VERSION
+ - QT_MINOR_VERSION
+ - QT_PATCH_VERSION
+ - RCC_DIR
+ - RESOURCES
+ - SOURCES
+ - SUBDIRS
+ - TARGET
+ - TEMPLATE
+ - UI_DIR
+ - MOC_DIR
+ - OBJECTS_DIR
+ - VPATH
+
+
+
+ - contains
+ - defineReplace
+ - defineTest
+ - equals
+ - error
+ - eval
+ - greaterThan
+ - include
+ - isEmpty
+ - isEqual
+ - message
+ - return
+ - unset
+
+
+ - build_pass
+ - debug
+ - debug_and_release
+ - linux
+ - macx
+ - msvc
+ - release
+ - unix
+ - win32
+
+
+ - else
+ - for
+ - if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/qml.xml b/data/syntax/qml.xml
new file mode 100644
index 0000000..d52db53
--- /dev/null
+++ b/data/syntax/qml.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+ - State
+ - PropertyChanges
+ - StateGroup
+ - ParentChange
+ - StateChangeScript
+ - AnchorChanges
+ - PropertyAnimation
+ - NumberAnimation
+ - ColorAnimation
+ - SequentialAnimation
+ - ParallelAnimation
+ - PauseAnimation
+ - PropertyAction
+ - ParentAction
+ - ScriptAction
+ - Transition
+ - SpringFollow
+ - EaseFollow
+ - Behavior
+ - Binding
+ - ListModel
+ - ListElement
+ - VisualItemModel
+ - XmlListModel
+ - XmlRole
+ - DateTimeFormatter
+ - NumberFormatter
+ - Script
+ - Connections
+ - Component
+ - Timer
+ - QtObject
+ - Item
+ - Rectangle
+ - Image
+ - BorderImage
+ - Text
+ - TextInput
+ - TextEdit
+ - MouseArea
+ - FocusScope
+ - Flickable
+ - Flipable
+ - WebView
+ - Loader
+ - Repeater
+ - SystemPalette
+ - GraphicsObjectContainer
+ - LayoutItem
+ - ListView
+ - GridView
+ - PathView
+ - Path
+ - PathLine
+ - PathQuad
+ - PathCubic
+ - PathAttribute
+ - PathPercent
+ - Column
+ - Row
+ - Grid
+ - Scale
+ - Rotation
+ - Blur
+ - Colorize
+ - DropShadow
+ - Opacity
+ - Particles
+ - ParticleMotionLinear
+ - ParticleMotionGravity
+ - ParticleMotionWander
+
+ - Gradient
+ - GradientStop
+ - MouseRegion
+
+
+
+ - string
+ - int
+ - bool
+ - date
+ - color
+ - url
+ - real
+ - double
+ - var
+ - variant
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/r.xml b/data/syntax/r.xml
new file mode 100644
index 0000000..b9c3697
--- /dev/null
+++ b/data/syntax/r.xml
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+ - for
+ - in
+ - next
+ - break
+ - while
+ - repeat
+ - if
+ - else
+ - switch
+ - function
+
+
+ - TRUE
+ - FALSE
+ - NULL
+ - NA
+ - NA_integer_
+ - NA_real_
+ - NA_complex_
+ - NA_character_
+ - Inf
+ - NaN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rapidq.xml b/data/syntax/rapidq.xml
new file mode 100644
index 0000000..67a7a8e
--- /dev/null
+++ b/data/syntax/rapidq.xml
@@ -0,0 +1,432 @@
+
+
+
+
+
+ - abs
+ - acos
+ - asc
+ - asin
+ - atn
+ - atan
+ - bin$
+ - bind
+ - callfunc
+ - chdir
+ - chr$
+ - cint
+ - clng
+ - const
+ - convbase$
+ - cos
+ - data
+ - date$
+ - dec
+ - def
+ - delete$
+ - dim
+ - dir$
+ - direxists
+ - doevents
+ - end
+ - environ
+ - environ$
+ - exp
+ - extractresource
+ - field$
+ - fileexists
+ - fix
+ - format$
+ - frac
+ - hex$
+ - iif
+ - inc
+ - inp
+ - insert$
+ - instr
+ - int
+ - kill
+ - lcase$
+ - left$
+ - len
+ - log
+ - lbound
+ - lflush
+ - lprint
+ - ltrim$
+ - messagedlg
+ - mid$
+ - mkdir
+ - out
+ - playwav
+ - postmessage
+ - quicksort
+ - randomize
+ - read
+ - redim
+ - rem
+ - rename
+ - replace$
+ - replacesubstr$
+ - resource
+ - resourcecount
+ - restore
+ - reverse$
+ - rgb
+ - right$
+ - rinstr
+ - rmdir
+ - rnd
+ - round
+ - rtrim$
+ - run
+ - sendmessage
+ - sgn
+ - shell
+ - showmessage
+ - sin
+ - sizeof
+ - space$
+ - sqr
+ - str$
+ - strf$
+ - string$
+ - swap
+ - tally
+ - tan
+ - time$
+ - timer
+ - ubound
+ - ucase$
+ - val
+ - varptr
+ - varptr$
+ - true
+ - false
+ - sound
+ - call
+ - goto
+ - gosub
+ - sub
+ - function
+ - declare
+ - do
+ - doevent
+ - loop
+ - while
+ - wend
+ - until
+ - if
+ - then
+ - elseif
+ - select
+ - case
+ - functioni
+ - subi
+ - create
+ - type
+ - exit
+ - messagebox
+ - as
+ - string
+ - integer
+ - word
+ - long
+ - byte
+ - off
+ - on
+ - else
+ - gui
+ - for
+ - next
+ - with
+ - mask
+ - and
+ - or
+ - constructor
+ - extends
+ - defint
+ - defstr
+ - static
+ - public
+ - private
+ - event
+ - single
+ - double
+ - to
+
+
+ - clipboard
+ - printer
+ - qbitmap
+ - qbutton
+ - qcanvas
+ - qcheckbox
+ - qcombobox
+ - qcomport
+ - qcoolbtn
+ - qdirtree
+ - qedit
+ - qfilelistbox
+ - qfilestream
+ - qfont
+ - qfontdialog
+ - qform
+ - qgauge
+ - qglassframe
+ - qgroupbox
+ - qheader
+ - qimage
+ - qimagelist
+ - qlabel
+ - qlistbox
+ - qlistview
+ - qmainmenu
+ - qmemorystream
+ - qmenuitem
+ - qmysql
+ - qnotifyicondata
+ - qopendialog
+ - qoutline
+ - qovalbtn
+ - qpanel
+ - qpopupmenu
+ - qradiobutton
+ - qrect
+ - qregistry
+ - qrichedit
+ - qsavedialog
+ - qscrollbar
+ - qsocket
+ - qsplitter
+ - qstatusbar
+ - qstringgrid
+ - qstringlist
+ - qtabcontrol
+ - qtimer
+ - qtrackbar
+ - qdximagelist
+ - qdxscreen
+ - qdxtimer
+ - qd3dface
+ - qd3dframe
+ - qd3dlight
+ - qd3dmesh
+ - qd3dtexture
+ - qd3dvector
+ - qd3dvisual
+ - qd3dwarp
+ - application
+ - screen
+ - command$
+ - curdir$
+ - sender
+
+
+ - $apptype
+ - $typecheck
+ - $include
+ - $resource
+ - $define
+ - $undef
+ - $ifdef
+ - $ifndef
+ - $option
+ - $optimize
+ - $escapechars
+ - $EndIf
+
+
+ - left
+ - top
+ - width
+ - height
+ - open
+ - close
+ - readstring
+ - readinteger
+ - readudt
+ - writestring
+ - writeinteger
+ - writeudt
+ - rootkey
+ - openkey
+ - closekey
+ - flat
+ - cursor
+ - showhint
+ - hint
+ - transparent
+ - caption
+ - onclick
+ - onkeydown
+ - onkeyup
+ - onmousedown
+ - onmouseup
+ - tag
+ - color
+ - onchange
+ - autosize
+ - borderstyle
+ - wordwrap
+ - align
+ - alignment
+ - font
+ - visible
+ - enabled
+ - readline
+ - writeline
+ - additems
+ - addstrings
+ - addstring
+ - delitems
+ - itemcount
+ - itemindex
+ - item
+ - handle
+ - icon
+ - bmphandle
+ - terminate
+ - wndproc
+ - onclose
+ - ontimer
+ - interval
+ - name
+ - size
+ - addstyles
+ - hidetitlebar
+ - show
+ - showmodal
+ - text
+ - button
+ - labelstyle
+ - center
+ - taborder
+ - position
+ - delbordericons
+ - onshow
+ - addbordericons
+ - onkeypress
+ - key
+ - mousex
+ - mousey
+ - onpaint
+ - parent
+ - icohandle
+ - directory
+ - filter
+ - execute
+ - +
+ - filename
+ - bevelinner
+ - bold
+ - checked
+ - clear
+ - underline
+ - maxlength
+ - inputmask
+ - forecolor
+
+ - backcolor
+ - deldrivetypes
+ - adddrivetypes
+ - update
+ - bevelouter
+
+ - loadfromfile
+ - subitem
+ - viewstyle
+ - rowselect
+ - readonly
+ - gridlines
+
+ - addcolumns
+ - oncolumnclick
+ - ondblclick
+ - addsubitem
+ - scrollbars
+
+ - addchilditems
+ - plaintext
+ - selstart
+ - sellength
+ - sorted
+ - ColCount
+
+ - onmoved
+ - groupindex
+ - OnResize
+ - RowCount
+ - cell
+ - TabPosition
+ - KeyPreview
+ - AddTabs
+ - DelTabs
+ - HotTrack
+ - TabIndex
+ - SizeGrip
+ - AddPanels
+ - Panel
+ - DefaultColWidth
+ - FixedCols
+ - AddOptions
+ - Separator
+ - Col
+ - Row
+ - Rectangle
+ - FillRect
+ - Draw
+ - Count
+ - Line
+ - Circle
+ - TextWidth
+ - TextHeight
+ - TextOut
+ - BeginDoc
+ - EndDoc
+ - CopyRect
+ - FilterIndex
+ - SaveToStream
+ - LoadFromStream
+ - PrinterIndex
+ - Orientation
+ - PageWidth
+ - PageHeight
+ - Right
+ - Bottom
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/relaxng.xml b/data/syntax/relaxng.xml
new file mode 100644
index 0000000..fe593dc
--- /dev/null
+++ b/data/syntax/relaxng.xml
@@ -0,0 +1,117 @@
+
+
+
+]>
+
+
+
+
+
+
+ - anyName
+ - attribute
+ - choice
+ - data
+ - define
+ - div
+ - element
+ - empty
+ - except
+ - externalRef
+ - grammar
+ - group
+ - include
+ - interleave
+ - list
+ - mixed
+ - name
+ - notAllowed
+ - nsName
+ - oneOrMore
+ - optional
+ - param
+ - parentRef
+ - ref
+ - start
+ - text
+ - value
+ - zeroOrMore
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/relaxngcompact.xml b/data/syntax/relaxngcompact.xml
new file mode 100644
index 0000000..847c2a0
--- /dev/null
+++ b/data/syntax/relaxngcompact.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+ - default
+ - datatypes
+ - div
+ - empty
+ - external
+ - grammar
+ - include
+ - inherit
+ - list
+ - mixed
+ - namespace
+ - notAllowed
+ - parent
+ - start
+ - token
+
+
+ - attribute
+ - element
+
+
+ - string
+ - text
+ - xsd:anyURI
+ - xsd:base64Binary
+ - xsd:boolean
+ - xsd:byte
+ - xsd:date
+ - xsd:dateTime
+ - xsd:decimal
+ - xsd:double
+ - xsd:duration
+ - xsd:ENTITIES
+ - xsd:ENTITY
+ - xsd:float
+ - xsd:gDay
+ - xsd:gMonth
+ - xsd:gMonthDay
+ - xsd:gYear
+ - xsd:gYearMonth
+ - xsd:hexBinary
+ - xsd:ID
+ - xsd:IDREF
+ - xsd:IDREFS
+ - xsd:int
+ - xsd:integer
+ - xsd:language
+ - xsd:long
+ - xsd:Name
+ - xsd:NCName
+ - xsd:negativeInteger
+ - xsd:NMTOKEN
+ - xsd:NMTOKENS
+ - xsd:nonNegativeInteger
+ - xsd:nonPositiveInteger
+ - xsd:normalizedString
+ - xsd:NOTATION
+ - xsd:positiveInteger
+ - xsd:QName
+ - xsd:short
+ - xsd:string
+ - xsd:time
+ - xsd:token
+ - xsd:unsignedByte
+ - xsd:unsignedInt
+ - xsd:unsignedLong
+ - xsd:unsignedShort
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/replicode.xml b/data/syntax/replicode.xml
new file mode 100644
index 0000000..aadc43a
--- /dev/null
+++ b/data/syntax/replicode.xml
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+ - _now
+ - equ
+ - neq
+ - gtr
+ - lsr
+ - gte
+ - lse
+ - add
+ - sub
+ - mul
+ - div
+ - dis
+ - ln
+ - exp
+ - log
+ - e10
+ - syn
+ - red
+ - rnd
+ - fvw
+
+
+ - view
+ - grp_view
+ - pgm_view
+ - _obj
+ - ptn
+ - |ptn
+ - pgm
+ - |pgm
+ - _grp
+ - grp
+ - _fact
+ - fact
+ - |fact
+ - pred
+ - goal
+ - cst
+ - mdl
+ - icst
+ - icmd
+ - cmd
+ - ent
+ - ont
+ - dev
+ - nod
+ - ipgm
+ - icpp_pgm
+ - perf
+
+
+ - mk.rdx
+ - mk.grp_pair
+ - mk.low_sln
+ - mk.high_sln
+ - mk.low_act
+ - mk.high_act
+ - mk.low_res
+ - mk.sln_chg
+ - mk.act_chg
+ - mk.new
+
+
+ - self
+
+
+ - stdin
+ - stdout
+
+
+ - _inj
+ - _eje
+ - _mod
+ - _set
+ - _new_class
+ - _del_class
+ - _ldc
+ - _swp
+ - _stop
+
+
+ - |nb
+ - |bl
+ - true
+ - false
+ - |[]
+ - |nid
+ - |did
+ - |fid
+ - |st
+ - |us
+ - forever
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rest.xml b/data/syntax/rest.xml
new file mode 100644
index 0000000..1363965
--- /dev/null
+++ b/data/syntax/rest.xml
@@ -0,0 +1,109 @@
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rexx.xml b/data/syntax/rexx.xml
new file mode 100644
index 0000000..52a68e0
--- /dev/null
+++ b/data/syntax/rexx.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+ - arg
+ - drop
+ - else
+ - end
+ - exit
+ - forever
+ - if
+ - interpret
+ - iterate
+ - leave
+ - nop
+ - options
+ - otherwise
+ - pull
+ - push
+ - queue
+ - return
+ - say
+ - select
+ - syntax
+ - then
+
+
+ - abbrev
+ - abs
+ - address
+ - bitand
+ - bitor
+ - bitxor
+ - b2x
+ - center
+ - charin
+ - charout
+ - chars
+ - c2d
+ - c2x
+ - compare
+ - condition
+ - copies
+ - datatype
+ - date
+ - delstr
+ - delword
+ - digits
+ - d2c
+ - d2x
+ - errortext
+ - form
+ - format
+ - fuzz
+ - insert
+ - lastpos
+ - left
+ - linein
+ - lineout
+ - lines
+ - max
+ - min
+ - overlay
+ - pos
+ - queued
+ - random
+ - reverse
+ - right
+ - sign
+ - sourceline
+ - space
+ - stream
+ - strip
+ - substr
+ - subword
+ - symbol
+ - time
+ - trace
+ - translate
+ - trunc
+ - value
+ - verify
+ - word
+ - wordindex
+ - wordlength
+ - wordpos
+ - words
+ - xrange
+ - x2b
+ - x2c
+ - x2d
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rhtml.xml b/data/syntax/rhtml.xml
new file mode 100644
index 0000000..a966c23
--- /dev/null
+++ b/data/syntax/rhtml.xml
@@ -0,0 +1,1234 @@
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+ - BEGIN
+ - END
+ - and
+ - begin
+ - break
+ - case
+ - defined?
+ - do
+ - else
+ - elsif
+ - end
+ - ensure
+ - for
+ - if
+ - in
+ - include
+ - next
+ - not
+ - or
+ - redo
+ - rescue
+ - retry
+ - return
+ - then
+ - unless
+ - until
+ - when
+ - while
+ - yield
+
+
+
+ - private_class_method
+ - private
+ - protected
+ - public_class_method
+ - public
+
+
+
+ - attr_reader
+ - attr_writer
+ - attr_accessor
+
+
+
+ - alias
+ - module
+ - class
+ - def
+ - undef
+
+
+
+ - self
+ - super
+ - nil
+ - false
+ - true
+ - caller
+ - __FILE__
+ - __LINE__
+
+
+
+ - $stdout
+ - $defout
+ - $stderr
+ - $deferr
+ - $stdin
+
+
+
+
+
+ - abort
+ - at_exit
+ - autoload
+ - autoload?
+ - binding
+ - block_given?
+ - callcc
+ - caller
+ - catch
+ - chomp
+ - chomp!
+ - chop
+ - chop!
+ - eval
+ - exec
+ - exit
+ - exit!
+ - fail
+ - fork
+ - format
+ - getc
+ - gets
+ - global_variables
+ - gsub
+ - gsub!
+ - iterator?
+ - lambda
+ - load
+ - local_variables
+ - loop
+ - method_missing
+ - open
+ - p
+ - print
+ - printf
+ - proc
+ - putc
+ - puts
+ - raise
+ - rand
+ - readline
+ - readlines
+ - require
+ - scan
+ - select
+ - set_trace_func
+ - sleep
+ - split
+ - sprintf
+ - srand
+ - sub
+ - sub!
+ - syscall
+ - system
+ - test
+ - throw
+ - trace_var
+ - trap
+ - untrace_var
+ - warn
+
+
+ - auto_complete_field
+ - auto_complete_result
+ - auto_discovery_link_tag
+ - auto_link
+ - benchmark
+ - button_to
+ - cache
+ - capture
+ - check_box
+ - check_box_tag
+ - collection_select
+ - concat
+ - content_for
+ - content_tag
+ - country_options_for_select
+ - country_select
+ - current_page?
+ - date_select
+ - datetime_select
+ - debug
+ - define_javascript_functions
+ - distance_of_time_in_words
+ - distance_of_time_in_words_to_now
+ - draggable_element
+ - drop_receiving_element
+ - end_form_tag
+ - error_message_on
+ - error_messages_for
+ - escape_javascript
+ - evaluate_remote_response
+ - excerpt
+ - file_field
+ - file_field_tag
+ - finish_upload_status
+ - form
+ - form_remote_tag
+ - form_tag
+ - form_tag_with_upload_progress
+ - h
+ - hidden_field
+ - hidden_field_tag
+ - highlight
+ - human_size
+ - image_path
+ - image_submit_tag
+ - image_tag
+ - input
+ - javascript_include_tag
+ - javascript_path
+ - javascript_tag
+ - link_image_to
+ - link_to
+ - link_to_function
+ - link_to_if
+ - link_to_image
+ - link_to_remote
+ - link_to_unless
+ - link_to_unless_current
+ - mail_to
+ - markdown
+ - number_to_currency
+ - number_to_human_size
+ - number_to_percentage
+ - number_to_phone
+ - number_with_delimiter
+ - number_with_precision
+ - observe_field
+ - observe_form
+ - option_groups_from_collection_for_select
+ - options_for_select
+ - options_from_collection_for_select
+ - pagination_links
+ - password_field
+ - password_field_tag
+ - periodically_call_remote
+ - pluralize
+ - radio_button
+ - radio_button_tag
+ - register_template_handler
+ - render
+ - render_file
+ - render_template
+ - sanitize
+ - select
+ - select_date
+ - select_datetime
+ - select_day
+ - select_hour
+ - select_minute
+ - select_month
+ - select_second
+ - select_tag
+ - select_time
+ - select_year
+ - simple_format
+ - sortable_element
+ - start_form_tag
+ - strip_links
+ - stylesheet_link_tag
+ - stylesheet_path
+ - submit_tag
+ - submit_to_remote
+ - tag
+ - text_area
+ - text_area_tag
+ - text_field
+ - text_field_tag
+ - text_field_with_auto_complete
+ - textilize
+ - textilize_without_paragraph
+ - time_ago_in_words
+ - time_zone_options_for_select
+ - time_zone_select
+ - truncate
+ - update_element_function
+ - upload_progress_status
+ - upload_progress_text
+ - upload_progress_update_bar_js
+ - upload_status_progress_bar_tag
+ - upload_status_tag
+ - upload_status_text_tag
+ - url_for
+ - visual_effect
+ - word_wrap
+
+
+
+ - TODO
+ - FIXME
+ - NOTE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rib.xml b/data/syntax/rib.xml
new file mode 100644
index 0000000..8ec2d08
--- /dev/null
+++ b/data/syntax/rib.xml
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+ - AreaLightSource
+ - Attribute
+ - AttributeBegin
+ - AttributeEnd
+ - Begin
+ - Bound
+ - Clipping
+ - Color
+ - ColorSamples
+ - ConcatTransform
+ - CoordinateSystem
+ - CropWindow
+ - Declare
+ - DepthOfField
+ - Detail
+ - DetailRange
+ - Displacement
+ - Display
+ - End
+ - Exterior
+ - Format
+ - FrameAspectRatio
+ - FrameBegin
+ - FrameEnd
+ - GeometricApproximation
+ - Hider
+ - Identity
+ - Illuminance
+ - Illuminate
+ - Interior
+ - LightSource
+ - Matte
+ - Opacity
+ - Option
+ - Orientation
+ - Perspective
+ - PixelFilter
+ - PixelSamples
+ - PixelVariance
+ - Projection
+ - Quantize
+ - RelativeDetail
+ - Rotate
+ - Scale
+ - ScreenWindow
+ - ShadingInterpolation
+ - ShadingRate
+ - Shutter
+ - Sides
+ - Skew
+ - Surface
+ - TextureCoordinates
+ - Transform
+ - TransformBegin
+ - TransformEnd
+ - TransformPoints
+ - Translate
+ - version
+ - WorldBegin
+ - WorldEnd
+
+
+ - Basis
+ - Cylinder
+ - Disk
+ - GeneralPolygon
+ - Geometry
+ - Hyperboloid
+ - NuPatch
+ - ObjectBegin
+ - ObjectEnd
+ - ObjectInstance
+ - Patch
+ - Paraboloid
+ - PointsPolygons
+ - PointsGeneralPolygons
+ - Polygon
+ - Procedural
+ - SolidBegin
+ - SolidEnd
+ - Sphere
+ - Torus
+
+
+ - MotionBegin
+ - MotionEnd
+
+
+ - MakeBump
+ - MakeCubeFaceEnvironment
+ - MakeLatLongEnvironment
+ - MakeTexture
+ - ArchiveRecord
+ - ErrorHandler
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rmarkdown.xml b/data/syntax/rmarkdown.xml
new file mode 100644
index 0000000..92695c3
--- /dev/null
+++ b/data/syntax/rmarkdown.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/roff.xml b/data/syntax/roff.xml
new file mode 100644
index 0000000..5df0f48
--- /dev/null
+++ b/data/syntax/roff.xml
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+]>
+
+
+
+
+
+ - br
+ - sp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rpmspec.xml b/data/syntax/rpmspec.xml
new file mode 100644
index 0000000..094e902
--- /dev/null
+++ b/data/syntax/rpmspec.xml
@@ -0,0 +1,505 @@
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+ - Mon
+ - Tue
+ - Wed
+ - Thu
+ - Fri
+ - Sat
+ - Sun
+
+
+
+ - Jan
+ - Feb
+ - Mar
+ - Apr
+ - May
+ - Jun
+ - Jul
+ - Aug
+ - Sep
+ - Oct
+ - Nov
+ - Dec
+
+
+
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 01
+ - 02
+ - 03
+ - 04
+ - 05
+ - 06
+ - 07
+ - 08
+ - 09
+ - 10
+ - 11
+ - 12
+ - 13
+ - 14
+ - 15
+ - 16
+ - 17
+ - 18
+ - 19
+ - 20
+ - 21
+ - 22
+ - 23
+ - 24
+ - 25
+ - 26
+ - 27
+ - 28
+ - 29
+ - 30
+ - 31
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rsiidl.xml b/data/syntax/rsiidl.xml
new file mode 100644
index 0000000..785f64e
--- /dev/null
+++ b/data/syntax/rsiidl.xml
@@ -0,0 +1,442 @@
+
+
+
+
+
+ - For
+ - Do
+ - Endfor
+ - Repeat
+ - Endrep
+ - While
+ - Endwhile
+ - Until
+ - Case
+ - Endcase
+ - If
+ - Endif
+ - Else
+ - Endelse
+ - Then
+ - Begin
+ - End
+ - Function
+ - Goto
+ - Pro
+ - Eq
+ - Ge
+ - Gt
+ - Le
+ - Lt
+ - Ne
+ - Mod
+ - Or
+ - Xor
+ - Not
+ - And
+ - Then
+ - Return
+ - Common
+ - Of
+ - On_ioerror
+ - Switch
+ - Endswitch
+
+
+ - dpi
+ - dtor
+ - map
+ - pi
+ - radeg
+ - values
+ - err
+ - error_state
+ - error
+ - err_string
+ - except
+ - mouse
+ - msg_prefix
+ - syserror
+ - syserr_string
+ - warn
+ - dir
+ - dlm_path
+ - edit_input
+ - help_path
+ - journal
+ - more
+ - path
+ - prompt
+ - quiet
+ - version
+ - c
+ - d
+ - order
+ - p
+ - x
+ - y
+ - z
+ - stime
+
+
+ - Fix
+ - Long
+ - Long64
+ - uint
+ - Byte
+ - Float
+ - Double
+ - complex
+ - dcomplex
+ - complexarr
+ - dcomplexarr
+ - String
+ - Intarr
+ - lonarr
+ - lon64arr
+ - uintarr
+ - ulong
+ - ulonarr
+ - ulon64arr
+ - Bytarr
+ - Bytscl
+ - Fltarr
+ - Dblarr
+ - Strarr
+ - Objarr
+ - Indgen
+ - Findgen
+ - Dindgen
+ - Dcindgen
+ - cindgen
+ - lindgen
+ - bindgen
+ - sindgen
+ - uindgen
+ - ul64indgen
+ - l64indgen
+ - ulindgen
+ - Replicate
+ - Ptrarr
+
+
+ - ABS
+ - ACOS
+ - ADAPT_HIST_EQUAL
+ - ALOG
+ - ALOG10
+ - ARG_PRESENT
+ - ASIN
+ - ASSOC
+ - ATAN
+ - AXIS
+ - BESELI
+ - BESELJ
+ - BESELY
+ - BLAS_AXPY
+ - BREAKPOINT
+ - BROYDEN
+ - BYTEORDER
+ - CALL_EXTERNAL
+ - CALL_FUNCTION
+ - CALL_METHOD
+ - CALL_PROCEDURE
+ - CATCH
+ - CEIL
+ - CHECK_MATH
+ - CHOLDC
+ - CHOLSOL
+ - COLOR_CONVERT
+ - COLOR_QUAN
+ - COMPILE_OPT
+ - COMPUTE_MESH_NORMALS
+ - CONJ
+ - CONSTRAINED_MIN
+ - CONTOUR
+ - CONVERT_COORD
+ - CONVOL
+ - CORRELATE
+ - COS
+ - COSH
+ - CREATE_STRUCT
+ - CURSOR
+ - DEFINE_KEY
+ - DEFSYSV
+ - DELVAR
+ - DEVICE
+ - DFPMIN
+ - DIALOG_MESSAGE
+ - DIALOG_PICKFILE
+ - DIALOG_PRINTERSETUP
+ - DIALOG_PRINTJOB
+ - DILATE
+ - DLM_LOAD
+ - DRAW_ROI
+ - ELMHES
+ - EMPTY
+ - ENABLE_SYSRTN
+ - ERASE
+ - ERODE
+ - ERRORF
+ - EXECUTE
+ - EXIT
+ - EXP
+ - EXPAND_PATH
+ - EXPINT
+ - FINDFILE
+ - FINITE
+ - FLOOR
+ - FORMAT_AXIS_VALUES
+ - FORWARD_FUNCTION
+ - FSTAT
+ - FULSTR
+ - FZ_ROOTS
+ - GAUSSINT
+ - GET_KBRD
+ - GETENV
+ - GRID_TPS
+ - GRID3
+ - HEAP_GC
+ - HELP
+ - HISTOGRAM
+ - HQR
+ - IMAGE_STATISTICS
+ - IMAGINARY
+ - INTERPOLATE
+ - INVERT
+ - ISHFT
+ - ISOCONTOUR
+ - ISOSURFACE
+ - JOURNAL
+ - KEYWORD_SET
+ - LABEL_REGION
+ - LINBCG
+ - LINKIMAGE
+ - LMGR
+ - LNGAMMA
+ - LNP_TEST
+ - LOADCT
+ - LOCALE_GET
+ - LSODE
+ - LUDC
+ - LUMPROVE
+ - LUSOL
+ - MACHAR
+ - MAKE_ARRAY
+ - MAP_PROJ_INFO
+ - MAX
+ - MEDIAN
+ - MESH_CLIP
+ - MESH_DECIMATE
+ - MESH_ISSOLID
+ - MESH_MERGE
+ - MESH_NUMTRIANGLES
+ - MESH_SMOOTH
+ - MESH_SURFACEAREA
+ - MESH_VALIDATE
+ - MESH_VOLUME
+ - MESSAGE
+ - MIN
+ - N_ELEMENTS
+ - N_PARAMS
+ - N_TAGS
+ - NEWTON
+ - OBJ_CLASS
+ - OBJ_DESTROY
+ - OBJ_ISA
+ - OBJ_NEW
+ - OBJ_VALID
+ - ON_ERROR
+ - OPLOT
+ - PARTICLE_TRACE
+ - PLOT
+ - PLOTS
+ - POLY_2D
+ - POLYFILL
+ - POLYFILLV
+ - POLYSHADE
+ - POWELL
+ - PROFILER
+ - PTR_FREE
+ - PTR_NEW
+ - PTR_VALID
+ - QROMB
+ - QROMO
+ - QSIMP
+ - RANDOMN
+ - RANDOMU
+ - REBIN
+ - REFORM
+ - RETALL
+ - RETURN
+ - RIEMANN
+ - RK4
+ - ROBERTS
+ - ROTATE
+ - ROUND
+ - SET_PLOT
+ - SET_SHADING
+ - SETENV
+ - SHADE_SURF
+ - SHADE_VOLUME
+ - SHIFT
+ - SIN
+ - SINH
+ - SIZE
+ - SMOOTH
+ - SOBEL
+ - SORT
+ - SPL_INIT
+ - SPL_INTERP
+ - SPRSAB
+ - SPRSAX
+ - SPRSIN
+ - SQRT
+ - STOP
+ - STRCMP
+ - STRCOMPRESS
+ - STREGEX
+ - STRJOIN
+ - STRLEN
+ - STRLOWCASE
+ - STRMATCH
+ - STRMESSAGE
+ - STRMID
+ - STRPOS
+ - STRPUT
+ - STRTRIM
+ - STRUCT_ASSIGN
+ - STRUCT_HIDE
+ - STRUPCASE
+ - SURFACE
+ - SVDC
+ - SVSOL
+ - SYSTIME
+ - TAG_NAMES
+ - TAN
+ - TANH
+ - TEMPORARY
+ - TETRA_CLIP
+ - TETRA_SURFACE
+ - TETRA_VOLUME
+ - THIN
+ - THREED
+ - TOTAL
+ - TRANSPOSE
+ - TRIANGULATE
+ - TRIGRID
+ - TRIQL
+ - TRIRED
+ - TRISOL
+ - TV
+ - TVCRS
+ - TVLCT
+ - TVRD
+ - TVSCLU
+ - USERSYM
+ - VALUE_LOCATE
+ - VOIGT
+ - VOXEL_PROJ
+ - WAIT
+ - WATERSHED
+ - WDELETE
+ - WHERE
+ - WIDGET_BASE
+ - WIDGET_BUTTON
+ - WIDGET_CONTROL
+ - WIDGET_DRAW
+ - WIDGET_DROPLIST
+ - WIDGET_EVENT
+ - WIDGET_INFO
+ - WIDGET_LABEL
+ - WIDGET_LIST
+ - WIDGET_SLIDER
+ - WIDGET_TABLE
+ - WIDGET_TEXT
+ - WINDOW
+ - WSET
+ - WSHOW
+ - WTN
+ - XYOUTS
+
+
+ - Open
+ - FLUSH
+ - IOCTL
+ - RESTORE
+ - SAVE
+ - POINT_LUN
+ - Openr
+ - Openw
+ - Openu
+ - Close
+ - Free_lun
+ - get_lun
+ - assoc
+ - catch
+ - cd
+ - spawn
+ - eof
+ - print
+ - printf
+ - prints
+ - read
+ - readf
+ - reads
+ - writu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rtf.xml b/data/syntax/rtf.xml
new file mode 100644
index 0000000..42ce267
--- /dev/null
+++ b/data/syntax/rtf.xml
@@ -0,0 +1,49 @@
+
+ ] >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/ruby.xml b/data/syntax/ruby.xml
new file mode 100644
index 0000000..5c6dca3
--- /dev/null
+++ b/data/syntax/ruby.xml
@@ -0,0 +1,924 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - BEGIN
+ - END
+ - and
+ - begin
+ - break
+ - case
+ - defined?
+ - do
+ - else
+ - elsif
+ - end
+ - ensure
+ - for
+ - if
+ - in
+ - next
+ - not
+ - or
+ - redo
+ - rescue
+ - retry
+ - return
+ - then
+ - unless
+ - until
+ - when
+ - yield
+
+
+
+ - private_class_method
+ - private
+ - protected
+ - public_class_method
+ - public
+
+
+
+ - attr_reader
+ - attr_writer
+ - attr_accessor
+
+
+
+ - alias
+ - module
+ - class
+ - def
+ - undef
+
+
+
+ - self
+ - super
+ - nil
+ - false
+ - true
+ - caller
+ - __FILE__
+ - __LINE__
+
+
+
+ - $stdout
+ - $defout
+ - $stderr
+ - $deferr
+ - $stdin
+
+
+
+
+
+ - abort
+ - at_exit
+ - autoload
+ - autoload?
+ - binding
+ - block_given?
+ - callcc
+ - caller
+ - catch
+ - chomp
+ - chomp!
+ - chop
+ - chop!
+ - eval
+ - exec
+ - exit
+ - exit!
+ - fail
+ - fork
+ - format
+ - getc
+ - gets
+ - global_variables
+ - gsub
+ - gsub!
+ - iterator?
+ - lambda
+ - load
+ - local_variables
+ - loop
+ - method_missing
+ - open
+ - p
+ - print
+ - printf
+ - proc
+ - putc
+ - puts
+ - raise
+ - rand
+ - readline
+ - readlines
+ - require
+ - require_relative
+ - scan
+ - select
+ - set_trace_func
+ - sleep
+ - split
+ - sprintf
+ - srand
+ - sub
+ - sub!
+ - syscall
+ - system
+ - test
+ - throw
+ - trace_var
+ - trap
+ - untrace_var
+ - warn
+
+
+
+ - extend
+ - include
+ - prepend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/rust.xml b/data/syntax/rust.xml
new file mode 100644
index 0000000..89a25f3
--- /dev/null
+++ b/data/syntax/rust.xml
@@ -0,0 +1,366 @@
+
+
+
+
+
+]>
+
+
+
+ - fn
+
+
+ - type
+
+
+ - abstract
+ - alignof
+ - as
+ - become
+ - box
+ - break
+ - const
+ - continue
+ - crate
+ - do
+ - else
+ - enum
+ - extern
+ - final
+ - for
+ - if
+ - impl
+ - in
+ - let
+ - loop
+ - macro
+ - match
+ - mod
+ - move
+ - mut
+ - offsetof
+ - override
+ - priv
+ - proc
+ - pub
+ - pure
+ - ref
+ - return
+ - Self
+ - self
+ - sizeof
+ - static
+ - struct
+ - super
+ - trait
+ - type
+ - typeof
+ - unsafe
+ - unsized
+ - use
+ - virtual
+ - where
+ - while
+ - yield
+
+
+ - AsSlice
+ - CharExt
+ - Clone
+ - Copy
+ - Debug
+ - Decodable
+ - Default
+ - Display
+ - DoubleEndedIterator
+ - Drop
+ - Encodable
+ - Eq
+ - Default
+ - Extend
+ - Fn
+ - FnMut
+ - FnOnce
+ - FromPrimitive
+ - Hash
+ - Iterator
+ - IteratorExt
+ - MutPtrExt
+ - Ord
+ - PartialEq
+ - PartialOrd
+ - PtrExt
+ - Rand
+ - Send
+ - Sized
+ - SliceConcatExt
+ - SliceExt
+ - Str
+ - StrExt
+ - Sync
+ - ToString
+
+
+ - bool
+ - int
+ - isize
+ - uint
+ - usize
+ - i8
+ - i16
+ - i32
+ - i64
+ - u8
+ - u16
+ - u32
+ - u64
+ - f32
+ - f64
+ - float
+ - char
+ - str
+ - Option
+ - Result
+ - Self
+ - Box
+ - Vec
+ - String
+
+
+ - c_float
+ - c_double
+ - c_void
+ - FILE
+ - fpos_t
+ - DIR
+ - dirent
+ - c_char
+ - c_schar
+ - c_uchar
+ - c_short
+ - c_ushort
+ - c_int
+ - c_uint
+ - c_long
+ - c_ulong
+ - size_t
+ - ptrdiff_t
+ - clock_t
+ - time_t
+ - c_longlong
+ - c_ulonglong
+ - intptr_t
+ - uintptr_t
+ - off_t
+ - dev_t
+ - ino_t
+ - pid_t
+ - mode_t
+ - ssize_t
+
+
+ - self
+
+
+ - true
+ - false
+ - Some
+ - None
+ - Ok
+ - Err
+ - Success
+ - Failure
+ - Cons
+ - Nil
+
+
+ - EXIT_FAILURE
+ - EXIT_SUCCESS
+ - RAND_MAX
+ - EOF
+ - SEEK_SET
+ - SEEK_CUR
+ - SEEK_END
+ - _IOFBF
+ - _IONBF
+ - _IOLBF
+ - BUFSIZ
+ - FOPEN_MAX
+ - FILENAME_MAX
+ - L_tmpnam
+ - TMP_MAX
+ - O_RDONLY
+ - O_WRONLY
+ - O_RDWR
+ - O_APPEND
+ - O_CREAT
+ - O_EXCL
+ - O_TRUNC
+ - S_IFIFO
+ - S_IFCHR
+ - S_IFBLK
+ - S_IFDIR
+ - S_IFREG
+ - S_IFMT
+ - S_IEXEC
+ - S_IWRITE
+ - S_IREAD
+ - S_IRWXU
+ - S_IXUSR
+ - S_IWUSR
+ - S_IRUSR
+ - F_OK
+ - R_OK
+ - W_OK
+ - X_OK
+ - STDIN_FILENO
+ - STDOUT_FILENO
+ - STDERR_FILENO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sather.xml b/data/syntax/sather.xml
new file mode 100644
index 0000000..4662ed2
--- /dev/null
+++ b/data/syntax/sather.xml
@@ -0,0 +1,141 @@
+
+
+
+
+
+ - and
+ - assert
+ - attr
+ - break!
+ - case
+ - class
+ - const
+ - else
+ - elsif
+ - end
+ - exception
+ - external
+ - false
+ - if
+ - include
+ - initial
+ - is
+ - ITER
+ - loop
+ - new
+ - or
+ - post
+ - pre
+ - private
+ - protect
+ - quit
+ - raise
+ - readonly
+ - result
+ - return
+ - ROUT
+ - SAME
+ - self
+ - shared
+ - then
+ - true
+ - typecase
+ - type
+ - until!
+ - value
+ - void
+ - when
+ - while!
+ - yield
+ - abstract
+ - any
+ - bind
+ - fork
+ - guard
+ - immutable
+ - inout
+ - in
+ - lock
+ - once
+ - out
+ - parloop
+ - partial
+ - par
+ - spread
+ - stub
+
+
+ - $OB
+ - ARRAY
+ - AREF
+ - AVAL
+ - BOOL
+ - CHAR
+ - EXT_OB
+ - FLTDX
+ - FLTD
+ - FLTX
+ - FLTI
+ - FLT
+ - INTI
+ - INT
+ - $REHASH
+ - STR
+ - SYS
+
+
+ - create
+ - invariant
+ - main
+ - aget
+ - aset
+ - div
+ - is_eq
+ - is_geq
+ - is_gt
+ - is_leq
+ - is_lt
+ - is_neq
+ - minus
+ - mod
+ - negate
+ - not
+ - plus
+ - pow
+ - times
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/scala.xml b/data/syntax/scala.xml
new file mode 100644
index 0000000..ad332a2
--- /dev/null
+++ b/data/syntax/scala.xml
@@ -0,0 +1,3503 @@
+
+
+
+
+
+
+ - Actor
+ - ActorProxy
+ - ActorTask
+ - ActorThread
+ - AllRef
+ - Any
+ - AnyRef
+ - Application
+ - AppliedType
+ - Array
+ - ArrayBuffer
+ - Attribute
+ - BoxedArray
+ - BoxedBooleanArray
+ - BoxedByteArray
+ - BoxedCharArray
+ - Buffer
+ - BufferedIterator
+ - Char
+ - Console
+ - Enumeration
+ - Fluid
+ - Function
+ - IScheduler
+ - ImmutableMapAdaptor
+ - ImmutableSetAdaptor
+ - Int
+ - Iterable
+ - List
+ - ListBuffer
+ - None
+ - Option
+ - Ordered
+ - Pair
+ - PartialFunction
+ - Pid
+ - Predef
+ - PriorityQueue
+ - PriorityQueueProxy
+ - Reaction
+ - Ref
+ - Responder
+ - RichInt
+ - RichString
+ - Rule
+ - RuleTransformer
+ - Script
+ - Seq
+ - SerialVersionUID
+ - Some
+ - Stream
+ - Symbol
+ - TcpService
+ - TcpServiceWorker
+ - Triple
+ - Unit
+ - Value
+ - WorkerThread
+ - serializable
+ - transient
+ - volatile
+
+
+ - ACTIVE
+ - ACTIVITY_COMPLETED
+ - ACTIVITY_REQUIRED
+ - ARG_IN
+ - ARG_INOUT
+ - ARG_OUT
+ - AWTError
+ - AWTEvent
+ - AWTEventListener
+ - AWTEventListenerProxy
+ - AWTEventMulticaster
+ - AWTException
+ - AWTKeyStroke
+ - AWTPermission
+ - AbstractAction
+ - AbstractBorder
+ - AbstractButton
+ - AbstractCellEditor
+ - AbstractCollection
+ - AbstractColorChooserPanel
+ - AbstractDocument
+ - AbstractDocument.AttributeContext
+ - AbstractDocument.Content
+ - AbstractDocument.ElementEdit
+ - AbstractExecutorService
+ - AbstractInterruptibleChannel
+ - AbstractLayoutCache
+ - AbstractLayoutCache.NodeDimensions
+ - AbstractList
+ - AbstractListModel
+ - AbstractMap
+ - AbstractMethodError
+ - AbstractPreferences
+ - AbstractQueue
+ - AbstractQueuedSynchronizer
+ - AbstractSelectableChannel
+ - AbstractSelectionKey
+ - AbstractSelector
+ - AbstractSequentialList
+ - AbstractSet
+ - AbstractSpinnerModel
+ - AbstractTableModel
+ - AbstractUndoableEdit
+ - AbstractWriter
+ - AccessControlContext
+ - AccessControlException
+ - AccessController
+ - AccessException
+ - Accessible
+ - AccessibleAction
+ - AccessibleAttributeSequence
+ - AccessibleBundle
+ - AccessibleComponent
+ - AccessibleContext
+ - AccessibleEditableText
+ - AccessibleExtendedComponent
+ - AccessibleExtendedTable
+ - AccessibleExtendedText
+ - AccessibleHyperlink
+ - AccessibleHypertext
+ - AccessibleIcon
+ - AccessibleKeyBinding
+ - AccessibleObject
+ - AccessibleRelation
+ - AccessibleRelationSet
+ - AccessibleResourceBundle
+ - AccessibleRole
+ - AccessibleSelection
+ - AccessibleState
+ - AccessibleStateSet
+ - AccessibleStreamable
+ - AccessibleTable
+ - AccessibleTableModelChange
+ - AccessibleText
+ - AccessibleTextSequence
+ - AccessibleValue
+ - AccountException
+ - AccountExpiredException
+ - AccountLockedException
+ - AccountNotFoundException
+ - Acl
+ - AclEntry
+ - AclNotFoundException
+ - Action
+ - ActionEvent
+ - ActionListener
+ - ActionMap
+ - ActionMapUIResource
+ - Activatable
+ - ActivateFailedException
+ - ActivationDesc
+ - ActivationException
+ - ActivationGroup
+ - ActivationGroupDesc
+ - ActivationGroupDesc.CommandEnvironment
+ - ActivationGroupID
+ - ActivationGroup_Stub
+ - ActivationID
+ - ActivationInstantiator
+ - ActivationMonitor
+ - ActivationSystem
+ - Activator
+ - ActiveEvent
+ - ActivityCompletedException
+ - ActivityRequiredException
+ - AdapterActivator
+ - AdapterActivatorOperations
+ - AdapterAlreadyExists
+ - AdapterAlreadyExistsHelper
+ - AdapterInactive
+ - AdapterInactiveHelper
+ - AdapterManagerIdHelper
+ - AdapterNameHelper
+ - AdapterNonExistent
+ - AdapterNonExistentHelper
+ - AdapterStateHelper
+ - AddressHelper
+ - Adjustable
+ - AdjustmentEvent
+ - AdjustmentListener
+ - Adler32
+ - AffineTransform
+ - AffineTransformOp
+ - AlgorithmParameterGenerator
+ - AlgorithmParameterGeneratorSpi
+ - AlgorithmParameterSpec
+ - AlgorithmParameters
+ - AlgorithmParametersSpi
+ - AllPermission
+ - AlphaComposite
+ - AlreadyBound
+ - AlreadyBoundException
+ - AlreadyBoundHelper
+ - AlreadyBoundHolder
+ - AlreadyConnectedException
+ - AncestorEvent
+ - AncestorListener
+ - AnnotatedElement
+ - Annotation
+ - Annotation
+ - AnnotationFormatError
+ - AnnotationTypeMismatchException
+ - Any
+ - AnyHolder
+ - AnySeqHelper
+ - AnySeqHelper
+ - AnySeqHolder
+ - AppConfigurationEntry
+ - AppConfigurationEntry.LoginModuleControlFlag
+ - Appendable
+ - Applet
+ - AppletContext
+ - AppletInitializer
+ - AppletStub
+ - ApplicationException
+ - Arc2D
+ - Arc2D.Double
+ - Arc2D.Float
+ - Area
+ - AreaAveragingScaleFilter
+ - ArithmeticException
+ - Array
+ - Array
+ - ArrayBlockingQueue
+ - ArrayIndexOutOfBoundsException
+ - ArrayList
+ - ArrayStoreException
+ - ArrayType
+ - Arrays
+ - AssertionError
+ - AsyncBoxView
+ - AsynchronousCloseException
+ - AtomicBoolean
+ - AtomicInteger
+ - AtomicIntegerArray
+ - AtomicIntegerFieldUpdater
+ - AtomicLong
+ - AtomicLongArray
+ - AtomicLongFieldUpdater
+ - AtomicMarkableReference
+ - AtomicReference
+ - AtomicReferenceArray
+ - AtomicReferenceFieldUpdater
+ - AtomicStampedReference
+ - Attr
+ - Attribute
+ - Attribute
+ - Attribute
+ - AttributeChangeNotification
+ - AttributeChangeNotificationFilter
+ - AttributeException
+ - AttributeInUseException
+ - AttributeList
+ - AttributeList
+ - AttributeList
+ - AttributeListImpl
+ - AttributeModificationException
+ - AttributeNotFoundException
+ - AttributeSet
+ - AttributeSet
+ - AttributeSet.CharacterAttribute
+ - AttributeSet.ColorAttribute
+ - AttributeSet.FontAttribute
+ - AttributeSet.ParagraphAttribute
+ - AttributeSetUtilities
+ - AttributeValueExp
+ - AttributedCharacterIterator
+ - AttributedCharacterIterator.Attribute
+ - AttributedString
+ - Attributes
+ - Attributes
+ - Attributes
+ - Attributes.Name
+ - Attributes2
+ - Attributes2Impl
+ - AttributesImpl
+ - AudioClip
+ - AudioFileFormat
+ - AudioFileFormat.Type
+ - AudioFileReader
+ - AudioFileWriter
+ - AudioFormat
+ - AudioFormat.Encoding
+ - AudioInputStream
+ - AudioPermission
+ - AudioSystem
+ - AuthPermission
+ - AuthProvider
+ - AuthenticationException
+ - AuthenticationException
+ - AuthenticationNotSupportedException
+ - Authenticator
+ - Authenticator.RequestorType
+ - AuthorizeCallback
+ - Autoscroll
+ - BAD_CONTEXT
+ - BAD_INV_ORDER
+ - BAD_OPERATION
+ - BAD_PARAM
+ - BAD_POLICY
+ - BAD_POLICY_TYPE
+ - BAD_POLICY_VALUE
+ - BAD_QOS
+ - BAD_TYPECODE
+ - BMPImageWriteParam
+ - BackingStoreException
+ - BadAttributeValueExpException
+ - BadBinaryOpValueExpException
+ - BadKind
+ - BadLocationException
+ - BadPaddingException
+ - BadStringOperationException
+ - BandCombineOp
+ - BandedSampleModel
+ - BaseRowSet
+ - BasicArrowButton
+ - BasicAttribute
+ - BasicAttributes
+ - BasicBorders
+ - BasicBorders.ButtonBorder
+ - BasicBorders.FieldBorder
+ - BasicBorders.MarginBorder
+ - BasicBorders.MenuBarBorder
+ - BasicBorders.RadioButtonBorder
+ - BasicBorders.RolloverButtonBorder
+ - BasicBorders.SplitPaneBorder
+ - BasicBorders.ToggleButtonBorder
+ - BasicButtonListener
+ - BasicButtonUI
+ - BasicCheckBoxMenuItemUI
+ - BasicCheckBoxUI
+ - BasicColorChooserUI
+ - BasicComboBoxEditor
+ - BasicComboBoxEditor.UIResource
+ - BasicComboBoxRenderer
+ - BasicComboBoxRenderer.UIResource
+ - BasicComboBoxUI
+ - BasicComboPopup
+ - BasicControl
+ - BasicDesktopIconUI
+ - BasicDesktopPaneUI
+ - BasicDirectoryModel
+ - BasicEditorPaneUI
+ - BasicFileChooserUI
+ - BasicFormattedTextFieldUI
+ - BasicGraphicsUtils
+ - BasicHTML
+ - BasicIconFactory
+ - BasicInternalFrameTitlePane
+ - BasicInternalFrameUI
+ - BasicLabelUI
+ - BasicListUI
+ - BasicLookAndFeel
+ - BasicMenuBarUI
+ - BasicMenuItemUI
+ - BasicMenuUI
+ - BasicOptionPaneUI
+ - BasicOptionPaneUI.ButtonAreaLayout
+ - BasicPanelUI
+ - BasicPasswordFieldUI
+ - BasicPermission
+ - BasicPopupMenuSeparatorUI
+ - BasicPopupMenuUI
+ - BasicProgressBarUI
+ - BasicRadioButtonMenuItemUI
+ - BasicRadioButtonUI
+ - BasicRootPaneUI
+ - BasicScrollBarUI
+ - BasicScrollPaneUI
+ - BasicSeparatorUI
+ - BasicSliderUI
+ - BasicSpinnerUI
+ - BasicSplitPaneDivider
+ - BasicSplitPaneUI
+ - BasicStroke
+ - BasicTabbedPaneUI
+ - BasicTableHeaderUI
+ - BasicTableUI
+ - BasicTextAreaUI
+ - BasicTextFieldUI
+ - BasicTextPaneUI
+ - BasicTextUI
+ - BasicTextUI.BasicCaret
+ - BasicTextUI.BasicHighlighter
+ - BasicToggleButtonUI
+ - BasicToolBarSeparatorUI
+ - BasicToolBarUI
+ - BasicToolTipUI
+ - BasicTreeUI
+ - BasicViewportUI
+ - BatchUpdateException
+ - BeanContext
+ - BeanContextChild
+ - BeanContextChildComponentProxy
+ - BeanContextChildSupport
+ - BeanContextContainerProxy
+ - BeanContextEvent
+ - BeanContextMembershipEvent
+ - BeanContextMembershipListener
+ - BeanContextProxy
+ - BeanContextServiceAvailableEvent
+ - BeanContextServiceProvider
+ - BeanContextServiceProviderBeanInfo
+ - BeanContextServiceRevokedEvent
+ - BeanContextServiceRevokedListener
+ - BeanContextServices
+ - BeanContextServicesListener
+ - BeanContextServicesSupport
+ - BeanContextServicesSupport.BCSSServiceProvider
+ - BeanContextSupport
+ - BeanContextSupport.BCSIterator
+ - BeanDescriptor
+ - BeanInfo
+ - Beans
+ - BevelBorder
+ - Bidi
+ - BigDecimal
+ - BigInteger
+ - BinaryRefAddr
+ - BindException
+ - Binding
+ - Binding
+ - BindingHelper
+ - BindingHolder
+ - BindingIterator
+ - BindingIteratorHelper
+ - BindingIteratorHolder
+ - BindingIteratorOperations
+ - BindingIteratorPOA
+ - BindingListHelper
+ - BindingListHolder
+ - BindingType
+ - BindingTypeHelper
+ - BindingTypeHolder
+ - BitSet
+ - Blob
+ - BlockView
+ - BlockingQueue
+ - Book
+ - Boolean
+ - BooleanControl
+ - BooleanControl.Type
+ - BooleanHolder
+ - BooleanSeqHelper
+ - BooleanSeqHolder
+ - Border
+ - BorderFactory
+ - BorderLayout
+ - BorderUIResource
+ - BorderUIResource.BevelBorderUIResource
+ - BorderUIResource.CompoundBorderUIResource
+ - BorderUIResource.EmptyBorderUIResource
+ - BorderUIResource.EtchedBorderUIResource
+ - BorderUIResource.LineBorderUIResource
+ - BorderUIResource.MatteBorderUIResource
+ - BorderUIResource.TitledBorderUIResource
+ - BoundedRangeModel
+ - Bounds
+ - Bounds
+ - Box
+ - Box.Filler
+ - BoxLayout
+ - BoxView
+ - BoxedValueHelper
+ - BreakIterator
+ - BrokenBarrierException
+ - Buffer
+ - BufferCapabilities
+ - BufferCapabilities.FlipContents
+ - BufferOverflowException
+ - BufferStrategy
+ - BufferUnderflowException
+ - BufferedImage
+ - BufferedImageFilter
+ - BufferedImageOp
+ - BufferedInputStream
+ - BufferedOutputStream
+ - BufferedReader
+ - BufferedWriter
+ - Button
+ - ButtonGroup
+ - ButtonModel
+ - ButtonUI
+ - Byte
+ - ByteArrayInputStream
+ - ByteArrayOutputStream
+ - ByteBuffer
+ - ByteChannel
+ - ByteHolder
+ - ByteLookupTable
+ - ByteOrder
+ - CDATASection
+ - CMMException
+ - CODESET_INCOMPATIBLE
+ - COMM_FAILURE
+ - CRC32
+ - CRL
+ - CRLException
+ - CRLSelector
+ - CSS
+ - CSS.Attribute
+ - CTX_RESTRICT_SCOPE
+ - CacheRequest
+ - CacheResponse
+ - CachedRowSet
+ - Calendar
+ - Callable
+ - CallableStatement
+ - Callback
+ - CallbackHandler
+ - CancelablePrintJob
+ - CancellationException
+ - CancelledKeyException
+ - CannotProceed
+ - CannotProceedException
+ - CannotProceedHelper
+ - CannotProceedHolder
+ - CannotRedoException
+ - CannotUndoException
+ - Canvas
+ - CardLayout
+ - Caret
+ - CaretEvent
+ - CaretListener
+ - CellEditor
+ - CellEditorListener
+ - CellRendererPane
+ - CertPath
+ - CertPath.CertPathRep
+ - CertPathBuilder
+ - CertPathBuilderException
+ - CertPathBuilderResult
+ - CertPathBuilderSpi
+ - CertPathParameters
+ - CertPathTrustManagerParameters
+ - CertPathValidator
+ - CertPathValidatorException
+ - CertPathValidatorResult
+ - CertPathValidatorSpi
+ - CertSelector
+ - CertStore
+ - CertStoreException
+ - CertStoreParameters
+ - CertStoreSpi
+ - Certificate
+ - Certificate
+ - Certificate
+ - Certificate.CertificateRep
+ - CertificateEncodingException
+ - CertificateEncodingException
+ - CertificateException
+ - CertificateException
+ - CertificateExpiredException
+ - CertificateExpiredException
+ - CertificateFactory
+ - CertificateFactorySpi
+ - CertificateNotYetValidException
+ - CertificateNotYetValidException
+ - CertificateParsingException
+ - CertificateParsingException
+ - ChangeEvent
+ - ChangeListener
+ - ChangedCharSetException
+ - Channel
+ - ChannelBinding
+ - Channels
+ - CharArrayReader
+ - CharArrayWriter
+ - CharBuffer
+ - CharConversionException
+ - CharHolder
+ - CharSeqHelper
+ - CharSeqHolder
+ - CharSequence
+ - Character
+ - Character.Subset
+ - Character.UnicodeBlock
+ - CharacterCodingException
+ - CharacterData
+ - CharacterIterator
+ - Charset
+ - CharsetDecoder
+ - CharsetEncoder
+ - CharsetProvider
+ - Checkbox
+ - CheckboxGroup
+ - CheckboxMenuItem
+ - CheckedInputStream
+ - CheckedOutputStream
+ - Checksum
+ - Choice
+ - ChoiceCallback
+ - ChoiceFormat
+ - Chromaticity
+ - Cipher
+ - CipherInputStream
+ - CipherOutputStream
+ - CipherSpi
+ - Class
+ - ClassCastException
+ - ClassCircularityError
+ - ClassDefinition
+ - ClassDesc
+ - ClassFileTransformer
+ - ClassFormatError
+ - ClassLoader
+ - ClassLoaderRepository
+ - ClassLoadingMXBean
+ - ClassNotFoundException
+ - ClientRequestInfo
+ - ClientRequestInfoOperations
+ - ClientRequestInterceptor
+ - ClientRequestInterceptorOperations
+ - Clip
+ - Clipboard
+ - ClipboardOwner
+ - Clob
+ - CloneNotSupportedException
+ - Cloneable
+ - Closeable
+ - ClosedByInterruptException
+ - ClosedChannelException
+ - ClosedSelectorException
+ - CodeSets
+ - CodeSigner
+ - CodeSource
+ - Codec
+ - CodecFactory
+ - CodecFactoryHelper
+ - CodecFactoryOperations
+ - CodecOperations
+ - CoderMalfunctionError
+ - CoderResult
+ - CodingErrorAction
+ - CollationElementIterator
+ - CollationKey
+ - Collator
+ - Collection
+ - CollectionCertStoreParameters
+ - Collections
+ - Color
+ - ColorChooserComponentFactory
+ - ColorChooserUI
+ - ColorConvertOp
+ - ColorModel
+ - ColorSelectionModel
+ - ColorSpace
+ - ColorSupported
+ - ColorType
+ - ColorUIResource
+ - ComboBoxEditor
+ - ComboBoxModel
+ - ComboBoxUI
+ - ComboPopup
+ - Comment
+ - CommunicationException
+ - Comparable
+ - Comparator
+ - CompilationMXBean
+ - Compiler
+ - CompletionService
+ - CompletionStatus
+ - CompletionStatusHelper
+ - Component
+ - ComponentAdapter
+ - ComponentColorModel
+ - ComponentEvent
+ - ComponentIdHelper
+ - ComponentInputMap
+ - ComponentInputMapUIResource
+ - ComponentListener
+ - ComponentOrientation
+ - ComponentSampleModel
+ - ComponentUI
+ - ComponentView
+ - Composite
+ - CompositeContext
+ - CompositeData
+ - CompositeDataSupport
+ - CompositeName
+ - CompositeType
+ - CompositeView
+ - CompoundBorder
+ - CompoundControl
+ - CompoundControl.Type
+ - CompoundEdit
+ - CompoundName
+ - Compression
+ - ConcurrentHashMap
+ - ConcurrentLinkedQueue
+ - ConcurrentMap
+ - ConcurrentModificationException
+ - Condition
+ - Configuration
+ - ConfigurationException
+ - ConfirmationCallback
+ - ConnectException
+ - ConnectException
+ - ConnectIOException
+ - Connection
+ - ConnectionEvent
+ - ConnectionEventListener
+ - ConnectionPendingException
+ - ConnectionPoolDataSource
+ - ConsoleHandler
+ - Constructor
+ - Container
+ - ContainerAdapter
+ - ContainerEvent
+ - ContainerListener
+ - ContainerOrderFocusTraversalPolicy
+ - ContentHandler
+ - ContentHandler
+ - ContentHandlerFactory
+ - ContentModel
+ - Context
+ - Context
+ - ContextList
+ - ContextNotEmptyException
+ - ContextualRenderedImageFactory
+ - Control
+ - Control
+ - Control.Type
+ - ControlFactory
+ - ControllerEventListener
+ - ConvolveOp
+ - CookieHandler
+ - CookieHolder
+ - Copies
+ - CopiesSupported
+ - CopyOnWriteArrayList
+ - CopyOnWriteArraySet
+ - CountDownLatch
+ - CounterMonitor
+ - CounterMonitorMBean
+ - CredentialException
+ - CredentialExpiredException
+ - CredentialNotFoundException
+ - CropImageFilter
+ - CubicCurve2D
+ - CubicCurve2D.Double
+ - CubicCurve2D.Float
+ - Currency
+ - Current
+ - Current
+ - Current
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHelper
+ - CurrentHolder
+ - CurrentOperations
+ - CurrentOperations
+ - CurrentOperations
+ - Cursor
+ - CustomMarshal
+ - CustomValue
+ - Customizer
+ - CyclicBarrier
+ - DATA_CONVERSION
+ - DESKeySpec
+ - DESedeKeySpec
+ - DGC
+ - DHGenParameterSpec
+ - DHKey
+ - DHParameterSpec
+ - DHPrivateKey
+ - DHPrivateKeySpec
+ - DHPublicKey
+ - DHPublicKeySpec
+ - DISCARDING
+ - DOMConfiguration
+ - DOMError
+ - DOMErrorHandler
+ - DOMException
+ - DOMImplementation
+ - DOMImplementationLS
+ - DOMImplementationList
+ - DOMImplementationRegistry
+ - DOMImplementationSource
+ - DOMLocator
+ - DOMLocator
+ - DOMResult
+ - DOMSource
+ - DOMStringList
+ - DSAKey
+ - DSAKeyPairGenerator
+ - DSAParameterSpec
+ - DSAParams
+ - DSAPrivateKey
+ - DSAPrivateKeySpec
+ - DSAPublicKey
+ - DSAPublicKeySpec
+ - DTD
+ - DTDConstants
+ - DTDHandler
+ - DataBuffer
+ - DataBufferByte
+ - DataBufferDouble
+ - DataBufferFloat
+ - DataBufferInt
+ - DataBufferShort
+ - DataBufferUShort
+ - DataFlavor
+ - DataFormatException
+ - DataInput
+ - DataInputStream
+ - DataInputStream
+ - DataLine
+ - DataLine.Info
+ - DataOutput
+ - DataOutputStream
+ - DataOutputStream
+ - DataSource
+ - DataTruncation
+ - DatabaseMetaData
+ - DatagramChannel
+ - DatagramPacket
+ - DatagramSocket
+ - DatagramSocketImpl
+ - DatagramSocketImplFactory
+ - DatatypeConfigurationException
+ - DatatypeConstants
+ - DatatypeConstants.Field
+ - DatatypeFactory
+ - Date
+ - Date
+ - DateFormat
+ - DateFormat.Field
+ - DateFormatSymbols
+ - DateFormatter
+ - DateTimeAtCompleted
+ - DateTimeAtCreation
+ - DateTimeAtProcessing
+ - DateTimeSyntax
+ - DebugGraphics
+ - DecimalFormat
+ - DecimalFormatSymbols
+ - DeclHandler
+ - DefaultBoundedRangeModel
+ - DefaultButtonModel
+ - DefaultCaret
+ - DefaultCellEditor
+ - DefaultColorSelectionModel
+ - DefaultComboBoxModel
+ - DefaultDesktopManager
+ - DefaultEditorKit
+ - DefaultEditorKit.BeepAction
+ - DefaultEditorKit.CopyAction
+ - DefaultEditorKit.CutAction
+ - DefaultEditorKit.DefaultKeyTypedAction
+ - DefaultEditorKit.InsertBreakAction
+ - DefaultEditorKit.InsertContentAction
+ - DefaultEditorKit.InsertTabAction
+ - DefaultEditorKit.PasteAction
+ - DefaultFocusManager
+ - DefaultFocusTraversalPolicy
+ - DefaultFormatter
+ - DefaultFormatterFactory
+ - DefaultHandler
+ - DefaultHandler2
+ - DefaultHighlighter
+ - DefaultHighlighter.DefaultHighlightPainter
+ - DefaultKeyboardFocusManager
+ - DefaultListCellRenderer
+ - DefaultListCellRenderer.UIResource
+ - DefaultListModel
+ - DefaultListSelectionModel
+ - DefaultLoaderRepository
+ - DefaultLoaderRepository
+ - DefaultMenuLayout
+ - DefaultMetalTheme
+ - DefaultMutableTreeNode
+ - DefaultPersistenceDelegate
+ - DefaultSingleSelectionModel
+ - DefaultStyledDocument
+ - DefaultStyledDocument.AttributeUndoableEdit
+ - DefaultStyledDocument.ElementSpec
+ - DefaultTableCellRenderer
+ - DefaultTableCellRenderer.UIResource
+ - DefaultTableColumnModel
+ - DefaultTableModel
+ - DefaultTextUI
+ - DefaultTreeCellEditor
+ - DefaultTreeCellRenderer
+ - DefaultTreeModel
+ - DefaultTreeSelectionModel
+ - DefinitionKind
+ - DefinitionKindHelper
+ - Deflater
+ - DeflaterOutputStream
+ - DelayQueue
+ - Delayed
+ - Delegate
+ - Delegate
+ - Delegate
+ - DelegationPermission
+ - Deprecated
+ - Descriptor
+ - DescriptorAccess
+ - DescriptorSupport
+ - DesignMode
+ - DesktopIconUI
+ - DesktopManager
+ - DesktopPaneUI
+ - Destination
+ - DestroyFailedException
+ - Destroyable
+ - Dialog
+ - Dictionary
+ - DigestException
+ - DigestInputStream
+ - DigestOutputStream
+ - Dimension
+ - Dimension2D
+ - DimensionUIResource
+ - DirContext
+ - DirObjectFactory
+ - DirStateFactory
+ - DirStateFactory.Result
+ - DirectColorModel
+ - DirectoryManager
+ - DisplayMode
+ - DnDConstants
+ - Doc
+ - DocAttribute
+ - DocAttributeSet
+ - DocFlavor
+ - DocFlavor.BYTE_ARRAY
+ - DocFlavor.CHAR_ARRAY
+ - DocFlavor.INPUT_STREAM
+ - DocFlavor.READER
+ - DocFlavor.SERVICE_FORMATTED
+ - DocFlavor.STRING
+ - DocFlavor.URL
+ - DocPrintJob
+ - Document
+ - Document
+ - DocumentBuilder
+ - DocumentBuilderFactory
+ - DocumentEvent
+ - DocumentEvent.ElementChange
+ - DocumentEvent.EventType
+ - DocumentFilter
+ - DocumentFilter.FilterBypass
+ - DocumentFragment
+ - DocumentHandler
+ - DocumentListener
+ - DocumentName
+ - DocumentParser
+ - DocumentType
+ - Documented
+ - DomainCombiner
+ - DomainManager
+ - DomainManagerOperations
+ - Double
+ - DoubleBuffer
+ - DoubleHolder
+ - DoubleSeqHelper
+ - DoubleSeqHolder
+ - DragGestureEvent
+ - DragGestureListener
+ - DragGestureRecognizer
+ - DragSource
+ - DragSourceAdapter
+ - DragSourceContext
+ - DragSourceDragEvent
+ - DragSourceDropEvent
+ - DragSourceEvent
+ - DragSourceListener
+ - DragSourceMotionListener
+ - Driver
+ - DriverManager
+ - DriverPropertyInfo
+ - DropTarget
+ - DropTarget.DropTargetAutoScroller
+ - DropTargetAdapter
+ - DropTargetContext
+ - DropTargetDragEvent
+ - DropTargetDropEvent
+ - DropTargetEvent
+ - DropTargetListener
+ - DuplicateFormatFlagsException
+ - DuplicateName
+ - DuplicateNameHelper
+ - Duration
+ - DynAny
+ - DynAny
+ - DynAnyFactory
+ - DynAnyFactoryHelper
+ - DynAnyFactoryOperations
+ - DynAnyHelper
+ - DynAnyOperations
+ - DynAnySeqHelper
+ - DynArray
+ - DynArray
+ - DynArrayHelper
+ - DynArrayOperations
+ - DynEnum
+ - DynEnum
+ - DynEnumHelper
+ - DynEnumOperations
+ - DynFixed
+ - DynFixed
+ - DynFixedHelper
+ - DynFixedOperations
+ - DynSequence
+ - DynSequence
+ - DynSequenceHelper
+ - DynSequenceOperations
+ - DynStruct
+ - DynStruct
+ - DynStructHelper
+ - DynStructOperations
+ - DynUnion
+ - DynUnion
+ - DynUnionHelper
+ - DynUnionOperations
+ - DynValue
+ - DynValue
+ - DynValueBox
+ - DynValueBoxOperations
+ - DynValueCommon
+ - DynValueCommonOperations
+ - DynValueHelper
+ - DynValueOperations
+ - DynamicImplementation
+ - DynamicImplementation
+ - DynamicMBean
+ - ECField
+ - ECFieldF2m
+ - ECFieldFp
+ - ECGenParameterSpec
+ - ECKey
+ - ECParameterSpec
+ - ECPoint
+ - ECPrivateKey
+ - ECPrivateKeySpec
+ - ECPublicKey
+ - ECPublicKeySpec
+ - ENCODING_CDR_ENCAPS
+ - EOFException
+ - EditorKit
+ - Element
+ - Element
+ - Element
+ - ElementIterator
+ - ElementType
+ - Ellipse2D
+ - Ellipse2D.Double
+ - Ellipse2D.Float
+ - EllipticCurve
+ - EmptyBorder
+ - EmptyStackException
+ - EncodedKeySpec
+ - Encoder
+ - Encoding
+ - EncryptedPrivateKeyInfo
+ - Entity
+ - Entity
+ - EntityReference
+ - EntityResolver
+ - EntityResolver2
+ - Enum
+ - EnumConstantNotPresentException
+ - EnumControl
+ - EnumControl.Type
+ - EnumMap
+ - EnumSet
+ - EnumSyntax
+ - Enumeration
+ - Environment
+ - Error
+ - ErrorHandler
+ - ErrorListener
+ - ErrorManager
+ - EtchedBorder
+ - Event
+ - EventContext
+ - EventDirContext
+ - EventHandler
+ - EventListener
+ - EventListenerList
+ - EventListenerProxy
+ - EventObject
+ - EventQueue
+ - EventSetDescriptor
+ - Exception
+ - ExceptionDetailMessage
+ - ExceptionInInitializerError
+ - ExceptionList
+ - ExceptionListener
+ - Exchanger
+ - ExecutionException
+ - Executor
+ - ExecutorCompletionService
+ - ExecutorService
+ - Executors
+ - ExemptionMechanism
+ - ExemptionMechanismException
+ - ExemptionMechanismSpi
+ - ExpandVetoException
+ - ExportException
+ - Expression
+ - ExtendedRequest
+ - ExtendedResponse
+ - Externalizable
+ - FREE_MEM
+ - FactoryConfigurationError
+ - FailedLoginException
+ - FeatureDescriptor
+ - Fidelity
+ - Field
+ - FieldNameHelper
+ - FieldNameHelper
+ - FieldPosition
+ - FieldView
+ - File
+ - FileCacheImageInputStream
+ - FileCacheImageOutputStream
+ - FileChannel
+ - FileChannel.MapMode
+ - FileChooserUI
+ - FileDescriptor
+ - FileDialog
+ - FileFilter
+ - FileFilter
+ - FileHandler
+ - FileImageInputStream
+ - FileImageOutputStream
+ - FileInputStream
+ - FileLock
+ - FileLockInterruptionException
+ - FileNameMap
+ - FileNotFoundException
+ - FileOutputStream
+ - FilePermission
+ - FileReader
+ - FileSystemView
+ - FileView
+ - FileWriter
+ - FilenameFilter
+ - Filter
+ - FilterInputStream
+ - FilterOutputStream
+ - FilterReader
+ - FilterWriter
+ - FilteredImageSource
+ - FilteredRowSet
+ - Finishings
+ - FixedHeightLayoutCache
+ - FixedHolder
+ - FlatteningPathIterator
+ - FlavorEvent
+ - FlavorException
+ - FlavorListener
+ - FlavorMap
+ - FlavorTable
+ - Float
+ - FloatBuffer
+ - FloatControl
+ - FloatControl.Type
+ - FloatHolder
+ - FloatSeqHelper
+ - FloatSeqHolder
+ - FlowLayout
+ - FlowView
+ - FlowView.FlowStrategy
+ - Flushable
+ - FocusAdapter
+ - FocusEvent
+ - FocusListener
+ - FocusManager
+ - FocusTraversalPolicy
+ - Font
+ - FontFormatException
+ - FontMetrics
+ - FontRenderContext
+ - FontUIResource
+ - FormSubmitEvent
+ - FormSubmitEvent.MethodType
+ - FormView
+ - Format
+ - Format.Field
+ - FormatConversionProvider
+ - FormatFlagsConversionMismatchException
+ - FormatMismatch
+ - FormatMismatchHelper
+ - Formattable
+ - FormattableFlags
+ - Formatter
+ - Formatter
+ - FormatterClosedException
+ - ForwardRequest
+ - ForwardRequest
+ - ForwardRequestHelper
+ - ForwardRequestHelper
+ - Frame
+ - Future
+ - FutureTask
+ - GSSContext
+ - GSSCredential
+ - GSSException
+ - GSSManager
+ - GSSName
+ - GZIPInputStream
+ - GZIPOutputStream
+ - GapContent
+ - GarbageCollectorMXBean
+ - GatheringByteChannel
+ - GaugeMonitor
+ - GaugeMonitorMBean
+ - GeneralPath
+ - GeneralSecurityException
+ - GenericArrayType
+ - GenericDeclaration
+ - GenericSignatureFormatError
+ - GlyphJustificationInfo
+ - GlyphMetrics
+ - GlyphVector
+ - GlyphView
+ - GlyphView.GlyphPainter
+ - GradientPaint
+ - GraphicAttribute
+ - Graphics
+ - Graphics2D
+ - GraphicsConfigTemplate
+ - GraphicsConfiguration
+ - GraphicsDevice
+ - GraphicsEnvironment
+ - GrayFilter
+ - GregorianCalendar
+ - GridBagConstraints
+ - GridBagLayout
+ - GridLayout
+ - Group
+ - Guard
+ - GuardedObject
+ - HOLDING
+ - HTML
+ - HTML.Attribute
+ - HTML.Tag
+ - HTML.UnknownTag
+ - HTMLDocument
+ - HTMLDocument.Iterator
+ - HTMLEditorKit
+ - HTMLEditorKit.HTMLFactory
+ - HTMLEditorKit.HTMLTextAction
+ - HTMLEditorKit.InsertHTMLTextAction
+ - HTMLEditorKit.LinkController
+ - HTMLEditorKit.Parser
+ - HTMLEditorKit.ParserCallback
+ - HTMLFrameHyperlinkEvent
+ - HTMLWriter
+ - Handler
+ - HandlerBase
+ - HandshakeCompletedEvent
+ - HandshakeCompletedListener
+ - HasControls
+ - HashAttributeSet
+ - HashDocAttributeSet
+ - HashMap
+ - HashPrintJobAttributeSet
+ - HashPrintRequestAttributeSet
+ - HashPrintServiceAttributeSet
+ - HashSet
+ - Hashtable
+ - HeadlessException
+ - HierarchyBoundsAdapter
+ - HierarchyBoundsListener
+ - HierarchyEvent
+ - HierarchyListener
+ - Highlighter
+ - Highlighter.Highlight
+ - Highlighter.HighlightPainter
+ - HostnameVerifier
+ - HttpRetryException
+ - HttpURLConnection
+ - HttpsURLConnection
+ - HyperlinkEvent
+ - HyperlinkEvent.EventType
+ - HyperlinkListener
+ - ICC_ColorSpace
+ - ICC_Profile
+ - ICC_ProfileGray
+ - ICC_ProfileRGB
+ - IDLEntity
+ - IDLType
+ - IDLTypeHelper
+ - IDLTypeOperations
+ - ID_ASSIGNMENT_POLICY_ID
+ - ID_UNIQUENESS_POLICY_ID
+ - IIOByteBuffer
+ - IIOException
+ - IIOImage
+ - IIOInvalidTreeException
+ - IIOMetadata
+ - IIOMetadataController
+ - IIOMetadataFormat
+ - IIOMetadataFormatImpl
+ - IIOMetadataNode
+ - IIOParam
+ - IIOParamController
+ - IIOReadProgressListener
+ - IIOReadUpdateListener
+ - IIOReadWarningListener
+ - IIORegistry
+ - IIOServiceProvider
+ - IIOWriteProgressListener
+ - IIOWriteWarningListener
+ - IMPLICIT_ACTIVATION_POLICY_ID
+ - IMP_LIMIT
+ - INACTIVE
+ - INITIALIZE
+ - INTERNAL
+ - INTF_REPOS
+ - INVALID_ACTIVITY
+ - INVALID_TRANSACTION
+ - INV_FLAG
+ - INV_IDENT
+ - INV_OBJREF
+ - INV_POLICY
+ - IOException
+ - IOR
+ - IORHelper
+ - IORHolder
+ - IORInfo
+ - IORInfoOperations
+ - IORInterceptor
+ - IORInterceptorOperations
+ - IORInterceptor_3_0
+ - IORInterceptor_3_0Helper
+ - IORInterceptor_3_0Holder
+ - IORInterceptor_3_0Operations
+ - IRObject
+ - IRObjectOperations
+ - Icon
+ - IconUIResource
+ - IconView
+ - IdAssignmentPolicy
+ - IdAssignmentPolicyOperations
+ - IdAssignmentPolicyValue
+ - IdUniquenessPolicy
+ - IdUniquenessPolicyOperations
+ - IdUniquenessPolicyValue
+ - IdentifierHelper
+ - Identity
+ - IdentityHashMap
+ - IdentityScope
+ - IllegalAccessError
+ - IllegalAccessException
+ - IllegalArgumentException
+ - IllegalBlockSizeException
+ - IllegalBlockingModeException
+ - IllegalCharsetNameException
+ - IllegalClassFormatException
+ - IllegalComponentStateException
+ - IllegalFormatCodePointException
+ - IllegalFormatConversionException
+ - IllegalFormatException
+ - IllegalFormatFlagsException
+ - IllegalFormatPrecisionException
+ - IllegalFormatWidthException
+ - IllegalMonitorStateException
+ - IllegalPathStateException
+ - IllegalSelectorException
+ - IllegalStateException
+ - IllegalThreadStateException
+ - Image
+ - ImageCapabilities
+ - ImageConsumer
+ - ImageFilter
+ - ImageGraphicAttribute
+ - ImageIO
+ - ImageIcon
+ - ImageInputStream
+ - ImageInputStreamImpl
+ - ImageInputStreamSpi
+ - ImageObserver
+ - ImageOutputStream
+ - ImageOutputStreamImpl
+ - ImageOutputStreamSpi
+ - ImageProducer
+ - ImageReadParam
+ - ImageReader
+ - ImageReaderSpi
+ - ImageReaderWriterSpi
+ - ImageTranscoder
+ - ImageTranscoderSpi
+ - ImageTypeSpecifier
+ - ImageView
+ - ImageWriteParam
+ - ImageWriter
+ - ImageWriterSpi
+ - ImagingOpException
+ - ImplicitActivationPolicy
+ - ImplicitActivationPolicyOperations
+ - ImplicitActivationPolicyValue
+ - IncompatibleClassChangeError
+ - IncompleteAnnotationException
+ - InconsistentTypeCode
+ - InconsistentTypeCode
+ - InconsistentTypeCodeHelper
+ - IndexColorModel
+ - IndexOutOfBoundsException
+ - IndexedPropertyChangeEvent
+ - IndexedPropertyDescriptor
+ - IndirectionException
+ - Inet4Address
+ - Inet6Address
+ - InetAddress
+ - InetSocketAddress
+ - Inflater
+ - InflaterInputStream
+ - InheritableThreadLocal
+ - Inherited
+ - InitialContext
+ - InitialContextFactory
+ - InitialContextFactoryBuilder
+ - InitialDirContext
+ - InitialLdapContext
+ - InlineView
+ - InputContext
+ - InputEvent
+ - InputMap
+ - InputMapUIResource
+ - InputMethod
+ - InputMethodContext
+ - InputMethodDescriptor
+ - InputMethodEvent
+ - InputMethodHighlight
+ - InputMethodListener
+ - InputMethodRequests
+ - InputMismatchException
+ - InputSource
+ - InputStream
+ - InputStream
+ - InputStream
+ - InputStreamReader
+ - InputSubset
+ - InputVerifier
+ - Insets
+ - InsetsUIResource
+ - InstanceAlreadyExistsException
+ - InstanceNotFoundException
+ - InstantiationError
+ - InstantiationException
+ - Instrument
+ - Instrumentation
+ - InsufficientResourcesException
+ - IntBuffer
+ - IntHolder
+ - Integer
+ - IntegerSyntax
+ - Interceptor
+ - InterceptorOperations
+ - InternalError
+ - InternalFrameAdapter
+ - InternalFrameEvent
+ - InternalFrameFocusTraversalPolicy
+ - InternalFrameListener
+ - InternalFrameUI
+ - InternationalFormatter
+ - InterruptedException
+ - InterruptedIOException
+ - InterruptedNamingException
+ - InterruptibleChannel
+ - IntrospectionException
+ - IntrospectionException
+ - Introspector
+ - Invalid
+ - InvalidActivityException
+ - InvalidAddress
+ - InvalidAddressHelper
+ - InvalidAddressHolder
+ - InvalidAlgorithmParameterException
+ - InvalidApplicationException
+ - InvalidAttributeIdentifierException
+ - InvalidAttributeValueException
+ - InvalidAttributeValueException
+ - InvalidAttributesException
+ - InvalidClassException
+ - InvalidDnDOperationException
+ - InvalidKeyException
+ - InvalidKeyException
+ - InvalidKeySpecException
+ - InvalidMarkException
+ - InvalidMidiDataException
+ - InvalidName
+ - InvalidName
+ - InvalidName
+ - InvalidNameException
+ - InvalidNameHelper
+ - InvalidNameHelper
+ - InvalidNameHolder
+ - InvalidObjectException
+ - InvalidOpenTypeException
+ - InvalidParameterException
+ - InvalidParameterSpecException
+ - InvalidPolicy
+ - InvalidPolicyHelper
+ - InvalidPreferencesFormatException
+ - InvalidPropertiesFormatException
+ - InvalidRelationIdException
+ - InvalidRelationServiceException
+ - InvalidRelationTypeException
+ - InvalidRoleInfoException
+ - InvalidRoleValueException
+ - InvalidSearchControlsException
+ - InvalidSearchFilterException
+ - InvalidSeq
+ - InvalidSlot
+ - InvalidSlotHelper
+ - InvalidTargetObjectTypeException
+ - InvalidTransactionException
+ - InvalidTypeForEncoding
+ - InvalidTypeForEncodingHelper
+ - InvalidValue
+ - InvalidValue
+ - InvalidValueHelper
+ - InvocationEvent
+ - InvocationHandler
+ - InvocationTargetException
+ - InvokeHandler
+ - IstringHelper
+ - ItemEvent
+ - ItemListener
+ - ItemSelectable
+ - Iterable
+ - Iterator
+ - IvParameterSpec
+ - JApplet
+ - JButton
+ - JCheckBox
+ - JCheckBoxMenuItem
+ - JColorChooser
+ - JComboBox
+ - JComboBox.KeySelectionManager
+ - JComponent
+ - JDesktopPane
+ - JDialog
+ - JEditorPane
+ - JFileChooser
+ - JFormattedTextField
+ - JFormattedTextField.AbstractFormatter
+ - JFormattedTextField.AbstractFormatterFactory
+ - JFrame
+ - JInternalFrame
+ - JInternalFrame.JDesktopIcon
+ - JLabel
+ - JLayeredPane
+ - JList
+ - JMException
+ - JMRuntimeException
+ - JMXAuthenticator
+ - JMXConnectionNotification
+ - JMXConnector
+ - JMXConnectorFactory
+ - JMXConnectorProvider
+ - JMXConnectorServer
+ - JMXConnectorServerFactory
+ - JMXConnectorServerMBean
+ - JMXConnectorServerProvider
+ - JMXPrincipal
+ - JMXProviderException
+ - JMXServerErrorException
+ - JMXServiceURL
+ - JMenu
+ - JMenuBar
+ - JMenuItem
+ - JOptionPane
+ - JPEGHuffmanTable
+ - JPEGImageReadParam
+ - JPEGImageWriteParam
+ - JPEGQTable
+ - JPanel
+ - JPasswordField
+ - JPopupMenu
+ - JPopupMenu.Separator
+ - JProgressBar
+ - JRadioButton
+ - JRadioButtonMenuItem
+ - JRootPane
+ - JScrollBar
+ - JScrollPane
+ - JSeparator
+ - JSlider
+ - JSpinner
+ - JSpinner.DateEditor
+ - JSpinner.DefaultEditor
+ - JSpinner.ListEditor
+ - JSpinner.NumberEditor
+ - JSplitPane
+ - JTabbedPane
+ - JTable
+ - JTable.PrintMode
+ - JTableHeader
+ - JTextArea
+ - JTextComponent
+ - JTextComponent.KeyBinding
+ - JTextField
+ - JTextPane
+ - JToggleButton
+ - JToggleButton.ToggleButtonModel
+ - JToolBar
+ - JToolBar.Separator
+ - JToolTip
+ - JTree
+ - JTree.DynamicUtilTreeNode
+ - JTree.EmptySelectionModel
+ - JViewport
+ - JWindow
+ - JarEntry
+ - JarException
+ - JarFile
+ - JarInputStream
+ - JarOutputStream
+ - JarURLConnection
+ - JdbcRowSet
+ - JobAttributes
+ - JobAttributes.DefaultSelectionType
+ - JobAttributes.DestinationType
+ - JobAttributes.DialogType
+ - JobAttributes.MultipleDocumentHandlingType
+ - JobAttributes.SidesType
+ - JobHoldUntil
+ - JobImpressions
+ - JobImpressionsCompleted
+ - JobImpressionsSupported
+ - JobKOctets
+ - JobKOctetsProcessed
+ - JobKOctetsSupported
+ - JobMediaSheets
+ - JobMediaSheetsCompleted
+ - JobMediaSheetsSupported
+ - JobMessageFromOperator
+ - JobName
+ - JobOriginatingUserName
+ - JobPriority
+ - JobPrioritySupported
+ - JobSheets
+ - JobState
+ - JobStateReason
+ - JobStateReasons
+ - JoinRowSet
+ - Joinable
+ - KerberosKey
+ - KerberosPrincipal
+ - KerberosTicket
+ - Kernel
+ - Key
+ - KeyAdapter
+ - KeyAgreement
+ - KeyAgreementSpi
+ - KeyAlreadyExistsException
+ - KeyEvent
+ - KeyEventDispatcher
+ - KeyEventPostProcessor
+ - KeyException
+ - KeyFactory
+ - KeyFactorySpi
+ - KeyGenerator
+ - KeyGeneratorSpi
+ - KeyListener
+ - KeyManagementException
+ - KeyManager
+ - KeyManagerFactory
+ - KeyManagerFactorySpi
+ - KeyPair
+ - KeyPairGenerator
+ - KeyPairGeneratorSpi
+ - KeyRep
+ - KeyRep.Type
+ - KeySpec
+ - KeyStore
+ - KeyStore.Builder
+ - KeyStore.CallbackHandlerProtection
+ - KeyStore.Entry
+ - KeyStore.LoadStoreParameter
+ - KeyStore.PasswordProtection
+ - KeyStore.PrivateKeyEntry
+ - KeyStore.ProtectionParameter
+ - KeyStore.SecretKeyEntry
+ - KeyStore.TrustedCertificateEntry
+ - KeyStoreBuilderParameters
+ - KeyStoreException
+ - KeyStoreSpi
+ - KeyStroke
+ - KeyboardFocusManager
+ - Keymap
+ - LDAPCertStoreParameters
+ - LIFESPAN_POLICY_ID
+ - LOCATION_FORWARD
+ - LSException
+ - LSInput
+ - LSLoadEvent
+ - LSOutput
+ - LSParser
+ - LSParserFilter
+ - LSProgressEvent
+ - LSResourceResolver
+ - LSSerializer
+ - LSSerializerFilter
+ - Label
+ - LabelUI
+ - LabelView
+ - LanguageCallback
+ - LastOwnerException
+ - LayeredHighlighter
+ - LayeredHighlighter.LayerPainter
+ - LayoutFocusTraversalPolicy
+ - LayoutManager
+ - LayoutManager2
+ - LayoutQueue
+ - LdapContext
+ - LdapName
+ - LdapReferralException
+ - Lease
+ - Level
+ - LexicalHandler
+ - LifespanPolicy
+ - LifespanPolicyOperations
+ - LifespanPolicyValue
+ - LimitExceededException
+ - Line
+ - Line.Info
+ - Line2D
+ - Line2D.Double
+ - Line2D.Float
+ - LineBorder
+ - LineBreakMeasurer
+ - LineEvent
+ - LineEvent.Type
+ - LineListener
+ - LineMetrics
+ - LineNumberInputStream
+ - LineNumberReader
+ - LineUnavailableException
+ - LinkException
+ - LinkLoopException
+ - LinkRef
+ - LinkageError
+ - LinkedBlockingQueue
+ - LinkedHashMap
+ - LinkedHashSet
+ - LinkedList
+ - List
+ - List
+ - ListCellRenderer
+ - ListDataEvent
+ - ListDataListener
+ - ListIterator
+ - ListModel
+ - ListResourceBundle
+ - ListSelectionEvent
+ - ListSelectionListener
+ - ListSelectionModel
+ - ListUI
+ - ListView
+ - ListenerNotFoundException
+ - LoaderHandler
+ - LocalObject
+ - Locale
+ - LocateRegistry
+ - Locator
+ - Locator2
+ - Locator2Impl
+ - LocatorImpl
+ - Lock
+ - LockSupport
+ - LogManager
+ - LogRecord
+ - LogStream
+ - Logger
+ - LoggingMXBean
+ - LoggingPermission
+ - LoginContext
+ - LoginException
+ - LoginModule
+ - Long
+ - LongBuffer
+ - LongHolder
+ - LongLongSeqHelper
+ - LongLongSeqHolder
+ - LongSeqHelper
+ - LongSeqHolder
+ - LookAndFeel
+ - LookupOp
+ - LookupTable
+ - MARSHAL
+ - MBeanAttributeInfo
+ - MBeanConstructorInfo
+ - MBeanException
+ - MBeanFeatureInfo
+ - MBeanInfo
+ - MBeanNotificationInfo
+ - MBeanOperationInfo
+ - MBeanParameterInfo
+ - MBeanPermission
+ - MBeanRegistration
+ - MBeanRegistrationException
+ - MBeanServer
+ - MBeanServerBuilder
+ - MBeanServerConnection
+ - MBeanServerDelegate
+ - MBeanServerDelegateMBean
+ - MBeanServerFactory
+ - MBeanServerForwarder
+ - MBeanServerInvocationHandler
+ - MBeanServerNotification
+ - MBeanServerNotificationFilter
+ - MBeanServerPermission
+ - MBeanTrustPermission
+ - MGF1ParameterSpec
+ - MLet
+ - MLetMBean
+ - Mac
+ - MacSpi
+ - MalformedInputException
+ - MalformedLinkException
+ - MalformedObjectNameException
+ - MalformedParameterizedTypeException
+ - MalformedURLException
+ - ManageReferralControl
+ - ManagementFactory
+ - ManagementPermission
+ - ManagerFactoryParameters
+ - Manifest
+ - Map
+ - Map.Entry
+ - MappedByteBuffer
+ - MarshalException
+ - MarshalledObject
+ - MaskFormatter
+ - MatchResult
+ - Matcher
+ - Math
+ - MathContext
+ - MatteBorder
+ - Media
+ - MediaName
+ - MediaPrintableArea
+ - MediaSize
+ - MediaSize.Engineering
+ - MediaSize.ISO
+ - MediaSize.JIS
+ - MediaSize.NA
+ - MediaSize.Other
+ - MediaSizeName
+ - MediaTracker
+ - MediaTray
+ - Member
+ - MemoryCacheImageInputStream
+ - MemoryCacheImageOutputStream
+ - MemoryHandler
+ - MemoryImageSource
+ - MemoryMXBean
+ - MemoryManagerMXBean
+ - MemoryNotificationInfo
+ - MemoryPoolMXBean
+ - MemoryType
+ - MemoryUsage
+ - Menu
+ - MenuBar
+ - MenuBarUI
+ - MenuComponent
+ - MenuContainer
+ - MenuDragMouseEvent
+ - MenuDragMouseListener
+ - MenuElement
+ - MenuEvent
+ - MenuItem
+ - MenuItemUI
+ - MenuKeyEvent
+ - MenuKeyListener
+ - MenuListener
+ - MenuSelectionManager
+ - MenuShortcut
+ - MessageDigest
+ - MessageDigestSpi
+ - MessageFormat
+ - MessageFormat.Field
+ - MessageProp
+ - MetaEventListener
+ - MetaMessage
+ - MetalBorders
+ - MetalBorders.ButtonBorder
+ - MetalBorders.Flush3DBorder
+ - MetalBorders.InternalFrameBorder
+ - MetalBorders.MenuBarBorder
+ - MetalBorders.MenuItemBorder
+ - MetalBorders.OptionDialogBorder
+ - MetalBorders.PaletteBorder
+ - MetalBorders.PopupMenuBorder
+ - MetalBorders.RolloverButtonBorder
+ - MetalBorders.ScrollPaneBorder
+ - MetalBorders.TableHeaderBorder
+ - MetalBorders.TextFieldBorder
+ - MetalBorders.ToggleButtonBorder
+ - MetalBorders.ToolBarBorder
+ - MetalButtonUI
+ - MetalCheckBoxIcon
+ - MetalCheckBoxUI
+ - MetalComboBoxButton
+ - MetalComboBoxEditor
+ - MetalComboBoxEditor.UIResource
+ - MetalComboBoxIcon
+ - MetalComboBoxUI
+ - MetalDesktopIconUI
+ - MetalFileChooserUI
+ - MetalIconFactory
+ - MetalIconFactory.FileIcon16
+ - MetalIconFactory.FolderIcon16
+ - MetalIconFactory.PaletteCloseIcon
+ - MetalIconFactory.TreeControlIcon
+ - MetalIconFactory.TreeFolderIcon
+ - MetalIconFactory.TreeLeafIcon
+ - MetalInternalFrameTitlePane
+ - MetalInternalFrameUI
+ - MetalLabelUI
+ - MetalLookAndFeel
+ - MetalMenuBarUI
+ - MetalPopupMenuSeparatorUI
+ - MetalProgressBarUI
+ - MetalRadioButtonUI
+ - MetalRootPaneUI
+ - MetalScrollBarUI
+ - MetalScrollButton
+ - MetalScrollPaneUI
+ - MetalSeparatorUI
+ - MetalSliderUI
+ - MetalSplitPaneUI
+ - MetalTabbedPaneUI
+ - MetalTextFieldUI
+ - MetalTheme
+ - MetalToggleButtonUI
+ - MetalToolBarUI
+ - MetalToolTipUI
+ - MetalTreeUI
+ - Method
+ - MethodDescriptor
+ - MidiChannel
+ - MidiDevice
+ - MidiDevice.Info
+ - MidiDeviceProvider
+ - MidiEvent
+ - MidiFileFormat
+ - MidiFileReader
+ - MidiFileWriter
+ - MidiMessage
+ - MidiSystem
+ - MidiUnavailableException
+ - MimeTypeParseException
+ - MinimalHTMLWriter
+ - MissingFormatArgumentException
+ - MissingFormatWidthException
+ - MissingResourceException
+ - Mixer
+ - Mixer.Info
+ - MixerProvider
+ - ModelMBean
+ - ModelMBeanAttributeInfo
+ - ModelMBeanConstructorInfo
+ - ModelMBeanInfo
+ - ModelMBeanInfoSupport
+ - ModelMBeanNotificationBroadcaster
+ - ModelMBeanNotificationInfo
+ - ModelMBeanOperationInfo
+ - ModificationItem
+ - Modifier
+ - Monitor
+ - MonitorMBean
+ - MonitorNotification
+ - MonitorSettingException
+ - MouseAdapter
+ - MouseDragGestureRecognizer
+ - MouseEvent
+ - MouseInfo
+ - MouseInputAdapter
+ - MouseInputListener
+ - MouseListener
+ - MouseMotionAdapter
+ - MouseMotionListener
+ - MouseWheelEvent
+ - MouseWheelListener
+ - MultiButtonUI
+ - MultiColorChooserUI
+ - MultiComboBoxUI
+ - MultiDesktopIconUI
+ - MultiDesktopPaneUI
+ - MultiDoc
+ - MultiDocPrintJob
+ - MultiDocPrintService
+ - MultiFileChooserUI
+ - MultiInternalFrameUI
+ - MultiLabelUI
+ - MultiListUI
+ - MultiLookAndFeel
+ - MultiMenuBarUI
+ - MultiMenuItemUI
+ - MultiOptionPaneUI
+ - MultiPanelUI
+ - MultiPixelPackedSampleModel
+ - MultiPopupMenuUI
+ - MultiProgressBarUI
+ - MultiRootPaneUI
+ - MultiScrollBarUI
+ - MultiScrollPaneUI
+ - MultiSeparatorUI
+ - MultiSliderUI
+ - MultiSpinnerUI
+ - MultiSplitPaneUI
+ - MultiTabbedPaneUI
+ - MultiTableHeaderUI
+ - MultiTableUI
+ - MultiTextUI
+ - MultiToolBarUI
+ - MultiToolTipUI
+ - MultiTreeUI
+ - MultiViewportUI
+ - MulticastSocket
+ - MultipleComponentProfileHelper
+ - MultipleComponentProfileHolder
+ - MultipleDocumentHandling
+ - MultipleMaster
+ - MutableAttributeSet
+ - MutableComboBoxModel
+ - MutableTreeNode
+ - NON_EXISTENT
+ - NO_IMPLEMENT
+ - NO_MEMORY
+ - NO_PERMISSION
+ - NO_RESOURCES
+ - NO_RESPONSE
+ - NVList
+ - Name
+ - NameAlreadyBoundException
+ - NameCallback
+ - NameClassPair
+ - NameComponent
+ - NameComponentHelper
+ - NameComponentHolder
+ - NameDynAnyPair
+ - NameDynAnyPairHelper
+ - NameDynAnyPairSeqHelper
+ - NameHelper
+ - NameHolder
+ - NameList
+ - NameNotFoundException
+ - NameParser
+ - NameValuePair
+ - NameValuePair
+ - NameValuePairHelper
+ - NameValuePairHelper
+ - NameValuePairSeqHelper
+ - NamedNodeMap
+ - NamedValue
+ - NamespaceChangeListener
+ - NamespaceContext
+ - NamespaceSupport
+ - Naming
+ - NamingContext
+ - NamingContextExt
+ - NamingContextExtHelper
+ - NamingContextExtHolder
+ - NamingContextExtOperations
+ - NamingContextExtPOA
+ - NamingContextHelper
+ - NamingContextHolder
+ - NamingContextOperations
+ - NamingContextPOA
+ - NamingEnumeration
+ - NamingEvent
+ - NamingException
+ - NamingExceptionEvent
+ - NamingListener
+ - NamingManager
+ - NamingSecurityException
+ - NavigationFilter
+ - NavigationFilter.FilterBypass
+ - NegativeArraySizeException
+ - NetPermission
+ - NetworkInterface
+ - NoClassDefFoundError
+ - NoConnectionPendingException
+ - NoContext
+ - NoContextHelper
+ - NoInitialContextException
+ - NoPermissionException
+ - NoRouteToHostException
+ - NoServant
+ - NoServantHelper
+ - NoSuchAlgorithmException
+ - NoSuchAttributeException
+ - NoSuchElementException
+ - NoSuchFieldError
+ - NoSuchFieldException
+ - NoSuchMethodError
+ - NoSuchMethodException
+ - NoSuchObjectException
+ - NoSuchPaddingException
+ - NoSuchProviderException
+ - Node
+ - NodeChangeEvent
+ - NodeChangeListener
+ - NodeList
+ - NonReadableChannelException
+ - NonWritableChannelException
+ - NoninvertibleTransformException
+ - NotActiveException
+ - NotBoundException
+ - NotCompliantMBeanException
+ - NotContextException
+ - NotEmpty
+ - NotEmptyHelper
+ - NotEmptyHolder
+ - NotFound
+ - NotFoundHelper
+ - NotFoundHolder
+ - NotFoundReason
+ - NotFoundReasonHelper
+ - NotFoundReasonHolder
+ - NotOwnerException
+ - NotSerializableException
+ - NotYetBoundException
+ - NotYetConnectedException
+ - Notation
+ - Notification
+ - NotificationBroadcaster
+ - NotificationBroadcasterSupport
+ - NotificationEmitter
+ - NotificationFilter
+ - NotificationFilterSupport
+ - NotificationListener
+ - NotificationResult
+ - NullCipher
+ - NullPointerException
+ - Number
+ - NumberFormat
+ - NumberFormat.Field
+ - NumberFormatException
+ - NumberFormatter
+ - NumberOfDocuments
+ - NumberOfInterveningJobs
+ - NumberUp
+ - NumberUpSupported
+ - NumericShaper
+ - OAEPParameterSpec
+ - OBJECT_NOT_EXIST
+ - OBJ_ADAPTER
+ - OMGVMCID
+ - ORB
+ - ORB
+ - ORBIdHelper
+ - ORBInitInfo
+ - ORBInitInfoOperations
+ - ORBInitializer
+ - ORBInitializerOperations
+ - ObjID
+ - Object
+ - Object
+ - ObjectAlreadyActive
+ - ObjectAlreadyActiveHelper
+ - ObjectChangeListener
+ - ObjectFactory
+ - ObjectFactoryBuilder
+ - ObjectHelper
+ - ObjectHolder
+ - ObjectIdHelper
+ - ObjectIdHelper
+ - ObjectImpl
+ - ObjectImpl
+ - ObjectInput
+ - ObjectInputStream
+ - ObjectInputStream.GetField
+ - ObjectInputValidation
+ - ObjectInstance
+ - ObjectName
+ - ObjectNotActive
+ - ObjectNotActiveHelper
+ - ObjectOutput
+ - ObjectOutputStream
+ - ObjectOutputStream.PutField
+ - ObjectReferenceFactory
+ - ObjectReferenceFactoryHelper
+ - ObjectReferenceFactoryHolder
+ - ObjectReferenceTemplate
+ - ObjectReferenceTemplateHelper
+ - ObjectReferenceTemplateHolder
+ - ObjectReferenceTemplateSeqHelper
+ - ObjectReferenceTemplateSeqHolder
+ - ObjectStreamClass
+ - ObjectStreamConstants
+ - ObjectStreamException
+ - ObjectStreamField
+ - ObjectView
+ - Observable
+ - Observer
+ - OceanTheme
+ - OctetSeqHelper
+ - OctetSeqHolder
+ - Oid
+ - OpenDataException
+ - OpenMBeanAttributeInfo
+ - OpenMBeanAttributeInfoSupport
+ - OpenMBeanConstructorInfo
+ - OpenMBeanConstructorInfoSupport
+ - OpenMBeanInfo
+ - OpenMBeanInfoSupport
+ - OpenMBeanOperationInfo
+ - OpenMBeanOperationInfoSupport
+ - OpenMBeanParameterInfo
+ - OpenMBeanParameterInfoSupport
+ - OpenType
+ - OpenType
+ - OperatingSystemMXBean
+ - Operation
+ - OperationNotSupportedException
+ - OperationsException
+ - Option
+ - OptionPaneUI
+ - OptionalDataException
+ - OrientationRequested
+ - OutOfMemoryError
+ - OutputDeviceAssigned
+ - OutputKeys
+ - OutputStream
+ - OutputStream
+ - OutputStream
+ - OutputStreamWriter
+ - OverlappingFileLockException
+ - OverlayLayout
+ - Override
+ - Owner
+ - PBEKey
+ - PBEKeySpec
+ - PBEParameterSpec
+ - PDLOverrideSupported
+ - PERSIST_STORE
+ - PKCS8EncodedKeySpec
+ - PKIXBuilderParameters
+ - PKIXCertPathBuilderResult
+ - PKIXCertPathChecker
+ - PKIXCertPathValidatorResult
+ - PKIXParameters
+ - POA
+ - POAHelper
+ - POAManager
+ - POAManagerOperations
+ - POAOperations
+ - PRIVATE_MEMBER
+ - PSSParameterSpec
+ - PSource
+ - PSource.PSpecified
+ - PUBLIC_MEMBER
+ - Pack200
+ - Pack200.Packer
+ - Pack200.Unpacker
+ - Package
+ - PackedColorModel
+ - PageAttributes
+ - PageAttributes.ColorType
+ - PageAttributes.MediaType
+ - PageAttributes.OrientationRequestedType
+ - PageAttributes.OriginType
+ - PageAttributes.PrintQualityType
+ - PageFormat
+ - PageRanges
+ - Pageable
+ - PagedResultsControl
+ - PagedResultsResponseControl
+ - PagesPerMinute
+ - PagesPerMinuteColor
+ - Paint
+ - PaintContext
+ - PaintEvent
+ - Panel
+ - PanelUI
+ - Paper
+ - ParagraphView
+ - ParagraphView
+ - Parameter
+ - ParameterBlock
+ - ParameterDescriptor
+ - ParameterMetaData
+ - ParameterMode
+ - ParameterModeHelper
+ - ParameterModeHolder
+ - ParameterizedType
+ - ParseException
+ - ParsePosition
+ - Parser
+ - Parser
+ - ParserAdapter
+ - ParserConfigurationException
+ - ParserDelegator
+ - ParserFactory
+ - PartialResultException
+ - PasswordAuthentication
+ - PasswordCallback
+ - PasswordView
+ - Patch
+ - PathIterator
+ - Pattern
+ - PatternSyntaxException
+ - Permission
+ - Permission
+ - PermissionCollection
+ - Permissions
+ - PersistenceDelegate
+ - PersistentMBean
+ - PhantomReference
+ - Pipe
+ - Pipe.SinkChannel
+ - Pipe.SourceChannel
+ - PipedInputStream
+ - PipedOutputStream
+ - PipedReader
+ - PipedWriter
+ - PixelGrabber
+ - PixelInterleavedSampleModel
+ - PlainDocument
+ - PlainView
+ - Point
+ - Point2D
+ - Point2D.Double
+ - Point2D.Float
+ - PointerInfo
+ - Policy
+ - Policy
+ - Policy
+ - PolicyError
+ - PolicyErrorCodeHelper
+ - PolicyErrorHelper
+ - PolicyErrorHolder
+ - PolicyFactory
+ - PolicyFactoryOperations
+ - PolicyHelper
+ - PolicyHolder
+ - PolicyListHelper
+ - PolicyListHolder
+ - PolicyNode
+ - PolicyOperations
+ - PolicyQualifierInfo
+ - PolicyTypeHelper
+ - Polygon
+ - PooledConnection
+ - Popup
+ - PopupFactory
+ - PopupMenu
+ - PopupMenuEvent
+ - PopupMenuListener
+ - PopupMenuUI
+ - Port
+ - Port.Info
+ - PortUnreachableException
+ - PortableRemoteObject
+ - PortableRemoteObjectDelegate
+ - Position
+ - Position.Bias
+ - Predicate
+ - PreferenceChangeEvent
+ - PreferenceChangeListener
+ - Preferences
+ - PreferencesFactory
+ - PreparedStatement
+ - PresentationDirection
+ - Principal
+ - Principal
+ - PrincipalHolder
+ - PrintEvent
+ - PrintException
+ - PrintGraphics
+ - PrintJob
+ - PrintJobAdapter
+ - PrintJobAttribute
+ - PrintJobAttributeEvent
+ - PrintJobAttributeListener
+ - PrintJobAttributeSet
+ - PrintJobEvent
+ - PrintJobListener
+ - PrintQuality
+ - PrintRequestAttribute
+ - PrintRequestAttributeSet
+ - PrintService
+ - PrintServiceAttribute
+ - PrintServiceAttributeEvent
+ - PrintServiceAttributeListener
+ - PrintServiceAttributeSet
+ - PrintServiceLookup
+ - PrintStream
+ - PrintWriter
+ - Printable
+ - PrinterAbortException
+ - PrinterException
+ - PrinterGraphics
+ - PrinterIOException
+ - PrinterInfo
+ - PrinterIsAcceptingJobs
+ - PrinterJob
+ - PrinterLocation
+ - PrinterMakeAndModel
+ - PrinterMessageFromOperator
+ - PrinterMoreInfo
+ - PrinterMoreInfoManufacturer
+ - PrinterName
+ - PrinterResolution
+ - PrinterState
+ - PrinterStateReason
+ - PrinterStateReasons
+ - PrinterURI
+ - PriorityBlockingQueue
+ - PriorityQueue
+ - PrivateClassLoader
+ - PrivateCredentialPermission
+ - PrivateKey
+ - PrivateMLet
+ - PrivilegedAction
+ - PrivilegedActionException
+ - PrivilegedExceptionAction
+ - Process
+ - ProcessBuilder
+ - ProcessingInstruction
+ - ProfileDataException
+ - ProfileIdHelper
+ - ProgressBarUI
+ - ProgressMonitor
+ - ProgressMonitorInputStream
+ - Properties
+ - PropertyChangeEvent
+ - PropertyChangeListener
+ - PropertyChangeListenerProxy
+ - PropertyChangeSupport
+ - PropertyDescriptor
+ - PropertyEditor
+ - PropertyEditorManager
+ - PropertyEditorSupport
+ - PropertyPermission
+ - PropertyResourceBundle
+ - PropertyVetoException
+ - ProtectionDomain
+ - ProtocolException
+ - Provider
+ - Provider.Service
+ - ProviderException
+ - Proxy
+ - Proxy
+ - Proxy.Type
+ - ProxySelector
+ - PublicKey
+ - PushbackInputStream
+ - PushbackReader
+ - QName
+ - QuadCurve2D
+ - QuadCurve2D.Double
+ - QuadCurve2D.Float
+ - Query
+ - QueryEval
+ - QueryExp
+ - Queue
+ - QueuedJobCount
+ - RC2ParameterSpec
+ - RC5ParameterSpec
+ - REBIND
+ - REQUEST_PROCESSING_POLICY_ID
+ - RGBImageFilter
+ - RMIClassLoader
+ - RMIClassLoaderSpi
+ - RMIClientSocketFactory
+ - RMIConnection
+ - RMIConnectionImpl
+ - RMIConnectionImpl_Stub
+ - RMIConnector
+ - RMIConnectorServer
+ - RMICustomMaxStreamFormat
+ - RMIFailureHandler
+ - RMIIIOPServerImpl
+ - RMIJRMPServerImpl
+ - RMISecurityException
+ - RMISecurityManager
+ - RMIServer
+ - RMIServerImpl
+ - RMIServerImpl_Stub
+ - RMIServerSocketFactory
+ - RMISocketFactory
+ - RSAKey
+ - RSAKeyGenParameterSpec
+ - RSAMultiPrimePrivateCrtKey
+ - RSAMultiPrimePrivateCrtKeySpec
+ - RSAOtherPrimeInfo
+ - RSAPrivateCrtKey
+ - RSAPrivateCrtKeySpec
+ - RSAPrivateKey
+ - RSAPrivateKeySpec
+ - RSAPublicKey
+ - RSAPublicKeySpec
+ - RTFEditorKit
+ - Random
+ - RandomAccess
+ - RandomAccessFile
+ - Raster
+ - RasterFormatException
+ - RasterOp
+ - Rdn
+ - ReadOnlyBufferException
+ - ReadWriteLock
+ - Readable
+ - ReadableByteChannel
+ - Reader
+ - RealmCallback
+ - RealmChoiceCallback
+ - Receiver
+ - Rectangle
+ - Rectangle2D
+ - Rectangle2D.Double
+ - Rectangle2D.Float
+ - RectangularShape
+ - ReentrantLock
+ - ReentrantReadWriteLock
+ - ReentrantReadWriteLock.ReadLock
+ - ReentrantReadWriteLock.WriteLock
+ - Ref
+ - RefAddr
+ - Reference
+ - Reference
+ - ReferenceQueue
+ - ReferenceUriSchemesSupported
+ - Referenceable
+ - ReferralException
+ - ReflectPermission
+ - ReflectionException
+ - RefreshFailedException
+ - Refreshable
+ - Region
+ - RegisterableService
+ - Registry
+ - RegistryHandler
+ - RejectedExecutionException
+ - RejectedExecutionHandler
+ - Relation
+ - RelationException
+ - RelationNotFoundException
+ - RelationNotification
+ - RelationService
+ - RelationServiceMBean
+ - RelationServiceNotRegisteredException
+ - RelationSupport
+ - RelationSupportMBean
+ - RelationType
+ - RelationTypeNotFoundException
+ - RelationTypeSupport
+ - RemarshalException
+ - Remote
+ - RemoteCall
+ - RemoteException
+ - RemoteObject
+ - RemoteObjectInvocationHandler
+ - RemoteRef
+ - RemoteServer
+ - RemoteStub
+ - RenderContext
+ - RenderableImage
+ - RenderableImageOp
+ - RenderableImageProducer
+ - RenderedImage
+ - RenderedImageFactory
+ - Renderer
+ - RenderingHints
+ - RenderingHints.Key
+ - RepaintManager
+ - ReplicateScaleFilter
+ - RepositoryIdHelper
+ - Request
+ - RequestInfo
+ - RequestInfoOperations
+ - RequestProcessingPolicy
+ - RequestProcessingPolicyOperations
+ - RequestProcessingPolicyValue
+ - RequestingUserName
+ - RequiredModelMBean
+ - RescaleOp
+ - ResolutionSyntax
+ - ResolveResult
+ - Resolver
+ - ResourceBundle
+ - ResponseCache
+ - ResponseHandler
+ - Result
+ - ResultSet
+ - ResultSetMetaData
+ - Retention
+ - RetentionPolicy
+ - ReverbType
+ - Robot
+ - Role
+ - RoleInfo
+ - RoleInfoNotFoundException
+ - RoleList
+ - RoleNotFoundException
+ - RoleResult
+ - RoleStatus
+ - RoleUnresolved
+ - RoleUnresolvedList
+ - RootPaneContainer
+ - RootPaneUI
+ - RoundRectangle2D
+ - RoundRectangle2D.Double
+ - RoundRectangle2D.Float
+ - RoundingMode
+ - RowMapper
+ - RowSet
+ - RowSetEvent
+ - RowSetInternal
+ - RowSetListener
+ - RowSetMetaData
+ - RowSetMetaDataImpl
+ - RowSetReader
+ - RowSetWarning
+ - RowSetWriter
+ - RuleBasedCollator
+ - RunTime
+ - RunTimeOperations
+ - Runnable
+ - Runtime
+ - RuntimeErrorException
+ - RuntimeException
+ - RuntimeMBeanException
+ - RuntimeMXBean
+ - RuntimeOperationsException
+ - RuntimePermission
+ - SAXException
+ - SAXNotRecognizedException
+ - SAXNotSupportedException
+ - SAXParseException
+ - SAXParser
+ - SAXParserFactory
+ - SAXResult
+ - SAXSource
+ - SAXTransformerFactory
+ - SERVANT_RETENTION_POLICY_ID
+ - SQLData
+ - SQLException
+ - SQLInput
+ - SQLInputImpl
+ - SQLOutput
+ - SQLOutputImpl
+ - SQLPermission
+ - SQLWarning
+ - SSLContext
+ - SSLContextSpi
+ - SSLEngine
+ - SSLEngineResult
+ - SSLEngineResult.HandshakeStatus
+ - SSLEngineResult.Status
+ - SSLException
+ - SSLHandshakeException
+ - SSLKeyException
+ - SSLPeerUnverifiedException
+ - SSLPermission
+ - SSLProtocolException
+ - SSLServerSocket
+ - SSLServerSocketFactory
+ - SSLSession
+ - SSLSessionBindingEvent
+ - SSLSessionBindingListener
+ - SSLSessionContext
+ - SSLSocket
+ - SSLSocketFactory
+ - SUCCESSFUL
+ - SYNC_WITH_TRANSPORT
+ - SYSTEM_EXCEPTION
+ - SampleModel
+ - Sasl
+ - SaslClient
+ - SaslClientFactory
+ - SaslException
+ - SaslServer
+ - SaslServerFactory
+ - Savepoint
+ - Scanner
+ - ScatteringByteChannel
+ - ScheduledExecutorService
+ - ScheduledFuture
+ - ScheduledThreadPoolExecutor
+ - Schema
+ - SchemaFactory
+ - SchemaFactoryLoader
+ - SchemaViolationException
+ - ScrollBarUI
+ - ScrollPane
+ - ScrollPaneAdjustable
+ - ScrollPaneConstants
+ - ScrollPaneLayout
+ - ScrollPaneLayout.UIResource
+ - ScrollPaneUI
+ - Scrollable
+ - Scrollbar
+ - SealedObject
+ - SearchControls
+ - SearchResult
+ - SecretKey
+ - SecretKeyFactory
+ - SecretKeyFactorySpi
+ - SecretKeySpec
+ - SecureCacheResponse
+ - SecureClassLoader
+ - SecureRandom
+ - SecureRandomSpi
+ - Security
+ - SecurityException
+ - SecurityManager
+ - SecurityPermission
+ - Segment
+ - SelectableChannel
+ - SelectionKey
+ - Selector
+ - SelectorProvider
+ - Semaphore
+ - SeparatorUI
+ - Sequence
+ - SequenceInputStream
+ - Sequencer
+ - Sequencer.SyncMode
+ - SerialArray
+ - SerialBlob
+ - SerialClob
+ - SerialDatalink
+ - SerialException
+ - SerialJavaObject
+ - SerialRef
+ - SerialStruct
+ - Serializable
+ - SerializablePermission
+ - Servant
+ - ServantActivator
+ - ServantActivatorHelper
+ - ServantActivatorOperations
+ - ServantActivatorPOA
+ - ServantAlreadyActive
+ - ServantAlreadyActiveHelper
+ - ServantLocator
+ - ServantLocatorHelper
+ - ServantLocatorOperations
+ - ServantLocatorPOA
+ - ServantManager
+ - ServantManagerOperations
+ - ServantNotActive
+ - ServantNotActiveHelper
+ - ServantObject
+ - ServantRetentionPolicy
+ - ServantRetentionPolicyOperations
+ - ServantRetentionPolicyValue
+ - ServerCloneException
+ - ServerError
+ - ServerException
+ - ServerIdHelper
+ - ServerNotActiveException
+ - ServerRef
+ - ServerRequest
+ - ServerRequestInfo
+ - ServerRequestInfoOperations
+ - ServerRequestInterceptor
+ - ServerRequestInterceptorOperations
+ - ServerRuntimeException
+ - ServerSocket
+ - ServerSocketChannel
+ - ServerSocketFactory
+ - ServiceContext
+ - ServiceContextHelper
+ - ServiceContextHolder
+ - ServiceContextListHelper
+ - ServiceContextListHolder
+ - ServiceDetail
+ - ServiceDetailHelper
+ - ServiceIdHelper
+ - ServiceInformation
+ - ServiceInformationHelper
+ - ServiceInformationHolder
+ - ServiceNotFoundException
+ - ServicePermission
+ - ServiceRegistry
+ - ServiceRegistry.Filter
+ - ServiceUI
+ - ServiceUIFactory
+ - ServiceUnavailableException
+ - Set
+ - SetOfIntegerSyntax
+ - SetOverrideType
+ - SetOverrideTypeHelper
+ - Severity
+ - Shape
+ - ShapeGraphicAttribute
+ - SheetCollate
+ - Short
+ - ShortBuffer
+ - ShortBufferException
+ - ShortHolder
+ - ShortLookupTable
+ - ShortMessage
+ - ShortSeqHelper
+ - ShortSeqHolder
+ - Sides
+ - Signature
+ - SignatureException
+ - SignatureSpi
+ - SignedObject
+ - Signer
+ - SimpleAttributeSet
+ - SimpleBeanInfo
+ - SimpleDateFormat
+ - SimpleDoc
+ - SimpleFormatter
+ - SimpleTimeZone
+ - SimpleType
+ - SinglePixelPackedSampleModel
+ - SingleSelectionModel
+ - Size2DSyntax
+ - SizeLimitExceededException
+ - SizeRequirements
+ - SizeSequence
+ - Skeleton
+ - SkeletonMismatchException
+ - SkeletonNotFoundException
+ - SliderUI
+ - Socket
+ - SocketAddress
+ - SocketChannel
+ - SocketException
+ - SocketFactory
+ - SocketHandler
+ - SocketImpl
+ - SocketImplFactory
+ - SocketOptions
+ - SocketPermission
+ - SocketSecurityException
+ - SocketTimeoutException
+ - SoftBevelBorder
+ - SoftReference
+ - SortControl
+ - SortKey
+ - SortResponseControl
+ - SortedMap
+ - SortedSet
+ - SortingFocusTraversalPolicy
+ - Soundbank
+ - SoundbankReader
+ - SoundbankResource
+ - Source
+ - SourceDataLine
+ - SourceLocator
+ - SpinnerDateModel
+ - SpinnerListModel
+ - SpinnerModel
+ - SpinnerNumberModel
+ - SpinnerUI
+ - SplitPaneUI
+ - Spring
+ - SpringLayout
+ - SpringLayout.Constraints
+ - SslRMIClientSocketFactory
+ - SslRMIServerSocketFactory
+ - Stack
+ - StackOverflowError
+ - StackTraceElement
+ - StandardMBean
+ - StartTlsRequest
+ - StartTlsResponse
+ - State
+ - StateEdit
+ - StateEditable
+ - StateFactory
+ - Statement
+ - Statement
+ - StreamCorruptedException
+ - StreamHandler
+ - StreamPrintService
+ - StreamPrintServiceFactory
+ - StreamResult
+ - StreamSource
+ - StreamTokenizer
+ - Streamable
+ - StreamableValue
+ - StrictMath
+ - String
+ - StringBuffer
+ - StringBufferInputStream
+ - StringBuilder
+ - StringCharacterIterator
+ - StringContent
+ - StringHolder
+ - StringIndexOutOfBoundsException
+ - StringMonitor
+ - StringMonitorMBean
+ - StringNameHelper
+ - StringReader
+ - StringRefAddr
+ - StringSelection
+ - StringSeqHelper
+ - StringSeqHolder
+ - StringTokenizer
+ - StringValueExp
+ - StringValueHelper
+ - StringWriter
+ - Stroke
+ - Struct
+ - StructMember
+ - StructMemberHelper
+ - Stub
+ - StubDelegate
+ - StubNotFoundException
+ - Style
+ - StyleConstants
+ - StyleConstants.CharacterConstants
+ - StyleConstants.ColorConstants
+ - StyleConstants.FontConstants
+ - StyleConstants.ParagraphConstants
+ - StyleContext
+ - StyleSheet
+ - StyleSheet.BoxPainter
+ - StyleSheet.ListPainter
+ - StyledDocument
+ - StyledEditorKit
+ - StyledEditorKit.AlignmentAction
+ - StyledEditorKit.BoldAction
+ - StyledEditorKit.FontFamilyAction
+ - StyledEditorKit.FontSizeAction
+ - StyledEditorKit.ForegroundAction
+ - StyledEditorKit.ItalicAction
+ - StyledEditorKit.StyledTextAction
+ - StyledEditorKit.UnderlineAction
+ - Subject
+ - SubjectDelegationPermission
+ - SubjectDomainCombiner
+ - SupportedValuesAttribute
+ - SuppressWarnings
+ - SwingConstants
+ - SwingPropertyChangeSupport
+ - SwingUtilities
+ - SyncFactory
+ - SyncFactoryException
+ - SyncFailedException
+ - SyncProvider
+ - SyncProviderException
+ - SyncResolver
+ - SyncScopeHelper
+ - SynchronousQueue
+ - SynthConstants
+ - SynthContext
+ - SynthGraphicsUtils
+ - SynthLookAndFeel
+ - SynthPainter
+ - SynthStyle
+ - SynthStyleFactory
+ - Synthesizer
+ - SysexMessage
+ - System
+ - SystemColor
+ - SystemException
+ - SystemFlavorMap
+ - TAG_ALTERNATE_IIOP_ADDRESS
+ - TAG_CODE_SETS
+ - TAG_INTERNET_IOP
+ - TAG_JAVA_CODEBASE
+ - TAG_MULTIPLE_COMPONENTS
+ - TAG_ORB_TYPE
+ - TAG_POLICIES
+ - TAG_RMI_CUSTOM_MAX_STREAM_FORMAT
+ - TCKind
+ - THREAD_POLICY_ID
+ - TIMEOUT
+ - TRANSACTION_MODE
+ - TRANSACTION_REQUIRED
+ - TRANSACTION_ROLLEDBACK
+ - TRANSACTION_UNAVAILABLE
+ - TRANSIENT
+ - TRANSPORT_RETRY
+ - TabExpander
+ - TabSet
+ - TabStop
+ - TabableView
+ - TabbedPaneUI
+ - TableCellEditor
+ - TableCellRenderer
+ - TableColumn
+ - TableColumnModel
+ - TableColumnModelEvent
+ - TableColumnModelListener
+ - TableHeaderUI
+ - TableModel
+ - TableModelEvent
+ - TableModelListener
+ - TableUI
+ - TableView
+ - TabularData
+ - TabularDataSupport
+ - TabularType
+ - TagElement
+ - TaggedComponent
+ - TaggedComponentHelper
+ - TaggedComponentHolder
+ - TaggedProfile
+ - TaggedProfileHelper
+ - TaggedProfileHolder
+ - Target
+ - TargetDataLine
+ - TargetedNotification
+ - Templates
+ - TemplatesHandler
+ - Text
+ - TextAction
+ - TextArea
+ - TextAttribute
+ - TextComponent
+ - TextEvent
+ - TextField
+ - TextHitInfo
+ - TextInputCallback
+ - TextLayout
+ - TextLayout.CaretPolicy
+ - TextListener
+ - TextMeasurer
+ - TextOutputCallback
+ - TextSyntax
+ - TextUI
+ - TexturePaint
+ - Thread
+ - Thread.State
+ - Thread.UncaughtExceptionHandler
+ - ThreadDeath
+ - ThreadFactory
+ - ThreadGroup
+ - ThreadInfo
+ - ThreadLocal
+ - ThreadMXBean
+ - ThreadPolicy
+ - ThreadPolicyOperations
+ - ThreadPolicyValue
+ - ThreadPoolExecutor
+ - ThreadPoolExecutor.AbortPolicy
+ - ThreadPoolExecutor.CallerRunsPolicy
+ - ThreadPoolExecutor.DiscardOldestPolicy
+ - ThreadPoolExecutor.DiscardPolicy
+ - Throwable
+ - Tie
+ - TileObserver
+ - Time
+ - TimeLimitExceededException
+ - TimeUnit
+ - TimeZone
+ - TimeoutException
+ - Timer
+ - Timer
+ - Timer
+ - TimerAlarmClockNotification
+ - TimerMBean
+ - TimerNotification
+ - TimerTask
+ - Timestamp
+ - Timestamp
+ - TitledBorder
+ - TooManyListenersException
+ - ToolBarUI
+ - ToolTipManager
+ - ToolTipUI
+ - Toolkit
+ - Track
+ - TransactionRequiredException
+ - TransactionRolledbackException
+ - TransactionService
+ - TransactionalWriter
+ - TransferHandler
+ - Transferable
+ - TransformAttribute
+ - Transformer
+ - TransformerConfigurationException
+ - TransformerException
+ - TransformerFactory
+ - TransformerFactoryConfigurationError
+ - TransformerHandler
+ - Transmitter
+ - Transparency
+ - TreeCellEditor
+ - TreeCellRenderer
+ - TreeExpansionEvent
+ - TreeExpansionListener
+ - TreeMap
+ - TreeModel
+ - TreeModelEvent
+ - TreeModelListener
+ - TreeNode
+ - TreePath
+ - TreeSelectionEvent
+ - TreeSelectionListener
+ - TreeSelectionModel
+ - TreeSet
+ - TreeUI
+ - TreeWillExpandListener
+ - TrustAnchor
+ - TrustManager
+ - TrustManagerFactory
+ - TrustManagerFactorySpi
+ - Type
+ - TypeCode
+ - TypeCodeHolder
+ - TypeInfo
+ - TypeInfoProvider
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatch
+ - TypeMismatchHelper
+ - TypeMismatchHelper
+ - TypeNotPresentException
+ - TypeVariable
+ - Types
+ - UID
+ - UIDefaults
+ - UIDefaults.ActiveValue
+ - UIDefaults.LazyInputMap
+ - UIDefaults.LazyValue
+ - UIDefaults.ProxyLazyValue
+ - UIManager
+ - UIManager.LookAndFeelInfo
+ - UIResource
+ - ULongLongSeqHelper
+ - ULongLongSeqHolder
+ - ULongSeqHelper
+ - ULongSeqHolder
+ - UNKNOWN
+ - UNKNOWN
+ - UNSUPPORTED_POLICY
+ - UNSUPPORTED_POLICY_VALUE
+ - URI
+ - URIException
+ - URIResolver
+ - URISyntax
+ - URISyntaxException
+ - URL
+ - URLClassLoader
+ - URLConnection
+ - URLDecoder
+ - URLEncoder
+ - URLStreamHandler
+ - URLStreamHandlerFactory
+ - URLStringHelper
+ - USER_EXCEPTION
+ - UShortSeqHelper
+ - UShortSeqHolder
+ - UTFDataFormatException
+ - UUID
+ - UndeclaredThrowableException
+ - UndoManager
+ - UndoableEdit
+ - UndoableEditEvent
+ - UndoableEditListener
+ - UndoableEditSupport
+ - UnexpectedException
+ - UnicastRemoteObject
+ - UnionMember
+ - UnionMemberHelper
+ - UnknownEncoding
+ - UnknownEncodingHelper
+ - UnknownError
+ - UnknownException
+ - UnknownFormatConversionException
+ - UnknownFormatFlagsException
+ - UnknownGroupException
+ - UnknownHostException
+ - UnknownHostException
+ - UnknownObjectException
+ - UnknownServiceException
+ - UnknownUserException
+ - UnknownUserExceptionHelper
+ - UnknownUserExceptionHolder
+ - UnmappableCharacterException
+ - UnmarshalException
+ - UnmodifiableClassException
+ - UnmodifiableSetException
+ - UnrecoverableEntryException
+ - UnrecoverableKeyException
+ - Unreferenced
+ - UnresolvedAddressException
+ - UnresolvedPermission
+ - UnsatisfiedLinkError
+ - UnsolicitedNotification
+ - UnsolicitedNotificationEvent
+ - UnsolicitedNotificationListener
+ - UnsupportedAddressTypeException
+ - UnsupportedAudioFileException
+ - UnsupportedCallbackException
+ - UnsupportedCharsetException
+ - UnsupportedClassVersionError
+ - UnsupportedEncodingException
+ - UnsupportedFlavorException
+ - UnsupportedLookAndFeelException
+ - UnsupportedOperationException
+ - UserDataHandler
+ - UserException
+ - Util
+ - UtilDelegate
+ - Utilities
+ - VMID
+ - VM_ABSTRACT
+ - VM_CUSTOM
+ - VM_NONE
+ - VM_TRUNCATABLE
+ - Validator
+ - ValidatorHandler
+ - ValueBase
+ - ValueBaseHelper
+ - ValueBaseHolder
+ - ValueExp
+ - ValueFactory
+ - ValueHandler
+ - ValueHandlerMultiFormat
+ - ValueInputStream
+ - ValueMember
+ - ValueMemberHelper
+ - ValueOutputStream
+ - VariableHeightLayoutCache
+ - Vector
+ - VerifyError
+ - VersionSpecHelper
+ - VetoableChangeListener
+ - VetoableChangeListenerProxy
+ - VetoableChangeSupport
+ - View
+ - ViewFactory
+ - ViewportLayout
+ - ViewportUI
+ - VirtualMachineError
+ - Visibility
+ - VisibilityHelper
+ - VoiceStatus
+ - Void
+ - VolatileImage
+ - WCharSeqHelper
+ - WCharSeqHolder
+ - WStringSeqHelper
+ - WStringSeqHolder
+ - WStringValueHelper
+ - WeakHashMap
+ - WeakReference
+ - WebRowSet
+ - WildcardType
+ - Window
+ - WindowAdapter
+ - WindowConstants
+ - WindowEvent
+ - WindowFocusListener
+ - WindowListener
+ - WindowStateListener
+ - WrappedPlainView
+ - WritableByteChannel
+ - WritableRaster
+ - WritableRenderedImage
+ - WriteAbortedException
+ - Writer
+ - WrongAdapter
+ - WrongAdapterHelper
+ - WrongPolicy
+ - WrongPolicyHelper
+ - WrongTransaction
+ - WrongTransactionHelper
+ - WrongTransactionHolder
+ - X500Principal
+ - X500PrivateCredential
+ - X509CRL
+ - X509CRLEntry
+ - X509CRLSelector
+ - X509CertSelector
+ - X509Certificate
+ - X509Certificate
+ - X509EncodedKeySpec
+ - X509ExtendedKeyManager
+ - X509Extension
+ - X509KeyManager
+ - X509TrustManager
+ - XAConnection
+ - XADataSource
+ - XAException
+ - XAResource
+ - XMLConstants
+ - XMLDecoder
+ - XMLEncoder
+ - XMLFilter
+ - XMLFilterImpl
+ - XMLFormatter
+ - XMLGregorianCalendar
+ - XMLParseException
+ - XMLReader
+ - XMLReaderAdapter
+ - XMLReaderFactory
+ - XPath
+ - XPathConstants
+ - XPathException
+ - XPathExpression
+ - XPathExpressionException
+ - XPathFactory
+ - XPathFactoryConfigurationException
+ - XPathFunction
+ - XPathFunctionException
+ - XPathFunctionResolver
+ - XPathVariableResolver
+ - Xid
+ - XmlReader
+ - XmlWriter
+ - ZipEntry
+ - ZipException
+ - ZipFile
+ - ZipInputStream
+ - ZipOutputStream
+ - ZoneView
+ - _BindingIteratorImplBase
+ - _BindingIteratorStub
+ - _DynAnyFactoryStub
+ - _DynAnyStub
+ - _DynArrayStub
+ - _DynEnumStub
+ - _DynFixedStub
+ - _DynSequenceStub
+ - _DynStructStub
+ - _DynUnionStub
+ - _DynValueStub
+ - _IDLTypeStub
+ - _NamingContextExtStub
+ - _NamingContextImplBase
+ - _NamingContextStub
+ - _PolicyStub
+ - _Remote_Stub
+ - _ServantActivatorStub
+ - _ServantLocatorStub
+
+
+ - abstract
+ - case
+ - catch
+ - class
+ - def
+ - do
+ - else
+ - extends
+ - false
+ - final
+ - finally
+ - for
+ - forSome
+ - if
+ - implicit
+ - import
+ - lazy
+ - match
+ - new
+ - null
+ - object
+ - override
+ - package
+ - private
+ - protected
+ - requires
+ - return
+ - sealed
+ - super
+ - this
+ - throw
+ - trait
+ - true
+ - try
+ - type
+ - val
+ - var
+ - while
+ - with
+ - yield
+
+
+ - boolean
+ - byte
+ - char
+ - double
+ - float
+ - int
+ - long
+ - short
+ - unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/scheme.xml b/data/syntax/scheme.xml
new file mode 100644
index 0000000..3947312
--- /dev/null
+++ b/data/syntax/scheme.xml
@@ -0,0 +1,436 @@
+
+
+
+
+
+
+ - <=
+ - <
+ - =
+ - =>
+ - >=
+ - >
+ - -
+ - /
+ - *,*
+ - *)
+ - +
+
+
+ - #\nul
+ - #\soh
+ - #\stx
+ - #\etx
+ - #\eot
+ - #\enq
+ - #\ack
+ - #\bel
+ - #\bs
+ - #\ht
+ - #\nl
+ - #\vt
+ - #\np
+ - #\cr
+ - #\so
+ - #\si
+ - #\dle
+ - #\dc1
+ - #\dc2
+ - #\dc3
+ - #\dc4
+ - #\nak
+ - #\syn
+ - #\etb
+ - #\can
+ - #\em
+ - #\sub
+ - #\esc
+ - #\fs
+ - #\gs
+ - #\rs
+ - #\us
+ - #\space
+ - #\sp
+ - #\newline
+ - #\nl
+ - #\tab
+ - #\ht
+ - #\backspace
+ - #\bs
+ - #\return
+ - #\cr
+ - #\page
+ - #\np
+ - #\null
+ - #\nul
+
+
+ - define
+ - define*
+ - define-accessor
+ - define-class
+ - defined?
+ - define-generic
+ - define-macro
+ - define-method
+ - define-module
+ - define-private
+ - define-public
+ - define*-public
+ - define-reader-ctor
+ - define-syntax
+ - define-syntax-macro
+ - defmacro
+ - defmacro*
+ - defmacro*-public
+
+
+ - abs
+ - acos
+ - and
+ - angle
+ - append
+ - applymap
+ - asin
+ - assoc
+ - assq
+ - assv
+ - atan
+ - begin
+ - boolean?
+ - break
+ - caaaar
+ - caaadr
+ - caaar
+ - caadar
+ - caaddr
+ - caadr
+ - caar
+ - cadaar
+ - cadadr
+ - cadar
+ - caddar
+ - cadddr
+ - caddr
+ - cadr
+ - call/cc
+ - call-with-current-continuation
+ - call-with-input-file
+ - call-with-output-file
+ - call-with-values
+ - car
+ - case
+ - catch
+ - cdaaar
+ - cdaadr
+ - cdaar
+ - cdadar
+ - cdaddr
+ - cdadr
+ - cdar
+ - cddaar
+ - cddadr
+ - cddar
+ - cdddar
+ - cddddr
+ - cdddr
+ - cddr
+ - cdr
+ - ceiling
+ - char-alphabetic?
+ - char-ci>=?
+ - char-ci>?
+ - char-ci=?
+ - char-ci<=?
+ - char-downcase
+ - char->integer
+ - char>=?
+ - char>?
+ - char=?
+ - char?
+ - char-lower-case?
+ - char<?c
+ - char<=?
+ - char-numeric?
+ - char-ready?
+ - char-upcase
+ - char-upper-case?
+ - char-whitespace?
+ - close-input-port
+ - close-output-port
+ - complex?
+ - cond
+ - cons
+ - continue
+ - cos
+ - current-input-port
+ - current-output-port
+ - denominator
+ - display
+ - do
+ - dynamic-wind
+ - else
+ - eof-object?
+ - eq?
+ - equal?
+ - eqv?
+ - eval
+ - even?
+ - exact->inexact
+ - exact?
+ - exp
+ - expt
+ - floor
+ - force
+ - for-each
+ - gcd
+ - har-ci<?
+ - if
+ - imag-part
+ - inexact->exact
+ - inexact?
+ - input-port?
+ - integer->char
+ - integer?
+ - interaction-environment
+ - lambda
+ - lcm
+ - length
+ - let
+ - let*
+ - letrec
+ - letrec-syntax
+ - let-syntax
+ - list->string
+ - list
+ - list?
+ - list-ref
+ - list-tail
+ - load
+ - log
+ - magnitude
+ - make-polar
+ - make-rectangular
+ - make-string
+ - make-vector
+ - max
+ - member
+ - memq
+ - memv
+ - min
+ - modulo
+ - negative?
+ - newline
+ - not
+ - null-environment
+ - null?
+ - number?
+ - number->string
+ - numerator
+ - odd?
+ - open-input-file
+ - open-output-file
+ - or
+ - output-port?
+ - pair?
+ - peek-char
+ - port?
+ - positive?
+ - procedure?
+ - quotient
+ - rational?
+ - rationalize
+ - read-char
+ - read
+ - real?
+ - real-part
+ - remainder
+ - reverse
+ - round
+ - scheme-report-environment
+ - set-car!
+ - set-cdr!
+ - sin
+ - sqrt
+ - string-append
+ - string-ci>=?
+ - string-ci>?
+ - string-ci=?
+ - string-ci<=?
+ - string-ci<?
+ - string-copy
+ - string-fill!
+ - string>=?
+ - string>?
+ - string->list
+ - string->number
+ - string->symbol
+ - string=?
+ - string
+ - string?
+ - string-length
+ - string<=?
+ - string<?
+ - string-ref
+ - string-set!
+ - substring
+ - symbol->string
+ - symbol?
+ - syntax-rules
+ - tan
+ - transcript-off
+ - transcript-on
+ - truncate
+ - values
+ - vector-fill!
+ - vector->listlist->vector
+ - vector
+ - vector?
+ - vector-length
+ - vector-ref
+ - vector-set!
+ - while
+ - with-input-from-file
+ - with-output-to-file
+ - write-char
+ - write
+ - zero?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sci.xml b/data/syntax/sci.xml
new file mode 100644
index 0000000..e2dad6c
--- /dev/null
+++ b/data/syntax/sci.xml
@@ -0,0 +1,1191 @@
+
+
+
+
+
+ - do
+ - else
+ - for
+ - if
+ - elseif
+ - end
+ - select
+ - then
+ - while
+
+
+ - abort
+ - break
+ - quit
+ - return
+ - resume
+ - pause
+
+
+ - function
+ - endfunction
+
+
+ - error
+ - warning
+
+
+ - %F
+ - %f
+ - %T
+ - %t
+ - %e
+ - %pi
+ - %inf
+ - %i
+ - %z
+ - %io
+ - %s
+ - %nan
+ - $
+ - %eps
+ - MSDOS
+
+
+ - zpell
+ - zpch2
+ - zpch1
+ - zpbutt
+ - zgrid
+ - zeros
+ - zeropen
+ - ZCROSS_f
+ - yulewalk
+ - xtitle
+ - xtape
+ - xstringl
+ - xstringb
+ - xstring
+ - xsetm
+ - xsetech
+ - xset
+ - xselect
+ - xsegs
+ - xsave
+ - xs2fig
+ - xrpoly
+ - xrects
+ - xrect
+ - xpolys
+ - xpoly
+ - xpause
+ - xnumb
+ - xname
+ - x_message_modeless
+ - x_message
+ - x_mdialog
+ - x_matrix
+ - xload
+ - xlfont
+ - xinit
+ - xinfo
+ - xgrid
+ - xgraduate
+ - xgetmouse
+ - xgetfile
+ - xgetech
+ - xget
+ - xfrect
+ - xfpolys
+ - xfpoly
+ - xfarcs
+ - xfarc
+ - xend
+ - x_dialog
+ - xdel
+ - xclip
+ - xclick
+ - xclear
+ - xclea
+ - x_choose
+ - x_choices
+ - xchange
+ - xbasr
+ - xbasimp
+ - xbasc
+ - xaxis
+ - xarrows
+ - xarcs
+ - xarc
+ - WRITEC_f
+ - write4b
+ - write
+ - writb
+ - winsid
+ - window
+ - wigner
+ - wiener
+ - whos
+ - who
+ - whereis
+ - whereami
+ - where
+ - what
+ - wfir
+ - WFILE_f
+ - wavwrite
+ - wavread
+ - warning
+ - WaitMsg
+ - varn
+ - varargout
+ - varargin
+ - user
+ - unsetmenu
+ - unobs
+ - unix_x
+ - unix_w
+ - unix_s
+ - unix_g
+ - unix
+ - unique
+ - union
+ - ulink
+ - ui_observer
+ - uint8
+ - uint32
+ - uint16
+ - uimenu
+ - uicontrol
+ - typeof
+ - typename
+ - type
+ - trzeros
+ - triu
+ - trisolve
+ - tril
+ - trianfml
+ - trfmod
+ - TRASH_f
+ - translatepaths
+ - trans_closure
+ - trans
+ - trace
+ - toeplitz
+ - tlist
+ - TK_SetVar
+ - TK_GetVar
+ - TK_EvalStr
+ - TK_EvalFile
+ - titlepage
+ - timer
+ - time_id
+ - TIME_f
+ - tilda
+ - tf2ss
+ - tf2des
+ - TEXT_f
+ - texprint
+ - testmatrix
+ - tdinit
+ - TCLSS_f
+ - tanm
+ - tanhm
+ - tanh
+ - tangent
+ - TANBLK_f
+ - tan
+ - systmat
+ - systems
+ - system
+ - syssize
+ - syslin
+ - sysfact-
+ - sysdiag
+ - sysconv
+ - symbols
+ - sylv
+ - sylm
+ - svplot
+ - svd
+ - sva
+ - supernode
+ - SUPER_f
+ - sum
+ - successors
+ - subplot
+ - subgraph
+ - subf
+ - strsubst
+ - strong_con_nodes
+ - strong_connex
+ - stripblanks
+ - strings
+ - string
+ - strindex
+ - strcat
+ - str2code
+ - STOP_f
+ - st_ility
+ - st_deviation
+ - startup
+ - star
+ - standard_output
+ - standard_origin
+ - standard_input
+ - standard_draw
+ - standard_define
+ - stacksize
+ - stabil
+ - ssrand
+ - ssprint
+ - sskf
+ - sscanf
+ - ss2tf
+ - ss2ss
+ - ss2des
+ - srkf
+ - srfaur
+ - squarewave
+ - square
+ - sqrtm
+ - sqrt
+ - sqroot
+ - spzeros
+ - sprintf
+ - sprand
+ - spones
+ - SPLIT_f
+ - split_edge
+ - splin
+ - spget
+ - speye
+ - specfact
+ - spec
+ - spcompack
+ - spchol
+ - sparse
+ - spantwo
+ - spanplus
+ - spaninter
+ - sp2adj
+ - sound
+ - sort
+ - SOM_f
+ - solve
+ - %sn
+ - smooth
+ - sm2ss
+ - sm2des
+ - slash
+ - size
+ - sinm
+ - sinhm
+ - sinh
+ - sincd
+ - sinc
+ - SINBLK_f
+ - sin
+ - simp_mode
+ - simp
+ - signm
+ - sign
+ - showprofile
+ - show_nodes
+ - show_graph
+ - show_arcs
+ - shortest_path
+ - sgrid
+ - Sgrayplot
+ - Sfgrayplot
+ - sfact
+ - setscicosvars
+ - setmenu
+ - setfield
+ - setbpt
+ - set
+ - sensi
+ - SendMsg
+ - semidef
+ - semicolumn
+ - semi
+ - SELECT_f
+ - secto3d
+ - sd2sci
+ - SCOPXY_f
+ - SCOPE_f
+ - scilink
+ - ScilabEval
+ - scilab
+ - scifunc_block
+ - scicos_model
+ - scicos_menus
+ - scicos_main
+ - scicos_link
+ - scicosim
+ - scicos_graphics
+ - scicos_cpr
+ - scicos_block
+ - scicos
+ - sciargs
+ - sci2map
+ - sci2for
+ - sci2exp
+ - schur
+ - scanf_conversion
+ - scanf
+ - scaling
+ - SAWTOOTH_f
+ - savewave
+ - save_graph
+ - save
+ - SAT_f
+ - SAMPLEHOLD_f
+ - salesman
+ - rtitr
+ - rref
+ - rpem
+ - rowshuff
+ - rowregul
+ - rowinout
+ - rowcompr
+ - rowcomp
+ - routh_t
+ - round
+ - rotate
+ - roots
+ - rlist
+ - ric_desc
+ - riccati
+ - ricc
+ - RFILE_f
+ - residu
+ - replot
+ - repfreq
+ - remezb
+ - remez
+ - RELAY_f
+ - reglin
+ - REGISTER_f
+ - recur
+ - real
+ - readmps
+ - READC_f
+ - readc_
+ - readb
+ - read4b
+ - read
+ - rdivf
+ - rcond
+ - rational
+ - rat
+ - rank
+ - range
+ - randpencil
+ - RAND_f
+ - rand
+ - quote
+ - quit
+ - quaskro
+ - quapro
+ - QUANT_f
+ - qr
+ - qassign
+ - pwd
+ - pvm_tidtohost
+ - pvm_start
+ - pvm_spawn_independent
+ - pvm_spawn
+ - pvm_set_timer
+ - pvm_send
+ - pvm_sci2f77
+ - pvm_reduce
+ - pvm_recv
+ - pvm_probe
+ - pvm_mytid
+ - pvm_lvgroup
+ - pvm_kill
+ - pvm_joingroup
+ - pvm_halt
+ - pvm_gsize
+ - pvm_get_timer
+ - pvm_getinst
+ - pvm_exit
+ - pvm_error
+ - pvm_delhosts
+ - pvmd3
+ - pvm_config
+ - pvm_bufinfo
+ - pvm_bcast
+ - pvm_addhosts
+ - pvm
+ - pspect
+ - psmall
+ - projspec
+ - projsl
+ - proj
+ - profile
+ - PROD_f
+ - prod
+ - printing
+ - printf_conversion
+ - printf
+ - print
+ - predef
+ - predecessors
+ - prbs_a
+ - ppol
+ - power
+ - POWBLK_f
+ - POSTONEG_f
+ - portrait
+ - portr3d
+ - poly
+ - polfact
+ - polarplot
+ - polar
+ - pol2tex
+ - pol2str
+ - pol2des
+ - pmodulo
+ - p_margin
+ - plzr
+ - plus
+ - plotprofile
+ - plot_graph
+ - plotframe
+ - plot3d3
+ - plot3d2
+ - plot3d1
+ - plot3d
+ - plot2d4
+ - plot2d3
+ - plot2d2
+ - plot2d1
+ - plot2d
+ - plot
+ - playsnd
+ - pipe_network
+ - pinv
+ - phc
+ - phasemag
+ - pfss
+ - pertrans
+ - perfect_match
+ - percent
+ - penlaur
+ - pencan
+ - pen2ea
+ - pdiv
+ - pbig
+ - path_2_nodes
+ - part
+ - parrot
+ - parents
+ - paramfplot2d
+ - param3d1
+ - param3d
+ - overloading
+ - OUT_f
+ - orth
+ - or
+ - optim
+ - ones
+ - oldsave
+ - oldload
+ - ode_root
+ - odeoptions
+ - ode_discrete
+ - odedi
+ - odedc
+ - ode
+ - obsvss
+ - obsv_mat
+ - obs_gram
+ - observer
+ - obscont1
+ - obscont
+ - nyquist
+ - numer
+ - null
+ - not
+ - norm
+ - noisegen
+ - nodes_degrees
+ - nodes_2_path
+ - node_number
+ - nnz
+ - nlev
+ - nf3d
+ - newfun
+ - newest
+ - netwindows
+ - netwindow
+ - netclose
+ - neighbors
+ - nehari
+ - NEGTOPOS_f
+ - narsimul
+ - names
+ - MUX_f
+ - mulf
+ - mu2lin
+ - mtlb_sparse
+ - mtlb_save
+ - mtlb_mode
+ - mtlb_load
+ - mtell
+ - msscanf
+ - msprintf
+ - mseek
+ - mscanf
+ - mrfit
+ - mputstr
+ - mputl
+ - mput
+ - mps2linpro
+ - mprintf
+ - mopen
+ - modulo
+ - mode
+ - mlist
+ - min_weight_tree
+ - minus
+ - minss
+ - minreal
+ - min_qcost_flow
+ - min_lcost_flow2
+ - min_lcost_flow1
+ - min_lcost_cflow
+ - mini
+ - MIN_f
+ - mine
+ - min
+ - milk_drop
+ - mgetstr
+ - mgetl
+ - mgeti
+ - mget
+ - mfscanf
+ - mfprintf
+ - mfile2sci
+ - mfft
+ - MFCLCK_f
+ - metanet_sync
+ - metanet
+ - mesh2d
+ - mese
+ - meof
+ - median
+ - mean
+ - mclose
+ - MCLOCK_f
+ - mclearerr
+ - m_circle
+ - maxi
+ - max_flow
+ - MAX_f
+ - max_clique
+ - max_cap_path
+ - max
+ - matrix
+ - matrices
+ - Matplot1
+ - Matplot
+ - mat_2_graph
+ - markp2ss
+ - mapsound
+ - manedit
+ - man
+ - make_graph
+ - macrovar
+ - macro
+ - macr2lst
+ - macglov
+ - lyap
+ - lusolve
+ - luget
+ - lufact
+ - ludel
+ - lu
+ - ltitr
+ - lstcat
+ - lsslist
+ - lqr
+ - lqg_ltr
+ - lqg2stan
+ - lqg
+ - lqe
+ - lotest
+ - LOOKUP_f
+ - logspace
+ - logm
+ - LOGBLK_f
+ - log2
+ - log10
+ - log
+ - locate
+ - loadwave
+ - load_graph
+ - load
+ - lmitool
+ - lmisolver
+ - list
+ - linspace
+ - linsolve
+ - linpro
+ - link
+ - linfn
+ - linf
+ - lines
+ - line_graph
+ - lindquist
+ - lin2mu
+ - lin
+ - lib
+ - lgfft
+ - lft
+ - lex_sort
+ - levin
+ - lev
+ - less
+ - leqr
+ - length
+ - legends
+ - left
+ - leastsq
+ - ldivf
+ - ldiv
+ - lcmdiag
+ - lcm
+ - lcf
+ - lattp
+ - lattn
+ - lasterror
+ - kroneck
+ - kron
+ - krac2
+ - kpure
+ - knapsack
+ - keyboard
+ - kernel
+ - karmarkar
+ - kalm
+ - %k
+ - jmat
+ - isreal
+ - isoview
+ - isnan
+ - isinf
+ - isglobal
+ - iserror
+ - isdef
+ - is_connex
+ - invsyslin
+ - invr
+ - inv_coeff
+ - INVBLK_f
+ - inv
+ - inttype
+ - inttrap
+ - intsplin
+ - INTRPLBLK_f
+ - INTRP2BLK_f
+ - intppty
+ - intl
+ - intg
+ - intersect
+ - intersci
+ - interpln
+ - interp
+ - integrate
+ - INTEGRAL_f
+ - intdec
+ - intc
+ - int8
+ - int3d
+ - int32
+ - int2d
+ - int16
+ - int
+ - insertion
+ - input
+ - IN_f
+ - imrep2ss
+ - impl
+ - im_inv
+ - imag
+ - ilib_gen_Make
+ - ilib_gen_loader
+ - ilib_gen_gateway
+ - ilib_for_link
+ - ilib_compile
+ - ilib_build
+ - iirlp
+ - iirgroup
+ - iir
+ - IFTHEL_f
+ - ieee
+ - iconvert
+ - hypermatrices
+ - hypermat
+ - htrianr
+ - hrmt
+ - householder
+ - hotcolormap
+ - host
+ - horner
+ - h_norm
+ - histplot
+ - hist3d
+ - h_inf_st
+ - h_inf
+ - hilb
+ - hex2dec
+ - hess
+ - hermit
+ - %helps
+ - help
+ - h_cl
+ - havewindow
+ - hat
+ - hankelsv
+ - hank
+ - hamilton
+ - HALT_f
+ - halt
+ - h2norm
+ - gtild
+ - gstacksize
+ - gspec
+ - gsort
+ - gschur
+ - group
+ - gr_menu
+ - grep
+ - graypolarplot
+ - grayplot
+ - graycolormap
+ - graph_union
+ - graph_sum
+ - graph_simp
+ - graph_power
+ - graph-list
+ - Graphics
+ - graph_diameter
+ - graph_complement
+ - graph_center
+ - graph_2_mat
+ - grand
+ - graduate
+ - gpeche
+ - g_margin
+ - G_make
+ - global
+ - glist
+ - glever
+ - givens
+ - girth
+ - gfrancis
+ - gfare
+ - getversion
+ - getvalue
+ - getsymbol
+ - getscicosvars
+ - getpid
+ - GetMsg
+ - getmark
+ - getlinestyle
+ - getio
+ - get_function_path
+ - getfont
+ - getfield
+ - getf
+ - getenv
+ - getdate
+ - getd
+ - getcwd
+ - getcolor
+ - getblocklabel
+ - get
+ - geom3d
+ - GENSQR_f
+ - GENSIN_f
+ - gen_net
+ - genmarkov
+ - genlib
+ - genfac3d
+ - GENERIC_f
+ - GENERAL_f
+ - gcf
+ - gcd
+ - gcare
+ - gammaln
+ - gamma
+ - gamitg
+ - gainplot
+ - GAIN_f
+ - GAINBLK_f
+ - fusee
+ - funptr
+ - funcprot
+ - fun2string
+ - fullrfk
+ - fullrf
+ - full
+ - fstair
+ - fstabst
+ - fspecg
+ - fsolve
+ - fsfirlin
+ - fscanfMat
+ - fscanf
+ - frmag
+ - frfit
+ - frexp
+ - freson
+ - freq
+ - frep2tf
+ - fprintfMat
+ - fprintf
+ - fplot3d1
+ - fplot3d
+ - fplot2d
+ - fourplan
+ - fort
+ - formatman
+ - format
+ - flts
+ - floor
+ - fix
+ - fit_dat
+ - find_path
+ - findobj
+ - findm
+ - find_freq
+ - find
+ - filter
+ - fileinfo
+ - file
+ - figure
+ - fgrayplot
+ - fft
+ - ffilt
+ - feval
+ - feedback
+ - fec
+ - fcontour2d
+ - fcontour
+ - fchamp
+ - faurre
+ - factors
+ - fac3d
+ - eye
+ - extraction
+ - external
+ - expm
+ - EXPBLK_f
+ - exp
+ - exit
+ - exists
+ - execstr
+ - ExecScilab
+ - ExeclScilab
+ - ExecAppli
+ - exec
+ - excel2sci
+ - Example
+ - EVTGEN_f
+ - EVTDLY_f
+ - evstr
+ - EVENTSCOPE_f
+ - evans
+ - eval3dp
+ - eval3d
+ - eval
+ - error
+ - errclear
+ - errcatch
+ - errbar
+ - erfcx
+ - erfc
+ - erf
+ - ereduc
+ - equil1
+ - equil
+ - equal
+ - eqiir
+ - eqfir
+ - emptystr
+ - empty
+ - ell1mag
+ - eigenmarkov
+ - edit_curv
+ - edit
+ - edge_number
+ - dtsi
+ - dt_ility
+ - dsimul
+ - dscr
+ - driver
+ - drawaxis
+ - dragrect
+ - double
+ - dot
+ - DLSS_f
+ - DLR_f
+ - DLRADAPT_f
+ - dlgamma
+ - dispfile
+ - dispbpt
+ - disp
+ - diophant
+ - diary
+ - diag
+ - dhnorm
+ - dft
+ - detr
+ - determ
+ - det
+ - DestroyLink
+ - des2tf
+ - des2ss
+ - derivative-
+ - derivat
+ - denom
+ - DEMUX_f
+ - demos
+ - delmenu
+ - delip
+ - delete_nodes
+ - delete_arcs
+ - delbpt
+ - DELAYV_f
+ - DELAY_f
+ - degree
+ - deff
+ - dec2hex
+ - debug
+ - ddp
+ - dcf
+ - dbphi
+ - date
+ - datafit
+ - dassl
+ - dasrt
+ - czt
+ - cycle_basis
+ - CURV_f
+ - curblock
+ - cumsum
+ - cumprod
+ - ctr_gram
+ - cspect
+ - csim
+ - CreateLink
+ - cothm
+ - coth
+ - cotg
+ - cosm
+ - coshm
+ - cosh
+ - COSBLK_f
+ - cos
+ - corr
+ - copfac
+ - convstr
+ - convol
+ - convex_hull
+ - contrss
+ - contract_edge
+ - contr
+ - contourf
+ - contour2di
+ - contour2d
+ - contour
+ - cont_mat
+ - cont_frm
+ - CONST_f
+ - con_nodes
+ - connex
+ - conj
+ - cond
+ - companion
+ - comp
+ - Communications
+ - colregul
+ - colormap
+ - colon
+ - colnew
+ - colinout
+ - colcompr
+ - colcomp
+ - coffg
+ - coff
+ - coeff
+ - code2str
+ - cmndred
+ - cmb_lin
+ - CLSS_f
+ - cls2dls
+ - CLR_f
+ - close
+ - CLOCK_f
+ - CLKSPLIT_f
+ - CLKSOMV_f
+ - CLKSOM_f
+ - CLKOUTV_f
+ - CLKOUT_f
+ - CLKINV_f
+ - CLKIN_f
+ - c_link
+ - CLINDUMMY_f
+ - clearglobal
+ - clearfun
+ - clear
+ - clean
+ - classmarkov
+ - circuit
+ - chsolve
+ - chol
+ - chfact
+ - chepol
+ - check_graph
+ - cheb2mag
+ - cheb1mag
+ - chdir
+ - chart
+ - champ1
+ - champ
+ - chaintest
+ - chain_struct
+ - cepstrum
+ - ceil
+ - cdft
+ - cdfpoi
+ - cdfnor
+ - cdfnbn
+ - cdfgam
+ - cdffnc
+ - cdff
+ - cdfchn
+ - cdfchi
+ - cdfbin
+ - cdfbet
+ - ccontrg
+ - casc
+ - canon
+ - call
+ - calfrq
+ - calerf
+ - cainv
+ - bvode
+ - buttmag
+ - bstap
+ - boucle
+ - boolean
+ - bool2s
+ - bode
+ - bloc2ss
+ - bloc2exp
+ - black
+ - binomial
+ - bilin
+ - BIGSOM_f
+ - bifish
+ - bezout
+ - best_match
+ - bessely
+ - besselk
+ - besselj
+ - besseli
+ - bdiag
+ - bandwr
+ - balreal
+ - balanc
+ - backslash
+ - auwrite
+ - auread
+ - augment
+ - atanm
+ - atanhm
+ - atanh
+ - atan
+ - %asn
+ - asinm
+ - asinhm
+ - asinh
+ - asin
+ - ascii
+ - articul
+ - artest
+ - arsimul
+ - armax1
+ - armax
+ - armac
+ - arma2p
+ - arma
+ - arl2
+ - arhnk
+ - argn
+ - arc_number
+ - arc_graph
+ - apropos
+ - ans
+ - ANIMXY_f
+ - ANDLOG_f
+ - and
+ - analyze
+ - analpf
+ - amell
+ - alufunctions
+ - AFFICH_f
+ - aff2ab
+ - adj_lists
+ - adj2sp
+ - add_node
+ - addmenu
+ - addinter
+ - addf
+ - add_edge
+ - addcolor
+ - AdCommunications
+ - acosm
+ - acoshm
+ - acosh
+ - acos
+ - ABSBLK_f
+ - abs
+ - abinv
+ - abcd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/scss.xml b/data/syntax/scss.xml
new file mode 100644
index 0000000..4ba6a4f
--- /dev/null
+++ b/data/syntax/scss.xml
@@ -0,0 +1,1139 @@
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+ - azimuth
+ - align-content
+ - align-items
+ - align-self
+ - alignment-baseline
+ - all
+ - animation-name
+ - animation-duration
+ - animation-iteration-count
+ - animation-direction
+ - animation-delay
+ - animation-play-state
+ - animation-fill-mode
+ - animation-timing-function
+ - backface-visibility
+ - background
+ - background-attachment
+ - background-blend-mode
+ - background-break
+ - background-clip
+ - background-color
+ - background-image
+ - background-origin
+ - background-position
+ - background-repeat
+ - background-size
+ - baseline-shift
+ - bookmark-label
+ - bookmark-level
+ - bookmark-level
+ - border
+ - border-bottom
+ - border-bottom-color
+ - border-bottom-image
+ - border-bottom-style
+ - border-bottom-width
+ - border-bottom-left-image
+ - border-bottom-left-radius
+ - border-bottom-right-image
+ - border-bottom-right-radius
+ - border-boundary
+ - border-collapse
+ - border-color
+ - border-corner-image
+ - border-image
+ - border-image-outset
+ - border-image-repeat
+ - border-image-slice
+ - border-image-source
+ - border-image-width
+ - border-left
+ - border-left-color
+ - border-left-image
+ - border-left-style
+ - border-left-width
+ - border-radius
+ - border-right
+ - border-right-color
+ - border-right-image
+ - border-right-style
+ - border-right-width
+ - border-spacing
+ - border-style
+ - border-top
+ - border-top-color
+ - border-top-image
+ - border-top-style
+ - border-top-width
+ - border-top-left-image
+ - border-top-left-radius
+ - border-top-right-image
+ - border-top-right-radius
+ - border-width
+ - bottom
+ - box-align
+ - box-decoration-break
+ - box-direction
+ - box-flex
+ - box-shadow
+ - box-sizing
+ - box-snap
+ - box-suppress
+ - break-after
+ - break-before
+ - break-inside
+ - caret-color
+ - caption-side
+ - chains
+ - clear
+ - clip
+ - clip-path
+ - clip-rule
+ - color
+ - color-interpolation-filters
+ - column-count
+ - column-fill
+ - column-gap
+ - column-rule
+ - column-rule-color
+ - column-rule-style
+ - column-rule-width
+ - column-span
+ - column-width
+ - columns
+ - content
+ - counter-increment
+ - counter-reset
+ - counter-set
+ - cue
+ - cue-after
+ - cue-before
+ - cursor
+ - direction
+ - display
+ - dominant-baseline
+ - elevation
+ - empty-cells
+ - filter
+ - flex
+ - flex-basis
+ - flex-direction
+ - flex-flow
+ - flex-grow
+ - flex-shrink
+ - flex-wrap
+ - float
+ - flood-color
+ - flood-opacity
+ - flow
+ - flow-from
+ - flow-into
+ - font
+ - font-family
+ - font-size
+ - font-size-adjust
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - font-stretch
+ - font-feature-settings
+ - font-kerning
+ - font-language-override
+ - font-synthesis
+ - font-variant-alternates
+ - font-variant-caps
+ - font-variant-east-asian
+ - font-variant-ligatures
+ - font-variant-numeric
+ - font-variant-position
+ - footnote-display
+ - footnote-policy
+ - glyph-orientation-vertical
+ - grid
+ - grid-area
+ - grid-auto-columns
+ - grid-auto-flow
+ - grid-auto-rows
+ - grid-column
+ - grid-column-end
+ - grid-column-gap
+ - grid-column-start
+ - grid-gap
+ - grid-row
+ - grid-row-end
+ - grid-row-gap
+ - grid-row-start
+ - grid-template
+ - grid-template-areas
+ - grid-template-columns
+ - grid-template-rows
+ - hanging-punctuation
+ - height
+ - hyphens
+ - image-orientation
+ - image-rendering
+ - image-resolution
+ - initial-letter
+ - initial-letter-align
+ - initial-letter-wrap
+ - isolation
+ - justify-content
+ - justify-items
+ - justify-self
+ - left
+ - letter-spacing
+ - lighting-color
+ - linear-gradient
+ - line-grid
+ - line-height
+ - line-snap
+ - list-style
+ - list-style-image
+ - list-style-keyword
+ - list-style-position
+ - list-style-type
+ - margin
+ - margin-bottom
+ - margin-left
+ - margin-right
+ - margin-top
+ - marker-offset
+ - marker-side
+ - marquee-direction
+ - marquee-loop
+ - marquee-speed
+ - marquee-style
+ - mask
+ - mask-border
+ - mask-border-mode
+ - mask-border-outset
+ - mask-border-repeat
+ - mask-border-slice
+ - mask-border-source
+ - mask-border-width
+ - mask-clip
+ - mask-composite
+ - mask-image
+ - mask-mode
+ - mask-origin
+ - mask-position
+ - mask-repeat
+ - mask-size
+ - mask-type
+ - max-height
+ - max-lines
+ - max-width
+ - min-height
+ - min-width
+ - mix-blend-mode
+ - nav-down
+ - nav-left
+ - nav-right
+ - nav-up
+ - object-fit
+ - object-position
+ - offset-after
+ - offset-before
+ - offset-end
+ - offset-start
+ - opacity
+ - order
+ - orphans
+ - outline
+ - outline-color
+ - outline-offset
+ - outline-style
+ - outline-width
+ - overflow
+ - overflow-style
+ - overflow-wrap
+ - overflow-x
+ - overflow-y
+ - padding
+ - padding-bottom
+ - padding-left
+ - padding-right
+ - padding-top
+ - page
+ - page-break-after
+ - page-break-before
+ - page-break-inside
+ - pause
+ - pause-after
+ - pause-before
+ - perspective
+ - perspective-origin
+ - pitch
+ - pitch-range
+ - play-during
+ - pointer-events
+ - polar-anchor
+ - polar-angle
+ - polar-distance
+ - polar-origin
+ - position
+ - presentation-level
+ - quotes
+ - resize
+ - rest
+ - rest-after
+ - rest-before
+ - richness
+ - right
+ - rotation
+ - rotation-point
+ - ruby-align
+ - ruby-merge
+ - ruby-position
+ - running
+ - scroll-behavior
+ - scroll-snap-align
+ - scroll-snap-margin
+ - scroll-snap-margin-block
+ - scroll-snap-margin-block-end
+ - scroll-snap-margin-block-start
+ - scroll-snap-margin-bottom
+ - scroll-snap-margin-inline
+ - scroll-snap-margin-inline-end
+ - scroll-snap-margin-inline-start
+ - scroll-snap-margin-left
+ - scroll-snap-margin-right
+ - scroll-snap-margin-top
+ - scroll-snap-padding
+ - scroll-snap-padding-block
+ - scroll-snap-padding-block-end
+ - scroll-snap-padding-block-start
+ - scroll-snap-padding-bottom
+ - scroll-snap-padding-inline
+ - scroll-snap-padding-inline-end
+ - scroll-snap-padding-inline-start
+ - scroll-snap-padding-left
+ - scroll-snap-padding-right
+ - scroll-snap-padding-top
+ - scroll-snap-stop
+ - scroll-snap-type
+ - shape-image-threshold
+ - shape-inside
+ - shape-margin
+ - shape-outside
+ - size
+ - speak
+ - speak-as
+ - speak-header
+ - speak-numeral
+ - speak-punctuation
+ - speech-rate
+ - stress
+ - string-set
+ - tab-size
+ - table-layout
+ - text-align
+ - text-align-last
+ - text-combine-upright
+ - text-decoration
+ - text-decoration-color
+ - text-decoration-line
+ - text-decoration-skip
+ - text-decoration-style
+ - text-emphasis
+ - text-emphasis-color
+ - text-emphasis-position
+ - text-emphasis-style
+ - text-indent
+ - text-justify
+ - text-orientation
+ - text-overflow
+ - text-shadow
+ - text-transform
+ - text-underline-position
+ - text-wrap
+ - top
+ - transform
+ - transform-origin
+ - transform-style
+ - transition
+ - transition-delay
+ - transition-property
+ - transition-duration
+ - transition-timing-function
+ - unicode-bidi
+ - vertical-align
+ - visibility
+ - voice-balance
+ - voice-duration
+ - voice-family
+ - voice-pitch
+ - voice-range
+ - voice-rate
+ - voice-stress
+ - voice-volume
+ - volume
+ - white-space
+ - widows
+ - width
+ - will-change
+ - word-break
+ - word-spacing
+ - word-wrap
+ - wrap-flow
+ - wrap-through
+ - writing-mode
+ - z-index
+
+
+ - -moz-animation-name
+ - -moz-animation-duration
+ - -moz-animation-iteration
+ - -moz-animation-direction
+ - -moz-animation-delay
+ - -moz-animation-play-state
+ - -moz-animation-fill-mode
+ - -moz-background-size
+ - -moz-border-image
+ - -moz-border-bottom-colors
+ - -moz-border-left-colors
+ - -moz-border-radius
+ - -moz-border-radius-topleft
+ - -moz-border-radius-topright
+ - -moz-border-radius-bottomleft
+ - -moz-border-radius-bottomright
+ - -moz-border-right-colors
+ - -moz-border-top-colors
+ - -moz-box
+ - -moz-box-flex
+ - -moz-box-shadow
+ - -moz-box-sizing
+ - -moz-column-count
+ - -moz-column-gap
+ - -moz-hyphens
+ - -moz-linear-gradient
+ - -moz-opacity
+ - -moz-outline-style
+ - -moz-perspective
+ - -moz-radial-gradient
+ - -moz-resize
+ - -moz-transform
+ - -moz-transform-origin
+ - -moz-transform-style
+ - -moz-transition
+ - -moz-transition-property
+ - -moz-transition-duration
+
+
+ - -o-background-size
+ - -o-linear-gradient
+ - -o-text-overflow
+ - -o-transition
+ - -o-transform-origin
+
+
+ - konq_bgpos_x
+ - konq_bgpos_y
+ - -khtml-background-size
+ - -khtml-border-top-left-radius
+ - -khtml-border-top-right-radius
+ - -khtml-border-bottom-left-radius
+ - -khtml-border-bottom-right-radius
+ - -khtml-border-radius
+ - -khtml-box-shadow
+ - -khtml-opacity
+
+
+ - -webkit-appearance
+ - -webkit-animation-name
+ - -webkit-animation-duration
+ - -webkit-animation-iteration
+ - -webkit-animation-direction
+ - -webkit-animation-delay
+ - -webkit-animation-play-state
+ - -webkit-animation-fill-mode
+ - -webkit-background-size
+ - -webkit-border-image
+ - -webkit-border-bottom-colors
+ - -webkit-border-left-colors
+ - -webkit-border-radius
+ - -webkit-border-right-colors
+ - -webkit-border-top-colors
+ - -webkit-border-top-left-radius
+ - -webkit-border-top-right-radius
+ - -webkit-border-bottom-left-radius
+ - -webkit-border-bottom-right-radius
+ - -webkit-border-radius-bottomleft
+ - -webkit-border-radius-bottomright
+ - -webkit-box-flex
+ - -webkit-box-reflect
+ - -webkit-box-shadow
+ - -webkit-box-sizing
+ - -webkit-column-count
+ - -webkit-column-gap
+ - -webkit-hyphens
+ - -webkit-linear-gradient
+ - -webkit-gradient
+ - -webkit-perspective
+ - -webkit-text-fill-color
+ - -webkit-text-stroke-color
+ - -webkit-text-stroke-width
+ - -webkit-text-size-adjust
+ - -webkit-transform
+ - -webkit-transform-origin
+ - -webkit-transform-style
+ - -webkit-transition
+ - -webkit-transition-property
+ - -webkit-transition-duration
+
+
+ - zoom
+ - -ms-animation-name
+ - -ms-animation-duration
+ - -ms-animation-iteration
+ - -ms-animation-direction
+ - -ms-animation-delay
+ - -ms-animation-play-state
+ - -ms-animation-fill-mode
+ - -ms-box-sizing
+ - -ms-filter
+ - -ms-interpolation-mode
+ - -ms-linear-gradient
+ - -ms-text-size-adjust
+ - -ms-transform
+ - -ms-transition
+
+
+ - font-family
+ - font-size
+ - font-stretch
+ - font-style
+ - font-variant
+ - font-weight
+ - unicode-range
+ - units-per-em
+ - src
+ - panose-1
+ - stemv
+ - stemh
+ - slope
+ - cap-height
+ - x-height
+ - ascent
+ - descent
+ - widths
+ - bbox
+ - definition-src
+ - baseline
+ - centerline
+ - mathline
+ - topline
+
+
+
+ - inherit
+ - none
+ - hidden
+ - dotted
+ - dashed
+ - solid
+ - double
+ - groove
+ - ridge
+ - inset
+ - outset
+ - xx-small
+ - x-small
+ - small
+ - medium
+ - large
+ - x-large
+ - xx-large
+ - smaller
+ - larger
+ - italic
+ - oblique
+ - small-caps
+ - normal
+ - bold
+ - bolder
+ - lighter
+ - light
+ - 100
+ - 200
+ - 300
+ - 400
+ - 500
+ - 600
+ - 700
+ - 800
+ - 900
+ - transparent
+ - repeat
+ - repeat-x
+ - repeat-y
+ - no-repeat
+ - baseline
+ - sub
+ - super
+ - top
+ - text-top
+ - middle
+ - bottom
+ - text-bottom
+ - left
+ - right
+ - center
+ - justify
+ - konq-center
+ - disc
+ - circle
+ - square
+ - box
+ - decimal
+ - decimal-leading-zero
+ - lower-roman
+ - upper-roman
+ - lower-greek
+ - lower-alpha
+ - lower-latin
+ - upper-alpha
+ - upper-latin
+ - hebrew
+ - armenian
+ - georgian
+ - cjk-ideographic
+ - hiragana
+ - katakana
+ - hiragana-iroha
+ - katakana-iroha
+ - inline
+ - inline-block
+ - block
+ - list-item
+ - run-in
+ - compact
+ - marker
+ - table
+ - inline-table
+ - table-row-group
+ - table-header-group
+ - table-footer-group
+ - table-row
+ - table-column-group
+ - table-column
+ - table-cell
+ - table-caption
+ - auto
+ - crosshair
+ - default
+ - pointer
+ - move
+ - e-resize
+ - ne-resize
+ - nw-resize
+ - n-resize
+ - se-resize
+ - sw-resize
+ - s-resize
+ - w-resize
+ - text
+ - wait
+ - help
+ - above
+ - absolute
+ - always
+ - avoid
+ - below
+ - bidi-override
+ - blink
+ - both
+ - capitalize
+ - caption
+ - clip
+ - close-quote
+ - collapse
+ - condensed
+ - crop
+ - cross
+ - ellipsis
+ - ellipsis-word
+ - embed
+ - expanded
+ - extra-condensed
+ - extra-expanded
+ - fixed
+ - hand
+ - hide
+ - higher
+ - icon
+ - inside
+ - invert
+ - landscape
+ - level
+ - line-through
+ - loud
+ - lower
+ - lowercase
+ - ltr
+ - menu
+ - message-box
+ - mix
+ - narrower
+ - no-close-quote
+ - no-open-quote
+ - nowrap
+ - open-quote
+ - outside
+ - overline
+ - portrait
+ - pre
+ - pre-line
+ - pre-wrap
+ - relative
+ - rtl
+ - scroll
+ - semi-condensed
+ - semi-expanded
+ - separate
+ - show
+ - small-caption
+ - static
+ - static-position
+ - status-bar
+ - thick
+ - thin
+ - ultra-condensed
+ - ultra-expanded
+ - underline
+ - uppercase
+ - visible
+ - wider
+ - break
+ - serif
+ - sans-serif
+ - cursive
+ - fantasy
+ - monospace
+ - border-box
+ - content-box
+ - -epub-hyphens
+
+
+
+ - aqua
+ - black
+ - blue
+ - cyan
+ - fuchsia
+ - gray
+ - green
+ - lime
+ - maroon
+ - navy
+ - olive
+ - purple
+ - red
+ - silver
+ - teal
+ - white
+ - yellow
+ - ActiveBorder
+ - ActiveCaption
+ - AppWorkspace
+ - Background
+ - ButtonFace
+ - ButtonHighlight
+ - ButtonShadow
+ - ButtonText
+ - CaptionText
+ - GrayText
+ - Highlight
+ - HighlightText
+ - InactiveBorder
+ - InactiveCaption
+ - InactiveCaptionText
+ - InfoBackground
+ - InfoText
+ - Menu
+ - MenuText
+ - Scrollbar
+ - ThreeDDarkShadow
+ - ThreeDFace
+ - ThreeDHighlight
+ - ThreeDLightShadow
+ - ThreeDShadow
+ - Window
+ - WindowFrame
+ - WindowText
+
+
+
+ - url
+ - attr
+ - rect
+ - rgb
+ - rgba
+ - hsl
+ - hsla
+ - counter
+ - counters
+
+
+ - local
+ - format
+
+
+ - expression
+
+
+
+
+ - all
+ - aural
+ - braille
+ - embossed
+ - handheld
+ - print
+ - projection
+ - screen
+ - tty
+ - tv
+
+
+
+ - not
+ - only
+
+
+
+ - width
+ - min-width
+ - max-width
+ - height
+ - min-height
+ - max-height
+ - device-width
+ - min-device-width
+ - max-device-width
+ - device-height
+ - min-device-height
+ - max-device-height
+ - orientation
+ - aspect-ratio
+ - min-aspect-ratio
+ - max-aspect-ratio
+ - device-aspect-ratio
+ - min-device-aspect-ratio
+ - max-device-aspect-ratio
+ - color
+ - min-color
+ - max-color
+ - color-index
+ - min-color-index
+ - max-color-index
+ - monochrome
+ - min-monochrome
+ - max-monochrome
+ - resolution
+ - min-resolution
+ - max-resolution
+ - scan
+ - grid
+
+
+
+ - hover
+ - link
+ - visited
+ - active
+ - focus
+ - first-child
+ - last-child
+ - only-child
+ - first-of-type
+ - last-of-type
+ - only-of-type
+ - first-letter
+ - first-line
+ - before
+ - after
+ - selection
+ - root
+ - empty
+ - target
+ - enabled
+ - disabled
+ - checked
+ - indeterminate
+ - nth-child
+ - nth-last-child
+ - nth-of-type
+ - nth-last-of-type
+ - not
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sed.xml b/data/syntax/sed.xml
new file mode 100644
index 0000000..10e4b8c
--- /dev/null
+++ b/data/syntax/sed.xml
@@ -0,0 +1,267 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sgml.xml b/data/syntax/sgml.xml
new file mode 100644
index 0000000..87f2fe3
--- /dev/null
+++ b/data/syntax/sgml.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sieve.xml b/data/syntax/sieve.xml
new file mode 100644
index 0000000..c86e3b3
--- /dev/null
+++ b/data/syntax/sieve.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+ - require
+ - if
+ - elsif
+ - else
+ - discard
+ - stop
+ - fileinto
+ - keep
+ - reject
+ - redirect
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sisu.xml b/data/syntax/sisu.xml
new file mode 100644
index 0000000..8c8ba56
--- /dev/null
+++ b/data/syntax/sisu.xml
@@ -0,0 +1,157 @@
+
+
+
+
+
+ - class
+ - const
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sml.xml b/data/syntax/sml.xml
new file mode 100644
index 0000000..3e98f75
--- /dev/null
+++ b/data/syntax/sml.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+ - abstype
+ - and
+ - andalso
+ - as
+ - case
+ - do
+ - datatype
+ - else
+ - end
+ - eqtype
+ - exception
+ - false
+ - fn
+ - fun
+ - functor
+ - handle
+ - if
+ - in
+ - include
+ - infix
+ - infixr
+ - let
+ - local
+ - nonfix
+ - of
+ - op
+ - open
+ - orelse
+ - raise
+ - rec
+ - sharing
+ - sig
+ - signature
+ - struct
+ - structure
+ - then
+ - true
+ - type
+ - val
+ - where
+ - with
+ - withtype
+ - while
+
+
+ - unit
+ - int
+ - real
+ - char
+ - string
+ - substring
+ - word
+ - ref
+ - array
+ - vector
+ - bool
+ - list
+ - option
+ - order
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/spice.xml b/data/syntax/spice.xml
new file mode 100644
index 0000000..9b7da8c
--- /dev/null
+++ b/data/syntax/spice.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sql-mysql.xml b/data/syntax/sql-mysql.xml
new file mode 100644
index 0000000..ca0cee2
--- /dev/null
+++ b/data/syntax/sql-mysql.xml
@@ -0,0 +1,474 @@
+
+
+
+
+
+
+ - ACCESS
+ - ADD
+ - ALL
+ - ALTER
+ - ANALYZE
+ - AND
+ - AS
+ - ASC
+ - AUTO_INCREMENT
+ - BDB
+ - BERKELEYDB
+ - BETWEEN
+ - BOTH
+ - BY
+ - CASCADE
+ - CASE
+ - CHANGE
+
+ - CHARSET
+ - COLUMN
+ - COLUMNS
+ - CONSTRAINT
+ - CREATE
+ - CROSS
+ - CURRENT_DATE
+ - CURRENT_TIME
+ - CURRENT_TIMESTAMP
+ - DATABASE
+ - DATABASES
+ - DAY_HOUR
+ - DAY_MINUTE
+ - DAY_SECOND
+ - DEC
+ - DEFAULT
+ - DELAYED
+ - DELETE
+ - DESC
+ - DESCRIBE
+ - DISTINCT
+ - DISTINCTROW
+ - DROP
+ - ELSE
+ - ENCLOSED
+ - ESCAPED
+ - EXISTS
+ - EXPLAIN
+ - FIELDS
+ - FOR
+ - FOREIGN
+ - FROM
+ - FULLTEXT
+ - FUNCTION
+ - GRANT
+ - GROUP
+ - HAVING
+ - HIGH_PRIORITY
+ - IF
+ - IGNORE
+ - IN
+ - INDEX
+ - INFILE
+ - INNER
+ - INNODB
+ - INSERT
+ - INTERVAL
+ - INTO
+ - IS
+ - JOIN
+ - KEY
+ - KEYS
+ - KILL
+ - LEADING
+ - LEFT
+ - LIKE
+ - LIMIT
+ - LINES
+ - LOAD
+ - LOCK
+ - LOW_PRIORITY
+ - MASTER_SERVER_ID
+ - MATCH
+ - MRG_MYISAM
+ - NATIONAL
+ - NATURAL
+ - NOT
+ - NULL
+ - NUMERIC
+ - ON
+ - OPTIMIZE
+ - OPTION
+ - OPTIONALLY
+ - OR
+ - ORDER
+ - OUTER
+ - OUTFILE
+ - PARTIAL
+ - PRECISION
+ - PRIMARY
+ - PRIVILEGES
+ - PROCEDURE
+ - PURGE
+ - READ
+ - REFERENCES
+ - REGEXP
+ - RENAME
+ - REPLACE
+ - REQUIRE
+ - RESTRICT
+ - RETURNS
+ - REVOKE
+ - RIGHT
+ - RLIKE
+ - SELECT
+ - SET
+ - SHOW
+ - SONAME
+ - SQL_BIG_RESULT
+ - SQL_CALC_FOUND_ROWS
+ - SQL_SMALL_RESULT
+ - SSL
+ - STARTING
+ - STRAIGHT_JOIN
+ - STRIPED
+ - TABLE
+ - TABLES
+ - TERMINATED
+ - THEN
+ - TO
+ - TRAILING
+ - TRUNCATE
+ - TYPE
+ - UNION
+ - UNIQUE
+ - UNLOCK
+ - UNSIGNED
+ - UPDATE
+ - USAGE
+ - USE
+ - USER_RESOURCES
+ - USING
+ - VALUES
+ - VARYING
+ - WHEN
+ - WHERE
+ - WHILE
+ - WITH
+ - WRITE
+ - XOR
+ - YEAR_MONTH
+ - ZEROFILL
+
+
+ - +
+ - -
+ - *
+ - /
+ - ||
+ - =
+ - !=
+ - <>
+ - <
+ - <=
+ - >
+ - >=
+ - ~=
+ - ^=
+ - :=
+ - =>
+ - **
+ - ..
+
+
+
+ - ASCII
+ - BIN
+ - BIT_LENGTH
+ - CHAR
+ - CHARACTER_LENGTH
+ - CHAR_LENGTH
+ - CONCAT
+ - CONCAT_WS
+ - CONV
+ - ELT
+ - EXPORT_SET
+ - FIELD
+ - FIND_IN_SET
+ - HEX
+ - INSERT
+ - INSTR
+ - LCASE
+ - LEFT
+ - LENGTH
+ - LOAD_FILE
+ - LOCATE
+ - LOWER
+ - LPAD
+ - LTRIM
+ - MAKE_SET
+ - MID
+ - OCT
+ - OCTET_LENGTH
+ - ORD
+ - POSITION
+ - QUOTE
+ - REPEAT
+ - REPLACE
+ - REVERSE
+ - RIGHT
+ - RPAD
+ - RTRIM
+ - SOUNDEX
+ - SPACE
+ - SUBSTRING
+ - SUBSTRING_INDEX
+ - TRIM
+ - UCASE
+ - UPPER
+
+ - ABS
+ - ACOS
+ - ASIN
+ - ATAN
+ - ATAN2
+ - CEILING
+ - COS
+ - COT
+ - DEGREES
+ - EXP
+ - FLOOR
+ - GREATEST
+ - LEAST
+ - LN
+ - LOG
+ - LOG10
+ - LOG2
+ - MOD
+ - PI
+ - POW
+ - POWER
+ - RADIANS
+ - RAND
+ - ROUND
+ - SIGN
+ - SIN
+ - SQRT
+ - TAN
+
+ - ADDDATE
+ - CURDATE
+ - CURRENT_DATE
+ - CURRENT_TIME
+ - CURRENT_TIMESTAMP
+ - CURTIME
+ - DATE_ADD
+ - DATE_FORMAT
+ - DATE_SUB
+ - DAYNAME
+ - DAYOFMONTH
+ - DAYOFWEEK
+ - DAYOFYEAR
+ - EXTRACT
+ - FROM_DAYS
+ - FROM_UNIXTIME
+ - HOUR
+ - MINUTE
+ - MONTH
+ - MONTHNAME
+ - NOW
+ - PERIOD_ADD
+ - PERIOD_DIFF
+ - QUARTER
+ - SECOND
+ - SEC_TO_TIME
+ - SUBDATE
+ - SYSDATE
+ - TIME_FORMAT
+ - TIME_TO_SEC
+ - TO_DAYS
+ - UNIX_TIMESTAMP
+ - WEEK
+ - WEEKDAY
+ - YEAR
+ - YEARWEEK
+
+ - CAST
+ - CONVERT
+
+ - AES_DECRYPT
+ - AES_ENCRYPT
+ - BENCHMARK
+ - BIT_COUNT
+ - CONNECTION_ID
+ - DATABASE
+ - DECODE
+ - DES_DECRYPT
+ - DES_ENCRYPT
+ - ENCODE
+ - ENCRYPT
+ - FORMAT
+ - FOUND_ROWS
+ - GET_LOCK
+ - INET_ATON
+ - INET_NTOA
+ - IS_FREE_LOCK
+ - LAST_INSERT_ID
+ - MASTER_POS_WAIT
+ - MD5
+ - PASSWORD
+ - RELEASE_LOCK
+ - SESSION_USER
+ - SHA
+ - SHA1
+ - SYSTEM_USER
+ - USER
+ - VERSION
+
+ - AVG
+ - BIT_AND
+ - BIT_OR
+ - COUNT
+ - MAX
+ - MIN
+ - STD
+ - STDDEV
+ - SUM
+
+
+
+ - BINARY
+ - BLOB
+ - CHAR
+ - CHARACTER
+ - ENUM
+ - LONGBLOB
+ - LONGTEXT
+ - MEDIUMBLOB
+ - MEDIUMTEXT
+ - TEXT
+ - TINYBLOB
+ - TINYTEXT
+ - VARBINARY
+ - VARCHAR
+
+
+ - BIGINT
+ - BIT
+ - BOOL
+ - BOOLEAN
+ - DEC
+ - DECIMAL
+ - DOUBLE
+ - FIXED
+ - FLOAT
+ - INT
+ - INTEGER
+ - LONG
+ - MEDIUMINT
+ - MIDDLEINT
+ - NUMERIC
+ - TINYINT
+ - REAL
+ - SERIAL
+ - SMALLINT
+
+ - DATE
+ - DATETIME
+ - TIME
+ - TIMESTAMP
+ - YEAR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sql-oracle.xml b/data/syntax/sql-oracle.xml
new file mode 100644
index 0000000..dd7245d
--- /dev/null
+++ b/data/syntax/sql-oracle.xml
@@ -0,0 +1,2174 @@
+
+
+
+
+
+
+ - A
+ - ABORT
+ - ABS
+ - ACCESS
+ - ACCESSED
+ - ACCOUNT
+ - ACOS
+ - ACTIVATE
+ - ACTIVE_COMPONENT
+ - ACTIVE_FUNCTION
+ - ACTIVE_TAG
+ - ADD
+ - ADD_COLUMN
+ - ADD_GROUP
+ - ADD_MONTHS
+ - ADJ_DATE
+ - ADMIN
+ - ADMINISTER
+ - ADMINISTRATOR
+ - ADVISE
+ - ADVISOR
+ - AFTER
+ - ALIAS
+ - ALL
+ - ALLOCATE
+ - ALLOW
+ - ALL_ROWS
+ - ALTER
+ - ALWAYS
+ - ANALYZE
+ - ANCILLARY
+ - AND
+ - AND_EQUAL
+ - ANTIJOIN
+ - ANY
+ - ANYSCHEMA
+ - APPEND
+ - APPENDCHILDXML
+ - APPEND_VALUES
+ - APPLY
+ - ARCHIVE
+ - ARCHIVELOG
+ - ARRAY
+ - AS
+ - ASC
+ - ASCII
+ - ASCIISTR
+ - ASIN
+ - ASSEMBLY
+ - ASSOCIATE
+ - ASYNC
+ - ASYNCHRONOUS
+ - AT
+ - ATAN
+ - ATAN2
+ - ATTRIBUTE
+ - ATTRIBUTES
+ - AUDIT
+ - AUTHENTICATED
+ - AUTHENTICATION
+ - AUTHID
+ - AUTHORIZATION
+ - AUTO
+ - AUTOALLOCATE
+ - AUTOEXTEND
+ - AUTOMATIC
+ - AVAILABILITY
+ - AVG
+ - BACKUP
+ - BASIC
+ - BASICFILE
+ - BATCH
+ - BECOME
+ - BEFORE
+ - BEGIN
+ - BEGIN_OUTLINE_DATA
+ - BEHALF
+ - BETWEEN
+ - BFILE
+ - BFILENAME
+ - BIGFILE
+ - BINARY
+ - BINARY_DOUBLE
+ - BINARY_DOUBLE_INFINITY
+ - BINARY_DOUBLE_NAN
+ - BINARY_FLOAT
+ - BINARY_FLOAT_INFINITY
+ - BINARY_FLOAT_NAN
+ - BIND_AWARE
+ - BINDING
+ - BIN_TO_NUM
+ - BITAND
+ - BITMAP
+ - BITMAPS
+ - BITMAP_TREE
+ - BITS
+ - BLOB
+ - BLOCK
+ - BLOCK_RANGE
+ - BLOCKS
+ - BLOCKSIZE
+ - BODY
+ - BOTH
+ - BOUND
+ - BRANCH
+ - BREADTH
+ - BROADCAST
+ - BUFFER
+ - BUFFER_CACHE
+ - BUFFER_POOL
+ - BUILD
+ - BULK
+ - BY
+ - BYPASS_RECURSIVE_CHECK
+ - BYPASS_UJVC
+ - BYTE
+ - CACHE
+ - CACHE_CB
+ - CACHE_INSTANCES
+ - CACHE_TEMP_TABLE
+ - CALL
+ - CANCEL
+ - CARDINALITY
+ - CASCADE
+ - CASE
+ - CAST
+ - CATEGORY
+ - CEIL
+ - CELL_FLASH_CACHE
+ - CERTIFICATE
+ - CFILE
+ - CHAINED
+ - CHANGE
+ - CHANGE_DUPKEY_ERROR_INDEX
+ - CHAR
+ - CHARACTER
+ - CHAR_CS
+ - CHARTOROWID
+ - CHECK
+ - CHECK_ACL_REWRITE
+ - CHECKPOINT
+ - CHILD
+ - CHOOSE
+ - CHR
+ - CHUNK
+ - CLASS
+ - CLEAR
+ - CLOB
+ - CLONE
+ - CLOSE
+ - CLOSE_CACHED_OPEN_CURSORS
+ - CLUSTER
+ - CLUSTER_ID
+ - CLUSTERING_FACTOR
+ - CLUSTER_PROBABILITY
+ - CLUSTER_SET
+ - COALESCE
+ - COALESCE_SQ
+ - COARSE
+ - CO_AUTH_IND
+ - COLD
+ - COLLECT
+ - COLUMN
+ - COLUMNAR
+ - COLUMN_AUTH_INDICATOR
+ - COLUMNS
+ - COLUMN_STATS
+ - COLUMN_VALUE
+ - COMMENT
+ - COMMIT
+ - COMMITTED
+ - COMPACT
+ - COMPATIBILITY
+ - COMPILE
+ - COMPLETE
+ - COMPLIANCE
+ - COMPOSE
+ - COMPOSITE
+ - COMPOSITE_LIMIT
+ - COMPOUND
+ - COMPRESS
+ - COMPUTE
+ - CONCAT
+ - CONFIRM
+ - CONFORMING
+ - CONNECT
+ - CONNECT_BY_CB_WHR_ONLY
+ - CONNECT_BY_COMBINE_SW
+ - CONNECT_BY_COST_BASED
+ - CONNECT_BY_ELIM_DUPS
+ - CONNECT_BY_FILTERING
+ - CONNECT_BY_ISCYCLE
+ - CONNECT_BY_ISLEAF
+ - CONNECT_BY_ROOT
+ - CONNECT_TIME
+ - CONSIDER
+ - CONSISTENT
+ - CONST
+ - CONSTANT
+ - CONSTRAINT
+ - CONSTRAINTS
+ - CONTAINER
+ - CONTENT
+ - CONTENTS
+ - CONTEXT
+ - CONTINUE
+ - CONTROLFILE
+ - CONVERT
+ - CORR
+ - CORR_K
+ - CORR_S
+ - CORRUPTION
+ - CORRUPT_XID
+ - CORRUPT_XID_ALL
+ - COS
+ - COSH
+ - COST
+ - COST_XML_QUERY_REWRITE
+ - COUNT
+ - COVAR_POP
+ - COVAR_SAMP
+ - CPU_COSTING
+ - CPU_PER_CALL
+ - CPU_PER_SESSION
+ - CRASH
+ - CREATE
+ - CREATE_STORED_OUTLINES
+ - CREATION
+ - CROSS
+ - CROSSEDITION
+ - CSCONVERT
+ - CUBE
+ - CUBE_GB
+ - CUME_DIST
+ - CUME_DISTM
+ - CURRENT
+ - CURRENT_DATE
+ - CURRENT_SCHEMA
+ - CURRENT_TIME
+ - CURRENT_TIMESTAMP
+ - CURRENT_USER
+ - CURRENTV
+ - CURSOR
+ - CURSOR_SHARING_EXACT
+ - CURSOR_SPECIFIC_SEGMENT
+ - CV
+ - CYCLE
+ - D
+ - DANGLING
+ - DATA
+ - DATABASE
+ - DATABASE_DEFAULT
+ - DATAFILE
+ - DATAFILES
+ - DATAOBJNO
+ - DATAOBJ_TO_PARTITION
+ - DATE
+ - DATE_MODE
+ - DAY
+ - DBA
+ - DBA_RECYCLEBIN
+ - DBMS_STATS
+ - DB_ROLE_CHANGE
+ - DBTIMEZONE
+ - DB_VERSION
+ - DDL
+ - DEALLOCATE
+ - DEBUG
+ - DEBUGGER
+ - DEC
+ - DECIMAL
+ - DECLARE
+ - DECODE
+ - DECOMPOSE
+ - DECR
+ - DECREMENT
+ - DECRYPT
+ - DEDUPLICATE
+ - DEFAULT
+ - DEFAULTS
+ - DEFERRABLE
+ - DEFERRED
+ - DEFINED
+ - DEFINER
+ - DEGREE
+ - DELAY
+ - DELETE
+ - DELETEXML
+ - DEMAND
+ - DENSE_RANK
+ - DENSE_RANKM
+ - DEPENDENT
+ - DEPTH
+ - DEQUEUE
+ - DEREF
+ - DEREF_NO_REWRITE
+ - DESC
+ - DETACHED
+ - DETERMINES
+ - DICTIONARY
+ - DIMENSION
+ - DIRECT_LOAD
+ - DIRECTORY
+ - DISABLE
+ - DISABLE_PRESET
+ - DISABLE_RPKE
+ - DISALLOW
+ - DISASSOCIATE
+ - DISCONNECT
+ - DISK
+ - DISKGROUP
+ - DISKS
+ - DISMOUNT
+ - DISTINCT
+ - DISTINGUISHED
+ - DISTRIBUTED
+ - DML
+ - DML_UPDATE
+ - DOCFIDELITY
+ - DOCUMENT
+ - DOMAIN_INDEX_FILTER
+ - DOMAIN_INDEX_NO_SORT
+ - DOMAIN_INDEX_SORT
+ - DOUBLE
+ - DOWNGRADE
+ - DRIVING_SITE
+ - DROP
+ - DROP_COLUMN
+ - DROP_GROUP
+ - DST_UPGRADE_INSERT_CONV
+ - DUMP
+ - DYNAMIC
+ - DYNAMIC_SAMPLING
+ - DYNAMIC_SAMPLING_EST_CDN
+ - E
+ - EACH
+ - EDITION
+ - EDITIONING
+ - EDITIONS
+ - ELEMENT
+ - ELIMINATE_JOIN
+ - ELIMINATE_OBY
+ - ELIMINATE_OUTER_JOIN
+ - ELSE
+ - EMPTY
+ - EMPTY_BLOB
+ - EMPTY_CLOB
+ - ENABLE
+ - ENABLE_PRESET
+ - ENCODING
+ - ENCRYPT
+ - ENCRYPTION
+ - END
+ - END_OUTLINE_DATA
+ - ENFORCE
+ - ENFORCED
+ - ENQUEUE
+ - ENTERPRISE
+ - ENTITYESCAPING
+ - ENTRY
+ - ERROR
+ - ERROR_ARGUMENT
+ - ERROR_ON_OVERLAP_TIME
+ - ERRORS
+ - ESCAPE
+ - ESTIMATE
+ - EVALNAME
+ - EVALUATION
+ - EVENTS
+ - EVERY
+ - EXCEPT
+ - EXCEPTIONS
+ - EXCHANGE
+ - EXCLUDE
+ - EXCLUDING
+ - EXCLUSIVE
+ - EXECUTE
+ - EXEMPT
+ - EXISTS
+ - EXISTSNODE
+ - EXP
+ - EXPAND_GSET_TO_UNION
+ - EXPAND_TABLE
+ - EXPIRE
+ - EXPLAIN
+ - EXPLOSION
+ - EXPORT
+ - EXPR_CORR_CHECK
+ - EXTENDS
+ - EXTENT
+ - EXTENTS
+ - EXTERNAL
+ - EXTERNALLY
+ - EXTRA
+ - EXTRACT
+ - EXTRACTVALUE
+ - FACILITY
+ - FACT
+ - FACTORIZE_JOIN
+ - FAILED
+ - FAILED_LOGIN_ATTEMPTS
+ - FAILGROUP
+ - FALSE
+ - FAST
+ - FBTSCAN
+ - FEATURE_ID
+ - FEATURE_SET
+ - FEATURE_VALUE
+ - FILE
+ - FILESYSTEM_LIKE_LOGGING
+ - FILTER
+ - FINAL
+ - FINE
+ - FINISH
+ - FIRST
+ - FIRSTM
+ - FIRST_ROWS
+ - FIRST_VALUE
+ - FLAGGER
+ - FLASHBACK
+ - FLASH_CACHE
+ - FLOAT
+ - FLOB
+ - FLOOR
+ - FLUSH
+ - FOLDER
+ - FOLLOWING
+ - FOLLOWS
+ - FOR
+ - FORCE
+ - FORCE_XML_QUERY_REWRITE
+ - FOREIGN
+ - FOREVER
+ - FORWARD
+ - FREELIST
+ - FREELISTS
+ - FREEPOOLS
+ - FRESH
+ - FROM
+ - FROM_TZ
+ - FULL
+ - FUNCTION
+ - FUNCTIONS
+ - G
+ - GATHER_PLAN_STATISTICS
+ - GBY_CONC_ROLLUP
+ - GBY_PUSHDOWN
+ - GENERATED
+ - GLOBAL
+ - GLOBALLY
+ - GLOBAL_NAME
+ - GLOBAL_TOPIC_ENABLED
+ - GRANT
+ - GREATEST
+ - GROUP
+ - GROUP_BY
+ - GROUP_ID
+ - GROUPING
+ - GROUPING_ID
+ - GROUPS
+ - GUARANTEE
+ - GUARANTEED
+ - GUARD
+ - H
+ - HASH
+ - HASH_AJ
+ - HASHKEYS
+ - HASH_SJ
+ - HAVING
+ - HEADER
+ - HEAP
+ - HELP
+ - HEXTORAW
+ - HEXTOREF
+ - HIDDEN
+ - HIDE
+ - HIERARCHY
+ - HIGH
+ - HINTSET_BEGIN
+ - HINTSET_END
+ - HOT
+ - HOUR
+ - HWM_BROKERED
+ - HYBRID
+ - ID
+ - IDENTIFIED
+ - IDENTIFIER
+ - IDENTITY
+ - IDGENERATORS
+ - IDLE_TIME
+ - IF
+ - IGNORE
+ - IGNORE_OPTIM_EMBEDDED_HINTS
+ - IGNORE_ROW_ON_DUPKEY_INDEX
+ - IGNORE_WHERE_CLAUSE
+ - IMMEDIATE
+ - IMPACT
+ - IMPORT
+ - IN
+ - INCLUDE
+ - INCLUDE_VERSION
+ - INCLUDING
+ - INCR
+ - INCREMENT
+ - INCREMENTAL
+ - INDENT
+ - INDEX
+ - INDEX_ASC
+ - INDEX_COMBINE
+ - INDEX_DESC
+ - INDEXED
+ - INDEXES
+ - INDEX_FFS
+ - INDEX_FILTER
+ - INDEX_JOIN
+ - INDEX_ROWS
+ - INDEX_RRS
+ - INDEX_RS
+ - INDEX_RS_ASC
+ - INDEX_RS_DESC
+ - INDEX_SCAN
+ - INDEX_SKIP_SCAN
+ - INDEX_SS
+ - INDEX_SS_ASC
+ - INDEX_SS_DESC
+ - INDEX_STATS
+ - INDEXTYPE
+ - INDEXTYPES
+ - INDICATOR
+ - INFINITE
+ - INFORMATIONAL
+ - INITCAP
+ - INITIAL
+ - INITIALIZED
+ - INITIALLY
+ - INITRANS
+ - INLINE
+ - INLINE_XMLTYPE_NT
+ - IN_MEMORY_METADATA
+ - INNER
+ - INSERT
+ - INSERTCHILDXML
+ - INSERTCHILDXMLAFTER
+ - INSERTCHILDXMLBEFORE
+ - INSERTXMLAFTER
+ - INSERTXMLBEFORE
+ - INSTANCE
+ - INSTANCES
+ - INSTANTIABLE
+ - INSTANTLY
+ - INSTEAD
+ - INSTR
+ - INSTRB
+ - INSTRC
+ - INSTR2
+ - INSTR4
+ - INT
+ - INTEGER
+ - INTERMEDIATE
+ - INTERNAL_CONVERT
+ - INTERNAL_USE
+ - INTERPRETED
+ - INTERSECT
+ - INTERVAL
+ - INTO
+ - INVALIDATE
+ - INVISIBLE
+ - IN_XQUERY
+ - IS
+ - ISOLATION
+ - ISOLATION_LEVEL
+ - ITERATE
+ - ITERATION_NUMBER
+ - JAVA
+ - JOB
+ - JOIN
+ - K
+ - KEEP
+ - KEEP_DUPLICATES
+ - KERBEROS
+ - KEY
+ - KEY_LENGTH
+ - KEYS
+ - KEYSIZE
+ - KILL
+ - LAG
+ - LAST
+ - LAST_DAY
+ - LAST_VALUE
+ - LATERAL
+ - LAYER
+ - LDAP_REGISTRATION
+ - LDAP_REGISTRATION_ENABLED
+ - LDAP_REG_SYNC_INTERVAL
+ - LEAD
+ - LEADING
+ - LEAST
+ - LEFT
+ - LENGTH
+ - LENGTHB
+ - LENGTHC
+ - LENGTH2
+ - LENGTH4
+ - LESS
+ - LEVEL
+ - LEVELS
+ - LIBRARY
+ - LIFE
+ - LIFETIME
+ - LIKE
+ - LIKEC
+ - LIKE_EXPAND
+ - LIKE2
+ - LIKE4
+ - LIMIT
+ - LINK
+ - LIST
+ - LISTAGG
+ - LN
+ - LNNVL
+ - LOB
+ - LOBNVL
+ - LOBS
+ - LOCAL
+ - LOCAL_INDEXES
+ - LOCALTIME
+ - LOCALTIMESTAMP
+ - LOCATION
+ - LOCATOR
+ - LOCK
+ - LOCKED
+ - LOG
+ - LOGFILE
+ - LOGFILES
+ - LOGGING
+ - LOGICAL
+ - LOGICAL_READS_PER_CALL
+ - LOGICAL_READS_PER_SESSION
+ - LOGOFF
+ - LOGON
+ - LONG
+ - LOOP
+ - LOW
+ - LOWER
+ - LPAD
+ - LTRIM
+ - M
+ - MAIN
+ - MAKE_REF
+ - MANAGE
+ - MANAGED
+ - MANAGEMENT
+ - MANUAL
+ - MAPPING
+ - MASTER
+ - MATCHED
+ - MATERIALIZE
+ - MATERIALIZED
+ - MAX
+ - MAXARCHLOGS
+ - MAXDATAFILES
+ - MAXEXTENTS
+ - MAXIMIZE
+ - MAXINSTANCES
+ - MAXLOGFILES
+ - MAXLOGHISTORY
+ - MAXLOGMEMBERS
+ - MAXSIZE
+ - MAXTRANS
+ - MAXVALUE
+ - MEASURE
+ - MEASURES
+ - MEDIAN
+ - MEDIUM
+ - MEMBER
+ - MEMORY
+ - MERGE
+ - MERGE$ACTIONS
+ - MERGE_AJ
+ - MERGE_CONST_ON
+ - MERGE_SJ
+ - METHOD
+ - MIGRATE
+ - MIGRATION
+ - MIN
+ - MINEXTENTS
+ - MINIMIZE
+ - MINIMUM
+ - MINING
+ - MINUS
+ - MINUS_NULL
+ - MINUTE
+ - MINVALUE
+ - MIRROR
+ - MIRRORCOLD
+ - MIRRORHOT
+ - MLSLABEL
+ - MOD
+ - MODE
+ - MODEL
+ - MODEL_COMPILE_SUBQUERY
+ - MODEL_DONTVERIFY_UNIQUENESS
+ - MODEL_DYNAMIC_SUBQUERY
+ - MODEL_MIN_ANALYSIS
+ - MODEL_NO_ANALYSIS
+ - MODEL_PBY
+ - MODEL_PUSH_REF
+ - MODIFY
+ - MONITOR
+ - MONITORING
+ - MONTH
+ - MONTHS_BETWEEN
+ - MOUNT
+ - MOUNTPATH
+ - MOVE
+ - MOVEMENT
+ - MULTISET
+ - MV_MERGE
+ - NAME
+ - NAMED
+ - NAMESPACE
+ - NAN
+ - NANVL
+ - NATIONAL
+ - NATIVE
+ - NATIVE_FULL_OUTER_JOIN
+ - NATURAL
+ - NAV
+ - NCHAR
+ - NCHAR_CS
+ - NCHR
+ - NCLOB
+ - NEEDED
+ - NESTED
+ - NESTED_TABLE_FAST_INSERT
+ - NESTED_TABLE_GET_REFS
+ - NESTED_TABLE_ID
+ - NESTED_TABLE_SET_REFS
+ - NESTED_TABLE_SET_SETID
+ - NETWORK
+ - NEVER
+ - NEW
+ - NEW_TIME
+ - NEXT
+ - NEXT_DAY
+ - NL_AJ
+ - NLJ_BATCHING
+ - NLJ_INDEX_FILTER
+ - NLJ_INDEX_SCAN
+ - NLJ_PREFETCH
+ - NLS_CALENDAR
+ - NLS_CHARACTERSET
+ - NLS_CHARSET_DECL_LEN
+ - NLS_CHARSET_ID
+ - NLS_CHARSET_NAME
+ - NLS_COMP
+ - NLS_CURRENCY
+ - NLS_DATE_FORMAT
+ - NLS_DATE_LANGUAGE
+ - NLS_INITCAP
+ - NLS_ISO_CURRENCY
+ - NL_SJ
+ - NLS_LANG
+ - NLS_LANGUAGE
+ - NLS_LENGTH_SEMANTICS
+ - NLS_LOWER
+ - NLS_NCHAR_CONV_EXCP
+ - NLS_NUMERIC_CHARACTERS
+ - NLS_SORT
+ - NLSSORT
+ - NLS_SPECIAL_CHARS
+ - NLS_TERRITORY
+ - NLS_UPPER
+ - NO
+ - NO_ACCESS
+ - NOAPPEND
+ - NOARCHIVELOG
+ - NOAUDIT
+ - NO_BASETABLE_MULTIMV_REWRITE
+ - NO_BIND_AWARE
+ - NO_BUFFER
+ - NOCACHE
+ - NO_CARTESIAN
+ - NO_CHECK_ACL_REWRITE
+ - NO_COALESCE_SQ
+ - NOCOMPRESS
+ - NO_CONNECT_BY_CB_WHR_ONLY
+ - NO_CONNECT_BY_COMBINE_SW
+ - NO_CONNECT_BY_COST_BASED
+ - NO_CONNECT_BY_ELIM_DUPS
+ - NO_CONNECT_BY_FILTERING
+ - NO_COST_XML_QUERY_REWRITE
+ - NO_CPU_COSTING
+ - NOCPU_COSTING
+ - NOCYCLE
+ - NODELAY
+ - NO_DOMAIN_INDEX_FILTER
+ - NO_DST_UPGRADE_INSERT_CONV
+ - NO_ELIMINATE_JOIN
+ - NO_ELIMINATE_OBY
+ - NO_ELIMINATE_OUTER_JOIN
+ - NOENTITYESCAPING
+ - NO_EXPAND
+ - NO_EXPAND_GSET_TO_UNION
+ - NO_EXPAND_TABLE
+ - NO_FACT
+ - NO_FACTORIZE_JOIN
+ - NO_FILTERING
+ - NOFORCE
+ - NO_GBY_PUSHDOWN
+ - NOGUARANTEE
+ - NO_INDEX
+ - NO_INDEX_FFS
+ - NO_INDEX_SS
+ - NO_LOAD
+ - NOLOCAL
+ - NOLOGGING
+ - NOMAPPING
+ - NOMAXVALUE
+ - NO_MERGE
+ - NOMINIMIZE
+ - NOMINVALUE
+ - NO_MODEL_PUSH_REF
+ - NO_MONITOR
+ - NO_MONITORING
+ - NOMONITORING
+ - NO_MULTIMV_REWRITE
+ - NO_NATIVE_FULL_OUTER_JOIN
+ - NONE
+ - NO_NLJ_BATCHING
+ - NO_NLJ_PREFETCH
+ - NONSCHEMA
+ - NOORDER
+ - NO_ORDER_ROLLUPS
+ - NO_OUTER_JOIN_TO_INNER
+ - NOOVERRIDE
+ - NO_PARALLEL
+ - NOPARALLEL
+ - NO_PARALLEL_INDEX
+ - NOPARALLEL_INDEX
+ - NO_PARTIAL_COMMIT
+ - NO_PLACE_DISTINCT
+ - NO_PLACE_GROUP_BY
+ - NO_PQ_MAP
+ - NO_PRUNE_GSETS
+ - NO_PULL_PRED
+ - NO_PUSH_PRED
+ - NO_PUSH_SUBQ
+ - NO_PX_JOIN_FILTER
+ - NO_QKN_BUFF
+ - NO_QUERY_TRANSFORMATION
+ - NO_REF_CASCADE
+ - NORELY
+ - NOREPAIR
+ - NORESETLOGS
+ - NO_RESULT_CACHE
+ - NOREVERSE
+ - NO_REWRITE
+ - NOREWRITE
+ - NORMAL
+ - NOROWDEPENDENCIES
+ - NOSCHEMACHECK
+ - NOSEGMENT
+ - NO_SEMIJOIN
+ - NO_SET_TO_JOIN
+ - NOSORT
+ - NO_SQL_TUNE
+ - NO_STAR_TRANSFORMATION
+ - NO_STATEMENT_QUEUING
+ - NO_STATS_GSETS
+ - NOSTRICT
+ - NO_SUBQUERY_PRUNING
+ - NO_SUBSTRB_PAD
+ - NO_SWAP_JOIN_INPUTS
+ - NOSWITCH
+ - NOT
+ - NO_TEMP_TABLE
+ - NOTHING
+ - NOTIFICATION
+ - NO_TRANSFORM_DISTINCT_AGG
+ - NO_UNNEST
+ - NO_USE_HASH
+ - NO_USE_HASH_AGGREGATION
+ - NO_USE_INVISIBLE_INDEXES
+ - NO_USE_MERGE
+ - NO_USE_NL
+ - NOVALIDATE
+ - NOWAIT
+ - NO_XML_DML_REWRITE
+ - NO_XMLINDEX_REWRITE
+ - NO_XMLINDEX_REWRITE_IN_SELECT
+ - NO_XML_QUERY_REWRITE
+ - NTH_VALUE
+ - NTILE
+ - NULL
+ - NULLIF
+ - NULLS
+ - NUMBER
+ - NUMERIC
+ - NUM_INDEX_KEYS
+ - NUMTODSINTERVAL
+ - NUMTOYMINTERVAL
+ - NVARCHAR2
+ - NVL
+ - NVL2
+ - OBJECT
+ - OBJECTTOXML
+ - OBJNO
+ - OBJNO_REUSE
+ - OCCURENCES
+ - OF
+ - OFF
+ - OFFLINE
+ - OID
+ - OIDINDEX
+ - OLAP
+ - OLD
+ - OLD_PUSH_PRED
+ - OLTP
+ - ON
+ - ONLINE
+ - ONLY
+ - OPAQUE
+ - OPAQUE_TRANSFORM
+ - OPAQUE_XCANONICAL
+ - OPCODE
+ - OPEN
+ - OPERATIONS
+ - OPERATOR
+ - OPT_ESTIMATE
+ - OPTIMAL
+ - OPTIMIZER_FEATURES_ENABLE
+ - OPTIMIZER_GOAL
+ - OPTION
+ - OPT_PARAM
+ - OR
+ - ORA_BRANCH
+ - ORA_CHECKACL
+ - ORADEBUG
+ - ORA_DST_AFFECTED
+ - ORA_DST_CONVERT
+ - ORA_DST_ERROR
+ - ORA_GET_ACLIDS
+ - ORA_GET_PRIVILEGES
+ - ORA_HASH
+ - ORA_ROWSCN
+ - ORA_ROWSCN_RAW
+ - ORA_ROWVERSION
+ - ORA_TABVERSION
+ - ORDER
+ - ORDERED
+ - ORDERED_PREDICATES
+ - ORDINALITY
+ - OR_EXPAND
+ - ORGANIZATION
+ - OR_PREDICATES
+ - OTHER
+ - OUTER
+ - OUTER_JOIN_TO_INNER
+ - OUTLINE
+ - OUTLINE_LEAF
+ - OUT_OF_LINE
+ - OVER
+ - OVERFLOW
+ - OVERFLOW_NOMOVE
+ - OVERLAPS
+ - OWN
+ - OWNER
+ - OWNERSHIP
+ - P
+ - PACKAGE
+ - PACKAGES
+ - PARALLEL
+ - PARALLEL_INDEX
+ - PARAM
+ - PARAMETERS
+ - PARENT
+ - PARITY
+ - PARTIALLY
+ - PARTITION
+ - PARTITION_HASH
+ - PARTITION_LIST
+ - PARTITION_RANGE
+ - PARTITIONS
+ - PART$NUM$INST
+ - PASSING
+ - PASSWORD
+ - PASSWORD_GRACE_TIME
+ - PASSWORD_LIFE_TIME
+ - PASSWORD_LOCK_TIME
+ - PASSWORD_REUSE_MAX
+ - PASSWORD_REUSE_TIME
+ - PASSWORD_VERIFY_FUNCTION
+ - PATH
+ - PATHS
+ - PBL_HS_BEGIN
+ - PBL_HS_END
+ - PCTFREE
+ - PCTINCREASE
+ - PCTTHRESHOLD
+ - PCTUSED
+ - PCTVERSION
+ - PENDING
+ - PERCENT
+ - PERCENTILE_CONT
+ - PERCENTILE_DISC
+ - PERCENT_RANK
+ - PERCENT_RANKM
+ - PERFORMANCE
+ - PERMANENT
+ - PERMISSION
+ - PFILE
+ - PHYSICAL
+ - PIKEY
+ - PIV_GB
+ - PIVOT
+ - PIV_SSF
+ - PLACE_DISTINCT
+ - PLACE_GROUP_BY
+ - PLAN
+ - PLSCOPE_SETTINGS
+ - PLSQL_CCFLAGS
+ - PLSQL_CODE_TYPE
+ - PLSQL_DEBUG
+ - PLSQL_OPTIMIZE_LEVEL
+ - PLSQL_WARNINGS
+ - POINT
+ - POLICY
+ - POST_TRANSACTION
+ - POWER
+ - POWERMULTISET
+ - POWERMULTISET_BY_CARDINALITY
+ - PQ_DISTRIBUTE
+ - PQ_MAP
+ - PQ_NOMAP
+ - PREBUILT
+ - PRECEDES
+ - PRECEDING
+ - PRECISION
+ - PRECOMPUTE_SUBQUERY
+ - PREDICATE_REORDERS
+ - PREDICTION
+ - PREDICTION_BOUNDS
+ - PREDICTION_COST
+ - PREDICTION_DETAILS
+ - PREDICTION_PROBABILITY
+ - PREDICTION_SET
+ - PREPARE
+ - PRESENT
+ - PRESENTNNV
+ - PRESENTV
+ - PRESERVE
+ - PRESERVE_OID
+ - PREVIOUS
+ - PRIMARY
+ - PRIOR
+ - PRIVATE
+ - PRIVATE_SGA
+ - PRIVILEGE
+ - PRIVILEGES
+ - PROCEDURAL
+ - PROCEDURE
+ - PROCESS
+ - PROFILE
+ - PROGRAM
+ - PROJECT
+ - PROPAGATE
+ - PROTECTED
+ - PROTECTION
+ - PUBLIC
+ - PULL_PRED
+ - PURGE
+ - PUSH_PRED
+ - PUSH_SUBQ
+ - PX_GRANULE
+ - PX_JOIN_FILTER
+ - QB_NAME
+ - QUERY
+ - QUERY_BLOCK
+ - QUEUE
+ - QUEUE_CURR
+ - QUEUE_ROWP
+ - QUIESCE
+ - QUORUM
+ - QUOTA
+ - RANDOM
+ - RANDOM_LOCAL
+ - RANGE
+ - RANK
+ - RANKM
+ - RAPIDLY
+ - RATIO_TO_REPORT
+ - RAW
+ - RAWTOHEX
+ - RAWTONHEX
+ - RBA
+ - RBO_OUTLINE
+ - RDBA
+ - READ
+ - READS
+ - REAL
+ - REBALANCE
+ - REBUILD
+ - RECORDS_PER_BLOCK
+ - RECOVER
+ - RECOVERABLE
+ - RECOVERY
+ - RECYCLE
+ - RECYCLEBIN
+ - REDO
+ - REDUCED
+ - REDUNDANCY
+ - REF
+ - REF_CASCADE_CURSOR
+ - REFERENCE
+ - REFERENCED
+ - REFERENCES
+ - REFERENCING
+ - REFRESH
+ - REFTOHEX
+ - REGEXP_COUNT
+ - REGEXP_INSTR
+ - REGEXP_LIKE
+ - REGEXP_REPLACE
+ - REGEXP_SUBSTR
+ - REGISTER
+ - REGR_AVGX
+ - REGR_AVGY
+ - REGR_COUNT
+ - REGR_INTERCEPT
+ - REGR_R2
+ - REGR_SLOPE
+ - REGR_SXX
+ - REGR_SXY
+ - REGR_SYY
+ - REGULAR
+ - REJECT
+ - REKEY
+ - RELATIONAL
+ - RELY
+ - REMAINDER
+ - REMOTE_MAPPED
+ - REMOVE
+ - RENAME
+ - REPAIR
+ - REPEAT
+ - REPLACE
+ - REPLICATION
+ - REQUIRED
+ - RESET
+ - RESETLOGS
+ - RESIZE
+ - RESOLVE
+ - RESOLVER
+ - RESOURCE
+ - RESPECT
+ - RESTORE
+ - RESTORE_AS_INTERVALS
+ - RESTRICT
+ - RESTRICT_ALL_REF_CONS
+ - RESTRICTED
+ - RESULT_CACHE
+ - RESUMABLE
+ - RESUME
+ - RETENTION
+ - RETRY_ON_ROW_CHANGE
+ - RETURN
+ - RETURNING
+ - REUSE
+ - REVERSE
+ - REVOKE
+ - REWRITE
+ - REWRITE_OR_ERROR
+ - RIGHT
+ - ROLE
+ - ROLES
+ - ROLLBACK
+ - ROLLING
+ - ROLLUP
+ - ROUND
+ - ROW
+ - ROWDEPENDENCIES
+ - ROWID
+ - ROWIDTOCHAR
+ - ROWIDTONCHAR
+ - ROW_LENGTH
+ - ROWNUM
+ - ROW_NUMBER
+ - ROWS
+ - RPAD
+ - RTRIM
+ - RULE
+ - RULES
+ - SALT
+ - SAMPLE
+ - SAVE_AS_INTERVALS
+ - SAVEPOINT
+ - SB4
+ - SCALE
+ - SCALE_ROWS
+ - SCAN
+ - SCAN_INSTANCES
+ - SCHEDULER
+ - SCHEMA
+ - SCHEMACHECK
+ - SCN
+ - SCN_ASCENDING
+ - SCOPE
+ - SD_ALL
+ - SD_INHIBIT
+ - SD_SHOW
+ - SEARCH
+ - SECOND
+ - SECUREFILE
+ - SECUREFILE_DBA
+ - SECURITY
+ - SEED
+ - SEG_BLOCK
+ - SEG_FILE
+ - SEGMENT
+ - SELECT
+ - SELECTIVITY
+ - SEMIJOIN
+ - SEMIJOIN_DRIVER
+ - SEQUENCE
+ - SEQUENCED
+ - SEQUENTIAL
+ - SERIALIZABLE
+ - SERVERERROR
+ - SESSION
+ - SESSION_CACHED_CURSORS
+ - SESSIONS_PER_USER
+ - SESSIONTIMEZONE
+ - SESSIONTZNAME
+ - SET
+ - SETS
+ - SETTINGS
+ - SET_TO_JOIN
+ - SEVERE
+ - SHARE
+ - SHARED
+ - SHARED_POOL
+ - SHOW
+ - SHRINK
+ - SHUTDOWN
+ - SIBLINGS
+ - SID
+ - SIGN
+ - SIGNAL_COMPONENT
+ - SIGNAL_FUNCTION
+ - SIMPLE
+ - SIN
+ - SINGLE
+ - SINGLETASK
+ - SINH
+ - SIZE
+ - SKIP
+ - SKIP_EXT_OPTIMIZER
+ - SKIP_UNQ_UNUSABLE_IDX
+ - SKIP_UNUSABLE_INDEXES
+ - SMALLFILE
+ - SMALLINT
+ - SNAPSHOT
+ - SOME
+ - SORT
+ - SOUNDEX
+ - SOURCE
+ - SPACE
+ - SPECIFICATION
+ - SPFILE
+ - SPLIT
+ - SPREADSHEET
+ - SQL
+ - SQLLDR
+ - SQL_TRACE
+ - SQRT
+ - STALE
+ - STANDALONE
+ - STANDBY
+ - STANDBY_MAX_DATA_DELAY
+ - STAR
+ - START
+ - STAR_TRANSFORMATION
+ - STARTUP
+ - STATEMENT_ID
+ - STATEMENT_QUEUING
+ - STATEMENTS
+ - STATIC
+ - STATISTICS
+ - STATS_BINOMIAL_TEST
+ - STATS_CROSSTAB
+ - STATS_F_TEST
+ - STATS_KS_TEST
+ - STATS_MODE
+ - STATS_MW_TEST
+ - STATS_ONE_WAY_ANOVA
+ - STATS_T_TEST_INDEP
+ - STATS_T_TEST_INDEPU
+ - STATS_T_TEST_ONE
+ - STATS_T_TEST_PAIRED
+ - STATS_WSR_TEST
+ - STDDEV
+ - STDDEV_POP
+ - STDDEV_SAMP
+ - STOP
+ - STORAGE
+ - STORE
+ - STREAMS
+ - STRICT
+ - STRING
+ - STRIP
+ - STRIPE_COLUMNS
+ - STRIPE_WIDTH
+ - STRUCTURE
+ - SUBMULTISET
+ - SUBPARTITION
+ - SUBPARTITION_REL
+ - SUBPARTITIONS
+ - SUBQUERIES
+ - SUBQUERY_PRUNING
+ - SUBSTITUTABLE
+ - SUBSTR
+ - SUBSTRB
+ - SUBSTRC
+ - SUBSTR2
+ - SUBSTR4
+ - SUCCESSFUL
+ - SUM
+ - SUMMARY
+ - SUPPLEMENTAL
+ - SUSPEND
+ - SWAP_JOIN_INPUTS
+ - SWITCH
+ - SWITCHOVER
+ - SYNC
+ - SYNCHRONOUS
+ - SYNONYM
+ - SYSASM
+ - SYS_AUDIT
+ - SYSAUX
+ - SYS_CHECKACL
+ - SYS_CONNECT_BY_PATH
+ - SYS_CONTEXT
+ - SYSDATE
+ - SYSDBA
+ - SYS_DBURIGEN
+ - SYS_DL_CURSOR
+ - SYS_DM_RXFORM_CHR
+ - SYS_DM_RXFORM_NUM
+ - SYS_DOM_COMPARE
+ - SYS_DST_PRIM2SEC
+ - SYS_DST_SEC2PRIM
+ - SYS_ET_BFILE_TO_RAW
+ - SYS_ET_BLOB_TO_IMAGE
+ - SYS_ET_IMAGE_TO_BLOB
+ - SYS_ET_RAW_TO_BFILE
+ - SYS_EXTPDTXT
+ - SYS_EXTRACT_UTC
+ - SYS_FBT_INSDEL
+ - SYS_FILTER_ACLS
+ - SYS_GET_ACLIDS
+ - SYS_GET_PRIVILEGES
+ - SYS_GETTOKENID
+ - SYS_GUID
+ - SYS_MAKEXML
+ - SYS_MAKE_XMLNODEID
+ - SYS_MKXMLATTR
+ - SYS_OP_ADTCONS
+ - SYS_OP_ADT2BIN
+ - SYS_OP_ALSCRVAL
+ - SYS_OP_ATG
+ - SYS_OP_BIN2ADT
+ - SYS_OP_BITVEC
+ - SYS_OP_BLOOM_FILTER
+ - SYS_OP_BLOOM_FILTER_LIST
+ - SYS_OP_BL2R
+ - SYS_OP_CAST
+ - SYS_OP_CEG
+ - SYS_OP_CL2C
+ - SYS_OP_COMBINED_HASH
+ - SYS_OP_COMP
+ - SYS_OP_CONVERT
+ - SYS_OP_COUNTCHG
+ - SYS_OP_CSCONV
+ - SYS_OP_CSCONVTEST
+ - SYS_OP_CSR
+ - SYS_OP_CSX_PATCH
+ - SYS_OP_C2C
+ - SYS_OP_DECOMP
+ - SYS_OP_DESCEND
+ - SYS_OP_DISTINCT
+ - SYS_OP_DRA
+ - SYS_OP_DUMP
+ - SYS_OP_ENFORCE_NOT_NULL$
+ - SYSOPER
+ - SYS_OP_EXTRACT
+ - SYS_OP_GROUPING
+ - SYS_OP_GUID
+ - SYS_OP_IIX
+ - SYS_OP_ITR
+ - SYS_OP_LBID
+ - SYS_OP_LOBLOC2BLOB
+ - SYS_OP_LOBLOC2CLOB
+ - SYS_OP_LOBLOC2ID
+ - SYS_OP_LOBLOC2NCLOB
+ - SYS_OP_LOBLOC2TYP
+ - SYS_OP_LSVI
+ - SYS_OP_LVL
+ - SYS_OP_MAKEOID
+ - SYS_OP_MAP_NONNULL
+ - SYS_OP_MSR
+ - SYS_OP_NICOMBINE
+ - SYS_OP_NIEXTRACT
+ - SYS_OP_NII
+ - SYS_OP_NIX
+ - SYS_OP_NOEXPAND
+ - SYS_OP_NTCIMG$
+ - SYS_OP_NUMTORAW
+ - SYS_OP_OIDVALUE
+ - SYS_OP_OPNSIZE
+ - SYS_OP_PAR
+ - SYS_OP_PARGID
+ - SYS_OP_PARGID_1
+ - SYS_OP_PAR_1
+ - SYS_OP_PIVOT
+ - SYS_OP_RAWTONUM
+ - SYS_OP_RDTM
+ - SYS_OP_REF
+ - SYS_OP_RMTD
+ - SYS_OP_ROWIDTOOBJ
+ - SYS_OP_RPB
+ - SYS_OP_R2O
+ - SYS_OPTLOBPRBSC
+ - SYS_OP_TOSETID
+ - SYS_OP_TPR
+ - SYS_OP_TRTB
+ - SYS_OPTXICMP
+ - SYS_OPTXQCASTASNQ
+ - SYS_OP_UNDESCEND
+ - SYS_OP_VECAND
+ - SYS_OP_VECBIT
+ - SYS_OP_VECOR
+ - SYS_OP_VECXOR
+ - SYS_OP_VERSION
+ - SYS_OP_VREF
+ - SYS_OP_VVD
+ - SYS_OP_XPTHATG
+ - SYS_OP_XPTHIDX
+ - SYS_OP_XPTHOP
+ - SYS_OP_XTXT2SQLT
+ - SYS_ORDERKEY_DEPTH
+ - SYS_ORDERKEY_MAXCHILD
+ - SYS_ORDERKEY_PARENT
+ - SYS_PARALLEL_TXN
+ - SYS_PATHID_IS_ATTR
+ - SYS_PATHID_IS_NMSPC
+ - SYS_PATHID_LASTNAME
+ - SYS_PATHID_LASTNMSPC
+ - SYS_PATH_REVERSE
+ - SYS_PXQEXTRACT
+ - SYS_RID_ORDER
+ - SYS_ROW_DELTA
+ - SYS_SC_2_XMLT
+ - SYS_SYNRCIREDO
+ - SYSTEM
+ - SYSTEM_DEFINED
+ - SYSTIMESTAMP
+ - SYS_TYPEID
+ - SYS_UMAKEXML
+ - SYS_XMLANALYZE
+ - SYS_XMLCONTAINS
+ - SYS_XMLCONV
+ - SYS_XMLEXNSURI
+ - SYS_XMLGEN
+ - SYS_XMLI_LOC_ISNODE
+ - SYS_XMLI_LOC_ISTEXT
+ - SYS_XMLLOCATOR_GETSVAL
+ - SYS_XMLNODEID
+ - SYS_XMLNODEID_GETCID
+ - SYS_XMLNODEID_GETLOCATOR
+ - SYS_XMLNODEID_GETOKEY
+ - SYS_XMLNODEID_GETPATHID
+ - SYS_XMLNODEID_GETPTRID
+ - SYS_XMLNODEID_GETRID
+ - SYS_XMLNODEID_GETSVAL
+ - SYS_XMLNODEID_GETTID
+ - SYS_XMLTRANSLATE
+ - SYS_XMLTYPE2SQL
+ - SYS_XMLT_2_SC
+ - SYS_XQ_ASQLCNV
+ - SYS_XQ_ATOMCNVCHK
+ - SYS_XQBASEURI
+ - SYS_XQCASTABLEERRH
+ - SYS_XQCODEPEQ
+ - SYS_XQCODEP2STR
+ - SYS_XQCONCAT
+ - SYS_XQCON2SEQ
+ - SYS_XQDELETE
+ - SYS_XQDFLTCOLATION
+ - SYS_XQDOC
+ - SYS_XQDOCURI
+ - SYS_XQED4URI
+ - SYS_XQENDSWITH
+ - SYS_XQERR
+ - SYS_XQERRH
+ - SYS_XQESHTMLURI
+ - SYS_XQEXLOBVAL
+ - SYS_XQEXSTWRP
+ - SYS_XQEXTRACT
+ - SYS_XQEXTRREF
+ - SYS_XQEXVAL
+ - SYS_XQFB2STR
+ - SYS_XQFNBOOL
+ - SYS_XQFNCMP
+ - SYS_XQFNDATIM
+ - SYS_XQFNLNAME
+ - SYS_XQFNNM
+ - SYS_XQFNNSURI
+ - SYS_XQFNPREDTRUTH
+ - SYS_XQFNQNM
+ - SYS_XQFNROOT
+ - SYS_XQFORMATNUM
+ - SYS_XQFTCONTAIN
+ - SYS_XQFUNCR
+ - SYS_XQGETCONTENT
+ - SYS_XQINDXOF
+ - SYS_XQINSERT
+ - SYS_XQINSPFX
+ - SYS_XQIRI2URI
+ - SYS_XQLANG
+ - SYS_XQLLNMFRMQNM
+ - SYS_XQMKNODEREF
+ - SYS_XQNILLED
+ - SYS_XQNODENAME
+ - SYS_XQNORMSPACE
+ - SYS_XQNORMUCODE
+ - SYS_XQ_NRNG
+ - SYS_XQNSPFRMQNM
+ - SYS_XQNSP4PFX
+ - SYS_XQPFXFRMQNM
+ - SYS_XQ_PKSQL2XML
+ - SYS_XQPOLYABS
+ - SYS_XQPOLYADD
+ - SYS_XQPOLYCEL
+ - SYS_XQPOLYCST
+ - SYS_XQPOLYCSTBL
+ - SYS_XQPOLYDIV
+ - SYS_XQPOLYFLR
+ - SYS_XQPOLYMOD
+ - SYS_XQPOLYMUL
+ - SYS_XQPOLYRND
+ - SYS_XQPOLYSQRT
+ - SYS_XQPOLYSUB
+ - SYS_XQPOLYUMUS
+ - SYS_XQPOLYUPLS
+ - SYS_XQPOLYVEQ
+ - SYS_XQPOLYVGE
+ - SYS_XQPOLYVGT
+ - SYS_XQPOLYVLE
+ - SYS_XQPOLYVLT
+ - SYS_XQPOLYVNE
+ - SYS_XQREF2VAL
+ - SYS_XQRENAME
+ - SYS_XQREPLACE
+ - SYS_XQRESVURI
+ - SYS_XQRNDHALF2EVN
+ - SYS_XQRSLVQNM
+ - SYS_XQRYENVPGET
+ - SYS_XQRYVARGET
+ - SYS_XQRYWRP
+ - SYS_XQSEQDEEPEQ
+ - SYS_XQSEQINSB
+ - SYS_XQSEQRM
+ - SYS_XQSEQRVS
+ - SYS_XQSEQSUB
+ - SYS_XQSEQTYPMATCH
+ - SYS_XQSEQ2CON
+ - SYS_XQSEQ2CON4XC
+ - SYS_XQSTARTSWITH
+ - SYS_XQSTATBURI
+ - SYS_XQSTRJOIN
+ - SYS_XQSTR2CODEP
+ - SYS_XQSUBSTRAFT
+ - SYS_XQSUBSTRBEF
+ - SYS_XQTOKENIZE
+ - SYS_XQTREATAS
+ - SYS_XQ_UPKXML2SQL
+ - SYS_XQXFORM
+ - T
+ - TABLE
+ - TABLES
+ - TABLESPACE
+ - TABLESPACE_NO
+ - TABLE_STATS
+ - TABNO
+ - TAN
+ - TANH
+ - TBL$OR$IDX$PART$NUM
+ - TEMPFILE
+ - TEMPLATE
+ - TEMPORARY
+ - TEMP_TABLE
+ - TEST
+ - THAN
+ - THE
+ - THEN
+ - THREAD
+ - THROUGH
+ - TIME
+ - TIMEOUT
+ - TIMES
+ - TIMESTAMP
+ - TIME_ZONE
+ - TIMEZONE_ABBR
+ - TIMEZONE_HOUR
+ - TIMEZONE_MINUTE
+ - TIMEZONE_OFFSET
+ - TIMEZONE_REGION
+ - TIV_GB
+ - TIV_SSF
+ - TO
+ - TO_BINARY_DOUBLE
+ - TO_BINARY_FLOAT
+ - TO_BLOB
+ - TO_CHAR
+ - TO_CLOB
+ - TO_DATE
+ - TO_DSINTERVAL
+ - TO_LOB
+ - TO_MULTI_BYTE
+ - TO_NCHAR
+ - TO_NCLOB
+ - TO_NUMBER
+ - TOPLEVEL
+ - TO_SINGLE_BYTE
+ - TO_TIME
+ - TO_TIMESTAMP
+ - TO_TIMESTAMP_TZ
+ - TO_TIME_TZ
+ - TO_YMINTERVAL
+ - TRACE
+ - TRACING
+ - TRACKING
+ - TRAILING
+ - TRANSACTION
+ - TRANSFORM_DISTINCT_AGG
+ - TRANSITION
+ - TRANSITIONAL
+ - TRANSLATE
+ - TREAT
+ - TRIGGER
+ - TRIGGERS
+ - TRIM
+ - TRUE
+ - TRUNC
+ - TRUNCATE
+ - TRUSTED
+ - TUNING
+ - TX
+ - TYPE
+ - TYPES
+ - TZ_OFFSET
+ - U
+ - UBA
+ - UB2
+ - UID
+ - UNARCHIVED
+ - UNBOUND
+ - UNBOUNDED
+ - UNDER
+ - UNDO
+ - UNDROP
+ - UNIFORM
+ - UNION
+ - UNIQUE
+ - UNISTR
+ - UNLIMITED
+ - UNLOCK
+ - UNNEST
+ - UNPACKED
+ - UNPIVOT
+ - UNPROTECTED
+ - UNQUIESCE
+ - UNRECOVERABLE
+ - UNRESTRICTED
+ - UNTIL
+ - UNUSABLE
+ - UNUSED
+ - UPDATABLE
+ - UPDATE
+ - UPDATED
+ - UPDATEXML
+ - UPD_INDEXES
+ - UPD_JOININDEX
+ - UPGRADE
+ - UPPER
+ - UPSERT
+ - UROWID
+ - USAGE
+ - USE
+ - USE_ANTI
+ - USE_CONCAT
+ - USE_HASH
+ - USE_HASH_AGGREGATION
+ - USE_INVISIBLE_INDEXES
+ - USE_MERGE
+ - USE_MERGE_CARTESIAN
+ - USE_NL
+ - USE_NL_WITH_INDEX
+ - USE_PRIVATE_OUTLINES
+ - USER
+ - USER_DEFINED
+ - USERENV
+ - USERGROUP
+ - USER_RECYCLEBIN
+ - USERS
+ - USE_SEMI
+ - USE_STORED_OUTLINES
+ - USE_TTT_FOR_GSETS
+ - USE_WEAK_NAME_RESL
+ - USING
+ - VALIDATE
+ - VALIDATION
+ - VALUE
+ - VALUES
+ - VARCHAR
+ - VARCHAR2
+ - VARIANCE
+ - VAR_POP
+ - VARRAY
+ - VARRAYS
+ - VAR_SAMP
+ - VARYING
+ - VECTOR_READ
+ - VECTOR_READ_TRACE
+ - VERIFY
+ - VERSION
+ - VERSIONING
+ - VERSIONS
+ - VERSIONS_ENDSCN
+ - VERSIONS_ENDTIME
+ - VERSIONS_OPERATION
+ - VERSIONS_STARTSCN
+ - VERSIONS_STARTTIME
+ - VERSIONS_XID
+ - VIEW
+ - VIRTUAL
+ - VISIBLE
+ - VOLUME
+ - VSIZE
+ - WAIT
+ - WALLET
+ - WELLFORMED
+ - WHEN
+ - WHENEVER
+ - WHERE
+ - WHILE
+ - WHITESPACE
+ - WIDTH_BUCKET
+ - WITH
+ - WITHIN
+ - WITHOUT
+ - WORK
+ - WRAPPED
+ - WRITE
+ - X_DYN_PRUNE
+ - XID
+ - XML
+ - XMLATTRIBUTES
+ - XMLCAST
+ - XMLCDATA
+ - XMLCOLATTVAL
+ - XMLCOMMENT
+ - XMLCONCAT
+ - XMLDIFF
+ - XML_DML_RWT_STMT
+ - XMLELEMENT
+ - XMLEXISTS
+ - XMLEXISTS2
+ - XMLFOREST
+ - XMLINDEX_REWRITE
+ - XMLINDEX_REWRITE_IN_SELECT
+ - XMLINDEX_SEL_IDX_TBL
+ - XMLISNODE
+ - XMLISVALID
+ - XMLNAMESPACES
+ - XMLPARSE
+ - XMLPATCH
+ - XMLPI
+ - XMLQUERY
+ - XMLROOT
+ - XMLSCHEMA
+ - XMLSERIALIZE
+ - XMLTABLE
+ - XMLTOOBJECT
+ - XMLTRANSFORM
+ - XMLTRANSFORMBLOB
+ - XMLTYPE
+ - XPATHTABLE
+ - XS_SYS_CONTEXT
+ - YEAR
+ - YES
+ - ZONE
+
+
+ - +
+ - -
+ - *
+ - /
+ - ||
+ - =
+ - !=
+ - ^=
+ - <>
+ - <
+ - <=
+ - >
+ - >=
+ - :=
+ - =>
+ - **
+ - ..
+
+
+ - ABS
+ - ACOS
+ - ADD_MONTHS
+ - ASCII
+ - ASCIISTR
+ - ASIN
+ - ATAN
+ - ATAN2
+ - AVG
+ - BFILENAME
+ - BIN_TO_NUM
+ - BITAND
+ - CARDINALITY
+ - CAST
+ - CEIL
+ - CHARTOROWID
+ - CHR
+ - COALESCE
+ - COLLECT
+ - COMPOSE
+ - CONCAT
+ - CONVERT
+ - CONTAINS
+ - CORR
+ - CORR_K
+ - CORR_S
+ - COS
+ - COSH
+ - COUNT
+ - COVAR_POP
+ - COVAR_SAMP
+ - CUME_DIST
+ - CURRENT_DATE
+ - CURRENT_TIMESTAMP
+ - CV
+ - DBTIMEZONE
+ - DECODE
+ - DECOMPOSE
+ - DENSE_RANK
+ - DEPTH
+ - DEREF
+ - DUMP
+ - EMPTY_BLOB
+ - EMPTY_CLOB
+ - EXISTSNODE
+ - EXP
+ - EXTRACT
+ - EXTRACTVALUE
+ - FIRST
+ - FIRST_VALUE
+ - FLOOR
+ - FROM_TZ
+ - GREATEST
+ - GROUP_ID
+ - GROUPING
+ - GROUPING_ID
+ - HEXTORAW
+ - INITCAP
+ - INSTR
+ - INSTRB
+ - LAG
+ - LAST
+ - LAST_DAY
+ - LAST_VALUE
+ - LEAD
+ - LEAST
+ - LENGTH
+ - LENGTHB
+ - LN
+ - LNNVL
+ - LOCALTIMESTAMP
+ - LOG
+ - LOWER
+ - LPAD
+ - LTRIM
+ - MAKE_REF
+ - MAX
+ - MEDIAN
+ - MIN
+ - MOD
+ - MONTHS_BETWEEN
+ - NANVL
+ - NCHR
+ - NEW_TIME
+ - NEXT_DAY
+ - NLS_CHARSET_DECL_LEN
+ - NLS_CHARSET_ID
+ - NLS_CHARSET_NAME
+ - NLS_INITCAP
+ - NLS_LOWER
+ - NLS_UPPER
+ - NLSSORT
+ - NTILE
+ - NULLIF
+ - NUMTODSINTERVAL
+ - NUMTOYMINTERVAL
+ - NVL
+ - NVL2
+ - ORA_HASH
+ - ORA_ROWSCN
+ - PERCENT_RANK
+ - PERCENTILE_CONT
+ - PERCENTILE_DISC
+ - POWER
+ - POWERMULTISET
+ - POWERMULTISET_BY_CARDINALITY
+ - PRESENTNNV
+ - PRESENTV
+ - RANK
+ - RATIO_TO_REPORT
+ - RAWTOHEX
+ - RAWTONHEX
+ - REF
+ - REFTOHEX
+ - REGEXP_INSTR
+ - REGEXP_LIKE
+ - REGEXP_REPLACE
+ - REGEXP_SUBSTR
+ - REGR_SLOPE
+ - REGR_INTERCEPT
+ - REGR_COUNT
+ - REGR_R2
+ - REGR_AVGX
+ - REGR_AVGY
+ - REGR_SXX
+ - REGR_SYY
+ - REGR_SXY
+ - REMAINDER
+ - ROUND
+ - ROW_NUMBER
+ - ROWIDTOCHAR
+ - ROWIDTONCHAR
+ - RPAD
+ - RTRIM
+ - SCN_TO_TIMESTAMP
+ - SESSIONTIMEZONE
+ - SIGN
+ - SIN
+ - SINH
+ - SOUNDEX
+ - SQRT
+ - STATS_BINOMIAL_TEST
+ - STATS_CROSSTAB
+ - STATS_F_TEST
+ - STATS_KS_TEST
+ - STATS_MODE
+ - STATS_MW_TEST
+ - STATS_ONE_WAY_ANOVA
+ - STATS_T_TEST_ONE
+ - STATS_T_TEST_PAIRED
+ - STATS_T_TEST_INDEP
+ - STATS_T_TEST_INDEPU
+ - STATS_WSR_TEST
+ - STDDEV
+ - STDDEV_POP
+ - STDDEV_SAMP
+ - SUBSTR
+ - SUBSTRB
+ - SUM
+ - SYS_CONNECT_BY_PATH
+ - SYS_CONTEXT
+ - SYS_DBURIGEN
+ - SYS_EXTRACT_UTC
+ - SYS_GUID
+ - SYS_TYPEID
+ - SYS_XMLAGG
+ - SYS_XMLGEN
+ - SYSDATE
+ - SYSTIMESTAMP
+ - TAN
+ - TANH
+ - TIMESTAMP_TO_SCN
+ - TO_BINARY_DOUBLE
+ - TO_BINARY_FLOAT
+ - TO_CHAR
+ - TO_CLOB
+ - TO_DATE
+ - TO_DSINTERVAL
+ - TO_LOB
+ - TO_MULTI_BYTE
+ - TO_NCHAR
+ - TO_NCLOB
+ - TO_NUMBER
+ - TO_SINGLE_BYTE
+ - TO_TIMESTAMP
+ - TO_TIMESTAMP_TZ
+ - TO_YMINTERVAL
+ - TRANSLATE
+ - TREAT
+ - TRIM
+ - TRUNC
+ - TZ_OFFSET
+ - UID
+ - UNISTR
+ - UPDATEXML
+ - UPPER
+ - USER
+ - USERENV
+ - VALUE
+ - VAR_POP
+ - VAR_SAMP
+ - VARIANCE
+ - VSIZE
+ - WIDTH_BUCKET
+ - XMLAGG
+ - XMLCOLATTVAL
+ - XMLCONCAT
+ - XMLELEMENT
+ - XMLFOREST
+ - XMLSEQUENCE
+ - XMLTRANSFORM
+
+
+ - ANYDATA
+ - ANYDATASET
+ - ANYTYPE
+ - ARRAY
+ - BFILE
+ - BINARY_DOUBLE
+ - BINARY_FLOAT
+ - BINARY_INTEGER
+ - BLOB
+ - BOOLEAN
+ - CFILE
+ - CHAR
+ - CHARACTER
+ - CLOB
+ - DATE
+ - DAY
+ - DBURITYPE
+ - DEC
+ - DECIMAL
+ - DOUBLE
+ - FLOAT
+ - FLOB
+ - HTTPURITYPE
+ - INT
+ - INTEGER
+ - INTERVAL
+ - LOB
+ - LONG
+ - MLSLABEL
+ - MONTH
+ - NATIONAL
+ - NCHAR
+ - NCLOB
+ - NUMBER
+ - NUMERIC
+ - NVARCHAR
+ - OBJECT
+ - PLS_INTEGER
+ - PRECISION
+ - RAW
+ - RECORD
+ - REFCURSOR
+ - REAL
+ - ROWID
+ - SECOND
+ - SINGLE
+ - SMALLINT
+ - TIME
+ - TIMESTAMP
+ - URIFACTORYTYPE
+ - URITYPE
+ - UROWID
+ - VARCHAR
+ - VARCHAR2
+ - VARYING
+ - VARRAY
+ - XMLTYPE
+ - YEAR
+ - ZONE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sql-postgresql.xml b/data/syntax/sql-postgresql.xml
new file mode 100644
index 0000000..e186e4b
--- /dev/null
+++ b/data/syntax/sql-postgresql.xml
@@ -0,0 +1,813 @@
+
+
+
+
+
+
+ - ABORT
+ - ACCESS
+ - ACTION
+ - ADD
+ - ADMIN
+ - AFTER
+ - AGGREGATE
+ - ALIAS
+ - ALL
+ - ALLOCATE
+ - ALTER
+ - ANALYSE
+ - ANALYZE
+ - ANY
+ - ARE
+ - AS
+ - ASC
+ - ASENSITIVE
+ - ASSERTION
+ - ASSIGNMENT
+ - ASYMMETRIC
+ - AT
+ - ATOMIC
+ - AUTHORIZATION
+ - BACKWARD
+ - BEFORE
+ - BEGIN
+ - BETWEEN
+ - BINARY
+ - BOTH
+ - BREADTH
+ - BY
+ - C
+ - CACHE
+ - CALL
+ - CALLED
+ - CARDINALITY
+ - CASCADE
+ - CASCADED
+ - CASE
+ - CAST
+ - CATALOG
+ - CATALOG_NAME
+ - CHAIN
+ - CHARACTERISTICS
+ - CHARACTER_LENGTH
+ - CHARACTER_SET_CATALOG
+ - CHARACTER_SET_NAME
+ - CHARACTER_SET_SCHEMA
+ - CHAR_LENGTH
+ - CHECK
+ - CHECKED
+ - CHECKPOINT
+ - CLASS
+ - CLASS_ORIGIN
+ - CLOB
+ - CLOSE
+ - CLUSTER
+ - COALESCE
+ - COBOL
+ - COLLATE
+ - COLLATION
+ - COLLATION_CATALOG
+ - COLLATION_NAME
+ - COLLATION_SCHEMA
+ - COLUMN
+ - COLUMN_NAME
+ - COMMAND_FUNCTION
+ - COMMAND_FUNCTION_CODE
+ - COMMENT
+ - COMMIT
+ - COMMITTED
+ - COMPLETION
+ - CONDITION_NUMBER
+ - CONNECT
+ - CONNECTION
+ - CONNECTION_NAME
+ - CONSTRAINTS
+ - CONSTRAINT
+ - CONSTRAINT_CATALOG
+ - CONSTRAINT_NAME
+ - CONSTRAINT_SCHEMA
+ - CONSTRUCTOR
+ - CONTAINS
+ - CONTINUE
+ - CONVERT
+ - COPY
+ - CORRESPONDING
+ - COUNT
+ - CREATE
+ - CREATEDB
+ - CREATEUSER
+ - CROSS
+ - CUBE
+ - CURRENT
+ - CURRENT_DATE
+ - CURRENT_PATH
+ - CURRENT_ROLE
+ - CURRENT_TIME
+ - CURRENT_TIMESTAMP
+ - CURRENT_USER
+ - CURSOR
+ - CURSOR_NAME
+ - CYCLE
+ - DATA
+ - DATABASE
+ - DATE
+ - DATETIME_INTERVAL_CODE
+ - DATETIME_INTERVAL_PRECISION
+ - DAY
+ - DEALLOCATE
+ - DEC
+ - DECIMAL
+ - DECLARE
+ - DEFAULT
+ - DEFERRABLE
+ - DEFERRED
+ - DEFINED
+ - DEFINER
+ - DELETE
+ - DELIMITERS
+ - DEPTH
+ - DEREF
+ - DESC
+ - DESCRIBE
+ - DESCRIPTOR
+ - DESTROY
+ - DESTRUCTOR
+ - DETERMINISTIC
+ - DIAGNOSTICS
+ - DICTIONARY
+ - DISCONNECT
+ - DISPATCH
+ - DISTINCT
+ - DO
+ - DOMAIN
+ - DOUBLE
+ - DROP
+ - DYNAMIC
+ - DYNAMIC_FUNCTION
+ - DYNAMIC_FUNCTION_CODE
+ - EACH
+ - ELSE
+ - ENCODING
+ - ENCRYPTED
+ - END
+ - END-EXEC
+ - EQUALS
+ - ESCAPE
+ - EVERY
+ - EXCEPT
+ - EXCEPTION
+ - EXCLUSIVE
+ - EXEC
+ - EXECUTE
+ - EXISTING
+ - EXISTS
+ - EXPLAIN
+ - EXTERNAL
+ - FALSE
+ - FETCH
+ - FINAL
+ - FIRST
+ - FOR
+ - FORCE
+ - FOREIGN
+ - FORTRAN
+ - FORWARD
+ - FOUND
+ - FREE
+ - FREEZE
+ - FROM
+ - FULL
+ - FUNCTION
+ - G
+ - GENERAL
+ - GENERATED
+ - GET
+ - GLOBAL
+ - GO
+ - GOTO
+ - GRANT
+ - GRANTED
+ - GROUP
+ - GROUPING
+ - HANDLER
+ - HAVING
+ - HIERARCHY
+ - HOLD
+ - HOST
+ - HOUR
+ - IDENTITY
+ - IGNORE
+ - ILIKE
+ - IMMEDIATE
+ - IMMUTABLE
+ - IMPLEMENTATION
+ - IN
+ - INCREMENT
+ - INDEX
+ - INDICATOR
+ - INFIX
+ - INHERITS
+ - INITIALIZE
+ - INITIALLY
+ - INNER
+ - INOUT
+ - INPUT
+ - INSENSITIVE
+ - INSERT
+ - INSTANCE
+ - INSTANTIABLE
+ - INSTEAD
+ - INTERSECT
+ - INTERVAL
+ - INTO
+ - INVOKER
+ - IS
+ - ISNULL
+ - ISOLATION
+ - ITERATE
+ - JOIN
+ - K
+ - KEY
+ - KEY_MEMBER
+ - KEY_TYPE
+ - LANCOMPILER
+ - LANGUAGE
+ - LARGE
+ - LAST
+ - LATERAL
+ - LEADING
+ - LEFT
+ - LENGTH
+ - LESS
+ - LEVEL
+ - LIKE
+ - LIMIT
+ - LISTEN
+ - LOAD
+ - LOCAL
+ - LOCALTIME
+ - LOCALTIMESTAMP
+ - LOCATION
+ - LOCATOR
+ - LOCK
+ - LOWER
+ - M
+ - MAP
+ - MATCH
+ - MAX
+ - MAXVALUE
+ - MESSAGE_LENGTH
+ - MESSAGE_OCTET_LENGTH
+ - MESSAGE_TEXT
+ - METHOD
+ - MIN
+ - MINUTE
+ - MINVALUE
+ - MOD
+ - MODE
+ - MODIFIES
+ - MODIFY
+ - MODULE
+ - MONTH
+ - MORE
+ - MOVE
+ - MUMPS
+ - NAME
+ - NAMES
+ - NATIONAL
+ - NATURAL
+ - NEW
+ - NEXT
+ - NO
+ - NOCREATEDB
+ - NOCREATEUSER
+ - NONE
+ - NOT
+ - NOTHING
+ - NOTIFY
+ - NOTNULL
+ - NULL
+ - NULLABLE
+ - NULLIF
+ - NUMBER
+ - NUMERIC
+ - OBJECT
+ - OCTET_LENGTH
+ - OF
+ - OFF
+ - OFFSET
+ - OIDS
+ - OLD
+ - ON
+ - ONLY
+ - OPEN
+ - OPERATION
+ - OPERATOR
+ - OPTION
+ - OPTIONS
+ - ORDER
+ - ORDINALITY
+ - OUT
+ - OUTER
+ - OUTPUT
+ - OVERLAPS
+ - OVERLAY
+ - OVERRIDING
+ - OWNER
+ - PAD
+ - PARAMETER
+ - PARAMETERS
+ - PARAMETER_MODE
+ - PARAMETER_NAME
+ - PARAMETER_ORDINAL_POSITION
+ - PARAMETER_SPECIFIC_CATALOG
+ - PARAMETER_SPECIFIC_NAME
+ - PARAMETER_SPECIFIC_SCHEMA
+ - PARTIAL
+ - PASCAL
+ - PASSWORD
+ - PATH
+ - PENDANT
+ - PLI
+ - POSITION
+ - POSTFIX
+ - PRECISION
+ - PREFIX
+ - PREORDER
+ - PREPARE
+ - PRESERVE
+ - PRIMARY
+ - PRIOR
+ - PRIVILEGES
+ - PROCEDURAL
+ - PROCEDURE
+ - PUBLIC
+ - READ
+ - READS
+ - REAL
+ - RECURSIVE
+ - REF
+ - REFERENCES
+ - REFERENCING
+ - REINDEX
+ - RELATIVE
+ - RENAME
+ - REPEATABLE
+ - REPLACE
+ - RESET
+ - RESTRICT
+ - RESULT
+ - RETURN
+ - RETURNED_LENGTH
+ - RETURNED_OCTET_LENGTH
+ - RETURNED_SQLSTATE
+ - RETURNS
+ - REVOKE
+ - RIGHT
+ - ROLE
+ - ROLLBACK
+ - ROLLUP
+ - ROUTINE
+ - ROUTINE_CATALOG
+ - ROUTINE_NAME
+ - ROUTINE_SCHEMA
+ - ROW
+ - ROWS
+ - ROW_COUNT
+ - RULE
+ - SAVEPOINT
+ - SCALE
+ - SCHEMA
+ - SCHEMA_NAME
+ - SCOPE
+ - SCROLL
+ - SEARCH
+ - SECOND
+ - SECTION
+ - SECURITY
+ - SELECT
+ - SELF
+ - SENSITIVE
+ - SEQUENCE
+ - SERIALIZABLE
+ - SERVER_NAME
+ - SESSION
+ - SESSION_USER
+ - SET
+ - SETOF
+ - SETS
+ - SHARE
+ - SHOW
+ - SIMILAR
+ - SIMPLE
+ - SIZE
+ - SOME
+ - SOURCE
+ - SPACE
+ - SPECIFIC
+ - SPECIFICTYPE
+ - SPECIFIC_NAME
+ - SQL
+ - SQLCODE
+ - SQLERROR
+ - SQLEXCEPTION
+ - SQLSTATE
+ - SQLWARNING
+ - STABLE
+ - START
+ - STATE
+ - STATEMENT
+ - STATIC
+ - STATISTICS
+ - STDIN
+ - STDOUT
+ - STRUCTURE
+ - STYLE
+ - SUBCLASS_ORIGIN
+ - SUBLIST
+ - SUBSTRING
+ - SUM
+ - SYMMETRIC
+ - SYSID
+ - SYSTEM
+ - SYSTEM_USER
+ - TABLE
+ - TABLE_NAME
+ - TEMP
+ - TEMPLATE
+ - TEMPORARY
+ - TERMINATE
+ - THAN
+ - THEN
+ - TIMEZONE_HOUR
+ - TIMEZONE_MINUTE
+ - TO
+ - TOAST
+ - TRAILING
+ - TRANSACTION
+ - TRANSACTIONS_COMMITTED
+ - TRANSACTIONS_ROLLED_BACK
+ - TRANSACTION_ACTIVE
+ - TRANSFORM
+ - TRANSFORMS
+ - TRANSLATE
+ - TRANSLATION
+ - TREAT
+ - TRIGGER
+ - TRIGGER_CATALOG
+ - TRIGGER_NAME
+ - TRIGGER_SCHEMA
+ - TRIM
+ - TRUE
+ - TRUNCATE
+ - TRUSTED
+ - TYPE
+ - UNCOMMITTED
+ - UNDER
+ - UNENCRYPTED
+ - UNION
+ - UNIQUE
+ - UNKNOWN
+ - UNLISTEN
+ - UNNAMED
+ - UNNEST
+ - UNTIL
+ - UPDATE
+ - UPPER
+ - USAGE
+ - USER
+ - USER_DEFINED_TYPE_CATALOG
+ - USER_DEFINED_TYPE_NAME
+ - USER_DEFINED_TYPE_SCHEMA
+ - USING
+ - VACUUM
+ - VALID
+ - VALUE
+ - VALUES
+ - VARIABLE
+ - VARYING
+ - VERBOSE
+ - VERSION
+ - VIEW
+ - VOLATILE
+ - WHEN
+ - WHENEVER
+ - WHERE
+ - WHILE
+ - WITH
+ - WITHOUT
+ - WORK
+ - WRITE
+ - YEAR
+ - ZONE
+
+
+ - +
+ - -
+ - *
+ - /
+ - ||
+ - |/
+ - ||/
+ - !
+ - !!
+ - @
+ - &
+ - |
+ - #
+ - <<
+ - >>
+ - %
+ - ^
+ - =
+ - !=
+ - <>
+ - <
+ - <=
+ - >
+ - >=
+ - ~
+ - ~*
+ - !~
+ - !~*
+ - ^=
+ - :=
+ - =>
+ - **
+ - ..
+ - AND
+ - OR
+ - NOT
+
+ - ##
+ - &&
+ - &<
+ - &>
+ - <->
+ - <^
+ - >^
+ - ?#
+ - ?-
+ - ?-|
+ - @-@
+ - ?|
+ - ?||
+ - @@
+ - ~=
+
+ - <<=
+ - >>=
+
+
+
+ - ABS
+ - CBRT
+ - CEIL
+ - DEGREES
+ - EXP
+ - FLOOR
+ - LN
+ - LOG
+ - MOD
+ - PI
+ - POW
+ - RADIANS
+ - RANDOM
+ - ROUND
+ - SIGN
+ - SQRT
+ - TRUNC
+
+ - ACOS
+ - ASIN
+ - ATAN
+ - ATAN2
+ - COS
+ - COT
+ - SIN
+ - TAN
+
+ - BIT_LENGTH
+ - CHAR_LENGTH
+ - CHARACTER_LENGTH
+ - LOWER
+ - OCTET_LENGTH
+ - POSITION
+ - SUBSTRING
+ - TRIM
+ - UPPER
+
+ - ASCII
+ - BTRIM
+ - CHR
+ - CONVERT
+ - INITCAP
+ - LENGTH
+ - LPAD
+ - LTRIM
+ - PG_CLIENT_ENCODING
+ - REPEAT
+ - RPAD
+ - RTRIM
+ - STRPOS
+ - SUBSTR
+ - TO_ASCII
+ - TRANSLATE
+ - ENCODE
+ - DECODE
+
+ - TO_CHAR
+ - TO_DATE
+ - TO_TIMESTAMP
+ - TO_NUMBER
+
+ - AGE
+ - DATE_PART
+ - DATE_TRUNC
+ - EXTRACT
+ - ISFINITE
+ - NOW
+ - TIMEOFDAY
+ - TIMESTAMP
+ - EXTRACT
+
+ - AREA
+ - BOX
+ - CENTER
+ - DIAMETER
+ - HEIGHT
+ - ISCLOSED
+ - ISOPEN
+ - PCLOSE
+ - NPOINT
+ - POPEN
+ - RADIUS
+ - WIDTH
+
+ - BOX
+ - CIRCLE
+ - LSEG
+ - PATH
+ - POINT
+ - POLYGON
+
+ - BROADCAST
+ - HOST
+ - MASKLEN
+ - SET_MASKLEN
+ - NETMASK
+ - NETWORK
+ - ABBREV
+
+ - NEXTVAL
+ - CURRVAL
+ - SETVAL
+
+ - COALESCE
+ - NULLIF
+
+ - HAS_TABLE_PRIVILEGE
+ - PG_GET_VIEWDEF
+ - PG_GET_RULEDEF
+ - PG_GET_INDEXDEF
+ - PG_GET_USERBYID
+ - OBJ_DESCRIPTION
+ - COL_DESCRIPTION
+
+ - AVG
+ - COUNT
+ - MAX
+ - MIN
+ - STDDEV
+ - SUM
+ - VARIANCE
+
+
+ - BIGINT
+ - BIGSERIAL
+ - BIT
+ - BIT VARYING
+ - BOOL
+ - BOOLEAN
+ - BOX
+ - BYTEA
+ - CHAR
+ - CHARACTER
+ - CHARACTER VARYING
+ - CIDR
+ - CIRCLE
+ - DATE
+ - DECIMAL
+ - DOUBLE PRECISION
+ - FLOAT8
+ - INET
+ - INT
+ - INT2
+ - INT4
+ - INT8
+ - INTEGER
+ - INTERVAL
+ - LINE
+ - LSEG
+ - LZTEXT
+ - MACADDR
+ - MONEY
+ - NUMERIC
+ - OID
+ - PATH
+ - POINT
+ - POLYGON
+ - REAL
+ - SERIAL
+ - SERIAL8
+ - SMALLINT
+ - TEXT
+ - TIME
+ - TIMESTAMP
+ - TIMESTAMP WITH TIMEZONE
+ - TIMESTAMPTZ
+ - TIMETZ
+ - VARBIT
+ - VARCHAR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/sql.xml b/data/syntax/sql.xml
new file mode 100644
index 0000000..466d83d
--- /dev/null
+++ b/data/syntax/sql.xml
@@ -0,0 +1,956 @@
+
+
+
+
+
+
+
+
+ - ACCESS
+ - ACCOUNT
+ - ADD
+ - ADMIN
+ - ADMINISTER
+ - ADVISE
+ - AFTER
+ - AGENT
+ - ALL
+ - ALLOCATE
+ - ALL_ROWS
+ - ALTER
+ - ANALYZE
+ - ANCILLARY
+ - AND
+ - ANY
+ - ARCHIVE
+ - ARCHIVELOG
+ - AS
+ - ASC
+ - ASSERTION
+ - ASSOCIATE
+ - AT
+ - ATTRIBUTE
+ - ATTRIBUTES
+ - AUDIT
+ - AUTHENTICATED
+ - AUTHID
+ - AUTHORIZATION
+ - AUTOALLOCATE
+ - AUTOEXTEND
+ - AUTOMATIC
+ - BACKUP
+ - BECOME
+ - BEFORE
+ - BEGIN
+ - BEHALF
+ - BETWEEN
+ - BINDING
+ - BITMAP
+ - BLOCK
+ - BLOCK_RANGE
+ - BODY
+ - BOTH
+ - BOUND
+ - BREAK
+ - BROADCAST
+ - BTITLE
+ - BUFFER_POOL
+ - BUILD
+ - BULK
+ - BY
+ - CACHE
+ - CACHE_INSTANCES
+ - CALL
+ - CANCEL
+ - CASCADE
+ - CASE
+ - CATEGORY
+ - CHAINED
+ - CHANGE
+ - CHECK
+ - CHECKPOINT
+ - CHILD
+ - CHOOSE
+ - CHUNK
+ - CLASS
+ - CLEAR
+ - CLONE
+ - CLOSE
+ - CLOSE_CACHED_OPEN_CURSORS
+ - CLUSTER
+ - COALESCE
+ - COLUMN
+ - COLUMNS
+ - COLUMN_VALUE
+ - COMMENT
+ - COMMIT
+ - COMMITTED
+ - COMPATIBILITY
+ - COMPILE
+ - COMPLETE
+ - COMPOSITE_LIMIT
+ - COMPRESS
+ - COMPUTE
+ - CONNECT
+ - CONNECT_TIME
+ - CONSIDER
+ - CONSISTENT
+ - CONSTANT
+ - CONSTRAINT
+ - CONSTRAINTS
+ - CONTAINER
+ - CONTENTS
+ - CONTEXT
+ - CONTINUE
+ - CONTROLFILE
+ - COPY
+ - COST
+ - CPU_PER_CALL
+ - CPU_PER_SESSION
+ - CREATE
+ - CREATE_STORED_OUTLINES
+ - CROSS
+ - CUBE
+ - CURRENT
+ - CURSOR
+ - CYCLE
+ - DANGLING
+ - DATA
+ - DATABASE
+ - DATAFILE
+ - DATAFILES
+ - DBA
+ - DDL
+ - DEALLOCATE
+ - DEBUG
+ - DECLARE
+ - DEFAULT
+ - DEFERRABLE
+ - DEFERRED
+ - DEFINER
+ - DEGREE
+ - DELETE
+ - DEMAND
+ - DESC
+ - DETERMINES
+ - DICTIONARY
+ - DIMENSION
+ - DIRECTORY
+ - DISABLE
+ - DISASSOCIATE
+ - DISCONNECT
+ - DISKGROUP
+ - DISMOUNT
+ - DISTINCT
+ - DISTRIBUTED
+ - DOMAIN
+ - DROP
+ - DYNAMIC
+ - EACH
+ - ELSE
+ - ELSIF
+ - EMPTY
+ - ENABLE
+ - END
+ - ENFORCE
+ - ENTRY
+ - ESCAPE
+ - ESTIMATE
+ - EVENTS
+ - EXCEPT
+ - EXCEPTION
+ - EXCEPTIONS
+ - EXCHANGE
+ - EXCLUDING
+ - EXCLUSIVE
+ - EXEC
+ - EXECUTE
+ - EXISTS
+ - EXPIRE
+ - EXPLAIN
+ - EXPLOSION
+ - EXTENDS
+ - EXTENT
+ - EXTENTS
+ - EXTERNALLY
+ - FAILED_LOGIN_ATTEMPTS
+ - FALSE
+ - FAST
+ - FILE
+ - FILTER
+ - FIRST_ROWS
+ - FLAGGER
+ - FLASHBACK
+ - FLUSH
+ - FOLLOWING
+ - FOR
+ - FORCE
+ - FOREIGN
+ - FREELIST
+ - FREELISTS
+ - FRESH
+ - FROM
+ - FULL
+ - FUNCTION
+ - FUNCTIONS
+ - GENERATED
+ - GLOBAL
+ - GLOBALLY
+ - GLOBAL_NAME
+ - GRANT
+ - GROUP
+ - GROUPS
+ - HASH
+ - HASHKEYS
+ - HAVING
+ - HEADER
+ - HEAP
+ - HIERARCHY
+ - HOUR
+ - ID
+ - IDENTIFIED
+ - IDENTIFIER
+ - IDGENERATORS
+ - IDLE_TIME
+ - IF
+ - IMMEDIATE
+ - IN
+ - INCLUDING
+ - INCREMENT
+ - INCREMENTAL
+ - INDEX
+ - INDEXED
+ - INDEXES
+ - INDEXTYPE
+ - INDEXTYPES
+ - INDICATOR
+ - INITIAL
+ - INITIALIZED
+ - INITIALLY
+ - INITRANS
+ - INNER
+ - INSERT
+ - INSTANCE
+ - INSTANCES
+ - INSTEAD
+ - INTERMEDIATE
+ - INTERSECT
+ - INTO
+ - INVALIDATE
+ - IS
+ - ISOLATION
+ - ISOLATION_LEVEL
+ - JAVA
+ - JOIN
+ - KEEP
+ - KEY
+ - KILL
+ - LABEL
+ - LAYER
+ - LEADING
+ - LEFT
+ - LESS
+ - LEVEL
+ - LIBRARY
+ - LIKE
+ - LIMIT
+ - LINK
+ - LIST
+ - LOCAL
+ - LOCATOR
+ - LOCK
+ - LOCKED
+ - LOGFILE
+ - LOGGING
+ - LOGICAL_READS_PER_CALL
+ - LOGICAL_READS_PER_SESSION
+ - LOGOFF
+ - LOGON
+ - LOOP
+ - MANAGE
+ - MANAGED
+ - MANAGEMENT
+ - MASTER
+ - MATERIALIZED
+ - MAXARCHLOGS
+ - MAXDATAFILES
+ - MAXEXTENTS
+ - MAXINSTANCES
+ - MAXLOGFILES
+ - MAXLOGHISTORY
+ - MAXLOGMEMBERS
+ - MAXSIZE
+ - MAXTRANS
+ - MAXVALUE
+ - MEMBER
+ - MERGE
+ - METHOD
+ - MINEXTENTS
+ - MINIMIZE
+ - MINIMUM
+ - MINUS
+ - MINUTE
+ - MINVALUE
+ - MODE
+ - MODIFY
+ - MONITORING
+ - MOUNT
+ - MOVE
+ - MOVEMENT
+ - MTS_DISPATCHERS
+ - MULTISET
+ - NAMED
+ - NATURAL
+ - NEEDED
+ - NESTED
+ - NESTED_TABLE_ID
+ - NETWORK
+ - NEVER
+ - NEW
+ - NEXT
+ - NLS_CALENDAR
+ - NLS_CHARACTERSET
+ - NLS_COMP
+ - NLS_CURRENCY
+ - NLS_DATE_FORMAT
+ - NLS_DATE_LANGUAGE
+ - NLS_ISO_CURRENCY
+ - NLS_LANG
+ - NLS_LANGUAGE
+ - NLS_NUMERIC_CHARACTERS
+ - NLS_SORT
+ - NLS_SPECIAL_CHARS
+ - NLS_TERRITORY
+ - NO
+ - NOARCHIVELOG
+ - NOAUDIT
+ - NOCACHE
+ - NOCOMPRESS
+ - NOCYCLE
+ - NOFORCE
+ - NOLOGGING
+ - NOMAXVALUE
+ - NOMINIMIZE
+ - NOMINVALUE
+ - NOMONITORING
+ - NONE
+ - NOORDER
+ - NOOVERRIDE
+ - NOPARALLEL
+ - NORELY
+ - NORESETLOGS
+ - NOREVERSE
+ - NORMAL
+ - NOSEGMENT
+ - NOSORT
+ - NOT
+ - NOTHING
+ - NOVALIDATE
+ - NOWAIT
+ - NULL
+ - NULLS
+ - OBJNO
+ - OBJNO_REUSE
+ - OF
+ - OFF
+ - OFFLINE
+ - OID
+ - OIDINDEX
+ - OLD
+ - ON
+ - ONLINE
+ - ONLY
+ - OPCODE
+ - OPEN
+ - OPERATOR
+ - OPTIMAL
+ - OPTIMIZER_GOAL
+ - OPTION
+ - OR
+ - ORDER
+ - ORGANIZATION
+ - OUT
+ - OUTER
+ - OUTLINE
+ - OVER
+ - OVERFLOW
+ - OVERLAPS
+ - OWN
+ - PACKAGE
+ - PACKAGES
+ - PARALLEL
+ - PARAMETERS
+ - PARENT
+ - PARTITION
+ - PARTITIONS
+ - PARTITION_HASH
+ - PARTITION_RANGE
+ - PASSWORD
+ - PASSWORD_GRACE_TIME
+ - PASSWORD_LIFE_TIME
+ - PASSWORD_LOCK_TIME
+ - PASSWORD_REUSE_MAX
+ - PASSWORD_REUSE_TIME
+ - PASSWORD_VERIFY_FUNCTION
+ - PCTFREE
+ - PCTINCREASE
+ - PCTTHRESHOLD
+ - PCTUSED
+ - PCTVERSION
+ - PERCENT
+ - PERMANENT
+ - PLAN
+ - PLSQL_DEBUG
+ - POST_TRANSACTION
+ - PREBUILT
+ - PRECEDING
+ - PREPARE
+ - PRESENT
+ - PRESERVE
+ - PREVIOUS
+ - PRIMARY
+ - PRIOR
+ - PRIVATE
+ - PRIVATE_SGA
+ - PRIVILEGE
+ - PRIVILEGES
+ - PROCEDURE
+ - PROFILE
+ - PUBLIC
+ - PURGE
+ - QUERY
+ - QUEUE
+ - QUOTA
+ - RANDOM
+ - RANGE
+ - RBA
+ - READ
+ - READS
+ - REBUILD
+ - RECORDS_PER_BLOCK
+ - RECOVER
+ - RECOVERABLE
+ - RECOVERY
+ - RECYCLE
+ - REDUCED
+ - REFERENCES
+ - REFERENCING
+ - REFRESH
+ - RELY
+ - RENAME
+ - REPLACE
+ - RESET
+ - RESETLOGS
+ - RESIZE
+ - RESOLVE
+ - RESOLVER
+ - RESOURCE
+ - RESTRICT
+ - RESTRICTED
+ - RESUME
+ - RETURN
+ - RETURNING
+ - REUSE
+ - REVERSE
+ - REVOKE
+ - REWRITE
+ - RIGHT
+ - ROLE
+ - ROLES
+ - ROLLBACK
+ - ROLLUP
+ - ROW
+ - ROWNUM
+ - ROWS
+ - RULE
+ - SAMPLE
+ - SAVEPOINT
+ - SCAN
+ - SCAN_INSTANCES
+ - SCHEMA
+ - SCN
+ - SCOPE
+ - SD_ALL
+ - SD_INHIBIT
+ - SD_SHOW
+ - SEGMENT
+ - SEG_BLOCK
+ - SEG_FILE
+ - SELECT
+ - SELECTIVITY
+ - SEQUENCE
+ - SERIALIZABLE
+ - SERVERERROR
+ - SESSION
+ - SESSIONS_PER_USER
+ - SESSION_CACHED_CURSORS
+ - SET
+ - SHARE
+ - SHARED
+ - SHARED_POOL
+ - SHRINK
+ - SHUTDOWN
+ - SINGLETASK
+ - SIZE
+ - SKIP
+ - SKIP_UNUSABLE_INDEXES
+ - SNAPSHOT
+ - SOME
+ - SORT
+ - SOURCE
+ - SPECIFICATION
+ - SPLIT
+ - SQL_TRACE
+ - STANDBY
+ - START
+ - STARTUP
+ - STATEMENT_ID
+ - STATIC
+ - STATISTICS
+ - STOP
+ - STORAGE
+ - STORE
+ - STRUCTURE
+ - SUBMULTISET
+ - SUBPARTITION
+ - SUBPARTITIONS
+ - SUCCESSFUL
+ - SUMMARY
+ - SUPPLEMENTAL
+ - SUSPEND
+ - SWITCH
+ - SYNONYM
+ - SYSDBA
+ - SYSOPER
+ - SYSTEM
+ - SYS_OP_BITVEC
+ - SYS_OP_ENFORCE_NOT_NULL$
+ - SYS_OP_NOEXPAND
+ - SYS_OP_NTCIMG$
+ - TABLE
+ - TABLES
+ - TABLESPACE
+ - TABLESPACE_NO
+ - TABNO
+ - TEMPFILE
+ - TEMPORARY
+ - THAN
+ - THE
+ - THEN
+ - THREAD
+ - THROUGH
+ - TIMEOUT
+ - TIMEZONE_HOUR
+ - TIMEZONE_MINUTE
+ - TIME_ZONE
+ - TO
+ - TOPLEVEL
+ - TRACE
+ - TRACING
+ - TRAILING
+ - TRANSACTION
+ - TRANSITIONAL
+ - TRIGGER
+ - TRIGGERS
+ - TRUE
+ - TRUNCATE
+ - TYPE
+ - TYPES
+ - UNARCHIVED
+ - UNBOUND
+ - UNBOUNDED
+ - UNDO
+ - UNIFORM
+ - UNION
+ - UNIQUE
+ - UNLIMITED
+ - UNLOCK
+ - UNRECOVERABLE
+ - UNTIL
+ - UNUSABLE
+ - UNUSED
+ - UPDATABLE
+ - UPDATE
+ - UPD_INDEXES
+ - UPPPER
+ - USAGE
+ - USE
+ - USER_DEFINED
+ - USE_STORED_OUTLINES
+ - USING
+ - VALIDATE
+ - VALIDATION
+ - VALUES
+ - VIEW
+ - WHEN
+ - WHENEVER
+ - WHERE
+ - WHILE
+ - WITH
+ - WITHOUT
+ - WORK
+ - WRITE
+
+
+ - +
+ - -
+ - *
+ - /
+ - ||
+ - =
+ - !=
+ - <>
+ - <
+ - <=
+ - >
+ - >=
+ - ~=
+ - ^=
+ - :=
+ - =>
+ - **
+ - ..
+
+
+ - ABS
+ - ACOS
+ - ADD_MONTHS
+ - ASCII
+ - ASCIISTR
+ - ASIN
+ - ATAN
+ - ATAN2
+ - AVG
+ - BFILENAME
+ - BIN_TO_NUM
+ - BITAND
+ - CARDINALITY
+ - CAST
+ - CEIL
+ - CHARTOROWID
+ - CHR
+ - COALESCE
+ - COLLECT
+ - COMPOSE
+ - CONCAT
+ - CONVERT
+ - CORR
+ - CORR_K
+ - CORR_S
+ - COS
+ - COSH
+ - COUNT
+ - COVAR_POP
+ - COVAR_SAMP
+ - CUME_DIST
+ - CURRENT_DATE
+ - CURRENT_TIMESTAMP
+ - CV
+ - DBTIMEZONE
+ - DECODE
+ - DECOMPOSE
+ - DENSE_RANK
+ - DEPTH
+ - DEREF
+ - DUMP
+ - EMPTY_BLOB
+ - EMPTY_CLOB
+ - EXISTSNODE
+ - EXP
+ - EXTRACT
+ - EXTRACTVALUE
+ - FIRST
+ - FIRST_VALUE
+ - FLOOR
+ - FROM_TZ
+ - GREATEST
+ - GROUP_ID
+ - GROUPING
+ - GROUPING_ID
+ - HEXTORAW
+ - INITCAP
+ - INSTR
+ - INSTRB
+ - LAG
+ - LAST
+ - LAST_DAY
+ - LAST_VALUE
+ - LEAD
+ - LEAST
+ - LENGTH
+ - LENGTHB
+ - LN
+ - LNNVL
+ - LOCALTIMESTAMP
+ - LOG
+ - LOWER
+ - LPAD
+ - LTRIM
+ - MAKE_REF
+ - MAX
+ - MEDIAN
+ - MIN
+ - MOD
+ - MONTHS_BETWEEN
+ - NANVL
+ - NCHR
+ - NEW_TIME
+ - NEXT_DAY
+ - NLS_CHARSET_DECL_LEN
+ - NLS_CHARSET_ID
+ - NLS_CHARSET_NAME
+ - NLS_INITCAP
+ - NLS_LOWER
+ - NLS_UPPER
+ - NLSSORT
+ - NTILE
+ - NULLIF
+ - NUMTODSINTERVAL
+ - NUMTOYMINTERVAL
+ - NVL
+ - NVL2
+ - ORA_HASH
+ - ORA_ROWSCN
+ - PERCENT_RANK
+ - PERCENTILE_CONT
+ - PERCENTILE_DISC
+ - POWER
+ - POWERMULTISET
+ - POWERMULTISET_BY_CARDINALITY
+ - PRESENTNNV
+ - PRESENTV
+ - RANK
+ - RATIO_TO_REPORT
+ - RAWTOHEX
+ - RAWTONHEX
+ - REF
+ - REFTOHEX
+ - REGEXP_INSTR
+ - REGEXP_LIKE
+ - REGEXP_REPLACE
+ - REGEXP_SUBSTR
+ - REGR_SLOPE
+ - REGR_INTERCEPT
+ - REGR_COUNT
+ - REGR_R2
+ - REGR_AVGX
+ - REGR_AVGY
+ - REGR_SXX
+ - REGR_SYY
+ - REGR_SXY
+ - REMAINDER
+ - ROUND
+ - ROW_NUMBER
+ - ROWIDTOCHAR
+ - ROWIDTONCHAR
+ - RPAD
+ - RTRIM
+ - SCN_TO_TIMESTAMP
+ - SESSIONTIMEZONE
+ - SIGN
+ - SIN
+ - SINH
+ - SOUNDEX
+ - SQRT
+ - STATS_BINOMIAL_TEST
+ - STATS_CROSSTAB
+ - STATS_F_TEST
+ - STATS_KS_TEST
+ - STATS_MODE
+ - STATS_MW_TEST
+ - STATS_ONE_WAY_ANOVA
+ - STATS_T_TEST_ONE
+ - STATS_T_TEST_PAIRED
+ - STATS_T_TEST_INDEP
+ - STATS_T_TEST_INDEPU
+ - STATS_WSR_TEST
+ - STDDEV
+ - STDDEV_POP
+ - STDDEV_SAMP
+ - SUBSTR
+ - SUBSTRB
+ - SUM
+ - SYS_CONNECT_BY_PATH
+ - SYS_CONTEXT
+ - SYS_DBURIGEN
+ - SYS_EXTRACT_UTC
+ - SYS_GUID
+ - SYS_TYPEID
+ - SYS_XMLAGG
+ - SYS_XMLGEN
+ - SYSDATE
+ - SYSTIMESTAMP
+ - TAN
+ - TANH
+ - TIMESTAMP_TO_SCN
+ - TO_BINARY_DOUBLE
+ - TO_BINARY_FLOAT
+ - TO_CHAR
+ - TO_CLOB
+ - TO_DATE
+ - TO_DSINTERVAL
+ - TO_LOB
+ - TO_MULTI_BYTE
+ - TO_NCHAR
+ - TO_NCLOB
+ - TO_NUMBER
+ - TO_SINGLE_BYTE
+ - TO_TIMESTAMP
+ - TO_TIMESTAMP_TZ
+ - TO_YMINTERVAL
+ - TRANSLATE
+ - TREAT
+ - TRIM
+ - TRUNC
+ - TZ_OFFSET
+ - UID
+ - UNISTR
+ - UPDATEXML
+ - UPPER
+ - USER
+ - USERENV
+ - VALUE
+ - VAR_POP
+ - VAR_SAMP
+ - VARIANCE
+ - VSIZE
+ - WIDTH_BUCKET
+ - XMLAGG
+ - XMLCOLATTVAL
+ - XMLCONCAT
+ - XMLELEMENT
+ - XMLFOREST
+ - XMLSEQUENCE
+ - XMLTRANSFORM
+
+
+ - ANYDATA
+ - ANYDATASET
+ - ANYTYPE
+ - ARRAY
+ - BFILE
+ - BINARY_DOUBLE
+ - BINARY_FLOAT
+ - BINARY_INTEGER
+ - BLOB
+ - BOOLEAN
+ - CFILE
+ - CHAR
+ - CHARACTER
+ - CLOB
+ - DATE
+ - DAY
+ - DBURITYPE
+ - DEC
+ - DECIMAL
+ - DOUBLE
+ - FLOAT
+ - FLOB
+ - HTTPURITYPE
+ - INT
+ - INTEGER
+ - INTERVAL
+ - LOB
+ - LONG
+ - MLSLABEL
+ - MONTH
+ - NATIONAL
+ - NCHAR
+ - NCLOB
+ - NUMBER
+ - NUMERIC
+ - NVARCHAR
+ - OBJECT
+ - PLS_INTEGER
+ - PRECISION
+ - RAW
+ - REAL
+ - RECORD
+ - ROWID
+ - SECOND
+ - SINGLE
+ - SMALLINT
+ - TIME
+ - TIMESTAMP
+ - URIFACTORYTYPE
+ - URITYPE
+ - UROWID
+ - VARCHAR
+ - VARCHAR2
+ - VARRAY
+ - VARYING
+ - XMLTYPE
+ - YEAR
+ - ZONE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/stata.xml b/data/syntax/stata.xml
new file mode 100644
index 0000000..07fd4ee
--- /dev/null
+++ b/data/syntax/stata.xml
@@ -0,0 +1,3231 @@
+
+
+
+
+
+
+
+
+ - addlabels
+ - addlabopts
+ - addplot
+ - bar
+ - barwidth
+ - bin
+ - blabel
+ - caption
+ - center
+ - circle
+ - circle_hollow
+ - color
+ - cols
+ - combine
+ - dot
+ - draw
+ - dropline
+ - frequency
+ - grid
+ - hbar
+ - imargin
+ - labsize
+ - legend
+ - margin
+ - medthick
+ - mlabangle
+ - mlabcolor
+ - mlabel
+ - mlabgap
+ - mlabposition
+ - mlabsize
+ - mlabstyle
+ - mlabtextstyle
+ - mlabvposition
+ - msymbol
+ - name
+ - nodraw
+ - nogrid
+ - over
+ - plotregion
+ - position
+ - ring
+ - rows
+ - scale
+ - size
+ - start
+ - subtitle
+ - t1title
+ - t2title
+ - text
+ - textsize
+ - title
+ - xcommon
+ - xlabel
+ - xline
+ - xscale
+ - xsize
+ - xtitle
+ - ycommon
+ - ylabel
+ - yline
+ - yscale
+ - ysize
+ - ytitle
+ - zero
+
+
+
+ - background
+ - bg
+ - black
+ - blue
+ - bluishgray
+ - brown
+ - cranberry
+ - cyan
+ - dimgray
+ - dkgreen
+ - dknavy
+ - dkorange
+ - ebblue
+ - ebg
+ - edkblue
+ - eggshell
+ - eltblue
+ - eltgreen
+ - emerald
+ - emidblue
+ - erose
+ - fg
+ - foreground
+ - forest_green
+ - gold
+ - gray
+ - green
+ - gs
+ - khaki
+ - lavender
+ - lime
+ - ltblue
+ - ltbluishgray
+ - ltkhaki
+ - magenta
+ - maroon
+ - midblue
+ - midgreen
+ - mint
+ - navy
+ - none
+ - olive
+ - olive_teal
+ - orange
+ - orange_red
+ - pink
+ - purple
+ - red
+ - sand
+ - sandb
+ - sienna
+ - stone
+ - teal
+ - white
+ - yellow
+
+
+
+ - accum
+ - as
+ - ascending
+ - BASE
+ - be
+ - begin
+ - bfgs
+ - bhhh
+ - brrweight
+ - clean
+ - close
+ - clpatt [ern]
+ - clwidth
+ - cole
+ - color
+ - confirm
+ - continue
+ - cov(unstr)
+ - cov(unstructured)
+ - covariance
+ - dash
+ - define
+ - deft
+ - delmacs
+ - detail
+ - dev
+ - deviations
+ - dfp
+ - difficult
+ - dirname
+ - do
+ - effects
+ - eform
+ - else
+ - emdots
+ - emiterate
+ - emlog
+ - emonly
+ - emtolerance
+ - end
+ - error
+ - estmetric
+ - exchangeable
+ - exit
+ - family
+ - fe
+ - fitted
+ - force
+ - foreach
+ - forvalues
+ - fpc
+ - frequency
+ - function
+ - global
+ - gtolerance
+ - hessian
+ - ic
+ - identity
+ - if
+ - in
+ - independent
+ - intpoints
+ - irr
+ - iterate
+ - jkrweight
+ - lincom
+ - linearized
+ - local
+ - long
+ - ltolerance
+ - macro
+ - manage
+ - meff
+ - meft
+ - minimize
+ - mle
+ - mse
+ - multiplier
+ - noclear
+ - nocons
+ - noconstant
+ - nodots
+ - nofetable
+ - nogroup
+ - noheader
+ - nolog
+ - nolrtest
+ - none
+ - nonrtolerance
+ - noobs
+ - noomit
+ - noretable
+ - nostderr
+ - not
+ - nr
+ - of
+ - offset
+ - or
+ - p
+ - parse
+ - patterns
+ - poststrata
+ - postweight
+ - prefix
+ - program
+ - r2_p
+ - reffects
+ - reml
+ - reset
+ - resid
+ - run
+ - scale
+ - shift
+ - showstep
+ - SITE
+ - size
+ - star
+ - stats
+ - STBPLUS
+ - stfmt
+ - store
+ - strata
+ - syntax
+ - tempfile
+ - tempname
+ - tempvar
+ - tokenize
+ - tolerance
+ - unstructured
+ - until
+ - UPDATES
+ - weight
+ - while
+ - wide
+ - window
+ - x2
+ - xb
+
+ - _b[
+ - _coeff[
+
+ - ereturn
+ - rreturn
+ - sreturn
+
+ - e(
+ - r(
+ - s(
+
+
+
+ - all
+ - BASE
+ - coleq
+ - colfullnames
+ - coln
+ - colnames
+ - constraint
+ - data
+ - dir
+ - display
+ - environment
+ - format
+ - l
+ - label
+ - length
+ - list
+ - nobreak
+ - nofail
+ - permname
+ - PERSONAL
+ - piece
+ - PLUS
+ - quoted
+ - row
+ - roweq
+ - rowfullnames
+ - rown
+ - rownames
+ - SITE
+ - sortedby
+ - STATA
+ - strict
+ - sysdir
+ - tempfile
+ - tempvar
+ - tsnorm
+ - UPDATES
+ - value
+ - variable
+
+
+
+ - allstring
+ - append
+ - args
+ - aweight
+ - born
+ - by
+ - bys
+ - bysort
+ - byte
+ - capture
+ - cfreq
+ - clear
+ - Cns
+ - Co
+ - collinear
+ - columns
+ - comma
+ - compress
+ - connect
+ - console
+ - cpercent
+ - cr
+ - d0
+ - data
+ - datestring
+ - decode
+ - delimit
+ - depnames
+ - desc
+ - describe
+ - di
+ - diparm_options
+ - display
+ - double
+ - drop
+ - eclass
+ - encode
+ - esample
+ - Ev
+ - exec
+ - fam
+ - fdadescribe
+ - fdasave
+ - fdause
+ - filefilter
+ - float
+ - format
+ - fweight
+ - gen
+ - generate
+ - gr [een]
+ - gradient
+ - hold
+ - include
+ - insert
+ - insheet
+ - int
+ - iweight
+ - k
+ - keep
+ - label
+ - Ld
+ - link
+ - load
+ - long
+ - longstub
+ - macrolen
+ - markout
+ - marksample
+ - maximize
+ - meanonly
+ - mlmatsbysum
+ - mlout
+ - mode
+ - model
+ - more
+ - N
+ - namelen
+ - noextend
+ - nofootnote
+ - noi
+ - noisily
+ - nolabel
+ - nonotes
+ - nopreserve
+ - norescale
+ - noscvars
+ - nosummary
+ - nototal
+ - nrtolerance
+ - obs
+ - odbc
+ - off
+ - oim
+ - on
+ - oneway
+ - opg
+ - order
+ - outfile
+ - outsheet
+ - percent
+ - permanently
+ - post
+ - postclose
+ - postfile
+ - preserve
+ - Psi
+ - pweight
+ - query
+ - qui
+ - quietly
+ - rawsum
+ - red
+ - ren
+ - rename
+ - replace
+ - Replay
+ - report
+ - repost
+ - restore
+ - robust
+ - save
+ - saving
+ - SD
+ - SE
+ - search
+ - set
+ - shownrtolerance
+ - sort
+ - sqlfile
+ - sqlshow
+ - STATA
+ - statistics
+ - sum
+ - summarize
+ - t1title
+ - t2title
+ - tab
+ - tabulate
+ - technique
+ - timer
+ - total
+ - unhold
+ - unique
+ - uniquemaster
+ - uniqusing
+ - use
+ - using
+ - V
+ - values
+ - variable
+ - varlist
+ - VCE
+ - waldtest
+ - width
+ - xlabel
+ - xmlsave
+ - xmluse
+ - yellow
+ - ylabel
+ - yline
+
+
+
+
+
+ - abs
+ - acos
+ - asin
+ - atan
+ - atan2
+ - atanh
+ - ceil
+ - cloglog
+ - comb
+ - cos
+ - digamma
+ - exp
+ - floor
+ - invcloglog
+ - invlogit
+ - ln
+ - lnfact
+ - lnfactorial
+ - lngamma
+ - log
+ - log10
+ - max
+ - min
+ - mod
+ - reldif
+ - round
+ - sign
+ - sin
+ - sqrt
+ - sum
+ - tan
+ - tanh
+ - trigamma
+ - trunc
+
+
+
+ - betaden
+ - Binomial
+ - binorm
+ - binormal
+ - chi2
+ - chi2tail
+ - dgammapda
+ - dgammapdada
+ - dgammapdadx
+ - dgammapdx
+ - dgammapdxdx
+ - F
+ - Fden
+ - Ftail
+ - gammaden
+ - gammap
+ - ibeta
+ - invbinomial
+ - invchi2
+ - invchi2tail
+ - invF
+ - invFtail
+ - invgammap
+ - invibeta
+ - invnchi2
+ - invnFtail
+ - invnibeta
+ - invnorm
+ - invnormal
+ - invttail
+ - nbetaden
+ - nchi2
+ - nFden
+ - nFtail
+ - nibeta
+ - norm
+ - normal
+ - normalden
+ - normd
+ - npnchi2
+ - tden
+ - ttail
+ - uniform()
+
+
+
+ - abbrev
+ - char
+ - index
+ - indexnot
+ - length
+ - lower
+ - ltrim
+ - match
+ - plural
+ - proper
+ - real
+ - regexm
+ - regexr
+ - regexs
+ - reverse
+ - rtrim
+ - string
+ - strlen
+ - strlower
+ - strltrim
+ - strmatch
+ - strofreal
+ - strpos
+ - strproper
+ - strreverse
+ - strrtrim
+ - strtrim
+ - strupper
+ - subinstr
+ - subinword
+ - substr
+ - trim
+ - upper
+ - word
+ - wordcount
+
+
+
+ - _caller
+ - autocode
+ - byteorder
+ - chop
+ - clip
+ - cond
+ - e
+ - epsdouble
+ - epsfloat
+ - group
+ - inlist
+ - inrange
+ - irecode
+ - matrix
+ - maxbyte
+ - maxdouble
+ - maxfloat
+ - maxint
+ - maxlong
+ - mi
+ - minbyte
+ - mindouble
+ - minfloat
+ - minint
+ - minlong
+ - missing
+ - r
+ - recode
+ - replay
+ - return
+ - s
+ - scalar
+
+
+
+ - d
+ - date
+ - day
+ - dow
+ - doy
+ - halfyear
+ - mdy
+ - month
+ - quarter
+ - week
+ - year
+
+
+
+ - d
+ - daily
+ - dofd
+ - dofh
+ - dofm
+ - dofq
+ - dofw
+ - dofy
+ - h
+ - halfyearly
+ - hofd
+ - m
+ - mofd
+ - monthly
+ - q
+ - qofd
+ - quarterly
+ - tin
+ - twithin
+ - w
+ - weekly
+ - wofd
+ - y
+ - yearly
+ - yh
+ - ym
+ - yofd
+ - yq
+ - yw
+
+
+
+ - cholesky
+ - colnumb
+ - colsof
+ - corr
+ - det
+ - diag
+ - diag0cnt
+ - el
+ - get
+ - hadamard
+ - I
+ - inv
+ - invsym
+ - issym
+ - issymmetric
+ - J
+ - matmissing
+ - matuniform
+ - mreldif
+ - nullmat
+ - rownumb
+ - rowsof
+ - sweep
+ - syminv
+ - trace
+ - vec
+ - vecdiag
+
+
+
+ - anycount
+ - anymatch
+ - anyvalue
+ - at
+ - concat
+ - count
+ - cut
+ - diff
+ - ends
+ - field
+ - fill
+ - group
+ - groupicodes
+ - head
+ - iqr
+ - kurt
+ - label
+ - last
+ - lname
+ - mad
+ - max
+ - maxlength
+ - maxmode
+ - mdev
+ - mean
+ - median
+ - min
+ - minmode
+ - missing
+ - mode
+ - mtr
+ - nummodemissing
+ - pc prop
+ - pctile
+ - punct
+ - rank
+ - rowfirst
+ - rowlast
+ - rowmax
+ - rowmean
+ - rowmin
+ - rowmiss
+ - rownonmiss
+ - rowsd
+ - rowtotal
+ - sd
+ - seq
+ - skew
+ - std
+ - strok
+ - tag
+ - tail
+ - total
+ - track
+ - trim
+ - truncate
+
+
+
+ - _all
+ - _column
+ - _cons
+ - _dta
+ - _dup
+ - _merge
+ - _n
+ - _newline
+ - _pi
+ - _rc
+ - creturn
+ - c(adopath)
+ - c(adosize)
+ - c(ALPHA)
+ - c(born_date)
+ - c(byteorder)
+ - c(changed)
+ - c(checksum)
+ - c(cmdlen)
+ - c(console)
+ - c(copycolor)
+ - c(current_date)
+ - c(current_time)
+ - c(dirsep)
+ - c(dockable)
+ - c(dockingguides)
+ - c(dp)
+ - c(epsdouble)
+ - c(epsfloat)
+ - c(filedate)
+ - c(filename)
+ - c(flavor)
+ - c(graphics)
+ - c(httpproxy)
+ - c(httpproxyauth)
+ - c(httpproxyhost)
+ - c(httpproxyport)
+ - c(httpproxypw)
+ - c(httpproxyuser)
+ - c(k)
+ - c(level)
+ - c(linegap)
+ - c(linesize)
+ - c(locksplitters)
+ - c(logtype)
+ - c(machine_type)
+ - c(macrolen)
+ - c(matacache)
+ - c(matafavor)
+ - c(matalibs)
+ - c(matalnum)
+ - c(matamofirst)
+ - c(mataoptimize)
+ - c(matastrict)
+ - c(matsize)
+ - c(max_cmdlen)
+ - c(max_k_current)
+ - c(max_k_theory)
+ - c(max_macrolen)
+ - c(max_matsize)
+ - c(max_N_current)
+ - c(max_N_theory)
+ - c(max_width_current)
+ - c(max_width_theory)
+ - c(maxbyte)
+ - c(maxdb)
+ - c(maxdouble)
+ - c(maxfloat)
+ - c(maxint)
+ - c(maxiter)
+ - c(maxlong)
+ - c(maxstrvarlen)
+ - c(maxvar)
+ - c(memory)
+ - c(min_matsize)
+ - c(minbyte)
+ - c(mindouble)
+ - c(minfloat)
+ - c(minint)
+ - c(minlong)
+ - c(mode)
+ - c(Mons)
+ - c(Months)
+ - c(more)
+ - c(N)
+ - c(namelen)
+ - c(os)
+ - c(osdtl)
+ - c(pagesize)
+ - c(persistfv)
+ - c(persistvtopic)
+ - c(pi)
+ - c(printcolor)
+ - c(pwd)
+ - c(rc)
+ - c(reventries)
+ - c(rmsg_time)
+ - c(rmsg)
+ - c(scheme)
+ - c(scrollbufsize)
+ - c(SE)
+ - c(searchdefault)
+ - c(seed)
+ - c(stata_version)
+ - c(sysdir_base)
+ - c(sysdir_oldplace)
+ - c(sysdir_personal)
+ - c(sysdir_plus)
+ - c(sysdir_site)
+ - c(sysdir_stata)
+ - c(sysdir_updates)
+ - c(timeout1)
+ - c(timeout2)
+ - c(trace)
+ - c(tracedepth)
+ - c(traceexpand)
+ - c(tracehilite)
+ - c(traceindent)
+ - c(tracenumber)
+ - c(tracesep)
+ - c(type)
+ - c(update_interval)
+ - c(update_prompt)
+ - c(update_query)
+ - c(varabbrev)
+ - c(varlabelpos)
+ - c(version)
+ - c(virtual)
+ - c(Wdays)
+ - c(Weekdays)
+ - c(width)
+ - c(xptheme)
+
+
+
+ - adosize
+ - checksum
+ - copycolor
+ - dockable
+ - dockingguides
+ - dp
+ - graphics
+ - httpproxy
+ - httpproxyauth
+ - httpproxyhost
+ - httpproxyport
+ - httpproxypw
+ - httpproxyuser
+ - level
+ - linegap
+ - linesize
+ - locksplitters
+ - logtype
+ - matacache
+ - matafavor
+ - matalibs
+ - matalnum
+ - matamofirst
+ - mataoptimize
+ - matastrict
+ - matsize
+ - maxdb
+ - maxiter
+ - maxvar
+ - memory
+ - more
+ - pagesize
+ - persistfv
+ - persistvtopic
+ - printcolor
+ - reventries
+ - rmsg
+ - scheme
+ - scrollbufsize
+ - searchdefault
+ - seed
+ - timeout1
+ - timeout2
+ - trace
+ - tracedepth
+ - traceexpand
+ - tracehilite
+ - traceindent
+ - tracenumber
+ - tracesep
+ - type
+ - update_interval
+ - update_prompt
+ - update_query
+ - varabbrev
+ - varlabelpos
+ - version
+ - virtual
+ - xptheme
+
+
+
+
+ - _a_cls_msg
+ - _addgph
+ - _assert
+ - _assert_mreldif
+ - _assert_mreldifp
+ - _assert_mreldifs
+ - _assert_obs
+ - _assert_streq
+ - _at
+ - _bigtab
+ - _binperfect
+ - _binperfout
+ - _biplotmat
+ - _brr_sum
+ - _bs_display
+ - _bs_sum
+ - _btcmd
+ - _byoptnotallowed
+ - _ca_parse_normalize
+ - _callerr
+ - _cci
+ - _check_eformopt
+ - _check4gropts
+ - _choice_table
+ - _ckirfset
+ - _cknotsvaroi
+ - _ckvec
+ - _clsarr2list
+ - _cmdxel
+ - _coef_table
+ - _coef_table_header
+ - _confirm_date
+ - _confirm_number_or_date
+ - _copy_mat_stripes
+ - _cpmatnm
+ - _crc2use
+ - _crc4fld
+ - _crcacnt
+ - _crcar1
+ - _crcause
+ - _crcbin
+ - _crcbygr
+ - _crcchi2
+ - _crcchkw
+ - _crccip
+ - _crceprs
+ - _crcgldv
+ - _crcglil
+ - _crcird
+ - _crcirr
+ - _crcmeq
+ - _crcnuse
+ - _crcor
+ - _crcphdr
+ - _crcra
+ - _crcrd
+ - _crcrr
+ - _crcseq
+ - _crcshdr
+ - _crcslbl
+ - _crcsrvc
+ - _crcswxx
+ - _crcunab
+ - _crcunit
+ - _crcvarl
+ - _crcwsrv
+ - _crczsku
+ - _cvar
+ - _date2elapsed
+ - _diag2mat
+ - _diparm
+ - _diparm_8
+ - _dots
+ - _e2r
+ - _egennoby
+ - _evlist
+ - _exp_list_expand
+ - _exp_list_parse
+ - _find_tsops
+ - _fr_area_parse_and_log
+ - _fr_aspect_parse_and_log
+ - _fr_draw_rect
+ - _fr_droplines_draw
+ - _fr_erasearr
+ - _fr_legend_parse_and_log
+ - _fr_merged_implicit
+ - _fr_runlog
+ - _fr_sztextbox_parse_and_log
+ - _fr_tbstyle_parse_and_log
+ - _fr_tedits_parse_and_log
+ - _fr_textbox_parse_and_log
+ - _fr_title_parse_and_log
+ - _fr_x_log_cleanup
+ - _fr_x_log_create
+ - _fracpp
+ - _fracxo
+ - _frr_sztextbox_pnl
+ - _gany
+ - _ganycount
+ - _ganymatch
+ - _ganyvalue
+ - _gconcat
+ - _gcount
+ - _gcut
+ - _gdiff
+ - _gends
+ - _geqany
+ - _get_diparmopts
+ - _get_diparmopts_8
+ - _get_eformopts
+ - _get_eqspec
+ - _get_gropts
+ - _get_irf
+ - _get_offopt
+ - _getbv
+ - _getcovcorr
+ - _getfilename
+ - _getnewlabelname
+ - _getrhs
+ - _getvarcns
+ - _getxel
+ - _getxel2
+ - _gfill
+ - _ggroup
+ - _giqr
+ - _gkurt
+ - _gm_edit
+ - _gm_log
+ - _gma
+ - _gmad
+ - _gmax
+ - _gmdev
+ - _gmean
+ - _gmedian
+ - _gmin
+ - _gmode
+ - _gmtr
+ - _gneqany
+ - _gpc
+ - _gpctile
+ - _gr_arrowhead
+ - _gr_atomize_styles
+ - _gr_common_axes
+ - _gr_drawrect
+ - _gr_linkstyles
+ - _gr_symbol_of
+ - _grank
+ - _grfirst
+ - _grlast
+ - _grmax
+ - _grmean
+ - _grmin
+ - _grmiss
+ - _grobs
+ - _growfirst
+ - _growlast
+ - _growmax
+ - _growmean
+ - _growmin
+ - _growmiss
+ - _grownonmiss
+ - _growsd
+ - _growtotal
+ - _grsd
+ - _grsum
+ - _gs_addgrname
+ - _gs_bygraph
+ - _gs_clean_graphlist
+ - _gs_default_bands
+ - _gs_islivefile
+ - _gs_parse_and_log_axoptions
+ - _gs_parse_and_log_axtitle
+ - _gs_parse_and_log_lines
+ - _gs_parse_and_log_tickset
+ - _gs_rdfilehdr
+ - _gs_wrfilehdr
+ - _gs_x_create
+ - _gsd
+ - _gseq
+ - _gskew
+ - _gstd
+ - _gsum
+ - _gtag
+ - _gtotal
+ - _hadamard_verify
+ - _hw_comp
+ - _hw_opt_d0
+ - _hwsa_comp
+ - _hwsa_opt_d0
+ - _hwsm_comp
+ - _hwsm_opt_d0
+ - _isfit
+ - _ivreg_project
+ - _jk_nlegend
+ - _jk_pseudo
+ - _jk_sum
+ - _labels2names
+ - _linemax
+ - _loop_brr
+ - _loop_jknife
+ - _loop_jknife_fw
+ - _loop_jknife_iw
+ - _loop_jknife2
+ - _loop_rw
+ - _lrtest7
+ - _m2matrix
+ - _m2scalar
+ - _matplot
+ - _matsort
+ - _mdisplay
+ - _mds_classical
+ - _mds_dataheader
+ - _mds_display
+ - _mds_display_classical
+ - _mds_euclidean
+ - _mds_parse_dopts
+ - _mds_parse_method
+ - _mds_parse_s2d
+ - _mds_s2d
+ - _me_der
+ - _me_der2
+ - _me_derb
+ - _me_derd
+ - _me_l_der
+ - _me_l_der2
+ - _mfrmvec
+ - _mka2
+ - _mkg
+ - _mkkmn
+ - _mksigma
+ - _mkvec
+ - _mprobitestimator
+ - _mtest
+ - _mvec
+ - _no_estat
+ - _no_predict
+ - _nobs
+ - _on_colon_parse
+ - _parmlist
+ - _parse_optexp
+ - _parsewt
+ - _pk_p
+ - _plotpos
+ - _pred_me
+ - _pred_se
+ - _prefix_check4esample
+ - _prefix_checkopt
+ - _prefix_clear
+ - _prefix_command
+ - _prefix_display
+ - _prefix_expand
+ - _prefix_explist
+ - _prefix_footnote
+ - _prefix_getchars
+ - _prefix_getmat
+ - _prefix_legend
+ - _prefix_mlogit
+ - _prefix_model_test
+ - _prefix_note
+ - _prefix_reject
+ - _prefix_relabel_eqns
+ - _prefix_run_error
+ - _prefix_saving
+ - _prefix_title
+ - _prefix_vcenotallowed
+ - _qsort_index
+ - _qsur
+ - _r2e
+ - _repost
+ - _resample_warn
+ - _restore_labels
+ - _returnclear
+ - _rmdcoll
+ - _robust2
+ - _roccom1
+ - _roccom1_8
+ - _rocsen
+ - _rotate_clear
+ - _rotate_text
+ - _score_spec
+ - _set_irf_vars
+ - _shortenpath
+ - _sigfm
+ - _small2dotz
+ - _stata_internalerror
+ - _stcurv
+ - _strip_labels
+ - _sttrend
+ - _stubstar2names
+ - _sum_table
+ - _sumaccum
+ - _sunflower_binar
+ - _svar_cnsmac
+ - _svar_eqmac
+ - _svar_newcns
+ - _svar_post
+ - _svard2
+ - _svariden
+ - _svaridenlr
+ - _svarlrd2
+ - _svd
+ - _svy_check_cmdopts
+ - _svy_check_fpc
+ - _svy_check_postw
+ - _svy_check_predict
+ - _svy_check_vce
+ - _svy_fpc_note
+ - _svy_ftest
+ - _svy_ivreg_first
+ - _svy_mkdeff
+ - _svy_mkmeff
+ - _svy_mkvmsp
+ - _svy_mkvsrs
+ - _svy_newrule
+ - _svy_setup
+ - _svy_singleton_note
+ - _svy_subpop
+ - _svy_subpop_note
+ - _svy_summarize
+ - _svy_summarize_legend
+ - _svy_tabulate
+ - _svy2
+ - _svydes_dlg
+ - _svylc
+ - _svyset
+ - _sw_ood
+ - _ts
+ - _ts_dexp
+ - _ts_exp
+ - _ts_hw
+ - _ts_hwsa
+ - _ts_hwsm
+ - _tsheadr
+ - _tsinchk
+ - _tsma
+ - _ttest
+ - _ttest1
+ - _ttest2
+ - _tutends
+ - _var_mka
+ - _varbsf
+ - _vardisprmse
+ - _varfcast
+ - _varfcast_clear
+ - _varfcast_fcast
+ - _varfcast_graph
+ - _varirf
+ - _varsim
+ - _vce_parserun
+ - _vec_ckgraph
+ - _vec_dreduced
+ - _vec_grcroots
+ - _vec_opck
+ - _vec_pgparse
+ - _vec_pgridplots
+ - _vec_postvar
+ - _vecauxdisp
+ - _vecfcast_compute
+ - _vecfcast_compute_w
+ - _vecgetacns
+ - _vecgetcv
+ - _vecgtn
+ - _vecmka
+ - _vecmkapvp
+ - _vecmkce
+ - _vecmkgam
+ - _vecmksi
+ - _vecmktrend
+ - _vecortho
+ - _vecpclean
+ - _vectparse
+ - _vecu
+ - _virf_add
+ - _virf_char
+ - _virf_fck
+ - _virf_mknewfile
+ - _virf_nlen
+ - _virf_use
+ - _writenum
+ - _xtreg_chk_cl
+
+ - ac
+ - ac_7
+ - acprplot
+ - acprplot_7
+ - adjust
+ - adopath
+ - alpha
+ - ameans
+ - anova_estat
+ - anova_terms
+ - aorder
+ - arch
+ - arch_dr
+ - arch_estat
+ - arch_p
+ - archlm
+ - areg
+ - areg_p
+ - arima
+ - arima_dr
+ - arima_estat
+ - arima_p
+ - asmprobit
+ - asmprobit_estat
+ - asmprobit_lf
+ - asmprobit_p
+ - avplot
+ - avplot_7
+ - avplots
+ - avplots_7
+ - bcskew0
+ - bgodfrey
+ - binreg
+ - bip0_lf
+ - biplot
+ - bipp_lf
+ - bipr_lf
+ - bipr_p
+ - biprobit
+ - bitest
+ - bitesti
+ - bitowt
+ - blogit
+ - bmemsize
+ - boot
+ - bootsamp
+ - bootstrap
+ - bootstrap_8
+ - boxco_l
+ - boxco_p
+ - boxcox
+ - boxcox_6
+ - boxcox_p
+ - bprobit
+ - brier
+ - brr
+ - brrstat
+ - bs
+ - bs_7
+ - bsampl_w
+ - bsample
+ - bsample_7
+ - bsqreg
+ - bstat
+ - bstat_7
+ - bstat_8
+ - bstrap
+ - bstrap_7
+ - ca
+ - ca_estat
+ - ca_p
+ - cabiplot
+ - camat
+ - canon
+ - canon_8
+ - canon_8_p
+ - canon_estat
+ - canon_p
+ - caprojection
+ - cc
+ - cchart
+ - cchart_7
+ - cci
+ - censobs_table
+ - centile
+ - cf
+ - checkdlgfiles
+ - checkhlpfiles
+ - ci
+ - cii
+ - classutil
+ - clear
+ - clo
+ - clog
+ - clog_lf
+ - clog_p
+ - clogi
+ - clogi_sw
+ - clogit
+ - clogit_lf
+ - clogit_p
+ - clogitp
+ - clogl_sw
+ - cloglog
+ - clonevar
+ - clslistarray
+ - cluster
+ - cluster_measures
+ - cluster_stop
+ - cluster_tree
+ - cluster_tree_8
+ - clustermat
+ - cnr
+ - cnre
+ - cnreg
+ - cnreg_p
+ - cnreg_sw
+ - cnsreg
+ - codebook
+ - collaps4
+ - collapse
+ - colormult_nb
+ - colormult_nw
+ - compare
+ - conren
+ - contract
+ - copyright
+ - copysource
+ - corc
+ - corr_anti
+ - corr_kmo
+ - corr_smc
+ - corr2data
+ - corrgram
+ - cox_p
+ - cox_sw
+ - coxbase
+ - coxhaz
+ - coxvar
+ - cprplot
+ - cprplot_7
+ - crc
+ - cross
+ - cs
+ - cscript
+ - cscript_log
+ - csi
+ - ct
+ - ct_is
+ - ctset
+ - ctst_5
+ - ctst_st
+ - cttost
+ - cumsp
+ - cumsp_7
+ - cumul
+ - cusum
+ - cusum_7
+ - cutil
+
+ - d
+ - datetof
+ - db
+ - dbeta
+ - de
+ - deff
+ - des
+ - desc
+ - descr
+ - descri
+ - describ
+ - describe
+ - destring
+ - dfbeta
+ - dfgls
+ - dfuller
+ - dirstats
+ - disp_res
+ - disp_s
+ - dotplot
+ - dotplot_7
+ - dprobit
+ - drawnorm
+ - ds
+ - ds_util
+ - dstdize
+ - duplicates
+ - durbina
+ - dwstat
+ - dydx
+ - egen
+ - eivreg
+ - emdef
+ - eq
+ - ereg
+ - ereg_lf
+ - ereg_p
+ - ereg_sw
+ - ereghet
+ - ereghet_glf
+ - ereghet_glf_sh
+ - ereghet_gp
+ - ereghet_ilf
+ - ereghet_ilf_sh
+ - ereghet_ip
+ - est
+ - est_cfexist
+ - est_cfname
+ - est_clickable
+ - est_expand
+ - est_hold
+ - est_table
+ - est_unhold
+ - est_unholdok
+ - estat
+ - estat_default
+ - estat_summ
+ - estat_vce_only
+ - esti
+ - estimates
+ - etodow
+ - etof
+ - etomdy
+ - expandcl
+ - fac
+ - fact
+ - facto
+ - factor
+ - factor_estat
+ - factor_p
+ - factor_pca_rotated
+ - factor_rotate
+ - factormat
+ - fcast
+ - fcast_compute
+ - fcast_graph
+ - fh_st
+ - fillin
+ - find_hlp_file
+ - findfile
+ - findit
+ - findit_7
+ - fit
+ - for
+ - for5_0
+ - fpredict
+ - frac_154
+ - frac_adj
+ - frac_chk
+ - frac_cox
+ - frac_ddp
+ - frac_dis
+ - frac_dv
+ - frac_in
+ - frac_mun
+ - frac_pp
+ - frac_pq
+ - frac_pv
+ - frac_wgt
+ - frac_xo
+ - fracgen
+ - fracplot
+ - fracplot_7
+ - fracpoly
+ - fracpred
+ - fron_ex
+ - fron_hn
+ - fron_p
+ - fron_tn
+ - fron_tn2
+ - frontier
+ - ftodate
+ - ftoe
+ - ftomdy
+ - ftowdate
+
+ - gamhet_glf
+ - gamhet_gp
+ - gamhet_ilf
+ - gamhet_ip
+ - gamma
+ - gamma_d2
+ - gamma_p
+ - gamma_sw
+ - gammahet
+ - gdi_hexagon
+ - gdi_spokes
+ - genrank
+ - genstd
+ - genvmean
+ - gladder
+ - gladder_7
+ - glim_l01
+ - glim_l02
+ - glim_l03
+ - glim_l04
+ - glim_l05
+ - glim_l06
+ - glim_l07
+ - glim_l08
+ - glim_l09
+ - glim_l10
+ - glim_l11
+ - glim_l12
+ - glim_lf
+ - glim_mu
+ - glim_nw1
+ - glim_nw2
+ - glim_nw3
+ - glim_p
+ - glim_v1
+ - glim_v2
+ - glim_v3
+ - glim_v4
+ - glim_v5
+ - glim_v6
+ - glim_v7
+ - glm
+ - glm_6
+ - glm_p
+ - glm_sw
+ - glmpred
+ - glogit
+ - glogit_8
+ - glogit_p
+ - gmeans
+ - gnbre_lf
+ - gnbreg
+ - gnbreg_5
+ - gnbreg_p
+ - gomp_lf
+ - gompe_sw
+ - gomper_p
+ - gompertz
+ - gompertzhet
+ - gomphet_glf
+ - gomphet_glf_sh
+ - gomphet_gp
+ - gomphet_ilf
+ - gomphet_ilf_sh
+ - gomphet_ip
+ - gphdot
+ - gphpen
+ - gphprint
+ - gprobi_p
+ - gprobit
+ - gprobit_8
+ - gr
+ - gr_copy
+ - gr_current
+ - gr_db
+ - gr_describe
+ - gr_dir
+ - gr_draw
+ - gr_draw_replay
+ - gr_drop
+ - gr_edit
+ - gr_editviewopts
+ - gr_example
+ - gr_example2
+ - gr_export
+ - gr_print
+ - gr_qscheme
+ - gr_query
+ - gr_read
+ - gr_rename
+ - gr_replay
+ - gr_save
+ - gr_set
+ - gr_setscheme
+ - gr_table
+ - gr_undo
+ - gr_use
+ - graph
+ - grebar
+ - greigen
+ - greigen_7
+ - greigen_8
+ - grmeanby
+ - grmeanby_7
+ - gs_fileinfo
+ - gs_filetype
+ - gs_graphinfo
+ - gs_stat
+ - gsort
+ - gwood
+ - h
+ - hadimvo
+ - hareg
+ - hausman
+ - he
+ - heck_d2
+ - heckma_p
+ - heckman
+ - heckp_lf
+ - heckpr_p
+ - heckprob
+ - hel
+ - help
+ - hereg
+ - hetpr_lf
+ - hetpr_p
+ - hetprob
+ - hettest
+ - hilite
+ - hist
+ - hist_7
+ - histogram
+ - hlogit
+ - hlu
+ - hmeans
+ - hotel
+ - hotelling
+ - hprobit
+ - hreg
+ - icd9
+ - icd9_ff
+ - icd9p
+ - iis
+ - impute
+ - imtest
+ - inbase
+ - integ
+ - inten
+ - intreg
+ - intreg_7
+ - intreg_p
+ - intrg_ll
+ - intrg_ll2
+ - intrg2_ll
+ - ipolate
+ - iqreg
+ - ir
+ - irf
+ - irf_create
+ - irfm
+ - iri
+ - is_svy
+ - is_svysum
+ - isid
+ - istdize
+ - ivprob_1_lf
+ - ivprob_lf
+ - ivprobit
+ - ivprobit_p
+ - ivreg
+ - ivreg_footnote
+ - ivtob_1_lf
+ - ivtob_lf
+ - ivtobit
+ - ivtobit_p
+
+ - jackknife
+ - jacknife
+ - jknife
+ - jknife_6
+ - jknife_8
+ - jkstat
+ - joinby
+ - kalarma1
+ - kap
+ - kap_3
+ - kapmeier
+ - kappa
+ - kapwgt
+ - kdensity
+ - kdensity_7
+ - ksm
+ - ksmirnov
+ - ktau
+ - kwallis
+ - labelbook
+ - ladder
+ - levels
+ - levelsof
+ - leverage
+ - lfit
+ - lfit_p
+ - lincom
+ - line
+ - linktest
+ - lloghet_glf
+ - lloghet_glf_sh
+ - lloghet_gp
+ - lloghet_ilf
+ - lloghet_ilf_sh
+ - lloghet_ip
+ - llogi_sw
+ - llogis_p
+ - llogist
+ - llogistic
+ - llogistichet
+ - lnorm_lf
+ - lnorm_sw
+ - lnorma_p
+ - lnormal
+ - lnormalhet
+ - lnormhet_glf
+ - lnormhet_glf_sh
+ - lnormhet_gp
+ - lnormhet_ilf
+ - lnormhet_ilf_sh
+ - lnormhet_ip
+ - lnskew0
+ - loadingplot
+ - logi
+ - logis_lf
+ - logistic
+ - logistic_p
+ - logit
+ - logit_estat
+ - logit_p
+ - loglogs
+ - logrank
+ - loneway
+ - lookfor
+ - lowess
+ - lowess_7
+ - lpredict
+ - lrecomp
+ - lroc
+ - lroc_7
+ - lrtest
+ - lsens
+ - lsens_7
+ - lsens_x
+ - lstat
+ - ltable
+ - ltable_7
+ - ltriang
+ - lv
+ - lvr2plot
+ - lvr2plot_7
+
+ - makecns
+ - manova_estat
+ - manova_p
+ - mantel
+ - mat_capp
+ - mat_order
+ - mat_rapp
+ - mata_matdescribe
+ - mata_matsave
+ - mata_matuse
+ - matalabel
+ - matcproc
+ - matlist
+ - matname
+ - matstrik
+ - mcc
+ - mcci
+ - md0_
+ - md1_
+ - md1debug_
+ - md2_
+ - md2debug_
+ - mds
+ - mds_estat
+ - mds_p
+ - mdsconfig
+ - mdslong
+ - mdsmat
+ - mdsshepard
+ - mdytoe
+ - mdytof
+ - me_derd
+ - mean
+ - means
+ - median
+ - memsize
+ - meqparse
+ - mer
+ - merg
+ - merge
+ - mfp
+ - mfx
+ - mhelp
+ - mhodds
+ - mixed_ll
+ - mixed_ll_reparm
+ - mkassert
+ - mkmat
+ - mkspline
+ - ml
+ - ml_5
+ - ml_adjs
+ - ml_bhhhs
+ - ml_c_d
+ - ml_check
+ - ml_clear
+ - ml_cnt
+ - ml_debug
+ - ml_defd
+ - ml_e0
+ - ml_e0_bfgs
+ - ml_e0_cycle
+ - ml_e0_dfp
+ - ml_e0i
+ - ml_e1
+ - ml_e1_bfgs
+ - ml_e1_bhhh
+ - ml_e1_cycle
+ - ml_e1_dfp
+ - ml_e2
+ - ml_e2_cycle
+ - ml_ebfg0
+ - ml_ebfr0
+ - ml_ebfr1
+ - ml_ebh0q
+ - ml_ebhh0
+ - ml_ebhr0
+ - ml_ebr0i
+ - ml_ecr0i
+ - ml_edfp0
+ - ml_edfr0
+ - ml_edfr1
+ - ml_edr0i
+ - ml_eds
+ - ml_eer0i
+ - ml_egr0i
+ - ml_elf
+ - ml_elf_bfgs
+ - ml_elf_bhhh
+ - ml_elf_cycle
+ - ml_elf_dfp
+ - ml_elfi
+ - ml_elfs
+ - ml_enr0i
+ - ml_enrr0
+ - ml_erdu0
+ - ml_erdu0_bfgs
+ - ml_erdu0_bhhh
+ - ml_erdu0_bhhhq
+ - ml_erdu0_cycle
+ - ml_erdu0_dfp
+ - ml_erdu0_nrbfgs
+ - ml_exde
+ - ml_footnote
+ - ml_geqnr
+ - ml_grad0
+ - ml_graph
+ - ml_hbhhh
+ - ml_hd0
+ - ml_hold
+ - ml_init
+ - ml_inv
+ - ml_log
+ - ml_max
+ - ml_mlout
+ - ml_model
+ - ml_nb0
+ - ml_opt
+ - ml_p
+ - ml_plot
+ - ml_query
+ - ml_rdgrd
+ - ml_repor
+ - ml_s_e
+ - ml_score
+ - ml_searc
+ - ml_technique
+ - ml_unhold
+ - mlf_
+ - mlog
+ - mlogi
+ - mlogit
+ - mlogit_footnote
+ - mlogit_p
+ - mlopts
+ - mnl0_
+ - mprobit
+ - mprobit_lf
+ - mprobit_p
+ - mrdu0_
+ - mrdu1_
+ - mvdecode
+ - mvencode
+ - mvreg
+ - mvreg_estat
+ - nbreg
+ - nbreg_al
+ - nbreg_lf
+ - nbreg_p
+ - nbreg_sw
+ - newey
+ - newey_7
+ - newey_p
+ - nl
+ - nl_7
+ - nl_p
+ - nl_p_7
+ - nlcom
+ - nlcom_p
+ - nlexp2
+ - nlexp2_7
+ - nlexp2a
+ - nlexp2a_7
+ - nlexp3
+ - nlexp3_7
+ - nlgom3
+ - nlgom3_7
+ - nlgom4
+ - nlgom4_7
+ - nlinit
+ - nllog3
+ - nllog3_7
+ - nllog4
+ - nllog4_7
+ - nlog_rd
+ - nlogit
+ - nlogit_p
+ - nlogitgen
+ - nlogittree
+ - nlpred
+ - note
+ - notes
+ - nptrend
+ - numlabel
+ - old_ver
+ - olo
+ - olog
+ - ologi
+ - ologi_sw
+ - ologit
+ - ologit_p
+ - ologitp
+ - op_colnm
+ - op_comp
+ - op_diff
+ - op_inv
+ - op_str
+ - opr
+ - opro
+ - oprob
+ - oprob_sw
+ - oprobi
+ - oprobi_p
+ - oprobit
+ - oprobitp
+ - opts_exclusive
+ - orthog
+ - orthpoly
+ - ovtest
+
+ - pac
+ - pac_7
+ - palette
+ - parse_dissim
+ - pause
+ - pca
+ - pca_8
+ - pca_display
+ - pca_estat
+ - pca_p
+ - pca_rotate
+ - pcamat
+ - pchart
+ - pchart_7
+ - pchi
+ - pchi_7
+ - pcorr
+ - pctile
+ - pentium
+ - pergram
+ - pergram_7
+ - permute
+ - permute_8
+ - personal
+ - peto_st
+ - pkcollapse
+ - pkcross
+ - pkequiv
+ - pkexamine
+ - pkexamine_7
+ - pkshape
+ - pksumm
+ - pksumm_7
+ - pnorm
+ - pnorm_7
+ - poisgof
+ - poiss_lf
+ - poiss_sw
+ - poisso_p
+ - poisson
+ - poisson_estat
+ - pperron
+ - prais
+ - prais_e
+ - prais_e2
+ - prais_p
+ - predict
+ - predictnl
+ - print
+ - prob
+ - probi
+ - probit
+ - probit_estat
+ - probit_p
+ - proc_time
+ - procoverlay
+ - procrustes
+ - procrustes_estat
+ - procrustes_p
+ - profiler
+ - prop
+ - proportion
+ - prtest
+ - prtesti
+ - pwcorr
+ - qby
+ - qbys
+ - qchi
+ - qchi_7
+ - qladder
+ - qladder_7
+ - qnorm
+ - qnorm_7
+ - qqplot
+ - qqplot_7
+ - qreg
+ - qreg_c
+ - qreg_p
+ - qreg_sw
+ - quadchk
+ - quantile
+ - quantile_7
+ - range
+ - ranksum
+ - ratio
+ - rchart
+ - rchart_7
+ - rcof
+ - recast
+ - recode
+ - reg
+ - reg3
+ - reg3_p
+ - regdw
+ - regr
+ - regre
+ - regre_p2
+ - regres
+ - regres_p
+ - regress
+ - regress_estat
+ - regriv_p
+ - remap
+ - renpfix
+ - repeat
+ - reshape
+ - robvar
+ - roccomp
+ - roccomp_7
+ - roccomp_8
+ - rocf_lf
+ - rocfit
+ - rocfit_8
+ - rocgold
+ - rocplot
+ - rocplot_7
+ - roctab
+ - roctab_7
+ - rolling
+ - rologit
+ - rologit_p
+ - rot
+ - rota
+ - rotat
+ - rotate
+ - rotatemat
+ - rreg
+ - rreg_p
+ - runtest
+ - rvfplot
+ - rvfplot_7
+ - rvpplot
+ - rvpplot_7
+
+ - safesum
+ - sample
+ - sampsi
+ - savedresults
+ - saveold
+ - sc
+ - scatter
+ - scm_mine
+ - sco
+ - scob_lf
+ - scob_p
+ - scobi_sw
+ - scobit
+ - scor
+ - score
+ - scoreplot
+ - scoreplot_help
+ - scree
+ - screeplot
+ - screeplot_help
+ - sdtest
+ - sdtesti
+ - separate
+ - seperate
+ - serrbar
+ - serrbar_7
+ - set_defaults
+ - sfrancia
+ - shewhart
+ - shewhart_7
+ - signrank
+ - signtest
+ - simul
+ - simul_7
+ - simulate
+ - simulate_8
+ - sktest
+ - slogit
+ - slogit_d2
+ - slogit_p
+ - smooth
+ - snapspan
+ - spearman
+ - spikeplot
+ - spikeplot_7
+ - spikeplt
+ - spline_x
+ - split
+ - sqreg
+ - sqreg_p
+ - ssc
+ - st
+ - st_ct
+ - st_hc
+ - st_hcd
+ - st_hcd_sh
+ - st_is
+ - st_issys
+ - st_note
+ - st_promo
+ - st_set
+ - st_show
+ - st_smpl
+ - st_subid
+ - stack
+ - statsby
+ - statsby_8
+ - stbase
+ - stci
+ - stci_7
+ - stcox
+ - stcox_estat
+ - stcox_fr
+ - stcox_fr_ll
+ - stcox_p
+ - stcox_sw
+ - stcoxkm
+ - stcoxkm_7
+ - stcstat
+ - stcurv
+ - stcurve
+ - stcurve_7
+ - stdes
+ - stem
+ - stepwise
+ - stereg
+ - stfill
+ - stgen
+ - stir
+ - stjoin
+ - stmc
+ - stmh
+ - stphplot
+ - stphplot_7
+ - stphtest
+ - stphtest_7
+ - stptime
+ - strate
+ - strate_7
+ - streg
+ - streg_sw
+ - streset
+ - sts
+ - sts_7
+ - stset
+ - stsplit
+ - stsum
+ - sttocc
+ - sttoct
+ - stvary
+ - stweib
+ - suest
+ - suest_8
+ - sunflower
+ - sureg
+ - survcurv
+ - survsum
+ - svar
+ - svar_p
+ - svmat
+ - svy
+ - svy_disp
+ - svy_dreg
+ - svy_est
+ - svy_est_7
+ - svy_estat
+ - svy_get
+ - svy_gnbreg_p
+ - svy_head
+ - svy_header
+ - svy_heckman_p
+ - svy_heckprob_p
+ - svy_intreg_p
+ - svy_ivreg_p
+ - svy_logistic_p
+ - svy_logit_p
+ - svy_mlogit_p
+ - svy_nbreg_p
+ - svy_ologit_p
+ - svy_oprobit_p
+ - svy_poisson_p
+ - svy_probit_p
+ - svy_regress_p
+ - svy_sub
+ - svy_sub_7
+ - svy_x
+ - svy_x_7
+ - svy_x_p
+ - svydes
+ - svydes_8
+ - svygen
+ - svygnbreg
+ - svyheckman
+ - svyheckprob
+ - svyintreg
+ - svyintreg_7
+ - svyintrg
+ - svyivreg
+ - svylc
+ - svylog_p
+ - svylogit
+ - svymarkout
+ - svymarkout_8
+ - svymean
+ - svymlog
+ - svymlogit
+ - svynbreg
+ - svyolog
+ - svyologit
+ - svyoprob
+ - svyoprobit
+ - svyopts
+ - svypois
+ - svypois_7
+ - svypoisson
+ - svyprobit
+ - svyprobt
+ - svyprop
+ - svyprop_7
+ - svyratio
+ - svyreg
+ - svyreg_p
+ - svyregress
+ - svyset
+ - svyset_7
+ - svyset_8
+ - svytab
+ - svytab_7
+ - svytest
+ - svytotal
+ - sw
+ - sw_8
+ - swcnreg
+ - swcox
+ - swereg
+ - swilk
+ - swlogis
+ - swlogit
+ - swologit
+ - swoprbt
+ - swpois
+ - swprobit
+ - swqreg
+ - swtobit
+ - swweib
+ - symmetry
+ - symmi
+ - symplot
+ - symplot_7
+ - sysdescribe
+ - sysuse
+ - szroeter
+ - tab_or
+ - tab1
+ - tab2
+ - tabi
+ - table
+ - tabodds
+ - tabodds_7
+ - tabstat
+ - te
+ - tes
+ - test
+ - testnl
+ - testparm
+ - teststd
+ - tetrachoric
+ - time_it
+ - tis
+ - tob
+ - tobi
+ - tobit
+ - tobit_p
+ - tobit_sw
+ - tostring
+ - total
+ - treat_ll
+ - treatr_p
+ - treatreg
+ - trim
+ - trnb_cons
+ - trnb_mean
+ - trpoiss_d2
+ - trunc_ll
+ - truncr_p
+ - truncreg
+ - tsappend
+ - tset
+ - tsfill
+ - tsline
+ - tsline_ex
+ - tsreport
+ - tsrline
+ - tsset
+ - tssmooth
+ - tsunab
+ - ttest
+ - ttesti
+ - tut_chk
+ - tut_wait
+ - tutorial
+ - tw
+ - tware_st
+ - two
+ - twoway
+ - twoway__fpfit_serset
+ - twoway__function_gen
+ - twoway__histogram_gen
+ - twoway__ipoint_serset
+ - twoway__ipoints_serset
+ - twoway__kdensity_gen
+ - twoway__lfit_serset
+ - twoway__normgen_gen
+ - twoway__pci_serset
+ - twoway__qfit_serset
+ - twoway__scatteri_serset
+ - twoway__sunflower_gen
+ - twoway_ksm_serset
+ - typeof
+ - unab
+ - unabbrev
+ - uselabel
+
+ - var
+ - var_mkcompanion
+ - var_p
+ - varbasic
+ - varfcast
+ - vargranger
+ - varirf
+ - varirf_add
+ - varirf_cgraph
+ - varirf_create
+ - varirf_ctable
+ - varirf_describe
+ - varirf_dir
+ - varirf_drop
+ - varirf_erase
+ - varirf_graph
+ - varirf_ograph
+ - varirf_rename
+ - varirf_set
+ - varirf_table
+ - varlmar
+ - varnorm
+ - varsoc
+ - varstable
+ - varstable_w
+ - varstable_w2
+ - varwle
+ - vce
+ - vec
+ - vec_fevd
+ - vec_mkphi
+ - vec_p
+ - vec_p_w
+ - vecirf_create
+ - veclmar
+ - veclmar_w
+ - vecnorm
+ - vecnorm_w
+ - vecrank
+ - vecstable
+ - verinst
+ - viewsource
+ - vif
+ - vwls
+ - wdatetof
+ - webdescribe
+ - webseek
+ - webuse
+ - weib_lf
+ - weib_lf0
+ - weib1_lf
+ - weib2_lf
+ - weibhet_glf
+ - weibhet_glf_sh
+ - weibhet_glfa
+ - weibhet_glfa_sh
+ - weibhet_gp
+ - weibhet_ilf
+ - weibhet_ilf_sh
+ - weibhet_ilfa
+ - weibhet_ilfa_sh
+ - weibhet_ip
+ - weibu_sw
+ - weibul_p
+ - weibull
+ - weibull_c
+ - weibull_s
+ - weibullhet
+ - whelp
+ - wilc_st
+ - wilcoxon
+ - wntestb
+ - wntestb_7
+ - wntestq
+ - xchart
+ - xchart_7
+ - xcorr
+ - xcorr_7
+ - xi
+ - xi_6
+ - xpose
+ - xt_iis
+ - xt_tis
+ - xtab_p
+ - xtabond
+ - xtbin_p
+ - xtclog
+ - xtcloglog
+ - xtcloglog_8
+ - xtcloglog_d2
+ - xtcloglog_re_p
+ - xtcnt_p
+ - xtcorr
+ - xtdata
+ - xtdes
+ - xtfront_p
+ - xtfrontier
+ - xtgee
+ - xtgee_elink
+ - xtgee_estat
+ - xtgee_makeivar
+ - xtgee_p
+ - xtgee_plink
+ - xtgls
+ - xtgls_p
+ - xthaus
+ - xthausman
+ - xtht_p
+ - xthtaylor
+ - xtile
+ - xtint_p
+ - xtintreg
+ - xtintreg_8
+ - xtintreg_d2
+ - xtintreg_p
+ - xtivp_1
+ - xtivp_2
+ - xtivreg
+ - xtline
+ - xtline_ex
+ - xtlogit
+ - xtlogit_8
+ - xtlogit_d2
+ - xtlogit_fe_p
+ - xtlogit_pa_p
+ - xtlogit_re_p
+ - xtmixed
+ - xtmixed_estat
+ - xtmixed_p
+ - xtnb_fe
+ - xtnb_lf
+ - xtnbreg
+ - xtnbreg_pa_p
+ - xtnbreg_refe_p
+ - xtpcse
+ - xtpcse_p
+ - xtpois
+ - xtpoisson
+ - xtpoisson_d2
+ - xtpoisson_pa_p
+ - xtpoisson_refe_p
+ - xtpred
+ - xtprobit
+ - xtprobit_8
+ - xtprobit_d2
+ - xtprobit_re_p
+ - xtps_fe
+ - xtps_lf
+ - xtps_ren
+ - xtps_ren_8
+ - xtrar_p
+ - xtrc
+ - xtrc_p
+ - xtrchh
+ - xtrefe_p
+ - xtreg
+ - xtreg_be
+ - xtreg_fe
+ - xtreg_ml
+ - xtreg_pa_p
+ - xtreg_re
+ - xtregar
+ - xtrere_p
+ - xtsf_ll
+ - xtsf_llti
+ - xtsum
+ - xttab
+ - xttest0
+ - xttobit
+ - xttobit_8
+ - xttobit_p
+ - xttrans
+ - yx
+ - yxview__barlike_draw
+ - yxview_area_draw
+ - yxview_bar_draw
+ - yxview_dot_draw
+ - yxview_dropline_draw
+ - yxview_function_draw
+ - yxview_iarrow_draw
+ - yxview_ilabels_draw
+ - yxview_normal_draw
+ - yxview_pcarrow_draw
+ - yxview_pcbarrow_draw
+ - yxview_pccapsym_draw
+ - yxview_pcscatter_draw
+ - yxview_pcspike_draw
+ - yxview_rarea_draw
+ - yxview_rbar_draw
+ - yxview_rbarm_draw
+ - yxview_rcap_draw
+ - yxview_rcapsym_draw
+ - yxview_rconnected_draw
+ - yxview_rline_draw
+ - yxview_rscatter_draw
+ - yxview_rspike_draw
+ - yxview_spike_draw
+ - yxview_sunflower_draw
+ - zap_s
+ - zinb
+ - zinb_llf
+ - zinb_plf
+ - zip
+ - zip_llf
+ - zip_p
+ - zip_plf
+ - zt_ct_5
+ - zt_hc_5
+ - zt_hcd_5
+ - zt_is_5
+ - zt_iss_5
+ - zt_sho_5
+ - zt_smp_5
+ - ztbase_5
+ - ztcox_5
+ - ztdes_5
+ - ztereg_5
+ - ztfill_5
+ - ztgen_5
+ - ztir_5
+ - ztjoin_5
+ - ztnb
+ - ztnb_p
+ - ztp
+ - ztp_p
+ - zts_5
+ - ztset_5
+ - ztspli_5
+ - ztsum_5
+ - zttoct_5
+ - ztvary_5
+ - ztweib_5
+
+
+
+ - _cholinv
+ - _cholsolve
+ - _corr
+ - _edittoint
+ - _edittointtol
+ - _edittozero
+ - _edittozerotol
+ - _eigen_work
+ - _eigensystem
+ - _eigenvalues
+ - _equilc
+ - _equilr
+ - _equilrc
+ - _ftell
+ - _fullsvd
+ - _hqrd
+ - _hqrdp
+ - _invlower
+ - _jumble
+ - _lefteigensystem
+ - _lowertriangle
+ - _lud
+ - _lud_la
+ - _luinv
+ - _lusolve
+ - _matexpsym
+ - _matlogsym
+ - _matpowersym
+ - _mprobit_outer_prod
+ - _mprobit_quadrature
+ - _mprobit_quadrature_eval
+ - _mprobit_quadrature_m
+ - _mprobit_select
+ - _mprobit_simulator
+ - _mprobit_simulator_case_g
+ - _mprobit_simulator_lk
+ - _mprobit_simulator_m
+ - _mprobit_simulator_mi
+ - _mprobit_validate_choice
+ - _mprobit_weights_roots_laguerre
+ - _perhapsequilc
+ - _perhapsequilr
+ - _perhapsequilrc
+ - _pinv
+ - _qrinv
+ - _qrsolve
+ - _rowswap
+ - _solvelower
+ - _solveupper
+ - _sort
+ - _svd
+ - _svdsv
+ - _svsolve
+ - _svy_design
+ - _svy_group_sum
+ - _svy_identify
+ - _svy_mean
+ - _svy_mean_post
+ - _svy_mean_std
+ - _svy_mean_stdpost
+ - _svy_over_expand
+ - _svy_over_sizes
+ - _svy_post_sizes
+ - _svy_ratio
+ - _svy_ratio_post
+ - _svy_ratio_std
+ - _svy_ratio_stdpost
+ - _svy_srs_variance
+ - _svy_srssub_variance
+ - _svy_std_sizes
+ - _svy_total
+ - _svy_total_post
+ - _svy_variance
+ - _symeigen_work
+ - _symeigensystem
+ - _symeigenvalues
+ - _symmatfunc_work
+ - _uppertriangle
+ - _xtm_beta
+ - _xtm_blup
+ - _xtm_blup_save
+ - _xtm_blup_save_u
+ - _xtm_blup_u
+ - _xtm_cleanup
+ - _xtm_covtype
+ - _xtm_de_th_u
+ - _xtm_delta_to_theta
+ - _xtm_det_upper
+ - _xtm_em_get_rij
+ - _xtm_em_get_uij
+ - _xtm_em_iter
+ - _xtm_em_iter_u
+ - _xtm_em_solve
+ - _xtm_fact_expand
+ - _xtm_ga_th_u
+ - _xtm_gamma_to_theta
+ - _xtm_get_delta
+ - _xtm_get_delta_u
+ - _xtm_invert_R
+ - _xtm_logdetr00
+ - _xtm_logdetr00_u
+ - _xtm_matexp
+ - _xtm_matlog
+ - _xtm_mixed_ll
+ - _xtm_mixed_ll_u
+ - _xtm_mixed_ll_uu
+ - _xtm_mk_eqs
+ - _xtm_ml_eqlist
+ - _xtm_ml_eqlist_wrk
+ - _xtm_setup
+ - _xtm_start
+ - _xtm_start_collapse
+ - _xtm_start_u
+ - _xtm_th_de_u
+ - _xtm_th_ga_u
+ - _xtm_theta_to_delta
+ - _xtm_theta_to_gamma
+ - acos
+ - acosh
+ - aggregate
+ - array
+ - asin
+ - asinh
+ - assert
+ - asserteq
+ - atan
+ - atanh
+ - blockdiag
+ - boolean
+ - break
+ - byte
+ - case
+ - cat
+ - catch
+ - chdir
+ - cholesky
+ - cholinv
+ - cholsolve
+ - class
+ - cloglog
+ - collate
+ - colmax
+ - colmin
+ - colscalefactors
+ - colshape
+ - colvector
+ - complex
+ - cond
+ - const
+ - continue
+ - convolve
+ - convolveslowly
+ - Corr
+ - correlation
+ - Corrslowly
+ - corruppercase
+ - cosh
+ - deconvolve
+ - default
+ - delegate
+ - delete
+ - designmatrix
+ - det
+ - dettriangular
+ - diag
+ - diag0cnt
+ - do
+ - double
+ - dsign
+ - e
+ - editmissing
+ - edittoint
+ - edittointtol
+ - edittozero
+ - edittozerotol
+ - editvalue
+ - eigensystem
+ - eigenvalues
+ - else
+ - eltypedef
+ - end
+ - enum
+ - explicit
+ - export
+ - external
+ - fft
+ - fileexists
+ - findfile
+ - float
+ - for
+ - friend
+ - ftell
+ - ftfreqs
+ - ftpad
+ - ftperiodogram
+ - ftretime
+ - ftunwrap
+ - ftwrap
+ - fullsdiag
+ - fullsvd
+ - function
+ - gamma
+ - global
+ - goto
+ - helloworld
+ - Hilbert
+ - hqrd
+ - hqrdmultq
+ - hqrdmultq1t
+ - hqrdp
+ - hqrdq
+ - hqrdq1
+ - hqrdr
+ - hqrdr1
+ - if
+ - inline
+ - int
+ - invcloglog
+ - invfft
+ - invHilbert
+ - invlogit
+ - invlower
+ - invorder
+ - invslowfft
+ - invslowft
+ - invvech
+ - isdiagonal
+ - jumble
+ - lefteigensystem
+ - local
+ - log10
+ - logit
+ - long
+ - lowertriangle
+ - lud
+ - luinv
+ - lusolve
+ - makesymmetric
+ - mat_norm
+ - mata
+ - matexpsym
+ - matlogsym
+ - matpowersym
+ - matrix
+ - max
+ - mean
+ - meanvariance
+ - min
+ - mkdir
+ - mmat_
+ - mmat_describe
+ - mmat_expandlist
+ - mmat_readerror
+ - mmat_save
+ - mmat_use
+ - mmat_writeerror
+ - namespace
+ - new
+ - norm
+ - NULL
+ - numeric
+ - operator
+ - orgtypedef
+ - panelsetup
+ - panelsetup_u
+ - panelstats
+ - panelsubmatrix
+ - panelsubview
+ - pathlist
+ - pathsubsysdir
+ - pi
+ - pinv
+ - pointer
+ - polyadd
+ - polyadd_expand
+ - polyderiv
+ - polydiv
+ - polyeval
+ - polyinteg
+ - polymorphic
+ - polymult
+ - polyroots
+ - polysolve
+ - polytrim
+ - pragma
+ - private
+ - protected
+ - public
+ - qrd
+ - qrdp
+ - qrinv
+ - qrsolve
+ - quad
+ - quadcorrelation
+ - quadmeanvariance
+ - quadrant
+ - quadvariance
+ - range
+ - rangen
+ - rank
+ - rank_from_singular_values
+ - real
+ - return
+ - revorder
+ - rmdir
+ - rowmax
+ - rowmin
+ - rowscalefactors
+ - rowvector
+ - scalar
+ - scalar_norm
+ - short
+ - sign
+ - signed
+ - sinh
+ - sizeof
+ - slowfft
+ - slowft
+ - solve_tol
+ - solve_tolscale
+ - solvelower
+ - solveupper
+ - sort
+ - spline3
+ - spline3eval
+ - splineeval
+ - st_islmname
+ - static
+ - string
+ - struct
+ - super
+ - svd
+ - svdsv
+ - svsolve
+ - switch
+ - symeigensystem
+ - symeigenvalues
+ - tanh
+ - template
+ - this
+ - throw
+ - Toeplitz
+ - trace
+ - trace_prod
+ - transmorphic
+ - transposeonly
+ - try
+ - typedef
+ - typename
+ - union
+ - uniqrows
+ - unitcircle
+ - unorder
+ - unsigned
+ - uppertriangle
+ - using
+ - Vandermonde
+ - variance
+ - vec
+ - vec_norm
+ - vech
+ - vector
+ - version
+ - virtual
+ - void
+ - volatile
+ - while
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/stl.xml b/data/syntax/stl.xml
new file mode 100644
index 0000000..4f1aa54
--- /dev/null
+++ b/data/syntax/stl.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ - solid
+ - facet
+ - normal
+ - outer
+ - loop
+ - vertex
+ - endloop
+ - endfacet
+ - endsolid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/systemc.xml b/data/syntax/systemc.xml
new file mode 100644
index 0000000..0b98937
--- /dev/null
+++ b/data/syntax/systemc.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+ - sensitive
+
+
+ - dont_initialize
+ - gen_unique_name
+ - name
+ - next_trigger
+ - sc_assert_fail
+ - sc_copyright
+ - sc_cycle
+ - sc_initialize
+ - sc_simulation_time
+ - sc_start
+ - sc_stop
+ - sc_get_default_time_unit
+ - sc_get_default_time_resolution
+ - sc_time_stamp
+ - sc_version
+ - timed_out
+ - wait
+ - sc_trace
+ - sc_create_vcd_trace_file
+ - sc_close_vcd_trace_file
+
+
+
+ - SC_MODULE
+ - SC_CTOR
+ - SC_METHOD
+ - SC_THREAD
+
+
+ - sc_time_unit
+ - sc_clock
+ - sc_int
+ - sc_uint
+ - sc_bigint
+ - sc_biguint
+ - sc_logic
+ - sc_lv
+ - sc_bit
+ - sc_bv
+ - sc_fixed
+ - sc_ufixed
+ - sc_fixed_fast
+ - sc_ufixed_fast
+ - sc_fix
+ - sc_ufix
+ - sc_buffer
+ - sc_fifo
+ - sc_mutex
+ - sc_semaphore
+ - sc_signal
+ - sc_signal_resolved
+ - sc_signal_rv
+ - sc_fifo_in_if
+ - sc_fifo_out_if
+ - sc_mutex_if
+ - sc_semaphore_if
+ - sc_signal_in_if
+ - sc_signal_inout_if
+ - sc_master
+ - sc_inmaster
+ - sc_outmaster
+ - sc_inout_master
+ - sc_indexed
+ - sc_slave
+ - sc_inslave
+ - sc_outslave
+ - sc_inoutslave
+ - sc_in
+ - sc_out
+ - sc_inout
+ - sc_noHandshake
+ - sc_fullHandshake
+ - sc_memfullHandshake
+ - sc_enable_Handshake
+ - sc_memenHandshake
+ - sc_link_mp
+ - sc_trace_file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/systemverilog.xml b/data/syntax/systemverilog.xml
new file mode 100644
index 0000000..26c84db
--- /dev/null
+++ b/data/syntax/systemverilog.xml
@@ -0,0 +1,1028 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - defparam
+ - deassign
+
+
+
+ - DPI
+ - DPI-C
+ - import
+ - export
+ - context
+
+
+
+ - assert
+ - assume
+ - cover
+ - expect
+ - disable
+ - iff
+ - binsof
+ - intersect
+ - first_match
+ - throughout
+ - within
+
+
+
+ - coverpoint
+ - cross
+ - wildcard
+ - bins
+ - ignore_bins
+ - illegal_bins
+
+
+
+ - genvar
+
+
+
+ - if
+ - else
+ - unique
+ - priority
+ - matches
+
+
+
+ - default
+
+
+
+ - forever
+ - repeat
+ - while
+ - for
+ - do
+ - foreach
+ - break
+ - continue
+ - return
+
+
+
+ - pulsestyle_onevent
+ - pulsestyle_ondetect
+ - noshowcancelled
+ - showcancelled
+ - ifnone
+
+
+
+ - initial
+ - final
+ - always
+ - always_comb
+ - always_ff
+ - always_latch
+
+
+
+ - alias
+ - assign
+ - force
+ - release
+
+
+
+ - posedge
+ - negedge
+ - edge
+ - wait
+ - wait_order
+
+
+
+ - timeunit
+ - timeprecision
+ - s
+ - ms
+ - ns
+ - us
+ - ns
+ - ps
+ - fs
+ - step
+
+
+
+ - new
+ - extends
+ - this
+ - super
+ - protected
+ - local
+ - rand
+ - randc
+ - bind
+
+
+
+ - constraint
+ - solve
+ - before
+ - dist
+ - inside
+ - with
+
+
+
+ - virtual
+ - pure
+ - extern
+ - forkjoin
+
+
+
+ - design
+ - instance
+ - cell
+ - liblist
+ - use
+
+
+
+ - library
+ - incdir
+ - include
+
+
+
+ - modport
+
+
+
+ - sync_accept_on
+ - reject_on
+ - accept_on
+ - sync_reject_on
+ - restrict
+ - let
+ - until
+ - until_with
+ - unique0
+ - eventually
+ - s_until
+ - s_always
+ - s_eventually
+ - s_nexttime
+ - s_until_with
+ - global
+ - untyped
+ - implies
+ - weak
+ - strong
+ - nexttime
+
+
+
+
+ - parameter
+ - localparam
+ - specparam
+
+ - input
+ - output
+ - inout
+ - ref
+
+ - byte
+ - shortint
+ - int
+ - integer
+ - longint
+ - time
+
+ - bit
+ - logic
+ - reg
+
+ - supply0
+ - supply1
+ - tri
+ - triand
+ - trior
+ - trireg
+ - tri0
+ - tri1
+ - wire
+ - uwire
+ - wand
+ - wor
+
+ - signed
+ - unsigned
+
+ - shortreal
+ - real
+ - realtime
+
+ - type
+ - void
+
+ - struct
+ - union
+ - tagged
+
+ - const
+ - var
+ - automatic
+ - static
+ - packed
+ - vectored
+ - scalared
+
+ - typedef
+ - enum
+ - string
+ - chandle
+ - event
+
+ - null
+
+
+
+ - `__FILE__
+ - `__LINE__
+ - `begin_keywords
+ - `celldefine
+ - `default_nettype
+ - `define
+ - `else
+ - `elsif
+ - `end_keywords
+ - `endcelldefine
+ - `endif
+ - `ifdef
+ - `ifndef
+ - `include
+ - `line
+ - `nounconnected_drive
+ - `pragma
+ - `resetall
+ - `timescale
+ - `unconnected_drive
+ - `undef
+ - `undefineall
+
+
+
+ - $finish
+ - $stop
+ - $exit
+ - $realtime
+ - $stime
+ - $time
+ - $printtimescale
+ - $timeformat
+ - $bitstoreal
+ - $realtobits
+ - $bitstoshortreal
+ - $shortrealtobits
+ - $itor
+ - $rtoi
+ - $signed
+ - $unsigned
+ - $cast
+ - $bits
+ - $isunbounded
+ - $typename
+ - $unpacked_dimensions
+ - $dimensions
+ - $left
+ - $right
+ - $low
+ - $high
+ - $increment
+ - $size
+ - $clog2
+ - $asin
+ - $ln
+ - $acos
+ - $log10
+ - $atan
+ - $exp
+ - $atan2
+ - $sqrt
+ - $hypot
+ - $pow
+ - $sinh
+ - $floor
+ - $cosh
+ - $ceil
+ - $tanh
+ - $sin
+ - $asinh
+ - $cos
+ - $acosh
+ - $tan
+ - $atanh
+ - $fatal
+ - $error
+ - $warning
+ - $info
+ - $fatal
+ - $error
+ - $warning
+ - $info
+ - $asserton
+ - $assertoff
+ - $assertkill
+ - $assertpasson
+ - $assertpassoff
+ - $assertfailon
+ - $assertfailoff
+ - $assertnonvacuouson
+ - $assertvacuousoff
+ - $onehot
+ - $onehot0
+ - $isunknown
+ - $sampled
+ - $rose
+ - $fell
+ - $stable
+ - $changed
+ - $past
+ - $countones
+ - $past_gclk
+ - $rose_gclk
+ - $fell_gclk
+ - $stable_gclk
+ - $changed_gclk
+ - $future_gclk
+ - $rising_gclk
+ - $falling_gclk
+ - $steady_gclk
+ - $changing_gclk
+ - $coverage_control
+ - $coverage_get_max
+ - $coverage_get
+ - $coverage_merge
+ - $coverage_save
+ - $get_coverage
+ - $set_coverage_db_name
+ - $load_coverage_db
+ - $random
+ - $dist_chi_square
+ - $dist_erlang
+ - $dist_exponential
+ - $dist_normal
+ - $dist_poisson
+ - $dist_t
+ - $dist_uniform
+ - $q_initialize
+ - $q_add
+ - $q_remove
+ - $q_full
+ - $q_exam
+ - $async$and$array
+ - $async$and$plane
+ - $async$nand$array
+ - $async$nand$plane
+ - $async$or$array
+ - $async$or$plane
+ - $async$nor$array
+ - $async$nor$plane
+ - $sync$and$array
+ - $sync$and$plane
+ - $sync$nand$array
+ - $sync$nand$plane
+ - $sync$or$array
+ - $sync$or$plane
+ - $sync$nor$array
+ - $sync$nor$plane
+ - $system
+ - $display
+ - $write
+ - $displayb
+ - $writeb
+ - $displayh
+ - $writeh
+ - $displayo
+ - $writeo
+ - $strobe
+ - $monitor
+ - $strobeb
+ - $monitorb
+ - $strobeh
+ - $monitorh
+ - $strobeo
+ - $monitoro
+ - $monitoroff
+ - $monitoron
+ - $fclose
+ - $fopen
+ - $fdisplay
+ - $fwrite
+ - $fdisplayb
+ - $fwriteb
+ - $fdisplayh
+ - $fwriteh
+ - $fdisplayo
+ - $fwriteo
+ - $fstrobe
+ - $fmonitor
+ - $fstrobeb
+ - $fmonitorb
+ - $fstrobeh
+ - $fmonitorh
+ - $fstrobeo
+ - $fmonitoro
+ - $swrite
+ - $sformat
+ - $swriteb
+ - $sformatf
+ - $swriteh
+ - $fgetc
+ - $swriteo
+ - $ungetc
+ - $fscanf
+ - $fgets
+ - $fread
+ - $sscanf
+ - $fseek
+ - $rewind
+ - $fflush
+ - $ftell
+ - $feof
+ - $ferror
+ - $readmemb
+ - $readmemh
+ - $writememb
+ - $writememh
+ - $test$plusargs
+ - $value$plusargs
+ - $dumpfile
+ - $dumpvars
+ - $dumpoff
+ - $dumpon
+ - $dumpall
+ - $dumplimit
+ - $dumpflush
+ - $dumpports
+ - $dumpportsoff
+ - $dumpportson
+ - $dumpportsall
+ - $dumpportslimit
+ - $dumpportsflush
+
+
+
+ - pullup
+ - pulldown
+ - cmos
+ - rcmos
+ - nmos
+ - pmos
+ - rnmos
+ - rpmos
+ - and
+ - nand
+ - or
+ - nor
+ - xor
+ - xnor
+ - not
+ - buf
+ - tran
+ - rtran
+ - tranif0
+ - tranif1
+ - rtranif0
+ - rtranif1
+ - bufif0
+ - bufif1
+ - notif0
+ - notif1
+
+
+
+
+ - strong0
+ - strong1
+ - pull0
+ - pull1
+ - weak0
+ - weak1
+ - highz0
+ - highz1
+
+ - small
+ - medium
+ - large
+
+
+ - randomize
+ - mailbox
+ - semaphore
+ - put
+ - get
+ - try_put
+ - try_get
+ - peek
+ - try_peek
+ - process
+ - state
+ - self
+ - status
+ - kill
+ - await
+ - suspend
+ - resume
+
+ - size
+ - delete
+ - insert
+ - num
+ - first
+ - last
+ - next
+ - prev
+ - pop_front
+ - pop_back
+ - push_front
+ - push_back
+ - find
+ - find_index
+ - find_first
+ - find_last
+ - find_last_index
+ - min
+ - max
+ - unique_index
+ - reverse
+ - sort
+ - rsort
+ - shuffle
+ - sum
+ - product
+
+ - List
+ - List_Iterator
+ - neq
+ - eq
+ - data
+ - empty
+ - front
+ - back
+ - start
+ - finish
+ - insert_range
+ - erase
+ - erase_range
+ - set
+ - swap
+ - clear
+ - purge
+
+
+
+ - begin
+
+
+ - end
+
+
+ - package
+
+
+ - endpackage
+
+
+ - macromodule
+
+
+ - module
+
+
+ - endmodule
+
+
+ - generate
+
+
+ - endgenerate
+
+
+ - program
+
+
+ - endprogram
+
+
+ - class
+
+
+ - endclass
+
+
+ - function
+
+
+ - endfunction
+
+
+ - case
+
+
+ - casex
+
+
+ - casez
+
+
+ - randcase
+
+
+ - endcase
+
+
+ - interface
+
+
+ - endinterface
+
+
+ - clocking
+
+
+ - endclocking
+
+
+ - task
+
+
+ - endtask
+
+
+ - primitive
+
+
+ - endprimitive
+
+
+ - fork
+
+
+ - join
+
+
+ - join_any
+
+
+ - join_none
+
+
+ - covergroup
+
+
+ - endgroup
+
+
+ - checker
+
+
+ - endchecker
+
+
+ - property
+
+
+ - endproperty
+
+
+ - randsequence
+
+
+ - sequence
+
+
+ - endsequence
+
+
+ - specify
+
+
+ - endspecify
+
+
+ - config
+
+
+ - endconfig
+
+
+ - table
+
+
+ - endtable
+
+
+ - extern
+
+
+ - pure
+
+
+ - typedef
+
+
+ - import
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/tads3.xml b/data/syntax/tads3.xml
new file mode 100644
index 0000000..d806d0d
--- /dev/null
+++ b/data/syntax/tads3.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+ - abort
+ - and
+ - argcount
+ - break
+ - case
+ - catch
+ - class
+ - construct
+ - continue
+ - default
+ - definingobj
+ - delegated
+ - dictionary
+ - do
+ - else
+ - enum
+ - exit
+ - export
+ - extern
+ - finalize
+ - finally
+ - for
+ - foreach
+ - function
+ - goto
+ - grammar
+ - if
+ - in
+ - inherited
+ - intrinsic
+ - is
+ - local
+ - modify
+ - new
+ - nil
+ - not
+ - object
+ - or
+ - property
+ - propertyset
+ - replace
+ - replaced
+ - return
+ - self
+ - static
+ - switch
+ - targetobj
+ - targetprop
+ - template
+ - throw
+ - token
+ - transient
+ - true
+ - try
+ - while
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/taskjuggler.xml b/data/syntax/taskjuggler.xml
new file mode 100644
index 0000000..eff8793
--- /dev/null
+++ b/data/syntax/taskjuggler.xml
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+ - account
+ - project
+ - task
+ - resource
+ - shift
+ - scenario
+
+
+ - accountid
+ - accountreport
+ - accumulate
+ - allocate
+ - allowredefinitions
+ - alternative
+ - barlabels
+ - booking
+ - bookings
+ - caption
+ - celltext
+ - cellurl
+ - chart
+ - columns
+ - completed
+ - complete
+ - copyright
+ - cost
+ - credit
+ - criticalness
+ - csvaccountreport
+ - csvresourcereport
+ - csvtaskreport
+ - currencydigits
+ - currencyformat
+ - currency
+ - customer
+ - dailymax
+ - dailyworkinghours
+ - db
+ - depends
+ - disabled
+ - drawemptycontainersastasks
+ - duration
+ - efficiency
+ - effort
+ - empty
+ - enabled
+ - endbuffer
+ - endbufferstart
+ - endcredit
+ - end
+ - endsAfter
+ - endsBefore
+ - export
+ - extend
+ - finished
+ - flags
+ - follows
+ - freeload
+ - gapduration
+ - gaplength
+ - headline
+ - hideaccount
+ - hidecelltext
+ - hidecellurl
+ - hideresource
+ - hidetask
+ - hierarchindex
+ - hierarchlevel
+ - hierarchno
+ - htmlaccountreport
+ - htmlmonthlycalendar
+ - htmlresourcereport
+ - htmlstatusreport
+ - htmltaskreport
+ - htmlweeklycalendar
+ - icalreport
+ - id
+ - include
+ - index
+ - inherit
+ - inprogress
+ - journalentry
+ - label
+ - late
+ - length
+ - limits
+ - load
+ - loadunit
+ - macro
+ - mandatory
+ - maxeffort
+ - maxend
+ - maxstart
+ - milestone
+ - mineffort
+ - minend
+ - minstart
+ - monthlymax
+ - name
+ - no
+ - note
+ - notimestamp
+ - notstarted
+ - now
+ - numberformat
+ - ontime
+ - optimize
+ - order
+ - overtime
+ - pathcriticalness
+ - period
+ - period
+ - persistent
+ - precedes
+ - priority
+ - profit
+ - projectid
+ - projectids
+ - projection
+ - project
+ - rate
+ - rawhead
+ - rawstylesheet
+ - rawtail
+ - reference
+ - resourceid
+ - resourcereport
+ - resources
+ - responsibilities
+ - responsible
+ - revenue
+ - rollupaccount
+ - rollupresource
+ - rolluptask
+ - scenario
+ - scenarios
+ - scheduled
+ - schedule
+ - scheduling
+ - select
+ - separator
+ - seqno
+ - shorttimeformat
+ - showprojectids
+ - sloppy
+ - sortaccounts
+ - sortresources
+ - sorttasks
+ - startbufferend
+ - startbuffer
+ - startcredit
+ - start
+ - startsAfter
+ - startsBefore
+ - status
+ - statusnote
+ - strict
+ - subtitle
+ - subtitleurl
+ - supplement
+ - table
+ - taskattributes
+ - taskid
+ - taskprefix
+ - taskreport
+ - taskroot
+ - text
+ - timeformat
+ - timezone
+ - timingresolution
+ - title
+ - titleurl
+ - total
+ - tree
+ - treeLevel
+ - url
+ - utilization
+ - vacation
+ - version
+ - weekdays
+ - weeklymax
+ - weekstartsmonday
+ - weekstartssunday
+ - workinghours
+ - xml
+ - xmlreport
+ - yearlyworkingdays
+
+
+ - accountid
+ - alap
+ - all
+ - asap
+ - baseline
+ - completeddown
+ - completedup
+ - containstask
+ - criticalnessdown
+ - criticalnessup
+ - daily
+ - day
+ - days
+ - enddown
+ - endup
+ - fri
+ - fullnamedown
+ - fullnameup
+ - hasAssignments
+ - hours
+ - iddown
+ - idup
+ - indexdown
+ - indexup
+ - inprogressearly
+ - inprogresslate
+ - isAccount
+ - isactualallocated
+ - isAllocated
+ - isAllocatedToProject
+ - isAnAccount
+ - isAResource
+ - isatask
+ - isATask
+ - isChildOf
+ - isDutyOf
+ - isLeaf
+ - isMilestone
+ - isOnCriticalPath
+ - isParentOf
+ - isplanallocated
+ - isResource
+ - issubtaskof
+ - isTask
+ - isTaskOfProject
+ - isTaskStatus
+ - longauto
+ - maxeffortdown
+ - maxeffortup
+ - maxloaded
+ - minallocated
+ - mineffortdown
+ - mineffortup
+ - minloaded
+ - minslackrate
+ - minutes
+ - m
+ - mon
+ - month
+ - monthly
+ - months
+ - namedown
+ - nameup
+ - off
+ - pathcriticalnessdown
+ - pathcriticalnessup
+ - prioritydown
+ - priorityup
+ - properties
+ - quarter
+ - quarterly
+ - random
+ - ratedown
+ - rateup
+ - resourceid
+ - responsibledown
+ - responsibleup
+ - sat
+ - sequencedown
+ - sequenceup
+ - shifts
+ - shortauto
+ - startbufferend
+ - startdown
+ - startup
+ - statusdown
+ - statusup
+ - sun
+ - tasks
+ - thu
+ - tue
+ - undefined
+ - wed
+ - week
+ - weekly
+ - weeks
+ - year
+ - yearly
+ - years
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/tcl.xml b/data/syntax/tcl.xml
new file mode 100644
index 0000000..8d3590a
--- /dev/null
+++ b/data/syntax/tcl.xml
@@ -0,0 +1,565 @@
+
+
+
+
+
+
+
+
+
+
+
+ - after
+ - append
+ - AppleScript
+ - argv
+ - argc
+ - array
+ - auto_execk
+ - auto_execok
+ - auto_import
+ - auto_load
+ - auto_mkindex
+ - auto_mkindex_old
+ - auto_path
+ - auto_qualify
+ - auto_reset
+ - beep
+ - bell
+ - binary
+ - bind
+ - bindtags
+ - bgerror
+ - break
+ - button
+ - canvas
+ - case
+ - catch
+ - cd
+ - chan
+ - checkbutton
+ - clipboard
+ - clock
+ - close
+ - combobox
+ - concat
+ - console
+ - continue
+ - dde
+ - destroy
+ - dict
+ - else
+ - elseif
+ - encoding
+ - entry
+ - env
+ - eof
+ - error
+ - errorCode
+ - errorInfo
+ - eval
+ - event
+ - exec
+ - exit
+ - expr
+ - fblocked
+ - fconfigure
+ - fcopy
+ - file
+ - fileevent
+ - flush
+ - focus
+ - font
+ - for
+ - foreach
+ - format
+ - frame
+ - gets
+ - glob
+ - global
+ - grab
+ - grid
+ - history
+ - if
+ - image
+ - incr
+ - info
+ - interp
+ - join
+ - label
+ - labelframe
+ - lappend
+ - lassign
+ - lindex
+ - linsert
+ - list
+ - listbox
+ - llength
+ - load
+ - lower
+ - lrange
+ - lremove
+ - lrepeat
+ - lreplace
+ - lreverse
+ - lsearch
+ - lset
+ - lsort
+ - menu
+ - menubutton
+ - message
+ - namespace
+ - notebook
+ - open
+ - option
+ - OptProc
+ - pack
+ - package
+ - panedwindow
+ - parray
+ - pid
+ - place
+ - pkg_mkIndex
+ - proc
+ - progressbar
+ - puts
+ - pwd
+ - radiobutton
+ - raise
+ - read
+ - regexp
+ - registry
+ - regsub
+ - rename
+ - resource
+ - return
+ - scale
+ - scan
+ - scrollbar
+ - seek
+ - selection
+ - send
+ - separator
+ - set
+ - sizegrip
+ - socket
+ - source
+ - spinbox
+ - split
+ - string
+ - style
+ - subst
+ - switch
+ - tclLog
+ - tcl_endOfWord
+ - tcl_findLibrary
+ - tcl_library
+ - tcl_patchLevel
+ - tcl_platform
+ - tcl_precision
+ - tcl_rcFileName
+ - tcl_rcRsrcName
+ - tcl_startOfNextWord
+ - tcl_startOfPreviousWord
+ - tcl_traceCompile
+ - tcl_traceExec
+ - tcl_version
+ - tcl_wordBreakAfter
+ - tcl_wordBreakBefore
+ - tell
+ - text
+ - time
+ - tk
+ - tkTabToWindow
+ - tkwait
+ - tk_chooseColor
+ - tk_chooseDirectory
+ - tk_focusFollowMouse
+ - tk_focusNext
+ - tk_focusPrev
+ - tk_getOpenFile
+ - tk_getSaveFile
+ - tk_library
+ - tk_menuSetFocus
+ - tk_messageBox
+ - tk_optionMenu
+ - tk_patchLevel
+ - tk_popup
+ - tk_strictMotif
+ - tk_textCopy
+ - tk_textCut
+ - tk_textPaste
+ - tk_version
+ - toplevel
+ - trace
+ - traverseTo
+ - treeview
+ - unknown
+ - unload
+ - unset
+ - update
+ - uplevel
+ - upvar
+ - variable
+ - vwait
+ - while
+ - winfo
+ - wm
+
+
+
+ - add
+ - args
+ - atime
+ - attributes
+ - body
+ - bytelength
+ - cancel
+ - channels
+ - clicks
+ - cmdcount
+ - commands
+ - compare
+ - complete
+ - convertfrom
+ - convertto
+ - copy
+ - default
+ - delete
+ - dirname
+ - equal
+ - executable
+ - exists
+ - extension
+ - first
+ - forget
+ - format
+ - functions
+ - globals
+ - hostname
+ - idle
+ - ifneeded
+ - index
+ - info
+ - is
+ - isdirectory
+ - isfile
+ - join
+ - last
+ - length
+ - level
+ - library
+ - link
+ - loaded
+ - locals
+ - lstat
+ - map
+ - match
+ - mkdir
+ - mtime
+ - nameofexecutable
+ - names
+ - nativename
+ - normalize
+ - number
+ - owned
+ - patchlevel
+ - pathtype
+ - present
+ - procs
+ - provide
+ - range
+ - readable
+ - readlink
+ - remove
+ - rename
+ - repeat
+ - replace
+ - require
+ - rootname
+ - scan
+ - script
+ - seconds
+ - separator
+ - sharedlibextension
+ - size
+ - split
+ - stat
+ - system
+ - tail
+ - tclversion
+ - tolower
+ - totitle
+ - toupper
+ - trim
+ - trimleft
+ - trimright
+ - type
+ - unknown
+ - variable
+ - vars
+ - vcompare
+ - vdelete
+ - versions
+ - vinfo
+ - volumes
+ - vsatisfies
+ - wordend
+ - wordstart
+ - writable
+
+ - activate
+ - actual
+ - addtag
+ - append
+ - appname
+ - aspect
+ - atom
+ - atomname
+ - bbox
+ - bind
+ - broadcast
+ - canvasx
+ - canvasy
+ - caret
+ - cells
+ - cget
+ - children
+ - class
+ - clear
+ - client
+ - clone
+ - colormapfull
+ - colormapwindows
+ - command
+ - configure
+ - containing
+ - coords
+ - create
+ - current
+ - curselection
+ - dchars
+ - debug
+ - deiconify
+ - delta
+ - depth
+ - deselect
+ - dlineinfo
+ - dtag
+ - dump
+ - edit
+ - entrycget
+ - entryconfigure
+ - families
+ - find
+ - flash
+ - focus
+ - focusmodel
+ - fpixels
+ - fraction
+ - frame
+ - generate
+ - geometry
+ - get
+ - gettags
+ - grid
+ - group
+ - handle
+ - height
+ - hide
+ - iconbitmap
+ - iconify
+ - iconmask
+ - iconname
+ - iconposition
+ - iconwindow
+ - icursor
+ - id
+ - identify
+ - image
+ - insert
+ - interps
+ - inuse
+ - invoke
+ - ismapped
+ - itemcget
+ - itemconfigure
+ - keys
+ - lower
+ - manager
+ - mark
+ - maxsize
+ - measure
+ - metrics
+ - minsize
+ - move
+ - name
+ - nearest
+ - overrideredirect
+ - own
+ - panecget
+ - paneconfigure
+ - panes
+ - parent
+ - pathname
+ - pixels
+ - pointerx
+ - pointerxy
+ - pointery
+ - positionfrom
+ - post
+ - postcascade
+ - postscript
+ - protocol
+ - proxy
+ - raise
+ - release
+ - reqheight
+ - reqwidth
+ - resizable
+ - rgb
+ - rootx
+ - rooty
+ - scale
+ - scaling
+ - screen
+ - screencells
+ - screendepth
+ - screenheight
+ - screenmmheight
+ - screenmmwidth
+ - screenvisual
+ - screenwidth
+ - search
+ - see
+ - select
+ - selection
+ - server
+ - set
+ - show
+ - sizefrom
+ - stackorder
+ - state
+ - status
+ - tag
+ - title
+ - toplevel
+ - transient
+ - types
+ - unpost
+ - useinputmethods
+ - validate
+ - values
+ - viewable
+ - visual
+ - visualid
+ - visualsavailable
+ - vrootheight
+ - vrootwidth
+ - vrootx
+ - vrooty
+ - width
+ - window
+ - windowingsystem
+ - withdraw
+ - x
+ - xview
+ - y
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/tcsh.xml b/data/syntax/tcsh.xml
new file mode 100644
index 0000000..634e06c
--- /dev/null
+++ b/data/syntax/tcsh.xml
@@ -0,0 +1,868 @@
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+ - else
+ - for
+ - function
+ - in
+ - select
+ - until
+ - while
+ - .
+ - then
+
+
+
+ - :
+ - alias
+ - alloc
+ - bg
+ - bindkey
+ - break
+ - builtins
+ - bye
+ - cd
+ - chdir
+ - complete
+ - continue
+ - dirs
+ - echo
+ - echotc
+ - eval
+ - exec
+ - exit
+ - fg
+ - filetest
+ - glob
+ - hashstat
+ - history
+ - hup
+ - inlib
+ - jobs
+ - kill
+ - limit
+ - log
+ - login
+ - logout
+ - ls-F
+ - migrate
+ - newgrp
+ - nice
+ - nohup
+ - notify
+ - onintr
+ - popd
+ - printenv
+ - pushd
+ - rehash
+ - repeat
+ - sched
+ - settc
+ - setty
+ - shift
+ - source
+ - stop
+ - suspend
+ - telltc
+ - time
+ - umask
+ - unalias
+ - uncomplete
+ - unhash
+ - unlimit
+ - ver
+ - wait
+ - watchlog
+ - where
+ - which
+
+
+
+ - unset
+ - unsetenv
+
+
+
+
+ - arch
+ - awk
+ - bash
+ - bunzip2
+ - bzcat
+ - bzcmp
+ - bzdiff
+ - bzegrep
+ - bzfgrep
+ - bzgrep
+ - bzip2
+ - bzip2recover
+ - bzless
+ - bzmore
+ - cat
+ - chattr
+ - chgrp
+ - chmod
+ - chown
+ - chvt
+ - cp
+ - date
+ - dd
+ - deallocvt
+ - df
+ - dir
+ - dircolors
+ - dmesg
+ - dnsdomainname
+ - domainname
+ - du
+ - dumpkeys
+ - echo
+ - ed
+ - egrep
+ - false
+ - fgconsole
+ - fgrep
+ - fuser
+ - gawk
+ - getkeycodes
+ - gocr
+ - grep
+ - groff
+ - groups
+ - gunzip
+ - gzexe
+ - gzip
+ - hostname
+ - igawk
+ - install
+ - kbd_mode
+ - kbdrate
+ - killall
+ - last
+ - lastb
+ - link
+ - ln
+ - loadkeys
+ - loadunimap
+ - login
+ - ls
+ - lsattr
+ - lsmod
+ - lsmod.old
+ - mapscrn
+ - mesg
+ - mkdir
+ - mkfifo
+ - mknod
+ - mktemp
+ - more
+ - mount
+ - mv
+ - nano
+ - netstat
+ - nisdomainname
+ - nroff
+ - openvt
+ - pgawk
+ - pidof
+ - ping
+ - ps
+ - pstree
+ - pwd
+ - rbash
+ - readlink
+ - red
+ - resizecons
+ - rm
+ - rmdir
+ - run-parts
+ - sash
+ - sed
+ - setfont
+ - setkeycodes
+ - setleds
+ - setmetamode
+ - setserial
+ - sh
+ - showkey
+ - shred
+ - sleep
+ - ssed
+ - stat
+ - stty
+ - su
+ - sync
+ - tar
+ - tempfile
+ - touch
+ - troff
+ - true
+ - umount
+ - uname
+ - unicode_start
+ - unicode_stop
+ - unlink
+ - utmpdump
+ - uuidgen
+ - vdir
+ - wall
+ - wc
+ - ypdomainname
+ - zcat
+ - zcmp
+ - zdiff
+ - zegrep
+ - zfgrep
+ - zforce
+ - zgrep
+ - zless
+ - zmore
+ - znew
+ - zsh
+
+
+ - aclocal
+ - aconnect
+ - aplay
+ - apm
+ - apmsleep
+ - apropos
+ - ar
+ - arecord
+ - as
+ - as86
+ - autoconf
+ - autoheader
+ - automake
+ - awk
+ - basename
+ - bc
+ - bison
+ - c++
+ - cal
+ - cat
+ - cc
+ - cdda2wav
+ - cdparanoia
+ - cdrdao
+ - cd-read
+ - cdrecord
+ - chfn
+ - chgrp
+ - chmod
+ - chown
+ - chroot
+ - chsh
+ - clear
+ - cmp
+ - co
+ - col
+ - comm
+ - cp
+ - cpio
+ - cpp
+ - cut
+ - dc
+ - dd
+ - df
+ - diff
+ - diff3
+ - dir
+ - dircolors
+ - directomatic
+ - dirname
+ - du
+ - env
+ - expr
+ - fbset
+ - file
+ - find
+ - flex
+ - flex++
+ - fmt
+ - free
+ - ftp
+ - funzip
+ - fuser
+ - g++
+ - gawk
+ - gc
+ - gcc
+ - gdb
+ - getent
+ - getopt
+ - gettext
+ - gettextize
+ - gimp
+ - gimp-remote
+ - gimptool
+ - gmake
+ - gs
+ - head
+ - hexdump
+ - id
+ - install
+ - join
+ - kill
+ - killall
+ - ld
+ - ld86
+ - ldd
+ - less
+ - lex
+ - ln
+ - locate
+ - lockfile
+ - logname
+ - lp
+ - lpr
+ - ls
+ - lynx
+ - m4
+ - make
+ - man
+ - mkdir
+ - mknod
+ - msgfmt
+ - mv
+ - namei
+ - nasm
+ - nawk
+ - nice
+ - nl
+ - nm
+ - nm86
+ - nmap
+ - nohup
+ - nop
+ - od
+ - passwd
+ - patch
+ - pcregrep
+ - pcretest
+ - perl
+ - perror
+ - pidof
+ - pr
+ - printf
+ - procmail
+ - prune
+ - ps2ascii
+ - ps2epsi
+ - ps2frag
+ - ps2pdf
+ - ps2ps
+ - psbook
+ - psmerge
+ - psnup
+ - psresize
+ - psselect
+ - pstops
+ - rcs
+ - rev
+ - rm
+ - scp
+ - sed
+ - seq
+ - setterm
+ - shred
+ - size
+ - size86
+ - skill
+ - slogin
+ - snice
+ - sort
+ - sox
+ - split
+ - ssh
+ - ssh-add
+ - ssh-agent
+ - ssh-keygen
+ - ssh-keyscan
+ - stat
+ - strings
+ - strip
+ - sudo
+ - suidperl
+ - sum
+ - tac
+ - tail
+ - tee
+ - test
+ - tr
+ - uniq
+ - unlink
+ - unzip
+ - updatedb
+ - updmap
+ - uptime
+ - users
+ - vmstat
+ - w
+ - wc
+ - wget
+ - whatis
+ - whereis
+ - which
+ - who
+ - whoami
+ - write
+ - xargs
+ - yacc
+ - yes
+ - zip
+ - zsoelim
+
+
+ - dcop
+ - kdialog
+ - kfile
+ - xhost
+ - xmodmap
+ - xset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/template-toolkit.xml b/data/syntax/template-toolkit.xml
new file mode 100644
index 0000000..ede7274
--- /dev/null
+++ b/data/syntax/template-toolkit.xml
@@ -0,0 +1,331 @@
+
+
+
+]>
+
+
+
+
+
+
+ - SET
+ - GET
+ - CALL
+ - DEFAULT
+ - IF
+ - ELSIF
+ - ELSE
+ - UNLESS
+ - LAST
+ - NEXT
+ - FOR
+ - FOREACH
+ - WHILE
+ - SWITCH
+ - CASE
+ - PROCESS
+ - INCLUDE
+ - INSERT
+ - WRAPPER
+ - BLOCK
+ - MACRO
+ - END
+ - USE
+ - IN
+ - FILTER
+ - TRY
+ - THROW
+ - CATCH
+ - FINAL
+ - META
+ - TAGS
+ - DEBUG
+ - PERL
+
+
+
+ - constants
+
+ - template
+ - component
+ - loop
+ - error
+ - content
+
+
+
+
+ - defined
+ - length
+ - repeat
+ - replace
+ - match
+ - search
+ - split
+ - chunk
+ - list
+ - hash
+ - size
+
+ - keys
+ - values
+ - each
+ - sort
+ - nsort
+ - import
+ - defined
+ - exists
+ - item
+
+ - first
+ - last
+ - max
+ - reverse
+ - join
+ - grep
+
+ - unshift
+ - push
+ - shift
+ - pop
+ - unique
+ - merge
+ - slice
+ - splice
+ - count
+
+ - format
+ - upper
+ - lower
+ - ucfirst
+ - lcfirst
+ - trim
+ - collapse
+ - html
+ - html_entity
+ - html_para
+ - html_break
+ - html_para_break
+ - html_line_break
+ - uri
+ - url
+ - indent
+ - truncate
+ - repeat
+ - remove
+ - replace
+ - redirect
+ - eval
+ - evaltt
+ - perl
+ - evalperl
+ - stdout
+ - stderr
+ - null
+ - latex
+
+
+ - =
+ - !=
+ - ~=
+ - +=
+ - -=
+ - *=
+ - /=
+ - **=
+ - |=
+ - ||=
+ - &=
+ - &&=
+ - ?=
+ - +
+ - -
+ - *
+
+ - %
+ - ||
+ - &&
+ - |
+ - &
+ - <
+ - <<
+ - >
+ - >>
+ - ^
+ - ->
+ - =>
+ - .
+ - ,
+ - ;
+ - ::
+ - \
+ - and
+ - or
+ - not
+ - eq
+ - ne
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/texinfo.xml b/data/syntax/texinfo.xml
new file mode 100644
index 0000000..a43394a
--- /dev/null
+++ b/data/syntax/texinfo.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/textile.xml b/data/syntax/textile.xml
new file mode 100644
index 0000000..3d1d4c8
--- /dev/null
+++ b/data/syntax/textile.xml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/tibasic.xml b/data/syntax/tibasic.xml
new file mode 100644
index 0000000..caf5a6d
--- /dev/null
+++ b/data/syntax/tibasic.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+ - If
+ - Then
+ - Else
+ - For
+ - While
+ - Repeat
+ - End
+ - Pause
+ - Lbl
+ - Goto
+ - IS>
+ - DS<
+ - Menu
+ - prgm
+ - Return
+ - DelVar
+ - GraphStyle
+ - Input
+ - Prompt
+ - Disp
+ - DispGraph
+ - DispTable
+ - Output
+ - getKey
+ - ClrHome
+ - ClrTable
+ - GetCalc
+ - Get
+ - Send
+ - prgm
+
+
+ - net
+ - eogt
+ - eolt
+ - sqrt
+ - %THETA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/toml.xml b/data/syntax/toml.xml
new file mode 100644
index 0000000..5146f6b
--- /dev/null
+++ b/data/syntax/toml.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+ - true
+ - false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/syntax/txt2tags.xml b/data/syntax/txt2tags.xml
new file mode 100644
index 0000000..c9478b4
--- /dev/null
+++ b/data/syntax/txt2tags.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/uscript.xml b/data/syntax/uscript.xml
new file mode 100644
index 0000000..57e061b
--- /dev/null
+++ b/data/syntax/uscript.xml
@@ -0,0 +1,186 @@
+
+
+
+
+
+ - break
+ - continue
+ - if
+ - else
+ - switch
+ - while
+ - for
+ - do
+ - foreach
+ - true
+ - false
+ - null
+ - new
+ - instanceof
+ - state
+ - auto
+ - exec
+ - function
+ - defaultproperties
+ - native
+ - noexport
+ - var
+ - out
+ - local
+ - event
+ - return
+ - static
+ - Static
+ - synchronized
+ - transient
+ - volatile
+ - final
+ - throws
+ - extends
+ - expands
+ - public
+ - protected
+ - private
+ - abstract
+ - case
+ - default
+ - final
+ - simulated
+ - Dot
+ - nativereplication
+ - replication
+ - unreliable
+ - reliable
+ - ignores
+ - localized
+ - latent
+ - singular
+ - Cross
+ - config
+ - enum
+ - struct
+ - operator
+ - preoperator
+ - postoperator
+ - iterator
+ - coerce
+ - optional
+ - const
+ - editconst
+ - array
+ - export
+ - editinline
+ - editinlinenew
+ - editinlineuse
+ - cpptext
+ - placeable
+ - virtual
+ - hidecategories
+ - super
+ - global
+ - none
+ - self
+
+
+
+ - boolean
+ - char
+ - byte
+ - short
+ - int
+ - long
+ - float
+ - double
+ - void
+ - Pawn
+ - sound
+ - ipaddr
+ - ELightType
+ - actor
+ - ammo
+ - bool
+ - vector
+ - rotator
+ - name
+ - string
+ - object
+ - plane
+ - staticmesh
+ - package
+ - color
+ - coords
+ - material
+ - class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/vala.xml b/data/syntax/vala.xml
new file mode 100644
index 0000000..6e323c9
--- /dev/null
+++ b/data/syntax/vala.xml
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+ - abstract
+ - as
+ - async
+ - base
+ - break
+ - case
+ - catch
+ - class
+ - const
+ - construct
+ - continue
+ - default
+ - delegate
+ - delete
+ - do
+ - dynamic
+ - else
+ - enum
+ - ensures
+ - errordomain
+ - extern
+ - false
+ - finally
+ - for
+ - foreach
+ - get
+ - global
+ - if
+ - in
+ - inline
+ - interface
+ - internal
+ - is
+ - lock
+ - namespace
+ - new
+ - null
+ - out
+ - override
+ - owned
+ - private
+ - protected
+ - public
+ - ref
+ - requires
+ - result
+ - return
+ - set
+ - signal
+ - sizeof
+ - static
+ - struct
+ - switch
+ - this
+ - throw
+ - throws
+ - true
+ - try
+ - typeof
+ - unowned
+ - using
+ - value
+ - virtual
+ - weak
+ - while
+ - yield
+
+
+ - connect
+ - connect_after
+ - disconnect
+ - emit
+
+
+ - bool
+ - char
+ - double
+ - float
+ - int
+ - int8
+ - int16
+ - int32
+ - int64
+ - long
+ - short
+ - size_t
+ - ssize_t
+ - string
+ - uchar
+ - uint
+ - uint8
+ - uint16
+ - uint32
+ - uint64
+ - ulong
+ - unichar
+ - ushort
+ - var
+ - void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/valgrind-suppression.xml b/data/syntax/valgrind-suppression.xml
new file mode 100644
index 0000000..7fe3dd4
--- /dev/null
+++ b/data/syntax/valgrind-suppression.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/varnish.xml b/data/syntax/varnish.xml
new file mode 100644
index 0000000..5b7ae98
--- /dev/null
+++ b/data/syntax/varnish.xml
@@ -0,0 +1,349 @@
+
+
+
+
+
+ - vcl_recv
+ - vcl_pipe
+ - vcl_pass
+ - vcl_hash
+ - vcl_hit
+ - vcl_miss
+ - vcl_fetch
+ - vcl_deliver
+ - vcl_init
+ - vcl_fini
+ - vcl_error
+
+
+ - if
+ - else
+ - elsif
+ - elseif
+
+
+ - set
+ - call
+ - error
+ - esi
+ - include
+ - remove
+ - unset
+ - panic
+ - rollback
+ - purge
+ - synthetic
+
+
+ - hash_data
+ - regsub
+ - regsuball
+ - ban
+ - ban_url
+
+
+ - deliver
+ - error
+ - fetch
+ - hash
+ - hit_for_pass
+ - lookup
+ - ok
+ - pass
+ - pipe
+ - restart
+
+
+ - random
+ - client
+ - hash
+ - round-robin
+ - dns
+ - fallback
+
+
+
+ - std
+ - example
+ - abtest
+ - threescale
+ - authentication
+ - boltsort
+ - crashhandler
+ - curl
+ - digest
+ - dns
+ - header
+ - memcached
+ - null
+ - querystring
+ - shield
+ - softpurge
+ - statsd
+ - throttle
+ - timeutils
+ - urlcode
+ - var
+ - timers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/varnish4.xml b/data/syntax/varnish4.xml
new file mode 100644
index 0000000..2ba9ef3
--- /dev/null
+++ b/data/syntax/varnish4.xml
@@ -0,0 +1,372 @@
+
+
+
+
+
+ - vcl_recv
+ - vcl_pipe
+ - vcl_pass
+ - vcl_hash
+ - vcl_purge
+ - vcl_miss
+ - vcl_hit
+ - vcl_deliver
+ - vcl_synth
+ - vcl_backend_fetch
+ - vcl_backend_response
+ - vcl_backend_error
+ - vcl_init
+ - vcl_fini
+
+
+ - if
+ - else
+ - elif
+ - elsif
+ - elseif
+
+
+ - call
+ - set
+ - unset
+ - new
+ - rollback
+ - synthetic
+ - esi
+ - include
+ - panic
+
+
+ - hash_data
+ - regsub
+ - regsuball
+ - ban
+
+
+ - abandon
+ - deliver
+ - error
+ - fetch
+ - hash
+ - hit_for_pass
+ - lookup
+ - ok
+ - pass
+ - pipe
+ - purge
+ - restart
+ - retry
+ - synth
+
+
+ - random
+ - client
+ - hash
+ - round-robin
+ - dns
+ - fallback
+
+
+
+ - std
+ - example
+ - abtest
+ - threescale
+ - authentication
+ - boltsort
+ - crashhandler
+ - curl
+ - digest
+ - dns
+ - header
+ - memcached
+ - null
+ - querystring
+ - shield
+ - softpurge
+ - statsd
+ - throttle
+ - timeutils
+ - urlcode
+ - var
+ - timers
+ - directors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/varnishcc.xml b/data/syntax/varnishcc.xml
new file mode 100644
index 0000000..dbb7ae9
--- /dev/null
+++ b/data/syntax/varnishcc.xml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+ - BACKEND
+ - BOOL
+ - DURATION
+ - HEADER
+ - INT
+ - IP
+ - PRIV_CALL
+ - PRIV_VCL
+ - REAL
+ - STRING
+ - STRING_LIST
+ - TIME
+ - VOID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/varnishcc4.xml b/data/syntax/varnishcc4.xml
new file mode 100644
index 0000000..481ad93
--- /dev/null
+++ b/data/syntax/varnishcc4.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+ - BACKEND
+ - BLOB
+ - BOOL
+ - BYTES
+ - DURATION
+ - HEADER
+ - HTTP
+ - INT
+ - IP
+ - PRIV_CALL
+ - PRIV_VCL
+ - REAL
+ - STRING
+ - STRING_LIST
+ - TIME
+ - VOID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/varnishtest.xml b/data/syntax/varnishtest.xml
new file mode 100644
index 0000000..2f11b56
--- /dev/null
+++ b/data/syntax/varnishtest.xml
@@ -0,0 +1,567 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/varnishtest4.xml b/data/syntax/varnishtest4.xml
new file mode 100644
index 0000000..6cea47d
--- /dev/null
+++ b/data/syntax/varnishtest4.xml
@@ -0,0 +1,723 @@
+
+
+
+
+
+
+ - raw
+ - vxid
+ - request
+ - session
+
+
+
+ - Backend
+ - BackendClose
+ - BackendOpen
+ - BackendReuse
+ - Backend_health
+ - Begin
+ - BereqAcct
+ - BereqHeader
+ - BereqMethod
+ - BereqProtocol
+ - BereqURL
+ - BerespHeader
+ - BerespProtocol
+ - BerespReason
+ - BerespStatus
+ - BogoHeader
+ - CLI
+ - Debug
+ - ESI_BodyBytes
+ - ESI_xmlerror
+ - End
+ - Error
+ - ExpBan
+ - ExpKill
+ - FetchError
+ - Fetch_Body
+ - Gzip
+ - Hash
+ - Hit
+ - HitPass
+ - HttpGarbage
+ - Length
+ - Link
+ - LostHeader
+ - ObjHeader
+ - ObjProtocol
+ - ObjReason
+ - ObjStatus
+ - PipeAcct
+ - ReqAcct
+ - ReqHeader
+ - ReqMethod
+ - ReqProtocol
+ - ReqStart
+ - ReqURL
+ - RespHeader
+ - RespProtocol
+ - RespReason
+ - RespStatus
+ - SessClose
+ - SessOpen
+ - Storage
+ - TTL
+ - Timestamp
+ - VCL_Error
+ - VCL_Log
+ - VCL_acl
+ - VCL_call
+ - VCL_return
+ - VCL_trace
+ - VSL
+ - WorkThread
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/vcard.xml b/data/syntax/vcard.xml
new file mode 100644
index 0000000..2e2c8e7
--- /dev/null
+++ b/data/syntax/vcard.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/velocity.xml b/data/syntax/velocity.xml
new file mode 100644
index 0000000..8517772
--- /dev/null
+++ b/data/syntax/velocity.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+ - #set
+ - #foreach
+ - #end
+ - #if
+ - #else
+ - #elseif
+ - #parse
+ - #macro
+ - #stop
+ - #include
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/vera.xml b/data/syntax/vera.xml
new file mode 100644
index 0000000..ad16e94
--- /dev/null
+++ b/data/syntax/vera.xml
@@ -0,0 +1,648 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - after
+ - all
+ - any
+ - around
+ - assoc_index
+ - assoc_size
+ - async
+ - bad_state
+ - bad_trans
+ - before
+ - begin
+ - big_endian
+ - bind
+ - bin_activation
+ - bit_normal
+ - bit_reverse
+ - break
+ - breakpoint
+ - case
+ - casex
+ - casez
+ - class
+ - constraint
+ - continue
+ - coverage
+ - coverage_block
+ - coverage_def
+ - coverage_depth
+ - coverage_goal
+ - coverage_group
+ - coverage_option
+ - coverage_val
+ - cross_num_print_missing
+ - cross_auto_bin_max
+ - cov_comment
+ - default
+ - depth
+ - dist
+ - do
+ - else
+ - end
+ - enum
+ - exhaustive
+ - export
+ - extends
+ - extern
+ - for
+ - foreach
+ - fork
+ - function
+ - hdl_task
+ - hdl_node
+ - hide
+ - if
+ - illegal_self_transition
+ - illegal_state
+ - illegal_transition
+ - in
+ - interface
+ - invisible
+ - join
+ - little_endian
+ - local
+ - m_bad_state
+ - m_bad_trans
+ - m_state
+ - m_trans
+ - negedge
+ - new
+ - newcov
+ - non_rand
+ - none
+ - not
+ - null
+ - or
+ - ordered
+ - packed
+ - port
+ - posedge
+ - proceed
+ - prod
+ - prodget
+ - prodset
+ - program
+ - protected
+ - public
+ - rand
+ - randc
+ - randcase
+ - randseq
+ - repeat
+ - return
+ - rules
+ - sample
+ - sample_event
+ - shadow
+ - soft
+ - state
+ - static
+ - super
+ - task
+ - terminate
+ - this
+ - trans
+ - typedef
+ - unpacked
+ - var
+ - vca
+ - vector
+ - verilog_node
+ - verilog_task
+ - vhdl_node
+ - vhdl_task
+ - virtual
+ - virtuals
+ - visible
+ - void
+ - while
+ - wildcard
+ - with
+
+
+ - integer
+ - bit
+ - reg
+ - string
+ - bind_var
+ - event
+ - inout
+ - input
+ - output
+ - ASYNC
+ - CLOCK
+ - NDRIVE
+ - NHOLD
+ - NRX
+ - NRZ
+ - NR0
+ - NR1
+ - NSAMPLE
+ - PDRIVE
+ - PHOLD
+ - PRX
+ - PRZ
+ - PR0
+ - PR1
+ - PSAMPLE
+
+
+ - gnr
+ - grx
+ - grz
+ - gr0
+ - gr1
+ - nr
+ - rx
+ - rz
+ - r0
+ - r1
+ - snr
+ - srx
+ - srz
+ - sr0
+ - sr1
+
+
+
+ - alloc
+ - call_func
+ - call_task
+ - cast_assign
+ - close_conn
+ - cm_coverage
+ - cm_get_coverage
+ - cm_get_limit
+ - coverage_backup_database_file
+ - coverage_save_database
+ - delay
+ - error
+ - error_mode
+ - error_wait
+ - exit
+ - fclose
+ - feof
+ - ferror
+ - fflush
+ - flag
+ - fopen
+ - fprintf
+ - freadb
+ - freadb
+ - freadh
+ - freadstr
+ - get_bind
+ - get_bind_id
+ - get_conn_err
+ - get_cycle
+ - get_env
+ - get_memsize
+ - get_plus_arg
+ - get_systime
+ - get_time
+ - get_time_unit
+ - getstate
+ - initstate
+ - lock_file
+ - mailbox_get
+ - mailbox_put
+ - mailbox_receive
+ - mailbox_send
+ - make_client
+ - make_server
+ - os_command
+ - printf
+ - psprintf
+ - query
+ - query_str
+ - query_x
+ - rand48
+ - random
+ - region_enter
+ - region_exit
+ - rewind
+ - semaphore_get
+ - semaphore_put
+ - setstate
+ - signal_connect
+ - simwave_plot
+ - srandom
+ - sprintf
+ - sscanf
+ - stop
+ - suspend_thread
+ - sync
+ - timeout
+ - trace
+ - trigger
+ - unit_delay
+ - unlock_file
+ - up_connections
+ - urand48
+ - urandom
+ - urandom_range
+ - vera_bit_reverse
+ - vera_crc
+ - vera_pack
+ - vera_pack_big_endian
+ - vera_plot
+ - vera_report_profile
+ - vera_unpack
+ - vera_unpack_big_endian
+ - vsv_call_func
+ - vsv_call_task
+ - vsv_close_conn
+ - vsv_get_conn_err
+ - vsv_make_client
+ - vsv_make_server
+ - vsv_up_connections
+ - vsv_wait_for_done
+ - vsv_wait_for_input
+ - wait_child
+ - wait_var
+
+ - Configure
+ - DisableTrigger
+ - DoAction
+ - EnableCount
+ - EnableTrigger
+ - Event
+ - GetAssert
+ - GetCount
+ - GetFirstAssert
+ - GetName
+ - GetNextAssert
+ - Wait
+ - atobin
+ - atohex
+ - atoi
+ - atooct
+ - backref
+ - bittostr
+ - capacity
+ - compare
+ - constraint_mode
+ - delete
+ - empty
+ - find
+ - find_index
+ - first
+ - first_index
+ - get_at_least
+ - get_auto_bin
+ - get_cov_weight
+ - get_coverage_goal
+ - get_cross_bin_max
+ - get_status
+ - get_status_msg
+ - getc
+ - hash
+ - icompare
+ - insert
+ - inst_get_at_least
+ - inst_get_auto_bin_max
+ - inst_get_collect
+ - inst_get_cov_weight
+ - inst_get_coverage_goal
+ - inst_getcross_bin_max
+ - inst_query
+ - inst_set_at_least
+ - inst_set_auto_bin_max
+ - inst_set_bin_activiation
+ - inst_set_collect
+ - inst_set_cov_weight
+ - inst_set_coverage_goal
+ - inst_set_cross_bin_max
+ - itoa
+ - last
+ - last_index
+ - len
+ - load
+ - match
+ - max
+ - max_index
+ - min
+ - min_index
+ - object_compare
+ - object_copy
+ - object_print
+ - pack
+ - pick_index
+ - pop_back
+ - pop_front
+ - post_pack
+ - post_randomize
+ - post_unpack
+ - postmatch
+ - pre_pack
+ - pre_randomize
+ - prematch
+ - push_back
+ - push_front
+ - putc
+ - query
+ - query_str
+ - rand_mode
+ - randomize
+ - reserve
+ - reverse
+ - rsort
+ - search
+ - set_at_least
+ - set_auto_bin_max
+ - set_bin_activiation
+ - set_cov_weight
+ - set_coverage_goal
+ - set_cross_bin_max
+ - set_name
+ - size
+ - sort
+ - substr
+ - sum
+ - thismatch
+ - tolower
+ - toupper
+ - unique_index
+ - unpack
+
+ - new
+ - object_compare
+ - post_boundary
+ - post_pack
+ - post_randomize
+ - post_unpack
+ - pre-randomize
+ - pre_boundary
+ - pre_pack
+ - pre_unpack
+
+ - ALL
+ - ANY
+ - BAD_STATE
+ - BAD_TRANS
+ - CALL
+ - CHECK
+ - CHGEDGE
+ - CLEAR
+ - COPY_NO_WAIT
+ - COPY_WAIT
+ - CROSS
+ - CROSS_TRANS
+ - DEBUG
+ - DELETE
+ - EC_ARRAYX
+ - EC_CODE_END
+ - EC_CONFLICT
+ - EC_EVNTIMOUT
+ - EC_EXPECT
+ - EC_FULLEXPECT
+ - EC_MBXTMOUT
+ - EC_NEXPECT
+ - EC_RETURN
+ - EC_RGNTMOUT
+ - EC_SCONFLICT
+ - EC_SEMTMOUT
+ - EC_SEXPECT
+ - EC_SFULLEXPECT
+ - EC_SNEXTPECT
+ - EC_USERSET
+ - EQ
+ - EVENT
+ - FAIL
+ - FIRST
+ - FORK
+ - GE
+ - GOAL
+ - GT
+ - HAND_SHAKE
+ - HI
+ - HIGH
+ - HNUM
+ - LE
+ - LIC_EXIT
+ - LIC_PRERR
+ - LIC_PRWARN
+ - LIC_WAIT
+ - LO
+ - LOAD
+ - LOW
+ - LT
+ - MAILBOX
+ - MAX_COM
+ - NAME
+ - NE
+ - NEGEDGE
+ - NEXT
+ - NO_OVERLAP
+ - NO_OVERLAP_STATE
+ - NO_OVERLAP_TRANS
+ - NO_VARS
+ - NO_WAIT
+ - NUM
+ - NUM_BIN
+ - NUM_DET
+ - OFF
+ - OK
+ - OK_LAST
+ - ON
+ - ONE_BLAST
+ - ONE_SHOT
+ - ORDER
+ - PAST_IT
+ - PERCENT
+ - POSEDGE
+ - PROGRAM
+ - RAWIN
+ - REGION
+ - REPORT
+ - SAMPLE
+ - SAVE
+ - SEMAPHORE
+ - SET
+ - SILENT
+ - STATE
+ - STR
+ - STR_ERR_OUT_OF_RANGE
+ - STR_ERR_REGEXP_SYNTAX
+ - SUM
+ - TRANS
+ - VERBOSE
+ - WAIT
+ - stderr
+ - stdin
+ - stdout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/verilog.xml b/data/syntax/verilog.xml
new file mode 100644
index 0000000..36a778c
--- /dev/null
+++ b/data/syntax/verilog.xml
@@ -0,0 +1,257 @@
+
+
+
+
+
+ - macromodule
+ - table
+ - endtable
+ - specify
+ - specparam
+ - endspecify
+
+ - defparam
+ - default
+ - if
+ - ifnone
+ - else
+ - forever
+ - while
+ - for
+ - wait
+ - repeat
+ - disable
+
+ - assign
+ - deassign
+ - force
+ - release
+
+ - always
+ - initial
+ - edge
+ - posedge
+ - negedge
+
+
+ - config
+ - endconfig
+ - library
+ - design
+ - liblist
+ - cell
+ - use
+ - instance
+
+
+
+ - begin
+ - fork
+ - module
+ - case
+ - casex
+ - casez
+ - task
+ - function
+ - generate
+
+
+
+ - end
+ - join
+ - endmodule
+ - endcase
+ - endtask
+ - endfunction
+ - endgenerate
+
+
+
+
+ - strong0
+ - strong1
+ - pull0
+ - pull1
+ - weak0
+ - weak1
+ - highz0
+ - highz1
+
+ - small
+ - medium
+ - large
+
+
+
+ - pullup
+ - pulldown
+ - cmos
+ - rcmos
+ - nmos
+ - pmos
+ - rnmos
+ - rpmos
+ - and
+ - nand
+ - or
+ - nor
+ - xor
+ - xnor
+ - not
+ - buf
+ - tran
+ - rtran
+ - tranif0
+ - tranif1
+ - rtranif0
+ - rtranif1
+ - bufif0
+ - bufif1
+ - notif0
+ - notif1
+
+
+
+
+ - input
+ - output
+ - inout
+
+ - wire
+ - tri
+ - tri0
+ - tri1
+ - wand
+ - wor
+ - triand
+ - trior
+ - supply0
+ - supply1
+
+ - reg
+ - integer
+ - real
+ - realtime
+ - time
+
+ - vectored
+ - scalared
+ - trireg
+
+ - parameter
+ - event
+
+ - signed
+ - automatic
+ - genvar
+ - localparam
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/vhdl.xml b/data/syntax/vhdl.xml
new file mode 100644
index 0000000..9be6481
--- /dev/null
+++ b/data/syntax/vhdl.xml
@@ -0,0 +1,666 @@
+
+
+
+
+
+
+
+
+]>
+
+
+
+ - file
+ - library
+ - use
+
+
+
+ - access
+ - after
+ - alias
+ - all
+ - array
+ - assert
+ - assume
+ - assume_guarantee
+ - attribute
+ - begin
+ - block
+ - body
+ - bus
+ - component
+ - constant
+ - context
+ - cover
+ - default
+ - disconnect
+ - downto
+ - end
+ - exit
+ - fairness
+ - falling_edge
+ - file
+ - for
+ - force
+ - function
+ - generate
+ - generic
+ - group
+ - guarded
+ - impure
+ - inertial
+ - is
+ - label
+ - linkage
+ - literal
+ - map
+ - new
+ - next
+ - null
+ - of
+ - on
+ - open
+ - others
+ - parameter
+ - port
+ - postponed
+ - procedure
+ - process
+ - property
+ - protected
+ - pure
+ - range
+ - record
+ - register
+ - reject
+ - release
+ - report
+ - return
+ - rising_edge
+ - select
+ - sequence
+ - severity
+ - signal
+ - shared
+ - strong
+ - subtype
+ - to
+ - transport
+ - type
+ - unaffected
+ - units
+ - until
+ - variable
+ - vmode
+ - vprop
+ - vunit
+ - wait
+ - when
+ - with
+ - note
+ - warning
+ - error
+ - failure
+ - in
+ - inout
+ - out
+ - buffer
+ - and
+ - abs
+ - or
+ - xor
+ - xnor
+ - not
+ - mod
+ - nand
+ - nor
+ - rem
+ - rol
+ - ror
+ - sla
+ - sra
+ - sll
+ - srl
+
+
+
+ - if
+ - else
+ - elsif
+ - then
+
+
+
+ - loop
+
+
+
+ - in
+ - inout
+ - out
+ - buffer
+ - linkage
+
+
+
+ - signal
+ - variable
+ - constant
+ - type
+ - attribute
+
+
+
+ - to
+ - downto
+ - others
+
+
+
+ - case
+ - when
+
+
+
+ - fs
+ - ps
+ - ns
+ - us
+ - ms
+ - sec
+ - min
+ - hr
+
+
+
+
+ - bit
+ - bit_vector
+ - character
+ - boolean
+ - boolean_vector
+ - integer
+ - integer_vector
+ - real
+ - real_vector
+ - time
+ - time_vector
+ - delay_length
+ - string
+ - severity_level
+ - positive
+ - natural
+ - file_open_kind
+ - file_open_status
+ - signed
+ - unsigned
+ - unresolved_unsigned
+ - unresolved_signed
+ - line
+ - text
+ - side
+ - width
+ - std_logic
+ - std_logic_vector
+ - std_ulogic
+ - std_ulogic_vector
+ - x01
+ - x01z
+ - ux01
+ - ux01z
+ - qsim_state
+ - qsim_state_vector
+ - qsim_12state
+ - qsim_12state_vector
+ - qsim_strength
+ - mux_bit
+ - mux_vector
+ - reg_bit
+ - reg_vector
+ - wor_bit
+ - wor_vector
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/vrml.xml b/data/syntax/vrml.xml
new file mode 100644
index 0000000..8387e87
--- /dev/null
+++ b/data/syntax/vrml.xml
@@ -0,0 +1,139 @@
+
+
+
+
+
+ - DEF
+ - EXTERNPROTO
+ - FALSE
+ - IS
+ - NULL
+ - PROTO
+ - ROUTE
+ - TO
+ - TRUE
+ - USE
+ - eventIn
+ - eventOut
+ - exposedField
+ - field
+
+
+ - MFColor
+ - MFFloat
+ - MFInt32
+ - MFNode
+ - MFRotation
+ - MFString
+ - MFTime
+ - MFVec2f
+ - MFVec3f
+ - SFBool
+ - SFColor
+ - SFFloat
+ - SFImage
+ - SFInt32
+ - SFNode
+ - SFRotation
+ - SFString
+ - SFTime
+ - SFVec2f
+ - SFVec3f
+
+
+ - Anchor
+ - AudioClip
+ - Appearance
+ - Background
+ - Billboard
+ - Box
+ - Collision
+ - Color
+ - ColorInterpolator
+ - Cone
+ - Coordinate
+ - CoordinateInterpolator
+ - Cylinder
+ - CylinderSensor
+ - DirectionalLight
+ - ElevationGrid
+ - Extrusion
+ - Fog
+ - FontStyle
+ - Group
+ - ImageTexture
+ - IndexedFaceSet
+ - IndexedLineSet
+ - Inline
+ - LOD
+ - Material
+ - MovieTexture
+ - NavigationInfo
+ - Normal
+ - NormalInterpolator
+ - OrientationInterpolator
+ - PixelTexture
+ - Plane
+ - PlaneSensor
+ - PointLight
+ - PointSet
+ - PositionInterpolator
+ - ProximitySensor
+ - ScalarInterpolator
+ - Script
+ - Shape
+ - Sensor
+ - Sound
+ - Sphere
+ - SphereSensor
+ - SpotLight
+ - Switch
+ - Text
+ - TextureCoordinate
+ - TextureTransform
+ - TimeSensor
+ - TouchSensor
+ - Transform
+ - Viewpoint
+ - VisibilitySensor
+ - WorldInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/wavefront-obj.xml b/data/syntax/wavefront-obj.xml
new file mode 100644
index 0000000..c6bad8a
--- /dev/null
+++ b/data/syntax/wavefront-obj.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+ - v
+ - vt
+ - vn
+ - vp
+ - cstype
+ - deg
+ - bmat
+ - step
+ - p
+ - l
+ - f
+ - curv
+ - curv2
+ - surf
+ - parm
+ - trim
+ - hole
+ - scrv
+ - sp
+ - end
+ - con
+ - g
+ - s
+ - mg
+ - o
+ - bevel
+ - c_interp
+ - d_interp
+ - lod
+ - usemtl
+ - mtllib
+ - usemap
+ - maplib
+ - shadow_obj
+ - trace_obj
+ - ctech
+ - stech
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/winehq.xml b/data/syntax/winehq.xml
new file mode 100644
index 0000000..79e65cf
--- /dev/null
+++ b/data/syntax/winehq.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/wml.xml b/data/syntax/wml.xml
new file mode 100644
index 0000000..e3ce172
--- /dev/null
+++ b/data/syntax/wml.xml
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+ - wmllint
+ - wmlindent
+ - wmlscope
+ - po
+
+
+ - #textdomain
+ - #else
+ - #undef
+ - #error
+ - #warning
+
+
+ - #define
+ - #ifdef
+ - #ifndef
+ - #ifhave
+ - #ifnhave
+ - #ifver
+ - #ifnver
+
+
+ - #enddef
+ - #endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/xharbour.xml b/data/syntax/xharbour.xml
new file mode 100644
index 0000000..05eedbe
--- /dev/null
+++ b/data/syntax/xharbour.xml
@@ -0,0 +1,543 @@
+
+
+
+
+
+
+ - local
+ - global
+ - extern
+ - field
+ - each
+ - as
+ - set
+ - clear
+ - screen
+ - databases
+ - all
+ - close
+ - color
+ - date
+ - else
+ - elseif
+ - in
+ - to
+ - do
+ - loop
+ - catch
+ - exit
+ - box
+ - say
+ - case
+ - switch
+ - self
+ - super
+ - say
+ - get
+ - read
+ - use
+ - select
+ - otherwise
+ - index
+ - alias
+ - like
+ - has
+ - return
+ - static
+ - on
+ - off
+ - nil
+ - ?
+ - class
+ - external
+
+
+
+ - FOR
+ - IF
+ - SWITCH
+ - WHILE
+ - TRY
+ - BEGIN
+ - PROCEDURE
+ - FUNCTION
+ - METHOD
+
+
+
+ - NEXT
+ - END
+ - ENDIF
+ - ENDDO
+ - ENDCASE
+
+
+
+ - data
+ - inline
+ - method
+ - classdata
+ - init
+ - from
+ - hidden
+
+
+
+ - INVALID
+ - EXACT
+ - FIXED
+ - DECIMALS
+ - DATEFORMAT
+ - EPOCH
+ - PATH
+ - DEFAULT
+ - EXCLUSIVE
+ - SOFTSEEK
+ - UNIQUE
+ - DELETED
+ - CANCEL
+ - DEBUG
+ - TYPEAHEAD
+ - COLOR
+ - CURSOR
+ - CONSOLE
+ - ALTERNATE
+ - ALTFILE
+ - DEVICE
+ - EXTRA
+ - EXTRAFILE
+ - PRINTER
+ - PRINTFILE
+ - MARGIN
+ - BELL
+ - CONFIRM
+ - ESCAPE
+ - INSERT
+ - EXIT
+ - INTENSITY
+ - SCOREBOARD
+ - DELIMITERS
+ - DELIMCHARS
+ - WRAP
+ - MESSAGE
+ - MCENTER
+ - SCROLLBREAK
+ - EVENTMASK
+ - VIDEOMODE
+ - MBLOCKSIZE
+ - MFILEEXT
+ - STRICTREAD
+ - OPTIMIZE
+ - AUTOPEN
+ - AUTORDER
+ - AUTOSHARE
+ - LANGUAGE
+ - IDLEREPEAT
+ - TRACE
+ - TRACEFILE
+ - TRACESTACK
+ - FILECASE
+ - DIRCASE
+ - DIRSEPARATOR
+
+
+
+ - aadd
+ - adel
+ - achoice
+ - aclone
+ - aeval
+ - ains
+ - ascan
+ - asize
+ - adir
+ - afill
+ - atail
+ - asort
+ - array
+ - TAssociativeArray
+
+ - bin21
+ - bin2l
+ - bin2u
+ - bin2w
+ - i2bin
+ - l2bin
+ - u2bin
+ - w2bin
+
+ - eval
+ - fieldblock
+ - fieldwblock
+
+ - inkey
+ - lastkey
+ - mcol
+ - mrow
+ - nextkey
+
+ - empty
+ - word
+ - descend
+ - __dbdelim
+ - __dbsdf
+
+ - os
+ - __run
+
+ - alert
+ - browse
+ - dbedit
+ - outerr
+ - outstd
+ - readkey
+ - readvar
+ - __atprompt
+ - __input
+ - __menuto
+ - __nonoallert
+ - __typefile
+ - __xrestscreen
+ - __xsavescreen
+
+ - DBAPPEND
+ - DBCLEARFILTER
+ - DBCLOSEALL
+ - DBCLOSEAREA
+ - DBCOMMIT
+ - DBCOMMITALL
+ - DBCREATE
+ - DBDELETE
+ - DBEVAL
+ - DBF
+ - DBFILTER
+ - DBGOBOTTOM
+ - DBGOTO
+ - DBGOTOP
+ - DBRECALL
+ - DBRLOCK
+ - DBRLOCKLIST
+ - DBRUNLOCK
+ - DBSEEK
+ - DBSELECTAREA
+ - DBSETDRIVER
+ - DBSETFILTER
+ - DBSKIP
+ - DBSTRUCT
+ - DBUNLOCK
+ - DBUNLOCKALL
+ - DBUSEAREA
+ - INDEXEXT
+ - INDEXKEY
+ - INDEXORD
+ - ORDBAGEXT
+ - ORDBAGNAME
+ - ORDCONDSET
+ - ORDCREATE
+ - ORDDESTROY
+ - ORDFOR
+ - ORDKEY
+ - ORDLISTADD
+ - ORDLISTCLEAR
+ - ORDLISTREBUILD
+ - ORDNAME
+ - ORDNUMBER
+ - ORDSETFOCUS
+ - RDDLIST
+ - RDDNAME
+ - RDDSETDEFAULT
+ - __DBCONTINUE
+ - __DBZAP
+ - __FLEDIT
+ - __RDDSETDEFAULT
+ - __dbCopyStruct
+ - __dbCopyXStruct
+ - __dbCreate
+ - __dbStructFilter
+ - dbSkipper
+ - CDOW
+ - CMONTH
+ - CTOD
+ - DATE
+ - DAY
+ - DAYS
+ - DOW
+ - DTOC
+ - DTOS
+ - MONTH
+ - YEAR
+
+ - GETENV
+ - SET
+ - SETMODE
+ - SETTYPEAHEAD
+ - VERSION
+ - __SETCENTURY
+ - __SetFunction
+
+ - break
+ - errorsys
+ - throw
+ - errornew
+
+ - HB_SETKEYSAVE
+ - HB_SetKeyCheck
+ - HB_SetKeyGet
+ - SETKEY
+ - __QUIT
+ - __WAIT
+
+ - file
+ - frename
+ - __dir
+
+ - col
+ - maxcol
+ - maxrow
+ - row
+ - hb_colorindex
+
+ - CURDIR
+ - DIRCHANGE
+ - DIRREMOVE
+ - DISKSPACE
+ - FCLOSE
+ - FCREATE
+ - FERASE
+ - FERROR
+ - FOPEN
+ - FREAD
+ - FREADSTR
+ - FSEEK
+ - FWRITE
+ - HB_DISKSPACE
+ - HB_FEOF
+ - ISDISK
+ - MAKEDIR
+
+ - ABS
+ - EXP
+ - INT
+ - LOG
+ - MAX
+ - MIN
+ - MOD
+ - ROUND
+ - SQRT
+
+ - HB_ISBYREF
+ - PROCFILE
+ - PROCLINE
+ - PROCNAME
+ - TYPE
+ - VALTYPE
+ - valtoprg
+ - tone
+
+ - HB_LANGNAME
+ - HB_LANGSELECT
+ - ISAFFIRM
+ - ISNEGATIVE
+ - NATIONMSG
+
+ - pcount
+ - HB_pvalue
+
+ - ALLTRIM
+ - ASC
+ - AT
+ - CHR
+ - HARDCR
+ - HB_ANSITOOEM
+ - HB_OEMTOANSI
+ - HB_VALTOSTR
+ - ISALPHA
+ - ISDIGIT
+ - ISLOWER
+ - ISUPPER
+ - LEFT
+ - LEN
+ - LOWER
+ - LTRIM
+ - MEMOTRAN
+ - PADC
+ - PADL
+ - PADR
+ - RAT
+ - REPLICATE
+ - RIGHT
+ - RTRIM
+ - SPACE
+ - STR
+ - STRTRAN
+ - STRZERO
+ - SUBSTR
+ - TRANSFORM
+ - TRIM
+ - UPPER
+ - VAL
+
+ - devoutpict
+
+ - elaptime
+ - seconds
+ - secs
+ - time
+
+ - do
+
+ - ThreadStart
+ - ThreadStop
+ - ThreadSleep
+ - ThreadKill
+ - ThreadJoin
+ - CreateMutex
+ - DestroyMutex
+ - MutexLock
+ - MutexUnlock
+ - Subscribe
+ - SubscribeNow
+ - Notify
+ - NotifyAll
+ - WaitForThreads
+ - KillAllThreads
+
+ - InetInit
+ - InetCleanup
+ - InetCreate
+ - InetDestroy
+ - InetConnect
+ - InetServer
+ - InetAccept
+ - InetSetTimeout
+ - InetGetTimeout
+ - InetClearTimeout
+ - InetRecv
+ - InetRecvAll
+ - InetSend
+ - InetSendAll
+ - InetDGram
+ - InetDGramRecv
+ - InetDGramSend
+ - InetAddress
+ - InetPort
+ - InetError
+ - InetErrorDesc
+ - InetGetHosts
+ - InetConnectIP
+
+ - hb_regex
+ - hb_regexmatch
+ - hb_regexsplit
+ - hb_regexcomp
+ - hb_readini
+ - hb_writeini
+ - hb_random
+ - hb_chechsum
+ - hb_crypt
+ - hb_decrypt
+ - hb_hextonum
+ - hb_numtohex
+ - hb_exec
+ - hb_execfromarray
+
+ - hb_class
+ - hb_keyput
+ - hb_osnewline
+
+
+
+
+ - #include
+ - #if
+ - #ifdef
+ - #ifndef
+ - #endif
+ - #else
+ - #define
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/xml.xml b/data/syntax/xml.xml
new file mode 100644
index 0000000..622c2a4
--- /dev/null
+++ b/data/syntax/xml.xml
@@ -0,0 +1,150 @@
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/xmldebug.xml b/data/syntax/xmldebug.xml
new file mode 100644
index 0000000..f94fa9e
--- /dev/null
+++ b/data/syntax/xmldebug.xml
@@ -0,0 +1,594 @@
+
+
+
+
+
+ - CDATA
+ - ID
+ - IDREF
+ - IDREFS
+ - ENTITY
+ - ENTITIES
+ - NMTOKEN
+ - NMTOKENS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/xonotic-console.xml b/data/syntax/xonotic-console.xml
new file mode 100644
index 0000000..1182254
--- /dev/null
+++ b/data/syntax/xonotic-console.xml
@@ -0,0 +1,5659 @@
+
+
+
+
+
+
+ - alias
+ - apropos
+ - begin
+ - bestweapon
+ - bf
+ - bind
+ - bindlist
+ - bottomcolor
+ - cd
+ - centerview
+ - changelevel
+ - changing
+ - cl_areastats
+ - cl_begindownloads
+ - cl_cmd
+ - cl_downloadbegin
+ - cl_downloadfinished
+ - cl_modelindexlist
+ - cl_particles_reloadeffects
+ - cl_soundindexlist
+ - clear
+ - cmd
+ - cmdlist
+ - color
+ - commandmode
+ - condump
+ - connect
+ - cprint
+ - curl
+ - cvar_lockdefaults
+ - cvar_resettodefaults_all
+ - cvar_resettodefaults_nosaveonly
+ - cvar_resettodefaults_saveonly
+ - cvarlist
+ - defer
+ - demos
+ - dir
+ - disconnect
+ - download
+ - echo
+ - entities
+ - envmap
+ - exec
+ - fixtrans
+ - fly
+ - fog
+ - fog_heighttexture
+ - force_centerview
+ - fs_rescan
+ - fullinfo
+ - fullserverinfo
+ - gamedir
+ - give
+ - gl_texturemode
+ - gl_vbostats
+ - god
+ - heartbeat
+ - history
+ - impulse
+ - in_bind
+ - in_bindlist
+ - in_bindmap
+ - in_unbind
+ - infobar
+ - iplog_list
+ - kick
+ - kill
+ - kickban
+ - load
+ - loadconfig
+ - loadfont
+ - loadsky
+ - locs_add
+ - locs_clear
+ - locs_reload
+ - locs_removenearest
+ - locs_save
+ - ls
+ - map
+ - maps
+ - maxplayers
+ - memlist
+ - memstats
+ - menu_cmd
+ - menu_restart
+ - messagemode
+ - messagemode2
+ - mod_generatelightmaps
+ - modeldecompile
+ - modellist
+ - modelprecache
+ - name
+ - net_refresh
+ - net_slist
+ - net_slistqw
+ - net_stats
+ - nextul
+ - noclip
+ - notarget
+ - packet
+ - path
+ - pause
+ - pausedemo
+ - ping
+ - pingplreport
+ - pings
+ - play
+ - play2
+ - playdemo
+ - playermodel
+ - playerskin
+ - playvideo
+ - playvol
+ - pmodel
+ - pointfile
+ - pqrcon
+ - prespawn
+ - prvm_breakpoint
+ - prvm_callprofile
+ - prvm_childprofile
+ - prvm_edict
+ - prvm_edictcount
+ - prvm_edictget
+ - prvm_edicts
+ - prvm_edictset
+ - prvm_edictwatchpoint
+ - prvm_fields
+ - prvm_global
+ - prvm_globalget
+ - prvm_globals
+ - prvm_globalset
+ - prvm_globalwatchpoint
+ - prvm_printfunction
+ - prvm_profile
+ - r_editlights_clear
+ - r_editlights_copyinfo
+ - r_editlights_edit
+ - r_editlights_editall
+ - r_editlights_help
+ - r_editlights_importlightentitiesfrommap
+ - r_editlights_importlightsfile
+ - r_editlights_lock
+ - r_editlights_pasteinfo
+ - r_editlights_reload
+ - r_editlights_remove
+ - r_editlights_save
+ - r_editlights_spawn
+ - r_editlights_togglecorona
+ - r_editlights_toggleshadow
+ - r_glsl_dumpshader
+ - r_glsl_restart
+ - r_listmaptextures
+ - r_replacemaptexture
+ - r_restart
+ - r_texturestats
+ - rate
+ - rcon
+ - reconnect
+ - record
+ - register_bestweapon
+ - restart
+ - save
+ - saveconfig
+ - say
+ - say_team
+ - screenshot
+ - sendcvar
+ - set
+ - seta
+ - setinfo
+ - sizedown
+ - sizeup
+ - skins
+ - snd_restart
+ - snd_unloadallsounds
+ - soundinfo
+ - soundlist
+ - spawn
+ - srcon
+ - startdemos
+ - status
+ - stop
+ - stopdemo
+ - stopdownload
+ - stopsound
+ - stopul
+ - stopvideo
+ - stuffcmds
+ - sv_areastats
+ - sv_cmd
+ - sv_saveentfile
+ - sv_startdownload
+ - tell
+ - timedemo
+ - timerefresh
+ - toggle
+ - toggleconsole
+ - togglemenu
+ - topcolor
+ - unalias
+ - unbind
+ - unbindall
+ - unset
+ - user
+ - users
+ - v_cshift
+ - version
+ - vid_restart
+ - viewframe
+ - viewmodel
+ - viewnext
+ - viewprev
+ - wait
+ - which
+
+
+
+ - accuracy_color0
+ - accuracy_color1
+ - accuracy_color2
+ - accuracy_color_levels
+ - ambient_fade
+ - ambient_level
+ - bgmvolume
+ - bot_ai_aimskill_blendrate
+ - bot_ai_aimskill_firetolerance_distdegrees
+ - bot_ai_aimskill_firetolerance_maxdegrees
+ - bot_ai_aimskill_firetolerance_mindegrees
+ - bot_ai_aimskill_fixedrate
+ - bot_ai_aimskill_mouse
+ - bot_ai_aimskill_offset
+ - bot_ai_aimskill_order_filter_1st
+ - bot_ai_aimskill_order_filter_2nd
+ - bot_ai_aimskill_order_filter_3th
+ - bot_ai_aimskill_order_filter_4th
+ - bot_ai_aimskill_order_filter_5th
+ - bot_ai_aimskill_order_mix_1st
+ - bot_ai_aimskill_order_mix_2nd
+ - bot_ai_aimskill_order_mix_3th
+ - bot_ai_aimskill_order_mix_4th
+ - bot_ai_aimskill_order_mix_5th
+ - bot_ai_aimskill_think
+ - bot_ai_bunnyhop_firstjumpdelay
+ - bot_ai_bunnyhop_skilloffset
+ - bot_ai_bunnyhop_startdistance
+ - bot_ai_bunnyhop_stopdistance
+ - bot_ai_chooseweaponinterval
+ - bot_ai_custom_weapon_priority_close
+ - bot_ai_custom_weapon_priority_distances
+ - bot_ai_custom_weapon_priority_far
+ - bot_ai_custom_weapon_priority_mid
+ - bot_ai_dangerdetectioninterval
+ - bot_ai_dangerdetectionupdates
+ - bot_ai_dodgeupdateinterval
+ - bot_ai_enemydetectioninterval
+ - bot_ai_enemydetectionradius
+ - bot_ai_friends_aware_pickup_radius
+ - bot_ai_ignoregoal_timeout
+ - bot_ai_keyboard_distance
+ - bot_ai_keyboard_threshold
+ - bot_ai_navigation_jetpack
+ - bot_ai_navigation_jetpack_mindistance
+ - bot_ai_strategyinterval
+ - bot_ai_thinkinterval
+ - bot_ai_weapon_combo
+ - bot_ai_weapon_combo_threshold
+ - bot_config_file
+ - bot_debug_goalstack
+ - bot_debug_tracewalk
+ - bot_god
+ - bot_ignore_bots
+ - bot_join_empty
+ - bot_navigation_ignoreplayers
+ - bot_nofire
+ - bot_number
+ - bot_prefix
+ - bot_sound_monopoly
+ - bot_suffix
+ - bot_usemodelnames
+ - bot_vs_human
+ - bot_wander_enable
+ - camera_chase_smoothly
+ - camera_enable
+ - camera_forward_follows
+ - camera_free
+ - camera_look_attenuation
+ - camera_look_player
+ - camera_mouse_threshold
+ - camera_reset
+ - camera_speed_attenuation
+ - camera_speed_chase
+ - camera_speed_free
+ - camera_speed_roll
+ - captureleadlimit_override
+ - capturelimit_override
+ - cdaudio
+ - cdaudioinitialized
+ - chase_active
+ - chase_back
+ - chase_overhead
+ - chase_pitchangle
+ - chase_stevie
+ - chase_up
+ - cl_accuracy_data_receive
+ - cl_accuracy_data_share
+ - cl_allow_uid2name
+ - cl_allow_uidtracking
+ - cl_anglespeedkey
+ - cl_announcer
+ - cl_announcer_antispam
+ - cl_announcer_maptime
+ - cl_autodemo
+ - cl_autodemo_delete
+ - cl_autodemo_delete_keeprecords
+ - cl_autodemo_nameformat
+ - cl_autoscreenshot
+ - cl_autoswitch
+ - cl_autotaunt
+ - cl_backspeed
+ - cl_beams_instantaimhack
+ - cl_beams_lightatend
+ - cl_beams_polygons
+ - cl_beams_quakepositionhack
+ - cl_bob
+ - cl_bob2
+ - cl_bob2cycle
+ - cl_bob2smooth
+ - cl_bobcycle
+ - cl_bobfall
+ - cl_bobfallcycle
+ - cl_bobfallminspeed
+ - cl_bobmodel
+ - cl_bobmodel_side
+ - cl_bobmodel_speed
+ - cl_bobmodel_up
+ - cl_bobup
+ - cl_capturevideo
+ - cl_capturevideo_demo_stop
+ - cl_capturevideo_fps
+ - cl_capturevideo_framestep
+ - cl_capturevideo_height
+ - cl_capturevideo_nameformat
+ - cl_capturevideo_number
+ - cl_capturevideo_ogg
+ - cl_capturevideo_ogg_theora_bitrate
+ - cl_capturevideo_ogg_theora_keyframe_auto_threshold
+ - cl_capturevideo_ogg_theora_keyframe_bitrate_multiplier
+ - cl_capturevideo_ogg_theora_keyframe_maxinterval
+ - cl_capturevideo_ogg_theora_keyframe_mininterval
+ - cl_capturevideo_ogg_theora_noise_sensitivity
+ - cl_capturevideo_ogg_theora_quality
+ - cl_capturevideo_ogg_theora_vp3compat
+ - cl_capturevideo_ogg_vorbis_quality
+ - cl_capturevideo_printfps
+ - cl_capturevideo_realtime
+ - cl_capturevideo_width
+ - cl_casings
+ - cl_casings_bronze_time
+ - cl_casings_maxcount
+ - cl_casings_shell_time
+ - cl_casings_sloppy
+ - cl_casings_ticrate
+ - cl_clippedspectating
+ - cl_csqc_generatemousemoveevents
+ - cl_curl_enabled
+ - cl_curl_maxdownloads
+ - cl_curl_maxspeed
+ - cl_curl_useragent
+ - cl_curl_useragent_append
+ - cl_damageeffect
+ - cl_damageeffect_bones
+ - cl_damageeffect_distribute
+ - cl_damageeffect_lifetime
+ - cl_damageeffect_lifetime_max
+ - cl_damageeffect_lifetime_min
+ - cl_damageeffect_ticrate
+ - cl_db_saveasdump
+ - cl_deathfade
+ - cl_deathglow
+ - cl_deathnoviewmodel
+ - cl_deathscoreboard
+ - cl_decals
+ - cl_decals_bias
+ - cl_decals_fadetime
+ - cl_decals_max
+ - cl_decals_models
+ - cl_decals_newsystem
+ - cl_decals_newsystem_bloodsmears
+ - cl_decals_newsystem_immediatebloodstain
+ - cl_decals_newsystem_intensitymultiplier
+ - cl_decals_time
+ - cl_decals_visculling
+ - cl_demo_mousegrab
+ - cl_dlights_decaybrightness
+ - cl_dlights_decayradius
+ - cl_dodging_timeout
+ - cl_effects_lightningarc_branchfactor_add
+ - cl_effects_lightningarc_branchfactor_start
+ - cl_effects_lightningarc_drift_end
+ - cl_effects_lightningarc_drift_start
+ - cl_effects_lightningarc_segmentlength
+ - cl_effects_lightningarc_simple
+ - cl_eventchase_death
+ - cl_eventchase_distance
+ - cl_eventchase_maxs
+ - cl_eventchase_mins
+ - cl_eventchase_speed
+ - cl_eventchase_viewoffset
+ - cl_explosions_alpha_end
+ - cl_explosions_alpha_start
+ - cl_explosions_lifetime
+ - cl_explosions_size_end
+ - cl_explosions_size_start
+ - cl_firststart
+ - cl_followmodel
+ - cl_followmodel_side_highpass
+ - cl_followmodel_side_highpass1
+ - cl_followmodel_side_limit
+ - cl_followmodel_side_lowpass
+ - cl_followmodel_side_speed
+ - cl_followmodel_up_highpass
+ - cl_followmodel_up_highpass1
+ - cl_followmodel_up_limit
+ - cl_followmodel_up_lowpass
+ - cl_followmodel_up_speed
+ - cl_forcemyplayercolors
+ - cl_forcemyplayermodel
+ - cl_forcemyplayerskin
+ - cl_forceplayercolors
+ - cl_forceplayermodels
+ - cl_forwardspeed
+ - cl_fullbright_items
+ - cl_gameplayfix_soundsmovewithentities
+ - cl_gentle
+ - cl_gentle_damage
+ - cl_gentle_gibs
+ - cl_gentle_messages
+ - cl_ghost_items
+ - cl_ghost_items_color
+ - cl_gibs_avelocity_scale
+ - cl_gibs_damageforcescale
+ - cl_gibs_lifetime
+ - cl_gibs_maxcount
+ - cl_gibs_sloppy
+ - cl_gibs_ticrate
+ - cl_gibs_velocity_random
+ - cl_gibs_velocity_scale
+ - cl_gibs_velocity_up
+ - cl_gravity
+ - cl_gunalign
+ - cl_handicap
+ - cl_hidewaypoints
+ - cl_hitsound
+ - cl_hitsound_antispam_time
+ - cl_iplog_name
+ - cl_itembobheight
+ - cl_itembobspeed
+ - cl_joinbeforedownloadsfinish
+ - cl_leanmodel
+ - cl_leanmodel_side_highpass
+ - cl_leanmodel_side_highpass1
+ - cl_leanmodel_side_limit
+ - cl_leanmodel_side_lowpass
+ - cl_leanmodel_side_speed
+ - cl_leanmodel_up_highpass
+ - cl_leanmodel_up_highpass1
+ - cl_leanmodel_up_limit
+ - cl_leanmodel_up_lowpass
+ - cl_leanmodel_up_speed
+ - cl_lerpanim_maxdelta_framegroups
+ - cl_lerpanim_maxdelta_server
+ - cl_lerpexcess
+ - cl_lockview
+ - cl_loddistance1
+ - cl_loddistance2
+ - cl_maxfps
+ - cl_maxfps_alwayssleep
+ - cl_maxidlefps
+ - cl_maxphysicsframesperserverframe
+ - cl_minfps
+ - cl_minfps_fade
+ - cl_minfps_force
+ - cl_minfps_qualityhysteresis
+ - cl_minfps_qualitymax
+ - cl_minfps_qualitymin
+ - cl_minfps_qualitymultiply
+ - cl_minfps_qualitystepmax
+ - cl_modeldetailreduction
+ - cl_movecliptokeyboard
+ - cl_movement
+ - cl_movement_accelerate
+ - cl_movement_airaccel_qw
+ - cl_movement_airaccel_sideways_friction
+ - cl_movement_airaccelerate
+ - cl_movement_edgefriction
+ - cl_movement_errorcompensation
+ - cl_movement_friction
+ - cl_movement_jumpvelocity
+ - cl_movement_maxairspeed
+ - cl_movement_maxspeed
+ - cl_movement_minping
+ - cl_movement_nettimeout
+ - cl_movement_replay
+ - cl_movement_stepheight
+ - cl_movement_stopspeed
+ - cl_movement_track_canjump
+ - cl_movement_wallfriction
+ - cl_movement_wateraccelerate
+ - cl_movement_waterfriction
+ - cl_movespeedkey
+ - cl_netfps
+ - cl_netimmediatebuttons
+ - cl_netlocalping
+ - cl_netpacketloss_receive
+ - cl_netpacketloss_send
+ - cl_netrepeatinput
+ - cl_nettimesyncboundmode
+ - cl_nettimesyncboundtolerance
+ - cl_nettimesyncfactor
+ - cl_noantilag
+ - cl_nodelta
+ - cl_nogibs
+ - cl_nolerp
+ - cl_noplayershadow
+ - cl_particlegibs
+ - cl_particles
+ - cl_particles_alpha
+ - cl_particles_blood
+ - cl_particles_blood_alpha
+ - cl_particles_blood_bloodhack
+ - cl_particles_blood_decal_alpha
+ - cl_particles_blood_decal_scalemax
+ - cl_particles_blood_decal_scalemin
+ - cl_particles_bubbles
+ - cl_particles_bulletimpacts
+ - cl_particles_collisions
+ - cl_particles_explosions_shell
+ - cl_particles_explosions_sparks
+ - cl_particles_oldnexbeam
+ - cl_particles_quake
+ - cl_particles_quality
+ - cl_particles_rain
+ - cl_particles_size
+ - cl_particles_smoke
+ - cl_particles_smoke_alpha
+ - cl_particles_smoke_alphafade
+ - cl_particles_snow
+ - cl_particles_sparks
+ - cl_particles_visculling
+ - cl_pitchspeed
+ - cl_playerdetailreduction
+ - cl_port
+ - cl_precacheplayermodels
+ - cl_projectiles_sloppy
+ - cl_prydoncursor
+ - cl_prydoncursor_notrace
+ - cl_readpicture_force
+ - cl_reticle
+ - cl_reticle_item_nex
+ - cl_reticle_item_normal
+ - cl_reticle_stretch
+ - cl_rollangle
+ - cl_rollspeed
+ - cl_sandbox_clipboard
+ - cl_serverextension_download
+ - cl_shownet
+ - cl_sidespeed
+ - cl_simple_items
+ - cl_simpleitems_postfix
+ - cl_smoothviewheight
+ - cl_sound_hknighthit
+ - cl_sound_r_exp3
+ - cl_sound_ric1
+ - cl_sound_ric2
+ - cl_sound_ric3
+ - cl_sound_ric_gunshot
+ - cl_sound_tink1
+ - cl_sound_wizardhit
+ - cl_spawn_event_particles
+ - cl_spawn_event_sound
+ - cl_spawn_point_particles
+ - cl_spawnzoom
+ - cl_spawnzoom_factor
+ - cl_spawnzoom_speed
+ - cl_stainmaps
+ - cl_stainmaps_clearonload
+ - cl_stairsmoothspeed
+ - cl_startcount
+ - cl_stripcolorcodes
+ - cl_unpress_attack_on_weapon_switch
+ - cl_unpress_zoom_on_death
+ - cl_unpress_zoom_on_spawn
+ - cl_unpress_zoom_on_weapon_switch
+ - cl_upspeed
+ - cl_vehicle_spiderbot_cross_alpha
+ - cl_vehicle_spiderbot_cross_size
+ - cl_vehicles_hud_tactical
+ - cl_vehicles_hudalpha
+ - cl_vehicles_hudscale
+ - cl_velocityzoom
+ - cl_velocityzoom_speed
+ - cl_velocityzoom_time
+ - cl_velocityzoom_type
+ - cl_video_brightness
+ - cl_video_fadein
+ - cl_video_fadeout
+ - cl_video_keepaspectratio
+ - cl_video_scale
+ - cl_video_scale_vpos
+ - cl_video_stipple
+ - cl_video_subtitles
+ - cl_video_subtitles_lines
+ - cl_video_subtitles_textsize
+ - cl_viewmodel_scale
+ - cl_voice_directional
+ - cl_voice_directional_taunt_attenuation
+ - cl_warpzone_usetrace
+ - cl_weapon_stay_alpha
+ - cl_weapon_stay_color
+ - cl_weaponimpulsemode
+ - cl_weaponpriority
+ - cl_weaponpriority0
+ - cl_weaponpriority1
+ - cl_weaponpriority2
+ - cl_weaponpriority3
+ - cl_weaponpriority4
+ - cl_weaponpriority5
+ - cl_weaponpriority6
+ - cl_weaponpriority7
+ - cl_weaponpriority8
+ - cl_weaponpriority9
+ - cl_weaponpriority_useforcycling
+ - cl_worldbasename
+ - cl_worldmessage
+ - cl_worldname
+ - cl_worldnamenoextension
+ - cl_yawspeed
+ - cl_zoomfactor
+ - cl_zoomsensitivity
+ - cl_zoomspeed
+ - cmdline
+ - collision_cache
+ - collision_debug_tracelineasbox
+ - collision_endnudge
+ - collision_endposnudge
+ - collision_enternudge
+ - collision_impactnudge
+ - collision_leavenudge
+ - collision_prefernudgedfraction
+ - collision_startnudge
+ - collision_triangle_axialsides
+ - collision_triangle_bevelsides
+ - con_chat
+ - con_chatpos
+ - con_chatrect
+ - con_chatrect_x
+ - con_chatrect_y
+ - con_chatsize
+ - con_chatsound
+ - con_chattime
+ - con_chatwidth
+ - con_closeontoggleconsole
+ - con_completion_chmap
+ - con_completion_devmap
+ - con_completion_exec
+ - con_completion_gotomap
+ - con_completion_playdemo
+ - con_completion_playermodel
+ - con_completion_ply
+ - con_completion_tdem
+ - con_completion_timedemo
+ - con_completion_vdomap
+ - con_completion_vmap
+ - con_completion_vnextmap
+ - con_nickcompletion
+ - con_nickcompletion_flags
+ - con_notify
+ - con_notifyalign
+ - con_notifysize
+ - con_notifytime
+ - con_textsize
+ - coop
+ - crosshair
+ - crosshair_alpha
+ - crosshair_color
+ - crosshair_color_alpha
+ - crosshair_color_blue
+ - crosshair_color_green
+ - crosshair_color_red
+ - crosshair_color_special
+ - crosshair_color_special_rainbow_brightness
+ - crosshair_color_special_rainbow_delay
+ - crosshair_crylink
+ - crosshair_crylink_alpha
+ - crosshair_crylink_color
+ - crosshair_crylink_size
+ - crosshair_dot
+ - crosshair_dot_alpha
+ - crosshair_dot_color
+ - crosshair_dot_color_custom
+ - crosshair_dot_size
+ - crosshair_effect_scalefade
+ - crosshair_effect_time
+ - crosshair_electro
+ - crosshair_electro_alpha
+ - crosshair_electro_color
+ - crosshair_electro_size
+ - crosshair_enabled
+ - crosshair_fireball
+ - crosshair_fireball_alpha
+ - crosshair_fireball_color
+ - crosshair_fireball_size
+ - crosshair_grenadelauncher
+ - crosshair_grenadelauncher_alpha
+ - crosshair_grenadelauncher_color
+ - crosshair_grenadelauncher_size
+ - crosshair_hagar
+ - crosshair_hagar_alpha
+ - crosshair_hagar_color
+ - crosshair_hagar_size
+ - crosshair_hitindication
+ - crosshair_hitindication_color
+ - crosshair_hitindication_per_weapon_color
+ - crosshair_hitindication_speed
+ - crosshair_hittest
+ - crosshair_hittest_blur
+ - crosshair_hittest_showimpact
+ - crosshair_hlac
+ - crosshair_hlac_alpha
+ - crosshair_hlac_color
+ - crosshair_hlac_size
+ - crosshair_hook
+ - crosshair_hook_alpha
+ - crosshair_hook_color
+ - crosshair_hook_size
+ - crosshair_laser
+ - crosshair_laser_alpha
+ - crosshair_laser_color
+ - crosshair_laser_size
+ - crosshair_minelayer
+ - crosshair_minelayer_alpha
+ - crosshair_minelayer_color
+ - crosshair_minelayer_size
+ - crosshair_minstanex
+ - crosshair_minstanex_alpha
+ - crosshair_minstanex_color
+ - crosshair_minstanex_size
+ - crosshair_nex
+ - crosshair_nex_alpha
+ - crosshair_nex_color
+ - crosshair_nex_size
+ - crosshair_per_weapon
+ - crosshair_pickup
+ - crosshair_pickup_speed
+ - crosshair_porto
+ - crosshair_porto_alpha
+ - crosshair_porto_color
+ - crosshair_porto_size
+ - crosshair_rifle
+ - crosshair_rifle_alpha
+ - crosshair_rifle_color
+ - crosshair_rifle_size
+ - crosshair_ring
+ - crosshair_ring_alpha
+ - crosshair_ring_hagar
+ - crosshair_ring_hagar_alpha
+ - crosshair_ring_inner
+ - crosshair_ring_minelayer
+ - crosshair_ring_minelayer_alpha
+ - crosshair_ring_nex
+ - crosshair_ring_nex_alpha
+ - crosshair_ring_nex_currentcharge_movingavg_rate
+ - crosshair_ring_nex_currentcharge_scale
+ - crosshair_ring_nex_inner_alpha
+ - crosshair_ring_nex_inner_color_blue
+ - crosshair_ring_nex_inner_color_green
+ - crosshair_ring_nex_inner_color_red
+ - crosshair_ring_reload
+ - crosshair_ring_reload_alpha
+ - crosshair_ring_reload_size
+ - crosshair_ring_size
+ - crosshair_rocketlauncher
+ - crosshair_rocketlauncher_alpha
+ - crosshair_rocketlauncher_color
+ - crosshair_rocketlauncher_size
+ - crosshair_seeker
+ - crosshair_seeker_alpha
+ - crosshair_seeker_color
+ - crosshair_seeker_size
+ - crosshair_shotgun
+ - crosshair_shotgun_alpha
+ - crosshair_shotgun_color
+ - crosshair_shotgun_size
+ - crosshair_size
+ - crosshair_tuba
+ - crosshair_tuba_alpha
+ - crosshair_tuba_color
+ - crosshair_tuba_size
+ - crosshair_uzi
+ - crosshair_uzi_alpha
+ - crosshair_uzi_color
+ - crosshair_uzi_size
+ - csqc_progcrc
+ - csqc_progname
+ - csqc_progsize
+ - csqc_usedemoprogs
+ - cutscene
+ - deathmatch
+ - developer
+ - developer_csqcentities
+ - developer_entityparsing
+ - developer_extra
+ - developer_font
+ - developer_fteqccbugs
+ - developer_insane
+ - developer_loadfile
+ - developer_loading
+ - developer_memory
+ - developer_memorydebug
+ - developer_networkentities
+ - developer_networking
+ - developer_texturelogging
+ - edgefriction
+ - ekg
+ - forceqmenu
+ - fov
+ - fraglimit
+ - fraglimit_override
+ - freelook
+ - fs_empty_files_in_pack_mark_deletions
+ - fs_gamedir
+ - find
+ - g_allow_oldnexbeam
+ - g_antilag
+ - g_antilag_bullets
+ - g_antilag_nudge
+ - g_arena
+ - g_arena_maxspawned
+ - g_arena_point_leadlimit
+ - g_arena_point_limit
+ - g_arena_respawn_delay
+ - g_arena_respawn_waves
+ - g_arena_round_timelimit
+ - g_arena_roundbased
+ - g_arena_warmup
+ - g_arena_weapon_stay
+ - g_as_respawn_delay
+ - g_as_respawn_waves
+ - g_as_weapon_stay
+ - g_assault
+ - g_balance_armor_blockpercent
+ - g_balance_armor_limit
+ - g_balance_armor_regen
+ - g_balance_armor_regenlinear
+ - g_balance_armor_regenstable
+ - g_balance_armor_rot
+ - g_balance_armor_rotlinear
+ - g_balance_armor_rotstable
+ - g_balance_armor_start
+ - g_balance_cloaked_alpha
+ - g_balance_contents_damagerate
+ - g_balance_contents_drowndelay
+ - g_balance_contents_playerdamage_drowning
+ - g_balance_contents_playerdamage_lava
+ - g_balance_contents_playerdamage_slime
+ - g_balance_contents_projectiledamage
+ - g_balance_crylink_primary_ammo
+ - g_balance_crylink_primary_animtime
+ - g_balance_crylink_primary_bouncedamagefactor
+ - g_balance_crylink_primary_bounces
+ - g_balance_crylink_primary_damage
+ - g_balance_crylink_primary_edgedamage
+ - g_balance_crylink_primary_force
+ - g_balance_crylink_primary_joindelay
+ - g_balance_crylink_primary_joinexplode
+ - g_balance_crylink_primary_joinexplode_damage
+ - g_balance_crylink_primary_joinexplode_edgedamage
+ - g_balance_crylink_primary_joinexplode_force
+ - g_balance_crylink_primary_joinexplode_radius
+ - g_balance_crylink_primary_joinspread
+ - g_balance_crylink_primary_jointime
+ - g_balance_crylink_primary_linkexplode
+ - g_balance_crylink_primary_middle_fadetime
+ - g_balance_crylink_primary_middle_lifetime
+ - g_balance_crylink_primary_other_fadetime
+ - g_balance_crylink_primary_other_lifetime
+ - g_balance_crylink_primary_radius
+ - g_balance_crylink_primary_refire
+ - g_balance_crylink_primary_shots
+ - g_balance_crylink_primary_speed
+ - g_balance_crylink_primary_spread
+ - g_balance_crylink_reload_ammo
+ - g_balance_crylink_reload_time
+ - g_balance_crylink_secondary
+ - g_balance_crylink_secondary_ammo
+ - g_balance_crylink_secondary_animtime
+ - g_balance_crylink_secondary_bouncedamagefactor
+ - g_balance_crylink_secondary_bounces
+ - g_balance_crylink_secondary_damage
+ - g_balance_crylink_secondary_edgedamage
+ - g_balance_crylink_secondary_force
+ - g_balance_crylink_secondary_joindelay
+ - g_balance_crylink_secondary_joinexplode
+ - g_balance_crylink_secondary_joinexplode_damage
+ - g_balance_crylink_secondary_joinexplode_edgedamage
+ - g_balance_crylink_secondary_joinexplode_force
+ - g_balance_crylink_secondary_joinexplode_radius
+ - g_balance_crylink_secondary_joinspread
+ - g_balance_crylink_secondary_jointime
+ - g_balance_crylink_secondary_line_fadetime
+ - g_balance_crylink_secondary_line_lifetime
+ - g_balance_crylink_secondary_linkexplode
+ - g_balance_crylink_secondary_middle_fadetime
+ - g_balance_crylink_secondary_middle_lifetime
+ - g_balance_crylink_secondary_radius
+ - g_balance_crylink_secondary_refire
+ - g_balance_crylink_secondary_shots
+ - g_balance_crylink_secondary_speed
+ - g_balance_crylink_secondary_spread
+ - g_balance_crylink_secondary_spreadtype
+ - g_balance_crylink_switchdelay_drop
+ - g_balance_crylink_switchdelay_raise
+ - g_balance_damagepush_speedfactor
+ - g_balance_electro_combo_comboradius
+ - g_balance_electro_combo_damage
+ - g_balance_electro_combo_edgedamage
+ - g_balance_electro_combo_force
+ - g_balance_electro_combo_radius
+ - g_balance_electro_combo_safeammocheck
+ - g_balance_electro_combo_speed
+ - g_balance_electro_lightning
+ - g_balance_electro_primary_ammo
+ - g_balance_electro_primary_animtime
+ - g_balance_electro_primary_comboradius
+ - g_balance_electro_primary_damage
+ - g_balance_electro_primary_edgedamage
+ - g_balance_electro_primary_falloff_halflifedist
+ - g_balance_electro_primary_falloff_maxdist
+ - g_balance_electro_primary_falloff_mindist
+ - g_balance_electro_primary_force
+ - g_balance_electro_primary_force_up
+ - g_balance_electro_primary_lifetime
+ - g_balance_electro_primary_radius
+ - g_balance_electro_primary_range
+ - g_balance_electro_primary_refire
+ - g_balance_electro_primary_speed
+ - g_balance_electro_primary_spread
+ - g_balance_electro_reload_ammo
+ - g_balance_electro_reload_time
+ - g_balance_electro_secondary_ammo
+ - g_balance_electro_secondary_animtime
+ - g_balance_electro_secondary_bouncefactor
+ - g_balance_electro_secondary_bouncestop
+ - g_balance_electro_secondary_count
+ - g_balance_electro_secondary_damage
+ - g_balance_electro_secondary_damagedbycontents
+ - g_balance_electro_secondary_damageforcescale
+ - g_balance_electro_secondary_edgedamage
+ - g_balance_electro_secondary_force
+ - g_balance_electro_secondary_health
+ - g_balance_electro_secondary_lifetime
+ - g_balance_electro_secondary_radius
+ - g_balance_electro_secondary_refire
+ - g_balance_electro_secondary_refire2
+ - g_balance_electro_secondary_speed
+ - g_balance_electro_secondary_speed_up
+ - g_balance_electro_secondary_speed_z
+ - g_balance_electro_secondary_spread
+ - g_balance_electro_switchdelay_drop
+ - g_balance_electro_switchdelay_raise
+ - g_balance_falldamage_deadminspeed
+ - g_balance_falldamage_factor
+ - g_balance_falldamage_maxdamage
+ - g_balance_falldamage_minspeed
+ - g_balance_fireball_primary_animtime
+ - g_balance_fireball_primary_bfgdamage
+ - g_balance_fireball_primary_bfgforce
+ - g_balance_fireball_primary_bfgradius
+ - g_balance_fireball_primary_damage
+ - g_balance_fireball_primary_damageforcescale
+ - g_balance_fireball_primary_edgedamage
+ - g_balance_fireball_primary_force
+ - g_balance_fireball_primary_health
+ - g_balance_fireball_primary_laserburntime
+ - g_balance_fireball_primary_laserdamage
+ - g_balance_fireball_primary_laseredgedamage
+ - g_balance_fireball_primary_laserradius
+ - g_balance_fireball_primary_lifetime
+ - g_balance_fireball_primary_radius
+ - g_balance_fireball_primary_refire
+ - g_balance_fireball_primary_refire2
+ - g_balance_fireball_primary_speed
+ - g_balance_fireball_primary_spread
+ - g_balance_fireball_secondary_animtime
+ - g_balance_fireball_secondary_damage
+ - g_balance_fireball_secondary_damageforcescale
+ - g_balance_fireball_secondary_damagetime
+ - g_balance_fireball_secondary_force
+ - g_balance_fireball_secondary_laserburntime
+ - g_balance_fireball_secondary_laserdamage
+ - g_balance_fireball_secondary_laseredgedamage
+ - g_balance_fireball_secondary_laserradius
+ - g_balance_fireball_secondary_lifetime
+ - g_balance_fireball_secondary_refire
+ - g_balance_fireball_secondary_speed
+ - g_balance_fireball_secondary_speed_up
+ - g_balance_fireball_secondary_speed_z
+ - g_balance_fireball_secondary_spread
+ - g_balance_fireball_switchdelay_drop
+ - g_balance_fireball_switchdelay_raise
+ - g_balance_firetransfer_damage
+ - g_balance_firetransfer_time
+ - g_balance_fuel_limit
+ - g_balance_fuel_regen
+ - g_balance_fuel_regenlinear
+ - g_balance_fuel_regenstable
+ - g_balance_fuel_rot
+ - g_balance_fuel_rotlinear
+ - g_balance_fuel_rotstable
+ - g_balance_grapplehook_airfriction
+ - g_balance_grapplehook_damagedbycontents
+ - g_balance_grapplehook_force_rubber
+ - g_balance_grapplehook_force_rubber_overstretch
+ - g_balance_grapplehook_health
+ - g_balance_grapplehook_length_min
+ - g_balance_grapplehook_speed_fly
+ - g_balance_grapplehook_speed_pull
+ - g_balance_grapplehook_stretch
+ - g_balance_grenadelauncher_bouncefactor
+ - g_balance_grenadelauncher_bouncestop
+ - g_balance_grenadelauncher_primary_ammo
+ - g_balance_grenadelauncher_primary_animtime
+ - g_balance_grenadelauncher_primary_damage
+ - g_balance_grenadelauncher_primary_damageforcescale
+ - g_balance_grenadelauncher_primary_edgedamage
+ - g_balance_grenadelauncher_primary_force
+ - g_balance_grenadelauncher_primary_health
+ - g_balance_grenadelauncher_primary_lifetime
+ - g_balance_grenadelauncher_primary_lifetime2
+ - g_balance_grenadelauncher_primary_radius
+ - g_balance_grenadelauncher_primary_refire
+ - g_balance_grenadelauncher_primary_remote_minbouncecnt
+ - g_balance_grenadelauncher_primary_speed
+ - g_balance_grenadelauncher_primary_speed_up
+ - g_balance_grenadelauncher_primary_speed_z
+ - g_balance_grenadelauncher_primary_spread
+ - g_balance_grenadelauncher_primary_type
+ - g_balance_grenadelauncher_reload_ammo
+ - g_balance_grenadelauncher_reload_time
+ - g_balance_grenadelauncher_secondary_ammo
+ - g_balance_grenadelauncher_secondary_animtime
+ - g_balance_grenadelauncher_secondary_damage
+ - g_balance_grenadelauncher_secondary_damageforcescale
+ - g_balance_grenadelauncher_secondary_edgedamage
+ - g_balance_grenadelauncher_secondary_force
+ - g_balance_grenadelauncher_secondary_health
+ - g_balance_grenadelauncher_secondary_lifetime
+ - g_balance_grenadelauncher_secondary_lifetime_bounce
+ - g_balance_grenadelauncher_secondary_lifetime_stick
+ - g_balance_grenadelauncher_secondary_radius
+ - g_balance_grenadelauncher_secondary_refire
+ - g_balance_grenadelauncher_secondary_remote_detonateprimary
+ - g_balance_grenadelauncher_secondary_speed
+ - g_balance_grenadelauncher_secondary_speed_up
+ - g_balance_grenadelauncher_secondary_speed_z
+ - g_balance_grenadelauncher_secondary_spread
+ - g_balance_grenadelauncher_secondary_type
+ - g_balance_grenadelauncher_switchdelay_drop
+ - g_balance_grenadelauncher_switchdelay_raise
+ - g_balance_hagar_primary_ammo
+ - g_balance_hagar_primary_damage
+ - g_balance_hagar_primary_damageforcescale
+ - g_balance_hagar_primary_edgedamage
+ - g_balance_hagar_primary_force
+ - g_balance_hagar_primary_health
+ - g_balance_hagar_primary_lifetime
+ - g_balance_hagar_primary_radius
+ - g_balance_hagar_primary_refire
+ - g_balance_hagar_primary_speed
+ - g_balance_hagar_primary_spread
+ - g_balance_hagar_reload_ammo
+ - g_balance_hagar_reload_time
+ - g_balance_hagar_secondary
+ - g_balance_hagar_secondary_ammo
+ - g_balance_hagar_secondary_damage
+ - g_balance_hagar_secondary_damageforcescale
+ - g_balance_hagar_secondary_edgedamage
+ - g_balance_hagar_secondary_force
+ - g_balance_hagar_secondary_health
+ - g_balance_hagar_secondary_lifetime_min
+ - g_balance_hagar_secondary_lifetime_rand
+ - g_balance_hagar_secondary_load
+ - g_balance_hagar_secondary_load_abort
+ - g_balance_hagar_secondary_load_animtime
+ - g_balance_hagar_secondary_load_hold
+ - g_balance_hagar_secondary_load_linkexplode
+ - g_balance_hagar_secondary_load_max
+ - g_balance_hagar_secondary_load_releasedeath
+ - g_balance_hagar_secondary_load_speed
+ - g_balance_hagar_secondary_load_spread
+ - g_balance_hagar_secondary_load_spread_bias
+ - g_balance_hagar_secondary_radius
+ - g_balance_hagar_secondary_refire
+ - g_balance_hagar_secondary_speed
+ - g_balance_hagar_secondary_spread
+ - g_balance_hagar_switchdelay_drop
+ - g_balance_hagar_switchdelay_raise
+ - g_balance_health_limit
+ - g_balance_health_regen
+ - g_balance_health_regenlinear
+ - g_balance_health_regenstable
+ - g_balance_health_rot
+ - g_balance_health_rotlinear
+ - g_balance_health_rotstable
+ - g_balance_health_start
+ - g_balance_hlac_primary_ammo
+ - g_balance_hlac_primary_animtime
+ - g_balance_hlac_primary_damage
+ - g_balance_hlac_primary_edgedamage
+ - g_balance_hlac_primary_force
+ - g_balance_hlac_primary_lifetime
+ - g_balance_hlac_primary_radius
+ - g_balance_hlac_primary_refire
+ - g_balance_hlac_primary_speed
+ - g_balance_hlac_primary_spread_add
+ - g_balance_hlac_primary_spread_crouchmod
+ - g_balance_hlac_primary_spread_max
+ - g_balance_hlac_primary_spread_min
+ - g_balance_hlac_reload_ammo
+ - g_balance_hlac_reload_time
+ - g_balance_hlac_secondary
+ - g_balance_hlac_secondary_ammo
+ - g_balance_hlac_secondary_animtime
+ - g_balance_hlac_secondary_damage
+ - g_balance_hlac_secondary_edgedamage
+ - g_balance_hlac_secondary_force
+ - g_balance_hlac_secondary_lifetime
+ - g_balance_hlac_secondary_radius
+ - g_balance_hlac_secondary_refire
+ - g_balance_hlac_secondary_shots
+ - g_balance_hlac_secondary_speed
+ - g_balance_hlac_secondary_spread
+ - g_balance_hlac_secondary_spread_crouchmod
+ - g_balance_hlac_switchdelay_drop
+ - g_balance_hlac_switchdelay_raise
+ - g_balance_hook_primary_animtime
+ - g_balance_hook_primary_fuel
+ - g_balance_hook_primary_hooked_fuel
+ - g_balance_hook_primary_hooked_time_free
+ - g_balance_hook_primary_hooked_time_max
+ - g_balance_hook_primary_refire
+ - g_balance_hook_secondary_ammo
+ - g_balance_hook_secondary_animtime
+ - g_balance_hook_secondary_damage
+ - g_balance_hook_secondary_damageforcescale
+ - g_balance_hook_secondary_duration
+ - g_balance_hook_secondary_edgedamage
+ - g_balance_hook_secondary_force
+ - g_balance_hook_secondary_gravity
+ - g_balance_hook_secondary_health
+ - g_balance_hook_secondary_lifetime
+ - g_balance_hook_secondary_power
+ - g_balance_hook_secondary_radius
+ - g_balance_hook_secondary_refire
+ - g_balance_hook_secondary_speed
+ - g_balance_hook_switchdelay_drop
+ - g_balance_hook_switchdelay_raise
+ - g_balance_keyhunt_damageforcescale
+ - g_balance_keyhunt_delay_collect
+ - g_balance_keyhunt_delay_fadeout
+ - g_balance_keyhunt_delay_return
+ - g_balance_keyhunt_delay_round
+ - g_balance_keyhunt_delay_tracking
+ - g_balance_keyhunt_dropvelocity
+ - g_balance_keyhunt_maxdist
+ - g_balance_keyhunt_protecttime
+ - g_balance_keyhunt_score_capture
+ - g_balance_keyhunt_score_carrierfrag
+ - g_balance_keyhunt_score_collect
+ - g_balance_keyhunt_score_destroyed
+ - g_balance_keyhunt_score_destroyed_ownfactor
+ - g_balance_keyhunt_score_push
+ - g_balance_keyhunt_throwvelocity
+ - g_balance_kill_antispam
+ - g_balance_kill_delay
+ - g_balance_laser_primary_animtime
+ - g_balance_laser_primary_damage
+ - g_balance_laser_primary_delay
+ - g_balance_laser_primary_edgedamage
+ - g_balance_laser_primary_force
+ - g_balance_laser_primary_force_other_scale
+ - g_balance_laser_primary_force_velocitybias
+ - g_balance_laser_primary_force_zscale
+ - g_balance_laser_primary_gauntlet
+ - g_balance_laser_primary_lifetime
+ - g_balance_laser_primary_radius
+ - g_balance_laser_primary_refire
+ - g_balance_laser_primary_shotangle
+ - g_balance_laser_primary_speed
+ - g_balance_laser_primary_spread
+ - g_balance_laser_reload_ammo
+ - g_balance_laser_reload_time
+ - g_balance_laser_secondary
+ - g_balance_laser_secondary_animtime
+ - g_balance_laser_secondary_damage
+ - g_balance_laser_secondary_delay
+ - g_balance_laser_secondary_edgedamage
+ - g_balance_laser_secondary_force
+ - g_balance_laser_secondary_force_other_scale
+ - g_balance_laser_secondary_force_velocitybias
+ - g_balance_laser_secondary_force_zscale
+ - g_balance_laser_secondary_gauntlet
+ - g_balance_laser_secondary_lifetime
+ - g_balance_laser_secondary_radius
+ - g_balance_laser_secondary_refire
+ - g_balance_laser_secondary_shotangle
+ - g_balance_laser_secondary_speed
+ - g_balance_laser_secondary_spread
+ - g_balance_laser_switchdelay_drop
+ - g_balance_laser_switchdelay_raise
+ - g_balance_minelayer_ammo
+ - g_balance_minelayer_animtime
+ - g_balance_minelayer_damage
+ - g_balance_minelayer_damageforcescale
+ - g_balance_minelayer_detonatedelay
+ - g_balance_minelayer_edgedamage
+ - g_balance_minelayer_force
+ - g_balance_minelayer_health
+ - g_balance_minelayer_lifetime
+ - g_balance_minelayer_lifetime_countdown
+ - g_balance_minelayer_limit
+ - g_balance_minelayer_protection
+ - g_balance_minelayer_proximityradius
+ - g_balance_minelayer_radius
+ - g_balance_minelayer_refire
+ - g_balance_minelayer_reload_ammo
+ - g_balance_minelayer_reload_time
+ - g_balance_minelayer_remote_damage
+ - g_balance_minelayer_remote_edgedamage
+ - g_balance_minelayer_remote_force
+ - g_balance_minelayer_remote_radius
+ - g_balance_minelayer_speed
+ - g_balance_minelayer_switchdelay_drop
+ - g_balance_minelayer_switchdelay_raise
+ - g_balance_minelayer_time
+ - g_balance_minstanex_ammo
+ - g_balance_minstanex_animtime
+ - g_balance_minstanex_laser_ammo
+ - g_balance_minstanex_laser_animtime
+ - g_balance_minstanex_laser_refire
+ - g_balance_minstanex_refire
+ - g_balance_minstanex_reload_ammo
+ - g_balance_minstanex_reload_time
+ - g_balance_minstanex_switchdelay_drop
+ - g_balance_minstanex_switchdelay_raise
+ - g_balance_nex_charge
+ - g_balance_nex_charge_animlimit
+ - g_balance_nex_charge_limit
+ - g_balance_nex_charge_maxspeed
+ - g_balance_nex_charge_mindmg
+ - g_balance_nex_charge_minspeed
+ - g_balance_nex_charge_rate
+ - g_balance_nex_charge_rot_pause
+ - g_balance_nex_charge_rot_rate
+ - g_balance_nex_charge_shot_multiplier
+ - g_balance_nex_charge_start
+ - g_balance_nex_charge_velocity_rate
+ - g_balance_nex_primary_ammo
+ - g_balance_nex_primary_animtime
+ - g_balance_nex_primary_damage
+ - g_balance_nex_primary_damagefalloff_forcehalflife
+ - g_balance_nex_primary_damagefalloff_halflife
+ - g_balance_nex_primary_damagefalloff_maxdist
+ - g_balance_nex_primary_damagefalloff_mindist
+ - g_balance_nex_primary_force
+ - g_balance_nex_primary_refire
+ - g_balance_nex_reload_ammo
+ - g_balance_nex_reload_time
+ - g_balance_nex_secondary
+ - g_balance_nex_secondary_ammo
+ - g_balance_nex_secondary_animtime
+ - g_balance_nex_secondary_charge
+ - g_balance_nex_secondary_charge_rate
+ - g_balance_nex_secondary_chargepool
+ - g_balance_nex_secondary_chargepool_pause_health_regen
+ - g_balance_nex_secondary_chargepool_pause_regen
+ - g_balance_nex_secondary_chargepool_regen
+ - g_balance_nex_secondary_damage
+ - g_balance_nex_secondary_damagefalloff_forcehalflife
+ - g_balance_nex_secondary_damagefalloff_halflife
+ - g_balance_nex_secondary_damagefalloff_maxdist
+ - g_balance_nex_secondary_damagefalloff_mindist
+ - g_balance_nex_secondary_force
+ - g_balance_nex_secondary_refire
+ - g_balance_nex_switchdelay_drop
+ - g_balance_nex_switchdelay_raise
+ - g_balance_nexball_primary_animtime
+ - g_balance_nexball_primary_refire
+ - g_balance_nexball_primary_speed
+ - g_balance_nexball_secondary_animtime
+ - g_balance_nexball_secondary_force
+ - g_balance_nexball_secondary_lifetime
+ - g_balance_nexball_secondary_refire
+ - g_balance_nexball_secondary_speed
+ - g_balance_nix_ammo_cells
+ - g_balance_nix_ammo_fuel
+ - g_balance_nix_ammo_nails
+ - g_balance_nix_ammo_rockets
+ - g_balance_nix_ammo_shells
+ - g_balance_nix_ammoincr_cells
+ - g_balance_nix_ammoincr_fuel
+ - g_balance_nix_ammoincr_nails
+ - g_balance_nix_ammoincr_rockets
+ - g_balance_nix_ammoincr_shells
+ - g_balance_nix_incrtime
+ - g_balance_nix_roundtime
+ - g_balance_pause_armor_rot
+ - g_balance_pause_armor_rot_spawn
+ - g_balance_pause_fuel_regen
+ - g_balance_pause_fuel_rot
+ - g_balance_pause_fuel_rot_spawn
+ - g_balance_pause_health_regen
+ - g_balance_pause_health_regen_spawn
+ - g_balance_pause_health_rot
+ - g_balance_pause_health_rot_spawn
+ - g_balance_portal_health
+ - g_balance_portal_lifetime
+ - g_balance_porto_primary_animtime
+ - g_balance_porto_primary_lifetime
+ - g_balance_porto_primary_refire
+ - g_balance_porto_primary_speed
+ - g_balance_porto_secondary
+ - g_balance_porto_secondary_animtime
+ - g_balance_porto_secondary_lifetime
+ - g_balance_porto_secondary_refire
+ - g_balance_porto_secondary_speed
+ - g_balance_porto_switchdelay_drop
+ - g_balance_porto_switchdelay_raise
+ - g_balance_powerup_invincible_takedamage
+ - g_balance_powerup_invincible_time
+ - g_balance_powerup_strength_damage
+ - g_balance_powerup_strength_force
+ - g_balance_powerup_strength_selfdamage
+ - g_balance_powerup_strength_selfforce
+ - g_balance_powerup_strength_time
+ - g_balance_rifle_bursttime
+ - g_balance_rifle_primary_ammo
+ - g_balance_rifle_primary_animtime
+ - g_balance_rifle_primary_bulletconstant
+ - g_balance_rifle_primary_bullethail
+ - g_balance_rifle_primary_burstcost
+ - g_balance_rifle_primary_damage
+ - g_balance_rifle_primary_force
+ - g_balance_rifle_primary_lifetime
+ - g_balance_rifle_primary_refire
+ - g_balance_rifle_primary_shots
+ - g_balance_rifle_primary_speed
+ - g_balance_rifle_primary_spread
+ - g_balance_rifle_primary_tracer
+ - g_balance_rifle_reload_ammo
+ - g_balance_rifle_reload_time
+ - g_balance_rifle_secondary
+ - g_balance_rifle_secondary_ammo
+ - g_balance_rifle_secondary_animtime
+ - g_balance_rifle_secondary_bulletconstant
+ - g_balance_rifle_secondary_bullethail
+ - g_balance_rifle_secondary_burstcost
+ - g_balance_rifle_secondary_damage
+ - g_balance_rifle_secondary_force
+ - g_balance_rifle_secondary_lifetime
+ - g_balance_rifle_secondary_refire
+ - g_balance_rifle_secondary_reload
+ - g_balance_rifle_secondary_shots
+ - g_balance_rifle_secondary_speed
+ - g_balance_rifle_secondary_spread
+ - g_balance_rifle_secondary_tracer
+ - g_balance_rifle_switchdelay_drop
+ - g_balance_rifle_switchdelay_raise
+ - g_balance_rocketlauncher_ammo
+ - g_balance_rocketlauncher_animtime
+ - g_balance_rocketlauncher_damage
+ - g_balance_rocketlauncher_damageforcescale
+ - g_balance_rocketlauncher_detonatedelay
+ - g_balance_rocketlauncher_edgedamage
+ - g_balance_rocketlauncher_force
+ - g_balance_rocketlauncher_guidedelay
+ - g_balance_rocketlauncher_guidegoal
+ - g_balance_rocketlauncher_guiderate
+ - g_balance_rocketlauncher_guideratedelay
+ - g_balance_rocketlauncher_guidestop
+ - g_balance_rocketlauncher_health
+ - g_balance_rocketlauncher_lifetime
+ - g_balance_rocketlauncher_radius
+ - g_balance_rocketlauncher_refire
+ - g_balance_rocketlauncher_reload_ammo
+ - g_balance_rocketlauncher_reload_time
+ - g_balance_rocketlauncher_remote_damage
+ - g_balance_rocketlauncher_remote_edgedamage
+ - g_balance_rocketlauncher_remote_force
+ - g_balance_rocketlauncher_remote_radius
+ - g_balance_rocketlauncher_speed
+ - g_balance_rocketlauncher_speedaccel
+ - g_balance_rocketlauncher_speedstart
+ - g_balance_rocketlauncher_switchdelay_drop
+ - g_balance_rocketlauncher_switchdelay_raise
+ - g_balance_seeker_flac_ammo
+ - g_balance_seeker_flac_animtime
+ - g_balance_seeker_flac_damage
+ - g_balance_seeker_flac_edgedamage
+ - g_balance_seeker_flac_force
+ - g_balance_seeker_flac_lifetime
+ - g_balance_seeker_flac_lifetime_rand
+ - g_balance_seeker_flac_radius
+ - g_balance_seeker_flac_refire
+ - g_balance_seeker_flac_speed
+ - g_balance_seeker_flac_speed_up
+ - g_balance_seeker_flac_speed_z
+ - g_balance_seeker_flac_spread
+ - g_balance_seeker_missile_accel
+ - g_balance_seeker_missile_ammo
+ - g_balance_seeker_missile_animtime
+ - g_balance_seeker_missile_count
+ - g_balance_seeker_missile_damage
+ - g_balance_seeker_missile_damageforcescale
+ - g_balance_seeker_missile_decel
+ - g_balance_seeker_missile_delay
+ - g_balance_seeker_missile_edgedamage
+ - g_balance_seeker_missile_force
+ - g_balance_seeker_missile_health
+ - g_balance_seeker_missile_lifetime
+ - g_balance_seeker_missile_proxy
+ - g_balance_seeker_missile_proxy_delay
+ - g_balance_seeker_missile_proxy_maxrange
+ - g_balance_seeker_missile_radius
+ - g_balance_seeker_missile_refire
+ - g_balance_seeker_missile_smart
+ - g_balance_seeker_missile_smart_mindist
+ - g_balance_seeker_missile_smart_trace_max
+ - g_balance_seeker_missile_smart_trace_min
+ - g_balance_seeker_missile_speed
+ - g_balance_seeker_missile_speed_max
+ - g_balance_seeker_missile_speed_up
+ - g_balance_seeker_missile_speed_z
+ - g_balance_seeker_missile_spread
+ - g_balance_seeker_missile_turnrate
+ - g_balance_seeker_reload_ammo
+ - g_balance_seeker_reload_time
+ - g_balance_seeker_switchdelay_drop
+ - g_balance_seeker_switchdelay_raise
+ - g_balance_seeker_tag_ammo
+ - g_balance_seeker_tag_animtime
+ - g_balance_seeker_tag_damageforcescale
+ - g_balance_seeker_tag_health
+ - g_balance_seeker_tag_lifetime
+ - g_balance_seeker_tag_refire
+ - g_balance_seeker_tag_speed
+ - g_balance_seeker_tag_spread
+ - g_balance_seeker_tag_tracker_lifetime
+ - g_balance_seeker_type
+ - g_balance_selfdamagepercent
+ - g_balance_shotgun_primary_ammo
+ - g_balance_shotgun_primary_animtime
+ - g_balance_shotgun_primary_bulletconstant
+ - g_balance_shotgun_primary_bullets
+ - g_balance_shotgun_primary_damage
+ - g_balance_shotgun_primary_force
+ - g_balance_shotgun_primary_refire
+ - g_balance_shotgun_primary_speed
+ - g_balance_shotgun_primary_spread
+ - g_balance_shotgun_reload_ammo
+ - g_balance_shotgun_reload_time
+ - g_balance_shotgun_secondary
+ - g_balance_shotgun_secondary_animtime
+ - g_balance_shotgun_secondary_damage
+ - g_balance_shotgun_secondary_force
+ - g_balance_shotgun_secondary_melee_delay
+ - g_balance_shotgun_secondary_melee_multihit
+ - g_balance_shotgun_secondary_melee_no_doubleslap
+ - g_balance_shotgun_secondary_melee_nonplayerdamage
+ - g_balance_shotgun_secondary_melee_range
+ - g_balance_shotgun_secondary_melee_swing_side
+ - g_balance_shotgun_secondary_melee_swing_up
+ - g_balance_shotgun_secondary_melee_time
+ - g_balance_shotgun_secondary_melee_traces
+ - g_balance_shotgun_secondary_refire
+ - g_balance_shotgun_switchdelay_drop
+ - g_balance_shotgun_switchdelay_raise
+ - g_balance_superweapons_time
+ - g_balance_teams
+ - g_balance_teams_prevent_imbalance
+ - g_balance_teams_scorefactor
+ - g_balance_tuba_animtime
+ - g_balance_tuba_attenuation
+ - g_balance_tuba_damage
+ - g_balance_tuba_edgedamage
+ - g_balance_tuba_fadetime
+ - g_balance_tuba_force
+ - g_balance_tuba_pitchstep
+ - g_balance_tuba_radius
+ - g_balance_tuba_refire
+ - g_balance_tuba_switchdelay_drop
+ - g_balance_tuba_switchdelay_raise
+ - g_balance_tuba_volume
+ - g_balance_uzi_bulletconstant
+ - g_balance_uzi_burst
+ - g_balance_uzi_burst_ammo
+ - g_balance_uzi_burst_animtime
+ - g_balance_uzi_burst_damage
+ - g_balance_uzi_burst_force
+ - g_balance_uzi_burst_refire
+ - g_balance_uzi_burst_refire2
+ - g_balance_uzi_burst_spread
+ - g_balance_uzi_first
+ - g_balance_uzi_first_ammo
+ - g_balance_uzi_first_damage
+ - g_balance_uzi_first_force
+ - g_balance_uzi_first_refire
+ - g_balance_uzi_first_spread
+ - g_balance_uzi_mode
+ - g_balance_uzi_reload_ammo
+ - g_balance_uzi_reload_time
+ - g_balance_uzi_speed
+ - g_balance_uzi_spread_add
+ - g_balance_uzi_spread_max
+ - g_balance_uzi_spread_min
+ - g_balance_uzi_sustained_ammo
+ - g_balance_uzi_sustained_damage
+ - g_balance_uzi_sustained_force
+ - g_balance_uzi_sustained_refire
+ - g_balance_uzi_sustained_spread
+ - g_balance_uzi_switchdelay_drop
+ - g_balance_uzi_switchdelay_raise
+ - g_ballistics_density_corpse
+ - g_ballistics_density_player
+ - g_ballistics_materialconstant
+ - g_ballistics_mindistance
+ - g_ban_default_bantime
+ - g_ban_default_masksize
+ - g_ban_sync_interval
+ - g_ban_sync_timeout
+ - g_ban_sync_trusted_servers
+ - g_ban_sync_trusted_servers_verify
+ - g_ban_sync_uri
+ - g_banned_list
+ - g_banned_list_idmode
+ - g_bastet
+ - g_bloodloss
+ - g_botclip_collisions
+ - g_bugrigs
+ - g_bugrigs_accel
+ - g_bugrigs_air_steering
+ - g_bugrigs_angle_smoothing
+ - g_bugrigs_friction_air
+ - g_bugrigs_friction_brake
+ - g_bugrigs_friction_floor
+ - g_bugrigs_planar_movement
+ - g_bugrigs_planar_movement_car_jumping
+ - g_bugrigs_reverse_speeding
+ - g_bugrigs_reverse_spinning
+ - g_bugrigs_reverse_stopping
+ - g_bugrigs_speed_pow
+ - g_bugrigs_speed_ref
+ - g_bugrigs_steer
+ - g_ca
+ - g_ca_damage2score_multiplier
+ - g_ca_point_leadlimit
+ - g_ca_point_limit
+ - g_ca_respawn_delay
+ - g_ca_respawn_waves
+ - g_ca_round_timelimit
+ - g_ca_spectate_enemies
+ - g_ca_teams
+ - g_ca_teams_override
+ - g_ca_warmup
+ - g_ca_weapon_stay
+ - g_campaign
+ - g_campaign_forceteam
+ - g_campaign_name
+ - g_campaign_skill
+ - g_campaignxonoticbeta_index
+ - g_campaignxonoticbeta_won
+ - g_casings
+ - g_cdtracks_dontusebydefault
+ - g_cdtracks_remaplist
+ - g_changeteam_banned
+ - g_changeteam_fragtransfer
+ - g_chat_flood_burst
+ - g_chat_flood_burst_team
+ - g_chat_flood_burst_tell
+ - g_chat_flood_lmax
+ - g_chat_flood_lmax_team
+ - g_chat_flood_lmax_tell
+ - g_chat_flood_notify_flooder
+ - g_chat_flood_spl
+ - g_chat_flood_spl_team
+ - g_chat_flood_spl_tell
+ - g_chat_nospectators
+ - g_chat_teamcolors
+ - g_chat_tellprivacy
+ - g_cloaked
+ - g_configversion
+ - g_ctf
+ - g_ctf_allow_vehicle_carry
+ - g_ctf_allow_vehicle_touch
+ - g_ctf_captimerecord_always
+ - g_ctf_drop_velocity_side
+ - g_ctf_drop_velocity_up
+ - g_ctf_dropped_capture_delay
+ - g_ctf_dropped_capture_radius
+ - g_ctf_dynamiclights
+ - g_ctf_flag_blue_model
+ - g_ctf_flag_blue_skin
+ - g_ctf_flag_collect_delay
+ - g_ctf_flag_damageforcescale
+ - g_ctf_flag_dropped_floatinwater
+ - g_ctf_flag_dropped_waypoint
+ - g_ctf_flag_glowtrails
+ - g_ctf_flag_health
+ - g_ctf_flag_red_model
+ - g_ctf_flag_red_skin
+ - g_ctf_flag_return_damage
+ - g_ctf_flag_return_dropped
+ - g_ctf_flag_return_time
+ - g_ctf_flag_return_when_unreachable
+ - g_ctf_flagcarrier_auto_helpme_damage
+ - g_ctf_flagcarrier_auto_helpme_time
+ - g_ctf_flagcarrier_damagefactor
+ - g_ctf_flagcarrier_forcefactor
+ - g_ctf_flagcarrier_selfdamagefactor
+ - g_ctf_flagcarrier_selfforcefactor
+ - g_ctf_flagcarrier_waypointforenemy_spotting
+ - g_ctf_fullbrightflags
+ - g_ctf_ignore_frags
+ - g_ctf_pass
+ - g_ctf_pass_arc
+ - g_ctf_pass_arc_max
+ - g_ctf_pass_directional_max
+ - g_ctf_pass_directional_min
+ - g_ctf_pass_radius
+ - g_ctf_pass_request
+ - g_ctf_pass_timelimit
+ - g_ctf_pass_turnrate
+ - g_ctf_pass_velocity
+ - g_ctf_pass_wait
+ - g_ctf_portalteleport
+ - g_ctf_respawn_delay
+ - g_ctf_respawn_waves
+ - g_ctf_reverse
+ - g_ctf_score_capture
+ - g_ctf_score_capture_assist
+ - g_ctf_score_kill
+ - g_ctf_score_penalty_drop
+ - g_ctf_score_penalty_returned
+ - g_ctf_score_penalty_suicidedrop
+ - g_ctf_score_pickup_base
+ - g_ctf_score_pickup_dropped_early
+ - g_ctf_score_pickup_dropped_late
+ - g_ctf_score_return
+ - g_ctf_shield_force
+ - g_ctf_shield_max_ratio
+ - g_ctf_shield_min_negscore
+ - g_ctf_stalemate
+ - g_ctf_stalemate_endcondition
+ - g_ctf_stalemate_time
+ - g_ctf_throw
+ - g_ctf_throw_angle_max
+ - g_ctf_throw_angle_min
+ - g_ctf_throw_punish_count
+ - g_ctf_throw_punish_delay
+ - g_ctf_throw_punish_time
+ - g_ctf_throw_strengthmultiplier
+ - g_ctf_throw_velocity_forward
+ - g_ctf_throw_velocity_up
+ - g_ctf_weapon_stay
+ - g_cts
+ - g_cts_finish_kill_delay
+ - g_cts_respawn_delay
+ - g_cts_respawn_waves
+ - g_cts_selfdamage
+ - g_cts_weapon_stay
+ - g_deathglow
+ - g_debug_bot_commands
+ - g_debug_defaultsounds
+ - g_dm
+ - g_dm_respawn_delay
+ - g_dm_respawn_waves
+ - g_dm_weapon_stay
+ - g_dodging
+ - g_dom_respawn_delay
+ - g_dom_respawn_waves
+ - g_dom_weapon_stay
+ - g_domination
+ - g_domination_default_teams
+ - g_domination_disable_frags
+ - g_domination_point_amt
+ - g_domination_point_capturetime
+ - g_domination_point_fullbright
+ - g_domination_point_glow
+ - g_domination_point_leadlimit
+ - g_domination_point_limit
+ - g_domination_point_rate
+ - g_domination_teams_override
+ - g_footsteps
+ - g_forced_respawn
+ - g_forced_team_blue
+ - g_forced_team_otherwise
+ - g_forced_team_pink
+ - g_forced_team_red
+ - g_forced_team_yellow
+ - g_freezetag
+ - g_freezetag_frozen_force
+ - g_freezetag_frozen_maxtime
+ - g_freezetag_point_leadlimit
+ - g_freezetag_point_limit
+ - g_freezetag_revive_clearspeed
+ - g_freezetag_revive_extra_size
+ - g_freezetag_revive_speed
+ - g_freezetag_round_timelimit
+ - g_freezetag_teams
+ - g_freezetag_teams_override
+ - g_freezetag_warmup
+ - g_friendlyfire
+ - g_friendlyfire_virtual
+ - g_friendlyfire_virtual_force
+ - g_ft_respawn_delay
+ - g_ft_respawn_waves
+ - g_ft_weapon_stay
+ - g_full_getstatus_responses
+ - g_fullbrightitems
+ - g_fullbrightplayers
+ - g_grab_range
+ - g_grappling_hook
+ - g_grappling_hook_tarzan
+ - g_hitplots
+ - g_hitplots_individuals
+ - g_invincible_projectiles
+ - g_jetpack
+ - g_jetpack_acceleration_side
+ - g_jetpack_acceleration_up
+ - g_jetpack_antigravity
+ - g_jetpack_attenuation
+ - g_jetpack_fuel
+ - g_jetpack_maxspeed_side
+ - g_jetpack_maxspeed_up
+ - g_jump_grunt
+ - g_ka_respawn_delay
+ - g_ka_respawn_waves
+ - g_ka_weapon_stay
+ - g_keepaway
+ - g_keepaway_ballcarrier_damage
+ - g_keepaway_ballcarrier_effects
+ - g_keepaway_ballcarrier_force
+ - g_keepaway_ballcarrier_highspeed
+ - g_keepaway_ballcarrier_selfdamage
+ - g_keepaway_ballcarrier_selfforce
+ - g_keepaway_noncarrier_damage
+ - g_keepaway_noncarrier_force
+ - g_keepaway_noncarrier_selfdamage
+ - g_keepaway_noncarrier_selfforce
+ - g_keepaway_noncarrier_warn
+ - g_keepaway_score_bckill
+ - g_keepaway_score_killac
+ - g_keepaway_score_timeinterval
+ - g_keepaway_score_timepoints
+ - g_keepaway_teams
+ - g_keepaway_teams_override
+ - g_keepawayball_damageforcescale
+ - g_keepawayball_effects
+ - g_keepawayball_respawntime
+ - g_keepawayball_trail_color
+ - g_keyhunt
+ - g_keyhunt_point_leadlimit
+ - g_keyhunt_point_limit
+ - g_keyhunt_teams
+ - g_keyhunt_teams_override
+ - g_kh_respawn_delay
+ - g_kh_respawn_waves
+ - g_kh_weapon_stay
+ - g_lms
+ - g_lms_campcheck_damage
+ - g_lms_campcheck_distance
+ - g_lms_campcheck_interval
+ - g_lms_extra_lives
+ - g_lms_join_anytime
+ - g_lms_last_join
+ - g_lms_lives_override
+ - g_lms_regenerate
+ - g_lms_respawn_delay
+ - g_lms_respawn_waves
+ - g_lms_start_ammo_cells
+ - g_lms_start_ammo_fuel
+ - g_lms_start_ammo_nails
+ - g_lms_start_ammo_rockets
+ - g_lms_start_ammo_shells
+ - g_lms_start_armor
+ - g_lms_start_health
+ - g_lms_weapon_stay
+ - g_mapinfo_allow_unsupported_modes_and_let_stuff_break
+ - g_mapinfo_settemp_acl
+ - g_maplist
+ - g_maplist_allow_frustrating
+ - g_maplist_allow_hidden
+ - g_maplist_check_waypoints
+ - g_maplist_index
+ - g_maplist_mostrecent
+ - g_maplist_mostrecent_count
+ - g_maplist_selectrandom
+ - g_maplist_shuffle
+ - g_maplist_votable
+ - g_maplist_votable_abstain
+ - g_maplist_votable_keeptwotime
+ - g_maplist_votable_nodetail
+ - g_maplist_votable_screenshot_dir
+ - g_maplist_votable_suggestions
+ - g_maplist_votable_suggestions_override_mostrecent
+ - g_maplist_votable_timeout
+ - g_max_info_autoscreenshot
+ - g_maxplayers
+ - g_maxplayers_spectator_blocktime
+ - g_maxpushtime
+ - g_maxspeed
+ - g_midair
+ - g_midair_shieldtime
+ - g_minstagib
+ - g_minstagib_ammo_drop
+ - g_minstagib_ammo_start
+ - g_minstagib_extralives
+ - g_minstagib_invis_alpha
+ - g_minstagib_speed_highspeed
+ - g_mirrordamage
+ - g_mirrordamage_virtual
+ - g_mod_balance
+ - g_mod_config
+ - g_mod_physics
+ - g_movement_highspeed
+ - g_multijump
+ - g_multijump_add
+ - g_multijump_speed
+ - g_mutatormsg
+ - g_nb_respawn_delay
+ - g_nb_respawn_waves
+ - g_nb_weapon_stay
+ - g_new_toys
+ - g_new_toys_autoreplace
+ - g_nexball
+ - g_nexball_basketball_bouncefactor
+ - g_nexball_basketball_bouncestop
+ - g_nexball_basketball_carrier_highspeed
+ - g_nexball_basketball_delay_hold
+ - g_nexball_basketball_delay_hold_forteam
+ - g_nexball_basketball_effects_default
+ - g_nexball_basketball_meter
+ - g_nexball_basketball_meter_maxpower
+ - g_nexball_basketball_meter_minpower
+ - g_nexball_basketball_teamsteal
+ - g_nexball_basketball_trail
+ - g_nexball_delay_collect
+ - g_nexball_delay_goal
+ - g_nexball_delay_idle
+ - g_nexball_delay_start
+ - g_nexball_football_boost_forward
+ - g_nexball_football_boost_up
+ - g_nexball_football_bouncefactor
+ - g_nexball_football_bouncestop
+ - g_nexball_football_physics
+ - g_nexball_football_trail
+ - g_nexball_goalleadlimit
+ - g_nexball_goallimit
+ - g_nexball_meter_period
+ - g_nexball_radar_showallplayers
+ - g_nexball_safepass_holdtime
+ - g_nexball_safepass_maxdist
+ - g_nexball_safepass_turnrate
+ - g_nexball_sound_bounce
+ - g_nexball_tackling
+ - g_nexball_trail_color
+ - g_nexball_viewmodel_offset
+ - g_nexball_viewmodel_scale
+ - g_nick_flood_penalty
+ - g_nick_flood_penalty_red
+ - g_nick_flood_penalty_yellow
+ - g_nick_flood_timeout
+ - g_nix
+ - g_nix_with_healtharmor
+ - g_nix_with_laser
+ - g_nix_with_powerups
+ - g_nodepthtestitems
+ - g_nodepthtestplayers
+ - g_norecoil
+ - g_ons_respawn_delay
+ - g_ons_respawn_waves
+ - g_ons_weapon_stay
+ - g_onslaught
+ - g_onslaught_cp_buildhealth
+ - g_onslaught_cp_buildtime
+ - g_onslaught_cp_health
+ - g_onslaught_cp_proxydecap
+ - g_onslaught_cp_proxydecap_distance
+ - g_onslaught_cp_proxydecap_dps
+ - g_onslaught_cp_regen
+ - g_onslaught_gen_health
+ - g_onslaught_spawn_at_controlpoints
+ - g_onslaught_spawn_at_generator
+ - g_physical_items
+ - g_physical_items_damageforcescale
+ - g_physical_items_reset
+ - g_pickup_ammo_anyway
+ - g_pickup_armorbig
+ - g_pickup_armorbig_anyway
+ - g_pickup_armorbig_max
+ - g_pickup_armorlarge
+ - g_pickup_armorlarge_anyway
+ - g_pickup_armorlarge_max
+ - g_pickup_armormedium
+ - g_pickup_armormedium_anyway
+ - g_pickup_armormedium_max
+ - g_pickup_armorsmall
+ - g_pickup_armorsmall_anyway
+ - g_pickup_armorsmall_max
+ - g_pickup_cells
+ - g_pickup_cells_max
+ - g_pickup_cells_weapon
+ - g_pickup_fuel
+ - g_pickup_fuel_jetpack
+ - g_pickup_fuel_max
+ - g_pickup_fuel_weapon
+ - g_pickup_healthlarge
+ - g_pickup_healthlarge_anyway
+ - g_pickup_healthlarge_max
+ - g_pickup_healthmedium
+ - g_pickup_healthmedium_anyway
+ - g_pickup_healthmedium_max
+ - g_pickup_healthmega
+ - g_pickup_healthmega_anyway
+ - g_pickup_healthmega_max
+ - g_pickup_healthsmall
+ - g_pickup_healthsmall_anyway
+ - g_pickup_healthsmall_max
+ - g_pickup_items
+ - g_pickup_nails
+ - g_pickup_nails_max
+ - g_pickup_nails_weapon
+ - g_pickup_respawntime_ammo
+ - g_pickup_respawntime_long
+ - g_pickup_respawntime_medium
+ - g_pickup_respawntime_powerup
+ - g_pickup_respawntime_short
+ - g_pickup_respawntime_superweapon
+ - g_pickup_respawntime_weapon
+ - g_pickup_respawntimejitter_ammo
+ - g_pickup_respawntimejitter_long
+ - g_pickup_respawntimejitter_medium
+ - g_pickup_respawntimejitter_powerup
+ - g_pickup_respawntimejitter_short
+ - g_pickup_respawntimejitter_superweapon
+ - g_pickup_respawntimejitter_weapon
+ - g_pickup_rockets
+ - g_pickup_rockets_max
+ - g_pickup_rockets_weapon
+ - g_pickup_shells
+ - g_pickup_shells_max
+ - g_pickup_shells_weapon
+ - g_pickup_weapons_anyway
+ - g_pinata
+ - g_player_alpha
+ - g_player_brightness
+ - g_playerclip_collisions
+ - g_playerstats_uri
+ - g_powerups
+ - g_projectiles_damage
+ - g_projectiles_keep_owner
+ - g_projectiles_newton_style
+ - g_projectiles_newton_style_2_maxfactor
+ - g_projectiles_newton_style_2_minfactor
+ - g_projectiles_spread_style
+ - g_race
+ - g_race_laps_limit
+ - g_race_qualifying_timelimit
+ - g_race_qualifying_timelimit_override
+ - g_race_teams
+ - g_rc_respawn_delay
+ - g_rc_respawn_waves
+ - g_rc_weapon_stay
+ - g_respawn_delay
+ - g_respawn_ghosts
+ - g_respawn_ghosts_maxtime
+ - g_respawn_ghosts_speed
+ - g_respawn_waves
+ - g_rocket_flying
+ - g_running_guns
+ - g_sandbox
+ - g_sandbox_editor_distance_edit
+ - g_sandbox_editor_distance_spawn
+ - g_sandbox_editor_flood
+ - g_sandbox_editor_free
+ - g_sandbox_editor_maxobjects
+ - g_sandbox_info
+ - g_sandbox_object_material_velocity_factor
+ - g_sandbox_object_material_velocity_min
+ - g_sandbox_object_scale_max
+ - g_sandbox_object_scale_min
+ - g_sandbox_readonly
+ - g_sandbox_storage_autoload
+ - g_sandbox_storage_autosave
+ - g_sandbox_storage_name
+ - g_shootfromcenter
+ - g_shootfromclient
+ - g_shootfromeye
+ - g_shootfromfixedorigin
+ - g_showweaponspawns
+ - g_spawn_alloweffects
+ - g_spawn_furthest
+ - g_spawn_near_teammate
+ - g_spawn_near_teammate_distance
+ - g_spawn_useallspawns
+ - g_spawnpoints_auto_move_out_of_solid
+ - g_spawnshieldtime
+ - g_start_ammo_cells
+ - g_start_ammo_fuel
+ - g_start_ammo_nails
+ - g_start_ammo_rockets
+ - g_start_ammo_shells
+ - g_start_delay
+ - g_start_weapon_crylink
+ - g_start_weapon_electro
+ - g_start_weapon_fireball
+ - g_start_weapon_grenadelauncher
+ - g_start_weapon_hagar
+ - g_start_weapon_hlac
+ - g_start_weapon_hook
+ - g_start_weapon_laser
+ - g_start_weapon_minelayer
+ - g_start_weapon_minstanex
+ - g_start_weapon_nex
+ - g_start_weapon_porto
+ - g_start_weapon_rifle
+ - g_start_weapon_rocketlauncher
+ - g_start_weapon_seeker
+ - g_start_weapon_shotgun
+ - g_start_weapon_tuba
+ - g_start_weapon_uzi
+ - g_superspectate
+ - g_tdm
+ - g_tdm_on_dm_maps
+ - g_tdm_respawn_delay
+ - g_tdm_respawn_waves
+ - g_tdm_team_spawns
+ - g_tdm_teams
+ - g_tdm_teams_override
+ - g_tdm_weapon_stay
+ - g_teamdamage_resetspeed
+ - g_teamdamage_threshold
+ - g_telefrags
+ - g_telefrags_avoid
+ - g_telefrags_teamplay
+ - g_teleport_maxspeed
+ - g_throughfloor_damage
+ - g_throughfloor_damage_max_stddev
+ - g_throughfloor_debug
+ - g_throughfloor_force
+ - g_throughfloor_force_max_stddev
+ - g_throughfloor_max_steps_other
+ - g_throughfloor_max_steps_player
+ - g_throughfloor_min_steps_other
+ - g_throughfloor_min_steps_player
+ - g_touchexplode
+ - g_touchexplode_damage
+ - g_touchexplode_edgedamage
+ - g_touchexplode_force
+ - g_touchexplode_radius
+ - g_triggerimpulse_accel_multiplier
+ - g_triggerimpulse_accel_power
+ - g_triggerimpulse_directional_multiplier
+ - g_triggerimpulse_radial_multiplier
+ - g_trueaim_minrange
+ - g_turrets
+ - g_turrets_aimidle_delay
+ - g_turrets_nofire
+ - g_turrets_reloadcvars
+ - g_turrets_targetscan_maxdelay
+ - g_turrets_targetscan_mindelay
+ - g_turrets_unit_ewheel_speed_fast
+ - g_turrets_unit_ewheel_speed_slow
+ - g_turrets_unit_ewheel_speed_slower
+ - g_turrets_unit_ewheel_speed_stop
+ - g_turrets_unit_ewheel_std_aim_firetolerance_dist
+ - g_turrets_unit_ewheel_std_aim_maxpitch
+ - g_turrets_unit_ewheel_std_aim_maxrot
+ - g_turrets_unit_ewheel_std_aim_speed
+ - g_turrets_unit_ewheel_std_ammo
+ - g_turrets_unit_ewheel_std_ammo_max
+ - g_turrets_unit_ewheel_std_ammo_recharge
+ - g_turrets_unit_ewheel_std_health
+ - g_turrets_unit_ewheel_std_respawntime
+ - g_turrets_unit_ewheel_std_shot_dmg
+ - g_turrets_unit_ewheel_std_shot_force
+ - g_turrets_unit_ewheel_std_shot_radius
+ - g_turrets_unit_ewheel_std_shot_refire
+ - g_turrets_unit_ewheel_std_shot_speed
+ - g_turrets_unit_ewheel_std_shot_spread
+ - g_turrets_unit_ewheel_std_shot_volly
+ - g_turrets_unit_ewheel_std_shot_volly_refire
+ - g_turrets_unit_ewheel_std_target_range
+ - g_turrets_unit_ewheel_std_target_range_min
+ - g_turrets_unit_ewheel_std_target_range_optimal
+ - g_turrets_unit_ewheel_std_target_select_anglebias
+ - g_turrets_unit_ewheel_std_target_select_missilebias
+ - g_turrets_unit_ewheel_std_target_select_playerbias
+ - g_turrets_unit_ewheel_std_target_select_rangebias
+ - g_turrets_unit_ewheel_std_target_select_samebias
+ - g_turrets_unit_ewheel_std_track_accel_pitch
+ - g_turrets_unit_ewheel_std_track_accel_rot
+ - g_turrets_unit_ewheel_std_track_type
+ - g_turrets_unit_ewheel_turnrate
+ - g_turrets_unit_flac_std_aim_firetolerance_dist
+ - g_turrets_unit_flac_std_aim_maxpitch
+ - g_turrets_unit_flac_std_aim_maxrot
+ - g_turrets_unit_flac_std_aim_speed
+ - g_turrets_unit_flac_std_ammo
+ - g_turrets_unit_flac_std_ammo_max
+ - g_turrets_unit_flac_std_ammo_recharge
+ - g_turrets_unit_flac_std_health
+ - g_turrets_unit_flac_std_respawntime
+ - g_turrets_unit_flac_std_shot_dmg
+ - g_turrets_unit_flac_std_shot_force
+ - g_turrets_unit_flac_std_shot_radius
+ - g_turrets_unit_flac_std_shot_refire
+ - g_turrets_unit_flac_std_shot_speed
+ - g_turrets_unit_flac_std_shot_spread
+ - g_turrets_unit_flac_std_shot_volly
+ - g_turrets_unit_flac_std_shot_volly_refire
+ - g_turrets_unit_flac_std_target_range
+ - g_turrets_unit_flac_std_target_range_min
+ - g_turrets_unit_flac_std_target_range_optimal
+ - g_turrets_unit_flac_std_target_select_anglebias
+ - g_turrets_unit_flac_std_target_select_missilebias
+ - g_turrets_unit_flac_std_target_select_playerbias
+ - g_turrets_unit_flac_std_target_select_rangebias
+ - g_turrets_unit_flac_std_target_select_samebias
+ - g_turrets_unit_flac_std_track_accel_pitch
+ - g_turrets_unit_flac_std_track_accel_rot
+ - g_turrets_unit_flac_std_track_blendrate
+ - g_turrets_unit_flac_std_track_type
+ - g_turrets_unit_fusreac_std_aim_firetolerance_dist
+ - g_turrets_unit_fusreac_std_aim_maxpitch
+ - g_turrets_unit_fusreac_std_aim_maxrot
+ - g_turrets_unit_fusreac_std_aim_speed
+ - g_turrets_unit_fusreac_std_ammo
+ - g_turrets_unit_fusreac_std_ammo_max
+ - g_turrets_unit_fusreac_std_ammo_recharge
+ - g_turrets_unit_fusreac_std_health
+ - g_turrets_unit_fusreac_std_respawntime
+ - g_turrets_unit_fusreac_std_shot_dmg
+ - g_turrets_unit_fusreac_std_shot_force
+ - g_turrets_unit_fusreac_std_shot_radius
+ - g_turrets_unit_fusreac_std_shot_refire
+ - g_turrets_unit_fusreac_std_shot_speed
+ - g_turrets_unit_fusreac_std_shot_spread
+ - g_turrets_unit_fusreac_std_shot_volly
+ - g_turrets_unit_fusreac_std_shot_volly_refire
+ - g_turrets_unit_fusreac_std_target_range
+ - g_turrets_unit_fusreac_std_target_range_min
+ - g_turrets_unit_fusreac_std_target_range_optimal
+ - g_turrets_unit_fusreac_std_target_select_anglebias
+ - g_turrets_unit_fusreac_std_target_select_playerbias
+ - g_turrets_unit_fusreac_std_target_select_rangebias
+ - g_turrets_unit_fusreac_std_target_select_samebias
+ - g_turrets_unit_fusreac_std_track_accel_pitch
+ - g_turrets_unit_fusreac_std_track_accel_rot
+ - g_turrets_unit_fusreac_std_track_blendrate
+ - g_turrets_unit_fusreac_std_track_type
+ - g_turrets_unit_hellion_std_aim_firetolerance_dist
+ - g_turrets_unit_hellion_std_aim_maxpitch
+ - g_turrets_unit_hellion_std_aim_maxrot
+ - g_turrets_unit_hellion_std_aim_speed
+ - g_turrets_unit_hellion_std_ammo
+ - g_turrets_unit_hellion_std_ammo_max
+ - g_turrets_unit_hellion_std_ammo_recharge
+ - g_turrets_unit_hellion_std_health
+ - g_turrets_unit_hellion_std_respawntime
+ - g_turrets_unit_hellion_std_shot_dmg
+ - g_turrets_unit_hellion_std_shot_force
+ - g_turrets_unit_hellion_std_shot_radius
+ - g_turrets_unit_hellion_std_shot_refire
+ - g_turrets_unit_hellion_std_shot_speed
+ - g_turrets_unit_hellion_std_shot_speed_gain
+ - g_turrets_unit_hellion_std_shot_speed_max
+ - g_turrets_unit_hellion_std_shot_spread
+ - g_turrets_unit_hellion_std_shot_volly
+ - g_turrets_unit_hellion_std_shot_volly_refire
+ - g_turrets_unit_hellion_std_target_range
+ - g_turrets_unit_hellion_std_target_range_min
+ - g_turrets_unit_hellion_std_target_range_optimal
+ - g_turrets_unit_hellion_std_target_select_anglebias
+ - g_turrets_unit_hellion_std_target_select_missilebias
+ - g_turrets_unit_hellion_std_target_select_playerbias
+ - g_turrets_unit_hellion_std_target_select_rangebias
+ - g_turrets_unit_hellion_std_target_select_samebias
+ - g_turrets_unit_hellion_std_track_accel_pitch
+ - g_turrets_unit_hellion_std_track_accel_rot
+ - g_turrets_unit_hellion_std_track_blendrate
+ - g_turrets_unit_hellion_std_track_type
+ - g_turrets_unit_hk_std_aim_firetolerance_dist
+ - g_turrets_unit_hk_std_aim_maxpitch
+ - g_turrets_unit_hk_std_aim_maxrot
+ - g_turrets_unit_hk_std_aim_speed
+ - g_turrets_unit_hk_std_ammo
+ - g_turrets_unit_hk_std_ammo_max
+ - g_turrets_unit_hk_std_ammo_recharge
+ - g_turrets_unit_hk_std_health
+ - g_turrets_unit_hk_std_respawntime
+ - g_turrets_unit_hk_std_shot_dmg
+ - g_turrets_unit_hk_std_shot_force
+ - g_turrets_unit_hk_std_shot_radius
+ - g_turrets_unit_hk_std_shot_refire
+ - g_turrets_unit_hk_std_shot_speed
+ - g_turrets_unit_hk_std_shot_speed_accel
+ - g_turrets_unit_hk_std_shot_speed_accel2
+ - g_turrets_unit_hk_std_shot_speed_decel
+ - g_turrets_unit_hk_std_shot_speed_max
+ - g_turrets_unit_hk_std_shot_speed_turnrate
+ - g_turrets_unit_hk_std_shot_spread
+ - g_turrets_unit_hk_std_shot_volly
+ - g_turrets_unit_hk_std_shot_volly_refire
+ - g_turrets_unit_hk_std_target_range
+ - g_turrets_unit_hk_std_target_range_min
+ - g_turrets_unit_hk_std_target_range_optimal
+ - g_turrets_unit_hk_std_target_select_anglebias
+ - g_turrets_unit_hk_std_target_select_missilebias
+ - g_turrets_unit_hk_std_target_select_playerbias
+ - g_turrets_unit_hk_std_target_select_rangebias
+ - g_turrets_unit_hk_std_target_select_samebias
+ - g_turrets_unit_hk_std_track_accel_pitch
+ - g_turrets_unit_hk_std_track_accel_rot
+ - g_turrets_unit_hk_std_track_blendrate
+ - g_turrets_unit_hk_std_track_type
+ - g_turrets_unit_machinegun_std_aim_firetolerance_dist
+ - g_turrets_unit_machinegun_std_aim_maxpitch
+ - g_turrets_unit_machinegun_std_aim_maxrot
+ - g_turrets_unit_machinegun_std_aim_speed
+ - g_turrets_unit_machinegun_std_ammo
+ - g_turrets_unit_machinegun_std_ammo_max
+ - g_turrets_unit_machinegun_std_ammo_recharge
+ - g_turrets_unit_machinegun_std_health
+ - g_turrets_unit_machinegun_std_respawntime
+ - g_turrets_unit_machinegun_std_shot_dmg
+ - g_turrets_unit_machinegun_std_shot_force
+ - g_turrets_unit_machinegun_std_shot_radius
+ - g_turrets_unit_machinegun_std_shot_refire
+ - g_turrets_unit_machinegun_std_shot_speed
+ - g_turrets_unit_machinegun_std_shot_spread
+ - g_turrets_unit_machinegun_std_shot_volly
+ - g_turrets_unit_machinegun_std_shot_volly_refire
+ - g_turrets_unit_machinegun_std_target_range
+ - g_turrets_unit_machinegun_std_target_range_min
+ - g_turrets_unit_machinegun_std_target_range_optimal
+ - g_turrets_unit_machinegun_std_target_select_anglebias
+ - g_turrets_unit_machinegun_std_target_select_missilebias
+ - g_turrets_unit_machinegun_std_target_select_playerbias
+ - g_turrets_unit_machinegun_std_target_select_rangebias
+ - g_turrets_unit_machinegun_std_target_select_samebias
+ - g_turrets_unit_machinegun_std_track_accel_pitch
+ - g_turrets_unit_machinegun_std_track_accel_rot
+ - g_turrets_unit_machinegun_std_track_blendrate
+ - g_turrets_unit_machinegun_std_track_type
+ - g_turrets_unit_mlrs_std_aim_firetolerance_dist
+ - g_turrets_unit_mlrs_std_aim_maxpitch
+ - g_turrets_unit_mlrs_std_aim_maxrot
+ - g_turrets_unit_mlrs_std_aim_speed
+ - g_turrets_unit_mlrs_std_ammo
+ - g_turrets_unit_mlrs_std_ammo_max
+ - g_turrets_unit_mlrs_std_ammo_recharge
+ - g_turrets_unit_mlrs_std_health
+ - g_turrets_unit_mlrs_std_respawntime
+ - g_turrets_unit_mlrs_std_shot_dmg
+ - g_turrets_unit_mlrs_std_shot_force
+ - g_turrets_unit_mlrs_std_shot_radius
+ - g_turrets_unit_mlrs_std_shot_refire
+ - g_turrets_unit_mlrs_std_shot_speed
+ - g_turrets_unit_mlrs_std_shot_spread
+ - g_turrets_unit_mlrs_std_shot_volly
+ - g_turrets_unit_mlrs_std_shot_volly_refire
+ - g_turrets_unit_mlrs_std_target_range
+ - g_turrets_unit_mlrs_std_target_range_min
+ - g_turrets_unit_mlrs_std_target_range_optimal
+ - g_turrets_unit_mlrs_std_target_select_anglebias
+ - g_turrets_unit_mlrs_std_target_select_missilebias
+ - g_turrets_unit_mlrs_std_target_select_playerbias
+ - g_turrets_unit_mlrs_std_target_select_rangebias
+ - g_turrets_unit_mlrs_std_target_select_samebias
+ - g_turrets_unit_mlrs_std_track_accel_pitch
+ - g_turrets_unit_mlrs_std_track_accel_rot
+ - g_turrets_unit_mlrs_std_track_blendrate
+ - g_turrets_unit_mlrs_std_track_type
+ - g_turrets_unit_phaser_std_aim_firetolerance_dist
+ - g_turrets_unit_phaser_std_aim_maxpitch
+ - g_turrets_unit_phaser_std_aim_maxrot
+ - g_turrets_unit_phaser_std_aim_speed
+ - g_turrets_unit_phaser_std_ammo
+ - g_turrets_unit_phaser_std_ammo_max
+ - g_turrets_unit_phaser_std_ammo_recharge
+ - g_turrets_unit_phaser_std_health
+ - g_turrets_unit_phaser_std_respawntime
+ - g_turrets_unit_phaser_std_shot_dmg
+ - g_turrets_unit_phaser_std_shot_force
+ - g_turrets_unit_phaser_std_shot_radius
+ - g_turrets_unit_phaser_std_shot_refire
+ - g_turrets_unit_phaser_std_shot_speed
+ - g_turrets_unit_phaser_std_shot_spread
+ - g_turrets_unit_phaser_std_shot_volly
+ - g_turrets_unit_phaser_std_shot_volly_refire
+ - g_turrets_unit_phaser_std_target_range
+ - g_turrets_unit_phaser_std_target_range_min
+ - g_turrets_unit_phaser_std_target_range_optimal
+ - g_turrets_unit_phaser_std_target_select_anglebias
+ - g_turrets_unit_phaser_std_target_select_missilebias
+ - g_turrets_unit_phaser_std_target_select_playerbias
+ - g_turrets_unit_phaser_std_target_select_rangebias
+ - g_turrets_unit_phaser_std_target_select_samebias
+ - g_turrets_unit_phaser_std_track_accel_pitch
+ - g_turrets_unit_phaser_std_track_accel_rot
+ - g_turrets_unit_phaser_std_track_blendrate
+ - g_turrets_unit_phaser_std_track_type
+ - g_turrets_unit_plasma_dual_aim_firetolerance_dist
+ - g_turrets_unit_plasma_dual_aim_maxpitch
+ - g_turrets_unit_plasma_dual_aim_maxrot
+ - g_turrets_unit_plasma_dual_aim_speed
+ - g_turrets_unit_plasma_dual_ammo
+ - g_turrets_unit_plasma_dual_ammo_max
+ - g_turrets_unit_plasma_dual_ammo_recharge
+ - g_turrets_unit_plasma_dual_health
+ - g_turrets_unit_plasma_dual_respawntime
+ - g_turrets_unit_plasma_dual_shot_dmg
+ - g_turrets_unit_plasma_dual_shot_force
+ - g_turrets_unit_plasma_dual_shot_radius
+ - g_turrets_unit_plasma_dual_shot_refire
+ - g_turrets_unit_plasma_dual_shot_speed
+ - g_turrets_unit_plasma_dual_shot_spread
+ - g_turrets_unit_plasma_dual_shot_volly
+ - g_turrets_unit_plasma_dual_shot_volly_refire
+ - g_turrets_unit_plasma_dual_target_range
+ - g_turrets_unit_plasma_dual_target_range_min
+ - g_turrets_unit_plasma_dual_target_range_optimal
+ - g_turrets_unit_plasma_dual_target_select_anglebias
+ - g_turrets_unit_plasma_dual_target_select_missilebias
+ - g_turrets_unit_plasma_dual_target_select_playerbias
+ - g_turrets_unit_plasma_dual_target_select_rangebias
+ - g_turrets_unit_plasma_dual_target_select_samebias
+ - g_turrets_unit_plasma_dual_track_accel_pitch
+ - g_turrets_unit_plasma_dual_track_accel_rot
+ - g_turrets_unit_plasma_dual_track_blendrate
+ - g_turrets_unit_plasma_dual_track_type
+ - g_turrets_unit_plasma_std_aim_firetolerance_dist
+ - g_turrets_unit_plasma_std_aim_maxpitch
+ - g_turrets_unit_plasma_std_aim_maxrot
+ - g_turrets_unit_plasma_std_aim_speed
+ - g_turrets_unit_plasma_std_ammo
+ - g_turrets_unit_plasma_std_ammo_max
+ - g_turrets_unit_plasma_std_ammo_recharge
+ - g_turrets_unit_plasma_std_health
+ - g_turrets_unit_plasma_std_respawntime
+ - g_turrets_unit_plasma_std_shot_dmg
+ - g_turrets_unit_plasma_std_shot_force
+ - g_turrets_unit_plasma_std_shot_radius
+ - g_turrets_unit_plasma_std_shot_refire
+ - g_turrets_unit_plasma_std_shot_speed
+ - g_turrets_unit_plasma_std_shot_spread
+ - g_turrets_unit_plasma_std_shot_volly
+ - g_turrets_unit_plasma_std_shot_volly_refire
+ - g_turrets_unit_plasma_std_target_range
+ - g_turrets_unit_plasma_std_target_range_min
+ - g_turrets_unit_plasma_std_target_range_optimal
+ - g_turrets_unit_plasma_std_target_select_anglebias
+ - g_turrets_unit_plasma_std_target_select_missilebias
+ - g_turrets_unit_plasma_std_target_select_playerbias
+ - g_turrets_unit_plasma_std_target_select_rangebias
+ - g_turrets_unit_plasma_std_target_select_samebias
+ - g_turrets_unit_plasma_std_track_accel_pitch
+ - g_turrets_unit_plasma_std_track_accel_rot
+ - g_turrets_unit_plasma_std_track_blendrate
+ - g_turrets_unit_plasma_std_track_type
+ - g_turrets_unit_tesla_std_ammo
+ - g_turrets_unit_tesla_std_ammo_max
+ - g_turrets_unit_tesla_std_ammo_recharge
+ - g_turrets_unit_tesla_std_health
+ - g_turrets_unit_tesla_std_respawntime
+ - g_turrets_unit_tesla_std_shot_dmg
+ - g_turrets_unit_tesla_std_shot_force
+ - g_turrets_unit_tesla_std_shot_refire
+ - g_turrets_unit_tesla_std_shot_volly
+ - g_turrets_unit_tesla_std_shot_volly_refire
+ - g_turrets_unit_tesla_std_target_range
+ - g_turrets_unit_tesla_std_target_range_min
+ - g_turrets_unit_tesla_std_target_select_missilebias
+ - g_turrets_unit_tesla_std_target_select_playerbias
+ - g_turrets_unit_walker_speed_jump
+ - g_turrets_unit_walker_speed_roam
+ - g_turrets_unit_walker_speed_run
+ - g_turrets_unit_walker_speed_stop
+ - g_turrets_unit_walker_speed_swim
+ - g_turrets_unit_walker_speed_walk
+ - g_turrets_unit_walker_std_aim_firetolerance_dist
+ - g_turrets_unit_walker_std_aim_maxpitch
+ - g_turrets_unit_walker_std_aim_maxrot
+ - g_turrets_unit_walker_std_aim_speed
+ - g_turrets_unit_walker_std_ammo
+ - g_turrets_unit_walker_std_ammo_max
+ - g_turrets_unit_walker_std_ammo_recharge
+ - g_turrets_unit_walker_std_health
+ - g_turrets_unit_walker_std_meele_dmg
+ - g_turrets_unit_walker_std_meele_force
+ - g_turrets_unit_walker_std_meele_range
+ - g_turrets_unit_walker_std_respawntime
+ - g_turrets_unit_walker_std_rocket_dmg
+ - g_turrets_unit_walker_std_rocket_force
+ - g_turrets_unit_walker_std_rocket_radius
+ - g_turrets_unit_walker_std_rocket_refire
+ - g_turrets_unit_walker_std_rocket_speed
+ - g_turrets_unit_walker_std_rocket_turnrate
+ - g_turrets_unit_walker_std_rockets_range
+ - g_turrets_unit_walker_std_rockets_range_min
+ - g_turrets_unit_walker_std_shot_dmg
+ - g_turrets_unit_walker_std_shot_force
+ - g_turrets_unit_walker_std_shot_radius
+ - g_turrets_unit_walker_std_shot_refire
+ - g_turrets_unit_walker_std_shot_speed
+ - g_turrets_unit_walker_std_shot_spread
+ - g_turrets_unit_walker_std_shot_volly
+ - g_turrets_unit_walker_std_shot_volly_refire
+ - g_turrets_unit_walker_std_target_range
+ - g_turrets_unit_walker_std_target_range_min
+ - g_turrets_unit_walker_std_target_range_optimal
+ - g_turrets_unit_walker_std_target_select_anglebias
+ - g_turrets_unit_walker_std_target_select_missilebias
+ - g_turrets_unit_walker_std_target_select_playerbias
+ - g_turrets_unit_walker_std_target_select_rangebias
+ - g_turrets_unit_walker_std_target_select_samebias
+ - g_turrets_unit_walker_std_track_accel_pitch
+ - g_turrets_unit_walker_std_track_accel_rot
+ - g_turrets_unit_walker_std_track_blendrate
+ - g_turrets_unit_walker_std_track_type
+ - g_turrets_unit_walker_turn
+ - g_turrets_unit_walker_turn_run
+ - g_turrets_unit_walker_turn_strafe
+ - g_turrets_unit_walker_turn_swim
+ - g_turrets_unit_walker_turn_walk
+ - g_use_ammunition
+ - g_vampire
+ - g_vehicle_bumblebee
+ - g_vehicle_bumblebee_blowup_coredamage
+ - g_vehicle_bumblebee_blowup_edgedamage
+ - g_vehicle_bumblebee_blowup_forceintensity
+ - g_vehicle_bumblebee_blowup_radius
+ - g_vehicle_bumblebee_bouncepain
+ - g_vehicle_bumblebee_cannon_ammo
+ - g_vehicle_bumblebee_cannon_ammo_regen
+ - g_vehicle_bumblebee_cannon_ammo_regen_pause
+ - g_vehicle_bumblebee_cannon_cost
+ - g_vehicle_bumblebee_cannon_damage
+ - g_vehicle_bumblebee_cannon_force
+ - g_vehicle_bumblebee_cannon_lock
+ - g_vehicle_bumblebee_cannon_pitchlimit_down
+ - g_vehicle_bumblebee_cannon_pitchlimit_up
+ - g_vehicle_bumblebee_cannon_radius
+ - g_vehicle_bumblebee_cannon_refire
+ - g_vehicle_bumblebee_cannon_speed
+ - g_vehicle_bumblebee_cannon_spread
+ - g_vehicle_bumblebee_cannon_turnlimit_in
+ - g_vehicle_bumblebee_cannon_turnlimit_out
+ - g_vehicle_bumblebee_cannon_turnspeed
+ - g_vehicle_bumblebee_energy
+ - g_vehicle_bumblebee_energy_regen
+ - g_vehicle_bumblebee_energy_regen_pause
+ - g_vehicle_bumblebee_friction
+ - g_vehicle_bumblebee_healgun_amax
+ - g_vehicle_bumblebee_healgun_aps
+ - g_vehicle_bumblebee_healgun_hmax
+ - g_vehicle_bumblebee_healgun_hps
+ - g_vehicle_bumblebee_healgun_locktime
+ - g_vehicle_bumblebee_healgun_smax
+ - g_vehicle_bumblebee_healgun_sps
+ - g_vehicle_bumblebee_health
+ - g_vehicle_bumblebee_health_regen
+ - g_vehicle_bumblebee_health_regen_pause
+ - g_vehicle_bumblebee_pitchlimit
+ - g_vehicle_bumblebee_pitchspeed
+ - g_vehicle_bumblebee_raygun
+ - g_vehicle_bumblebee_raygun_aps
+ - g_vehicle_bumblebee_raygun_dps
+ - g_vehicle_bumblebee_raygun_fps
+ - g_vehicle_bumblebee_raygun_pitchlimit_down
+ - g_vehicle_bumblebee_raygun_pitchlimit_up
+ - g_vehicle_bumblebee_raygun_range
+ - g_vehicle_bumblebee_raygun_turnlimit_sides
+ - g_vehicle_bumblebee_raygun_turnspeed
+ - g_vehicle_bumblebee_respawntime
+ - g_vehicle_bumblebee_shield
+ - g_vehicle_bumblebee_shield_regen
+ - g_vehicle_bumblebee_shield_regen_pause
+ - g_vehicle_bumblebee_speed_down
+ - g_vehicle_bumblebee_speed_forward
+ - g_vehicle_bumblebee_speed_strafe
+ - g_vehicle_bumblebee_speed_up
+ - g_vehicle_bumblebee_turnspeed
+ - g_vehicle_racer
+ - g_vehicle_racer_afterburn_cost
+ - g_vehicle_racer_anglestabilizer
+ - g_vehicle_racer_blowup_coredamage
+ - g_vehicle_racer_blowup_edgedamage
+ - g_vehicle_racer_blowup_forceintensity
+ - g_vehicle_racer_blowup_radius
+ - g_vehicle_racer_bouncefactor
+ - g_vehicle_racer_bouncepain
+ - g_vehicle_racer_bouncestop
+ - g_vehicle_racer_cannon_cost
+ - g_vehicle_racer_cannon_damage
+ - g_vehicle_racer_cannon_force
+ - g_vehicle_racer_cannon_radius
+ - g_vehicle_racer_cannon_refire
+ - g_vehicle_racer_cannon_speed
+ - g_vehicle_racer_cannon_spread
+ - g_vehicle_racer_collision_multiplier
+ - g_vehicle_racer_downforce
+ - g_vehicle_racer_energy
+ - g_vehicle_racer_energy_regen
+ - g_vehicle_racer_energy_regen_pause
+ - g_vehicle_racer_friction
+ - g_vehicle_racer_health
+ - g_vehicle_racer_health_regen
+ - g_vehicle_racer_health_regen_pause
+ - g_vehicle_racer_hoverpower
+ - g_vehicle_racer_hovertype
+ - g_vehicle_racer_mass
+ - g_vehicle_racer_maxpitch
+ - g_vehicle_racer_pitchspeed
+ - g_vehicle_racer_respawntime
+ - g_vehicle_racer_rocket_accel
+ - g_vehicle_racer_rocket_climbspeed
+ - g_vehicle_racer_rocket_cost
+ - g_vehicle_racer_rocket_damage
+ - g_vehicle_racer_rocket_force
+ - g_vehicle_racer_rocket_locked_maxangle
+ - g_vehicle_racer_rocket_locked_time
+ - g_vehicle_racer_rocket_locking_releasetime
+ - g_vehicle_racer_rocket_locking_time
+ - g_vehicle_racer_rocket_locktarget
+ - g_vehicle_racer_rocket_radius
+ - g_vehicle_racer_rocket_refire
+ - g_vehicle_racer_rocket_speed
+ - g_vehicle_racer_rocket_turnrate
+ - g_vehicle_racer_shield
+ - g_vehicle_racer_shield_regen
+ - g_vehicle_racer_shield_regen_pause
+ - g_vehicle_racer_speed_afterburn
+ - g_vehicle_racer_speed_forward
+ - g_vehicle_racer_speed_stop
+ - g_vehicle_racer_speed_strafe
+ - g_vehicle_racer_springlength
+ - g_vehicle_racer_turnroll
+ - g_vehicle_racer_turnspeed
+ - g_vehicle_racer_upforcedamper
+ - g_vehicle_raptor
+ - g_vehicle_raptor_bomblet_alt
+ - g_vehicle_raptor_bomblet_damage
+ - g_vehicle_raptor_bomblet_edgedamage
+ - g_vehicle_raptor_bomblet_explode_delay
+ - g_vehicle_raptor_bomblet_force
+ - g_vehicle_raptor_bomblet_radius
+ - g_vehicle_raptor_bomblet_spread
+ - g_vehicle_raptor_bomblet_time
+ - g_vehicle_raptor_bomblets
+ - g_vehicle_raptor_bombs_refire
+ - g_vehicle_raptor_bouncefactor
+ - g_vehicle_raptor_bouncepain
+ - g_vehicle_raptor_bouncestop
+ - g_vehicle_raptor_cannon_cost
+ - g_vehicle_raptor_cannon_damage
+ - g_vehicle_raptor_cannon_force
+ - g_vehicle_raptor_cannon_locked_time
+ - g_vehicle_raptor_cannon_locking_releasetime
+ - g_vehicle_raptor_cannon_locking_time
+ - g_vehicle_raptor_cannon_locktarget
+ - g_vehicle_raptor_cannon_pitchlimit_down
+ - g_vehicle_raptor_cannon_pitchlimit_up
+ - g_vehicle_raptor_cannon_predicttarget
+ - g_vehicle_raptor_cannon_radius
+ - g_vehicle_raptor_cannon_refire
+ - g_vehicle_raptor_cannon_speed
+ - g_vehicle_raptor_cannon_spread
+ - g_vehicle_raptor_cannon_turnlimit
+ - g_vehicle_raptor_cannon_turnspeed
+ - g_vehicle_raptor_energy
+ - g_vehicle_raptor_energy_regen
+ - g_vehicle_raptor_energy_regen_pause
+ - g_vehicle_raptor_flare_chase
+ - g_vehicle_raptor_flare_lifetime
+ - g_vehicle_raptor_flare_range
+ - g_vehicle_raptor_flare_refire
+ - g_vehicle_raptor_friction
+ - g_vehicle_raptor_health
+ - g_vehicle_raptor_health_regen
+ - g_vehicle_raptor_health_regen_pause
+ - g_vehicle_raptor_mass
+ - g_vehicle_raptor_movestyle
+ - g_vehicle_raptor_pitchlimit
+ - g_vehicle_raptor_pitchspeed
+ - g_vehicle_raptor_respawntime
+ - g_vehicle_raptor_shield
+ - g_vehicle_raptor_shield_regen
+ - g_vehicle_raptor_shield_regen_pause
+ - g_vehicle_raptor_speed_down
+ - g_vehicle_raptor_speed_forward
+ - g_vehicle_raptor_speed_strafe
+ - g_vehicle_raptor_speed_up
+ - g_vehicle_raptor_takeofftime
+ - g_vehicle_raptor_turnroll
+ - g_vehicle_raptor_turnspeed
+ - g_vehicle_spiderbot
+ - g_vehicle_spiderbot_bouncefactor
+ - g_vehicle_spiderbot_bouncepain
+ - g_vehicle_spiderbot_bouncestop
+ - g_vehicle_spiderbot_energy
+ - g_vehicle_spiderbot_energy_regen
+ - g_vehicle_spiderbot_energy_regen_pause
+ - g_vehicle_spiderbot_head_pitchlimit_down
+ - g_vehicle_spiderbot_head_pitchlimit_up
+ - g_vehicle_spiderbot_head_turnlimit
+ - g_vehicle_spiderbot_head_turnspeed
+ - g_vehicle_spiderbot_health
+ - g_vehicle_spiderbot_health_regen
+ - g_vehicle_spiderbot_health_regen_pause
+ - g_vehicle_spiderbot_minigun_ammo_cost
+ - g_vehicle_spiderbot_minigun_ammo_max
+ - g_vehicle_spiderbot_minigun_ammo_regen
+ - g_vehicle_spiderbot_minigun_ammo_regen_pause
+ - g_vehicle_spiderbot_minigun_bulletconstant
+ - g_vehicle_spiderbot_minigun_damage
+ - g_vehicle_spiderbot_minigun_force
+ - g_vehicle_spiderbot_minigun_refire
+ - g_vehicle_spiderbot_minigun_speed
+ - g_vehicle_spiderbot_minigun_spread
+ - g_vehicle_spiderbot_movement_inertia
+ - g_vehicle_spiderbot_respawntime
+ - g_vehicle_spiderbot_rocket_damage
+ - g_vehicle_spiderbot_rocket_edgedamage
+ - g_vehicle_spiderbot_rocket_force
+ - g_vehicle_spiderbot_rocket_health
+ - g_vehicle_spiderbot_rocket_lifetime
+ - g_vehicle_spiderbot_rocket_noise
+ - g_vehicle_spiderbot_rocket_radius
+ - g_vehicle_spiderbot_rocket_refire
+ - g_vehicle_spiderbot_rocket_refire2
+ - g_vehicle_spiderbot_rocket_reload
+ - g_vehicle_spiderbot_rocket_speed
+ - g_vehicle_spiderbot_rocket_spread
+ - g_vehicle_spiderbot_rocket_turnrate
+ - g_vehicle_spiderbot_shield
+ - g_vehicle_spiderbot_shield_block
+ - g_vehicle_spiderbot_shield_regen
+ - g_vehicle_spiderbot_shield_regen_pause
+ - g_vehicle_spiderbot_speed_stop
+ - g_vehicle_spiderbot_speed_strafe
+ - g_vehicle_spiderbot_speed_walk
+ - g_vehicle_spiderbot_springblend
+ - g_vehicle_spiderbot_springlength
+ - g_vehicle_spiderbot_springup
+ - g_vehicle_spiderbot_tiltlimit
+ - g_vehicle_spiderbot_turnspeed
+ - g_vehicle_spiderbot_turnspeed_strafe
+ - g_vehicles
+ - g_vehicles_crush_dmg
+ - g_vehicles_crush_force
+ - g_vehicles_delayspawn
+ - g_vehicles_delayspawn_jitter
+ - g_vehicles_minstanex_damagerate
+ - g_vehicles_nex_damagerate
+ - g_vehicles_rifle_damagerate
+ - g_vehicles_tag_damagerate
+ - g_vehicles_uzi_damagerate
+ - g_warmup
+ - g_warmup_allguns
+ - g_warmup_allow_timeout
+ - g_warmup_limit
+ - g_warmup_majority_factor
+ - g_warmup_start_ammo_cells
+ - g_warmup_start_ammo_fuel
+ - g_warmup_start_ammo_nails
+ - g_warmup_start_ammo_rockets
+ - g_warmup_start_ammo_shells
+ - g_warmup_start_armor
+ - g_warmup_start_health
+ - g_waypointeditor
+ - g_waypointeditor_auto
+ - g_waypoints_for_items
+ - g_waypointsprite_alpha
+ - g_waypointsprite_crosshairfadealpha
+ - g_waypointsprite_crosshairfadedistance
+ - g_waypointsprite_crosshairfadescale
+ - g_waypointsprite_distancealphaexponent
+ - g_waypointsprite_distancefadealpha
+ - g_waypointsprite_distancefadedistancemultiplier
+ - g_waypointsprite_distancefadescale
+ - g_waypointsprite_edgefadealpha
+ - g_waypointsprite_edgefadedistance
+ - g_waypointsprite_edgefadescale
+ - g_waypointsprite_edgeoffset_bottom
+ - g_waypointsprite_edgeoffset_left
+ - g_waypointsprite_edgeoffset_right
+ - g_waypointsprite_edgeoffset_top
+ - g_waypointsprite_fontsize
+ - g_waypointsprite_minalpha
+ - g_waypointsprite_minscale
+ - g_waypointsprite_normdistance
+ - g_waypointsprite_scale
+ - g_waypointsprite_spam
+ - g_waypointsprite_stuffbinds
+ - g_waypointsprite_tactical
+ - g_waypointsprite_timealphaexponent
+ - g_waypointsprite_turrets
+ - g_waypointsprite_turrets_maxdist
+ - g_waypointsprite_uppercase
+ - g_weapon_charge_colormod_blue_full
+ - g_weapon_charge_colormod_blue_half
+ - g_weapon_charge_colormod_green_full
+ - g_weapon_charge_colormod_green_half
+ - g_weapon_charge_colormod_hdrmultiplier
+ - g_weapon_charge_colormod_red_full
+ - g_weapon_charge_colormod_red_half
+ - g_weapon_stay
+ - g_weapon_throwable
+ - g_weaponarena
+ - g_weaponarena_random
+ - g_weaponarena_random_with_laser
+ - g_weapondamagefactor
+ - g_weaponforcefactor
+ - g_weaponratefactor
+ - g_weaponreplace_crylink
+ - g_weaponreplace_electro
+ - g_weaponreplace_fireball
+ - g_weaponreplace_grenadelauncher
+ - g_weaponreplace_hagar
+ - g_weaponreplace_hlac
+ - g_weaponreplace_hook
+ - g_weaponreplace_laser
+ - g_weaponreplace_minelayer
+ - g_weaponreplace_minstanex
+ - g_weaponreplace_nex
+ - g_weaponreplace_porto
+ - g_weaponreplace_rifle
+ - g_weaponreplace_rocketlauncher
+ - g_weaponreplace_seeker
+ - g_weaponreplace_shotgun
+ - g_weaponreplace_tuba
+ - g_weaponreplace_uzi
+ - g_weaponspeedfactor
+ - g_weaponspreadfactor
+ - g_xonoticversion
+ - gamecfg
+ - gameversion
+ - gameversion_max
+ - gameversion_min
+ - gl_combine
+ - gl_dither
+ - gl_ext_separatestencil
+ - gl_ext_stenciltwoside
+ - gl_finish
+ - gl_flashblend
+ - gl_info_driver
+ - gl_info_extensions
+ - gl_info_platform
+ - gl_info_renderer
+ - gl_info_vendor
+ - gl_info_version
+ - gl_lightmaps
+ - gl_max_lightmapsize
+ - gl_max_size
+ - gl_mesh_drawrangeelements
+ - gl_mesh_prefer_short_elements
+ - gl_mesh_testmanualfeeding
+ - gl_nopartialtextureupdates
+ - gl_paranoid
+ - gl_picmip
+ - gl_picmip_other
+ - gl_picmip_sprites
+ - gl_picmip_world
+ - gl_polyblend
+ - gl_printcheckerror
+ - gl_texture_anisotropy
+ - gl_texturecompression
+ - gl_texturecompression_2d
+ - gl_texturecompression_color
+ - gl_texturecompression_gloss
+ - gl_texturecompression_glow
+ - gl_texturecompression_lightcubemaps
+ - gl_texturecompression_normal
+ - gl_texturecompression_q3bspdeluxemaps
+ - gl_texturecompression_q3bsplightmaps
+ - gl_texturecompression_reflectmask
+ - gl_texturecompression_sky
+ - gl_texturecompression_sprites
+ - gl_vbo
+ - gl_vbo_dynamicindex
+ - gl_vbo_dynamicvertex
+ - halflifebsp
+ - host_framerate
+ - host_maxwait
+ - host_speeds
+ - hostname
+ - hud_colorflash_alpha
+ - hud_colorset_background
+ - hud_colorset_foreground_1
+ - hud_colorset_foreground_2
+ - hud_colorset_foreground_3
+ - hud_colorset_foreground_4
+ - hud_colorset_kill_1
+ - hud_colorset_kill_2
+ - hud_colorset_kill_3
+ - hud_configure_bg_minalpha
+ - hud_configure_checkcollisions
+ - hud_configure_grid
+ - hud_configure_grid_alpha
+ - hud_configure_grid_xsize
+ - hud_configure_grid_ysize
+ - hud_configure_teamcolorforced
+ - hud_contents
+ - hud_contents_blur
+ - hud_contents_blur_alpha
+ - hud_contents_factor
+ - hud_contents_fadeintime
+ - hud_contents_fadeouttime
+ - hud_contents_lava_alpha
+ - hud_contents_lava_color
+ - hud_contents_slime_alpha
+ - hud_contents_slime_color
+ - hud_contents_water_alpha
+ - hud_contents_water_color
+ - hud_cursormode
+ - hud_damage
+ - hud_damage_blur
+ - hud_damage_blur_alpha
+ - hud_damage_color
+ - hud_damage_factor
+ - hud_damage_fade_rate
+ - hud_damage_gentle_alpha_multiplier
+ - hud_damage_gentle_color
+ - hud_damage_maxalpha
+ - hud_damage_pain_threshold
+ - hud_damage_pain_threshold_lower
+ - hud_damage_pain_threshold_lower_health
+ - hud_damage_pain_threshold_pulsating_min
+ - hud_damage_pain_threshold_pulsating_period
+ - hud_dock
+ - hud_dock_alpha
+ - hud_dock_color
+ - hud_dock_color_team
+ - hud_fontsize
+ - hud_panel_ammo
+ - hud_panel_ammo_bg
+ - hud_panel_ammo_bg_alpha
+ - hud_panel_ammo_bg_border
+ - hud_panel_ammo_bg_color
+ - hud_panel_ammo_bg_color_team
+ - hud_panel_ammo_bg_padding
+ - hud_panel_ammo_iconalign
+ - hud_panel_ammo_maxammo
+ - hud_panel_ammo_onlycurrent
+ - hud_panel_ammo_pos
+ - hud_panel_ammo_progressbar
+ - hud_panel_ammo_progressbar_name
+ - hud_panel_ammo_progressbar_xoffset
+ - hud_panel_ammo_size
+ - hud_panel_ammo_text
+ - hud_panel_bg
+ - hud_panel_bg_alpha
+ - hud_panel_bg_border
+ - hud_panel_bg_color
+ - hud_panel_bg_color_team
+ - hud_panel_bg_padding
+ - hud_panel_centerprint
+ - hud_panel_centerprint_align
+ - hud_panel_centerprint_bg
+ - hud_panel_centerprint_bg_alpha
+ - hud_panel_centerprint_bg_border
+ - hud_panel_centerprint_bg_color
+ - hud_panel_centerprint_bg_color_team
+ - hud_panel_centerprint_bg_padding
+ - hud_panel_centerprint_fade_in
+ - hud_panel_centerprint_fade_minfontsize
+ - hud_panel_centerprint_fade_out
+ - hud_panel_centerprint_fade_subsequent
+ - hud_panel_centerprint_fade_subsequent_minfontsize
+ - hud_panel_centerprint_fade_subsequent_passone
+ - hud_panel_centerprint_fade_subsequent_passone_minalpha
+ - hud_panel_centerprint_fade_subsequent_passtwo
+ - hud_panel_centerprint_fade_subsequent_passtwo_minalpha
+ - hud_panel_centerprint_flip
+ - hud_panel_centerprint_fontscale
+ - hud_panel_centerprint_pos
+ - hud_panel_centerprint_size
+ - hud_panel_centerprint_time
+ - hud_panel_chat
+ - hud_panel_chat_bg
+ - hud_panel_chat_bg_alpha
+ - hud_panel_chat_bg_border
+ - hud_panel_chat_bg_color
+ - hud_panel_chat_bg_color_team
+ - hud_panel_chat_bg_padding
+ - hud_panel_chat_pos
+ - hud_panel_chat_size
+ - hud_panel_engineinfo
+ - hud_panel_engineinfo_bg
+ - hud_panel_engineinfo_bg_alpha
+ - hud_panel_engineinfo_bg_border
+ - hud_panel_engineinfo_bg_color
+ - hud_panel_engineinfo_bg_color_team
+ - hud_panel_engineinfo_bg_padding
+ - hud_panel_engineinfo_framecounter_decimals
+ - hud_panel_engineinfo_framecounter_exponentialmovingaverage
+ - hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold
+ - hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight
+ - hud_panel_engineinfo_framecounter_time
+ - hud_panel_engineinfo_pos
+ - hud_panel_engineinfo_size
+ - hud_panel_fg_alpha
+ - hud_panel_healtharmor
+ - hud_panel_healtharmor_baralign
+ - hud_panel_healtharmor_bg
+ - hud_panel_healtharmor_bg_alpha
+ - hud_panel_healtharmor_bg_border
+ - hud_panel_healtharmor_bg_color
+ - hud_panel_healtharmor_bg_color_team
+ - hud_panel_healtharmor_bg_padding
+ - hud_panel_healtharmor_flip
+ - hud_panel_healtharmor_iconalign
+ - hud_panel_healtharmor_maxarmor
+ - hud_panel_healtharmor_maxhealth
+ - hud_panel_healtharmor_pos
+ - hud_panel_healtharmor_progressbar
+ - hud_panel_healtharmor_progressbar_armor
+ - hud_panel_healtharmor_progressbar_gfx
+ - hud_panel_healtharmor_progressbar_gfx_damage
+ - hud_panel_healtharmor_progressbar_gfx_lowhealth
+ - hud_panel_healtharmor_progressbar_gfx_smooth
+ - hud_panel_healtharmor_progressbar_health
+ - hud_panel_healtharmor_size
+ - hud_panel_healtharmor_text
+ - hud_panel_infomessages
+ - hud_panel_infomessages_bg
+ - hud_panel_infomessages_bg_alpha
+ - hud_panel_infomessages_bg_border
+ - hud_panel_infomessages_bg_color
+ - hud_panel_infomessages_bg_color_team
+ - hud_panel_infomessages_bg_padding
+ - hud_panel_infomessages_flip
+ - hud_panel_infomessages_pos
+ - hud_panel_infomessages_size
+ - hud_panel_modicons
+ - hud_panel_modicons_bg
+ - hud_panel_modicons_bg_alpha
+ - hud_panel_modicons_bg_border
+ - hud_panel_modicons_bg_color
+ - hud_panel_modicons_bg_color_team
+ - hud_panel_modicons_bg_padding
+ - hud_panel_modicons_ca_layout
+ - hud_panel_modicons_dom_layout
+ - hud_panel_modicons_freezetag_layout
+ - hud_panel_modicons_pos
+ - hud_panel_modicons_size
+ - hud_panel_notify
+ - hud_panel_notify_bg
+ - hud_panel_notify_bg_alpha
+ - hud_panel_notify_bg_border
+ - hud_panel_notify_bg_color
+ - hud_panel_notify_bg_color_team
+ - hud_panel_notify_bg_padding
+ - hud_panel_notify_fadetime
+ - hud_panel_notify_flip
+ - hud_panel_notify_fontsize
+ - hud_panel_notify_pos
+ - hud_panel_notify_size
+ - hud_panel_notify_time
+ - hud_panel_physics
+ - hud_panel_physics_acceleration_max
+ - hud_panel_physics_acceleration_progressbar_mode
+ - hud_panel_physics_acceleration_progressbar_nonlinear
+ - hud_panel_physics_acceleration_progressbar_scale
+ - hud_panel_physics_acceleration_vertical
+ - hud_panel_physics_baralign
+ - hud_panel_physics_bg
+ - hud_panel_physics_bg_alpha
+ - hud_panel_physics_bg_border
+ - hud_panel_physics_bg_color
+ - hud_panel_physics_bg_color_team
+ - hud_panel_physics_bg_padding
+ - hud_panel_physics_flip
+ - hud_panel_physics_pos
+ - hud_panel_physics_progressbar
+ - hud_panel_physics_size
+ - hud_panel_physics_speed_max
+ - hud_panel_physics_speed_unit
+ - hud_panel_physics_speed_unit_show
+ - hud_panel_physics_speed_vertical
+ - hud_panel_physics_text
+ - hud_panel_physics_text_scale
+ - hud_panel_physics_topspeed
+ - hud_panel_physics_topspeed_time
+ - hud_panel_powerups
+ - hud_panel_powerups_baralign
+ - hud_panel_powerups_bg
+ - hud_panel_powerups_bg_alpha
+ - hud_panel_powerups_bg_border
+ - hud_panel_powerups_bg_color
+ - hud_panel_powerups_bg_color_team
+ - hud_panel_powerups_bg_padding
+ - hud_panel_powerups_flip
+ - hud_panel_powerups_iconalign
+ - hud_panel_powerups_pos
+ - hud_panel_powerups_progressbar
+ - hud_panel_powerups_progressbar_shield
+ - hud_panel_powerups_progressbar_strength
+ - hud_panel_powerups_progressbar_superweapons
+ - hud_panel_powerups_size
+ - hud_panel_powerups_text
+ - hud_panel_pressedkeys
+ - hud_panel_pressedkeys_aspect
+ - hud_panel_pressedkeys_attack
+ - hud_panel_pressedkeys_bg
+ - hud_panel_pressedkeys_bg_alpha
+ - hud_panel_pressedkeys_bg_border
+ - hud_panel_pressedkeys_bg_color
+ - hud_panel_pressedkeys_bg_color_team
+ - hud_panel_pressedkeys_bg_padding
+ - hud_panel_pressedkeys_pos
+ - hud_panel_pressedkeys_size
+ - hud_panel_racetimer
+ - hud_panel_racetimer_bg
+ - hud_panel_racetimer_bg_alpha
+ - hud_panel_racetimer_bg_border
+ - hud_panel_racetimer_bg_color
+ - hud_panel_racetimer_bg_color_team
+ - hud_panel_racetimer_bg_padding
+ - hud_panel_racetimer_pos
+ - hud_panel_racetimer_size
+ - hud_panel_radar
+ - hud_panel_radar_bg
+ - hud_panel_radar_bg_alpha
+ - hud_panel_radar_bg_border
+ - hud_panel_radar_bg_color
+ - hud_panel_radar_bg_color_team
+ - hud_panel_radar_bg_padding
+ - hud_panel_radar_foreground_alpha
+ - hud_panel_radar_maximized_rotation
+ - hud_panel_radar_maximized_scale
+ - hud_panel_radar_maximized_size
+ - hud_panel_radar_maximized_zoommode
+ - hud_panel_radar_pos
+ - hud_panel_radar_rotation
+ - hud_panel_radar_scale
+ - hud_panel_radar_size
+ - hud_panel_radar_zoommode
+ - hud_panel_score
+ - hud_panel_score_bg
+ - hud_panel_score_bg_alpha
+ - hud_panel_score_bg_border
+ - hud_panel_score_bg_color
+ - hud_panel_score_bg_color_team
+ - hud_panel_score_bg_padding
+ - hud_panel_score_pos
+ - hud_panel_score_rankings
+ - hud_panel_score_size
+ - hud_panel_timer
+ - hud_panel_timer_bg
+ - hud_panel_timer_bg_alpha
+ - hud_panel_timer_bg_border
+ - hud_panel_timer_bg_color
+ - hud_panel_timer_bg_color_team
+ - hud_panel_timer_bg_padding
+ - hud_panel_timer_increment
+ - hud_panel_timer_pos
+ - hud_panel_timer_size
+ - hud_panel_update_interval
+ - hud_panel_vote
+ - hud_panel_vote_alreadyvoted_alpha
+ - hud_panel_vote_bg
+ - hud_panel_vote_bg_alpha
+ - hud_panel_vote_bg_border
+ - hud_panel_vote_bg_color
+ - hud_panel_vote_bg_color_team
+ - hud_panel_vote_bg_padding
+ - hud_panel_vote_pos
+ - hud_panel_vote_size
+ - hud_panel_weapons
+ - hud_panel_weapons_accuracy
+ - hud_panel_weapons_ammo
+ - hud_panel_weapons_ammo_alpha
+ - hud_panel_weapons_ammo_color
+ - hud_panel_weapons_ammo_full_cells
+ - hud_panel_weapons_ammo_full_fuel
+ - hud_panel_weapons_ammo_full_nails
+ - hud_panel_weapons_ammo_full_rockets
+ - hud_panel_weapons_ammo_full_shells
+ - hud_panel_weapons_aspect
+ - hud_panel_weapons_bg
+ - hud_panel_weapons_bg_alpha
+ - hud_panel_weapons_bg_border
+ - hud_panel_weapons_bg_color
+ - hud_panel_weapons_bg_color_team
+ - hud_panel_weapons_bg_padding
+ - hud_panel_weapons_complainbubble
+ - hud_panel_weapons_complainbubble_color_donthave
+ - hud_panel_weapons_complainbubble_color_outofammo
+ - hud_panel_weapons_complainbubble_color_unavailable
+ - hud_panel_weapons_complainbubble_fadetime
+ - hud_panel_weapons_complainbubble_padding
+ - hud_panel_weapons_complainbubble_time
+ - hud_panel_weapons_label
+ - hud_panel_weapons_onlyowned
+ - hud_panel_weapons_pos
+ - hud_panel_weapons_size
+ - hud_panel_weapons_timeout
+ - hud_panel_weapons_timeout_effect
+ - hud_panel_weapons_timeout_fadebgmin
+ - hud_panel_weapons_timeout_fadefgmin
+ - hud_panel_weapons_timeout_speed_in
+ - hud_panel_weapons_timeout_speed_out
+ - hud_postprocessing
+ - hud_postprocessing_maxbluralpha
+ - hud_postprocessing_maxblurradius
+ - hud_powerup
+ - hud_progressbar_acceleration_color
+ - hud_progressbar_acceleration_neg_color
+ - hud_progressbar_alpha
+ - hud_progressbar_armor_color
+ - hud_progressbar_fuel_color
+ - hud_progressbar_health_color
+ - hud_progressbar_nexball_color
+ - hud_progressbar_shield_color
+ - hud_progressbar_speed_color
+ - hud_progressbar_strength_color
+ - hud_progressbar_superweapons_color
+ - hud_showbinds
+ - hud_showbinds_limit
+ - hud_shownames
+ - hud_shownames_alpha
+ - hud_shownames_antioverlap
+ - hud_shownames_antioverlap_distance
+ - hud_shownames_aspect
+ - hud_shownames_crosshairdistance
+ - hud_shownames_crosshairdistance_antioverlap
+ - hud_shownames_crosshairdistance_time
+ - hud_shownames_decolorize
+ - hud_shownames_enemies
+ - hud_shownames_fontsize
+ - hud_shownames_maxdistance
+ - hud_shownames_mindistance
+ - hud_shownames_offset
+ - hud_shownames_resize
+ - hud_shownames_self
+ - hud_shownames_status
+ - hud_shownames_statusbar_height
+ - hud_skin
+ - hud_width
+ - in_pitch_max
+ - in_pitch_min
+ - is_dedicated
+ - joy_active
+ - joy_axisforward
+ - joy_axiskeyevents
+ - joy_axiskeyevents_deadzone
+ - joy_axispitch
+ - joy_axisside
+ - joy_axisup
+ - joy_axisyaw
+ - joy_deadzoneforward
+ - joy_deadzonepitch
+ - joy_deadzoneside
+ - joy_deadzoneup
+ - joy_deadzoneyaw
+ - joy_detected
+ - joy_enable
+ - joy_index
+ - joy_sensitivityforward
+ - joy_sensitivitypitch
+ - joy_sensitivityside
+ - joy_sensitivityup
+ - joy_sensitivityyaw
+ - joy_x360_axisforward
+ - joy_x360_axispitch
+ - joy_x360_axisside
+ - joy_x360_axisup
+ - joy_x360_axisyaw
+ - joy_x360_deadzoneforward
+ - joy_x360_deadzonepitch
+ - joy_x360_deadzoneside
+ - joy_x360_deadzoneup
+ - joy_x360_deadzoneyaw
+ - joy_x360_sensitivityforward
+ - joy_x360_sensitivitypitch
+ - joy_x360_sensitivityside
+ - joy_x360_sensitivityup
+ - joy_x360_sensitivityyaw
+ - joyadvanced
+ - joyadvaxisr
+ - joyadvaxisx
+ - joyadvaxisy
+ - joyadvaxisz
+ - joypitchsensitivity
+ - joysidesensitivity
+ - joyyawsensitivity
+ - join
+ - lastlevel
+ - leadlimit
+ - leadlimit_and_fraglimit
+ - leadlimit_override
+ - locksession
+ - locs_enable
+ - locs_show
+ - loddebug
+ - log_dest_udp
+ - log_file
+ - lookspring
+ - lookstrafe
+ - m_accelerate
+ - m_accelerate_filter
+ - m_accelerate_maxspeed
+ - m_accelerate_minspeed
+ - m_filter
+ - m_forward
+ - m_pitch
+ - m_side
+ - m_yaw
+ - mastervolume
+ - menu_cdtrack
+ - menu_cl_gunalign
+ - menu_maxplayers
+ - menu_mouse_absolute
+ - menu_mouse_speed
+ - menu_options_colorcontrol_correctionvalue
+ - menu_picmip_bypass
+ - menu_progs
+ - menu_sandbox_attach_bone
+ - menu_sandbox_edit_alpha
+ - menu_sandbox_edit_color_glow
+ - menu_sandbox_edit_color_main
+ - menu_sandbox_edit_force
+ - menu_sandbox_edit_frame
+ - menu_sandbox_edit_material
+ - menu_sandbox_edit_physics
+ - menu_sandbox_edit_scale
+ - menu_sandbox_edit_skin
+ - menu_sandbox_edit_solidity
+ - menu_sandbox_spawn_model
+ - menu_showboxes
+ - menu_skin
+ - menu_slist_modfilter
+ - menu_slist_showempty
+ - menu_slist_showfull
+ - menu_slowmo
+ - menu_snd_attenuation_method
+ - menu_sounds
+ - menu_tooltips
+ - menu_updatecheck
+ - menu_updatecheck_getpacks
+ - menu_use_default_hostname
+ - menu_vid_scale
+ - menu_video_played
+ - menu_watermark
+ - menu_weaponarena
+ - minplayers
+ - mod_alias_force_animated
+ - mod_alias_supporttagscale
+ - mod_bsp_portalize
+ - mod_collision_bih
+ - mod_generatelightmaps_borderpixels
+ - mod_generatelightmaps_gridradius
+ - mod_generatelightmaps_gridsamples
+ - mod_generatelightmaps_lightmapradius
+ - mod_generatelightmaps_lightmapsamples
+ - mod_generatelightmaps_texturesize
+ - mod_generatelightmaps_unitspersample
+ - mod_generatelightmaps_vertexradius
+ - mod_generatelightmaps_vertexsamples
+ - mod_noshader_default_offsetmapping
+ - mod_obj_orientation
+ - mod_q1bsp_polygoncollisions
+ - mod_q3bsp_curves_collisions
+ - mod_q3bsp_curves_collisions_stride
+ - mod_q3bsp_curves_stride
+ - mod_q3bsp_debugtracebrush
+ - mod_q3bsp_lightmapmergepower
+ - mod_q3bsp_nolightmaps
+ - mod_q3bsp_optimizedtraceline
+ - mod_q3bsp_sRGBlightmaps
+ - mod_q3bsp_tracelineofsight_brushes
+ - mod_q3shader_default_offsetmapping
+ - mod_q3shader_default_offsetmapping_bias
+ - mod_q3shader_default_offsetmapping_scale
+ - mod_q3shader_default_polygonfactor
+ - mod_q3shader_default_polygonoffset
+ - mod_q3shader_force_addalpha
+ - mod_q3shader_force_terrain_alphaflag
+ - mod_recalculatenodeboxes
+ - music_playlist_current0
+ - music_playlist_current1
+ - music_playlist_current2
+ - music_playlist_current3
+ - music_playlist_current4
+ - music_playlist_current5
+ - music_playlist_current6
+ - music_playlist_current7
+ - music_playlist_current8
+ - music_playlist_current9
+ - music_playlist_index
+ - music_playlist_list0
+ - music_playlist_list1
+ - music_playlist_list2
+ - music_playlist_list3
+ - music_playlist_list4
+ - music_playlist_list5
+ - music_playlist_list6
+ - music_playlist_list7
+ - music_playlist_list8
+ - music_playlist_list9
+ - music_playlist_random0
+ - music_playlist_random1
+ - music_playlist_random2
+ - music_playlist_random3
+ - music_playlist_random4
+ - music_playlist_random5
+ - music_playlist_random6
+ - music_playlist_random7
+ - music_playlist_random8
+ - music_playlist_random9
+ - music_playlist_sampleposition0
+ - music_playlist_sampleposition1
+ - music_playlist_sampleposition2
+ - music_playlist_sampleposition3
+ - music_playlist_sampleposition4
+ - music_playlist_sampleposition5
+ - music_playlist_sampleposition6
+ - music_playlist_sampleposition7
+ - music_playlist_sampleposition8
+ - music_playlist_sampleposition9
+ - nehx00
+ - nehx01
+ - nehx02
+ - nehx03
+ - nehx04
+ - nehx05
+ - nehx06
+ - nehx07
+ - nehx08
+ - nehx09
+ - nehx10
+ - nehx11
+ - nehx12
+ - nehx13
+ - nehx14
+ - nehx15
+ - nehx16
+ - nehx17
+ - nehx18
+ - nehx19
+ - net_address
+ - net_address_ipv6
+ - net_challengefloodblockingtimeout
+ - net_connectfloodblockingtimeout
+ - net_connecttimeout
+ - net_getstatusfloodblockingtimeout
+ - net_messagetimeout
+ - net_slist_favorites
+ - net_slist_maxtries
+ - net_slist_pause
+ - net_slist_queriesperframe
+ - net_slist_queriespersecond
+ - net_slist_timeout
+ - net_tos_dscp
+ - nextmap
+ - noaim
+ - noexit
+ - nomonsters
+ - nosound
+ - notification_ANNCE_ACHIEVEMENT_AIRSHOT
+ - notification_ANNCE_ACHIEVEMENT_AMAZING
+ - notification_ANNCE_ACHIEVEMENT_AWESOME
+ - notification_ANNCE_ACHIEVEMENT_BOTLIKE
+ - notification_ANNCE_ACHIEVEMENT_ELECTROBITCH
+ - notification_ANNCE_ACHIEVEMENT_IMPRESSIVE
+ - notification_ANNCE_ACHIEVEMENT_YODA
+ - notification_ANNCE_BEGIN
+ - notification_ANNCE_KILLSTREAK_03
+ - notification_ANNCE_KILLSTREAK_05
+ - notification_ANNCE_KILLSTREAK_10
+ - notification_ANNCE_KILLSTREAK_15
+ - notification_ANNCE_KILLSTREAK_20
+ - notification_ANNCE_KILLSTREAK_25
+ - notification_ANNCE_KILLSTREAK_30
+ - notification_ANNCE_MINSTAGIB_LASTSECOND
+ - notification_ANNCE_MINSTAGIB_NARROWLY
+ - notification_ANNCE_MINSTAGIB_TERMINATED
+ - notification_ANNCE_MULTIFRAG
+ - notification_ANNCE_NUM_1
+ - notification_ANNCE_NUM_10
+ - notification_ANNCE_NUM_2
+ - notification_ANNCE_NUM_3
+ - notification_ANNCE_NUM_4
+ - notification_ANNCE_NUM_5
+ - notification_ANNCE_NUM_6
+ - notification_ANNCE_NUM_7
+ - notification_ANNCE_NUM_8
+ - notification_ANNCE_NUM_9
+ - notification_ANNCE_PREPARE
+ - notification_ANNCE_REMAINING_FRAG_1
+ - notification_ANNCE_REMAINING_FRAG_2
+ - notification_ANNCE_REMAINING_FRAG_3
+ - notification_ANNCE_REMAINING_MIN_1
+ - notification_ANNCE_REMAINING_MIN_5
+ - notification_ANNCE_TIMEOUT
+ - notification_ANNCE_VOTE_ACCEPT
+ - notification_ANNCE_VOTE_CALL
+ - notification_ANNCE_VOTE_FAIL
+ - notification_CENTER_ARENA_BEGIN
+ - notification_CENTER_ARENA_NEEDPLAYER
+ - notification_CENTER_ARENA_ROUNDSTART
+ - notification_CENTER_ASSAULT_ATTACKING
+ - notification_CENTER_ASSAULT_DEFENDING
+ - notification_CENTER_COUNTDOWN_BEGIN
+ - notification_CENTER_COUNTDOWN_GAMESTART
+ - notification_CENTER_CTF_CAPTURESHIELD_FREE
+ - notification_CENTER_CTF_CAPTURESHIELD_SHIELDED
+ - notification_CENTER_CTF_CAPTURE_BLUE
+ - notification_CENTER_CTF_CAPTURE_RED
+ - notification_CENTER_CTF_FLAG_THROW_PUNISH
+ - notification_CENTER_CTF_PASS_OTHER_BLUE
+ - notification_CENTER_CTF_PASS_OTHER_RED
+ - notification_CENTER_CTF_PASS_RECEIVED_BLUE
+ - notification_CENTER_CTF_PASS_RECEIVED_RED
+ - notification_CENTER_CTF_PASS_REQUESTED
+ - notification_CENTER_CTF_PASS_REQUESTING
+ - notification_CENTER_CTF_PASS_SENT_BLUE
+ - notification_CENTER_CTF_PASS_SENT_RED
+ - notification_CENTER_CTF_PICKUP_BLUE
+ - notification_CENTER_CTF_PICKUP_ENEMY
+ - notification_CENTER_CTF_PICKUP_ENEMY_VERBOSE
+ - notification_CENTER_CTF_PICKUP_RED
+ - notification_CENTER_CTF_PICKUP_TEAM
+ - notification_CENTER_CTF_PICKUP_TEAM_VERBOSE
+ - notification_CENTER_CTF_RETURN_BLUE
+ - notification_CENTER_CTF_RETURN_RED
+ - notification_CENTER_CTF_STALEMATE_CARRIER
+ - notification_CENTER_CTF_STALEMATE_OTHER
+ - notification_CENTER_DEATH_MURDER_FRAG
+ - notification_CENTER_DEATH_MURDER_FRAGGED
+ - notification_CENTER_DEATH_MURDER_FRAGGED_VERBOSE
+ - notification_CENTER_DEATH_MURDER_FRAG_VERBOSE
+ - notification_CENTER_DEATH_MURDER_TYPEFRAG
+ - notification_CENTER_DEATH_MURDER_TYPEFRAGGED
+ - notification_CENTER_DEATH_MURDER_TYPEFRAGGED_VERBOSE
+ - notification_CENTER_DEATH_MURDER_TYPEFRAG_VERBOSE
+ - notification_CENTER_DEATH_SELF_AUTOTEAMCHANGE
+ - notification_CENTER_DEATH_SELF_BETRAYAL
+ - notification_CENTER_DEATH_SELF_CAMP
+ - notification_CENTER_DEATH_SELF_CHEAT
+ - notification_CENTER_DEATH_SELF_CUSTOM
+ - notification_CENTER_DEATH_SELF_DROWN
+ - notification_CENTER_DEATH_SELF_FALL
+ - notification_CENTER_DEATH_SELF_FIRE
+ - notification_CENTER_DEATH_SELF_GENERIC
+ - notification_CENTER_DEATH_SELF_LAVA
+ - notification_CENTER_DEATH_SELF_NOAMMO
+ - notification_CENTER_DEATH_SELF_ROT
+ - notification_CENTER_DEATH_SELF_SHOOTING_STAR
+ - notification_CENTER_DEATH_SELF_SLIME
+ - notification_CENTER_DEATH_SELF_SUICIDE
+ - notification_CENTER_DEATH_SELF_SWAMP
+ - notification_CENTER_DEATH_SELF_TEAMCHANGE
+ - notification_CENTER_DEATH_SELF_TOUCHEXPLODE
+ - notification_CENTER_DEATH_SELF_TURRET
+ - notification_CENTER_DEATH_SELF_TURRET_EWHEEL
+ - notification_CENTER_DEATH_SELF_TURRET_WALK
+ - notification_CENTER_DEATH_SELF_VH_BUMB_DEATH
+ - notification_CENTER_DEATH_SELF_VH_CRUSH
+ - notification_CENTER_DEATH_SELF_VH_RAPT_BOMB
+ - notification_CENTER_DEATH_SELF_VH_RAPT_DEATH
+ - notification_CENTER_DEATH_SELF_VH_SPID_DEATH
+ - notification_CENTER_DEATH_SELF_VH_SPID_ROCKET
+ - notification_CENTER_DEATH_SELF_VH_WAKI_DEATH
+ - notification_CENTER_DEATH_SELF_VH_WAKI_ROCKET
+ - notification_CENTER_DEATH_SELF_VOID
+ - notification_CENTER_DEATH_TEAMKILL_FRAG
+ - notification_CENTER_DEATH_TEAMKILL_FRAGGED
+ - notification_CENTER_DISCONNECT_IDLING
+ - notification_CENTER_FREEZETAG_FREEZE
+ - notification_CENTER_FREEZETAG_FROZEN
+ - notification_CENTER_FREEZETAG_REVIVE
+ - notification_CENTER_FREEZETAG_REVIVED
+ - notification_CENTER_FREEZETAG_ROUND_WIN_BLUE
+ - notification_CENTER_FREEZETAG_ROUND_WIN_PINK
+ - notification_CENTER_FREEZETAG_ROUND_WIN_RED
+ - notification_CENTER_FREEZETAG_ROUND_WIN_YELLOW
+ - notification_CENTER_FREEZETAG_SELF
+ - notification_CENTER_FREEZETAG_SPAWN_LATE
+ - notification_CENTER_ITEM_WEAPON_DONTHAVE
+ - notification_CENTER_ITEM_WEAPON_DROP
+ - notification_CENTER_ITEM_WEAPON_GOT
+ - notification_CENTER_ITEM_WEAPON_NOAMMO
+ - notification_CENTER_ITEM_WEAPON_PRIMORSEC
+ - notification_CENTER_ITEM_WEAPON_UNAVAILABLE
+ - notification_CENTER_JOIN_NOSPAWNS
+ - notification_CENTER_JOIN_PREVENT
+ - notification_CENTER_KEEPAWAY_DROPPED
+ - notification_CENTER_KEEPAWAY_PICKUP
+ - notification_CENTER_KEEPAWAY_WARN
+ - notification_CENTER_KEYHUNT_HELP
+ - notification_CENTER_KEYHUNT_INTERFERE_BLUE
+ - notification_CENTER_KEYHUNT_INTERFERE_PINK
+ - notification_CENTER_KEYHUNT_INTERFERE_RED
+ - notification_CENTER_KEYHUNT_INTERFERE_YELLOW
+ - notification_CENTER_KEYHUNT_MEET
+ - notification_CENTER_KEYHUNT_SCAN
+ - notification_CENTER_KEYHUNT_START_BLUE
+ - notification_CENTER_KEYHUNT_START_PINK
+ - notification_CENTER_KEYHUNT_START_RED
+ - notification_CENTER_KEYHUNT_START_YELLOW
+ - notification_CENTER_KEYHUNT_WAIT
+ - notification_CENTER_LMS_CAMPCHECK
+ - notification_CENTER_MINSTA_FINDAMMO
+ - notification_CENTER_MINSTA_FINDAMMO_FIRST
+ - notification_CENTER_MOTD
+ - notification_CENTER_NIX_COUNTDOWN
+ - notification_CENTER_NIX_NEWWEAPON
+ - notification_CENTER_OVERTIME_FRAG
+ - notification_CENTER_OVERTIME_TIME
+ - notification_CENTER_POWERDOWN_INVISIBILITY
+ - notification_CENTER_POWERDOWN_SHIELD
+ - notification_CENTER_POWERDOWN_SPEED
+ - notification_CENTER_POWERDOWN_STRENGTH
+ - notification_CENTER_POWERUP_INVISIBILITY
+ - notification_CENTER_POWERUP_SHIELD
+ - notification_CENTER_POWERUP_SPEED
+ - notification_CENTER_POWERUP_STRENGTH
+ - notification_CENTER_RACE_FINISHLAP
+ - notification_CENTER_SUPERWEAPON_BROKEN
+ - notification_CENTER_SUPERWEAPON_LOST
+ - notification_CENTER_SUPERWEAPON_PICKUP
+ - notification_CENTER_TEAMCHANGE_AUTO
+ - notification_CENTER_TEAMCHANGE_BLUE
+ - notification_CENTER_TEAMCHANGE_PINK
+ - notification_CENTER_TEAMCHANGE_RED
+ - notification_CENTER_TEAMCHANGE_SPECTATE
+ - notification_CENTER_TEAMCHANGE_SUICIDE
+ - notification_CENTER_TEAMCHANGE_YELLOW
+ - notification_CENTER_TIMEOUT_BEGINNING
+ - notification_CENTER_TIMEOUT_ENDING
+ - notification_DEATH_MURDER_CHEAT
+ - notification_DEATH_MURDER_DROWN
+ - notification_DEATH_MURDER_FALL
+ - notification_DEATH_MURDER_FIRE
+ - notification_DEATH_MURDER_LAVA
+ - notification_DEATH_MURDER_SHOOTING_STAR
+ - notification_DEATH_MURDER_SLIME
+ - notification_DEATH_MURDER_SWAMP
+ - notification_DEATH_MURDER_TELEFRAG
+ - notification_DEATH_MURDER_TOUCHEXPLODE
+ - notification_DEATH_MURDER_VH_BUMB_DEATH
+ - notification_DEATH_MURDER_VH_BUMB_GUN
+ - notification_DEATH_MURDER_VH_CRUSH
+ - notification_DEATH_MURDER_VH_RAPT_BOMB
+ - notification_DEATH_MURDER_VH_RAPT_CANNON
+ - notification_DEATH_MURDER_VH_RAPT_DEATH
+ - notification_DEATH_MURDER_VH_SPID_DEATH
+ - notification_DEATH_MURDER_VH_SPID_MINIGUN
+ - notification_DEATH_MURDER_VH_SPID_ROCKET
+ - notification_DEATH_MURDER_VH_WAKI_DEATH
+ - notification_DEATH_MURDER_VH_WAKI_GUN
+ - notification_DEATH_MURDER_VH_WAKI_ROCKET
+ - notification_DEATH_MURDER_VOID
+ - notification_DEATH_SELF_AUTOTEAMCHANGE
+ - notification_DEATH_SELF_BETRAYAL
+ - notification_DEATH_SELF_CAMP
+ - notification_DEATH_SELF_CHEAT
+ - notification_DEATH_SELF_CUSTOM
+ - notification_DEATH_SELF_DROWN
+ - notification_DEATH_SELF_FALL
+ - notification_DEATH_SELF_FIRE
+ - notification_DEATH_SELF_GENERIC
+ - notification_DEATH_SELF_LAVA
+ - notification_DEATH_SELF_NOAMMO
+ - notification_DEATH_SELF_ROT
+ - notification_DEATH_SELF_SHOOTING_STAR
+ - notification_DEATH_SELF_SLIME
+ - notification_DEATH_SELF_SUICIDE
+ - notification_DEATH_SELF_SWAMP
+ - notification_DEATH_SELF_TEAMCHANGE
+ - notification_DEATH_SELF_TOUCHEXPLODE
+ - notification_DEATH_SELF_TURRET
+ - notification_DEATH_SELF_TURRET_EWHEEL
+ - notification_DEATH_SELF_TURRET_FLAC
+ - notification_DEATH_SELF_TURRET_HELLION
+ - notification_DEATH_SELF_TURRET_HK
+ - notification_DEATH_SELF_TURRET_MACHINEGUN
+ - notification_DEATH_SELF_TURRET_MLRS
+ - notification_DEATH_SELF_TURRET_PHASER
+ - notification_DEATH_SELF_TURRET_PLASMA
+ - notification_DEATH_SELF_TURRET_TESLA
+ - notification_DEATH_SELF_TURRET_WALK_GUN
+ - notification_DEATH_SELF_TURRET_WALK_MEELE
+ - notification_DEATH_SELF_TURRET_WALK_ROCKET
+ - notification_DEATH_SELF_VH_BUMB_DEATH
+ - notification_DEATH_SELF_VH_CRUSH
+ - notification_DEATH_SELF_VH_RAPT_BOMB
+ - notification_DEATH_SELF_VH_RAPT_DEATH
+ - notification_DEATH_SELF_VH_SPID_DEATH
+ - notification_DEATH_SELF_VH_SPID_ROCKET
+ - notification_DEATH_SELF_VH_WAKI_DEATH
+ - notification_DEATH_SELF_VH_WAKI_ROCKET
+ - notification_DEATH_SELF_VOID
+ - notification_INFO_CTF_CAPTURE_BLUE
+ - notification_INFO_CTF_CAPTURE_BROKEN_BLUE
+ - notification_INFO_CTF_CAPTURE_BROKEN_RED
+ - notification_INFO_CTF_CAPTURE_RED
+ - notification_INFO_CTF_CAPTURE_TIME_BLUE
+ - notification_INFO_CTF_CAPTURE_TIME_RED
+ - notification_INFO_CTF_CAPTURE_UNBROKEN_BLUE
+ - notification_INFO_CTF_CAPTURE_UNBROKEN_RED
+ - notification_INFO_CTF_FLAGRETURN_ABORTRUN_BLUE
+ - notification_INFO_CTF_FLAGRETURN_ABORTRUN_RED
+ - notification_INFO_CTF_FLAGRETURN_DAMAGED_BLUE
+ - notification_INFO_CTF_FLAGRETURN_DAMAGED_RED
+ - notification_INFO_CTF_FLAGRETURN_DROPPED_BLUE
+ - notification_INFO_CTF_FLAGRETURN_DROPPED_RED
+ - notification_INFO_CTF_FLAGRETURN_NEEDKILL_BLUE
+ - notification_INFO_CTF_FLAGRETURN_NEEDKILL_RED
+ - notification_INFO_CTF_FLAGRETURN_SPEEDRUN_BLUE
+ - notification_INFO_CTF_FLAGRETURN_SPEEDRUN_RED
+ - notification_INFO_CTF_FLAGRETURN_TIMEOUT_BLUE
+ - notification_INFO_CTF_FLAGRETURN_TIMEOUT_RED
+ - notification_INFO_CTF_LOST_BLUE
+ - notification_INFO_CTF_LOST_RED
+ - notification_INFO_CTF_PICKUP_BLUE
+ - notification_INFO_CTF_PICKUP_RED
+ - notification_INFO_CTF_RETURN_BLUE
+ - notification_INFO_CTF_RETURN_RED
+ - notification_INFO_DEATH_MURDER_CHEAT
+ - notification_INFO_DEATH_MURDER_DROWN
+ - notification_INFO_DEATH_MURDER_FALL
+ - notification_INFO_DEATH_MURDER_FIRE
+ - notification_INFO_DEATH_MURDER_LAVA
+ - notification_INFO_DEATH_MURDER_SHOOTING_STAR
+ - notification_INFO_DEATH_MURDER_SLIME
+ - notification_INFO_DEATH_MURDER_SWAMP
+ - notification_INFO_DEATH_MURDER_TELEFRAG
+ - notification_INFO_DEATH_MURDER_TOUCHEXPLODE
+ - notification_INFO_DEATH_MURDER_VH_BUMB_DEATH
+ - notification_INFO_DEATH_MURDER_VH_BUMB_GUN
+ - notification_INFO_DEATH_MURDER_VH_CRUSH
+ - notification_INFO_DEATH_MURDER_VH_RAPT_BOMB
+ - notification_INFO_DEATH_MURDER_VH_RAPT_CANNON
+ - notification_INFO_DEATH_MURDER_VH_RAPT_DEATH
+ - notification_INFO_DEATH_MURDER_VH_SPID_DEATH
+ - notification_INFO_DEATH_MURDER_VH_SPID_MINIGUN
+ - notification_INFO_DEATH_MURDER_VH_SPID_ROCKET
+ - notification_INFO_DEATH_MURDER_VH_WAKI_DEATH
+ - notification_INFO_DEATH_MURDER_VH_WAKI_GUN
+ - notification_INFO_DEATH_MURDER_VH_WAKI_ROCKET
+ - notification_INFO_DEATH_MURDER_VOID
+ - notification_INFO_DEATH_SELF_AUTOTEAMCHANGE
+ - notification_INFO_DEATH_SELF_BETRAYAL
+ - notification_INFO_DEATH_SELF_CAMP
+ - notification_INFO_DEATH_SELF_CHEAT
+ - notification_INFO_DEATH_SELF_CUSTOM
+ - notification_INFO_DEATH_SELF_DROWN
+ - notification_INFO_DEATH_SELF_FALL
+ - notification_INFO_DEATH_SELF_FIRE
+ - notification_INFO_DEATH_SELF_GENERIC
+ - notification_INFO_DEATH_SELF_LAVA
+ - notification_INFO_DEATH_SELF_NOAMMO
+ - notification_INFO_DEATH_SELF_ROT
+ - notification_INFO_DEATH_SELF_SHOOTING_STAR
+ - notification_INFO_DEATH_SELF_SLIME
+ - notification_INFO_DEATH_SELF_SUICIDE
+ - notification_INFO_DEATH_SELF_SWAMP
+ - notification_INFO_DEATH_SELF_TEAMCHANGE
+ - notification_INFO_DEATH_SELF_TOUCHEXPLODE
+ - notification_INFO_DEATH_SELF_TURRET
+ - notification_INFO_DEATH_SELF_TURRET_EWHEEL
+ - notification_INFO_DEATH_SELF_TURRET_FLAC
+ - notification_INFO_DEATH_SELF_TURRET_HELLION
+ - notification_INFO_DEATH_SELF_TURRET_HK
+ - notification_INFO_DEATH_SELF_TURRET_MACHINEGUN
+ - notification_INFO_DEATH_SELF_TURRET_MLRS
+ - notification_INFO_DEATH_SELF_TURRET_PHASER
+ - notification_INFO_DEATH_SELF_TURRET_PLASMA
+ - notification_INFO_DEATH_SELF_TURRET_TESLA
+ - notification_INFO_DEATH_SELF_TURRET_WALK_GUN
+ - notification_INFO_DEATH_SELF_TURRET_WALK_MEELE
+ - notification_INFO_DEATH_SELF_TURRET_WALK_ROCKET
+ - notification_INFO_DEATH_SELF_VH_BUMB_DEATH
+ - notification_INFO_DEATH_SELF_VH_CRUSH
+ - notification_INFO_DEATH_SELF_VH_RAPT_BOMB
+ - notification_INFO_DEATH_SELF_VH_RAPT_DEATH
+ - notification_INFO_DEATH_SELF_VH_SPID_DEATH
+ - notification_INFO_DEATH_SELF_VH_SPID_ROCKET
+ - notification_INFO_DEATH_SELF_VH_WAKI_DEATH
+ - notification_INFO_DEATH_SELF_VH_WAKI_ROCKET
+ - notification_INFO_DEATH_SELF_VOID
+ - notification_INFO_DEATH_TEAMKILL_BLUE
+ - notification_INFO_DEATH_TEAMKILL_PINK
+ - notification_INFO_DEATH_TEAMKILL_RED
+ - notification_INFO_DEATH_TEAMKILL_YELLOW
+ - notification_INFO_FREEZETAG_FREEZE
+ - notification_INFO_FREEZETAG_REVIVE
+ - notification_INFO_FREEZETAG_ROUND_WIN_BLUE
+ - notification_INFO_FREEZETAG_ROUND_WIN_PINK
+ - notification_INFO_FREEZETAG_ROUND_WIN_RED
+ - notification_INFO_FREEZETAG_ROUND_WIN_YELLOW
+ - notification_INFO_FREEZETAG_SELF
+ - notification_INFO_GODMODE_OFF
+ - notification_INFO_ITEM_WEAPON_DONTHAVE
+ - notification_INFO_ITEM_WEAPON_DROP
+ - notification_INFO_ITEM_WEAPON_GOT
+ - notification_INFO_ITEM_WEAPON_NOAMMO
+ - notification_INFO_ITEM_WEAPON_PRIMORSEC
+ - notification_INFO_ITEM_WEAPON_UNAVAILABLE
+ - notification_INFO_JOIN_CONNECT
+ - notification_INFO_JOIN_CONNECT_TEAM_BLUE
+ - notification_INFO_JOIN_CONNECT_TEAM_PINK
+ - notification_INFO_JOIN_CONNECT_TEAM_RED
+ - notification_INFO_JOIN_CONNECT_TEAM_YELLOW
+ - notification_INFO_JOIN_PLAY
+ - notification_INFO_KEEPAWAY_DROPPED
+ - notification_INFO_KEEPAWAY_PICKUP
+ - notification_INFO_KEYHUNT_CAPTURE_BLUE
+ - notification_INFO_KEYHUNT_CAPTURE_PINK
+ - notification_INFO_KEYHUNT_CAPTURE_RED
+ - notification_INFO_KEYHUNT_CAPTURE_YELLOW
+ - notification_INFO_KEYHUNT_DROP_BLUE
+ - notification_INFO_KEYHUNT_DROP_PINK
+ - notification_INFO_KEYHUNT_DROP_RED
+ - notification_INFO_KEYHUNT_DROP_YELLOW
+ - notification_INFO_KEYHUNT_LOST_BLUE
+ - notification_INFO_KEYHUNT_LOST_PINK
+ - notification_INFO_KEYHUNT_LOST_RED
+ - notification_INFO_KEYHUNT_LOST_YELLOW
+ - notification_INFO_KEYHUNT_PICKUP_BLUE
+ - notification_INFO_KEYHUNT_PICKUP_PINK
+ - notification_INFO_KEYHUNT_PICKUP_RED
+ - notification_INFO_KEYHUNT_PICKUP_YELLOW
+ - notification_INFO_LMS_FORFEIT
+ - notification_INFO_LMS_NOLIVES
+ - notification_INFO_POWERUP_INVISIBILITY
+ - notification_INFO_POWERUP_SHIELD
+ - notification_INFO_POWERUP_SPEED
+ - notification_INFO_POWERUP_STRENGTH
+ - notification_INFO_QUIT_DISCONNECT
+ - notification_INFO_QUIT_KICK_IDLING
+ - notification_INFO_QUIT_KICK_SPECTATING
+ - notification_INFO_QUIT_SPECTATE
+ - notification_INFO_RACE_ABANDONED
+ - notification_INFO_RACE_FAIL_RANKED
+ - notification_INFO_RACE_FAIL_UNRANKED
+ - notification_INFO_RACE_FINISHED
+ - notification_INFO_RACE_NEW_BROKEN
+ - notification_INFO_RACE_NEW_IMPROVED
+ - notification_INFO_RACE_NEW_MISSING_UID
+ - notification_INFO_RACE_NEW_SET
+ - notification_INFO_SCORES_BLUE
+ - notification_INFO_SCORES_PINK
+ - notification_INFO_SCORES_RED
+ - notification_INFO_SCORES_YELLOW
+ - notification_INFO_SPECTATE_WARNING
+ - notification_INFO_SUPERWEAPON_PICKUP
+ - notification_INFO_VERSION_BETA
+ - notification_INFO_VERSION_OLD
+ - notification_INFO_VERSION_OUTDATED
+ - notification_INFO_WATERMARK
+ - notification_INFO_WEAPON_ACCORDEON_MURDER
+ - notification_INFO_WEAPON_ACCORDEON_SUICIDE
+ - notification_INFO_WEAPON_CRYLINK_MURDER
+ - notification_INFO_WEAPON_CRYLINK_SUICIDE
+ - notification_INFO_WEAPON_ELECTRO_MURDER_BOLT
+ - notification_INFO_WEAPON_ELECTRO_MURDER_COMBO
+ - notification_INFO_WEAPON_ELECTRO_MURDER_ORBS
+ - notification_INFO_WEAPON_ELECTRO_SUICIDE_BOLT
+ - notification_INFO_WEAPON_ELECTRO_SUICIDE_ORBS
+ - notification_INFO_WEAPON_FIREBALL_MURDER_BLAST
+ - notification_INFO_WEAPON_FIREBALL_MURDER_FIREMINE
+ - notification_INFO_WEAPON_FIREBALL_SUICIDE_BLAST
+ - notification_INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE
+ - notification_INFO_WEAPON_HAGAR_MURDER_BURST
+ - notification_INFO_WEAPON_HAGAR_MURDER_SPRAY
+ - notification_INFO_WEAPON_HAGAR_SUICIDE
+ - notification_INFO_WEAPON_HLAC_MURDER
+ - notification_INFO_WEAPON_HLAC_SUICIDE
+ - notification_INFO_WEAPON_HOOK_MURDER
+ - notification_INFO_WEAPON_KLEINBOTTLE_MURDER
+ - notification_INFO_WEAPON_KLEINBOTTLE_SUICIDE
+ - notification_INFO_WEAPON_LASER_MURDER
+ - notification_INFO_WEAPON_LASER_SUICIDE
+ - notification_INFO_WEAPON_MINELAYER_MURDER
+ - notification_INFO_WEAPON_MINELAYER_SUICIDE
+ - notification_INFO_WEAPON_MINSTANEX_MURDER
+ - notification_INFO_WEAPON_MORTAR_MURDER_BOUNCE
+ - notification_INFO_WEAPON_MORTAR_MURDER_EXPLODE
+ - notification_INFO_WEAPON_MORTAR_SUICIDE_BOUNCE
+ - notification_INFO_WEAPON_MORTAR_SUICIDE_EXPLODE
+ - notification_INFO_WEAPON_NEX_MURDER
+ - notification_INFO_WEAPON_RIFLE_MURDER
+ - notification_INFO_WEAPON_RIFLE_MURDER_HAIL
+ - notification_INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING
+ - notification_INFO_WEAPON_RIFLE_MURDER_PIERCING
+ - notification_INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT
+ - notification_INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH
+ - notification_INFO_WEAPON_ROCKETLAUNCHER_SUICIDE
+ - notification_INFO_WEAPON_SEEKER_MURDER_SPRAY
+ - notification_INFO_WEAPON_SEEKER_MURDER_TAG
+ - notification_INFO_WEAPON_SEEKER_SUICIDE
+ - notification_INFO_WEAPON_SHOTGUN_MURDER
+ - notification_INFO_WEAPON_SHOTGUN_MURDER_SLAP
+ - notification_INFO_WEAPON_THINKING_WITH_PORTALS
+ - notification_INFO_WEAPON_TUBA_MURDER
+ - notification_INFO_WEAPON_TUBA_SUICIDE
+ - notification_INFO_WEAPON_UZI_MURDER_SNIPE
+ - notification_INFO_WEAPON_UZI_MURDER_SPRAY
+ - notification_ITEM_WEAPON_DONTHAVE
+ - notification_ITEM_WEAPON_DROP
+ - notification_ITEM_WEAPON_GOT
+ - notification_ITEM_WEAPON_NOAMMO
+ - notification_ITEM_WEAPON_PRIMORSEC
+ - notification_ITEM_WEAPON_UNAVAILABLE
+ - notification_MULTI_ARENA_BEGIN
+ - notification_MULTI_COUNTDOWN_BEGIN
+ - notification_MULTI_MINSTA_FINDAMMO
+ - notification_WEAPON_ACCORDEON_MURDER
+ - notification_WEAPON_ACCORDEON_SUICIDE
+ - notification_WEAPON_CRYLINK_MURDER
+ - notification_WEAPON_CRYLINK_SUICIDE
+ - notification_WEAPON_ELECTRO_MURDER_BOLT
+ - notification_WEAPON_ELECTRO_MURDER_COMBO
+ - notification_WEAPON_ELECTRO_MURDER_ORBS
+ - notification_WEAPON_ELECTRO_SUICIDE_BOLT
+ - notification_WEAPON_ELECTRO_SUICIDE_ORBS
+ - notification_WEAPON_FIREBALL_MURDER_BLAST
+ - notification_WEAPON_FIREBALL_MURDER_FIREMINE
+ - notification_WEAPON_FIREBALL_SUICIDE_BLAST
+ - notification_WEAPON_FIREBALL_SUICIDE_FIREMINE
+ - notification_WEAPON_HAGAR_MURDER_BURST
+ - notification_WEAPON_HAGAR_MURDER_SPRAY
+ - notification_WEAPON_HAGAR_SUICIDE
+ - notification_WEAPON_HLAC_MURDER
+ - notification_WEAPON_HLAC_SUICIDE
+ - notification_WEAPON_HOOK_MURDER
+ - notification_WEAPON_KLEINBOTTLE_MURDER
+ - notification_WEAPON_KLEINBOTTLE_SUICIDE
+ - notification_WEAPON_LASER_MURDER
+ - notification_WEAPON_LASER_SUICIDE
+ - notification_WEAPON_MINELAYER_MURDER
+ - notification_WEAPON_MINELAYER_SUICIDE
+ - notification_WEAPON_MINSTANEX_MURDER
+ - notification_WEAPON_MORTAR_MURDER_BOUNCE
+ - notification_WEAPON_MORTAR_MURDER_EXPLODE
+ - notification_WEAPON_MORTAR_SUICIDE_BOUNCE
+ - notification_WEAPON_MORTAR_SUICIDE_EXPLODE
+ - notification_WEAPON_NEX_MURDER
+ - notification_WEAPON_RIFLE_MURDER
+ - notification_WEAPON_RIFLE_MURDER_HAIL
+ - notification_WEAPON_RIFLE_MURDER_HAIL_PIERCING
+ - notification_WEAPON_RIFLE_MURDER_PIERCING
+ - notification_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT
+ - notification_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH
+ - notification_WEAPON_ROCKETLAUNCHER_SUICIDE
+ - notification_WEAPON_SEEKER_MURDER_SPRAY
+ - notification_WEAPON_SEEKER_MURDER_TAG
+ - notification_WEAPON_SEEKER_SUICIDE
+ - notification_WEAPON_SHOTGUN_MURDER
+ - notification_WEAPON_SHOTGUN_MURDER_SLAP
+ - notification_WEAPON_THINKING_WITH_PORTALS
+ - notification_WEAPON_TUBA_MURDER
+ - notification_WEAPON_TUBA_SUICIDE
+ - notification_WEAPON_UZI_MURDER_SNIPE
+ - notification_WEAPON_UZI_MURDER_SPRAY
+ - notification_allow_chatboxprint
+ - notification_ctf_capture_verbose
+ - notification_ctf_pickup_enemy_verbose
+ - notification_ctf_pickup_team_verbose
+ - notification_debug
+ - notification_errors_are_fatal
+ - notification_frag_verbose
+ - notification_item_centerprinttime
+ - notification_lifetime_mapload
+ - notification_lifetime_runtime
+ - notification_server_allows_frag_verbose
+ - notification_server_allows_location
+ - notification_show_location
+ - notification_show_location_string
+ - notification_show_sprees
+ - notification_show_sprees_center
+ - notification_show_sprees_center_specialonly
+ - notification_show_sprees_info
+ - notification_show_sprees_info_newline
+ - notification_show_sprees_info_specialonly
+ - pausable
+ - physics_ode
+ - physics_ode_allowconvex
+ - physics_ode_autodisable
+ - physics_ode_autodisable_steps
+ - physics_ode_autodisable_threshold_angular
+ - physics_ode_autodisable_threshold_linear
+ - physics_ode_autodisable_threshold_samples
+ - physics_ode_autodisable_time
+ - physics_ode_constantstep
+ - physics_ode_contact_cfm
+ - physics_ode_contact_erp
+ - physics_ode_contact_maxpoints
+ - physics_ode_contact_mu
+ - physics_ode_contactsurfacelayer
+ - physics_ode_iterationsperframe
+ - physics_ode_movelimit
+ - physics_ode_printstats
+ - physics_ode_quadtree_depth
+ - physics_ode_spinlimit
+ - physics_ode_trick_fixnan
+ - physics_ode_world_cfm
+ - physics_ode_world_damping
+ - physics_ode_world_damping_angular
+ - physics_ode_world_damping_angular_threshold
+ - physics_ode_world_damping_linear
+ - physics_ode_world_damping_linear_threshold
+ - physics_ode_world_erp
+ - physics_ode_world_gravitymod
+ - physics_ode_worldstep_iterations
+ - port
+ - pr_checkextension
+ - prvm_backtraceforwarnings
+ - prvm_breakpointdump
+ - prvm_errordump
+ - prvm_language
+ - prvm_leaktest
+ - prvm_leaktest_ignore_classnames
+ - prvm_reuseedicts_neverinsameframe
+ - prvm_reuseedicts_startuptime
+ - prvm_statementprofiling
+ - prvm_timeprofiling
+ - prvm_traceqc
+ - qport
+ - quit_and_redirect
+ - quit_and_redirect_timer
+ - quit_when_empty
+ - r_ambient
+ - r_batch_debugdynamicvertexpath
+ - r_batch_dynamicbuffer
+ - r_batch_multidraw
+ - r_batch_multidraw_mintriangles
+ - r_bloom
+ - r_bloom_blur
+ - r_bloom_brighten
+ - r_bloom_colorexponent
+ - r_bloom_colorscale
+ - r_bloom_colorsubtract
+ - r_bloom_resolution
+ - r_bloom_scenebrightness
+ - r_bufferdatasize_index16
+ - r_bufferdatasize_index32
+ - r_bufferdatasize_uniform
+ - r_bufferdatasize_vertex
+ - r_celoutlines
+ - r_celshading
+ - r_colormap_palette
+ - r_coronas
+ - r_coronas_occlusionquery
+ - r_coronas_occlusionsizescale
+ - r_cullentities_trace
+ - r_cullentities_trace_delay
+ - r_cullentities_trace_enlarge
+ - r_cullentities_trace_samples
+ - r_cullentities_trace_tempentitysamples
+ - r_damageblur
+ - r_deformvertexes
+ - r_depthfirst
+ - r_draw2d
+ - r_drawdecals
+ - r_drawdecals_drawdistance
+ - r_draweffects
+ - r_drawentities
+ - r_drawexplosions
+ - r_drawexteriormodel
+ - r_drawfog
+ - r_drawparticles
+ - r_drawparticles_drawdistance
+ - r_drawparticles_nearclip_max
+ - r_drawparticles_nearclip_min
+ - r_drawportals
+ - r_drawviewmodel
+ - r_drawworld
+ - r_dynamic
+ - r_editlights
+ - r_editlights_current_ambient
+ - r_editlights_current_angles
+ - r_editlights_current_color
+ - r_editlights_current_corona
+ - r_editlights_current_coronasize
+ - r_editlights_current_cubemap
+ - r_editlights_current_diffuse
+ - r_editlights_current_normalmode
+ - r_editlights_current_origin
+ - r_editlights_current_radius
+ - r_editlights_current_realtimemode
+ - r_editlights_current_shadows
+ - r_editlights_current_specular
+ - r_editlights_current_style
+ - r_editlights_cursordistance
+ - r_editlights_cursorgrid
+ - r_editlights_cursorpushback
+ - r_editlights_cursorpushoff
+ - r_editlights_drawproperties
+ - r_editlights_quakelightsizescale
+ - r_enableshadowvolumes
+ - r_equalize_entities_by
+ - r_equalize_entities_fullbright
+ - r_equalize_entities_minambient
+ - r_equalize_entities_to
+ - r_explosionclip
+ - r_fakelight
+ - r_fakelight_intensity
+ - r_farclip_base
+ - r_farclip_world
+ - r_fixtrans_auto
+ - r_fog_clear
+ - r_fog_exp2
+ - r_font_antialias
+ - r_font_compress
+ - r_font_disable_freetype
+ - r_font_diskcache
+ - r_font_hinting
+ - r_font_kerning
+ - r_font_nonpoweroftwo
+ - r_font_postprocess_blur
+ - r_font_postprocess_outline
+ - r_font_postprocess_shadow_x
+ - r_font_postprocess_shadow_y
+ - r_font_postprocess_shadow_z
+ - r_font_size_snapping
+ - r_font_use_alpha_textures
+ - r_framedatasize
+ - r_fullbright
+ - r_fullbrights
+ - r_glsl
+ - r_glsl_deluxemapping
+ - r_glsl_offsetmapping
+ - r_glsl_offsetmapping_lod
+ - r_glsl_offsetmapping_lod_distance
+ - r_glsl_offsetmapping_reliefmapping
+ - r_glsl_offsetmapping_reliefmapping_refinesteps
+ - r_glsl_offsetmapping_reliefmapping_steps
+ - r_glsl_offsetmapping_scale
+ - r_glsl_offsetmapping_steps
+ - r_glsl_postprocess
+ - r_glsl_postprocess_uservec1
+ - r_glsl_postprocess_uservec1_enable
+ - r_glsl_postprocess_uservec2
+ - r_glsl_postprocess_uservec2_enable
+ - r_glsl_postprocess_uservec3
+ - r_glsl_postprocess_uservec3_enable
+ - r_glsl_postprocess_uservec4
+ - r_glsl_postprocess_uservec4_enable
+ - r_glsl_saturation
+ - r_glsl_saturation_redcompensate
+ - r_glsl_skeletal
+ - r_glsl_vertextextureblend_usebothalphas
+ - r_hdr_glowintensity
+ - r_hdr_irisadaptation
+ - r_hdr_irisadaptation_fade_down
+ - r_hdr_irisadaptation_fade_up
+ - r_hdr_irisadaptation_maxvalue
+ - r_hdr_irisadaptation_minvalue
+ - r_hdr_irisadaptation_multiplier
+ - r_hdr_irisadaptation_radius
+ - r_hdr_irisadaptation_value
+ - r_hdr_scenebrightness
+ - r_labelsprites_roundtopixels
+ - r_labelsprites_scale
+ - r_lerpimages
+ - r_lerplightstyles
+ - r_lerpmodels
+ - r_lerpsprites
+ - r_letterbox
+ - r_lightningbeam_color_blue
+ - r_lightningbeam_color_green
+ - r_lightningbeam_color_red
+ - r_lightningbeam_qmbtexture
+ - r_lightningbeam_repeatdistance
+ - r_lightningbeam_scroll
+ - r_lightningbeam_thickness
+ - r_lockpvs
+ - r_lockvisibility
+ - r_mipnormalmaps
+ - r_mipskins
+ - r_mipsprites
+ - r_motionblur
+ - r_motionblur_averaging
+ - r_motionblur_maxblur
+ - r_motionblur_minblur
+ - r_motionblur_mousefactor
+ - r_motionblur_mousefactor_maxspeed
+ - r_motionblur_mousefactor_minspeed
+ - r_motionblur_randomize
+ - r_motionblur_velocityfactor
+ - r_motionblur_velocityfactor_maxspeed
+ - r_motionblur_velocityfactor_minspeed
+ - r_nearclip
+ - r_nearest_2d
+ - r_nearest_conchars
+ - r_nosurftextures
+ - r_novis
+ - r_overheadsprites_perspective
+ - r_overheadsprites_pushback
+ - r_overheadsprites_scalex
+ - r_overheadsprites_scaley
+ - r_picmipsprites
+ - r_picmipworld
+ - r_polygonoffset_decals_factor
+ - r_polygonoffset_decals_offset
+ - r_polygonoffset_submodel_factor
+ - r_polygonoffset_submodel_offset
+ - r_q1bsp_skymasking
+ - r_q3bsp_renderskydepth
+ - r_render
+ - r_renderview
+ - r_shadow_bouncegrid
+ - r_shadow_bouncegrid_bounceanglediffuse
+ - r_shadow_bouncegrid_directionalshading
+ - r_shadow_bouncegrid_dlightparticlemultiplier
+ - r_shadow_bouncegrid_hitmodels
+ - r_shadow_bouncegrid_includedirectlighting
+ - r_shadow_bouncegrid_intensity
+ - r_shadow_bouncegrid_lightradiusscale
+ - r_shadow_bouncegrid_maxbounce
+ - r_shadow_bouncegrid_particlebounceintensity
+ - r_shadow_bouncegrid_particleintensity
+ - r_shadow_bouncegrid_photons
+ - r_shadow_bouncegrid_spacing
+ - r_shadow_bouncegrid_stablerandom
+ - r_shadow_bouncegrid_static
+ - r_shadow_bouncegrid_static_directionalshading
+ - r_shadow_bouncegrid_static_lightradiusscale
+ - r_shadow_bouncegrid_static_maxbounce
+ - r_shadow_bouncegrid_static_photons
+ - r_shadow_bouncegrid_updateinterval
+ - r_shadow_bouncegrid_x
+ - r_shadow_bouncegrid_y
+ - r_shadow_bouncegrid_z
+ - r_shadow_bumpscale_basetexture
+ - r_shadow_bumpscale_bumpmap
+ - r_shadow_debuglight
+ - r_shadow_deferred
+ - r_shadow_frontsidecasting
+ - r_shadow_gloss
+ - r_shadow_gloss2exponent
+ - r_shadow_gloss2intensity
+ - r_shadow_glossexact
+ - r_shadow_glossexponent
+ - r_shadow_glossintensity
+ - r_shadow_lightattenuationdividebias
+ - r_shadow_lightattenuationlinearscale
+ - r_shadow_lightintensityscale
+ - r_shadow_lightradiusscale
+ - r_shadow_polygonfactor
+ - r_shadow_polygonoffset
+ - r_shadow_projectdistance
+ - r_shadow_realtime_dlight
+ - r_shadow_realtime_dlight_portalculling
+ - r_shadow_realtime_dlight_shadows
+ - r_shadow_realtime_dlight_svbspculling
+ - r_shadow_realtime_world
+ - r_shadow_realtime_world_compile
+ - r_shadow_realtime_world_compileportalculling
+ - r_shadow_realtime_world_compileshadow
+ - r_shadow_realtime_world_compilesvbsp
+ - r_shadow_realtime_world_lightmaps
+ - r_shadow_realtime_world_shadows
+ - r_shadow_scissor
+ - r_shadow_shadowmapping
+ - r_shadow_shadowmapping_bias
+ - r_shadow_shadowmapping_bordersize
+ - r_shadow_shadowmapping_depthbits
+ - r_shadow_shadowmapping_filterquality
+ - r_shadow_shadowmapping_maxsize
+ - r_shadow_shadowmapping_minsize
+ - r_shadow_shadowmapping_nearclip
+ - r_shadow_shadowmapping_polygonfactor
+ - r_shadow_shadowmapping_polygonoffset
+ - r_shadow_shadowmapping_precision
+ - r_shadow_shadowmapping_useshadowsampler
+ - r_shadow_shadowmapping_vsdct
+ - r_shadow_sortsurfaces
+ - r_shadow_texture3d
+ - r_shadow_usebihculling
+ - r_shadow_usenormalmap
+ - r_shadows
+ - r_shadows_castfrombmodels
+ - r_shadows_darken
+ - r_shadows_drawafterrtlighting
+ - r_shadows_focus
+ - r_shadows_shadowmapbias
+ - r_shadows_shadowmapscale
+ - r_shadows_throwdirection
+ - r_shadows_throwdistance
+ - r_showbboxes
+ - r_showcollisionbrushes
+ - r_showcollisionbrushes_polygonfactor
+ - r_showcollisionbrushes_polygonoffset
+ - r_showdisabledepthtest
+ - r_showlighting
+ - r_shownormals
+ - r_showoverdraw
+ - r_showshadowvolumes
+ - r_showsurfaces
+ - r_showtris
+ - r_skeletal_debugbone
+ - r_skeletal_debugbonecomponent
+ - r_skeletal_debugbonevalue
+ - r_skeletal_debugtranslatex
+ - r_skeletal_debugtranslatey
+ - r_skeletal_debugtranslatez
+ - r_skeletal_use_sse
+ - r_sky
+ - r_skyscroll1
+ - r_skyscroll2
+ - r_smoothnormals_areaweighting
+ - r_sortentities
+ - r_speeds
+ - r_speeds_graph
+ - r_speeds_graph_filter_b
+ - r_speeds_graph_filter_c
+ - r_speeds_graph_filter_g
+ - r_speeds_graph_filter_m
+ - r_speeds_graph_filter_o
+ - r_speeds_graph_filter_r
+ - r_speeds_graph_filter_w
+ - r_speeds_graph_filter_y
+ - r_speeds_graph_height
+ - r_speeds_graph_length
+ - r_speeds_graph_seconds
+ - r_speeds_graph_width
+ - r_speeds_graph_x
+ - r_speeds_graph_y
+ - r_stereo_angle
+ - r_stereo_horizontal
+ - r_stereo_redblue
+ - r_stereo_redcyan
+ - r_stereo_redgreen
+ - r_stereo_separation
+ - r_stereo_sidebyside
+ - r_stereo_vertical
+ - r_subdivisions_collision_maxtess
+ - r_subdivisions_collision_maxvertices
+ - r_subdivisions_collision_mintess
+ - r_subdivisions_collision_tolerance
+ - r_subdivisions_maxtess
+ - r_subdivisions_maxvertices
+ - r_subdivisions_mintess
+ - r_subdivisions_tolerance
+ - r_test
+ - r_textbrightness
+ - r_textcontrast
+ - r_textshadow
+ - r_texture_dds_load
+ - r_texture_dds_load_alphamode
+ - r_texture_dds_load_logfailure
+ - r_texture_dds_save
+ - r_texture_dds_swdecode
+ - r_texture_jpeg_fastpicmip
+ - r_textureunits
+ - r_track_sprites
+ - r_track_sprites_flags
+ - r_track_sprites_scaleh
+ - r_track_sprites_scalew
+ - r_transparent
+ - r_transparent_alphatocoverage
+ - r_transparent_sortarraysize
+ - r_transparent_sortmaxdist
+ - r_transparent_sortmindist
+ - r_transparent_sortsurfacesbynearest
+ - r_transparent_useplanardistance
+ - r_transparentdepthmasking
+ - r_trippy
+ - r_usedepthtextures
+ - r_useinfinitefarclip
+ - r_useportalculling
+ - r_usesurfaceculling
+ - r_viewfbo
+ - r_viewscale
+ - r_viewscale_fpsscaling
+ - r_viewscale_fpsscaling_min
+ - r_viewscale_fpsscaling_multiply
+ - r_viewscale_fpsscaling_stepmax
+ - r_viewscale_fpsscaling_stepsize
+ - r_viewscale_fpsscaling_target
+ - r_water
+ - r_water_clippingplanebias
+ - r_water_fbo
+ - r_water_hideplayer
+ - r_water_lowquality
+ - r_water_reflectdistort
+ - r_water_refractdistort
+ - r_water_resolutionmultiplier
+ - r_water_scissormode
+ - r_wateralpha
+ - r_waterscroll
+ - r_waterwarp
+ - rcon_address
+ - rcon_password
+ - rcon_restricted_commands
+ - rcon_restricted_password
+ - rcon_secure
+ - rcon_secure_challengetimeout
+ - rcon_secure_maxdiff
+ - registered
+ - rescan_pending
+ - samelevel
+ - saved1
+ - saved2
+ - saved3
+ - saved4
+ - savedgamecfg
+ - sbar_alpha_bg
+ - sbar_alpha_fg
+ - sbar_flagstatus_pos
+ - sbar_flagstatus_right
+ - sbar_gametime
+ - sbar_hudselector
+ - sbar_info_pos
+ - sbar_miniscoreboard_size
+ - sbar_scorerank
+ - scoreboard_accuracy
+ - scoreboard_accuracy_border_thickness
+ - scoreboard_accuracy_doublerows
+ - scoreboard_accuracy_nocolors
+ - scoreboard_alpha_bg
+ - scoreboard_alpha_fg
+ - scoreboard_alpha_name
+ - scoreboard_alpha_name_self
+ - scoreboard_bg_scale
+ - scoreboard_border_thickness
+ - scoreboard_color_bg_b
+ - scoreboard_color_bg_g
+ - scoreboard_color_bg_r
+ - scoreboard_color_bg_team
+ - scoreboard_columns
+ - scoreboard_fadeinspeed
+ - scoreboard_fadeoutspeed
+ - scoreboard_highlight
+ - scoreboard_highlight_alpha
+ - scoreboard_highlight_alpha_self
+ - scoreboard_offset_left
+ - scoreboard_offset_right
+ - scoreboard_offset_vertical
+ - scoreboard_respawntime_decimals
+ - scr_centertime
+ - scr_conalpha
+ - scr_conalpha2factor
+ - scr_conalpha3factor
+ - scr_conalphafactor
+ - scr_conbrightness
+ - scr_conforcewhiledisconnected
+ - scr_conscroll2_x
+ - scr_conscroll2_y
+ - scr_conscroll3_x
+ - scr_conscroll3_y
+ - scr_conscroll_x
+ - scr_conscroll_y
+ - scr_infobar_height
+ - scr_loadingscreen_background
+ - scr_loadingscreen_barcolor
+ - scr_loadingscreen_barheight
+ - scr_loadingscreen_count
+ - scr_loadingscreen_firstforstartup
+ - scr_loadingscreen_maxfps
+ - scr_loadingscreen_picture
+ - scr_loadingscreen_scale
+ - scr_loadingscreen_scale_base
+ - scr_loadingscreen_scale_limit
+ - scr_menuforcewhiledisconnected
+ - scr_printspeed
+ - scr_refresh
+ - scr_screenshot_alpha
+ - scr_screenshot_gammaboost
+ - scr_screenshot_hwgamma
+ - scr_screenshot_jpeg
+ - scr_screenshot_jpeg_quality
+ - scr_screenshot_name
+ - scr_screenshot_name_in_mapdir
+ - scr_screenshot_png
+ - scr_screenshot_timestamp
+ - scr_stipple
+ - scratch1
+ - scratch2
+ - scratch3
+ - scratch4
+ - sensitivity
+ - serverconfig
+ - sessionid
+ - showblur
+ - showbrand
+ - showdate
+ - showdate_format
+ - showfps
+ - shownetgraph
+ - showpause
+ - showram
+ - showsound
+ - showspeed
+ - showtex
+ - showtime
+ - showtime_format
+ - showtopspeed
+ - showturtle
+ - skill
+ - skill_auto
+ - skin
+ - slowmo
+ - snd_attenuation_decibel
+ - snd_attenuation_exponent
+ - snd_channel0volume
+ - snd_channel1volume
+ - snd_channel2volume
+ - snd_channel3volume
+ - snd_channel4volume
+ - snd_channel5volume
+ - snd_channel6volume
+ - snd_channel7volume
+ - snd_channel8volume
+ - snd_channel9volume
+ - snd_channellayout
+ - snd_channels
+ - snd_csqcchannel0volume
+ - snd_csqcchannel1volume
+ - snd_csqcchannel2volume
+ - snd_csqcchannel3volume
+ - snd_csqcchannel4volume
+ - snd_csqcchannel5volume
+ - snd_csqcchannel6volume
+ - snd_csqcchannel7volume
+ - snd_entchannel0volume
+ - snd_entchannel1volume
+ - snd_entchannel2volume
+ - snd_entchannel3volume
+ - snd_entchannel4volume
+ - snd_entchannel5volume
+ - snd_entchannel6volume
+ - snd_entchannel7volume
+ - snd_identicalsoundrandomization_tics
+ - snd_identicalsoundrandomization_time
+ - snd_initialized
+ - snd_maxchannelvolume
+ - snd_mutewhenidle
+ - snd_noextraupdate
+ - snd_playerchannel0volume
+ - snd_playerchannel1volume
+ - snd_playerchannel2volume
+ - snd_playerchannel3volume
+ - snd_playerchannel4volume
+ - snd_playerchannel5volume
+ - snd_playerchannel6volume
+ - snd_playerchannel7volume
+ - snd_precache
+ - snd_show
+ - snd_softclip
+ - snd_soundradius
+ - snd_spatialization_control
+ - snd_spatialization_max
+ - snd_spatialization_max_radius
+ - snd_spatialization_min
+ - snd_spatialization_min_radius
+ - snd_spatialization_occlusion
+ - snd_spatialization_power
+ - snd_spatialization_prologic
+ - snd_spatialization_prologic_frontangle
+ - snd_speed
+ - snd_startloopingsounds
+ - snd_startnonloopingsounds
+ - snd_staticvolume
+ - snd_streaming
+ - snd_streaming_length
+ - snd_swapstereo
+ - snd_width
+ - snd_worldchannel0volume
+ - snd_worldchannel1volume
+ - snd_worldchannel2volume
+ - snd_worldchannel3volume
+ - snd_worldchannel4volume
+ - snd_worldchannel5volume
+ - snd_worldchannel6volume
+ - snd_worldchannel7volume
+ - spawn_debug
+ - spawn_debugview
+ - speedmeter
+ - sv_accelerate
+ - sv_accuracy_data_send
+ - sv_accuracy_data_share
+ - sv_adminnick
+ - sv_aim
+ - sv_airaccel_qw
+ - sv_airaccel_qw_stretchfactor
+ - sv_airaccel_sideways_friction
+ - sv_airaccelerate
+ - sv_aircontrol
+ - sv_aircontrol_penalty
+ - sv_aircontrol_power
+ - sv_airspeedlimit_nonqw
+ - sv_airstopaccelerate
+ - sv_airstrafeaccel_qw
+ - sv_airstrafeaccelerate
+ - sv_allow_fullbright
+ - sv_allowdownloads
+ - sv_allowdownloads_archive
+ - sv_allowdownloads_config
+ - sv_allowdownloads_dlcache
+ - sv_allowdownloads_inarchive
+ - sv_areadebug
+ - sv_areagrid_mingridsize
+ - sv_autodemo_perclient
+ - sv_autodemo_perclient_discardable
+ - sv_autodemo_perclient_nameformat
+ - sv_autoscreenshot
+ - sv_autotaunt
+ - sv_cheats
+ - sv_checkforpacketsduringsleep
+ - sv_clientcommand_antispam_count
+ - sv_clientcommand_antispam_time
+ - sv_clmovement_enable
+ - sv_clmovement_inputtimeout
+ - sv_clmovement_minping
+ - sv_clmovement_minping_disabletime
+ - sv_clones
+ - sv_cullentities_nevercullbmodels
+ - sv_cullentities_pvs
+ - sv_cullentities_stats
+ - sv_cullentities_trace
+ - sv_cullentities_trace_delay
+ - sv_cullentities_trace_delay_players
+ - sv_cullentities_trace_enlarge
+ - sv_cullentities_trace_entityocclusion
+ - sv_cullentities_trace_prediction
+ - sv_cullentities_trace_prediction_time
+ - sv_cullentities_trace_samples
+ - sv_cullentities_trace_samples_extra
+ - sv_cullentities_trace_samples_players
+ - sv_curl_defaulturl
+ - sv_curl_maxspeed
+ - sv_curl_serverpackages
+ - sv_curl_serverpackages_auto
+ - sv_db_saveasdump
+ - sv_debugmove
+ - sv_defaultcharacter
+ - sv_defaultplayercolors
+ - sv_defaultplayermodel
+ - sv_defaultplayermodel_blue
+ - sv_defaultplayermodel_pink
+ - sv_defaultplayermodel_red
+ - sv_defaultplayermodel_yellow
+ - sv_defaultplayerskin
+ - sv_defaultplayerskin_blue
+ - sv_defaultplayerskin_pink
+ - sv_defaultplayerskin_red
+ - sv_defaultplayerskin_yellow
+ - sv_disablenotify
+ - sv_dodging_delay
+ - sv_dodging_height_threshold
+ - sv_dodging_horiz_speed
+ - sv_dodging_ramp_time
+ - sv_dodging_sound
+ - sv_dodging_up_speed
+ - sv_dodging_wall_distance_threshold
+ - sv_dodging_wall_dodging
+ - sv_doublejump
+ - sv_echobprint
+ - sv_entpatch
+ - sv_eventlog
+ - sv_eventlog_console
+ - sv_eventlog_files
+ - sv_eventlog_files_counter
+ - sv_eventlog_files_nameprefix
+ - sv_eventlog_files_namesuffix
+ - sv_eventlog_files_timestamps
+ - sv_fixedframeratesingleplayer
+ - sv_foginterval
+ - sv_fraginfo
+ - sv_fraginfo_handicap
+ - sv_fraginfo_ping
+ - sv_fraginfo_stats
+ - sv_freezenonclients
+ - sv_friction
+ - sv_friction_on_land
+ - sv_gameplayfix_blowupfallenzombies
+ - sv_gameplayfix_consistentplayerprethink
+ - sv_gameplayfix_delayprojectiles
+ - sv_gameplayfix_downtracesupportsongroundflag
+ - sv_gameplayfix_droptofloorstartsolid
+ - sv_gameplayfix_droptofloorstartsolid_nudgetocorrect
+ - sv_gameplayfix_easierwaterjump
+ - sv_gameplayfix_findradiusdistancetobox
+ - sv_gameplayfix_fixedcheckwatertransition
+ - sv_gameplayfix_gravityunaffectedbyticrate
+ - sv_gameplayfix_grenadebouncedownslopes
+ - sv_gameplayfix_multiplethinksperframe
+ - sv_gameplayfix_noairborncorpse
+ - sv_gameplayfix_noairborncorpse_allowsuspendeditems
+ - sv_gameplayfix_nogravityonground
+ - sv_gameplayfix_nostepmoveonsteepslopes
+ - sv_gameplayfix_nudgeoutofsolid
+ - sv_gameplayfix_nudgeoutofsolid_separation
+ - sv_gameplayfix_q1bsptracelinereportstexture
+ - sv_gameplayfix_q2airaccelerate
+ - sv_gameplayfix_setmodelrealbox
+ - sv_gameplayfix_slidemoveprojectiles
+ - sv_gameplayfix_stepdown
+ - sv_gameplayfix_stepmultipletimes
+ - sv_gameplayfix_swiminbmodels
+ - sv_gameplayfix_unstickentities
+ - sv_gameplayfix_unstickplayers
+ - sv_gameplayfix_upwardvelocityclearsongroundflag
+ - sv_gentle
+ - sv_gibhealth
+ - sv_gravity
+ - sv_heartbeatperiod
+ - sv_idealpitchscale
+ - sv_intermission_cdtrack
+ - sv_join_notices
+ - sv_join_notices_time
+ - sv_jumpspeedcap_max
+ - sv_jumpspeedcap_max_disable_on_ramps
+ - sv_jumpspeedcap_min
+ - sv_jumpstep
+ - sv_jumpvelocity
+ - sv_logscores_bots
+ - sv_logscores_console
+ - sv_logscores_file
+ - sv_logscores_filename
+ - sv_mapchange_delay
+ - sv_master1
+ - sv_master2
+ - sv_master3
+ - sv_master4
+ - sv_masterextra1
+ - sv_masterextra2
+ - sv_masterextra3
+ - sv_maxairspeed
+ - sv_maxairstrafespeed
+ - sv_maxidle
+ - sv_maxidle_spectatorsareidle
+ - sv_maxrate
+ - sv_maxspeed
+ - sv_maxvelocity
+ - sv_motd
+ - sv_namechangetimer
+ - sv_nostep
+ - sv_onlycsqcnetworking
+ - sv_player_crouch_maxs
+ - sv_player_crouch_mins
+ - sv_player_crouch_viewoffset
+ - sv_player_headsize
+ - sv_player_maxs
+ - sv_player_mins
+ - sv_player_viewoffset
+ - sv_playerphysicsqc
+ - sv_precacheitems
+ - sv_precacheplayermodels
+ - sv_precacheweapons
+ - sv_progs
+ - sv_protocolname
+ - sv_public
+ - sv_public_rejectreason
+ - sv_q3acompat_machineshotgunswap
+ - sv_random_seed
+ - sv_ratelimitlocalplayer
+ - sv_ready_restart
+ - sv_ready_restart_after_countdown
+ - sv_ready_restart_repeatable
+ - sv_servermodelsonly
+ - sv_shownames_cull_distance
+ - sv_simple_items
+ - sv_sound_land
+ - sv_sound_watersplash
+ - sv_spectate
+ - sv_spectator_speed_multiplier
+ - sv_status_privacy
+ - sv_status_show_qcstatus
+ - sv_stepheight
+ - sv_stopspeed
+ - sv_strengthsound_antispam_refire_threshold
+ - sv_strengthsound_antispam_time
+ - sv_taunt
+ - sv_teamnagger
+ - sv_threaded
+ - sv_timeout
+ - sv_timeout_leadtime
+ - sv_timeout_length
+ - sv_timeout_number
+ - sv_timeout_resumetime
+ - sv_vote_call
+ - sv_vote_change
+ - sv_vote_command_restriction_allready
+ - sv_vote_command_restriction_chmap
+ - sv_vote_command_restriction_cointoss
+ - sv_vote_command_restriction_endmatch
+ - sv_vote_command_restriction_extendmatchtime
+ - sv_vote_command_restriction_fraglimit
+ - sv_vote_command_restriction_gotomap
+ - sv_vote_command_restriction_kick
+ - sv_vote_command_restriction_kickban
+ - sv_vote_command_restriction_movetoauto
+ - sv_vote_command_restriction_movetoblue
+ - sv_vote_command_restriction_movetopink
+ - sv_vote_command_restriction_movetored
+ - sv_vote_command_restriction_movetoyellow
+ - sv_vote_command_restriction_nextmap
+ - sv_vote_command_restriction_reducematchtime
+ - sv_vote_command_restriction_restart
+ - sv_vote_commands
+ - sv_vote_gamestart
+ - sv_vote_limit
+ - sv_vote_majority_factor
+ - sv_vote_majority_factor_of_voted
+ - sv_vote_master
+ - sv_vote_master_callable
+ - sv_vote_master_commands
+ - sv_vote_master_password
+ - sv_vote_master_playerlimit
+ - sv_vote_no_stops_vote
+ - sv_vote_nospectators
+ - sv_vote_only_commands
+ - sv_vote_override_mostrecent
+ - sv_vote_singlecount
+ - sv_vote_stop
+ - sv_vote_timeout
+ - sv_vote_wait
+ - sv_wallfriction
+ - sv_warsowbunny_accel
+ - sv_warsowbunny_airforwardaccel
+ - sv_warsowbunny_backtosideratio
+ - sv_warsowbunny_topspeed
+ - sv_warsowbunny_turnaccel
+ - sv_wateraccelerate
+ - sv_waterfriction
+ - sv_waypointsprite_deadlifetime
+ - sv_waypointsprite_deployed_lifetime
+ - sv_waypointsprite_limitedrange
+ - sv_weaponstats_file
+ - sv_worldbasename
+ - sv_worldmessage
+ - sv_worldname
+ - sv_worldnamenoextension
+ - sv_writepicture_quality
+ - sys_colortranslation
+ - sys_debugsleep
+ - sys_memsize_physical
+ - sys_memsize_virtual
+ - sys_specialcharactertranslation
+ - sys_ticrate
+ - sys_useclockgettime
+ - sys_usenoclockbutbenchmark
+ - team
+ - teamplay
+ - teamplay_lockonrestart
+ - teamplay_mode
+ - temp1
+ - the_goggles
+ - timedemo_screenshotframelist
+ - timeformat
+ - timelimit
+ - timelimit_decrement
+ - timelimit_increment
+ - timelimit_max
+ - timelimit_min
+ - timelimit_override
+ - timelimit_overtime
+ - timelimit_overtimes
+ - timelimit_suddendeath
+ - timestamps
+ - userbind10_description
+ - userbind10_press
+ - userbind10_release
+ - userbind11_description
+ - userbind11_press
+ - userbind11_release
+ - userbind12_description
+ - userbind12_press
+ - userbind12_release
+ - userbind13_description
+ - userbind13_press
+ - userbind13_release
+ - userbind14_description
+ - userbind14_press
+ - userbind14_release
+ - userbind15_description
+ - userbind15_press
+ - userbind15_release
+ - userbind16_description
+ - userbind16_press
+ - userbind16_release
+ - userbind17_description
+ - userbind17_press
+ - userbind17_release
+ - userbind18_description
+ - userbind18_press
+ - userbind18_release
+ - userbind19_description
+ - userbind19_press
+ - userbind19_release
+ - userbind1_description
+ - userbind1_press
+ - userbind1_release
+ - userbind20_description
+ - userbind20_press
+ - userbind20_release
+ - userbind21_description
+ - userbind21_press
+ - userbind21_release
+ - userbind22_description
+ - userbind22_press
+ - userbind22_release
+ - userbind23_description
+ - userbind23_press
+ - userbind23_release
+ - userbind24_description
+ - userbind24_press
+ - userbind24_release
+ - userbind25_description
+ - userbind25_press
+ - userbind25_release
+ - userbind26_description
+ - userbind26_press
+ - userbind26_release
+ - userbind27_description
+ - userbind27_press
+ - userbind27_release
+ - userbind28_description
+ - userbind28_press
+ - userbind28_release
+ - userbind29_description
+ - userbind29_press
+ - userbind29_release
+ - userbind2_description
+ - userbind2_press
+ - userbind2_release
+ - userbind30_description
+ - userbind30_press
+ - userbind30_release
+ - userbind31_description
+ - userbind31_press
+ - userbind31_release
+ - userbind32_description
+ - userbind32_press
+ - userbind32_release
+ - userbind3_description
+ - userbind3_press
+ - userbind3_release
+ - userbind4_description
+ - userbind4_press
+ - userbind4_release
+ - userbind5_description
+ - userbind5_press
+ - userbind5_release
+ - userbind6_description
+ - userbind6_press
+ - userbind6_release
+ - userbind7_description
+ - userbind7_press
+ - userbind7_release
+ - userbind8_description
+ - userbind8_press
+ - userbind8_release
+ - userbind9_description
+ - userbind9_press
+ - userbind9_release
+ - utf8_enable
+ - v_brightness
+ - v_centermove
+ - v_centerspeed
+ - v_color_black_b
+ - v_color_black_g
+ - v_color_black_r
+ - v_color_enable
+ - v_color_grey_b
+ - v_color_grey_g
+ - v_color_grey_r
+ - v_color_white_b
+ - v_color_white_g
+ - v_color_white_r
+ - v_contrast
+ - v_contrastboost
+ - v_deathtilt
+ - v_deathtiltangle
+ - v_flipped
+ - v_gamma
+ - v_glslgamma
+ - v_glslgamma_2d
+ - v_glslgamma_video
+ - v_hwgamma
+ - v_idlescale
+ - v_ipitch_cycle
+ - v_ipitch_level
+ - v_iroll_cycle
+ - v_iroll_level
+ - v_iyaw_cycle
+ - v_iyaw_level
+ - v_kickpitch
+ - v_kickroll
+ - v_kicktime
+ - v_psycho
+ - vid_bitsperpixel
+ - vid_conheight
+ - vid_conwidth
+ - vid_fullscreen
+ - vid_gl13
+ - vid_gl20
+ - vid_grabkeyboard
+ - vid_hardwaregammasupported
+ - vid_height
+ - vid_minheight
+ - vid_minwidth
+ - vid_mouse
+ - vid_netwmfullscreen
+ - vid_pixelheight
+ - vid_refreshrate
+ - vid_resizable
+ - vid_sRGB
+ - vid_sRGB_fallback
+ - vid_samples
+ - vid_soft
+ - vid_soft_interlace
+ - vid_soft_threads
+ - vid_stereobuffer
+ - vid_stick_mouse
+ - vid_touchscreen
+ - vid_touchscreen_outlinealpha
+ - vid_touchscreen_overlayalpha
+ - vid_userefreshrate
+ - vid_vsync
+ - vid_width
+ - vid_x11_display
+ - viewsize
+ - volume
+ - waypoint_benchmark
+ - welcome_message_time
+ - _allow_unacceptable_compiler_bugs
+ - _angles
+ - _backup_con_chatvars_set
+ - _campaign_index
+ - _campaign_name
+ - _campaign_testrun
+ - _cl_color
+ - _cl_name
+ - _cl_playermodel
+ - _cl_playerskin
+ - _cl_pmodel
+ - _cl_rate
+ - _con_chat_maximized
+ - _hud_configure
+ - _hud_panelorder
+ - _hud_showbinds_reload
+ - _independent_players
+ - _isalnum
+ - _isalpha
+ - _isascii
+ - _isblank
+ - _iscntrl
+ - _isdigit
+ - _isgraph
+ - _islower
+ - _isprint
+ - _ispunct
+ - _isspace
+ - _isupper
+ - _isxdigit
+ - _menu_alpha
+ - _menu_initialized
+ - _menu_prvm_language
+ - _menu_vid_height
+ - _menu_vid_pixelheight
+ - _menu_vid_width
+ - _notarget
+ - _origin
+ - _snd_mixahead
+ - _sv_init
+ - _togglezoom
+ - _urllib_nextslot
+
+
+
+ - +attack2
+ - +con_chat_maximize
+ - +crouch
+ - +fire
+ - +fire2
+ - +hook
+ - +hud_panel_radar_maximized
+ - +show_info
+ - +userbind
+ - +zoom
+ - -attack2
+ - -con_chat_maximize
+ - -crouch
+ - -fire
+ - -fire2
+ - -hook
+ - -hud_panel_radar_maximized
+ - -show_info
+ - -userbind
+ - -zoom
+ - addfav
+ - addtolist
+ - addvote
+ - adminmsg
+ - allready
+ - allspec
+ - anticheat
+ - asay_ctf_flagcarrier
+ - asay_ctf_haveflag
+ - asay_drop
+ - asay_killed
+ - asay_noammo
+ - asay_support
+ - asay_willgo
+ - autoswitch
+ - ban
+ - banlist
+ - bans
+ - bbox
+ - blurtest
+ - bot_cmd
+ - bsp
+ - checkfail
+ - chmap
+ - cl_hook_activeweapon
+ - cl_hook_gameend
+ - cl_hook_gamestart_all
+ - cl_hook_gamestart_arena
+ - cl_hook_gamestart_as
+ - cl_hook_gamestart_ca
+ - cl_hook_gamestart_ctf
+ - cl_hook_gamestart_cts
+ - cl_hook_gamestart_dm
+ - cl_hook_gamestart_dom
+ - cl_hook_gamestart_ft
+ - cl_hook_gamestart_ka
+ - cl_hook_gamestart_kh
+ - cl_hook_gamestart_lms
+ - cl_hook_gamestart_nb
+ - cl_hook_gamestart_nop
+ - cl_hook_gamestart_ons
+ - cl_hook_gamestart_rc
+ - cl_hook_gamestart_tdm
+ - clearmap
+ - clientversion
+ - cointoss
+ - create_scrshot_ent
+ - cvar_changes
+ - cvar_purechanges
+ - database
+ - debugmodel
+ - defer_clear
+ - defer_clear_all
+ - delrec
+ - devmap
+ - dropweapon
+ - dumpcommands
+ - dumpdb
+ - dumpnotifs
+ - effectindexdump
+ - endmatch
+ - extendmatchtime
+ - g_forced_team_matchsetup
+ - g_hitplots_add
+ - g_hitplots_remove
+ - g_maplist_add
+ - g_maplist_cleanup
+ - g_maplist_putfirst
+ - g_maplist_remove
+ - g_maplist_shufflenow
+ - g_tourney
+ - g_tourney_0
+ - g_tourney_1
+ - g_turrets_reload
+ - g_waypointeditor_relinkall
+ - g_waypointeditor_remove
+ - g_waypointeditor_saveall
+ - g_waypointeditor_spawn
+ - g_waypointeditor_unreachable
+ - g_waypointsprite_clear
+ - g_waypointsprite_clear_personal
+ - g_waypointsprite_personal
+ - g_waypointsprite_personal_d
+ - g_waypointsprite_personal_p
+ - g_waypointsprite_team_danger
+ - g_waypointsprite_team_danger_d
+ - g_waypointsprite_team_danger_p
+ - g_waypointsprite_team_helpme
+ - g_waypointsprite_team_here
+ - g_waypointsprite_team_here_d
+ - g_waypointsprite_team_here_p
+ - g_waypointsprite_toggle
+ - gametype
+ - gettaginfo
+ - gl_flashblend_update
+ - gotomap
+ - help
+ - hud
+ - hud_configure
+ - hud_panel_radar_maximized
+ - hud_panel_radar_rotate
+ - hud_save
+ - if_client
+ - if_dedicated
+ - info
+ - ladder
+ - loadconfig
+ - loaddb
+ - localprint
+ - lockteams
+ - lsmaps
+ - lsnewmaps
+ - make_mapinfo
+ - maplist
+ - menu_loadmap_prepare
+ - menu_showhudexit
+ - menu_showhudoptions
+ - menu_showquitdialog
+ - menu_showsandboxtools
+ - menu_showteamselect
+ - menu_sync
+ - moveplayer
+ - movetoauto
+ - movetoblue
+ - movetopink
+ - movetored
+ - movetoyellow
+ - mute
+ - nextframe
+ - nospectators
+ - playerdemo
+ - ply
+ - printmaplist
+ - printstats
+ - qc_cmd_cl
+ - qc_cmd_cmd
+ - qc_cmd_sv
+ - qc_cmd_svcl
+ - qc_cmd_svcmd
+ - qc_cmd_svmenu
+ - qc_curl
+ - radar
+ - radarmap
+ - rankings
+ - ready
+ - rec
+ - records
+ - reducematchtime
+ - reload
+ - removefromlist
+ - reportcvar
+ - restartnotifs
+ - rpn
+ - sandbox
+ - savedb
+ - scoreboard_columns_help
+ - scoreboard_columns_set
+ - search
+ - selectteam
+ - selfstuff
+ - sendcvar
+ - sentcvar
+ - setbots
+ - sethostname
+ - setreport
+ - settemp
+ - settemp_restore
+ - shuffleteams
+ - singleplayer_continue
+ - singleplayer_levellist
+ - singleplayer_start
+ - snd_attenuation_method_0
+ - snd_attenuation_method_1
+ - snd_attenuation_method_2
+ - spec
+ - spectate
+ - startmap_dm
+ - startmap_sp
+ - stuffto
+ - suggestmap
+ - sv_fbskin_green
+ - sv_fbskin_off
+ - sv_fbskin_orange
+ - sv_fbskin_rainbow
+ - sv_fbskin_red
+ - sv_fbskin_unique
+ - sv_hook_gameend
+ - sv_hook_gamerestart
+ - sv_hook_gamestart_all
+ - sv_hook_gamestart_arena
+ - sv_hook_gamestart_as
+ - sv_hook_gamestart_ca
+ - sv_hook_gamestart_ctf
+ - sv_hook_gamestart_cts
+ - sv_hook_gamestart_dm
+ - sv_hook_gamestart_dom
+ - sv_hook_gamestart_ft
+ - sv_hook_gamestart_ka
+ - sv_hook_gamestart_kh
+ - sv_hook_gamestart_lms
+ - sv_hook_gamestart_nb
+ - sv_hook_gamestart_ons
+ - sv_hook_gamestart_rc
+ - sv_hook_gamestart_tdm
+ - sv_loadconfig
+ - sv_restart
+ - tdem
+ - team_auto
+ - team_blue
+ - team_pink
+ - team_red
+ - team_yellow
+ - teamstatus
+ - time
+ - timein
+ - timeout
+ - togglezoom
+ - trace
+ - unban
+ - unlockteams
+ - unmute
+ - use
+ - vabstain
+ - vcall
+ - vdo
+ - vdoend
+ - vdokick
+ - vdokickban
+ - vdomap
+ - vdontcare
+ - vend
+ - vhelp
+ - vkick
+ - vkickban
+ - vlogin
+ - vmap
+ - vmaster
+ - vnextmap
+ - vno
+ - voice
+ - vote
+ - vstatus
+ - vstop
+ - vyes
+ - warp
+ - weapbest
+ - weaplast
+ - weapnext
+ - weapon_crylink
+ - weapon_electro
+ - weapon_fireball
+ - weapon_grenadelauncher
+ - weapon_group_0
+ - weapon_group_1
+ - weapon_group_2
+ - weapon_group_3
+ - weapon_group_4
+ - weapon_group_5
+ - weapon_group_6
+ - weapon_group_7
+ - weapon_group_8
+ - weapon_group_9
+ - weapon_hagar
+ - weapon_hlac
+ - weapon_hook
+ - weapon_laser
+ - weapon_minelayer
+ - weapon_minstanex
+ - weapon_nex
+ - weapon_porto
+ - weapon_rifle
+ - weapon_rocketlauncher
+ - weapon_seeker
+ - weapon_shotgun
+ - weapon_tuba
+ - weapon_uzi
+ - weapprev
+ - who
+ - _backup_con_chatvars
+ - _backup_con_chatvars_0
+ - _backup_con_chatvars_1
+ - _cl_hook_gamestart
+ - _cl_hook_gamestart_stage2
+ - _detect_dedicated_$qport
+ - _detect_dedicated_0
+ - _gl_flashblend_update_00
+ - _gl_flashblend_update_01
+ - _gl_flashblend_update_10
+ - _gl_flashblend_update_11
+ - _gunalign_01
+ - _gunalign_02
+ - _gunalign_03
+ - _gunalign_04
+ - _gunalign_11
+ - _gunalign_12
+ - _gunalign_13
+ - _gunalign_14
+ - _gunalign_update
+ - _if_dedicated
+ - _menu_loadmap_prepare_maxpl
+ - _restore_con_chatvars
+ - _restore_con_chatvars_0
+ - _restore_con_chatvars_1
+ - _sv_hook_gamestart
+ - _sv_hook_gamestart_stage2
+ - _update_configversion_0
+ - _update_configversion_1
+ - _update_configversion_2
+ - _update_configversion_3
+ - _update_configversion_4
+ - _update_configversion_5
+ - _update_configversion_6
+ - _update_configversion_7
+ - _userbind_call
+ - _weapnext_0
+ - _weapnext_1
+ - _weapnext_2
+ - _weapprev_0
+ - _weapprev_1
+ - _weapprev_2
+
+
+
+ - +attack
+ - +back
+ - +button10
+ - +button11
+ - +button12
+ - +button13
+ - +button14
+ - +button15
+ - +button16
+ - +button3
+ - +button4
+ - +button5
+ - +button6
+ - +button7
+ - +button8
+ - +button9
+ - +forward
+ - +jump
+ - +klook
+ - +left
+ - +lookdown
+ - +lookup
+ - +mlook
+ - +movedown
+ - +moveleft
+ - +moveright
+ - +moveup
+ - +right
+ - +showscores
+ - +speed
+ - +strafe
+ - +use
+ - -attack
+ - -back
+ - -button10
+ - -button11
+ - -button12
+ - -button13
+ - -button14
+ - -button15
+ - -button16
+ - -button3
+ - -button4
+ - -button5
+ - -button6
+ - -button7
+ - -button8
+ - -button9
+ - -forward
+ - -jump
+ - -klook
+ - -left
+ - -lookdown
+ - -lookup
+ - -mlook
+ - -movedown
+ - -moveleft
+ - -moveright
+ - -moveup
+ - -right
+ - -showscores
+ - -speed
+ - -strafe
+ - -use
+
+
+
+ - *
+ - [
+ - ]
+ - \
+ - /
+ - '
+ - =
+ - -
+ - +
+ - ,
+ - .
+ - `
+ - ~
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 0
+ - a
+ - b
+ - c
+ - d
+ - e
+ - f
+ - g
+ - h
+ - i
+ - j
+ - k
+ - l
+ - m
+ - n
+ - o
+ - p
+ - q
+ - r
+ - s
+ - t
+ - u
+ - v
+ - x
+ - w
+ - y
+ - z
+ - ALT
+ - AUX1
+ - AUX10
+ - AUX11
+ - AUX12
+ - AUX13
+ - AUX14
+ - AUX15
+ - AUX16
+ - AUX17
+ - AUX18
+ - AUX2
+ - AUX20
+ - AUX21
+ - AUX22
+ - AUX23
+ - AUX24
+ - AUX25
+ - AUX26
+ - AUX27
+ - AUX28
+ - AUX29
+ - AUX3
+ - AUX30
+ - AUX31
+ - AUX32
+ - AUX4
+ - AUX5
+ - AUX6
+ - AUX7
+ - AUX8
+ - AUX9
+ - BACKSPACE
+ - CTRL
+ - DEL
+ - DOWNARROW
+ - END
+ - ENTER
+ - ESCAPE
+ - F1
+ - F10
+ - F11
+ - F12
+ - F2
+ - F3
+ - F4
+ - F5
+ - F6
+ - F7
+ - F8
+ - F9
+ - HOME
+ - INS
+ - JOY1
+ - JOY2
+ - JOY3
+ - JOY4
+ - KP_SLASH
+ - KP_5
+ - KP_UPARROW
+ - KP_LEFTARROW
+ - KP_RIGHTARROW
+ - KP_DOWNARROW
+ - KP_HOME
+ - KP_END
+ - KP_PGUP
+ - KP_PGDN
+ - KP_INS
+ - KP_DEL
+ - LEFTARROW
+ - MOUSE1
+ - MOUSE2
+ - MOUSE3
+ - MWHEELDOWN
+ - MWHEELUP
+ - PAUSE
+ - PGDN
+ - PGUP
+ - RIGHTARROW
+ - SEMICOLON
+ - CAPSLOCK
+ - SHIFT
+ - SPACE
+ - TAB
+ - UPARROW
+
+
+
+ - ;
+ - $
+
+
+
+ - bind
+ - unbind
+
+
+
+ - set
+ - seta
+ - setu
+ - sets
+
+
+
+ - echo
+ - say_team
+ - say
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/xorg.xml b/data/syntax/xorg.xml
new file mode 100644
index 0000000..8ea8855
--- /dev/null
+++ b/data/syntax/xorg.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/xslt.xml b/data/syntax/xslt.xml
new file mode 100644
index 0000000..a731a59
--- /dev/null
+++ b/data/syntax/xslt.xml
@@ -0,0 +1,439 @@
+
+
+
+
+]>
+
+
+
+
+
+
+ - xsl:value-of
+ - xsl:output
+ - xsl:decimal-format
+ - xsl:apply-templates
+ - xsl:param
+ - xsl:transform
+ - xsl:namespace-alias
+ - xsl:comment
+ - xsl:element
+ - xsl:attribute
+ - xsl:apply-imports
+ - xsl:text
+ - xsl:when
+ - xsl:template
+ - xsl:processing-instruction
+ - xsl:include
+ - xsl:copy-of
+ - xsl:copy
+ - xsl:with-param
+ - xsl:stylesheet
+ - xsl:for-each
+ - xsl:choose
+ - xsl:sort
+ - xsl:otherwise
+ - xsl:key
+ - xsl:variable
+ - xsl:number
+ - xsl:message
+ - xsl:fallback
+ - xsl:strip-space
+ - xsl:import
+ - xsl:preserve-space
+ - xsl:if
+ - xsl:call-template
+ - xsl:attribute-set
+
+
+
+ - xsl:perform-sort
+ - xsl:import-schema
+ - xsl:for-each-group
+ - xsl:sequence
+ - xsl:non-matching-substring
+ - xsl:namespace
+ - xsl:next-match
+ - xsl:function
+ - xsl:analyze-string
+ - xsl:output-character
+ - xsl:matching-substring
+ - xsl:result-document
+ - xsl:character-map
+ - xsl:document
+
+
+
+ - format-number
+ - position
+ - lang
+ - substring-before
+ - substring
+ - normalize-space
+ - round
+ - translate
+ - starts-with
+ - concat
+ - local-name
+ - key
+ - count
+ - document
+ - system-property
+ - current
+ - boolean
+ - number
+ - contains
+ - name
+ - last
+ - unparsed-entity-uri
+ - sum
+ - generate-id
+ - function-available
+ - element-available
+ - false
+ - substring-after
+ - not
+ - string-length
+ - id
+ - floor
+ - ceiling
+ - namespace-uri
+ - true
+ - string
+ - text
+
+
+
+ - zero-or-one
+ - replace
+ - namespace-uri-for-prefix
+ - current-grouping-key
+ - seconds-from-duration
+ - resolve-uri
+ - node-kind
+ - minutes-from-dateTime
+ - implicit-timezone
+ - exactly-one
+ - current-time
+ - current-dateTime
+ - unordered
+ - subtract-dates-yielding-dayTimeDuration
+ - string-join
+ - static-base-uri
+ - months-from-duration
+ - input
+ - exists
+ - default-collation
+ - dateTime
+ - current-group
+ - current-date
+ - collection
+ - timezone-from-time
+ - matches
+ - local-name-from-QName
+ - day-from-date
+ - timezone-from-date
+ - round-half-to-even
+ - month-from-dateTime
+ - month-from-date
+ - hours-from-duration
+ - escape-uri
+ - distinct-values
+ - avg
+ - years-from-duration
+ - unparsed-text
+ - unparsed-entity-public-id
+ - subtract-dateTimes-yielding-dayTimeDuration
+ - subtract-dates-yielding-yearMonthDuration
+ - string-to-codepoints
+ - sequence-node-identical
+ - hours-from-time
+ - hours-from-dateTime
+ - format-time
+ - codepoints-to-string
+ - trace
+ - tokenize
+ - subtract-dateTimes-yielding-yearMonthDuration
+ - subsequence
+ - seconds-from-dateTime
+ - regex-group
+ - one-or-more
+ - node-name
+ - namespace-uri-from-QName
+ - min
+ - idref
+ - format-dateTime
+ - format-date
+ - days-from-duration
+ - compare
+ - base-uri
+ - seconds-from-time
+ - in-scope-prefixes
+ - expanded-QName
+ - adjust-date-to-timezone
+ - year-from-date
+ - resolve-QName
+ - remove
+ - QName
+ - minutes-from-time
+ - max
+ - lower-case
+ - index-of
+ - doc
+ - deep-equal
+ - data
+ - minutes-from-duration
+ - adjust-dateTime-to-timezone
+ - abs
+ - timezone-from-dateTime
+ - reverse
+ - error
+ - ends-with
+ - day-from-dateTime
+ - year-from-dateTime
+ - upper-case
+ - root
+ - normalize-unicode
+ - empty
+ - insert-before
+ - document-uri
+ - adjust-time-to-timezone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/xul.xml b/data/syntax/xul.xml
new file mode 100644
index 0000000..0b8362e
--- /dev/null
+++ b/data/syntax/xul.xml
@@ -0,0 +1,627 @@
+
+
+
+]>
+
+
+
+
+ - if
+ - else
+ - for
+ - in
+ - while
+ - do
+ - continue
+ - break
+ - with
+ - try
+ - catch
+ - finally
+ - switch
+ - case
+ - new
+ - var
+ - function
+ - return
+ - delete
+ - true
+ - false
+ - void
+ - throw
+ - typeof
+ - const
+ - default
+
+
+ - escape
+ - isFinite
+ - isNaN
+ - Number
+ - parseFloat
+ - parseInt
+ - reload
+ - taint
+ - unescape
+ - untaint
+ - write
+
+
+ - Anchor
+ - Applet
+ - Area
+ - Array
+ - Boolean
+ - Button
+ - Checkbox
+ - Date
+ - document
+ - window
+ - Image
+ - FileUpload
+ - Form
+ - Frame
+ - Function
+ - Hidden
+ - Link
+ - MimeType
+ - Math
+ - Max
+ - Min
+ - Layer
+ - navigator
+ - Object
+ - Password
+ - Plugin
+ - Radio
+ - RegExp
+ - Reset
+ - Screen
+ - Select
+ - String
+ - Text
+ - Textarea
+ - this
+ - Window
+
+
+ - abs
+ - acos
+ - asin
+ - atan
+ - atan2
+ - ceil
+ - cos
+ - ctg
+ - E
+ - exp
+ - floor
+ - LN2
+ - LN10
+ - log
+ - LOG2E
+ - LOG10E
+ - PI
+ - pow
+ - round
+ - sin
+ - sqrt
+ - SQRT1_2
+ - SQRT2
+ - tan
+
+
+ - onAbort
+ - onBlur
+ - onChange
+ - onClick
+ - onError
+ - onFocus
+ - onLoad
+ - onMouseOut
+ - onMouseOver
+ - onReset
+ - onSelect
+ - onSubmit
+ - onUnload
+
+
+ - above
+ - action
+ - alinkColor
+ - alert
+ - anchor
+ - anchors
+ - appCodeName
+ - applets
+ - apply
+ - appName
+ - appVersion
+ - argument
+ - arguments
+ - arity
+ - availHeight
+ - availWidth
+ - back
+ - background
+ - below
+ - bgColor
+ - border
+ - big
+ - blink
+ - blur
+ - bold
+ - border
+ - call
+ - caller
+ - charAt
+ - charCodeAt
+ - checked
+ - clearInterval
+ - clearTimeout
+ - click
+ - clip
+ - close
+ - closed
+ - colorDepth
+ - complete
+ - compile
+ - constructor
+ - confirm
+ - cookie
+ - current
+ - cursor
+ - data
+ - defaultChecked
+ - defaultSelected
+ - defaultStatus
+ - defaultValue
+ - description
+ - disableExternalCapture
+ - domain
+ - elements
+ - embeds
+ - enabledPlugin
+ - enableExternalCapture
+ - encoding
+ - eval
+ - exec
+ - fgColor
+ - filename
+ - find
+ - fixed
+ - focus
+ - fontcolor
+ - fontsize
+ - form
+ - forms
+ - formName
+ - forward
+ - frames
+ - fromCharCode
+ - getDate
+ - getDay
+ - getHours
+ - getMiliseconds
+ - getMinutes
+ - getMonth
+ - getSeconds
+ - getSelection
+ - getTime
+ - getTimezoneOffset
+ - getUTCDate
+ - getUTCDay
+ - getUTCFullYear
+ - getUTCHours
+ - getUTCMilliseconds
+ - getUTCMinutes
+ - getUTCMonth
+ - getUTCSeconds
+ - getYear
+ - global
+ - go
+ - hash
+ - height
+ - history
+ - home
+ - host
+ - hostname
+ - href
+ - hspace
+ - ignoreCase
+ - images
+ - index
+ - indexOf
+ - innerHeight
+ - innerWidth
+ - input
+ - italics
+ - javaEnabled
+ - join
+ - language
+ - lastIndex
+ - lastIndexOf
+ - lastModified
+ - lastParen
+ - layers
+ - layerX
+ - layerY
+ - left
+ - leftContext
+ - length
+ - link
+ - linkColor
+ - links
+ - location
+ - locationbar
+ - load
+ - lowsrc
+ - match
+ - MAX_VALUE
+ - menubar
+ - method
+ - mimeTypes
+ - MIN_VALUE
+ - modifiers
+ - moveAbove
+ - moveBelow
+ - moveBy
+ - moveTo
+ - moveToAbsolute
+ - multiline
+ - name
+ - NaN
+ - NEGATIVE_INFINITY
+ - negative_infinity
+ - next
+ - open
+ - opener
+ - options
+ - outerHeight
+ - outerWidth
+ - pageX
+ - pageY
+ - pageXoffset
+ - pageYoffset
+ - parent
+ - parse
+ - pathname
+ - personalbar
+ - pixelDepth
+ - platform
+ - plugins
+ - pop
+ - port
+ - POSITIVE_INFINITY
+ - positive_infinity
+ - preference
+ - previous
+ - print
+ - prompt
+ - protocol
+ - prototype
+ - push
+ - referrer
+ - refresh
+ - releaseEvents
+ - reload
+ - replace
+ - reset
+ - resizeBy
+ - resizeTo
+ - reverse
+ - rightContext
+ - screenX
+ - screenY
+ - scroll
+ - scrollbar
+ - scrollBy
+ - scrollTo
+ - search
+ - select
+ - selected
+ - selectedIndex
+ - self
+ - setDate
+ - setHours
+ - setMinutes
+ - setMonth
+ - setSeconds
+ - setTime
+ - setTimeout
+ - setUTCDate
+ - setUTCDay
+ - setUTCFullYear
+ - setUTCHours
+ - setUTCMilliseconds
+ - setUTCMinutes
+ - setUTCMonth
+ - setUTCSeconds
+ - setYear
+ - shift
+ - siblingAbove
+ - siblingBelow
+ - small
+ - sort
+ - source
+ - splice
+ - split
+ - src
+ - status
+ - statusbar
+ - strike
+ - sub
+ - submit
+ - substr
+ - substring
+ - suffixes
+ - sup
+ - taintEnabled
+ - target
+ - test
+ - text
+ - title
+ - toGMTString
+ - toLocaleString
+ - toLowerCase
+ - toolbar
+ - toSource
+ - toString
+ - top
+ - toUpperCase
+ - toUTCString
+ - type
+ - URL
+ - unshift
+ - unwatch
+ - userAgent
+ - UTC
+ - value
+ - valueOf
+ - visibility
+ - vlinkColor
+ - vspace
+ - width
+ - watch
+ - which
+ - width
+ - write
+ - writeln
+ - x
+ - y
+ - zIndex
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/yacas.xml b/data/syntax/yacas.xml
new file mode 100644
index 0000000..3e1159f
--- /dev/null
+++ b/data/syntax/yacas.xml
@@ -0,0 +1,237 @@
+
+
+
+
+
+ - And
+ - ApplyPure
+ - ArrayCreate
+ - ArrayGet
+ - ArraySet
+ - ArraySize
+ - Atom
+ - Berlekamp
+ - BitAnd
+ - BitOr
+ - BitXor
+ - Bodied
+ - CTokenizer
+ - Check
+ - Clear
+ - CommonLispTokenizer
+ - Concat
+ - ConcatStrings
+ - CurrentFile
+ - CurrentLine
+ - CustomEval
+ - CustomEval'Expression
+ - CustomEval'Locals
+ - CustomEval'Result
+ - CustomEval'Stop
+ - DefLoad
+ - DefLoadFunction
+ - DefMacroRuleBase
+ - DefMacroRuleBaseListed
+ - DefaultDirectory
+ - DefaultTokenizer
+ - Delete
+ - DestructiveDelete
+ - DestructiveInsert
+ - DestructiveReplace
+ - DestructiveReverse
+ - DllEnumerate
+ - DllLoad
+ - DllUnload
+ - Equals
+ - Eval
+ - FastArcCos
+ - FastArcSin
+ - FastArcTan
+ - FastAssoc
+ - FastCos
+ - FastExp
+ - FastIsPrime
+ - FastLog
+ - FastPower
+ - FastSin
+ - FastTan
+ - FindFile
+ - FindFunction
+ - FlatCopy
+ - FromBase
+ - FromFile
+ - FromString
+ - FullForm
+ - GarbageCollect
+ - GenericTypeName
+ - GetExtraInfo
+ - GetPrecision
+ - GreaterThan
+ - Head
+ - Hold
+ - HoldArg
+ - If
+ - Infix
+ - Insert
+ - IsAtom
+ - IsBodied
+ - IsBound
+ - IsFunction
+ - IsGeneric
+ - IsInfix
+ - IsInteger
+ - IsList
+ - IsNumber
+ - IsPostfix
+ - IsPrefix
+ - IsString
+ - LazyGlobal
+ - LeftPrecedence
+ - Length
+ - LessThan
+ - LispRead
+ - LispReadListed
+ - List
+ - Listify
+ - Load
+ - Local
+ - LocalSymbols
+ - MacroClear
+ - MacroLocal
+ - MacroRule
+ - MacroRuleBase
+ - MacroRuleBaseListed
+ - MacroRulePattern
+ - MacroSet
+ - MathAbs
+ - MathAdd
+ - MathAnd
+ - MathArcCos
+ - MathArcSin
+ - MathArcTan
+ - MathCeil
+ - MathCos
+ - MathDiv
+ - MathDivide
+ - MathExp
+ - MathFac
+ - MathFloor
+ - MathGcd
+ - MathGetExactBits
+ - MathLibrary
+ - MathLog
+ - MathMod
+ - MathMultiply
+ - MathNot
+ - MathNth
+ - MathOr
+ - MathPi
+ - MathPower
+ - MathSetExactBits
+ - MathSin
+ - MathSqrt
+ - MathSubtract
+ - MathTan
+ - MaxEvalDepth
+ - Not
+ - OpLeftPrecedence
+ - OpPrecedence
+ - OpRightPrecedence
+ - Or
+ - PatchLoad
+ - PatchString
+ - PatternCreate
+ - PatternMatches
+ - Postfix
+ - Precision
+ - Prefix
+ - PrettyPrinter
+ - Prog
+ - Read
+ - ReadToken
+ - Replace
+ - Retract
+ - RightAssociative
+ - RightPrecedence
+ - Rule
+ - RuleBase
+ - RuleBaseArgList
+ - RuleBaseDefined
+ - RuleBaseListed
+ - RulePattern
+ - Secure
+ - Set
+ - SetExtraInfo
+ - SetStringMid
+ - ShiftLeft
+ - ShiftRight
+ - String
+ - StringMid
+ - Subst
+ - SystemCall
+ - Tail
+ - ToBase
+ - ToFile
+ - ToString
+ - TraceRule
+ - TraceStack
+ - Type
+ - UnFence
+ - UnList
+ - Use
+ - Version
+ - While
+ - Write
+ - WriteString
+ - XmlExplodeTag
+ - XmlTokenizer
+ - `
+ - =
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/yacc.xml b/data/syntax/yacc.xml
new file mode 100644
index 0000000..c8b3153
--- /dev/null
+++ b/data/syntax/yacc.xml
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/yaml.xml b/data/syntax/yaml.xml
new file mode 100644
index 0000000..628453a
--- /dev/null
+++ b/data/syntax/yaml.xml
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/zonnon.xml b/data/syntax/zonnon.xml
new file mode 100644
index 0000000..cf3a412
--- /dev/null
+++ b/data/syntax/zonnon.xml
@@ -0,0 +1,144 @@
+
+
+
+
+
+ - accept
+ - activity
+ - array
+ - as
+ - await
+ - begin
+ - by
+ - case
+ - const
+ - definition
+ - div
+ - do
+ - else
+ - elsif
+ - end
+ - exception
+ - exit
+ - for
+ - if
+ - implementation
+ - implements
+ - import
+ - in
+ - is
+ - loop
+ - mod
+ - module
+ - new
+ - nil
+ - object
+ - of
+ - on
+ - operator
+ - or
+ - procedure
+ - protocol
+ - record
+ - refines
+ - repeat
+ - return
+ - self
+ - termination
+ - then
+ - to
+ - type
+ - until
+ - var
+ - while
+
+
+ - barrier
+ - immutable
+ - locked
+ - private
+ - protected
+ - public
+ - ref
+ - sealed
+ - shared
+ - value
+
+
+ - abs
+ - assert
+ - cap
+ - copy
+ - copyvalue
+ - dec
+ - excl
+ - false
+ - halt
+ - inc
+ - len
+ - low
+ - max
+ - min
+ - odd
+ - pred
+ - read
+ - readln
+ - reason
+ - size
+ - succ
+ - true
+ - write
+ - writeln
+
+
+ - boolean
+ - cardinal
+ - char
+ - fixed
+ - integer
+ - real
+ - set
+ - string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/syntax/zsh.xml b/data/syntax/zsh.xml
new file mode 100644
index 0000000..42ba624
--- /dev/null
+++ b/data/syntax/zsh.xml
@@ -0,0 +1,959 @@
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+ - else
+ - for
+ - function
+ - in
+ - select
+ - until
+ - while
+ - elif
+ - then
+ - set
+
+
+
+ - -
+ - .
+ - :
+ - alias
+ - autoload
+ - bg
+ - bindkey
+ - break
+ - builtin
+ - bye
+ - cap
+ - cd
+ - chdir
+ - clone
+ - command
+ - comparguments
+ - compcall
+ - compctl
+ - compdescribe
+ - compfiles
+ - compgroups
+ - compquote
+ - comptags
+ - comptry
+ - compvalues
+ - continue
+ - dirs
+ - disable
+ - disown
+ - echo
+ - echotc
+ - echoti
+ - emulate
+ - enable
+ - eval
+ - exec
+ - exit
+ - false
+ - fc
+ - fg
+ - functions
+ - getcap
+ - getopts
+ - hash
+ - history
+ - jobs
+ - kill
+ - let
+ - limit
+ - log
+ - logout
+ - noglob
+ - popd
+ - print
+ - printf
+ - pushd
+ - pushln
+ - pwd
+ - r
+ - rehash
+ - return
+ - sched
+ - set
+ - setcap
+ - setopt
+ - shift
+ - source
+ - stat
+ - suspend
+ - test
+ - times
+ - trap
+ - true
+ - ttyctl
+ - type
+ - ulimit
+ - umask
+ - unalias
+ - unfunction
+ - unhash
+ - unlimit
+ - unset
+ - unsetopt
+ - vared
+ - wait
+ - whence
+ - where
+ - which
+ - zcompile
+ - zformat
+ - zftp
+ - zle
+ - zmodload
+ - zparseopts
+ - zprof
+ - zpty
+ - zregexparse
+ - zsocket
+ - zstyle
+ - ztcp
+
+
+
+ - declare
+ - export
+ - float
+ - getln
+ - integer
+ - unset
+ - declare
+ - typeset
+ - local
+ - read
+ - readonly
+
+
+
+
+ - arch
+ - awk
+ - bash
+ - bunzip2
+ - bzcat
+ - bzcmp
+ - bzdiff
+ - bzegrep
+ - bzfgrep
+ - bzgrep
+ - bzip2
+ - bzip2recover
+ - bzless
+ - bzmore
+ - cat
+ - chattr
+ - chgrp
+ - chmod
+ - chown
+ - chvt
+ - cp
+ - date
+ - dd
+ - deallocvt
+ - df
+ - dir
+ - dircolors
+ - dmesg
+ - dnsdomainname
+ - domainname
+ - du
+ - dumpkeys
+ - echo
+ - ed
+ - egrep
+ - false
+ - fgconsole
+ - fgrep
+ - fuser
+ - gawk
+ - getkeycodes
+ - gocr
+ - grep
+ - groff
+ - groups
+ - gunzip
+ - gzexe
+ - gzip
+ - hostname
+ - igawk
+ - install
+ - kbd_mode
+ - kbdrate
+ - killall
+ - last
+ - lastb
+ - link
+ - ln
+ - loadkeys
+ - loadunimap
+ - login
+ - ls
+ - lsattr
+ - lsmod
+ - lsmod.old
+ - lzcat
+ - lzcmp
+ - lzdiff
+ - lzegrep
+ - lzfgrep
+ - lzgrep
+ - lzless
+ - lzcat
+ - lzma
+ - lzmainfo
+ - lzmore
+ - mapscrn
+ - mesg
+ - mkdir
+ - mkfifo
+ - mknod
+ - mktemp
+ - more
+ - mount
+ - mv
+ - nano
+ - netstat
+ - nisdomainname
+ - nroff
+ - openvt
+ - pgawk
+ - pidof
+ - ping
+ - ps
+ - pstree
+ - pwd
+ - rbash
+ - readlink
+ - red
+ - resizecons
+ - rm
+ - rmdir
+ - run-parts
+ - sash
+ - sed
+ - setfont
+ - setkeycodes
+ - setleds
+ - setmetamode
+ - setserial
+ - sh
+ - showkey
+ - shred
+ - sleep
+ - ssed
+ - stat
+ - stty
+ - su
+ - sync
+ - tar
+ - tempfile
+ - touch
+ - troff
+ - true
+ - umount
+ - uname
+ - unicode_start
+ - unicode_stop
+ - unlink
+ - unlzma
+ - unxz
+ - utmpdump
+ - uuidgen
+ - vdir
+ - wall
+ - wc
+ - xz
+ - xzcat
+ - ypdomainname
+ - zcat
+ - zcmp
+ - zdiff
+ - zegrep
+ - zfgrep
+ - zforce
+ - zgrep
+ - zless
+ - zmore
+ - znew
+ - zsh
+
+
+ - aclocal
+ - aconnect
+ - aplay
+ - apm
+ - apmsleep
+ - apropos
+ - ar
+ - arecord
+ - as
+ - as86
+ - autoconf
+ - autoheader
+ - automake
+ - awk
+ - basename
+ - bc
+ - bison
+ - c++
+ - cal
+ - cat
+ - cc
+ - cdda2wav
+ - cdparanoia
+ - cdrdao
+ - cd-read
+ - cdrecord
+ - chfn
+ - chgrp
+ - chmod
+ - chown
+ - chroot
+ - chsh
+ - clear
+ - cmp
+ - co
+ - col
+ - comm
+ - cp
+ - cpio
+ - cpp
+ - cut
+ - dc
+ - dd
+ - df
+ - diff
+ - diff3
+ - dir
+ - dircolors
+ - directomatic
+ - dirname
+ - du
+ - env
+ - expr
+ - fbset
+ - file
+ - find
+ - flex
+ - flex++
+ - fmt
+ - free
+ - ftp
+ - funzip
+ - fuser
+ - g++
+ - gawk
+ - gc
+ - gcc
+ - gdb
+ - getent
+ - getopt
+ - gettext
+ - gettextize
+ - gimp
+ - gimp-remote
+ - gimptool
+ - gmake
+ - gs
+ - head
+ - hexdump
+ - id
+ - install
+ - join
+ - kill
+ - killall
+ - ld
+ - ld86
+ - ldd
+ - less
+ - lex
+ - ln
+ - locate
+ - lockfile
+ - logname
+ - lp
+ - lpr
+ - ls
+ - lynx
+ - m4
+ - make
+ - man
+ - mkdir
+ - mknod
+ - msgfmt
+ - mv
+ - namei
+ - nasm
+ - nawk
+ - nice
+ - nl
+ - nm
+ - nm86
+ - nmap
+ - nohup
+ - nop
+ - od
+ - passwd
+ - patch
+ - pcregrep
+ - pcretest
+ - perl
+ - perror
+ - pidof
+ - pr
+ - printf
+ - procmail
+ - prune
+ - ps2ascii
+ - ps2epsi
+ - ps2frag
+ - ps2pdf
+ - ps2ps
+ - psbook
+ - psmerge
+ - psnup
+ - psresize
+ - psselect
+ - pstops
+ - rcs
+ - rev
+ - rm
+ - scp
+ - sed
+ - seq
+ - setterm
+ - shred
+ - size
+ - size86
+ - skill
+ - slogin
+ - snice
+ - sort
+ - sox
+ - split
+ - ssh
+ - ssh-add
+ - ssh-agent
+ - ssh-keygen
+ - ssh-keyscan
+ - stat
+ - strings
+ - strip
+ - sudo
+ - suidperl
+ - sum
+ - tac
+ - tail
+ - tee
+ - test
+ - tr
+ - uniq
+ - unlink
+ - unzip
+ - updatedb
+ - updmap
+ - uptime
+ - users
+ - vmstat
+ - w
+ - wc
+ - wget
+ - whatis
+ - whereis
+ - which
+ - who
+ - whoami
+ - write
+ - xargs
+ - yacc
+ - yes
+ - zip
+ - zsoelim
+
+
+ - dcop
+ - kdialog
+ - kfile
+ - xhost
+ - xmodmap
+ - xset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/themes/breeze-dark.theme b/data/themes/breeze-dark.theme
new file mode 100644
index 0000000..ed6fd4f
--- /dev/null
+++ b/data/themes/breeze-dark.theme
@@ -0,0 +1,177 @@
+{
+ "metadata" : {
+ "revision" : 1,
+ "name" : "Breeze Dark",
+ "author" : "Dominik Haumann",
+ "license" : "MIT",
+ "read-only" : true
+ },
+ "text-styles": {
+ "Normal" : {
+ "text-color" : "#cfcfc2",
+ "selected-text-color" : "#cfcfc2",
+ "bold" : false,
+ "italic" : false,
+ "underline" : false,
+ "strike-through" : false
+ },
+ "Keyword" : {
+ "text-color" : "#cfcfc2",
+ "selected-text-color" : "#cfcfc2",
+ "bold" : true
+ },
+ "Function" : {
+ "text-color" : "#8e44ad",
+ "selected-text-color" : "#af81ff"
+ },
+ "Variable" : {
+ "text-color" : "#27aeae",
+ "selected-text-color" : "#27aeae"
+ },
+ "ControlFlow" : {
+ "text-color" : "#fdbc4b",
+ "selected-text-color" : "#fdbc4b",
+ "bold" : true
+ },
+ "Operator" : {
+ "text-color" : "#cfcfc2",
+ "selected-text-color" : "#cfcfc2"
+ },
+ "BuiltIn" : {
+ "text-color" : "#7f8c8d",
+ "selected-text-color" : "#bdc3c7"
+ },
+ "Extension" : {
+ "text-color" : "#0099ff",
+ "selected-text-color" : "#bdc3c7",
+ "bold" : true
+ },
+ "Preprocessor" : {
+ "text-color" : "#27ae60",
+ "selected-text-color" : "#27ae60"
+ },
+ "Attribute" : {
+ "text-color" : "#2980b9",
+ "selected-text-color" : "#fdbc4b"
+ },
+ "Char" : {
+ "text-color" : "#3daee9",
+ "selected-text-color" : "#3daee9"
+ },
+ "SpecialChar" : {
+ "text-color" : "#3daee9",
+ "selected-text-color" : "#3daee9"
+ },
+ "String" : {
+ "text-color" : "#f44f4f",
+ "selected-text-color" : "#f44f4f"
+ },
+ "VerbatimString" : {
+ "text-color" : "#da4453",
+ "selected-text-color" : "#da4453"
+ },
+ "SpecialString" : {
+ "text-color" : "#da4453",
+ "selected-text-color" : "#da4453"
+ },
+ "Import" : {
+ "text-color" : "#27ae60",
+ "selected-text-color" : "#27ae60"
+ },
+ "DataType" : {
+ "text-color" : "#2980b9",
+ "selected-text-color" : "#fdbc4b"
+ },
+ "DecVal" : {
+ "text-color" : "#f67400",
+ "selected-text-color" : "#f67400"
+ },
+ "BaseN" : {
+ "text-color" : "#f67400",
+ "selected-text-color" : "#f67400"
+ },
+ "Float" : {
+ "text-color" : "#f67400",
+ "selected-text-color" : "#f67400"
+ },
+ "Constant" : {
+ "text-color" : "#27aeae",
+ "selected-text-color" : "#27aeae",
+ "bold" : true
+ },
+ "Comment" : {
+ "text-color" : "#7a7c7d",
+ "selected-text-color" : "#808080"
+ },
+ "Documentation" : {
+ "text-color" : "#a43340",
+ "selected-text-color" : "#da4453"
+ },
+ "Annotation" : {
+ "text-color" : "#3f8058",
+ "selected-text-color" : "#54aa75"
+ },
+ "CommentVar" : {
+ "text-color" : "#7f8c8d",
+ "selected-text-color" : "#94a3a4"
+ },
+ "RegionMarker" : {
+ "text-color" : "#2980b9",
+ "selected-text-color" : "#3daee9",
+ "background-color" : "#153042"
+ },
+ "Information" : {
+ "text-color" : "#c45b00",
+ "selected-text-color" : "#e46700"
+ },
+ "Warning" : {
+ "text-color" : "#da4453",
+ "selected-text-color" : "#da4453"
+ },
+ "Alert" : {
+ "text-color" : "#95da4c",
+ "selected-text-color" : "#95da4c",
+ "background-color" : "#4d1f24",
+ "bold" : true
+ },
+ "Error" : {
+ "text-color" : "#da4453",
+ "selected-text-color" : "#da4453",
+ "underline" : true
+ },
+ "Others" : {
+ "text-color" : "#27ae60",
+ "selected-text-color" : "#27ae60"
+ }
+ },
+ "editor-colors": {
+ "background-color" : "#232629",
+ "code-folding" : "#224e65",
+ "bracket-matching" : "#8e44ad",
+ "current-line" : "#2A2E32",
+ "icon-border" : "#31363b",
+ "indentation-line" : "#3a3f44",
+ "line-numbers" : "#7a7c7d",
+ "current-line-number" : "#a5a6a8",
+ "mark-bookmark" : "#0404bf",
+ "mark-breakpoint-active" : "#8b0607",
+ "mark-breakpoint-reached" : "#6d6e07",
+ "mark-breakpoint-disabled" : "#820683",
+ "mark-execution" : "#4d4e50",
+ "mark-warning" : "#f67400",
+ "mark-error" : "#da4453",
+ "modified-lines" : "#c04900",
+ "replace-highlight" : "#808021",
+ "saved-lines" : "#1c8042",
+ "search-highlight" : "#218058",
+ "selection" : "#2d5c76",
+ "separator" : "#7a7c7d",
+ "spell-checking" : "#c0392b",
+ "tab-marker" : "#4d4d4d",
+ "template-background" : "#31363b",
+ "template-placeholder" : "#123723",
+ "template-focused-placeholder" : "#123723",
+ "template-read-only-placeholder" : "#4d1f24",
+ "word-wrap-marker" : "#3a3f44"
+ }
+}
diff --git a/data/themes/default.theme b/data/themes/default.theme
new file mode 100644
index 0000000..cf1bf53
--- /dev/null
+++ b/data/themes/default.theme
@@ -0,0 +1,177 @@
+{
+ "metadata" : {
+ "revision" : 1,
+ "name" : "Default",
+ "author" : "Kate Authors",
+ "license" : "MIT",
+ "read-only" : true
+ },
+ "text-styles": {
+ "Normal" : {
+ "text-color" : "#1f1c1b",
+ "selected-text-color" : "#ffffff",
+ "bold" : false,
+ "italic" : false,
+ "underline" : false,
+ "strike-through" : false
+ },
+ "Keyword" : {
+ "text-color" : "#1f1c1b",
+ "selected-text-color" : "#ffffff",
+ "bold" : true
+ },
+ "Function" : {
+ "text-color" : "#644a9b",
+ "selected-text-color" : "#452886"
+ },
+ "Variable" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e"
+ },
+ "ControlFlow" : {
+ "text-color" : "#1f1c1b",
+ "selected-text-color" : "#ffffff",
+ "bold" : true
+ },
+ "Operator" : {
+ "text-color" : "#1f1c1b",
+ "selected-text-color" : "#ffffff"
+ },
+ "BuiltIn" : {
+ "text-color" : "#644a9b",
+ "selected-text-color" : "#452886",
+ "bold" : true
+ },
+ "Extension" : {
+ "text-color" : "#0095ff",
+ "selected-text-color" : "#ffffff",
+ "bold" : true
+ },
+ "Preprocessor" : {
+ "text-color" : "#006e28",
+ "selected-text-color" : "#006e28"
+ },
+ "Attribute" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e"
+ },
+ "Char" : {
+ "text-color" : "#924c9d",
+ "selected-text-color" : "#6c2477"
+ },
+ "SpecialChar" : {
+ "text-color" : "#3daee9",
+ "selected-text-color" : "#fcfcfc"
+ },
+ "String" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e"
+ },
+ "VerbatimString" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e"
+ },
+ "SpecialString" : {
+ "text-color" : "#ff5500",
+ "selected-text-color" : "#ff5500"
+ },
+ "Import" : {
+ "text-color" : "#ff5500",
+ "selected-text-color" : "#ff5500"
+ },
+ "DataType" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e"
+ },
+ "DecVal" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "BaseN" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "Float" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "Constant" : {
+ "text-color" : "#aa5500",
+ "selected-text-color" : "#5e2f00"
+ },
+ "Comment" : {
+ "text-color" : "#898887",
+ "selected-text-color" : "#5e5d5d"
+ },
+ "Documentation" : {
+ "text-color" : "#607880",
+ "selected-text-color" : "#46585e"
+ },
+ "Annotation" : {
+ "text-color" : "#ca60ca",
+ "selected-text-color" : "#a44ea4"
+ },
+ "CommentVar" : {
+ "text-color" : "#0095ff",
+ "selected-text-color" : "#ffffff"
+ },
+ "RegionMarker" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e",
+ "background-color" : "#e0e9f8"
+ },
+ "Information" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "Warning" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e"
+ },
+ "Alert" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e",
+ "background-color" : "#f7e6e6",
+ "bold" : true
+ },
+ "Error" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e",
+ "underline" : true
+ },
+ "Others" : {
+ "text-color" : "#006e28",
+ "selected-text-color" : "#006e28"
+ }
+ },
+ "editor-colors": {
+ "background-color" : "#ffffff",
+ "code-folding" : "#94caef",
+ "bracket-matching" : "#ffff00",
+ "current-line" : "#f8f7f6",
+ "icon-border" : "#f0f0f0",
+ "indentation-line" : "#d2d2d2",
+ "line-numbers" : "#a0a0a0",
+ "current-line-number" : "#1e1e1e",
+ "mark-bookmark" : "#0000ff",
+ "mark-breakpoint-active" : "#ff0000",
+ "mark-breakpoint-reached" : "#ffff00",
+ "mark-breakpoint-disabled" : "#ff00ff",
+ "mark-execution" : "#a0a0a4",
+ "mark-warning" : "#00ff00",
+ "mark-error" : "#ff0000",
+ "modified-lines" : "#fdbc4b",
+ "replace-highlight" : "#00ff00",
+ "saved-lines" : "#2ecc71",
+ "search-highlight" : "#ffff00",
+ "selection" : "#94caef",
+ "separator" : "#898887",
+ "spell-checking" : "#bf0303",
+ "tab-marker" : "#d2d2d2",
+ "template-background" : "#d6d2d0",
+ "template-placeholder" : "#baf8ce",
+ "template-focused-placeholder" : "#76da98",
+ "template-read-only-placeholder" : "#f6e6e6",
+ "word-wrap-marker" : "#ededed"
+ }
+}
diff --git a/data/themes/printing.theme b/data/themes/printing.theme
new file mode 100644
index 0000000..b2e88f9
--- /dev/null
+++ b/data/themes/printing.theme
@@ -0,0 +1,176 @@
+{
+ "metadata" : {
+ "revision" : 1,
+ "name" : "Printing",
+ "author" : "Kate Authors",
+ "license" : "MIT",
+ "read-only" : true
+ },
+ "text-styles": {
+ "Normal" : {
+ "text-color" : "#000000",
+ "selected-text-color" : "#ffffff",
+ "bold" : false,
+ "italic" : false,
+ "underline" : false,
+ "strike-through" : false
+ },
+ "Keyword" : {
+ "text-color" : "#000000",
+ "selected-text-color" : "#ffffff",
+ "bold" : true
+ },
+ "Function" : {
+ "text-color" : "#644a9b",
+ "selected-text-color" : "#452886"
+ },
+ "Variable" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e"
+ },
+ "ControlFlow" : {
+ "text-color" : "#000000",
+ "selected-text-color" : "#ffffff",
+ "bold" : true
+ },
+ "Operator" : {
+ "text-color" : "#000000",
+ "selected-text-color" : "#ffffff"
+ },
+ "BuiltIn" : {
+ "text-color" : "#644a9b",
+ "selected-text-color" : "#452886"
+ },
+ "Extension" : {
+ "text-color" : "#0095ff",
+ "selected-text-color" : "#ffffff",
+ "bold" : true
+ },
+ "Preprocessor" : {
+ "text-color" : "#006e28",
+ "selected-text-color" : "#006e28"
+ },
+ "Attribute" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e"
+ },
+ "Char" : {
+ "text-color" : "#924c9d",
+ "selected-text-color" : "#6c2477"
+ },
+ "SpecialChar" : {
+ "text-color" : "#ff5500",
+ "selected-text-color" : "#ff5500"
+ },
+ "String" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e"
+ },
+ "VerbatimString" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e"
+ },
+ "SpecialString" : {
+ "text-color" : "#ff5500",
+ "selected-text-color" : "#ff5500"
+ },
+ "Import" : {
+ "text-color" : "#644a9b",
+ "selected-text-color" : "#452886"
+ },
+ "DataType" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e"
+ },
+ "DecVal" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "BaseN" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "Float" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "Constant" : {
+ "text-color" : "#aa5500",
+ "selected-text-color" : "#5e2f00"
+ },
+ "Comment" : {
+ "text-color" : "#898887",
+ "selected-text-color" : "#5e5d5d"
+ },
+ "Documentation" : {
+ "text-color" : "#607880",
+ "selected-text-color" : "#46585e"
+ },
+ "Annotation" : {
+ "text-color" : "#ca60ca",
+ "selected-text-color" : "#a44ea4"
+ },
+ "CommentVar" : {
+ "text-color" : "#0095ff",
+ "selected-text-color" : "#ffffff"
+ },
+ "RegionMarker" : {
+ "text-color" : "#0057ae",
+ "selected-text-color" : "#00316e",
+ "background-color" : "#e0e9f8"
+ },
+ "Information" : {
+ "text-color" : "#b08000",
+ "selected-text-color" : "#805c00"
+ },
+ "Warning" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e"
+ },
+ "Alert" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e",
+ "background-color" : "#f7e6e6",
+ "bold" : true
+ },
+ "Error" : {
+ "text-color" : "#bf0303",
+ "selected-text-color" : "#9c0e0e",
+ "underline" : true
+ },
+ "Others" : {
+ "text-color" : "#006e28",
+ "selected-text-color" : "#006e28"
+ }
+ },
+ "editor-colors": {
+ "background-color" : "#ffffff",
+ "code-folding" : "#94caef",
+ "bracket-matching" : "#edf9ff",
+ "current-line" : "#f8f7f6",
+ "icon-border" : "#d6d2d0",
+ "indentation-line" : "#d2d2d2",
+ "line-numbers" : "#221f1e",
+ "current-line-number" : "#221f1e",
+ "mark-bookmark" : "#0000ff",
+ "mark-breakpoint-active" : "#ff0000",
+ "mark-breakpoint-reached" : "#ffff00",
+ "mark-breakpoint-disabled" : "#ff00ff",
+ "mark-execution" : "#a0a0a4",
+ "mark-warning" : "#00ff00",
+ "mark-error" : "#ff0000",
+ "modified-lines" : "#f6e6e6",
+ "replace-highlight" : "#00ff00",
+ "saved-lines" : "#baf8ce",
+ "search-highlight" : "#ffff00",
+ "selection" : "#94caef",
+ "separator" : "#898887",
+ "spell-checking" : "#bf0303",
+ "tab-marker" : "#d2d2d2",
+ "template-background" : "#d6d2d0",
+ "template-placeholder" : "#baf8ce",
+ "template-focused-placeholder" : "#76da98",
+ "template-read-only-placeholder" : "#f6e6e6",
+ "word-wrap-marker" : "#ededed"
+ }
+}
diff --git a/data/themes/theme-data.qrc b/data/themes/theme-data.qrc
new file mode 100644
index 0000000..7b8ffda
--- /dev/null
+++ b/data/themes/theme-data.qrc
@@ -0,0 +1,8 @@
+
+
+
+ default.theme
+ breeze-dark.theme
+ printing.theme
+
+
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 0000000..652b72c
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,4 @@
+if(Qt5Widgets_FOUND)
+ add_executable(codeeditor codeeditor.cpp main.cpp)
+ target_link_libraries(codeeditor Qt5::Widgets KF5SyntaxHighlighting)
+endif()
diff --git a/examples/codeeditor.cpp b/examples/codeeditor.cpp
new file mode 100644
index 0000000..635ed72
--- /dev/null
+++ b/examples/codeeditor.cpp
@@ -0,0 +1,356 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "codeeditor.h"
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+class CodeEditorSidebar : public QWidget
+{
+ Q_OBJECT
+public:
+ explicit CodeEditorSidebar(CodeEditor *editor);
+ QSize sizeHint() const Q_DECL_OVERRIDE;
+
+protected:
+ void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
+ void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
+
+private:
+ CodeEditor *m_codeEditor;
+};
+
+CodeEditorSidebar::CodeEditorSidebar(CodeEditor *editor) :
+ QWidget(editor),
+ m_codeEditor(editor)
+{
+}
+
+QSize CodeEditorSidebar::sizeHint() const
+{
+ return QSize(m_codeEditor->sidebarWidth(), 0);
+}
+
+void CodeEditorSidebar::paintEvent(QPaintEvent *event)
+{
+ m_codeEditor->sidebarPaintEvent(event);
+}
+
+void CodeEditorSidebar::mouseReleaseEvent(QMouseEvent *event)
+{
+ if (event->x() >= width() - m_codeEditor->fontMetrics().lineSpacing()) {
+ auto block = m_codeEditor->blockAtPosition(event->y());
+ if (!block.isValid() || !m_codeEditor->isFoldable(block))
+ return;
+ m_codeEditor->toggleFold(block);
+ }
+ QWidget::mouseReleaseEvent(event);
+}
+
+
+CodeEditor::CodeEditor(QWidget *parent) :
+ QPlainTextEdit(parent),
+ m_highlighter(new KSyntaxHighlighting::SyntaxHighlighter(document())),
+ m_sideBar(new CodeEditorSidebar(this))
+{
+ setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
+
+ setTheme((palette().color(QPalette::Base).lightness() < 128)
+ ? m_repository.defaultTheme(KSyntaxHighlighting::Repository::DarkTheme)
+ : m_repository.defaultTheme(KSyntaxHighlighting::Repository::LightTheme));
+
+ connect(this, &QPlainTextEdit::blockCountChanged, this, &CodeEditor::updateSidebarGeometry);
+ connect(this, &QPlainTextEdit::updateRequest, this, &CodeEditor::updateSidebarArea);
+ connect(this, &QPlainTextEdit::cursorPositionChanged, this, &CodeEditor::highlightCurrentLine);
+
+ updateSidebarGeometry();
+ highlightCurrentLine();
+}
+
+CodeEditor::~CodeEditor()
+{
+}
+
+void CodeEditor::openFile(const QString& fileName)
+{
+ QFile f(fileName);
+ if (!f.open(QFile::ReadOnly)) {
+ qWarning() << "Failed to open" << fileName << ":" << f.errorString();
+ return;
+ }
+
+ clear();
+
+ const auto def = m_repository.definitionForFileName(fileName);
+ m_highlighter->setDefinition(def);
+
+ setWindowTitle(fileName);
+ setPlainText(QString::fromUtf8(f.readAll()));
+}
+
+void CodeEditor::contextMenuEvent(QContextMenuEvent *event)
+{
+ auto menu = createStandardContextMenu(event->pos());
+ menu->addSeparator();
+ auto openAction = menu->addAction(QStringLiteral("Open File..."));
+ connect(openAction, &QAction::triggered, this, [this]() {
+ const auto fileName = QFileDialog::getOpenFileName(this, QStringLiteral("Open File"));
+ if (!fileName.isEmpty())
+ openFile(fileName);
+ });
+
+ // syntax selection
+ auto hlActionGroup = new QActionGroup(menu);
+ hlActionGroup->setExclusive(true);
+ auto hlGroupMenu = menu->addMenu(QStringLiteral("Syntax"));
+ auto noHlAction = hlGroupMenu->addAction(QStringLiteral("None"));
+ noHlAction->setCheckable(true);
+ hlActionGroup->addAction(noHlAction);
+ noHlAction->setChecked(!m_highlighter->definition().isValid());
+ QMenu *hlSubMenu = Q_NULLPTR;
+ QString currentGroup;
+ foreach (const auto &def, m_repository.definitions()) {
+ if (def.isHidden())
+ continue;
+ if (currentGroup != def.section()) {
+ currentGroup = def.section();
+ hlSubMenu = hlGroupMenu->addMenu(def.translatedSection());
+ }
+
+ Q_ASSERT(hlSubMenu);
+ auto action = hlSubMenu->addAction(def.translatedName());
+ action->setCheckable(true);
+ action->setData(def.name());
+ hlActionGroup->addAction(action);
+ if (def.name() == m_highlighter->definition().name())
+ action->setChecked(true);
+ }
+ connect(hlActionGroup, &QActionGroup::triggered, this, [this](QAction *action) {
+ const auto defName = action->data().toString();
+ const auto def = m_repository.definitionForName(defName);
+ m_highlighter->setDefinition(def);
+ });
+
+ // theme selection
+ auto themeGroup = new QActionGroup(menu);
+ themeGroup->setExclusive(true);
+ auto themeMenu = menu->addMenu(QStringLiteral("Theme"));
+ foreach (const auto &theme, m_repository.themes()) {
+ auto action = themeMenu->addAction(theme.translatedName());
+ action->setCheckable(true);
+ action->setData(theme.name());
+ themeGroup->addAction(action);
+ if (theme.name() == m_highlighter->theme().name())
+ action->setChecked(true);
+ }
+ connect(themeGroup, &QActionGroup::triggered, this, [this](QAction *action) {
+ const auto themeName = action->data().toString();
+ const auto theme = m_repository.theme(themeName);
+ setTheme(theme);
+ });
+
+ menu->exec(event->globalPos());
+ delete menu;
+}
+
+void CodeEditor::resizeEvent(QResizeEvent *event)
+{
+ QPlainTextEdit::resizeEvent(event);
+ updateSidebarGeometry();
+}
+
+void CodeEditor::setTheme(const KSyntaxHighlighting::Theme &theme)
+{
+ auto pal = qApp->palette();
+ if (theme.isValid()) {
+ pal.setColor(QPalette::Base, theme.editorColor(KSyntaxHighlighting::Theme::BackgroundColor));
+ pal.setColor(QPalette::Text, theme.textColor(KSyntaxHighlighting::Theme::Normal));
+ pal.setColor(QPalette::Highlight, theme.editorColor(KSyntaxHighlighting::Theme::TextSelection));
+ }
+ setPalette(pal);
+
+ m_highlighter->setTheme(theme);
+ m_highlighter->rehighlight();
+ highlightCurrentLine();
+}
+
+int CodeEditor::sidebarWidth() const
+{
+ int digits = 1;
+ auto count = blockCount();
+ while (count >= 10) {
+ ++digits;
+ count /= 10;
+ }
+ return 4 + fontMetrics().width(QLatin1Char('9')) * digits + fontMetrics().lineSpacing();
+}
+
+void CodeEditor::sidebarPaintEvent(QPaintEvent *event)
+{
+ QPainter painter(m_sideBar);
+ painter.fillRect(event->rect(), m_highlighter->theme().editorColor(KSyntaxHighlighting::Theme::IconBorder));
+
+ auto block = firstVisibleBlock();
+ auto blockNumber = block.blockNumber();
+ int top = blockBoundingGeometry(block).translated(contentOffset()).top();
+ int bottom = top + blockBoundingRect(block).height();
+ const int currentBlockNumber = textCursor().blockNumber();
+
+ const auto foldingMarkerSize = fontMetrics().lineSpacing();
+
+ while (block.isValid() && top <= event->rect().bottom()) {
+ if (block.isVisible() && bottom >= event->rect().top()) {
+ const auto number = QString::number(blockNumber + 1);
+ painter.setPen(m_highlighter->theme().editorColor(
+ (blockNumber == currentBlockNumber) ? KSyntaxHighlighting::Theme::CurrentLineNumber
+ : KSyntaxHighlighting::Theme::LineNumbers));
+ painter.drawText(0, top, m_sideBar->width() - 2 - foldingMarkerSize, fontMetrics().height(), Qt::AlignRight, number);
+ }
+
+ // folding marker
+ if (block.isVisible() && isFoldable(block)) {
+ QPolygonF polygon;
+ if (isFolded(block)) {
+ polygon << QPointF(foldingMarkerSize * 0.4, foldingMarkerSize * 0.25);
+ polygon << QPointF(foldingMarkerSize * 0.4, foldingMarkerSize * 0.75);
+ polygon << QPointF(foldingMarkerSize * 0.8, foldingMarkerSize * 0.5);
+ } else {
+ polygon << QPointF(foldingMarkerSize * 0.25, foldingMarkerSize * 0.4);
+ polygon << QPointF(foldingMarkerSize * 0.75, foldingMarkerSize * 0.4);
+ polygon << QPointF(foldingMarkerSize * 0.5, foldingMarkerSize * 0.8);
+ }
+ painter.save();
+ painter.setRenderHint(QPainter::Antialiasing);
+ painter.setPen(Qt::NoPen);
+ painter.setBrush(QColor(m_highlighter->theme().editorColor(KSyntaxHighlighting::Theme::CodeFolding)));
+ painter.translate(m_sideBar->width() - foldingMarkerSize, top);
+ painter.drawPolygon(polygon);
+ painter.restore();
+ }
+
+ block = block.next();
+ top = bottom;
+ bottom = top + blockBoundingRect(block).height();
+ ++blockNumber;
+ }
+}
+
+void CodeEditor::updateSidebarGeometry()
+{
+ setViewportMargins(sidebarWidth(), 0, 0, 0);
+ const auto r = contentsRect();
+ m_sideBar->setGeometry(QRect(r.left(), r.top(), sidebarWidth(), r.height()));
+}
+
+void CodeEditor::updateSidebarArea(const QRect& rect, int dy)
+{
+ if (dy)
+ m_sideBar->scroll(0, dy);
+ else
+ m_sideBar->update(0, rect.y(), m_sideBar->width(), rect.height());
+}
+
+void CodeEditor::highlightCurrentLine()
+{
+ QTextEdit::ExtraSelection selection;
+ selection.format.setBackground(QColor(m_highlighter->theme().editorColor(KSyntaxHighlighting::Theme::CurrentLine)));
+ selection.format.setProperty(QTextFormat::FullWidthSelection, true);
+ selection.cursor = textCursor();
+ selection.cursor.clearSelection();
+
+ QList extraSelections;
+ extraSelections.append(selection);
+ setExtraSelections(extraSelections);
+}
+
+QTextBlock CodeEditor::blockAtPosition(int y) const
+{
+ auto block = firstVisibleBlock();
+ if (!block.isValid())
+ return QTextBlock();
+
+ int top = blockBoundingGeometry(block).translated(contentOffset()).top();
+ int bottom = top + blockBoundingRect(block).height();
+ do {
+ if (top <= y && y <= bottom)
+ return block;
+ block = block.next();
+ top = bottom;
+ bottom = top + blockBoundingRect(block).height();
+ } while (block.isValid());
+ return QTextBlock();
+}
+
+bool CodeEditor::isFoldable(const QTextBlock &block) const
+{
+ return m_highlighter->startsFoldingRegion(block);
+}
+
+bool CodeEditor::isFolded(const QTextBlock &block) const
+{
+ if (!block.isValid())
+ return false;
+ const auto nextBlock = block.next();
+ if (!nextBlock.isValid())
+ return false;
+ return !nextBlock.isVisible();
+}
+
+void CodeEditor::toggleFold(const QTextBlock &startBlock)
+{
+ // we also want to fold the last line of the region, therefore the ".next()"
+ const auto endBlock = m_highlighter->findFoldingRegionEnd(startBlock).next();
+
+ if (isFolded(startBlock)) {
+ // unfold
+ auto block = startBlock.next();
+ while (block.isValid() && !block.isVisible()) {
+ block.setVisible(true);
+ block.setLineCount(block.layout()->lineCount());
+ block = block.next();
+ }
+
+ } else {
+ // fold
+ auto block = startBlock.next();
+ while (block.isValid() && block != endBlock) {
+ block.setVisible(false);
+ block.setLineCount(0);
+ block = block.next();
+ }
+ }
+
+ // redraw document
+ document()->markContentsDirty(startBlock.position(), endBlock.position() - startBlock.position() + 1);
+
+ // update scrollbars
+ emit document()->documentLayout()->documentSizeChanged(document()->documentLayout()->documentSize());
+}
+
+#include "codeeditor.moc"
diff --git a/examples/codeeditor.h b/examples/codeeditor.h
new file mode 100644
index 0000000..265acbf
--- /dev/null
+++ b/examples/codeeditor.h
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef CODEEDITOR_H
+#define CODEEDITOR_H
+
+#include
+
+#include
+
+namespace KSyntaxHighlighting {
+class SyntaxHighlighter;
+}
+
+class CodeEditorSidebar;
+
+class CodeEditor : public QPlainTextEdit
+{
+ Q_OBJECT
+public:
+ explicit CodeEditor(QWidget *parent = Q_NULLPTR);
+ ~CodeEditor();
+
+ void openFile(const QString &fileName);
+
+protected:
+ void contextMenuEvent(QContextMenuEvent *event) Q_DECL_OVERRIDE;
+ void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
+
+private:
+ friend class CodeEditorSidebar;
+ void setTheme(const KSyntaxHighlighting::Theme &theme);
+ int sidebarWidth() const;
+ void sidebarPaintEvent(QPaintEvent *event);
+ void updateSidebarGeometry();
+ void updateSidebarArea(const QRect &rect, int dy);
+ void highlightCurrentLine();
+
+ QTextBlock blockAtPosition(int y) const;
+ bool isFoldable(const QTextBlock &block) const;
+ bool isFolded(const QTextBlock &block) const;
+ void toggleFold(const QTextBlock &block);
+
+ KSyntaxHighlighting::Repository m_repository;
+ KSyntaxHighlighting::SyntaxHighlighter *m_highlighter;
+ CodeEditorSidebar *m_sideBar;
+};
+
+#endif // CODEEDITOR_H
diff --git a/examples/main.cpp b/examples/main.cpp
new file mode 100644
index 0000000..65128a7
--- /dev/null
+++ b/examples/main.cpp
@@ -0,0 +1,40 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "codeeditor.h"
+
+#include
+#include
+#include
+#include
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+
+ QCommandLineParser parser;
+ parser.addHelpOption();
+ parser.addPositionalArgument(QStringLiteral("source"), QStringLiteral("The source file to highlight."));
+ parser.process(app);
+
+ CodeEditor edit;
+ edit.resize(1024, 1024);
+ edit.show();
+ if (parser.positionalArguments().size() == 1)
+ edit.openFile(parser.positionalArguments().at(0));
+ return app.exec();
+}
diff --git a/metainfo.yaml b/metainfo.yaml
new file mode 100644
index 0000000..377a304
--- /dev/null
+++ b/metainfo.yaml
@@ -0,0 +1,20 @@
+maintainer: vkrause
+description: Syntax Highlighting
+tier: 1
+type: functional
+platforms:
+ - name: Linux
+ - name: Windows
+ - name: MacOSX
+ - name: Android
+portingAid: false
+deprecated: false
+release: true
+libraries:
+ - qmake: SyntaxHighlighting
+ cmake: "KF5::SyntaxHighlighting"
+cmakename: KF5SyntaxHighlighting
+
+public_lib: true
+group: Frameworks
+subgroup: Tier 1
diff --git a/org_kde_ksyntaxhighlighting.categories b/org_kde_ksyntaxhighlighting.categories
new file mode 100644
index 0000000..1ab2692
--- /dev/null
+++ b/org_kde_ksyntaxhighlighting.categories
@@ -0,0 +1 @@
+org.kde.ksyntaxhighlighing Syntax Highlighting
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..f9faade
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,3 @@
+add_subdirectory(indexer)
+add_subdirectory(lib)
+add_subdirectory(cli)
diff --git a/src/Messages.sh b/src/Messages.sh
new file mode 100755
index 0000000..0fe487f
--- /dev/null
+++ b/src/Messages.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# extract language and section names from XML syntax definition files
+# and adapt for lupdate-based extraction to match the rest of the code
+$EXTRACTATTR --attr=language,name,Language --attr="language,section,Language Section" ../data/syntax/*.xml >> rc.cpp || exit 12
+sed -i -e 's/^i18nc/QT_TRANSLATE_NOOP/' rc.cpp
+
+grep --no-filename '"name"' ../data/themes/*.theme > rc_themes.cpp
+sed -i -e 's/"name"/QT_TRANSLATE_NOOP("Theme", /' rc_themes.cpp
+sed -i -e 's/://' rc_themes.cpp
+sed -i -e 's/,$/)/' rc_themes.cpp
+
+$EXTRACT_TR_STRINGS `find . -name \*.cpp -o -name \*.h -o -name \*.ui -o -name \*.qml` -o $podir/syntaxhighlighting5_qt.pot
+
+rm rc_themes.cpp
diff --git a/src/cli/CMakeLists.txt b/src/cli/CMakeLists.txt
new file mode 100644
index 0000000..d009bfd
--- /dev/null
+++ b/src/cli/CMakeLists.txt
@@ -0,0 +1,4 @@
+add_executable(kate-syntax-highlighter kate-syntax-highlighter.cpp)
+target_link_libraries(kate-syntax-highlighter KF5SyntaxHighlighting)
+
+install(TARGETS kate-syntax-highlighter ${INSTALL_TARGETS_DEFAULT_ARGS})
diff --git a/src/cli/kate-syntax-highlighter.cpp b/src/cli/kate-syntax-highlighter.cpp
new file mode 100644
index 0000000..8bac40a
--- /dev/null
+++ b/src/cli/kate-syntax-highlighter.cpp
@@ -0,0 +1,126 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "ksyntaxhighlighting_version.h"
+
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+
+#include
+
+using namespace KSyntaxHighlighting;
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+ QCoreApplication::setApplicationName(QStringLiteral("kate-syntax-highlighter"));
+ QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org"));
+ QCoreApplication::setOrganizationName(QStringLiteral("KDE"));
+ QCoreApplication::setApplicationVersion(QStringLiteral(SyntaxHighlighting_VERSION_STRING));
+
+ QCommandLineParser parser;
+ parser.setApplicationDescription(app.translate("SyntaxHighlightingCLI", "Command line syntax highlighter using Kate syntax definitions."));
+ parser.addHelpOption();
+ parser.addVersionOption();
+ parser.addPositionalArgument(app.translate("SyntaxHighlightingCLI", "source"),
+ app.translate("SyntaxHighlightingCLI", "The source file to highlight."));
+
+ QCommandLineOption listDefs(QStringList() << QStringLiteral("l") << QStringLiteral("list"),
+ app.translate("SyntaxHighlightingCLI", "List all available syntax definitions."));
+ parser.addOption(listDefs);
+ QCommandLineOption listThemes(QStringList() << QStringLiteral("list-themes"),
+ app.translate("SyntaxHighlightingCLI", "List all available themes."));
+ parser.addOption(listThemes);
+
+ QCommandLineOption updateDefs(QStringList() << QStringLiteral("u") << QStringLiteral("update"),
+ app.translate("SyntaxHighlightingCLI", "Download new/updated syntax definitions."));
+ parser.addOption(updateDefs);
+
+ QCommandLineOption outputName(QStringList() << QStringLiteral("o") << QStringLiteral("output"),
+ app.translate("SyntaxHighlightingCLI", "File to write HTML output to (default: stdout)."),
+ app.translate("SyntaxHighlightingCLI", "output"));
+ parser.addOption(outputName);
+
+ QCommandLineOption syntaxName(QStringList() << QStringLiteral("s") << QStringLiteral("syntax"),
+ app.translate("SyntaxHighlightingCLI", "Highlight using this syntax definition (default: auto-detect based on input file)."),
+ app.translate("SyntaxHighlightingCLI", "syntax"));
+ parser.addOption(syntaxName);
+
+ QCommandLineOption themeName(QStringList() << QStringLiteral("t") << QStringLiteral("theme"),
+ app.translate("SyntaxHighlightingCLI", "Color theme to use for highlighting."),
+ app.translate("SyntaxHighlightingCLI", "theme"), QStringLiteral("Default"));
+ parser.addOption(themeName);
+
+ parser.process(app);
+
+ Repository repo;
+ if (parser.isSet(listDefs)) {
+ foreach (const auto &def, repo.definitions()) {
+ std::cout << qPrintable(def.name()) << std::endl;
+ }
+ return 0;
+ }
+
+ if (parser.isSet(listThemes)) {
+ foreach (const auto &theme, repo.themes())
+ std::cout << qPrintable(theme.name()) << std::endl;
+ return 0;
+ }
+
+ if (parser.isSet(updateDefs)) {
+ DefinitionDownloader downloader(&repo);
+ QObject::connect(&downloader, &DefinitionDownloader::informationMessage, [](const QString &msg) {
+ std::cout << qPrintable(msg) << std::endl;
+ });
+ QObject::connect(&downloader, &DefinitionDownloader::done, &app, &QCoreApplication::quit);
+ downloader.start();
+ return app.exec();
+ }
+
+ if (parser.positionalArguments().size() != 1)
+ parser.showHelp(1);
+ const auto inFileName = parser.positionalArguments().at(0);
+
+ Definition def;
+ if (parser.isSet(syntaxName)) {
+ def = repo.definitionForName(parser.value(syntaxName));
+ } else {
+ def = repo.definitionForFileName(inFileName);
+ }
+ if (!def.isValid()) {
+ std::cerr << "Unknown syntax." << std::endl;
+ return 1;
+ }
+
+ HtmlHighlighter highlighter;
+ highlighter.setDefinition(def);
+ if (parser.isSet(outputName))
+ highlighter.setOutputFile(parser.value(outputName));
+ else
+ highlighter.setOutputFile(stdout);
+ highlighter.setTheme(repo.theme(parser.value(themeName)));
+ highlighter.highlightFile(inFileName);
+
+ return 0;
+}
diff --git a/src/indexer/CMakeLists.txt b/src/indexer/CMakeLists.txt
new file mode 100644
index 0000000..a2c7ef7
--- /dev/null
+++ b/src/indexer/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_executable(katehighlightingindexer katehighlightingindexer.cpp)
+
+if(Qt5XmlPatterns_FOUND)
+ target_link_libraries(katehighlightingindexer Qt5::XmlPatterns)
+else()
+ target_link_libraries(katehighlightingindexer Qt5::Core)
+endif()
diff --git a/src/indexer/katehighlightingindexer.cpp b/src/indexer/katehighlightingindexer.cpp
new file mode 100644
index 0000000..bce5c37
--- /dev/null
+++ b/src/indexer/katehighlightingindexer.cpp
@@ -0,0 +1,175 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2014 Christoph Cullmann
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#ifdef QT_XMLPATTERNS_LIB
+#include
+#include
+#endif
+
+namespace {
+
+QStringList readListing(const QString &fileName)
+{
+ QFile file(fileName);
+ if (!file.open(QIODevice::ReadOnly)) {
+ return QStringList();
+ }
+
+ QXmlStreamReader xml(&file);
+ QStringList listing;
+ while (!xml.atEnd()) {
+ xml.readNext();
+
+ // add only .xml files, no .json or stuff
+ if (xml.isCharacters() && xml.text().toString().contains(QLatin1String(".xml"))) {
+ listing.append(xml.text().toString());
+ }
+ }
+ return listing;
+}
+
+}
+
+int main(int argc, char *argv[])
+{
+ // get app instance
+ QCoreApplication app(argc, argv);
+
+ // ensure enough arguments are passed
+ if (app.arguments().size() < 3)
+ return 1;
+
+#ifdef QT_XMLPATTERNS_LIB
+ // open schema
+ QXmlSchema schema;
+ if (!schema.load(QUrl::fromLocalFile(app.arguments().at(2))))
+ return 2;
+#endif
+
+ const QString hlFilenamesListing = app.arguments().value(3);
+ if (hlFilenamesListing.isEmpty()) {
+ return 1;
+ }
+
+ QStringList hlFilenames = readListing(hlFilenamesListing);
+ if (hlFilenames.isEmpty()) {
+ return 3;
+ }
+
+ // text attributes
+ const QStringList textAttributes = QStringList() << QStringLiteral("name") << QStringLiteral("section") << QStringLiteral("mimetype")
+ << QStringLiteral("extensions") << QStringLiteral("style")
+ << QStringLiteral("author") << QStringLiteral("license") << QStringLiteral("indenter");
+
+ // index all given highlightings
+ QVariantMap hls;
+ int anyError = 0;
+ foreach (const QString &hlFilename, hlFilenames) {
+ QFile hlFile(hlFilename);
+ if (!hlFile.open(QIODevice::ReadOnly)) {
+ qWarning ("Failed to open %s.", qPrintable(hlFilename));
+ anyError = 3;
+ continue;
+ }
+
+#ifdef QT_XMLPATTERNS_LIB
+ // validate against schema
+ QXmlSchemaValidator validator(schema);
+ if (!validator.validate(&hlFile, QUrl::fromLocalFile(hlFile.fileName()))) {
+ anyError = 4;
+ continue;
+ }
+#endif
+
+ // read the needed attributes from toplevel language tag
+ hlFile.reset();
+ QXmlStreamReader xml(&hlFile);
+ if (xml.readNextStartElement()) {
+ if (xml.name() != QLatin1String("language")) {
+ anyError = 5;
+ continue;
+ }
+ } else {
+ anyError = 6;
+ continue;
+ }
+
+ // map to store hl info
+ QVariantMap hl;
+
+ // transfer text attributes
+ Q_FOREACH (const QString &attribute, textAttributes) {
+ hl[attribute] = xml.attributes().value(attribute).toString();
+ }
+
+ // numerical attributes
+ hl[QStringLiteral("version")] = xml.attributes().value(QLatin1String("version")).toInt();
+ hl[QStringLiteral("priority")] = xml.attributes().value(QLatin1String("priority")).toInt();
+
+ // add boolean one
+ const QString hidden = xml.attributes().value(QLatin1String("hidden")).toString();
+ hl[QStringLiteral("hidden")] = (hidden == QLatin1String("true") || hidden == QLatin1String("1"));
+
+ // remember hl
+ hls[QFileInfo(hlFile).fileName()] = hl;
+
+ // scan for broken regex
+ while (!xml.atEnd()) {
+ xml.readNext();
+ if (!xml.isStartElement() || (xml.name() != QLatin1String("RegExpr") && xml.name() != QLatin1String("emptyLine"))) {
+ continue;
+ }
+
+ // get right attribute
+ const QString string (xml.attributes().value((xml.name() == QLatin1String("RegExpr")) ? QLatin1String("String") : QLatin1String("regexpr")).toString());
+
+ // validate regexp
+ const QRegularExpression regexp (string);
+ if (!regexp.isValid()) {
+ qDebug() << hlFilename << "line" << xml.lineNumber() << "broken regex:" << string << "problem:" << regexp.errorString() << "at offset" << regexp.patternErrorOffset();
+ anyError = 7;
+ }
+ }
+ }
+
+ // bail out if any problem was seen
+ if (anyError)
+ return anyError;
+
+ // create outfile, after all has worked!
+ QFile outFile(app.arguments().at(1));
+ if (!outFile.open(QIODevice::WriteOnly | QIODevice::Truncate))
+ return 7;
+
+ // write out json
+ outFile.write(QJsonDocument::fromVariant(QVariant(hls)).toBinaryData());
+
+ // be done
+ return 0;
+}
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
new file mode 100644
index 0000000..80b463d
--- /dev/null
+++ b/src/lib/CMakeLists.txt
@@ -0,0 +1,68 @@
+ecm_create_qm_loader(syntax_highlighting_QM_LOADER syntaxhighlighting5_qt)
+
+set(syntax_highlighting_srcs
+ abstracthighlighter.cpp
+ context.cpp
+ contextswitch.cpp
+ definitiondownloader.cpp
+ foldingregion.cpp
+ format.cpp
+ htmlhighlighter.cpp
+ keywordlist.cpp
+ matchresult.cpp
+ rule.cpp
+ definition.cpp
+ repository.cpp
+ state.cpp
+ syntaxhighlighter.cpp
+ theme.cpp
+ wildcardmatcher.cpp
+ themedata.cpp
+ ${syntax_highlighting_QM_LOADER}
+)
+ecm_qt_declare_logging_category(syntax_highlighting_srcs
+ HEADER ksyntaxhighlighting_logging.h
+ IDENTIFIER KSyntaxHighlighting::Log
+ CATEGORY_NAME org.kde.ksyntaxhighlighting
+)
+
+qt5_add_resources(themes_QRC ${CMAKE_SOURCE_DIR}/data/themes/theme-data.qrc)
+
+add_library(KF5SyntaxHighlighting SHARED ${syntax_highlighting_srcs} ${themes_QRC})
+generate_export_header(KF5SyntaxHighlighting BASE_NAME KSyntaxHighlighting)
+set_target_properties(KF5SyntaxHighlighting PROPERTIES
+ VERSION ${SyntaxHighlighting_VERSION_STRING}
+ SOVERSION ${SyntaxHighlighting_SOVERSION}
+ EXPORT_NAME SyntaxHighlighting
+)
+target_include_directories(KF5SyntaxHighlighting INTERFACE "$")
+target_include_directories(KF5SyntaxHighlighting PUBLIC "$")
+target_link_libraries(KF5SyntaxHighlighting LINK_PUBLIC Qt5::Gui LINK_PRIVATE Qt5::Network SyntaxHighlightingData)
+
+ecm_generate_headers(SyntaxHighlighting_HEADERS
+ HEADER_NAMES
+ AbstractHighlighter
+ Definition
+ FoldingRegion
+ Format
+ Repository
+ State
+ SyntaxHighlighter
+ Theme
+ REQUIRED_HEADERS SyntaxHighlighting_HEADERS
+)
+
+install(TARGETS KF5SyntaxHighlighting EXPORT KF5SyntaxHighlightingTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
+install(FILES
+ ${SyntaxHighlighting_HEADERS}
+ ${CMAKE_CURRENT_BINARY_DIR}/ksyntaxhighlighting_export.h
+ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KSyntaxHighlighting)
+
+ecm_generate_pri_file(
+ BASE_NAME KSyntaxHighlighting LIB_NAME
+ KF5SyntaxHighlighting
+ DEPS "gui"
+ FILENAME_VAR PRI_FILENAME
+ INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KSyntaxHighlighting
+)
+install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
diff --git a/src/lib/abstracthighlighter.cpp b/src/lib/abstracthighlighter.cpp
new file mode 100644
index 0000000..3b3f5a4
--- /dev/null
+++ b/src/lib/abstracthighlighter.cpp
@@ -0,0 +1,261 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "abstracthighlighter.h"
+#include "abstracthighlighter_p.h"
+#include "context_p.h"
+#include "definition_p.h"
+#include "foldingregion.h"
+#include "format.h"
+#include "repository.h"
+#include "rule_p.h"
+#include "state.h"
+#include "state_p.h"
+#include "ksyntaxhighlighting_logging.h"
+#include "theme.h"
+
+#include
+
+using namespace KSyntaxHighlighting;
+
+AbstractHighlighterPrivate::AbstractHighlighterPrivate()
+{
+}
+
+AbstractHighlighterPrivate::~AbstractHighlighterPrivate()
+{
+}
+
+void AbstractHighlighterPrivate::ensureDefinitionLoaded()
+{
+ auto defData = DefinitionData::get(m_definition);
+ if (Q_UNLIKELY(!m_definition.isValid() && defData->repo && !m_definition.name().isEmpty())) {
+ qCDebug(Log) << "Definition became invalid, trying re-lookup.";
+ m_definition = defData->repo->definitionForName(m_definition.name());
+ defData = DefinitionData::get(m_definition);
+ }
+
+ if (Q_UNLIKELY(!defData->repo && !defData->name.isEmpty()))
+ qCCritical(Log) << "Repository got deleted while a highlighter is still active!";
+
+ if (m_definition.isValid())
+ defData->load();
+}
+
+/**
+ * Returns the index of the first non-space character. If the line is empty,
+ * or only contains white spaces, -1 is returned.
+ */
+static inline int firstNonSpaceChar(const QString & text)
+{
+ for (int i = 0; i < text.length(); ++i) {
+ if (!text[i].isSpace()) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+AbstractHighlighter::AbstractHighlighter() :
+ d_ptr(new AbstractHighlighterPrivate)
+{
+}
+
+AbstractHighlighter::AbstractHighlighter(AbstractHighlighterPrivate *dd) :
+ d_ptr(dd)
+{
+}
+
+AbstractHighlighter::~AbstractHighlighter()
+{
+ delete d_ptr;
+}
+
+Definition AbstractHighlighter::definition() const
+{
+ Q_D(const AbstractHighlighter);
+ return d_ptr->m_definition;
+}
+
+void AbstractHighlighter::setDefinition(const Definition &def)
+{
+ Q_D(AbstractHighlighter);
+ d->m_definition = def;
+}
+
+Theme AbstractHighlighter::theme() const
+{
+ Q_D(const AbstractHighlighter);
+ return d->m_theme;
+}
+
+void AbstractHighlighter::setTheme(const Theme &theme)
+{
+ Q_D(AbstractHighlighter);
+ d->m_theme = theme;
+}
+
+State AbstractHighlighter::highlightLine(const QString& text, const State &state)
+{
+ Q_D(AbstractHighlighter);
+
+ // verify definition, deal with no highlighting being enabled
+ d->ensureDefinitionLoaded();
+ if (!d->m_definition.isValid()) {
+ applyFormat(0, text.size(), Format());
+ return State();
+ }
+
+ // verify/initialize state
+ auto defData = DefinitionData::get(d->m_definition);
+ auto newState = state;
+ auto stateData = StateData::get(newState);
+ if (stateData->m_defData && defData != stateData->m_defData) {
+ qCDebug(Log) << "Got invalid state, resetting.";
+ stateData->clear();
+ }
+ if (stateData->isEmpty()) {
+ stateData->push(defData->initialContext(), QStringList());
+ stateData->m_defData = defData;
+ }
+
+ // process empty lines
+ if (text.isEmpty()) {
+ while (!stateData->topContext()->lineEmptyContext().isStay())
+ d->switchContext(stateData, stateData->topContext()->lineEmptyContext(), QStringList());
+ applyFormat(0, 0, Format());
+ return newState;
+ }
+
+ Q_ASSERT(!stateData->isEmpty());
+ int firstNonSpace = firstNonSpaceChar(text);
+ if (firstNonSpace < 0) {
+ firstNonSpace = text.size();
+ }
+ int offset = 0, beginOffset = 0;
+ auto currentLookupContext = stateData->topContext();
+ auto currentFormat = currentLookupContext->attribute();
+ bool lineContinuation = false;
+ QHash skipOffsets;
+
+ do {
+ bool isLookAhead = false;
+ int newOffset = 0;
+ QString newFormat;
+ auto newLookupContext = currentLookupContext;
+ foreach (const auto &rule, stateData->topContext()->rules()) {
+ if (skipOffsets.value(rule.get()) > offset)
+ continue;
+
+ // filter out rules that only match for leading whitespace
+ if (rule->firstNonSpace() && (offset > firstNonSpace)) {
+ continue;
+ }
+
+ // filter out rules that require a specific column
+ if ((rule->requiredColumn() >= 0) && (rule->requiredColumn() != offset)) {
+ continue;
+ }
+
+ const auto newResult = rule->match(text, offset, stateData->topCaptures());
+ newOffset = newResult.offset();
+ if (newResult.skipOffset() > newOffset)
+ skipOffsets.insert(rule.get(), newResult.skipOffset());
+ if (newOffset <= offset)
+ continue;
+
+ // apply folding
+ if (rule->endRegion().isValid())
+ applyFolding(offset, newOffset - offset, rule->endRegion());
+ if (rule->beginRegion().isValid())
+ applyFolding(offset, newOffset - offset, rule->beginRegion());
+
+ if (rule->isLookAhead()) {
+ Q_ASSERT(!rule->context().isStay());
+ d->switchContext(stateData, rule->context(), newResult.captures());
+ isLookAhead = true;
+ break;
+ }
+
+ newLookupContext = stateData->topContext();
+ d->switchContext(stateData, rule->context(), newResult.captures());
+ newFormat = rule->attribute().isEmpty() ? stateData->topContext()->attribute() : rule->attribute();
+ if (newOffset == text.size() && std::dynamic_pointer_cast(rule))
+ lineContinuation = true;
+ break;
+ }
+ if (isLookAhead)
+ continue;
+
+ if (newOffset <= offset) { // no matching rule
+ if (stateData->topContext()->fallthrough()) {
+ d->switchContext(stateData, stateData->topContext()->fallthroughContext(), QStringList());
+ continue;
+ }
+
+ newOffset = offset + 1;
+ newLookupContext = stateData->topContext();
+ newFormat = newLookupContext->attribute();
+ }
+
+ if (newFormat != currentFormat /*|| currentLookupDef != newLookupDef*/) {
+ if (offset > 0)
+ applyFormat(beginOffset, offset - beginOffset, currentLookupContext->formatByName(currentFormat));
+ beginOffset = offset;
+ currentFormat = newFormat;
+ currentLookupContext = newLookupContext;
+ }
+ Q_ASSERT(newOffset > offset);
+ offset = newOffset;
+
+ } while (offset < text.size());
+
+ if (beginOffset < offset)
+ applyFormat(beginOffset, text.size() - beginOffset, currentLookupContext->formatByName(currentFormat));
+
+ while (!stateData->topContext()->lineEndContext().isStay() && !lineContinuation) {
+ if (!d->switchContext(stateData, stateData->topContext()->lineEndContext(), QStringList()))
+ break;
+ }
+
+ return newState;
+}
+
+bool AbstractHighlighterPrivate::switchContext(StateData *data, const ContextSwitch &contextSwitch, const QStringList &captures)
+{
+ for (int i = 0; i < contextSwitch.popCount(); ++i) {
+ // don't pop the last context if we can't push one
+ if (data->size() == 1 && !contextSwitch.context())
+ return false;
+ if (data->size() == 0)
+ break;
+ data->pop();
+ }
+
+ if (contextSwitch.context())
+ data->push(contextSwitch.context(), captures);
+
+ Q_ASSERT(!data->isEmpty());
+ return true;
+}
+
+void AbstractHighlighter::applyFolding(int offset, int length, FoldingRegion region)
+{
+ Q_UNUSED(offset);
+ Q_UNUSED(length);
+ Q_UNUSED(region);
+}
diff --git a/src/lib/abstracthighlighter.h b/src/lib/abstracthighlighter.h
new file mode 100644
index 0000000..e10e013
--- /dev/null
+++ b/src/lib/abstracthighlighter.h
@@ -0,0 +1,180 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_ABSTRACTHIGHLIGHTERM_H
+#define KSYNTAXHIGHLIGHTING_ABSTRACTHIGHLIGHTERM_H
+
+#include "ksyntaxhighlighting_export.h"
+
+#include
+
+#include
+
+class QString;
+
+namespace KSyntaxHighlighting {
+
+class AbstractHighlighterPrivate;
+class Definition;
+class FoldingRegion;
+class Format;
+class State;
+class Theme;
+
+/**
+ * Abstract base class for highlighters.
+ *
+ * @section abshl_intro Introduction
+ *
+ * The AbstractHighlighter provides an interface to highlight text.
+ *
+ * The SyntaxHighlighting framework already ships with one implementation,
+ * namely the SyntaxHighlighter, which also derives from QSyntaxHighlighter,
+ * meaning that it can be used to highlight a QTextDocument or a QML TextEdit.
+ * In order to use the SyntaxHighlighter, just call setDefinition() and
+ * setTheme(), and the associated documents will automatically be highlighted.
+ *
+ * However, if you want to use the SyntaxHighlighting framework to implement
+ * your own syntax highlighter, you need to sublcass from AbstractHighlighter.
+ *
+ * @section abshl_impl Implementing your own Syntax Highlighter
+ *
+ * In order to implement your own syntax highlighter, you need to inherit from
+ * AbstractHighlighter. Then, pass each text line that needs to be highlighted
+ * in order to highlightLine(). Internally, highlightLine() uses the Definition
+ * initially set through setDefinition() and the State of the previous text line
+ * to parse and highlight the given text line. For each visual highlighting
+ * change, highlightLine() will call applyFormat(). Therefore, reimplement
+ * applyFormat() to get notified of the Format that is valid in the range
+ * starting at the given offset with the specified length. Similarly, for each
+ * text part that starts or ends a code folding region, highlightLine() will
+ * call applyFolding(). Therefore, if you are interested in code folding,
+ * reimplement applyFolding() to get notified of the starting and ending code
+ * folding regions, again specified in the range starting at the given offset
+ * with the given length.
+ *
+ * The Format class itself depends on the current Theme. A theme must be
+ * initially set once such that the Format%s instances can be queried for
+ * concrete colors.
+ *
+ * Optionally, you can also reimplement setTheme() and setDefinition() to get
+ * notified whenever the Definition or the Theme changes.
+ *
+ * @see SyntaxHighlighter
+ */
+class KSYNTAXHIGHLIGHTING_EXPORT AbstractHighlighter
+{
+public:
+ virtual ~AbstractHighlighter();
+
+ /**
+ * Returns the syntax definition used for highlighting.
+ *
+ * @see setDefinition()
+ */
+ Definition definition() const;
+
+ /**
+ * Sets the syntax definition used for highlighting.
+ *
+ * Subclasses can re-implement this method to e.g. trigger
+ * re-highlighting or clear internal data structures if needed.
+ */
+ virtual void setDefinition(const Definition &def);
+
+ /**
+ * Returns the currently selected theme for highlighting.
+ *
+ * @note If no Theme was set through setTheme(), the returned Theme will be
+ * invalid, see Theme::isValid().
+ */
+ Theme theme() const;
+
+ /**
+ * Sets the theme used for highlighting.
+ *
+ * Subclasses can re-implement this method to e.g. trigger
+ * re-highlighing or to do general palette color setup.
+ */
+ virtual void setTheme(const Theme &theme);
+
+protected:
+ AbstractHighlighter();
+ AbstractHighlighter(AbstractHighlighterPrivate *dd);
+
+ /**
+ * Highlight the given line. Call this from your derived class
+ * where appropriate. This will result in any number of applyFormat()
+ * and applyFolding() calls as a result.
+ * @param text A string containing the text of the line to highlight.
+ * @param state The highlighting state handle returned by the call
+ * to highlightLine() for the previous line. For the very first line,
+ * just pass a default constructed State().
+ * @returns The state of the highlighing engine after processing the
+ * given line. This needs to passed into highlightLine() for the
+ * next line. You can store the state for efficient partial
+ * re-highlighting for example during editing.
+ *
+ * @see applyFormat(), applyFolding()
+ */
+ State highlightLine(const QString &text, const State &state);
+
+ /**
+ * Reimplement this to apply formats to your output. The provided @p format
+ * is valid for the interval [@p offset, @p offset + @p length).
+ *
+ * @param offset The start column of the interval for which @p format matches
+ * @param length The length of the matching text
+ * @param format The Format that applies to the range [offset, offset + length)
+ *
+ * @note Make sure to set a valid Definition, otherwise the parameter
+ * @p format is invalid for the entire line passed to highlightLine()
+ * (cf. Format::isValid()).
+ *
+ * @see applyFolding(), highlightLine()
+ */
+ virtual void applyFormat(int offset, int length, const Format &format) = 0;
+
+ /**
+ * Reimplement this to apply folding to your output. The provided
+ * FoldingRegion @p region either stars or ends a code folding region in the
+ * interval [@p offset, @p offset + @p length).
+ *
+ * @param offset The start column of the FoldingRegion
+ * @param length The length of the matching text that starts / ends a
+ * folding region
+ * @param region The FoldingRegion that applies to the range [offset, offset + length)
+ *
+ * @note The FoldingRegion @p region is @e always either of type
+ * FoldingRegion::Type::Begin or FoldingRegion::Type::End.
+ *
+ * @see applyFormat(), highlightLine(), FoldingRegion
+ */
+ virtual void applyFolding(int offset, int length, FoldingRegion region);
+
+protected:
+ AbstractHighlighterPrivate *d_ptr;
+
+private:
+ Q_DECLARE_PRIVATE(AbstractHighlighter)
+ Q_DISABLE_COPY(AbstractHighlighter)
+};
+}
+
+Q_DECLARE_INTERFACE(KSyntaxHighlighting::AbstractHighlighter, "org.kde.SyntaxHighlighting.AbstractHighlighter")
+
+#endif // KSYNTAXHIGHLIGHTING_ABSTRACTHIGHLIGHTERM_H
diff --git a/src/lib/abstracthighlighter_p.h b/src/lib/abstracthighlighter_p.h
new file mode 100644
index 0000000..9504fec
--- /dev/null
+++ b/src/lib/abstracthighlighter_p.h
@@ -0,0 +1,46 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_ABSTRACTHIGHLIGHTERM_P_H
+#define KSYNTAXHIGHLIGHTING_ABSTRACTHIGHLIGHTERM_P_H
+
+#include "definition.h"
+#include "theme.h"
+
+class QStringList;
+
+namespace KSyntaxHighlighting {
+
+class ContextSwitch;
+class StateData;
+
+class AbstractHighlighterPrivate
+{
+public:
+ AbstractHighlighterPrivate();
+ virtual ~AbstractHighlighterPrivate();
+
+ void ensureDefinitionLoaded();
+ bool switchContext(StateData* data, const ContextSwitch &contextSwitch, const QStringList &captures);
+
+ Definition m_definition;
+ Theme m_theme;
+};
+
+}
+
+#endif
diff --git a/src/lib/context.cpp b/src/lib/context.cpp
new file mode 100644
index 0000000..1fbee59
--- /dev/null
+++ b/src/lib/context.cpp
@@ -0,0 +1,233 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "context_p.h"
+#include "definition_p.h"
+#include "format.h"
+#include "repository.h"
+#include "rule_p.h"
+#include "ksyntaxhighlighting_logging.h"
+#include "xml_p.h"
+
+#include
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+Context::Context()
+ : m_resolveState(Unknown)
+ , m_fallthrough(false)
+ , m_noIndentationBasedFolding(false)
+{
+}
+
+Context::~Context()
+{
+}
+
+Definition Context::definition() const
+{
+ return m_def.definition();
+}
+
+void Context::setDefinition(const DefinitionRef &def)
+{
+ m_def = def;
+}
+
+QString Context::name() const
+{
+ return m_name;
+}
+
+QString Context::attribute() const
+{
+ return m_attribute;
+}
+
+ContextSwitch Context::lineEndContext() const
+{
+ return m_lineEndContext;
+}
+
+ContextSwitch Context::lineEmptyContext() const
+{
+ return m_lineEmptyContext;
+}
+
+bool Context::fallthrough() const
+{
+ return m_fallthrough;
+}
+
+ContextSwitch Context::fallthroughContext() const
+{
+ return m_fallthroughContext;
+}
+
+bool Context::indentationBasedFoldingEnabled() const
+{
+ if (m_noIndentationBasedFolding)
+ return false;
+
+ return m_def.definition().indentationBasedFoldingEnabled();
+}
+
+QVector Context::rules() const
+{
+ return m_rules;
+}
+
+Format Context::formatByName(const QString &name) const
+{
+ auto defData = DefinitionData::get(m_def.definition());
+ auto format = defData->formatByName(name);
+ if (format.isValid())
+ return format;
+
+ // TODO we can avoid multiple lookups in the same definition here, many rules will share definitions
+ foreach (const auto &rule, m_rules) {
+ auto defData = DefinitionData::get(rule->definition());
+ format = defData->formatByName(name);
+ if (format.isValid())
+ return format;
+ }
+
+ qCWarning(Log) << "Unknown format" << name << "in context" << m_name << "of definition" << m_def.definition().name();
+ return format;
+}
+
+void Context::load(QXmlStreamReader& reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("context"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+
+ m_name = reader.attributes().value(QStringLiteral("name")).toString();
+ m_attribute = reader.attributes().value(QStringLiteral("attribute")).toString();
+ m_lineEndContext.parse(reader.attributes().value(QStringLiteral("lineEndContext")));
+ m_lineEmptyContext.parse(reader.attributes().value(QStringLiteral("lineEmptyContext")));
+ m_fallthrough = Xml::attrToBool(reader.attributes().value(QStringLiteral("fallthrough")));
+ m_fallthroughContext.parse(reader.attributes().value(QStringLiteral("fallthroughContext")));
+ if (m_fallthroughContext.isStay())
+ m_fallthrough = false;
+ m_noIndentationBasedFolding = Xml::attrToBool(reader.attributes().value(QStringLiteral("noIndentationBasedFolding")));
+
+ reader.readNext();
+ while (!reader.atEnd()) {
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ {
+ auto rule = Rule::create(reader.name());
+ if (rule) {
+ rule->setDefinition(m_def.definition());
+ if (rule->load(reader))
+ m_rules.push_back(rule);
+ } else {
+ reader.skipCurrentElement();
+ }
+ reader.readNext();
+ break;
+ }
+ case QXmlStreamReader::EndElement:
+ return;
+ default:
+ reader.readNext();
+ break;
+ }
+ }
+}
+
+void Context::resolveContexts()
+{
+ const auto def = m_def.definition();
+ m_lineEndContext.resolve(def);
+ m_lineEmptyContext.resolve(def);
+ m_fallthroughContext.resolve(def);
+ foreach (const auto &rule, m_rules)
+ rule->resolveContext();
+}
+
+Context::ResolveState Context::resolveState()
+{
+ if (m_resolveState == Unknown) {
+ foreach (const auto &rule, m_rules) {
+ auto inc = std::dynamic_pointer_cast(rule);
+ if (inc) {
+ m_resolveState = Unresolved;
+ return m_resolveState;
+ }
+ }
+ m_resolveState = Resolved;
+ }
+ return m_resolveState;
+}
+
+void Context::resolveIncludes()
+{
+ if (resolveState() == Resolved)
+ return;
+ if (resolveState() == Resolving) {
+ qCWarning(Log) << "Cyclic dependency!";
+ return;
+ }
+
+ Q_ASSERT(resolveState() == Unresolved);
+ m_resolveState = Resolving; // cycle guard
+
+ for (auto it = m_rules.begin(); it != m_rules.end();) {
+ auto inc = std::dynamic_pointer_cast(*it);
+ if (!inc) {
+ ++it;
+ continue;
+ }
+ Context* context = Q_NULLPTR;
+ auto myDefData = DefinitionData::get(m_def.definition());
+ if (inc->definitionName().isEmpty()) { // local include
+ context = myDefData->contextByName(inc->contextName());
+ } else {
+ auto def = myDefData->repo->definitionForName(inc->definitionName());
+ if (!def.isValid()) {
+ qCWarning(Log) << "Unable to resolve external include rule for definition" << inc->definitionName() << "in" << m_def.definition().name();
+ ++it;
+ continue;
+ }
+ auto defData = DefinitionData::get(def);
+ defData->load();
+ if (inc->contextName().isEmpty())
+ context = defData->initialContext();
+ else
+ context = defData->contextByName(inc->contextName());
+ }
+ if (!context) {
+ qCWarning(Log) << "Unable to resolve include rule for definition" << inc->contextName() << "##" << inc->definitionName() << "in" << m_def.definition().name();
+ ++it;
+ continue;
+ }
+ context->resolveIncludes();
+ if (inc->includeAttribute()) {
+ m_attribute = context->attribute();
+ }
+ it = m_rules.erase(it);
+ foreach (const auto &rule, context->rules()) {
+ it = m_rules.insert(it, rule);
+ ++it;
+ }
+ }
+
+ m_resolveState = Resolved;
+}
diff --git a/src/lib/context_p.h b/src/lib/context_p.h
new file mode 100644
index 0000000..9752c69
--- /dev/null
+++ b/src/lib/context_p.h
@@ -0,0 +1,94 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_CONTEXT_P_H
+#define KSYNTAXHIGHLIGHTING_CONTEXT_P_H
+
+#include "rule_p.h"
+#include "contextswitch_p.h"
+#include "definition.h"
+#include "definitionref_p.h"
+
+#include
+#include
+
+class QXmlStreamReader;
+
+namespace KSyntaxHighlighting {
+
+class Context
+{
+public:
+ Context();
+ ~Context();
+
+ Definition definition() const;
+ void setDefinition(const DefinitionRef &def);
+
+ QString name() const;
+ QString attribute() const;
+ ContextSwitch lineEndContext() const;
+ ContextSwitch lineEmptyContext() const;
+
+ bool fallthrough() const;
+ ContextSwitch fallthroughContext() const;
+
+ /**
+ * Returns @c true, when indentationBasedFolding is enabled for the
+ * associated Definition and when "noIndentationBasedFolding" is NOT set.
+ */
+ bool indentationBasedFoldingEnabled() const;
+
+ QVector rules() const;
+
+ /** Attempts to find the format named @p name in the
+ * enclosing definition, or the source definition of any
+ * included rule.
+ */
+ Format formatByName(const QString &name) const;
+
+ void load(QXmlStreamReader &reader);
+ void resolveContexts();
+ void resolveIncludes();
+
+private:
+ Q_DISABLE_COPY(Context)
+
+ enum ResolveState {
+ Unknown,
+ Unresolved,
+ Resolving,
+ Resolved
+ };
+ ResolveState resolveState();
+
+ DefinitionRef m_def;
+ QString m_name;
+ QString m_attribute;
+ ContextSwitch m_lineEndContext;
+ ContextSwitch m_lineEmptyContext;
+ ContextSwitch m_fallthroughContext;
+
+ QVector m_rules;
+
+ ResolveState m_resolveState;
+ bool m_fallthrough;
+ bool m_noIndentationBasedFolding;
+};
+}
+
+#endif // KSYNTAXHIGHLIGHTING_CONTEXT_P_H
diff --git a/src/lib/contextswitch.cpp b/src/lib/contextswitch.cpp
new file mode 100644
index 0000000..8066c65
--- /dev/null
+++ b/src/lib/contextswitch.cpp
@@ -0,0 +1,95 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "contextswitch_p.h"
+#include "definition.h"
+#include "definition_p.h"
+#include "repository.h"
+#include "ksyntaxhighlighting_logging.h"
+
+#include
+
+using namespace KSyntaxHighlighting;
+
+ContextSwitch::ContextSwitch() :
+ m_context(Q_NULLPTR),
+ m_popCount(0)
+{
+}
+
+ContextSwitch::~ContextSwitch()
+{
+}
+
+bool ContextSwitch::isStay() const
+{
+ return m_popCount == 0 && !m_context && m_contextName.isEmpty() && m_defName.isEmpty();
+}
+
+int ContextSwitch::popCount() const
+{
+ return m_popCount;
+}
+
+Context* ContextSwitch::context() const
+{
+ return m_context;
+}
+
+void ContextSwitch::parse(const QStringRef& contextInstr)
+{
+ if (contextInstr.isEmpty() || contextInstr == QLatin1String("#stay"))
+ return;
+
+ if (contextInstr.startsWith(QLatin1String("#pop!"))) {
+ ++m_popCount;
+ m_contextName = contextInstr.mid(5).toString();
+ return;
+ }
+
+ if (contextInstr.startsWith(QLatin1String("#pop"))) {
+ ++m_popCount;
+ parse(contextInstr.mid(4));
+ return;
+ }
+
+ const auto idx = contextInstr.indexOf(QLatin1String("##"));
+ if (idx >= 0) {
+ m_contextName = contextInstr.left(idx).toString();
+ m_defName = contextInstr.mid(idx + 2).toString();
+ } else {
+ m_contextName = contextInstr.toString();
+ }
+}
+
+void ContextSwitch::resolve(const Definition &def)
+{
+ auto d = def;
+ if (!m_defName.isEmpty()) {
+ d = DefinitionData::get(def)->repo->definitionForName(m_defName);
+ auto data = DefinitionData::get(d);
+ data->load();
+ if (m_contextName.isEmpty())
+ m_context = data->initialContext();
+ }
+
+ if (!m_contextName.isEmpty()) {
+ m_context = DefinitionData::get(d)->contextByName(m_contextName);
+ if (!m_context)
+ qCWarning(Log) << "cannot find context" << m_contextName << "in" << def.name();
+ }
+}
diff --git a/src/lib/contextswitch_p.h b/src/lib/contextswitch_p.h
new file mode 100644
index 0000000..c9916c1
--- /dev/null
+++ b/src/lib/contextswitch_p.h
@@ -0,0 +1,50 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_CONTEXTSWITCH_P_H
+#define KSYNTAXHIGHLIGHTING_CONTEXTSWITCH_P_H
+
+#include
+
+namespace KSyntaxHighlighting {
+
+class Context;
+class Definition;
+
+class ContextSwitch
+{
+public:
+ ContextSwitch();
+ ~ContextSwitch();
+
+ bool isStay() const;
+
+ int popCount() const;
+ Context* context() const;
+
+ void parse(const QStringRef &contextInstr);
+ void resolve(const Definition &def);
+
+private:
+ QString m_defName;
+ QString m_contextName;
+ Context *m_context;
+ int m_popCount;
+};
+}
+
+#endif // KSYNTAXHIGHLIGHTING_CONTEXTSWITCH_P_H
diff --git a/src/lib/definition.cpp b/src/lib/definition.cpp
new file mode 100644
index 0000000..4cedc40
--- /dev/null
+++ b/src/lib/definition.cpp
@@ -0,0 +1,562 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+
+#include "definition.h"
+#include "definition_p.h"
+#include "definitionref_p.h"
+
+#include "context_p.h"
+#include "format.h"
+#include "format_p.h"
+#include "repository_p.h"
+#include "rule_p.h"
+#include "ksyntaxhighlighting_logging.h"
+#include "ksyntaxhighlighting_version.h"
+#include "xml_p.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+
+using namespace KSyntaxHighlighting;
+
+DefinitionData::DefinitionData() :
+ repo(Q_NULLPTR),
+ delimiters(QStringLiteral("\t !%&()*+,-./:;<=>?[\\]^{|}~")), // must be sorted!
+ indentationBasedFolding(false),
+ caseSensitive(Qt::CaseSensitive),
+ version(0.0f),
+ priority(0),
+ hidden(false)
+{
+}
+
+DefinitionData::~DefinitionData()
+{
+ qDeleteAll(contexts);
+}
+
+DefinitionData* DefinitionData::get(const Definition &def)
+{
+ return def.d.get();
+}
+
+Definition::Definition() :
+ d(new DefinitionData)
+{
+}
+
+Definition::Definition(const Definition &other) :
+ d(other.d)
+{
+ d->q = *this;
+}
+
+Definition::Definition(const std::shared_ptr &dd) :
+ d(dd)
+{
+}
+
+Definition::~Definition()
+{
+}
+
+Definition& Definition::operator=(const Definition &rhs)
+{
+ d = rhs.d;
+ return *this;
+}
+
+bool Definition::operator==(const Definition &other) const
+{
+ return d->fileName == other.d->fileName;
+}
+
+bool Definition::operator!=(const Definition& other) const
+{
+ return d->fileName != other.d->fileName;
+}
+
+bool Definition::isValid() const
+{
+ return d->repo && !d->fileName.isEmpty() && !d->name.isEmpty();
+}
+
+QString Definition::filePath() const
+{
+ return d->fileName;
+}
+
+QString Definition::name() const
+{
+ return d->name;
+}
+
+QString Definition::translatedName() const
+{
+ return QCoreApplication::instance()->translate("Language", d->name.toUtf8().constData());
+}
+
+QString Definition::section() const
+{
+ return d->section;
+}
+
+QString Definition::translatedSection() const
+{
+ return QCoreApplication::instance()->translate("Language Section", d->section.toUtf8().constData());
+}
+
+QVector Definition::mimeTypes() const
+{
+ return d->mimetypes;
+}
+
+QVector Definition::extensions() const
+{
+ return d->extensions;
+}
+
+int Definition::version() const
+{
+ return d->version;
+}
+
+int Definition::priority() const
+{
+ return d->priority;
+}
+
+bool Definition::isHidden() const
+{
+ return d->hidden;
+}
+
+QString Definition::style() const
+{
+ return d->style;
+}
+
+QString Definition::indenter() const
+{
+ return d->indenter;
+}
+
+QString Definition::author() const
+{
+ return d->author;
+}
+
+QString Definition::license() const
+{
+ return d->license;
+}
+
+bool Definition::indentationBasedFoldingEnabled() const
+{
+ d->load();
+ return d->indentationBasedFolding;
+}
+
+QStringList Definition::foldingIgnoreList() const
+{
+ d->load();
+ return d->foldingIgnoreList;
+}
+
+Context* DefinitionData::initialContext() const
+{
+ Q_ASSERT(!contexts.isEmpty());
+ return contexts.first();
+}
+
+Context* DefinitionData::contextByName(const QString& name) const
+{
+ foreach (auto context, contexts) {
+ if (context->name() == name)
+ return context;
+ }
+ return Q_NULLPTR;
+}
+
+KeywordList DefinitionData::keywordList(const QString& name) const
+{
+ return keywordLists.value(name);
+}
+
+bool DefinitionData::isDelimiter(QChar c) const
+{
+ return std::binary_search(delimiters.constBegin(), delimiters.constEnd(), c);
+}
+
+Format DefinitionData::formatByName(const QString& name) const
+{
+ const auto it = formats.constFind(name);
+ if (it != formats.constEnd())
+ return it.value();
+
+ return Format();
+}
+
+bool DefinitionData::isLoaded() const
+{
+ return !contexts.isEmpty();
+}
+
+bool DefinitionData::load()
+{
+ if (isLoaded())
+ return true;
+
+ Q_ASSERT(!fileName.isEmpty());
+ QFile file(fileName);
+ if (!file.open(QFile::ReadOnly))
+ return false;
+
+ QXmlStreamReader reader(&file);
+ while (!reader.atEnd()) {
+ const auto token = reader.readNext();
+ if (token != QXmlStreamReader::StartElement)
+ continue;
+
+ if (reader.name() == QLatin1String("highlighting"))
+ loadHighlighting(reader);
+
+ else if (reader.name() == QLatin1String("general"))
+ loadGeneral(reader);
+ }
+
+ for (auto it = keywordLists.begin(); it != keywordLists.end(); ++it)
+ (*it).setCaseSensitivity(caseSensitive);
+
+ foreach (auto context, contexts) {
+ context->resolveContexts();
+ context->resolveIncludes();
+ }
+
+ Q_ASSERT(std::is_sorted(delimiters.constBegin(), delimiters.constEnd()));
+ return true;
+}
+
+void DefinitionData::clear()
+{
+ // keep only name and repo, so we can re-lookup to make references persist over repo reloads
+ keywordLists.clear();
+ qDeleteAll(contexts);
+ contexts.clear();
+ formats.clear();
+
+ fileName.clear();
+ section.clear();
+ style.clear();
+ indenter.clear();
+ author.clear();
+ license.clear();
+ mimetypes.clear();
+ extensions.clear();
+ delimiters = QStringLiteral("\t !%&()*+,-./:;<=>?[\\]^{|}~"); // must be sorted!
+ caseSensitive = Qt::CaseSensitive,
+ version = 0.0f;
+ priority = 0;
+ hidden = false;
+}
+
+bool DefinitionData::loadMetaData(const QString& definitionFileName)
+{
+ fileName = definitionFileName;
+
+ QFile file(definitionFileName);
+ if (!file.open(QFile::ReadOnly))
+ return false;
+
+ QXmlStreamReader reader(&file);
+ while (!reader.atEnd()) {
+ const auto token = reader.readNext();
+ if (token != QXmlStreamReader::StartElement)
+ continue;
+ if (reader.name() == QLatin1String("language")) {
+ return loadLanguage(reader);
+ }
+ }
+
+ return false;
+}
+
+bool DefinitionData::loadMetaData(const QString &file, const QJsonObject &obj)
+{
+ name = obj.value(QLatin1String("name")).toString();
+ section = obj.value(QLatin1String("section")).toString();
+ version = obj.value(QLatin1String("version")).toInt();
+ priority = obj.value(QLatin1String("priority")).toInt();
+ style = obj.value(QLatin1String("style")).toString();
+ author = obj.value(QLatin1String("author")).toString();
+ license = obj.value(QLatin1String("license")).toString();
+ indenter = obj.value(QLatin1String("indenter")).toString();
+ hidden = obj.value(QLatin1String("hidden")).toBool();
+ fileName = file;
+
+ const auto exts = obj.value(QLatin1String("extensions")).toString();
+ foreach (const auto &ext, exts.split(QLatin1Char(';'), QString::SkipEmptyParts))
+ extensions.push_back(ext);
+ const auto mts = obj.value(QLatin1String("mimetype")).toString();
+ foreach (const auto &mt, mts.split(QLatin1Char(';'), QString::SkipEmptyParts))
+ mimetypes.push_back(mt);
+
+ return true;
+}
+
+bool DefinitionData::loadLanguage(QXmlStreamReader &reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("language"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+
+ if (!checkKateVersion(reader.attributes().value(QStringLiteral("kateversion"))))
+ return false;
+
+ name = reader.attributes().value(QStringLiteral("name")).toString();
+ section = reader.attributes().value(QStringLiteral("section")).toString();
+ // toFloat instead of toInt for backward compatibility with old Kate files
+ version = reader.attributes().value(QStringLiteral("version")).toFloat();
+ priority = reader.attributes().value(QStringLiteral("priority")).toInt();
+ hidden = Xml::attrToBool(reader.attributes().value(QStringLiteral("hidden")));
+ style = reader.attributes().value(QStringLiteral("style")).toString();
+ indenter = reader.attributes().value(QStringLiteral("indenter")).toString();
+ author = reader.attributes().value(QStringLiteral("author")).toString();
+ license = reader.attributes().value(QStringLiteral("license")).toString();
+ const auto exts = reader.attributes().value(QStringLiteral("extensions")).toString();
+ foreach (const auto &ext, exts.split(QLatin1Char(';'), QString::SkipEmptyParts))
+ extensions.push_back(ext);
+ const auto mts = reader.attributes().value(QStringLiteral("mimetype")).toString();
+ foreach (const auto &mt, mts.split(QLatin1Char(';'), QString::SkipEmptyParts))
+ mimetypes.push_back(mt);
+ if (reader.attributes().hasAttribute(QStringLiteral("casesensitive")))
+ caseSensitive = Xml::attrToBool(reader.attributes().value(QStringLiteral("casesensitive"))) ? Qt::CaseSensitive : Qt::CaseInsensitive;
+ return true;
+}
+
+void DefinitionData::loadHighlighting(QXmlStreamReader& reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("highlighting"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+
+ while (!reader.atEnd()) {
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ if (reader.name() == QLatin1String("list")) {
+ KeywordList keywords;
+ keywords.load(reader);
+ keywordLists.insert(keywords.name(), keywords);
+ } else if (reader.name() == QLatin1String("contexts")) {
+ loadContexts(reader);
+ reader.readNext();
+ } else if (reader.name() == QLatin1String("itemDatas")) {
+ loadItemData(reader);
+ } else {
+ reader.readNext();
+ }
+ break;
+ case QXmlStreamReader::EndElement:
+ return;
+ default:
+ reader.readNext();
+ break;
+ }
+ }
+}
+
+void DefinitionData::loadContexts(QXmlStreamReader& reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("contexts"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+
+ while (!reader.atEnd()) {
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ if (reader.name() == QLatin1String("context")) {
+ auto context = new Context;
+ context->setDefinition(q);
+ context->load(reader);
+ contexts.push_back(context);
+ }
+ reader.readNext();
+ break;
+ case QXmlStreamReader::EndElement:
+ return;
+ default:
+ reader.readNext();
+ break;
+ }
+ }
+}
+
+void DefinitionData::loadItemData(QXmlStreamReader& reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("itemDatas"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+
+ while (!reader.atEnd()) {
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ if (reader.name() == QLatin1String("itemData")) {
+ Format f;
+ auto formatData = FormatPrivate::get(f);
+ formatData->definition = q;
+ formatData->load(reader);
+ formatData->id = RepositoryPrivate::get(repo)->nextFormatId();
+ formats.insert(f.name(), f);
+ reader.readNext();
+ }
+ reader.readNext();
+ break;
+ case QXmlStreamReader::EndElement:
+ return;
+ default:
+ reader.readNext();
+ break;
+ }
+ }
+}
+
+void DefinitionData::loadGeneral(QXmlStreamReader& reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("general"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+ reader.readNext();
+
+ // reference counter to count XML child elements, to not return too early
+ int elementRefCounter = 1;
+
+ while (!reader.atEnd()) {
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ ++elementRefCounter;
+
+ if (reader.name() == QLatin1String("keywords")) {
+ if (reader.attributes().hasAttribute(QStringLiteral("casesensitive")))
+ caseSensitive = Xml::attrToBool(reader.attributes().value(QStringLiteral("casesensitive"))) ? Qt::CaseSensitive : Qt::CaseInsensitive;
+ delimiters += reader.attributes().value(QStringLiteral("additionalDeliminator"));
+ std::sort(delimiters.begin(), delimiters.end());
+ auto it = std::unique(delimiters.begin(), delimiters.end());
+ delimiters.truncate(std::distance(delimiters.begin(), it));
+ foreach (const auto c, reader.attributes().value(QLatin1String("weakDeliminator")))
+ delimiters.remove(c);
+ } else if (reader.name() == QLatin1String("folding")) {
+ if (reader.attributes().hasAttribute(QStringLiteral("indentationsensitive")))
+ indentationBasedFolding = Xml::attrToBool(reader.attributes().value(QStringLiteral("indentationsensitive")));
+ } else if (reader.name() == QLatin1String("emptyLines")) {
+ loadFoldingIgnoreList(reader);
+ } else {
+ reader.skipCurrentElement();
+ }
+ reader.readNext();
+ break;
+ case QXmlStreamReader::EndElement:
+ --elementRefCounter;
+ if (elementRefCounter == 0)
+ return;
+ default:
+ reader.readNext();
+ break;
+ }
+ }
+}
+
+void DefinitionData::loadFoldingIgnoreList(QXmlStreamReader& reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("emptyLines"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+ reader.readNext();
+
+ // reference counter to count XML child elements, to not return too early
+ int elementRefCounter = 1;
+
+ while (!reader.atEnd()) {
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ ++elementRefCounter;
+ if (reader.name() == QLatin1String("emptyLine")) {
+ foldingIgnoreList << reader.attributes().value(QStringLiteral("regexpr")).toString();
+ }
+ reader.readNext();
+ break;
+ case QXmlStreamReader::EndElement:
+ --elementRefCounter;
+ if (elementRefCounter == 0)
+ return;
+ default:
+ reader.readNext();
+ break;
+ }
+ }
+}
+
+bool DefinitionData::checkKateVersion(const QStringRef& verStr)
+{
+ const auto idx = verStr.indexOf(QLatin1Char('.'));
+ if (idx <= 0) {
+ qCWarning(Log) << "Skipping" << fileName << "due to having no valid kateversion attribute:" << verStr;
+ return false;
+ }
+ const auto major = verStr.left(idx).toInt();
+ const auto minor = verStr.mid(idx + 1).toInt();
+
+ if (major > SyntaxHighlighting_VERSION_MAJOR || (major == SyntaxHighlighting_VERSION_MAJOR && minor > SyntaxHighlighting_VERSION_MINOR)) {
+ qCWarning(Log) << "Skipping" << fileName << "due to being too new, version:" << verStr;
+ return false;
+ }
+
+ return true;
+}
+
+quint16 DefinitionData::foldingRegionId(const QString &foldName)
+{
+ return RepositoryPrivate::get(repo)->foldingRegionId(name, foldName);
+}
+
+DefinitionRef::DefinitionRef()
+{
+}
+
+DefinitionRef::DefinitionRef(const Definition &def) :
+ d(def.d)
+{
+}
+
+DefinitionRef::~DefinitionRef()
+{
+}
+
+DefinitionRef& DefinitionRef::operator=(const Definition &def)
+{
+ d = def.d;
+ return *this;
+}
+
+Definition DefinitionRef::definition() const
+{
+ if (!d.expired())
+ return Definition(d.lock());
+ return Definition();
+}
diff --git a/src/lib/definition.h b/src/lib/definition.h
new file mode 100644
index 0000000..d97e0a1
--- /dev/null
+++ b/src/lib/definition.h
@@ -0,0 +1,185 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_DEFINITION_H
+#define KSYNTAXHIGHLIGHTING_DEFINITION_H
+
+#include "ksyntaxhighlighting_export.h"
+
+#include
+
+#include
+
+class QString;
+class QStringList;
+template class QVector;
+
+namespace KSyntaxHighlighting {
+
+class Context;
+class Format;
+class KeywordList;
+
+class DefinitionData;
+
+/**
+ * Represents a syntax definition.
+ *
+ * @section def_intro Introduction to Definitions
+ *
+ * A Definition is the short term for a syntax highlighting definition. It
+ * typically is defined in terms of an XML syntax highlighting file, containing
+ * all information about a particular syntax highlighting. This includes the
+ * highlighting of keywords, information about code folding regions, and
+ * indentation preferences.
+ *
+ * @section def_info General Information
+ *
+ * Each Definition contains a non-translated unique name() and a section().
+ * In addition, for putting this information e.g. into menus, the functions
+ * translatedName() and translatedSection() are provided. However, if isHidden()
+ * returns @e true, the Definition should not be visible in the UI. The location
+ * of the Definition can be obtained through filePath(), which either is the
+ * location on disk or a path to a compiled-in Qt resource.
+ *
+ * The supported files of a Definition are defined by the list of extensions(),
+ * and additionally by the list of mimeTypes(). Note, that extensions() returns
+ * wildcards that need to be matched against the filename of the file that
+ * requires highlighting. If multiple Definition%s match the file, then the one
+ * with higher priority() wins.
+ *
+ * @see Repository
+ */
+class KSYNTAXHIGHLIGHTING_EXPORT Definition
+{
+public:
+ /**
+ * Default constructor, creating an empty (invalid) Definition instance.
+ * isValid() for this instance returns @e false.
+ *
+ * Use the Repository instead to obtain valid instances.
+ */
+ Definition();
+
+ /**
+ * Copy constructor.
+ * Both this definition as well as @p other share the Definition data.
+ */
+ Definition(const Definition &other);
+
+ /**
+ * Destructor.
+ */
+ ~Definition();
+
+ /**
+ * Assignment operator.
+ * Both this definition as well as @p rhs share the Definition data.
+ */
+ Definition& operator=(const Definition &rhs);
+
+ /**
+ * Checks two definitions for equality.
+ */
+ bool operator==(const Definition &other) const;
+
+ /**
+ * Checks two definitions for inequality.
+ */
+ bool operator!=(const Definition &other) const;
+
+ /** Checks whether this object refers to a valid syntax definition. */
+ bool isValid() const;
+ /** Returns the full path to the definition XML file containing
+ * the syntax definition. Note that this can be a path to QRC content.
+ */
+ QString filePath() const;
+
+ /** Name of the syntax.
+ * Used for internal references, prefer translatedName() for display.
+ */
+ QString name() const;
+ /** Translated name for display. */
+ QString translatedName() const;
+ /** The group this syntax definition belongs to.
+ * For display, consider translatedSection().
+ */
+ QString section() const;
+ /** Translated group name for display. */
+ QString translatedSection() const;
+ /** Mime types associated with this syntax definition. */
+ QVector mimeTypes() const;
+ /**
+ * File extensions associated with this syntax definition.
+ * The returned list contains wildcards.
+ */
+ QVector extensions() const;
+ /** Returns the definition version. */
+ int version() const;
+ /**
+ * Returns the definition priority.
+ * A Definition with higher priority wins over Definitions with lower priorities.
+ */
+ int priority() const;
+ /** Returns @c true if this is an internal definition that should not be
+ * displayed to the user.
+ */
+ bool isHidden() const;
+ /** Generalized language style, used for indentation. */
+ QString style() const;
+ /** Indentation style to be used for this syntax. */
+ QString indenter() const;
+ /** Name and email of the author of this syntax definition. */
+ QString author() const;
+ /** License of this syntax definition. */
+ QString license() const;
+
+ /**
+ * Returns whether indentation-based folding is enabled.
+ * An example for indentation-based folding is Python.
+ * When indentation-based folding is enabled, make sure to also check
+ * foldingIgnoreList() for lines that should be treated as empty.
+ *
+ * @see foldingIgnoreList(), State::indentationBasedFoldingEnabled()
+ */
+ bool indentationBasedFoldingEnabled() const;
+
+ /**
+ * If indentationBasedFoldingEnabled() returns @c true, this function returns
+ * a list of regular expressions that represent empty lines. That is, all
+ * lines matching entirely one of the regular expressions should be treated
+ * as empty lines when calculating the indentation-based folding ranges.
+ *
+ * @note This list is only of relevance, if indentationBasedFoldingEnabled()
+ * returns @c true.
+ *
+ * @see indentationBasedFoldingEnabled()
+ */
+ QStringList foldingIgnoreList() const;
+
+private:
+ friend class DefinitionData;
+ friend class DefinitionRef;
+ explicit Definition(const std::shared_ptr &dd);
+ std::shared_ptr d;
+};
+
+}
+
+Q_DECLARE_TYPEINFO(KSyntaxHighlighting::Definition, Q_MOVABLE_TYPE);
+
+#endif
diff --git a/src/lib/definition_p.h b/src/lib/definition_p.h
new file mode 100644
index 0000000..c31d37b
--- /dev/null
+++ b/src/lib/definition_p.h
@@ -0,0 +1,96 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_DEFINITION_P_H
+#define KSYNTAXHIGHLIGHTING_DEFINITION_P_H
+
+#include "definitionref_p.h"
+
+#include
+#include
+#include
+
+QT_BEGIN_NAMESPACE
+class QXmlStreamReader;
+class QJsonObject;
+QT_END_NAMESPACE
+
+namespace KSyntaxHighlighting {
+
+class Definition;
+class Repository;
+
+class DefinitionData
+{
+public:
+ DefinitionData();
+ ~DefinitionData();
+
+ static DefinitionData* get(const Definition &def);
+
+ bool isLoaded() const;
+ bool loadMetaData(const QString &definitionFileName);
+ bool loadMetaData(const QString &fileName, const QJsonObject &obj);
+
+ void clear();
+
+ bool load();
+ bool loadLanguage(QXmlStreamReader &reader);
+ void loadHighlighting(QXmlStreamReader &reader);
+ void loadContexts(QXmlStreamReader &reader);
+ void loadItemData(QXmlStreamReader &reader);
+ void loadGeneral(QXmlStreamReader &reader);
+ void loadFoldingIgnoreList(QXmlStreamReader &reader);
+ bool checkKateVersion(const QStringRef &verStr);
+
+ KeywordList keywordList(const QString &name) const;
+ bool isDelimiter(QChar c) const;
+
+ Context* initialContext() const;
+ Context* contextByName(const QString &name) const;
+
+ Format formatByName(const QString &name) const;
+
+ quint16 foldingRegionId(const QString &foldName);
+
+ DefinitionRef q;
+
+ Repository *repo;
+ QHash keywordLists;
+ QVector contexts;
+ QHash formats;
+ QString delimiters;
+ bool indentationBasedFolding;
+ QStringList foldingIgnoreList;
+
+ QString fileName;
+ QString name;
+ QString section;
+ QString style;
+ QString indenter;
+ QString author;
+ QString license;
+ QVector mimetypes;
+ QVector extensions;
+ Qt::CaseSensitivity caseSensitive;
+ int version;
+ int priority;
+ bool hidden;
+};
+}
+
+#endif
diff --git a/src/lib/definitiondownloader.cpp b/src/lib/definitiondownloader.cpp
new file mode 100644
index 0000000..17f7b94
--- /dev/null
+++ b/src/lib/definitiondownloader.cpp
@@ -0,0 +1,187 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "definitiondownloader.h"
+#include "definition.h"
+#include "repository.h"
+#include "ksyntaxhighlighting_logging.h"
+#include "ksyntaxhighlighting_version.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+class KSyntaxHighlighting::DefinitionDownloaderPrivate
+{
+public:
+ DefinitionDownloader *q;
+ Repository *repo;
+ QNetworkAccessManager *nam;
+ QString downloadLocation;
+ int pendingDownloads;
+ bool needsReload;
+
+ void definitionListDownloadFinished(QNetworkReply *reply);
+ void updateDefinition(QXmlStreamReader &parser);
+ void downloadDefinition(const QUrl &url);
+ void downloadDefinitionFinished(QNetworkReply *reply);
+ void checkDone();
+};
+
+void DefinitionDownloaderPrivate::definitionListDownloadFinished(QNetworkReply *reply)
+{
+ if (reply->error() != QNetworkReply::NoError) {
+ qCWarning(Log) << reply->error();
+ emit q->done(); // TODO return error
+ return;
+ }
+
+ QXmlStreamReader parser(reply);
+ while (!parser.atEnd()) {
+ switch (parser.readNext()) {
+ case QXmlStreamReader::StartElement:
+ if (parser.name() == QLatin1String("Definition"))
+ updateDefinition(parser);
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (pendingDownloads == 0)
+ emit q->informationMessage(QObject::tr("All syntax definitions are up-to-date."));
+ checkDone();
+}
+
+void DefinitionDownloaderPrivate::updateDefinition(QXmlStreamReader &parser)
+{
+ const auto name = parser.attributes().value(QLatin1String("name"));
+ if (name.isEmpty())
+ return;
+
+ auto localDef = repo->definitionForName(name.toString());
+ if (!localDef.isValid()) {
+ emit q->informationMessage(QObject::tr("Downloading new syntax definition for '%1'...").arg(name.toString()));
+ downloadDefinition(QUrl(parser.attributes().value(QLatin1String("url")).toString()));
+ return;
+ }
+
+ const auto version = parser.attributes().value(QLatin1String("version"));
+ if (localDef.version() < version.toFloat()) {
+ emit q->informationMessage(QObject::tr("Updating syntax definition for '%1' to version %2...").arg(name.toString(), version.toString()));
+ downloadDefinition(QUrl(parser.attributes().value(QLatin1String("url")).toString()));
+ }
+}
+
+void DefinitionDownloaderPrivate::downloadDefinition(const QUrl& downloadUrl)
+{
+ if (!downloadUrl.isValid())
+ return;
+ auto url = downloadUrl;
+ if (url.scheme() == QLatin1String("http"))
+ url.setScheme(QStringLiteral("https"));
+
+ QNetworkRequest req(url);
+ auto reply = nam->get(req);
+ QObject::connect(reply, &QNetworkReply::finished, q, [this, reply]() {
+ downloadDefinitionFinished(reply);
+ });
+ ++pendingDownloads;
+ needsReload = true;
+}
+
+void DefinitionDownloaderPrivate::downloadDefinitionFinished(QNetworkReply *reply)
+{
+ --pendingDownloads;
+ if (reply->error() != QNetworkReply::NoError) {
+ qCWarning(Log) << "Failed to download definition file" << reply->url() << reply->error();
+ checkDone();
+ return;
+ }
+
+ // handle redirects
+ // needs to be done manually, download server redirects to unsafe http links
+ const auto redirectUrl = reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
+ if (!redirectUrl.isEmpty()) {
+ downloadDefinition(reply->url().resolved(redirectUrl));
+ checkDone();
+ return;
+ }
+
+ QFile file(downloadLocation + QLatin1Char('/') + reply->url().fileName());
+ if (!file.open(QFile::WriteOnly)) {
+ qCWarning(Log) << "Failed to open" << file.fileName() << file.error();
+ } else {
+ file.write(reply->readAll());
+ }
+ checkDone();
+}
+
+void DefinitionDownloaderPrivate::checkDone()
+{
+ if (pendingDownloads == 0) {
+ if (needsReload)
+ repo->reload();
+
+ emit QTimer::singleShot(0, q, &DefinitionDownloader::done);
+ }
+}
+
+
+DefinitionDownloader::DefinitionDownloader(Repository *repo, QObject *parent)
+ : QObject(parent)
+ , d(new DefinitionDownloaderPrivate())
+{
+ Q_ASSERT(repo);
+
+ d->q = this;
+ d->repo = repo;
+ d->nam = new QNetworkAccessManager(this);
+ d->pendingDownloads = 0;
+ d->needsReload = false;
+
+ d->downloadLocation = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/org.kde.syntax-highlighting/syntax");
+ QDir().mkpath(d->downloadLocation);
+ Q_ASSERT(QFile::exists(d->downloadLocation));
+}
+
+DefinitionDownloader::~DefinitionDownloader()
+{
+}
+
+void DefinitionDownloader::start()
+{
+ const QString url = QLatin1String("https://www.kate-editor.org/syntax/update-")
+ + QString::number(SyntaxHighlighting_VERSION_MAJOR)
+ + QLatin1Char('.')
+ + QString::number(SyntaxHighlighting_VERSION_MINOR)
+ + QLatin1String(".xml");
+ auto req = QNetworkRequest(QUrl(url));
+ req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
+ auto reply = d->nam->get(req);
+ QObject::connect(reply, &QNetworkReply::finished, this, [=]() {
+ d->definitionListDownloadFinished(reply);
+ });
+}
diff --git a/src/lib/definitiondownloader.h b/src/lib/definitiondownloader.h
new file mode 100644
index 0000000..4fade87
--- /dev/null
+++ b/src/lib/definitiondownloader.h
@@ -0,0 +1,106 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_DEFINITIONDOWNLOADER_H
+#define KSYNTAXHIGHLIGHTING_DEFINITIONDOWNLOADER_H
+
+#include "ksyntaxhighlighting_export.h"
+
+#include
+#include
+
+namespace KSyntaxHighlighting {
+
+class DefinitionDownloaderPrivate;
+class Repository;
+
+/**
+ * Helper class to download definition file updates.
+ *
+ * With the DefinitionDownloader you can download new and update existing
+ * syntax highlighting definition files (xml files).
+ *
+ * An example that updates the highlighting Definition%s and prints the current
+ * update progress to the console may look as follows:
+ *
+ * @code
+ * auto downloader = new DefinitionDownloader(repo); // repo is a pointer to a Repository
+ *
+ * // print update progress to console
+ * QObject::connect(downloader, &DefinitionDownloader::informationMessage, [](const QString &msg) {
+ * std::cout << qPrintable(msg) << std::endl;
+ * });
+ *
+ * // connect to signal done to delete the downloader later
+ * QObject::connect(downloader, &DefinitionDownloader::done,
+ * downloader, &DefinitionDownloader::deleteLater);
+ * downloader->start();
+ * @endcode
+ *
+ * @see Repository, Definition
+ */
+class KSYNTAXHIGHLIGHTING_EXPORT DefinitionDownloader : public QObject
+{
+ Q_OBJECT
+public:
+ /**
+ * Constructor.
+ * The Repository @p repo is used as reference to compare the versions of
+ * the existing Definition%s with the ones that are available online.
+ *
+ * Optionally, @p parent is a pointer to the owner of this instance.
+ */
+ explicit DefinitionDownloader(Repository *repo, QObject *parent = Q_NULLPTR);
+
+ /**
+ * Destructor.
+ */
+ ~DefinitionDownloader();
+
+ /**
+ * Starts the update procedure.
+ * Once no more updates are available (i.e. either the local definition files
+ * are up-to-date, or all updates have been downloaded), the signal done()
+ * is emitted.
+ *
+ * During the update process, the signal informationMessage() can be used
+ * to display the current update progress to the user.
+ *
+ * @see done(), informationMessage()
+ */
+ void start();
+
+Q_SIGNALS:
+ /**
+ * Prints the information about the current state of the definition files.
+ * If all files are up-to-date, this signal is emitted informing you that
+ * all highlighting files are up-to-date. If there are updates, this signal
+ * is emitted for each update being downloaded.
+ */
+ void informationMessage(const QString &msg);
+
+ /**
+ * This signal is emitted when there are no pending downloads anymore.
+ */
+ void done();
+
+private:
+ std::unique_ptr d;
+};
+}
+
+#endif // KSYNTAXHIGHLIGHTING_DEFINITIONDOWNLOADER_H
diff --git a/src/lib/definitionref_p.h b/src/lib/definitionref_p.h
new file mode 100644
index 0000000..222b2a4
--- /dev/null
+++ b/src/lib/definitionref_p.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_DEFINITIONREF_P_H
+#define KSYNTAXHIGHLIGHTING_DEFINITIONREF_P_H
+
+#include
+
+namespace KSyntaxHighlighting {
+
+class Definition;
+class DefinitionData;
+class DefinitionPrivate;
+
+/** Weak reference for Definition instances.
+ *
+ * This must be used when holding Definition instances
+ * in objects hold directly or indirectly by Definition
+ * to avoid reference count loops and thus memory leaks.
+ *
+ * @internal
+ */
+class DefinitionRef
+{
+public:
+ DefinitionRef();
+ explicit DefinitionRef(const Definition &def);
+ ~DefinitionRef();
+ DefinitionRef& operator=(const Definition &def);
+
+ Definition definition() const;
+
+private:
+ friend class DefinitionData;
+ std::weak_ptr d;
+};
+
+}
+
+#endif
+
diff --git a/src/lib/foldingregion.cpp b/src/lib/foldingregion.cpp
new file mode 100644
index 0000000..c60e5b3
--- /dev/null
+++ b/src/lib/foldingregion.cpp
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "foldingregion.h"
+
+using namespace KSyntaxHighlighting;
+
+static_assert(sizeof(FoldingRegion) == 2, "FoldingRegion is size-sensitive to frequent use in KTextEditor!");
+
+FoldingRegion::FoldingRegion() :
+ m_type(None),
+ m_id(0)
+{
+}
+
+FoldingRegion::FoldingRegion(Type type, quint16 id) :
+ m_type(type),
+ m_id(id)
+{
+}
+
+bool FoldingRegion::operator==(const FoldingRegion &other) const
+{
+ return m_id == other.m_id && m_type == other.m_type;
+}
+
+bool FoldingRegion::isValid() const
+{
+ return type() != None;
+}
+
+quint16 FoldingRegion::id() const
+{
+ return m_id;
+}
+
+FoldingRegion::Type FoldingRegion::type() const
+{
+ return static_cast(m_type);
+}
diff --git a/src/lib/foldingregion.h b/src/lib/foldingregion.h
new file mode 100644
index 0000000..9f44a47
--- /dev/null
+++ b/src/lib/foldingregion.h
@@ -0,0 +1,99 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_FOLDINGREGION_H
+#define KSYNTAXHIGHLIGHTING_FOLDINGREGION_H
+
+#include "ksyntaxhighlighting_export.h"
+
+#include
+
+namespace KSyntaxHighlighting {
+
+/** Represents a begin or end of a folding region. */
+class KSYNTAXHIGHLIGHTING_EXPORT FoldingRegion
+{
+public:
+ /**
+ * Defines whether a FoldingRegion starts or ends a folding region.
+ */
+ enum Type {
+ //! Used internally as indicator for invalid FoldingRegion%s.
+ None,
+ //! Indicates the start of a FoldingRegion.
+ Begin,
+ //! Indicates the end of a FoldingRegion.
+ End
+ };
+
+ /**
+ * Constructs an invalid folding region, meaning that isValid() returns @e false.
+ * To obtain valid instances, see AbstractHighlighter::applyFolding().
+ */
+ FoldingRegion();
+
+ /** Compares two FoldingRegion instances for equality. */
+ bool operator==(const FoldingRegion &other) const;
+
+ /**
+ * Returns @c true if this is a valid folding region.
+ * A valid FoldingRegion is defined by a type() other than Type::None.
+ *
+ * @note The FoldingRegion%s passed in AbstractHighlighter::applyFolding()
+ * are always valid.
+ */
+ bool isValid() const;
+
+ /**
+ * Returns a unique identifier for this folding region.
+ *
+ * As example, the C/C++ highlighter starts and ends a folding region for
+ * scopes, e.g.:
+ * \code
+ * void foo() { // '{' starts a folding region
+ * if (bar()) { // '{' starts a (nested) folding region
+ * } // '}' ends the (nested) folding region
+ * } // '}' ends the outer folding region
+ * \endcode
+ * In this example, all braces '{' and '}' have the same id(), meaning that
+ * if you want to find the matching closing region for the first opening
+ * brace, you need to do kind of a reference counting to find the correct
+ * closing brace.
+ */
+ quint16 id() const;
+
+ /**
+ * Returns whether this is the begin or end of a region.
+ *
+ * @note The FoldingRegion%s passed in AbstractHighlighter::applyFolding()
+ * are always valid, i.e. either Type::Begin or Type::End.
+ */
+ Type type() const;
+
+private:
+ friend class Rule;
+ FoldingRegion(Type type, quint16 id);
+
+ quint16 m_type : 2;
+ quint16 m_id: 14;
+};
+
+}
+
+Q_DECLARE_TYPEINFO(KSyntaxHighlighting::FoldingRegion, Q_PRIMITIVE_TYPE);
+
+#endif
diff --git a/src/lib/format.cpp b/src/lib/format.cpp
new file mode 100644
index 0000000..4b38666
--- /dev/null
+++ b/src/lib/format.cpp
@@ -0,0 +1,254 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "format.h"
+#include "format_p.h"
+#include "definition.h"
+#include "definitionref_p.h"
+#include "textstyledata_p.h"
+#include "theme.h"
+#include "themedata_p.h"
+#include "xml_p.h"
+
+#include
+#include
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+static Theme::TextStyle stringToDefaultFormat(const QStringRef &str)
+{
+ if (!str.startsWith(QLatin1String("ds")))
+ return Theme::Normal;
+
+ static const auto idx = Theme::staticMetaObject.indexOfEnumerator("TextStyle");
+ Q_ASSERT(idx >= 0);
+ const auto metaEnum = Theme::staticMetaObject.enumerator(idx);
+
+ bool ok = false;
+ const auto value = metaEnum.keyToValue(str.mid(2).toLatin1().constData(), &ok);
+ if (!ok || value < 0)
+ return Theme::Normal;
+ return static_cast(value);
+}
+
+FormatPrivate::FormatPrivate()
+ : defaultStyle(Theme::Normal)
+ , id(0)
+ , spellCheck(true)
+{
+}
+
+FormatPrivate* FormatPrivate::get(const Format &format)
+{
+ return format.d.data();
+}
+
+TextStyleData FormatPrivate::styleOverride(const Theme &theme) const
+{
+ const auto themeData = ThemeData::get(theme);
+ if (themeData)
+ return themeData->textStyleOverride(definition.definition().name(), name);
+ return TextStyleData();
+}
+
+Format::Format() : d(new FormatPrivate)
+{
+}
+
+Format::Format(const Format &other) :
+ d(other.d)
+{
+}
+
+Format::~Format()
+{
+}
+
+Format& Format::operator=(const Format& other)
+{
+ d = other.d;
+ return *this;
+}
+
+bool Format::isValid() const
+{
+ return !d->name.isEmpty();
+}
+
+QString Format::name() const
+{
+ return d->name;
+}
+
+quint16 Format::id() const
+{
+ return d->id;
+}
+
+bool Format::isDefaultTextStyle(const Theme &theme) const
+{
+ return (!hasTextColor(theme))
+ && (!hasBackgroundColor(theme))
+ && (selectedTextColor(theme) == theme.selectedTextColor(Theme::Normal))
+ && (selectedBackgroundColor(theme) == theme.selectedBackgroundColor(Theme::Normal))
+ && (isBold(theme) == theme.isBold(Theme::Normal))
+ && (isItalic(theme) == theme.isItalic(Theme::Normal))
+ && (isUnderline(theme) == theme.isUnderline(Theme::Normal))
+ && (isStrikeThrough(theme) == theme.isStrikeThrough(Theme::Normal));
+}
+
+bool Format::hasTextColor(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ return textColor(theme) != theme.textColor(Theme::Normal)
+ && (d->style.textColor || theme.textColor(d->defaultStyle) || overrideStyle.textColor);
+}
+
+QColor Format::textColor(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.textColor)
+ return overrideStyle.textColor;
+ return d->style.textColor ? d->style.textColor : theme.textColor(d->defaultStyle);
+}
+
+QColor Format::selectedTextColor(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.selectedTextColor)
+ return overrideStyle.selectedTextColor;
+ return d->style.selectedTextColor ? d->style.selectedTextColor : theme.selectedTextColor(d->defaultStyle);
+}
+
+bool Format::hasBackgroundColor(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ return backgroundColor(theme) != theme.backgroundColor(Theme::Normal)
+ && (d->style.backgroundColor || theme.backgroundColor(d->defaultStyle) || overrideStyle.backgroundColor);
+}
+
+QColor Format::backgroundColor(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.backgroundColor)
+ return overrideStyle.backgroundColor;
+ return d->style.backgroundColor ? d->style.backgroundColor : theme.backgroundColor(d->defaultStyle);
+}
+
+QColor Format::selectedBackgroundColor(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.selectedBackgroundColor)
+ return overrideStyle.selectedBackgroundColor;
+ return d->style.selectedBackgroundColor ? d->style.selectedBackgroundColor
+ : theme.selectedBackgroundColor(d->defaultStyle);
+}
+
+bool Format::isBold(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.hasBold)
+ return overrideStyle.bold;
+ return d->style.hasBold ? d->style.bold : theme.isBold(d->defaultStyle);
+}
+
+bool Format::isItalic(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.hasItalic)
+ return overrideStyle.italic;
+ return d->style.hasItalic ? d->style.italic : theme.isItalic(d->defaultStyle);
+}
+
+bool Format::isUnderline(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.hasUnderline)
+ return overrideStyle.underline;
+ return d->style.hasUnderline ? d->style.underline : theme.isUnderline(d->defaultStyle);
+}
+
+bool Format::isStrikeThrough(const Theme &theme) const
+{
+ const auto overrideStyle = d->styleOverride(theme);
+ if (overrideStyle.hasStrikeThrough)
+ return overrideStyle.strikeThrough;
+ return d->style.hasStrikeThrough ? d->style.strikeThrough : theme.isStrikeThrough(d->defaultStyle);
+}
+
+bool Format::spellCheck() const
+{
+ return d->spellCheck;
+}
+
+
+void FormatPrivate::load(QXmlStreamReader& reader)
+{
+ name = reader.attributes().value(QStringLiteral("name")).toString();
+ defaultStyle = stringToDefaultFormat(reader.attributes().value(QStringLiteral("defStyleNum")));
+
+ QStringRef ref = reader.attributes().value(QStringLiteral("color"));
+ if (!ref.isEmpty()) {
+ style.textColor = QColor(ref.toString()).rgba();
+ }
+
+ ref = reader.attributes().value(QStringLiteral("selColor"));
+ if (!ref.isEmpty()) {
+ style.selectedTextColor = QColor(ref.toString()).rgba();
+ }
+
+ ref = reader.attributes().value(QStringLiteral("backgroundColor"));
+ if (!ref.isEmpty()) {
+ style.backgroundColor = QColor(ref.toString()).rgba();
+ }
+
+ ref = reader.attributes().value(QStringLiteral("selBackgroundColor"));
+ if (!ref.isEmpty()) {
+ style.selectedBackgroundColor = QColor(ref.toString()).rgba();
+ }
+
+ ref = reader.attributes().value(QStringLiteral("italic"));
+ if (!ref.isEmpty()) {
+ style.hasItalic = true;
+ style.italic = Xml::attrToBool(ref);
+ }
+
+ ref = reader.attributes().value(QStringLiteral("bold"));
+ if (!ref.isEmpty()) {
+ style.hasBold = true;
+ style.bold = Xml::attrToBool(ref);
+ }
+
+ ref = reader.attributes().value(QStringLiteral("underline"));
+ if (!ref.isEmpty()) {
+ style.hasUnderline = true;
+ style.underline = Xml::attrToBool(ref);
+ }
+
+ ref = reader.attributes().value(QStringLiteral("strikeOut"));
+ if (!ref.isEmpty()) {
+ style.hasStrikeThrough = true;
+ style.strikeThrough = Xml::attrToBool(ref);
+ }
+
+ ref = reader.attributes().value(QStringLiteral("spellChecking"));
+ if (!ref.isEmpty()) {
+ spellCheck = Xml::attrToBool(ref);
+ }
+}
diff --git a/src/lib/format.h b/src/lib/format.h
new file mode 100644
index 0000000..cf87737
--- /dev/null
+++ b/src/lib/format.h
@@ -0,0 +1,132 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_FORMAT_H
+#define KSYNTAXHIGHLIGHTING_FORMAT_H
+
+#include "ksyntaxhighlighting_export.h"
+
+#include
+#include
+
+class QColor;
+class QString;
+class QXmlStreamReader;
+
+namespace KSyntaxHighlighting {
+
+class DefinitionRef;
+class FormatPrivate;
+class Theme;
+
+/** Describes the format to be used for a specific text fragment.
+ * The actual format used for displaying is merged from the format information
+ * in the syntax definition file, and a theme.
+ *
+ * @see Theme
+ */
+class KSYNTAXHIGHLIGHTING_EXPORT Format
+{
+public:
+ /** Creates an empty/invalid format. */
+ Format();
+ Format(const Format &other);
+ ~Format();
+
+ Format& operator=(const Format &other);
+
+ /** Returns @c true if this is a valid format, ie. one that
+ * was read from a syntax definition file.
+ */
+ bool isValid() const;
+
+ /** The name of this format as used in the syntax definition file. */
+ QString name() const;
+
+ /** Returns a unique identifier of this format.
+ * This is useful for efficient storing of formats in a text line. The
+ * identifier is unique per Repository instance, but will change when
+ * the repository is reloaded (which also invalidatess the corresponding
+ * Definition anyway).
+ */
+ quint16 id() const;
+
+ /** Returns @c true if the combination of this format and the theme @p theme
+ * do not change the default text format in any way.
+ * This is useful for output formats where changing formatting implies cost,
+ * and thus benefit from optimizing the default case of not having any format
+ * applied. If you make use of this, make sure to set the default text style
+ * to what the corresponding theme sets for Theme::Normal.
+ */
+ bool isDefaultTextStyle(const Theme &theme) const;
+
+ /** Returns @c true if the combination of this format and the theme @p theme
+ * change the foreground color compared to the default format.
+ */
+ bool hasTextColor(const Theme &theme) const;
+ /** Returns the foreground color of the combination of this format and the
+ * given theme.
+ */
+ QColor textColor(const Theme &theme) const;
+ /** Returns the foreground color for selected text of the combination of
+ * this format and the given theme.
+ */
+ QColor selectedTextColor(const Theme &theme) const;
+ /** Returns @c true if the combination of this format and the theme @p theme
+ * change the background color compared to the default format.
+ */
+ bool hasBackgroundColor(const Theme &theme) const;
+ /** Returns the background color of the combination of this format and the
+ * given theme.
+ */
+ QColor backgroundColor(const Theme &theme) const;
+ /** Returns the background color of selected text of the combination of
+ * this format and the given theme.
+ */
+ QColor selectedBackgroundColor(const Theme &theme) const;
+
+ /** Returns @c true if the combination of this format and the given theme
+ * results in bold text formatting.
+ */
+ bool isBold(const Theme &theme) const;
+ /** Returns @c true if the combination of this format and the given theme
+ * results in italic text formatting.
+ */
+ bool isItalic(const Theme &theme) const;
+ /** Returns @c true if the combination of this format and the given theme
+ * results in underlined text.
+ */
+ bool isUnderline(const Theme &theme) const;
+ /** Returns @c true if the combination of this format and the given theme
+ * results in struck through text.
+ */
+ bool isStrikeThrough(const Theme &theme) const;
+
+ /**
+ * Returns whether characters with this format should be spell checked.
+ */
+ bool spellCheck() const;
+
+private:
+ friend class FormatPrivate;
+ QExplicitlySharedDataPointer d;
+};
+}
+
+Q_DECLARE_TYPEINFO(KSyntaxHighlighting::Format, Q_MOVABLE_TYPE);
+
+#endif // KSYNTAXHIGHLIGHTING_FORMAT_H
diff --git a/src/lib/format_p.h b/src/lib/format_p.h
new file mode 100644
index 0000000..5648b3e
--- /dev/null
+++ b/src/lib/format_p.h
@@ -0,0 +1,49 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_FORMAT_P_H
+#define KSYNTAXHIGHLIGHTING_FORMAT_P_H
+
+#include "definitionref_p.h"
+#include "textstyledata_p.h"
+#include "theme.h"
+
+#include
+#include
+
+namespace KSyntaxHighlighting {
+
+class FormatPrivate : public QSharedData
+{
+public:
+ FormatPrivate();
+ static FormatPrivate* get(const Format &format);
+
+ TextStyleData styleOverride(const Theme &theme) const;
+ void load(QXmlStreamReader &reader);
+
+ DefinitionRef definition;
+ QString name;
+ TextStyleData style;
+ Theme::TextStyle defaultStyle;
+ quint16 id;
+ bool spellCheck;
+};
+
+}
+
+#endif
diff --git a/src/lib/htmlhighlighter.cpp b/src/lib/htmlhighlighter.cpp
new file mode 100644
index 0000000..094e3b8
--- /dev/null
+++ b/src/lib/htmlhighlighter.cpp
@@ -0,0 +1,129 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "htmlhighlighter.h"
+#include "definition.h"
+#include "format.h"
+#include "state.h"
+#include "theme.h"
+#include "ksyntaxhighlighting_logging.h"
+
+#include
+#include
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+class KSyntaxHighlighting::HtmlHighlighterPrivate
+{
+public:
+ std::unique_ptr out;
+ std::unique_ptr file;
+ QString currentLine;
+};
+
+HtmlHighlighter::HtmlHighlighter()
+ : d(new HtmlHighlighterPrivate())
+{
+}
+
+HtmlHighlighter::~HtmlHighlighter()
+{
+}
+
+void HtmlHighlighter::setOutputFile(const QString& fileName)
+{
+ d->file.reset(new QFile(fileName));
+ if (!d->file->open(QFile::WriteOnly | QFile::Truncate)) {
+ qCWarning(Log) << "Failed to open output file" << fileName << ":" << d->file->errorString();
+ return;
+ }
+ d->out.reset(new QTextStream(d->file.get()));
+ d->out->setCodec("UTF-8");
+}
+
+void HtmlHighlighter::setOutputFile(FILE *fileHandle)
+{
+ d->out.reset(new QTextStream(fileHandle, QIODevice::WriteOnly));
+ d->out->setCodec("UTF-8");
+}
+
+void HtmlHighlighter::highlightFile(const QString& fileName)
+{
+ if (!d->out) {
+ qCWarning(Log) << "No output stream defined!";
+ return;
+ }
+
+ QFile f(fileName);
+ if (!f.open(QFile::ReadOnly)) {
+ qCWarning(Log) << "Failed to open input file" << fileName << ":" << f.errorString();
+ return;
+ }
+
+ State state;
+ *d->out << "\n";
+ *d->out << "\n";
+ *d->out << " \n";
+ QFileInfo fi(fileName);
+ *d->out << "" << fi.fileName() << " \n";
+ *d->out << " \n";
+ *d->out << "out << " style=\"color:" << QColor(theme().textColor(Theme::Normal)).name() << "\"";
+ *d->out << ">\n";
+
+ QTextStream in(&f);
+ in.setCodec("UTF-8");
+ while (!in.atEnd()) {
+ d->currentLine = in.readLine();
+ state = highlightLine(d->currentLine, state);
+ *d->out << "\n";
+ }
+
+ *d->out << " \n";
+ d->out->flush();
+
+ d->out.reset();
+ d->file.reset();
+}
+
+void HtmlHighlighter::applyFormat(int offset, int length, const Format& format)
+{
+ if (!format.isDefaultTextStyle(theme())) {
+ *d->out << "out << "color:" << format.textColor(theme()).name() << ";";
+ if (format.hasBackgroundColor(theme()))
+ *d->out << "background-color:" << format.backgroundColor(theme()).name() << ";";
+ if (format.isBold(theme()))
+ *d->out << "font-weight:bold;";
+ if (format.isItalic(theme()))
+ *d->out << "font-style:italic;";
+ if (format.isUnderline(theme()))
+ *d->out << "text-decoration:underline;";
+ if (format.isStrikeThrough(theme()))
+ *d->out << "text-decoration:line-through;";
+ *d->out << "\">";
+ }
+
+ *d->out << d->currentLine.mid(offset, length).toHtmlEscaped();
+
+ if (!format.isDefaultTextStyle(theme()))
+ *d->out << " ";
+}
diff --git a/src/lib/htmlhighlighter.h b/src/lib/htmlhighlighter.h
new file mode 100644
index 0000000..1f91346
--- /dev/null
+++ b/src/lib/htmlhighlighter.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_HTMLHIGHLIGHTER_H
+#define KSYNTAXHIGHLIGHTING_HTMLHIGHLIGHTER_H
+
+#include "ksyntaxhighlighting_export.h"
+#include "abstracthighlighter.h"
+
+#include
+
+#include
+
+class QFile;
+class QTextStream;
+
+namespace KSyntaxHighlighting {
+
+class HtmlHighlighterPrivate;
+
+class KSYNTAXHIGHLIGHTING_EXPORT HtmlHighlighter : public AbstractHighlighter
+{
+public:
+ HtmlHighlighter();
+ ~HtmlHighlighter();
+
+ void highlightFile(const QString &fileName);
+
+ void setOutputFile(const QString &fileName);
+ void setOutputFile(FILE *fileHandle);
+
+protected:
+ void applyFormat(int offset, int length, const Format &format) Q_DECL_OVERRIDE;
+
+private:
+ std::unique_ptr d;
+};
+}
+
+#endif // KSYNTAXHIGHLIGHTING_HTMLHIGHLIGHTER_H
diff --git a/src/lib/keywordlist.cpp b/src/lib/keywordlist.cpp
new file mode 100644
index 0000000..bd4438a
--- /dev/null
+++ b/src/lib/keywordlist.cpp
@@ -0,0 +1,92 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include "keywordlist_p.h"
+
+#include
+#include
+
+using namespace KSyntaxHighlighting;
+
+KeywordList::KeywordList() :
+ m_caseSensitive(Qt::CaseSensitive)
+{
+}
+
+KeywordList::~KeywordList()
+{
+}
+
+bool KeywordList::isEmpty() const
+{
+ return m_keywords.isEmpty();
+}
+
+QString KeywordList::name() const
+{
+ return m_name;
+}
+
+bool KeywordList::contains(const QStringRef &str) const
+{
+ return contains(str, m_caseSensitive);
+}
+
+bool KeywordList::contains(const QStringRef &str, Qt::CaseSensitivity caseSensitivityOverride) const
+{
+ if (Q_UNLIKELY(caseSensitivityOverride == Qt::CaseInsensitive && m_lowerCaseKeywords.isEmpty())) {
+ foreach (const auto &kw, m_keywords)
+ m_lowerCaseKeywords.insert(kw.toLower());
+ }
+
+ // TODO avoid the copy in toString!
+ if (caseSensitivityOverride == Qt::CaseSensitive)
+ return m_keywords.contains(str.toString());
+ return m_lowerCaseKeywords.contains(str.toString().toLower());
+}
+
+void KeywordList::load(QXmlStreamReader& reader)
+{
+ Q_ASSERT(reader.name() == QLatin1String("list"));
+ Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);
+
+ m_name = reader.attributes().value(QStringLiteral("name")).toString();
+
+ while (!reader.atEnd()) {
+ switch (reader.tokenType()) {
+ case QXmlStreamReader::StartElement:
+ if (reader.name() == QLatin1String("item")) {
+ m_keywords.insert(reader.readElementText().trimmed());
+ reader.readNextStartElement();
+ break;
+ }
+ reader.readNext();
+ break;
+ case QXmlStreamReader::EndElement:
+ reader.readNext();
+ return;
+ default:
+ reader.readNext();
+ break;
+ }
+ }
+}
+
+void KeywordList::setCaseSensitivity(Qt::CaseSensitivity caseSensitive)
+{
+ m_caseSensitive = caseSensitive;
+}
diff --git a/src/lib/keywordlist_p.h b/src/lib/keywordlist_p.h
new file mode 100644
index 0000000..657fdcc
--- /dev/null
+++ b/src/lib/keywordlist_p.h
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2016 Volker Krause
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef KSYNTAXHIGHLIGHTING_KEYWORDLIST_P_H
+#define KSYNTAXHIGHLIGHTING_KEYWORDLIST_P_H
+
+#include
+#include
+#include
+
+class QXmlStreamReader;
+
+namespace KSyntaxHighlighting {
+
+class KeywordList
+{
+public:
+ KeywordList();
+ ~KeywordList();
+
+ bool isEmpty() const;
+
+ QString name() const;
+
+ /** Checks if @p str is a keyword in this list. */
+ bool contains(const QStringRef &str) const;
+ /** Checks if @p str is a keyword in this list, overriding the global case-sensitivity setting. */
+ bool contains(const QStringRef &str, Qt::CaseSensitivity caseSensitivityOverride) const;
+
+ void load(QXmlStreamReader &reader);
+ void setCaseSensitivity(Qt::CaseSensitivity caseSensitive);
+
+private:
+ QString m_name;
+ QSet