home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / OpenLinux 2.3 CD.iso / live / usr / share / vim / syntax / inform.vim < prev    next >
Encoding:
Text File  |  1999-08-10  |  12.6 KB  |  275 lines

  1. " Vim syntax file
  2. " Language: Inform
  3. " Maintainer: Stephen Thomas (stephent@isltd.insignia.com)
  4. " Last change: 1998 May 27th
  5.  
  6. " Remove any old syntax stuff hanging around
  7. syn clear
  8.  
  9. " A bunch of useful Inform keywords.  First, case insensitive stuff
  10.  
  11. syn case ignore
  12.  
  13. syn keyword informDefine Constant
  14.  
  15. syn keyword informType Array Attribute Class Global Nearby
  16. syn keyword informType Object Property String Routine
  17.  
  18. syn keyword informInclude Import Include Link Replace System_file
  19.  
  20. syn keyword informPreCondit End Endif Ifdef Ifndef Iftrue Iffalse Ifv3 Ifv5
  21.  
  22. syn keyword informPreProc Abbreviate Default Fake_action Lowstring
  23. syn keyword informPreProc Message Release Serial Statusline Stub Switches
  24. syn keyword informPreProc Trace Zcharacter
  25.  
  26. syn keyword informGramPreProc contained Verb Extend
  27.  
  28. " Now the case sensitive stuff.
  29.  
  30. syntax case match
  31.  
  32. " Assembly language mnemonics must be preceded by a '@'.
  33.  
  34. syn match informAsm "@\s*\(je\|jl\|jg\|dec_chk\|inc_chk\|jin\|test\|or\|and\)\>"
  35. syn match informAsm "@\s*\(test_attr\|set_attr\|clear_attr\|store\)\>"
  36. syn match informAsm "@\s*\(insert_obj\|loadw\|loadb\|get_prop\)\>"
  37. syn match informAsm "@\s*\(get_prop_addr\|get_next_prop\|add\|sub\|mul\|div\)\>"
  38. syn match informAsm "@\s*\(mod\|call\|storew\|storeb\|put_prop\|sread\)\>"
  39. syn match informAsm "@\s*\(print_char\|print_num\|random\|push\|pull\)\>"
  40. syn match informAsm "@\s*\(split_window\|set_window\|output_stream\)\>"
  41. syn match informAsm "@\s*\(input_stream\|sound_effect\|jz\|get_sibling\)\>"
  42. syn match informAsm "@\s*\(get_child\|get_parent\|get_prop_len\|inc\|dec\)\>"
  43. syn match informAsm "@\s*\(print_addr\|remove_obj\|print_obj\|ret\|jump\)\>"
  44. syn match informAsm "@\s*\(print_paddr\|load\|not\|rtrue\|rfalse\|print\)\>"
  45. syn match informAsm "@\s*\(print_ret\|nop\|save\|restore\|restart\)\>"
  46. syn match informAsm "@\s*\(ret_popped\|pop\|quit\|new_line\|show_status\)\>"
  47. syn match informAsm "@\s*\(verify\|call_2s\|call_vs\|aread\|call_vs2\)\>"
  48. syn match informAsm "@\s*\(erase_window\|erase_line\|set_cursor\|get_cursor\)\>"
  49. syn match informAsm "@\s*\(set_text_style\|buffer_mode\|read_char\)\>"
  50. syn match informAsm "@\s*\(scan_table\|call_1s\|call_2n\|set_colour\|throw\)\>"
  51. syn match informAsm "@\s*\(call_vn\|call_vn2\|tokenise\|encode_text\)\>"
  52. syn match informAsm "@\s*\(copy_table\|print_table\|check_arg_count\)\>"
  53. syn match informAsm "@\s*\(call_1n\|catch\|piracy\|log_shift\|art_shift\)\>"
  54. syn match informAsm "@\s*\(set_font\|save_undo\|restore_undo\|draw_picture\)\>"
  55. syn match informAsm "@\s*\(picture_data\|erase_picture\|set_margins\)\>"
  56. syn match informArm "@\s*\(move_window\|window_size\|window_style\)\>"
  57. syn match informArm "@\s*\(get_wind_prop\|scroll_window\|pop_stack\)\>"
  58. syn match informAsm "@\s*\(read_mouse\|mouse_window\|push_stack\)\>"
  59. syn match informArm "@\s*\(put_wind_prop\|print_form\|make_menu\)\>"
  60. syn match informArm "@\s*picture_table\>"
  61.  
  62. syn keyword informSysFunc child children elder indirect parent random
  63. syn keyword informSysFunc sibling younger youngest metaclass
  64.  
  65. syn keyword informSysConst adjectives_table actions_table classes_table
  66. syn keyword informSysConst identifiers_table preactions_table version_number
  67. syn keyword informSysConst largest_object strings_offset code_offset
  68. syn keyword informSysConst dict_par1 dict_par2 dict_par3
  69.  
  70. syn keyword informConditional default else if switch
  71.  
  72. syn keyword informRepeat break continue do for objectloop until while
  73.  
  74. syn keyword informStatement box font give inversion jump move new_line
  75. syn keyword informStatement print print_ret quit read remove restore return
  76. syn keyword informStatement rfalse rtrue save spaces string style
  77.  
  78. syn keyword informOperator roman reverse bold underline fixed on off to
  79. syn keyword informOperator near from
  80.  
  81. syn keyword informKeyword dictionary symbols objects verbs assembly
  82. syn keyword informKeyword expressions lines tokens linker on off alias long
  83. syn keyword informKeyword additive score time string table data initial
  84. syn keyword informKeyword initstr with private has class error fatalerror
  85. syn keyword informKeyword warning self
  86.  
  87. syn keyword informMetaAttrib remaining create destroy recreate copy call
  88.  
  89. if !exists("inform_highlight_simple")
  90.   syn keyword informLibAttrib absent animate clothing concealed container
  91.   syn keyword informLibAttrib door edible enterable female general light
  92.   syn keyword informLibAttrib lockable locked male moved neuter on open
  93.   syn keyword informLibAttrib openable pluralname proper scenery scored
  94.   syn keyword informLibAttrib static supporter switchable talkable
  95.   syn keyword informLibAttrib visited workflag worn
  96.   syn match informLibAttrib "\<transparent\>"
  97.  
  98.   syn keyword informLibProp e_to se_to s_to sw_to w_to nw_to n_to ne_to
  99.   syn keyword informLibProp u_to d_to in_to out_to before after life
  100.   syn keyword informLibProp door_to with_key door_dir invent plural
  101.   syn keyword informLibProp add_to_scope list_together react_before
  102.   syn keyword informLibProp react_after grammar orders initial when_open
  103.   syn keyword informLibProp when_closed when_on when_off description
  104.   syn keyword informLibProp describe article cant_go found_in time_left
  105.   syn keyword informLibProp number time_out daemon each_turn capacity
  106.   syn keyword informLibProp name short_name short_name_indef parse_name
  107.   syn keyword informLibProp articles inside_description
  108.  
  109.   syn keyword informLibObj e_obj se_obj s_obj sw_obj w_obj nw_obj n_obj
  110.   syn keyword informLibObj ne_obj u_obj d_obj in_obj out_obj compass
  111.   syn keyword informLibObj thedark selfobj player location second actor
  112.   syn keyword informLibObj noun
  113.  
  114.   syn keyword informLibRoutine Achieved AddToScope AllowPushDir CDefArt
  115.   syn keyword informLibRoutine ChangeDefault ChangePlayer DefArt DoMenu
  116.   syn keyword informLibRoutine EnglishNumber HasLightSource InDefArt
  117.   syn keyword informLibRoutine Locale LoopOverScope NextWord
  118.   syn keyword informLibRoutine NextWordStopped NounDomain OffersLight
  119.   syn keyword informLibRoutine PlaceInScope PlayerTo PrintShortName
  120.   syn keyword informLibRoutine ScopeWithin SetTime StartDaemon StartTimer
  121.   syn keyword informLibRoutine StopDaemon StopTimer TestScope TryNumber
  122.   syn keyword informLibRoutine UnsignedCompare WordAddress WordLength
  123.   syn keyword informLibRoutine WriteListFrom YesOrNo ZRegion RunRoutines
  124.   syn keyword informLibRoutine AfterLife AfterPrompt Amusing BeforeParsing
  125.   syn keyword informLibRoutine ChooseObjects DarkToDark DeathMessage
  126.   syn keyword informLibRoutine GamePostRoutine GamePreRoutine Initialise
  127.   syn keyword informLibRoutine InScope LookRoutine NewRoom ParseNoun
  128.   syn keyword informLibRoutine ParseNumber ParserError PrintRank PrintVerb
  129.   syn keyword informLibRoutine PrintTaskName TimePasses UnknownVerb
  130.  
  131.   syn keyword informLibAction1a Quit Restart Restore Verify Save ScriptOn
  132.   syn keyword informLibAction1a ScriptOff Pronouns Score Fullscore LMode1
  133.   syn keyword informLibAction1a LMode2 LMode3 NotifyOn NotifyOff Version
  134.   syn keyword informLibAction1a Places Objects
  135.  
  136.   hi link informLibAction1a informLibAction
  137.  
  138.   syn keyword informLibAction1b TraceOn TraceOff TraceLevel ActionsOn
  139.   syn keyword informLibAction1b ActionsOff RoutinesOn RoutinesOff TimersOn
  140.   syn keyword informLibAction1b TimersOff CommandsOn CommandsOff
  141.   syn keyword informLibAction1b CommandsRead Predictable XPurloin XAbstract
  142.   syn keyword informLibAction1b XTree Scope Goto Gonear
  143.  
  144.   hi link informLibAction1b informLibAction
  145.  
  146.   syn keyword informLibAction2 Inv InvTall InvWide Take Drop Remove PutOn
  147.   syn keyword informLibAction2 Insert Transfer Empty Enter Exit GetOff Go
  148.   syn keyword informLibAction2 Goin Look Examine Search Give Show Unlock
  149.   syn keyword informLibAction2 Lock SwitchOn SwitchOff Open Close Disrobe
  150.   syn keyword informLibAction2 Wear Eat
  151.  
  152.   hi link informLibAction2 informLibAction
  153.  
  154.   syn keyword informLibAction3 Yes No Burn Pray Wake WakeOther Consult Kiss
  155.   syn keyword informLibAction3 Think Smell Listen Taste Touch Dig Cut Jump
  156.   syn keyword informLibAction3 JumpOver Tie Drink Fill Sorry Strong Mild
  157.   syn keyword informLibAction3 Attack Swim Swing Blow Rub Set SetTo
  158.   syn keyword informLibAction3 WaveHands Wave Pull Push PushDir Turn
  159.   syn keyword informLibAction3 Squeeze LookUnder ThrowAt Tell Answer Buy
  160.   syn keyword informLibAction3 Ask AskFor Sing Climb Wait Sleep
  161.  
  162.   hi link informLibAction3 informLibAction
  163.  
  164.   syn keyword informLibActionFake LetGo Receive ThrownAt Order TheSame
  165.   syn keyword informLibActionFake PluralFound Miscellany Prompt
  166.  
  167.   hi link informLibActionFake informLibAction
  168.  
  169.   syn keyword informLibVariable keep_silent deadflag action special_number
  170.   syn keyword informLibVariable consult_from consult_words etype verb_num
  171.   syn keyword informLibVariable verb_word the_time real_location c_style
  172.   syn keyword informLibVariable parser_one parser_two listing_together wn
  173.   syn keyword informLibVariable parser_action scope_stage scope_reason
  174.   syn keyword informLibVariable action_to_be menu_item item_name item_width
  175.   syn keyword informLibVariable lm_o lm_n inventory_style task_scores
  176.  
  177.   syn keyword informLibConst AMUSING_PROVIDED DEBUG Headline MAX_CARRIED
  178.   syn keyword informLibConst MAX_SCORE MAX_TIMERS NO_PLACES NUMBER_TASKS
  179.   syn keyword informLibConst OBJECT_SCORE ROOM_SCORE SACK_OBJECT Story
  180.   syn keyword informLibConst TASKS_PROVIDED WITHOUT_DIRECTIONS
  181.   syn keyword informLibConst NEWLINE_BIT INDENT_BIT FULLINV_BIT ENGLISH_BIT
  182.   syn keyword informLibConst RECURSE_BIT ALWAYS_BIT TERSE_BIT PARTINV_BIT
  183.   syn keyword informLibConst DEFART_BIT WORKFLAG_BIT ISARE_BIT CONCEAL_BIT
  184.   syn keyword informLibConst PARSING_REASON TALKING_REASON EACHTURN_REASON
  185.   syn keyword informLibConst REACT_BEFORE_REASON REACT_AFTER_REASON
  186.   syn keyword informLibConst TESTSCOPE_REASON LOOPOVERSCOPE_REASON
  187.   syn keyword informLibConst STUCK_PE UPTO_PE NUMBER_PE CANTSEE_PE TOOLIT_PE
  188.   syn keyword informLibConst NOTHELD_PE MULTI_PE MMULTI_PE VAGUE_PE EXCEPT_PE
  189.   syn keyword informLibConst ANIMA_PE VERB_PE SCENERY_PE ITGONE_PE
  190.   syn keyword informLibConst JUNKAFTER_PE TOOFEW_PE NOTHING_PE ASKSCOPE_PE
  191. endif
  192.  
  193. syn keyword informPredicate contained has hasnt in notin ofclass or
  194. syn keyword informPredicate contained provides
  195.  
  196. syn keyword informGrammar contained noun held multi multiheld multiexcept
  197. syn keyword informGrammar contained multiinside creature special number
  198. syn keyword informGrammar contained scope topic reverse meta only replace
  199. syn keyword informGrammar contained first last
  200.  
  201. syn keyword informTodo contained TODO
  202.  
  203. " Grammar sections.
  204.  
  205. syn region informGrammarSection matchgroup=informGramPreProc start="\<Verb\|Extend\>" skip=+".*"+ end=";"he=e-1 contains=ALL
  206.  
  207. " Special character forms.
  208.  
  209. syn match informSpecChar contained "@[''\:c~o^]\|@@\d\d*\|@{\d*}\|@.."
  210.  
  211. " String and Character constants
  212. syn region informString start=+"+ skip=+\\\\+ end=+"+ contains=informSpecChar
  213. syn region informDictString start="'" skip="@'" end="'"
  214.  
  215. " Catch errors caused by wrong parenthesis
  216. syn region informParen transparent start='(' end=')' contains=ALLBUT,informParenError,informTodo,informGrammar
  217. syn match informParenError ")"
  218. syn match informInParen contained "[{}]"
  219.  
  220. " Integer numbers: decimal, hexadecimal and binary.
  221. syn match informNumber "\<\d\+\>"
  222. syn match informNumber "\<\$[0-9A-Za-z]\+\>"
  223. syn match informNumber "\<\$\$[01]\+\>"
  224.  
  225. " Comments
  226. syn match informComment "!.*" contains=informTodo
  227.  
  228. " Syncronization
  229. syn sync match informSyncRoutine grouphere NONE "\[\|\]"
  230. syn sync match informSyncRoutine groupthere informGrammarSection "\<Verb\|Extend\>"
  231. syn sync maxlines=500
  232.  
  233. if !exists("did_inform_syntax_inits")
  234.   let did_inform_syntax_inits = 1
  235.   " The default methods for highlighting.  Can be overridden later
  236.   hi link informDefine        Define
  237.   hi link informType        Type
  238.   hi link informInclude        Include
  239.   hi link informPreCondit    PreCondit
  240.   hi link informPreProc        PreProc
  241.   hi link informGramPreProc    PreProc
  242.   hi link informAsm        Special
  243.   hi link informPredicate    Operator
  244.   hi link informSysFunc        Identifier
  245.   hi link informSysConst    Identifier
  246.   hi link informConditional    Conditional
  247.   hi link informRepeat        Repeat
  248.   hi link informStatement    Statement
  249.   hi link informOperator    Operator
  250.   hi link informKeyword        Keyword
  251.   hi link informGrammar        Keyword
  252.   hi link informDictString    String
  253.   hi link informNumber        Number
  254.   hi link informError        Error
  255.   hi link informString        String
  256.   hi link informComment        Comment
  257.   hi link informSpecChar    Special
  258.   hi link informTodo        Todo
  259.   if !exists("inform_highlight_simple")
  260.     hi link informLibAttrib    Identifier
  261.     hi link informLibProp    Identifier
  262.     hi link informLibObj    Identifier
  263.     hi link informLibRoutine    Identifier
  264.     hi link informLibVariable    Identifier
  265.     hi link informLibConst    Identifier
  266.     hi link informLibAction    Statement
  267.   endif
  268.   hi link informParenError    informError
  269.   hi link informInParen        informError
  270. endif
  271.  
  272. let current_syntax = "inform"
  273.  
  274. " vim: ts=8
  275.