From: Maximiliano Curia
Date: Fri, 18 Nov 2016 15:02:09 +0000 (+0000)
Subject: Import ksyntax-highlighting_5.28.0.orig.tar.xz
X-Git-Tag: archive/raspbian/5.70.0-1+rpi1~1^2^2^2~1
X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=9a6b3a1c9c8a277b0bc3c918c0ab178eef9d9fe9;p=ksyntax-highlighting.git
Import ksyntax-highlighting_5.28.0.orig.tar.xz
[dgit import orig ksyntax-highlighting_5.28.0.orig.tar.xz]
---
9a6b3a1c9c8a277b0bc3c918c0ab178eef9d9fe9
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