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