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.

516 lines
12 KiB
Plaintext

//=======================================================================
//================ Lex class support ====================================
//=======================================================================
// lexClass:
// + name = c_CPPString
// + parent:file = <*.h|*.cpp|*.c>
// + 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:class:Parent = this
// 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
/////////////////////////////////////////////////////////////////////////
//=======================================================================
//================ 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'
/////////////////////////////////////////////////////////////////////////
lexClass:
name = c_LEX_CLASS
parent:file = <*.schclass>
caseSensitive = 0
//txt:colorBK = 0xfff7ff
//:lexClass
lexClass:
name = c_LexCommentSL
parent:dyn = c_LEX_CLASS
children = 0
start:tag ='//'
end:tag = @eol
txt:colorFG = 0x00A000
//:lexClass
lexClass:
name = c_LexClass_section_header
parent = c_LEX_CLASS, c_LexClass_section
children = 0
Token:tag = 'lexClass:'
Token:start:separators = @eol, ' ', '\t'
Token:end:separators = @eol, ' ', '\t'
txt:colorFG = 0x0000FF
txt:colorBK = 0xAAAAAA
txt:Bold = 1
//:lexClass
lexClass:
name = c_LexClass_section
parent = c_LEX_CLASS, c_LexClass_section
start:class = c_LexClass_section_header
//end:separators = 'lexClass:'
end:class = c_LexClass_section_end
txt:colorFG = 0xFF0000
Collapsable = 1
//:lexClass
lexClass:
name = c_LexClass_section_end
parent = c_LexClass_section
previous:tag = @eol
previous:tag:separators = ' ', '\t'
start:tag = '//:lexClass'
end:tag = @EOL
txt:colorFG = 0x00A000
txt:colorBK = 0xE0E0E0
//txt:bold = 1
//:lexClass
lexClass:
name = c_LexClass_CommaSeparator
ParseOnScreen = 0
parent:dyn = c_LexClass_section
children = 0
token:tag = ','
txt:colorFG = 0x808080
txt:Bold = 0
//:lexClass
lexClass:
name = c_LexClass_Tag_str
ParseOnScreen = 0
parent:dyn = c_LexClass_section
children = c_LexClass_Tag_str_specs
start:tag = '\''
end:tag = '\'', @eol
txt:colorFG = 0xA00000
//:lexClass
lexClass:
name = c_LexClass_Tag_str_specs
ParseOnScreen = 0
parent = c_LexClass_Tag_str
children = 0
Token:tag = '\\\\'
Token:tag = '\\t', '\\n', '\\r', '\\a', '\\b', '\\v', '\\f', '\\\''
txt:colorFG = 0xC00000
txt:bold = 1
//:lexClass
lexClass:
name = c_LexClass_Tag_var
ParseOnScreen = 0
parent:dyn = c_LexClass_section
children = 0
token:tag = '@alpha:not', '@digit:not', '@HexDigit:not', '@specs:not', '@EOL:not'
token:tag = '@alpha', '@digit', '@HexDdigit', '@specs', '@EOL'
Token:start:separators = '=', ' ', '\t', ','
Token:end:separators = ' ', '\t', ',', @EOL
txt:colorFG = 0x00A000
txt:Bold = 1
//:lexClass
lexClass:
name = c_LexClass_color
ParseOnScreen = 0
parent:dyn = c_LexClass_section
children = 0
start:tag = '0x'
end:tag = @HexDigit:not
txt:colorFG = 0x8000FF
//:lexClass
lexClass:
name = c_LexClass_number
ParseOnScreen = 0
parent:dyn = c_LexClass_section
children = 0
start:tag = @digit
end:tag = @digit:not
txt:colorFG = 0x000080
//:lexClass
//-- NAME -------------------------------------------------
lexClass:
name = c_LexClass_Prop_Name_name_part
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
token:tag = 'name'
txt:colorFG = 0x505050
txt:colorBK = 0xEEEEEE
txt:Bold = 1
//:lexClass
lexClass:
name = c_LexClass_Prop_Name
ParseOnScreen = 0
parent = c_LexClass_section
children = c_LexClass_Prop_EQ, c_LexClass_Prop_Name_value_part
children = c_LexCommentSL
start:class = c_LexClass_Prop_Name_name_part
end:tag = @eol
txt:colorBK = 0xEEEEEE
//:lexClass
lexClass:
name = c_LexClass_Prop_Name_value_part
ParseOnScreen = 0
parent = c_LexClass_Prop_Name
children = c_LexClass_ClassName
start:class = c_LexClass_Prop_EQ
end:class = c_LexClass_ClassName
txt:bold = 1
//:lexClass
//-- PARENT:file -------------------------------------------------
lexClass:
name = c_LexClass_Prop_ParentFile_name_part
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
token:tag = 'parent:file'
txt:colorFG = 0x505050
txt:colorBK = 0xDDDDDD
txt:Underline = 1
txt:Bold = 1
//:lexClass
lexClass:
name = c_LexClass_Prop_Parent_file
ParseOnScreen = 0
parent = c_LexClass_section
children = c_LexClass_Prop_EQ
children = c_LexClass_Prop_Parent2_value_part
start:class = c_LexClass_Prop_ParentFile_name_part
end:tag = @eol
//:lexClass
lexClass:
name = c_LexClass_Prop_Parent2_value_part
ParseOnScreen = 0
parent = c_LexClass_Prop_Parent_file
children = c_LexClass_file_ext_list
children = c_LexCommentSL
start:class = c_LexClass_Prop_EQ
end:separators = @eol
//:lexClass
lexClass:
name = c_LexClass_file_ext_list
ParseOnScreen = 0
parent = c_LexClass_Prop_Parent2_value_part
children = c_LexClass_file_ext1, c_LexClass_file_ext2
previous:tag = '='
previous:tag:separators = ' ', '\t'
start:tag = '<'
end:tag = '>'
txt:colorFG = 0x0000F0
//:lexClass
lexClass:
name = c_LexClass_file_ext1
ParseOnScreen = 0
parent = c_LexClass_file_ext_list
children = 0
previous:tag = '<'
previous:tag:separators = ' ', '\t'
start:tag = '*.'
end:separators = '|', '>', ' ', '\t'
txt:colorFG = 0x800040
//:lexClass
lexClass:
name = c_LexClass_file_ext2
ParseOnScreen = 0
parent = c_LexClass_file_ext_list
children = 0
previous:tag = '|'
previous:tag:separators = ' ', '\t'
start:tag = '*.'
end:separators = '|', '>', ' ', '\t'
txt:colorFG = 0x800040
//:lexClass
//-- PARENT (+dyn) -------------------------------------------------
lexClass:
name = c_LexClass_Prop_Parent_name_part
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
token:tag = 'parent:dyn', 'parent'
txt:colorFG = 0x505050
txt:Underline = 1
//:lexClass
lexClass:
name = c_LexClass_Prop_Parent
ParseOnScreen = 0
parent = c_LexClass_section
children = c_LexClass_Prop_EQ
children = c_LexClass_ClassName_List
start:class = c_LexClass_Prop_Parent_name_part
end:tag = @eol
//:lexClass
//-- CHILDREN -------------------------------------------------
lexClass:
name = c_LexClass_Prop_Children_name_part
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
token:tag = 'children'
txt:colorFG = 0x505050
//:lexClass
lexClass:
name = c_LexClass_Prop_Children
ParseOnScreen = 0
parent = c_LexClass_section
children = c_LexClass_Prop_EQ
children = c_LexClass_Prop_Children_value1_part
children = c_LexClass_ClassName_List
start:class = c_LexClass_Prop_Children_name_part
end:separators = @eol
//:lexClass
lexClass:
name = c_LexClass_Prop_Children_value1_part
ParseOnScreen = 0
parent = c_LexClass_Prop_Children
children = c_LexClass_Prop_Children_value1_error
//children = c_LexCommentSL
previous:tag = '='
previous:tag:separators = ' ', '\t'
start:tag = '0'
end:separators = @eol
txt:colorFG = 0x000090
txt:bold = 1
//:lexClass
lexClass:
name = c_LexClass_Prop_Children_value1_error
ParseOnScreen = 0
parent = c_LexClass_Prop_Children_value1_part
children = c_LexCommentSL
previous:class = c_LexClass_Prop_Children_value1_part
end:separators = @eol
txt:colorFG = 0xFF0000
txt:bold = 0
//:lexClass
//////////////////////////////////////////////////////////////////////////////
lexClass:
name = c_LexClass_Prop_EQ
ParseOnScreen = 0
parent:dyn = c_LexClass_section
children = 0
token:tag = '='
txt:colorFG = 0x0000B0
txt:Bold = 0
//:lexClass
lexClass:
name = c_LexClass_ClassName
ParseOnScreen = 0
//parent:dyn = c_LexClass_section
parent = c_LexClass_Prop_Name_value_part //, c_LexClass_ClassName_List,
children = 0
previous:tag = '='
previous:tag:separators = ' ', '\t'
start:tag = @alpha, '_'
skip:Tag = @alpha, @digit, '_'
end:separators = @alpha:not, @digit:not
txt:colorFG = 0x0000EE
//:lexClass
lexClass:
name = c_LexClass_ClassName_List
ParseOnScreen = 0
parent:dyn = c_LexClass_section
children = c_LexClass_ClassName_List1
children = c_LexClass_ClassName_List2
children = c_LexClass_CommaSeparator
children = c_LexCommentSL
previous:tag = '='
previous:tag:separators = ' ', '\t'
start:tag = @alpha, '_'
end:separators = @eol
//:lexClass
lexClass: name = c_LexClass_ClassName_List1
ParseOnScreen = 0
parent = c_LexClass_ClassName_List
children = 0
start:class = c_LexClass_ClassName_List
//previous:class = c_LexClass_ClassName_List
skip:Tag = @alpha, @digit, '_'
end:separators = @alpha:not, @digit:not
txt:colorFG = 0x5000EE
//:lexClass
lexClass: name = c_LexClass_ClassName_List2
ParseOnScreen = 0
parent = c_LexClass_ClassName_List
children = 0
previous:tag = ','
previous:tag:separators = ' ', '\t'
start:tag = @alpha, '_'
skip:Tag = @alpha, @digit, '_'
end:separators = @alpha:not, @digit:not
txt:colorFG = 0x5000EE
//:lexClass
//////////////////////////////////////////////////////////////////////////////
lexClass:
name = c_LexClass_Prop_ParseOnScreen
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
token:tag = 'ParseOnScreen'
txt:colorFG = 0x60AF60
txt:colorBK = 0xDFCFFF
//txt:Bold = 1
txt:Italic = 0
//:lexClass
lexClass:
name = c_LexClass_Prop_DisplayName
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
token:tag = 'DisplayName'
txt:colorFG = 0x202080
txt:colorBK = 0xF0FFFF
//txt:Bold = 1
txt:Italic = 0
//:lexClass
lexClass:
name = c_LexClass_AttributeName
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
token:tag = 'previous:class', 'previous:tag:separators', 'previous:tag'
token:tag = 'start:class', 'start:Tag'
token:tag = 'skip:Tag'
token:tag = 'end:class', 'end:class:parent', 'end:Tag', 'end:separators'
token:tag = 'Token:tag', 'Token:start:separators', 'Token:end:separators'
token:tag = 'caseSensitive', 'Collapsable', 'CollapsedText', 'ParseOnScreen'
token:tag = 'RecurrenceDepth'
token:tag = 'txt:colorFG', 'txt:colorBK', 'txt:colorSelFG', 'txt:colorSelBK'
token:tag = 'txt:Bold', 'txt:Italic', 'txt:Underline'
txt:colorFG = 0x505050
//txt:Bold = 1
txt:Italic = 1
//:lexClass
lexClass:
name = c_LexClass_GlobalAttributeName
ParseOnScreen = 0
parent = c_LexClass_section
children = 0
txt:Bold = 1
txt:colorFG = 0x0091E0
token:tag = 'global:FirstParseInSeparateThread'
token:tag = 'global:EditReparceInSeparateThread'
token:tag = 'global:EditReparceTimeout_ms'
token:tag = 'global:MaxBackParseOffset'
token:tag = 'global:OnScreenSchCacheLifeTime_sec'
token:tag = 'global:ParserThreadIdleLifeTime_sec'
//:lexClass