xref: /vim-8.2.3635/runtime/syntax/inform.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:     Inform
3fc1421ebSBram Moolenaar" Maintainer:   Stephen Thomas ([email protected])
4fc1421ebSBram Moolenaar" URL:		http://www.gowarthomas.com/informvim
5fc1421ebSBram Moolenaar" Last Change:  2006 April 20
6071d4279SBram Moolenaar
789bcfda6SBram Moolenaar" quit when a syntax file was already loaded
889bcfda6SBram Moolenaarif exists("b:current_syntax")
9071d4279SBram Moolenaar  finish
10071d4279SBram Moolenaarendif
11071d4279SBram Moolenaar
12071d4279SBram Moolenaar" A bunch of useful Inform keywords.  First, case insensitive stuff
13071d4279SBram Moolenaar
14071d4279SBram Moolenaarsyn case ignore
15071d4279SBram Moolenaar
16071d4279SBram Moolenaarsyn keyword informDefine Constant
17071d4279SBram Moolenaar
18071d4279SBram Moolenaarsyn keyword informType Array Attribute Class Nearby
19071d4279SBram Moolenaarsyn keyword informType Object Property String Routine
20071d4279SBram Moolenaarsyn match   informType "\<Global\>"
21071d4279SBram Moolenaar
22071d4279SBram Moolenaarsyn keyword informInclude Import Include Link Replace System_file
23071d4279SBram Moolenaar
24071d4279SBram Moolenaarsyn keyword informPreCondit End Endif Ifdef Ifndef Iftrue Iffalse Ifv3 Ifv5
25071d4279SBram Moolenaarsyn keyword informPreCondit Ifnot
26071d4279SBram Moolenaar
27071d4279SBram Moolenaarsyn keyword informPreProc Abbreviate Default Fake_action Lowstring
28071d4279SBram Moolenaarsyn keyword informPreProc Message Release Serial Statusline Stub Switches
29071d4279SBram Moolenaarsyn keyword informPreProc Trace Zcharacter
30071d4279SBram Moolenaar
31071d4279SBram Moolenaarsyn region  informGlobalRegion matchgroup=informType start="\<Global\>" matchgroup=NONE skip=+!.*$\|".*"\|'.*'+ end=";" contains=ALLBUT,informGramPreProc,informPredicate,informGrammar,informAsm,informAsmObsolete
32071d4279SBram Moolenaar
33071d4279SBram Moolenaarsyn keyword informGramPreProc contained Verb Extend
34071d4279SBram Moolenaar
35071d4279SBram Moolenaarif !exists("inform_highlight_simple")
36071d4279SBram Moolenaar  syn keyword informLibAttrib absent animate clothing concealed container
37071d4279SBram Moolenaar  syn keyword informLibAttrib door edible enterable female general light
38071d4279SBram Moolenaar  syn keyword informLibAttrib lockable locked male moved neuter on open
39071d4279SBram Moolenaar  syn keyword informLibAttrib openable pluralname proper scenery scored
40071d4279SBram Moolenaar  syn keyword informLibAttrib static supporter switchable talkable
41071d4279SBram Moolenaar  syn keyword informLibAttrib visited workflag worn
42071d4279SBram Moolenaar  syn match informLibAttrib "\<transparent\>"
43071d4279SBram Moolenaar
44071d4279SBram Moolenaar  syn keyword informLibProp e_to se_to s_to sw_to w_to nw_to n_to ne_to
45071d4279SBram Moolenaar  syn keyword informLibProp u_to d_to in_to out_to before after life
46071d4279SBram Moolenaar  syn keyword informLibProp door_to with_key door_dir invent plural
47071d4279SBram Moolenaar  syn keyword informLibProp add_to_scope list_together react_before
48071d4279SBram Moolenaar  syn keyword informLibProp react_after grammar orders initial when_open
49071d4279SBram Moolenaar  syn keyword informLibProp when_closed when_on when_off description
50071d4279SBram Moolenaar  syn keyword informLibProp describe article cant_go found_in time_left
51071d4279SBram Moolenaar  syn keyword informLibProp number time_out daemon each_turn capacity
52071d4279SBram Moolenaar  syn keyword informLibProp name short_name short_name_indef parse_name
53071d4279SBram Moolenaar  syn keyword informLibProp articles inside_description
54071d4279SBram Moolenaar  if !exists("inform_highlight_old")
55071d4279SBram Moolenaar    syn keyword informLibProp compass_look before_implicit
56071d4279SBram Moolenaar    syn keyword informLibProp ext_initialise ext_messages
57071d4279SBram Moolenaar  endif
58071d4279SBram Moolenaar
59071d4279SBram Moolenaar  syn keyword informLibObj e_obj se_obj s_obj sw_obj w_obj nw_obj n_obj
60071d4279SBram Moolenaar  syn keyword informLibObj ne_obj u_obj d_obj in_obj out_obj compass
61071d4279SBram Moolenaar  syn keyword informLibObj thedark selfobj player location second actor
62071d4279SBram Moolenaar  syn keyword informLibObj noun
63071d4279SBram Moolenaar  if !exists("inform_highlight_old")
64071d4279SBram Moolenaar    syn keyword informLibObj LibraryExtensions
65071d4279SBram Moolenaar  endif
66071d4279SBram Moolenaar
67071d4279SBram Moolenaar  syn keyword informLibRoutine Achieved AfterRoutines AddToScope
68071d4279SBram Moolenaar  syn keyword informLibRoutine AllowPushDir Banner ChangeDefault
69071d4279SBram Moolenaar  syn keyword informLibRoutine ChangePlayer CommonAncestor DictionaryLookup
70071d4279SBram Moolenaar  syn keyword informLibRoutine DisplayStatus DoMenu DrawStatusLine
71071d4279SBram Moolenaar  syn keyword informLibRoutine EnglishNumber HasLightSource GetGNAOfObject
72071d4279SBram Moolenaar  syn keyword informLibRoutine IndirectlyContains IsSeeThrough Locale
73071d4279SBram Moolenaar  syn keyword informLibRoutine LoopOverScope LTI_Insert MoveFloatingObjects
74071d4279SBram Moolenaar  syn keyword informLibRoutine NextWord NextWordStopped NounDomain
75071d4279SBram Moolenaar  syn keyword informLibRoutine ObjectIsUntouchable OffersLight ParseToken
76071d4279SBram Moolenaar  syn keyword informLibRoutine PlaceInScope PlayerTo PrintShortName
77071d4279SBram Moolenaar  syn keyword informLibRoutine PronounNotice ScopeWithin SetPronoun SetTime
78071d4279SBram Moolenaar  syn keyword informLibRoutine StartDaemon StartTimer StopDaemon StopTimer
79071d4279SBram Moolenaar  syn keyword informLibRoutine TestScope TryNumber UnsignedCompare
80071d4279SBram Moolenaar  syn keyword informLibRoutine WordAddress WordInProperty WordLength
81071d4279SBram Moolenaar  syn keyword informLibRoutine WriteListFrom YesOrNo ZRegion RunRoutines
82071d4279SBram Moolenaar  syn keyword informLibRoutine AfterLife AfterPrompt Amusing BeforeParsing
83071d4279SBram Moolenaar  syn keyword informLibRoutine ChooseObjects DarkToDark DeathMessage
84071d4279SBram Moolenaar  syn keyword informLibRoutine GamePostRoutine GamePreRoutine Initialise
85071d4279SBram Moolenaar  syn keyword informLibRoutine InScope LookRoutine NewRoom ParseNoun
86071d4279SBram Moolenaar  syn keyword informLibRoutine ParseNumber ParserError PrintRank PrintVerb
87071d4279SBram Moolenaar  syn keyword informLibRoutine PrintTaskName TimePasses UnknownVerb
88071d4279SBram Moolenaar  if exists("inform_highlight_glulx")
89071d4279SBram Moolenaar     syn keyword informLibRoutine  IdentifyGlkObject HandleGlkEvent
90071d4279SBram Moolenaar     syn keyword informLibRoutine  InitGlkWindow
91071d4279SBram Moolenaar  endif
92071d4279SBram Moolenaar  if !exists("inform_highlight_old")
93071d4279SBram Moolenaar     syn keyword informLibRoutine  KeyCharPrimitive KeyDelay ClearScreen
94071d4279SBram Moolenaar     syn keyword informLibRoutine  MoveCursor MainWindow StatusLineHeight
95071d4279SBram Moolenaar     syn keyword informLibRoutine  ScreenWidth ScreenHeight SetColour
96071d4279SBram Moolenaar     syn keyword informLibRoutine  DecimalNumber PrintToBuffer Length
97071d4279SBram Moolenaar     syn keyword informLibRoutine  UpperCase LowerCase PrintCapitalised
98071d4279SBram Moolenaar     syn keyword informLibRoutine  Cap Centre
99071d4279SBram Moolenaar     if exists("inform_highlight_glulx")
100071d4279SBram Moolenaar	syn keyword informLibRoutine  PrintAnything PrintAnyToArray
101071d4279SBram Moolenaar     endif
102071d4279SBram Moolenaar  endif
103071d4279SBram Moolenaar
104071d4279SBram Moolenaar  syn keyword informLibAction  Quit Restart Restore Verify Save
105071d4279SBram Moolenaar  syn keyword informLibAction  ScriptOn ScriptOff Pronouns Score
106071d4279SBram Moolenaar  syn keyword informLibAction  Fullscore LMode1 LMode2 LMode3
107071d4279SBram Moolenaar  syn keyword informLibAction  NotifyOn NotifyOff Version Places
108071d4279SBram Moolenaar  syn keyword informLibAction  Objects TraceOn TraceOff TraceLevel
109071d4279SBram Moolenaar  syn keyword informLibAction  ActionsOn ActionsOff RoutinesOn
110071d4279SBram Moolenaar  syn keyword informLibAction  RoutinesOff TimersOn TimersOff
111071d4279SBram Moolenaar  syn keyword informLibAction  CommandsOn CommandsOff CommandsRead
112071d4279SBram Moolenaar  syn keyword informLibAction  Predictable XPurloin XAbstract XTree
113071d4279SBram Moolenaar  syn keyword informLibAction  Scope Goto Gonear Inv InvTall InvWide
114071d4279SBram Moolenaar  syn keyword informLibAction  Take Drop Remove PutOn Insert Transfer
115071d4279SBram Moolenaar  syn keyword informLibAction  Empty Enter Exit GetOff Go Goin Look
116071d4279SBram Moolenaar  syn keyword informLibAction  Examine Search Give Show Unlock Lock
117071d4279SBram Moolenaar  syn keyword informLibAction  SwitchOn SwitchOff Open Close Disrobe
118071d4279SBram Moolenaar  syn keyword informLibAction  Wear Eat Yes No Burn Pray Wake
119071d4279SBram Moolenaar  syn keyword informLibAction  WakeOther Consult Kiss Think Smell
120071d4279SBram Moolenaar  syn keyword informLibAction  Listen Taste Touch Dig Cut Jump
121071d4279SBram Moolenaar  syn keyword informLibAction  JumpOver Tie Drink Fill Sorry Strong
122071d4279SBram Moolenaar  syn keyword informLibAction  Mild Attack Swim Swing Blow Rub Set
123071d4279SBram Moolenaar  syn keyword informLibAction  SetTo WaveHands Wave Pull Push PushDir
124071d4279SBram Moolenaar  syn keyword informLibAction  Turn Squeeze LookUnder ThrowAt Tell
125071d4279SBram Moolenaar  syn keyword informLibAction  Answer Buy Ask AskFor Sing Climb Wait
126071d4279SBram Moolenaar  syn keyword informLibAction  Sleep LetGo Receive ThrownAt Order
127071d4279SBram Moolenaar  syn keyword informLibAction  TheSame PluralFound Miscellany Prompt
128071d4279SBram Moolenaar  syn keyword informLibAction  ChangesOn ChangesOff Showverb Showobj
129071d4279SBram Moolenaar  syn keyword informLibAction  EmptyT VagueGo
130071d4279SBram Moolenaar  if exists("inform_highlight_glulx")
131071d4279SBram Moolenaar     syn keyword informLibAction  GlkList
132071d4279SBram Moolenaar  endif
133071d4279SBram Moolenaar
134071d4279SBram Moolenaar  syn keyword informLibVariable keep_silent deadflag action special_number
135071d4279SBram Moolenaar  syn keyword informLibVariable consult_from consult_words etype verb_num
136071d4279SBram Moolenaar  syn keyword informLibVariable verb_word the_time real_location c_style
137071d4279SBram Moolenaar  syn keyword informLibVariable parser_one parser_two listing_together wn
138071d4279SBram Moolenaar  syn keyword informLibVariable parser_action scope_stage scope_reason
139071d4279SBram Moolenaar  syn keyword informLibVariable action_to_be menu_item item_name item_width
140071d4279SBram Moolenaar  syn keyword informLibVariable lm_o lm_n inventory_style task_scores
141071d4279SBram Moolenaar  syn keyword informLibVariable inventory_stage
142071d4279SBram Moolenaar
143071d4279SBram Moolenaar  syn keyword informLibConst AMUSING_PROVIDED DEBUG Headline MAX_CARRIED
144071d4279SBram Moolenaar  syn keyword informLibConst MAX_SCORE MAX_TIMERS NO_PLACES NUMBER_TASKS
145071d4279SBram Moolenaar  syn keyword informLibConst OBJECT_SCORE ROOM_SCORE SACK_OBJECT Story
146071d4279SBram Moolenaar  syn keyword informLibConst TASKS_PROVIDED WITHOUT_DIRECTIONS
147071d4279SBram Moolenaar  syn keyword informLibConst NEWLINE_BIT INDENT_BIT FULLINV_BIT ENGLISH_BIT
148071d4279SBram Moolenaar  syn keyword informLibConst RECURSE_BIT ALWAYS_BIT TERSE_BIT PARTINV_BIT
149071d4279SBram Moolenaar  syn keyword informLibConst DEFART_BIT WORKFLAG_BIT ISARE_BIT CONCEAL_BIT
150071d4279SBram Moolenaar  syn keyword informLibConst PARSING_REASON TALKING_REASON EACHTURN_REASON
151071d4279SBram Moolenaar  syn keyword informLibConst REACT_BEFORE_REASON REACT_AFTER_REASON
152071d4279SBram Moolenaar  syn keyword informLibConst TESTSCOPE_REASON LOOPOVERSCOPE_REASON
153071d4279SBram Moolenaar  syn keyword informLibConst STUCK_PE UPTO_PE NUMBER_PE CANTSEE_PE TOOLIT_PE
154071d4279SBram Moolenaar  syn keyword informLibConst NOTHELD_PE MULTI_PE MMULTI_PE VAGUE_PE EXCEPT_PE
155071d4279SBram Moolenaar  syn keyword informLibConst ANIMA_PE VERB_PE SCENERY_PE ITGONE_PE
156071d4279SBram Moolenaar  syn keyword informLibConst JUNKAFTER_PE TOOFEW_PE NOTHING_PE ASKSCOPE_PE
157071d4279SBram Moolenaar  if !exists("inform_highlight_old")
158071d4279SBram Moolenaar     syn keyword informLibConst WORDSIZE TARGET_ZCODE TARGET_GLULX
159071d4279SBram Moolenaar     syn keyword informLibConst LIBRARY_PARSER LIBRARY_VERBLIB LIBRARY_GRAMMAR
160071d4279SBram Moolenaar     syn keyword informLibConst LIBRARY_ENGLISH NO_SCORE START_MOVE
161071d4279SBram Moolenaar     syn keyword informLibConst CLR_DEFAULT CLR_BLACK CLR_RED CLR_GREEN
162071d4279SBram Moolenaar     syn keyword informLibConst CLR_YELLOW CLR_BLUE CLR_MAGENTA CLR_CYAN
163071d4279SBram Moolenaar     syn keyword informLibConst CLR_WHITE CLR_PURPLE CLR_AZURE
164071d4279SBram Moolenaar     syn keyword informLibConst WIN_ALL WIN_MAIN WIN_STATUS
165071d4279SBram Moolenaar  endif
166071d4279SBram Moolenaarendif
167071d4279SBram Moolenaar
168071d4279SBram Moolenaar" Now the case sensitive stuff.
169071d4279SBram Moolenaar
170071d4279SBram Moolenaarsyntax case match
171071d4279SBram Moolenaar
172071d4279SBram Moolenaarsyn keyword informSysFunc child children elder indirect parent random
173071d4279SBram Moolenaarsyn keyword informSysFunc sibling younger youngest metaclass
174071d4279SBram Moolenaarif exists("inform_highlight_glulx")
175071d4279SBram Moolenaar  syn keyword informSysFunc glk
176071d4279SBram Moolenaarendif
177071d4279SBram Moolenaar
178071d4279SBram Moolenaarsyn keyword informSysConst adjectives_table actions_table classes_table
179071d4279SBram Moolenaarsyn keyword informSysConst identifiers_table preactions_table version_number
180071d4279SBram Moolenaarsyn keyword informSysConst largest_object strings_offset code_offset
181071d4279SBram Moolenaarsyn keyword informSysConst dict_par1 dict_par2 dict_par3
182071d4279SBram Moolenaarsyn keyword informSysConst actual_largest_object static_memory_offset
183071d4279SBram Moolenaarsyn keyword informSysConst array_names_offset readable_memory_offset
184071d4279SBram Moolenaarsyn keyword informSysConst cpv__start cpv__end ipv__start ipv__end
185071d4279SBram Moolenaarsyn keyword informSysConst array__start array__end lowest_attribute_number
186071d4279SBram Moolenaarsyn keyword informSysConst highest_attribute_number attribute_names_array
187071d4279SBram Moolenaarsyn keyword informSysConst lowest_property_number highest_property_number
188071d4279SBram Moolenaarsyn keyword informSysConst property_names_array lowest_action_number
189071d4279SBram Moolenaarsyn keyword informSysConst highest_action_number action_names_array
190071d4279SBram Moolenaarsyn keyword informSysConst lowest_fake_action_number highest_fake_action_number
191071d4279SBram Moolenaarsyn keyword informSysConst fake_action_names_array lowest_routine_number
192071d4279SBram Moolenaarsyn keyword informSysConst highest_routine_number routines_array
193071d4279SBram Moolenaarsyn keyword informSysConst routine_names_array routine_flags_array
194071d4279SBram Moolenaarsyn keyword informSysConst lowest_global_number highest_global_number globals_array
195071d4279SBram Moolenaarsyn keyword informSysConst global_names_array global_flags_array
196071d4279SBram Moolenaarsyn keyword informSysConst lowest_array_number highest_array_number arrays_array
197071d4279SBram Moolenaarsyn keyword informSysConst array_names_array array_flags_array lowest_constant_number
198071d4279SBram Moolenaarsyn keyword informSysConst highest_constant_number constants_array constant_names_array
199071d4279SBram Moolenaarsyn keyword informSysConst lowest_class_number highest_class_number class_objects_array
200071d4279SBram Moolenaarsyn keyword informSysConst lowest_object_number highest_object_number
201071d4279SBram Moolenaarif !exists("inform_highlight_old")
202071d4279SBram Moolenaar  syn keyword informSysConst sys_statusline_flag
203071d4279SBram Moolenaarendif
204071d4279SBram Moolenaar
205071d4279SBram Moolenaarsyn keyword informConditional default else if switch
206071d4279SBram Moolenaar
207071d4279SBram Moolenaarsyn keyword informRepeat break continue do for objectloop until while
208071d4279SBram Moolenaar
209071d4279SBram Moolenaarsyn keyword informStatement box font give inversion jump move new_line
210071d4279SBram Moolenaarsyn keyword informStatement print print_ret quit read remove restore return
211071d4279SBram Moolenaarsyn keyword informStatement rfalse rtrue save spaces string style
212071d4279SBram Moolenaar
213071d4279SBram Moolenaarsyn keyword informOperator roman reverse bold underline fixed on off to
214071d4279SBram Moolenaarsyn keyword informOperator near from
215071d4279SBram Moolenaar
216071d4279SBram Moolenaarsyn keyword informKeyword dictionary symbols objects verbs assembly
217071d4279SBram Moolenaarsyn keyword informKeyword expressions lines tokens linker on off alias long
218071d4279SBram Moolenaarsyn keyword informKeyword additive score time string table
219071d4279SBram Moolenaarsyn keyword informKeyword with private has class error fatalerror
220071d4279SBram Moolenaarsyn keyword informKeyword warning self
221071d4279SBram Moolenaarif !exists("inform_highlight_old")
222071d4279SBram Moolenaar  syn keyword informKeyword buffer
223071d4279SBram Moolenaarendif
224071d4279SBram Moolenaar
225071d4279SBram Moolenaarsyn keyword informMetaAttrib remaining create destroy recreate copy call
226071d4279SBram Moolenaarsyn keyword informMetaAttrib print_to_array
227071d4279SBram Moolenaar
228071d4279SBram Moolenaarsyn keyword informPredicate has hasnt in notin ofclass or
229071d4279SBram Moolenaarsyn keyword informPredicate provides
230071d4279SBram Moolenaar
231071d4279SBram Moolenaarsyn keyword informGrammar contained noun held multi multiheld multiexcept
232071d4279SBram Moolenaarsyn keyword informGrammar contained multiinside creature special number
233071d4279SBram Moolenaarsyn keyword informGrammar contained scope topic reverse meta only replace
234071d4279SBram Moolenaarsyn keyword informGrammar contained first last
235071d4279SBram Moolenaar
236071d4279SBram Moolenaarsyn keyword informKeywordObsolete contained initial data initstr
237071d4279SBram Moolenaar
238071d4279SBram Moolenaarsyn keyword informTodo contained TODO
239071d4279SBram Moolenaar
240071d4279SBram Moolenaar" Assembly language mnemonics must be preceded by a '@'.
241071d4279SBram Moolenaar
242071d4279SBram Moolenaarsyn match informAsmContainer "@\s*\k*" contains=informAsm,informAsmObsolete
243071d4279SBram Moolenaar
244071d4279SBram Moolenaarif exists("inform_highlight_glulx")
245071d4279SBram Moolenaar  syn keyword informAsm contained nop add sub mul div mod neg bitand bitor
246071d4279SBram Moolenaar  syn keyword informAsm contained bitxor bitnot shiftl sshiftr ushiftr jump jz
247071d4279SBram Moolenaar  syn keyword informAsm contained jnz jeq jne jlt jge jgt jle jltu jgeu jgtu
248071d4279SBram Moolenaar  syn keyword informAsm contained jleu call return catch throw tailcall copy
249071d4279SBram Moolenaar  syn keyword informAsm contained copys copyb sexs sexb aload aloads aloadb
250071d4279SBram Moolenaar  syn keyword informAsm contained aloadbit astore astores astoreb astorebit
251071d4279SBram Moolenaar  syn keyword informAsm contained stkcount stkpeek stkswap stkroll stkcopy
252071d4279SBram Moolenaar  syn keyword informAsm contained streamchar streamnum streamstr gestalt
253071d4279SBram Moolenaar  syn keyword informAsm contained debugtrap getmemsize setmemsize jumpabs
254071d4279SBram Moolenaar  syn keyword informAsm contained random setrandom quit verify restart save
255071d4279SBram Moolenaar  syn keyword informAsm contained restore saveundo restoreundo protect glk
256071d4279SBram Moolenaar  syn keyword informAsm contained getstringtbl setstringtbl getiosys setiosys
257071d4279SBram Moolenaar  syn keyword informAsm contained linearsearch binarysearch linkedsearch
258071d4279SBram Moolenaar  syn keyword informAsm contained callf callfi callfii callfiii
259071d4279SBram Moolenaarelse
260071d4279SBram Moolenaar  syn keyword informAsm contained je jl jg dec_chk inc_chk jin test or and
261071d4279SBram Moolenaar  syn keyword informAsm contained test_attr set_attr clear_attr store
262071d4279SBram Moolenaar  syn keyword informAsm contained insert_obj loadw loadb get_prop
263071d4279SBram Moolenaar  syn keyword informAsm contained get_prop_addr get_next_prop add sub mul div
264071d4279SBram Moolenaar  syn keyword informAsm contained mod call storew storeb put_prop sread
265071d4279SBram Moolenaar  syn keyword informAsm contained print_num random push pull
266071d4279SBram Moolenaar  syn keyword informAsm contained split_window set_window output_stream
267071d4279SBram Moolenaar  syn keyword informAsm contained input_stream sound_effect jz get_sibling
268071d4279SBram Moolenaar  syn keyword informAsm contained get_child get_parent get_prop_len inc dec
269071d4279SBram Moolenaar  syn keyword informAsm contained remove_obj print_obj ret jump
270071d4279SBram Moolenaar  syn keyword informAsm contained load not rtrue rfalse print
271071d4279SBram Moolenaar  syn keyword informAsm contained print_ret nop save restore restart
272071d4279SBram Moolenaar  syn keyword informAsm contained ret_popped pop quit new_line show_status
273071d4279SBram Moolenaar  syn keyword informAsm contained verify call_2s call_vs aread call_vs2
274071d4279SBram Moolenaar  syn keyword informAsm contained erase_window erase_line set_cursor get_cursor
275071d4279SBram Moolenaar  syn keyword informAsm contained set_text_style buffer_mode read_char
276071d4279SBram Moolenaar  syn keyword informAsm contained scan_table call_1s call_2n set_colour throw
277071d4279SBram Moolenaar  syn keyword informAsm contained call_vn call_vn2 tokenise encode_text
278071d4279SBram Moolenaar  syn keyword informAsm contained copy_table print_table check_arg_count
279071d4279SBram Moolenaar  syn keyword informAsm contained call_1n catch piracy log_shift art_shift
280071d4279SBram Moolenaar  syn keyword informAsm contained set_font save_undo restore_undo draw_picture
281071d4279SBram Moolenaar  syn keyword informAsm contained picture_data erase_picture set_margins
282071d4279SBram Moolenaar  syn keyword informAsm contained move_window window_size window_style
283071d4279SBram Moolenaar  syn keyword informAsm contained get_wind_prop scroll_window pop_stack
284071d4279SBram Moolenaar  syn keyword informAsm contained read_mouse mouse_window push_stack
285071d4279SBram Moolenaar  syn keyword informAsm contained put_wind_prop print_form make_menu
286071d4279SBram Moolenaar  syn keyword informAsm contained picture_table
287071d4279SBram Moolenaar  if !exists("inform_highlight_old")
288071d4279SBram Moolenaar     syn keyword informAsm contained check_unicode print_unicode
289071d4279SBram Moolenaar  endif
290071d4279SBram Moolenaar  syn keyword informAsmObsolete contained print_paddr print_addr print_char
291071d4279SBram Moolenaarendif
292071d4279SBram Moolenaar
293071d4279SBram Moolenaar" Handling for different versions of VIM.
294071d4279SBram Moolenaar
295071d4279SBram Moolenaarsetlocal iskeyword+=$
296071d4279SBram Moolenaarcommand -nargs=+ SynDisplay syntax <args> display
297071d4279SBram Moolenaar
298071d4279SBram Moolenaar" Grammar sections.
299071d4279SBram Moolenaar
300071d4279SBram Moolenaarsyn region informGrammarSection matchgroup=informGramPreProc start="\<Verb\|Extend\>" skip=+".*"+ end=";"he=e-1 contains=ALLBUT,informAsm
301071d4279SBram Moolenaar
302071d4279SBram Moolenaar" Special character forms.
303071d4279SBram Moolenaar
304071d4279SBram MoolenaarSynDisplay match informBadAccent contained "@[^{[:digit:]]\D"
305071d4279SBram MoolenaarSynDisplay match informBadAccent contained "@{[^}]*}"
306071d4279SBram MoolenaarSynDisplay match informAccent contained "@:[aouAOUeiyEI]"
307071d4279SBram MoolenaarSynDisplay match informAccent contained "@'[aeiouyAEIOUY]"
308071d4279SBram MoolenaarSynDisplay match informAccent contained "@`[aeiouAEIOU]"
309071d4279SBram MoolenaarSynDisplay match informAccent contained "@\^[aeiouAEIOU]"
310071d4279SBram MoolenaarSynDisplay match informAccent contained "@\~[anoANO]"
311071d4279SBram MoolenaarSynDisplay match informAccent contained "@/[oO]"
312071d4279SBram MoolenaarSynDisplay match informAccent contained "@ss\|@<<\|@>>\|@oa\|@oA\|@ae\|@AE\|@cc\|@cC"
313071d4279SBram MoolenaarSynDisplay match informAccent contained "@th\|@et\|@Th\|@Et\|@LL\|@oe\|@OE\|@!!\|@??"
314071d4279SBram MoolenaarSynDisplay match informAccent contained "@{\x\{1,4}}"
315071d4279SBram MoolenaarSynDisplay match informBadStrUnicode contained "@@\D"
316071d4279SBram MoolenaarSynDisplay match informStringUnicode contained "@@\d\+"
317071d4279SBram MoolenaarSynDisplay match informStringCode contained "@\d\d"
318071d4279SBram Moolenaar
319071d4279SBram Moolenaar" String and Character constants.  Ordering is important here.
320071d4279SBram Moolenaarsyn region informString start=+"+ skip=+\\\\+ end=+"+ contains=informAccent,informStringUnicode,informStringCode,informBadAccent,informBadStrUnicode
321071d4279SBram Moolenaarsyn region informDictString start="'" end="'" contains=informAccent,informBadAccent
322071d4279SBram MoolenaarSynDisplay match informBadDictString "''"
323071d4279SBram MoolenaarSynDisplay match informDictString "'''"
324071d4279SBram Moolenaar
325071d4279SBram Moolenaar" Integer numbers: decimal, hexadecimal and binary.
326071d4279SBram MoolenaarSynDisplay match informNumber "\<\d\+\>"
327071d4279SBram MoolenaarSynDisplay match informNumber "\<\$\x\+\>"
328071d4279SBram MoolenaarSynDisplay match informNumber "\<\$\$[01]\+\>"
329071d4279SBram Moolenaar
330071d4279SBram Moolenaar" Comments
331071d4279SBram Moolenaarsyn match informComment "!.*" contains=informTodo
332071d4279SBram Moolenaar
333071d4279SBram Moolenaar" Syncronization
334071d4279SBram Moolenaarsyn sync match informSyncStringEnd grouphere NONE /"[;,]\s*$/
335071d4279SBram Moolenaarsyn sync match informSyncRoutineEnd grouphere NONE /][;,]\s*$/
336071d4279SBram Moolenaarsyn sync match informSyncCommentEnd grouphere NONE /^\s*!.*$/
337071d4279SBram Moolenaarsyn sync match informSyncRoutine groupthere informGrammarSection "\<Verb\|Extend\>"
338071d4279SBram Moolenaarsyn sync maxlines=500
339071d4279SBram Moolenaar
340071d4279SBram Moolenaardelcommand SynDisplay
341071d4279SBram Moolenaar
342071d4279SBram Moolenaar" The default highlighting.
343071d4279SBram Moolenaar
344*f37506f6SBram Moolenaarhi def link informDefine		Define
345*f37506f6SBram Moolenaarhi def link informType		Type
346*f37506f6SBram Moolenaarhi def link informInclude		Include
347*f37506f6SBram Moolenaarhi def link informPreCondit	PreCondit
348*f37506f6SBram Moolenaarhi def link informPreProc		PreProc
349*f37506f6SBram Moolenaarhi def link informGramPreProc	PreProc
350*f37506f6SBram Moolenaarhi def link informAsm		Special
351071d4279SBram Moolenaarif !exists("inform_suppress_obsolete")
352*f37506f6SBram Moolenaarhi def link informAsmObsolete		informError
353*f37506f6SBram Moolenaarhi def link informKeywordObsolete	informError
354071d4279SBram Moolenaarelse
355*f37506f6SBram Moolenaarhi def link informAsmObsolete		Special
356*f37506f6SBram Moolenaarhi def link informKeywordObsolete	Keyword
357071d4279SBram Moolenaarendif
358*f37506f6SBram Moolenaarhi def link informPredicate	Operator
359*f37506f6SBram Moolenaarhi def link informSysFunc		Identifier
360*f37506f6SBram Moolenaarhi def link informSysConst		Identifier
361*f37506f6SBram Moolenaarhi def link informConditional	Conditional
362*f37506f6SBram Moolenaarhi def link informRepeat		Repeat
363*f37506f6SBram Moolenaarhi def link informStatement	Statement
364*f37506f6SBram Moolenaarhi def link informOperator		Operator
365*f37506f6SBram Moolenaarhi def link informKeyword		Keyword
366*f37506f6SBram Moolenaarhi def link informGrammar		Keyword
367*f37506f6SBram Moolenaarhi def link informDictString	String
368*f37506f6SBram Moolenaarhi def link informNumber		Number
369*f37506f6SBram Moolenaarhi def link informError		Error
370*f37506f6SBram Moolenaarhi def link informString		String
371*f37506f6SBram Moolenaarhi def link informComment		Comment
372*f37506f6SBram Moolenaarhi def link informAccent		Special
373*f37506f6SBram Moolenaarhi def link informStringUnicode	Special
374*f37506f6SBram Moolenaarhi def link informStringCode	Special
375*f37506f6SBram Moolenaarhi def link informTodo		Todo
376071d4279SBram Moolenaarif !exists("inform_highlight_simple")
377*f37506f6SBram Moolenaarhi def link informLibAttrib	Identifier
378*f37506f6SBram Moolenaarhi def link informLibProp	Identifier
379*f37506f6SBram Moolenaarhi def link informLibObj		Identifier
380*f37506f6SBram Moolenaarhi def link informLibRoutine	Identifier
381*f37506f6SBram Moolenaarhi def link informLibVariable	Identifier
382*f37506f6SBram Moolenaarhi def link informLibConst	Identifier
383*f37506f6SBram Moolenaarhi def link informLibAction	Identifier
384071d4279SBram Moolenaarendif
385*f37506f6SBram Moolenaarhi def link informBadDictString	informError
386*f37506f6SBram Moolenaarhi def link informBadAccent	informError
387*f37506f6SBram Moolenaarhi def link informBadStrUnicode	informError
388071d4279SBram Moolenaar
389071d4279SBram Moolenaar
390071d4279SBram Moolenaarlet b:current_syntax = "inform"
391071d4279SBram Moolenaar
392071d4279SBram Moolenaar" vim: ts=8
393