////////////////////////////////////////////////////////////////////////////// // // Inform highlighter written by Tan // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: Inform ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: Inform files (*.inf)|*.inf ////////////////////////////////////////////////////////////////////////////// // help file which will be invokend when F1 is pressed HelpFile: ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end LineComment: ! BlockCommentBeg: /* BlockCommentEnd: */ ////////////////////////////////////////////////////////////////////////////// // identifier characters (vbScript characters must begin with alphabetic char)... // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char IdentifierBegChars: A..Z a..z _ IdentifierChars: a..z A..Z _ 0..9 ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters (vbs: exc. &Hnnnn, inc. # for date consts)... // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstBegChars: 0..9 #+- ////////////////////////////////////////////////////////////////////////////// // numeric constants characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstChars: 0..9 .eE+- ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: \ ////////////////////////////////////////////////////////////////////////////// // keyword table // note: delimited with spaces, lines can be wrapped. // You may divide keywords into two (or more) groups, // which may then be highlighted differently... // statements KeyWords1: Abbreviate Array Attribute Class Constant Default Dictionary End Endif Extend Fake_action Global Ifdef Iffalse Ifndef Ifnot Iftrue Ifv3 Ifv5 Import Include Link Lowstring Message Nearby Object Property Release Replace Serial Switches Statusline Stub System_file Trace Verb Version has hasnt ofclass or in notin with && AMUSING_PROVIDED DEATH_MENTION_UNDO DEBUG Headline MANUAL_PRONOUNS MAX_CARRIED MAX_SCORE MAX_TIMERS NO_PLACES NUMBER_TASKS OBJECT_SCORE ROOM_SCORE SACK_OBJECT Story TASKS_PROVIDED USE_MODULES WITHOUT_DIRECTIONS KeyWords2: box break continue default do else font for give goto if include inversion jump move new_line objectloop print print_ret quit read remove restore return rfalse rtrue save spaces string style switch until while KeyWords3: // Group 1 Actions... ActionsOff ActionsOn CommandsOff CommandsOn CommandsRead Fullscore Gonear Goto LMode1 LMode2 LMode3 NotifyOff NotifyOn Objects Places Predictable Pronouns Quit Restart Restore RoutinesOff RoutinesOn Save Scope Score ScriptOff ScriptOn Stub TimersOff TimersOn TraceLevel TraceOff TraceOn Verify XAbstract XPurloin XTree // Group 2 Actions... Close Disrobe Drop Eat Empty EmptyT Enter Examine Exit GetOff Give Go GoIn Insert Inv InvTall InvWide Lock Look Open PutOn Remove Search Show SwitchOff SwitchOn Take Transfer Unlock VagueGo Wear // Group 3 Actions... Answer Ask AskFor Attack Blow Burn Buy Climb Consult Cut Dig Drink Fill Jump JumpOver Kiss Listen LookUnder Mild No Pray Pull Push PushDir Rub Set SetTo Sing Sleep Smell Sorry Squeeze Strong Swim, Swing Taste Tell Think ThrowAt Tie Touch Turn Wait Wake WakeOther Wave WaveHands Yes //Library Fake Actions... LetGo ListMiscellany Miscellany NotUnderstood Order PluralFound Prompt Receive TheSame ThrownAt // Optional Library Entry Points... AfterLife AfterPrompt Amusing BeforeParsing ChooseObjects DarkToDark DeathMessage GamePostRoutine GamePreRoutine Initialise InScope LookRoutine NewRoom ParseNoun ParseNumber ParserError PrintRank PrintTaskName PrintVerb TimePasses UnknownVerb KeyWords4: // Library Attributes... absent animate clothing concealed container door edible enterable female general light lockable locked male moved neuter on open openable pluralname proper scenery scored static supporter switchable talkable transparent visited workflag worn KeyWords5: // Library Properties and Variables... add_to_scope after article articles before cant_go capacity d_to daemon describe description door_dir door_to e_to each_turn found_in grammar in_to initial inside_description invent life list_together n_to name ne_to number nw_to orders out_to parse_name plural react_after react_before s_to se_to short_name short_name_indef sw_to time_left time_out u_to w_to when_closed when_off when_on when_open with_key action actor deadflag inventory_stage keep_silent location &name notify_mode noun noun, player real_location score second second, self self, sender task_scores the_time turns wn // Library Objects and Routines... compass n_obj s_obj e_obj w_obj ne_obj nw_obj se_obj sw_obj u_obj d_obj in_obj out_obj thedark selfobj InformLibrary InformParser LibraryMessages Achieved AddToScope AllowPushDir CDefArt ChangeDefault ChangePlayer DefArt DoMenu EnglishNumber HasLightSource InDefArt Locale LoopOverScope NextWord NextWordStopped NounDomain ObjectIsUntouchable OffersLight PlaceInScope PlayerTo PrintShortName ScopeWithin SetTime StartDaemon StartTimer StopDaemon StopTimer TestScope TryNumber UnsignedCompare WordAddress WordLength WriteListFrom YesOrNo ZRegion // Not Listed in the DM Appendices... AfterRoutines DrawStatusLine IndirectlyContains PrintOrRun PronounNotice PronounValue SetPronoun ////////////////////////////////////////////////////////////////////////////// // string delimiter: StringBegChar - string begin char // StringEndChar - string end char // MultilineStrings - enables multiline strings, (as in perl) StringBegChar: " StringEndChar: " MultilineStrings: 1 ////////////////////////////////////////////////////////////////////////////// // use preprocessor: 0 - no; 1 - yes // note: if yes, '#' and statements after it will be // highlighted with Preprocessor defined colors UsePreprocessor: 0 ////////////////////////////////////////////////////////////////////////////// // highlight line: 0 - no; 1 - yes // note: if yes, current line will be highlighted CurrLineHighlighted: 1 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // may be specified as text (any standard windows color): // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // may also be specified as a hex (color) constant: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 // // reminder: crForeground (sp) crBackground (sp) optional font attribute(s)... SpaceCol: clWindowText clWindow Keyword1Col: clBlue clWindow Keyword2Col: clNavy clWindow Keyword3Col: clNavy clWindow Keyword4Col: clNavy clWindow Keyword5Col: clNavy clWindow IdentifierCol: clWindowText clWindow CommentCol: clGreen clWindow NumberCol: clGreen clWindow StringCol: clPurple clWindow SymbolCol: clWindowText clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack $00C0FFFF OverrideTxtFgColor: 0 BlockAutoindent: 0 BlockBegStr: BlockEndStr: MatchedBracesCol: clRed clWindow