//////////////////////////////////////////////////////////////////////////////
//
// 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
//////////////////////////////////////////////////////////////////////////////
// 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
//////////////////////////////////////////////////////////////////////////////
// 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...)
// 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
// 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
// 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)
//////////////////////////////////////////////////////////////////////////////
// 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)...