forked from qt-creator/qt-creator
Parsing of definitions metadata for mime type registering is now in a separate thread (QtConcurrent). Also some clean up.
This commit is contained in:
3
share/qtcreator/generic-highlighter/README
Normal file
3
share/qtcreator/generic-highlighter/README
Normal file
@@ -0,0 +1,3 @@
|
||||
Place syntax definitions files inside this directory.
|
||||
Files can be downloaded at http://kate-editor.org/downloads/syntax_highlighting?kateversion=3.2
|
||||
Instructions on how to write your own definitions can be found at http://kate-editor.org/article/writing_a_kate_highlighting_xml_file
|
||||
@@ -1,61 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<!--
|
||||
This file is part of KDE's kate project.
|
||||
|
||||
copyright : (C) 2004 by Dominik Haumann
|
||||
email : dhdev at gmx dot de
|
||||
|
||||
**********************************************************************
|
||||
* 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; if not, write to the *
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
|
||||
* Boston, MA 02110-1301, USA. *
|
||||
**********************************************************************
|
||||
|
||||
This file is included in every file that highlights the "alerts" keywords.
|
||||
That's why extensions and mimetype are empty.
|
||||
-->
|
||||
<language version="1.08" kateversion="2.3" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
|
||||
<highlighting>
|
||||
<list name="alerts">
|
||||
<item> ### </item>
|
||||
<item> ALERT </item>
|
||||
<item> BUG </item>
|
||||
<item> DANGER </item>
|
||||
<item> DEPRECATED </item>
|
||||
<item> FIXME </item>
|
||||
<item> HACK </item>
|
||||
<item> NOTE </item>
|
||||
<item> NOTICE </item>
|
||||
<item> SECURITY </item>
|
||||
<item> TASK </item>
|
||||
<item> TEST </item>
|
||||
<item> TESTING </item>
|
||||
<item> TODO </item>
|
||||
<item> WARNING </item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
|
||||
<keyword attribute="Alert" context="#stay" String="alerts" />
|
||||
</context>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Alert" defStyleNum="dsAlert"/>
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<keywords casesensitive="1"/>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,901 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd"
|
||||
[
|
||||
<!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#%@-]*">
|
||||
<!ENTITY varname "[A-Za-z_][A-Za-z0-9_]*">
|
||||
<!ENTITY word "[^|&;()<>\s]+"> <!-- see man bash -->
|
||||
<!ENTITY eos "(?=($|\s))"> <!-- eol or space following -->
|
||||
<!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
|
||||
<!ENTITY pathpart "([\w_@.%*?+-]|\\ )"> <!-- valid character in a file name -->
|
||||
]>
|
||||
<language name="Bash" version="2.12" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
|
||||
|
||||
<!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl)
|
||||
Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)
|
||||
Changes by Sebastian Pipping (webmaster@hartwork.org)
|
||||
Released under the LGPL, part of kdelibs/kate -->
|
||||
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> else </item>
|
||||
<item> for </item>
|
||||
<item> function </item>
|
||||
<item> in </item>
|
||||
<item> select </item>
|
||||
<item> until </item>
|
||||
<item> while </item>
|
||||
<item> elif </item>
|
||||
<item> then </item>
|
||||
<item> set </item>
|
||||
</list>
|
||||
|
||||
<list name="builtins">
|
||||
<item> : </item>
|
||||
<item> source </item>
|
||||
<item> alias </item>
|
||||
<item> bg </item>
|
||||
<item> bind </item>
|
||||
<item> break </item>
|
||||
<item> builtin </item>
|
||||
<item> cd </item>
|
||||
<item> caller </item>
|
||||
<item> command </item>
|
||||
<item> compgen </item>
|
||||
<item> complete </item>
|
||||
<item> continue </item>
|
||||
<item> dirs </item>
|
||||
<item> disown </item>
|
||||
<item> echo </item>
|
||||
<item> enable </item>
|
||||
<item> eval </item>
|
||||
<item> exec </item>
|
||||
<item> exit </item>
|
||||
<item> fc </item>
|
||||
<item> fg </item>
|
||||
<item> getopts </item>
|
||||
<item> hash </item>
|
||||
<item> help </item>
|
||||
<item> history </item>
|
||||
<item> jobs </item>
|
||||
<item> kill </item>
|
||||
<item> let </item>
|
||||
<item> logout </item>
|
||||
<item> popd </item>
|
||||
<item> printf </item>
|
||||
<item> pushd </item>
|
||||
<item> pwd </item>
|
||||
<item> return </item>
|
||||
<item> set </item>
|
||||
<item> shift </item>
|
||||
<item> shopt </item>
|
||||
<item> suspend </item>
|
||||
<item> test </item>
|
||||
<item> time </item>
|
||||
<item> times </item>
|
||||
<item> trap </item>
|
||||
<item> type </item>
|
||||
<item> ulimit </item>
|
||||
<item> umask </item>
|
||||
<item> unalias </item>
|
||||
<item> wait </item>
|
||||
</list>
|
||||
|
||||
<list name="builtins_var">
|
||||
<item> export </item>
|
||||
<item> unset </item>
|
||||
<item> declare </item>
|
||||
<item> typeset </item>
|
||||
<item> local </item>
|
||||
<item> read </item>
|
||||
<item> readonly </item>
|
||||
</list>
|
||||
|
||||
<list name="unixcommands">
|
||||
<!-- /bin -->
|
||||
<item> arch </item>
|
||||
<item> awk </item>
|
||||
<item> bash </item>
|
||||
<item> bunzip2 </item>
|
||||
<item> bzcat </item>
|
||||
<item> bzcmp </item>
|
||||
<item> bzdiff </item>
|
||||
<item> bzegrep </item>
|
||||
<item> bzfgrep </item>
|
||||
<item> bzgrep </item>
|
||||
<item> bzip2 </item>
|
||||
<item> bzip2recover </item>
|
||||
<item> bzless </item>
|
||||
<item> bzmore </item>
|
||||
<item> cat </item>
|
||||
<item> chattr </item>
|
||||
<item> chgrp </item>
|
||||
<item> chmod </item>
|
||||
<item> chown </item>
|
||||
<item> chvt </item>
|
||||
<item> cp </item>
|
||||
<item> date </item>
|
||||
<item> dd </item>
|
||||
<item> deallocvt </item>
|
||||
<item> df </item>
|
||||
<item> dir </item>
|
||||
<item> dircolors </item>
|
||||
<item> dmesg </item>
|
||||
<item> dnsdomainname </item>
|
||||
<item> domainname </item>
|
||||
<item> du </item>
|
||||
<item> dumpkeys </item>
|
||||
<item> echo </item>
|
||||
<item> ed </item>
|
||||
<item> egrep </item>
|
||||
<item> false </item>
|
||||
<item> fgconsole </item>
|
||||
<item> fgrep </item>
|
||||
<item> fuser </item>
|
||||
<item> gawk </item>
|
||||
<item> getkeycodes </item>
|
||||
<item> gocr </item>
|
||||
<item> grep </item>
|
||||
<item> groff </item>
|
||||
<item> groups </item>
|
||||
<item> gunzip </item>
|
||||
<item> gzexe </item>
|
||||
<item> gzip </item>
|
||||
<item> hostname </item>
|
||||
<item> igawk </item>
|
||||
<item> install </item>
|
||||
<item> kbd_mode </item>
|
||||
<item> kbdrate </item>
|
||||
<item> killall </item>
|
||||
<item> last </item>
|
||||
<item> lastb </item>
|
||||
<item> link </item>
|
||||
<item> ln </item>
|
||||
<item> loadkeys </item>
|
||||
<item> loadunimap </item>
|
||||
<item> login </item>
|
||||
<item> ls </item>
|
||||
<item> lsattr </item>
|
||||
<item> lsmod </item>
|
||||
<item> lsmod.old </item>
|
||||
<item> lzcat </item>
|
||||
<item> lzcmp </item>
|
||||
<item> lzdiff </item>
|
||||
<item> lzegrep </item>
|
||||
<item> lzfgrep </item>
|
||||
<item> lzgrep </item>
|
||||
<item> lzless </item>
|
||||
<item> lzcat </item>
|
||||
<item> lzma </item>
|
||||
<item> lzmainfo </item>
|
||||
<item> lzmore </item>
|
||||
<item> mapscrn </item>
|
||||
<item> mesg </item>
|
||||
<item> mkdir </item>
|
||||
<item> mkfifo </item>
|
||||
<item> mknod </item>
|
||||
<item> mktemp </item>
|
||||
<item> more </item>
|
||||
<item> mount </item>
|
||||
<item> mv </item>
|
||||
<item> nano </item>
|
||||
<item> netstat </item>
|
||||
<item> nisdomainname </item>
|
||||
<item> nroff </item>
|
||||
<item> openvt </item>
|
||||
<item> pgawk </item>
|
||||
<item> pidof </item>
|
||||
<item> ping </item>
|
||||
<item> ps </item>
|
||||
<item> pstree </item>
|
||||
<item> pwd </item>
|
||||
<item> rbash </item>
|
||||
<item> readlink </item>
|
||||
<item> red </item>
|
||||
<item> resizecons </item>
|
||||
<item> rm </item>
|
||||
<item> rmdir </item>
|
||||
<item> run-parts </item>
|
||||
<item> sash </item>
|
||||
<item> sed </item>
|
||||
<item> setfont </item>
|
||||
<item> setkeycodes </item>
|
||||
<item> setleds </item>
|
||||
<item> setmetamode </item>
|
||||
<item> setserial </item>
|
||||
<item> sh </item>
|
||||
<item> showkey </item>
|
||||
<item> shred </item>
|
||||
<item> sleep </item>
|
||||
<item> ssed </item>
|
||||
<item> stat </item>
|
||||
<item> stty </item>
|
||||
<item> su </item>
|
||||
<item> sync </item>
|
||||
<item> tar </item>
|
||||
<item> tempfile </item>
|
||||
<item> touch </item>
|
||||
<item> troff </item>
|
||||
<item> true </item>
|
||||
<item> umount </item>
|
||||
<item> uname </item>
|
||||
<item> unicode_start </item>
|
||||
<item> unicode_stop </item>
|
||||
<item> unlink </item>
|
||||
<item> unlzma </item>
|
||||
<item> unxz </item>
|
||||
<item> utmpdump </item>
|
||||
<item> uuidgen </item>
|
||||
<item> vdir </item>
|
||||
<item> wall </item>
|
||||
<item> wc </item>
|
||||
<item> xz </item>
|
||||
<item> xzcat </item>
|
||||
<item> ypdomainname </item>
|
||||
<item> zcat </item>
|
||||
<item> zcmp </item>
|
||||
<item> zdiff </item>
|
||||
<item> zegrep </item>
|
||||
<item> zfgrep </item>
|
||||
<item> zforce </item>
|
||||
<item> zgrep </item>
|
||||
<item> zless </item>
|
||||
<item> zmore </item>
|
||||
<item> znew </item>
|
||||
<item> zsh </item>
|
||||
|
||||
<!-- some from /usr/bin -->
|
||||
<item> aclocal </item>
|
||||
<item> aconnect </item>
|
||||
<item> aplay </item>
|
||||
<item> apm </item>
|
||||
<item> apmsleep </item>
|
||||
<item> apropos </item>
|
||||
<item> ar </item>
|
||||
<item> arecord </item>
|
||||
<item> as </item>
|
||||
<item> as86 </item>
|
||||
<item> autoconf </item>
|
||||
<item> autoheader </item>
|
||||
<item> automake </item>
|
||||
<item> awk </item>
|
||||
<item> basename </item>
|
||||
<item> bc </item>
|
||||
<item> bison </item>
|
||||
<item> c++ </item>
|
||||
<item> cal </item>
|
||||
<item> cat </item>
|
||||
<item> cc </item>
|
||||
<item> cdda2wav </item>
|
||||
<item> cdparanoia </item>
|
||||
<item> cdrdao </item>
|
||||
<item> cd-read </item>
|
||||
<item> cdrecord </item>
|
||||
<item> chfn </item>
|
||||
<item> chgrp </item>
|
||||
<item> chmod </item>
|
||||
<item> chown </item>
|
||||
<item> chroot </item>
|
||||
<item> chsh </item>
|
||||
<item> clear </item>
|
||||
<item> cmp </item>
|
||||
<item> co </item>
|
||||
<item> col </item>
|
||||
<item> comm </item>
|
||||
<item> cp </item>
|
||||
<item> cpio </item>
|
||||
<item> cpp </item>
|
||||
<item> cut </item>
|
||||
<item> dc </item>
|
||||
<item> dd </item>
|
||||
<item> df </item>
|
||||
<item> diff </item>
|
||||
<item> diff3 </item>
|
||||
<item> dir </item>
|
||||
<item> dircolors </item>
|
||||
<item> directomatic </item>
|
||||
<item> dirname </item>
|
||||
<item> du </item>
|
||||
<item> env </item>
|
||||
<item> expr </item>
|
||||
<item> fbset </item>
|
||||
<item> file </item>
|
||||
<item> find </item>
|
||||
<item> flex </item>
|
||||
<item> flex++ </item>
|
||||
<item> fmt </item>
|
||||
<item> free </item>
|
||||
<item> ftp </item>
|
||||
<item> funzip </item>
|
||||
<item> fuser </item>
|
||||
<item> g++ </item>
|
||||
<item> gawk </item>
|
||||
<item> gc </item>
|
||||
<item> gcc </item>
|
||||
<item> gdb </item>
|
||||
<item> getent </item>
|
||||
<item> getopt </item>
|
||||
<item> gettext </item>
|
||||
<item> gettextize </item>
|
||||
<item> gimp </item>
|
||||
<item> gimp-remote </item>
|
||||
<item> gimptool </item>
|
||||
<item> gmake </item>
|
||||
<item> gs </item>
|
||||
<item> head </item>
|
||||
<item> hexdump </item>
|
||||
<item> id </item>
|
||||
<item> install </item>
|
||||
<item> join </item>
|
||||
<item> kill </item>
|
||||
<item> killall </item>
|
||||
<item> ld </item>
|
||||
<item> ld86 </item>
|
||||
<item> ldd </item>
|
||||
<item> less </item>
|
||||
<item> lex </item>
|
||||
<item> ln </item>
|
||||
<item> locate </item>
|
||||
<item> lockfile </item>
|
||||
<item> logname </item>
|
||||
<item> lp </item>
|
||||
<item> lpr </item>
|
||||
<item> ls </item>
|
||||
<item> lynx </item>
|
||||
<item> m4 </item>
|
||||
<item> make </item>
|
||||
<item> man </item>
|
||||
<item> mkdir </item>
|
||||
<item> mknod </item>
|
||||
<item> msgfmt </item>
|
||||
<item> mv </item>
|
||||
<item> namei </item>
|
||||
<item> nasm </item>
|
||||
<item> nawk </item>
|
||||
<item> nice </item>
|
||||
<item> nl </item>
|
||||
<item> nm </item>
|
||||
<item> nm86 </item>
|
||||
<item> nmap </item>
|
||||
<item> nohup </item>
|
||||
<item> nop </item>
|
||||
<item> od </item>
|
||||
<item> passwd </item>
|
||||
<item> patch </item>
|
||||
<item> pcregrep </item>
|
||||
<item> pcretest </item>
|
||||
<item> perl </item>
|
||||
<item> perror </item>
|
||||
<item> pidof </item>
|
||||
<item> pr </item>
|
||||
<item> printf </item>
|
||||
<item> procmail </item>
|
||||
<item> prune </item>
|
||||
<item> ps2ascii </item>
|
||||
<item> ps2epsi </item>
|
||||
<item> ps2frag </item>
|
||||
<item> ps2pdf </item>
|
||||
<item> ps2ps </item>
|
||||
<item> psbook </item>
|
||||
<item> psmerge </item>
|
||||
<item> psnup </item>
|
||||
<item> psresize </item>
|
||||
<item> psselect </item>
|
||||
<item> pstops </item>
|
||||
<item> rcs </item>
|
||||
<item> rev </item>
|
||||
<item> rm </item>
|
||||
<item> scp </item>
|
||||
<item> sed </item>
|
||||
<item> seq </item>
|
||||
<item> setterm </item>
|
||||
<item> shred </item>
|
||||
<item> size </item>
|
||||
<item> size86 </item>
|
||||
<item> skill </item>
|
||||
<item> slogin </item>
|
||||
<item> snice </item>
|
||||
<item> sort </item>
|
||||
<item> sox </item>
|
||||
<item> split </item>
|
||||
<item> ssh </item>
|
||||
<item> ssh-add </item>
|
||||
<item> ssh-agent </item>
|
||||
<item> ssh-keygen </item>
|
||||
<item> ssh-keyscan </item>
|
||||
<item> stat </item>
|
||||
<item> strings </item>
|
||||
<item> strip </item>
|
||||
<item> sudo </item>
|
||||
<item> suidperl </item>
|
||||
<item> sum </item>
|
||||
<item> tac </item>
|
||||
<item> tail </item>
|
||||
<item> tee </item>
|
||||
<item> test </item>
|
||||
<item> tr </item>
|
||||
<item> uniq </item>
|
||||
<item> unlink </item>
|
||||
<item> unzip </item>
|
||||
<item> updatedb </item>
|
||||
<item> updmap </item>
|
||||
<item> uptime </item>
|
||||
<item> users </item>
|
||||
<item> vmstat </item>
|
||||
<item> w </item>
|
||||
<item> wc </item>
|
||||
<item> wget </item>
|
||||
<item> whatis </item>
|
||||
<item> whereis </item>
|
||||
<item> which </item>
|
||||
<item> who </item>
|
||||
<item> whoami </item>
|
||||
<item> write </item>
|
||||
<item> xargs </item>
|
||||
<item> yacc </item>
|
||||
<item> yes </item>
|
||||
<item> zip </item>
|
||||
<item> zsoelim </item>
|
||||
|
||||
<!-- others -->
|
||||
<item> dcop </item>
|
||||
<item> kdialog </item>
|
||||
<item> kfile </item>
|
||||
<item> xhost </item>
|
||||
<item> xmodmap </item>
|
||||
<item> xset </item>
|
||||
</list>
|
||||
|
||||
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Start">
|
||||
<IncludeRules context="FindAll" />
|
||||
</context>
|
||||
|
||||
<!-- ====== The following rulessets are meant to be included ======== -->
|
||||
<!-- FindAll tries to interpret everything -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindAll">
|
||||
<IncludeRules context="FindComments" />
|
||||
<IncludeRules context="FindCommands" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
<!-- FindMost tries to interpret anything except commands -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindMost">
|
||||
<IncludeRules context="FindComments" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
|
||||
<!-- FindComments consumes shell comments till EOL -->
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="FindComments">
|
||||
<DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Normal Text" context="Comment" String="[\s;](?=#)" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="Comment">
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<!-- FindCommentsParen consumes shell comments till EOL or a closing parenthese -->
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsParen">
|
||||
<DetectChar attribute="Comment" context="CommentParen" char="#" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Normal Text" context="CommentParen" String="[\s;](?=#)" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="CommentParen">
|
||||
<RegExpr attribute="Comment" context="#pop" String="[^)](?=\))" />
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<!-- FindCommentsBackq consumes shell comments till EOL or a backquote -->
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="FindCommentsBackq">
|
||||
<DetectChar attribute="Comment" context="CommentBackq" char="#" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Normal Text" context="CommentBackq" String="[\s;](?=#)" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
|
||||
<RegExpr attribute="Comment" context="#pop" String="[^`](?=`)" />
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
|
||||
<!-- FindCommands matches many items that can be expected outside strings, substitutions etc. -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindCommands">
|
||||
<!-- start expression in double parentheses -->
|
||||
<Detect2Chars attribute="Keyword" context="ExprDblParen" char="(" char1="(" beginRegion="expression" />
|
||||
<!-- start expression in double brackets -->
|
||||
<RegExpr attribute="Keyword" context="ExprDblBracket" String="\[\[&eos;" beginRegion="expression" column="0"/>
|
||||
<RegExpr attribute="Keyword" context="ExprDblBracket" String="\s\[\[&eos;" beginRegion="expression" />
|
||||
<!-- start expression in single brackets -->
|
||||
<RegExpr attribute="Builtin" context="ExprBracket" String="\[&eos;" beginRegion="expression" column="0"/>
|
||||
<RegExpr attribute="Builtin" context="ExprBracket" String="\s\[&eos;" beginRegion="expression" />
|
||||
<!-- start a group command with { -->
|
||||
<RegExpr attribute="Keyword" context="Group" String="\{&eos;" beginRegion="group" />
|
||||
<!-- start a subshell -->
|
||||
<DetectChar attribute="Keyword" context="SubShell" char="(" beginRegion="subshell" />
|
||||
<!-- match do and if blocks -->
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bdo&noword;" beginRegion="do" />
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bdone&noword;" endRegion="do" />
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bif&noword;" beginRegion="if" />
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bfi&noword;" endRegion="if" />
|
||||
<!-- handle case as a special case -->
|
||||
<RegExpr attribute="Keyword" context="Case" String="\bcase&noword;" beginRegion="case" />
|
||||
<!-- handle command line options -->
|
||||
<RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9][A-Za-z0-9_]*" />
|
||||
<RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
|
||||
<!-- handle variable assignments -->
|
||||
<RegExpr attribute="Variable" context="Assign" String="\b&varname;\+?=" />
|
||||
<RegExpr attribute="Variable" context="AssignSubscr" String="\b&varname;(?=\[.+\]\+?=)" />
|
||||
<!-- handle functions with function keyword before keywords -->
|
||||
<StringDetect attribute="Function" context="#stay" String=":()" />
|
||||
<RegExpr attribute="Keyword" context="FunctionDef" String="\bfunction\b" />
|
||||
<!-- handle keywords -->
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords" />
|
||||
<RegExpr attribute="Builtin" context="#stay" String="\.(?=\s)" />
|
||||
<keyword attribute="Builtin" context="#stay" String="builtins" />
|
||||
<keyword attribute="Command" context="#stay" String="unixcommands" />
|
||||
<!-- handle commands that have variable names as argument -->
|
||||
<keyword attribute="Builtin" context="VarName" String="builtins_var" />
|
||||
<!-- handle here-string -->
|
||||
<RegExpr attribute="Redirection" context="#stay" String="\d*<<<" />
|
||||
<!-- handle here document -->
|
||||
<StringDetect attribute="Redirection" context="HereDoc" String="<<" lookAhead="true" />
|
||||
<!-- handle process subst -->
|
||||
<RegExpr attribute="Redirection" context="ProcessSubst" String="[<>]\(" />
|
||||
<!-- handle redirection -->
|
||||
<RegExpr attribute="Redirection" context="#stay" String="([0-9]*(>{1,2}|<)(&[0-9]+-?)?|&>|>&|[0-9]*<>)" />
|
||||
<!-- handle &, &&, | and || -->
|
||||
<RegExpr attribute="Control" context="#stay" String="([|&])\1?" />
|
||||
<!-- mark function definitions without function keyword -->
|
||||
<RegExpr attribute="Function" context="#stay" String="&funcname;\s*\(\)" />
|
||||
</context>
|
||||
|
||||
<!-- FindOthers contains various rules to mark different shell input -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindOthers">
|
||||
<RegExpr attribute="Escape" context="#stay" String="\\[][;\\$`{}()|&<>* ]" />
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\\$" />
|
||||
<RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />
|
||||
<RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" />
|
||||
<RegExpr attribute="Path" context="#stay" String="~\w*" />
|
||||
<RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'"]|$))" />
|
||||
<!-- TODO: shell globs beside * and ? (in Path's) -->
|
||||
</context>
|
||||
|
||||
<!-- FindStrings looks for single and double quoted strings, also with $-prefix -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
|
||||
<Detect2Chars attribute="Escape" context="#stay" char="\\" char1="'" />
|
||||
<Detect2Chars attribute="Escape" context="#stay" char="\\" char1=""" />
|
||||
<DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
|
||||
<DetectChar attribute="String DoubleQ" context="StringDQ" char=""" />
|
||||
<Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
|
||||
<Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1=""" />
|
||||
</context>
|
||||
|
||||
<!-- FindSubstitutions goes after anything starting with $ and ` and their escapes -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
|
||||
<RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="\$&varname;" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="\$[*@#?$!_0-9-]" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="\$\{[*@#?$!_0-9-]\}" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="\$\{#&varname;(\[[*@]\])?\}" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="\$\{!&varname;(\[[*@]\]|[*@])?\}" />
|
||||
<RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
|
||||
<RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/=?+-])" />
|
||||
<StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
|
||||
<StringDetect attribute="Redirection" context="SubstFile" String="$(<" />
|
||||
<StringDetect attribute="Variable" context="SubstCommand" String="$(" />
|
||||
<DetectChar attribute="Backquote" context="SubstBackq" char="`" />
|
||||
<RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
|
||||
</context>
|
||||
|
||||
<!-- FindTests finds operators valid in tests -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindTests">
|
||||
<RegExpr attribute="Expression" context="#stay" String="-[abcdefghkprstuwxOGLSNozn](?=\s)"/>
|
||||
<RegExpr attribute="Expression" context="#stay" String="-([no]t|ef)(?=\s)"/>
|
||||
<RegExpr attribute="Expression" context="#stay" String="([!=]=?|[><])(?=\s)"/>
|
||||
<RegExpr attribute="Expression" context="#stay" String="-(eq|ne|[gl][te])(?=\s)"/>
|
||||
</context>
|
||||
|
||||
|
||||
<!-- ====== These are the contexts that can be branched to ======= -->
|
||||
|
||||
<!-- ExprDblParen consumes an expression started in command mode till )) -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen">
|
||||
<Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
|
||||
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- ExprDblParenSubst like ExprDblParen but matches )) as Variable -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParenSubst">
|
||||
<Detect2Chars attribute="Variable" context="#pop" char=")" char1=")" endRegion="expression" />
|
||||
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- ExprSubParen consumes an expression till ) -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="ExprSubParen">
|
||||
<DetectChar attribute="Normal Text" context="#pop" char=")" />
|
||||
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- ExprBracket consumes an expression till ] -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket">
|
||||
<RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&]))" endRegion="expression" />
|
||||
<RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&]))" endRegion="expression" column="0"/>
|
||||
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
|
||||
<IncludeRules context="FindTests" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- ExprDblBracket consumes an expression till ]] -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket">
|
||||
<RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&]))" endRegion="expression" />
|
||||
<RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&]))" endRegion="expression" column="0"/>
|
||||
<DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
|
||||
<IncludeRules context="FindTests" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- Group consumes shell input till } -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Group">
|
||||
<DetectChar attribute="Keyword" context="#pop" char="}" endRegion="group" />
|
||||
<IncludeRules context="FindAll" />
|
||||
</context>
|
||||
|
||||
<!-- SubShell consumes shell input till ) -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="SubShell">
|
||||
<DetectChar attribute="Keyword" context="#pop" char=")" endRegion="subshell" />
|
||||
<IncludeRules context="FindAll" />
|
||||
</context>
|
||||
|
||||
<!-- Assign consumes an expression till EOL or whitespace -->
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="Assign" fallthrough="true" fallthroughContext="#pop">
|
||||
<DetectChar attribute="Variable" context="AssignArray" char="(" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="[\w:,+_./-]" />
|
||||
</context>
|
||||
|
||||
<!-- AssignArray consumes everything till ), marking assignments -->
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="AssignArray">
|
||||
<DetectChar attribute="Variable" context="#pop" char=")" />
|
||||
<DetectChar attribute="Variable" context="Subscript" char="[" />
|
||||
<DetectChar attribute="Variable" context="Assign" char="=" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- AssignSubscr first expects a [ then parses subscript and continues with '=value' -->
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="AssignSubscr" fallthrough="true" fallthroughContext="#pop">
|
||||
<DetectChar attribute="Variable" context="Subscript" char="[" />
|
||||
<Detect2Chars attribute="Variable" context="Assign" char="+" char1="=" />
|
||||
<DetectChar attribute="Variable" context="Assign" char="=" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
<!-- Subscript consumes anything till ], marks as Variable -->
|
||||
<context attribute="Variable" lineEndContext="#stay" name="Subscript">
|
||||
<DetectChar attribute="Variable" context="#pop" char="]" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
<!-- FunctionDef consumes a name, possibly with (), marks as Function -->
|
||||
<context attribute="Function" lineEndContext="#pop" name="FunctionDef" fallthrough="true" fallthroughContext="#pop">
|
||||
<RegExpr attribute="Function" context="#pop" String="\s+&funcname;(\s*\(\))?" />
|
||||
</context>
|
||||
|
||||
<!-- VarName consumes spare variable names and assignments -->
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop">
|
||||
<!-- handle command line options -->
|
||||
<RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
|
||||
<RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
|
||||
<DetectChar attribute="Variable" context="Subscript" char="[" />
|
||||
<DetectChar attribute="Variable" context="Assign" char="=" />
|
||||
<IncludeRules context="FindMost" />
|
||||
<!-- stay here in spaces and other safe characters -->
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&><]" />
|
||||
</context>
|
||||
|
||||
<!-- ProcessSubst handles <(command) and >(command) -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="ProcessSubst">
|
||||
<DetectChar attribute="Redirection" context="#pop" char=")" />
|
||||
<IncludeRules context="FindCommentsParen" />
|
||||
<IncludeRules context="FindCommands" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
<!-- StringSQ consumes anything till ' -->
|
||||
<context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
|
||||
<DetectChar attribute="String SingleQ" context="#pop" char="'" />
|
||||
</context>
|
||||
|
||||
<!-- StringDQ consumes anything till ", substitutes vars and expressions -->
|
||||
<context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
|
||||
<DetectChar attribute="String DoubleQ" context="#pop" char=""" />
|
||||
<RegExpr attribute="String Escape" context="#stay" String="\\[`"\\$\n]" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
|
||||
<!-- StringEsc eats till ', but escaping many characters -->
|
||||
<context attribute="String SingleQ" lineEndContext="#stay" name="StringEsc">
|
||||
<DetectChar attribute="String SingleQ" context="#pop" char="'" />
|
||||
<RegExpr attribute="String Escape" context="#stay" String="\\[abefnrtv\\']" />
|
||||
<RegExpr attribute="String Escape" context="#stay" String="\\([0-7]{1,3}|x[A-Fa-f0-9]{1,2}|c.)" />
|
||||
</context>
|
||||
|
||||
<!-- VarBrace is called as soon as ${xxx is encoutered -->
|
||||
<context attribute="Error" lineEndContext="#stay" name="VarBrace">
|
||||
<DetectChar attribute="Variable" context="#pop" char="}" />
|
||||
<DetectChar attribute="Variable" context="Subscript" char="[" />
|
||||
<RegExpr attribute="Variable" context="VarAlt" String="(:?[-=?+]|##?|%%?)" />
|
||||
<RegExpr attribute="Variable" context="VarSubst" String="//?" />
|
||||
<DetectChar attribute="Variable" context="VarSub" char=":" />
|
||||
</context>
|
||||
|
||||
<!-- VarAlt is to handle default/alternate/etc values of variables -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="VarAlt">
|
||||
<DetectChar attribute="Variable" context="#pop#pop" char="}" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
|
||||
<!-- VarSubst is to handle substitutions on variables -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="VarSubst">
|
||||
<DetectChar attribute="Variable" context="#pop#pop" char="}" />
|
||||
<DetectChar attribute="Variable" context="VarSubst2" char="/" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="VarSubst2">
|
||||
<DetectChar attribute="Variable" context="#pop#pop#pop" char="}" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
|
||||
<!-- VarSub is to substrings of variables -->
|
||||
<context attribute="Error" lineEndContext="#stay" name="VarSub">
|
||||
<DetectChar attribute="Variable" context="VarSub2" char=":" />
|
||||
<DetectChar attribute="Variable" context="#pop#pop" char="}" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="&varname;" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="[0-9]+(?=[:}])" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
<context attribute="Error" lineEndContext="#stay" name="VarSub2">
|
||||
<DetectChar attribute="Variable" context="#pop#pop#pop" char="}" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="&varname;" />
|
||||
<RegExpr attribute="Variable" context="#stay" String="[0-9](?=[:}])" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
|
||||
|
||||
<!-- SubstFile is called after a <( or >( is encoutered -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="SubstFile">
|
||||
<DetectChar attribute="Redirection" context="#pop" char=")" />
|
||||
<IncludeRules context="FindCommentsParen" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
<!-- SubstCommand is called after a $( is encountered -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="SubstCommand">
|
||||
<DetectChar attribute="Variable" context="#pop" char=")" />
|
||||
<IncludeRules context="FindCommentsParen" />
|
||||
<IncludeRules context="FindCommands" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
<!-- SubstBackq is called when a backquote is encountered -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq">
|
||||
<DetectChar attribute="Backquote" context="#pop" char="`" />
|
||||
<IncludeRules context="FindCommentsBackq" />
|
||||
<IncludeRules context="FindCommands" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
<IncludeRules context="FindOthers" />
|
||||
</context>
|
||||
|
||||
<!-- Case is called after the case keyword is encoutered. We handle this because of
|
||||
the lonely closing parentheses that would otherwise disturb the expr matching -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Case">
|
||||
<RegExpr attribute="Keyword" context="CaseIn" String="\sin\b" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- CaseIn is called when the construct 'case ... in' has been found. -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="CaseIn">
|
||||
<RegExpr attribute="Keyword" context="#pop#pop" String="\besac(?=$|[\s;)])" endRegion="case" />
|
||||
<DetectChar attribute="Keyword" context="CaseExpr" char=")" beginRegion="caseexpr" />
|
||||
<AnyChar attribute="Keyword" context="#stay" String="(|" />
|
||||
<IncludeRules context="FindMost" />
|
||||
</context>
|
||||
|
||||
<!-- CaseExpr eats shell input till ;; -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="CaseExpr">
|
||||
<Detect2Chars attribute="Keyword" context="#pop" char=";" char1=";" endRegion="caseexpr" />
|
||||
<RegExpr attribute="Keyword" context="#pop" String="esac(?=$|[\s;)])" lookAhead="true" firstNonSpace="true" endRegion="caseexpr"/>
|
||||
<IncludeRules context="FindAll" />
|
||||
</context>
|
||||
|
||||
<!-- HereDoc consumes Here-documents. It is called at the beginning of the "<<" construct. -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="HereDoc">
|
||||
<RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*"(&word;)")" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*'(&word;)')" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocIQ" String="(<<-\s*\\(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocINQ" String="(<<-\s*(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*"(&word;)")" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*'(&word;)')" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocQ" String="(<<\s*\\(&word;))" lookAhead="true" />
|
||||
<RegExpr attribute="Redirection" context="HereDocNQ" String="(<<\s*(&word;))" lookAhead="true" />
|
||||
<StringDetect attribute="Redirection" context="#pop" String="<<" /><!-- always met -->
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder">
|
||||
<IncludeRules context="FindAll" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocQ" dynamic="true">
|
||||
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
|
||||
<RegExpr attribute="Redirection" context="#pop#pop" String="^%2\b" dynamic="true" column="0"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocNQ" dynamic="true">
|
||||
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
|
||||
<RegExpr attribute="Redirection" context="#pop#pop" String="^%2\b" dynamic="true" column="0"/>
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocIQ" dynamic="true">
|
||||
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
|
||||
<RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2\b" dynamic="true" column="0"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="HereDocINQ" dynamic="true">
|
||||
<RegExpr attribute="Redirection" context="HereDocRemainder" String="%1" dynamic="true" />
|
||||
<RegExpr attribute="Redirection" context="#pop#pop" String="^\t*%2\b" dynamic="true" column="0"/>
|
||||
<IncludeRules context="FindSubstitutions" />
|
||||
</context>
|
||||
|
||||
</contexts>
|
||||
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal" />
|
||||
<itemData name="Comment" defStyleNum="dsComment" />
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword" />
|
||||
<itemData name="Control" defStyleNum="dsKeyword" />
|
||||
<itemData name="Builtin" defStyleNum="dsKeyword" color="#808" />
|
||||
<itemData name="Command" defStyleNum="dsKeyword" color="#c0c" />
|
||||
<itemData name="Redirection" defStyleNum="dsKeyword" color="#238" />
|
||||
<itemData name="Escape" defStyleNum="dsDataType" />
|
||||
<itemData name="String SingleQ" defStyleNum="dsString" />
|
||||
<itemData name="String DoubleQ" defStyleNum="dsString" />
|
||||
<itemData name="Backquote" defStyleNum="dsKeyword" />
|
||||
<itemData name="String Transl." defStyleNum="dsString" />
|
||||
<itemData name="String Escape" defStyleNum="dsDataType" />
|
||||
<itemData name="Variable" defStyleNum="dsOthers" />
|
||||
<itemData name="Expression" defStyleNum="dsOthers" />
|
||||
<itemData name="Function" defStyleNum="dsFunction" />
|
||||
<itemData name="Path" defStyleNum="dsNormal" />
|
||||
<itemData name="Option" defStyleNum="dsNormal" />
|
||||
<itemData name="Error" defStyleNum="dsError" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="#"/>
|
||||
</comments>
|
||||
<keywords casesensitive="1" weakDeliminator="^%#[]$._{}:-/" additionalDeliminator="`"/>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,198 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<language name="C" section="Sources"
|
||||
version="1.42" kateversion="2.4"
|
||||
indenter="cstyle"
|
||||
extensions="*.c;*.C;*.h"
|
||||
mimetype="text/x-csrc;text/x-c++src;text/x-chdr"
|
||||
priority="5">
|
||||
<!--
|
||||
##########################################################################
|
||||
## Fixes by Sebastian Pipping (webmaster@hartwork.org)
|
||||
##
|
||||
## NOTE: Keep in sync with C++ highlighter! (cpp.xml)
|
||||
##########################################################################
|
||||
-->
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> break </item>
|
||||
<item> case </item>
|
||||
<item> continue </item>
|
||||
<item> default </item>
|
||||
<item> do </item>
|
||||
<item> else </item>
|
||||
<item> enum </item>
|
||||
<item> extern </item>
|
||||
<item> for </item>
|
||||
<item> goto </item>
|
||||
<item> if </item>
|
||||
<item> inline </item>
|
||||
<item> return </item>
|
||||
<item> sizeof </item>
|
||||
<item> struct </item>
|
||||
<item> switch </item>
|
||||
<item> typedef </item>
|
||||
<item> union </item>
|
||||
<item> while </item>
|
||||
</list>
|
||||
<list name="types">
|
||||
<item> auto </item>
|
||||
<item> char </item>
|
||||
<item> const </item>
|
||||
<item> double </item>
|
||||
<item> float </item>
|
||||
<item> int </item>
|
||||
<item> long </item>
|
||||
<item> register </item>
|
||||
<item> restrict </item>
|
||||
<item> short </item>
|
||||
<item> signed </item>
|
||||
<item> static </item>
|
||||
<item> unsigned </item>
|
||||
<item> void </item>
|
||||
<item> volatile </item>
|
||||
<item> int8_t </item>
|
||||
<item> int16_t </item>
|
||||
<item> int32_t </item>
|
||||
<item> int64_t </item>
|
||||
<item> uint8_t </item>
|
||||
<item> uint16_t </item>
|
||||
<item> uint32_t </item>
|
||||
<item> uint64_t </item>
|
||||
<item> wchar_t </item>
|
||||
<item> _Imaginary </item>
|
||||
<item> _Complex </item>
|
||||
<item> _Bool </item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
|
||||
<DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
|
||||
<StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
|
||||
<StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords"/>
|
||||
<keyword attribute="Data Type" context="#stay" String="types"/>
|
||||
<DetectIdentifier />
|
||||
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
|
||||
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
|
||||
<Float attribute="Float" context="#stay">
|
||||
<AnyChar String="fF" attribute="Float" context="#stay"/>
|
||||
</Float>
|
||||
<HlCOct attribute="Octal" context="#stay"/>
|
||||
<HlCHex attribute="Hex" context="#stay"/>
|
||||
<Int attribute="Decimal" context="#stay" >
|
||||
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
|
||||
</Int>
|
||||
<HlCChar attribute="Char" context="#stay"/>
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
|
||||
<AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#pop" name="String">
|
||||
<LineContinue attribute="String" context="#stay"/>
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
</context>
|
||||
|
||||
<context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
|
||||
<LineContinue attribute="Comment" context="#stay"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context attribute="Error" lineEndContext="#pop" name="AfterHash">
|
||||
<!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
|
||||
</context>
|
||||
|
||||
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
|
||||
<LineContinue attribute="Preprocessor" context="#stay"/>
|
||||
<RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>
|
||||
<RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
|
||||
</context>
|
||||
|
||||
<context attribute="Preprocessor" lineEndContext="#pop" name="Define">
|
||||
<LineContinue attribute="Preprocessor" context="#stay"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
|
||||
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
|
||||
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
|
||||
</context>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Data Type" defStyleNum="dsDataType"/>
|
||||
<itemData name="Decimal" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Octal" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Hex" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="Char" defStyleNum="dsChar"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="String Char" defStyleNum="dsChar"/>
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="Symbol" defStyleNum="dsNormal"/>
|
||||
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
|
||||
<itemData name="Prep. Lib" defStyleNum="dsOthers"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
|
||||
<itemData name="Alert" defStyleNum="dsAlert" />
|
||||
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
|
||||
<itemData name="Error" defStyleNum="dsError" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="//" />
|
||||
<comment name="multiLine" start="/*" end="*/" />
|
||||
</comments>
|
||||
<keywords casesensitive="1" additionalDeliminator="'"" />
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,343 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<language name="C++" section="Sources"
|
||||
version="1.44" kateversion="2.4"
|
||||
indenter="cstyle"
|
||||
mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"
|
||||
extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc"
|
||||
priority="9">
|
||||
<!--
|
||||
##########################################################################
|
||||
## Fixes by Sebastian Pipping (webmaster@hartwork.org)
|
||||
##
|
||||
## NOTE: Keep in sync with C highlighter! (c.xml)
|
||||
##########################################################################
|
||||
-->
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> asm </item>
|
||||
<item> break </item>
|
||||
<item> case </item>
|
||||
<item> catch </item>
|
||||
<item> class </item>
|
||||
<item> const_cast </item>
|
||||
<item> continue </item>
|
||||
<item> default </item>
|
||||
<item> delete </item>
|
||||
<item> do </item>
|
||||
<item> dynamic_cast</item>
|
||||
<item> else </item>
|
||||
<item> enum </item>
|
||||
<item> explicit </item>
|
||||
<item> export </item>
|
||||
<item> extern </item>
|
||||
<item> false </item>
|
||||
<item> friend </item>
|
||||
<item> for </item>
|
||||
<item> goto </item>
|
||||
<item> if </item>
|
||||
<item> inline </item>
|
||||
<item> namespace </item>
|
||||
<item> new </item>
|
||||
<item> operator </item>
|
||||
<item> private </item>
|
||||
<item> protected </item>
|
||||
<item> public </item>
|
||||
<item> qobject_cast </item>
|
||||
<item> reinterpret_cast </item>
|
||||
<item> return </item>
|
||||
<item> sizeof </item>
|
||||
<item> static_cast </item>
|
||||
<item> struct </item>
|
||||
<item> switch </item>
|
||||
<item> template </item>
|
||||
<item> this </item>
|
||||
<item> throw </item>
|
||||
<item> true </item>
|
||||
<item> try </item>
|
||||
<item> typedef </item>
|
||||
<item> typeid </item>
|
||||
<item> type_info </item>
|
||||
<item> typename </item>
|
||||
<item> union </item>
|
||||
<item> using </item>
|
||||
<item> virtual </item>
|
||||
<item> while </item>
|
||||
|
||||
<item> and </item>
|
||||
<item> and_eq </item>
|
||||
<item> bad_cast </item>
|
||||
<item> bad_typeid </item>
|
||||
<item> bitand </item>
|
||||
<item> bitor </item>
|
||||
<item> compl </item>
|
||||
<item> not </item>
|
||||
<item> not_eq </item>
|
||||
<item> or </item>
|
||||
<item> or_eq </item>
|
||||
<item> xor </item>
|
||||
<item> xor_eq </item>
|
||||
<item> except </item>
|
||||
<item> finally </item>
|
||||
<item> xalloc </item>
|
||||
</list>
|
||||
<list name="extensions">
|
||||
<item> K_DCOP </item>
|
||||
<item> Q_ARG </item>
|
||||
<item> Q_ASSERT </item>
|
||||
<item> Q_ASSERT_X </item>
|
||||
<item> Q_CHECK_PTR </item>
|
||||
<item> Q_CLASSINFO </item>
|
||||
<item> Q_CLEANUP_RESOURCE </item>
|
||||
<item> Q_D </item>
|
||||
<item> Q_DECLARE_FLAGS </item>
|
||||
<item> Q_DECLARE_FLAGS </item>
|
||||
<item> Q_DECLARE_INTERFACE </item>
|
||||
<item> Q_DECLARE_METATYPE </item>
|
||||
<item> Q_DECLARE_OPERATORS_FOR_FLAGS </item>
|
||||
<item> Q_DECLARE_PRIVATE </item>
|
||||
<item> Q_DECLARE_PUBLIC </item>
|
||||
<item> Q_DECLARE_SHARED </item>
|
||||
<item> Q_DECLARE_TYPEINFO </item>
|
||||
<item> Q_DISABLE_COPY </item>
|
||||
<item> Q_ENUMS </item>
|
||||
<item> Q_EXPORT </item>
|
||||
<item> Q_FLAGS </item>
|
||||
<item> Q_FOREACH </item>
|
||||
<item> Q_FOREVER </item>
|
||||
<item> Q_GADGET </item>
|
||||
<item> Q_GLOBAL_STATIC </item>
|
||||
<item> Q_GLOBAL_STATIC_WITH_ARGS </item>
|
||||
<item> Q_INIT_RESOURCE </item>
|
||||
<item> Q_INTERFACES </item>
|
||||
<item> Q_INVOKABLE </item>
|
||||
<item> Q_NOREPLY </item>
|
||||
<item> Q_OBJECT </item>
|
||||
<item> Q_OVERRIDE </item>
|
||||
<item> Q_PRIVATE_SLOT </item>
|
||||
<item> Q_PROPERTY </item>
|
||||
<item> Q_Q </item>
|
||||
<item> Q_RETURN_ARG </item>
|
||||
<item> Q_SCRIPTABLE </item>
|
||||
<item> Q_SETS </item>
|
||||
<item> Q_SIGNALS </item>
|
||||
<item> Q_SLOTS </item>
|
||||
<item> Q_UNUSED </item>
|
||||
<item> SIGNAL </item>
|
||||
<item> SLOT </item>
|
||||
<item> TRUE </item>
|
||||
<item> FALSE </item>
|
||||
<item> connect </item>
|
||||
<item> disconnect </item>
|
||||
<item> emit </item>
|
||||
<item> signals </item>
|
||||
<item> slots </item>
|
||||
<item> foreach </item>
|
||||
<item> forever </item>
|
||||
|
||||
<item> qint8 </item>
|
||||
<item> qint16 </item>
|
||||
<item> qint32 </item>
|
||||
<item> qint64 </item>
|
||||
<item> qlonglong </item>
|
||||
<item> qptrdiff </item>
|
||||
<item> qreal </item>
|
||||
<item> quint8 </item>
|
||||
<item> quint16 </item>
|
||||
<item> quint32 </item>
|
||||
<item> quint64 </item>
|
||||
<item> quintptr </item>
|
||||
<item> qulonglong </item>
|
||||
</list>
|
||||
<list name="types">
|
||||
<item> auto </item>
|
||||
<item> bool </item>
|
||||
<item> char </item>
|
||||
<item> const </item>
|
||||
<item> double </item>
|
||||
<item> float </item>
|
||||
<item> int </item>
|
||||
<item> long </item>
|
||||
<item> mutable </item>
|
||||
<item> register </item>
|
||||
<item> short </item>
|
||||
<item> signed </item>
|
||||
<item> static </item>
|
||||
<item> unsigned </item>
|
||||
<item> void </item>
|
||||
<item> volatile </item>
|
||||
<item> uchar </item>
|
||||
<item> uint </item>
|
||||
<item> int8_t </item>
|
||||
<item> int16_t </item>
|
||||
<item> int32_t </item>
|
||||
<item> int64_t </item>
|
||||
<item> uint8_t </item>
|
||||
<item> uint16_t </item>
|
||||
<item> uint32_t </item>
|
||||
<item> uint64_t </item>
|
||||
<item> wchar_t </item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="PP" firstNonSpace="true" />
|
||||
<DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
|
||||
<StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
|
||||
<StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords"/>
|
||||
<keyword attribute="Extensions" context="#stay" String="extensions" />
|
||||
<keyword attribute="Data Type" context="#stay" String="types" />
|
||||
<HlCChar attribute="Char" context="#stay"/>
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<DetectIdentifier />
|
||||
<Float attribute="Float" context="#stay">
|
||||
<AnyChar String="fF" attribute="Float" context="#stay"/>
|
||||
<AnyChar String="lL" attribute="Float" context="#stay"/>
|
||||
</Float>
|
||||
<HlCHex attribute="Hex" context="#stay"/>
|
||||
<HlCOct attribute="Octal" context="#stay"/>
|
||||
<Int attribute="Decimal" context="#stay">
|
||||
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
|
||||
</Int>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
|
||||
<Detect2Chars attribute="Comment 4" context="Commentar 4" char="/" char1="+" beginRegion="Comment"/>
|
||||
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
|
||||
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
|
||||
<AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]{|}~^;"/>
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#pop" name="String">
|
||||
<LineContinue attribute="String" context="#stay"/>
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
</context>
|
||||
|
||||
<context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
|
||||
<LineContinue attribute="Comment" context="#stay"/>
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
|
||||
<DetectSpaces />
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="Inner Comment" context="Commentar 3" char="/" char1="#" beginRegion="Comment"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Comment 4" lineEndContext="#stay" name="Commentar 4">
|
||||
<DetectSpaces />
|
||||
<Detect2Chars attribute="Comment 4" context="#pop" char="+" char1="/" endRegion="Comment"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="Inner Comment" context="Commentar 3" char="/" char1="#" beginRegion="Comment"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Inner Comment" lineEndContext="#stay" name="Commentar 3">
|
||||
<DetectSpaces />
|
||||
<Detect2Chars attribute="Inner Comment" context="#pop" char="#" char1="/" endRegion="Comment"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
|
||||
<context attribute="Error" lineEndContext="#pop" name="AfterHash">
|
||||
<!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
|
||||
</context>
|
||||
|
||||
<context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
|
||||
<LineContinue attribute="Preprocessor" context="#stay"/>
|
||||
<RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>
|
||||
<RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Preprocessor" lineEndContext="#pop" name="Define">
|
||||
<LineContinue attribute="Preprocessor" context="#stay"/>
|
||||
<!-- Not in Kate's -->
|
||||
<Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
|
||||
<DetectSpaces />
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
|
||||
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*el(?:se|if)" firstNonSpace="true" />
|
||||
<RegExpr attribute="Preprocessor" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
|
||||
<RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="PP" firstNonSpace="true" />
|
||||
<RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
|
||||
</context>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Extensions" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
|
||||
<itemData name="Data Type" defStyleNum="dsDataType"/>
|
||||
<itemData name="Decimal" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Octal" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Hex" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="Char" defStyleNum="dsChar"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="String Char" defStyleNum="dsChar"/>
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="Comment 4" defStyleNum="dsOthers"/>
|
||||
<itemData name="Inner Comment" defStyleNum="dsString"/>
|
||||
<itemData name="Symbol" defStyleNum="dsNormal"/>
|
||||
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
|
||||
<itemData name="Prep. Lib" defStyleNum="dsFunction"/>
|
||||
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
|
||||
<itemData name="Error" defStyleNum="dsError" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="//" />
|
||||
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
|
||||
</comments>
|
||||
<keywords casesensitive="1" weakDeliminator="" additionalDeliminator=""/>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,699 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
|
||||
<!--
|
||||
|
||||
Kate CSS syntax highlighting definition
|
||||
|
||||
|
||||
Changelog:
|
||||
|
||||
- Version 2.02, by Rafał Miłecki:
|
||||
- Added CSS 3 properties "border-*-image" and "border-*-radius".
|
||||
- Added CSS values "clip", "ellipsis" and "ellipsis-word".
|
||||
- Added CSS 3 properties "overflow-x", "overflow-y", "text-overflow", "box-shadow" and "outline-offset".
|
||||
- Added CSS 3 color values: "rgba", "hsl" and "hsla".
|
||||
- Added Gecko CSS properties: "-moz-border-*-colors".
|
||||
- Added background size properties: "background-size" and prefixes: "-o-", "-webkit-" and "-khtml-".
|
||||
|
||||
- Version 2.01, by Mathieu Bonnet:
|
||||
- Added CSS 3 property "border-radius".
|
||||
- Added Gecko CSS properties "-moz-border-radius" and "-moz-box-flex".
|
||||
- Added Gecko CSS value "-moz-box".
|
||||
- Added Trident CSS functional notation "expression".
|
||||
- Extended the id and class syntax specifications, as per CSS 2.1 grammar.
|
||||
|
||||
-->
|
||||
|
||||
<language name="CSS" version="2.02" kateversion="2.4" section="Markup" extensions="*.css" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
|
||||
|
||||
<highlighting>
|
||||
<list name="properties">
|
||||
<!-- CSS2 -->
|
||||
<item> azimuth </item>
|
||||
<item> background </item>
|
||||
<item> background-attachment </item>
|
||||
<item> background-color </item>
|
||||
<item> background-image </item>
|
||||
<item> background-position </item>
|
||||
<item> background-repeat </item>
|
||||
<item> border </item>
|
||||
<item> border-bottom </item>
|
||||
<item> border-bottom-color </item>
|
||||
<item> border-bottom-style </item>
|
||||
<item> border-bottom-width </item>
|
||||
<item> border-collapse </item>
|
||||
<item> border-color </item>
|
||||
<item> border-left </item>
|
||||
<item> border-left-color </item>
|
||||
<item> border-left-style </item>
|
||||
<item> border-left-width </item>
|
||||
<item> border-right </item>
|
||||
<item> border-right-color </item>
|
||||
<item> border-right-style </item>
|
||||
<item> border-right-width </item>
|
||||
<item> border-spacing </item>
|
||||
<item> border-style </item>
|
||||
<item> border-top </item>
|
||||
<item> border-top-color </item>
|
||||
<item> border-top-style </item>
|
||||
<item> border-top-width </item>
|
||||
<item> border-width </item>
|
||||
<item> bottom </item>
|
||||
<item> caption-side </item>
|
||||
<item> clear </item>
|
||||
<item> clip </item>
|
||||
<item> color </item>
|
||||
<item> content </item>
|
||||
<item> counter-increment </item>
|
||||
<item> counter-reset </item>
|
||||
<item> cue </item>
|
||||
<item> cue-after </item>
|
||||
<item> cue-before </item>
|
||||
<item> cursor </item>
|
||||
<item> direction </item>
|
||||
<item> display </item>
|
||||
<item> elevation </item>
|
||||
<item> empty-cells </item>
|
||||
<item> float </item>
|
||||
<item> font </item>
|
||||
<item> font-family </item>
|
||||
<item> font-size </item>
|
||||
<item> font-size-adjust </item>
|
||||
<item> font-stretch </item>
|
||||
<item> font-style </item>
|
||||
<item> font-variant </item>
|
||||
<item> font-weight </item>
|
||||
<item> height </item>
|
||||
<item> left </item>
|
||||
<item> letter-spacing </item>
|
||||
<item> line-height </item>
|
||||
<item> list-style </item>
|
||||
<item> list-style-image </item>
|
||||
<item> list-style-keyword </item>
|
||||
<item> list-style-position </item>
|
||||
<item> list-style-type </item>
|
||||
<item> margin </item>
|
||||
<item> margin-bottom </item>
|
||||
<item> margin-left </item>
|
||||
<item> margin-right </item>
|
||||
<item> margin-top </item>
|
||||
<item> marker-offset </item>
|
||||
<item> max-height </item>
|
||||
<item> max-width </item>
|
||||
<item> min-height </item>
|
||||
<item> min-width </item>
|
||||
<item> orphans </item>
|
||||
<item> outline </item>
|
||||
<item> outline-color </item>
|
||||
<item> outline-style </item>
|
||||
<item> outline-width </item>
|
||||
<item> overflow </item>
|
||||
<item> padding </item>
|
||||
<item> padding-bottom </item>
|
||||
<item> padding-left </item>
|
||||
<item> padding-right </item>
|
||||
<item> padding-top </item>
|
||||
<item> page </item>
|
||||
<item> page-break-after </item>
|
||||
<item> page-break-before </item>
|
||||
<item> page-break-inside </item>
|
||||
<item> pause </item>
|
||||
<item> pause-after </item>
|
||||
<item> pause-before </item>
|
||||
<item> pitch </item>
|
||||
<item> pitch-range </item>
|
||||
<item> play-during </item>
|
||||
<item> position </item>
|
||||
<item> quotes </item>
|
||||
<item> richness </item>
|
||||
<item> right </item>
|
||||
<item> size </item>
|
||||
<item> speak </item>
|
||||
<item> speak-header </item>
|
||||
<item> speak-numeral </item>
|
||||
<item> speak-punctuation </item>
|
||||
<item> speech-rate </item>
|
||||
<item> stress </item>
|
||||
<item> table-layout </item>
|
||||
<item> text-align </item>
|
||||
<item> text-decoration </item>
|
||||
<item> text-decoration-color </item>
|
||||
<item> text-indent </item>
|
||||
<item> text-shadow </item>
|
||||
<item> text-transform </item>
|
||||
<item> top </item>
|
||||
<item> unicode-bidi </item>
|
||||
<item> vertical-align </item>
|
||||
<item> visibility </item>
|
||||
<item> voice-family </item>
|
||||
<item> volume </item>
|
||||
<item> white-space </item>
|
||||
<item> widows </item>
|
||||
<item> width </item>
|
||||
<item> word-spacing </item>
|
||||
<item> z-index </item>
|
||||
|
||||
<!-- CSS3 -->
|
||||
<item> border-bottom-image </item>
|
||||
<item> border-bottom-left-image </item>
|
||||
<item> border-bottom-left-radius </item>
|
||||
<item> border-bottom-right-image </item>
|
||||
<item> border-bottom-right-radius </item>
|
||||
<item> border-corner-image </item>
|
||||
<item> border-image </item>
|
||||
<item> border-left-image </item>
|
||||
<item> border-radius </item>
|
||||
<item> border-right-image </item>
|
||||
<item> border-top-image </item>
|
||||
<item> border-top-left-image </item>
|
||||
<item> border-top-left-radius </item>
|
||||
<item> border-top-right-image </item>
|
||||
<item> border-top-right-radius </item>
|
||||
<item> box-shadow </item>
|
||||
<item> box-sizing </item>
|
||||
<item> opacity </item>
|
||||
<item> outline-offset </item>
|
||||
<item> overflow-x </item>
|
||||
<item> overflow-y </item>
|
||||
<item> text-overflow </item>
|
||||
<item> text-shadow </item>
|
||||
|
||||
<!-- Gecko rendering engine CSS property extensions -->
|
||||
<item> -moz-border-bottom-colors </item>
|
||||
<item> -moz-border-left-colors </item>
|
||||
<item> -moz-border-radius </item>
|
||||
<item> -moz-border-right-colors </item>
|
||||
<item> -moz-border-top-colors </item>
|
||||
<item> -moz-box-flex </item>
|
||||
|
||||
<!-- Opera rendering engine CSS property extensions -->
|
||||
<item> -o-background-size </item>
|
||||
<item> -o-text-overflow </item>
|
||||
|
||||
<!-- konq specific -->
|
||||
<item> -khtml-background-size </item>
|
||||
<item> konq_bgpos_x </item>
|
||||
<item> konq_bgpos_y </item>
|
||||
|
||||
<!-- Webkit rendering engine CSS property extensions -->
|
||||
<item> -webkit-background-size </item>
|
||||
|
||||
<!-- font properties in @font-face -->
|
||||
<item> font-family </item>
|
||||
<item> font-size </item>
|
||||
<item> font-stretch </item>
|
||||
<item> font-style </item>
|
||||
<item> font-variant </item>
|
||||
<item> font-weight </item>
|
||||
<item> unicode-range </item>
|
||||
<item> units-per-em </item>
|
||||
<item> src </item>
|
||||
<item> panose-1 </item>
|
||||
<item> stemv </item>
|
||||
<item> stemh </item>
|
||||
<item> slope </item>
|
||||
<item> cap-height </item>
|
||||
<item> x-height </item>
|
||||
<item> ascent </item>
|
||||
<item> descent </item>
|
||||
<item> widths </item>
|
||||
<item> bbox </item>
|
||||
<item> definition-src </item>
|
||||
<item> baseline </item>
|
||||
<item> centerline </item>
|
||||
<item> mathline </item>
|
||||
<item> topline </item>
|
||||
</list>
|
||||
|
||||
<list name="types">
|
||||
<item> inherit </item>
|
||||
<item> none </item>
|
||||
<item> hidden </item>
|
||||
<item> dotted </item>
|
||||
<item> dashed </item>
|
||||
<item> solid </item>
|
||||
<item> double </item>
|
||||
<item> groove </item>
|
||||
<item> ridge </item>
|
||||
<item> inset </item>
|
||||
<item> outset </item>
|
||||
<item> xx-small </item>
|
||||
<item> x-small </item>
|
||||
<item> small </item>
|
||||
<item> medium </item>
|
||||
<item> large </item>
|
||||
<item> x-large </item>
|
||||
<item> xx-large </item>
|
||||
<item> smaller </item>
|
||||
<item> larger </item>
|
||||
<item> italic </item>
|
||||
<item> oblique </item>
|
||||
<item> small-caps </item>
|
||||
<item> normal </item>
|
||||
<item> bold </item>
|
||||
<item> bolder </item>
|
||||
<item> lighter </item>
|
||||
<item> light </item>
|
||||
<item> 100 </item>
|
||||
<item> 200 </item>
|
||||
<item> 300 </item>
|
||||
<item> 400 </item>
|
||||
<item> 500 </item>
|
||||
<item> 600 </item>
|
||||
<item> 700 </item>
|
||||
<item> 800 </item>
|
||||
<item> 900 </item>
|
||||
<item> transparent </item>
|
||||
<item> repeat </item>
|
||||
<item> repeat-x </item>
|
||||
<item> repeat-y </item>
|
||||
<item> no-repeat </item>
|
||||
<item> baseline </item>
|
||||
<item> sub </item>
|
||||
<item> super </item>
|
||||
<item> top </item>
|
||||
<item> text-top </item>
|
||||
<item> middle </item>
|
||||
<item> bottom </item>
|
||||
<item> text-bottom </item>
|
||||
<item> left </item>
|
||||
<item> right </item>
|
||||
<item> center </item>
|
||||
<item> justify </item>
|
||||
<item> konq-center </item>
|
||||
<item> disc </item>
|
||||
<item> circle </item>
|
||||
<item> square </item>
|
||||
<item> box </item>
|
||||
<item> decimal </item>
|
||||
<item> decimal-leading-zero </item>
|
||||
<item> lower-roman </item>
|
||||
<item> upper-roman </item>
|
||||
<item> lower-greek </item>
|
||||
<item> lower-alpha </item>
|
||||
<item> lower-latin </item>
|
||||
<item> upper-alpha </item>
|
||||
<item> upper-latin </item>
|
||||
<item> hebrew </item>
|
||||
<item> armenian </item>
|
||||
<item> georgian </item>
|
||||
<item> cjk-ideographic </item>
|
||||
<item> hiragana </item>
|
||||
<item> katakana </item>
|
||||
<item> hiragana-iroha </item>
|
||||
<item> katakana-iroha </item>
|
||||
<item> inline </item>
|
||||
<item> inline-block </item>
|
||||
<item> block </item>
|
||||
<item> list-item </item>
|
||||
<item> run-in </item>
|
||||
<item> compact </item>
|
||||
<item> marker </item>
|
||||
<item> table </item>
|
||||
<item> inline-table </item>
|
||||
<item> table-row-group </item>
|
||||
<item> table-header-group </item>
|
||||
<item> table-footer-group </item>
|
||||
<item> table-row </item>
|
||||
<item> table-column-group </item>
|
||||
<item> table-column </item>
|
||||
<item> table-cell </item>
|
||||
<item> table-caption </item>
|
||||
<item> auto </item>
|
||||
<item> crosshair </item>
|
||||
<item> default </item>
|
||||
<item> pointer </item>
|
||||
<item> move </item>
|
||||
<item> e-resize </item>
|
||||
<item> ne-resize </item>
|
||||
<item> nw-resize </item>
|
||||
<item> n-resize </item>
|
||||
<item> se-resize </item>
|
||||
<item> sw-resize </item>
|
||||
<item> s-resize </item>
|
||||
<item> w-resize </item>
|
||||
<item> text </item>
|
||||
<item> wait </item>
|
||||
<item> help </item>
|
||||
<item> above </item>
|
||||
<item> absolute </item>
|
||||
<item> always </item>
|
||||
<item> avoid </item>
|
||||
<item> below </item>
|
||||
<item> bidi-override </item>
|
||||
<item> blink </item>
|
||||
<item> both </item>
|
||||
<item> capitalize </item>
|
||||
<item> caption </item>
|
||||
<item> clip </item>
|
||||
<item> close-quote </item>
|
||||
<item> collapse </item>
|
||||
<item> condensed </item>
|
||||
<item> crop </item>
|
||||
<item> cross </item>
|
||||
<item> ellipsis </item>
|
||||
<item> ellipsis-word </item>
|
||||
<item> embed </item>
|
||||
<item> expanded </item>
|
||||
<item> extra-condensed </item>
|
||||
<item> extra-expanded </item>
|
||||
<item> fixed </item>
|
||||
<item> hand </item>
|
||||
<item> hide </item>
|
||||
<item> higher </item>
|
||||
<item> icon </item>
|
||||
<item> inside </item>
|
||||
<item> invert </item>
|
||||
<item> landscape </item>
|
||||
<item> level </item>
|
||||
<item> line-through </item>
|
||||
<item> loud </item>
|
||||
<item> lower </item>
|
||||
<item> lowercase </item>
|
||||
<item> ltr </item>
|
||||
<item> menu </item>
|
||||
<item> message-box </item>
|
||||
<item> mix </item>
|
||||
<item> narrower </item>
|
||||
<item> no-close-quote </item>
|
||||
<item> no-open-quote </item>
|
||||
<item> nowrap </item>
|
||||
<item> open-quote </item>
|
||||
<item> outside </item>
|
||||
<item> overline </item>
|
||||
<item> portrait </item>
|
||||
<item> pre </item>
|
||||
<item> pre-line </item>
|
||||
<item> pre-wrap </item>
|
||||
<item> relative </item>
|
||||
<item> rtl </item>
|
||||
<item> scroll </item>
|
||||
<item> semi-condensed </item>
|
||||
<item> semi-expanded </item>
|
||||
<item> separate </item>
|
||||
<item> show </item>
|
||||
<item> small-caption </item>
|
||||
<item> static </item>
|
||||
<item> static-position </item>
|
||||
<item> status-bar </item>
|
||||
<item> thick </item>
|
||||
<item> thin </item>
|
||||
<item> ultra-condensed </item>
|
||||
<item> ultra-expanded </item>
|
||||
<item> underline </item>
|
||||
<item> uppercase </item>
|
||||
<item> visible </item>
|
||||
<item> wider </item>
|
||||
<item> break </item>
|
||||
<item> serif </item>
|
||||
<item> sans-serif </item>
|
||||
<item> cursive </item>
|
||||
<item> fantasy </item>
|
||||
<item> monospace </item>
|
||||
<item> border-box </item>
|
||||
<item> content-box </item>
|
||||
|
||||
<!-- Gecko rendering engine CSS value extensions -->
|
||||
<item> -moz-box </item>
|
||||
|
||||
</list>
|
||||
|
||||
|
||||
<list name="colors">
|
||||
<item> aqua </item>
|
||||
<item> black </item>
|
||||
<item> blue </item>
|
||||
<item> fuchsia </item>
|
||||
<item> gray </item>
|
||||
<item> green </item>
|
||||
<item> lime </item>
|
||||
<item> maroon </item>
|
||||
<item> navy </item>
|
||||
<item> olive </item>
|
||||
<item> purple </item>
|
||||
<item> red </item>
|
||||
<item> silver </item>
|
||||
<item> teal </item>
|
||||
<item> white </item>
|
||||
<item> yellow </item>
|
||||
<item> ActiveBorder </item>
|
||||
<item> ActiveCaption </item>
|
||||
<item> AppWorkspace </item>
|
||||
<item> Background </item>
|
||||
<item> ButtonFace </item>
|
||||
<item> ButtonHighlight </item>
|
||||
<item> ButtonShadow </item>
|
||||
<item> ButtonText </item>
|
||||
<item> CaptionText </item>
|
||||
<item> GrayText </item>
|
||||
<item> Highlight </item>
|
||||
<item> HighlightText </item>
|
||||
<item> InactiveBorder </item>
|
||||
<item> InactiveCaption </item>
|
||||
<item> InactiveCaptionText </item>
|
||||
<item> InfoBackground </item>
|
||||
<item> InfoText </item>
|
||||
<item> Menu </item>
|
||||
<item> MenuText </item>
|
||||
<item> Scrollbar </item>
|
||||
<item> ThreeDDarkShadow </item>
|
||||
<item> ThreeDFace </item>
|
||||
<item> ThreeDHighlight </item>
|
||||
<item> ThreeDLightShadow </item>
|
||||
<item> ThreeDShadow </item>
|
||||
<item> Window </item>
|
||||
<item> WindowFrame </item>
|
||||
<item> WindowText </item>
|
||||
</list>
|
||||
|
||||
<list name="paren">
|
||||
<item> url </item>
|
||||
<item> attr </item>
|
||||
<item> rect </item>
|
||||
<item> rgb </item>
|
||||
<item> rgba </item>
|
||||
<item> hsl </item>
|
||||
<item> hsla </item>
|
||||
<item> counter </item>
|
||||
<item> counters </item>
|
||||
|
||||
<!-- in @font-face -->
|
||||
<item> local </item>
|
||||
<item> format </item>
|
||||
|
||||
<!-- Trident (a.k.a., MSHTML) rendering engine functional notation extensions -->
|
||||
<item> expression </item>
|
||||
|
||||
</list>
|
||||
|
||||
<list name="mediatypes">
|
||||
<item> all </item>
|
||||
<item> aural </item>
|
||||
<item> braille </item>
|
||||
<item> embossed </item>
|
||||
<item> handheld </item>
|
||||
<item> print </item>
|
||||
<item> projection </item>
|
||||
<item> screen </item>
|
||||
<item> tty </item>
|
||||
<item> tv </item>
|
||||
</list>
|
||||
|
||||
<list name="pseudoclasses">
|
||||
<item> hover </item>
|
||||
<item> link </item>
|
||||
<item> visited </item>
|
||||
<item> active </item>
|
||||
<item> focus </item>
|
||||
<item> first-child </item>
|
||||
<item> last-child </item>
|
||||
<item> only-child </item>
|
||||
<item> first-of-type </item>
|
||||
<item> last-of-type </item>
|
||||
<item> only-of-type </item>
|
||||
<item> first-letter </item>
|
||||
<item> first-line </item>
|
||||
<item> before </item>
|
||||
<item> after </item>
|
||||
<item> selection </item>
|
||||
<item> root </item>
|
||||
<item> empty </item>
|
||||
<item> target </item>
|
||||
<item> enabled </item>
|
||||
<item> disabled </item>
|
||||
<item> checked </item>
|
||||
<item> indeterminate </item>
|
||||
<item> nth-child </item>
|
||||
<item> nth-last-child </item>
|
||||
<item> nth-of-type </item>
|
||||
<item> nth-last-of-type </item>
|
||||
<item> not </item>
|
||||
</list>
|
||||
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Base">
|
||||
<LineContinue/>
|
||||
<DetectSpaces/>
|
||||
<IncludeRules context="FindRuleSets" />
|
||||
</context>
|
||||
|
||||
<!-- to be included -->
|
||||
<!-- finds rules and detects nesting -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindRuleSets">
|
||||
<RegExpr attribute="Media" context="Media" String="@media\b" />
|
||||
<RegExpr attribute="At Rule" context="Import" String="@import\b" />
|
||||
<RegExpr attribute="At Rule" context="#stay" String="@(font-face|charset)\b" />
|
||||
<DetectChar attribute="Property" context="RuleSet" char="{" beginRegion="ruleset" />
|
||||
<!--parse selectors-->
|
||||
<DetectChar attribute="Selector Attr" context="SelAttr" char="[" />
|
||||
<RegExpr attribute="Selector Id" context="#stay" String="#([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
|
||||
<RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
|
||||
<RegExpr attribute="Selector Pseudo" context="#stay" String=":lang\([\w_-]+\)" />
|
||||
<DetectChar attribute="Selector Pseudo" context="SelPseudo" char=":" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindComments" />
|
||||
</context>
|
||||
|
||||
<!-- finds arguments to properties -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindValues">
|
||||
<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|px|in|cm|mm|pt|pc|deg|rad|grad|ms|s|Hz|kHz)\b" />
|
||||
<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?" />
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+" />
|
||||
</context>
|
||||
|
||||
<!-- finds strings -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
|
||||
<DetectChar attribute="String" context="StringDQ" char=""" />
|
||||
<DetectChar attribute="String" context="StringSQ" char="'" />
|
||||
</context>
|
||||
|
||||
<!-- finds comments -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="FindComments">
|
||||
<RegExpr attribute="Region Marker" context="#stay" String="/\*BEGIN.*\*/" beginRegion="UserDefined" />
|
||||
<RegExpr attribute="Region Marker" context="#stay" String="/\*END.*\*/" endRegion="UserDefined" />
|
||||
<Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />
|
||||
</context>
|
||||
|
||||
<!-- other contexts -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Media">
|
||||
<DetectChar attribute="Media" context="Media2" char="{" beginRegion="media" />
|
||||
<keyword attribute="Media" context="#stay" String="mediatypes" />
|
||||
<DetectChar attribute="Media" context="#stay" char="," />
|
||||
<IncludeRules context="FindComments" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S+" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Media2">
|
||||
<DetectChar attribute="Media" context="#pop#pop" char="}" endRegion="media" />
|
||||
<IncludeRules context="FindRuleSets" />
|
||||
</context>
|
||||
|
||||
<context attribute="Selector Attr" lineEndContext="#stay" name="SelAttr">
|
||||
<DetectChar attribute="Selector Attr" context="#pop" char="]" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
</context>
|
||||
|
||||
<context attribute="Selector Pseudo" lineEndContext="#pop" name="SelPseudo"
|
||||
fallthrough="true" fallthroughContext="#pop">
|
||||
<keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Import">
|
||||
<DetectChar attribute="At Rule" context="#pop" char=";" />
|
||||
<keyword attribute="Media" context="#stay" String="mediatypes" />
|
||||
<IncludeRules context="FindValues" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindComments" />
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Comment">
|
||||
<DetectSpaces/>
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment" />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier/>
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="RuleSet">
|
||||
<DetectChar attribute="Property" context="#pop" char="}" endRegion="ruleset" />
|
||||
<keyword attribute="Property" context="Rule" String="properties" />
|
||||
<RegExpr attribute="Unknown Property" context="Rule" String="-?[A-Za-z_-]+(?=\s*:)" />
|
||||
<IncludeRules context="FindComments" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Rule">
|
||||
<DetectChar attribute="Property" context="Rule2" char=":" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Rule2">
|
||||
<DetectChar attribute="Property" context="#pop#pop" char=";" />
|
||||
<DetectChar attribute="Property" context="#pop#pop#pop" char="}" endRegion="ruleset" />
|
||||
<!-- parse property values -->
|
||||
<keyword attribute="Value" context="#stay" String="types" />
|
||||
<keyword attribute="Value" context="#stay" String="colors" />
|
||||
<RegExpr attribute="Value" context="#stay" String="#([0-9A-Fa-f]{3}){1,4}\b" />
|
||||
<keyword attribute="Value" context="PropParen" String="paren" />
|
||||
<RegExpr attribute="Important" context="#stay" String="!important\b" />
|
||||
<IncludeRules context="FindValues" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindComments" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="PropParen">
|
||||
<DetectChar attribute="Value" context="PropParen2" char="(" />
|
||||
<IncludeRules context="FindComments" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="PropParen2">
|
||||
<DetectChar attribute="Value" context="#pop#pop" char=")" />
|
||||
<IncludeRules context="FindValues" />
|
||||
<IncludeRules context="FindStrings" />
|
||||
<IncludeRules context="FindComments" />
|
||||
</context>
|
||||
|
||||
<!-- string contexts -->
|
||||
<context attribute="String" lineEndContext="#stay" name="StringDQ">
|
||||
<DetectChar attribute="String" context="#pop" char=""" />
|
||||
<IncludeRules context="InsideString" />
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#stay" name="StringSQ">
|
||||
<DetectChar attribute="String" context="#pop" char="'" />
|
||||
<IncludeRules context="InsideString" />
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#stay" name="InsideString">
|
||||
<RegExpr attribute="String" context="#stay" String="\\["']" />
|
||||
<DetectIdentifier/>
|
||||
</context>
|
||||
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Property" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Unknown Property" defStyleNum="dsKeyword" italic="1"/>
|
||||
<itemData name="Media" defStyleNum="dsDecVal" bold="1"/>
|
||||
<itemData name="At Rule" defStyleNum="dsDecVal" />
|
||||
<itemData name="String" defStyleNum="dsString" />
|
||||
<itemData name="Value" defStyleNum="dsDataType" />
|
||||
<itemData name="Important" defStyleNum="dsKeyword" />
|
||||
<itemData name="Selector Attr" defStyleNum="dsChar" />
|
||||
<itemData name="Selector Id" defStyleNum="dsFloat" bold="1"/>
|
||||
<itemData name="Selector Class" defStyleNum="dsFloat" />
|
||||
<itemData name="Selector Pseudo" defStyleNum="dsDecVal" />
|
||||
<itemData name="Comment" defStyleNum="dsComment" />
|
||||
<itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
|
||||
<itemData name="Alert" defStyleNum="dsAlert"/>
|
||||
<itemData name="Error" defStyleNum="dsError"/>
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<keywords casesensitive="0" weakDeliminator="-%"/>
|
||||
<comments>
|
||||
<comment name="multiLine" start="/*" end="*/" />
|
||||
</comments>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,483 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd"
|
||||
[
|
||||
<!ENTITY wordsep "([][,?;()]|\.$|\.?\s)"> <!-- things that end a TagWord -->
|
||||
]>
|
||||
<!--
|
||||
This file is part of KDE's kate project.
|
||||
|
||||
Copyright 2004 Dominik Haumann (dhdev@gmx.de)
|
||||
Copyright 2007 Matthew Woehlke (mw_triad@users.sourceforge.net)
|
||||
|
||||
**********************************************************************
|
||||
* 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 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 Street, Fifth Floor, *
|
||||
* Boston, MA 02110-1301, USA. *
|
||||
**********************************************************************
|
||||
-->
|
||||
<language name="Doxygen" version="1.30" kateversion="2.4" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" priority="9">
|
||||
<highlighting>
|
||||
<!-- note: all tags may begin with a \ or @ char
|
||||
so if you add/change tags you have to do it twice -->
|
||||
<list name="TagOnly">
|
||||
<item> \arg </item>
|
||||
<item> \attention </item>
|
||||
<item> \author </item>
|
||||
<item> \callgraph </item>
|
||||
<item> \code </item>
|
||||
<item> \dot </item>
|
||||
<item> \else </item>
|
||||
<item> \endcode </item>
|
||||
<item> \endcond </item>
|
||||
<item> \enddot </item>
|
||||
<item> \endhtmlonly </item>
|
||||
<item> \endif </item>
|
||||
<item> \endlatexonly </item>
|
||||
<item> \endlink </item>
|
||||
<item> \endmanonly </item>
|
||||
<item> \endverbatim </item>
|
||||
<item> \endxmlonly </item>
|
||||
<item> \f[ </item>
|
||||
<item> \f] </item>
|
||||
<item> \f$ </item>
|
||||
<item> \hideinitializer </item>
|
||||
<item> \htmlonly </item>
|
||||
<item> \interface </item>
|
||||
<item> \internal </item>
|
||||
<item> \invariant </item>
|
||||
<item> \~ </item>
|
||||
<item> \@ </item>
|
||||
<item> \$ </item>
|
||||
<item> \\ </item>
|
||||
<item> \# </item>
|
||||
<item> \latexonly </item>
|
||||
<item> \li </item>
|
||||
<item> \manonly </item>
|
||||
<item> \n </item>
|
||||
<item> \nosubgrouping </item>
|
||||
<item> \note </item>
|
||||
<item> \only </item>
|
||||
<item> \post </item>
|
||||
<item> \pre </item>
|
||||
<item> \remarks </item>
|
||||
<item> \return </item>
|
||||
<item> \returns </item>
|
||||
<item> \sa </item>
|
||||
<item> \see </item>
|
||||
<item> \showinitializer </item>
|
||||
<item> \since </item>
|
||||
<item> \test </item>
|
||||
<item> \todo </item>
|
||||
<item> \verbatim </item>
|
||||
<item> \warning </item>
|
||||
<item> \xmlonly </item>
|
||||
|
||||
<item> @arg </item>
|
||||
<item> @attention </item>
|
||||
<item> @author </item>
|
||||
<item> @callgraph </item>
|
||||
<item> @code </item>
|
||||
<item> @dot </item>
|
||||
<item> @else </item>
|
||||
<item> @endcode </item>
|
||||
<item> @endcond </item>
|
||||
<item> @enddot </item>
|
||||
<item> @endhtmlonly </item>
|
||||
<item> @endif </item>
|
||||
<item> @endlatexonly </item>
|
||||
<item> @endlink </item>
|
||||
<item> @endmanonly </item>
|
||||
<item> @endverbatim </item>
|
||||
<item> @endxmlonly </item>
|
||||
<item> @f[ </item>
|
||||
<item> @f] </item>
|
||||
<item> @f$ </item>
|
||||
<item> @hideinitializer </item>
|
||||
<item> @htmlonly </item>
|
||||
<item> @interface </item>
|
||||
<item> @internal </item>
|
||||
<item> @invariant </item>
|
||||
<item> @~ </item>
|
||||
<item> @@ </item>
|
||||
<item> @$ </item>
|
||||
<item> @\ </item>
|
||||
<item> @# </item>
|
||||
<item> @latexonly </item>
|
||||
<item> @li </item>
|
||||
<item> @manonly </item>
|
||||
<item> @n </item>
|
||||
<item> @nosubgrouping </item>
|
||||
<item> @note </item>
|
||||
<item> @only </item>
|
||||
<item> @post </item>
|
||||
<item> @pre </item>
|
||||
<item> @remarks </item>
|
||||
<item> @return </item>
|
||||
<item> @returns </item>
|
||||
<item> @sa </item>
|
||||
<item> @see </item>
|
||||
<item> @showinitializer </item>
|
||||
<item> @since </item>
|
||||
<item> @test </item>
|
||||
<item> @todo </item>
|
||||
<item> @verbatim </item>
|
||||
<item> @warning </item>
|
||||
<item> @xmlonly </item>
|
||||
</list>
|
||||
|
||||
<list name="TagWord">
|
||||
<item> \addtogroup </item>
|
||||
<item> \a </item>
|
||||
<item> \anchor </item>
|
||||
<item> \b </item>
|
||||
<item> \c </item>
|
||||
<item> \class </item>
|
||||
<item> \cond </item>
|
||||
<item> \copydoc </item>
|
||||
<item> \def </item>
|
||||
<item> \dontinclude </item>
|
||||
<item> \dotfile </item>
|
||||
<item> \e </item>
|
||||
<item> \elseif </item>
|
||||
<item> \em </item>
|
||||
<item> \enum </item>
|
||||
<item> \example </item>
|
||||
<item> \exception </item>
|
||||
<item> \exceptions </item>
|
||||
<item> \file </item>
|
||||
<item> \htmlinclude </item>
|
||||
<item> \if </item>
|
||||
<item> \ifnot </item>
|
||||
<item> \include </item>
|
||||
<item> \link </item>
|
||||
<item> \namespace </item>
|
||||
<item> \p </item>
|
||||
<item> \package </item>
|
||||
<item> \ref </item>
|
||||
<item> \relatesalso </item>
|
||||
<item> \relates </item>
|
||||
<item> \retval </item>
|
||||
<item> \throw </item>
|
||||
<item> \throws </item>
|
||||
<item> \verbinclude </item>
|
||||
<item> \version </item>
|
||||
<item> \xrefitem </item>
|
||||
|
||||
<item> @addtogroup </item>
|
||||
<item> @a </item>
|
||||
<item> @anchor </item>
|
||||
<item> @b </item>
|
||||
<item> @c </item>
|
||||
<item> @class </item>
|
||||
<item> @cond </item>
|
||||
<item> @copydoc </item>
|
||||
<item> @def </item>
|
||||
<item> @dontinclude </item>
|
||||
<item> @dotfile </item>
|
||||
<item> @e </item>
|
||||
<item> @elseif </item>
|
||||
<item> @em </item>
|
||||
<item> @enum </item>
|
||||
<item> @example </item>
|
||||
<item> @exception </item>
|
||||
<item> @exceptions </item>
|
||||
<item> @file </item>
|
||||
<item> @htmlinclude </item>
|
||||
<item> @if </item>
|
||||
<item> @ifnot </item>
|
||||
<item> @include </item>
|
||||
<item> @link </item>
|
||||
<item> @namespace </item>
|
||||
<item> @p </item>
|
||||
<item> @package </item>
|
||||
<item> @ref </item>
|
||||
<item> @relatesalso </item>
|
||||
<item> @relates </item>
|
||||
<item> @retval </item>
|
||||
<item> @throw </item>
|
||||
<item> @throws </item>
|
||||
<item> @verbinclude </item>
|
||||
<item> @version </item>
|
||||
<item> @xrefitem </item>
|
||||
</list>
|
||||
<list name="TagParam">
|
||||
<item> \param </item>
|
||||
<item> \tparam </item>
|
||||
|
||||
<item> @param </item>
|
||||
<item> @tparam </item>
|
||||
</list>
|
||||
<list name="TagWordWord">
|
||||
<item> \image </item>
|
||||
|
||||
<item> @image </item>
|
||||
</list>
|
||||
<list name="TagWordString">
|
||||
<item> \defgroup </item>
|
||||
<item> \page </item>
|
||||
<item> \paragraph </item>
|
||||
<item> \section </item>
|
||||
<item> \struct </item>
|
||||
<item> \subsection </item>
|
||||
<item> \subsubsection </item>
|
||||
<item> \union </item>
|
||||
<item> \weakgroup </item>
|
||||
|
||||
<item> @defgroup </item>
|
||||
<item> @page </item>
|
||||
<item> @paragraph </item>
|
||||
<item> @section </item>
|
||||
<item> @struct </item>
|
||||
<item> @subsection </item>
|
||||
<item> @subsubsection </item>
|
||||
<item> @union </item>
|
||||
<item> @weakgroup </item>
|
||||
</list>
|
||||
<list name="TagString">
|
||||
<item> \addindex </item>
|
||||
<item> \brief </item>
|
||||
<item> \bug </item>
|
||||
<item> \date </item>
|
||||
<item> \deprecated </item>
|
||||
<item> \fn </item>
|
||||
<item> \ingroup </item>
|
||||
<item> \line </item>
|
||||
<item> \mainpage </item>
|
||||
<item> \name </item>
|
||||
<item> \overload </item>
|
||||
<item> \par </item>
|
||||
<item> \short </item>
|
||||
<item> \skip </item>
|
||||
<item> \skipline </item>
|
||||
<item> \typedef </item>
|
||||
<item> \until </item>
|
||||
<item> \var </item>
|
||||
|
||||
<item> @addindex </item>
|
||||
<item> @brief </item>
|
||||
<item> @bug </item>
|
||||
<item> @date </item>
|
||||
<item> @deprecated </item>
|
||||
<item> @fn </item>
|
||||
<item> @ingroup </item>
|
||||
<item> @line </item>
|
||||
<item> @mainpage </item>
|
||||
<item> @name </item>
|
||||
<item> @overload </item>
|
||||
<item> @par </item>
|
||||
<item> @short </item>
|
||||
<item> @skip </item>
|
||||
<item> @skipline </item>
|
||||
<item> @typedef </item>
|
||||
<item> @until </item>
|
||||
<item> @var </item>
|
||||
</list>
|
||||
<contexts>
|
||||
<!-- different formats:
|
||||
@tag : TagOnly
|
||||
@tag rest_of_line : TagString
|
||||
@tag <word> : TagWord
|
||||
@tag <word> <word> : TagWordWord
|
||||
@tag <word> rest_of_line : TagWordString
|
||||
-->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
||||
<RegExpr attribute="Comment" context="LineComment" String="//(!|(/(?=[^/]|$)))<?"/>
|
||||
<RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]<|\*$)" beginRegion="BlockComment"/>
|
||||
<RegExpr attribute="Region" context="#stay" String="//\s*@\{\s*$" beginRegion="MemberGroup"/>
|
||||
<RegExpr attribute="Region" context="#stay" String="//\s*@\}\s*$" endRegion="MemberGroup"/>
|
||||
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\{\s*\*/" beginRegion="MemberGroup"/>
|
||||
<RegExpr attribute="Region" context="#stay" String="/\*\s*@\}\s*\*/" endRegion="MemberGroup"/>
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="LineComment">
|
||||
<LineContinue attribute="Comment" context="#stay"/>
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<keyword attribute="Tags" context="#stay" String="TagOnly" />
|
||||
<keyword attribute="Tags" context="SL_TagWord" String="TagWord" />
|
||||
<keyword attribute="Tags" context="SL_TagParam" String="TagParam" />
|
||||
<keyword attribute="Tags" context="SL_TagWordWord" String="TagWordWord" />
|
||||
<keyword attribute="Tags" context="SL_TagString" String="TagString" />
|
||||
<keyword attribute="Tags" context="SL_TagWordString" String="TagWordString" />
|
||||
<DetectIdentifier />
|
||||
<StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="<!--" />
|
||||
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
||||
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="<\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#stay" name="BlockComment">
|
||||
<DetectSpaces />
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
<Detect2Chars attribute="Region" context="#stay" char="@" char1="{" />
|
||||
<Detect2Chars attribute="Region" context="#stay" char="@" char1="}" />
|
||||
<keyword attribute="Tags" context="#stay" String="TagOnly" />
|
||||
<keyword attribute="Tags" context="ML_TagWord" String="TagWord" />
|
||||
<keyword attribute="Tags" context="ML_TagParam" String="TagParam" />
|
||||
<keyword attribute="Tags" context="ML_TagWordWord" String="TagWordWord" />
|
||||
<keyword attribute="Tags" context="ML_TagString" String="TagString" />
|
||||
<keyword attribute="Tags" context="ML_TagWordString" String="TagWordString" />
|
||||
<DetectIdentifier />
|
||||
<RegExpr attribute="Tags" context="#stay" String="\\(<|>)" />
|
||||
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
||||
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="<\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
|
||||
<StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="<!--" />
|
||||
</context>
|
||||
|
||||
<!-- NOTE: all contexts beginning with ML_ are for multiline comments
|
||||
The following contexts contain a Detect2Chars that looks for a */ sequence to end multiline comments. Singleline comments do not have this limitation - that's why all contexts are copy&pasted and the line <Detect2Chars ... */> is removed. <IncludeRules context="acontext"> could be used instead but it would make context switching much more complex and very hard to understand! (But use IncludeRules where the rules don't refer to another SL_*/ML_* context, to help maintainability.)
|
||||
-->
|
||||
<!-- tag contexts -->
|
||||
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWord">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<IncludeRules context="SL_TagWord" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="ML_TagParam">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<DetectSpaces />
|
||||
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[in]" />
|
||||
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[out]" />
|
||||
<StringDetect attribute="Tags" context="ML_Tag2ndWord" String="[in,out]" />
|
||||
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
|
||||
<RegExpr attribute="Word" context="#stay" String="\S" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWordWord">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Word" context="ML_Tag2ndWord" String="\S(?=&wordsep;)" />
|
||||
<RegExpr attribute="Word" context="#stay" String="\S" />
|
||||
</context>
|
||||
<!-- TODO for kate 2.x, convert references to "#pop!ML_TagWord" -->
|
||||
<context attribute="Comment" lineEndContext="#pop#pop" name="ML_Tag2ndWord">
|
||||
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<IncludeRules context="SL_Tag2ndWord" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="ML_TagString">
|
||||
<DetectSpaces />
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="<!--" />
|
||||
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
||||
<RegExpr attribute="HTML Tag" context="ML_htmltag" String="<\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
|
||||
<RegExpr attribute="Description" context="#stay" String="." />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="ML_TagWordString">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<IncludeRules context="SL_TagWordString" />
|
||||
</context>
|
||||
|
||||
<!-- html contexts -->
|
||||
<context name="ML_htmltag" attribute="Identifier" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1=">" />
|
||||
<DetectChar attribute="HTML Tag" context="#pop" char=">"/>
|
||||
<RegExpr attribute="Identifier" context="ML_identifiers" String="\s*=\s*"/>
|
||||
</context>
|
||||
<context name="ML_htmlcomment" attribute="HTML Comment" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
<StringDetect attribute="HTML Comment" context="#pop" String="-->" />
|
||||
</context>
|
||||
<context name="ML_identifiers" attribute="Identifier" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
|
||||
<DetectChar attribute="Types" context="ML_types1" char="'" />
|
||||
<DetectChar attribute="Types" context="ML_types2" char=""" />
|
||||
</context>
|
||||
<context name="ML_types1" attribute="Types" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<DetectChar attribute="Types" context="#pop#pop" char="'" />
|
||||
</context>
|
||||
<context name="ML_types2" attribute="Types" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
|
||||
<DetectChar attribute="Types" context="#pop#pop" char=""" />
|
||||
</context>
|
||||
|
||||
<!-- NOTE: all contexts beginning with SL_ are for singleline comments -->
|
||||
<!-- tag contexts -->
|
||||
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWord">
|
||||
<DetectSpaces />
|
||||
<keyword attribute="Tags" context="#pop" String="TagWord" lookAhead="true"/>
|
||||
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
|
||||
<RegExpr attribute="Word" context="#stay" String="\S" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="SL_TagParam">
|
||||
<DetectSpaces />
|
||||
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[in]" />
|
||||
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[out]" />
|
||||
<StringDetect attribute="Tags" context="SL_Tag2ndWord" String="[in,out]" />
|
||||
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
|
||||
<RegExpr attribute="Word" context="#stay" String="\S" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWordWord">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Word" context="SL_Tag2ndWord" String="\S(?=&wordsep;)" />
|
||||
<RegExpr attribute="Word" context="#stay" String="\S" />
|
||||
</context>
|
||||
<!-- TODO for kate 2.x, convert references to "#pop!SL_TagWord" -->
|
||||
<context attribute="Comment" lineEndContext="#pop#pop" name="SL_Tag2ndWord">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Word" context="#pop#pop" String="\S(?=&wordsep;)" />
|
||||
<RegExpr attribute="Word" context="#stay" String="\S" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="SL_TagString">
|
||||
<DetectSpaces />
|
||||
<StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="<!--" />
|
||||
<Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" />
|
||||
<RegExpr attribute="HTML Tag" context="SL_htmltag" String="<\/?[a-zA-Z_:][a-zA-Z0-9._:-]*" />
|
||||
<RegExpr attribute="Description" context="#stay" String="." />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="SL_TagWordString">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
|
||||
<RegExpr attribute="Word" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<!-- html contexts -->
|
||||
<context name="SL_htmltag" attribute="Identifier" lineEndContext="#pop">
|
||||
<Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1=">" />
|
||||
<DetectChar attribute="HTML Tag" context="#pop" char=">"/>
|
||||
<RegExpr attribute="Identifier" context="SL_identifiers" String="\s*=\s*"/>
|
||||
</context>
|
||||
<context name="SL_htmlcomment" attribute="HTML Comment" lineEndContext="#pop">
|
||||
<IncludeRules context="##Alerts" />
|
||||
<StringDetect attribute="HTML Comment" context="#pop" String="-->" />
|
||||
</context>
|
||||
<context name="SL_identifiers" attribute="Identifier" lineEndContext="#pop">
|
||||
<RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
|
||||
<DetectChar attribute="Types" context="SL_types1" char="'" />
|
||||
<DetectChar attribute="Types" context="SL_types2" char=""" />
|
||||
</context>
|
||||
<context name="SL_types1" attribute="Types" lineEndContext="#pop">
|
||||
<DetectChar attribute="Types" context="#pop#pop" char="'" />
|
||||
</context>
|
||||
<context name="SL_types2" attribute="Types" lineEndContext="#pop">
|
||||
<DetectChar attribute="Types" context="#pop#pop" char=""" />
|
||||
</context>
|
||||
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal" />
|
||||
<itemData name="Tags" defStyleNum="dsKeyword" color="#ca60ca" selColor="#ffffff" bold="1" italic="0" />
|
||||
<itemData name="Word" defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0" />
|
||||
<itemData name="HTML Tag" defStyleNum="dsKeyword" color="#000000" selColor="#ffffff" bold="1" italic="0" />
|
||||
<itemData name="Description" defStyleNum="dsString" color="#ff0000" />
|
||||
<itemData name="Comment" defStyleNum="dsComment" color="#0000ff" selColor="#ffffff" italic="1" />
|
||||
<itemData name="Region" defStyleNum="dsRegionMarker" />
|
||||
<itemData name="Identifier" defStyleNum="dsOthers" />
|
||||
<itemData name="HTML Comment" defStyleNum="dsComment" />
|
||||
<itemData name="Types" defStyleNum="dsDataType" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<keywords casesensitive="0" weakDeliminator="\$~" />
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,569 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<language name="Fortran" version="1.11" kateversion="2.4" section="Sources" extensions="*.f;*.F;*.for;*.FOR;*.f90;*.F90;*.fpp;*.FPP;*.f95;*.F95;" mimetype="text/x-fortran-src" casesensitive="0" author="Franchin Matteo (fnch@libero.it)" license="LGPL">
|
||||
<!-- by Franchin Matteo, fnch@libero.it -->
|
||||
<highlighting>
|
||||
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<!-- * L I S T S * -->
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<list name="keywords">
|
||||
<item> allocate </item>
|
||||
<item> break </item>
|
||||
<item> call </item>
|
||||
<item> case </item>
|
||||
<item> common </item>
|
||||
<item> contains </item>
|
||||
<item> continue </item>
|
||||
<item> cycle </item>
|
||||
<item> deallocate </item>
|
||||
<item> default </item>
|
||||
<item> do </item>
|
||||
<item> forall </item>
|
||||
<item> where </item>
|
||||
<item> elsewhere </item>
|
||||
<item> elseif </item>
|
||||
<item> else </item>
|
||||
<item> equivalence </item>
|
||||
<item> exit </item>
|
||||
<item> external </item>
|
||||
<item> for </item>
|
||||
<item> go </item>
|
||||
<item> goto </item>
|
||||
<item> if </item>
|
||||
<item> implicit </item>
|
||||
<item> include </item>
|
||||
<item> interface </item>
|
||||
<item> intrinsic </item>
|
||||
<item> namelist </item>
|
||||
<item> none </item>
|
||||
<item> nullify </item>
|
||||
<item> operator </item>
|
||||
<item> assignment </item>
|
||||
<item> pause </item>
|
||||
<item> procedure </item>
|
||||
<item> pure </item>
|
||||
<item> elemental </item>
|
||||
<item> record </item>
|
||||
<item> recursive </item>
|
||||
<item> result </item>
|
||||
<item> return </item>
|
||||
<item> select </item>
|
||||
<item> selectcase </item>
|
||||
<item> stop </item>
|
||||
<item> then </item>
|
||||
<item> to </item>
|
||||
<item> use </item>
|
||||
<item> only </item>
|
||||
<item> entry </item>
|
||||
<item> while </item>
|
||||
</list>
|
||||
<list name="io_functions">
|
||||
<item> access </item>
|
||||
<item> backspace </item>
|
||||
<item> close </item>
|
||||
<item> inquire </item>
|
||||
<item> open </item>
|
||||
<item> print </item>
|
||||
<item> read </item>
|
||||
<item> rewind </item>
|
||||
<item> write </item>
|
||||
<item> format </item>
|
||||
</list>
|
||||
<!-- Keywords inside read(...), write(...), backspace(...),
|
||||
rewind(...), endfile(...), close(...) -->
|
||||
<list name="io_keywords">
|
||||
<item> unit </item>
|
||||
<item> end </item>
|
||||
<item> err </item>
|
||||
<item> fmt </item>
|
||||
<item> iostat </item>
|
||||
<item> status </item>
|
||||
<item> advance </item>
|
||||
<item> size </item>
|
||||
<item> eor </item>
|
||||
</list>
|
||||
<!-- Keywords inside open(...) -->
|
||||
<list name="open_keywords">
|
||||
<item> unit </item>
|
||||
<item> iostat </item>
|
||||
<item> err </item>
|
||||
<item> file </item>
|
||||
<item> status </item>
|
||||
<item> access </item>
|
||||
<item> form </item>
|
||||
<item> recl </item>
|
||||
<item> blank </item>
|
||||
<item> position </item>
|
||||
<item> action </item>
|
||||
<item> delim </item>
|
||||
<item> pad </item>
|
||||
</list>
|
||||
<!-- Keywords inside inquire(...) -->
|
||||
<list name="inquire_keywords">
|
||||
<item> unit </item>
|
||||
<item> iostat </item>
|
||||
<item> err </item>
|
||||
<item> file </item>
|
||||
<item> exist </item>
|
||||
<item> opened </item>
|
||||
<item> number </item>
|
||||
<item> named </item>
|
||||
<item> name </item>
|
||||
<item> access </item>
|
||||
<item> sequential </item>
|
||||
<item> direct </item>
|
||||
<item> form </item>
|
||||
<item> formatted </item>
|
||||
<item> unformatted </item>
|
||||
<item> recl </item>
|
||||
<item> nextrec </item>
|
||||
<item> blank </item>
|
||||
<item> position </item>
|
||||
<item> action </item>
|
||||
<item> read </item>
|
||||
<item> write </item>
|
||||
<item> readwrite </item>
|
||||
<item> delim </item>
|
||||
<item> pad </item>
|
||||
</list>
|
||||
<list name="types">
|
||||
<item> double </item>
|
||||
<item> precision </item>
|
||||
<item> parameter </item>
|
||||
<item> save </item>
|
||||
<item> pointer </item>
|
||||
<item> public </item>
|
||||
<item> private </item>
|
||||
<item> target </item>
|
||||
<item> allocatable </item>
|
||||
<item> optional </item>
|
||||
<item> sequence </item>
|
||||
</list>
|
||||
|
||||
<!-- There are 4 types of intrinsic procedures in Fortran 90:
|
||||
1) Elemental procedures (elemental_procs);
|
||||
2) Inquiry functions (inquiry_fn);
|
||||
3) Transformational functions (transform_fn);
|
||||
4) Non elemental subroutines (non_elem_subr);
|
||||
Often mathematical functions have one generic form and many specific names!
|
||||
If you use the generic form, the compiler will select the right function
|
||||
to use depending on the type of the arguments.
|
||||
But you can use also the specific names!
|
||||
-->
|
||||
|
||||
<!-- E L E M E N T A L P R O C E D U R E S -->
|
||||
<list name="elemental_procs">
|
||||
<!-- Elemental functions that may convert -->
|
||||
<item> abs </item> <!-- Generic form: abs -->
|
||||
<item> cabs </item> <!-- Specific names for abs -->
|
||||
<item> dabs </item>
|
||||
<item> iabs </item>
|
||||
<item> aimag </item>
|
||||
<item> aint </item> <!-- Generic form: aint -->
|
||||
<item> dint </item> <!-- Specific name for aint -->
|
||||
<item> anint </item> <!-- Generic form: anint -->
|
||||
<item> dnint </item> <!-- Specific name for anint -->
|
||||
<item> ceiling </item>
|
||||
<item> cmplx </item>
|
||||
<item> dcmplx </item> <!-- (non standard) -->
|
||||
<item> dimag </item> <!-- (non standard) -->
|
||||
<item> floor </item>
|
||||
<item> nint </item> <!-- Generic form: nint -->
|
||||
<item> idnint </item><!-- Specific name for nint -->
|
||||
<item> int </item> <!-- Generic form: int -->
|
||||
<item> idint </item> <!-- Specific names for int -->
|
||||
<item> ifix </item>
|
||||
<item> real </item> <!-- Generic form: real -->
|
||||
<item> float </item> <!-- Specific names for real -->
|
||||
<item> sngl </item>
|
||||
<item> dble </item>
|
||||
<item> dreal </item> <!-- (non standard) -->
|
||||
<item> aprime </item> <!-- 5 functions from fortran.xml -->
|
||||
<item> dconjg </item> <!-- I don't know if they really belong to -->
|
||||
<item> dfloat </item> <!-- the fortran 90/95 standard! -->
|
||||
<item> ddmim </item>
|
||||
<item> rand </item>
|
||||
<!-- Elemental functions that do not convert -->
|
||||
<item> modulo </item>
|
||||
<item> conjg </item>
|
||||
<item> dprod </item> <!-- dprod(x, y) is the specific name for x*y -->
|
||||
<item> dim </item> <!-- Generic form: dim -->
|
||||
<item> ddim </item> <!-- Specific names for dim -->
|
||||
<item> idim </item>
|
||||
<item> max </item> <!-- Generic form: max -->
|
||||
<item> amax0 </item> <!-- Specific names for max -->
|
||||
<item> amax1 </item>
|
||||
<item> max0 </item>
|
||||
<item> max1 </item>
|
||||
<item> dmax1 </item>
|
||||
<item> min </item> <!-- Generic form: min -->
|
||||
<item> amin0 </item> <!-- Specific names for min -->
|
||||
<item> amin1 </item>
|
||||
<item> min0 </item>
|
||||
<item> min1 </item>
|
||||
<item> dmin1 </item>
|
||||
<item> mod </item> <!-- Generic form: mod -->
|
||||
<item> amod </item> <!-- Specific names for mod -->
|
||||
<item> dmod </item>
|
||||
<item> sign </item> <!-- Generic form: sign -->
|
||||
<item> dsign </item> <!-- Specific names for sign -->
|
||||
<item> isign </item>
|
||||
<!-- Elemental mathematical functions -->
|
||||
<item> acos </item> <!-- Generic form: acos -->
|
||||
<item> dacos </item> <!-- Specific names for acos -->
|
||||
<item> asin </item> <!-- Generic form: asin -->
|
||||
<item> dasin </item> <!-- Specific names for asin -->
|
||||
<item> atan </item> <!-- Generic form: atan -->
|
||||
<item> datan </item> <!-- Specific names for atan -->
|
||||
<item> atan2 </item> <!-- Generic form: atan2 -->
|
||||
<item> datan2 </item> <!-- Specific names for atan2 -->
|
||||
<item> cos </item> <!-- Generic form: cos -->
|
||||
<item> ccos </item> <!-- Specific names for cos -->
|
||||
<item> dcos </item>
|
||||
<item> cosh </item> <!-- Generic form: cosh -->
|
||||
<item> dcosh </item> <!-- Specific names for cosh -->
|
||||
<item> exp </item> <!-- Generic form: exp -->
|
||||
<item> cexp </item> <!-- Specific names for exp -->
|
||||
<item> dexp </item>
|
||||
<item> log </item> <!-- Generic form: log -->
|
||||
<item> alog </item> <!-- Specific names for log -->
|
||||
<item> dlog </item>
|
||||
<item> clog </item>
|
||||
<item> log10 </item> <!-- Generic form: log10 -->
|
||||
<item> alog10 </item> <!-- Specific names for log10 -->
|
||||
<item> dlog10 </item>
|
||||
<item> sin </item> <!-- Generic form: sin -->
|
||||
<item> csin </item> <!-- Specific names for sin -->
|
||||
<item> dsin </item>
|
||||
<item> sinh </item> <!-- Generic form: sinh -->
|
||||
<item> dsinh </item> <!-- Specific name for sinh -->
|
||||
<item> sqrt </item> <!-- Generic form: sqrt -->
|
||||
<item> csqrt </item> <!-- Specific names for sqrt -->
|
||||
<item> dsqrt </item>
|
||||
<item> tan </item> <!-- Generic form: tan -->
|
||||
<item> dtan </item> <!-- Generic form: dtan -->
|
||||
<item> tanh </item> <!-- Generic form: tanh -->
|
||||
<item> dtanh </item> <!-- Specific names for tanh -->
|
||||
<!-- Elemental character and logical functions -->
|
||||
<!-- Character-integer conversions -->
|
||||
<item> achar </item>
|
||||
<item> char </item>
|
||||
<item> iachar </item>
|
||||
<item> ichar </item>
|
||||
<!-- Lexical comparison functions -->
|
||||
<item> lge </item>
|
||||
<item> lgt </item>
|
||||
<item> lle </item>
|
||||
<item> llt </item>
|
||||
<!-- String-handling elemental functions -->
|
||||
<item> adjustl </item>
|
||||
<item> adjustr </item>
|
||||
<item> index </item>
|
||||
<item> len_trim </item>
|
||||
<item> scan </item>
|
||||
<item> verify </item>
|
||||
<!-- Logical conversion -->
|
||||
<item> logical </item>
|
||||
<!-- Elemental functions to manipulate reals -->
|
||||
<item> exponent </item>
|
||||
<item> fraction </item>
|
||||
<item> nearest </item>
|
||||
<item> rrspacing </item>
|
||||
<item> scale </item>
|
||||
<item> set_exponent </item>
|
||||
<item> spacing </item>
|
||||
<!-- Bit manipulation elemental functions -->
|
||||
<item> btest </item>
|
||||
<item> iand </item>
|
||||
<item> ibclr </item>
|
||||
<item> ibits </item>
|
||||
<item> ibset </item>
|
||||
<item> ieor </item>
|
||||
<item> ior </item>
|
||||
<item> ishft </item>
|
||||
<item> ishftc </item>
|
||||
<item> not </item>
|
||||
<!-- Bit manipulation elemental subroutine -->
|
||||
<item> mvbits </item>
|
||||
<!-- Merge elemental function -->
|
||||
<item> merge </item>
|
||||
</list>
|
||||
|
||||
<!-- I N Q U I R Y F U N C T I O N S -->
|
||||
<list name="inquiry_fn">
|
||||
<!-- Inquiry functions for any type -->
|
||||
<item> associated </item>
|
||||
<item> present </item>
|
||||
<item> kind </item>
|
||||
<!-- String-handling inquiry function -->
|
||||
<item> len </item>
|
||||
<!-- Numeric inquiry functions -->
|
||||
<item> digits </item>
|
||||
<item> epsilon </item>
|
||||
<item> huge </item>
|
||||
<item> maxexponent </item>
|
||||
<item> minexponent </item>
|
||||
<item> precision </item>
|
||||
<item> radix </item>
|
||||
<item> range </item>
|
||||
<item> tiny </item>
|
||||
<!-- Bit inquiry function -->
|
||||
<item> bit_size </item>
|
||||
<!-- Array inquiry functions -->
|
||||
<item> allocated </item>
|
||||
<item> lbound </item>
|
||||
<item> ubound </item>
|
||||
<item> shape </item>
|
||||
<item> size </item>
|
||||
</list>
|
||||
|
||||
<!-- T R A N S F O R M A T I O N A L F U N C T I O N S -->
|
||||
<list name="transform_fn">
|
||||
<!-- String-handling transformational functions -->
|
||||
<item> repeat </item>
|
||||
<item> trim </item>
|
||||
<!-- Transformational functions for kind values -->
|
||||
<item> selected_int_kind </item>
|
||||
<item> selected_real_kind </item>
|
||||
<!-- Transfer function -->
|
||||
<item> transfer </item>
|
||||
<!-- Vector and matrix multiplication functions -->
|
||||
<item> dot_product </item>
|
||||
<item> matmul </item>
|
||||
<!-- Transformational functions that reduce arrays -->
|
||||
<item> all </item>
|
||||
<item> any </item>
|
||||
<item> count </item>
|
||||
<item> maxval </item>
|
||||
<item> minval </item>
|
||||
<item> product </item>
|
||||
<item> sum </item>
|
||||
<!-- Packing and unpacking arrays -->
|
||||
<item> pack </item>
|
||||
<item> unpack </item>
|
||||
<!-- Transformational function for reshaping an array -->
|
||||
<item> reshape </item>
|
||||
<!-- Transformational function for replication -->
|
||||
<item> spread </item>
|
||||
<!-- Array shifting functions -->
|
||||
<item> cshift </item>
|
||||
<item> eoshift </item>
|
||||
<!-- Matrix transpose -->
|
||||
<item> transpose </item>
|
||||
<!-- Transformational functions for geometric location -->
|
||||
<item> maxloc </item>
|
||||
<item> minloc </item>
|
||||
</list>
|
||||
|
||||
<!-- N O N E L E M E N T A L S U B R O U T I N E S -->
|
||||
<list name="non_elem_subr">
|
||||
<!-- Real time clock -->
|
||||
<item> date_and_time </item>
|
||||
<item> system_clock </item>
|
||||
<!-- Random numbers -->
|
||||
<item> random_number </item>
|
||||
<item> random_seed </item>
|
||||
</list>
|
||||
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<!-- * C O N T E X T S * -->
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="default" >
|
||||
<IncludeRules context="find_strings" />
|
||||
<IncludeRules context="find_decls" />
|
||||
<IncludeRules context="find_intrinsics" />
|
||||
<IncludeRules context="find_io_stmnts" />
|
||||
<IncludeRules context="find_op_and_log" />
|
||||
<IncludeRules context="find_numbers" />
|
||||
<IncludeRules context="find_preprocessor" />
|
||||
<IncludeRules context="find_comments" />
|
||||
<IncludeRules context="find_symbols" />
|
||||
<IncludeRules context="find_end_stmnts" />
|
||||
<IncludeRules context="find_begin_stmnts" />
|
||||
</context>
|
||||
<!--************************END OF THE MAIN CONTEXT*************************-->
|
||||
|
||||
|
||||
|
||||
<!-- This context highlights preprocessor lines -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_preprocessor">
|
||||
<RegExpr attribute="Preprocessor" context="#stay" String="(#|cDEC\$|CDEC\$).*$" column="0"/>
|
||||
</context>
|
||||
|
||||
<!-- This context highlights operators and the logical values .true. .false. -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_op_and_log">
|
||||
<RegExpr attribute="Logical" context="#stay" String="\.(true|false)\." insensitive="TRUE"/>
|
||||
<RegExpr attribute="Operator" context="#stay" String="\.[A-Za-z]+\."/>
|
||||
<RegExpr attribute="Operator" context="#stay" String="(==|/=|<|<=|>|>=)"/>
|
||||
</context>
|
||||
|
||||
<!-- This context highlights comments -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_comments">
|
||||
<RegExpr attribute="Comment" context="#stay" String="[cC\*].*$" column="0"/>
|
||||
<RegExpr attribute="Comment" context="#stay" String="!.*$"/>
|
||||
</context>
|
||||
|
||||
<!-- This context highlights symbols -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_symbols">
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char="*" char1="*"/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char="(" char1="/"/>
|
||||
<Detect2Chars attribute="Keyword" context="#stay" char="/" char1=")"/>
|
||||
<AnyChar attribute="Keyword" context="#stay" String="&+-*/=?[]^{|}~"/>
|
||||
<AnyChar attribute="Symbol" context="#stay" String="(),"/>
|
||||
</context>
|
||||
|
||||
<!-- This context highlights items inside the parentesis of a function -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="inside_func_paren">
|
||||
<DetectChar attribute="Normal Text" context="inside_func_paren" char="("/>
|
||||
<DetectChar attribute="Normal Text" context="#pop" char=")"/>
|
||||
<IncludeRules context="find_strings" />
|
||||
<IncludeRules context="find_intrinsics" />
|
||||
<IncludeRules context="find_numbers" />
|
||||
</context>
|
||||
|
||||
<!-- The following two contexts match input/output statements -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_io_stmnts">
|
||||
<RegExpr attribute="IO Function" context="find_io_paren" String="\b(read|write|backspace|rewind|end\s*file|close)\s*[(]" insensitive="TRUE"/>
|
||||
<RegExpr attribute="IO Function" context="find_io_paren" String="\bopen\s*[(]" insensitive="TRUE"/>
|
||||
<RegExpr attribute="IO Function" context="find_io_paren" String="\binquire\s*[(]" insensitive="TRUE"/>
|
||||
<RegExpr attribute="IO Function" context="format_stmnt" String="\bformat\s*[(]" insensitive="TRUE"/>
|
||||
<RegExpr attribute="IO Function" context="#stay" String="\bend\s*file\b" insensitive="TRUE"/>
|
||||
<keyword attribute="IO Function" context="#stay" String="io_functions"/>
|
||||
</context>
|
||||
<!-- This context matches parenthesis for the read, write, ... statements -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_io_paren">
|
||||
<DetectChar attribute="IO Function" context="#stay" char="*"/>
|
||||
<DetectChar attribute="Normal Text" context="inside_func_paren" char="("/>
|
||||
<DetectChar attribute="IO Function" context="#pop" char=")"/>
|
||||
<keyword attribute="IO Function" context="#stay" String="io_keywords"/>
|
||||
<keyword attribute="IO Function" context="#stay" String="inquire_keywords"/>
|
||||
<keyword attribute="IO Function" context="#stay" String="open_keywords"/>
|
||||
<IncludeRules context="find_strings" />
|
||||
<IncludeRules context="find_intrinsics" />
|
||||
<IncludeRules context="find_numbers" />
|
||||
<IncludeRules context="find_symbols" />
|
||||
</context>
|
||||
<!-- This context highlights the text inside the parenthesis of fortran statement -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="format_stmnt">
|
||||
<DetectChar attribute="IO Function" context="format_stmnt" char="("/>
|
||||
<DetectChar attribute="IO Function" context="#pop" char=")"/>
|
||||
<RegExpr attribute="IO Function" context="#stay" String="[0-9]*/" insensitive="TRUE"/>
|
||||
<AnyChar attribute="IO Function" context="#stay" String=":"/>
|
||||
<IncludeRules context="find_strings" />
|
||||
<IncludeRules context="find_symbols" />
|
||||
</context>
|
||||
|
||||
<!-- The following context matches the begin of program units -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_begin_stmnts">
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bmodule\s+procedure\b" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\b(program|subroutine|function|module|block\s*data)\b" insensitive="TRUE" beginRegion="Unit"/>
|
||||
</context>
|
||||
<!-- The following context matches the end of program units -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_end_stmnts">
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(program|subroutine|function|module|block\s*data)\b" insensitive="TRUE" endRegion="Unit"/>
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bend\s*(do|if|select|where|forall|interface)\b" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\bend\b" insensitive="TRUE" endRegion="Unit"/>
|
||||
</context>
|
||||
|
||||
<!-- The following two contexts match declarations -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_decls">
|
||||
<RegExpr attribute="Data Type" context="#stay" String="\binteger[\*]\d{1,2}" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="#stay" String="\breal[\*]\d{1,2}" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="#stay" String="\bcomplex[\*]\d{1,2}" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="#stay" String="\bend\s*type\b" insensitive="TRUE"/>
|
||||
<keyword attribute="Data Type" context="#stay" String="types"/>
|
||||
<RegExpr attribute="Data Type" context="#stay" String="^\s*data\b" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="find_paren" String="^\s*real\s*[(]" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="#stay" String="^\s*real(?![\w\*])" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="#stay" String="\bcharacter[*][0-9]+\b" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="find_paren" String="\b(type|integer|complex|character|logical|intent|dimension)\b\s*[(]" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Data Type" context="#stay" String="\b(type|integer|complex|character|logical|intent|dimension)\b" insensitive="TRUE"/>
|
||||
<Detect2Chars attribute="Data Type" context="#stay" char=":" char1=":"/>
|
||||
</context>
|
||||
<!-- This context matches parenthesis in data type declarations, such as in 'real(...)'-->
|
||||
<context attribute="Data Type" lineEndContext="#pop" name="find_paren">
|
||||
<DetectChar attribute="Data Type" context="find_paren" char="("/>
|
||||
<DetectChar attribute="Data Type" context="#pop" char=")"/>
|
||||
</context>
|
||||
|
||||
<!-- The following context matches intrinsic procedures -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_intrinsics">
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords"/>
|
||||
<!-- INTRINSIC PROCEDURES -->
|
||||
<keyword attribute="Elemental Procedure" context="#stay" String="elemental_procs"/>
|
||||
<keyword attribute="Inquiry Function" context="#stay" String="inquiry_fn"/>
|
||||
<keyword attribute="Transformational Function" context="#stay" String="transform_fn"/>
|
||||
<keyword attribute="Non elemental subroutine" context="#stay" String="non_elem_subr"/>
|
||||
</context>
|
||||
|
||||
<!-- The following context matches integer and real numbers -->
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="find_numbers">
|
||||
<!-- Floating-point numbers with optional kind -->
|
||||
<RegExpr attribute="Float" context="#stay" String="[0-9]*\.[0-9]+([de][+-]?[0-9]+)?([_]([0-9]+|[a-z][\w_]*))?" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Float" context="#stay" String="\b[0-9]+\.[0-9]*([de][+-]?[0-9]+)?([_]([0-9]+|[a-z][\w_]*))?(?![a-z])" insensitive="TRUE"/>
|
||||
<RegExpr attribute="Float" context="#stay" String="\b[0-9]+[de][+-]?[0-9]+([_]([0-9]+|[a-z][\w_]*))?" insensitive="TRUE"/>
|
||||
<!-- Integers with optional kind specifier -->
|
||||
<RegExpr attribute="Decimal" context="#stay" String="\b[0-9]+([_]([0-9]+|[a-zA-Z][\w_]*))?"/>
|
||||
<!-- Integers in binary, octal and hexadecimal notations -->
|
||||
<RegExpr attribute="Decimal" context="#stay" String="\b[bozx](['][0-9a-f]+[']|["][0-9a-f]+["])" insensitive="TRUE"/>
|
||||
</context>
|
||||
|
||||
<!-- The following four contexts implement the complex string multi-line declarations -->
|
||||
<!-- Matches STRINGS (there are 2 types of strings: '...' and "...") -->
|
||||
<context attribute="String" lineEndContext="#stay" name="find_strings">
|
||||
<DetectChar attribute="String" context="string_1" char="'"/>
|
||||
<DetectChar attribute="String" context="string_2" char="""/>
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#stay" name="string_1" fallthrough="true" fallthroughContext="#pop">
|
||||
<RegExpr attribute="String" context="#pop" String="[^']*'"/>
|
||||
<RegExpr attribute="Keyword" context="end_of_string" String="&\s*$"/>
|
||||
<RegExpr attribute="String" context="end_of_string" String=".*(?=&\s*$)"/>
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#stay" name="string_2" fallthrough="true" fallthroughContext="#pop">
|
||||
<RegExpr attribute="String" context="#pop" String="[^"]*""/>
|
||||
<RegExpr attribute="Keyword" context="end_of_string" String="&\s*$"/>
|
||||
<RegExpr attribute="String" context="end_of_string" String=".*(?=&\s*$)"/>
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#stay" name="end_of_string" fallthrough="true" fallthroughContext="#pop#pop">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Keyword" context="#stay" String="&\s*$"/>
|
||||
<DetectChar attribute="Keyword" context="#pop" char="&" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Comment" context="#stay" String="(!.*)?$" firstNonSpace="true"/>
|
||||
</context>
|
||||
</contexts>
|
||||
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<!-- * S T Y L E I T E M D E F I N I T I O N S * -->
|
||||
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Data Type" defStyleNum="dsDataType"/>
|
||||
<itemData name="Decimal" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="Symbol" defStyleNum="dsNormal"/>
|
||||
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
|
||||
<itemData name="Operator" defStyleNum="dsKeyword" color="#008000" selColor="#ff00ff" bold="1" italic="0"/>
|
||||
<itemData name="Logical" defStyleNum="dsOthers" color="#800080" selColor="#ffa0a0" bold="1" italic="0"/>
|
||||
<itemData name="IO Function" defStyleNum="dsFunction" color="#006060" selColor="#ffffff" bold="0" italic="0"/>
|
||||
<itemData name="Elemental Procedure" defStyleNum="dsKeyword" color="#600060" selColor="#ffa0ff" bold="1" italic="0"/>
|
||||
<itemData name="Inquiry Function" defStyleNum="dsFunction" color="#000060" selColor="#a0a0ff" bold="1" italic="1"/>
|
||||
<itemData name="Transformational Function" defStyleNum="dsFunction" color="#600060" selColor="#ffa0ff" bold="1" italic="0"/>
|
||||
<itemData name="Non elemental subroutine" defStyleNum="dsKeyword" color="#600060" selColor="#ffa0ff" bold="1" italic="0"/>
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="c"/>
|
||||
<comment name="singleLine" start="!"/>
|
||||
</comments>
|
||||
<keywords casesensitive="0"/>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,207 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd"
|
||||
[
|
||||
<!ENTITY name "[A-Za-z_:][\w.:_-]*">
|
||||
<!ENTITY entref "&(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
|
||||
]>
|
||||
<language name="HTML" version="1.99" kateversion="2.4" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
|
||||
|
||||
<highlighting>
|
||||
<contexts>
|
||||
<context name="Start" attribute="Normal Text" lineEndContext="#stay">
|
||||
<IncludeRules context="FindHTML" />
|
||||
</context>
|
||||
|
||||
<context name="FindHTML" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectSpaces/>
|
||||
<DetectIdentifier/>
|
||||
<StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" />
|
||||
<StringDetect attribute="CDATA" context="CDATA" String="<![CDATA[" beginRegion="cdata" />
|
||||
<RegExpr attribute="Doctype" context="Doctype" String="<!DOCTYPE\s+" beginRegion="doctype" />
|
||||
<RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" />
|
||||
<RegExpr attribute="Element" context="CSS" String="<style\b" insensitive="TRUE" beginRegion="style" />
|
||||
<RegExpr attribute="Element" context="JS" String="<script\b" insensitive="TRUE" beginRegion="script" />
|
||||
<RegExpr attribute="Element" context="El Open" String="<pre\b" insensitive="TRUE" beginRegion="pre" />
|
||||
<RegExpr attribute="Element" context="El Open" String="<div\b" insensitive="TRUE" beginRegion="div" />
|
||||
<RegExpr attribute="Element" context="El Open" String="<table\b" insensitive="TRUE" beginRegion="table" />
|
||||
<RegExpr attribute="Element" context="El Open" String="<ul\b" insensitive="TRUE" beginRegion="ul" />
|
||||
<RegExpr attribute="Element" context="El Open" String="<ol\b" insensitive="TRUE" beginRegion="ol" />
|
||||
<RegExpr attribute="Element" context="El Open" String="<dl\b" insensitive="TRUE" beginRegion="dl" />
|
||||
<RegExpr attribute="Element" context="El Open" String="<&name;" />
|
||||
<RegExpr attribute="Element" context="El Close" String="</pre\b" insensitive="TRUE" endRegion="pre" />
|
||||
<RegExpr attribute="Element" context="El Close" String="</div\b" insensitive="TRUE" endRegion="div" />
|
||||
<RegExpr attribute="Element" context="El Close" String="</table\b" insensitive="TRUE" endRegion="table" />
|
||||
<RegExpr attribute="Element" context="El Close" String="</ul\b" insensitive="TRUE" endRegion="ul" />
|
||||
<RegExpr attribute="Element" context="El Close" String="</ol\b" insensitive="TRUE" endRegion="ol" />
|
||||
<RegExpr attribute="Element" context="El Close" String="</dl\b" insensitive="TRUE" endRegion="dl" />
|
||||
<RegExpr attribute="Element" context="El Close" String="</&name;" />
|
||||
<!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" />
|
||||
<IncludeRules context="FindEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
|
||||
<AnyChar attribute="Error" context="#stay" String="&<" />
|
||||
</context>
|
||||
|
||||
<context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
|
||||
<RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
|
||||
<AnyChar attribute="Error" context="#stay" String="&%" />
|
||||
</context>
|
||||
|
||||
<context name="FindAttributes" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Attribute" context="#stay" String="&name;" column="0"/>
|
||||
<RegExpr attribute="Attribute" context="#stay" String="\s+&name;" />
|
||||
<DetectChar attribute="Attribute" context="Value" char="=" />
|
||||
</context>
|
||||
|
||||
<context name="FindDTDRules" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Doctype" context="Doctype Markupdecl" String="<!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
|
||||
</context>
|
||||
|
||||
|
||||
<context name="Comment" attribute="Comment" lineEndContext="#stay">
|
||||
<DetectSpaces/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier/>
|
||||
<StringDetect attribute="Comment" context="#pop" String="-->" endRegion="comment" />
|
||||
<RegExpr attribute="Error" context="#stay" String="-(-(?!->))+" />
|
||||
</context>
|
||||
|
||||
<context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectSpaces/>
|
||||
<DetectIdentifier/>
|
||||
<StringDetect attribute="CDATA" context="#pop" String="]]>" endRegion="cdata" />
|
||||
<StringDetect attribute="EntityRef" context="#stay" String="]]&gt;" />
|
||||
</context>
|
||||
|
||||
<context name="PI" attribute="Normal Text" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1=">" endRegion="pi" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Doctype" context="#pop" char=">" endRegion="doctype" />
|
||||
<DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
|
||||
<IncludeRules context="FindDTDRules" />
|
||||
<StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" />
|
||||
<RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" />
|
||||
<IncludeRules context="FindPEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Doctype" context="#pop" char=">" />
|
||||
<DetectChar attribute="Value" context="Doctype Markupdecl DQ" char=""" />
|
||||
<DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="'" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop" char=""" />
|
||||
<IncludeRules context="FindPEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop" char="'" />
|
||||
<IncludeRules context="FindPEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="El Open" attribute="Normal Text" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Element" context="#pop" char="/" char1=">" />
|
||||
<DetectChar attribute="Element" context="#pop" char=">" />
|
||||
<IncludeRules context="FindAttributes" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="El Close" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Element" context="#pop" char=">" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="El Close 2" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Element" context="#pop#pop#pop" char=">" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="El Close 3" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Element" context="#pop#pop#pop#pop" char=">" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="CSS" attribute="Normal Text" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Element" context="#pop" char="/" char1=">" endRegion="style" />
|
||||
<DetectChar attribute="Element" context="CSS content" char=">" />
|
||||
<IncludeRules context="FindAttributes" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="CSS content" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Element" context="El Close 2" String="</style\b" insensitive="TRUE" endRegion="style" />
|
||||
<IncludeRules context="##CSS" includeAttrib="true"/>
|
||||
</context>
|
||||
|
||||
<context name="JS" attribute="Normal Text" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Element" context="#pop" char="/" char1=">" endRegion="script" />
|
||||
<DetectChar attribute="Element" context="JS content" char=">" />
|
||||
<IncludeRules context="FindAttributes" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="JS content" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Element" context="El Close 2" String="</script\b" insensitive="TRUE" endRegion="script" />
|
||||
<RegExpr attribute="Comment" context="JS comment close" String="//(?=.*</script\b)" insensitive="TRUE" />
|
||||
<IncludeRules context="##JavaScript" includeAttrib="true"/>
|
||||
</context>
|
||||
|
||||
<context name="JS comment close" attribute="Comment" lineEndContext="#pop">
|
||||
<RegExpr attribute="Element" context="El Close 3" String="</script\b" insensitive="TRUE" endRegion="script" />
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Value NQ">
|
||||
<DetectChar attribute="Value" context="Value DQ" char=""" />
|
||||
<DetectChar attribute="Value" context="Value SQ" char="'" />
|
||||
<DetectSpaces />
|
||||
</context>
|
||||
|
||||
<context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
|
||||
<IncludeRules context="FindEntityRefs" />
|
||||
<RegExpr attribute="Value" context="#stay" String="/(?!>)" />
|
||||
<RegExpr attribute="Value" context="#stay" String="[^/><"'\s]" />
|
||||
</context>
|
||||
|
||||
<context name="Value DQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop#pop" char=""" />
|
||||
<IncludeRules context="FindEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="Value SQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop#pop" char="'" />
|
||||
<IncludeRules context="FindEntityRefs" />
|
||||
</context>
|
||||
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal" />
|
||||
<itemData name="Comment" defStyleNum="dsComment" />
|
||||
<itemData name="CDATA" defStyleNum="dsBaseN" bold="1" />
|
||||
<itemData name="Processing Instruction" defStyleNum="dsKeyword" />
|
||||
<itemData name="Doctype" defStyleNum="dsDataType" bold="1" />
|
||||
<itemData name="Element" defStyleNum="dsKeyword" />
|
||||
<itemData name="Attribute" defStyleNum="dsOthers" />
|
||||
<itemData name="Value" defStyleNum="dsString" color="#a00" />
|
||||
<itemData name="EntityRef" defStyleNum="dsDecVal" />
|
||||
<itemData name="PEntityRef" defStyleNum="dsDecVal" />
|
||||
<itemData name="Error" defStyleNum="dsError" />
|
||||
</itemDatas>
|
||||
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="multiLine" start="<!--" end="-->" />
|
||||
</comments>
|
||||
</general>
|
||||
</language>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,108 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<language name="Javadoc" version="1.04" kateversion="2.4" section="Markup" extensions="" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">
|
||||
<highlighting>
|
||||
<contexts>
|
||||
<context name="Start" attribute="Normal Text" lineEndContext="#stay">
|
||||
<IncludeRules context="FindJavadoc" />
|
||||
</context>
|
||||
<context name="FindJavadoc" attribute="Normal Text" lineEndContext="#stay">
|
||||
<StringDetect attribute="JavadocFS" context="#stay" String="/**/"/>
|
||||
<StringDetect attribute="JavadocFS" context="JavadocFSar" String="/**" beginRegion="Javadoc"/>
|
||||
</context>
|
||||
<context attribute="JavadocFS" lineEndContext="#stay" name="JavadocFSar">
|
||||
<Detect2Chars attribute="JavadocFS" context="#pop" char="*" char1="/" endRegion="Javadoc"/>
|
||||
<RegExpr attribute="JavadocFS" context="Javadocar" String="(!|\?)" />
|
||||
<RegExpr attribute="JavadocFS" context="Javadocar" String="(\.\s*$)" />
|
||||
<RegExpr attribute="JavadocFS" context="Javadocar" String="(\.\s)(?![\da-z])" />
|
||||
<RegExpr attribute="JavadocFS" context="Javadocar" String="\**\s*(?=@(author|deprecated|exception|param|return|see|serial|serialData|serialField|since|throws|version)(\s|$))" firstNonSpace="true"/>
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code " />
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code	" />
|
||||
<StringDetect attribute="InlineTag" context="#stay" String="{@docRoot}" />
|
||||
<StringDetect attribute="InlineTag" context="#stay" String="{@inheritDoc}" />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link " />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link	" />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain " />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain	" />
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal " />
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal	" />
|
||||
<StringDetect attribute="InlineTag" context="#stay" String="{@value}" />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value	" />
|
||||
<IncludeRules context="##HTML"/>
|
||||
</context>
|
||||
<context attribute="Javadoc" lineEndContext="#stay" name="Javadocar">
|
||||
<Detect2Chars attribute="JavadocFS" context="#pop#pop" char="*" char1="/" endRegion="Javadoc"/>
|
||||
<RegExpr attribute="JavadocFS" context="#stay" String="\*+(?!/)" firstNonSpace="true"/>
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@author " />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@deprecated " />
|
||||
<StringDetect attribute="BlockTag" context="JavadocParam" String="@exception " />
|
||||
<StringDetect attribute="BlockTag" context="JavadocParam" String="@param " />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@return " />
|
||||
<StringDetect attribute="BlockTag" context="SeeTag" String="@see "/>
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@serial " />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@serialData " />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@serialField " />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@since " />
|
||||
<StringDetect attribute="BlockTag" context="JavadocParam" String="@throws " />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@version " />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@author	" />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@deprecated	" />
|
||||
<StringDetect attribute="BlockTag" context="JavadocParam" String="@exception	" />
|
||||
<StringDetect attribute="BlockTag" context="JavadocParam" String="@param	" />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@return	" />
|
||||
<StringDetect attribute="BlockTag" context="SeeTag" String="@see	" />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@serial	" />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@serialData	" />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@serialField	" />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@since	" />
|
||||
<StringDetect attribute="BlockTag" context="JavadocParam" String="@throws	" />
|
||||
<StringDetect attribute="BlockTag" context="#stay" String="@version	" />
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code " />
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code	" />
|
||||
<StringDetect attribute="InlineTag" context="#stay" String="{@docRoot}" />
|
||||
<StringDetect attribute="InlineTag" context="#stay" String="{@inheritDoc}" />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link " />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link	" />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain " />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain	" />
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal " />
|
||||
<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal	" />
|
||||
<StringDetect attribute="InlineTag" context="#stay" String="{@value}" />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " />
|
||||
<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value	" />
|
||||
<IncludeRules context="##HTML"/>
|
||||
</context>
|
||||
<context attribute="Javadoc" lineEndContext="#pop" name="JavadocParam">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="JavadocParam" context="#pop#pop" String="\S*(?=\*/)" />
|
||||
<RegExpr attribute="JavadocParam" context="#pop" String="\S*(\s|$)" />
|
||||
</context>
|
||||
<context attribute="InlineTag" lineEndContext="#pop" name="InlineTagar">
|
||||
<DetectChar attribute="InlineTag" context="#pop" char="}" />
|
||||
<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
|
||||
<IncludeRules context="##HTML"/>
|
||||
</context>
|
||||
<context attribute="InlineTag" lineEndContext="#pop" name="LiteralTagar">
|
||||
<DetectChar attribute="InlineTag" context="#pop" char="}" />
|
||||
<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
|
||||
</context>
|
||||
<context attribute="SeeTag" lineEndContext="#pop" name="SeeTag">
|
||||
<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
|
||||
<IncludeRules context="##HTML"/>
|
||||
</context>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="BlockTag" defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="1" italic="0"/>
|
||||
<itemData name="InlineTag" defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="0" italic="0"/>
|
||||
<itemData name="JavadocParam" defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>
|
||||
<itemData name="SeeTag" defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>
|
||||
<itemData name="JavadocFS" defStyleNum="dsComment" color="#008000" selColor="#FFFFFF" bold="1" italic="0"/>
|
||||
<itemData name="Javadoc" defStyleNum="dsComment" color="#008000" selColor="#FFFFFF"/>
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<keywords casesensitive="1"/>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,503 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<!-- Author: Anders Lund <anders@alweb.dk> //-->
|
||||
<!-- Minor changes: Joseph Wenninger <jowenn@kde.org> //-->
|
||||
<!-- Full JavaScript 1.0 support by Whitehawk Stormchaser //-->
|
||||
<language name="JavaScript" version="1.13" kateversion="2.3" section="Scripts" extensions="*.js" mimetype="text/x-javascript;application/x-javascript" author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> if </item>
|
||||
<item> else </item>
|
||||
<item> for </item>
|
||||
<item> in </item>
|
||||
<item> while </item>
|
||||
<item> do </item>
|
||||
<item> continue </item>
|
||||
<item> break </item>
|
||||
<item> with </item>
|
||||
<item> try </item>
|
||||
<item> catch </item>
|
||||
<item> finally </item>
|
||||
<item> switch </item>
|
||||
<item> case </item>
|
||||
<item> new </item>
|
||||
<item> var </item>
|
||||
<item> function </item>
|
||||
<item> return </item>
|
||||
<item> delete </item>
|
||||
<item> true </item>
|
||||
<item> false </item>
|
||||
<item> void </item>
|
||||
<item> throw </item>
|
||||
<item> typeof </item>
|
||||
<item> const </item>
|
||||
<item> default </item>
|
||||
</list>
|
||||
<list name="functions">
|
||||
<item> escape </item>
|
||||
<item> isFinite </item>
|
||||
<item> isNaN </item>
|
||||
<item> Number </item>
|
||||
<item> parseFloat </item>
|
||||
<item> parseInt </item>
|
||||
<item> reload </item>
|
||||
<item> taint </item>
|
||||
<item> unescape </item>
|
||||
<item> untaint </item>
|
||||
<item> write </item>
|
||||
</list>
|
||||
<list name="objects">
|
||||
<item>Anchor</item>
|
||||
<item>Applet</item>
|
||||
<item>Area</item>
|
||||
<item>Array</item>
|
||||
<item>Boolean</item>
|
||||
<item>Button</item>
|
||||
<item>Checkbox</item>
|
||||
<item>Date</item>
|
||||
<item>document</item>
|
||||
<item>window</item>
|
||||
<item>Image</item>
|
||||
<item>FileUpload</item>
|
||||
<item>Form</item>
|
||||
<item>Frame</item>
|
||||
<item>Function</item>
|
||||
<item>Hidden</item>
|
||||
<item>Link</item>
|
||||
<item>MimeType</item>
|
||||
<item>Math</item>
|
||||
<item>Max</item>
|
||||
<item>Min</item>
|
||||
<item>Layer</item>
|
||||
<item>navigator</item>
|
||||
<item>Object</item>
|
||||
<item>Password</item>
|
||||
<item>Plugin</item>
|
||||
<item>Radio</item>
|
||||
<item>RegExp</item>
|
||||
<item>Reset</item>
|
||||
<item>Screen</item>
|
||||
<item>Select</item>
|
||||
<item>String</item>
|
||||
<item>Text</item>
|
||||
<item>Textarea</item>
|
||||
<item>this</item>
|
||||
<item>Window</item>
|
||||
</list>
|
||||
<list name="math">
|
||||
<item> abs </item>
|
||||
<item> acos </item>
|
||||
<item> asin </item>
|
||||
<item> atan </item>
|
||||
<item> atan2 </item>
|
||||
<item> ceil </item>
|
||||
<item> cos </item>
|
||||
<item> ctg </item>
|
||||
<item> E </item>
|
||||
<item> exp </item>
|
||||
<item> floor </item>
|
||||
<item> LN2 </item>
|
||||
<item> LN10 </item>
|
||||
<item> log </item>
|
||||
<item> LOG2E </item>
|
||||
<item> LOG10E </item>
|
||||
<item> PI </item>
|
||||
<item> pow </item>
|
||||
<item> round </item>
|
||||
<item> sin </item>
|
||||
<item> sqrt </item>
|
||||
<item> SQRT1_2 </item>
|
||||
<item> SQRT2 </item>
|
||||
<item> tan </item>
|
||||
</list>
|
||||
<list name="events">
|
||||
<item>onAbort</item>
|
||||
<item>onBlur</item>
|
||||
<item>onChange</item>
|
||||
<item>onClick</item>
|
||||
<item>onError</item>
|
||||
<item>onFocus</item>
|
||||
<item>onLoad</item>
|
||||
<item>onMouseOut</item>
|
||||
<item>onMouseOver</item>
|
||||
<item>onReset</item>
|
||||
<item>onSelect</item>
|
||||
<item>onSubmit</item>
|
||||
<item>onUnload</item>
|
||||
</list>
|
||||
<list name="methods">
|
||||
<item>above</item>
|
||||
<item>action</item>
|
||||
<item>alinkColor</item>
|
||||
<item>alert</item>
|
||||
<item>anchor</item>
|
||||
<item>anchors</item>
|
||||
<item>appCodeName</item>
|
||||
<item>applets</item>
|
||||
<item>apply</item>
|
||||
<item>appName</item>
|
||||
<item>appVersion</item>
|
||||
<item>argument</item>
|
||||
<item>arguments</item>
|
||||
<item>arity</item>
|
||||
<item>availHeight</item>
|
||||
<item>availWidth</item>
|
||||
<item>back</item>
|
||||
<item>background</item>
|
||||
<item>below</item>
|
||||
<item>bgColor</item>
|
||||
<item>border</item>
|
||||
<item>big</item>
|
||||
<item>blink</item>
|
||||
<item>blur</item>
|
||||
<item>bold</item>
|
||||
<item>border</item>
|
||||
<item>call</item>
|
||||
<item>caller</item>
|
||||
<item>charAt</item>
|
||||
<item>charCodeAt</item>
|
||||
<item>checked</item>
|
||||
<item>clearInterval</item>
|
||||
<item>clearTimeout</item>
|
||||
<item>click</item>
|
||||
<item>clip</item>
|
||||
<item>close</item>
|
||||
<item>closed</item>
|
||||
<item>colorDepth</item>
|
||||
<item>complete</item>
|
||||
<item>compile</item>
|
||||
<item>constructor</item>
|
||||
<item>confirm</item>
|
||||
<item>cookie</item>
|
||||
<item>current</item>
|
||||
<item>cursor</item>
|
||||
<item>data</item>
|
||||
<item>defaultChecked</item>
|
||||
<item>defaultSelected</item>
|
||||
<item>defaultStatus</item>
|
||||
<item>defaultValue</item>
|
||||
<item>description</item>
|
||||
<item>disableExternalCapture</item>
|
||||
<item>domain</item>
|
||||
<item>elements</item>
|
||||
<item>embeds</item>
|
||||
<item>enabledPlugin</item>
|
||||
<item>enableExternalCapture</item>
|
||||
<item>encoding</item>
|
||||
<item>eval</item>
|
||||
<item>exec</item>
|
||||
<item>fgColor</item>
|
||||
<item>filename</item>
|
||||
<item>find</item>
|
||||
<item>fixed</item>
|
||||
<item>focus</item>
|
||||
<item>fontcolor</item>
|
||||
<item>fontsize</item>
|
||||
<item>form</item>
|
||||
<item>forms</item>
|
||||
<item>formName</item>
|
||||
<item>forward</item>
|
||||
<item>frames</item>
|
||||
<item>fromCharCode</item>
|
||||
<item>getDate</item>
|
||||
<item>getDay</item>
|
||||
<item>getHours</item>
|
||||
<item>getMiliseconds</item>
|
||||
<item>getMinutes</item>
|
||||
<item>getMonth</item>
|
||||
<item>getSeconds</item>
|
||||
<item>getSelection</item>
|
||||
<item>getTime</item>
|
||||
<item>getTimezoneOffset</item>
|
||||
<item>getUTCDate</item>
|
||||
<item>getUTCDay</item>
|
||||
<item>getUTCFullYear</item>
|
||||
<item>getUTCHours</item>
|
||||
<item>getUTCMilliseconds</item>
|
||||
<item>getUTCMinutes</item>
|
||||
<item>getUTCMonth</item>
|
||||
<item>getUTCSeconds</item>
|
||||
<item>getYear</item>
|
||||
<item>global</item>
|
||||
<item>go</item>
|
||||
<item>hash</item>
|
||||
<item>height</item>
|
||||
<item>history</item>
|
||||
<item>home</item>
|
||||
<item>host</item>
|
||||
<item>hostname</item>
|
||||
<item>href</item>
|
||||
<item>hspace</item>
|
||||
<item>ignoreCase</item>
|
||||
<item>images</item>
|
||||
<item>index</item>
|
||||
<item>indexOf</item>
|
||||
<item>innerHeight</item>
|
||||
<item>innerWidth</item>
|
||||
<item>input</item>
|
||||
<item>italics</item>
|
||||
<item>javaEnabled</item>
|
||||
<item>join</item>
|
||||
<item>language</item>
|
||||
<item>lastIndex</item>
|
||||
<item>lastIndexOf</item>
|
||||
<item>lastModified</item>
|
||||
<item>lastParen</item>
|
||||
<item>layers</item>
|
||||
<item>layerX</item>
|
||||
<item>layerY</item>
|
||||
<item>left</item>
|
||||
<item>leftContext</item>
|
||||
<item>length</item>
|
||||
<item>link</item>
|
||||
<item>linkColor</item>
|
||||
<item>links</item>
|
||||
<item>location</item>
|
||||
<item>locationbar</item>
|
||||
<item>load</item>
|
||||
<item>lowsrc</item>
|
||||
<item>match</item>
|
||||
<item>MAX_VALUE</item>
|
||||
<item>menubar</item>
|
||||
<item>method</item>
|
||||
<item>mimeTypes</item>
|
||||
<item>MIN_VALUE</item>
|
||||
<item>modifiers</item>
|
||||
<item>moveAbove</item>
|
||||
<item>moveBelow</item>
|
||||
<item>moveBy</item>
|
||||
<item>moveTo</item>
|
||||
<item>moveToAbsolute</item>
|
||||
<item>multiline</item>
|
||||
<item>name</item>
|
||||
<item>NaN</item>
|
||||
<item>NEGATIVE_INFINITY</item>
|
||||
<item>negative_infinity</item>
|
||||
<item>next</item>
|
||||
<item>open</item>
|
||||
<item>opener</item>
|
||||
<item>options</item>
|
||||
<item>outerHeight</item>
|
||||
<item>outerWidth</item>
|
||||
<item>pageX</item>
|
||||
<item>pageY</item>
|
||||
<item>pageXoffset</item>
|
||||
<item>pageYoffset</item>
|
||||
<item>parent</item>
|
||||
<item>parse</item>
|
||||
<item>pathname</item>
|
||||
<item>personalbar</item>
|
||||
<item>pixelDepth</item>
|
||||
<item>platform</item>
|
||||
<item>plugins</item>
|
||||
<item>pop</item>
|
||||
<item>port</item>
|
||||
<item>POSITIVE_INFINITY</item>
|
||||
<item>positive_infinity</item>
|
||||
<item>preference</item>
|
||||
<item>previous</item>
|
||||
<item>print</item>
|
||||
<item>prompt</item>
|
||||
<item>protocol</item>
|
||||
<item>prototype</item>
|
||||
<item>push</item>
|
||||
<item>referrer</item>
|
||||
<item>refresh</item>
|
||||
<item>releaseEvents</item>
|
||||
<item>reload</item>
|
||||
<item>replace</item>
|
||||
<item>reset</item>
|
||||
<item>resizeBy</item>
|
||||
<item>resizeTo</item>
|
||||
<item>reverse</item>
|
||||
<item>rightContext</item>
|
||||
<item>screenX</item>
|
||||
<item>screenY</item>
|
||||
<item>scroll</item>
|
||||
<item>scrollbar</item>
|
||||
<item>scrollBy</item>
|
||||
<item>scrollTo</item>
|
||||
<item>search</item>
|
||||
<item>select</item>
|
||||
<item>selected</item>
|
||||
<item>selectedIndex</item>
|
||||
<item>self</item>
|
||||
<item>setDate</item>
|
||||
<item>setHours</item>
|
||||
<item>setMinutes</item>
|
||||
<item>setMonth</item>
|
||||
<item>setSeconds</item>
|
||||
<item>setTime</item>
|
||||
<item>setTimeout</item>
|
||||
<item>setUTCDate</item>
|
||||
<item>setUTCDay</item>
|
||||
<item>setUTCFullYear</item>
|
||||
<item>setUTCHours</item>
|
||||
<item>setUTCMilliseconds</item>
|
||||
<item>setUTCMinutes</item>
|
||||
<item>setUTCMonth</item>
|
||||
<item>setUTCSeconds</item>
|
||||
<item>setYear</item>
|
||||
<item>shift</item>
|
||||
<item>siblingAbove</item>
|
||||
<item>siblingBelow</item>
|
||||
<item>small</item>
|
||||
<item>sort</item>
|
||||
<item>source</item>
|
||||
<item>splice</item>
|
||||
<item>split</item>
|
||||
<item>src</item>
|
||||
<item>status</item>
|
||||
<item>statusbar</item>
|
||||
<item>strike</item>
|
||||
<item>sub</item>
|
||||
<item>submit</item>
|
||||
<item>substr</item>
|
||||
<item>substring</item>
|
||||
<item>suffixes</item>
|
||||
<item>sup</item>
|
||||
<item>taintEnabled</item>
|
||||
<item>target</item>
|
||||
<item>test</item>
|
||||
<item>text</item>
|
||||
<item>title</item>
|
||||
<item>toGMTString</item>
|
||||
<item>toLocaleString</item>
|
||||
<item>toLowerCase</item>
|
||||
<item>toolbar</item>
|
||||
<item>toSource</item>
|
||||
<item>toString</item>
|
||||
<item>top</item>
|
||||
<item>toUpperCase</item>
|
||||
<item>toUTCString</item>
|
||||
<item>type</item>
|
||||
<item>URL</item>
|
||||
<item>unshift</item>
|
||||
<item>unwatch</item>
|
||||
<item>userAgent</item>
|
||||
<item>UTC</item>
|
||||
<item>value</item>
|
||||
<item>valueOf</item>
|
||||
<item>visibility</item>
|
||||
<item>vlinkColor</item>
|
||||
<item>vspace</item>
|
||||
<item>width</item>
|
||||
<item>watch</item>
|
||||
<item>which</item>
|
||||
<item>width</item>
|
||||
<item>write</item>
|
||||
<item>writeln</item>
|
||||
<item>x</item>
|
||||
<item>y</item>
|
||||
<item>zIndex</item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
||||
<DetectSpaces/>
|
||||
<StringDetect attribute="Region Marker" context="region_marker" String="//BEGIN" beginRegion="Region1"/>
|
||||
<StringDetect attribute="Region Marker" context="region_marker" String="//END" endRegion="Region1"/>
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords" />
|
||||
<keyword attribute="Function" context="#stay" String="functions" />
|
||||
<keyword attribute="Objects" context="#stay" String="objects" />
|
||||
<keyword attribute="Math" context="#stay" String="math" />
|
||||
<keyword attribute="Events" context="#stay" String="events" />
|
||||
<keyword attribute="Data Type" context="#stay" String="methods" />
|
||||
<DetectIdentifier/>
|
||||
<Float attribute="Float" context="#stay" />
|
||||
<Int attribute="Decimal" context="#stay" />
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<DetectChar attribute="String" context="String 1" char="'"/>
|
||||
<Detect2Chars attribute="Comment" context="Comment" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" beginRegion="Comment"/>
|
||||
<RegExpr attribute="Normal Text" context="(Internal regex catch)" String="[=?:]" />
|
||||
<RegExpr attribute="Normal Text" context="(Internal regex catch)" String="\(" />
|
||||
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
|
||||
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
|
||||
<AnyChar attribute="Symbol" context="#stay" String=":!%&+,-/.*<=>?[]|~^;"/>
|
||||
</context>
|
||||
|
||||
<context attribute="String" lineEndContext="#pop" name="String">
|
||||
<DetectIdentifier/>
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<LineContinue attribute="String" context="#stay"/>
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
</context>
|
||||
<context attribute="String Char" lineEndContext="#pop" name="String 1">
|
||||
<DetectIdentifier/>
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<LineContinue attribute="String" context="#stay"/>
|
||||
<DetectChar attribute="String Char" context="#pop" char="'"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Comment" lineEndContext="#pop" name="Comment">
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Multi/inline Comment">
|
||||
<IncludeRules context="##Alerts" />
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
|
||||
</context>
|
||||
|
||||
<context attribute="Regular Expression" lineEndContext="#stay" name="Regular Expression">
|
||||
<RegExpr attribute="Regular Expression" context="#pop#pop#pop" String="/[ig]{0,2}" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\{[\d, ]+\}" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\[bB]" />
|
||||
<RegExpr attribute="Pattern Character Class" context="#stay" String="\\[nrtvfDdSsWw]" />
|
||||
<DetectChar attribute="Pattern Character Class" context="(charclass caret first check)" char="[" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\." />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=/)" />
|
||||
<AnyChar attribute="Pattern Internal Operator" context="#stay" String="?+*()|" />
|
||||
</context>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="(Internal regex catch)" fallthrough="true" fallthroughContext="#pop">
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="\s*" />
|
||||
<RegExpr attribute="Regular Expression" context="#pop" String="//(?=;)" />
|
||||
<Detect2Chars attribute="Comment" context="Comment" char="/" char1="/" />
|
||||
<Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" />
|
||||
<DetectChar attribute="Regular Expression" context="(regex caret first check)" char="/" />
|
||||
</context>
|
||||
<context attribute="Pattern Character Class" lineEndContext="#stay" name="Regular Expression Character Class">
|
||||
<RegExpr attribute="Pattern Character Class" context="#stay" String="\\[\[\]]" />
|
||||
<DetectChar attribute="Pattern Character Class" context="#pop#pop" char="]" />
|
||||
</context>
|
||||
<context attribute="Pattern Internal Operator" lineEndContext="#pop" name="(regex caret first check)" fallthrough="true" fallthroughContext="Regular Expression">
|
||||
<DetectChar attribute="Pattern Internal Operator" context="Regular Expression" char="^" />
|
||||
</context>
|
||||
<context attribute="Pattern Internal Operator" lineEndContext="#pop" name="(charclass caret first check)" fallthrough="true" fallthroughContext="Regular Expression Character Class">
|
||||
<DetectChar attribute="Pattern Internal Operator" context="Regular Expression Character Class" char="^" />
|
||||
</context>
|
||||
|
||||
<context name="region_marker" attribute="Region Marker" lineEndContext="#pop" >
|
||||
<DetectIdentifier />
|
||||
<DetectSpaces />
|
||||
</context>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Function" defStyleNum="dsFunction"/>
|
||||
<itemData name="Objects" defStyleNum="dsKeyword" color="#008000" selColor="#00ffff" bold="0" italic="0"/>
|
||||
<itemData name="Math" defStyleNum="dsKeyword" color="#DBA716" selColor="#00ffff" bold="0" italic="0"/>
|
||||
<itemData name="Events" defStyleNum="dsKeyword" color="#F766D5" selColor="#00ffff" bold="0" italic="0"/>
|
||||
<itemData name="Data Type" defStyleNum="dsDataType"/>
|
||||
<itemData name="Decimal" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="Char" defStyleNum="dsChar"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="String Char" defStyleNum="dsChar"/>
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="Symbol" defStyleNum="dsNormal"/>
|
||||
<itemData name="Regular Expression" defStyleNum="dsOthers" />
|
||||
<itemData name="Pattern Internal Operator" defStyleNum="dsFloat" />
|
||||
<itemData name="Pattern Character Class" defStyleNum="dsBaseN" />
|
||||
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="//" />
|
||||
<comment name="multiLine" start="/*" end="*/" />
|
||||
</comments>
|
||||
<keywords casesensitive="1" />
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,128 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<language name="Objective-C" version="1.07" kateversion="2.3" section="Sources" extensions="*.m;*.h" mimetype="text/x-objc-src;text/x-c-hdr">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> break </item>
|
||||
<item> case </item>
|
||||
<item> continue </item>
|
||||
<item> default </item>
|
||||
<item> do </item>
|
||||
<item> else </item>
|
||||
<item> enum </item>
|
||||
<item> extern </item>
|
||||
<item> for </item>
|
||||
<item> goto </item>
|
||||
<item> if </item>
|
||||
<item> return </item>
|
||||
<item> sizeof </item>
|
||||
<item> struct </item>
|
||||
<item> switch </item>
|
||||
<item> typedef </item>
|
||||
<item> union </item>
|
||||
<item> while </item>
|
||||
<item> @class </item>
|
||||
<item> @defs </item>
|
||||
<item> @encode </item>
|
||||
<item> @end </item>
|
||||
<item> @implementation </item>
|
||||
<item> @interface </item>
|
||||
<item> @private </item>
|
||||
<item> @protected </item>
|
||||
<item> @protocol </item>
|
||||
<item> @public </item>
|
||||
<item> @selector </item>
|
||||
<item> self </item>
|
||||
<item> super </item>
|
||||
</list>
|
||||
<list name="types">
|
||||
<item> auto </item>
|
||||
<item> char </item>
|
||||
<item> const </item>
|
||||
<item> double </item>
|
||||
<item> float </item>
|
||||
<item> int </item>
|
||||
<item> long </item>
|
||||
<item> register </item>
|
||||
<item> short </item>
|
||||
<item> signed </item>
|
||||
<item> static </item>
|
||||
<item> unsigned </item>
|
||||
<item> void </item>
|
||||
<item> volatile </item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Default">
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords"/>
|
||||
<keyword attribute="Data Type" context="#stay" String="types"/>
|
||||
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
|
||||
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
|
||||
<Float attribute="Float" context="#stay">
|
||||
<AnyChar String="fF" attribute="Float" context="#stay"/>
|
||||
</Float>
|
||||
<HlCOct attribute="Octal" context="#stay"/>
|
||||
<HlCHex attribute="Hex" context="#stay"/>
|
||||
<Int attribute="Decimal" context="#stay" >
|
||||
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
|
||||
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
|
||||
</Int>
|
||||
<HlCChar attribute="Char" context="#stay"/>
|
||||
<DetectChar attribute="String" context="String" char="""/>
|
||||
<Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*"/>
|
||||
<AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>
|
||||
<RegExpr attribute="Preprocessor" context="Preprocessor" String="^#"/>
|
||||
<Detect2Chars attribute="String" context="String" char="@" char1=""" />
|
||||
</context>
|
||||
<context attribute="String" lineEndContext="#pop" name="String">
|
||||
<LineContinue attribute="String" context="#stay"/>
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="SingleLineComment"/>
|
||||
<context attribute="Comment" lineEndContext="#stay" name="MultiLineComment">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
|
||||
</context>
|
||||
<context attribute="Preprocessor" lineEndContext="Default" name="Preprocessor">
|
||||
<LineContinue attribute="Preprocessor" context="#stay"/>
|
||||
<RangeDetect attribute="Prep. Lib" context="#stay" char=""" char1="""/>
|
||||
<RangeDetect attribute="Prep. Lib" context="#stay" char="<" char1=">"/>
|
||||
<IncludeRules context="##Doxygen" />
|
||||
<Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="MultiLineCommentPrep" char="/" char1="*"/>
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#stay" name="MultiLineCommentPrep">
|
||||
<Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/"/>
|
||||
</context>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Data Type" defStyleNum="dsDataType"/>
|
||||
<itemData name="Decimal" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Octal" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Hex" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="Char" defStyleNum="dsChar"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="String Char" defStyleNum="dsChar"/>
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="Symbol" defStyleNum="dsNormal"/>
|
||||
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
|
||||
<itemData name="Prep. Lib" defStyleNum="dsOthers"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="//" />
|
||||
<comment name="multiLine" start="/*" end="*/" />
|
||||
</comments>
|
||||
<keywords casesensitive="1" />
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,833 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<!--
|
||||
This file is part of the KDE project
|
||||
Copyright (C) 2001, 2002, 2003, 2004 Anders Lund <anders@alweb.dk>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
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.
|
||||
|
||||
*** NOTICE ***
|
||||
This file is maintained by Anders Lund <anders@alweb.dk>
|
||||
Please do not commit changes without checking with me.
|
||||
|
||||
*** TODO ***
|
||||
|
||||
Work on the comment support in the REPLACEMENT part of s/// - we may support
|
||||
the comment, if the line remainder does not contain the delimiter char.
|
||||
|
||||
Try to support ?PATTERN? (at least in one line, like if "\?(?=.*\?)" matches).
|
||||
|
||||
parse code behind '<<HEREDELIMITER' as code, or at least ignore it, to eol.
|
||||
Requires the ability to pass the delimiter through a context level.
|
||||
|
||||
find a here delimiter like '*END*' (Shell.pm). Requires that when a regex is
|
||||
inserting a dynamic string, it escapes [*(){}$[]
|
||||
|
||||
support for more regex extensions, such as (?>), (?{}), (?(cond)yes|no)
|
||||
|
||||
Enhance tr/// and y/// support.
|
||||
-->
|
||||
<language name="Perl" version="1.23" kateversion="2.4" section="Scripts" extensions="*.pl;*.pm" mimetype="application/x-perl;text/x-perl" author="Anders Lund (anders@alweb.dk)" license="LGPL">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> if </item>
|
||||
<item> unless </item>
|
||||
<item> else </item>
|
||||
<item> elsif </item>
|
||||
<item> while </item>
|
||||
<item> until </item>
|
||||
<item> for </item>
|
||||
<item> each </item>
|
||||
<item> foreach </item>
|
||||
<item> next </item>
|
||||
<item> last </item>
|
||||
<item> break </item>
|
||||
<item> continue </item>
|
||||
<item> return </item>
|
||||
<item> use </item>
|
||||
<item> no </item>
|
||||
<item> require </item>
|
||||
<item> my </item>
|
||||
<item> our </item>
|
||||
<item> local </item>
|
||||
<item> BEGIN </item>
|
||||
<item> END </item>
|
||||
<item>require</item>
|
||||
<item> package </item>
|
||||
<item> sub </item>
|
||||
<item> do </item>
|
||||
<item> __END__ </item>
|
||||
<item> __DATA__ </item>
|
||||
<item> __FILE__ </item>
|
||||
<item> __LINE__ </item>
|
||||
<item> __PACKAGE__ </item>
|
||||
</list>
|
||||
<list name="operators">
|
||||
<item> = </item>
|
||||
<item> != </item>
|
||||
<item> ~= </item>
|
||||
<item> += </item>
|
||||
<item> -= </item>
|
||||
<item> *= </item>
|
||||
<item> /= </item>
|
||||
<item> **= </item>
|
||||
<item> |= </item>
|
||||
<item> ||= </item>
|
||||
<item> &= </item>
|
||||
<item> &&= </item>
|
||||
<item> ?= </item>
|
||||
<item> + </item>
|
||||
<item> - </item>
|
||||
<item> * </item>
|
||||
<!-- <item> / </item>//-->
|
||||
<item> % </item>
|
||||
<item> || </item>
|
||||
<item> && </item>
|
||||
<item> | </item>
|
||||
<item> & </item>
|
||||
<item> < </item>
|
||||
<item> << </item>
|
||||
<item> > </item>
|
||||
<item> >> </item>
|
||||
<item> ^ </item>
|
||||
<item> -> </item>
|
||||
<item> => </item>
|
||||
<item> . </item>
|
||||
<item> , </item>
|
||||
<item> ; </item>
|
||||
<item> :: </item>
|
||||
<item> \ </item>
|
||||
<item> and </item>
|
||||
<item> or </item>
|
||||
<item> not </item>
|
||||
<item> eq </item>
|
||||
<item> ne </item>
|
||||
<item> lt </item>
|
||||
<item> gt </item>
|
||||
<item> le </item>
|
||||
<item> ge </item>
|
||||
<item> cmp </item>
|
||||
</list>
|
||||
<list name="functions">
|
||||
<item>abs</item>
|
||||
<item>accept</item>
|
||||
<item>alarm</item>
|
||||
<item>atan2</item>
|
||||
<item>bind</item>
|
||||
<item>binmode</item>
|
||||
<item>bless</item>
|
||||
<item>caller</item>
|
||||
<item>chdir</item>
|
||||
<item>chmod</item>
|
||||
<item>chomp</item>
|
||||
<item>chop</item>
|
||||
<item>chown</item>
|
||||
<item>chr</item>
|
||||
<item>chroot</item>
|
||||
<item>close</item>
|
||||
<item>closedir</item>
|
||||
<item>connect</item>
|
||||
<item>cos</item>
|
||||
<item>crypt</item>
|
||||
<item>dbmclose</item>
|
||||
<item>dbmopen</item>
|
||||
<item>defined</item>
|
||||
<item>delete</item>
|
||||
<item>die</item>
|
||||
<item>dump</item>
|
||||
<item>endgrent</item>
|
||||
<item>endhostent</item>
|
||||
<item>endnetent</item>
|
||||
<item>endprotoent</item>
|
||||
<item>endpwent</item>
|
||||
<item>endservent</item>
|
||||
<item>eof</item>
|
||||
<item>eval</item>
|
||||
<item>exec</item>
|
||||
<item>exists</item>
|
||||
<item>exit</item>
|
||||
<item>exp</item>
|
||||
<item>fcntl</item>
|
||||
<item>fileno</item>
|
||||
<item>flock</item>
|
||||
<item>fork</item>
|
||||
<item>format</item>
|
||||
<item>formline</item>
|
||||
<item>getc</item>
|
||||
<item>getgrent</item>
|
||||
<item>getgrgid</item>
|
||||
<item>getgrnam</item>
|
||||
<item>gethostbyaddr</item>
|
||||
<item>gethostbyname</item>
|
||||
<item>gethostent</item>
|
||||
<item>getlogin</item>
|
||||
<item>getnetbyaddr</item>
|
||||
<item>getnetbyname</item>
|
||||
<item>getnetent</item>
|
||||
<item>getpeername</item>
|
||||
<item>getpgrp</item>
|
||||
<item>getppid</item>
|
||||
<item>getpriority</item>
|
||||
<item>getprotobyname</item>
|
||||
<item>getprotobynumber</item>
|
||||
<item>getprotoent</item>
|
||||
<item>getpwent</item>
|
||||
<item>getpwnam</item>
|
||||
<item>getpwuid</item>
|
||||
<item>getservbyname</item>
|
||||
<item>getservbyport</item>
|
||||
<item>getservent</item>
|
||||
<item>getsockname</item>
|
||||
<item>getsockopt</item>
|
||||
<item>glob</item>
|
||||
<item>gmtime</item>
|
||||
<item>goto</item>
|
||||
<item>grep</item>
|
||||
<item>hex</item>
|
||||
<item>import</item>
|
||||
<item>index</item>
|
||||
<item>int</item>
|
||||
<item>ioctl</item>
|
||||
<item>join</item>
|
||||
<item>keys</item>
|
||||
<item>kill</item>
|
||||
<item>last</item>
|
||||
<item>lc</item>
|
||||
<item>lcfirst</item>
|
||||
<item>length</item>
|
||||
<item>link</item>
|
||||
<item>listen</item>
|
||||
<item>localtime</item>
|
||||
<item>lock</item>
|
||||
<item>log</item>
|
||||
<item>lstat</item>
|
||||
<item>map</item>
|
||||
<item>mkdir</item>
|
||||
<item>msgctl</item>
|
||||
<item>msgget</item>
|
||||
<item>msgrcv</item>
|
||||
<item>msgsnd</item>
|
||||
<item>oct</item>
|
||||
<item>open</item>
|
||||
<item>opendir</item>
|
||||
<item>ord</item>
|
||||
<item>pack</item>
|
||||
<item>package</item>
|
||||
<item>pipe</item>
|
||||
<item>pop</item>
|
||||
<item>pos</item>
|
||||
<item>print</item>
|
||||
<item>printf</item>
|
||||
<item>prototype</item>
|
||||
<item>push</item>
|
||||
<item>quotemeta</item>
|
||||
<item>rand</item>
|
||||
<item>read</item>
|
||||
<item>readdir</item>
|
||||
<item>readline</item>
|
||||
<item>readlink</item>
|
||||
<item>recv</item>
|
||||
<item>redo</item>
|
||||
<item>ref</item>
|
||||
<item>rename</item>
|
||||
<item>reset</item>
|
||||
<item>return</item>
|
||||
<item>reverse</item>
|
||||
<item>rewinddir</item>
|
||||
<item>rindex</item>
|
||||
<item>rmdir</item>
|
||||
<item>scalar</item>
|
||||
<item>seek</item>
|
||||
<item>seekdir</item>
|
||||
<item>select</item>
|
||||
<item>semctl</item>
|
||||
<item>semget</item>
|
||||
<item>semop</item>
|
||||
<item>send</item>
|
||||
<item>setgrent</item>
|
||||
<item>sethostent</item>
|
||||
<item>setnetent</item>
|
||||
<item>setpgrp</item>
|
||||
<item>setpriority</item>
|
||||
<item>setprotoent</item>
|
||||
<item>setpwent</item>
|
||||
<item>setservent</item>
|
||||
<item>setsockopt</item>
|
||||
<item>shift</item>
|
||||
<item>shmctl</item>
|
||||
<item>shmget</item>
|
||||
<item>shmread</item>
|
||||
<item>shmwrite</item>
|
||||
<item>shutdown</item>
|
||||
<item>sin</item>
|
||||
<item>sleep</item>
|
||||
<item>socket</item>
|
||||
<item>socketpair</item>
|
||||
<item>sort</item>
|
||||
<item>splice</item>
|
||||
<item>split</item>
|
||||
<item>sprintf</item>
|
||||
<item>sqrt</item>
|
||||
<item>srand</item>
|
||||
<item>stat</item>
|
||||
<item>study</item>
|
||||
<item>sub</item>
|
||||
<item>substr</item>
|
||||
<item>symlink</item>
|
||||
<item>syscall</item>
|
||||
<item>sysread</item>
|
||||
<item>sysseek</item>
|
||||
<item>system</item>
|
||||
<item>syswrite</item>
|
||||
<item>tell</item>
|
||||
<item>telldir</item>
|
||||
<item>tie</item>
|
||||
<item>time</item>
|
||||
<item>times</item>
|
||||
<item>truncate</item>
|
||||
<item>uc</item>
|
||||
<item>ucfirst</item>
|
||||
<item>umask</item>
|
||||
<item>undef</item>
|
||||
<item>unlink</item>
|
||||
<item>unpack</item>
|
||||
<item>unshift</item>
|
||||
<item>untie</item>
|
||||
<item>utime</item>
|
||||
<item>values</item>
|
||||
<item>vec</item>
|
||||
<item>wait</item>
|
||||
<item>waitpid</item>
|
||||
<item>wantarray</item>
|
||||
<item>warn</item>
|
||||
<item>write</item>
|
||||
</list>
|
||||
<list name="pragmas">
|
||||
<item>strict</item>
|
||||
<item>english</item>
|
||||
<item>warnings</item>
|
||||
<item>vars</item>
|
||||
<item>subs</item>
|
||||
<item>utf8</item>
|
||||
<item>sigtrap</item>
|
||||
<item>locale</item>
|
||||
<item>open</item>
|
||||
<item>less</item>
|
||||
<item>integer</item>
|
||||
<item>filetest</item>
|
||||
<item>constant</item>
|
||||
<item>bytes</item>
|
||||
<item>diagnostics</item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context name="normal" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Keyword" context="#stay" String="^#!\/.*" />
|
||||
<StringDetect attribute="Keyword" context="data_handle" String="__DATA__" firstNonSpace="true" />
|
||||
<StringDetect attribute="Keyword" context="#stay" String="__END__" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Keyword" context="sub_name_def" String="\bsub\s+" />
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords" />
|
||||
<keyword attribute="Operator" context="#stay" String="operators" />
|
||||
<keyword attribute="Function" context="#stay" String="functions" />
|
||||
<keyword attribute="Pragma" context="#stay" String="pragmas" />
|
||||
<RegExpr attribute="Pod" context="pod" String="\=(?:head[1-6]|over|back|item|for|begin|end|pod)(\s|$)" column="0" beginRegion="POD"/>
|
||||
<DetectSpaces />
|
||||
<DetectChar attribute="Comment" context="comment" char="#" />
|
||||
|
||||
<HlCOct attribute="Octal" context="slash_safe_escape" />
|
||||
<HlCHex attribute="Hex" context="slash_safe_escape" />
|
||||
<Float attribute="Float" context="slash_safe_escape" />
|
||||
<Int attribute="Decimal" context="slash_safe_escape" />
|
||||
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="\\(["'])[^\1]" />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char="&" char1="'" /><!-- ??? -->
|
||||
<DetectChar attribute="Operator" context="ip_string" char=""" beginRegion="String" />
|
||||
<DetectChar attribute="Operator" context="string" char="'" beginRegion="String"/>
|
||||
<DetectChar attribute="Operator" context="Backticked" char="`" />
|
||||
|
||||
<RegExpr attribute="Normal Text" context="find_variable" String="(?:[$@]\S|%[\w{]|\*[^\d\*{\$@%=(])" lookAhead="true" />
|
||||
|
||||
<RegExpr attribute="Keyword" context="#stay" String="<[A-Z0-9_]+>" />
|
||||
|
||||
<RegExpr attribute="Operator" context="find_here_document" String="\s*<<(?=\w+|\s*["'])" beginRegion="HereDocument" />
|
||||
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="\s*\}\s*/" endRegion="Block"/>
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="\s*[)]\s*/" />
|
||||
<RegExpr attribute="Function" context="sub_name_def" String="\w+::" />
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="\w+[=]" />
|
||||
|
||||
<RegExpr attribute="Operator" context="find_quoted" String="\bq(?=[qwx]?\s*[^\w\s])" />
|
||||
<RegExpr attribute="Operator" context="find_subst" String="\bs(?=\s*[^\w\s\]})])" />
|
||||
<RegExpr attribute="Operator" context="tr" String="\b(?:tr|y)\s*(?=[^\w\s\]})])" />
|
||||
|
||||
<RegExpr attribute="Operator" context="find_pattern" String="\b(?:m|qr)(?=\s*[^\w\s\]})])" />
|
||||
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="[\w_]+\s*/" />
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="[<>"':]/" />
|
||||
<DetectChar attribute="Operator" context="pattern_slash" char="/" beginRegion="Pattern" />
|
||||
<RegExpr attribute="Operator" context="#stay" String="-[rwxoRWXOeszfdlpSbctugkTBMAC]" />
|
||||
|
||||
<DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="Block" />
|
||||
<DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="Block" />
|
||||
</context>
|
||||
|
||||
<!-- ====== quoted construct central ===== -->
|
||||
<context name="find_quoted" attribute="Normal Text" lineEndContext="#stay" >
|
||||
<!-- NOTE - qx'not interpolated regex' does not cover newline between "qr" and "'" -->
|
||||
<RegExpr attribute="Operator" context="string_6" String="x\s*(')" beginRegion="String" />
|
||||
<AnyChar attribute="Operator" context="find_qqx" String="qx" />
|
||||
<DetectChar attribute="Operator" context="find_qw" char="w" />
|
||||
<DetectChar attribute="Operator" context="string_2" char="(" beginRegion="String" />
|
||||
<DetectChar attribute="Operator" context="string_3" char="{" beginRegion="String" />
|
||||
<DetectChar attribute="Operator" context="string_4" char="[" beginRegion="String" />
|
||||
<DetectChar attribute="Operator" context="string_5" char="<" beginRegion="String" />
|
||||
<RegExpr attribute="Operator" context="string_6" String="([^a-zA-Z0-9_\s[\]{}()])" beginRegion="String" />
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- q[qwx] # == comment, look for the delim on the next line -->
|
||||
</context>
|
||||
<context name="find_qqx" attribute="Normal Text" lineEndContext="#stay" >
|
||||
<DetectChar attribute="Operator" context="ip_string_2" char="(" beginRegion="String" />
|
||||
<DetectChar attribute="Operator" context="ip_string_3" char="{" beginRegion="String" />
|
||||
<DetectChar attribute="Operator" context="ip_string_4" char="[" beginRegion="String" />
|
||||
<DetectChar attribute="Operator" context="ip_string_5" char="<" beginRegion="String" />
|
||||
<RegExpr attribute="Operator" context="ip_string_6" String="([^a-zA-Z0-9_\s[\]{}()])" beginRegion="String" />
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- q[qwx] # == comment, look for the delim on the next line -->
|
||||
</context>
|
||||
<context name="find_qw" attribute="Normal Text" lineEndContext="#stay" >
|
||||
<DetectChar attribute="Operator" context="quote_word_paren" char="(" beginRegion="Wordlist" />
|
||||
<DetectChar attribute="Operator" context="quote_word_brace" char="{" beginRegion="Wordlist" />
|
||||
<DetectChar attribute="Operator" context="quote_word_bracket" char="[" beginRegion="Wordlist" />
|
||||
<RegExpr attribute="Operator" context="quote_word" String="([^a-zA-Z0-9_\s[\]{}()])" beginRegion="Wordlist" />
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- q[qwx] # == comment, look for the delim on the next line -->
|
||||
</context>
|
||||
|
||||
<!-- ====== Contexts for strings ===== -->
|
||||
<context name="ipstring_internal" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<DetectIdentifier />
|
||||
<RegExpr attribute="String Special Character" context="#stay" String="\\[UuLlEtnaefr]" />
|
||||
<RegExpr attribute="String (interpolated)" context="#stay" String="\\." />
|
||||
<RegExpr attribute="Normal Text" context="find_variable_unsafe" String="(?:[\$@]\S|%[\w{])" lookAhead="true" />
|
||||
</context>
|
||||
<context name="ip_string" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<DetectChar attribute="Operator" context="#pop" char=""" endRegion="String"/>
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
<context name="ip_string_2" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<RangeDetect attribute="String (interpolated)" context="#stay" char="(" char1=")" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char=")" endRegion="String" />
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
<context name="ip_string_3" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<RangeDetect attribute="String (interpolated)" context="#stay" char="{" char1="}" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char="}" endRegion="String" />
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
<context name="ip_string_4" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<RangeDetect attribute="String (interpolated)" context="#stay" char="[" char1="]" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char="]" endRegion="String" />
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
<context name="ip_string_5" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<RangeDetect attribute="String (interpolated)" context="#stay" char="<" char1=">" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char=">" endRegion="String" />
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
<context name="ip_string_6" attribute="String (interpolated)" lineEndContext="#stay" dynamic="true">
|
||||
<RegExpr attribute="String (interpolated)" context="#stay" String="\%1" dynamic="true" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char="1" dynamic="true" endRegion="String"/>
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
|
||||
<context name="string" attribute="String" lineEndContext="#stay">
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="'" />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
|
||||
<DetectChar attribute="Operator" context="#pop" char="'" endRegion="String" />
|
||||
</context>
|
||||
<context name="string_2" attribute="String" lineEndContext="#stay">
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1=")" />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
|
||||
<RangeDetect attribute="String" context="#stay" char="(" char1=")" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop" char=")" endRegion="String" />
|
||||
</context>
|
||||
<context name="string_3" attribute="String" lineEndContext="#stay">
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="}" />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
|
||||
<RangeDetect attribute="String" context="#stay" char="{" char1="}" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop" char="}" endRegion="String" />
|
||||
</context>
|
||||
<context name="string_4" attribute="String" lineEndContext="#stay">
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="]" />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
|
||||
<RangeDetect attribute="String" context="#stay" char="[" char1="]" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop" char="]" endRegion="String" />
|
||||
</context>
|
||||
<context name="string_5" attribute="String" lineEndContext="#stay">
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="<" />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
|
||||
<Detect2Chars attribute="String" context="#stay" char="\" char1=">" />
|
||||
<RangeDetect attribute="String" context="#stay" char="<" char1=">" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop" char=">" endRegion="String" />
|
||||
</context>
|
||||
<context name="string_6" attribute="String" lineEndContext="#stay" dynamic="true">
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
|
||||
<RegExpr attribute="String Special Character" context="#stay" String="\%1" dynamic="true"/>
|
||||
<DetectChar attribute="Operator" context="#pop#pop" char="1" dynamic="true" endRegion="String" />
|
||||
</context>
|
||||
|
||||
<!-- ====== contexts for s/// ====== -->
|
||||
<context name="find_subst" attribute="Normal Text" lineEndContext="#stay" >
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- s # == comment, look for the delim on the next line -->
|
||||
<DetectChar attribute="Operator" context="subst_curlybrace_pattern" char="{" beginRegion="Pattern" />
|
||||
<DetectChar attribute="Operator" context="subst_paren_pattern" char="(" beginRegion="Pattern" />
|
||||
<DetectChar attribute="Operator" context="subst_bracket_pattern" char="[" beginRegion="Pattern" />
|
||||
<DetectChar attribute="Operator" context="subst_sq_pattern" char="'" beginRegion="Pattern" />
|
||||
<RegExpr attribute="Operator" context="subst_slash_pattern" String="([^\w\s[\]{}()])" beginRegion="Pattern" />
|
||||
</context>
|
||||
|
||||
<!-- Fully parse s {} {}.
|
||||
This means that
|
||||
- comments are legal between PATTERN and REPLACEMENT
|
||||
- REPLACEMENT can contain resursive {} blocks -->
|
||||
<context name="subst_curlybrace_pattern" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
<DetectChar attribute="Operator" context="subst_curlybrace_middle" char="}" endRegion="Pattern" />
|
||||
</context>
|
||||
<context name="subst_curlybrace_middle" attribute="Normal Text" lineEndContext="#stay" >
|
||||
<RegExpr attribute="Comment" context="#stay" String="#.*$" />
|
||||
<DetectChar attribute="Operator" context="subst_curlybrace_replace" char="{" beginRegion="Replacement" />
|
||||
</context>
|
||||
<context name="subst_curlybrace_replace" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
<DetectChar attribute="Normal Text" context="subst_curlybrace_replace_recursive" char="{" beginRegion="Block" />
|
||||
<RegExpr attribute="Operator" context="#pop#pop#pop#pop" String="\}[cegimosx]*" endRegion="Replacement" />
|
||||
</context>
|
||||
<context name="subst_curlybrace_replace_recursive" attribute="String (interpolated)" lineEndContext="#stay" >
|
||||
<DetectChar attribute="String (interpolated)" context="subst_curlybrace_replace_recursive" char="{" beginRegion="Block" />
|
||||
<DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="Block" />
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
|
||||
<context name="subst_paren_pattern" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
<DetectChar attribute="Operator" context="subst_paren_replace" char="}" endRegion="Pattern" />
|
||||
</context>
|
||||
<context name="subst_paren_replace" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
<DetectChar attribute="Operator" context="#stay" char="(" beginRegion="Replacement" />
|
||||
<RegExpr attribute="Operator" context="#pop#pop#pop" String="\)[cegimosx]*" endRegion="Replacement" />
|
||||
</context>
|
||||
|
||||
<context name="subst_bracket_pattern" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
<DetectChar attribute="Operator" context="subst_bracket_replace" char="]" endRegion="Pattern" />
|
||||
</context>
|
||||
<context name="subst_bracket_replace" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
<DetectChar attribute="Operator" context="#stay" char="[" beginRegion="Replacement" />
|
||||
<RegExpr attribute="Operator" context="#pop#pop#pop" String="\][cegimosx]*" endRegion="Replacement" />
|
||||
</context>
|
||||
|
||||
<context name="subst_slash_pattern" attribute="Pattern" lineEndContext="#stay" dynamic="true">
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=%1)" dynamic="true" />
|
||||
<RegExpr attribute="Operator" context="subst_slash_replace" String="(%1)" dynamic="true" endRegion="Pattern" beginRegion="Replacement" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
</context>
|
||||
<context name="subst_slash_replace" attribute="String (interpolated)" lineEndContext="#stay" dynamic="true">
|
||||
<RegExpr attribute="Operator" context="#pop#pop#pop" String="%1[cegimosx]*" dynamic="true" endRegion="Replacement" />
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
|
||||
</context>
|
||||
|
||||
<context name="subst_sq_pattern" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
|
||||
<IncludeRules context="regex_pattern_internal" />
|
||||
<DetectChar attribute="Operator" context="subst_sq_replace" char="'" endRegion="Pattern" beginRegion="Pattern" />
|
||||
</context>
|
||||
<context name="subst_sq_replace" attribute="String" lineEndContext="#stay">
|
||||
<RegExpr attribute="Operator" context="#pop#pop#pop" String="'[cegimosx]*" endRegion="Replacement" />
|
||||
</context>
|
||||
|
||||
<context name="tr" attribute="Pattern" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >
|
||||
<RegExpr attribute="Pattern" context="#pop" String="([^)]*\)\s*\(?:[^)]*\)" />
|
||||
<RegExpr attribute="Pattern" context="#pop" String="{[^}]*\}\s*\{[^}]*\}" />
|
||||
<RegExpr attribute="Pattern" context="#pop" String="\[[^}]*\]\s*\[[^\]]*\]" />
|
||||
<RegExpr attribute="Pattern" context="#pop" String="([^a-zA-Z0-9_\s[\]{}()]).*\1.*\1" minimal="true"/>
|
||||
</context>
|
||||
|
||||
<!-- ====== PATTERNs ====== -->
|
||||
<context name="find_pattern" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- s # == comment, look for the delim on the next line -->
|
||||
<DetectChar attribute="Operator" context="pattern_brace" char="{" beginRegion="Pattern" />
|
||||
<DetectChar attribute="Operator" context="pattern_paren" char="(" beginRegion="Pattern" />
|
||||
<DetectChar attribute="Operator" context="pattern_bracket" char="[" beginRegion="Pattern" />
|
||||
<DetectChar attribute="Operator" context="pattern_sq" char="'" beginRegion="Pattern" />
|
||||
<RegExpr attribute="Operator" context="pattern" String="([^\w\s])" beginRegion="Pattern" />
|
||||
</context>
|
||||
<context name="pattern_slash" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=/)" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
<RegExpr attribute="Operator" context="#pop" String="/[cgimosx]*" endRegion="Pattern" />
|
||||
</context>
|
||||
<context name="pattern" attribute="Pattern" lineEndContext="#stay" dynamic="true">
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=%1)" dynamic="true" />
|
||||
<RegExpr attribute="Operator" context="#pop#pop" String="%1[cgimosx]*" dynamic="true" endRegion="Pattern" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=\%1)" dynamic="true" />
|
||||
</context>
|
||||
<context name="pattern_brace" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Operator" context="#pop#pop" String="\}[cgimosx]*" endRegion="Pattern" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
</context>
|
||||
<context name="pattern_bracket" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Operator" context="#pop#pop" String="\][cgimosx]*" endRegion="Pattern" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
</context>
|
||||
<context name="pattern_paren" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Operator" context="#pop#pop" String="\)[cgimosx]*" endRegion="Pattern" />
|
||||
<IncludeRules context="regex_pattern_internal_ip" />
|
||||
</context>
|
||||
<context name="pattern_sq" attribute="Pattern" lineEndContext="#stay">
|
||||
<RegExpr attribute="Operator" context="#pop#pop" String="'[cgimosx]*" endRegion="Pattern" />
|
||||
<IncludeRules context="regex_pattern_internal" />
|
||||
</context>
|
||||
|
||||
<!-- rules internal stuff wrt regex patterns -->
|
||||
<context name="regex_pattern_internal_rules_1" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" context="#stay" String="#.*$" firstNonSpace="true" />
|
||||
<RegExpr attribute="Pattern Character Class" context="#stay" String="\\[anDdSsWw]" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\[ABbEGLlNUuQdQZz]" />
|
||||
<RegExpr attribute="Special Variable" context="#stay" String="\\[\d]+" />
|
||||
<RegExpr attribute="Pattern" context="#stay" String="\\." />
|
||||
</context>
|
||||
<context name="regex_pattern_internal_rules_2" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Pattern Internal Operator" context="pat_ext" char="(" char1="?" />
|
||||
<DetectChar attribute="Pattern Internal Operator" context="pat_char_class" char="[" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="[()?^*+|]" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#stay" String="\{[\d, ]+\}" />
|
||||
<DetectChar attribute="Pattern Internal Operator" context="#stay" char="$" />
|
||||
<RegExpr attribute="Comment" context="#stay" String="\s{3,}#.*$" />
|
||||
</context>
|
||||
<context name="regex_pattern_internal" attribute="Pattern" lineEndContext="#stay">
|
||||
<IncludeRules context="regex_pattern_internal_rules_1" />
|
||||
<IncludeRules context="regex_pattern_internal_rules_2" />
|
||||
</context>
|
||||
<context name="regex_pattern_internal_ip" attribute="Pattern" lineEndContext="#stay" >
|
||||
<IncludeRules context="regex_pattern_internal_rules_1" />
|
||||
<!-- NOTE the below means that the special variables $' $], $} and $> are not supported
|
||||
within interpolated PATTERNs (apart from $(, $) and ${ and $| not supported by perl).
|
||||
This is because perl considers
|
||||
s{foo$} {bar} OK as well as s{foo$}} {bar}, and detecting that is a huge work overload
|
||||
for something that is unlikely to happen. -->
|
||||
<RegExpr attribute="Data Type" context="find_variable_unsafe" String="[$@][^]\s{}()|>']" lookAhead="true" />
|
||||
<IncludeRules context="regex_pattern_internal_rules_2" />
|
||||
</context>
|
||||
<context name="pat_ext" attribute="Pattern Internal Operator" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" context="#pop" String="\#[^)]*" />
|
||||
<RegExpr attribute="Pattern Internal Operator" context="#pop" String="[:=!><]+" />
|
||||
<DetectChar attribute="Pattern Internal Operator" context="#pop" char=")" />
|
||||
</context>
|
||||
<context name="pat_char_class" attribute="Pattern Character Class" lineEndContext="#stay">
|
||||
<DetectChar attribute="Pattern Internal Operator" context="#stay" char="^" />
|
||||
<Detect2Chars attribute="Pattern Character Class" context="#stay" char="\" char1="\" />
|
||||
<Detect2Chars attribute="Pattern Character Class" context="#stay" char="\" char1="]" />
|
||||
<RegExpr attribute="Pattern Character Class" context="#stay" String="\[:^?[a-z]+:\]" />
|
||||
<DetectChar attribute="Pattern Internal Operator" context="#pop" char="]" />
|
||||
</context>
|
||||
|
||||
<!-- ====== Variables ====== -->
|
||||
<context name="find_variable" attribute="Data Type" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >
|
||||
<RegExpr attribute="Special Variable" context="var_detect" String="\$[0-9]+" />
|
||||
<RegExpr attribute="Special Variable" context="var_detect" String="[@\$](?:[\+\-_]\B|ARGV\b|INC\b)" />
|
||||
<RegExpr attribute="Special Variable" context="var_detect" String="[%\$](?:INC\b|ENV\b|SIG\b)" />
|
||||
<RegExpr attribute="Data Type" context="var_detect" String="\$\$[\$\w_]" />
|
||||
<RegExpr attribute="Data Type" context="var_detect" String="\$[#_][\w_]" />
|
||||
<RegExpr attribute="Data Type" context="var_detect" String="\$+::" />
|
||||
<RegExpr attribute="Special Variable" context="#stay" String="\$[^a-zA-Z0-9\s{][A-Z]?" />
|
||||
<RegExpr attribute="Data Type" context="var_detect" String="[\$@%]\{[\w_]+\}" />
|
||||
<AnyChar attribute="Data Type" context="var_detect" String="$@%" />
|
||||
<RegExpr attribute="Data Type" context="var_detect" String="\*[a-zA-Z_]+" />
|
||||
<RegExpr attribute="Special Variable" context="#stay" String="\*[^a-zA-Z0-9\s{][A-Z]?" />
|
||||
<!-- this should be a rare case! -->
|
||||
<AnyChar attribute="Operator" context="#pop" String="$@%*" />
|
||||
</context>
|
||||
<!-- This does not check fo a trailing slash, for usage in strings. -->
|
||||
<context name="find_variable_unsafe" attribute="Data Type" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >
|
||||
<RegExpr attribute="Special Variable" context="var_detect_unsafe" String="\$[0-9]+" />
|
||||
<RegExpr attribute="Special Variable" context="var_detect_unsafe" String="[@\$](?:[\+\-_]\B|ARGV\b|INC\b)" />
|
||||
<RegExpr attribute="Special Variable" context="var_detect_unsafe" String="[%\$](?:INC\b|ENV\b|SIG\b)" />
|
||||
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$\$[\$\w_]" />
|
||||
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$[#_][\w_]" />
|
||||
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$+::" />
|
||||
<RegExpr attribute="Special Variable" context="#stay" String="\$[^a-zA-Z0-9\s{][A-Z]?" />
|
||||
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]\{[\w_]+\}" />
|
||||
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]" />
|
||||
<RegExpr attribute="Data Type" context="var_detect_unsafe" String="\*\w+" />
|
||||
<AnyChar attribute="Operator" context="#pop" String="$@%*" />
|
||||
</context>
|
||||
<context name="var_detect" attribute="Data Type" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
|
||||
<IncludeRules context="var_detect_rules" />
|
||||
<IncludeRules context="slash_safe_escape" />
|
||||
</context>
|
||||
<context name="var_detect_unsafe" attribute="Data Type" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
|
||||
<IncludeRules context="var_detect_rules" />
|
||||
</context>
|
||||
<context name="var_detect_rules" attribute="Data Type" lineEndContext="#pop#pop" >
|
||||
<RegExpr attribute="Data Type" context="#stay" String="[\w_]+" />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char=":" char1=":" />
|
||||
<DetectChar attribute="Operator" context="#stay" char="'" />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char="-" char1=">" />
|
||||
<!-- safe with operator / -->
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char="+" char1="+" />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char="-" char1="-" />
|
||||
</context>
|
||||
|
||||
|
||||
<!-- ====== Word lists ====== -->
|
||||
<context name="quote_word" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
|
||||
<DetectSpaces />
|
||||
<DetectIdentifier />
|
||||
<RegExpr attribute="Normal Text" context="#stay" String="\\%1" dynamic="true" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char="1" dynamic="true" endRegion="Wordlist" />
|
||||
</context>
|
||||
<context name="quote_word_paren" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectSpaces />
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char="\" char1=")" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char=")" endRegion="Wordlist" />
|
||||
</context>
|
||||
<context name="quote_word_brace" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectSpaces />
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="}" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char="}" endRegion="Wordlist" />
|
||||
</context>
|
||||
<context name="quote_word_bracket" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectSpaces />
|
||||
<DetectIdentifier />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="]" />
|
||||
<DetectChar attribute="Operator" context="#pop#pop#pop" char="]" endRegion="Wordlist" />
|
||||
</context>
|
||||
|
||||
<!-- ====== Here Documents ====== -->
|
||||
<context name="find_here_document" attribute="Normal Text" lineEndContext="#pop" >
|
||||
<RegExpr attribute="Keyword" context="here_document" String="(\w+)\s*;?" />
|
||||
<RegExpr attribute="Keyword" context="here_document" String="\s*"([^"]+)"\s*;?" />
|
||||
<RegExpr attribute="Keyword" context="here_document" String="\s*`([^`]+)`\s*;?" />
|
||||
<RegExpr attribute="Keyword" context="here_document_dumb" String="\s*'([^']+)'\s*;?" />
|
||||
</context>
|
||||
<context name="here_document" attribute="String (interpolated)" lineEndContext="#stay" dynamic="true">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Keyword" context="#pop#pop" String="%1" column="0" dynamic="true" endRegion="HereDocument"/>
|
||||
<RegExpr attribute="Keyword" context="here_document" String="\=\s*<<\s*["']?([A-Z0-9_\-]+)["']?" beginRegion="HEREDoc" />
|
||||
<IncludeRules context="ipstring_internal" />
|
||||
</context>
|
||||
<context name="here_document_dumb" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
|
||||
<DetectSpaces />
|
||||
<RegExpr attribute="Keyword" context="#pop#pop" String="%1" column="0" dynamic="true" endRegion="HereDocument"/>
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
|
||||
<!-- ====== Misc ====== -->
|
||||
<context name="data_handle" attribute="Data" lineEndContext="#stay">
|
||||
<RegExpr attribute="Pod" context="pod" String="\=(?:head[1-6]|over|back|item|for|begin|end|pod)\s+.*" column="0" beginRegion="POD"/>
|
||||
<StringDetect attribute="Keyword" context="normal" String="__END__" firstNonSpace="true" />
|
||||
</context>
|
||||
<context name="end_handle" attribute="Nothing" lineEndContext="#stay">
|
||||
<RegExpr attribute="Pod" context="pod" String="^\=(?:head[1-6]|over|back|item|for|begin|end|pod)\s*.*"/>
|
||||
<StringDetect attribute="Keyword" context="data_handle" String="__DATA__" firstNonSpace="true" />
|
||||
</context>
|
||||
|
||||
<context name="Backticked" attribute="String (interpolated)" lineEndContext="#stay">
|
||||
<IncludeRules context="ipstring_internal"/>
|
||||
<DetectChar attribute="Operator" context="#pop" char="`"/>
|
||||
</context>
|
||||
|
||||
<context name="slash_safe_escape" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
|
||||
<RegExpr attribute="Normal Text" context="#pop" String="\s*\]?\s*/" />
|
||||
<RegExpr attribute="Normal Text" context="#pop" String="\s*\}?\s*/" endRegion="Block" />
|
||||
<RegExpr attribute="Normal Text" context="#pop" String="\s*\)?\s*/" />
|
||||
<keyword attribute="Keyword" context="#pop" String="keywords" />
|
||||
</context>
|
||||
|
||||
<context name="package_qualified_blank" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Normal Text" context="#pop" String="[\w_]+" />
|
||||
</context>
|
||||
|
||||
<context name="sub_name_def" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
|
||||
<RegExpr attribute="Function" context="#stay" String="\w+" />
|
||||
<RegExpr attribute="Normal Text" context="find_variable" String="\$\S" lookAhead="true" />
|
||||
<RegExpr attribute="Normal Text" context="sub_arg_definition" String="\s*\(" />
|
||||
<Detect2Chars attribute="Normal Text" context="#stay" char=":" char1=":" />
|
||||
</context>
|
||||
|
||||
<context name="sub_arg_definition" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop">
|
||||
<AnyChar attribute="Data Type" context="#stay" String="*$@%" />
|
||||
<AnyChar attribute="Normal Text" context="#stay" String="&\[];" />
|
||||
<DetectChar attribute="Normal Text" context="slash_safe_escape" char=")" />
|
||||
</context>
|
||||
|
||||
<context name="pod" attribute="Pod" lineEndContext="#stay">
|
||||
<DetectSpaces />
|
||||
<DetectIdentifier />
|
||||
<RegExpr attribute="Pod" context="#stay" String="\=(?:head[1-6]|over|back|item|for|begin|end|pod)\s*.*" column="0" beginRegion="POD" endRegion="POD"/>
|
||||
<RegExpr attribute="Pod" context="#pop" String="\=cut.*$" column="0" endRegion="POD"/>
|
||||
</context>
|
||||
|
||||
<context name="comment" attribute="Comment" lineEndContext="#pop">
|
||||
<DetectSpaces />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal" />
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword" />
|
||||
<itemData name="Pragma" defStyleNum="dsKeyword" />
|
||||
<itemData name="Function" defStyleNum="dsFunction" />
|
||||
<itemData name="Operator" defStyleNum="dsKeyword" color="#008000"/>
|
||||
<itemData name="Data Type" defStyleNum="dsDataType" />
|
||||
<itemData name="Special Variable" defStyleNum="dsDataType" color="#C00000" selColor="#C00000" bold="0" italic="0" />
|
||||
<itemData name="Decimal" defStyleNum="dsDecVal" />
|
||||
<itemData name="Octal" defStyleNum="dsBaseN" />
|
||||
<itemData name="Hex" defStyleNum="dsBaseN" />
|
||||
<itemData name="Float" defStyleNum="dsFloat" />
|
||||
<itemData name="String" defStyleNum="dsString" color="#FF6C6C" selColor="#FF6C6C" bold="0" italic="0" />
|
||||
<itemData name="String (interpolated)" defStyleNum="dsString" />
|
||||
<itemData name="String Special Character" defStyleNum="dsChar" />
|
||||
<itemData name="Pattern" defStyleNum="dsOthers" />
|
||||
<itemData name="Pattern Internal Operator" defStyleNum="dsChar" />
|
||||
<itemData name="Pattern Character Class" defStyleNum="dsBaseN" />
|
||||
<itemData name="Data" defStyleNum="dsNormal" />
|
||||
<itemData name="Comment" defStyleNum="dsComment" />
|
||||
<itemData name="Pod" defStyleNum="dsComment" />
|
||||
<itemData name="Nothing" defStyleNum="dsComment" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="#" />
|
||||
</comments>
|
||||
<keywords casesensitive="1" />
|
||||
</general>
|
||||
</language>
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
@@ -1,373 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language>
|
||||
<!-- Python syntax highlightning v0.9 by Per Wigren -->
|
||||
<!-- Python syntax highlighting v1.9 by Michael Bueker (improved keyword differentiation) -->
|
||||
<!-- Python syntax highlighting v1.97 by Paul Giannaros -->
|
||||
<!-- Python syntax highlighting v1.99 by Primoz Anzur -->
|
||||
<language name="Python" version="2.00" kateversion="2.4" section="Scripts" extensions="*.py;*.pyw" mimetype="application/x-python;text/x-python" casesensitive="1" author="Michael Bueker" license="">
|
||||
<highlighting>
|
||||
<list name="prep">
|
||||
<item> import </item>
|
||||
<item> from </item>
|
||||
<item> as </item>
|
||||
</list>
|
||||
<list name="defs">
|
||||
<item> class </item>
|
||||
<item> def </item>
|
||||
<item> del </item>
|
||||
<item> global </item>
|
||||
<item> lambda </item>
|
||||
</list>
|
||||
<list name="operators">
|
||||
<item> and </item>
|
||||
<item> assert </item>
|
||||
<item> in </item>
|
||||
<item> is </item>
|
||||
<item> not </item>
|
||||
<item> or </item>
|
||||
</list>
|
||||
<list name="commands">
|
||||
<item> exec </item>
|
||||
<item> print </item>
|
||||
</list>
|
||||
<list name="flow">
|
||||
<item> break </item>
|
||||
<item> continue </item>
|
||||
<item> elif </item>
|
||||
<item> else </item>
|
||||
<item> except </item>
|
||||
<item> finally </item>
|
||||
<item> for </item>
|
||||
<item> if </item>
|
||||
<item> pass </item>
|
||||
<item> raise </item>
|
||||
<item> return </item>
|
||||
<item> try </item>
|
||||
<item> while </item>
|
||||
<item> yield </item>
|
||||
</list>
|
||||
<list name="builtinfuncs">
|
||||
<item> __future__ </item>
|
||||
<item> __import__ </item>
|
||||
<item> __name__ </item>
|
||||
<item> abs </item>
|
||||
<item> all </item>
|
||||
<item> any </item>
|
||||
<item> apply </item>
|
||||
<item> basestring </item>
|
||||
<item> bool </item>
|
||||
<item> buffer </item>
|
||||
<item> callable </item>
|
||||
<item> chr </item>
|
||||
<item> classmethod </item>
|
||||
<item> cmp </item>
|
||||
<item> coerce </item>
|
||||
<item> compile </item>
|
||||
<item> complex </item>
|
||||
<item> delattr </item>
|
||||
<item> dict </item>
|
||||
<item> dir </item>
|
||||
<item> divmod </item>
|
||||
<item> enumerate </item>
|
||||
<item> eval </item>
|
||||
<item> execfile </item>
|
||||
<item> file </item>
|
||||
<item> filter </item>
|
||||
<item> float </item>
|
||||
<item> frozenset </item>
|
||||
<item> getattr </item>
|
||||
<item> globals </item>
|
||||
<item> hasattr </item>
|
||||
<item> hash </item>
|
||||
<item> hex </item>
|
||||
<item> id </item>
|
||||
<item> input </item>
|
||||
<item> int </item>
|
||||
<item> intern </item>
|
||||
<item> isinstance </item>
|
||||
<item> issubclass </item>
|
||||
<item> iter </item>
|
||||
<item> len </item>
|
||||
<item> list </item>
|
||||
<item> locals </item>
|
||||
<item> long </item>
|
||||
<item> map </item>
|
||||
<item> max </item>
|
||||
<item> min </item>
|
||||
<item> object </item>
|
||||
<item> oct </item>
|
||||
<item> open </item>
|
||||
<item> ord </item>
|
||||
<item> pow </item>
|
||||
<item> property </item>
|
||||
<item> range </item>
|
||||
<item> raw_input </item>
|
||||
<item> reduce </item>
|
||||
<item> reload </item>
|
||||
<item> repr </item>
|
||||
<item> reversed </item>
|
||||
<item> round </item>
|
||||
<item> set </item>
|
||||
<item> setattr </item>
|
||||
<item> slice </item>
|
||||
<item> sorted </item>
|
||||
<item> staticmethod </item>
|
||||
<item> str </item>
|
||||
<item> sum </item>
|
||||
<item> super </item>
|
||||
<item> tuple </item>
|
||||
<item> type </item>
|
||||
<item> unichr </item>
|
||||
<item> unicode </item>
|
||||
<item> vars </item>
|
||||
<item> xrange </item>
|
||||
<item> zip </item>
|
||||
</list>
|
||||
<list name="specialvars">
|
||||
<item> None </item>
|
||||
<item> self </item>
|
||||
<item> True </item>
|
||||
<item> False </item>
|
||||
<item> NotImplemented </item>
|
||||
<item> Ellipsis </item>
|
||||
</list>
|
||||
<list name="bindings">
|
||||
<item> SIGNAL </item>
|
||||
<item> SLOT </item>
|
||||
<item> connect </item>
|
||||
</list>
|
||||
<list name="overloaders">
|
||||
<item>__new__</item>
|
||||
<item>__init__</item>
|
||||
<item>__del__</item>
|
||||
<item>__repr__</item>
|
||||
<item>__str__</item>
|
||||
<item>__lt__</item>
|
||||
<item>__le__</item>
|
||||
<item>__eq__</item>
|
||||
<item>__ne__</item>
|
||||
<item>__gt__</item>
|
||||
<item>__ge__</item>
|
||||
<item>__cmp__</item>
|
||||
<item>__rcmp__</item>
|
||||
<item>__hash__</item>
|
||||
<item>__nonzero__</item>
|
||||
<item>__unicode__</item>
|
||||
</list>
|
||||
<list name="exceptions">
|
||||
<item>ArithmeticError</item>
|
||||
<item>AssertionError</item>
|
||||
<item>AttributeError</item>
|
||||
<item>BaseException</item>
|
||||
<item>DeprecationWarning</item>
|
||||
<item>EnvironmentError</item>
|
||||
<item>EOFError</item>
|
||||
<item>Exception</item>
|
||||
<item>FloatingPointError</item>
|
||||
<item>FutureWarning</item>
|
||||
<item>GeneratorExit</item>
|
||||
<item>IOError</item>
|
||||
<item>ImportError</item>
|
||||
<item>ImportWarning</item>
|
||||
<item>IndexError</item>
|
||||
<item>KeyError</item>
|
||||
<item>KeyboardInterrupt</item>
|
||||
<item>LookupError</item>
|
||||
<item>MemoryError</item>
|
||||
<item>NameError</item>
|
||||
<item>NotImplementedError</item>
|
||||
<item>OSError</item>
|
||||
<item>OverflowError</item>
|
||||
<item>PendingDeprecationWarning</item>
|
||||
<item>ReferenceError</item>
|
||||
<item>RuntimeError</item>
|
||||
<item>RuntimeWarning</item>
|
||||
<item>StandardError</item>
|
||||
<item>StopIteration</item>
|
||||
<item>SyntaxError</item>
|
||||
<item>SyntaxWarning</item>
|
||||
<item>SystemError</item>
|
||||
<item>SystemExit</item>
|
||||
<item>TypeError</item>
|
||||
<item>UnboundLocalError</item>
|
||||
<item>UserWarning</item>
|
||||
<item>UnicodeError</item>
|
||||
<item>UnicodeWarning</item>
|
||||
<item>UnicodeEncodeError</item>
|
||||
<item>UnicodeDecodeError</item>
|
||||
<item>UnicodeTranslateError</item>
|
||||
<item>ValueError</item>
|
||||
<item>Warning</item>
|
||||
<item>WindowsError</item>
|
||||
<item>ZeroDivisionError</item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
|
||||
<keyword attribute="Preprocessor" String="prep" context="#stay"/>
|
||||
<keyword attribute="Definition Keyword" String="defs" context="#stay"/>
|
||||
<keyword attribute="Operator" String="operators" context="#stay"/>
|
||||
<keyword attribute="Command Keyword" String="commands" context="#stay"/>
|
||||
<keyword attribute="Flow Control Keyword" String="flow" context="#stay"/>
|
||||
<keyword attribute="Builtin Function" String="builtinfuncs" context="#stay"/>
|
||||
<keyword attribute="Special Variable" String="specialvars" context="#stay"/>
|
||||
<keyword attribute="Extensions" String="bindings" context="#stay"/>
|
||||
<keyword attribute="Exceptions" String="exceptions" context="#stay"/>
|
||||
<keyword attribute="Overloaders" String="overloaders" context="#stay"/>
|
||||
<RegExpr attribute="Normal" String="[a-zA-Z_][a-zA-Z_0-9]+" context="#stay"/>
|
||||
|
||||
<RegExpr attribute="Complex" String=" ((([0-9]*\.[0-9]+|[0-9]+\.)|([0-9]+|([0-9]*\.[0-9]+|[0-9]+\.))[eE](\+|-)?[0-9]+)|[0-9]+)[jJ]" context="#stay"/>
|
||||
<RegExpr attribute="Float" String="([0-9]+\.[0-9]*|\.[0-9]+)([eE][0-9]+)?" context="#stay"/>
|
||||
<RegExpr attribute="Int" String="([1-9][0-9]*([eE][0-9]+)?|0)" context="#stay"/>
|
||||
<RegExpr attribute="Long" String="[1-9][0-9]*([eE][0-9.]+)?[Ll]" context="#stay"/>
|
||||
<RegExpr attribute="Hex" String="0[Xx][0-9a-fA-F]+" context="#stay"/>
|
||||
<RegExpr attribute="Octal" String="0[1-9][0-9]*" context="#stay"/>
|
||||
|
||||
<RegExpr attribute="Raw String" String="[rR]'''" context="Raw Tripple A-string"/>
|
||||
<RegExpr attribute="Raw String" String="[rR]"""" context="Raw Tripple Q-string"/>
|
||||
|
||||
<RegExpr attribute="Raw String" String="[rR]'" context="Raw A-string"/>
|
||||
<RegExpr attribute="Raw String" String="[rR]"" context="Raw Q-string"/>
|
||||
|
||||
<DetectChar attribute="Comment" char="#" context="Hash comment"/>
|
||||
<RegExpr attribute="Comment" String="^\s*u?'''" context="Tripple A-comment" beginRegion="Tripple A-region"/>
|
||||
<RegExpr attribute="Comment" String="^\s*u?"""" context="Tripple Q-comment" beginRegion="Tripple Q-region"/>
|
||||
|
||||
<StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
|
||||
<StringDetect attribute="String" String=""""" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
|
||||
<DetectChar attribute="String" char="'" context="Single A-string"/>
|
||||
<DetectChar attribute="String" char=""" context="Single Q-string"/>
|
||||
|
||||
<DetectChar attribute="Operator" char="(" context="parenthesised" beginRegion="parenthesis"/>
|
||||
<DetectChar attribute="Operator" char=")" context="#pop" endRegion="parenthesis"/>
|
||||
|
||||
<RegExpr attribute="Operator" String="[+*/%\|=;\!<>!^&~-]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
|
||||
</context>
|
||||
|
||||
<context name="parenthesised" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
|
||||
<IncludeRules context="Normal" />
|
||||
</context>
|
||||
|
||||
<context name="Hash comment" attribute="Comment" lineEndContext="#pop">
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context name="Tripple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
|
||||
<StringDetect attribute="Comment" String="'''" context="#pop" endRegion="Tripple A-region"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context name="Tripple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
|
||||
<HlCChar attribute="Comment" context="#stay"/>
|
||||
<StringDetect attribute="Comment" String=""""" context="#pop" endRegion="Tripple Q-region"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context name="Tripple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
|
||||
</context>
|
||||
|
||||
<context name="Raw Tripple A-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
|
||||
<HlCStringChar attribute="Raw String" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
|
||||
</context>
|
||||
|
||||
<context name="Tripple Q-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<StringDetect attribute="String" String=""""" context="#pop" endRegion="Tripple Q-region"/>
|
||||
</context>
|
||||
|
||||
<context name="Raw Tripple Q-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
|
||||
<HlCStringChar attribute="Raw String" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<StringDetect attribute="String" String=""""" context="#pop" endRegion="Tripple Q-region"/>
|
||||
</context>
|
||||
|
||||
<context name="Single A-comment" attribute="Comment" lineEndContext="#stay">
|
||||
<HlCStringChar attribute="Comment" context="#stay"/>
|
||||
<DetectChar attribute="Comment" char="'" context="#pop"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context name="Single Q-comment" attribute="Comment" lineEndContext="#stay">
|
||||
<HlCStringChar attribute="Comment" context="#stay"/>
|
||||
<DetectChar attribute="Comment" char=""" context="#pop"/>
|
||||
<IncludeRules context="##Alerts" />
|
||||
</context>
|
||||
|
||||
<context name="Single A-string" attribute="String" lineEndContext="#stay">
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<DetectChar attribute="String" char="'" context="#pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Single Q-string" attribute="String" lineEndContext="#stay">
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<DetectChar attribute="String" char=""" context="#pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Raw A-string" attribute="Raw String" lineEndContext="#stay">
|
||||
<HlCStringChar attribute="Raw String" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<DetectChar attribute="Raw String" char="'" context="#pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Raw Q-string" attribute="Raw String" lineEndContext="#stay">
|
||||
<HlCStringChar attribute="Raw String" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
|
||||
<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
|
||||
<DetectChar attribute="Raw String" char=""" context="#pop"/>
|
||||
</context>
|
||||
|
||||
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Definition Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Operator" defStyleNum="dsNormal"/>
|
||||
<itemData name="String Substitution" defStyleNum="dsNormal"/>
|
||||
<itemData name="Command Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Flow Control Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Builtin Function" defStyleNum="dsDataType"/>
|
||||
<itemData name="Special Variable" defStyleNum="dsOthers"/>
|
||||
<itemData name="Extensions" defStyleNum="dsOthers" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
|
||||
<itemData name="Exceptions" defStyleNum="dsOthers" color="#054d00" selColor="#ffffff" bold="1" italic="0"/>
|
||||
<itemData name="Overloaders" defStyleNum="dsOthers" color="#000e52" selColor="#ffffff" bold="1" italic="0"/>
|
||||
<itemData name="Preprocessor" defStyleNum="dsChar"/>
|
||||
<itemData name="String Char" defStyleNum="dsChar"/>
|
||||
<itemData name="Long" defStyleNum="dsOthers"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="Int" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Hex" defStyleNum="dsOthers"/>
|
||||
<itemData name="Octal" defStyleNum="dsOthers"/>
|
||||
<itemData name="Complex" defStyleNum="dsOthers"/>
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="Raw String" defStyleNum="dsString"/>
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<folding indentationsensitive="1" />
|
||||
<emptyLines>
|
||||
<emptyLine regexpr="\s+" casesensitive="false"/>
|
||||
<emptyLine regexpr="\s*#.*$" casesensitive="false"/>
|
||||
</emptyLines>
|
||||
<comments>
|
||||
<comment name="singleLine" start="#" position="afterwhitespace"/>
|
||||
</comments>
|
||||
<keywords casesensitive="1" />
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,915 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
|
||||
<!--
|
||||
Ruby syntax highlighting definition for Kate.
|
||||
|
||||
Copyright (C) 2004 by Sebastian Vuorinen (sebastian dot vuorinen at helsinki dot fi)
|
||||
Copyright (C) 2004 by Stefan Lang (langstefan@gmx.at)
|
||||
Copyright (C) 2008 by Robin Pedersen (robinpeder@gmail.com)
|
||||
|
||||
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; if not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
-->
|
||||
|
||||
<!--
|
||||
TODO: * "Nested" HERE documents aren't recognized.
|
||||
* Division after gdl contexts is interpreted as regexp
|
||||
-->
|
||||
|
||||
<!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
|
||||
<language name="Ruby" section="Scripts"
|
||||
version="1.18" kateversion="2.4"
|
||||
extensions="*.rb;*.rjs;*.rxml;*.xml.erb;*.js.erb"
|
||||
mimetype="application/x-ruby"
|
||||
style="ruby" indenter="ruby"
|
||||
author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi), Robin Pedersen (robinpeder@gmail.com)" license="LGPL">
|
||||
|
||||
<highlighting>
|
||||
|
||||
<list name="keywords">
|
||||
<item> BEGIN </item>
|
||||
<item> END </item>
|
||||
<item> and </item>
|
||||
<item> begin </item>
|
||||
<item> break </item>
|
||||
<item> case </item>
|
||||
<item> defined? </item>
|
||||
<item> do </item>
|
||||
<item> else </item>
|
||||
<item> elsif </item>
|
||||
<item> end </item>
|
||||
<item> ensure </item>
|
||||
<item> for </item>
|
||||
<item> if </item>
|
||||
<item> in </item>
|
||||
<item> include </item>
|
||||
<item> next </item>
|
||||
<item> not </item>
|
||||
<item> or </item>
|
||||
<item> redo </item>
|
||||
<item> rescue </item>
|
||||
<item> retry </item>
|
||||
<item> return </item>
|
||||
<item> then </item>
|
||||
<item> unless </item>
|
||||
<item> until </item>
|
||||
<item> when </item>
|
||||
<item> while </item>
|
||||
<item> yield </item>
|
||||
</list>
|
||||
|
||||
<list name="access-control">
|
||||
<item> private_class_method </item>
|
||||
<item> private </item>
|
||||
<item> protected </item>
|
||||
<item> public_class_method </item>
|
||||
<item> public </item>
|
||||
</list>
|
||||
|
||||
<list name="attribute-definitions">
|
||||
<item> attr_reader </item>
|
||||
<item> attr_writer </item>
|
||||
<item> attr_accessor </item>
|
||||
</list>
|
||||
|
||||
<list name="definitions">
|
||||
<item> alias </item>
|
||||
<item> module </item>
|
||||
<item> class </item>
|
||||
<item> def </item>
|
||||
<item> undef </item>
|
||||
</list>
|
||||
|
||||
<list name="pseudo-variables">
|
||||
<item> self </item>
|
||||
<item> super </item>
|
||||
<item> nil </item>
|
||||
<item> false </item>
|
||||
<item> true </item>
|
||||
<item> caller </item>
|
||||
<item> __FILE__ </item>
|
||||
<item> __LINE__ </item>
|
||||
</list>
|
||||
|
||||
<list name="default-globals">
|
||||
<item> $stdout </item>
|
||||
<item> $defout </item>
|
||||
<item> $stderr </item>
|
||||
<item> $deferr </item>
|
||||
<item> $stdin </item>
|
||||
</list>
|
||||
|
||||
<!-- Kernel module methods.
|
||||
NOTE: Methods ending in ? or !
|
||||
are included below as regexes.
|
||||
-->
|
||||
<list name="kernel-methods">
|
||||
<!-- backquote ` -->
|
||||
<item> abort </item>
|
||||
<item> at_exit </item>
|
||||
<item> autoload </item>
|
||||
<item> autoload? </item>
|
||||
<item> binding </item>
|
||||
<item> block_given? </item>
|
||||
<item> callcc </item>
|
||||
<item> caller </item>
|
||||
<item> catch </item>
|
||||
<item> chomp </item>
|
||||
<item> chomp! </item>
|
||||
<item> chop </item>
|
||||
<item> chop! </item>
|
||||
<item> eval </item>
|
||||
<item> exec </item>
|
||||
<item> exit </item>
|
||||
<item> exit! </item>
|
||||
<item> fail </item>
|
||||
<item> fork </item>
|
||||
<item> format </item>
|
||||
<item> getc </item>
|
||||
<item> gets </item>
|
||||
<item> global_variables </item>
|
||||
<item> gsub </item>
|
||||
<item> gsub! </item>
|
||||
<item> iterator? </item>
|
||||
<item> lambda </item>
|
||||
<item> load </item>
|
||||
<item> local_variables </item>
|
||||
<item> loop </item>
|
||||
<item> method_missing </item>
|
||||
<item> open </item>
|
||||
<item> p </item>
|
||||
<item> print </item>
|
||||
<item> printf </item>
|
||||
<item> proc </item>
|
||||
<item> putc </item>
|
||||
<item> puts </item>
|
||||
<item> raise </item>
|
||||
<item> rand </item>
|
||||
<item> readline </item>
|
||||
<item> readlines </item>
|
||||
<item> require </item>
|
||||
<item> scan </item>
|
||||
<item> select </item>
|
||||
<item> set_trace_func </item>
|
||||
<item> sleep </item>
|
||||
<item> split </item>
|
||||
<item> sprintf </item>
|
||||
<item> srand </item>
|
||||
<item> sub </item>
|
||||
<item> sub! </item>
|
||||
<item> syscall </item>
|
||||
<item> system </item>
|
||||
<item> test </item>
|
||||
<item> throw </item>
|
||||
<item> trace_var </item>
|
||||
<item> trap </item>
|
||||
<item> untrace_var </item>
|
||||
<item> warn </item>
|
||||
</list>
|
||||
|
||||
<list name="attention">
|
||||
<item> TODO </item>
|
||||
<item> FIXME </item>
|
||||
<item> NOTE </item>
|
||||
</list>
|
||||
|
||||
<contexts>
|
||||
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
|
||||
<!-- ruby ignores newline after \ -->
|
||||
<LineContinue attribute="Normal Text" context="Line Continue"/>
|
||||
|
||||
<!-- __END__ token on own line. -->
|
||||
<RegExpr attribute="Keyword" String="__END__$" context="DATA" column="0"/>
|
||||
|
||||
<!-- "shebang" line -->
|
||||
<RegExpr attribute="Keyword" String="#!\/.*" context="#stay" column="0"/>
|
||||
|
||||
<!-- "def" - "end" blocks -->
|
||||
<!-- check for statement modifiers with regexes -->
|
||||
<DetectChar attribute="Operator" char="{" context="Find closing block brace" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="(\=|\(|\[|\{)\s*(if|unless|while|until)\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Keyword" String="\;\s*(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" beginRegion="def block" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Keyword" String="\;\s*(if|unless)\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bclass\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bmodule\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bbegin\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bfor\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bcase\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bdo\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bdef\b" context="#stay" beginRegion="def block"/>
|
||||
<RegExpr attribute="Keyword" String="\bend\b" context="#stay" endRegion="def block"/>
|
||||
<!-- elsif/else close the current block and start a new one -->
|
||||
<RegExpr attribute="Keyword" String="\b(else|elsif|rescue|ensure)\b" context="#stay" endRegion="def block" beginRegion="def block"/>
|
||||
|
||||
<StringDetect attribute="Operator" String="..." context="#stay"/>
|
||||
<Detect2Chars attribute="Operator" char="." char1="." context="#stay"/>
|
||||
|
||||
<!-- marks a message (being sent, not defined) -->
|
||||
<RegExpr attribute="Message" String="\.[_a-z][_a-zA-Z0-9]*(\?|\!|\b)" context="check_div_2"/>
|
||||
|
||||
<!-- Check for "ASCII code operator". e.g.: ?a -->
|
||||
<RegExpr attribute="Dec" String="\s\?(\\M\-)?(\\C\-)?\\?\S" context="check_div_1"/>
|
||||
|
||||
<keyword attribute="Keyword" String="keywords" context="#stay"/>
|
||||
<keyword attribute="Attribute Definition" String="attribute-definitions" context="check_div_2"/>
|
||||
<keyword attribute="Access Control" String="access-control" context="check_div_2"/>
|
||||
<keyword attribute="Definition" String="definitions" context="#stay" />
|
||||
<keyword attribute="Pseudo variable" String="pseudo-variables" context="check_div_1"/>
|
||||
<keyword attribute="Default globals" String="default-globals" context="check_div_2"/>
|
||||
<keyword attribute="Kernel methods" String="kernel-methods" context="check_div_2"/>
|
||||
|
||||
<!-- (global) vars starting with $
|
||||
Match them before $_.
|
||||
-->
|
||||
<RegExpr attribute="Global Variable" String="\$[a-zA-Z_0-9]+" context="check_div_1"/>
|
||||
<RegExpr attribute="Global Variable" String="\$\-[a-zA-z_]\b" context="check_div_1"/>
|
||||
<!-- special-character globals -->
|
||||
<RegExpr attribute="Default globals" String="\$[\d_*`\!:?'/\\\-\&"]" context="check_div_1"/>
|
||||
<RegExpr attribute="Global Constant" String="\b[_A-Z]+[A-Z_0-9]+\b" context="check_div_2"/>
|
||||
<!-- Generally a module or class name like "File", "MyModule_1", .. -->
|
||||
<RegExpr attribute="Constant" String="\b[A-Z]+_*([0-9]|[a-z])[_a-zA-Z0-9]*\b" context="check_div_2"/>
|
||||
|
||||
<RegExpr attribute="Hex" String="\b\-?0[xX][_0-9a-fA-F]+" context="check_div_1"/>
|
||||
<RegExpr attribute="Bin" String="\b\-?0[bB][_01]+" context="check_div_1"/>
|
||||
<RegExpr attribute="Octal" String="\b\-?0[1-7][_0-7]*" context="check_div_1"/>
|
||||
<RegExpr attribute="Float" String="\b\-?[0-9][0-9_]*\.[0-9][0-9_]*([eE]\-?[1-9][0-9]*(\.[0-9]*)?)?" context="check_div_1"/>
|
||||
<RegExpr attribute="Dec" String="\b\-?[1-9][0-9_]*\b" context="check_div_1"/>
|
||||
<Int attribute="Dec" context="check_div_1"/>
|
||||
<HlCChar attribute="Char" context="check_div_1"/>
|
||||
|
||||
<!-- Check for =begin before assignment operator. -->
|
||||
<RegExpr attribute="Blockcomment" String="^=begin(?:\s|$)" context="Embedded documentation" beginRegion="comment block" column="0"/>
|
||||
|
||||
<!-- recognize the beginning of a HEREDOC
|
||||
This uses new features in Kate 2.3 and later
|
||||
|
||||
There is no other chance of keeping heredoc apart from the
|
||||
push operator '<<' than requiring to put space between the operator
|
||||
and the string.
|
||||
-->
|
||||
<RegExpr attribute="Operator" context="find_indented_heredoc" String="\s*<<-(?=\w+|["'])" beginRegion="HereDocument" />
|
||||
<RegExpr attribute="Operator" context="find_heredoc" String="\s*<<(?=\w+|["'])" beginRegion="HereDocument" />
|
||||
|
||||
<DetectChar attribute="Operator" char="." context="#stay"/>
|
||||
<Detect2Chars attribute="Operator" char="&" char1="&" context="#stay"/>
|
||||
<Detect2Chars attribute="Operator" char="|" char1="|" context="#stay"/>
|
||||
<RegExpr attribute="Operator" String="\s[\?\:\%]\s" context="#stay"/>
|
||||
<RegExpr attribute="Operator" String="[|&<>\^\+*~\-=]+" context="#stay"/>
|
||||
<!-- regexp hack -->
|
||||
<RegExpr attribute="Operator" String="\s!" context="#stay"/>
|
||||
<RegExpr attribute="Operator" String="/=\s" context="#stay" insensitive="0"/>
|
||||
<StringDetect attribute="Operator" String="%=" context="#stay" insensitive="0"/>
|
||||
<Detect2Chars attribute="Operator" char=":" char1=":" context="Member Access"/>
|
||||
|
||||
<RegExpr attribute="Symbol" String=":(@{1,2}|\$)?[a-zA-Z_][a-zA-Z0-9_]*[=?!]?" context="check_div_1"/>
|
||||
<RegExpr attribute="Symbol" String=":\[\]=?" contex="check_div_1"/>
|
||||
|
||||
<DetectChar attribute="String" char=""" context="Quoted String"/>
|
||||
<DetectChar attribute="Raw String" char="'" context="Apostrophed String"/>
|
||||
<DetectChar attribute="Command" char="`" context="Command String"/>
|
||||
|
||||
<StringDetect attribute="Normal Text" String="?#" context="#stay"/>
|
||||
|
||||
<RegExpr attribute="Comment" String="#\s*BEGIN.*$" context="#stay" beginRegion="marker" column="0"/>
|
||||
<RegExpr attribute="Comment" String="#\s*END.*$" context="#stay" endRegion="marker" column="0"/>
|
||||
<DetectChar attribute="Comment" char="#" context="General Comment"/>
|
||||
|
||||
<DetectChar attribute="Delimiter" char="[" context="#stay"/>
|
||||
<DetectChar attribute="Delimiter" char="]" context="check_div_1"/>
|
||||
<DetectChar attribute="Delimiter" char="{" context="#stay" beginRegion="def block"/>
|
||||
<DetectChar attribute="Delimiter" char="}" context="check_div_1" endRegion="def block"/>
|
||||
|
||||
<RegExpr attribute="Instance Variable" String="@[a-zA-Z_0-9]+" context="check_div_1"/>
|
||||
<RegExpr attribute="Class Variable" String="@@[a-zA-Z_0-9]+" context="check_div_1"/>
|
||||
|
||||
<!-- handle the different regular expression formats -->
|
||||
<DetectChar attribute="Regular Expression" char="/" context="RegEx 1"/>
|
||||
|
||||
<!-- recognize the beginning of a general delimited input format -->
|
||||
<!-- this moves to the next context to separate out the exact nature of the GDL input -->
|
||||
<RegExpr attribute="GDL input" context="find_gdl_input" String="\s*[%](?=[Qqxw]?[^\s])" beginRegion="GdlInput" />
|
||||
|
||||
<DetectChar attribute="Normal Text" char=")" context="check_div_1"/>
|
||||
<DetectIdentifier attribute="Normal Text" context="check_div_2"/>
|
||||
|
||||
</context>
|
||||
|
||||
<!-- In the following contexts, a slash character ('/') is a division operator -->
|
||||
<!-- Everywhere else, it's a regular expression delimiter -->
|
||||
|
||||
<!-- A slash is always a division operator, even if preceeded by whitespace -->
|
||||
<context name="check_div_1" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop">
|
||||
<RegExpr attribute="Normal Text" String="\s*" context="#stay"/>
|
||||
<AnyChar attribute="Operator" String="/%" context="#pop"/>
|
||||
</context>
|
||||
|
||||
<!-- Same as check_div_1, but with double pop to exit the surrounding context -->
|
||||
<context name="check_div_1_pop" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
|
||||
<RegExpr attribute="Normal Text" String="\s*" context="#stay"/>
|
||||
<AnyChar attribute="Operator" String="/%" context="#pop#pop"/>
|
||||
</context>
|
||||
|
||||
<!-- A slash is division operator if it's the first character, or if preceeded and followed by whitespace -->
|
||||
<context name="check_div_2" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop">
|
||||
<AnyChar attribute="Operator" String="/%" context="#pop"/>
|
||||
<RegExpr attribute="Normal Text" String="\s+" context="check_div_2_internal"/>
|
||||
</context>
|
||||
|
||||
<!-- Internal context used by check_div_2 -->
|
||||
<context name="check_div_2_internal" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
|
||||
<!-- <DetectChar attribute="Operator" char="%" context="#pop#pop"/> -->
|
||||
<RegExpr attribute="Operator" String="[/%](?=\s)" context="#pop#pop"/>
|
||||
</context>
|
||||
|
||||
<!-- Same as check_div_2, but with double pop to exit the surrounding context -->
|
||||
<context name="check_div_2_pop" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
|
||||
<AnyChar attribute="Operator" String="/%" context="#pop#pop"/>
|
||||
<RegExpr attribute="Normal Text" String="\s+" context="check_div_2_pop_internal"/>
|
||||
</context>
|
||||
|
||||
<!-- Internal context used by check_div_2_pop -->
|
||||
<context name="check_div_2_pop_internal" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop#pop" lineEndContext="#pop#pop#pop">
|
||||
<DetectChar attribute="Operator" char="%" context="#pop#pop#pop"/>
|
||||
<RegExpr attribute="Operator" String="/(?=\s)" context="#pop#pop#pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Line Continue" attribute="Normal Text" lineEndContext="#pop">
|
||||
<RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" firstNonSpace="true"/>
|
||||
<IncludeRules context="Normal"/>
|
||||
</context>
|
||||
|
||||
<context name="Find closing block brace" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Operator" char="}" context="check_div_1_pop" endRegion="def block"/>
|
||||
<IncludeRules context="Normal"/>
|
||||
</context>
|
||||
|
||||
<context name="Quoted String" attribute="String" lineEndContext="#stay">
|
||||
<StringDetect attribute="String" String="\\" context="#stay"/>
|
||||
<RegExpr attribute="String" String="\\\"" context="#stay"/>
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
|
||||
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
|
||||
<DetectChar char=""" attribute="String" context="check_div_1_pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay">
|
||||
<StringDetect attribute="String" String="\\" context="#stay"/>
|
||||
<RegExpr attribute="String" String="\\\'" context="#stay"/>
|
||||
<DetectChar char="'" attribute="Raw String" context="check_div_1_pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Command String" attribute="Command" lineEndContext="#stay">
|
||||
<StringDetect attribute="String" String="\\" context="#stay"/>
|
||||
<RegExpr attribute="String" String="\\\`" context="#stay"/>
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
|
||||
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
|
||||
<DetectChar char="`" attribute="Command" context="check_div_1_pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Embedded documentation" attribute="Blockcomment" lineEndContext="#stay">
|
||||
<RegExpr attribute="Comment" String="^=end(?:\s.*|$)" context="#pop" endRegion="comment block" column="0"/>
|
||||
</context>
|
||||
|
||||
<context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">
|
||||
<RegExpr attribute="Regular Expression" String="\\\/" context="#stay"/>
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
|
||||
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
|
||||
<RegExpr attribute="Regular Expression" String="/[uiomxn]*" context="check_div_1_pop"/>
|
||||
</context>
|
||||
|
||||
<!-- Substitutions can be nested -->
|
||||
<context name="Subst" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Substitution" char="}" context="#pop"/>
|
||||
<!-- Highlight substitution as code. -->
|
||||
<IncludeRules context="Normal"/>
|
||||
</context>
|
||||
|
||||
<context name="Short Subst" attribute="Substitution" lineEndContext="#pop">
|
||||
<!-- Check for e.g.: "#@var#@@xy" -->
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="#stay"/>
|
||||
<RegExpr attribute="Substitution" String="\w(?!\w)" context="#pop"/>
|
||||
</context>
|
||||
|
||||
<!-- This handles access of nested module classes and class methods -->
|
||||
<context name="Member Access" attribute="Member" lineEndContext="#pop">
|
||||
<!-- marks a message (being sent, not defined) -->
|
||||
<RegExpr attribute="Message" String="\.?[_a-z]\w*(\?|\!)?(?=[^\w\d\.\:])" context="check_div_2_pop"/>
|
||||
<RegExpr attribute="Message" String="\.?[_a-z]\w*(\?|\!)?" context="#stay"/>
|
||||
<RegExpr attribute="Constant" String="[A-Z]+_*(\d|[a-z])\w*(?=[^\w\d\.\:])" context="check_div_2_pop"/>
|
||||
<RegExpr attribute="Constant" String="[A-Z]+_*([0-9]|[a-z])\w*" context="#stay"/>
|
||||
<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*(?=[^\w\d\.\:])" context="check_div_2_pop"/>
|
||||
<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*" context="#stay"/>
|
||||
<Detect2Chars attribute="Operator" char=":" char1=":" context="#stay"/>
|
||||
<DetectChar attribute="Member" char="." context="#stay"/>
|
||||
|
||||
<AnyChar attribute="Operator" String="=+-*/%|&[]{}~" context="#pop"/>
|
||||
<DetectChar attribute="Comment" char="#" context="#pop"/>
|
||||
<AnyChar attribute="Normal Text" String="()\" context="#pop"/>
|
||||
<RegExpr attribute="Member" String="\W" context="#pop"/>
|
||||
</context>
|
||||
|
||||
<context name="Comment Line" attribute="Comment" lineEndContext="#pop">
|
||||
<RegExpr attribute="Comment" String="\w\:\:\s" context="RDoc Label"/>
|
||||
<keyword attribute="Alert" String="attention" context="#stay"/>
|
||||
</context>
|
||||
|
||||
<context name="General Comment" attribute="Comment" lineEndContext="#pop">
|
||||
<keyword attribute="Dec" String="attention" context="#stay"/>
|
||||
</context>
|
||||
|
||||
<context name="RDoc Label" attribute="RDoc Value" lineEndContext="#pop"/>
|
||||
|
||||
<!-- HEREDOC support
|
||||
The contexts below support both normal and indented heredocs
|
||||
-->
|
||||
<!-- here we markup the heredoc markers -->
|
||||
<context name="find_heredoc" attribute="Normal Text" lineEndContext="#pop" >
|
||||
<RegExpr attribute="Keyword" context="apostrophed_normal_heredoc" String="'(\w+)'" />
|
||||
<RegExpr attribute="Keyword" context="normal_heredoc" String=""?(\w+)"?" />
|
||||
</context>
|
||||
<context name="find_indented_heredoc" attribute="Normal Text" lineEndContext="#pop" >
|
||||
<RegExpr attribute="Keyword" context="apostrophed_indented_heredoc" String="'(\w+)'" />
|
||||
<RegExpr attribute="Keyword" context="indented_heredoc" String=""?(\w+)"?" />
|
||||
</context>
|
||||
<!-- these are the real heredoc contexts -->
|
||||
<context name="indented_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
|
||||
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
|
||||
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
|
||||
<IncludeRules context="heredoc_rules" />
|
||||
</context>
|
||||
<context name="apostrophed_indented_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
|
||||
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
|
||||
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
|
||||
</context>
|
||||
|
||||
<context name="normal_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
|
||||
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
|
||||
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
|
||||
<IncludeRules context="heredoc_rules" />
|
||||
</context>
|
||||
<context name="apostrophed_normal_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
|
||||
<!-- <RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
|
||||
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
|
||||
</context>
|
||||
|
||||
<!-- rules for heredoc types -->
|
||||
<context name="heredoc_rules" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
|
||||
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
|
||||
</context>
|
||||
|
||||
<!-- General delimited input support
|
||||
The contexts below handle the various gdl formats
|
||||
-->
|
||||
<context name="find_gdl_input" attribute="Normal Text" lineEndContext="#pop">
|
||||
|
||||
<!-- handle token arrays -->
|
||||
<RegExpr attribute="GDL input" context="gdl_token_array_1" String="w\(" />
|
||||
<RegExpr attribute="GDL input" context="gdl_token_array_2" String="w\{" />
|
||||
<RegExpr attribute="GDL input" context="gdl_token_array_3" String="w\[" />
|
||||
<RegExpr attribute="GDL input" context="gdl_token_array_4" String="w<" />
|
||||
<!-- then we handle the 'any char' format -->
|
||||
<RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" />
|
||||
|
||||
<!-- handle apostrophed strings -->
|
||||
<RegExpr attribute="GDL input" context="gdl_apostrophed_1" String="q\(" />
|
||||
<RegExpr attribute="GDL input" context="gdl_apostrophed_2" String="q\{" />
|
||||
<RegExpr attribute="GDL input" context="gdl_apostrophed_3" String="q\[" />
|
||||
<RegExpr attribute="GDL input" context="gdl_apostrophed_4" String="q<" />
|
||||
<!-- then we handle the 'any char' format -->
|
||||
<RegExpr attribute="GDL input" context="gdl_apostrophed_5" String="q([^\s\w])" />
|
||||
|
||||
<!-- handle shell commands -->
|
||||
<RegExpr attribute="GDL input" context="gdl_shell_command_1" String="x\(" />
|
||||
<RegExpr attribute="GDL input" context="gdl_shell_command_2" String="x\{" />
|
||||
<RegExpr attribute="GDL input" context="gdl_shell_command_3" String="x\[" />
|
||||
<RegExpr attribute="GDL input" context="gdl_shell_command_4" String="x<" />
|
||||
<!-- then we handle the 'any char' format -->
|
||||
<RegExpr attribute="GDL input" context="gdl_shell_command_5" String="x([^\s\w])" />
|
||||
|
||||
<!-- handle regular expressions -->
|
||||
<RegExpr attribute="GDL input" context="gdl_regexpr_1" String="r\(" />
|
||||
<RegExpr attribute="GDL input" context="gdl_regexpr_2" String="r\{" />
|
||||
<RegExpr attribute="GDL input" context="gdl_regexpr_3" String="r\[" />
|
||||
<RegExpr attribute="GDL input" context="gdl_regexpr_4" String="r<" />
|
||||
<!-- then we handle the 'any char' format -->
|
||||
<RegExpr attribute="GDL input" context="gdl_regexpr_5" String="r([^\s\w])" />
|
||||
|
||||
<!-- handle double-quoted strings -->
|
||||
<!--
|
||||
be careful to make this the last GDL ruleset, because the rule for
|
||||
the short form %?foo? will otherwise catch any of the other formats
|
||||
-->
|
||||
<RegExpr attribute="GDL input" context="gdl_dq_string_1" String="Q?\(" />
|
||||
<RegExpr attribute="GDL input" context="gdl_dq_string_2" String="Q?\{" />
|
||||
<RegExpr attribute="GDL input" context="gdl_dq_string_3" String="Q?\[" />
|
||||
<RegExpr attribute="GDL input" context="gdl_dq_string_4" String="Q?<" />
|
||||
<!-- then we handle the 'any char' format -->
|
||||
<RegExpr attribute="GDL input" context="gdl_dq_string_5" String="Q?([^\s\w])" />
|
||||
|
||||
</context>
|
||||
<!-- double-quoted string specific contexts follow -->
|
||||
<context name="gdl_dq_string_1" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
|
||||
<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_dq_string_1_nested" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
|
||||
<DetectChar attribute="String" context="#pop" char=")" />
|
||||
</context>
|
||||
<!-- note that here substitution should win over nesting -->
|
||||
<context name="gdl_dq_string_2" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
|
||||
<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
|
||||
</context>
|
||||
<context name="gdl_dq_string_2_nested" attribute="String" lineEndContext="#stay" >
|
||||
<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
|
||||
<DetectChar attribute="String" context="#pop" char="}" />
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_dq_string_3" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
|
||||
<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_dq_string_3_nested" attribute="String" lineEndContext="#stay" >
|
||||
<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
|
||||
<DetectChar attribute="String" context="#pop" char="]" />
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_dq_string_4" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1=">" context="#stay"/>
|
||||
<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="<" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_dq_string_4_nested" attribute="String" lineEndContext="#stay" >
|
||||
<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="<" />
|
||||
<DetectChar attribute="String" context="#pop" char=">" />
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
</context>
|
||||
|
||||
<!-- this format doesn't allow nesting. it is terminated by the next occurence of the
|
||||
delimiter character
|
||||
-->
|
||||
<context name="gdl_dq_string_5" attribute="String" lineEndContext="#stay" dynamic="true">
|
||||
<IncludeRules context="dq_string_rules" />
|
||||
<RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true" />
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
|
||||
</context>
|
||||
<!-- rules to be included in all dq_string contexts -->
|
||||
<context name="dq_string_rules" attribute="String" lineEndContext="#stay" >
|
||||
<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
|
||||
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
|
||||
</context>
|
||||
|
||||
<!-- token array specific contexts -->
|
||||
|
||||
<context name="gdl_token_array_1" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
|
||||
<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_token_array_1_nested" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
|
||||
<DetectChar attribute="String" context="#pop" char=")" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_token_array_2" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
|
||||
<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
|
||||
</context>
|
||||
<context name="gdl_token_array_2_nested" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
|
||||
<DetectChar attribute="String" context="#pop" char="}" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_token_array_3" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
|
||||
<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_token_array_3_nested" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
|
||||
<DetectChar attribute="String" context="#pop" char="]" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_token_array_4" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<Detect2Chars attribute="String" char="\" char1=">" context="#stay"/>
|
||||
<DetectChar attribute="String" context="gdl_token_array_4_nested" char="<" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_token_array_4_nested" attribute="String" lineEndContext="#stay" >
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<DetectChar attribute="String" context="gdl_token_array_4_nested" char="<" />
|
||||
<DetectChar attribute="String" context="#pop" char=">" />
|
||||
</context>
|
||||
|
||||
<!-- this format doesn't allow nesting. it is terminated by the next occurence of the
|
||||
delimiter character
|
||||
-->
|
||||
<context name="gdl_token_array_5" attribute="String" lineEndContext="#stay" dynamic="true">
|
||||
<IncludeRules context="token_array_rules" />
|
||||
<RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true"/>
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
|
||||
</context>
|
||||
|
||||
<!-- rules to be included in all token_array contexts -->
|
||||
<context name="token_array_rules" attribute="String" lineEndContext="#stay" >
|
||||
<StringDetect attribute="String" String="\\" context="#stay"/>
|
||||
</context>
|
||||
|
||||
<!-- apostrophed string specific contexts -->
|
||||
|
||||
<context name="gdl_apostrophed_1" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<Detect2Chars attribute="Raw String" char="\" char1=")" context="#stay"/>
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_apostrophed_1_nested" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
|
||||
<DetectChar attribute="Raw String" context="#pop" char=")" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_apostrophed_2" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<Detect2Chars attribute="Raw String" char="\" char1="}" context="#stay"/>
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
|
||||
</context>
|
||||
<context name="gdl_apostrophed_2_nested" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
|
||||
<DetectChar attribute="Raw String" context="#pop" char="}" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_apostrophed_3" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<Detect2Chars attribute="Raw String" char="\" char1="]" context="#stay"/>
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_apostrophed_3_nested" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
|
||||
<DetectChar attribute="Raw String" context="#pop" char="]" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_apostrophed_4" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<Detect2Chars attribute="Raw String" char="\" char1=">" context="#stay"/>
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="<" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_apostrophed_4_nested" attribute="Raw String" lineEndContext="#stay" >
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="<" />
|
||||
<DetectChar attribute="Raw String" context="#pop" char=">" />
|
||||
</context>
|
||||
|
||||
<!-- this format doesn't allow nesting. it is terminated by the next occurence of the
|
||||
delimiter character
|
||||
-->
|
||||
<context name="gdl_apostrophed_5" attribute="Raw String" lineEndContext="#stay" dynamic="true">
|
||||
<IncludeRules context="apostrophed_rules" />
|
||||
<RegExpr attribute="Raw String" String="\\%1" context="#stay" dynamic="true"/>
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
|
||||
</context>
|
||||
|
||||
<!-- rules to be included in all apostrophed contexts -->
|
||||
<context name="apostrophed_rules" attribute="Raw String" lineEndContext="#stay" >
|
||||
<Detect2Chars attribute="Raw String" char="\" char1="\" context="#stay"/>
|
||||
</context>
|
||||
|
||||
<!-- shell command specific contexts -->
|
||||
|
||||
<context name="gdl_shell_command_1" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<Detect2Chars attribute="Command" char="\" char1=")" context="#stay"/>
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_shell_command_1_nested" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
|
||||
<DetectChar attribute="Command" context="#pop" char=")" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_shell_command_2" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<Detect2Chars attribute="Command" char="\" char1="}" context="#stay"/>
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
|
||||
</context>
|
||||
<context name="gdl_shell_command_2_nested" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
|
||||
<DetectChar attribute="Command" context="#pop" char="}" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_shell_command_3" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<Detect2Chars attribute="Command" char="\" char1="]" context="#stay"/>
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_shell_command_3_nested" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
|
||||
<DetectChar attribute="Command" context="#pop" char="]" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_shell_command_4" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<Detect2Chars attribute="Command" char="\" char1=">" context="#stay"/>
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="<" />
|
||||
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_shell_command_4_nested" attribute="Command" lineEndContext="#stay" >
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="<" />
|
||||
<DetectChar attribute="Command" context="#pop" char=">" />
|
||||
</context>
|
||||
|
||||
<!-- this format doesn't allow nesting. it is terminated by the next occurence of the
|
||||
delimiter character
|
||||
-->
|
||||
<context name="gdl_shell_command_5" attribute="Command" lineEndContext="#stay" dynamic="true">
|
||||
<IncludeRules context="shell_command_rules" />
|
||||
<RegExpr attribute="Command" String="\\%1" context="#stay" dynamic="true" />
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
|
||||
</context>
|
||||
|
||||
<!-- rules to be included in all shell_command contexts -->
|
||||
<context name="shell_command_rules" attribute="Command" lineEndContext="#stay" >
|
||||
<Detect2Chars attribute="Command" char="\" char1="\" context="#stay"/>
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
|
||||
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
|
||||
</context>
|
||||
|
||||
<!-- regular expression specific contexts -->
|
||||
|
||||
<context name="gdl_regexpr_1" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<Detect2Chars attribute="Regular Expression" char="\" char1=")" context="#stay"/>
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\)[uiomxn]*" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_regexpr_1_nested" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
|
||||
<DetectChar attribute="Regular Expression" context="#pop" char=")" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_regexpr_2" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<Detect2Chars attribute="Regular Expression" char="\" char1="}" context="#stay"/>
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\}[uiomxn]*" endRegion="GdlInput" />
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
|
||||
</context>
|
||||
<context name="gdl_regexpr_2_nested" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
|
||||
<DetectChar attribute="Regular Expression" context="#pop" char="}" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_regexpr_3" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<Detect2Chars attribute="Regular Expression" char="\" char1="]" context="#stay"/>
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\][uiomxn]*" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_regexpr_3_nested" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
|
||||
<DetectChar attribute="Regular Expression" context="#pop" char="]" />
|
||||
</context>
|
||||
|
||||
<context name="gdl_regexpr_4" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<Detect2Chars attribute="Regular Expression" char="\" char1=">" context="#stay"/>
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="<" />
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String=">[uiomxn]*" endRegion="GdlInput" />
|
||||
</context>
|
||||
<context name="gdl_regexpr_4_nested" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="<" />
|
||||
<DetectChar attribute="Regular Expression" context="#pop" char=">" />
|
||||
</context>
|
||||
|
||||
<!-- this format doesn't allow nesting. it is terminated by the next occurence of the
|
||||
delimiter character
|
||||
-->
|
||||
<context name="gdl_regexpr_5" attribute="Regular Expression" lineEndContext="#stay" dynamic="true">
|
||||
<IncludeRules context="regexpr_rules" />
|
||||
<RegExpr attribute="Regular Expression" String="\\%1" context="#stay" dynamic="true" />
|
||||
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1[uiomxn]*" dynamic="true" endRegion="GdlInput" />
|
||||
</context>
|
||||
|
||||
<!-- rules to be included in all regexpr contexts -->
|
||||
<context name="regexpr_rules" attribute="Regular Expression" lineEndContext="#stay" >
|
||||
<Detect2Chars attribute="Regular Expression" char="\" char1="\" context="#stay"/>
|
||||
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
|
||||
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
|
||||
</context>
|
||||
|
||||
<!-- END of General delimited input support -->
|
||||
|
||||
<!-- handle data in script -->
|
||||
<context name="DATA" attribute="Data" lineEndContext="#stay"/>
|
||||
</contexts>
|
||||
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Attribute Definition" defStyleNum="dsOthers"/>
|
||||
<itemData name="Access Control" defStyleNum="dsKeyword" color="#0000FF"/>
|
||||
<itemData name="Definition" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Pseudo variable" defStyleNum="dsDecVal"/>
|
||||
|
||||
<itemData name="Dec" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="Char" defStyleNum="dsChar"/>
|
||||
<itemData name="Octal" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Hex" defStyleNum="dsBaseN"/>
|
||||
<itemData name="Bin" defStyleNum="dsBaseN"/>
|
||||
|
||||
<itemData name="Symbol" defStyleNum="dsString" color="#D40000"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="Raw String" defStyleNum="dsString" color="#DD4A4A" selColor="#DD4A4A"/>
|
||||
<itemData name="Command" defStyleNum="dsString" color="#AA3000"/>
|
||||
<itemData name="Message" defStyleNum="dsNormal" color="#4000A7"/> <!-- #4A00C0 -->
|
||||
<itemData name="Regular Expression" defStyleNum="dsOthers" color="#4A5704"/>
|
||||
<itemData name="Substitution" defStyleNum="dsOthers"/>
|
||||
<itemData name="Data" defStyleNum="dsNormal"/>
|
||||
<!-- short for 'general delimited input' -->
|
||||
<itemData name="GDL input" defStyleNum="dsOthers" />
|
||||
|
||||
<itemData name="Default globals" defStyleNum="dsDataType" color="#C00000" bold="1"/>
|
||||
<itemData name="Global Variable" defStyleNum="dsDataType" color="#C00000"/>
|
||||
<itemData name="Global Constant" defStyleNum="dsDataType" color="#bb1188" bold="1"/>
|
||||
<itemData name="Constant" defStyleNum="dsDataType"/>
|
||||
<itemData name="Constant Value" defStyleNum="dsDataType" color="#bb1188"/>
|
||||
<itemData name="Kernel methods" defStyleNum="dsNormal" color="#000080" selColor="#ffffff"/> <!-- #CC0E86 -->
|
||||
<itemData name="Member" defStyleNum="dsNormal"/>
|
||||
<itemData name="Instance Variable" defStyleNum="dsOthers"/>
|
||||
<itemData name="Class Variable" defStyleNum="dsOthers"/>
|
||||
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="Blockcomment" defStyleNum="dsComment"/>
|
||||
<itemData name="Region Marker" defStyleNum="dsNormal" color="#0000ff"/>
|
||||
<itemData name="RDoc Value" defStyleNum="dsOthers"/>
|
||||
|
||||
<itemData name="Here Document" defStyleNum="dsOthers"/>
|
||||
|
||||
<!-- use these to mark errors and alerts things -->
|
||||
<itemData name="Error" defStyleNum="dsError" />
|
||||
<itemData name="Alert" defStyleNum="dsAlert" />
|
||||
|
||||
<itemData name="Delimiter" defStyleNum="dsNormal" color="#FF9FEC"/>
|
||||
<itemData name="Expression" defStyleNum="dsOthers"/>
|
||||
<itemData name="Operator" defStyleNum="dsNormal" color="#FF9FEC"/>
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="#"/>
|
||||
</comments>
|
||||
<keywords casesensitive="1" weakDeliminator="!?"/>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,951 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<!-- Oracle10g SQL and PL/SQL syntax - ANSI SQL 2003 superset -->
|
||||
<!-- This file is maintained by Anders Lund <anders@alweb.dk> since 2005-11-06 -->
|
||||
<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
|
||||
<language name="SQL" version="1.13" kateversion="2.4" section="Database" extensions="*.sql;*.SQL" mimetype="text/x-sql" casesensitive="0" author="Yury Lebedev (yurylebedev@mail.ru)" license="LGPL">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> ACCESS </item>
|
||||
<item> ACCOUNT </item>
|
||||
<item> ADD </item>
|
||||
<item> ADMIN </item>
|
||||
<item> ADMINISTER </item>
|
||||
<item> ADVISE </item>
|
||||
<item> AFTER </item>
|
||||
<item> AGENT </item>
|
||||
<item> ALL </item>
|
||||
<item> ALL_ROWS </item>
|
||||
<item> ALLOCATE </item>
|
||||
<item> ALTER </item>
|
||||
<item> ANALYZE </item>
|
||||
<item> ANCILLARY </item>
|
||||
<item> AND </item>
|
||||
<item> ANY </item>
|
||||
<item> ARCHIVE </item>
|
||||
<item> ARCHIVELOG </item>
|
||||
<item> AS </item>
|
||||
<item> ASC </item>
|
||||
<item> ASSERTION </item>
|
||||
<item> ASSOCIATE </item>
|
||||
<item> AT </item>
|
||||
<item> ATTRIBUTE </item>
|
||||
<item> ATTRIBUTES </item>
|
||||
<item> AUDIT </item>
|
||||
<item> AUTHENTICATED </item>
|
||||
<item> AUTHID </item>
|
||||
<item> AUTHORIZATION </item>
|
||||
<item> AUTOALLOCATE </item>
|
||||
<item> AUTOEXTEND </item>
|
||||
<item> AUTOMATIC </item>
|
||||
<item> BACKUP </item>
|
||||
<item> BECOME </item>
|
||||
<item> BEFORE </item>
|
||||
<item> BEGIN </item>
|
||||
<item> BEHALF </item>
|
||||
<item> BETWEEN </item>
|
||||
<item> BINDING </item>
|
||||
<item> BITMAP </item>
|
||||
<item> BLOCK </item>
|
||||
<item> BLOCK_RANGE </item>
|
||||
<item> BODY </item>
|
||||
<item> BOUND </item>
|
||||
<item> BOTH </item>
|
||||
<item> BREAK </item>
|
||||
<item> BROADCAST </item>
|
||||
<item> BTITLE </item>
|
||||
<item> BUFFER_POOL </item>
|
||||
<item> BUILD </item>
|
||||
<item> BULK </item>
|
||||
<item> BY </item>
|
||||
<item> CACHE </item>
|
||||
<item> CACHE_INSTANCES </item>
|
||||
<item> CALL </item>
|
||||
<item> CANCEL </item>
|
||||
<item> CASCADE </item>
|
||||
<item> CASE </item>
|
||||
<item> CATEGORY </item>
|
||||
<item> CHAINED </item>
|
||||
<item> CHANGE </item>
|
||||
<item> CHECK </item>
|
||||
<item> CHECKPOINT </item>
|
||||
<item> CHILD </item>
|
||||
<item> CHOOSE </item>
|
||||
<item> CHUNK </item>
|
||||
<item> CLASS </item>
|
||||
<item> CLEAR </item>
|
||||
<item> CLONE </item>
|
||||
<item> CLOSE </item>
|
||||
<item> CLOSE_CACHED_OPEN_CURSORS </item>
|
||||
<item> CLUSTER </item>
|
||||
<item> COALESCE </item>
|
||||
<item> COLUMN </item>
|
||||
<item> COLUMNS </item>
|
||||
<item> COLUMN_VALUE </item>
|
||||
<item> COMMENT </item>
|
||||
<item> COMMIT </item>
|
||||
<item> COMMITTED </item>
|
||||
<item> COMPATIBILITY </item>
|
||||
<item> COMPILE </item>
|
||||
<item> COMPLETE </item>
|
||||
<item> COMPOSITE_LIMIT </item>
|
||||
<item> COMPRESS </item>
|
||||
<item> COMPUTE </item>
|
||||
<item> CONNECT </item>
|
||||
<item> CONNECT_TIME </item>
|
||||
<item> CONSIDER </item>
|
||||
<item> CONSISTENT </item>
|
||||
<item> CONSTANT </item>
|
||||
<item> CONSTRAINT </item>
|
||||
<item> CONSTRAINTS </item>
|
||||
<item> CONTAINER </item>
|
||||
<item> CONTENTS </item>
|
||||
<item> CONTEXT </item>
|
||||
<item> CONTINUE </item>
|
||||
<item> CONTROLFILE </item>
|
||||
<item> COPY </item>
|
||||
<item> COST </item>
|
||||
<item> CPU_PER_CALL </item>
|
||||
<item> CPU_PER_SESSION </item>
|
||||
<item> CREATE </item>
|
||||
<item> CREATE_STORED_OUTLINES </item>
|
||||
<item> CROSS </item>
|
||||
<item> CUBE </item>
|
||||
<item> CURRENT </item>
|
||||
<item> CURSOR </item>
|
||||
<item> CYCLE </item>
|
||||
<item> DANGLING </item>
|
||||
<item> DATA </item>
|
||||
<item> DATABASE </item>
|
||||
<item> DATAFILE </item>
|
||||
<item> DATAFILES </item>
|
||||
<item> DBA </item>
|
||||
<item> DDL </item>
|
||||
<item> DEALLOCATE </item>
|
||||
<item> DEBUG </item>
|
||||
<item> DECLARE </item>
|
||||
<item> DEFAULT </item>
|
||||
<item> DEFERRABLE </item>
|
||||
<item> DEFERRED </item>
|
||||
<item> DEFINER </item>
|
||||
<item> DEGREE </item>
|
||||
<item> DELETE </item>
|
||||
<item> DEMAND </item>
|
||||
<item> DESC </item>
|
||||
<item> DETERMINES </item>
|
||||
<item> DICTIONARY </item>
|
||||
<item> DIMENSION </item>
|
||||
<item> DIRECTORY </item>
|
||||
<item> DISABLE </item>
|
||||
<item> DISASSOCIATE </item>
|
||||
<item> DISCONNECT </item>
|
||||
<item> DISKGROUP </item>
|
||||
<item> DISMOUNT </item>
|
||||
<item> DISTINCT </item>
|
||||
<item> DISTRIBUTED </item>
|
||||
<item> DOMAIN </item>
|
||||
<item> DROP </item>
|
||||
<item> DYNAMIC </item>
|
||||
<item> EACH </item>
|
||||
<item> ELSE </item>
|
||||
<item> ELSIF </item>
|
||||
<item> EMPTY </item>
|
||||
<item> ENABLE </item>
|
||||
<item> END </item>
|
||||
<item> ENFORCE </item>
|
||||
<item> ENTRY </item>
|
||||
<item> ESCAPE </item>
|
||||
<item> ESTIMATE </item>
|
||||
<item> EVENTS </item>
|
||||
<item> EXCEPT </item>
|
||||
<item> EXCEPTION </item>
|
||||
<item> EXCEPTIONS </item>
|
||||
<item> EXCHANGE </item>
|
||||
<item> EXCLUDING </item>
|
||||
<item> EXCLUSIVE </item>
|
||||
<item> EXEC </item>
|
||||
<item> EXECUTE </item>
|
||||
<item> EXISTS </item>
|
||||
<item> EXPIRE </item>
|
||||
<item> EXPLAIN </item>
|
||||
<item> EXPLOSION </item>
|
||||
<item> EXTENDS </item>
|
||||
<item> EXTENT </item>
|
||||
<item> EXTENTS </item>
|
||||
<item> EXTERNALLY </item>
|
||||
<item> FAILED_LOGIN_ATTEMPTS </item>
|
||||
<item> FALSE </item>
|
||||
<item> FAST </item>
|
||||
<item> FILE </item>
|
||||
<item> FILTER </item>
|
||||
<item> FIRST_ROWS </item>
|
||||
<item> FLAGGER </item>
|
||||
<item> FLASHBACK </item>
|
||||
<item> FLUSH </item>
|
||||
<item> FOLLOWING </item>
|
||||
<item> FOR </item>
|
||||
<item> FORCE </item>
|
||||
<item> FOREIGN </item>
|
||||
<item> FREELIST </item>
|
||||
<item> FREELISTS </item>
|
||||
<item> FRESH </item>
|
||||
<item> FROM </item>
|
||||
<item> FULL </item>
|
||||
<item> FUNCTION </item>
|
||||
<item> FUNCTIONS </item>
|
||||
<item> GENERATED </item>
|
||||
<item> GLOBAL </item>
|
||||
<item> GLOBALLY </item>
|
||||
<item> GLOBAL_NAME </item>
|
||||
<item> GRANT </item>
|
||||
<item> GROUP </item>
|
||||
<item> GROUPS </item>
|
||||
<item> HASH </item>
|
||||
<item> HASHKEYS </item>
|
||||
<item> HAVING </item>
|
||||
<item> HEADER </item>
|
||||
<item> HEAP </item>
|
||||
<item> HIERARCHY </item>
|
||||
<item> HOUR </item>
|
||||
<item> ID </item>
|
||||
<item> IDENTIFIED </item>
|
||||
<item> IDENTIFIER </item>
|
||||
<item> IDGENERATORS </item>
|
||||
<item> IDLE_TIME </item>
|
||||
<item> IF </item>
|
||||
<item> IMMEDIATE </item>
|
||||
<item> IN </item>
|
||||
<item> INCLUDING </item>
|
||||
<item> INCREMENT </item>
|
||||
<item> INCREMENTAL </item>
|
||||
<item> INDEX </item>
|
||||
<item> INDEXED </item>
|
||||
<item> INDEXES </item>
|
||||
<item> INDEXTYPE </item>
|
||||
<item> INDEXTYPES </item>
|
||||
<item> INDICATOR </item>
|
||||
<item> INITIAL </item>
|
||||
<item> INITIALIZED </item>
|
||||
<item> INITIALLY </item>
|
||||
<item> INITRANS </item>
|
||||
<item> INNER </item>
|
||||
<item> INSERT </item>
|
||||
<item> INSTANCE </item>
|
||||
<item> INSTANCES </item>
|
||||
<item> INSTEAD </item>
|
||||
<item> INTERMEDIATE </item>
|
||||
<item> INTERSECT </item>
|
||||
<item> INTO </item>
|
||||
<item> INVALIDATE </item>
|
||||
<item> IS </item>
|
||||
<item> ISOLATION </item>
|
||||
<item> ISOLATION_LEVEL </item>
|
||||
<item> JAVA </item>
|
||||
<item> JOIN </item>
|
||||
<item> KEEP </item>
|
||||
<item> KEY </item>
|
||||
<item> KILL </item>
|
||||
<item> LABEL </item>
|
||||
<item> LAYER </item>
|
||||
<item> LEADING </item>
|
||||
<item> LEFT </item>
|
||||
<item> LESS </item>
|
||||
<item> LEVEL </item>
|
||||
<item> LIBRARY </item>
|
||||
<item> LIKE </item>
|
||||
<item> LIMIT </item>
|
||||
<item> LINK </item>
|
||||
<item> LIST </item>
|
||||
<item> LOCAL </item>
|
||||
<item> LOCATOR </item>
|
||||
<item> LOCK </item>
|
||||
<item> LOCKED </item>
|
||||
<item> LOGFILE </item>
|
||||
<item> LOGGING </item>
|
||||
<item> LOGICAL_READS_PER_CALL </item>
|
||||
<item> LOGICAL_READS_PER_SESSION </item>
|
||||
<item> LOGOFF </item>
|
||||
<item> LOGON </item>
|
||||
<item> LOOP </item>
|
||||
<item> MANAGE </item>
|
||||
<item> MANAGED </item>
|
||||
<item> MANAGEMENT </item>
|
||||
<item> MASTER </item>
|
||||
<item> MATERIALIZED </item>
|
||||
<item> MAXARCHLOGS </item>
|
||||
<item> MAXDATAFILES </item>
|
||||
<item> MAXEXTENTS </item>
|
||||
<item> MAXINSTANCES </item>
|
||||
<item> MAXLOGFILES </item>
|
||||
<item> MAXLOGHISTORY </item>
|
||||
<item> MAXLOGMEMBERS </item>
|
||||
<item> MAXSIZE </item>
|
||||
<item> MAXTRANS </item>
|
||||
<item> MAXVALUE </item>
|
||||
<item> METHOD </item>
|
||||
<item> MEMBER </item>
|
||||
<item> MERGE </item>
|
||||
<item> MINIMIZE </item>
|
||||
<item> MINIMUM </item>
|
||||
<item> MINEXTENTS </item>
|
||||
<item> MINUS </item>
|
||||
<item> MINUTE </item>
|
||||
<item> MINVALUE </item>
|
||||
<item> MODE </item>
|
||||
<item> MODIFY </item>
|
||||
<item> MONITORING </item>
|
||||
<item> MOUNT </item>
|
||||
<item> MOVE </item>
|
||||
<item> MOVEMENT </item>
|
||||
<item> MTS_DISPATCHERS </item>
|
||||
<item> MULTISET </item>
|
||||
<item> NAMED </item>
|
||||
<item> NATURAL </item>
|
||||
<item> NEEDED </item>
|
||||
<item> NESTED </item>
|
||||
<item> NESTED_TABLE_ID </item>
|
||||
<item> NETWORK </item>
|
||||
<item> NEVER </item>
|
||||
<item> NEW </item>
|
||||
<item> NEXT </item>
|
||||
<item> NLS_CALENDAR </item>
|
||||
<item> NLS_CHARACTERSET </item>
|
||||
<item> NLS_COMP </item>
|
||||
<item> NLS_CURRENCY </item>
|
||||
<item> NLS_DATE_FORMAT </item>
|
||||
<item> NLS_DATE_LANGUAGE </item>
|
||||
<item> NLS_ISO_CURRENCY </item>
|
||||
<item> NLS_LANG </item>
|
||||
<item> NLS_LANGUAGE </item>
|
||||
<item> NLS_NUMERIC_CHARACTERS </item>
|
||||
<item> NLS_SORT </item>
|
||||
<item> NLS_SPECIAL_CHARS </item>
|
||||
<item> NLS_TERRITORY </item>
|
||||
<item> NO </item>
|
||||
<item> NOARCHIVELOG </item>
|
||||
<item> NOAUDIT </item>
|
||||
<item> NOCACHE </item>
|
||||
<item> NOCOMPRESS </item>
|
||||
<item> NOCYCLE </item>
|
||||
<item> NOFORCE </item>
|
||||
<item> NOLOGGING </item>
|
||||
<item> NOMAXVALUE </item>
|
||||
<item> NOMINIMIZE </item>
|
||||
<item> NOMINVALUE </item>
|
||||
<item> NOMONITORING </item>
|
||||
<item> NONE </item>
|
||||
<item> NOORDER </item>
|
||||
<item> NOOVERRIDE </item>
|
||||
<item> NOPARALLEL </item>
|
||||
<item> NORELY </item>
|
||||
<item> NORESETLOGS </item>
|
||||
<item> NOREVERSE </item>
|
||||
<item> NORMAL </item>
|
||||
<item> NOSEGMENT </item>
|
||||
<item> NOSORT </item>
|
||||
<item> NOT </item>
|
||||
<item> NOTHING </item>
|
||||
<item> NOVALIDATE </item>
|
||||
<item> NOWAIT </item>
|
||||
<item> NULL </item>
|
||||
<item> NULLS </item>
|
||||
<item> OBJNO </item>
|
||||
<item> OBJNO_REUSE </item>
|
||||
<item> OF </item>
|
||||
<item> OFF </item>
|
||||
<item> OFFLINE </item>
|
||||
<item> OID </item>
|
||||
<item> OIDINDEX </item>
|
||||
<item> OLD </item>
|
||||
<item> ON </item>
|
||||
<item> ONLINE </item>
|
||||
<item> ONLY </item>
|
||||
<item> OPCODE </item>
|
||||
<item> OPEN </item>
|
||||
<item> OPERATOR </item>
|
||||
<item> OPTIMAL </item>
|
||||
<item> OPTIMIZER_GOAL </item>
|
||||
<item> OPTION </item>
|
||||
<item> OR </item>
|
||||
<item> ORDER </item>
|
||||
<item> ORGANIZATION </item>
|
||||
<item> OUT </item>
|
||||
<item> OUTER </item>
|
||||
<item> OUTLINE </item>
|
||||
<item> OVER </item>
|
||||
<item> OVERFLOW </item>
|
||||
<item> OVERLAPS </item>
|
||||
<item> OWN </item>
|
||||
<item> PACKAGE </item>
|
||||
<item> PACKAGES </item>
|
||||
<item> PARALLEL </item>
|
||||
<item> PARAMETERS </item>
|
||||
<item> PARENT </item>
|
||||
<item> PARTITION </item>
|
||||
<item> PARTITIONS </item>
|
||||
<item> PARTITION_HASH </item>
|
||||
<item> PARTITION_RANGE </item>
|
||||
<item> PASSWORD </item>
|
||||
<item> PASSWORD_GRACE_TIME </item>
|
||||
<item> PASSWORD_LIFE_TIME </item>
|
||||
<item> PASSWORD_LOCK_TIME </item>
|
||||
<item> PASSWORD_REUSE_MAX </item>
|
||||
<item> PASSWORD_REUSE_TIME </item>
|
||||
<item> PASSWORD_VERIFY_FUNCTION </item>
|
||||
<item> PCTFREE </item>
|
||||
<item> PCTINCREASE </item>
|
||||
<item> PCTTHRESHOLD </item>
|
||||
<item> PCTUSED </item>
|
||||
<item> PCTVERSION </item>
|
||||
<item> PERCENT </item>
|
||||
<item> PERMANENT </item>
|
||||
<item> PLAN </item>
|
||||
<item> PLSQL_DEBUG </item>
|
||||
<item> POST_TRANSACTION </item>
|
||||
<item> PREBUILT </item>
|
||||
<item> PRECEDING </item>
|
||||
<item> PREPARE </item>
|
||||
<item> PRESENT </item>
|
||||
<item> PRESERVE </item>
|
||||
<item> PREVIOUS </item>
|
||||
<item> PRIMARY </item>
|
||||
<item> PRIOR </item>
|
||||
<item> PRIVATE </item>
|
||||
<item> PRIVATE_SGA </item>
|
||||
<item> PRIVILEGE </item>
|
||||
<item> PRIVILEGES </item>
|
||||
<item> PROCEDURE </item>
|
||||
<item> PROFILE </item>
|
||||
<item> PUBLIC </item>
|
||||
<item> PURGE </item>
|
||||
<item> QUERY </item>
|
||||
<item> QUEUE </item>
|
||||
<item> QUOTA </item>
|
||||
<item> RANDOM </item>
|
||||
<item> RANGE </item>
|
||||
<item> RBA </item>
|
||||
<item> READ </item>
|
||||
<item> READS </item>
|
||||
<item> REBUILD </item>
|
||||
<item> RECORDS_PER_BLOCK </item>
|
||||
<item> RECOVER </item>
|
||||
<item> RECOVERABLE </item>
|
||||
<item> RECOVERY </item>
|
||||
<item> RECYCLE </item>
|
||||
<item> REDUCED </item>
|
||||
<item> REFERENCES </item>
|
||||
<item> REFERENCING </item>
|
||||
<item> REFRESH </item>
|
||||
<item> RELY </item>
|
||||
<item> RENAME </item>
|
||||
<item> REPLACE </item>
|
||||
<item> RESET </item>
|
||||
<item> RESETLOGS </item>
|
||||
<item> RESIZE </item>
|
||||
<item> RESOLVE </item>
|
||||
<item> RESOLVER </item>
|
||||
<item> RESOURCE </item>
|
||||
<item> RESTRICT </item>
|
||||
<item> RESTRICTED </item>
|
||||
<item> RESUME </item>
|
||||
<item> RETURN </item>
|
||||
<item> RETURNING </item>
|
||||
<item> REUSE </item>
|
||||
<item> REVERSE </item>
|
||||
<item> REVOKE </item>
|
||||
<item> REWRITE </item>
|
||||
<item> RIGHT </item>
|
||||
<item> ROLE </item>
|
||||
<item> ROLES </item>
|
||||
<item> ROLLBACK </item>
|
||||
<item> ROLLUP </item>
|
||||
<item> ROW </item>
|
||||
<item> ROWNUM </item>
|
||||
<item> ROWS </item>
|
||||
<item> RULE </item>
|
||||
<item> SAMPLE </item>
|
||||
<item> SAVEPOINT </item>
|
||||
<item> SCAN </item>
|
||||
<item> SCAN_INSTANCES </item>
|
||||
<item> SCHEMA </item>
|
||||
<item> SCN </item>
|
||||
<item> SCOPE </item>
|
||||
<item> SD_ALL </item>
|
||||
<item> SD_INHIBIT </item>
|
||||
<item> SD_SHOW </item>
|
||||
<item> SEGMENT </item>
|
||||
<item> SEG_BLOCK </item>
|
||||
<item> SEG_FILE </item>
|
||||
<item> SELECT </item>
|
||||
<item> SELECTIVITY </item>
|
||||
<item> SEQUENCE </item>
|
||||
<item> SERIALIZABLE </item>
|
||||
<item> SERVERERROR </item>
|
||||
<item> SESSION </item>
|
||||
<item> SESSION_CACHED_CURSORS </item>
|
||||
<item> SESSIONS_PER_USER </item>
|
||||
<item> SET </item>
|
||||
<item> SHARE </item>
|
||||
<item> SHARED </item>
|
||||
<item> SHARED_POOL </item>
|
||||
<item> SHRINK </item>
|
||||
<item> SHUTDOWN </item>
|
||||
<item> SINGLETASK </item>
|
||||
<item> SIZE </item>
|
||||
<item> SKIP </item>
|
||||
<item> SKIP_UNUSABLE_INDEXES </item>
|
||||
<item> SNAPSHOT </item>
|
||||
<item> SOME </item>
|
||||
<item> SORT </item>
|
||||
<item> SOURCE </item>
|
||||
<item> SPECIFICATION </item>
|
||||
<item> SPLIT </item>
|
||||
<item> SQL_TRACE </item>
|
||||
<item> STANDBY </item>
|
||||
<item> START </item>
|
||||
<item> STARTUP </item>
|
||||
<item> STATEMENT_ID </item>
|
||||
<item> STATISTICS </item>
|
||||
<item> STATIC </item>
|
||||
<item> STOP </item>
|
||||
<item> STORAGE </item>
|
||||
<item> STORE </item>
|
||||
<item> STRUCTURE </item>
|
||||
<item> SUBMULTISET </item>
|
||||
<item> SUBPARTITION </item>
|
||||
<item> SUBPARTITIONS </item>
|
||||
<item> SUCCESSFUL </item>
|
||||
<item> SUMMARY </item>
|
||||
<item> SUPPLEMENTAL </item>
|
||||
<item> SUSPEND </item>
|
||||
<item> SWITCH </item>
|
||||
<item> SYS_OP_BITVEC </item>
|
||||
<item> SYS_OP_ENFORCE_NOT_NULL$ </item>
|
||||
<item> SYS_OP_NOEXPAND </item>
|
||||
<item> SYS_OP_NTCIMG$ </item>
|
||||
<item> SYNONYM </item>
|
||||
<item> SYSDBA </item>
|
||||
<item> SYSOPER </item>
|
||||
<item> SYSTEM </item>
|
||||
<item> TABLE </item>
|
||||
<item> TABLES </item>
|
||||
<item> TABLESPACE </item>
|
||||
<item> TABLESPACE_NO </item>
|
||||
<item> TABNO </item>
|
||||
<item> TEMPFILE </item>
|
||||
<item> TEMPORARY </item>
|
||||
<item> THAN </item>
|
||||
<item> THE </item>
|
||||
<item> THEN </item>
|
||||
<item> THREAD </item>
|
||||
<item> THROUGH </item>
|
||||
<item> TIMEOUT </item>
|
||||
<item> TIMEZONE_HOUR </item>
|
||||
<item> TIMEZONE_MINUTE </item>
|
||||
<item> TIME_ZONE </item>
|
||||
<item> TO </item>
|
||||
<item> TOPLEVEL </item>
|
||||
<item> TRACE </item>
|
||||
<item> TRACING </item>
|
||||
<item> TRAILING </item>
|
||||
<item> TRANSACTION </item>
|
||||
<item> TRANSITIONAL </item>
|
||||
<item> TRIGGER </item>
|
||||
<item> TRIGGERS </item>
|
||||
<item> TRUE </item>
|
||||
<item> TRUNCATE </item>
|
||||
<item> TYPE </item>
|
||||
<item> TYPES </item>
|
||||
<item> UNARCHIVED </item>
|
||||
<item> UNBOUND </item>
|
||||
<item> UNBOUNDED </item>
|
||||
<item> UNDO </item>
|
||||
<item> UNIFORM </item>
|
||||
<item> UNION </item>
|
||||
<item> UNIQUE </item>
|
||||
<item> UNLIMITED </item>
|
||||
<item> UNLOCK </item>
|
||||
<item> UNRECOVERABLE </item>
|
||||
<item> UNTIL </item>
|
||||
<item> UNUSABLE </item>
|
||||
<item> UNUSED </item>
|
||||
<item> UPD_INDEXES </item>
|
||||
<item> UPDATABLE </item>
|
||||
<item> UPDATE </item>
|
||||
<item> UPPPER </item>
|
||||
<item> USAGE </item>
|
||||
<item> USE </item>
|
||||
<item> USE_STORED_OUTLINES </item>
|
||||
<item> USER_DEFINED </item>
|
||||
<item> USING </item>
|
||||
<item> VALIDATE </item>
|
||||
<item> VALIDATION </item>
|
||||
<item> VALUES </item>
|
||||
<item> VIEW </item>
|
||||
<item> WHEN </item>
|
||||
<item> WHENEVER </item>
|
||||
<item> WHERE </item>
|
||||
<item> WITH </item>
|
||||
<item> WITHOUT </item>
|
||||
<item> WORK </item>
|
||||
<item> WRITE </item>
|
||||
</list>
|
||||
<list name="operators">
|
||||
<item> + </item>
|
||||
<item> - </item>
|
||||
<item> * </item>
|
||||
<item> / </item>
|
||||
<item> || </item>
|
||||
<item> = </item>
|
||||
<item> != </item>
|
||||
<item> <> </item>
|
||||
<item> < </item>
|
||||
<item> <= </item>
|
||||
<item> > </item>
|
||||
<item> >= </item>
|
||||
<item> ~= </item>
|
||||
<item> ^= </item>
|
||||
<item> := </item>
|
||||
<item> => </item>
|
||||
<item> ** </item>
|
||||
<item> .. </item>
|
||||
</list>
|
||||
<list name="functions">
|
||||
<item> ABS </item>
|
||||
<item> ACOS </item>
|
||||
<item> ADD_MONTHS </item>
|
||||
<item> ASCII </item>
|
||||
<item> ASCIISTR </item>
|
||||
<item> ASIN </item>
|
||||
<item> ATAN </item>
|
||||
<item> ATAN2 </item>
|
||||
<item> AVG </item>
|
||||
<item> BFILENAME </item>
|
||||
<item> BIN_TO_NUM </item>
|
||||
<item> BITAND </item>
|
||||
<item> CARDINALITY </item>
|
||||
<item> CAST </item>
|
||||
<item> CEIL </item>
|
||||
<item> CHARTOROWID </item>
|
||||
<item> CHR </item>
|
||||
<item> COALESCE </item>
|
||||
<item> COLLECT </item>
|
||||
<item> COMPOSE </item>
|
||||
<item> CONCAT </item>
|
||||
<item> CONVERT </item>
|
||||
<item> CORR </item>
|
||||
<item> CORR_K </item>
|
||||
<item> CORR_S </item>
|
||||
<item> COS </item>
|
||||
<item> COSH </item>
|
||||
<item> COUNT </item>
|
||||
<item> COVAR_POP </item>
|
||||
<item> COVAR_SAMP </item>
|
||||
<item> CUME_DIST </item>
|
||||
<item> CURRENT_DATE </item>
|
||||
<item> CURRENT_TIMESTAMP </item>
|
||||
<item> CV </item>
|
||||
<item> DBTIMEZONE </item>
|
||||
<item> DECODE </item>
|
||||
<item> DECOMPOSE </item>
|
||||
<item> DENSE_RANK </item>
|
||||
<item> DEPTH </item>
|
||||
<item> DEREF </item>
|
||||
<item> DUMP </item>
|
||||
<item> EMPTY_BLOB </item>
|
||||
<item> EMPTY_CLOB </item>
|
||||
<item> EXISTSNODE </item>
|
||||
<item> EXP </item>
|
||||
<item> EXTRACT </item>
|
||||
<item> EXTRACTVALUE </item>
|
||||
<item> FIRST </item>
|
||||
<item> FIRST_VALUE </item>
|
||||
<item> FLOOR </item>
|
||||
<item> FROM_TZ </item>
|
||||
<item> GREATEST </item>
|
||||
<item> GROUP_ID </item>
|
||||
<item> GROUPING </item>
|
||||
<item> GROUPING_ID </item>
|
||||
<item> HEXTORAW </item>
|
||||
<item> INITCAP </item>
|
||||
<item> INSTR </item>
|
||||
<item> INSTRB </item>
|
||||
<item> LAG </item>
|
||||
<item> LAST </item>
|
||||
<item> LAST_DAY </item>
|
||||
<item> LAST_VALUE </item>
|
||||
<item> LEAD </item>
|
||||
<item> LEAST </item>
|
||||
<item> LENGTH </item>
|
||||
<item> LENGTHB </item>
|
||||
<item> LN </item>
|
||||
<item> LNNVL </item>
|
||||
<item> LOCALTIMESTAMP </item>
|
||||
<item> LOG </item>
|
||||
<item> LOWER </item>
|
||||
<item> LPAD </item>
|
||||
<item> LTRIM </item>
|
||||
<item> MAKE_REF </item>
|
||||
<item> MAX </item>
|
||||
<item> MEDIAN </item>
|
||||
<item> MIN </item>
|
||||
<item> MOD </item>
|
||||
<item> MONTHS_BETWEEN </item>
|
||||
<item> NANVL </item>
|
||||
<item> NCHR </item>
|
||||
<item> NEW_TIME </item>
|
||||
<item> NEXT_DAY </item>
|
||||
<item> NLS_CHARSET_DECL_LEN </item>
|
||||
<item> NLS_CHARSET_ID </item>
|
||||
<item> NLS_CHARSET_NAME </item>
|
||||
<item> NLS_INITCAP </item>
|
||||
<item> NLS_LOWER </item>
|
||||
<item> NLS_UPPER </item>
|
||||
<item> NLSSORT </item>
|
||||
<item> NTILE </item>
|
||||
<item> NULLIF </item>
|
||||
<item> NUMTODSINTERVAL </item>
|
||||
<item> NUMTOYMINTERVAL </item>
|
||||
<item> NVL </item>
|
||||
<item> NVL2 </item>
|
||||
<item> ORA_HASH </item>
|
||||
<item> ORA_ROWSCN </item>
|
||||
<item> PERCENT_RANK </item>
|
||||
<item> PERCENTILE_CONT </item>
|
||||
<item> PERCENTILE_DISC </item>
|
||||
<item> POWER </item>
|
||||
<item> POWERMULTISET </item>
|
||||
<item> POWERMULTISET_BY_CARDINALITY </item>
|
||||
<item> PRESENTNNV </item>
|
||||
<item> PRESENTV </item>
|
||||
<item> RANK </item>
|
||||
<item> RATIO_TO_REPORT </item>
|
||||
<item> RAWTOHEX </item>
|
||||
<item> RAWTONHEX </item>
|
||||
<item> REF </item>
|
||||
<item> REFTOHEX </item>
|
||||
<item> REGEXP_INSTR </item>
|
||||
<item> REGEXP_LIKE </item>
|
||||
<item> REGEXP_REPLACE </item>
|
||||
<item> REGEXP_SUBSTR </item>
|
||||
<item> REGR_SLOPE </item>
|
||||
<item> REGR_INTERCEPT </item>
|
||||
<item> REGR_COUNT </item>
|
||||
<item> REGR_R2 </item>
|
||||
<item> REGR_AVGX </item>
|
||||
<item> REGR_AVGY </item>
|
||||
<item> REGR_SXX </item>
|
||||
<item> REGR_SYY </item>
|
||||
<item> REGR_SXY </item>
|
||||
<item> REMAINDER </item>
|
||||
<item> ROUND </item>
|
||||
<item> ROW_NUMBER </item>
|
||||
<item> ROWIDTOCHAR </item>
|
||||
<item> ROWIDTONCHAR </item>
|
||||
<item> RPAD </item>
|
||||
<item> RTRIM </item>
|
||||
<item> SCN_TO_TIMESTAMP </item>
|
||||
<item> SESSIONTIMEZONE </item>
|
||||
<item> SIGN </item>
|
||||
<item> SIN </item>
|
||||
<item> SINH </item>
|
||||
<item> SOUNDEX </item>
|
||||
<item> SQRT </item>
|
||||
<item> STATS_BINOMIAL_TEST </item>
|
||||
<item> STATS_CROSSTAB </item>
|
||||
<item> STATS_F_TEST </item>
|
||||
<item> STATS_KS_TEST </item>
|
||||
<item> STATS_MODE </item>
|
||||
<item> STATS_MW_TEST </item>
|
||||
<item> STATS_ONE_WAY_ANOVA </item>
|
||||
<item> STATS_T_TEST_ONE </item>
|
||||
<item> STATS_T_TEST_PAIRED </item>
|
||||
<item> STATS_T_TEST_INDEP </item>
|
||||
<item> STATS_T_TEST_INDEPU </item>
|
||||
<item> STATS_WSR_TEST </item>
|
||||
<item> STDDEV </item>
|
||||
<item> STDDEV_POP </item>
|
||||
<item> STDDEV_SAMP </item>
|
||||
<item> SUBSTR </item>
|
||||
<item> SUBSTRB </item>
|
||||
<item> SUM </item>
|
||||
<item> SYS_CONNECT_BY_PATH </item>
|
||||
<item> SYS_CONTEXT </item>
|
||||
<item> SYS_DBURIGEN </item>
|
||||
<item> SYS_EXTRACT_UTC </item>
|
||||
<item> SYS_GUID </item>
|
||||
<item> SYS_TYPEID </item>
|
||||
<item> SYS_XMLAGG </item>
|
||||
<item> SYS_XMLGEN </item>
|
||||
<item> SYSDATE </item>
|
||||
<item> SYSTIMESTAMP </item>
|
||||
<item> TAN </item>
|
||||
<item> TANH </item>
|
||||
<item> TIMESTAMP_TO_SCN </item>
|
||||
<item> TO_BINARY_DOUBLE </item>
|
||||
<item> TO_BINARY_FLOAT </item>
|
||||
<item> TO_CHAR </item>
|
||||
<item> TO_CLOB </item>
|
||||
<item> TO_DATE </item>
|
||||
<item> TO_DSINTERVAL </item>
|
||||
<item> TO_LOB </item>
|
||||
<item> TO_MULTI_BYTE </item>
|
||||
<item> TO_NCHAR </item>
|
||||
<item> TO_NCLOB </item>
|
||||
<item> TO_NUMBER </item>
|
||||
<item> TO_SINGLE_BYTE </item>
|
||||
<item> TO_TIMESTAMP </item>
|
||||
<item> TO_TIMESTAMP_TZ </item>
|
||||
<item> TO_YMINTERVAL </item>
|
||||
<item> TRANSLATE </item>
|
||||
<item> TREAT </item>
|
||||
<item> TRIM </item>
|
||||
<item> TRUNC </item>
|
||||
<item> TZ_OFFSET </item>
|
||||
<item> UID </item>
|
||||
<item> UNISTR </item>
|
||||
<item> UPDATEXML </item>
|
||||
<item> UPPER </item>
|
||||
<item> USER </item>
|
||||
<item> USERENV </item>
|
||||
<item> VALUE </item>
|
||||
<item> VAR_POP </item>
|
||||
<item> VAR_SAMP </item>
|
||||
<item> VARIANCE </item>
|
||||
<item> VSIZE </item>
|
||||
<item> WIDTH_BUCKET </item>
|
||||
<item> XMLAGG </item>
|
||||
<item> XMLCOLATTVAL </item>
|
||||
<item> XMLCONCAT </item>
|
||||
<item> XMLELEMENT </item>
|
||||
<item> XMLFOREST </item>
|
||||
<item> XMLSEQUENCE </item>
|
||||
<item> XMLTRANSFORM </item>
|
||||
</list>
|
||||
<list name="types">
|
||||
<item> ANYDATA </item>
|
||||
<item> ANYDATASET </item>
|
||||
<item> ANYTYPE </item>
|
||||
<item> ARRAY </item>
|
||||
<item> BFILE </item>
|
||||
<item> BINARY_DOUBLE </item>
|
||||
<item> BINARY_FLOAT </item>
|
||||
<item> BINARY_INTEGER </item>
|
||||
<item> BLOB </item>
|
||||
<item> BOOLEAN </item>
|
||||
<item> CFILE </item>
|
||||
<item> CHAR </item>
|
||||
<item> CHARACTER </item>
|
||||
<item> CLOB </item>
|
||||
<item> DATE </item>
|
||||
<item> DAY </item>
|
||||
<item> DBURITYPE </item>
|
||||
<item> DEC </item>
|
||||
<item> DECIMAL </item>
|
||||
<item> DOUBLE </item>
|
||||
<item> FLOAT </item>
|
||||
<item> FLOB </item>
|
||||
<item> HTTPURITYPE </item>
|
||||
<item> INT </item>
|
||||
<item> INTEGER </item>
|
||||
<item> INTERVAL </item>
|
||||
<item> LOB </item>
|
||||
<item> LONG </item>
|
||||
<item> MLSLABEL </item>
|
||||
<item> MONTH </item>
|
||||
<item> NATIONAL </item>
|
||||
<item> NCHAR </item>
|
||||
<item> NCLOB </item>
|
||||
<item> NUMBER </item>
|
||||
<item> NUMERIC </item>
|
||||
<item> NVARCHAR </item>
|
||||
<item> OBJECT </item>
|
||||
<item> PLS_INTEGER </item>
|
||||
<item> PRECISION </item>
|
||||
<item> RAW </item>
|
||||
<item> RECORD </item>
|
||||
<item> REAL </item>
|
||||
<item> ROWID </item>
|
||||
<item> SECOND </item>
|
||||
<item> SINGLE </item>
|
||||
<item> SMALLINT </item>
|
||||
<item> TIME </item>
|
||||
<item> TIMESTAMP </item>
|
||||
<item> URIFACTORYTYPE </item>
|
||||
<item> URITYPE </item>
|
||||
<item> UROWID </item>
|
||||
<item> VARCHAR </item>
|
||||
<item> VARCHAR2 </item>
|
||||
<item> VARYING </item>
|
||||
<item> VARRAY </item>
|
||||
<item> XMLTYPE </item>
|
||||
<item> YEAR </item>
|
||||
<item> ZONE </item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
|
||||
<keyword attribute="Keyword" String="keywords" context="#stay"/>
|
||||
<keyword attribute="Operator" String="operators" context="#stay"/>
|
||||
<keyword attribute="Function" String="functions" context="#stay"/>
|
||||
<keyword attribute="Data Type" String="types" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%bulk_exceptions\b" insensitive="true" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%bulk_rowcount\b" insensitive="true" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%found\b" insensitive="true" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%isopen\b" insensitive="true" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%notfound\b" insensitive="true" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%rowcount\b" insensitive="true" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%rowtype\b" insensitive="true" context="#stay"/>
|
||||
<RegExpr attribute="Data Type" String="%type\b" insensitive="true" context="#stay"/>
|
||||
<Float attribute="Float" context="#stay"/>
|
||||
<Int attribute="Decimal" context="#stay"/>
|
||||
<DetectChar attribute="String" context="String literal" char="'"/>
|
||||
<Detect2Chars attribute="Comment" context="Singleline PL/SQL-style comment" char="-" char1="-"/>
|
||||
<Detect2Chars attribute="Comment" context="Multiline C-style comment" char="/" char1="*"/>
|
||||
<RegExpr attribute="Comment" context="SQL*Plus remark directive" String="^rem\b" insensitive="true" column="0"/>
|
||||
<DetectChar attribute="Identifier" context="User-defined identifier" char="""/>
|
||||
<RegExpr attribute="External Variable" context="#stay" String="(:|&&?)\w+"/>
|
||||
<RegExpr attribute="Symbol" context="#stay" String="^/$" column="0"/>
|
||||
<RegExpr attribute="Preprocessor" context="SQL*Plus directive to include file" String="^@@?[^@ \t\r\n]" column="0"/>
|
||||
</context>
|
||||
<context name="String literal" attribute="String" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="String" context="#pop" char="\" char1="'" />
|
||||
<HlCStringChar attribute="String Char" context="#stay"/>
|
||||
<RegExpr attribute="External Variable" context="#stay" String="&&?\w+"/>
|
||||
<Detect2Chars attribute="String Char" context="#stay" char="'" char1="'" />
|
||||
<DetectChar attribute="String" context="#pop" char="'"/>
|
||||
</context>
|
||||
<context name="Singleline PL/SQL-style comment" attribute="Comment" lineEndContext="#pop"/>
|
||||
<context name="Multiline C-style comment" attribute="Comment" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
|
||||
</context>
|
||||
<context name="SQL*Plus remark directive" attribute="Comment" lineEndContext="#pop"/>
|
||||
<context name="User-defined identifier" attribute="Identifier" lineEndContext="#pop">
|
||||
<DetectChar attribute="Identifier" context="#pop" char="""/>
|
||||
</context>
|
||||
<context name="SQL*Plus directive to include file" attribute="Preprocessor" lineEndContext="#pop"/>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
||||
<itemData name="Operator" defStyleNum="dsNormal"/>
|
||||
<itemData name="Function" defStyleNum="dsFunction"/>
|
||||
<itemData name="Data Type" defStyleNum="dsDataType"/>
|
||||
<itemData name="Decimal" defStyleNum="dsDecVal"/>
|
||||
<itemData name="Float" defStyleNum="dsFloat"/>
|
||||
<itemData name="String" defStyleNum="dsString"/>
|
||||
<itemData name="String Char" defStyleNum="dsChar"/>
|
||||
<itemData name="Comment" defStyleNum="dsComment"/>
|
||||
<itemData name="Identifier" defStyleNum="dsOthers"/>
|
||||
<itemData name="External Variable" defStyleNum="dsChar"/>
|
||||
<itemData name="Symbol" defStyleNum="dsChar"/>
|
||||
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="--"/>
|
||||
<comment name="multiLine" start="/*" end="*/"/>
|
||||
</comments>
|
||||
<keywords casesensitive="0" weakDeliminator="+-*/|=!<>~^:."/>
|
||||
</general>
|
||||
</language>
|
||||
@@ -1,536 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
|
||||
<!-- Authors: Alexander Dederer & JM. Philippe -->
|
||||
<!-- Copyright: BSD copyright & Irsid - Arcelor Innovation R&D -->
|
||||
<!-- Ported to Kate 2.0/ KWrite 4.0 by Joseph Wenninger (Updated by Simon Robins)-->
|
||||
<!--
|
||||
Updated by Pawel Salawa (boogie at scripts dot one dot pl)
|
||||
|
||||
Revision history:
|
||||
1.10:
|
||||
- Fixed problem with single ':' character after variable name (it's no longer variable,
|
||||
because only double-colon is namespace delimiter and can be part of variable name).
|
||||
- Fixed problem with matching quote character next to regular character, for example:
|
||||
puts {"string"}
|
||||
In that case left bracked was marked as string, but it's no longer like that.
|
||||
- Fixed problem with variable names like: ${text\}test}
|
||||
It whole is valid variable name, because of escape character.
|
||||
- Fixed problem with marking ';' character as a comment when '#' character was after the ';'.
|
||||
- Fixed problem with marking options. '-' character after word-delimiter character caused
|
||||
marking that word-delimiter character as option too, even it wasn't white-space.
|
||||
- Few other minor optimalizations.
|
||||
1.09:
|
||||
- Added fast comments support (Ctrl+d or whatever your shortcut is)
|
||||
- Fixed single-character variables detection
|
||||
- Fixed detection of varaibles with names containing serval namespace delimiters (::)
|
||||
-->
|
||||
|
||||
<language name="Tcl/Tk" version="1.10" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> after </item>
|
||||
<item> append </item>
|
||||
<item> AppleScript </item>
|
||||
<item> argv </item>
|
||||
<item> argc </item>
|
||||
<item> array </item>
|
||||
<item> auto_execk </item>
|
||||
<item> auto_load </item>
|
||||
<item> auto_mkindex </item>
|
||||
<item> auto_path </item>
|
||||
<item> auto_reset </item>
|
||||
<item> beep </item>
|
||||
<item> bell </item>
|
||||
<item> binary </item>
|
||||
<item> bind </item>
|
||||
<item> bindtags </item>
|
||||
<item> bgerror </item>
|
||||
<item> break </item>
|
||||
<item> button </item>
|
||||
<item> canvas </item>
|
||||
<item> case </item>
|
||||
<item> catch </item>
|
||||
<item> cd </item>
|
||||
<item> checkbutton </item>
|
||||
<item> clipboard </item>
|
||||
<item> clock </item>
|
||||
<item> close </item>
|
||||
<item> concat </item>
|
||||
<item> console </item>
|
||||
<item> continue </item>
|
||||
<item> dde </item>
|
||||
<item> destroy </item>
|
||||
<item> else </item>
|
||||
<item> elseif </item>
|
||||
<item> encoding </item>
|
||||
<item> entry </item>
|
||||
<item> env </item>
|
||||
<item> eof </item>
|
||||
<item> error </item>
|
||||
<item> errorCode </item>
|
||||
<item> errorInfo </item>
|
||||
<item> eval </item>
|
||||
<item> event </item>
|
||||
<item> exec </item>
|
||||
<item> exit </item>
|
||||
<item> expr </item>
|
||||
<item> fblocked </item>
|
||||
<item> fconfigure </item>
|
||||
<item> fcopy </item>
|
||||
<item> file </item>
|
||||
<item> fileevent </item>
|
||||
<item> flush </item>
|
||||
<item> focus </item>
|
||||
<item> font </item>
|
||||
<item> for </item>
|
||||
<item> foreach </item>
|
||||
<item> format </item>
|
||||
<item> frame </item>
|
||||
<item> gets </item>
|
||||
<item> glob </item>
|
||||
<item> global </item>
|
||||
<item> grab </item>
|
||||
<item> grid </item>
|
||||
<item> history </item>
|
||||
<item> if </item>
|
||||
<item> image </item>
|
||||
<item> incr </item>
|
||||
<item> info </item>
|
||||
<item> interp </item>
|
||||
<item> join </item>
|
||||
<item> label </item>
|
||||
<item> lappend </item>
|
||||
<item> lindex </item>
|
||||
<item> linsert </item>
|
||||
<item> list </item>
|
||||
<item> listbox </item>
|
||||
<item> llength </item>
|
||||
<item> load </item>
|
||||
<item> lower </item>
|
||||
<item> lrange </item>
|
||||
<item> lreplace </item>
|
||||
<item> lsearch </item>
|
||||
<item> lsort </item>
|
||||
<item> menu </item>
|
||||
<item> menubutton </item>
|
||||
<item> message </item>
|
||||
<item> namespace </item>
|
||||
<item> open </item>
|
||||
<item> option </item>
|
||||
<item> OptProc </item>
|
||||
<item> pack </item>
|
||||
<item> package </item>
|
||||
<item> parray </item>
|
||||
<item> pid </item>
|
||||
<item> place </item>
|
||||
<item> pkg_mkindex </item>
|
||||
<item> proc </item>
|
||||
<item> puts </item>
|
||||
<item> pwd </item>
|
||||
<item> radiobutton </item>
|
||||
<item> raise </item>
|
||||
<item> read </item>
|
||||
<item> regexp </item>
|
||||
<item> registry </item>
|
||||
<item> regsub </item>
|
||||
<item> rename </item>
|
||||
<item> resource </item>
|
||||
<item> return </item>
|
||||
<item> scale </item>
|
||||
<item> scan </item>
|
||||
<item> scrollbar </item>
|
||||
<item> seek </item>
|
||||
<item> selection </item>
|
||||
<item> send </item>
|
||||
<item> set </item>
|
||||
<item> socket </item>
|
||||
<item> source </item>
|
||||
<item> split </item>
|
||||
<item> string </item>
|
||||
<item> subst </item>
|
||||
<item> switch </item>
|
||||
<item> tclLog </item>
|
||||
<item> tcl_endOfWord </item>
|
||||
<item> tcl_findLibrary </item>
|
||||
<item> tcl_library </item>
|
||||
<item> tcl_patchLevel </item>
|
||||
<item> tcl_platform </item>
|
||||
<item> tcl_precision </item>
|
||||
<item> tcl_rcFileName </item>
|
||||
<item> tcl_rcRsrcName </item>
|
||||
<item> tcl_startOfNextWord </item>
|
||||
<item> tcl_startOfPreviousWord </item>
|
||||
<item> tcl_traceCompile </item>
|
||||
<item> tcl_traceExec </item>
|
||||
<item> tcl_version </item>
|
||||
<item> tcl_wordBreakAfter </item>
|
||||
<item> tcl_wordBreakBefore </item>
|
||||
<item> tell </item>
|
||||
<item> text </item>
|
||||
<item> time </item>
|
||||
<item> tk </item>
|
||||
<item> tkTabToWindow </item>
|
||||
<item> tkwait </item>
|
||||
<item> tk_chooseColor </item>
|
||||
<item> tk_chooseDirectory </item>
|
||||
<item> tk_focusFollowMouse </item>
|
||||
<item> tk_focusNext </item>
|
||||
<item> tk_focusPrev </item>
|
||||
<item> tk_getOpenFile </item>
|
||||
<item> tk_getSaveFile </item>
|
||||
<item> tk_library </item>
|
||||
<item> tk_messageBox </item>
|
||||
<item> tk_optionMenu </item>
|
||||
<item> tk_patchLevel </item>
|
||||
<item> tk_popup </item>
|
||||
<item> tk_strictMotif </item>
|
||||
<item> tk_version </item>
|
||||
<item> toplevel </item>
|
||||
<item> trace </item>
|
||||
<item> unknown </item>
|
||||
<item> unset </item>
|
||||
<item> update </item>
|
||||
<item> uplevel </item>
|
||||
<item> upvar </item>
|
||||
<item> variable </item>
|
||||
<item> vwait </item>
|
||||
<item> while </item>
|
||||
<item> winfo </item>
|
||||
<item> wm </item>
|
||||
</list>
|
||||
|
||||
<list name="keywords-opt">
|
||||
<item> add </item>
|
||||
<item> args </item>
|
||||
<item> atime </item>
|
||||
<item> attributes </item>
|
||||
<item> body </item>
|
||||
<item> bytelength </item>
|
||||
<item> cancel </item>
|
||||
<item> channels </item>
|
||||
<item> clicks </item>
|
||||
<item> cmdcount </item>
|
||||
<item> commands </item>
|
||||
<item> compare </item>
|
||||
<item> complete </item>
|
||||
<item> convertfrom </item>
|
||||
<item> convertto </item>
|
||||
<item> copy </item>
|
||||
<item> default </item>
|
||||
<item> delete </item>
|
||||
<item> dirname </item>
|
||||
<item> equal </item>
|
||||
<item> executable </item>
|
||||
<item> exists </item>
|
||||
<item> extension </item>
|
||||
<item> first </item>
|
||||
<item> forget </item>
|
||||
<item> format </item>
|
||||
<item> functions </item>
|
||||
<item> globals </item>
|
||||
<item> hostname </item>
|
||||
<item> idle </item>
|
||||
<item> ifneeded </item>
|
||||
<item> index </item>
|
||||
<item> info </item>
|
||||
<item> is </item>
|
||||
<item> isdirectory </item>
|
||||
<item> isfile </item>
|
||||
<item> join </item>
|
||||
<item> last </item>
|
||||
<item> length </item>
|
||||
<item> level </item>
|
||||
<item> library </item>
|
||||
<item> link </item>
|
||||
<item> loaded </item>
|
||||
<item> locals </item>
|
||||
<item> lstat </item>
|
||||
<item> map </item>
|
||||
<item> match </item>
|
||||
<item> mkdir </item>
|
||||
<item> mtime </item>
|
||||
<item> nameofexecutable </item>
|
||||
<item> names </item>
|
||||
<item> nativename </item>
|
||||
<item> normalize </item>
|
||||
<item> number </item>
|
||||
<item> owned </item>
|
||||
<item> patchlevel </item>
|
||||
<item> pathtype </item>
|
||||
<item> present </item>
|
||||
<item> procs </item>
|
||||
<item> provide </item>
|
||||
<item> range </item>
|
||||
<item> readable </item>
|
||||
<item> readlink </item>
|
||||
<item> remove </item>
|
||||
<item> rename </item>
|
||||
<item> repeat </item>
|
||||
<item> replace </item>
|
||||
<item> require </item>
|
||||
<item> rootname </item>
|
||||
<item> scan </item>
|
||||
<item> script </item>
|
||||
<item> seconds </item>
|
||||
<item> separator </item>
|
||||
<item> sharedlibextension </item>
|
||||
<item> size </item>
|
||||
<item> split </item>
|
||||
<item> stat </item>
|
||||
<item> system </item>
|
||||
<item> tail </item>
|
||||
<item> tclversion </item>
|
||||
<item> tolower </item>
|
||||
<item> totitle </item>
|
||||
<item> toupper </item>
|
||||
<item> trim </item>
|
||||
<item> trimleft </item>
|
||||
<item> trimright </item>
|
||||
<item> type </item>
|
||||
<item> unknown </item>
|
||||
<item> variable </item>
|
||||
<item> vars </item>
|
||||
<item> vcompare </item>
|
||||
<item> vdelete </item>
|
||||
<item> versions </item>
|
||||
<item> vinfo </item>
|
||||
<item> volumes </item>
|
||||
<item> vsatisfies </item>
|
||||
<item> wordend </item>
|
||||
<item> wordstart </item>
|
||||
<item> writable </item>
|
||||
|
||||
<item> activate </item>
|
||||
<item> actual </item>
|
||||
<item> addtag </item>
|
||||
<item> append </item>
|
||||
<item> appname </item>
|
||||
<item> aspect </item>
|
||||
<item> atom </item>
|
||||
<item> atomname </item>
|
||||
<item> bbox </item>
|
||||
<item> bind </item>
|
||||
<item> broadcast </item>
|
||||
<item> canvasx </item>
|
||||
<item> canvasy </item>
|
||||
<item> caret </item>
|
||||
<item> cells </item>
|
||||
<item> cget </item>
|
||||
<item> children </item>
|
||||
<item> class </item>
|
||||
<item> clear </item>
|
||||
<item> client </item>
|
||||
<item> clone </item>
|
||||
<item> colormapfull </item>
|
||||
<item> colormapwindows </item>
|
||||
<item> command </item>
|
||||
<item> configure </item>
|
||||
<item> containing </item>
|
||||
<item> coords </item>
|
||||
<item> create </item>
|
||||
<item> current </item>
|
||||
<item> curselection </item>
|
||||
<item> dchars </item>
|
||||
<item> debug </item>
|
||||
<item> deiconify </item>
|
||||
<item> delta </item>
|
||||
<item> depth </item>
|
||||
<item> deselect </item>
|
||||
<item> dlineinfo </item>
|
||||
<item> dtag </item>
|
||||
<item> dump </item>
|
||||
<item> edit </item>
|
||||
<item> entrycget </item>
|
||||
<item> entryconfigure </item>
|
||||
<item> families </item>
|
||||
<item> find </item>
|
||||
<item> flash </item>
|
||||
<item> focus </item>
|
||||
<item> focusmodel </item>
|
||||
<item> fpixels </item>
|
||||
<item> fraction </item>
|
||||
<item> frame </item>
|
||||
<item> generate </item>
|
||||
<item> geometry </item>
|
||||
<item> get </item>
|
||||
<item> gettags </item>
|
||||
<item> grid </item>
|
||||
<item> group </item>
|
||||
<item> handle </item>
|
||||
<item> height </item>
|
||||
<item> hide </item>
|
||||
<item> iconbitmap </item>
|
||||
<item> iconify </item>
|
||||
<item> iconmask </item>
|
||||
<item> iconname </item>
|
||||
<item> iconposition </item>
|
||||
<item> iconwindow </item>
|
||||
<item> icursor </item>
|
||||
<item> id </item>
|
||||
<item> identify </item>
|
||||
<item> image </item>
|
||||
<item> insert </item>
|
||||
<item> interps </item>
|
||||
<item> inuse </item>
|
||||
<item> invoke </item>
|
||||
<item> ismapped </item>
|
||||
<item> itemcget </item>
|
||||
<item> itemconfigure </item>
|
||||
<item> keys </item>
|
||||
<item> lower </item>
|
||||
<item> manager </item>
|
||||
<item> mark </item>
|
||||
<item> maxsize </item>
|
||||
<item> measure </item>
|
||||
<item> metrics </item>
|
||||
<item> minsize </item>
|
||||
<item> move </item>
|
||||
<item> name </item>
|
||||
<item> nearest </item>
|
||||
<item> overrideredirect </item>
|
||||
<item> own </item>
|
||||
<item> panecget </item>
|
||||
<item> paneconfigure </item>
|
||||
<item> panes </item>
|
||||
<item> parent </item>
|
||||
<item> pathname </item>
|
||||
<item> pixels </item>
|
||||
<item> pointerx </item>
|
||||
<item> pointerxy </item>
|
||||
<item> pointery </item>
|
||||
<item> positionfrom </item>
|
||||
<item> post </item>
|
||||
<item> postcascade </item>
|
||||
<item> postscript </item>
|
||||
<item> protocol </item>
|
||||
<item> proxy </item>
|
||||
<item> raise </item>
|
||||
<item> release </item>
|
||||
<item> reqheight </item>
|
||||
<item> reqwidth </item>
|
||||
<item> resizable </item>
|
||||
<item> rgb </item>
|
||||
<item> rootx </item>
|
||||
<item> rooty </item>
|
||||
<item> scale </item>
|
||||
<item> scaling </item>
|
||||
<item> screen </item>
|
||||
<item> screencells </item>
|
||||
<item> screendepth </item>
|
||||
<item> screenheight </item>
|
||||
<item> screenmmheight </item>
|
||||
<item> screenmmwidth </item>
|
||||
<item> screenvisual </item>
|
||||
<item> screenwidth </item>
|
||||
<item> search </item>
|
||||
<item> see </item>
|
||||
<item> select </item>
|
||||
<item> selection </item>
|
||||
<item> server </item>
|
||||
<item> set </item>
|
||||
<item> show </item>
|
||||
<item> sizefrom </item>
|
||||
<item> stackorder </item>
|
||||
<item> state </item>
|
||||
<item> status </item>
|
||||
<item> tag </item>
|
||||
<item> title </item>
|
||||
<item> toplevel </item>
|
||||
<item> transient </item>
|
||||
<item> types </item>
|
||||
<item> unpost </item>
|
||||
<item> useinputmethods </item>
|
||||
<item> validate </item>
|
||||
<item> values </item>
|
||||
<item> viewable </item>
|
||||
<item> visual </item>
|
||||
<item> visualid </item>
|
||||
<item> visualsavailable </item>
|
||||
<item> vrootheight </item>
|
||||
<item> vrootwidth </item>
|
||||
<item> vrootx </item>
|
||||
<item> vrooty </item>
|
||||
<item> width </item>
|
||||
<item> window </item>
|
||||
<item> windowingsystem </item>
|
||||
<item> withdraw </item>
|
||||
<item> x </item>
|
||||
<item> xview </item>
|
||||
<item> y </item>
|
||||
</list>
|
||||
|
||||
<contexts>
|
||||
<context name = "Base" attribute = "Normal Text" lineEndContext="#stay">
|
||||
|
||||
<!-- Virtual blocks -->
|
||||
<RegExpr attribute="Region Marker" context="#stay" String="#\s*BEGIN.*$" beginRegion="region" firstNonSpace="true"/>
|
||||
<RegExpr attribute="Region Marker" context="#stay" String="#\s*END.*$" endRegion="region" firstNonSpace="true"/>
|
||||
|
||||
<!-- Standard -->
|
||||
<keyword String = "keywords" attribute = "Keyword" context="#stay"/>
|
||||
<keyword String = "keywords-opt" attribute = "Parameter" context="#stay"/>
|
||||
<Float attribute = "Float" context="#stay"/>
|
||||
<Int attribute ="Decimal" context="#stay"/>
|
||||
<RegExpr String="\\." attribute = "Char" context = "#stay"/>
|
||||
|
||||
<!-- Options -->
|
||||
<RegExpr String = "\s-\w+" attribute = "Parameter" context="#stay"/>
|
||||
|
||||
<!-- Variables -->
|
||||
<RegExpr String = "\$\{([^\}]|\\\})+\}" attribute = "Variable" context="#stay"/>
|
||||
<RegExpr String = "\$(::|\w)+" attribute = "Variable" context="#stay"/>
|
||||
|
||||
<!-- Strings -->
|
||||
<RegExpr String = ""{2}" attribute = "String" context="#stay"/>
|
||||
<RegExpr String = """ attribute = "String" context="String"/>
|
||||
|
||||
<!-- Comments -->
|
||||
<DetectChar char = ";" attribute = "Normal Text" context="New command line" />
|
||||
<DetectChar char = "#" attribute = "Comment" context="Comment" firstNonSpace="true"/>
|
||||
|
||||
<!-- Braces, brackets, etc -->
|
||||
<DetectChar char = "{" attribute = "Keyword" context="#stay" beginRegion="block"/>
|
||||
<DetectChar char = "}" attribute = "Keyword" context="#stay" endRegion="block"/>
|
||||
<DetectChar char = "[" attribute = "Keyword" context="#stay"/>
|
||||
<DetectChar char = "]" attribute = "Keyword" context="#stay"/>
|
||||
|
||||
</context>
|
||||
|
||||
<context name = "String" attribute = "String" lineEndContext="#stay">
|
||||
<RegExpr String="\\." attribute = "Char" context = "#stay"/>
|
||||
<DetectChar char=""" attribute = "String" context = "#pop"/>
|
||||
<DetectChar char = "$" attribute = "Variable" context="#stay"/>
|
||||
</context>
|
||||
|
||||
<context name = "Comment" attribute = "Comment" lineEndContext="#pop"/>
|
||||
|
||||
<context name = "New command line" attribute = "Normal Text" lineEndContext="#stay">
|
||||
<RegExpr String = "\s*#" attribute="Comment" context="Comment" />
|
||||
<RegExpr String = "." attribute="Normal Text" context="#pop" lookAhead="true" />
|
||||
</context>
|
||||
</contexts>
|
||||
|
||||
<itemDatas>
|
||||
<itemData name = "Normal Text" defStyleNum = "dsNormal"/>
|
||||
<itemData name = "Keyword" defStyleNum = "dsKeyword"/>
|
||||
<itemData name = "Decimal" defStyleNum = "dsDecVal"/>
|
||||
<itemData name = "Float" defStyleNum = "dsFloat"/>
|
||||
<itemData name = "String" defStyleNum = "dsString"/>
|
||||
<itemData name = "Comment" defStyleNum = "dsComment"/>
|
||||
<itemData name = "Parameter" defStyleNum = "dsOthers"/>
|
||||
<itemData name = "Variable" defStyleNum = "dsDataType"/>
|
||||
<itemData name = "Char" defStyleNum="dsChar"/>
|
||||
<itemData name = "Region Marker" defStyleNum="dsRegionMarker"/>
|
||||
</itemDatas>
|
||||
|
||||
</highlighting>
|
||||
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="#" />
|
||||
</comments>
|
||||
<keywords casesensitive="1"/>
|
||||
</general>
|
||||
|
||||
</language>
|
||||
@@ -1,147 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd"
|
||||
[
|
||||
<!ENTITY name "[A-Za-z_:][\w.:_-]*">
|
||||
<!ENTITY entref "&(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
|
||||
]>
|
||||
<language name="XML" version="1.97" kateversion="2.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
|
||||
|
||||
<highlighting>
|
||||
<contexts>
|
||||
<context name="Start" attribute="Normal Text" lineEndContext="#stay">
|
||||
<IncludeRules context="FindXML" />
|
||||
</context>
|
||||
|
||||
<context name="FindXML" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectSpaces />
|
||||
<StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" />
|
||||
<StringDetect attribute="CDATA" context="CDATA" String="<![CDATA[" beginRegion="cdata" />
|
||||
<RegExpr attribute="Doctype" context="Doctype" String="<!DOCTYPE\s+" beginRegion="doctype" />
|
||||
<RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:_-]*" beginRegion="pi" />
|
||||
<RegExpr attribute="Element" context="Element" String="<&name;" beginRegion="element" />
|
||||
<IncludeRules context="FindEntityRefs" />
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
|
||||
<context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
|
||||
<AnyChar attribute="Error" context="#stay" String="&<" />
|
||||
</context>
|
||||
|
||||
<context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
|
||||
<RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
|
||||
<AnyChar attribute="Error" context="#stay" String="&%" />
|
||||
</context>
|
||||
|
||||
|
||||
<context name="Comment" attribute="Comment" lineEndContext="#stay">
|
||||
<DetectSpaces />
|
||||
<StringDetect attribute="Comment" context="#pop" String="-->" endRegion="comment" />
|
||||
<RegExpr attribute="Error" context="#stay" String="-(-(?!->))+" />
|
||||
<IncludeRules context="##Alerts" />
|
||||
<DetectIdentifier />
|
||||
</context>
|
||||
|
||||
<context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectSpaces />
|
||||
<DetectIdentifier />
|
||||
<StringDetect attribute="CDATA" context="#pop" String="]]>" endRegion="cdata" />
|
||||
<StringDetect attribute="EntityRef" context="#stay" String="]]&gt;" />
|
||||
</context>
|
||||
|
||||
<context name="PI" attribute="Normal Text" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1=">" endRegion="pi" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Doctype" context="#pop" char=">" endRegion="doctype" />
|
||||
<DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
|
||||
<RegExpr attribute="Doctype" context="Doctype Markupdecl" String="<!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
|
||||
<StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" />
|
||||
<RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:_-]*" beginRegion="pi" />
|
||||
<IncludeRules context="FindPEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Doctype" context="#pop" char=">" />
|
||||
<DetectChar attribute="Value" context="Doctype Markupdecl DQ" char=""" />
|
||||
<DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="'" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop" char=""" />
|
||||
<IncludeRules context="FindPEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop" char="'" />
|
||||
<IncludeRules context="FindPEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="Element" attribute="Normal Text" lineEndContext="#stay">
|
||||
<Detect2Chars attribute="Element" context="#pop" char="/" char1=">" endRegion="element" />
|
||||
<DetectChar attribute="Element" context="El Content" char=">" />
|
||||
<RegExpr attribute="Attribute" context="Attribute" String="^&name;" />
|
||||
<RegExpr attribute="Attribute" context="Attribute" String="\s+&name;" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="El Content" attribute="Normal Text" lineEndContext="#stay">
|
||||
<RegExpr attribute="Element" context="El End" String="</&name;" />
|
||||
<IncludeRules context="FindXML" />
|
||||
</context>
|
||||
|
||||
<context name="El End" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Element" context="#pop#pop#pop" char=">" endRegion="element" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="Attribute" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Attribute" context="Value" char="=" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="Value" attribute="Normal Text" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="Value DQ" char=""" />
|
||||
<DetectChar attribute="Value" context="Value SQ" char="'" />
|
||||
<RegExpr attribute="Error" context="#stay" String="\S" />
|
||||
</context>
|
||||
|
||||
<context name="Value DQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop#pop#pop" char=""" />
|
||||
<IncludeRules context="FindEntityRefs" />
|
||||
</context>
|
||||
|
||||
<context name="Value SQ" attribute="Value" lineEndContext="#stay">
|
||||
<DetectChar attribute="Value" context="#pop#pop#pop" char="'" />
|
||||
<IncludeRules context="FindEntityRefs" />
|
||||
</context>
|
||||
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal" />
|
||||
<itemData name="Comment" defStyleNum="dsComment" />
|
||||
<itemData name="CDATA" defStyleNum="dsBaseN" bold="1" />
|
||||
<itemData name="Processing Instruction" defStyleNum="dsKeyword" />
|
||||
<itemData name="Doctype" defStyleNum="dsDataType" bold="1" />
|
||||
<itemData name="Element" defStyleNum="dsKeyword" />
|
||||
<itemData name="Attribute" defStyleNum="dsOthers" />
|
||||
<itemData name="Value" defStyleNum="dsString" color="#a00" />
|
||||
<itemData name="EntityRef" defStyleNum="dsDecVal" />
|
||||
<itemData name="PEntityRef" defStyleNum="dsDecVal" />
|
||||
<itemData name="Error" defStyleNum="dsError" />
|
||||
</itemDatas>
|
||||
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="multiLine" start="<!--" end="-->" />
|
||||
</comments>
|
||||
<indentation mode="xml" />
|
||||
</general>
|
||||
</language>
|
||||
@@ -47,8 +47,6 @@
|
||||
#include <QtCore/QSharedPointer>
|
||||
#include <QtCore/QFileInfo>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
using namespace GenericEditor;
|
||||
using namespace Internal;
|
||||
|
||||
@@ -97,7 +95,7 @@ void Editor::configure()
|
||||
try {
|
||||
const QString &definitionId =
|
||||
GenericEditorPlugin::instance()->definitionIdByMimeType(mimeType);
|
||||
QSharedPointer<HighlightDefinition> definition =
|
||||
const QSharedPointer<HighlightDefinition> &definition =
|
||||
GenericEditorPlugin::instance()->definition(definitionId);
|
||||
|
||||
Highlighter *highlighter = new Highlighter(definition->initialContext());
|
||||
@@ -112,9 +110,10 @@ void Editor::configure()
|
||||
|
||||
//@todo: It's possible to specify an indenter style in the definition file. However, this
|
||||
// is not really being used because Kate recommends to configure indentation through
|
||||
// another editor feature. Maybe we should provide something similar in Creator?
|
||||
// For now the normal indenter is used.
|
||||
// another feature. Maybe we should provide something similar in Creator? For now the
|
||||
// normal indenter is used.
|
||||
m_indenter.reset(new TextEditor::NormalIndenter);
|
||||
|
||||
} catch (const HighlighterException &) {
|
||||
// No highlighter will be set.
|
||||
}
|
||||
|
||||
@@ -36,11 +36,9 @@
|
||||
#include "editorfactory.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/mimedatabase.h>
|
||||
#include <texteditor/texteditorsettings.h>
|
||||
#include <utils/qtcassert.h>
|
||||
#include <cppeditor/cppeditorconstants.h>
|
||||
#include <qmljseditor/qmljseditorconstants.h>
|
||||
#include <qtconcurrent/QtConcurrentTools>
|
||||
|
||||
#include <QtCore/QtAlgorithms>
|
||||
#include <QtCore/QtPlugin>
|
||||
@@ -53,6 +51,8 @@
|
||||
#include <QtCore/QDir>
|
||||
#include <QtCore/QList>
|
||||
#include <QtCore/QRegExp>
|
||||
#include <QtCore/QFuture>
|
||||
#include <QtCore/QtConcurrentRun>
|
||||
#include <QtXml/QXmlSimpleReader>
|
||||
#include <QtXml/QXmlInputSource>
|
||||
#include <QtXml/QXmlStreamReader>
|
||||
@@ -69,8 +69,7 @@ GenericEditorPlugin::GenericEditorPlugin() :
|
||||
QTC_ASSERT(!m_instance, return);
|
||||
m_instance = this;
|
||||
|
||||
connect(Core::ICore::instance(), SIGNAL(coreOpened()),
|
||||
this, SLOT(lookforAvailableDefinitions()));
|
||||
connect(Core::ICore::instance(), SIGNAL(coreOpened()), this, SLOT(registerMimeTypes()));
|
||||
}
|
||||
|
||||
GenericEditorPlugin::~GenericEditorPlugin()
|
||||
@@ -158,7 +157,16 @@ const QSharedPointer<HighlightDefinition> &GenericEditorPlugin::definition(const
|
||||
bool GenericEditorPlugin::isBuildingDefinition(const QString &id) const
|
||||
{ return m_isBuilding.contains(id); }
|
||||
|
||||
void GenericEditorPlugin::lookforAvailableDefinitions()
|
||||
void GenericEditorPlugin::registerMimeTypes()
|
||||
{
|
||||
QFuture<Core::MimeType> future =
|
||||
QtConcurrent::run(&GenericEditorPlugin::gatherDefinitionsMimeTypes, this);
|
||||
m_watcher.setFuture(future);
|
||||
|
||||
connect(&m_watcher, SIGNAL(resultReadyAt(int)), this, SLOT(registerMimeType(int)));
|
||||
}
|
||||
|
||||
void GenericEditorPlugin::gatherDefinitionsMimeTypes(QFutureInterface<Core::MimeType> &future)
|
||||
{
|
||||
QDir definitionsDir(Core::ICore::instance()->resourcePath() +
|
||||
QLatin1String("/generic-highlighter"));
|
||||
@@ -167,11 +175,50 @@ void GenericEditorPlugin::lookforAvailableDefinitions()
|
||||
definitionsDir.setNameFilters(filter);
|
||||
|
||||
const QFileInfoList &filesInfo = definitionsDir.entryInfoList();
|
||||
foreach (const QFileInfo &fileInfo, filesInfo)
|
||||
parseDefinitionMetadata(fileInfo);
|
||||
foreach (const QFileInfo &fileInfo, filesInfo) {
|
||||
QString comment;
|
||||
QStringList mimeTypes;
|
||||
QStringList patterns;
|
||||
parseDefinitionMetadata(fileInfo, &comment, &mimeTypes, &patterns);
|
||||
|
||||
// A definition can specify multiple MIME types and file extensions/patterns. However, each
|
||||
// thing is done with a single string. Then, there is no direct way to tell which patterns
|
||||
// belong to which MIME types nor whether a MIME type is just an alias for the other.
|
||||
// Currently, I associate all expressions/patterns with all MIME types from a definition.
|
||||
|
||||
static const QStringList textPlain(QLatin1String("text/plain"));
|
||||
|
||||
QList<QRegExp> expressions;
|
||||
foreach (const QString &type, mimeTypes) {
|
||||
Core::MimeType mimeType = Core::ICore::instance()->mimeDatabase()->findByType(type);
|
||||
if (mimeType.isNull()) {
|
||||
if (expressions.isEmpty()) {
|
||||
foreach (const QString &pattern, patterns)
|
||||
expressions.append(QRegExp(pattern, Qt::CaseSensitive, QRegExp::Wildcard));
|
||||
}
|
||||
|
||||
mimeType.setType(type);
|
||||
mimeType.setSubClassesOf(textPlain);
|
||||
mimeType.setComment(comment);
|
||||
mimeType.setGlobPatterns(expressions);
|
||||
|
||||
future.reportResult(mimeType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GenericEditorPlugin::parseDefinitionMetadata(const QFileInfo &fileInfo)
|
||||
void GenericEditorPlugin::registerMimeType(int index) const
|
||||
{
|
||||
const Core::MimeType &mimeType = m_watcher.resultAt(index);
|
||||
Core::ICore::instance()->mimeDatabase()->addMimeType(mimeType);
|
||||
m_factory->m_mimeTypes.append(mimeType.type());
|
||||
}
|
||||
|
||||
void GenericEditorPlugin::parseDefinitionMetadata(const QFileInfo &fileInfo,
|
||||
QString *comment,
|
||||
QStringList *mimeTypes,
|
||||
QStringList *patterns)
|
||||
{
|
||||
static const QLatin1Char kSemiColon(';');
|
||||
static const QLatin1Char kSlash('/');
|
||||
@@ -194,24 +241,24 @@ void GenericEditorPlugin::parseDefinitionMetadata(const QFileInfo &fileInfo)
|
||||
reader.name() == kLanguage) {
|
||||
const QXmlStreamAttributes &attr = reader.attributes();
|
||||
|
||||
const QString &name = attr.value(kName).toString();
|
||||
m_idByName.insert(name, id);
|
||||
*comment = attr.value(kName).toString();
|
||||
m_idByName.insert(*comment, id);
|
||||
|
||||
const QStringList &patterns =
|
||||
attr.value(kExtensions).toString().split(kSemiColon, QString::SkipEmptyParts);
|
||||
*patterns = attr.value(kExtensions).toString().split(kSemiColon,
|
||||
QString::SkipEmptyParts);
|
||||
|
||||
QStringList mimeTypes =
|
||||
attr.value(kMimeType).toString().split(kSemiColon, QString::SkipEmptyParts);
|
||||
if (mimeTypes.isEmpty()) {
|
||||
*mimeTypes = attr.value(kMimeType).toString().split(kSemiColon,
|
||||
QString::SkipEmptyParts);
|
||||
if (mimeTypes->isEmpty()) {
|
||||
// There are definitions which do not specify a MIME type, but specify file
|
||||
// patterns. Creating an artificial MIME type is a workaround.
|
||||
QString mimeType(kArtificial);
|
||||
mimeType.append(kSlash).append(name);
|
||||
m_idByMimeType.insert(mimeType, id);
|
||||
mimeTypes.append(mimeType);
|
||||
QString artificialType(kArtificial);
|
||||
artificialType.append(kSlash).append(*comment);
|
||||
m_idByMimeType.insert(artificialType, id);
|
||||
mimeTypes->append(artificialType);
|
||||
} else {
|
||||
foreach (const QString &mimeType, mimeTypes)
|
||||
m_idByMimeType.insert(mimeType, id);
|
||||
foreach (const QString &type, *mimeTypes)
|
||||
m_idByMimeType.insert(type, id);
|
||||
}
|
||||
|
||||
// The priority below should not be confused with the priority used when matching files
|
||||
@@ -220,7 +267,6 @@ void GenericEditorPlugin::parseDefinitionMetadata(const QFileInfo &fileInfo)
|
||||
// multiple ones associated with the same MIME type (should not happen in general).
|
||||
m_priorityComp.m_priorityById.insert(id, attr.value(kPriority).toString().toInt());
|
||||
|
||||
registerMimeTypes(name, mimeTypes, patterns);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -228,35 +274,4 @@ void GenericEditorPlugin::parseDefinitionMetadata(const QFileInfo &fileInfo)
|
||||
definitionFile.close();
|
||||
}
|
||||
|
||||
void GenericEditorPlugin::registerMimeTypes(const QString &comment,
|
||||
const QStringList &types,
|
||||
const QStringList &patterns)
|
||||
{
|
||||
static const QStringList textPlain(QLatin1String("text/plain"));
|
||||
|
||||
// A definition can specify multiple MIME types and file extensions/patterns. However, each
|
||||
// thing is done with a single string. Then, there is no direct way to tell which extensions/
|
||||
// patterns belong to which MIME types nor whether a MIME type is just an alias for the other.
|
||||
// Currentl y, I associate all expressions/patterns with all MIME types from a definition.
|
||||
|
||||
QList<QRegExp> expressions;
|
||||
foreach (const QString &type, types) {
|
||||
Core::MimeType mimeType = Core::ICore::instance()->mimeDatabase()->findByType(type);
|
||||
if (mimeType.isNull()) {
|
||||
if (expressions.isEmpty()) {
|
||||
foreach (const QString &pattern, patterns)
|
||||
expressions.append(QRegExp(pattern, Qt::CaseSensitive, QRegExp::Wildcard));
|
||||
}
|
||||
|
||||
mimeType.setType(type);
|
||||
mimeType.setSubClassesOf(textPlain);
|
||||
mimeType.setComment(comment);
|
||||
mimeType.setGlobPatterns(expressions);
|
||||
|
||||
Core::ICore::instance()->mimeDatabase()->addMimeType(mimeType);
|
||||
m_factory->m_mimeTypes.append(type);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Q_EXPORT_PLUGIN(GenericEditorPlugin)
|
||||
|
||||
@@ -30,27 +30,28 @@
|
||||
#ifndef GENERICEDITORPLUGIN_H
|
||||
#define GENERICEDITORPLUGIN_H
|
||||
|
||||
#include <coreplugin/mimedatabase.h>
|
||||
#include <extensionsystem/iplugin.h>
|
||||
#include <texteditor/texteditoractionhandler.h>
|
||||
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/QStringList>
|
||||
#include <QtCore/QLatin1String>
|
||||
#include <QtCore/QHash>
|
||||
#include <QtCore/QMultiHash>
|
||||
#include <QtCore/QSet>
|
||||
#include <QtCore/QSharedPointer>
|
||||
#include <QtCore/QFutureWatcher>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QFileInfo;
|
||||
class QStringList;
|
||||
template <class> class QFutureInterface;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace GenericEditor {
|
||||
namespace Internal {
|
||||
|
||||
class HighlightDefinition;
|
||||
class HighlightDefinitionMetadata;
|
||||
class Editor;
|
||||
class EditorFactory;
|
||||
|
||||
@@ -75,17 +76,19 @@ public:
|
||||
const QSharedPointer<HighlightDefinition> &definition(const QString &id);
|
||||
|
||||
private slots:
|
||||
void lookforAvailableDefinitions();
|
||||
void registerMimeTypes();
|
||||
void registerMimeType(int index) const;
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(GenericEditorPlugin)
|
||||
|
||||
static GenericEditorPlugin *m_instance;
|
||||
|
||||
void parseDefinitionMetadata(const QFileInfo &fileInfo);
|
||||
void registerMimeTypes(const QString &comment,
|
||||
const QStringList &types,
|
||||
const QStringList &patterns);
|
||||
void gatherDefinitionsMimeTypes(QFutureInterface<Core::MimeType> &future);
|
||||
void parseDefinitionMetadata(const QFileInfo &fileInfo,
|
||||
QString *comment,
|
||||
QStringList *mimeTypes,
|
||||
QStringList *patterns);
|
||||
|
||||
struct PriorityCompare
|
||||
{
|
||||
@@ -100,6 +103,8 @@ private:
|
||||
|
||||
EditorFactory *m_factory;
|
||||
|
||||
QFutureWatcher<Core::MimeType> m_watcher;
|
||||
|
||||
QHash<QString, QString> m_idByName;
|
||||
QMultiHash<QString, QString> m_idByMimeType;
|
||||
QHash<QString, QSharedPointer<HighlightDefinition> > m_definitions;
|
||||
|
||||
@@ -109,9 +109,6 @@ private:
|
||||
QString m_multiLineCommentRegion;
|
||||
|
||||
Qt::CaseSensitivity m_keywordCaseSensitivity;
|
||||
|
||||
QString m_languageName;
|
||||
QString m_fileExtensions;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -430,13 +430,13 @@ void HighlightDefinitionHandler::processIncludeRules(const QSharedPointer<Contex
|
||||
// definition they are from.
|
||||
QString externalName = QString::fromRawData(sourceName.unicode() + 2,
|
||||
sourceName.length() - 2);
|
||||
const QString id = GenericEditorPlugin::instance()->definitionIdByName(externalName);
|
||||
const QString &id = GenericEditorPlugin::instance()->definitionIdByName(externalName);
|
||||
|
||||
// If there is an incorrect circular dependency among definitions this is skipped.
|
||||
if (GenericEditorPlugin::instance()->isBuildingDefinition(id))
|
||||
continue;
|
||||
|
||||
QSharedPointer<HighlightDefinition> externalDefinition =
|
||||
const QSharedPointer<HighlightDefinition> &externalDefinition =
|
||||
GenericEditorPlugin::instance()->definition(id);
|
||||
sourceContext = externalDefinition->initialContext();
|
||||
} else if (!sourceName.startsWith(kHash)) {
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
#include <QtCore/QStringList>
|
||||
|
||||
#include <QtGui/QSyntaxHighlighter>
|
||||
#include <QtGui/QTextBlockUserData>
|
||||
|
||||
#include <texteditor/basetextdocumentlayout.h>
|
||||
|
||||
|
||||
@@ -31,10 +31,7 @@
|
||||
#define ITEMDATA_H
|
||||
|
||||
#include <QtCore/QString>
|
||||
|
||||
#include <QtGui/QColor>
|
||||
#include <QtGui/QFont>
|
||||
#include <QtGui/QTextCharFormat>
|
||||
|
||||
namespace GenericEditor {
|
||||
namespace Internal {
|
||||
|
||||
Reference in New Issue
Block a user