Converted bunch of languages to new format

master
Yevgen Muntyan 2006-12-16 10:58:34 -06:00
parent 303cff4991
commit 1941eef574
21 changed files with 3893 additions and 3563 deletions

View File

@ -1,120 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Ada" version="1.0" _section="Sources" mimetypes="text/x-ada;text/x-adasrc">
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>--</start-regex>
</line-comment>
<language id="ada" _name="Ada" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-ada;text/x-adasrc</property>
<property name="globs">*.adb;*.ads</property>
</metadata>
<string _name = "String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<pattern-item _name = "Character Constant" style = "String">
<regex>&apos;.&apos;</regex>
</pattern-item>
<keyword-list _name = "Preprocessor Keyword" style = "Preprocessor" case-sensitive="FALSE">
<keyword>package</keyword>
<keyword>pragma</keyword>
<keyword>use</keyword>
<keyword>with</keyword>
</keyword-list>
<keyword-list _name = "Function" style = "Keyword" case-sensitive="FALSE">
<keyword>function</keyword>
<keyword>procedure</keyword>
<keyword>return</keyword>
</keyword-list>
<keyword-list _name = "Keyword" style = "Keyword" case-sensitive="FALSE">
<keyword>abort</keyword>
<keyword>abs</keyword>
<keyword>abstract</keyword>
<keyword>accept</keyword>
<keyword>access</keyword>
<keyword>aliased</keyword>
<keyword>all</keyword>
<keyword>and</keyword>
<keyword>array</keyword>
<keyword>at</keyword>
<keyword>begin</keyword>
<keyword>body</keyword>
<keyword>case</keyword>
<keyword>constant</keyword>
<keyword>declare</keyword>
<keyword>delay</keyword>
<keyword>delta</keyword>
<keyword>digits</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>elsif</keyword>
<keyword>end</keyword>
<keyword>entry</keyword>
<keyword>exception</keyword>
<keyword>exit</keyword>
<keyword>for</keyword>
<keyword>generic</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>is</keyword>
<keyword>limited</keyword>
<keyword>loop</keyword>
<keyword>mod</keyword>
<keyword>new</keyword>
<keyword>not</keyword>
<keyword>null</keyword>
<keyword>of</keyword>
<keyword>or</keyword>
<keyword>others</keyword>
<keyword>out</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>raise</keyword>
<keyword>range</keyword>
<keyword>record</keyword>
<keyword>rem</keyword>
<keyword>renames</keyword>
<keyword>requeue</keyword>
<keyword>reverse</keyword>
<keyword>select</keyword>
<keyword>separate</keyword>
<keyword>subtype</keyword>
<keyword>tagged</keyword>
<keyword>task</keyword>
<keyword>terminate</keyword>
<keyword>then</keyword>
<keyword>type</keyword>
<keyword>until</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
<keyword>xor</keyword>
</keyword-list>
<keyword-list _name = "Type" style = "Data Type" case-sensitive="FALSE">
<keyword>boolean</keyword>
<keyword>character</keyword>
<keyword>count</keyword>
<keyword>duration</keyword>
<keyword>float</keyword>
<keyword>integer</keyword>
<keyword>long_float</keyword>
<keyword>long_integer</keyword>
<keyword>priority</keyword>
<keyword>short_float</keyword>
<keyword>short_integer</keyword>
<keyword>string</keyword>
</keyword-list>
<pattern-item _name = "Number" style = "Decimal">
<regex>\b[0-9][0-9\.]*\b</regex>
</pattern-item>
<keyword-list _name = "True And False" style = "Specials" case-sensitive="FALSE">
<keyword>true</keyword>
<keyword>false</keyword>
</keyword-list>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="specials" _name="Specials" map-to="def:specials"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>--</start>
</context>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
</context>
<context id="character-constant" style-ref="string">
<match>'.'</match>
</context>
<context id="preprocessor-keyword" style-ref="preprocessor">
<keyword>package</keyword>
<keyword>pragma</keyword>
<keyword>use</keyword>
<keyword>with</keyword>
</context>
<context id="function" style-ref="keyword">
<keyword>function</keyword>
<keyword>procedure</keyword>
<keyword>return</keyword>
</context>
<context id="keyword" style-ref="keyword">
<keyword>abort</keyword>
<keyword>abs</keyword>
<keyword>abstract</keyword>
<keyword>accept</keyword>
<keyword>access</keyword>
<keyword>aliased</keyword>
<keyword>all</keyword>
<keyword>and</keyword>
<keyword>array</keyword>
<keyword>at</keyword>
<keyword>begin</keyword>
<keyword>body</keyword>
<keyword>case</keyword>
<keyword>constant</keyword>
<keyword>declare</keyword>
<keyword>delay</keyword>
<keyword>delta</keyword>
<keyword>digits</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>elsif</keyword>
<keyword>end</keyword>
<keyword>entry</keyword>
<keyword>exception</keyword>
<keyword>exit</keyword>
<keyword>for</keyword>
<keyword>generic</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>is</keyword>
<keyword>limited</keyword>
<keyword>loop</keyword>
<keyword>mod</keyword>
<keyword>new</keyword>
<keyword>not</keyword>
<keyword>null</keyword>
<keyword>of</keyword>
<keyword>or</keyword>
<keyword>others</keyword>
<keyword>out</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>raise</keyword>
<keyword>range</keyword>
<keyword>record</keyword>
<keyword>rem</keyword>
<keyword>renames</keyword>
<keyword>requeue</keyword>
<keyword>reverse</keyword>
<keyword>select</keyword>
<keyword>separate</keyword>
<keyword>subtype</keyword>
<keyword>tagged</keyword>
<keyword>task</keyword>
<keyword>terminate</keyword>
<keyword>then</keyword>
<keyword>type</keyword>
<keyword>until</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
<keyword>xor</keyword>
</context>
<context id="type" style-ref="data-type">
<keyword>boolean</keyword>
<keyword>character</keyword>
<keyword>count</keyword>
<keyword>duration</keyword>
<keyword>float</keyword>
<keyword>integer</keyword>
<keyword>long_float</keyword>
<keyword>long_integer</keyword>
<keyword>priority</keyword>
<keyword>short_float</keyword>
<keyword>short_integer</keyword>
<keyword>string</keyword>
</context>
<context id="number" style-ref="decimal">
<match>\b[0-9][0-9\.]*\b</match>
</context>
<context id="true-and-false" style-ref="specials">
<keyword>true</keyword>
<keyword>false</keyword>
</context>
<context id="ada">
<include>
<context ref="line-comment"/>
<context ref="string"/>
<context ref="character-constant"/>
<context ref="preprocessor-keyword"/>
<context ref="function"/>
<context ref="keyword"/>
<context ref="type"/>
<context ref="number"/>
<context ref="true-and-false"/>
</include>
</context>
</definitions>
</language>

View File

@ -3,10 +3,15 @@
# "./check.sh" without arguments will validate lang and styles files
# specified here.
langs="c.lang cpp.lang changelog.lang def.lang \
html.lang javascript.lang latex.lang \
m4.lang makefile.lang xml.lang yacc.lang \
sh.lang python.lang perl.lang"
langs="c.lang cpp.lang changelog.lang def.lang
html.lang javascript.lang latex.lang
m4.lang makefile.lang xml.lang yacc.lang
sh.lang python.lang perl.lang ada.lang
csharp.lang css.lang desktop.lang fortran.lang
gtkrc.lang haskell.lang idl.lang ini.lang
java.lang octave.lang pascal.lang php.lang
po.lang ruby.lang scheme.lang sql.lang tcl.lang
texinfo.lang"
styles="gvim.styles kate.styles"

View File

@ -108,10 +108,10 @@ class LangFile(object):
id = s
name, map_to = styles[s]
if map_to:
string += indent*2 + '<style id="%s" name="%s" map-to="%s"/>\n' % (id, name, map_to)
string += indent*2 + '<style id="%s" _name="%s" map-to="%s"/>\n' % (id, name, map_to)
else:
string += indent*2 + '<style id="%s" name="%s"/>\n' % (id, name)
string += indent + "</styles>\n"
string += indent*2 + '<style id="%s" _name="%s"/>\n' % (id, name)
string += indent + "</styles>\n\n"
return string
def format_contexts(self, indent):
@ -202,13 +202,13 @@ class KeywordList(Context):
if self.beginning_regex:
string += indent*3 + '<prefix>%s</prefix>\n' % (cgi.escape(self.beginning_regex),)
elif self.match_empty_string_at_beginning:
string += indent*3 + '<prefix>\\b</prefix>\n'
elif not self.match_empty_string_at_beginning:
string += indent*3 + '<prefix></prefix>\n'
if self.end_regex:
string += indent*3 + '<suffix>%s</suffix>\n' % (cgi.escape(self.end_regex),)
elif self.match_empty_string_at_end:
string += indent*3 + '<suffix>\\b</suffix>\n'
elif not self.match_empty_string_at_end:
string += indent*3 + '<suffix></suffix>\n'
for kw in self.keywords:
string += indent*3 + '<keyword>%s</keyword>\n' % (cgi.escape(kw),)

View File

