Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>pull/1/head
parent
7406ed0563
commit
fddd4b7f8b
@ -0,0 +1,154 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd">
|
||||
<language name="Magma" section="Scientific"
|
||||
version="2" kateversion="2.4"
|
||||
mimetype="text/x-magma"
|
||||
indenter="cstyle"
|
||||
extensions="*.m;*.mag">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item> and </item>
|
||||
<item> assert </item>
|
||||
<item> assigned </item>
|
||||
<item> attributes </item>
|
||||
<item> break </item>
|
||||
<item> by </item>
|
||||
<item> case </item>
|
||||
<item> cat </item>
|
||||
<item> cmpeq </item>
|
||||
<item> cmpne </item>
|
||||
<item> continue </item>
|
||||
<item> declare </item>
|
||||
<item> delete </item>
|
||||
<item> diff </item>
|
||||
<item> div </item>
|
||||
<item> do </item>
|
||||
<item> else </item>
|
||||
<item> elif </item>
|
||||
<item> end </item>
|
||||
<item> eq </item>
|
||||
<item> error </item>
|
||||
<item> exists </item>
|
||||
<item> false </item>
|
||||
<item> for </item>
|
||||
<item> forall </item>
|
||||
<item> forward </item>
|
||||
<item> freeze </item>
|
||||
<item> function </item>
|
||||
<item> ge </item>
|
||||
<item> gt </item>
|
||||
<item> if </item>
|
||||
<item> import </item>
|
||||
<item> in </item>
|
||||
<item> intrinsic </item>
|
||||
<item> join </item>
|
||||
<item> le </item>
|
||||
<item> lt </item>
|
||||
<item> max </item>
|
||||
<item> meet </item>
|
||||
<item> min </item>
|
||||
<item> mod </item>
|
||||
<item> ne </item>
|
||||
<item> not </item>
|
||||
<item> or </item>
|
||||
<item> procedure </item>
|
||||
<item> quit </item>
|
||||
<item> repeat </item>
|
||||
<item> require </item>
|
||||
<item> requirege </item>
|
||||
<item> requirerange </item>
|
||||
<item> return </item>
|
||||
<item> sdiff </item>
|
||||
<item> select </item>
|
||||
<item> then </item>
|
||||
<item> time </item>
|
||||
<item> to </item>
|
||||
<item> true </item>
|
||||
<item> until </item>
|
||||
<item> verbose </item>
|
||||
<item> vprint </item>
|
||||
<item> vtime </item>
|
||||
<item> when </item>
|
||||
<item> while </item>
|
||||
<item> xor </item>
|
||||
</list>
|
||||
<list name="types">
|
||||
<item> Booleans </item>
|
||||
<item> EllipticCurve </item>
|
||||
<item> ExtensionField </item>
|
||||
<item> FiniteField </item>
|
||||
<item> GF </item>
|
||||
<item> HyperellipticCurve </item>
|
||||
<item> Integers </item>
|
||||
<item> Jacobian </item>
|
||||
<item> PolynomialRing </item>
|
||||
<item> Rationals </item>
|
||||
<item> RealField </item>
|
||||
</list>
|
||||
<list name="directives">
|
||||
<item> AddAttribute </item>
|
||||
<item> AssignNames </item>
|
||||
<item> Attach </item>
|
||||
<item> AttachSpec </item>
|
||||
<item> CoveringStructure </item>
|
||||
<item> Cputime </item>
|
||||
<item> Detach </item>
|
||||
<item> DetachSpec </item>
|
||||
<item> ElementType </item>
|
||||
<item> ExistsCoveringStructure </item>
|
||||
<item> ExtendedType </item>
|
||||
<item> GetAttributes </item>
|
||||
<item> GetSeed </item>
|
||||
<item> ISA </item>
|
||||
<item> IsCoercible </item>
|
||||
<item> IsIntrinsic </item>
|
||||
<item> ListAttributes </item>
|
||||
<item> MakeType </item>
|
||||
<item> Random </item>
|
||||
<item> Realtime </item>
|
||||
<item> SetSeed </item>
|
||||
<item> Type </item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\b(function|procedure|if|elif|else|for|repeat|while|case)(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//))" insensitive="false" beginRegion="Region1"/>
|
||||
<RegExpr attribute="Keyword" context="#stay" String="\b(end|elif|else)(?=((\{[^}]*(\}|$)|\(\*.*(\*\)|$))*)([.;\s]|$)|//|$)" insensitive="false" endRegion="Region1"/>
|
||||
<keyword attribute="Keyword" context="#stay" String="keywords"/>
|
||||
<keyword attribute="Directive" context="#stay" String="directives"/>
|
||||
<keyword attribute="Type" context="#stay" String="types"/>
|
||||
<Float attribute="Number" context="#stay"/>
|
||||
<Int attribute="Number" context="#stay"/>
|
||||
<DetectChar attribute="String" context="String1" char=""" />
|
||||
<DetectChar attribute="String" context="String2" char="'" />
|
||||
<Detect2Chars attribute="Comment" context="Comment1" char="/" char1="/"/>
|
||||
<Detect2Chars attribute="Comment" context="Comment2" char="/" char1="*"/>
|
||||
</context>
|
||||
<context attribute="String" lineEndContext="#pop" name="String1">
|
||||
<DetectChar attribute="String" context="#pop" char="""/>
|
||||
</context>
|
||||
<context attribute="String" lineEndContext="#pop" name="String2">
|
||||
<DetectChar attribute="String" context="#pop" char="'" />
|
||||
</context>
|
||||
<context attribute="Comment" lineEndContext="#pop" name="Comment1" />
|
||||
<context attribute="Comment" lineEndContext="#stay" name="Comment2">
|
||||
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
|
||||
</context>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal" />
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword" />
|
||||
<itemData name="Type" defStyleNum="dsDataType"/>
|
||||
<itemData name="Number" defStyleNum="dsDecVal" />
|
||||
<itemData name="String" defStyleNum="dsString" />
|
||||
<itemData name="Directive" defStyleNum="dsOthers" />
|
||||
<itemData name="Comment" defStyleNum="dsComment" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<keywords casesensitive="1" />
|
||||
<comments>
|
||||
<comment name="singleLine" start="//" />
|
||||
<comment name="multiLine" start="/*" end="*/" />
|
||||
</comments>
|
||||
</general>
|
||||
</language>
|
@ -0,0 +1,510 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE language SYSTEM "language.dtd"
|
||||
[
|
||||
<!ENTITY B '([^a-zA-Z0-9\._"'\$#\[:\(]|\s|^|$)'>
|
||||
]>
|
||||
<!--
|
||||
This file is part of the TDE project
|
||||
Copyright (C) 2016 José Joaquín Atria <jjatria@gmail.com>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
-->
|
||||
<language name="Praat" version="1-1" kateversion="2.4" section="Scripts" extensions="*.Praat;*.praat;*.psc;*.praat-script;*.praatscript;*.proc" author="Jose Joaquín Atria (jjatria@gmail.com)" license="LGPL">
|
||||
<highlighting>
|
||||
<list name="keywords">
|
||||
<item>assert</item>
|
||||
<item>clearinfo</item>
|
||||
<item>demo</item>
|
||||
<item>elif</item>
|
||||
<item>else</item>
|
||||
<item>elsif</item>
|
||||
<item>from</item>
|
||||
<item>minus</item>
|
||||
<item>nocheck</item>
|
||||
<item>noprogress</item>
|
||||
<item>nowarn</item>
|
||||
<item>plus</item>
|
||||
<item>select</item>
|
||||
<item>stopwatch</item>
|
||||
<item>then</item>
|
||||
<item>to</item>
|
||||
</list>
|
||||
<list name="functions_string">
|
||||
<item>backslashTrigraphsToUnicode$</item>
|
||||
<item>chooseDirectory$</item>
|
||||
<item>chooseReadFile$</item>
|
||||
<item>chooseWriteFile$</item>
|
||||
<item>date$</item>
|
||||
<item>demoKey$</item>
|
||||
<item>do$</item>
|
||||
<item>environment$</item>
|
||||
<item>extractLine$</item>
|
||||
<item>extractWord$</item>
|
||||
<item>fixed$</item>
|
||||
<item>info$</item>
|
||||
<item>left$</item>
|
||||
<item>mid$</item>
|
||||
<item>percent$</item>
|
||||
<item>readFile$</item>
|
||||
<item>replace$</item>
|
||||
<item>replace_regex$</item>
|
||||
<item>right$</item>
|
||||
<item>selected$</item>
|
||||
<item>string$</item>
|
||||
</list>
|
||||
<list name="functions_numeric">
|
||||
<item>abs</item>
|
||||
<item>appendFile</item>
|
||||
<item>appendFileLine</item>
|
||||
<item>appendInfo</item>
|
||||
<item>appendInfoLine</item>
|
||||
<item>arccos</item>
|
||||
<item>arccosh</item>
|
||||
<item>arcsin</item>
|
||||
<item>arcsinh</item>
|
||||
<item>arctan</item>
|
||||
<item>arctan2</item>
|
||||
<item>arctanh</item>
|
||||
<item>barkToHertz</item>
|
||||
<item>beginPause</item>
|
||||
<item>beginSendPraat</item>
|
||||
<item>besselI</item>
|
||||
<item>besselK</item>
|
||||
<item>beta</item>
|
||||
<item>beta2</item>
|
||||
<item>binomialP</item>
|
||||
<item>binomialQ</item>
|
||||
<item>boolean</item>
|
||||
<item>ceiling</item>
|
||||
<item>chiSquareP</item>
|
||||
<item>chiSquareQ</item>
|
||||
<item>choice</item>
|
||||
<item>comment</item>
|
||||
<item>cos</item>
|
||||
<item>cosh</item>
|
||||
<item>createDirectory</item>
|
||||
<item>deleteFile</item>
|
||||
<item>demoClicked</item>
|
||||
<item>demoClickedIn</item>
|
||||
<item>demoCommandKeyPressed</item>
|
||||
<item>demoExtraControlKeyPressed</item>
|
||||
<item>demoInput</item>
|
||||
<item>demoKeyPressed</item>
|
||||
<item>demoOptionKeyPressed</item>
|
||||
<item>demoShiftKeyPressed</item>
|
||||
<item>demoShow</item>
|
||||
<item>demoWaitForInput</item>
|
||||
<item>demoWindowTitle</item>
|
||||
<item>demoX</item>
|
||||
<item>demoY</item>
|
||||
<item>differenceLimensToPhon</item>
|
||||
<item>do</item>
|
||||
<item>editor</item>
|
||||
<item>endPause</item>
|
||||
<item>endSendPraat</item>
|
||||
<item>endsWith</item>
|
||||
<item>erb</item>
|
||||
<item>erbToHertz</item>
|
||||
<item>erf</item>
|
||||
<item>erfc</item>
|
||||
<item>exitScript</item>
|
||||
<item>exp</item>
|
||||
<item>extractNumber</item>
|
||||
<item>fileReadable</item>
|
||||
<item>fisherP</item>
|
||||
<item>fisherQ</item>
|
||||
<item>floor</item>
|
||||
<item>gaussP</item>
|
||||
<item>gaussQ</item>
|
||||
<item>hash</item>
|
||||
<item>hertzToBark</item>
|
||||
<item>hertzToErb</item>
|
||||
<item>hertzToMel</item>
|
||||
<item>hertzToSemitones</item>
|
||||
<item>imax</item>
|
||||
<item>imin</item>
|
||||
<item>incompleteBeta</item>
|
||||
<item>incompleteGammaP</item>
|
||||
<item>index</item>
|
||||
<item>index_regex</item>
|
||||
<item>integer</item>
|
||||
<item>invBinomialP</item>
|
||||
<item>invBinomialQ</item>
|
||||
<item>invChiSquareQ</item>
|
||||
<item>invFisherQ</item>
|
||||
<item>invGaussQ</item>
|
||||
<item>invSigmoid</item>
|
||||
<item>invStudentQ</item>
|
||||
<item>length</item>
|
||||
<item>ln</item>
|
||||
<item>lnBeta</item>
|
||||
<item>lnGamma</item>
|
||||
<item>log10</item>
|
||||
<item>log2</item>
|
||||
<item>max</item>
|
||||
<item>melToHertz</item>
|
||||
<item>min</item>
|
||||
<item>minusObject</item>
|
||||
<item>natural</item>
|
||||
<item>number</item>
|
||||
<item>numberOfColumns</item>
|
||||
<item>numberOfRows</item>
|
||||
<item>numberOfSelected</item>
|
||||
<item>objectsAreIdentical</item>
|
||||
<item>option</item>
|
||||
<item>optionMenu</item>
|
||||
<item>pauseScript</item>
|
||||
<item>phonToDifferenceLimens</item>
|
||||
<item>plusObject</item>
|
||||
<item>positive</item>
|
||||
<item>randomBinomial</item>
|
||||
<item>randomGauss</item>
|
||||
<item>randomInteger</item>
|
||||
<item>randomPoisson</item>
|
||||
<item>randomUniform</item>
|
||||
<item>real</item>
|
||||
<item>readFile</item>
|
||||
<item>removeObject</item>
|
||||
<item>rindex</item>
|
||||
<item>rindex_regex</item>
|
||||
<item>round</item>
|
||||
<item>runScript</item>
|
||||
<item>runSystem</item>
|
||||
<item>runSystem_nocheck</item>
|
||||
<item>selectObject</item>
|
||||
<item>selected</item>
|
||||
<item>semitonesToHertz</item>
|
||||
<item>sentence</item>
|
||||
<item>sentencetext</item>
|
||||
<item>sigmoid</item>
|
||||
<item>sin</item>
|
||||
<item>sinc</item>
|
||||
<item>sincpi</item>
|
||||
<item>sinh</item>
|
||||
<item>soundPressureToPhon</item>
|
||||
<item>sqrt</item>
|
||||
<item>startsWith</item>
|
||||
<item>studentP</item>
|
||||
<item>studentQ</item>
|
||||
<item>tan</item>
|
||||
<item>tanh</item>
|
||||
<item>text</item>
|
||||
<item>variableExists</item>
|
||||
<item>word</item>
|
||||
<item>writeFile</item>
|
||||
<item>writeFileLine</item>
|
||||
<item>writeInfo</item>
|
||||
<item>writeInfoLine</item>
|
||||
</list>
|
||||
<list name="functions_array">
|
||||
<item>linear#</item>
|
||||
<item>randomGauss#</item>
|
||||
<item>randomInteger#</item>
|
||||
<item>randomUniform#</item>
|
||||
<item>zero#</item>
|
||||
</list>
|
||||
<list name="variables_numeric">
|
||||
<item>all</item>
|
||||
<item>average</item>
|
||||
<item>e</item>
|
||||
<item>left</item>
|
||||
<item>macintosh</item>
|
||||
<item>mono</item>
|
||||
<item>pi</item>
|
||||
<item>praatVersion</item>
|
||||
<item>right</item>
|
||||
<item>stereo</item>
|
||||
<item>undefined</item>
|
||||
<item>unix</item>
|
||||
<item>windows</item>
|
||||
</list>
|
||||
<list name="variables_string">
|
||||
<item>praatVersion$</item>
|
||||
<item>tab$</item>
|
||||
<item>shellDirectory$</item>
|
||||
<item>homeDirectory$</item>
|
||||
<item>preferencesDirectory$</item>
|
||||
<item>newline$</item>
|
||||
<item>temporaryDirectory$</item>
|
||||
<item>defaultDirectory$</item>
|
||||
</list>
|
||||
<contexts>
|
||||
<context name="normal" attribute="normal" lineEndContext="#pop" >
|
||||
<DetectChar char='#' attribute="comment" context="comment" firstNonSpace="true" />
|
||||
|
||||
<IncludeRules context="function check" />
|
||||
|
||||
<DetectChar char='@' attribute="function" context="procedure name" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="call&B;" attribute="keyword" context="function word to shorthand arguments" firstNonSpace="true" />
|
||||
<RegExpr String="include&B;" attribute="keyword" context="unquoted string" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="&B;?if&B;" attribute="keyword" beginRegion="if" />
|
||||
<RegExpr String="endif&B;" attribute="keyword" endRegion="if" firstNonSpace="true" />
|
||||
<RegExpr String="&B;?fi&B;" attribute="keyword" endRegion="if" />
|
||||
|
||||
<RegExpr String="for&B;" attribute="keyword" beginRegion="for" firstNonSpace="true" />
|
||||
<RegExpr String="endfor&B;" attribute="keyword" endRegion="for" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="while&B;" attribute="keyword" beginRegion="while" firstNonSpace="true" />
|
||||
<RegExpr String="endwhile&B;" attribute="keyword" endRegion="while" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="repeat&B;" attribute="keyword" beginRegion="repeat" firstNonSpace="true" />
|
||||
<RegExpr String="until&B;" attribute="keyword" endRegion="repeat" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="procedure&B;" attribute="keyword" context="procedure name" beginRegion="procedure" firstNonSpace="true" />
|
||||
<RegExpr String="endproc&B;" attribute="keyword" endRegion="procedure" firstNonSpace="true" />
|
||||
|
||||
<StringDetect String="select all" attribute="keyword" firstNonSpace="true" />
|
||||
<keyword String="keywords" attribute="keyword" />
|
||||
|
||||
<RegExpr String="&B;print(line|tab)?&B;" attribute="keyword" context="unquoted string" />
|
||||
<RegExpr String="&B;echo&B;" attribute="keyword" context="unquoted string" />
|
||||
<RegExpr String="&B;exit&B;" attribute="keyword" context="unquoted string" />
|
||||
<RegExpr String="&B;asserterror&B;" attribute="keyword" context="unquoted string" />
|
||||
<RegExpr String="&B;pause&B;" attribute="keyword" context="unquoted string" />
|
||||
<RegExpr String="&B;send(praat|socket)&B;" attribute="keyword" context="unquoted string" />
|
||||
<RegExpr String="&B;execute&B;" attribute="keyword" context="unquoted string" />
|
||||
<RegExpr String="&B;editor&B;" attribute="keyword" context="unquoted string" beginRegion="editor" />
|
||||
<RegExpr String="&B;endeditor&B;" attribute="keyword" endRegion="editor" />
|
||||
|
||||
<RegExpr String="form&B;" attribute="keyword" context="old form definition" firstNonSpace="true" beginRegion="form" />
|
||||
|
||||
<RegExpr String="goto&B;" attribute="keyword" context="label" firstNonSpace="true" />
|
||||
<RegExpr String="label&B;" attribute="keyword" context="label" firstNonSpace="true" />
|
||||
|
||||
<DetectChar char='"' attribute="string" context="quoted string" />
|
||||
<IncludeRules context="expansion" />
|
||||
|
||||
<IncludeRules context="operator" />
|
||||
<IncludeRules context="variable name" />
|
||||
<IncludeRules context="number" />
|
||||
|
||||
<RegExpr String="\b[A-Z]" attribute="command" context="command" />
|
||||
|
||||
<DetectChar char=';' attribute="comment" context="comment" />
|
||||
</context>
|
||||
|
||||
<context name="label" attribute="variable" lineEndContext="#pop" />
|
||||
|
||||
<context name="old form definition" attribute="string" lineEndContext="#pop!old form" />
|
||||
|
||||
<context name="old form" attribute="normal" lineEndContext="#stay">
|
||||
<DetectChar char='#' attribute="comment" context="comment" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="choice&B;" attribute="keyword" context="normal word with colon to number" firstNonSpace="true" />
|
||||
<RegExpr String="optionmenu&B;" attribute="keyword" context="normal word with colon to number" firstNonSpace="true" />
|
||||
<RegExpr String="option&B;" attribute="keyword" context="unquoted string" firstNonSpace="true" />
|
||||
<RegExpr String="button&B;" attribute="keyword" context="unquoted string" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="sentence&B;" attribute="keyword" context="normal word to string" firstNonSpace="true" />
|
||||
<RegExpr String="text&B;" attribute="keyword" context="normal word to string" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="word&B;" attribute="keyword" context="normal word to string word" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="comment&B;" attribute="keyword" context="unquoted string" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="real&B;" attribute="keyword" context="number" firstNonSpace="true" />
|
||||
<RegExpr String="natural&B;" attribute="keyword" context="number" firstNonSpace="true" />
|
||||
<RegExpr String="positive&B;" attribute="keyword" context="number" firstNonSpace="true" />
|
||||
<RegExpr String="integer&B;" attribute="keyword" context="number" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="boolean&B;" attribute="keyword" context="normal word to variable" firstNonSpace="true" />
|
||||
|
||||
<RegExpr String="endform&B;" attribute="keyword" context="#pop" endRegion="form" firstNonSpace="true" />
|
||||
</context>
|
||||
|
||||
<context name="operator" attribute="operator" lineEndContext="#pop" >
|
||||
<RegExpr String="([+\/*<>=!-]=?|[&*|][&*|]?|\^|<>)" attribute="operator" />
|
||||
<RegExpr String="\.(and|or|not|div|mod)" attribute="normal" />
|
||||
<RegExpr String="(and|or|not|div|mod)\." attribute="normal" />
|
||||
<WordDetect String="and" attribute="operator" />
|
||||
<WordDetect String="or" attribute="operator" />
|
||||
<WordDetect String="not" attribute="operator" />
|
||||
<WordDetect String="div" attribute="operator" />
|
||||
<WordDetect String="mod" attribute="operator" />
|
||||
</context>
|
||||
|
||||
<context name="command" attribute="command" lineEndContext="#pop" >
|
||||
<IncludeRules context="expansion" />
|
||||
<StringDetect String="..." attribute="command" context="shorthand arguments" />
|
||||
<DetectChar char=":" attribute="command" context="#pop" />
|
||||
</context>
|
||||
|
||||
<context name="shorthand arguments" attribute="normal" lineEndContext="#pop#pop" >
|
||||
<IncludeRules context="variable name" />
|
||||
<IncludeRules context="operator" />
|
||||
<IncludeRules context="number" />
|
||||
<DetectChar char='"' attribute="string" context="quoted string" />
|
||||
</context>
|
||||
|
||||
<context name="variable name" attribute="normal" lineEndContext="#pop" >
|
||||
<IncludeRules context="operator" />
|
||||
<IncludeRules context="number" />
|
||||
<keyword String="variables_numeric" attribute="variable" />
|
||||
<keyword String="variables_string" attribute="variable" />
|
||||
|
||||
<RegExpr String="\b[A-Z][a-zA-Z]+_" attribute="object.attribute" context="object reference" />
|
||||
|
||||
</context>
|
||||
|
||||
<context name="object reference" attribute="object.attribute" lineEndContext="#pop#pop" >
|
||||
<DetectChar char="." attribute="object.attribute" context="#pop#pop!object attributes" lookAhead="true" />
|
||||
|
||||
<IncludeRules context="expansion" />
|
||||
|
||||
<DetectChar char="$" attribute="object.attribute" />
|
||||
<DetectChar char="[" attribute="normal" context="#pop#pop" />
|
||||
</context>
|
||||
|
||||
<context name="object attributes" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="\.ncol&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.nrow&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.xmin&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.ymin&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.xmax&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.ymax&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.nx&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.ny&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.dx&B;" attribute="object.attribute" context="#pop" />
|
||||
<RegExpr String="\.dy&B;" attribute="object.attribute" context="#pop" />
|
||||
</context>
|
||||
|
||||
<context name="normal word with colon to number" attribute="normal" lineEndContext="#pop" >
|
||||
<DetectChar char=":" attribute="normal" context="number" />
|
||||
</context>
|
||||
|
||||
<context name="normal word to variable" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="\b\w+\b" attribute="normal" context="variable" />
|
||||
</context>
|
||||
|
||||
<context name="variable" attribute="variable" lineEndContext="#pop" />
|
||||
|
||||
<context name="number" attribute="normal" lineEndContext="#pop" >
|
||||
<IncludeRules context="operator" />
|
||||
<RegExpr String="\b\d+(\.\d*)?([eE][-+]?\d+)?%?" attribute="number" />
|
||||
</context>
|
||||
|
||||
<context name="normal word to string word" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="\b\w+\b" attribute="normal" context="string word" />
|
||||
</context>
|
||||
|
||||
<context name="normal word to string" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="\b\w+\b" attribute="normal" context="unquoted string" />
|
||||
</context>
|
||||
|
||||
<context name="string word" attribute="string" lineEndContext="#pop" >
|
||||
<RegExpr String="\b\w+\b" attribute="string" context="ignore" />
|
||||
</context>
|
||||
|
||||
<context name="ignore" attribute="normal" lineEndContext="#pop" />
|
||||
|
||||
<context name="comment" attribute="comment" lineEndContext="#pop" />
|
||||
|
||||
<context name="quoted string" attribute="string" lineEndContext="broken quoted string" >
|
||||
<IncludeRules context="expansion" />
|
||||
<DetectChar char='"' attribute="string" context="#pop" />
|
||||
</context>
|
||||
|
||||
<context name="unquoted string" attribute="string" lineEndContext="broken unquoted string" >
|
||||
<IncludeRules context="expansion" />
|
||||
</context>
|
||||
|
||||
<context name="expansion" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="'[^\[\]'"]+(\[([\w\d,]+|"[\w\d,]+")\])?'" attribute="expansion" />
|
||||
</context>
|
||||
|
||||
<context name="broken unquoted string" attribute="string" lineEndContext="#stay" >
|
||||
<DetectSpaces attribute="normal" />
|
||||
<StringDetect String="..." attribute="normal" context="#pop" firstNonSpace="true" />
|
||||
<IncludeRules context="expansion" />
|
||||
<RegExpr String="[\w\d#@;.]" context="#pop#pop" firstNonSpace="true" lookAhead="true" />
|
||||
</context>
|
||||
|
||||
<context name="broken quoted string" attribute="string" lineEndContext="#stay" >
|
||||
<IncludeRules context="broken unquoted string" />
|
||||
<DetectChar char='"' attribute="string" context="#pop#pop" />
|
||||
</context>
|
||||
|
||||
<context name="function check" attribute="normal" lineEndContext="#pop" >
|
||||
<keyword String="functions_numeric" attribute="normal" context="numeric function check" lookAhead="true" />
|
||||
<keyword String="functions_string" attribute="normal" context="string function check" lookAhead="true" />
|
||||
<keyword String="functions_array" attribute="normal" context="array function check" lookAhead="true" />
|
||||
</context>
|
||||
|
||||
<context name="array function check" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="[a-zA-Z0-9_]+# *[:(]" attribute="normal" context="function call" lookAhead="true" />
|
||||
<DetectChar char=" " context="#pop#pop" />
|
||||
</context>
|
||||
|
||||
<context name="string function check" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="[a-zA-Z0-9_]+\$ *[:(]" attribute="normal" context="function call" lookAhead="true" />
|
||||
<DetectChar char=" " context="#pop#pop" />
|
||||
</context>
|
||||
|
||||
<context name="numeric function check" attribute="normal" lineEndContext="#pop" >
|
||||
<RegExpr String="[a-zA-Z0-9_]+ *[:(]" attribute="normal" context="function call" lookAhead="true" />
|
||||
<RegExpr String="&B;editor&B;" attribute="keyword" context="#pop#pop!unquoted string" beginRegion="editor" />
|
||||
<DetectChar char=" " context="#pop#pop" />
|
||||
</context>
|
||||
|
||||
<context name="function call" attribute="function" lineEndContext="#pop" >
|
||||
<RegExpr String="&B;beginSendPraat&B;" beginRegion="sendpraat" />
|
||||
<RegExpr String="&B;endSendPraat&B;" endRegion="sendpraat" />
|
||||
|
||||
<RegExpr String="&B;beginPause&B;" beginRegion="pause" />
|
||||
<RegExpr String="&B;endPause&B;" endRegion="pause" />
|
||||
|
||||
<DetectSpaces attribute="normal" />
|
||||
<DetectChar char=":" attribute="normal" context="#pop#pop#pop" />
|
||||
<DetectChar char="(" attribute="normal" context="#pop#pop#pop" />
|
||||
</context>
|
||||
|
||||
<context name="procedure name" attribute="function" lineEndContext="#pop" >
|
||||
<DetectChar char=":" attribute="normal" context="#pop" />
|
||||
<DetectChar char="(" attribute="normal" context="#pop" />
|
||||
<IncludeRules context="expansion" />
|
||||
<DetectSpaces attribute="normal" context="#pop" />
|
||||
</context>
|
||||
|
||||
<context name="function word to shorthand arguments" attribute="function" lineEndContext="#pop" >
|
||||
<DetectChar char=":" attribute="normal" context="#pop" />
|
||||
<DetectChar char="(" attribute="normal" context="#pop" />
|
||||
<IncludeRules context="expansion" />
|
||||
<DetectSpaces attribute="normal" context="#pop!shorthand arguments" />
|
||||
</context>
|
||||
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="normal" defStyleNum="dsNormal" />
|
||||
<itemData name="number" defStyleNum="dsDecVal" />
|
||||
<itemData name="object.attribute" defStyleNum="dsDecVal" />
|
||||
<itemData name="variable" defStyleNum="dsDataType" />
|
||||
<itemData name="keyword" defStyleNum="dsKeyword" />
|
||||
<itemData name="expansion" defStyleNum="dsSpecialString" />
|
||||
<itemData name="string" defStyleNum="dsString" />
|
||||
<itemData name="command" defStyleNum="dsFunction" />
|
||||
<itemData name="function" defStyleNum="dsFunction" />
|
||||
<itemData name="operator" defStyleNum="dsOperator" />
|
||||
<itemData name="comment" defStyleNum="dsComment" />
|
||||
</itemDatas>
|
||||
</highlighting>
|
||||
<general>
|
||||
<comments>
|
||||
<comment name="singleLine" start="#" />
|
||||
</comments>
|
||||
<keywords casesensitive="true" weakDeliminator="._#$" />
|
||||
</general>
|
||||
</language>
|
Loading…
Reference in new issue