You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
5.7 KiB
Plaintext
202 lines
5.7 KiB
Plaintext
//=======================================================================
|
|
//================ Lex class support ====================================
|
|
//=======================================================================
|
|
// lexClass:
|
|
// name = c_CPPString
|
|
// parent = c_CPP
|
|
// parent:dyn = c_CPP
|
|
//
|
|
// children = 0
|
|
// children = class1, class2, ...
|
|
//
|
|
// previous:class =
|
|
// previous:tag =
|
|
// previous:tag:separators =
|
|
//
|
|
// start:class =
|
|
// start:Tag = '"'
|
|
//
|
|
// skip:Tag = '\"'
|
|
//
|
|
// end:class = //
|
|
// end:Tag = '"'
|
|
// end:separators = ' '
|
|
//
|
|
// Token:tag = 'if', 'for', 'while', 'do'
|
|
// Token:start:separators =
|
|
// Token:end:separators =
|
|
//-----------------------------------------------------------------------
|
|
//---------------- Attributes -------------------------------------------
|
|
//-----------------------------------------------------------------------
|
|
// txt:colorFG = 0xffc0c0 // color value in hex format. default: black
|
|
// txt:colorBK = 0xffc0c0 // color value in hex format. default: white
|
|
//
|
|
// txt:colorSelFG = 0xffc0c0 // color value in hex format. default: white
|
|
// txt:colorSelBK = 0xffc0c0 // color value in hex format. default: black
|
|
//
|
|
// txt:Bold = 1 // {1,0} default: 0
|
|
// txt:Italic = 1 // {1,0} default: 0
|
|
// txt:Underline = 1 // {1,0} default: 0
|
|
//
|
|
// caseSensitive = 1 // {1,0} default: 0
|
|
//
|
|
// Collapsable = 1 // {1,0} default: 0
|
|
// CollapsedText = '/*...*/' // quoted string value. default: '[..]'
|
|
//
|
|
// ParseOnScreen = 1 // {1,0} default: 0
|
|
//
|
|
//-----------------------------------------------------------------------
|
|
//* Global attributes ***************************************************
|
|
//-----------------------------------------------------------------------
|
|
// global:FirstParseInSeparateThread = 1 // {0,1} default=1
|
|
// global:EditReparceInSeparateThread = 1 // {0,1} default=1
|
|
// global:ConfigChangedReparceInSeparateThread= 1 // {0,1} default=1
|
|
// global:EditReparceTimeout_ms = 500 // default= 500 ms; time out for start reparse after last key was pressed.
|
|
// global:MaxBackParseOffset = 100 // default= 100 chars; maximum back buffer size. Some times parser look back for the text from current position.
|
|
// global:OnScreenSchCacheLifeTime_sec = 180 // default= 180 sec; -1 and 0 means infinite; time out for on screen parsed pices of text. for memory using optimization.
|
|
// global:ParserThreadIdleLifeTime_sec = 60 // default=60 sec; -1 and 0 means infinite; time out for existing of parser thread when parser idle (no parse requests).
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
//=======================================================================
|
|
//================ Variables support ====================================
|
|
//=======================================================================
|
|
// NON operation - example: @alpha:not
|
|
//
|
|
// @alpha = a-z, A-Z
|
|
// @digit = 0-9
|
|
// @HexDdigit = 0-9, a-f, A-F
|
|
// @specs = "~`!@#$%^&*()_-+=\\|{}[];:'\",.<>/?"
|
|
// @EOL = End Of Line
|
|
//---------------------------------------------
|
|
// special tags: '\\', '\'', '\t', '\r', '\n'
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
/// JScript ///
|
|
lexClass:
|
|
parent:file = <*.js>
|
|
name = c_JScript
|
|
DisplayName = 'Normal Text'
|
|
//caseSensitive = 0
|
|
txt:colorFG = 0x000000
|
|
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_JSCodeBlock
|
|
parent = c_JScript, c_JSCodeBlock
|
|
DisplayName = 'Curly Braces'
|
|
start:Tag = '{'
|
|
end:tag = '}'
|
|
Collapsable = 1
|
|
CollapsedText = '...'
|
|
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_JScriptCommentSL
|
|
parent = c_JScript, c_JSCodeBlock
|
|
DisplayName = 'Java Script Comment (single line)'
|
|
children = 0
|
|
start:Tag = '//'
|
|
end:separators = @EOL
|
|
txt:colorFG = 0x008200
|
|
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_JScriptCommentML
|
|
parent = c_JScript, c_JSCodeBlock
|
|
DisplayName = 'Java Script Comment (multi-line)'
|
|
children = 0
|
|
start:Tag = '/*'
|
|
end:Tag = '*/'
|
|
txt:colorFG = 0x008200
|
|
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_JScriptStr1
|
|
parent = c_JScript, c_JSCodeBlock
|
|
DisplayName = 'Java Script String (double quote)'
|
|
start:Tag ='"'
|
|
end:Tag ='"', @EOL
|
|
txt:colorFG = 0x840000
|
|
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_JScriptStr
|
|
parent = c_JScript, c_JSCodeBlock
|
|
DisplayName = 'Java Script String (single quote)'
|
|
// ParseOnScreen = 0
|
|
start:Tag ='\''
|
|
end:Tag ='\'', @EOL
|
|
txt:colorFG = 0x840000
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_JScriptNumber10
|
|
parent = c_JScript, c_JSCodeBlock
|
|
DisplayName = 'Java Script Number'
|
|
// ParseOnScreen = 0
|
|
previous:tag = @specs, ' ', '\t', @EOL
|
|
start:Tag = @digit
|
|
end:separators = @digit:not
|
|
txt:colorFG = 0x008284
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_JScript_Language_Keywords0
|
|
parent = c_JScript, c_JSCodeBlock
|
|
// ParseOnScreen = 1
|
|
DisplayName = 'Java Script Keywords'
|
|
token:start:separators = ' ', '\t', @specs, @eol
|
|
token:end:separators = ' ', '\t', @specs, @eol
|
|
|
|
txt:colorFG = 0x0000FF
|
|
// txt:Bold = 1
|
|
|
|
token:tag = 'break'
|
|
token:tag = 'case'
|
|
token:tag = 'catch'
|
|
token:tag = 'const'
|
|
token:tag = 'continue'
|
|
token:tag = 'do'
|
|
token:tag = 'else'
|
|
token:tag = 'finally'
|
|
token:tag = 'for'
|
|
token:tag = 'function'
|
|
token:tag = 'if'
|
|
token:tag = 'in'
|
|
token:tag = 'instanceof'
|
|
token:tag = 'new'
|
|
token:tag = 'return'
|
|
token:tag = 'switch'
|
|
token:tag = 'this'
|
|
token:tag = 'throw'
|
|
token:tag = 'try'
|
|
token:tag = 'typeof'
|
|
token:tag = 'var'
|
|
token:tag = 'while'
|
|
token:tag = 'with'
|
|
token:tag = 'try'
|
|
token:tag = 'catch'
|
|
|
|
lexClass:
|
|
name = c_JScript_Language_Constants0
|
|
parent = c_JScript, c_JSCodeBlock
|
|
DisplayName = 'Java Script Constants'
|
|
token:start:separators = ' ', '\t', @specs, @eol
|
|
token:end:separators = ' ', '\t', @specs, @eol
|
|
|
|
txt:colorFG = 0x0000FF
|
|
txt:Bold = 1
|
|
|
|
token:tag = 'True'
|
|
token:tag = 'False'
|
|
token:tag = 'null'
|
|
|
|
//:lexClass
|
|
|