You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
406 lines
14 KiB
406 lines
14 KiB
<?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="1.23-1" 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> WordLength </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>
|