@ -1,140 +1,172 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="C#" version="1.0" _section="Sources" mimetypes="text/x-csharpsrc;text/x-csharp">
<escape-char>\</escape-char>
<language id="c-sharp" _name="C#" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-csharpsrc;text/x-csharp</property>
<property name="globs">*.cs</property>
</metadata>
<string _name = "String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<string _name = "String 2" style = "String" end-at-line-end = "TRUE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<string _name = "Multiline String" style = "String" end-at-line-end = "FALSE">
<start-regex>@&quot;([^&quot;]|&quot;&quot;)*</start-regex>
<end-regex>&quot;</end-regex>
</string>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>//</start-regex>
</line-comment>
<block-comment _name = "Block Comment" style = "Comment">
<start-regex>/\*</start-regex>
<end-regex>\*/</end-regex>
</block-comment>
<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="TRUE">
<keyword>class</keyword>
<keyword>delegate</keyword>
<keyword>enum</keyword>
<keyword>event</keyword>
<keyword>interface</keyword>
<keyword>namespace</keyword>
<keyword>struct</keyword>
<keyword>using</keyword>
<!--modifiers -->
<keyword>abstract</keyword>
<keyword>const</keyword>
<keyword>explicit</keyword>
<keyword>extern</keyword>
<keyword>fixed</keyword>
<keyword>implicit</keyword>
<keyword>internal</keyword>
<keyword>lock</keyword>
<keyword>out</keyword>
<keyword>override</keyword>
<keyword>params</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>ref</keyword>
<keyword>sealed</keyword>
<keyword>static</keyword>
<keyword>readonly</keyword>
<keyword>unsafe</keyword>
<keyword>virtual</keyword>
<keyword>volatile</keyword>
<!-- others -->
<keyword>add</keyword>
<keyword>as</keyword>
<keyword>assembly</keyword>
<keyword>base</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>checked</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>false</keyword>
<keyword>finally</keyword>
<keyword>for</keyword>
<keyword>foreach</keyword>
<keyword>get</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>is</keyword>
<keyword>new</keyword>
<keyword>null</keyword>
<keyword>remove</keyword>
<keyword>return</keyword>
<keyword>set</keyword>
<keyword>sizeof</keyword>
<keyword>stackalloc</keyword>
<keyword>super</keyword>
<keyword>switch</keyword>
<keyword>this</keyword>
<keyword>throw</keyword>
<keyword>true</keyword>
<keyword>try</keyword>
<keyword>typeof</keyword>
<keyword>unchecked</keyword>
<keyword>value</keyword>
<keyword>void</keyword>
<keyword>while</keyword>
<keyword>yield</keyword><!-- version 2 -->
</keyword-list>
<keyword-list _name = "Primitives" style = "Data Type" case-sensitive="TRUE">
<keyword>bool</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>decimal</keyword>
<keyword>double</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>long</keyword>
<keyword>object</keyword>
<keyword>operator</keyword>
<keyword>sbyte</keyword>
<keyword>short</keyword>
<keyword>string</keyword>
<keyword>uint</keyword>
<keyword>ulong</keyword>
<keyword>ushort</keyword>
</keyword-list>
<keyword-list _name = "Preprocessor Definitions" style ="Preprocessor" case-sensitive="TRUE"
match-empty-string-at-beginning = "FALSE" match-empty-string-at-end = "TRUE"
beginning-regex = "^[ \t]*#[ \t]*">
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
<keyword>error</keyword>
<keyword>region</keyword>
<keyword>endregion</keyword>
</keyword-list>
<definitions>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string-2" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="multiline-string" style-ref="string">
<start>@"([^"]|"")*</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>//</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="block-comment" style-ref="comment">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<keyword>class</keyword>
<keyword>delegate</keyword>
<keyword>enum</keyword>
<keyword>event</keyword>
<keyword>interface</keyword>
<keyword>namespace</keyword>
<keyword>struct</keyword>
<keyword>using</keyword>
<keyword>abstract</keyword>
<keyword>const</keyword>
<keyword>explicit</keyword>
<keyword>extern</keyword>
<keyword>fixed</keyword>
<keyword>implicit</keyword>
<keyword>internal</keyword>
<keyword>lock</keyword>
<keyword>out</keyword>
<keyword>override</keyword>
<keyword>params</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>ref</keyword>
<keyword>sealed</keyword>
<keyword>static</keyword>
<keyword>readonly</keyword>
<keyword>unsafe</keyword>
<keyword>virtual</keyword>
<keyword>volatile</keyword>
<keyword>add</keyword>
<keyword>as</keyword>
<keyword>assembly</keyword>
<keyword>base</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>checked</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>false</keyword>
<keyword>finally</keyword>
<keyword>for</keyword>
<keyword>foreach</keyword>
<keyword>get</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>is</keyword>
<keyword>new</keyword>
<keyword>null</keyword>
<keyword>remove</keyword>
<keyword>return</keyword>
<keyword>set</keyword>
<keyword>sizeof</keyword>
<keyword>stackalloc</keyword>
<keyword>super</keyword>
<keyword>switch</keyword>
<keyword>this</keyword>
<keyword>throw</keyword>
<keyword>true</keyword>
<keyword>try</keyword>
<keyword>typeof</keyword>
<keyword>unchecked</keyword>
<keyword>value</keyword>
<keyword>void</keyword>
<keyword>while</keyword>
<keyword>yield</keyword>
</context>
<context id="primitives" style-ref="data-type">
<keyword>bool</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>decimal</keyword>
<keyword>double</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>long</keyword>
<keyword>object</keyword>
<keyword>operator</keyword>
<keyword>sbyte</keyword>
<keyword>short</keyword>
<keyword>string</keyword>
<keyword>uint</keyword>
<keyword>ulong</keyword>
<keyword>ushort</keyword>
</context>
<context id="preprocessor-definitions" style-ref="preprocessor">
<prefix>^[ \t]*#[ \t]*</prefix>
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
<keyword>error</keyword>
<keyword>region</keyword>
<keyword>endregion</keyword>
</context>
<context id="c-sharp">
<include>
<context ref="string"/>
<context ref="string-2"/>
<context ref="multiline-string"/>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="keywords"/>
<context ref="primitives"/>
<context ref="preprocessor-definitions"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,486 +1,486 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
Proposed language specification for CSS (Cascading Style Sheet) files.
Reference used:
http://www.w3.org/TR/CSS2/
Tested with:
http://www.simplebits.com/css/simple.css
Submitted by Scott Martin (scott@coffeeblack.org)
Converted to new format with convert.py
-->
<language _name="CSS" version="1.0" _section="Others" mimetypes="text/css">
<escape-char>\</escape-char>
<string _name="String" style="String" end-at-line-end="FALSE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<language id="css" _name="CSS" version="2.0" _section="Others">
<metadata>
<property name="mimetypes">text/css</property>
<property name="globs">*.css;*.CSSL</property>
</metadata>
<string _name="String 2" style="String" end-at-line-end="FALSE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="others-2" _name="Others 2"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="base-n-integer" _name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="others-3" _name="Others 3"/>
<style id="function" _name="Function" map-to="def:function"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="specials" _name="Specials" map-to="def:specials"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
</styles>
<block-comment _name="Block Comment" style="Comment">
<start-regex>/\*</start-regex>
<end-regex>\*/</end-regex>
</block-comment>
<line-comment _name="Line Comment" style="Comment">
<start-regex>//</start-regex>
</line-comment>
<!--
Escaped unicode characters can contain either 6 hexadecimal characters
or 1-5 hex characters followed by one whitespace character.
-->
<pattern-item _name="Unicode Character Reference" style="Others 2">
<regex>\\([a-fA-F0-9]{1,5}[ \t]|[a-fA-F0-9]{6})</regex>
</pattern-item>
<!--
Brackets define a declaration block, parentheses define functions.
-->
<pattern-item _name="Punctuators" style="Others 3">
<regex>[{}();,]</regex>
</pattern-item>
<!--
For CSS 2-style selectors: tag[attr="value"].
-->
<pattern-item _name="Attribute Value Delimiters" style="Others 2">
<regex>(\[|\])</regex>
</pattern-item>
<pattern-item _name="Operators" style="Function">
<regex>[@%~|!=]</regex>
</pattern-item>
<!--
Used to combine selectors. Example syntax:
body * div#ID.className > p + ul li:first-child
-->
<pattern-item _name="Selector Grammar" style="Others 3">
<regex>[*#.&gt;+]</regex>
</pattern-item>
<!--
Pseudo-element rules. Good to have syntax highlighting for these
for mistypings.
-->
<keyword-list _name="Selector Pseudo Elements" style="Function">
<keyword>first-line</keyword>
<keyword>first-letter</keyword>
<keyword>before</keyword>
<keyword>after</keyword>
</keyword-list>
<!--
Pseudo-class rules. Good to have syntax highlighting for these
for mistypings.
-->
<keyword-list _name="Selector Pseudo Classes" style="Function">
<keyword>first-child</keyword>
<keyword>link</keyword>
<keyword>visited</keyword>
<keyword>hover</keyword>
<keyword>active</keyword>
<keyword>focus</keyword>
<keyword>lang</keyword>
</keyword-list>
<!--
At rules must occur at the start of a line.
-->
<keyword-list _name="At Rules" style="Preprocessor" beginning-regex="^[ \t]*@">
<keyword>charset</keyword>
<keyword>font-face</keyword>
<keyword>media</keyword>
<keyword>page</keyword>
<keyword>import</keyword>
</keyword-list>
<!--
Hexadecimal method of specifying colors. Can either be 3 or 6 in
length: #ffcc00 = #fc0.
-->
<pattern-item _name="Hexadecimal Color" style="Base-N Integer">
<regex>#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})</regex>
</pattern-item>
<!--
CSS functions, such as rgb(), clip(), or lang().
-->
<syntax-item _name="Function" style="Function">
<start-regex>[a-zA-Z][a-z0-9-]+\(</start-regex>
<end-regex>\)</end-regex>
</syntax-item>
<!--
Value length specifier. Unless it is 0, must always be like: -1.2em.
-->
<pattern-item _name="Dimension" style="Floating Point">
<regex>[\+-]?([0-9]+|[0-9]*\.[0-9]+)(%|e(m|x)|p(x|t|c)|in|ft|(m|c)m|k?Hz|deg|g?rad|m?s)</regex>
</pattern-item>
<!--
For values like: z-index: 2;
+/- before 0 is not allowed.
-->
<pattern-item _name="Number" style="Decimal">
<regex>\b(0|[\+-]?[1-9][0-9]*)</regex>
</pattern-item>
<!--
Unicode range values.
-->
<pattern-item _name="Unicode Range" style="Others 2">
<regex>[uU]\+[a-fA-F0-9]{1,6}(-[a-fA-F0-9]{1,6})?</regex>
</pattern-item>
<!--
Upgrades a rule set's importance when several rule sets conflict.
-->
<pattern-item _name="Importance Modifier" style="Specials">
<regex>\![ \t]*important</regex>
</pattern-item>
<keyword-list _name="Property Names" style="Keyword" case-sensitive="FALSE">
<keyword>azimuth</keyword>
<keyword>background</keyword>
<keyword>background-attachment</keyword>
<keyword>background-color</keyword>
<keyword>background-image</keyword>
<keyword>background-position</keyword>
<keyword>background-repeat</keyword>
<keyword>border</keyword>
<keyword>border-collapse</keyword>
<keyword>border-color</keyword>
<keyword>border-spacing</keyword>
<keyword>border-style</keyword>
<keyword>border-top</keyword>
<keyword>border-right</keyword>
<keyword>border-bottom</keyword>
<keyword>border-left</keyword>
<keyword>border-top-color</keyword>
<keyword>border-right-color</keyword>
<keyword>border-bottom-color</keyword>
<keyword>border-left-color</keyword>
<keyword>border-top-style</keyword>
<keyword>border-right-style</keyword>
<keyword>border-bottom-style</keyword>
<keyword>border-left-style</keyword>
<keyword>border-top-width</keyword>
<keyword>border-right-width</keyword>
<keyword>border-bottom-width</keyword>
<keyword>border-left-width</keyword>
<keyword>border-width</keyword>
<keyword>bottom</keyword>
<keyword>caption-side</keyword>
<keyword>clear</keyword>
<keyword>clip</keyword>
<keyword>color</keyword>
<keyword>content</keyword>
<keyword>counter-increment</keyword>
<keyword>counter-reset</keyword>
<keyword>cue</keyword>
<keyword>cue-after</keyword>
<keyword>cue-before</keyword>
<keyword>cursor</keyword>
<keyword>direction</keyword>
<keyword>display</keyword>
<keyword>elevation</keyword>
<keyword>empty-cells</keyword>
<keyword>float</keyword>
<keyword>font</keyword>
<keyword>font-family</keyword>
<keyword>font-size</keyword>
<keyword>font-size-adjust</keyword>
<keyword>font-style</keyword>
<keyword>font-variant</keyword>
<keyword>font-weight</keyword>
<keyword>height</keyword>
<keyword>left</keyword>
<keyword>letter-spacing</keyword>
<keyword>line-height</keyword>
<keyword>list-style</keyword>
<keyword>list-style-image</keyword>
<keyword>list-style-position</keyword>
<keyword>list-style-type</keyword>
<keyword>margin</keyword>
<keyword>margin-top</keyword>
<keyword>margin-right</keyword>
<keyword>margin-bottom</keyword>
<keyword>margin-left</keyword>
<keyword>marker-offset</keyword>
<keyword>marks</keyword>
<keyword>max-height</keyword>
<keyword>max-width</keyword>
<keyword>min-height</keyword>
<keyword>min-width</keyword>
<keyword>orphans</keyword>
<keyword>outline</keyword>
<keyword>outline-color</keyword>
<keyword>outline-style</keyword>
<keyword>outline-width</keyword>
<keyword>overflow</keyword>
<keyword>padding</keyword>
<keyword>padding-top</keyword>
<keyword>padding-right</keyword>
<keyword>padding-bottom</keyword>
<keyword>padding-left</keyword>
<keyword>page</keyword>
<keyword>page-break-after</keyword>
<keyword>page-break-before</keyword>
<keyword>page-break-inside</keyword>
<keyword>pause</keyword>
<keyword>pause-after</keyword>
<keyword>pause-before</keyword>
<keyword>pitch</keyword>
<keyword>pitch-range</keyword>
<keyword>play-during</keyword>
<keyword>position</keyword>
<keyword>quotes</keyword>
<keyword>richness</keyword>
<keyword>right</keyword>
<keyword>size</keyword>
<keyword>speak</keyword>
<keyword>speak-header</keyword>
<keyword>speak-numerical</keyword>
<keyword>speak-punctuation</keyword>
<keyword>speech-rate</keyword>
<keyword>stress</keyword>
<keyword>table-layout</keyword>
<keyword>text-align</keyword>
<keyword>text-decoration</keyword>
<keyword>text-indent</keyword>
<keyword>text-shadow</keyword>
<keyword>text-transform</keyword>
<keyword>top</keyword>
<keyword>unicode-bidi</keyword>
<keyword>vertical-align</keyword>
<keyword>visibility</keyword>
<keyword>voice-family</keyword>
<keyword>volume</keyword>
<keyword>white-space</keyword>
<keyword>widows</keyword>
<keyword>width</keyword>
<keyword>word-spacing</keyword>
<keyword>z-index</keyword>
</keyword-list>
<keyword-list _name="Known Property Values" style="Data Type" case-sensitive="FALSE">
<keyword>auto</keyword>
<keyword>none</keyword>
<keyword>inherit</keyword>
<keyword>transparent</keyword>
<keyword>hidden</keyword>
<keyword>left</keyword>
<keyword>right</keyword>
<keyword>top</keyword>
<keyword>bottom</keyword>
<keyword>center</keyword>
<keyword>left-side</keyword>
<keyword>far-left</keyword>
<keyword>center-left</keyword>
<keyword>center-right</keyword>
<keyword>far-right</keyword>
<keyword>right-side</keyword>
<keyword>behind</keyword>
<keyword>leftwards</keyword>
<keyword>rightwards</keyword>
<keyword>aqua</keyword>
<keyword>black</keyword>
<keyword>blue</keyword>
<keyword>fuchsia</keyword>
<keyword>gray</keyword>
<keyword>green</keyword>
<keyword>lime</keyword>
<keyword>maroon</keyword>
<keyword>navy</keyword>
<keyword>olive</keyword>
<keyword>purple</keyword>
<keyword>red</keyword>
<keyword>silver</keyword>
<keyword>teal</keyword>
<keyword>white</keyword>
<keyword>yellow</keyword>
<keyword>repeat</keyword>
<keyword>repeat-x</keyword>
<keyword>repeat-y</keyword>
<keyword>no-repeat</keyword>
<keyword>scroll</keyword>
<keyword>fixed</keyword>
<keyword>thin</keyword>
<keyword>medium</keyword>
<keyword>thick</keyword>
<keyword>dotted</keyword>
<keyword>dashed</keyword>
<keyword>solid</keyword>
<keyword>double</keyword>
<keyword>groove</keyword>
<keyword>ridge</keyword>
<keyword>inset</keyword>
<keyword>outset</keyword>
<keyword>collapse</keyword>
<keyword>separate</keyword>
<keyword>open-quote</keyword>
<keyword>close-quote</keyword>
<keyword>no-open-quote</keyword>
<keyword>no-close-quote</keyword>
<keyword>cue-before</keyword>
<keyword>cue-after</keyword>
<keyword>crosshair</keyword>
<keyword>default</keyword>
<keyword>pointer</keyword>
<keyword>move</keyword>
<keyword>e-resize</keyword>
<keyword>ne-resize</keyword>
<keyword>nw-resize</keyword>
<keyword>n-resize</keyword>
<keyword>se-resize</keyword>
<keyword>sw-resize</keyword>
<keyword>s-resize</keyword>
<keyword>w-resize</keyword>
<keyword>text</keyword>
<keyword>wait</keyword>
<keyword>help</keyword>
<keyword>ltr</keyword>
<keyword>rlt</keyword>
<keyword>inline</keyword>
<keyword>block</keyword>
<keyword>list-item</keyword>
<keyword>run-in</keyword>
<keyword>compact</keyword>
<keyword>marker</keyword>
<keyword>table</keyword>
<keyword>inline-table</keyword>
<keyword>table-row-group</keyword>
<keyword>table-header-group</keyword>
<keyword>table-footer-group</keyword>
<keyword>table-row</keyword>
<keyword>table-column-group</keyword>
<keyword>table-column</keyword>
<keyword>table-cell</keyword>
<keyword>table-caption</keyword>
<keyword>below</keyword>
<keyword>level</keyword>
<keyword>above</keyword>
<keyword>higher</keyword>
<keyword>lower</keyword>
<keyword>show</keyword>
<keyword>hide</keyword>
<keyword>normal</keyword>
<keyword>italic</keyword>
<keyword>oblique</keyword>
<keyword>small-caps</keyword>
<keyword>bold</keyword>
<keyword>bolder</keyword>
<keyword>lighter</keyword>
<keyword>wider</keyword>
<keyword>narrower</keyword>
<keyword>ultra-condensed</keyword>
<keyword>extra-condensed</keyword>
<keyword>condensed</keyword>
<keyword>semi-condensed</keyword>
<keyword>semi-expanded</keyword>
<keyword>expanded</keyword>
<keyword>extra-expanded</keyword>
<keyword>ultra-expanded</keyword>
<keyword>inside</keyword>
<keyword>outside</keyword>
<keyword>disc</keyword>
<keyword>circle</keyword>
<keyword>square</keyword>
<keyword>decimal</keyword>
<keyword>decimal-leading-zero</keyword>
<keyword>lower-roman</keyword>
<keyword>upper-roman</keyword>
<keyword>lower-greek</keyword>
<keyword>lower-alpha</keyword>
<keyword>lower-latin</keyword>
<keyword>upper-alpha</keyword>
<keyword>upper-latin</keyword>
<keyword>hebrew</keyword>
<keyword>armenian</keyword>
<keyword>georgian</keyword>
<keyword>cjk-ideographic</keyword>
<keyword>hiragana</keyword>
<keyword>katakana</keyword>
<keyword>hiragana-iroha</keyword>
<keyword>katakana-iroha</keyword>
<keyword>crop</keyword>
<keyword>cross</keyword>
<keyword>invert</keyword>
<keyword>visible</keyword>
<keyword>scroll</keyword>
<keyword>always</keyword>
<keyword>avoid</keyword>
<keyword>x-low</keyword>
<keyword>low</keyword>
<keyword>medium</keyword>
<keyword>high</keyword>
<keyword>x-high</keyword>
<keyword>mix</keyword>
<keyword>repeat</keyword>
<keyword>static</keyword>
<keyword>relative</keyword>
<keyword>absolute</keyword>
<keyword>fixed</keyword>
<keyword>portait</keyword>
<keyword>landscape</keyword>
<keyword>spell-out</keyword>
<keyword>once</keyword>
<keyword>digits</keyword>
<keyword>continuous</keyword>
<keyword>code</keyword>
<keyword>x-slow</keyword>
<keyword>slow</keyword>
<keyword>fast</keyword>
<keyword>x-fast</keyword>
<keyword>faster</keyword>
<keyword>slower</keyword>
<keyword>justify</keyword>
<keyword>underline</keyword>
<keyword>overline</keyword>
<keyword>line-through</keyword>
<keyword>blink</keyword>
<keyword>capitalize</keyword>
<keyword>uppercase</keyword>
<keyword>lowercase</keyword>
<keyword>embed</keyword>
<keyword>bidi-override</keyword>
<keyword>baseline</keyword>
<keyword>sub</keyword>
<keyword>super</keyword>
<keyword>top</keyword>
<keyword>text-top</keyword>
<keyword>middle</keyword>
<keyword>text-bottom</keyword>
<keyword>silent</keyword>
<keyword>x-soft</keyword>
<keyword>soft</keyword>
<keyword>loud</keyword>
<keyword>x-loud</keyword>
<keyword>pre</keyword>
<keyword>nowrap</keyword>
<keyword>smaller</keyword>
<keyword>larger</keyword>
<keyword>xx-small</keyword>
<keyword>x-small</keyword>
<keyword>small</keyword>
<keyword>large</keyword>
<keyword>x-large</keyword>
<keyword>xx-large</keyword>
<keyword>serif</keyword>
<keyword>sans-serif</keyword>
<keyword>cursive</keyword>
<keyword>fantasy</keyword>
<keyword>monospace</keyword>
</keyword-list>
<definitions>
<context id="string" style-ref="string">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string-2" style-ref="string">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="block-comment" style-ref="comment">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>//</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="unicode-character-reference" style-ref="others-2">
<match>\\([a-fA-F0-9]{1,5}[ \t]|[a-fA-F0-9]{6})</match>
</context>
<context id="punctuators" style-ref="others-3">
<match>[{}();,]</match>
</context>
<context id="attribute-value-delimiters" style-ref="others-2">
<match>(\[|\])</match>
</context>
<context id="operators" style-ref="function">
<match>[@%~|!=]</match>
</context>
<context id="selector-grammar" style-ref="others-3">
<match>[*#.&gt;+]</match>
</context>
<context id="selector-pseudo-elements" style-ref="function">
<keyword>first-line</keyword>
<keyword>first-letter</keyword>
<keyword>before</keyword>
<keyword>after</keyword>
</context>
<context id="selector-pseudo-classes" style-ref="function">
<keyword>first-child</keyword>
<keyword>link</keyword>
<keyword>visited</keyword>
<keyword>hover</keyword>
<keyword>active</keyword>
<keyword>focus</keyword>
<keyword>lang</keyword>
</context>
<context id="at-rules" style-ref="preprocessor">
<prefix>^[ \t]*@</prefix>
<keyword>charset</keyword>
<keyword>font-face</keyword>
<keyword>media</keyword>
<keyword>page</keyword>
<keyword>import</keyword>
</context>
<context id="hexadecimal-color" style-ref="base-n-integer">
<match>#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})</match>
</context>
<context id="function" style-ref="function">
<start>[a-zA-Z][a-z0-9-]+\(</start>
<end>\)</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="dimension" style-ref="floating-point">
<match>[\+-]?([0-9]+|[0-9]*\.[0-9]+)(%|e(m|x)|p(x|t|c)|in|ft|(m|c)m|k?Hz|deg|g?rad|m?s)</match>
</context>
<context id="number" style-ref="decimal">
<match>\b(0|[\+-]?[1-9][0-9]*)</match>
</context>
<context id="unicode-range" style-ref="others-2">
<match>[uU]\+[a-fA-F0-9]{1,6}(-[a-fA-F0-9]{1,6})?</match>
</context>
<context id="importance-modifier" style-ref="specials">
<match>\![ \t]*important</match>
</context>
<context id="property-names" style-ref="keyword">
<keyword>azimuth</keyword>
<keyword>background</keyword>
<keyword>background-attachment</keyword>
<keyword>background-color</keyword>
<keyword>background-image</keyword>
<keyword>background-position</keyword>
<keyword>background-repeat</keyword>
<keyword>border</keyword>
<keyword>border-collapse</keyword>
<keyword>border-color</keyword>
<keyword>border-spacing</keyword>
<keyword>border-style</keyword>
<keyword>border-top</keyword>
<keyword>border-right</keyword>
<keyword>border-bottom</keyword>
<keyword>border-left</keyword>
<keyword>border-top-color</keyword>
<keyword>border-right-color</keyword>
<keyword>border-bottom-color</keyword>
<keyword>border-left-color</keyword>
<keyword>border-top-style</keyword>
<keyword>border-right-style</keyword>
<keyword>border-bottom-style</keyword>
<keyword>border-left-style</keyword>
<keyword>border-top-width</keyword>
<keyword>border-right-width</keyword>
<keyword>border-bottom-width</keyword>
<keyword>border-left-width</keyword>
<keyword>border-width</keyword>
<keyword>bottom</keyword>
<keyword>caption-side</keyword>
<keyword>clear</keyword>
<keyword>clip</keyword>
<keyword>color</keyword>
<keyword>content</keyword>
<keyword>counter-increment</keyword>
<keyword>counter-reset</keyword>
<keyword>cue</keyword>
<keyword>cue-after</keyword>
<keyword>cue-before</keyword>
<keyword>cursor</keyword>
<keyword>direction</keyword>
<keyword>display</keyword>
<keyword>elevation</keyword>
<keyword>empty-cells</keyword>
<keyword>float</keyword>
<keyword>font</keyword>
<keyword>font-family</keyword>
<keyword>font-size</keyword>
<keyword>font-size-adjust</keyword>
<keyword>font-style</keyword>
<keyword>font-variant</keyword>
<keyword>font-weight</keyword>
<keyword>height</keyword>
<keyword>left</keyword>
<keyword>letter-spacing</keyword>
<keyword>line-height</keyword>
<keyword>list-style</keyword>
<keyword>list-style-image</keyword>
<keyword>list-style-position</keyword>
<keyword>list-style-type</keyword>
<keyword>margin</keyword>
<keyword>margin-top</keyword>
<keyword>margin-right</keyword>
<keyword>margin-bottom</keyword>
<keyword>margin-left</keyword>
<keyword>marker-offset</keyword>
<keyword>marks</keyword>
<keyword>max-height</keyword>
<keyword>max-width</keyword>
<keyword>min-height</keyword>
<keyword>min-width</keyword>
<keyword>orphans</keyword>
<keyword>outline</keyword>
<keyword>outline-color</keyword>
<keyword>outline-style</keyword>
<keyword>outline-width</keyword>
<keyword>overflow</keyword>
<keyword>padding</keyword>
<keyword>padding-top</keyword>
<keyword>padding-right</keyword>
<keyword>padding-bottom</keyword>
<keyword>padding-left</keyword>
<keyword>page</keyword>
<keyword>page-break-after</keyword>
<keyword>page-break-before</keyword>
<keyword>page-break-inside</keyword>
<keyword>pause</keyword>
<keyword>pause-after</keyword>
<keyword>pause-before</keyword>
<keyword>pitch</keyword>
<keyword>pitch-range</keyword>
<keyword>play-during</keyword>
<keyword>position</keyword>
<keyword>quotes</keyword>
<keyword>richness</keyword>
<keyword>right</keyword>
<keyword>size</keyword>
<keyword>speak</keyword>
<keyword>speak-header</keyword>
<keyword>speak-numerical</keyword>
<keyword>speak-punctuation</keyword>
<keyword>speech-rate</keyword>
<keyword>stress</keyword>
<keyword>table-layout</keyword>
<keyword>text-align</keyword>
<keyword>text-decoration</keyword>
<keyword>text-indent</keyword>
<keyword>text-shadow</keyword>
<keyword>text-transform</keyword>
<keyword>top</keyword>
<keyword>unicode-bidi</keyword>
<keyword>vertical-align</keyword>
<keyword>visibility</keyword>
<keyword>voice-family</keyword>
<keyword>volume</keyword>
<keyword>white-space</keyword>
<keyword>widows</keyword>
<keyword>width</keyword>
<keyword>word-spacing</keyword>
<keyword>z-index</keyword>
</context>
<context id="known-property-values" style-ref="data-type">
<keyword>auto</keyword>
<keyword>none</keyword>
<keyword>inherit</keyword>
<keyword>transparent</keyword>
<keyword>hidden</keyword>
<keyword>left</keyword>
<keyword>right</keyword>
<keyword>top</keyword>
<keyword>bottom</keyword>
<keyword>center</keyword>
<keyword>left-side</keyword>
<keyword>far-left</keyword>
<keyword>center-left</keyword>
<keyword>center-right</keyword>
<keyword>far-right</keyword>
<keyword>right-side</keyword>
<keyword>behind</keyword>
<keyword>leftwards</keyword>
<keyword>rightwards</keyword>
<keyword>aqua</keyword>
<keyword>black</keyword>
<keyword>blue</keyword>
<keyword>fuchsia</keyword>
<keyword>gray</keyword>
<keyword>green</keyword>
<keyword>lime</keyword>
<keyword>maroon</keyword>
<keyword>navy</keyword>
<keyword>olive</keyword>
<keyword>purple</keyword>
<keyword>red</keyword>
<keyword>silver</keyword>
<keyword>teal</keyword>
<keyword>white</keyword>
<keyword>yellow</keyword>
<keyword>repeat</keyword>
<keyword>repeat-x</keyword>
<keyword>repeat-y</keyword>
<keyword>no-repeat</keyword>
<keyword>scroll</keyword>
<keyword>fixed</keyword>
<keyword>thin</keyword>
<keyword>medium</keyword>
<keyword>thick</keyword>
<keyword>dotted</keyword>
<keyword>dashed</keyword>
<keyword>solid</keyword>
<keyword>double</keyword>
<keyword>groove</keyword>
<keyword>ridge</keyword>
<keyword>inset</keyword>
<keyword>outset</keyword>
<keyword>collapse</keyword>
<keyword>separate</keyword>
<keyword>open-quote</keyword>
<keyword>close-quote</keyword>
<keyword>no-open-quote</keyword>
<keyword>no-close-quote</keyword>
<keyword>cue-before</keyword>
<keyword>cue-after</keyword>
<keyword>crosshair</keyword>
<keyword>default</keyword>
<keyword>pointer</keyword>
<keyword>move</keyword>
<keyword>e-resize</keyword>
<keyword>ne-resize</keyword>
<keyword>nw-resize</keyword>
<keyword>n-resize</keyword>
<keyword>se-resize</keyword>
<keyword>sw-resize</keyword>
<keyword>s-resize</keyword>
<keyword>w-resize</keyword>
<keyword>text</keyword>
<keyword>wait</keyword>
<keyword>help</keyword>
<keyword>ltr</keyword>
<keyword>rlt</keyword>
<keyword>inline</keyword>
<keyword>block</keyword>
<keyword>list-item</keyword>
<keyword>run-in</keyword>
<keyword>compact</keyword>
<keyword>marker</keyword>
<keyword>table</keyword>
<keyword>inline-table</keyword>
<keyword>table-row-group</keyword>
<keyword>table-header-group</keyword>
<keyword>table-footer-group</keyword>
<keyword>table-row</keyword>
<keyword>table-column-group</keyword>
<keyword>table-column</keyword>
<keyword>table-cell</keyword>
<keyword>table-caption</keyword>
<keyword>below</keyword>
<keyword>level</keyword>
<keyword>above</keyword>
<keyword>higher</keyword>
<keyword>lower</keyword>
<keyword>show</keyword>
<keyword>hide</keyword>
<keyword>normal</keyword>
<keyword>italic</keyword>
<keyword>oblique</keyword>
<keyword>small-caps</keyword>
<keyword>bold</keyword>
<keyword>bolder</keyword>
<keyword>lighter</keyword>
<keyword>wider</keyword>
<keyword>narrower</keyword>
<keyword>ultra-condensed</keyword>
<keyword>extra-condensed</keyword>
<keyword>condensed</keyword>
<keyword>semi-condensed</keyword>
<keyword>semi-expanded</keyword>
<keyword>expanded</keyword>
<keyword>extra-expanded</keyword>
<keyword>ultra-expanded</keyword>
<keyword>inside</keyword>
<keyword>outside</keyword>
<keyword>disc</keyword>
<keyword>circle</keyword>
<keyword>square</keyword>
<keyword>decimal</keyword>
<keyword>decimal-leading-zero</keyword>
<keyword>lower-roman</keyword>
<keyword>upper-roman</keyword>
<keyword>lower-greek</keyword>
<keyword>lower-alpha</keyword>
<keyword>lower-latin</keyword>
<keyword>upper-alpha</keyword>
<keyword>upper-latin</keyword>
<keyword>hebrew</keyword>
<keyword>armenian</keyword>
<keyword>georgian</keyword>
<keyword>cjk-ideographic</keyword>
<keyword>hiragana</keyword>
<keyword>katakana</keyword>
<keyword>hiragana-iroha</keyword>
<keyword>katakana-iroha</keyword>
<keyword>crop</keyword>
<keyword>cross</keyword>
<keyword>invert</keyword>
<keyword>visible</keyword>
<keyword>scroll</keyword>
<keyword>always</keyword>
<keyword>avoid</keyword>
<keyword>x-low</keyword>
<keyword>low</keyword>
<keyword>medium</keyword>
<keyword>high</keyword>
<keyword>x-high</keyword>
<keyword>mix</keyword>
<keyword>repeat</keyword>
<keyword>static</keyword>
<keyword>relative</keyword>
<keyword>absolute</keyword>
<keyword>fixed</keyword>
<keyword>portait</keyword>
<keyword>landscape</keyword>
<keyword>spell-out</keyword>
<keyword>once</keyword>
<keyword>digits</keyword>
<keyword>continuous</keyword>
<keyword>code</keyword>
<keyword>x-slow</keyword>
<keyword>slow</keyword>
<keyword>fast</keyword>
<keyword>x-fast</keyword>
<keyword>faster</keyword>
<keyword>slower</keyword>
<keyword>justify</keyword>
<keyword>underline</keyword>
<keyword>overline</keyword>
<keyword>line-through</keyword>
<keyword>blink</keyword>
<keyword>capitalize</keyword>
<keyword>uppercase</keyword>
<keyword>lowercase</keyword>
<keyword>embed</keyword>
<keyword>bidi-override</keyword>
<keyword>baseline</keyword>
<keyword>sub</keyword>
<keyword>super</keyword>
<keyword>top</keyword>
<keyword>text-top</keyword>
<keyword>middle</keyword>
<keyword>text-bottom</keyword>
<keyword>silent</keyword>
<keyword>x-soft</keyword>
<keyword>soft</keyword>
<keyword>loud</keyword>
<keyword>x-loud</keyword>
<keyword>pre</keyword>
<keyword>nowrap</keyword>
<keyword>smaller</keyword>
<keyword>larger</keyword>
<keyword>xx-small</keyword>
<keyword>x-small</keyword>
<keyword>small</keyword>
<keyword>large</keyword>
<keyword>x-large</keyword>
<keyword>xx-large</keyword>
<keyword>serif</keyword>
<keyword>sans-serif</keyword>
<keyword>cursive</keyword>
<keyword>fantasy</keyword>
<keyword>monospace</keyword>
</context>
<context id="css">
<include>
<context ref="string"/>
<context ref="string-2"/>
<context ref="block-comment"/>
<context ref="line-comment"/>
<context ref="unicode-character-reference"/>
<context ref="punctuators"/>
<context ref="attribute-value-delimiters"/>
<context ref="operators"/>
<context ref="selector-grammar"/>
<context ref="selector-pseudo-elements"/>
<context ref="selector-pseudo-classes"/>
<context ref="at-rules"/>
<context ref="hexadecimal-color"/>
<context ref="function"/>
<context ref="dimension"/>
<context ref="number"/>
<context ref="unicode-range"/>
<context ref="importance-modifier"/>
<context ref="property-names"/>
<context ref="known-property-values"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,101 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name=".desktop" version="1.0" _section="Others" mimetypes="application/x-gnome-app-info;application/x-desktop">
<language id="desktop" _name=".desktop" version="2.0" _section="Others">
<metadata>
<property name="mimetypes">application/x-gnome-app-info;application/x-desktop</property>
<property name="globs">*.desktop;*.kdelnk</property>
</metadata>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>#</start-regex>
</line-comment>
<syntax-item _name = "Group" style = "Keyword">
<start-regex>^\[</start-regex>
<end-regex>\]$</end-regex>
</syntax-item>
<keyword-list _name = "Standard Key" style = "Data Type" case-sensitive="TRUE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "FALSE"
beginning-regex = "^_?">
<keyword>Encoding</keyword>
<keyword>Version</keyword>
<keyword>Name</keyword>
<keyword>GenericName</keyword>
<keyword>Type</keyword>
<keyword>FilePattern</keyword>
<keyword>TryExec</keyword>
<keyword>NoDisplay</keyword>
<keyword>Comment</keyword>
<keyword>Exec</keyword>
<keyword>Actions</keyword>
<keyword>Icon</keyword>
<keyword>MiniIcon</keyword>
<keyword>Hidden</keyword>
<keyword>Path</keyword>
<keyword>Terminal</keyword>
<keyword>TerminalOptions</keyword>
<keyword>SwallowTitle</keyword>
<keyword>SwallowExec</keyword>
<keyword>MimeType</keyword>
<keyword>Patterns</keyword>
<keyword>DefaultApp</keyword>
<keyword>Dev</keyword>
<keyword>FSType</keyword>
<keyword>MountPoint</keyword>
<keyword>ReadOnly</keyword>
<keyword>UnmountIcon</keyword>
<keyword>SortOrder</keyword>
<keyword>URL</keyword>
<keyword>StartupNotify</keyword>
<keyword>Categories</keyword>
<keyword>OnlyShowIn</keyword>
<keyword>NotShowIn</keyword>
<keyword>StartupWMClass</keyword>
<keyword>Protocols</keyword>
<keyword>Extensions</keyword>
<keyword>BinaryPattern</keyword>
<keyword>MapNotify</keyword>
</keyword-list>
<pattern-item _name = "Non Standard Key" style = "Data Type">
<regex>^_?X\-[a-zA-Z\-]+</regex>
</pattern-item>
<pattern-item _name = "Language" style = "Decimal">
<regex>\[[a-zA-Z_]+\]</regex>
</pattern-item>
<keyword-list _name = "Boolean Value" style = "Preprocessor" case-sensitive="TRUE">
<keyword>true</keyword>
<keyword>false</keyword>
</keyword-list>
<keyword-list _name = "Exec Parameter" style = "Preprocessor" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE">
<keyword>%f</keyword>
<keyword>%F</keyword>
<keyword>%u</keyword>
<keyword>%U</keyword>
<keyword>%d</keyword>
<keyword>%D</keyword>
<keyword>%n</keyword>
<keyword>%N</keyword>
<keyword>%i</keyword>
<keyword>%m</keyword>
<keyword>%c</keyword>
<keyword>%k</keyword>
<keyword>%v</keyword>
</keyword-list>
<keyword-list _name = "Encoding" style = "Preprocessor" case-sensitive="TRUE">
<keyword>UTF\-8</keyword>
<keyword>Legacy\-Mixed</keyword>
</keyword-list>
<pattern-item _name = "Number" style = "Floating Point">
<regex>(.\b[0-9]+([Ll]?|[Ff]?)\b)|(b[0-9]*\.\W)</regex>
</pattern-item>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>#</start>
</context>
<context id="group" style-ref="keyword">
<start>^\[</start>
<end>\]$</end>
</context>
<context id="standard-key" style-ref="data-type">
<prefix>^_?</prefix>
<suffix></suffix>
<keyword>Encoding</keyword>
<keyword>Version</keyword>
<keyword>Name</keyword>
<keyword>GenericName</keyword>
<keyword>Type</keyword>
<keyword>FilePattern</keyword>
<keyword>TryExec</keyword>
<keyword>NoDisplay</keyword>
<keyword>Comment</keyword>
<keyword>Exec</keyword>
<keyword>Actions</keyword>
<keyword>Icon</keyword>
<keyword>MiniIcon</keyword>
<keyword>Hidden</keyword>
<keyword>Path</keyword>
<keyword>Terminal</keyword>
<keyword>TerminalOptions</keyword>
<keyword>SwallowTitle</keyword>
<keyword>SwallowExec</keyword>
<keyword>MimeType</keyword>
<keyword>Patterns</keyword>
<keyword>DefaultApp</keyword>
<keyword>Dev</keyword>
<keyword>FSType</keyword>
<keyword>MountPoint</keyword>
<keyword>ReadOnly</keyword>
<keyword>UnmountIcon</keyword>
<keyword>SortOrder</keyword>
<keyword>URL</keyword>
<keyword>StartupNotify</keyword>
<keyword>Categories</keyword>
<keyword>OnlyShowIn</keyword>
<keyword>NotShowIn</keyword>
<keyword>StartupWMClass</keyword>
<keyword>Protocols</keyword>
<keyword>Extensions</keyword>
<keyword>BinaryPattern</keyword>
<keyword>MapNotify</keyword>
</context>
<context id="non-standard-key" style-ref="data-type">
<match>^_?X\-[a-zA-Z\-]+</match>
</context>
<context id="language" style-ref="decimal">
<match>\[[a-zA-Z_]+\]</match>
</context>
<context id="boolean-value" style-ref="preprocessor">
<keyword>true</keyword>
<keyword>false</keyword>
</context>
<context id="exec-parameter" style-ref="preprocessor">
<prefix></prefix>
<keyword>%f</keyword>
<keyword>%F</keyword>
<keyword>%u</keyword>
<keyword>%U</keyword>
<keyword>%d</keyword>
<keyword>%D</keyword>
<keyword>%n</keyword>
<keyword>%N</keyword>
<keyword>%i</keyword>
<keyword>%m</keyword>
<keyword>%c</keyword>
<keyword>%k</keyword>
<keyword>%v</keyword>
</context>
<context id="encoding" style-ref="preprocessor">
<keyword>UTF\-8</keyword>
<keyword>Legacy\-Mixed</keyword>
</context>
<context id="number" style-ref="floating-point">
<match>(.\b[0-9]+([Ll]?|[Ff]?)\b)|(b[0-9]*\.\W)</match>
</context>
<context id="desktop">
<include>
<context ref="line-comment"/>
<context ref="group"/>
<context ref="standard-key"/>
<context ref="non-standard-key"/>
<context ref="language"/>
<context ref="boolean-value"/>
<context ref="exec-parameter"/>
<context ref="encoding"/>
<context ref="number"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,368 +1,396 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Fortran 95" version="1.0" _section="Sources" mimetypes="text/x-fortran">
<escape-char>\</escape-char>
<language id="fortran" _name="Fortran 95" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-fortran</property>
<property name="globs">*.f;*.f9[05];*.for</property>
</metadata>
<!-- Note: contains an hack to avoid considering ^COMMON a comment -->
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>!|(^[Cc](\b|[^Oo]))</start-regex>
</line-comment>
<string _name = "String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<string _name = "String 2" style = "String" end-at-line-end = "TRUE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<keyword-list _name = "Operators" style = "Keyword"
case-sensitive = "FALSE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "FALSE"
beginning-regex = "\." end-regex = "\.">
<keyword>TRUE</keyword>
<keyword>FALSE</keyword>
<keyword>NOT</keyword>
<keyword>AND</keyword>
<keyword>OR</keyword>
<keyword>XOR</keyword>
<keyword>EQV</keyword>
<keyword>NEQV</keyword>
<keyword>EQ</keyword>
<keyword>NE</keyword>
<keyword>GT</keyword>
<keyword>GE</keyword>
<keyword>LT</keyword>
<keyword>LE</keyword>
</keyword-list>
<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="FALSE">
<keyword>block data</keyword>
<keyword>CALL</keyword>
<keyword>case</keyword>
<keyword>common</keyword>
<keyword>contains</keyword>
<keyword>continue</keyword>
<keyword>cycle</keyword>
<keyword>data</keyword>
<keyword>do</keyword>
<keyword>elseif</keyword>
<keyword>else</keyword>
<keyword>elsewhere</keyword>
<keyword>enddo</keyword>
<keyword>endif</keyword>
<keyword>end</keyword>
<keyword>external</keyword>
<keyword>forall</keyword>
<keyword>function</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>implicit none</keyword>
<keyword>include</keyword>
<keyword>intrinsic</keyword>
<keyword>kind</keyword>
<keyword>len</keyword>
<keyword>module</keyword>
<keyword>program</keyword>
<keyword>return</keyword>
<keyword>save</keyword>
<keyword>SELECT</keyword>
<keyword>stop</keyword>
<keyword>subroutine</keyword>
<keyword>then</keyword>
<keyword>type</keyword>
<keyword>use</keyword>
<keyword>where</keyword>
<keyword>while</keyword>
</keyword-list>
<keyword-list _name = "Read/Write" style = "Keyword" case-sensitive="FALSE">
<keyword>backspace</keyword>
<keyword>close</keyword>
<keyword>inquire</keyword>
<keyword>open</keyword>
<keyword>rewind</keyword>
<keyword>endfile</keyword>
<keyword>read</keyword>
<keyword>write</keyword>
<keyword>print</keyword>
</keyword-list>
<keyword-list _name = "Input/Output" style = "Keyword" case-sensitive="FALSE">
<keyword>unit</keyword>
<keyword>file</keyword>
<keyword>iostat</keyword>
<keyword>access</keyword>
<keyword>blank</keyword>
<keyword>fmt</keyword>
<keyword>form</keyword>
<keyword>recl</keyword>
<keyword>status</keyword>
<keyword>exist</keyword>
<keyword>opened</keyword>
<keyword>number</keyword>
<keyword>named</keyword>
<keyword>name</keyword>
<keyword>sequential</keyword>
<keyword>direct</keyword>
<keyword>rec</keyword>
<keyword>formatted</keyword>
<keyword>unformatted</keyword>
<keyword>nextrec</keyword>
<keyword>pad</keyword>
<keyword>position</keyword>
<keyword>action</keyword>
<keyword>delim</keyword>
<keyword>readwrite</keyword>
<keyword>eor</keyword>
<keyword>advance</keyword>
<keyword>nml</keyword>
</keyword-list>
<keyword-list _name = "Intrinsics" style = "Keyword" case-sensitive="FALSE">
<keyword>adjustl</keyword>
<keyword>adjustr</keyword>
<keyword>all</keyword>
<keyword>allocated</keyword>
<keyword>any</keyword>
<keyword>associated</keyword>
<keyword>bit_size</keyword>
<keyword>btest</keyword>
<keyword>ceiling</keyword>
<keyword>count</keyword>
<keyword>cshift</keyword>
<keyword>date_and_time</keyword>
<keyword>digits</keyword>
<keyword>dim</keyword>
<keyword>dot_product</keyword>
<keyword>dprod</keyword>
<keyword>eoshift</keyword>
<keyword>epsilon</keyword>
<keyword>exponent</keyword>
<keyword>floor</keyword>
<keyword>fraction</keyword>
<keyword>huge</keyword>
<keyword>iand</keyword>
<keyword>ibclr</keyword>
<keyword>ibits</keyword>
<keyword>ibset</keyword>
<keyword>ieor</keyword>
<keyword>ior</keyword>
<keyword>ishft</keyword>
<keyword>ishftc</keyword>
<keyword>lbound</keyword>
<keyword>len_trim</keyword>
<keyword>matmul</keyword>
<keyword>maxexponent</keyword>
<keyword>maxloc</keyword>
<keyword>maxval</keyword>
<keyword>merge</keyword>
<keyword>minexponent</keyword>
<keyword>minloc</keyword>
<keyword>minval</keyword>
<keyword>modulo</keyword>
<keyword>mvbits</keyword>
<keyword>nearest</keyword>
<keyword>pack</keyword>
<keyword>present</keyword>
<keyword>product</keyword>
<keyword>radix</keyword>
<keyword>random_number</keyword>
<keyword>random_seed</keyword>
<keyword>range</keyword>
<keyword>repeat</keyword>
<keyword>reshape</keyword>
<keyword>rrspacing</keyword>
<keyword>scale</keyword>
<keyword>selected_int_kind</keyword>
<keyword>selected_real_kind</keyword>
<keyword>scan</keyword>
<keyword>shape</keyword>
<keyword>size</keyword>
<keyword>spacing</keyword>
<keyword>spread</keyword>
<keyword>set_exponent</keyword>
<keyword>tiny</keyword>
<keyword>transpose</keyword>
<keyword>trim</keyword>
<keyword>ubound</keyword>
<keyword>unpack</keyword>
<keyword>verify</keyword>
<keyword>precision</keyword>
<keyword>sum</keyword>
<keyword>system_clock</keyword>
<keyword>abs</keyword>
<keyword>acos</keyword>
<keyword>aimag</keyword>
<keyword>aint</keyword>
<keyword>anint</keyword>
<keyword>asin</keyword>
<keyword>atan</keyword>
<keyword>atan2</keyword>
<keyword>cos</keyword>
<keyword>sin</keyword>
<keyword>tan</keyword>
<keyword>sinh</keyword>
<keyword>cosh</keyword>
<keyword>tanh</keyword>
<keyword>exp</keyword>
<keyword>log</keyword>
<keyword>log10</keyword>
<keyword>sign</keyword>
<keyword>sqrt</keyword>
<keyword>int</keyword>
<keyword>cmplx</keyword>
<keyword>nint</keyword>
<keyword>min</keyword>
<keyword>max</keyword>
<keyword>conjg</keyword>
<keyword>char</keyword>
<keyword>ichar</keyword>
<keyword>index</keyword>
<keyword>cabs</keyword>
<keyword>ccos</keyword>
<keyword>cexp</keyword>
<keyword>clog</keyword>
<keyword>csin</keyword>
<keyword>csqrt</keyword>
<keyword>dacos</keyword>
<keyword>dasin</keyword>
<keyword>datan</keyword>
<keyword>datan2</keyword>
<keyword>dcos</keyword>
<keyword>dcosh</keyword>
<keyword>ddim</keyword>
<keyword>dexp</keyword>
<keyword>dint</keyword>
<keyword>dlog</keyword>
<keyword>dlog10</keyword>
<keyword>dmod</keyword>
<keyword>dabs</keyword>
<keyword>dnint</keyword>
<keyword>dsign</keyword>
<keyword>dsin</keyword>
<keyword>dsinh</keyword>
<keyword>dsqrt</keyword>
<keyword>dtan</keyword>
<keyword>dtanh</keyword>
<keyword>iabs</keyword>
<keyword>idim</keyword>
<keyword>idnint</keyword>
<keyword>isign</keyword>
<keyword>idint</keyword>
<keyword>ifix</keyword>
<keyword>amax0</keyword>
<keyword>amax1</keyword>
<keyword>dmax1</keyword>
<keyword>max0</keyword>
<keyword>max1</keyword>
<keyword>amin0</keyword>
<keyword>amin1</keyword>
<keyword>dmin1</keyword>
<keyword>loc</keyword>
<keyword>min0</keyword>
<keyword>min1</keyword>
<keyword>amod</keyword>
<keyword>float</keyword>
<keyword>sngl</keyword>
<keyword>alog</keyword>
<keyword>alog10</keyword>
<keyword>cdabs</keyword>
<keyword>cdcos</keyword>
<keyword>cdexp</keyword>
<keyword>cdlog</keyword>
<keyword>cdsin</keyword>
<keyword>cdsqrt</keyword>
<keyword>cqabs</keyword>
<keyword>cqcos</keyword>
<keyword>cqexp</keyword>
<keyword>cqlog</keyword>
<keyword>cqsin</keyword>
<keyword>cqsqrt</keyword>
<keyword>qacos</keyword>
<keyword>qasin</keyword>
<keyword>qatan</keyword>
<keyword>qatan2</keyword>
<keyword>qcos</keyword>
<keyword>qcosh</keyword>
<keyword>qdim</keyword>
<keyword>qexp</keyword>
<keyword>iqint</keyword>
<keyword>qlog</keyword>
<keyword>qlog10</keyword>
<keyword>qmod</keyword>
<keyword>qabs</keyword>
<keyword>qnint</keyword>
<keyword>qsign</keyword>
<keyword>qsin</keyword>
<keyword>qsinh</keyword>
<keyword>qsqrt</keyword>
<keyword>qtan</keyword>
<keyword>qtanh</keyword>
<keyword>qmax1</keyword>
<keyword>qmin1</keyword>
<keyword>dimag</keyword>
<keyword>qimag</keyword>
<keyword>dcmplx</keyword>
<keyword>qcmplx</keyword>
<keyword>dconjg</keyword>
<keyword>qconjg</keyword>
<keyword>gamma</keyword>
<keyword>dgamma</keyword>
<keyword>qgamma</keyword>
<keyword>algama</keyword>
<keyword>dlgama</keyword>
<keyword>qlgama</keyword>
<keyword>erf</keyword>
<keyword>derf</keyword>
<keyword>qerf</keyword>
<keyword>erfc</keyword>
<keyword>derfc</keyword>
<keyword>qerfc</keyword>
<keyword>dfloat</keyword>
<keyword>zabs</keyword>
<keyword>zcos</keyword>
<keyword>zexp</keyword>
<keyword>zlog</keyword>
<keyword>zsin</keyword>
<keyword>zsqrt</keyword>
</keyword-list>
<keyword-list _name = "Types" style = "Data Type" case-sensitive="FALSE">
<keyword>REAL</keyword>
<keyword>INTEGER</keyword>
<keyword>CHARACTER</keyword>
<keyword>LOGICAL</keyword>
<keyword>COMPLEX</keyword>
<keyword>DOUBLE PRECISION</keyword>
<keyword>DOUBLE COMPLEX</keyword>
<keyword>BYTE</keyword>
<keyword>dimension</keyword>
<keyword>parameter</keyword>
<keyword>intent</keyword>
<keyword>private</keyword>
<keyword>optional</keyword>
<keyword>pointer</keyword>
<keyword>target</keyword>
<keyword>allocatable</keyword>
</keyword-list>
<pattern-item _name = "Decimal" style = "Decimal">
<regex>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
</pattern-item>
<pattern-item _name = "Floating Point Number" style = "Floating Point">
<regex>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</regex>
</pattern-item>
<pattern-item _name = "Octal Number" style = "Base-N Integer">
<regex>\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
</pattern-item>
<pattern-item _name = "Hex Number" style = "Base-N Integer">
<regex>\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
</pattern-item>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="base-n-integer" _name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>!|(^[Cc](\b|[^Oo]))</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string-2" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="operators" style-ref="keyword">
<prefix>\.</prefix>
<suffix>\.</suffix>
<keyword>TRUE</keyword>
<keyword>FALSE</keyword>
<keyword>NOT</keyword>
<keyword>AND</keyword>
<keyword>OR</keyword>
<keyword>XOR</keyword>
<keyword>EQV</keyword>
<keyword>NEQV</keyword>
<keyword>EQ</keyword>
<keyword>NE</keyword>
<keyword>GT</keyword>
<keyword>GE</keyword>
<keyword>LT</keyword>
<keyword>LE</keyword>
</context>
<context id="keywords" style-ref="keyword">
<keyword>block data</keyword>
<keyword>CALL</keyword>
<keyword>case</keyword>
<keyword>common</keyword>
<keyword>contains</keyword>
<keyword>continue</keyword>
<keyword>cycle</keyword>
<keyword>data</keyword>
<keyword>do</keyword>
<keyword>elseif</keyword>
<keyword>else</keyword>
<keyword>elsewhere</keyword>
<keyword>enddo</keyword>
<keyword>endif</keyword>
<keyword>end</keyword>
<keyword>external</keyword>
<keyword>forall</keyword>
<keyword>function</keyword>
<keyword>goto</keyword>
<keyword>if</keyword>
<keyword>implicit none</keyword>
<keyword>include</keyword>
<keyword>intrinsic</keyword>
<keyword>kind</keyword>
<keyword>len</keyword>
<keyword>module</keyword>
<keyword>program</keyword>
<keyword>return</keyword>
<keyword>save</keyword>
<keyword>SELECT</keyword>
<keyword>stop</keyword>
<keyword>subroutine</keyword>
<keyword>then</keyword>
<keyword>type</keyword>
<keyword>use</keyword>
<keyword>where</keyword>
<keyword>while</keyword>
</context>
<context id="read-write" style-ref="keyword">
<keyword>backspace</keyword>
<keyword>close</keyword>
<keyword>inquire</keyword>
<keyword>open</keyword>
<keyword>rewind</keyword>
<keyword>endfile</keyword>
<keyword>read</keyword>
<keyword>write</keyword>
<keyword>print</keyword>
</context>
<context id="input-output" style-ref="keyword">
<keyword>unit</keyword>
<keyword>file</keyword>
<keyword>iostat</keyword>
<keyword>access</keyword>
<keyword>blank</keyword>
<keyword>fmt</keyword>
<keyword>form</keyword>
<keyword>recl</keyword>
<keyword>status</keyword>
<keyword>exist</keyword>
<keyword>opened</keyword>
<keyword>number</keyword>
<keyword>named</keyword>
<keyword>name</keyword>
<keyword>sequential</keyword>
<keyword>direct</keyword>
<keyword>rec</keyword>
<keyword>formatted</keyword>
<keyword>unformatted</keyword>
<keyword>nextrec</keyword>
<keyword>pad</keyword>
<keyword>position</keyword>
<keyword>action</keyword>
<keyword>delim</keyword>
<keyword>readwrite</keyword>
<keyword>eor</keyword>
<keyword>advance</keyword>
<keyword>nml</keyword>
</context>
<context id="intrinsics" style-ref="keyword">
<keyword>adjustl</keyword>
<keyword>adjustr</keyword>
<keyword>all</keyword>
<keyword>allocated</keyword>
<keyword>any</keyword>
<keyword>associated</keyword>
<keyword>bit_size</keyword>
<keyword>btest</keyword>
<keyword>ceiling</keyword>
<keyword>count</keyword>
<keyword>cshift</keyword>
<keyword>date_and_time</keyword>
<keyword>digits</keyword>
<keyword>dim</keyword>
<keyword>dot_product</keyword>
<keyword>dprod</keyword>
<keyword>eoshift</keyword>
<keyword>epsilon</keyword>
<keyword>exponent</keyword>
<keyword>floor</keyword>
<keyword>fraction</keyword>
<keyword>huge</keyword>
<keyword>iand</keyword>
<keyword>ibclr</keyword>
<keyword>ibits</keyword>
<keyword>ibset</keyword>
<keyword>ieor</keyword>
<keyword>ior</keyword>
<keyword>ishft</keyword>
<keyword>ishftc</keyword>
<keyword>lbound</keyword>
<keyword>len_trim</keyword>
<keyword>matmul</keyword>
<keyword>maxexponent</keyword>
<keyword>maxloc</keyword>
<keyword>maxval</keyword>
<keyword>merge</keyword>
<keyword>minexponent</keyword>
<keyword>minloc</keyword>
<keyword>minval</keyword>
<keyword>modulo</keyword>
<keyword>mvbits</keyword>
<keyword>nearest</keyword>
<keyword>pack</keyword>
<keyword>present</keyword>
<keyword>product</keyword>
<keyword>radix</keyword>
<keyword>random_number</keyword>
<keyword>random_seed</keyword>
<keyword>range</keyword>
<keyword>repeat</keyword>
<keyword>reshape</keyword>
<keyword>rrspacing</keyword>
<keyword>scale</keyword>
<keyword>selected_int_kind</keyword>
<keyword>selected_real_kind</keyword>
<keyword>scan</keyword>
<keyword>shape</keyword>
<keyword>size</keyword>
<keyword>spacing</keyword>
<keyword>spread</keyword>
<keyword>set_exponent</keyword>
<keyword>tiny</keyword>
<keyword>transpose</keyword>
<keyword>trim</keyword>
<keyword>ubound</keyword>
<keyword>unpack</keyword>
<keyword>verify</keyword>
<keyword>precision</keyword>
<keyword>sum</keyword>
<keyword>system_clock</keyword>
<keyword>abs</keyword>
<keyword>acos</keyword>
<keyword>aimag</keyword>
<keyword>aint</keyword>
<keyword>anint</keyword>
<keyword>asin</keyword>
<keyword>atan</keyword>
<keyword>atan2</keyword>
<keyword>cos</keyword>
<keyword>sin</keyword>
<keyword>tan</keyword>
<keyword>sinh</keyword>
<keyword>cosh</keyword>
<keyword>tanh</keyword>
<keyword>exp</keyword>
<keyword>log</keyword>
<keyword>log10</keyword>
<keyword>sign</keyword>
<keyword>sqrt</keyword>
<keyword>int</keyword>
<keyword>cmplx</keyword>
<keyword>nint</keyword>
<keyword>min</keyword>
<keyword>max</keyword>
<keyword>conjg</keyword>
<keyword>char</keyword>
<keyword>ichar</keyword>
<keyword>index</keyword>
<keyword>cabs</keyword>
<keyword>ccos</keyword>
<keyword>cexp</keyword>
<keyword>clog</keyword>
<keyword>csin</keyword>
<keyword>csqrt</keyword>
<keyword>dacos</keyword>
<keyword>dasin</keyword>
<keyword>datan</keyword>
<keyword>datan2</keyword>
<keyword>dcos</keyword>
<keyword>dcosh</keyword>
<keyword>ddim</keyword>
<keyword>dexp</keyword>
<keyword>dint</keyword>
<keyword>dlog</keyword>
<keyword>dlog10</keyword>
<keyword>dmod</keyword>
<keyword>dabs</keyword>
<keyword>dnint</keyword>
<keyword>dsign</keyword>
<keyword>dsin</keyword>
<keyword>dsinh</keyword>
<keyword>dsqrt</keyword>
<keyword>dtan</keyword>
<keyword>dtanh</keyword>
<keyword>iabs</keyword>
<keyword>idim</keyword>
<keyword>idnint</keyword>
<keyword>isign</keyword>
<keyword>idint</keyword>
<keyword>ifix</keyword>
<keyword>amax0</keyword>
<keyword>amax1</keyword>
<keyword>dmax1</keyword>
<keyword>max0</keyword>
<keyword>max1</keyword>
<keyword>amin0</keyword>
<keyword>amin1</keyword>
<keyword>dmin1</keyword>
<keyword>loc</keyword>
<keyword>min0</keyword>
<keyword>min1</keyword>
<keyword>amod</keyword>
<keyword>float</keyword>
<keyword>sngl</keyword>
<keyword>alog</keyword>
<keyword>alog10</keyword>
<keyword>cdabs</keyword>
<keyword>cdcos</keyword>
<keyword>cdexp</keyword>
<keyword>cdlog</keyword>
<keyword>cdsin</keyword>
<keyword>cdsqrt</keyword>
<keyword>cqabs</keyword>
<keyword>cqcos</keyword>
<keyword>cqexp</keyword>
<keyword>cqlog</keyword>
<keyword>cqsin</keyword>
<keyword>cqsqrt</keyword>
<keyword>qacos</keyword>
<keyword>qasin</keyword>
<keyword>qatan</keyword>
<keyword>qatan2</keyword>
<keyword>qcos</keyword>
<keyword>qcosh</keyword>
<keyword>qdim</keyword>
<keyword>qexp</keyword>
<keyword>iqint</keyword>
<keyword>qlog</keyword>
<keyword>qlog10</keyword>
<keyword>qmod</keyword>
<keyword>qabs</keyword>
<keyword>qnint</keyword>
<keyword>qsign</keyword>
<keyword>qsin</keyword>
<keyword>qsinh</keyword>
<keyword>qsqrt</keyword>
<keyword>qtan</keyword>
<keyword>qtanh</keyword>
<keyword>qmax1</keyword>
<keyword>qmin1</keyword>
<keyword>dimag</keyword>
<keyword>qimag</keyword>
<keyword>dcmplx</keyword>
<keyword>qcmplx</keyword>
<keyword>dconjg</keyword>
<keyword>qconjg</keyword>
<keyword>gamma</keyword>
<keyword>dgamma</keyword>
<keyword>qgamma</keyword>
<keyword>algama</keyword>
<keyword>dlgama</keyword>
<keyword>qlgama</keyword>
<keyword>erf</keyword>
<keyword>derf</keyword>
<keyword>qerf</keyword>
<keyword>erfc</keyword>
<keyword>derfc</keyword>
<keyword>qerfc</keyword>
<keyword>dfloat</keyword>
<keyword>zabs</keyword>
<keyword>zcos</keyword>
<keyword>zexp</keyword>
<keyword>zlog</keyword>
<keyword>zsin</keyword>
<keyword>zsqrt</keyword>
</context>
<context id="types" style-ref="data-type">
<keyword>REAL</keyword>
<keyword>INTEGER</keyword>
<keyword>CHARACTER</keyword>
<keyword>LOGICAL</keyword>
<keyword>COMPLEX</keyword>
<keyword>DOUBLE PRECISION</keyword>
<keyword>DOUBLE COMPLEX</keyword>
<keyword>BYTE</keyword>
<keyword>dimension</keyword>
<keyword>parameter</keyword>
<keyword>intent</keyword>
<keyword>private</keyword>
<keyword>optional</keyword>
<keyword>pointer</keyword>
<keyword>target</keyword>
<keyword>allocatable</keyword>
</context>
<context id="decimal" style-ref="decimal">
<match>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
</context>
<context id="floating-point-number" style-ref="floating-point">
<match>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</match>
</context>
<context id="octal-number" style-ref="base-n-integer">
<match>\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
</context>
<context id="hex-number" style-ref="base-n-integer">
<match>\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
</context>
<context id="fortran">
<include>
<context ref="line-comment"/>
<context ref="string"/>
<context ref="string-2"/>
<context ref="operators"/>
<context ref="keywords"/>
<context ref="read-write"/>
<context ref="input-output"/>
<context ref="intrinsics"/>
<context ref="types"/>
<context ref="decimal"/>
<context ref="floating-point-number"/>
<context ref="octal-number"/>
<context ref="hex-number"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,61 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="GtkRC" version="1.0" _section="Others" mimetypes="text/x-gtkrc">
<escape-char>\</escape-char>
<language id="gtkrc" _name="GtkRC" version="2.0" _section="Others">
<metadata>
<property name="mimetypes">text/x-gtkrc</property>
<property name="globs">gtkrc;.gtkrc;gtkrc-*;.gtkrc-*</property>
</metadata>
<string _name = "Double Quoted String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<string _name = "Single Quoted String" style = "String" end-at-line-end = "TRUE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>#</start-regex>
</line-comment>
<pattern-item _name = "Keysymbol" style = "Keyword">
<regex>::|=</regex>
</pattern-item>
<pattern-item _name = "Number" style = "Decimal">
<regex>\b[0-9][0-9\.]*\b</regex>
</pattern-item>
<keyword-list _name = "Keyword" style = "Keyword" case-sensitive="TRUE">
<keyword>style</keyword>
<keyword>engine</keyword>
<keyword>widget_class</keyword>
<keyword>class</keyword>
<keyword>widget</keyword>
</keyword-list>
<keyword-list _name = "Variable" style = "Data Type" case-sensitive="TRUE">
<keyword>fg</keyword>
<keyword>bg</keyword>
<keyword>bg_pixmap</keyword>
<keyword>base</keyword>
<keyword>text</keyword>
</keyword-list>
<keyword-list _name = "State" style = "Preprocessor" case-sensitive="TRUE">
<keyword>ACTIVE</keyword>
<keyword>SELECTED</keyword>
<keyword>NORMAL</keyword>
<keyword>PRELIGHT</keyword>
<keyword>INSENSITIVE</keyword>
</keyword-list>
<keyword-list _name = "Include Directive" style = "Preprocessor" case-sensitive="TRUE">
<keyword>include</keyword>
</keyword-list>
<keyword-list _name = "Boolean Value" style = "Preprocessor" case-sensitive="FALSE">
<keyword>TRUE</keyword>
<keyword>FALSE</keyword>
</keyword-list>
<definitions>
<context id="double-quoted-string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>#</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keysymbol" style-ref="keyword">
<match>::|=</match>
</context>
<context id="number" style-ref="decimal">
<match>\b[0-9][0-9\.]*\b</match>
</context>
<context id="keyword" style-ref="keyword">
<keyword>style</keyword>
<keyword>engine</keyword>
<keyword>widget_class</keyword>
<keyword>class</keyword>
<keyword>widget</keyword>
</context>
<context id="variable" style-ref="data-type">
<keyword>fg</keyword>
<keyword>bg</keyword>
<keyword>bg_pixmap</keyword>
<keyword>base</keyword>
<keyword>text</keyword>
</context>
<context id="state" style-ref="preprocessor">
<keyword>ACTIVE</keyword>
<keyword>SELECTED</keyword>
<keyword>NORMAL</keyword>
<keyword>PRELIGHT</keyword>
<keyword>INSENSITIVE</keyword>
</context>
<context id="include-directive" style-ref="preprocessor">
<keyword>include</keyword>
</context>
<context id="boolean-value" style-ref="preprocessor">
<keyword>TRUE</keyword>
<keyword>FALSE</keyword>
</context>
<context id="gtkrc">
<include>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="line-comment"/>
<context ref="keysymbol"/>
<context ref="number"/>
<context ref="keyword"/>
<context ref="variable"/>
<context ref="state"/>
<context ref="include-directive"/>
<context ref="boolean-value"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,113 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Haskell" version="1.0" _section="Sources" mimetypes="text/x-haskell">
<language id="haskell" _name="Haskell" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-haskell</property>
<property name="globs">*.hs</property>
</metadata>
<escape-char>\</escape-char>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>--</start-regex>
</line-comment>
<block-comment _name = "Block Comment" style = "Comment">
<start-regex>\{-</start-regex>
<end-regex>-\}</end-regex>
</block-comment>
<syntax-item _name = "Include/Pragma" style = "Preprocessor">
<start-regex>\{-#</start-regex>
<end-regex>#-\}</end-regex>
</syntax-item>
<pattern-item _name = "Type or Constructor" style = "Data Type">
<regex>\b[A-Z][0-9a-zA-Z._]*(&apos;|#)*</regex>
</pattern-item>
<pattern-item _name = "Keysymbol" style = "Keyword">
<regex>::|-&gt;|&lt;-|=&gt;|=|\||\\|@|~</regex>
</pattern-item>
<!--
<pattern-item _name = "Operator" style = "Operators">
<regex>[:!#$%&amp;*+./&gt;=&lt;?@\\^|~\-]+</regex>
</pattern-item>
<keyword-list _name="Keysymbol" style = "Keyword">
<keyword>::</keyword>
<keyword>-&gt;</keyword>
<keyword>&lt;-</keyword>
<keyword>=&gt;</keyword>
<keyword>=</keyword>
<keyword>|</keyword>`
<keyword>\</keyword>
<keyword>@</keyword>
<keyword>~</keyword>
</keyword-list>
-->
<string _name = "String" style = "String" end-at-line-end = "true">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<string _name = "Character Constant" style = "String" end-at-line-end = "true">
<start-regex>[^A-Za-z0-9]&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<pattern-item _name = "Decimal" style = "Decimal">
<regex>\b[0-9]\b</regex>
</pattern-item>
<pattern-item _name = "Floating Point Number" style = "Floating point">
<regex>\b([0-9]+.[0-9]+([eE][+-]?[0-9])?|[0-9][eE][+-]?[0-9])</regex>
</pattern-item>
<pattern-item _name = "Octal Number" style = "Base-N Integer">
<regex>\b[oO][0-7]+\b</regex>
</pattern-item>
<pattern-item _name = "Hex Number" style = "Base-N Integer">
<regex>\b0[xX][0-9a-fA-F]+\b</regex>
</pattern-item>
<keyword-list _name = "Keyword" style = "Keyword" case-sensitive="true">
<keyword>as</keyword>
<keyword>case</keyword>
<keyword>class</keyword>
<keyword>data</keyword>
<keyword>deriving</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>forall</keyword> <!-- GHC extension -->
<keyword>hiding</keyword>
<keyword>if</keyword>
<keyword>import</keyword>
<keyword>in</keyword>
<keyword>infix</keyword>
<keyword>infixl</keyword>
<keyword>infixr</keyword>
<keyword>instance</keyword>
<keyword>let</keyword>
<keyword>module</keyword>
<keyword>newtype</keyword>
<keyword>of</keyword>
<keyword>qualified</keyword>
<keyword>then</keyword>
<keyword>where</keyword>
<keyword>with</keyword> <!-- GHC extension -->
</keyword-list>
<keyword-list _name = "Preprocessor Definition" style = "Preprocessor" case-sensitive="true"
match-empty-string-at-beginning = "false"
match-empty-string-at-end = "true"
beginning-regex = "^[ \t]*#[ \t]*">
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
<keyword>error</keyword>
</keyword-list>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="floating-point" _name="Floating point" map-to="def:floating-point"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="base-n-integer" _name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>--</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="block-comment" style-ref="comment">
<start>\{-</start>
<end>-\}</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="include-pragma" style-ref="preprocessor">
<start>\{-#</start>
<end>#-\}</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="type-or-constructor" style-ref="data-type">
<match>\b[A-Z][0-9a-zA-Z._]*('|#)*</match>
</context>
<context id="keysymbol" style-ref="keyword">
<match>::|-&gt;|&lt;-|=&gt;|=|\||\\|@|~</match>
</context>
<context id="string" style-ref="string">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="character-constant" style-ref="string">
<start>[^A-Za-z0-9]'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="decimal" style-ref="decimal">
<match>\b[0-9]\b</match>
</context>
<context id="floating-point-number" style-ref="floating-point">
<match>\b([0-9]+.[0-9]+([eE][+-]?[0-9])?|[0-9][eE][+-]?[0-9])</match>
</context>
<context id="octal-number" style-ref="base-n-integer">
<match>\b[oO][0-7]+\b</match>
</context>
<context id="hex-number" style-ref="base-n-integer">
<match>\b0[xX][0-9a-fA-F]+\b</match>
</context>
<context id="keyword" style-ref="keyword">
<keyword>as</keyword>
<keyword>case</keyword>
<keyword>class</keyword>
<keyword>data</keyword>
<keyword>deriving</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>forall</keyword>
<keyword>hiding</keyword>
<keyword>if</keyword>
<keyword>import</keyword>
<keyword>in</keyword>
<keyword>infix</keyword>
<keyword>infixl</keyword>
<keyword>infixr</keyword>
<keyword>instance</keyword>
<keyword>let</keyword>
<keyword>module</keyword>
<keyword>newtype</keyword>
<keyword>of</keyword>
<keyword>qualified</keyword>
<keyword>then</keyword>
<keyword>where</keyword>
<keyword>with</keyword>
</context>
<context id="preprocessor-definition" style-ref="preprocessor">
<prefix>^[ \t]*#[ \t]*</prefix>
<suffix></suffix>
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
<keyword>error</keyword>
</context>
<context id="haskell">
<include>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="include-pragma"/>
<context ref="type-or-constructor"/>
<context ref="keysymbol"/>
<context ref="string"/>
<context ref="character-constant"/>
<context ref="decimal"/>
<context ref="floating-point-number"/>
<context ref="octal-number"/>
<context ref="hex-number"/>
<context ref="keyword"/>
<context ref="preprocessor-definition"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,100 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="IDL" version="1.0" _section="Sources" mimetypes="text/x-idl">
<language id="idl" _name="IDL" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-idl</property>
<property name="globs">*.idl</property>
<property name="line-comment-start">//</property>
</metadata>
<escape-char>\</escape-char>
<block-comment _name = "Block Comment" style = "Comment">
<start-regex>/\*</start-regex>
<end-regex>\*/</end-regex>
</block-comment>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>//</start-regex>
</line-comment>
<block-comment _name = "Sectional" style = "Preprocessor">
<start-regex>%\{</start-regex>
<end-regex>%\}</end-regex>
</block-comment>
<string _name = "String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<syntax-item _name = "Include/Pragma" style = "Preprocessor">
<start-regex>^#[ \t]*(include|pragma)</start-regex>
<end-regex>\n</end-regex>
</syntax-item>
<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="TRUE">
<keyword>abstract</keyword>
<keyword>attribute</keyword>
<keyword>case</keyword>
<keyword>const</keyword>
<keyword>context</keyword>
<keyword>custom</keyword>
<keyword>default</keyword>
<keyword>exception</keyword>
<keyword>enum</keyword>
<keyword>factory</keyword>
<keyword>FALSE</keyword>
<keyword>in</keyword>
<keyword>inout</keyword>
<keyword>interface</keyword>
<keyword>local</keyword>
<keyword>module</keyword>
<keyword>native</keyword>
<keyword>oneway</keyword>
<keyword>out</keyword>
<keyword>private</keyword>
<keyword>public</keyword>
<keyword>raises</keyword>
<keyword>readonly</keyword>
<keyword>struct</keyword>
<keyword>support</keyword>
<keyword>switch</keyword>
<keyword>TRUE</keyword>
<keyword>truncatable</keyword>
<keyword>typedef</keyword>
<keyword>union</keyword>
<keyword>valuetype</keyword>
</keyword-list>
<keyword-list _name = "Types" style = "Data Type" case-sensitive="TRUE">
<keyword>any</keyword>
<keyword>boolean</keyword>
<keyword>char</keyword>
<keyword>double</keyword>
<keyword>fixed</keyword>
<keyword>float</keyword>
<keyword>long</keyword>
<keyword>Object</keyword>
<keyword>octet</keyword>
<keyword>sequence</keyword>
<keyword>short</keyword>
<keyword>string</keyword>
<keyword>unsigned</keyword>
<keyword>ValueBase</keyword>
<keyword>void</keyword>
<keyword>wchar</keyword>
<keyword>wstring</keyword>
</keyword-list>
<keyword-list _name = "Preprocessor Definitions" style = "Preprocessor" case-sensitive="TRUE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "TRUE"
beginning-regex = "^[ \t]*#[ \t]*">
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
</keyword-list>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="string" _name="String" map-to="def:string"/>
</styles>
<definitions>
<context id="block-comment" style-ref="comment">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>//</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="sectional" style-ref="preprocessor">
<start>%\{</start>
<end>%\}</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="include-pragma" style-ref="preprocessor" end-at-line-end="true">
<start>^#[ \t]*(include|pragma)</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>attribute</keyword>
<keyword>case</keyword>
<keyword>const</keyword>
<keyword>context</keyword>
<keyword>custom</keyword>
<keyword>default</keyword>
<keyword>exception</keyword>
<keyword>enum</keyword>
<keyword>factory</keyword>
<keyword>FALSE</keyword>
<keyword>in</keyword>
<keyword>inout</keyword>
<keyword>interface</keyword>
<keyword>local</keyword>
<keyword>module</keyword>
<keyword>native</keyword>
<keyword>oneway</keyword>
<keyword>out</keyword>
<keyword>private</keyword>
<keyword>public</keyword>
<keyword>raises</keyword>
<keyword>readonly</keyword>
<keyword>struct</keyword>
<keyword>support</keyword>
<keyword>switch</keyword>
<keyword>TRUE</keyword>
<keyword>truncatable</keyword>
<keyword>typedef</keyword>
<keyword>union</keyword>
<keyword>valuetype</keyword>
</context>
<context id="types" style-ref="data-type">
<keyword>any</keyword>
<keyword>boolean</keyword>
<keyword>char</keyword>
<keyword>double</keyword>
<keyword>fixed</keyword>
<keyword>float</keyword>
<keyword>long</keyword>
<keyword>Object</keyword>
<keyword>octet</keyword>
<keyword>sequence</keyword>
<keyword>short</keyword>
<keyword>string</keyword>
<keyword>unsigned</keyword>
<keyword>ValueBase</keyword>
<keyword>void</keyword>
<keyword>wchar</keyword>
<keyword>wstring</keyword>
</context>
<context id="preprocessor-definitions" style-ref="preprocessor">
<prefix>^[ \t]*#[ \t]*</prefix>
<keyword>if</keyword>
<keyword>ifdef</keyword>
<keyword>ifndef</keyword>
<keyword>else</keyword>
<keyword>elif</keyword>
<keyword>define</keyword>
<keyword>endif</keyword>
<keyword>undef</keyword>
</context>
<context id="idl">
<include>
<context ref="block-comment"/>
<context ref="line-comment"/>
<context ref="sectional"/>
<context ref="string"/>
<context ref="include-pragma"/>
<context ref="keywords"/>
<context ref="types"/>
<context ref="preprocessor-definitions"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,52 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name=".ini" version="1.0" _section="Others" mimetypes="text/x-ini-file;application/x-ini-file">
<language id="ini" _name=".ini" version="2.0" _section="Others">
<metadata>
<property name="mimetypes">text/x-ini-file;application/x-ini-file</property>
<property name="globs">*.ini</property>
<property name="line-comment-start">;</property>
</metadata>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>;</start-regex>
</line-comment>
<syntax-item _name = "Group" style = "Keyword">
<start-regex>^\[</start-regex>
<end-regex>\]$</end-regex>
</syntax-item>
<pattern-item _name = "Non Standard Key" style = "Data Type">
<regex>^_?X\-[a-zA-Z\-]+</regex>
</pattern-item>
<pattern-item _name = "Language" style = "Decimal">
<regex>\[[a-zA-Z_]+\]</regex>
</pattern-item>
<pattern-item _name = "Variable" style = "Data Type">
<regex>^[a-zA-Z_][a-zA-Z0-9_.]*</regex>
</pattern-item>
<keyword-list _name = "Boolean Value" style = "Preprocessor" case-sensitive="false">
<keyword>true</keyword>
<keyword>false</keyword>
<keyword>on</keyword>
<keyword>off</keyword>
<keyword>yes</keyword>
<keyword>no</keyword>
</keyword-list>
<string _name="Single Quoted String" style="String" end-at-line-end="FALSE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<string _name="Double Quoted String" style="String" end-at-line-end="FALSE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<pattern-item _name="Integer" style="Decimal">
<regex>\b[0-9]+\b</regex>
</pattern-item>
<pattern-item _name="Decimal Number" style="Floating Point">
<regex>(\b[0-9]+(\.[0-9]+)?|\.[0-9]+)([Ee][\+-]?[0-9]+)?\b</regex>
</pattern-item>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>;</start>
</context>
<context id="group" style-ref="keyword">
<start>^\[</start>
<end>\]$</end>
</context>
<context id="non-standard-key" style-ref="data-type">
<match>^_?X\-[a-zA-Z\-]+</match>
</context>
<context id="language" style-ref="decimal">
<match>\[[a-zA-Z_]+\]</match>
</context>
<context id="variable" style-ref="data-type">
<match>^[a-zA-Z_][a-zA-Z0-9_.]*</match>
</context>
<context id="boolean-value" style-ref="preprocessor">
<keyword>true</keyword>
<keyword>false</keyword>
<keyword>on</keyword>
<keyword>off</keyword>
<keyword>yes</keyword>
<keyword>no</keyword>
</context>
<context id="single-quoted-string" style-ref="string">
<start>'</start>
<end>'</end>
</context>
<context id="double-quoted-string" style-ref="string">
<start>"</start>
<end>"</end>
</context>
<context id="integer" style-ref="decimal">
<match>\b[0-9]+\b</match>
</context>
<context id="decimal-number" style-ref="floating-point">
<match>(\b[0-9]+(\.[0-9]+)?|\.[0-9]+)([Ee][\+-]?[0-9]+)?\b</match>
</context>
<context id="ini">
<include>
<context ref="line-comment"/>
<context ref="group"/>
<context ref="non-standard-key"/>
<context ref="language"/>
<context ref="variable"/>
<context ref="boolean-value"/>
<context ref="single-quoted-string"/>
<context ref="double-quoted-string"/>
<context ref="integer"/>
<context ref="decimal-number"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,99 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Java" version="1.0" _section="Sources" mimetypes="text/x-java">
<string _name = "String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<language id="java" _name="Java" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-java</property>
<property name="globs">*.java</property>
<property name="line-comment-start">//</property>
</metadata>
<string _name = "String 2" style = "String" end-at-line-end = "TRUE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>//</start-regex>
</line-comment>
<block-comment _name = "Block Comment" style = "Comment">
<start-regex>/\*</start-regex>
<end-regex>\*/</end-regex>
</block-comment>
<keyword-list _name = "Declarations" style = "Keyword" case-sensitive="TRUE">
<keyword>class</keyword>
<keyword>enum</keyword>
<keyword>extends</keyword>
<keyword>implements</keyword>
<keyword>import</keyword>
<keyword>instanceof</keyword>
<keyword>interface</keyword>
<keyword>native</keyword>
<keyword>package</keyword>
<keyword>volatile</keyword>
<keyword>throws</keyword>
</keyword-list>
<keyword-list _name = "Primitives" style = "Data Type" case-sensitive="TRUE">
<keyword>boolean</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>double</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>long</keyword>
<keyword>short</keyword>
</keyword-list>
<keyword-list _name = "Flow" style = "Keyword" case-sensitive="TRUE">
<keyword>assert</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>finally</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>return</keyword>
<keyword>synchronized</keyword>
<keyword>throw</keyword>
<keyword>switch</keyword>
<keyword>try</keyword>
<keyword>while</keyword>
</keyword-list>
<keyword-list _name = "Modifiers" style = "Keyword" case-sensitive="TRUE">
<keyword>abstract</keyword>
<keyword>final</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>static</keyword>
<keyword>strictfp</keyword>
<keyword>transient</keyword>
</keyword-list>
<keyword-list _name = "Memory" style = "Others" case-sensitive="TRUE">
<keyword>false</keyword>
<keyword>new</keyword>
<keyword>null</keyword>
<keyword>super</keyword>
<keyword>this</keyword>
<keyword>true</keyword>
<keyword>void</keyword>
</keyword-list>
<keyword-list _name = "Future Reserved Words" style = "Specials" case-sensitive="TRUE">
<keyword>const</keyword>
<keyword>goto</keyword>
</keyword-list>
<pattern-item _name = "Numeric" style = "Decimal">
<regex>(\b([0-9]+|0[xX][0-9a-fA-F]+)[Ll]?\b|\b(([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFdD]?|[0-9]+[FfDd]))</regex>
</pattern-item>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="specials" _name="Specials" map-to="def:specials"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="others" _name="Others"/>
</styles>
<definitions>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
</context>
<context id="string-2" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>//</start>
</context>
<context id="block-comment" style-ref="comment">
<start>\/\*</start>
<end>\*\/</end>
</context>
<context id="declarations" style-ref="keyword">
<keyword>class</keyword>
<keyword>enum</keyword>
<keyword>extends</keyword>
<keyword>implements</keyword>
<keyword>import</keyword>
<keyword>instanceof</keyword>
<keyword>interface</keyword>
<keyword>native</keyword>
<keyword>package</keyword>
<keyword>volatile</keyword>
<keyword>throws</keyword>
</context>
<context id="primitives" style-ref="data-type">
<keyword>boolean</keyword>
<keyword>byte</keyword>
<keyword>char</keyword>
<keyword>double</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>long</keyword>
<keyword>short</keyword>
</context>
<context id="flow" style-ref="keyword">
<keyword>assert</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>finally</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>return</keyword>
<keyword>synchronized</keyword>
<keyword>throw</keyword>
<keyword>switch</keyword>
<keyword>try</keyword>
<keyword>while</keyword>
</context>
<context id="modifiers" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>final</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>static</keyword>
<keyword>strictfp</keyword>
<keyword>transient</keyword>
</context>
<context id="memory" style-ref="others">
<keyword>false</keyword>
<keyword>new</keyword>
<keyword>null</keyword>
<keyword>super</keyword>
<keyword>this</keyword>
<keyword>true</keyword>
<keyword>void</keyword>
</context>
<context id="future-reserved-words" style-ref="specials">
<keyword>const</keyword>
<keyword>goto</keyword>
</context>
<context id="numeric" style-ref="decimal">
<match>(\b([0-9]+|0[xX][0-9a-fA-F]+)[Ll]?\b|\b(([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFdD]?|[0-9]+[FfDd]))</match>
</context>
<context id="java">
<include>
<context ref="string"/>
<context ref="string-2"/>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="declarations"/>
<context ref="primitives"/>
<context ref="flow"/>
<context ref="modifiers"/>
<context ref="memory"/>
<context ref="future-reserved-words"/>
<context ref="numeric"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,159 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Octave" version="1.0" _section="Scripts" mimetypes="text/x-octave;text/x-matlab">
<escape-char>\</escape-char>
<language id="octave" _name="Octave" version="2.0" _section="Scripts">
<metadata>
<property name="mimetypes">text/x-octave;text/x-matlab</property>
<property name="globs">*.m</property>
<property name="line-comment-start">#</property>
</metadata>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>#|%</start-regex>
</line-comment>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="base-n-integer" _name="Base-N Integer" map-to="def:base-n-integer"/>
<style id="function" _name="Function" map-to="def:function"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<string _name = "Multiline Double Quoted String" style = "String" end-at-line-end = "FALSE">
<start-regex>[uUrR]?&quot;&quot;&quot;</start-regex>
<end-regex>&quot;&quot;&quot;</end-regex>
</string>
<string _name = "Multiline Single Quoted String" style = "String" end-at-line-end = "FALSE">
<start-regex>[uUrR]?&apos;&apos;&apos;</start-regex>
<end-regex>&apos;&apos;&apos;</end-regex>
</string>
<string _name = "Double Quoted String" style = "String" end-at-line-end = "TRUE">
<start-regex>[uUrR]?&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<string _name = "Single Quoted String" style = "String" end-at-line-end = "TRUE">
<start-regex>[uUrR]?&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<keyword-list _name="Reserved Constant" style="Preprocessor" case-sensitive="TRUE">
<keyword>false</keyword>
<keyword>true</keyword>
<keyword>Inf</keyword>
<keyword>inf</keyword>
<keyword>NaN</keyword>
<keyword>NA</keyword>
</keyword-list>
<keyword-list _name = "Keyword" style = "Keyword" case-sensitive="TRUE">
<keyword>function</keyword>
<keyword>endfunction</keyword>
<keyword>switch</keyword>
<keyword>case</keyword>
<keyword>endswitch</keyword>
<keyword>otherwise</keyword>
<keyword>unwind_protect</keyword>
<keyword>unwind_protect_cleanup</keyword>
<keyword>end_unwind_protect</keyword>
<keyword>try</keyword>
<keyword>catch</keyword>
<keyword>end_try_catch</keyword>
<keyword>end</keyword>
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>endif</keyword>
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>for</keyword>
<keyword>endfor</keyword>
<keyword>return</keyword>
<keyword>do</keyword>
<keyword>until</keyword>
<keyword>while</keyword>
<keyword>endwhile</keyword>
<keyword>global</keyword>
<keyword>nargin</keyword>
<keyword>nargout</keyword>
<keyword>assert</keyword>
</keyword-list>
<pattern-item _name = "Decimal" style = "Decimal">
<regex>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
</pattern-item>
<pattern-item _name = "Floating Point Number" style = "Floating Point">
<regex>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</regex>
</pattern-item>
<pattern-item _name = "Octal Number" style = "Base-N Integer">
<regex>\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
</pattern-item>
<pattern-item _name = "Hex Number" style = "Base-N Integer">
<regex>\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex>
</pattern-item>
<keyword-list _name="Function" style="Function" case-sensitive="TRUE">
<keyword>size</keyword>
<keyword>zeros</keyword>
<keyword>ones</keyword>
<keyword>min</keyword>
<keyword>max</keyword>
<keyword>varargs</keyword>
<keyword>sqrt</keyword>
<keyword>atan2</keyword>
<keyword>asin</keyword>
<keyword>acos</keyword>
<keyword>log10</keyword>
<keyword>log</keyword>
<keyword>real</keyword>
<keyword>error</keyword>
<keyword>isscalar</keyword>
<keyword>isstr</keyword>
<keyword>strcmp</keyword>
<keyword>log2</keyword>
<keyword>Inf</keyword>
<keyword>isvector</keyword>
<keyword>strcat</keyword>
<keyword>fsolve</keyword>
<keyword>islogical</keyword>
<keyword>isempty</keyword>
<keyword>isnumeric</keyword>
<keyword>prod</keyword>
<keyword>round</keyword>
<keyword>dims</keyword>
<keyword>cumprod</keyword>
<keyword>ismatrix</keyword>
<keyword>floor</keyword>
<keyword>sort</keyword>
<keyword>ceil</keyword>
<keyword>linspace</keyword>
<keyword>isnan</keyword>
<keyword>isinf</keyword>
<keyword>nan_inf</keyword>
<keyword>repmat</keyword>
<keyword>colums</keyword>
<keyword>rows</keyword>
<keyword>sum</keyword>
<keyword>rem</keyword>
<keyword>reshape</keyword>
<keyword>conv</keyword>
<keyword>length</keyword>
<keyword>usage</keyword>
<keyword>log2</keyword>
<keyword>abs</keyword>
<keyword>setstr</keyword>
<keyword>printf</keyword>
<keyword>sprintf</keyword>
<keyword>fprintf</keyword>
<keyword>fread</keyword>
<keyword>fopen</keyword>
<keyword>fclose</keyword>
<keyword>system</keyword>
<keyword>unlink</keyword>
<keyword>error</keyword>
<keyword>warning</keyword>
</keyword-list>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>#|%</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="multiline-double-quoted-string" style-ref="string">
<start>[uUrR]?"""</start>
<end>"""</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="multiline-single-quoted-string" style-ref="string">
<start>[uUrR]?'''</start>
<end>'''</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="double-quoted-string" style-ref="string" end-at-line-end="true">
<start>[uUrR]?"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string" end-at-line-end="true">
<start>[uUrR]?'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="reserved-constant" style-ref="preprocessor">
<keyword>false</keyword>
<keyword>true</keyword>
<keyword>Inf</keyword>
<keyword>inf</keyword>
<keyword>NaN</keyword>
<keyword>NA</keyword>
</context>
<context id="keyword" style-ref="keyword">
<keyword>function</keyword>
<keyword>endfunction</keyword>
<keyword>switch</keyword>
<keyword>case</keyword>
<keyword>endswitch</keyword>
<keyword>otherwise</keyword>
<keyword>unwind_protect</keyword>
<keyword>unwind_protect_cleanup</keyword>
<keyword>end_unwind_protect</keyword>
<keyword>try</keyword>
<keyword>catch</keyword>
<keyword>end_try_catch</keyword>
<keyword>end</keyword>
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>endif</keyword>
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>for</keyword>
<keyword>endfor</keyword>
<keyword>return</keyword>
<keyword>do</keyword>
<keyword>until</keyword>
<keyword>while</keyword>
<keyword>endwhile</keyword>
<keyword>global</keyword>
<keyword>nargin</keyword>
<keyword>nargout</keyword>
<keyword>assert</keyword>
</context>
<context id="decimal" style-ref="decimal">
<match>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
</context>
<context id="floating-point-number" style-ref="floating-point">
<match>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</match>
</context>
<context id="octal-number" style-ref="base-n-integer">
<match>\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
</context>
<context id="hex-number" style-ref="base-n-integer">
<match>\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
</context>
<context id="function" style-ref="function">
<keyword>size</keyword>
<keyword>zeros</keyword>
<keyword>ones</keyword>
<keyword>min</keyword>
<keyword>max</keyword>
<keyword>varargs</keyword>
<keyword>sqrt</keyword>
<keyword>atan2</keyword>
<keyword>asin</keyword>
<keyword>acos</keyword>
<keyword>log10</keyword>
<keyword>log</keyword>
<keyword>real</keyword>
<keyword>error</keyword>
<keyword>isscalar</keyword>
<keyword>isstr</keyword>
<keyword>strcmp</keyword>
<keyword>log2</keyword>
<keyword>Inf</keyword>
<keyword>isvector</keyword>
<keyword>strcat</keyword>
<keyword>fsolve</keyword>
<keyword>islogical</keyword>
<keyword>isempty</keyword>
<keyword>isnumeric</keyword>
<keyword>prod</keyword>
<keyword>round</keyword>
<keyword>dims</keyword>
<keyword>cumprod</keyword>
<keyword>ismatrix</keyword>
<keyword>floor</keyword>
<keyword>sort</keyword>
<keyword>ceil</keyword>
<keyword>linspace</keyword>
<keyword>isnan</keyword>
<keyword>isinf</keyword>
<keyword>nan_inf</keyword>
<keyword>repmat</keyword>
<keyword>colums</keyword>
<keyword>rows</keyword>
<keyword>sum</keyword>
<keyword>rem</keyword>
<keyword>reshape</keyword>
<keyword>conv</keyword>
<keyword>length</keyword>
<keyword>usage</keyword>
<keyword>log2</keyword>
<keyword>abs</keyword>
<keyword>setstr</keyword>
<keyword>printf</keyword>
<keyword>sprintf</keyword>
<keyword>fprintf</keyword>
<keyword>fread</keyword>
<keyword>fopen</keyword>
<keyword>fclose</keyword>
<keyword>system</keyword>
<keyword>unlink</keyword>
<keyword>error</keyword>
<keyword>warning</keyword>
</context>
<context id="octave">
<include>
<context ref="line-comment"/>
<context ref="multiline-double-quoted-string"/>
<context ref="multiline-single-quoted-string"/>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="reserved-constant"/>
<context ref="keyword"/>
<context ref="decimal"/>
<context ref="floating-point-number"/>
<context ref="octal-number"/>
<context ref="hex-number"/>
<context ref="function"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,208 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Pascal" version="1.0" _section="Sources" mimetypes="text/x-pascal">
<language id="pascal" _name="Pascal" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-pascal</property>
<property name="globs">*.p;*.pas</property>
<property name="line-comment-start">//</property>
</metadata>
<string _name = "String" style = "String" end-at-line-end = "FALSE">
<start-regex>[uUrR]?&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<pattern-item _name = "Number" style = "Decimal">
<regex>\b(([0-9]+)|([0-9]+\.[0-9]+([Ee][-]?[0-9]+)?))\b</regex>
</pattern-item>
<!-- FIXME WHY DOESN'T THIS WORK? -->
<pattern-item _name = "Hex Number" style = "Decimal">
<regex>\b\$[0-9a-fA-F]*\b</regex>
</pattern-item>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>//</start-regex>
</line-comment>
<block-comment _name = "Block Comment 1" style= "Comment">
<start-regex>\(\*</start-regex>
<end-regex>\*\)</end-regex>
</block-comment>
<block-comment _name = "Block Comment 2" style= "Comment">
<start-regex>\{[^\$]</start-regex>
<end-regex>\}</end-regex>
</block-comment>
<string _name = "Preprocessor Defines" style= "Preprocessor" end-at-line-end = "TRUE">
<start-regex>\{\$</start-regex>
<end-regex>\}</end-regex>
</string>
<keyword-list _name = "General Format" style = "Keyword" case-sensitive="FALSE">
<!-- File Header -->
<keyword>Program</keyword>
<keyword>Library</keyword>
<keyword>Unit</keyword>
<!-- File Sections -->
<keyword>Uses</keyword>
<keyword>Interface</keyword>
<keyword>Implementation</keyword>
<!-- Unit Initialization/Finalization -->
<keyword>Initialization</keyword>
<keyword>Finalization</keyword>
<!-- Code Block -->
<keyword>Begin</keyword>
<keyword>End</keyword>
<!-- Variable and Constant -->
<keyword>Var</keyword>
<keyword>Const</keyword>
</keyword-list>
<keyword-list _name = "Functions and Function Modifiers" style = "Keyword" case-sensitive="FALSE">
<!-- Function Declarations -->
<keyword>Function</keyword>
<keyword>Procedure</keyword>
<!-- Function Modifiers -->
<keyword>Overload</keyword>
<keyword>cdecl</keyword>
</keyword-list>
<keyword-list _name = "Boolean Bitwise Operators" style = "Keyword" case-sensitive="FALSE">
<keyword>if</keyword>
<keyword>then</keyword>
<keyword>else</keyword>
<keyword>is</keyword>
<keyword>and</keyword>
<keyword>not</keyword>
<keyword>or</keyword>
<keyword>xor</keyword>
<keyword>shr</keyword>
<keyword>shl</keyword>
</keyword-list>
<keyword-list _name = "Math Operators" style = "Keyword" case-sensitive="FALSE">
<keyword>div</keyword>
<keyword>mod</keyword>
</keyword-list>
<keyword-list _name = "Loop, Flow, and Exceptions Keywords" style = "Keyword" case-sensitive="FALSE">
<keyword>while</keyword>
<keyword>do</keyword>
<keyword>for</keyword>
<keyword>to</keyword>
<keyword>case</keyword>
<keyword>of</keyword>
<keyword>repeat</keyword>
<keyword>until</keyword>
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>try</keyword>
<keyword>except</keyword>
<keyword>finally</keyword>
<keyword>raise</keyword>
</keyword-list>
<keyword-list _name = "Type, Class and Object Keywords" style = "Keyword" case-sensitive="FALSE">
<keyword>Type</keyword>
<!-- Arrays and Records -->
<keyword>Packed</keyword>
<keyword>Array</keyword>
<keyword>Record</keyword>
<!-- Object, Class, and Interface -->
<keyword>Object</keyword>
<keyword>Class</keyword>
<keyword>Interface</keyword>
<!-- Class Visibility Sections -->
<keyword>Public</keyword>
<keyword>Private</keyword>
<keyword>Protected</keyword>
<!-- Class Instance Initialization/Finalization -->
<keyword>Constructor</keyword>
<keyword>Destructor</keyword>
<!-- Class Function Modifiers -->
<keyword>Virtual</keyword>
<keyword>Abstract</keyword>
<keyword>Override</keyword>
<!-- Class Properties -->
<keyword>Property</keyword>
<keyword>Read</keyword>
<keyword>Write</keyword>
<keyword>default</keyword>
<!-- Type casting -->
<keyword>With</keyword>
<keyword>As</keyword>
<!-- Class Instance Reference-->
<keyword>self</keyword>
<!-- Class Inherited Functions -->
<keyword>Inherited</keyword>
</keyword-list>
<keyword-list _name = "Builtin Types" style = "Data Type" case-sensitive="FALSE">
<keyword>Char</keyword>
<keyword>String</keyword>
<keyword>Integer</keyword>
<keyword>Real</keyword>
<keyword>Boolean</keyword>
<keyword>Pointer</keyword>
</keyword-list>
<keyword-list _name = "Builtin Functions" style = "Keyword" case-sensitive="FALSE">
<!-- Conversions -->
<keyword>chr</keyword>
<keyword>ord</keyword>
<keyword>succ</keyword>
<keyword>pred</keyword>
<!-- Absolute Unsigned Value -->
<keyword>abs</keyword>
<!-- Rounding/Truncating -->
<keyword>round</keyword>
<keyword>trunc</keyword>
<!-- Square & Square Root -->
<keyword>sqr</keyword>
<keyword>sqrt</keyword>
<!-- Trig Functions -->
<keyword>arctan</keyword>
<keyword>cos</keyword>
<keyword>sin</keyword>
<!-- Exponents -->
<keyword>exp</keyword>
<keyword>ln</keyword>
<!-- Predicates -->
<keyword>odd</keyword>
<keyword>eof</keyword>
<keyword>eoln</keyword>
</keyword-list>
<keyword-list _name = "Builtin Values" style = "Keyword" case-sensitive="FALSE">
<keyword>nil</keyword>
<keyword>False</keyword>
<keyword>True</keyword>
</keyword-list>
<definitions>
<context id="string" style-ref="string">
<start>[uUrR]?'</start>
<end>'</end>
</context>
<context id="number" style-ref="decimal">
<match>\b(([0-9]+)|([0-9]+\.[0-9]+([Ee][-]?[0-9]+)?))\b</match>
</context>
<context id="hex-number" style-ref="decimal">
<match>\b\$[0-9a-fA-F]*\b</match>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>//</start>
</context>
<context id="block-comment-1" style-ref="comment">
<start>\(\*</start>
<end>\*\)</end>
</context>
<context id="block-comment-2" style-ref="comment">
<start>\{[^\$]</start>
<end>\}</end>
</context>
<context id="preprocessor-defines" style-ref="preprocessor" end-at-line-end="true">
<start>\{\$</start>
<end>\}</end>
</context>
<context id="general-format" style-ref="keyword">
<keyword>Program</keyword>
<keyword>Library</keyword>
<keyword>Unit</keyword>
<keyword>Uses</keyword>
<keyword>Interface</keyword>
<keyword>Implementation</keyword>
<keyword>Initialization</keyword>
<keyword>Finalization</keyword>
<keyword>Begin</keyword>
<keyword>End</keyword>
<keyword>Var</keyword>
<keyword>Const</keyword>
</context>
<context id="functions-and-function-modifiers" style-ref="keyword">
<keyword>Function</keyword>
<keyword>Procedure</keyword>
<keyword>Overload</keyword>
<keyword>cdecl</keyword>
</context>
<context id="boolean-bitwise-operators" style-ref="keyword">
<keyword>if</keyword>
<keyword>then</keyword>
<keyword>else</keyword>
<keyword>is</keyword>
<keyword>and</keyword>
<keyword>not</keyword>
<keyword>or</keyword>
<keyword>xor</keyword>
<keyword>shr</keyword>
<keyword>shl</keyword>
</context>
<context id="math-operators" style-ref="keyword">
<keyword>div</keyword>
<keyword>mod</keyword>
</context>
<context id="loop-flow-and-exceptions-keywords" style-ref="keyword">
<keyword>while</keyword>
<keyword>do</keyword>
<keyword>for</keyword>
<keyword>to</keyword>
<keyword>case</keyword>
<keyword>of</keyword>
<keyword>repeat</keyword>
<keyword>until</keyword>
<keyword>break</keyword>
<keyword>continue</keyword>
<keyword>try</keyword>
<keyword>except</keyword>
<keyword>finally</keyword>
<keyword>raise</keyword>
</context>
<context id="type-class-and-object-keywords" style-ref="keyword">
<keyword>Type</keyword>
<keyword>Packed</keyword>
<keyword>Array</keyword>
<keyword>Record</keyword>
<keyword>Object</keyword>
<keyword>Class</keyword>
<keyword>Interface</keyword>
<keyword>Public</keyword>
<keyword>Private</keyword>
<keyword>Protected</keyword>
<keyword>Constructor</keyword>
<keyword>Destructor</keyword>
<keyword>Virtual</keyword>
<keyword>Abstract</keyword>
<keyword>Override</keyword>
<keyword>Property</keyword>
<keyword>Read</keyword>
<keyword>Write</keyword>
<keyword>default</keyword>
<keyword>With</keyword>
<keyword>As</keyword>
<keyword>self</keyword>
<keyword>Inherited</keyword>
</context>
<context id="builtin-types" style-ref="data-type">
<keyword>Char</keyword>
<keyword>String</keyword>
<keyword>Integer</keyword>
<keyword>Real</keyword>
<keyword>Boolean</keyword>
<keyword>Pointer</keyword>
</context>
<context id="builtin-functions" style-ref="keyword">
<keyword>chr</keyword>
<keyword>ord</keyword>
<keyword>succ</keyword>
<keyword>pred</keyword>
<keyword>abs</keyword>
<keyword>round</keyword>
<keyword>trunc</keyword>
<keyword>sqr</keyword>
<keyword>sqrt</keyword>
<keyword>arctan</keyword>
<keyword>cos</keyword>
<keyword>sin</keyword>
<keyword>exp</keyword>
<keyword>ln</keyword>
<keyword>odd</keyword>
<keyword>eof</keyword>
<keyword>eoln</keyword>
</context>
<context id="builtin-values" style-ref="keyword">
<keyword>nil</keyword>
<keyword>False</keyword>
<keyword>True</keyword>
</context>
<context id="pascal">
<include>
<context ref="string"/>
<context ref="number"/>
<context ref="hex-number"/>
<context ref="line-comment"/>
<context ref="block-comment-1"/>
<context ref="block-comment-2"/>
<context ref="preprocessor-defines"/>
<context ref="general-format"/>
<context ref="functions-and-function-modifiers"/>
<context ref="boolean-bitwise-operators"/>
<context ref="math-operators"/>
<context ref="loop-flow-and-exceptions-keywords"/>
<context ref="type-class-and-object-keywords"/>
<context ref="builtin-types"/>
<context ref="builtin-functions"/>
<context ref="builtin-values"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,147 +1,175 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="PHP" version="1.0" _section="Scripts" mimetypes="text/x-php;application/x-php;text/x-php-source;application/x-php-source">
<language id="php" _name="PHP" version="2.0" _section="Scripts">
<metadata>
<property name="mimetypes">text/x-php;application/x-php;text/x-php-source;application/x-php-source</property>
<property name="globs">*.php;*.php3;*.php4</property>
<property name="line-comment-start">#</property>
</metadata>
<!-- FIXME: keywords before a '(' is hightlined as a function call instead of a keyword -->
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="others" _name="Others"/>
</styles>
<escape-char>\</escape-char>
<!-- // C++ Line Comment -->
<line-comment _name = "C++ Line Comment" style= "Comment">
<start-regex>//</start-regex>
</line-comment>
<!-- # Bourne Shell Line Comment -->
<line-comment _name = "Bash Line Comment" style= "Comment">
<start-regex>#</start-regex>
</line-comment>
<!-- /* C Block Comment */ -->
<block-comment _name = "C Block Comment" style = "Comment">
<start-regex>/\*</start-regex>
<end-regex>\*/</end-regex>
</block-comment>
<!-- <? ?> <HTML> inside PHP <? -->
<pattern-item _name = "First Open PHP Tag" style = "Others">
<regex>&lt;(%|[?](php)?)</regex>
</pattern-item>
<block-comment _name = "HTML Block" style = "Others">
<start-regex>[%?]&gt;</start-regex>
<end-regex>&lt;(%|[?](php)?)</end-regex>
</block-comment>
<!-- "duble-quoted strings" -->
<string _name = "Double Quoted String" style = "String" end-at-line-end = "FALSE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<!-- 'single-quoted strings' -->
<string _name = "Single Quoted String" style = "String" end-at-line-end = "FALSE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<!-- `backticks-quoted strings` -->
<string _name = "Backtick String" style = "String" end-at-line-end = "FALSE">
<start-regex>`</start-regex>
<end-regex>`</end-regex>
</string>
<!-- $variable, $$dynamic-variable and even $$$more -->
<pattern-item _name = "Variable" style = "Data Type">
<regex>[$]+[a-zA-Z_][a-zA-Z0-9_]*</regex>
</pattern-item>
<pattern-item _name = "Array Operators" style ="Data Type">
<regex>(\[|\])</regex>
</pattern-item>
<!-- function (Call|Definition) ($whatever::$whatelse) even call::objects -->
<!--
<pattern-item name = "Open Function" style = "Function">
<regex>([a-zA-Z0-9_]+::)?[a-zA-Z0-9_]*[ ]*[({]+</regex>
</pattern-item>
<pattern-item name = "Close Function" style = "Function">
<regex>[)}]+</regex>
</pattern-item>
-->
<!-- This are keywords, the are recognised by php -->
<keyword-list _name = "Case Sensitive Keyword" style = "Keyword" case-sensitive="TRUE">
<keyword>abstract</keyword>
<keyword>and</keyword>
<keyword>as</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>class</keyword>
<keyword>const</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>die</keyword>
<keyword>do</keyword>
<keyword>echo</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>endfor</keyword>
<keyword>endforeach</keyword>
<keyword>endswitch</keyword>
<keyword>endwhile</keyword>
<keyword>extends</keyword>
<keyword>for</keyword>
<keyword>global</keyword>
<keyword>final</keyword>
<keyword>foreach</keyword>
<keyword>function</keyword>
<keyword>if</keyword>
<keyword>implements</keyword>
<keyword>import</keyword>
<keyword>include</keyword>
<keyword>include_once</keyword>
<keyword>instanceof</keyword>
<keyword>interface</keyword>
<keyword>list</keyword>
<keyword>namespace</keyword>
<keyword>new</keyword>
<keyword>or</keyword>
<keyword>print</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>require</keyword>
<keyword>require_once</keyword>
<keyword>return</keyword>
<keyword>static</keyword>
<keyword>switch</keyword>
<keyword>throw</keyword>
<keyword>try</keyword>
<keyword>var</keyword>
<keyword>while</keyword>
<keyword>xor</keyword>
</keyword-list>
<keyword-list _name = "Case Insensitive Keyword" style = "Keyword" case-sensitive="FALSE">
<keyword>true</keyword>
<keyword>false</keyword>
<keyword>null</keyword>
</keyword-list>
<pattern-item _name = "Operators" style = "Keyword">
<regex>[-.~^@;:/%|\=\+\*\!\?&amp;&lt;&gt;]</regex>
</pattern-item>
<!-- $this = (datatype) -->
<keyword-list _name= "Data Type" style = "Data Type">
<keyword>array</keyword>
<keyword>bool</keyword>
<keyword>boolean</keyword>
<keyword>double</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>integer</keyword>
<keyword>object</keyword>
<keyword>real</keyword>
<keyword>string</keyword>
<keyword>unset</keyword>
</keyword-list>
<!-- FIXME: keywords before a '(' is hightlined as a function call instead of a keyword -->
<definitions>
<context id="cpp-line-comment" style-ref="comment" end-at-line-end="true">
<start>//</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="bash-line-comment" style-ref="comment" end-at-line-end="true">
<start>#</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="c-block-comment" style-ref="comment">
<start>/\*</start>
<end>\*/</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="first-open-php-tag" style-ref="others">
<match>&lt;(%|[?](php)?)</match>
</context>
<context id="html-block" style-ref="others">
<start>[%?]&gt;</start>
<end>&lt;(%|[?](php)?)</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="double-quoted-string" style-ref="string">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="backtick-string" style-ref="string">
<start>`</start>
<end>`</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="variable" style-ref="data-type">
<match>[$]+[a-zA-Z_][a-zA-Z0-9_]*</match>
</context>
<context id="array-operators" style-ref="data-type">
<match>(\[|\])</match>
</context>
<context id="case-sensitive-keyword" style-ref="keyword">
<keyword>abstract</keyword>
<keyword>and</keyword>
<keyword>as</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>class</keyword>
<keyword>const</keyword>
<keyword>continue</keyword>
<keyword>default</keyword>
<keyword>die</keyword>
<keyword>do</keyword>
<keyword>echo</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>endfor</keyword>
<keyword>endforeach</keyword>
<keyword>endswitch</keyword>
<keyword>endwhile</keyword>
<keyword>extends</keyword>
<keyword>for</keyword>
<keyword>global</keyword>
<keyword>final</keyword>
<keyword>foreach</keyword>
<keyword>function</keyword>
<keyword>if</keyword>
<keyword>implements</keyword>
<keyword>import</keyword>
<keyword>include</keyword>
<keyword>include_once</keyword>
<keyword>instanceof</keyword>
<keyword>interface</keyword>
<keyword>list</keyword>
<keyword>namespace</keyword>
<keyword>new</keyword>
<keyword>or</keyword>
<keyword>print</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>require</keyword>
<keyword>require_once</keyword>
<keyword>return</keyword>
<keyword>static</keyword>
<keyword>switch</keyword>
<keyword>throw</keyword>
<keyword>try</keyword>
<keyword>var</keyword>
<keyword>while</keyword>
<keyword>xor</keyword>
</context>
<context id="case-insensitive-keyword" style-ref="keyword">
<keyword>true</keyword>
<keyword>false</keyword>
<keyword>null</keyword>
</context>
<context id="operators" style-ref="keyword">
<match>[-.~^@;:/%|\=\+\*\!\?&amp;&lt;&gt;]</match>
</context>
<context id="data-type" style-ref="data-type">
<keyword>array</keyword>
<keyword>bool</keyword>
<keyword>boolean</keyword>
<keyword>double</keyword>
<keyword>float</keyword>
<keyword>int</keyword>
<keyword>integer</keyword>
<keyword>object</keyword>
<keyword>real</keyword>
<keyword>string</keyword>
<keyword>unset</keyword>
</context>
<context id="php">
<include>
<context ref="cpp-line-comment"/>
<context ref="bash-line-comment"/>
<context ref="c-block-comment"/>
<context ref="first-open-php-tag"/>
<context ref="html-block"/>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="backtick-string"/>
<context ref="variable"/>
<context ref="array-operators"/>
<context ref="case-sensitive-keyword"/>
<context ref="case-insensitive-keyword"/>
<context ref="operators"/>
<context ref="data-type"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,38 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="gettext translation" version="1.0" _section="Others"
mimetypes="text/x-po;text/x-pot;text/x-pox;text/x-gettext-translation">
<escape-char>\</escape-char>
<language id="gettext-translation" _name="gettext translation" version="2.0" _section="Others">
<metadata>
<property name="mimetypes">text/x-po;text/x-pot;text/x-pox;text/x-gettext-translation</property>
<property name="globs">*.po;*.pot</property>
<property name="line-comment-start">#</property>
</metadata>
<string _name = "String" style = "String" end-at-line-end = "FALSE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<line-comment _name = "Format" style= "Comment">
<start-regex>^#,</start-regex>
</line-comment>
<line-comment _name = "Location" style= "Others 2">
<start-regex>^#:</start-regex>
</line-comment>
<line-comment _name = "Comment" style= "Comment">
<start-regex>^#$|^#[^:,\n]</start-regex>
</line-comment>
<keyword-list _name = "Keyword" style = "Keyword" case-sensitive="TRUE"
match-empty-string-at-beginning = "FALSE"
match-empty-string-at-end = "TRUE"
beginning-regex = "^">
<keyword>domain</keyword>
<keyword>msgid</keyword>
<keyword>msgid_plural</keyword>
<keyword>msgstr</keyword>
</keyword-list>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="others-2" _name="Others 2"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
</styles>
<definitions>
<context id="string" style-ref="string">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="format" style-ref="comment" end-at-line-end="true">
<start>^#,</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="location" style-ref="others-2" end-at-line-end="true">
<start>^#:</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="comment" style-ref="comment" end-at-line-end="true">
<start>^#$|^#[^:,\n]</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="keyword" style-ref="keyword">
<prefix>^</prefix>
<keyword>domain</keyword>
<keyword>msgid</keyword>
<keyword>msgid_plural</keyword>
<keyword>msgstr</keyword>
</context>
<context id="gettext-translation">
<include>
<context ref="string"/>
<context ref="format"/>
<context ref="location"/>
<context ref="comment"/>
<context ref="keyword"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,151 +1,186 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Ruby" version="1.0" _section="Scripts" mimetypes="application/x-ruby;text/x-ruby">
<language id="ruby" _name="Ruby" version="2.0" _section="Scripts">
<metadata>
<property name="mimetypes">application/x-ruby;text/x-ruby</property>
<property name="globs">*.rb</property>
<property name="line-comment-start">#</property>
</metadata>
<escape-char>\</escape-char>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
<style id="others" _name="Others"/>
</styles>
<keyword-list _name="Attribute Definitions" style="Others" case-sensitive="TRUE">
<keyword>attr</keyword>
<keyword>attr_writer</keyword>
<keyword>attr_reader</keyword>
<keyword>attr_accessor</keyword>
</keyword-list>
<keyword-list _name="Definitions" style="Keyword" case-sensitive="TRUE">
<keyword>alias</keyword>
<keyword>class</keyword>
<keyword>module</keyword>
<keyword>def</keyword>
<keyword>undef</keyword>
</keyword-list>
<keyword-list _name="Pseudo Variables" style="Data Type" case-sensitive="TRUE">
<keyword>self</keyword>
<keyword>super</keyword>
<keyword>nil</keyword>
<keyword>false</keyword>
<keyword>true</keyword>
<keyword>__FILE__</keyword>
<keyword>__LINE__</keyword>
</keyword-list>
<keyword-list _name = "Module Handlers" style = "Preprocessor">
<keyword>require</keyword>
<keyword>include</keyword>
<keyword>load</keyword>
</keyword-list>
<keyword-list _name = "Keywords" style = "Keyword" case-sensitive="TRUE">
<keyword>BEGIN</keyword>
<keyword>END</keyword>
<keyword>and</keyword>
<keyword>begin</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>defined?</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>elsif</keyword>
<keyword>end</keyword>
<keyword>ensure</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>next</keyword>
<keyword>not</keyword>
<keyword>or</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>redo</keyword>
<keyword>rescue</keyword>
<keyword>retry</keyword>
<keyword>return</keyword>
<keyword>then</keyword>
<keyword>throw</keyword>
<keyword>unless</keyword>
<keyword>until</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
<keyword>yield</keyword>
</keyword-list>
<keyword-list _name = "Builtins" style = "Others" case-sensitive="TRUE">
<keyword>Array</keyword>
<keyword>Bignum</keyword>
<keyword>Binding</keyword>
<keyword>Class</keyword>
<keyword>Continuation</keyword>
<keyword>Dir</keyword>
<keyword>Exception</keyword>
<keyword>FalseClass</keyword>
<keyword>File::Stat</keyword>
<keyword>File</keyword>
<keyword>Fixnum</keyword>
<keyword>Fload</keyword>
<keyword>Hash</keyword>
<keyword>Integer</keyword>
<keyword>IO</keyword>
<keyword>MatchData</keyword>
<keyword>Method</keyword>
<keyword>Module</keyword>
<keyword>NilClass</keyword>
<keyword>Numeric</keyword>
<keyword>Object</keyword>
<keyword>Proc</keyword>
<keyword>Range</keyword>
<keyword>Regexp</keyword>
<keyword>String</keyword>
<keyword>Struct::Tms</keyword>
<keyword>Symbol</keyword>
<keyword>Symbol</keyword>
<keyword>ThreadGroup</keyword>
<keyword>Thread</keyword>
<keyword>Time</keyword>
<keyword>TrueClass</keyword>
</keyword-list>
<pattern-item _name = "Class Variables" style = "Data Type">
<regex>@@[a-zA-Z_][a-zA-Z0-9_]*</regex>
</pattern-item>
<pattern-item _name = "Instance Variables" style = "Data Type">
<regex>@[a-zA-Z_][a-zA-Z0-9_]*</regex>
</pattern-item>
<pattern-item _name = "Global Variables" style = "Data Type">
<regex>\$[a-zA-Z_][a-zA-Z0-9_]*</regex>
</pattern-item>
<pattern-item _name = "Symbols" style = "Data Type">
<regex>:[a-zA-Z0-9_]+</regex>
</pattern-item>
<pattern-item _name = "RegExp Variables" style = "Decimal">
<regex>\$[1-9][0-9]*</regex>
</pattern-item>
<pattern-item _name = "Constants" style = "Decimal">
<regex>\b[A-Z_][A-Za-z0-9_:]*\b</regex>
</pattern-item>
<string _name = "Double Quoted String" style = "String" end-at-line-end = "TRUE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<string _name = "Single Quoted String" style = "String" end-at-line-end = "TRUE">
<start-regex>&apos;</start-regex>
<end-regex>&apos;</end-regex>
</string>
<line-comment _name = "Line Comment" style= "Comment">
<start-regex>#</start-regex>
</line-comment>
<block-comment _name="Multiline Comment" style="Comment">
<start-regex>^=begin</start-regex>
<end-regex>^=end</end-regex>
</block-comment>
<definitions>
<context id="attribute-definitions" style-ref="others">
<keyword>attr</keyword>
<keyword>attr_writer</keyword>
<keyword>attr_reader</keyword>
<keyword>attr_accessor</keyword>
</context>
<context id="definitions" style-ref="keyword">
<keyword>alias</keyword>
<keyword>class</keyword>
<keyword>module</keyword>
<keyword>def</keyword>
<keyword>undef</keyword>
</context>
<context id="pseudo-variables" style-ref="data-type">
<keyword>self</keyword>
<keyword>super</keyword>
<keyword>nil</keyword>
<keyword>false</keyword>
<keyword>true</keyword>
<keyword>__FILE__</keyword>
<keyword>__LINE__</keyword>
</context>
<context id="module-handlers" style-ref="preprocessor">
<keyword>require</keyword>
<keyword>include</keyword>
<keyword>load</keyword>
</context>
<context id="keywords" style-ref="keyword">
<keyword>BEGIN</keyword>
<keyword>END</keyword>
<keyword>and</keyword>
<keyword>begin</keyword>
<keyword>break</keyword>
<keyword>case</keyword>
<keyword>catch</keyword>
<keyword>defined?</keyword>
<keyword>do</keyword>
<keyword>else</keyword>
<keyword>elsif</keyword>
<keyword>end</keyword>
<keyword>ensure</keyword>
<keyword>for</keyword>
<keyword>if</keyword>
<keyword>in</keyword>
<keyword>next</keyword>
<keyword>not</keyword>
<keyword>or</keyword>
<keyword>private</keyword>
<keyword>protected</keyword>
<keyword>public</keyword>
<keyword>redo</keyword>
<keyword>rescue</keyword>
<keyword>retry</keyword>
<keyword>return</keyword>
<keyword>then</keyword>
<keyword>throw</keyword>
<keyword>unless</keyword>
<keyword>until</keyword>
<keyword>when</keyword>
<keyword>while</keyword>
<keyword>yield</keyword>
</context>
<context id="builtins" style-ref="others">
<keyword>Array</keyword>
<keyword>Bignum</keyword>
<keyword>Binding</keyword>
<keyword>Class</keyword>
<keyword>Continuation</keyword>
<keyword>Dir</keyword>
<keyword>Exception</keyword>
<keyword>FalseClass</keyword>
<keyword>File::Stat</keyword>
<keyword>File</keyword>
<keyword>Fixnum</keyword>
<keyword>Fload</keyword>
<keyword>Hash</keyword>
<keyword>Integer</keyword>
<keyword>IO</keyword>
<keyword>MatchData</keyword>
<keyword>Method</keyword>
<keyword>Module</keyword>
<keyword>NilClass</keyword>
<keyword>Numeric</keyword>
<keyword>Object</keyword>
<keyword>Proc</keyword>
<keyword>Range</keyword>
<keyword>Regexp</keyword>
<keyword>String</keyword>
<keyword>Struct::Tms</keyword>
<keyword>Symbol</keyword>
<keyword>Symbol</keyword>
<keyword>ThreadGroup</keyword>
<keyword>Thread</keyword>
<keyword>Time</keyword>
<keyword>TrueClass</keyword>
</context>
<context id="class-variables" style-ref="data-type">
<match>@@[a-zA-Z_][a-zA-Z0-9_]*</match>
</context>
<context id="instance-variables" style-ref="data-type">
<match>@[a-zA-Z_][a-zA-Z0-9_]*</match>
</context>
<context id="global-variables" style-ref="data-type">
<match>\$[a-zA-Z_][a-zA-Z0-9_]*</match>
</context>
<context id="symbols" style-ref="data-type">
<match>:[a-zA-Z0-9_]+</match>
</context>
<context id="regexp-variables" style-ref="decimal">
<match>\$[1-9][0-9]*</match>
</context>
<context id="constants" style-ref="decimal">
<match>\b[A-Z_][A-Za-z0-9_:]*\b</match>
</context>
<context id="double-quoted-string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="single-quoted-string" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>#</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="multiline-comment" style-ref="comment">
<start>^=begin</start>
<end>^=end</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="ruby">
<include>
<context ref="attribute-definitions"/>
<context ref="definitions"/>
<context ref="pseudo-variables"/>
<context ref="module-handlers"/>
<context ref="keywords"/>
<context ref="builtins"/>
<context ref="class-variables"/>
<context ref="instance-variables"/>
<context ref="global-variables"/>
<context ref="symbols"/>
<context ref="regexp-variables"/>
<context ref="constants"/>
<context ref="double-quoted-string"/>
<context ref="single-quoted-string"/>
<context ref="line-comment"/>
<context ref="multiline-comment"/>
</include>
</context>
</definitions>
</language>

View File

@ -1,255 +1,266 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Scheme" version="1.0" _section="Sources" mimetypes="text/x-scheme">
<language id="scheme" _name="Scheme" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-scheme</property>
<property name="globs">*.scm</property>
<property name="line-comment-start">;</property>
</metadata>
<line-comment _name="Line Comment" style="Comment">
<start-regex>;</start-regex>
</line-comment>
<string _name="String" style="String" end-at-line-end="FALSE">
<start-regex>&quot;</start-regex>
<end-regex>&quot;</end-regex>
</string>
<!-- We cannot match \b at the end of a keyword automatically
because it fails for let* etc. So we need to manually add it to the
other keywords and match ([ \t]|$) for the one ending with a
special character. Unfortnately this also means that if the highlight
style for keywords sets the background color, for let* etc also the
trailing space will be highlighted. -->
<keyword-list _name="Keyword" style="Keyword"
case-sensitive="TRUE" match-empty-string-at-end="FALSE">
<keyword>and\b</keyword>
<keyword>begin\b</keyword>
<keyword>case\b</keyword>
<keyword>cond-expand\b</keyword>
<keyword>cond\b</keyword>
<keyword>define-accessor\b</keyword>
<keyword>define-class\b</keyword>
<keyword>defined\?([ \t]|$)</keyword>
<keyword>define-generic\b</keyword>
<keyword>define\b</keyword>
<keyword>define\*([ \t]|$)</keyword>
<keyword>define-macro\b</keyword>
<keyword>define-method\b</keyword>
<keyword>define-module\b</keyword>
<keyword>define-private\b</keyword>
<keyword>define-public\b</keyword>
<keyword>define\*-public\b</keyword>
<keyword>define-reader-ctor\b</keyword>
<keyword>define-syntax\b</keyword>
<keyword>define-syntax-macro\b</keyword>
<keyword>defmacro\b</keyword>
<keyword>defmacro\*([ \t]|$)</keyword>
<keyword>defmacro\*-public\b</keyword>
<keyword>delay\b</keyword>
<keyword>do\b</keyword>
<keyword>else\b</keyword>
<keyword>fluid-let\b</keyword>
<keyword>if\b</keyword>
<keyword>lambda\b</keyword>
<keyword>let\b</keyword>
<keyword>let\*([ \t]|$)</keyword>
<keyword>letrec\b</keyword>
<keyword>letrec-syntax\b</keyword>
<keyword>let-syntax\b</keyword>
<keyword>or\b</keyword>
<keyword>quasiquote\b</keyword>
<keyword>quote\b</keyword>
<keyword>set!\b</keyword>
<keyword>syntax-rules\b</keyword>
<keyword>unquote\b</keyword>
</keyword-list>
<keyword-list _name="Function" style="Others"
case-sensitive="TRUE" match-empty-string-at-end="FALSE">
<keyword>abs\b</keyword>
<keyword>acos\b</keyword>
<keyword>angle\b</keyword>
<keyword>append\b</keyword>
<keyword>apply\b</keyword>
<keyword>asin\b</keyword>
<keyword>assoc\b</keyword>
<keyword>assq\b</keyword>
<keyword>assv\b</keyword>
<keyword>atan\b</keyword>
<keyword>boolean\?([ \t]|$)</keyword>
<keyword>caaar\b</keyword>
<keyword>caadr\b</keyword>
<keyword>caar\b</keyword>
<keyword>cadar\b</keyword>
<keyword>caddr\b</keyword>
<keyword>cadr\b</keyword>
<keyword>call\/cc\b</keyword>
<keyword>call-with-current-continuation\b</keyword>
<keyword>call-with-input-file\b</keyword>
<keyword>call-with-output-file\b</keyword>
<keyword>call-with-values\b</keyword>
<keyword>car\b</keyword>
<keyword>catch\b</keyword>
<keyword>cdaar\b</keyword>
<keyword>cdadr\b</keyword>
<keyword>cdar\b</keyword>
<keyword>cddar\b</keyword>
<keyword>cdddr\b</keyword>
<keyword>cddr\b</keyword>
<keyword>cdr\b</keyword>
<keyword>ceiling\b</keyword>
<keyword>char-alphabetic\?([ \t]|$)</keyword>
<keyword>char-ci&gt;=\?([ \t]|$)</keyword>
<keyword>char-ci&gt;\?([ \t]|$)</keyword>
<keyword>char-ci\=\?([ \t]|$)</keyword>
<keyword>char-ci&lt;=\?([ \t]|$)</keyword>
<keyword>char-ci&lt;\?([ \t]|$)</keyword>
<keyword>char-downcase\b</keyword>
<keyword>char-&gt;integer\b</keyword>
<keyword>char&gt;=\?([ \t]|$)</keyword>
<keyword>char&gt;\?([ \t]|$)</keyword>
<keyword>char=\?([ \t]|$)</keyword>
<keyword>char\?([ \t]|$)</keyword>
<keyword>char-lower-case\?([ \t]|$)</keyword>
<keyword>char&lt;=\?([ \t]|$)</keyword>
<keyword>char&lt;\?([ \t]|$)</keyword>
<keyword>char-numeric\?([ \t]|$)</keyword>
<keyword>char-ready\?([ \t]|$)</keyword>
<keyword>char-upcase\b</keyword>
<keyword>char-upper-case\?([ \t]|$)</keyword>
<keyword>char-whitespace\?([ \t]|$)</keyword>
<keyword>close-input-port\b</keyword>
<keyword>close-output-port\b</keyword>
<keyword>complex\?([ \t]|$)</keyword>
<keyword>cons\b</keyword>
<keyword>cos\b</keyword>
<keyword>current-input-port\b</keyword>
<keyword>current-output-port\b</keyword>
<keyword>delete-file\b</keyword>
<keyword>display\b</keyword>
<keyword>dynamic-wind\b</keyword>
<keyword>eof-object\?([ \t]|$)</keyword>
<keyword>eq\?([ \t]|$)</keyword>
<keyword>equal\?([ \t]|$)</keyword>
<keyword>eqv\?([ \t]|$)</keyword>
<keyword>eval\b</keyword>
<keyword>even\?([ \t]|$)</keyword>
<keyword>exact-&gt;inexact\b</keyword>
<keyword>exact\?([ \t]|$)</keyword>
<keyword>exit\b</keyword>
<keyword>exp\b</keyword>
<keyword>expt\b</keyword>
<keyword>file-exists\?([ \t]|$)</keyword>
<keyword>file-or-directory-modify-seconds\b</keyword>
<keyword>floor\b</keyword>
<keyword>force\b</keyword>
<keyword>for-each\b</keyword>
<keyword>gcd\b</keyword>
<keyword>gensym\b</keyword>
<keyword>getenv\b</keyword>
<keyword>get-output-string\b</keyword>
<keyword>imag-part\b</keyword>
<keyword>inexact\?([ \t]|$)</keyword>
<keyword>input-port\?([ \t]|$)</keyword>
<keyword>integer-&gt;char\b</keyword>
<keyword>integer\?([ \t]|$)</keyword>
<keyword>lcm\b</keyword>
<keyword>length\b</keyword>
<keyword>list-&gt;string\b</keyword>
<keyword>list-&gt;vector\b</keyword>
<keyword>list\b</keyword>
<keyword>list\?([ \t]|$)</keyword>
<keyword>list-ref\b</keyword>
<keyword>list-tail\b</keyword>
<keyword>load\b</keyword>
<keyword>log\b</keyword>
<keyword>magnitude\b</keyword>
<keyword>make-polar\b</keyword>
<keyword>make-rectangular\b</keyword>
<keyword>make-string\b</keyword>
<keyword>make-vector\b</keyword>
<keyword>map\b</keyword>
<keyword>max\b</keyword>
<keyword>member\b</keyword>
<keyword>memq\b</keyword>
<keyword>memv\b</keyword>
<keyword>min\b</keyword>
<keyword>modulo\b</keyword>
<keyword>negative\?([ \t]|$)</keyword>
<keyword>newline\b</keyword>
<keyword>nil\b</keyword>
<keyword>not\b</keyword>
<keyword>null\?([ \t]|$)</keyword>
<keyword>number-&gt;string\b</keyword>
<keyword>number\?([ \t]|$)</keyword>
<keyword>odd\?([ \t]|$)</keyword>
<keyword>open-input-file\b</keyword>
<keyword>open-input-string\b</keyword>
<keyword>open-output-file\b</keyword>
<keyword>open-output-string\b</keyword>
<keyword>output-port\?([ \t]|$)</keyword>
<keyword>pair\?([ \t]|$)</keyword>
<keyword>peek-char\b</keyword>
<keyword>port\?([ \t]|$)</keyword>
<keyword>positive\?([ \t]|$)</keyword>
<keyword>procedure\?([ \t]|$)</keyword>
<keyword>quotient\b</keyword>
<keyword>rational\?([ \t]|$)</keyword>
<keyword>read-char\b</keyword>
<keyword>read\b</keyword>
<keyword>read-line\b</keyword>
<keyword>real\?([ \t]|$)</keyword>
<keyword>real-part\b</keyword>
<keyword>remainder\b</keyword>
<keyword>reverse\b</keyword>
<keyword>reverse\!([ \t]|$)</keyword>
<keyword>round\</keyword>
<keyword>set-car\!([ \t]|$)</keyword>
<keyword>set-cdr\!([ \t]|$)</keyword>
<keyword>sin\b</keyword>
<keyword>sqrt\b</keyword>
<keyword>string-append\b</keyword>
<keyword>string-ci&gt;=\?([ \t]|$)</keyword>
<keyword>string-ci&gt;\?([ \t]|$)</keyword>
<keyword>string-ci=\?([ \t]|$)</keyword>
<keyword>string-ci&lt;=\?([ \t]|$)</keyword>
<keyword>string-ci&lt;\?([ \t]|$)</keyword>
<keyword>string-copy\b</keyword>
<keyword>string-fill\!([ \t]|$)</keyword>
<keyword>string&gt;=\?([ \t]|$)</keyword>
<keyword>string&gt;\?([ \t]|$)</keyword>
<keyword>string-&gt;list\b</keyword>
<keyword>string-&gt;number\b</keyword>
<keyword>string-&gt;symbol\b</keyword>
<keyword>string\b</keyword>
<keyword>string=\?([ \t]|$)</keyword>
<keyword>string\?([ \t]|$)</keyword>
<keyword>string-length\b</keyword>
<keyword>string&lt;=\?([ \t]|$)</keyword>
<keyword>string&lt;\?([ \t]|$)</keyword>
<keyword>string-ref\b</keyword>
<keyword>string-set\!([ \t]|$)</keyword>
<keyword>substring\b</keyword>
<keyword>symbol-&gt;string\b</keyword>
<keyword>symbol\?([ \t]|$)</keyword>
<keyword>system\b</keyword>
<keyword>tan\b</keyword>
<keyword>truncate\b</keyword>
<keyword>values\b</keyword>
<keyword>vector-fill\!([ \t]|$)</keyword>
<keyword>vector-&gt;list\b</keyword>
<keyword>vector\b</keyword>
<keyword>vector\?([ \t]|$)</keyword>
<keyword>vector-length\b</keyword>
<keyword>vector-ref\b</keyword>
<keyword>vector-set\!([ \t]|$)</keyword>
<keyword>with-input-from-file\b</keyword>
<keyword>with-output-to-file\b</keyword>
<keyword>write-char\b</keyword>
<keyword>write\b</keyword>
<keyword>zero\?([ \t]|$)</keyword>
</keyword-list>
<pattern-item _name="Boolean Value" style="Preprocessor">
<regex>#(f|t)</regex>
</pattern-item>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="others" _name="Others"/>
</styles>
<definitions>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>;</start>
</context>
<context id="string" style-ref="string">
<start>"</start>
<end>"</end>
</context>
<context id="keyword" style-ref="keyword">
<suffix></suffix>
<keyword>and\b</keyword>
<keyword>begin\b</keyword>
<keyword>case\b</keyword>
<keyword>cond-expand\b</keyword>
<keyword>cond\b</keyword>
<keyword>define-accessor\b</keyword>
<keyword>define-class\b</keyword>
<keyword>defined\?([ \t]|$)</keyword>
<keyword>define-generic\b</keyword>
<keyword>define\b</keyword>
<keyword>define\*([ \t]|$)</keyword>
<keyword>define-macro\b</keyword>
<keyword>define-method\b</keyword>
<keyword>define-module\b</keyword>
<keyword>define-private\b</keyword>
<keyword>define-public\b</keyword>
<keyword>define\*-public\b</keyword>
<keyword>define-reader-ctor\b</keyword>
<keyword>define-syntax\b</keyword>
<keyword>define-syntax-macro\b</keyword>
<keyword>defmacro\b</keyword>
<keyword>defmacro\*([ \t]|$)</keyword>
<keyword>defmacro\*-public\b</keyword>
<keyword>delay\b</keyword>
<keyword>do\b</keyword>
<keyword>else\b</keyword>
<keyword>fluid-let\b</keyword>
<keyword>if\b</keyword>
<keyword>lambda\b</keyword>
<keyword>let\b</keyword>
<keyword>let\*([ \t]|$)</keyword>
<keyword>letrec\b</keyword>
<keyword>letrec-syntax\b</keyword>
<keyword>let-syntax\b</keyword>
<keyword>or\b</keyword>
<keyword>quasiquote\b</keyword>
<keyword>quote\b</keyword>
<keyword>set!\b</keyword>
<keyword>syntax-rules\b</keyword>
<keyword>unquote\b</keyword>
</context>
<context id="function" style-ref="others">
<suffix></suffix>
<keyword>abs\b</keyword>
<keyword>acos\b</keyword>
<keyword>angle\b</keyword>
<keyword>append\b</keyword>
<keyword>apply\b</keyword>
<keyword>asin\b</keyword>
<keyword>assoc\b</keyword>
<keyword>assq\b</keyword>
<keyword>assv\b</keyword>
<keyword>atan\b</keyword>
<keyword>boolean\?([ \t]|$)</keyword>
<keyword>caaar\b</keyword>
<keyword>caadr\b</keyword>
<keyword>caar\b</keyword>
<keyword>cadar\b</keyword>
<keyword>caddr\b</keyword>
<keyword>cadr\b</keyword>
<keyword>call\/cc\b</keyword>
<keyword>call-with-current-continuation\b</keyword>
<keyword>call-with-input-file\b</keyword>
<keyword>call-with-output-file\b</keyword>
<keyword>call-with-values\b</keyword>
<keyword>car\b</keyword>
<keyword>catch\b</keyword>
<keyword>cdaar\b</keyword>
<keyword>cdadr\b</keyword>
<keyword>cdar\b</keyword>
<keyword>cddar\b</keyword>
<keyword>cdddr\b</keyword>
<keyword>cddr\b</keyword>
<keyword>cdr\b</keyword>
<keyword>ceiling\b</keyword>
<keyword>char-alphabetic\?([ \t]|$)</keyword>
<keyword>char-ci&gt;=\?([ \t]|$)</keyword>
<keyword>char-ci&gt;\?([ \t]|$)</keyword>
<keyword>char-ci\=\?([ \t]|$)</keyword>
<keyword>char-ci&lt;=\?([ \t]|$)</keyword>
<keyword>char-ci&lt;\?([ \t]|$)</keyword>
<keyword>char-downcase\b</keyword>
<keyword>char-&gt;integer\b</keyword>
<keyword>char&gt;=\?([ \t]|$)</keyword>
<keyword>char&gt;\?([ \t]|$)</keyword>
<keyword>char=\?([ \t]|$)</keyword>
<keyword>char\?([ \t]|$)</keyword>
<keyword>char-lower-case\?([ \t]|$)</keyword>
<keyword>char&lt;=\?([ \t]|$)</keyword>
<keyword>char&lt;\?([ \t]|$)</keyword>
<keyword>char-numeric\?([ \t]|$)</keyword>
<keyword>char-ready\?([ \t]|$)</keyword>
<keyword>char-upcase\b</keyword>
<keyword>char-upper-case\?([ \t]|$)</keyword>
<keyword>char-whitespace\?([ \t]|$)</keyword>
<keyword>close-input-port\b</keyword>
<keyword>close-output-port\b</keyword>
<keyword>complex\?([ \t]|$)</keyword>
<keyword>cons\b</keyword>
<keyword>cos\b</keyword>
<keyword>current-input-port\b</keyword>
<keyword>current-output-port\b</keyword>
<keyword>delete-file\b</keyword>
<keyword>display\b</keyword>
<keyword>dynamic-wind\b</keyword>
<keyword>eof-object\?([ \t]|$)</keyword>
<keyword>eq\?([ \t]|$)</keyword>
<keyword>equal\?([ \t]|$)</keyword>
<keyword>eqv\?([ \t]|$)</keyword>
<keyword>eval\b</keyword>
<keyword>even\?([ \t]|$)</keyword>
<keyword>exact-&gt;inexact\b</keyword>
<keyword>exact\?([ \t]|$)</keyword>
<keyword>exit\b</keyword>
<keyword>exp\b</keyword>
<keyword>expt\b</keyword>
<keyword>file-exists\?([ \t]|$)</keyword>
<keyword>file-or-directory-modify-seconds\b</keyword>
<keyword>floor\b</keyword>
<keyword>force\b</keyword>
<keyword>for-each\b</keyword>
<keyword>gcd\b</keyword>
<keyword>gensym\b</keyword>
<keyword>getenv\b</keyword>
<keyword>get-output-string\b</keyword>
<keyword>imag-part\b</keyword>
<keyword>inexact\?([ \t]|$)</keyword>
<keyword>input-port\?([ \t]|$)</keyword>
<keyword>integer-&gt;char\b</keyword>
<keyword>integer\?([ \t]|$)</keyword>
<keyword>lcm\b</keyword>
<keyword>length\b</keyword>
<keyword>list-&gt;string\b</keyword>
<keyword>list-&gt;vector\b</keyword>
<keyword>list\b</keyword>
<keyword>list\?([ \t]|$)</keyword>
<keyword>list-ref\b</keyword>
<keyword>list-tail\b</keyword>
<keyword>load\b</keyword>
<keyword>log\b</keyword>
<keyword>magnitude\b</keyword>
<keyword>make-polar\b</keyword>
<keyword>make-rectangular\b</keyword>
<keyword>make-string\b</keyword>
<keyword>make-vector\b</keyword>
<keyword>map\b</keyword>
<keyword>max\b</keyword>
<keyword>member\b</keyword>
<keyword>memq\b</keyword>
<keyword>memv\b</keyword>
<keyword>min\b</keyword>
<keyword>modulo\b</keyword>
<keyword>negative\?([ \t]|$)</keyword>
<keyword>newline\b</keyword>
<keyword>nil\b</keyword>
<keyword>not\b</keyword>
<keyword>null\?([ \t]|$)</keyword>
<keyword>number-&gt;string\b</keyword>
<keyword>number\?([ \t]|$)</keyword>
<keyword>odd\?([ \t]|$)</keyword>
<keyword>open-input-file\b</keyword>
<keyword>open-input-string\b</keyword>
<keyword>open-output-file\b</keyword>
<keyword>open-output-string\b</keyword>
<keyword>output-port\?([ \t]|$)</keyword>
<keyword>pair\?([ \t]|$)</keyword>
<keyword>peek-char\b</keyword>
<keyword>port\?([ \t]|$)</keyword>
<keyword>positive\?([ \t]|$)</keyword>
<keyword>procedure\?([ \t]|$)</keyword>
<keyword>quotient\b</keyword>
<keyword>rational\?([ \t]|$)</keyword>
<keyword>read-char\b</keyword>
<keyword>read\b</keyword>
<keyword>read-line\b</keyword>
<keyword>real\?([ \t]|$)</keyword>
<keyword>real-part\b</keyword>
<keyword>remainder\b</keyword>
<keyword>reverse\b</keyword>
<keyword>reverse\!([ \t]|$)</keyword>
<keyword>round\</keyword>
<keyword>set-car\!([ \t]|$)</keyword>
<keyword>set-cdr\!([ \t]|$)</keyword>
<keyword>sin\b</keyword>
<keyword>sqrt\b</keyword>
<keyword>string-append\b</keyword>
<keyword>string-ci&gt;=\?([ \t]|$)</keyword>
<keyword>string-ci&gt;\?([ \t]|$)</keyword>
<keyword>string-ci=\?([ \t]|$)</keyword>
<keyword>string-ci&lt;=\?([ \t]|$)</keyword>
<keyword>string-ci&lt;\?([ \t]|$)</keyword>
<keyword>string-copy\b</keyword>
<keyword>string-fill\!([ \t]|$)</keyword>
<keyword>string&gt;=\?([ \t]|$)</keyword>
<keyword>string&gt;\?([ \t]|$)</keyword>
<keyword>string-&gt;list\b</keyword>
<keyword>string-&gt;number\b</keyword>
<keyword>string-&gt;symbol\b</keyword>
<keyword>string\b</keyword>
<keyword>string=\?([ \t]|$)</keyword>
<keyword>string\?([ \t]|$)</keyword>
<keyword>string-length\b</keyword>
<keyword>string&lt;=\?([ \t]|$)</keyword>
<keyword>string&lt;\?([ \t]|$)</keyword>
<keyword>string-ref\b</keyword>
<keyword>string-set\!([ \t]|$)</keyword>
<keyword>substring\b</keyword>
<keyword>symbol-&gt;string\b</keyword>
<keyword>symbol\?([ \t]|$)</keyword>
<keyword>system\b</keyword>
<keyword>tan\b</keyword>
<keyword>truncate\b</keyword>
<keyword>values\b</keyword>
<keyword>vector-fill\!([ \t]|$)</keyword>
<keyword>vector-&gt;list\b</keyword>
<keyword>vector\b</keyword>
<keyword>vector\?([ \t]|$)</keyword>
<keyword>vector-length\b</keyword>
<keyword>vector-ref\b</keyword>
<keyword>vector-set\!([ \t]|$)</keyword>
<keyword>with-input-from-file\b</keyword>
<keyword>with-output-to-file\b</keyword>
<keyword>write-char\b</keyword>
<keyword>write\b</keyword>
<keyword>zero\?([ \t]|$)</keyword>
</context>
<context id="boolean-value" style-ref="preprocessor">
<match>#(f|t)</match>
</context>
<context id="scheme">
<include>
<context ref="line-comment"/>
<context ref="string"/>
<context ref="keyword"/>
<context ref="function"/>
<context ref="boolean-value"/>
</include>
</context>
</definitions>
</language>

File diff suppressed because it is too large Load Diff

View File

@ -1,123 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Tcl" version="1.0" _section="Scripts" mimetypes="text/x-tcl;application/x-tcl">
<escape-char>\</escape-char>
<language id="tcl" _name="Tcl" version="2.0" _section="Scripts">
<metadata>
<property name="mimetypes">text/x-tcl;application/x-tcl</property>
<property name="globs">*.tcl;*.tk</property>
<property name="line-comment-start">#</property>
</metadata>
<string _name="String" style="String" end-at-line-end="TRUE">
<start-regex>"</start-regex>
<end-regex>"</end-regex>
</string>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="data-type" _name="Data Type" map-to="def:data-type"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
</styles>
<string _name="String2" style="String" end-at-line-end="TRUE">
<start-regex>'</start-regex>
<end-regex>'</end-regex>
</string>
<line-comment _name="Line Comment" style="Comment">
<start-regex>#</start-regex>
</line-comment>
<pattern-item _name="Variable" style="Data Type">
<regex>[$@%][$]?[a-zA-Z_][a-zA-Z0-9_]*</regex>
</pattern-item>
<keyword-list _name="Keyword" style="Keyword" case-sensitive="TRUE">
<!--String handling-->
<keyword>string</keyword>
<keyword>subst</keyword>
<keyword>regexp</keyword>
<keyword>regsub</keyword>
<keyword>scan</keyword>
<keyword>format</keyword>
<keyword>binary</keyword>
<!--List handling-->
<keyword>list</keyword>
<keyword>split</keyword>
<keyword>join</keyword>
<keyword>concat</keyword>
<keyword>llength</keyword>
<keyword>lrange</keyword>
<keyword>lsearch</keyword>
<keyword>lreplace</keyword>
<keyword>lindex</keyword>
<keyword>lsort</keyword>
<keyword>linsert</keyword>
<keyword>lrepeat</keyword>
<keyword>dict</keyword>
<!--Control constucts-->
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>then</keyword>
<keyword>for</keyword>
<keyword>foreach</keyword>
<keyword>switch</keyword>
<keyword>case</keyword>
<keyword>while</keyword>
<keyword>continue</keyword>
<keyword>return</keyword>
<keyword>break</keyword>
<keyword>catch</keyword>
<keyword>error</keyword>
<keyword>eval</keyword>
<keyword>uplevel</keyword>
<keyword>after</keyword>
<keyword>update</keyword>
<keyword>vwait</keyword>
<!--Variables and procedures-->
<keyword>proc</keyword>
<keyword>rename</keyword>
<keyword>set</keyword>
<keyword>lset</keyword>
<keyword>lassign</keyword>
<keyword>unset</keyword>
<keyword>namespace</keyword>
<keyword>variable</keyword>
<keyword>upvar</keyword>
<keyword>global</keyword>
<keyword>trace</keyword>
<keyword>array</keyword>
<keyword>incr</keyword>
<keyword>append</keyword>
<keyword>lappend</keyword>
<keyword>expr</keyword>
<!--Input/Output-->
<keyword>file</keyword>
<keyword>open</keyword>
<keyword>close</keyword>
<keyword>socket</keyword>
<keyword>fconfigure</keyword>
<keyword>puts</keyword>
<keyword>gets</keyword>
<keyword>read</keyword>
<keyword>seek</keyword>
<keyword>tell</keyword>
<keyword>eof</keyword>
<keyword>flush</keyword>
<keyword>fblocked</keyword>
<keyword>fcopy</keyword>
<keyword>fileevent</keyword>
<!--Packages and source files-->
<keyword>source</keyword>
<keyword>load</keyword>
<keyword>unload</keyword>
<keyword>package</keyword>
<!--Interpreter routines-->
<keyword>info</keyword>
<keyword>interp</keyword>
<keyword>history</keyword>
<keyword>bgerror</keyword>
<keyword>unknown</keyword>
<keyword>memory</keyword>
<!--System related-->
<keyword>cd</keyword>
<keyword>pwd</keyword>
<keyword>clock</keyword>
<keyword>time</keyword>
<keyword>exec</keyword>
<keyword>glob</keyword>
<keyword>pid</keyword>
<keyword>exit</keyword>
</keyword-list>
<definitions>
<context id="string" style-ref="string" end-at-line-end="true">
<start>"</start>
<end>"</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="string2" style-ref="string" end-at-line-end="true">
<start>'</start>
<end>'</end>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>#</start>
<include>
<context ref="def:escape"/>
<context ref="def:line-continue"/>
</include>
</context>
<context id="variable" style-ref="data-type">
<match>[$@%][$]?[a-zA-Z_][a-zA-Z0-9_]*</match>
</context>
<context id="keyword" style-ref="keyword">
<keyword>string</keyword>
<keyword>subst</keyword>
<keyword>regexp</keyword>
<keyword>regsub</keyword>
<keyword>scan</keyword>
<keyword>format</keyword>
<keyword>binary</keyword>
<keyword>list</keyword>
<keyword>split</keyword>
<keyword>join</keyword>
<keyword>concat</keyword>
<keyword>llength</keyword>
<keyword>lrange</keyword>
<keyword>lsearch</keyword>
<keyword>lreplace</keyword>
<keyword>lindex</keyword>
<keyword>lsort</keyword>
<keyword>linsert</keyword>
<keyword>lrepeat</keyword>
<keyword>dict</keyword>
<keyword>if</keyword>
<keyword>else</keyword>
<keyword>elseif</keyword>
<keyword>then</keyword>
<keyword>for</keyword>
<keyword>foreach</keyword>
<keyword>switch</keyword>
<keyword>case</keyword>
<keyword>while</keyword>
<keyword>continue</keyword>
<keyword>return</keyword>
<keyword>break</keyword>
<keyword>catch</keyword>
<keyword>error</keyword>
<keyword>eval</keyword>
<keyword>uplevel</keyword>
<keyword>after</keyword>
<keyword>update</keyword>
<keyword>vwait</keyword>
<keyword>proc</keyword>
<keyword>rename</keyword>
<keyword>set</keyword>
<keyword>lset</keyword>
<keyword>lassign</keyword>
<keyword>unset</keyword>
<keyword>namespace</keyword>
<keyword>variable</keyword>
<keyword>upvar</keyword>
<keyword>global</keyword>
<keyword>trace</keyword>
<keyword>array</keyword>
<keyword>incr</keyword>
<keyword>append</keyword>
<keyword>lappend</keyword>
<keyword>expr</keyword>
<keyword>file</keyword>
<keyword>open</keyword>
<keyword>close</keyword>
<keyword>socket</keyword>
<keyword>fconfigure</keyword>
<keyword>puts</keyword>
<keyword>gets</keyword>
<keyword>read</keyword>
<keyword>seek</keyword>
<keyword>tell</keyword>
<keyword>eof</keyword>
<keyword>flush</keyword>
<keyword>fblocked</keyword>
<keyword>fcopy</keyword>
<keyword>fileevent</keyword>
<keyword>source</keyword>
<keyword>load</keyword>
<keyword>unload</keyword>
<keyword>package</keyword>
<keyword>info</keyword>
<keyword>interp</keyword>
<keyword>history</keyword>
<keyword>bgerror</keyword>
<keyword>unknown</keyword>
<keyword>memory</keyword>
<keyword>cd</keyword>
<keyword>pwd</keyword>
<keyword>clock</keyword>
<keyword>time</keyword>
<keyword>exec</keyword>
<keyword>glob</keyword>
<keyword>pid</keyword>
<keyword>exit</keyword>
</context>
<context id="tcl">
<include>
<context ref="string"/>
<context ref="string2"/>
<context ref="line-comment"/>
<context ref="variable"/>
<context ref="keyword"/>
</include>
</context>
</definitions>
</language>

View File

@ -17,357 +17,381 @@ Copyright (C) 2004 Travis A. Snoozy
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-->
<!DOCTYPE language SYSTEM "language.dtd">
<language _name="Texinfo" version="1.0" _section="Markup" mimetypes="text/x-texinfo">
<!-- converted to new lang file format with convert.py -->
<language id="texinfo" _name="Texinfo" version="2.0" _section="Markup">
<metadata>
<property name="mimetypes">text/x-texinfo</property>
<property name="globs">*.texi;*.texinfo</property>
<property name="line-comment-start">@c </property>
</metadata>
<escape-char>@</escape-char>
<line-comment _name="Line Comment" style="Comment">
<start-regex>@c(omment)? </start-regex>
</line-comment>
<block-comment _name="Block Comment" style="Comment">
<start-regex>^@ignore$</start-regex>
<end-regex>^@end ignore$</end-regex>
</block-comment>
<string _name="Macro Parameters" style="String" end-at-line-end="FALSE">
<start-regex>\{[^}]</start-regex>
<end-regex>\}</end-regex>
</string>
<keyword-list _name="Macros" style="Preprocessor" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="^@">
<keyword>alias</keyword>
<keyword>bye$</keyword>
<keyword>clear</keyword>
<keyword>defcodeindex</keyword>
<keyword>defindex</keyword>
<keyword>definfoenclose</keyword>
<keyword>(end )?docbook$</keyword>
<keyword>(end )?html$</keyword>
<keyword>ifclear</keyword>
<keyword>end ifclear$</keyword>
<keyword>(end )?if(not)?docbook$</keyword>
<keyword>(end )?if(not)?html$</keyword>
<keyword>(end )?if(not)?info$</keyword>
<keyword>(end )?if(not)?plaintext$</keyword>
<keyword>(end )?if(not)?tex$</keyword>
<keyword>(end )?if(not)?xml$</keyword>
<keyword>ifset</keyword>
<keyword>end ifset$</keyword>
<keyword>lowersections$</keyword>
<keyword>macro</keyword>
<keyword>end macro$</keyword>
<keyword>raisesections$</keyword>
<keyword>set</keyword>
<keyword>syncodeindex</keyword>
<keyword>synindex</keyword>
<keyword>(end )?tex$</keyword>
<keyword>(end )?xml$</keyword>
</keyword-list>
<keyword-list _name="Indexing" style="Keyword" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="^@">
<keyword>cindex</keyword>
<keyword>findex</keyword>
<keyword>kindex</keyword>
<keyword>pindex</keyword>
<keyword>tindex</keyword>
<keyword>vindex</keyword>
</keyword-list>
<keyword-list _name="File Attributes" style="Preprocessor" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="^@">
<keyword>afivepaper$</keyword>
<keyword>afourlatex$</keyword>
<keyword>afourpaper$</keyword>
<keyword>afourwide$</keyword>
<keyword>dircategory</keyword>
<keyword>(end )?direntry$</keyword>
<keyword>(end )?documentdescription$</keyword>
<keyword>documentencoding</keyword>
<keyword>documentlanguage</keyword>
<keyword>evenfooting</keyword>
<keyword>evenheading</keyword>
<keyword>everyfooting</keyword>
<keyword>everyheading</keyword>
<keyword>finalout$</keyword>
<keyword>footnotestyle</keyword>
<keyword>headings</keyword>
<keyword>kbdinputstyle</keyword>
<keyword>novalidate$</keyword>
<keyword>oddfooting</keyword>
<keyword>oddheading</keyword>
<keyword>pagesizes</keyword>
<keyword>paragraphindent</keyword>
<keyword>setchapternewpage</keyword>
<keyword>setcontentsaftertitlepage$</keyword>
<keyword>setfilename</keyword>
<keyword>setshortcontentsaftertitlepage$</keyword>
<keyword>settitle</keyword>
<keyword>smallbook$</keyword>
<keyword>titlefont</keyword>
</keyword-list>
<keyword-list _name="Generated Content" style="Preprocessor" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="">
<keyword>^@contents$</keyword>
<keyword>^@insertcopying$</keyword>
<keyword>^@listoffloats$</keyword>
<keyword>^@printindex$</keyword>
<keyword>^@shortcontents$</keyword>
<keyword>^@shorttitlepage$</keyword>
<keyword>^@summarycontents$</keyword>
<keyword>@thischapter</keyword>
<keyword>@thischaptername</keyword>
<keyword>@thisfile</keyword>
<keyword>@thispage</keyword>
<keyword>@thistitle</keyword>
<keyword>@today</keyword>
<keyword>@value</keyword>
<keyword>@verb</keyword>
<keyword>^@(end )?verbatim$</keyword>
<keyword>^@verbatiminclude</keyword>
</keyword-list>
<keyword-list _name="Include" style="Preprocessor" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="">
<keyword>^\\input</keyword>
<keyword>^@include</keyword>
<keyword>@image</keyword>
</keyword-list>
<keyword-list _name="Markup (inline)" style="Keyword" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="@">
<keyword>acronym</keyword>
<keyword>anchor</keyword>
<keyword>caption</keyword>
<keyword>cite</keyword>
<keyword>code</keyword>
<keyword>command</keyword>
<keyword>dfn</keyword>
<keyword>dmn</keyword>
<keyword>email</keyword>
<keyword>emph</keyword>
<keyword>env</keyword>
<keyword>file</keyword>
<keyword>footnote</keyword>
<keyword>indicateurl</keyword>
<keyword>inforef</keyword>
<keyword>kbd</keyword>
<keyword>key</keyword>
<keyword>math</keyword>
<keyword>option</keyword>
<keyword>pxref</keyword>
<keyword>ref</keyword>
<keyword>samp</keyword>
<keyword>strong</keyword>
<keyword>uref</keyword>
<keyword>url</keyword>
<keyword>var</keyword>
<keyword>xref</keyword>
</keyword-list>
<keyword-list _name="Markup (block)" style="Keyword" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="^@">
<keyword>author</keyword>
<keyword>(end )?copying$</keyword>
<keyword>defcv(x)?</keyword>
<keyword>end defcv$</keyword>
<keyword>deff(u)?n(x)?</keyword>
<keyword>end def(u)?n$</keyword>
<keyword>defivar(x)?</keyword>
<keyword>end defivar$</keyword>
<keyword>defmac(x)?</keyword>
<keyword>end defmac$</keyword>
<keyword>defmethod(x)?</keyword>
<keyword>end defmethod$</keyword>
<keyword>defop(x)?</keyword>
<keyword>end defop$</keyword>
<keyword>defopt(x)?</keyword>
<keyword>end defopt$</keyword>
<keyword>defspec(x)?</keyword>
<keyword>end defspec$</keyword>
<keyword>deftp(x)?</keyword>
<keyword>end deftp$</keyword>
<keyword>deftypecv(x)?</keyword>
<keyword>end deftypecv$</keyword>
<keyword>deftypef(u)?n(x)?</keyword>
<keyword>end deftypef(u)?n$</keyword>
<keyword>deftypeivar(x)?</keyword>
<keyword>end deftypevar$</keyword>
<keyword>deftypemethod(x)?</keyword>
<keyword>end deftypemethod$</keyword>
<keyword>deftypeop(x)?</keyword>
<keyword>end deftypeop$</keyword>
<keyword>deftypevar(x)?</keyword>
<keyword>end deftypevar$</keyword>
<keyword>deftypevr(x)?</keyword>
<keyword>end deftypevr$</keyword>
<keyword>defv(a)?r(x)?</keyword>
<keyword>end defv(a)?r$</keyword>
<keyword>(end )?display$</keyword>
<keyword>enumerate</keyword>
<keyword>end enumerate$</keyword>
<keyword>(end )?example$</keyword>
<keyword>(end )?exampleindent$</keyword>
<keyword>(end )?format$</keyword>
<keyword>ftable</keyword>
<keyword>end ftable$</keyword>
<keyword>item$</keyword>
<keyword>itemize</keyword>
<keyword>end itemize$</keyword>
<keyword>itemx$</keyword>
<keyword>(end )?lisp$</keyword>
<keyword>multitable</keyword>
<keyword>end multitable$</keyword>
<keyword>(end )?quotation$</keyword>
<keyword>(end )?smalldisplay$</keyword>
<keyword>(end )?smallexample$</keyword>
<keyword>(end )?smallformat$</keyword>
<keyword>(end )?smalllisp$</keyword>
<keyword>subtitle</keyword>
<keyword>tab</keyword>
<keyword>table</keyword>
<keyword>end table$</keyword>
<keyword>title</keyword>
<keyword>vtable</keyword>
<keyword>end vtable$</keyword>
</keyword-list>
<keyword-list _name="Sectioning" style="Keyword" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="^@">
<keyword>appendix</keyword>
<keyword>appendixsec(tion)?</keyword>
<keyword>appendixsub(sub)?sec</keyword>
<keyword>centerchap</keyword>
<keyword>chapter</keyword>
<keyword>chapheading</keyword>
<keyword>(end )?detailmenu$</keyword>
<keyword>(end )?group$</keyword>
<keyword>heading</keyword>
<keyword>majorheading</keyword>
<keyword>(end )?menu$</keyword>
<keyword>node</keyword>
<keyword>section</keyword>
<keyword>sub(sub)?heading</keyword>
<keyword>sub(sub)?section</keyword>
<keyword>(end )?titlepage$</keyword>
<keyword>top</keyword>
<keyword>unnumbered</keyword>
<keyword>unnumberedsec</keyword>
<keyword>unnumberedsub(sub)?sec</keyword>
</keyword-list>
<keyword-list _name="Formatting" style="Keyword" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="">
<keyword>@(( )|$)</keyword>
<keyword>@\*</keyword>
<keyword>@\-</keyword>
<keyword>@\/</keyword>
<keyword>@\:</keyword>
<keyword>^@asis$</keyword>
<keyword>@b</keyword>
<keyword>^@(end )?cartouche$</keyword>
<keyword>^@center</keyword>
<keyword>^@exdent</keyword>
<keyword>^@(end )?float$</keyword>
<keyword>^@(end )?flushleft$</keyword>
<keyword>^@(end )?flushright$</keyword>
<keyword>@hyphenation</keyword>
<keyword>@i</keyword>
<keyword>^@need</keyword>
<keyword>^@noindent$</keyword>
<keyword>^@page$</keyword>
<keyword>@r</keyword>
<keyword>^@refill$</keyword>
<keyword>@sc</keyword>
<keyword>^@sp</keyword>
<keyword>@t</keyword>
<keyword>@tie</keyword>
<keyword>^@vskip</keyword>
<keyword>@w</keyword>
</keyword-list>
<keyword-list _name="Characters" style="Keyword" case-sensitive="TRUE"
match-empty-string-at-beginning="FALSE"
match-empty-string-at-end="FALSE"
beginning-regex="@">
<keyword>!</keyword>
<keyword>"</keyword>
<keyword>'</keyword>
<!-- FIXME: figure out how to highlight this w/o side-effects -->
<!-- <keyword>,\{c\}</keyword> -->
<keyword>\.</keyword>
<keyword>\=</keyword>
<keyword>\?</keyword>
<keyword>@</keyword>
<keyword>\\</keyword>
<keyword>\^</keyword>
<keyword>`</keyword>
<keyword>\{</keyword>
<keyword>\}</keyword>
<keyword>~</keyword>
<keyword>AA\{\}</keyword>
<keyword>aa\{\}</keyword>
<keyword>AE\{\}</keyword>
<keyword>ae\{\}</keyword>
<keyword>bullet\{\}</keyword>
<keyword>comma\{\}</keyword>
<keyword>copyright\{\}</keyword>
<keyword>dotaccent</keyword>
<keyword>dots\{\}</keyword>
<keyword>enddots\{\}</keyword>
<keyword>equiv\{\}</keyword>
<keyword>error\{\}</keyword>
<keyword>exclamdown\{\}</keyword>
<keyword>expansion\{\}</keyword>
<keyword>H</keyword>
<keyword>L\{\}</keyword>
<keyword>l\{\}</keyword>
<keyword>LaTeX\{\}</keyword>
<keyword>minus\{\}</keyword>
<keyword>O\{\}</keyword>
<keyword>o\{\}</keyword>
<keyword>OE\{\}</keyword>
<keyword>oe\{\}</keyword>
<keyword>point\{\}</keyword>
<keyword>pounds\{\}</keyword>
<keyword>print\{\}</keyword>
<keyword>questiondown\{\}</keyword>
<keyword>registeredsymbol\{\}</keyword>
<keyword>result\{\}</keyword>
<keyword>ringaccent\{\}</keyword>
<keyword>ss\{\}</keyword>
<keyword>TeX\{\}</keyword>
<keyword>tieaccent</keyword>
<keyword>u</keyword>
<keyword>ubaraccent</keyword>
<keyword>udotaccent</keyword>
<keyword>v</keyword>
</keyword-list>
<pattern-item _name="Keyword" style="Others">
<regex>((^[\\])|([@]))(end )?[a-zA-Z]+(\{\})?</regex>
</pattern-item>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="others" _name="Others"/>
<style id="string" _name="String" map-to="def:string"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="preprocessor" _name="Preprocessor" map-to="def:preprocessor"/>
</styles>
<definitions>
<context id="generated-escape">
<match>@.</match>
</context>
<context id="generated-line-escape">
<start>@$</start>
<end>^</end>
</context>
<context id="line-comment" style-ref="comment" end-at-line-end="true">
<start>@c(omment)? </start>
<include>
<context ref="generated-escape"/>
<context ref="generated-line-escape"/>
</include>
</context>
<context id="block-comment" style-ref="comment">
<start>^@ignore$</start>
<end>^@end ignore$</end>
<include>
<context ref="generated-escape"/>
<context ref="generated-line-escape"/>
</include>
</context>
<context id="macro-parameters" style-ref="string">
<start>\{[^}]</start>
<end>\}</end>
<include>
<context ref="generated-escape"/>
<context ref="generated-line-escape"/>
</include>
</context>
<context id="macros" style-ref="preprocessor">
<prefix>^@</prefix>
<suffix></suffix>
<keyword>alias</keyword>
<keyword>bye$</keyword>
<keyword>clear</keyword>
<keyword>defcodeindex</keyword>
<keyword>defindex</keyword>
<keyword>definfoenclose</keyword>
<keyword>(end )?docbook$</keyword>
<keyword>(end )?html$</keyword>
<keyword>ifclear</keyword>
<keyword>end ifclear$</keyword>
<keyword>(end )?if(not)?docbook$</keyword>
<keyword>(end )?if(not)?html$</keyword>
<keyword>(end )?if(not)?info$</keyword>
<keyword>(end )?if(not)?plaintext$</keyword>
<keyword>(end )?if(not)?tex$</keyword>
<keyword>(end )?if(not)?xml$</keyword>
<keyword>ifset</keyword>
<keyword>end ifset$</keyword>
<keyword>lowersections$</keyword>
<keyword>macro</keyword>
<keyword>end macro$</keyword>
<keyword>raisesections$</keyword>
<keyword>set</keyword>
<keyword>syncodeindex</keyword>
<keyword>synindex</keyword>
<keyword>(end )?tex$</keyword>
<keyword>(end )?xml$</keyword>
</context>
<context id="indexing" style-ref="keyword">
<prefix>^@</prefix>
<suffix></suffix>
<keyword>cindex</keyword>
<keyword>findex</keyword>
<keyword>kindex</keyword>
<keyword>pindex</keyword>
<keyword>tindex</keyword>
<keyword>vindex</keyword>
</context>
<context id="file-attributes" style-ref="preprocessor">
<prefix>^@</prefix>
<suffix></suffix>
<keyword>afivepaper$</keyword>
<keyword>afourlatex$</keyword>
<keyword>afourpaper$</keyword>
<keyword>afourwide$</keyword>
<keyword>dircategory</keyword>
<keyword>(end )?direntry$</keyword>
<keyword>(end )?documentdescription$</keyword>
<keyword>documentencoding</keyword>
<keyword>documentlanguage</keyword>
<keyword>evenfooting</keyword>
<keyword>evenheading</keyword>
<keyword>everyfooting</keyword>
<keyword>everyheading</keyword>
<keyword>finalout$</keyword>
<keyword>footnotestyle</keyword>
<keyword>headings</keyword>
<keyword>kbdinputstyle</keyword>
<keyword>novalidate$</keyword>
<keyword>oddfooting</keyword>
<keyword>oddheading</keyword>
<keyword>pagesizes</keyword>
<keyword>paragraphindent</keyword>
<keyword>setchapternewpage</keyword>
<keyword>setcontentsaftertitlepage$</keyword>
<keyword>setfilename</keyword>
<keyword>setshortcontentsaftertitlepage$</keyword>
<keyword>settitle</keyword>
<keyword>smallbook$</keyword>
<keyword>titlefont</keyword>
</context>
<context id="generated-content" style-ref="preprocessor">
<prefix></prefix>
<suffix></suffix>
<keyword>^@contents$</keyword>
<keyword>^@insertcopying$</keyword>
<keyword>^@listoffloats$</keyword>
<keyword>^@printindex$</keyword>
<keyword>^@shortcontents$</keyword>
<keyword>^@shorttitlepage$</keyword>
<keyword>^@summarycontents$</keyword>
<keyword>@thischapter</keyword>
<keyword>@thischaptername</keyword>
<keyword>@thisfile</keyword>
<keyword>@thispage</keyword>
<keyword>@thistitle</keyword>
<keyword>@today</keyword>
<keyword>@value</keyword>
<keyword>@verb</keyword>
<keyword>^@(end )?verbatim$</keyword>
<keyword>^@verbatiminclude</keyword>
</context>
<context id="include" style-ref="preprocessor">
<prefix></prefix>
<suffix></suffix>
<keyword>^\\input</keyword>
<keyword>^@include</keyword>
<keyword>@image</keyword>
</context>
<context id="markup-inline" style-ref="keyword">
<prefix>@</prefix>
<suffix></suffix>
<keyword>acronym</keyword>
<keyword>anchor</keyword>
<keyword>caption</keyword>
<keyword>cite</keyword>
<keyword>code</keyword>
<keyword>command</keyword>
<keyword>dfn</keyword>
<keyword>dmn</keyword>
<keyword>email</keyword>
<keyword>emph</keyword>
<keyword>env</keyword>
<keyword>file</keyword>
<keyword>footnote</keyword>
<keyword>indicateurl</keyword>
<keyword>inforef</keyword>
<keyword>kbd</keyword>
<keyword>key</keyword>
<keyword>math</keyword>
<keyword>option</keyword>
<keyword>pxref</keyword>
<keyword>ref</keyword>
<keyword>samp</keyword>
<keyword>strong</keyword>
<keyword>uref</keyword>
<keyword>url</keyword>
<keyword>var</keyword>
<keyword>xref</keyword>
</context>
<context id="markup-block" style-ref="keyword">
<prefix>^@</prefix>
<suffix></suffix>
<keyword>author</keyword>
<keyword>(end )?copying$</keyword>
<keyword>defcv(x)?</keyword>
<keyword>end defcv$</keyword>
<keyword>deff(u)?n(x)?</keyword>
<keyword>end def(u)?n$</keyword>
<keyword>defivar(x)?</keyword>
<keyword>end defivar$</keyword>
<keyword>defmac(x)?</keyword>
<keyword>end defmac$</keyword>
<keyword>defmethod(x)?</keyword>
<keyword>end defmethod$</keyword>
<keyword>defop(x)?</keyword>
<keyword>end defop$</keyword>
<keyword>defopt(x)?</keyword>
<keyword>end defopt$</keyword>
<keyword>defspec(x)?</keyword>
<keyword>end defspec$</keyword>
<keyword>deftp(x)?</keyword>
<keyword>end deftp$</keyword>
<keyword>deftypecv(x)?</keyword>
<keyword>end deftypecv$</keyword>
<keyword>deftypef(u)?n(x)?</keyword>
<keyword>end deftypef(u)?n$</keyword>
<keyword>deftypeivar(x)?</keyword>
<keyword>end deftypevar$</keyword>
<keyword>deftypemethod(x)?</keyword>
<keyword>end deftypemethod$</keyword>
<keyword>deftypeop(x)?</keyword>
<keyword>end deftypeop$</keyword>
<keyword>deftypevar(x)?</keyword>
<keyword>end deftypevar$</keyword>
<keyword>deftypevr(x)?</keyword>
<keyword>end deftypevr$</keyword>
<keyword>defv(a)?r(x)?</keyword>
<keyword>end defv(a)?r$</keyword>
<keyword>(end )?display$</keyword>
<keyword>enumerate</keyword>
<keyword>end enumerate$</keyword>
<keyword>(end )?example$</keyword>
<keyword>(end )?exampleindent$</keyword>
<keyword>(end )?format$</keyword>
<keyword>ftable</keyword>
<keyword>end ftable$</keyword>
<keyword>item$</keyword>
<keyword>itemize</keyword>
<keyword>end itemize$</keyword>
<keyword>itemx$</keyword>
<keyword>(end )?lisp$</keyword>
<keyword>multitable</keyword>
<keyword>end multitable$</keyword>
<keyword>(end )?quotation$</keyword>
<keyword>(end )?smalldisplay$</keyword>
<keyword>(end )?smallexample$</keyword>
<keyword>(end )?smallformat$</keyword>
<keyword>(end )?smalllisp$</keyword>
<keyword>subtitle</keyword>
<keyword>tab</keyword>
<keyword>table</keyword>
<keyword>end table$</keyword>
<keyword>title</keyword>
<keyword>vtable</keyword>
<keyword>end vtable$</keyword>
</context>
<context id="sectioning" style-ref="keyword">
<prefix>^@</prefix>
<suffix></suffix>
<keyword>appendix</keyword>
<keyword>appendixsec(tion)?</keyword>
<keyword>appendixsub(sub)?sec</keyword>
<keyword>centerchap</keyword>
<keyword>chapter</keyword>
<keyword>chapheading</keyword>
<keyword>(end )?detailmenu$</keyword>
<keyword>(end )?group$</keyword>
<keyword>heading</keyword>
<keyword>majorheading</keyword>
<keyword>(end )?menu$</keyword>
<keyword>node</keyword>
<keyword>section</keyword>
<keyword>sub(sub)?heading</keyword>
<keyword>sub(sub)?section</keyword>
<keyword>(end )?titlepage$</keyword>
<keyword>top</keyword>
<keyword>unnumbered</keyword>
<keyword>unnumberedsec</keyword>
<keyword>unnumberedsub(sub)?sec</keyword>
</context>
<context id="formatting" style-ref="keyword">
<prefix></prefix>
<suffix></suffix>
<keyword>@(( )|$)</keyword>
<keyword>@\*</keyword>
<keyword>@\-</keyword>
<keyword>@\/</keyword>
<keyword>@\:</keyword>
<keyword>^@asis$</keyword>
<keyword>@b</keyword>
<keyword>^@(end )?cartouche$</keyword>
<keyword>^@center</keyword>
<keyword>^@exdent</keyword>
<keyword>^@(end )?float$</keyword>
<keyword>^@(end )?flushleft$</keyword>
<keyword>^@(end )?flushright$</keyword>
<keyword>@hyphenation</keyword>
<keyword>@i</keyword>
<keyword>^@need</keyword>
<keyword>^@noindent$</keyword>
<keyword>^@page$</keyword>
<keyword>@r</keyword>
<keyword>^@refill$</keyword>
<keyword>@sc</keyword>
<keyword>^@sp</keyword>
<keyword>@t</keyword>
<keyword>@tie</keyword>
<keyword>^@vskip</keyword>
<keyword>@w</keyword>
</context>
<context id="characters" style-ref="keyword">
<prefix>@</prefix>
<suffix></suffix>
<keyword>!</keyword>
<keyword>"</keyword>
<keyword>'</keyword>
<keyword>\.</keyword>
<keyword>\=</keyword>
<keyword>\?</keyword>
<keyword>@</keyword>
<keyword>\\</keyword>
<keyword>\^</keyword>
<keyword>`</keyword>
<keyword>\{</keyword>
<keyword>\}</keyword>
<keyword>~</keyword>
<keyword>AA\{\}</keyword>
<keyword>aa\{\}</keyword>
<keyword>AE\{\}</keyword>
<keyword>ae\{\}</keyword>
<keyword>bullet\{\}</keyword>
<keyword>comma\{\}</keyword>
<keyword>copyright\{\}</keyword>
<keyword>dotaccent</keyword>
<keyword>dots\{\}</keyword>
<keyword>enddots\{\}</keyword>
<keyword>equiv\{\}</keyword>
<keyword>error\{\}</keyword>
<keyword>exclamdown\{\}</keyword>
<keyword>expansion\{\}</keyword>
<keyword>H</keyword>
<keyword>L\{\}</keyword>
<keyword>l\{\}</keyword>
<keyword>LaTeX\{\}</keyword>
<keyword>minus\{\}</keyword>
<keyword>O\{\}</keyword>
<keyword>o\{\}</keyword>
<keyword>OE\{\}</keyword>
<keyword>oe\{\}</keyword>
<keyword>point\{\}</keyword>
<keyword>pounds\{\}</keyword>
<keyword>print\{\}</keyword>
<keyword>questiondown\{\}</keyword>
<keyword>registeredsymbol\{\}</keyword>
<keyword>result\{\}</keyword>
<keyword>ringaccent\{\}</keyword>
<keyword>ss\{\}</keyword>
<keyword>TeX\{\}</keyword>
<keyword>tieaccent</keyword>
<keyword>u</keyword>
<keyword>ubaraccent</keyword>
<keyword>udotaccent</keyword>
<keyword>v</keyword>
</context>
<context id="keyword" style-ref="others">
<match>((^[\\])|([@]))(end )?[a-zA-Z]+(\{\})?</match>
</context>
<context id="texinfo">
<include>
<context ref="line-comment"/>
<context ref="block-comment"/>
<context ref="macro-parameters"/>
<context ref="macros"/>
<context ref="indexing"/>
<context ref="file-attributes"/>
<context ref="generated-content"/>
<context ref="include"/>
<context ref="markup-inline"/>
<context ref="markup-block"/>
<context ref="sectioning"/>
<context ref="formatting"/>
<context ref="characters"/>
<context ref="keyword"/>
</include>
</context>
</definitions>
</language>