Warning, /frameworks/syntax-highlighting/data/syntax/elvish.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004         <!ENTITY tab                    "&#x9;">
0005         <!ENTITY space                  "&#x20;">
0006         <!ENTITY CR                     "&#x0D;">
0007         <!ENTITY LF                     "&#x0A;">
0008         <!ENTITY comment                "#.*?(?:[&CR;&LF;]|$)"> <!-- starting with # and ending before (but not including) the next carriage return, newline or end of file; -->
0009         <!ENTITY line_continue          "&#x5E;(?:&CR;|&CR;&LF;)"> <!-- a ^ followed by a newline ("\n"), or a carriage return and newline ("\r\n"). -->
0010         <!ENTITY inline_whitespace      "&space;|&tab;|&comment;|&line_continue;">
0011         <!ENTITY whitespace             "&inline_whitespace;|&CR;|&LF;">
0012         <!ENTITY bareword               "[a-zA-Z0-9!&#x25;+,-.\/:@\_~]+|\p{L}+"> <!-- Matches a-z, A-Z, 0-9, ! % + , - . / : @ \ _ ~  OR Any letter from any language UTF-8 -->
0013         <!ENTITY ns_identifier          "[\p{L}_]+"> <!-- Matches any letter from any language UTF-8 or _. NOTE: This is not explicitly defined by the language author -->
0014 ]>
0015 
0016 <!-- NOTE: This document was made for Elvish version 0.19.1 and may be inaccurate when the language gets updated -->
0017 <language name="Elvish" version="1" kateversion="5.72" section="Scripts" extensions="*.elv" casesensitive="1" author="Lilith Houtjes (lilith@stroopwafel.dev)" license="MIT">
0018 
0019   <highlighting>
0020     <list name="keywords">
0021       <item>fn</item>
0022       <item>pragma</item>
0023     </list>
0024 
0025     <list name="variables">
0026       <item>var</item>
0027       <item>tmp</item>
0028       <item>set</item>
0029       <item>del</item>
0030     </list>
0031 
0032     <list name="controlFlow">
0033       <item>break</item>
0034       <item>continue</item>
0035       <item>defer</item>
0036       <item>elif</item>
0037       <item>else</item>
0038       <item>if</item>
0039       <item>return</item>
0040       <item>while</item>
0041       <item>try</item>
0042       <item>catch</item>
0043       <item>except</item>
0044       <item>finally</item>
0045       <item>for</item>
0046     </list>
0047 
0048     <list name="functions">
0049       <item>+</item>
0050       <item>-</item>
0051       <item>*</item>
0052       <item>/</item>
0053       <item>%</item>
0054       <item>&lt;</item>
0055       <item>&lt;=</item>
0056       <item>==</item>
0057       <item>!=</item>
0058       <item>&gt;</item>
0059       <item>&gt;=</item>
0060        <item>&lt;s</item>
0061       <item>&lt;=s</item>
0062       <item>==s</item>
0063       <item>!=s</item>
0064       <item>&gt;s</item>
0065       <item>&gt;=s</item>
0066       <item>all</item>
0067       <item>assoc</item>
0068       <item>base</item>
0069       <item>benchmark</item>
0070       <item>bool</item>
0071       <item>call</item>
0072       <item>cd</item>
0073       <item>compact</item>
0074       <item>compare</item>
0075       <item>conj</item>
0076       <item>constantly</item>
0077       <item>count</item>
0078       <item>deprecate</item>
0079       <item>dissoc</item>
0080       <item>drop</item>
0081       <item>each</item>
0082       <item>eawk</item>
0083       <item>echo</item>
0084       <item>eq</item>
0085       <item>eval</item>
0086       <item>exact-num</item>
0087       <item>exec</item>
0088       <item>exit</item>
0089       <item>external</item>
0090       <item>fail</item>
0091       <item>float64</item>
0092       <item>from-terminated</item>
0093       <item>get-env</item>
0094       <item>has-env</item>
0095       <item>has-external</item>
0096       <item>has-key</item>
0097       <item>has-value</item>
0098       <item>inexact-num</item>
0099       <item>is</item>
0100       <item>keys</item>
0101       <item>kind-of</item>
0102       <item>-log</item>
0103       <item>make-map</item>
0104       <item>nop</item>
0105       <item>not-eq</item>
0106       <item>ns</item>
0107       <item>num</item>
0108       <item>one</item>
0109       <item>order</item>
0110       <item>peach</item>
0111       <item>pprint</item>
0112       <item>print</item>
0113       <item>printf</item>
0114       <item>put</item>
0115       <item>randint</item>
0116       <item>-randseed</item>
0117       <item>range</item>
0118       <item>read-upto</item>
0119       <item>repeat</item>
0120       <item>repr</item>
0121       <item>resolve</item>
0122       <item>run-parallel</item>
0123       <item>search-external</item>
0124       <item>set-env</item>
0125       <item>show</item>
0126       <item>sleep</item>
0127       <item>styled</item>
0128       <item>styled-segment</item>
0129       <item>take</item>
0130       <item>tilde-abbr</item>
0131       <item>time</item>
0132       <item>to-lines</item>
0133       <item>to-string</item>
0134       <item>to-terminated</item>
0135       <item>unset-env</item>
0136       <item>use-mod</item>
0137       <item>wcswidth</item>
0138     </list>
0139 
0140     <list name="functionsnoargs">
0141       <item>from-json</item>
0142       <item>from-lines</item>
0143       <item>-gc</item>
0144       <item>-ifaddrs</item>
0145       <item>only-bytes</item>
0146       <item>only-values</item>
0147       <item>rand</item>
0148       <item>read-line</item>
0149       <item>slurp</item>
0150       <item>src</item>
0151       <item>-stack</item>
0152       <item>to-json</item>
0153     </list>
0154 
0155     <list name="booloperators">
0156       <item>and</item>
0157       <item>not</item>
0158       <item>coalesce</item>
0159     </list>
0160 
0161     <list name="docfunctions">
0162       <item>find</item>
0163       <item>show</item>
0164       <item>source</item>
0165     </list>
0166 
0167     <list name="editfunctions">
0168       <item>add-var</item>
0169       <item>add-vars</item>
0170       <item>binding-table</item>
0171       <item>command-history</item>
0172       <item>complete-filename</item>
0173       <item>complete-getopt</item>
0174       <item>complex-candidate</item>
0175       <item>del-var</item>
0176       <item>del-vars</item>
0177       <item>insert-at-dot</item>
0178       <item>key</item>
0179       <item>listing:start-custom</item>
0180       <item>match-prefix</item>
0181       <item>match-subseq</item>
0182       <item>match-substr</item>
0183       <item>notify</item>
0184       <item>redraw</item>
0185       <item>replace-input</item>
0186       <item>wordify</item>
0187     </list>
0188 
0189     <list name="editfunctionsnoargs">
0190       <item>apply-autofix</item>
0191       <item>clear</item>
0192       <item>close-mode</item>
0193       <item>command:start</item>
0194       <item>completion:close</item>
0195       <item>completion:smart-start</item>
0196       <item>completion:start</item>
0197       <item>end-of-history</item>
0198       <item>histlist:start</item>
0199       <item>histlist:toggle-dedup</item>
0200       <item>history:accept</item>
0201       <item>history:down</item>
0202       <item>history:down-or-quit</item>
0203       <item>history:fast-forward</item>
0204       <item>history:start</item>
0205       <item>history:up</item>
0206       <item>insert-last-word</item>
0207       <item>insert-raw</item>
0208       <item>-instant:start</item>
0209       <item>kill-alnum-word-left</item>
0210       <item>kill-alnum-word-right</item>
0211       <item>kill-line-left</item>
0212       <item>kill-line-right</item>
0213       <item>kill-rune-left</item>
0214       <item>kill-rune-right</item>
0215       <item>kill-small-word-left</item>
0216       <item>kill-small-word-right</item>
0217       <item>kill-word-left</item>
0218       <item>kill-word-right</item>
0219       <item>lastcmd:start</item>
0220       <item>listing:accept</item>
0221       <item>listing:down</item>
0222       <item>listing:down-cycle</item>
0223       <item>listing:page-down</item>
0224       <item>listing:page-up</item>
0225       <item>listing:up</item>
0226       <item>listing:up-cycle</item>
0227       <item>move-dot-down</item>
0228       <item>move-dot-eol</item>
0229       <item>move-dot-left</item>
0230       <item>move-dot-left-alnum-word</item>
0231       <item>move-dot-left-small-word</item>
0232       <item>move-dot-left-word</item>
0233       <item>move-dot-right</item>
0234       <item>move-dot-right-alnum-word</item>
0235       <item>move-dot-right-small-word</item>
0236       <item>move-dot-right-word</item>
0237       <item>move-dot-sol</item>
0238       <item>move-dot-up</item>
0239       <item>navigation:insert-selected</item>
0240       <item>navigation:insert-selected-and-quit</item>
0241       <item>navigation:start</item>
0242       <item>navigation:trigger-filter</item>
0243       <item>navigation:trigger-shown-hidden</item>
0244       <item>return-eof</item>
0245       <item>return-line</item>
0246       <item>smart-enter</item>
0247       <item>toggle-quote-paste</item>
0248       <item>transponse-alnum-word</item>
0249       <item>tranpose-rune</item>
0250       <item>tranpose-small-word</item>
0251       <item>tranpose-word</item>
0252     </list>
0253 
0254     <list name="epmfunctions">
0255       <item>dest</item>
0256       <item>install</item>
0257       <item>is-installed</item>
0258       <item>metadata</item>
0259       <item>query</item>
0260       <item>uninstall</item>
0261       <item>upgrade</item>
0262     </list>
0263 
0264     <list name="epmfunctionsnoargs">
0265       <item>installed</item>
0266       <item>list</item>
0267     </list>
0268 
0269     <list name="flagfunctions">
0270       <item>call</item>
0271       <item>parse</item>
0272       <item>parse-getopt</item>
0273     </list>
0274 
0275     <list name="filefunctions">
0276       <item>close</item>
0277       <item>is-tty</item>
0278       <item>open</item>
0279       <item>truncate</item>
0280     </list>
0281 
0282     <list name="filefunctionsnoargs">
0283       <item>pipe</item>
0284     </list>
0285 
0286     <list name="mathfunctions">
0287       <item>abs</item>
0288       <item>acos</item>
0289       <item>acosh</item>
0290       <item>asin</item>
0291       <item>asinh</item>
0292       <item>atan</item>
0293       <item>atanh</item>
0294       <item>ceil</item>
0295       <item>cos</item>
0296       <item>cosh</item>
0297       <item>floor</item>
0298       <item>is-inf</item>
0299       <item>is-nan</item>
0300       <item>log</item>
0301       <item>log10</item>
0302       <item>log2</item>
0303       <item>max</item>
0304       <item>min</item>
0305       <item>pow</item>
0306       <item>round</item>
0307       <item>round-to-even</item>
0308       <item>sin</item>
0309       <item>sinh</item>
0310       <item>sqrt</item>
0311       <item>tan</item>
0312       <item>tanh</item>
0313       <item>trunc</item>
0314     </list>
0315 
0316     <list name="pathfunctions">
0317       <item>abs</item>
0318       <item>base</item>
0319       <item>clean</item>
0320       <item>dir</item>
0321       <item>eval-symlinks</item>
0322       <item>ext</item>
0323       <item>is-abs</item>
0324       <item>is-dir</item>
0325       <item>is-regular</item>
0326       <item>join</item>
0327       <item>temp-dir</item>
0328       <item>temp-file</item>
0329     </list>
0330 
0331     <list name="platformfunctions">
0332       <item>hostname</item>
0333     </list>
0334 
0335     <list name="refunctions">
0336       <item>find</item>
0337       <item>match</item>
0338       <item>quote</item>
0339       <item>replace</item>
0340       <item>split</item>
0341     </list>
0342 
0343     <list name="storefunctions">
0344       <item>add-cmd</item>
0345       <item>add-dir</item>
0346       <item>cmd</item>
0347       <item>cmds</item>
0348       <item>del-cmd</item>
0349       <item>del-dir</item>
0350     </list>
0351 
0352      <list name="storefunctionsnoargs">
0353       <item>dirs</item>
0354       <item>next-cmd-seq</item>
0355     </list>
0356 
0357     <list name="stringfunctions">
0358       <item>compare</item>
0359       <item>contains</item>
0360       <item>contains-any</item>
0361       <item>count</item>
0362       <item>equal-fold</item>
0363       <item>fields</item>
0364       <item>from-codepoints</item>
0365       <item>from-utf8-bytes</item>
0366       <item>has-prefix</item>
0367       <item>has-suffix</item>
0368       <item>index</item>
0369       <item>index-any</item>
0370       <item>join</item>
0371       <item>last-index</item>
0372       <item>replace</item>
0373       <item>split</item>
0374       <item>title</item>
0375       <item>to-codepoints</item>
0376       <item>to-lower</item>
0377       <item>to-title</item>
0378       <item>to-upper</item>
0379       <item>to-utf8-bytes</item>
0380       <item>trim</item>
0381       <item>trim-left</item>
0382       <item>trim-prefix</item>
0383       <item>trim-right</item>
0384       <item>trim-space</item>
0385       <item>trim-suffix</item>
0386     </list>
0387 
0388     <list name="unixcommands">
0389       <include>unixcommands##Bash</include>
0390     </list>
0391 
0392     <contexts>
0393       <context name="normal" attribute="Normal Text" lineEndContext="#stay">
0394         <DetectSpaces />
0395 
0396         <!-- Match keywords -->
0397         <keyword attribute="Keyword" context="#stay" String="keywords" />
0398 
0399         <!-- Match control flow statements -->
0400         <keyword attribute="Control Flow" context="#stay" String="controlFlow" />
0401 
0402         <!-- Match functions -->
0403         <keyword attribute="Builtin" context="#stay" String="functions" />
0404         <keyword attribute="Builtin" context="#stay" String="functionsnoargs" />
0405         <AnyChar attribute="Builtin" context="CompFunction" String="&lt;&gt;" />
0406         <keyword attribute="Function" context="#stay" String="unixcommands" />
0407 
0408         <!-- Match braces -->
0409         <DetectChar attribute="Operator" context="TryVariable" char="{" lookAhead="true" beginRegion="Brace1" />
0410         <DetectChar attribute="Operator" context="#stay" char="}" endRegion="Brace1" />
0411 
0412         <!-- Match variables -->
0413         <keyword attribute="Keyword" context="Variable" String="variables" firstNonSpace="true" />
0414         <AnyChar context="TryVariable" lookAhead="true" String="{(|;" />
0415         <DetectChar attribute="Variable" context="Variable" char="$" />
0416 
0417         <!-- Match operators -->
0418         <AnyChar attribute="Operator" context="#stay" String="*?|&amp;;&lt;&gt;()[]{}=" />
0419         <keyword attribute="Operator" context="#stay" String="booloperators" />
0420 
0421         <!-- Match use statement -->
0422         <WordDetect String="use" attribute="Use" context="#stay" />
0423 
0424         <!-- Match builtin functions with namespaces -->
0425         <StringDetect String="builtin:" attribute="Builtin" context="BuiltinFunctions" />
0426         <StringDetect String="doc:" attribute="Builtin" context="DocFunctions" />
0427         <StringDetect String="edit:" attribute="Builtin" context="EditFunctions" />
0428         <StringDetect String="epm:" attribute="Builtin" context="EpmFunctions" />
0429         <StringDetect String="flag:" attribute="Builtin" context="FlagFunctions" />
0430         <StringDetect String="file:" attribute="Builtin" context="FileFunctions" />
0431         <StringDetect String="math:" attribute="Builtin" context="MathFunctions" />
0432         <StringDetect String="path:" attribute="Builtin" context="PathFunctions" />
0433         <StringDetect String="platform:" attribute="Builtin" context="PlatformFunctions" />
0434         <StringDetect String="re:" attribute="Builtin" context="RegexFunctions" />
0435         <StringDetect String="store:" attribute="Builtin" context="StoreFunctions" />
0436         <StringDetect String="str:" attribute="Builtin" context="StringFunctions" />
0437 
0438         <!-- Match comments -->
0439         <DetectChar attribute="Comment" context="Comment" char="#" />
0440 
0441         <!-- Match numbers -->
0442         <HlCOct attribute="NumberBaseN" context="#stay" /> <!-- This matches \b0[0-7]+ and not \b0o[0-7]+ so we have to check for that as well -->
0443         <RegExpr String="\b0o[0-7]+|\b0b[01]+" attribute="NumberBaseN" context="#stay" /> <!-- Now we match against both octal types and Elvish also supports binary number declaration -->
0444         <HlCHex attribute="NumberBaseN" context="#stay" />
0445         <Float attribute="Float" context="#stay" />
0446         <Int attribute="Decimal" context="#stay" />
0447 
0448         <!-- Match strings -->
0449         <DetectChar attribute="String" context="StringDouble" char="&quot;" />
0450         <DetectChar attribute="String" context="StringSingle" char="'" />
0451 
0452         <RegExpr String="(&ns_identifier;){1}(:){1}(&bareword;){1}" context="TryExternal" lookAhead="true" />
0453       </context>
0454 
0455       <!-- Match comparison functions: < <= >= > <s <=s >=s >s -->
0456       <context attribute="Builtin" lineEndContext="#pop" name="CompFunction" fallthroughContext="#pop">
0457         <Detect2Chars attribute="Builtin" context="#pop" char="=" char1="s" />
0458         <AnyChar attribute="Builtin" context="#pop" String="=s" />
0459       </context>
0460 
0461       <!-- BEGIN Region of matching builtin namespace functions -->
0462 
0463       <!-- Users can explicitly call builtin functions using the builtin: namespace -->
0464       <context attribute="Builtin" lineEndContext="#pop" name="BuiltinFunctions" fallthroughContext="#pop">
0465         <keyword attribute="Builtin" context="#pop" String="functions" />
0466         <keyword attribute="Builtin" context="#pop" String="functionsnoargs" />
0467       </context>
0468 
0469       <context attribute="Builtin" lineEndContext="#pop" name="DocFunctions" fallthroughContext="#pop">
0470         <keyword attribute="Builtin" context="#pop" String="docfunctions" />
0471       </context>
0472 
0473       <context attribute="Builtin" lineEndContext="#pop" name="EditFunctions" fallthroughContext="#pop">
0474         <keyword attribute="Builtin" context="#pop" String="editfunctions" />
0475         <keyword attribute="Builtin" context="#pop" String="editfunctionsnoargs" />
0476       </context>
0477 
0478       <context attribute="Builtin" lineEndContext="#pop" name="EpmFunctions" fallthroughContext="#pop">
0479         <keyword attribute="Builtin" context="#pop" String="epmfunctions" />
0480         <keyword attribute="Builtin" context="#pop" String="epmfunctionsnoargs" />
0481       </context>
0482 
0483       <context attribute="Builtin" lineEndContext="#pop" name="FlagFunctions" fallthroughContext="#pop">
0484         <keyword attribute="Builtin" context="#pop" String="flagfunctions" />
0485       </context>
0486 
0487       <context attribute="Builtin" lineEndContext="#pop" name="FileFunctions" fallthroughContext="#pop">
0488         <keyword attribute="Builtin" context="#pop" String="filefunctions" />
0489         <keyword attribute="Builtin" context="#pop" String="filefunctionsnoargs" />
0490       </context>
0491 
0492       <context attribute="Builtin" lineEndContext="#pop" name="MathFunctions" fallthroughContext="#pop">
0493         <keyword attribute="Builtin" context="#pop" String="mathfunctions" />
0494       </context>
0495 
0496       <context attribute="Builtin" lineEndContext="#pop" name="PathFunctions" fallthroughContext="#pop">
0497         <keyword attribute="Builtin" context="#pop" String="pathfunctions" />
0498       </context>
0499 
0500       <context attribute="Builtin" lineEndContext="#pop" name="PlatformFunctions" fallthroughContext="#pop">
0501         <keyword attribute="Builtin" context="#pop" String="platformfunctions" />
0502       </context>
0503 
0504       <context attribute="Builtin" lineEndContext="#pop" name="RegexFunctions" fallthroughContext="#pop">
0505         <keyword attribute="Builtin" context="#pop" String="refunctions" />
0506       </context>
0507 
0508       <context attribute="Builtin" lineEndContext="#pop" name="StoreFunctions" fallthroughContext="#pop">
0509         <keyword attribute="Builtin" context="#pop" String="storefunctions" />
0510         <keyword attribute="Builtin" context="#pop" String="storefunctionsnoargs" />
0511       </context>
0512 
0513       <context attribute="Builtin" lineEndContext="#pop" name="StringFunctions" fallthroughContext="#pop">
0514         <keyword attribute="Builtin" context="#pop" String="stringfunctions" />
0515       </context>
0516 
0517       <!-- END Region of matching builtin namespace functions -->
0518 
0519       <!-- Use the comment rules already defined -->
0520       <context attribute="Comment" lineEndContext="#pop" name="Comment">
0521         <DetectSpaces />
0522         <IncludeRules context="##Comments" />
0523         <DetectIdentifier />
0524       </context>
0525 
0526       <!-- Try to match variables that are not at the start of a line -->
0527       <context attribute="Normal Text" lineEndContext="#pop" name="TryVariable" fallthroughContext="#pop">
0528         <DetectChar context="CurlyVariable" char="{" lookAhead="true" />
0529         <AnyChar attribute="Operator" context="#stay" String="{(|;" />
0530         <DetectSpaces />
0531         <keyword attribute="Keyword" context="Variable" String="variables" />
0532       </context>
0533 
0534       <!-- Elvish only allows variable declarations after a whitespace when it's proceded by a curly brace ('{') -->
0535       <context attribute="Normal Text" lineEndContext="#pop#pop" name="CurlyVariable" fallthroughContext="#pop#pop">
0536         <Detect2Chars attribute="Operator" context="#pop" char="{" char1=" " />
0537         <Detect2Chars attribute="Operator" context="#pop" char="{" char1="&tab;" />
0538         <DetectChar attribute="Operator" context="#stay" char="{" />
0539         <DetectIdentifier context="#pop#pop" />
0540       </context>
0541 
0542       <!--
0543       The definition of a variable is:
0544         * ASCII letters (a-z and A-Z) and numbers (0-9)
0545         * The symbols -_:~
0546         * Non-ASCII codepoints that are printable, as defined by unicode.IsPrint in Go’s standard library.
0547         - Source (https://elv.sh/ref/language.html#variable)
0548       -->
0549       <context attribute="Variable" lineEndContext="#pop" name="Variable" fallthroughContext="#pop">
0550         <DetectSpaces />
0551         <RegExpr String="&bareword;" attribute="Variable" context="#pop" />
0552       </context>
0553 
0554       <!-- Match strings with double quotes (") -->
0555       <context attribute="String" lineEndContext="#pop" name="StringDouble">
0556         <DetectChar attribute="String" context="#pop" char="&quot;" />
0557         <HlCStringChar attribute="Keychar" context="#stay" />
0558       </context>
0559 
0560       <!-- Match strings with single quotes (') -->
0561       <context attribute="String" lineEndContext="#pop" name="StringSingle">
0562         <Detect2Chars attribute="String" context="#stay" char="'" char1="'" />
0563         <DetectChar attribute="String" context="#pop" char="'" />
0564         <HlCStringChar attribute="Keychar" context="#stay" />
0565       </context>
0566 
0567       <context attribute="Normal Text" lineEndContext="#pop" name="TryExternal" fallthroughContext="#pop">
0568         <StringDetect context="#stay" attribute="Extension" String="%1" dynamic="true" />
0569         <StringDetect context="#stay" attribute="Operator" String="%2" dynamic="true" />
0570         <StringDetect context="#pop" attribute="Function" String="%3" dynamic="true" />
0571       </context>
0572 
0573     </contexts>
0574 
0575     <itemDatas>
0576       <itemData name="Builtin"        defStyleNum="dsBuiltIn" />
0577       <itemData name="Comment"        defStyleNum="dsComment" />
0578       <itemData name="Control Flow"   defStyleNum="dsControlFlow" />
0579       <itemData name="Decimal"        defStyleNum="dsDecVal" />
0580       <itemData name="Extension"      defStyleNum="dsExtension" />
0581       <itemData name="Float"          defStyleNum="dsFloat" />
0582       <itemData name="Function"       defStyleNum="dsFunction" />
0583       <itemData name="Keychar"        defStyleNum="dsSpecialChar" />
0584       <itemData name="Keyword"        defStyleNum="dsKeyword" />
0585       <itemData name="Normal Text"    defStyleNum="dsNormal" />
0586       <itemData name="NumberBaseN"    defStyleNum="dsBaseN" />
0587       <itemData name="Operator"       defStyleNum="dsOperator" />
0588       <itemData name="String"         defStyleNum="dsString" />
0589       <itemData name="Use"            defStyleNum="dsImport" />
0590       <itemData name="Variable"       defStyleNum="dsVariable" />
0591     </itemDatas>
0592   </highlighting>
0593   <general>
0594     <keywords casesensitive="1" weakDeliminator="\+,-:=!.@#&#37;^_`~"  wordWrapDeliminator="&whitespace;"/>
0595   <comments>
0596     <comment name="singleLine" start="#"/>
0597   </comments>
0598 </general>
0599 </language>