bl791's picture
download
raw
18.5 kB
//////////////////////////////////////////////////////////////////////////////
//
// ConTEXT highlighter for Hugo
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// language name
Language: Hugo
Description: ConTEXT highlighter for the Hugo IF language.
//////////////////////////////////////////////////////////////////////////////
// default file filter
// note: if more than one extension is associated, eg:
// C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp
Filter: Hugo files (*.hug,*.h,*.g)|*.hug;*.h;*.g
//////////////////////////////////////////////////////////////////////////////
// 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 _ 0..9
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 +-
//////////////////////////////////////////////////////////////////////////////
// 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...
KeyWords1:
// Global variables that look like constants (well, they're capitalized...)
MAX_MENUITEMS MAX_SCORE MAX_RANK SL_TEXTCOLOR SL_BGCOLOR STATUSTYPE TEXTCOLOR TIME_DAY TIME_HOURS
TIME_MINUTES TIME_MONTH TIME_SECONDS TIME_YEAR UNDO_OFF WAIT_TURN_COUNT INVENTORY_MASK
// Compilation constants
DEBUG DEBUG_SMALL PRECOMPILED_LIBRARY OLD_STYLE_PRONOUNS
// library functionality inclusion/exclusion
NO_AUX_MATH NO_FUSES NO_MENUS NO_OBJLIB NO_RECORDING NO_SCRIPTS NO_STRING_ARRAYS NO_UNDO NO_VERBS
NO_XVERBS USE_ATTACHABLES USE_CHECKHELD USE_PLURAL_OBJECTS USE_VEHICLES VERBSTUBS
// All other constants
// static limit settings
MAXATTRIBUTES MAXGLOBALS MAXLOCALS MAXALIASES MAXARRAYS MAXCONSTANTS MAXDICT MAXDICTEXTEND MAXEVENTS
MAXFLAGS MAXLABELS MAXOBJECTS MAXPROPERTIES MAXROUTINES MAX_PLURALS MAX_SCRIPTS MAX_SCRIPT_STEPS
MAX_WORDS
// rousource file constants
MUSIC_STOP SOUND_STOP STAT_UNAVAILABLE STAT_NOFILE STAT_NORESOURCE STAT_LOADERROR
// game setup and display constants
AFTER_PERIOD BGCOLOR DEFAULT_FONT FORMAT INDENT_SIZE DEF_FOREGROUND DEF_BACKGROUND DEF_SL_FOREGROUND
DEF_SL_BACKGROUND MATCH_FOREGROUND BLACK BLUE GREEN CYAN RED MAGENTA BROWN WHITE DARK_GRAY LIGHT_BLUE
LIGHT_GREEN LIGHT_CYAN LIGHT_RED LIGHT_MAGENTA YELLOW BRIGHT_WHITE LIST_F NORECURSE_F NOINDENT_F
DESCFORM_F GROUPPLURALS_F NOPARENTHESES_F BOLD_ON ITALIC_ON UNDERLINE_ON PROP_ON BOLD_OFF ITALIC_OFF
UNDERLINE_OFF PROP_OFF MENU_TEXTCOLOR MENU_BGCOLOR MENU_SELECTCOLOR MENU_SELECTBGCOLOR
// system constants and device interaction
DOWN_ARROW ENTER_KEY ESCAPE_KEY FILE_CHECK GAME_RESET INIT_RANDOM LEFT_ARROW MINIMAL_INTERFACE
MOUSE_CLICK NORMALIZE_RANDOM PAUSE_100TH_SECOND PAUSE_SECOND READ_KEY RIGHT_ARROW SYSTEM_TIME UP_ARROW
// miscellaneous
AND_WORD ARE_WORD BANNER BEST_PARSE_RANK CHECKHELD_LIMIT D_FINDOBJECT D_FUSES D_OBJNUM D_PARSE
D_PARSE_RANK D_SCRIPTS FINDOBJECT_KNOWN FINDOBJECT_NONLIVING FIRSTCAPITAL_F HERE_WORD HUGO_VERSION
INVENTORY_F IN_WORD ISORAREHERE_F ISORARE_F IS_WORD LAST_PARSER_STATUS LAST_SINGLE_OBJECT ON_WORD
PARSE_RANK_TESTS PARSER_ACTIVE PARSER_RESET PARSER_STATUS PERFORM_QUEUE PRONOUNS_SET STAT_NOERROR
TEMPLIST_F USECHARNAMES_F VERB_IS_XVERB _COMPILING_HUGOLIB _HUGOFIX_H _HUGOFIX_G _HUGOLIB_H _OBJLIB_H
_RESOURCE_H _SYSTEM_H _VERBLIB_G _VERBLIB_H _VERBSTUB_G _VERBSTUB_H _WINDOW_H
KeyWords2:
// Compilation controls
endif include ifclear ifset link set switches warning
// Keywords and commands
alias and anything array attribute break call capital case child children class cls color colour compound
constant else elseif enumerate event for global globals if in input is jump local locate move multi
multiheld multinotheld music nearby newline not
// I'm going with "object" as a global, since the syntax highlighter can't interpret usage.
notheld number or parent parse pause picture playback print printchar prompt property quit random
readfile readval recordoff recordon removal remove repeat replace restart restore resource return routine
run runevents save scriptoff scripton select serial sibling sound start step string synonym system text
to undo undefined verb video while window writefile writeval xverb younger youngest
KeyWords3:
// Parser routines (verbs, commands, etc.)
// standard action verb routines
DoAsk DoAskQuestion DoAttachObject DoClose DoDetachObject DoDrink DoDrop DoEat DoEmpty DoEnter DoExit
DoGet DoGive DoGo DoHello DoHit DoInventory DoListen DoLock DoLook DoLookAround DoLookIn
DoLookThrough DoLookUnder DoMove DoMoveinVehicle DoOpen DoPutIn DoPutOnGround DoShow DoSit DoStand
DoSwitchOff DoSwitchOn DoTakeOff DoTalk DoTell DoUnlock DoVague DoWait DoWaitforChar DoWaitUntil DoWear
// non-action verb routines
DoBrief DoDisplay DoRecordOnOff DoRestart DoRestore DoSave DoScriptOnOff DoScore DoSuperbrief DoUndo
DoVerbose DoQuit
// verb stub routines
DoBurn DoClimb DoClimbOut DoCut DoDig DoFollow DoHelp DoHelpChar DoJump DoKiss DoNo DoPull
DoPush DoSearch DoSleep DoSmell DoSorry DoSwim DoThrowAt DoTie DoTieR DoTouch DoUntie DoUse DoWake
DoWakeCharacter DoWave DoWaveHands DoYell DoYes
// library parser routines
DoDropOrExit DoEmptyGround DoEmptyOrGet DoDrop_CheckHeld DoPutIn_CheckHeld DoPutonGround_CheckHeld
DoSwitchOnOff
// NPC action Routines
CharWait CharMove CharGet CharDrop
// Other library routines
// text printing routines
Art The CArt CThe IsorAre MatchPlural MatchSubject
// string array routines
StringCompare StringCopy StringDictCompare StringEqual StringLength StringPrint
// fuse/daemon routines
Activate Deactivate
// character script routines
CancelScript FindScript LoopScript PauseScript ResumeScript SkipScript Script RunScripts
// debugging routines
CheckParserConflicts DoHugoFix DrawBranch HugoFixAudit ListParserConflicts OnorOff
PrintParserInfoForObject
// resource routines
LoadPicture PictureinText PlaySound PlayMusic
// higher math routines
abs higher lower mod pow
// fundamental game routines
main init
// miscellaneous
Acquire AddIdentical AddSpecialDesc AfterRoutines AnyVerb AssignPronoun Attachable_CheckAttachedTo
Attachable_CheckAttachments Attachable_CheckChildren Attachable_MoveAttached Attachable_MoveAttachedTo
Attachable_MoveChildren BeforeRoutines CalculateHolding CallVerbCheckHeld CenterTitle CheckReach Contains
CurrentCommandWords CustomError DarkWarning DeleteWord DescribePlace DigitWord EndGame ExcludeFromAll
FindLight FindObject Font GetInput GetSystemTimeValue HoursMinutes ImplicitTake ImplicitTakeForDrop
Indent InList InitPluralObjects InsertWord IsPossibleXobject KeepWaiting ListAttachments ListObjects Menu
Message MoveAllAttachables MovePlayer NewMessages NewOMessages NewParseError NewVMessages NumberWord
ObjectAttach ObjectDetach ObjectIs ObjectisAttached ObjectisKnown ObjectisLight ObjWord OMessage Parse
ParseCheckHeld ParseError ParseError_ObjectIsKnown ParsePluralObjects Perform PreParse PrintEndGame
PrintReplacedPronouns PrintScore PrintStatusLine PropertyList PutInScope RemoveCheckHeldObj
RemoveFromScope RemoveIdentical ResetCheckHeld ResetParse RunScripts SetObjWord SetupDirectionObjects
SetVerbHeldmode ShortDescribe SpeakTo SpecialDesc StringToNumber TestObjectIs TheorThat VerbWord
VerbHeldMode VMessage WhatsIn WordisNumber YesorNo
KeyWords4:
// Library objects
// compass direction objects
n_obj e_obj ne_obj ne_obj se_obj s_obj sw_obj w_obj nw_obj u_obj d_obj in_obj out_obj
// pronoun objects
it_obj her_obj him_obj them_obj
// other library objects
audio checkheld display her_object him_object it_object them_object last_library_object
// Library classes
// pronoun classes
himself herself itself themselves
// miscellaneous
attachable character component daemon direction door female_character fuse identical_class
player_character player_class plural_class room scenery self_class vehicle window_class
KeyWords5:
// Most global variables
actor counter customerror_flag debug_flags endflag event_flag general last_object last_resourcefile
// ("last_resource_file" seems to be a misprint in the Hugo book for "last_resourcefile")
last_resource_file light_source list_count list_nest location need_newline nothing number_scripts
object objects obstacle old_location override_indent player player_person pluralobj_heldmode
plural_count score self speaking system_status verbosity verbroutine words xobject
// Library properties
// room direction properties
n_to ne_to e_to s_to se_to w_to sw_to nw_to u_to d_to in_to out_to cant_go
// fuse and daemon properties
activate_event deactivate_event tick timer
// display object properties
cursor_column cursor_row hasgraphics hasvideo linelenght needs_repaint pointer_x pointer_y screenheight
screenwidth statusline_height title_caption windowlines
// audio object properties
current_music current_music_looping current_music_resfile current_music_volume current_sound
current_sound_looping current_sound_resfile current_sound_volume
// window class properties
win_active win_backcolor win_bottom win_clear win_end win_init win_left win_textcolor win_title
win_titleback win_titlecolor win_top win_right
// miscellaneous properties
adjective adjectives after article attachable_to attached_desc attached_to attach_drop attach_immobile
attach_longdesc attach_prep attach_shortdesc attach_take attach_verb attach_verbs before between
capacity contains_desc desc_detail detach_prep detach_verb detach_verbs dir_to dir_from door_to
each_turn exclude_from_all extra_scenery found_in holding identical_to ignore_response initial_desc
inv_desc in_scope key_object linelength list_contents long_desc misc name noun nouns nounspreposition
order_response parse_rank part_of pluralobj_number plural_is plural_of plural_parse_rank plural_verbs
prep preposition pronoun pronouns reach react_before react_after short_desc single_noun size type
vehicle_move vehicle_path vehicle_verb vehicle_verbs when_closed when_open self_object self_resolve
// Library arrays
// Character script arrays
scriptdata setscript
// other library arrays
menuitem oldword parser_data plurals ranking replace_pronoun word _time_string _temp_string
_win_title_string
// Library attributes
active already_listed checkheld_flag clothing container enterable female hidden known light living lockable
locked mobile moved open openable platform plural quiet readable special static switchable switchedon
transparent unfriendly visited worn workflag
//////////////////////////////////////////////////////////////////////////////
// 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: clRed clWindow
Keyword3Col: clMaroon clWindow
Keyword4Col: clFuchsia clWindow
Keyword5Col: clTeal clWindow
IdentifierCol: clBlack clWindow
CommentCol: clGreen clWindow
NumberCol: clMaroon clWindow
StringCol: clNavy clWindow
SymbolCol: clWindowText clWindow
PreprocessorCol: clBlue clWindow
SelectionCol: clWhite clNavy
CurrentLineCol: clBlack $00C0FFFF
OverrideTxtFgColor: 0
BlockAutoindent: 0
BlockBegStr:
BlockEndStr:
MatchedBracesCol: clRed clWindow

Xet Storage Details

Size:
18.5 kB
·
Xet hash:
8bcf50ae7b683f247aba9275aac59d727585b9c817532ca628a814af12589e4c

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.