// // FTPEdit custom syntax highlighting script - VBScript // /*-------------------------------------------------------------------------------------------------------------------- * * Token value definitions * */ #define vb_DEFAULT 0 #define vb_FUNCTION 50 #define vb_RESERVED 52 #define vb_COMMENT 53 #define vb_SYMBOL 54 #define vb_STRING 55 #define vb_IDENTIFIER 56 #define vb_NUMBER 57 #define vb_WHITESPACE 58 /*-------------------------------------------------------------------------------------------------------------------- * * Common script elements * */ #define _non_alpha_ '[^_A-Za-z0-9]' #define _all_chars_ '[\x00-\xFF]' #define _no_chars_ '[]' #define _dont_care_ _all_chars_ #define _DEFAULT_BACKGROUND clWhite #define _DEFAULT_FOREGROUND clBlack /*-------------------------------------------------------------------------------------------------------------------- * * Language style definitions * * NAME Short description of the language defined in this script * Default is * * CASE Case-sensitivity of the characters of the language. * May take the following values: * __INSENSITIVE No case sensitivity * __SENSITIVE Case sensitive * Default is __INSENSITIVE * * OPTIONS TSyntaxMemo default start-up options. * May take the following values: * __DEFAULT_OPTIONS Component default options, denoted by (*) below * __OPT_SHOW_RIGHT_MARGIN (*) Show right margin position * __OPT_SHOW_GUTTER (*) Show left gutter area * __OPT_PRINT_WRAP (*) Wrap lines when printing * __OPT_PRINT_LINENOS (*) Print line numbers * __OPT_PRINT_FILENAME (*) Print filename in header * __OPT_PRINT_DATE (*) Print date in header * __OPT_PRINT_PAGENOS (*) Print page numbers in footer * __OPT_WORDWRAP ( ) Word-wrap text * __OPT_AUTOINDENT (*) Auto-indent new lines * __OPT_TABCOLUMN (*) 'Smart' tab key action * __OPT_WRAP_OVERRIDE ( ) Override word-wrap on certain lines * __WORD_SELECT (*) Double click selects word at cursor * __OPT_SHOW_RMARGIN (*) Show right margin position (Synonym for __OPT_SHOW_RIGHT_MARGIN) * __OPT_SHOW_WRAPCOLUMN ( ) Show word-wrap column in word-wrap mode * __OPT_TITLE_AS_FILENAME (*) Set print page title to filename when loading/saving * __OPT_PROCESS_DROP_FILES ( ) Generate event for dropping of files from explorer * __OPT_BLOCK_CURSOR (*) Use block cursor in overwrite mode * The above options may be combined by adding (+) together the options desired * Default is __DEFAULT_OPTIONS * * WORDWRAPCOLUMN Column number at which word-wrapping will occur. * May take the following values: * _EDGE Word-wrap at edge of view window * 0 Word-wrap at edge of view window (Synonym for _EDGE) * Decimal column number * Default is _EDGE * * GUTTER Width of left gutter in pixels. * May take a velue of: * 0 Left gutter is not visible * >= 34 Gutter width * The gutter cannot be set to a value in the range 1..33 since space must be available * for the side by side glyphs on each line. * * STARTSTATE * ANCHOR * CONTEXTSTATES * EXAMPLETEXT * EDITABLESTYLES * FONTNAME * FONTSIZE * TABCOLUMNS * TABDEFAULT * INDENTSTEP * WRAPOVERRIDE * SELTEXTCOLOR * SELTEXTBACK * */ %%language Name = 'VBScript' Case = __INSENSITIVE Options = __DEFAULT_OPTIONS WordWrapColumn = _EDGE Gutter = _DEFAULT_GUTTER ExampleText = '\' Sample VBScript\n\ \if (x = 0) then\n\ \ print "Hello world"\n\ \end if' EditableStyles ('Comment', vb_COMMENT), ('Keyword', vb_RESERVED), ('Function', vb_FUNCTION), ('Symbol', vb_SYMBOL), ('String', vb_STRING), ('Identifier', vb_IDENTIFIER), ('Number', vb_NUMBER), ('Default', vb_DEFAULT) /*-------------------------------------------------------------------------------------------------------------------- * * Fixed lexeme definitions * */ %%words 'Abs' _non_alpha_ vb_FUNCTION 'Array' _non_alpha_ vb_FUNCTION 'Asc' _non_alpha_ vb_FUNCTION 'Atn' _non_alpha_ vb_FUNCTION 'CBool' _non_alpha_ vb_FUNCTION 'CByte' _non_alpha_ vb_FUNCTION 'CCur' _non_alpha_ vb_FUNCTION 'CDate' _non_alpha_ vb_FUNCTION 'CDbl' _non_alpha_ vb_FUNCTION 'Chr' _non_alpha_ vb_FUNCTION 'CInt' _non_alpha_ vb_FUNCTION 'CLng' _non_alpha_ vb_FUNCTION 'Conversions' _non_alpha_ vb_FUNCTION 'Cos' _non_alpha_ vb_FUNCTION 'CreateObject' _non_alpha_ vb_FUNCTION 'CSng' _non_alpha_ vb_FUNCTION 'Date' _non_alpha_ vb_FUNCTION 'DateAdd' _non_alpha_ vb_FUNCTION 'DateDiff' _non_alpha_ vb_FUNCTION 'DatePart' _non_alpha_ vb_FUNCTION 'DateSerial' _non_alpha_ vb_FUNCTION 'DateValue' _non_alpha_ vb_FUNCTION 'Day' _non_alpha_ vb_FUNCTION 'Derived' _non_alpha_ vb_FUNCTION 'Math' _non_alpha_ vb_FUNCTION 'Escape' _non_alpha_ vb_FUNCTION 'Eval' _non_alpha_ vb_FUNCTION 'Exp' _non_alpha_ vb_FUNCTION 'Filter' _non_alpha_ vb_FUNCTION 'FormatCurrency' _non_alpha_ vb_FUNCTION 'FormatDateTime' _non_alpha_ vb_FUNCTION 'FormatNumber' _non_alpha_ vb_FUNCTION 'FormatPercent' _non_alpha_ vb_FUNCTION 'GetLocale' _non_alpha_ vb_FUNCTION 'GetObject' _non_alpha_ vb_FUNCTION 'GetRef' _non_alpha_ vb_FUNCTION 'Hex' _non_alpha_ vb_FUNCTION 'Hour' _non_alpha_ vb_FUNCTION 'InputBox' _non_alpha_ vb_FUNCTION 'InStr' _non_alpha_ vb_FUNCTION 'InStrRev' _non_alpha_ vb_FUNCTION 'Int' _non_alpha_ vb_FUNCTION 'Fix' _non_alpha_ vb_FUNCTION 'IsArray' _non_alpha_ vb_FUNCTION 'IsDate' _non_alpha_ vb_FUNCTION 'IsEmpty' _non_alpha_ vb_FUNCTION 'IsNull' _non_alpha_ vb_FUNCTION 'IsNumeric' _non_alpha_ vb_FUNCTION 'IsObject' _non_alpha_ vb_FUNCTION 'Join' _non_alpha_ vb_FUNCTION 'LBound' _non_alpha_ vb_FUNCTION 'LCase' _non_alpha_ vb_FUNCTION 'Left' _non_alpha_ vb_FUNCTION 'Len' _non_alpha_ vb_FUNCTION 'LoadPicture' _non_alpha_ vb_FUNCTION 'Log' _non_alpha_ vb_FUNCTION 'LTrim' _non_alpha_ vb_FUNCTION 'RTrim' _non_alpha_ vb_FUNCTION 'Trim' _non_alpha_ vb_FUNCTION 'Maths' _non_alpha_ vb_FUNCTION 'Mid' _non_alpha_ vb_FUNCTION 'Minute' _non_alpha_ vb_FUNCTION 'Month' _non_alpha_ vb_FUNCTION 'MonthName' _non_alpha_ vb_FUNCTION 'MsgBox' _non_alpha_ vb_FUNCTION 'Now' _non_alpha_ vb_FUNCTION 'Oct' _non_alpha_ vb_FUNCTION 'Replace' _non_alpha_ vb_FUNCTION 'RGB' _non_alpha_ vb_FUNCTION 'Right' _non_alpha_ vb_FUNCTION 'Rnd' _non_alpha_ vb_FUNCTION 'Round' _non_alpha_ vb_FUNCTION 'ScriptEngine' _non_alpha_ vb_FUNCTION 'ScriptEngineBuildVersion' _non_alpha_ vb_FUNCTION 'ScriptEngineMajorVersion' _non_alpha_ vb_FUNCTION 'ScriptEngineMinorVersion' _non_alpha_ vb_FUNCTION 'Second' _non_alpha_ vb_FUNCTION 'SetLocale' _non_alpha_ vb_FUNCTION 'Sgn' _non_alpha_ vb_FUNCTION 'Sin' _non_alpha_ vb_FUNCTION 'Space' _non_alpha_ vb_FUNCTION 'Split' _non_alpha_ vb_FUNCTION 'Sqr' _non_alpha_ vb_FUNCTION 'StrComp' _non_alpha_ vb_FUNCTION 'String' _non_alpha_ vb_FUNCTION 'Tan' _non_alpha_ vb_FUNCTION 'Time' _non_alpha_ vb_FUNCTION 'Timer' _non_alpha_ vb_FUNCTION 'TimeSerial' _non_alpha_ vb_FUNCTION 'TimeValue' _non_alpha_ vb_FUNCTION 'TypeName' _non_alpha_ vb_FUNCTION 'UBound' _non_alpha_ vb_FUNCTION 'UCase' _non_alpha_ vb_FUNCTION 'Unescape' _non_alpha_ vb_FUNCTION 'VarType' _non_alpha_ vb_FUNCTION 'Weekday' _non_alpha_ vb_FUNCTION 'WeekdayName' _non_alpha_ vb_FUNCTION 'Year' _non_alpha_ vb_FUNCTION 'call' _non_alpha_ vb_RESERVED 'case' _non_alpha_ vb_RESERVED 'class' _non_alpha_ vb_RESERVED 'const' _non_alpha_ vb_RESERVED 'dim' _non_alpha_ vb_RESERVED 'do' _non_alpha_ vb_RESERVED 'each' _non_alpha_ vb_RESERVED 'else' _non_alpha_ vb_RESERVED 'elseif' _non_alpha_ vb_RESERVED 'empty' _non_alpha_ vb_RESERVED 'end' _non_alpha_ vb_RESERVED 'erase' _non_alpha_ vb_RESERVED 'error' _non_alpha_ vb_RESERVED 'exit' _non_alpha_ vb_RESERVED 'execute' _non_alpha_ vb_RESERVED 'executeglobal' _non_alpha_ vb_RESERVED 'explicit' _non_alpha_ vb_RESERVED 'false' _non_alpha_ vb_RESERVED 'for' _non_alpha_ vb_RESERVED 'function' _non_alpha_ vb_RESERVED 'if' _non_alpha_ vb_RESERVED 'in' _non_alpha_ vb_RESERVED 'loop' _non_alpha_ vb_RESERVED 'next' _non_alpha_ vb_RESERVED 'not' _non_alpha_ vb_RESERVED 'nothing' _non_alpha_ vb_RESERVED 'null' _non_alpha_ vb_RESERVED 'on' _non_alpha_ vb_RESERVED 'option' _non_alpha_ vb_RESERVED 'preserve' _non_alpha_ vb_RESERVED 'private' _non_alpha_ vb_RESERVED 'public' _non_alpha_ vb_RESERVED 'randomize' _non_alpha_ vb_RESERVED 'redim' _non_alpha_ vb_RESERVED 'rem' _non_alpha_ vb_COMMENT '\'' _dont_care_ vb_COMMENT 'resume' _non_alpha_ vb_RESERVED 'select' _non_alpha_ vb_RESERVED 'set' _non_alpha_ vb_RESERVED 'step' _non_alpha_ vb_RESERVED 'sub' _non_alpha_ vb_RESERVED 'then' _non_alpha_ vb_RESERVED 'to' _non_alpha_ vb_RESERVED 'true' _non_alpha_ vb_RESERVED 'until' _non_alpha_ vb_RESERVED 'wend' _non_alpha_ vb_RESERVED 'with' _non_alpha_ vb_RESERVED 'while' _non_alpha_ vb_RESERVED ',' _dont_care_ vb_SYMBOL '=' _dont_care_ vb_SYMBOL '+=' _dont_care_ vb_SYMBOL '-=' _dont_care_ vb_SYMBOL '*=' _dont_care_ vb_SYMBOL '/=' _dont_care_ vb_SYMBOL '%=' _dont_care_ vb_SYMBOL '<<=' _dont_care_ vb_SYMBOL '>>=' _dont_care_ vb_SYMBOL '>>>=' _dont_care_ vb_SYMBOL '&=' _dont_care_ vb_SYMBOL '^=' _dont_care_ vb_SYMBOL '|=' _dont_care_ vb_SYMBOL '?:' _dont_care_ vb_SYMBOL '||' _dont_care_ vb_SYMBOL '&&' _dont_care_ vb_SYMBOL '|' _dont_care_ vb_SYMBOL '^' _dont_care_ vb_SYMBOL '&' _dont_care_ vb_SYMBOL '==' _dont_care_ vb_SYMBOL '!=' _dont_care_ vb_SYMBOL '<' _dont_care_ vb_SYMBOL '<=' _dont_care_ vb_SYMBOL '>' _dont_care_ vb_SYMBOL '>=' _dont_care_ vb_SYMBOL '<<' _dont_care_ vb_SYMBOL '>>' _dont_care_ vb_SYMBOL '>>>' _dont_care_ vb_SYMBOL '+' _dont_care_ vb_SYMBOL '-' _dont_care_ vb_SYMBOL '*' _dont_care_ vb_SYMBOL '/' _dont_care_ vb_SYMBOL '%' _dont_care_ vb_SYMBOL '!' _dont_care_ vb_SYMBOL '~' _dont_care_ vb_SYMBOL '++' _dont_care_ vb_SYMBOL '--' _dont_care_ vb_SYMBOL '(' _dont_care_ vb_SYMBOL ')' _dont_care_ vb_SYMBOL '[' _dont_care_ vb_SYMBOL ']' _dont_care_ vb_SYMBOL '.' _dont_care_ vb_SYMBOL /*-------------------------------------------------------------------------------------------------------------------- * * Fixed lexeme follow on handlers * */ %%handler vb_COMMENT __STD_JS_LINE_COMMENT /*-------------------------------------------------------------------------------------------------------------------- * * Variable character tokens * */ %%tokens vb_IDENTIFIER __STD_IDENTIFIER vb_STRING __STD_C_STRING vb_NUMBER __STD_NUMBER_OR_FP vb_WHITESPACE '[\x00-\s]' '[\x00-\s]'? '[^\x00-\s]' _discard_ /*-------------------------------------------------------------------------------------------------------------------- * * Display effects specification * */ %%effects vb_DEFAULT [] _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND vb_COMMENT [fsItalic] clGreen _DEFAULT_BACKGROUND vb_RESERVED [fsBold] _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND vb_FUNCTION [] clNavy _DEFAULT_BACKGROUND vb_SYMBOL [] _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND vb_STRING [] clMaroon _DEFAULT_BACKGROUND vb_IDENTIFIER [] _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND vb_NUMBER [] clNavy _DEFAULT_BACKGROUND %%map vb_FUNCTION vb_FUNCTION vb_RESERVED vb_RESERVED vb_COMMENT vb_COMMENT vb_SYMBOL vb_SYMBOL vb_STRING vb_STRING vb_IDENTIFIER vb_IDENTIFIER vb_NUMBER vb_NUMBER vb_WHITESPACE vb_WHITESPACE #include