|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!DOCTYPE language SYSTEM "language.dtd">
|
|
|
|
<!-- author: Giancarlo Niccolai (giancarlo@niccolai.ws) -->
|
|
|
|
<!-- This file is released under GPL license 2.0 or any later version at your choice. -->
|
|
|
|
<language name="Inform" version="2" kateversion="2.4" section="Sources" extensions="*.inf;*.h" mimetype="text/x-inform-src" author="Giancarlo Niccolai (giancarlo@niccolai.ws)" license="GPL">
|
|
|
|
<highlighting>
|
|
|
|
<list name="keywords">
|
|
|
|
<item>if</item>
|
|
|
|
<item>for</item>
|
|
|
|
<item>else</item>
|
|
|
|
<item>box</item>
|
|
|
|
<item>break</item>
|
|
|
|
<item>continue</item>
|
|
|
|
<item>do</item>
|
|
|
|
<item>until</item>
|
|
|
|
<item>font</item>
|
|
|
|
<item>give</item>
|
|
|
|
<item>inversion</item>
|
|
|
|
<item>jump</item>
|
|
|
|
<item>on</item>
|
|
|
|
<item>to</item>
|
|
|
|
<item>move</item>
|
|
|
|
<item>new_line</item>
|
|
|
|
<item>objectloop</item>
|
|
|
|
<item>print</item>
|
|
|
|
<item>print_ret</item>
|
|
|
|
<item>quit</item>
|
|
|
|
<item>read</item>
|
|
|
|
<item>remove</item>
|
|
|
|
<item>restore</item>
|
|
|
|
<item>return</item>
|
|
|
|
<item>rtrue</item>
|
|
|
|
<item>rfalse</item>
|
|
|
|
<item>save</item>
|
|
|
|
<item>spaces</item>
|
|
|
|
<item>spring</item>
|
|
|
|
<item>style</item>
|
|
|
|
<item>switch</item>
|
|
|
|
</list>
|
|
|
|
|
|
|
|
<list name="functions">
|
|
|
|
<item>metaclass</item>
|
|
|
|
<item>parent</item>
|
|
|
|
<item>child</item>
|
|
|
|
<item>children</item>
|
|
|
|
<item>Achieved</item>
|
|
|
|
<item>AddToScope</item>
|
|
|
|
<item>allowpushdir</item>
|
|
|
|
<item>CDefArt</item>
|
|
|
|
<item>ChangeDefault</item>
|
|
|
|
<item>DefArt</item>
|
|
|
|
<item>DoMenu</item>
|
|
|
|
<item>EnglishNumber</item>
|
|
|
|
<item>HasLightSource</item>
|
|
|
|
<item>InDefArt</item>
|
|
|
|
<item>Locale</item>
|
|
|
|
<item>LoopOverScope</item>
|
|
|
|
<item>NextWord</item>
|
|
|
|
<item>NextWordStopped</item>
|
|
|
|
<item>NounDomain</item>
|
|
|
|
<item>ObjectIsUntouchable</item>
|
|
|
|
<item>OffersLight</item>
|
|
|
|
<item>PlaceInScope</item>
|
|
|
|
<item>PlayerTo</item>
|
|
|
|
<item>PrintShortName</item>
|
|
|
|
<item>ScopeWithin</item>
|
|
|
|
<item>SetTime</item>
|
|
|
|
<item>StartDaemon</item>
|
|
|
|
<item>StartTimer</item>
|
|
|
|
<item>StopDaemon</item>
|
|
|
|
<item>StopTimer</item>
|
|
|
|
<item>TestScope</item>
|
|
|
|
<item>TryNumber</item>
|
|
|
|
<item>UnsignedCompare</item>
|
|
|
|
<item>WordAddress</item>
|
|
|
|
<item>WordLenght</item>
|
|
|
|
<item>WriteListFrom</item>
|
|
|
|
<item>YesOrNo</item>
|
|
|
|
<item>ZRegion</item>
|
|
|
|
</list>
|
|
|
|
<list name="actions">
|
|
|
|
<item>Pronouns</item>
|
|
|
|
<item>Quit</item>
|
|
|
|
<item>Restore</item>
|
|
|
|
<item>Save</item>
|
|
|
|
<item>Verify</item>
|
|
|
|
<item>Restart</item>
|
|
|
|
<item>ScriptOn</item>
|
|
|
|
<item>ScriptOff</item>
|
|
|
|
<item>NotifyOn</item>
|
|
|
|
<item>NotifyOff</item>
|
|
|
|
<item>Places</item>
|
|
|
|
<item>Objects</item>
|
|
|
|
<item>Score</item>
|
|
|
|
<item>FullScore</item>
|
|
|
|
<item>Version</item>
|
|
|
|
<item>LMode1</item>
|
|
|
|
<item>LMode2</item>
|
|
|
|
<item>LMode3</item>
|
|
|
|
<item>Inv</item>
|
|
|
|
|
|
|
|
|
|
|
|
<item>Inv</item>
|
|
|
|
<item>InvTall</item>
|
|
|
|
<item>InvWide</item>
|
|
|
|
<item>Take</item>
|
|
|
|
<item>Drop</item>
|
|
|
|
<item>Empty</item>
|
|
|
|
<item>Enter</item>
|
|
|
|
<item>Exit</item>
|
|
|
|
<item>GetOff</item>
|
|
|
|
<item>Go</item>
|
|
|
|
<item>GoIn</item>
|
|
|
|
<item>Look</item>
|
|
|
|
<item>Examine</item>
|
|
|
|
<item>Search</item>
|
|
|
|
<item>Give</item>
|
|
|
|
<item>Show</item>
|
|
|
|
<item>Unlock</item>
|
|
|
|
<item>Lock</item>
|
|
|
|
<item>SwitchOn</item>
|
|
|
|
<item>SwitchOff</item>
|
|
|
|
<item>Open</item>
|
|
|
|
<item>Close</item>
|
|
|
|
<item>Disrobe</item>
|
|
|
|
<item>Wear</item>
|
|
|
|
<item>Eat</item>
|
|
|
|
|
|
|
|
<item>LetGo</item>
|
|
|
|
<item>Receive</item>
|
|
|
|
<item>Insert</item>
|
|
|
|
<item>PutOn</item>
|
|
|
|
<item>Transfer</item>
|
|
|
|
<item>Empty</item>
|
|
|
|
<item>EmptyT</item>
|
|
|
|
<item>GetOff</item>
|
|
|
|
<item>GoIn</item>
|
|
|
|
<item>Listen</item>
|
|
|
|
<item>Taste</item>
|
|
|
|
<item>Touch</item>
|
|
|
|
|
|
|
|
<item>Pull</item>
|
|
|
|
<item>Push</item>
|
|
|
|
<item>Wave</item>
|
|
|
|
<item>Turn</item>
|
|
|
|
<item>PushDir</item>
|
|
|
|
<item>ThrowAt</item>
|
|
|
|
<item>ThrownAt</item>
|
|
|
|
<item>JumpOn</item>
|
|
|
|
<item>Drink</item>
|
|
|
|
<item>Attack</item>
|
|
|
|
<item>Tie</item>
|
|
|
|
<item>Fill</item>
|
|
|
|
<item>Swing</item>
|
|
|
|
<item>Blow</item>
|
|
|
|
<item>Rub</item>
|
|
|
|
<item>Set</item>
|
|
|
|
<item>SetTo</item>
|
|
|
|
<item>Buy</item>
|
|
|
|
<item>Climb</item>
|
|
|
|
<item>Squeeze</item>
|
|
|
|
<item>Climb</item>
|
|
|
|
<item>Burn</item>
|
|
|
|
<item>Cut</item>
|
|
|
|
<item>Dig</item>
|
|
|
|
|
|
|
|
<item>Consult</item>
|
|
|
|
<item>Tell</item>
|
|
|
|
<item>Answer</item>
|
|
|
|
<item>Ask</item>
|
|
|
|
<item>AskFor</item>
|
|
|
|
<item>Kiss</item>
|
|
|
|
|
|
|
|
<item>Sleep</item>
|
|
|
|
<item>Sing</item>
|
|
|
|
<item>WaveHands</item>
|
|
|
|
<item>Swim</item>
|
|
|
|
<item>Sorry</item>
|
|
|
|
<item>Sing</item>
|
|
|
|
<item>Strong</item>
|
|
|
|
<item>Mild</item>
|
|
|
|
<item>Smell</item>
|
|
|
|
<item>Pray</item>
|
|
|
|
<item>Jump</item>
|
|
|
|
<item>Think</item>
|
|
|
|
<item>VagueGo</item>
|
|
|
|
<item>Yes</item>
|
|
|
|
<item>No</item>
|
|
|
|
<item>Sing</item>
|
|
|
|
</list>
|
|
|
|
|
|
|
|
<list name="special_vals" >
|
|
|
|
<item>String</item>
|
|
|
|
<item>Routine</item>
|
|
|
|
<item>bold</item>
|
|
|
|
<item>roman</item>
|
|
|
|
<item>underline</item>
|
|
|
|
<item>fixed</item>
|
|
|
|
<item>nothing</item>
|
|
|
|
<item>true</item>
|
|
|
|
<item>false</item>
|
|
|
|
<item>on</item>
|
|
|
|
<item>off</item>
|
|
|
|
<item>sender</item>
|
|
|
|
<item>self</item>
|
|
|
|
<item>location</item>
|
|
|
|
<item>score</item>
|
|
|
|
<item>action</item>
|
|
|
|
<item>actor</item>
|
|
|
|
<item>noun</item>
|
|
|
|
<item>second</item>
|
|
|
|
<item>the_time</item>
|
|
|
|
<item>consult_from</item>
|
|
|
|
<item>consult_words</item>
|
|
|
|
<item>wn</item>
|
|
|
|
<item>actors_location</item>
|
|
|
|
<item>buffer</item>
|
|
|
|
<item>player</item>
|
|
|
|
</list>
|
|
|
|
|
|
|
|
<list name="pragmas" >
|
|
|
|
<item>Ifdef</item>
|
|
|
|
<item>Ifndef</item>
|
|
|
|
<item>Iftrue</item>
|
|
|
|
<item>Iffalse</item>
|
|
|
|
<item>Ifnot</item>
|
|
|
|
<item>Endif</item>
|
|
|
|
<item>End</item>
|
|
|
|
<item>Abbreviate</item>
|
|
|
|
<item>Array</item>
|
|
|
|
<item>Attribute</item>
|
|
|
|
<item>Constant</item>
|
|
|
|
<item>Default</item>
|
|
|
|
<item>Extend</item>
|
|
|
|
<item>Global</item>
|
|
|
|
<item>Ifnot</item>
|
|
|
|
<item>Iftrue</item>
|
|
|
|
<item>Iffalse</item>
|
|
|
|
<item>Import</item>
|
|
|
|
<item>Include</item>
|
|
|
|
<item>Link</item>
|
|
|
|
<item>Lowstring</item>
|
|
|
|
<item>Message</item>
|
|
|
|
<item>Property</item>
|
|
|
|
<item>Release</item>
|
|
|
|
<item>Replace</item>
|
|
|
|
<item>Serial</item>
|
|
|
|
<item>Switches</item>
|
|
|
|
<item>Statusline</item>
|
|
|
|
<item>score</item>
|
|
|
|
<item>System_file</item>
|
|
|
|
<item>Verb</item>
|
|
|
|
</list>
|
|
|
|
|
|
|
|
<list name="inline_pragmas" >
|
|
|
|
<item>#ifdef</item>
|
|
|
|
<item>#else</item>
|
|
|
|
<item>#ifndef</item>
|
|
|
|
<item>#endif</item>
|
|
|
|
</list>
|
|
|
|
|
|
|
|
<list name="operators">
|
|
|
|
<item>has</item>
|
|
|
|
<item>hasn't</item>
|
|
|
|
<item>in</item>
|
|
|
|
<item>notin</item>
|
|
|
|
<item>provides</item>
|
|
|
|
<item>ofclass</item>
|
|
|
|
<item>or</item>
|
|
|
|
</list>
|
|
|
|
|
|
|
|
<list name="ClassDeclOps">
|
|
|
|
<item>with</item>
|
|
|
|
<item>private</item>
|
|
|
|
<item>has</item>
|
|
|
|
</list>
|
|
|
|
|
|
|
|
<contexts>
|
|
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="TopLevel">
|
|
|
|
<DetectChar attribute="Comment" context="comment" char="!" />
|
|
|
|
<DetectChar attribute="String" context="string" char=""" />
|
|
|
|
<RegExpr attribute="Function" context="funcdef" beginRegion="reg_function"
|
|
|
|
String="[[]\s*[a-zA-Z_]+\w*" />
|
|
|
|
|
|
|
|
<RegExpr String=" *object | *class " attribute="Pragma"
|
|
|
|
context="ClassDecl"
|
|
|
|
insensitive="true" beginRegion="reg_class" column="0"/>
|
|
|
|
|
|
|
|
<keyword attribute="Pragma" context="#stay" String="pragmas" />
|
|
|
|
<keyword attribute="Pragma" context="#stay" String="inline_pragmas" />
|
|
|
|
|
|
|
|
<RegExpr attribute="Operator" context="#stay" String="--?>" />
|
|
|
|
<RegExpr attribute="Normal Text" context="#stay" String="[a-zA-Z_]+\d*" />
|
|
|
|
<RegExpr attribute="Number" context="#stay" String="\$[0-9a-fA-F]{1,4}" />
|
|
|
|
<RegExpr attribute="Number" context="#stay" String="\d+" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
|
|
|
|
<DetectChar attribute="Comment" context="comment" char="!" />
|
|
|
|
<DetectChar attribute="String" context="string" char=""" />
|
|
|
|
<DetectChar attribute="Word" context="word" char="'" />
|
|
|
|
<keyword attribute="Pragma" context="#stay" String="inline_pragmas" />
|
|
|
|
<RegExpr attribute="Operator" context="#stay" String="--?>" />
|
|
|
|
<keyword attribute="Keyword" context="#stay" String="keywords" />
|
|
|
|
<keyword attribute="Actions" context="#stay" String="actions" />
|
|
|
|
<keyword attribute="PredefFunction" context="#stay" String="functions" />
|
|
|
|
<keyword attribute="Values" context="#stay" String="special_vals" />
|
|
|
|
<keyword attribute="Operator" context="#stay" String="operators" />
|
|
|
|
<RegExpr attribute="Actions" context="#stay" String="##[a-zA-Z_]+\w*" />
|
|
|
|
<RegExpr attribute="OpCode" context="#stay" String="@[a-zA-Z_]+\w*" />
|
|
|
|
<RegExpr attribute="Number" context="#stay" String="\$[0-9a-fA-F]{1,4}" />
|
|
|
|
<RegExpr String="[a-zA-Z_]+\w*" attribute="Normal Text" context="#stay" />
|
|
|
|
<RegExpr attribute="Number" context="#stay" String="\d+" />
|
|
|
|
<DetectChar char="{" attribute="Keyword" context="#stay"
|
|
|
|
beginRegion="reg_compound" />
|
|
|
|
<DetectChar char="}" attribute="Keyword" context="#stay"
|
|
|
|
endRegion="reg_compound" />
|
|
|
|
<AnyChar attribute="Operator" context="#stay" String="%&()+-<=>{|}~"/>
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="PropDefVal rules">
|
|
|
|
<DetectChar attribute="Comment" context="comment" char="!" />
|
|
|
|
<DetectChar attribute="String" context="string" char=""" />
|
|
|
|
<DetectChar attribute="Word" context="word" char="'" />
|
|
|
|
<DetectChar attribute="Function" context="prop_func_def" char="[" beginRegion="reg_prop_def_func" />
|
|
|
|
<DetectChar attribute="Operator" context="#pop" char="," />
|
|
|
|
<RegExpr attribute="Number" context="#stay" String="\$[0-9a-fA-F]{1,4}" />
|
|
|
|
<RegExpr attribute="Number" context="#stay" String="\d+" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
|
|
|
|
<context name="funcdef" attribute="Normal Text" lineEndContext="#stay" >
|
|
|
|
<IncludeRules context="Normal" />
|
|
|
|
<Detect2Chars attribute="Function" context="#pop" char="]" char1=";"
|
|
|
|
endRegion="reg_function"/>
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context name="ClassDecl" attribute="Normal Text" lineEndContext="ClassDecl_1">
|
|
|
|
<IncludeRules context="PropDefVal rules" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context name="ClassDecl_1" attribute="Normal Text" lineEndContext="#stay">
|
|
|
|
<RegExpr String="^[\t ]*has " attribute="Keyword" context="has_decl" insensitive="true"/>
|
|
|
|
<keyword String="ClassDeclOps" attribute="Keyword" context="#stay" />
|
|
|
|
<RegExpr String="[a-zA-Z_]+\w*" context = "prop_def"
|
|
|
|
attribute="Function"/>
|
|
|
|
<DetectChar char=";" context="#pop" attribute="Pragma" endRegion="reg_class"/>
|
|
|
|
</context>
|
|
|
|
|
|
|
|
|
|
|
|
<context attribute="Word" lineEndContext="#pop" name="word">
|
|
|
|
<DetectChar attribute="Word" context="#pop" char="'" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context attribute="String" lineEndContext="#stay" name="string">
|
|
|
|
<DetectChar attribute="String" context="#pop" char=""" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context name="prop_func_def" attribute="Normal Text" lineEndContext="#stay">
|
|
|
|
<DetectChar context="#pop" char="]" attribute="Function"
|
|
|
|
endRegion="reg_prop_func"/>
|
|
|
|
<IncludeRules context="Normal" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context name="prop_def" attribute="Normal Text" lineEndContext="#stay" >
|
|
|
|
<DetectChar char="," context="#pop" attribute="Function"
|
|
|
|
endRegion="reg_prop"/>
|
|
|
|
<DetectChar char=";" context="#pop#pop#pop" attribute="Pragma" endRegion="reg_class"/>
|
|
|
|
<DetectChar char="[" context="prop_func_def" attribute="Function"
|
|
|
|
beginRegion="reg_prop_func"/>
|
|
|
|
<IncludeRules context="PropDefVal rules" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context name="has_decl" attribute="Normal Text" lineEndContext="#stay" >
|
|
|
|
<DetectChar char=";" context="#pop#pop#pop" attribute="Pragma" endRegion="reg_class"/>
|
|
|
|
<IncludeRules context="PropDefVal rules" />
|
|
|
|
</context>
|
|
|
|
|
|
|
|
<context attribute="Comment" lineEndContext="#pop" name="comment"/>
|
|
|
|
|
|
|
|
</contexts>
|
|
|
|
|
|
|
|
<itemDatas>
|
|
|
|
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
|
|
|
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
|
|
|
<itemData name="Actions" defStyleNum="dsDataType" color="#E06060" selColor="#400000" bold="0" italic="0"/>
|
|
|
|
<itemData name="Operator" defStyleNum="dsBaseN" color="#A01060" selColor="#400040" bold="0" italic="0"/>
|
|
|
|
<itemData name="Number" defStyleNum="dsDecVal" color="#5050C0" selColor="#000000" bold="0" italic="0"/>
|
|
|
|
<itemData name="OpCode" defStyleNum="dsDecVal" color="#3015F0" selColor="#000000" bold="1" italic="0"/>
|
|
|
|
<itemData name="Values" defStyleNum="dsBaseN" color="#7020F0" selColor="#400000" bold="1" italic="0" />
|
|
|
|
<itemData name="Pragma" defStyleNum="dsOthers" color="#109010" selColor="#400000" bold="1" italic="0" />
|
|
|
|
<itemData name="PredefFunction" defStyleNum="dsFunction" />
|
|
|
|
<itemData name="Function" defStyleNum="dsFunction" />
|
|
|
|
<itemData name="Comment" defStyleNum="dsComment" color="#707070" selColor="#ffffff" bold="0" italic="1"/>
|
|
|
|
<itemData name="String" defStyleNum="dsString" color="#007000" selColor="#007000" bold="0" italic="0"/>
|
|
|
|
<itemData name="Word" defStyleNum="dsString" color="#007000" selColor="#007000" bold="0" italic="1"/>
|
|
|
|
</itemDatas>
|
|
|
|
</highlighting>
|
|
|
|
<general>
|
|
|
|
<comments>
|
|
|
|
<comment name="singleLine" start="!" />
|
|
|
|
</comments>
|
|
|
|
<keywords casesensitive="1" />
|
|
|
|
</general>
|
|
|
|
</language>
|