CString sScheme, sColorTheme, sb; sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_CPP \r\n"); sb += _T(" parent:file = <*.c|*.cpp|*.h|*.inl|*.tli|*.tlh|*.rc|*.rc2> \r\n"); sb += _T(" caseSensitive = 1\r\n"); sb += _T(" DisplayName = 'Normal Text'\r\n"); sb += _T("\r\n"); sb += _T(" global:EditReparceInSeparateThread = 1\r\n"); sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_CPPCodeBlock\r\n"); sb += _T(" parent:dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" start:Tag = '{'\r\n"); sb += _T(" end:tag = '}'\r\n"); sb += _T(" Collapsable = 1 \r\n"); sb += _T(" CollapsedText = '...'\r\n"); sb += _T(" DisplayName = 'Curly Braces'\r\n"); sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_URL \r\n"); sb += _T(" ParseOnScreen = 0\r\n"); sb += _T(" parent:dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" caseSensitive = 0\r\n"); sb += _T(" children = 0\r\n"); sb += _T(" previous:tag = @specs, ' ', '\\t', @eol\r\n"); sb += _T(" start:Tag = 'http:'\r\n"); sb += _T(" end:separators = ' ', '\\t', '*', '\"', @eol\r\n"); sb += _T(" txt:colorBK = 0xC0FFC0\r\n"); sb += _T(" txt:Underline = 1\r\n"); sb += _T(" DisplayName = 'URL'\r\n"); sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_String \r\n"); sb += _T(" parent:dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = c_URL\r\n"); sb += _T(" start:Tag = '\"'\r\n"); sb += _T(" skip:Tag = '\\\\\"', '\\\\\\r\\n', '\\\\\\n\\r', '\\\\\\n', '\\\\\\r' \r\n"); sb += _T(" end:Tag = '\"', @eol\r\n"); sb += _T(" txt:colorFG = 0xE00000\r\n"); sb += _T(" DisplayName = 'String (Double Quotes)'\r\n"); sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_String_char \r\n"); sb += _T(" parent:dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = 0\r\n"); sb += _T(" start:Tag = '\\\''\r\n"); sb += _T(" end:Tag = '\\\'', @eol\r\n"); sb += _T(" txt:colorFG = 0xE00000\r\n"); sb += _T(" DisplayName = 'String (Single Quotes)'\r\n"); sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_Str_include\r\n"); sb += _T(" parent:dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = 0\r\n"); sb += _T(" previous:tag = '#include'\r\n"); sb += _T(" previous:tag:separators = ' ', '\\t' \r\n"); sb += _T(" start:Tag = '<' \r\n"); sb += _T(" end:Tag = '>', @eol\r\n"); sb += _T(" txt:colorFG = 0xE00000\r\n"); sb += _T(" DisplayName = 'String (Include File)'\r\n"); sb += _T("\r\n"); sb += _T("lexClass:\r\n"); sb += _T(" name = c_CPPCommentML \r\n"); sb += _T(" parent:dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = c_URL \r\n"); sb += _T(" start:Tag ='/*'\r\n"); sb += _T(" end:Tag ='*/'\r\n"); sb += _T(" Collapsable = 1 \r\n"); sb += _T(" CollapsedText = '/**/' \r\n"); sb += _T("\r\n"); sb += _T(" txt:colorFG = 0x008000\r\n"); sb += _T(" DisplayName = 'Comment (Multi-Line)'\r\n"); sb += _T("\r\n"); sb += _T("lexClass:\r\n"); sb += _T(" name = c_CPPAfxInsertBlock_Start \r\n"); sb += _T(" parent = c_CPP, c_CPPCodeBlock \r\n"); sb += _T(" children = 0 \r\n"); sb += _T(" start:Tag = '//{{AFX' \r\n"); sb += _T(" end:Separators = @eol\r\n"); sb += _T(" txt:colorFG = 0x00A000\r\n"); sb += _T(" DisplayName = 'Afx Comment Block (start)'\r\n"); sb += _T("\r\n"); sb += _T("lexClass:\r\n"); sb += _T(" name = c_CPPAfxInsertBlock_End \r\n"); sb += _T(" parent = c_CPP, c_CPPCodeBlock, c_CPPAfxInsertBlock \r\n"); sb += _T(" children = 0 \r\n"); sb += _T(" start:Tag = '//}}AFX' \r\n"); sb += _T(" end:Separators = @eol\r\n"); sb += _T(" txt:colorFG = 0x00A000\r\n"); sb += _T(" DisplayName = 'Afx Comment Block (end)'\r\n"); sb += _T("\r\n"); sb += _T("lexClass:\r\n"); sb += _T(" name = c_CPPAfxInsertBlock \r\n"); sb += _T(" parent = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = c_CPPAfxInsertBlock_End \r\n"); sb += _T(" start:CLASS = c_CPPAfxInsertBlock_Start \r\n"); sb += _T(" end:CLASS = c_CPPAfxInsertBlock_End \r\n"); sb += _T(" Collapsable = 1 \r\n"); sb += _T(" txt:colorFG = 0x909090\r\n"); sb += _T(" DisplayName = 'Afx Comment Block'\r\n"); sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_CPPCommentSL\r\n"); sb += _T(" parent = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = c_URL \r\n"); sb += _T(" start:tag ='//'\r\n"); sb += _T(" skip:Tag = '\\\\\\r\\n', '\\\\\\n\\r', '\\\\\\n', '\\\\\\r' \r\n"); sb += _T(" end:tag = @eol\r\n"); sb += _T(" txt:colorFG = 0x00FFFF\r\n"); sb += _T(" DisplayName = 'Comment (Single-Line)'\r\n"); sb += _T("\r\n"); sb += _T("lexClass: \r\n"); sb += _T(" name = c_CPPKeywords\r\n"); sb += _T(" ParseOnScreen = 0\r\n"); sb += _T(" parent:Dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = 0\r\n"); sb += _T(" DisplayName = 'Keyword'\r\n"); sb += _T("\r\n"); // sb += _T(" token:tag = '#define'\r\n"); sb += _T(" token:tag = '#elif'\r\n"); sb += _T(" token:tag = '#else'\r\n"); sb += _T(" token:tag = '#endif'\r\n"); sb += _T(" token:tag = '#error'\r\n"); sb += _T(" token:tag = '#if'\r\n"); sb += _T(" token:tag = '#ifdef'\r\n"); sb += _T(" token:tag = '#ifndef'\r\n"); sb += _T(" token:tag = '#import'\r\n"); sb += _T(" token:tag = '#include'\r\n"); sb += _T(" token:tag = '#line'\r\n"); sb += _T(" token:tag = '#pragma'\r\n"); sb += _T(" token:tag = '#undef'\r\n"); sb += _T(" token:tag = '__asm'\r\n"); sb += _T(" token:tag = '__assume'\r\n"); sb += _T(" token:tag = '__based'\r\n"); sb += _T(" token:tag = '__cdecl'\r\n"); sb += _T(" token:tag = '__declspec'\r\n"); sb += _T(" token:tag = '__except'\r\n"); sb += _T(" token:tag = '__fastcall'\r\n"); sb += _T(" token:tag = '__finally'\r\n"); sb += _T(" token:tag = '__inline'\r\n"); sb += _T(" token:tag = '__int16'\r\n"); sb += _T(" token:tag = '__int32'\r\n"); sb += _T(" token:tag = '__int64'\r\n"); sb += _T(" token:tag = '__int8'\r\n"); sb += _T(" token:tag = '__leave'\r\n"); sb += _T(" token:tag = '__multiple_inheritance'\r\n"); sb += _T(" token:tag = '__single_inheritance'\r\n"); sb += _T(" token:tag = '__stdcall'\r\n"); sb += _T(" token:tag = '__try'\r\n"); sb += _T(" token:tag = '__uuidof'\r\n"); sb += _T(" token:tag = '__virtual_inheritance'\r\n"); sb += _T(" token:tag = 'auto'\r\n"); sb += _T(" token:tag = 'bool'\r\n"); sb += _T(" token:tag = 'break'\r\n"); sb += _T(" token:tag = 'case'\r\n"); sb += _T(" token:tag = 'catch'\r\n"); sb += _T(" token:tag = 'char'\r\n"); sb += _T(" token:tag = 'class'\r\n"); sb += _T(" token:tag = 'const'\r\n"); sb += _T(" token:tag = 'const_cast'\r\n"); sb += _T(" token:tag = 'continue'\r\n"); sb += _T(" token:tag = 'default'\r\n"); sb += _T(" token:tag = 'defined'\r\n"); sb += _T(" token:tag = 'delete'\r\n"); sb += _T(" token:tag = 'do'\r\n"); sb += _T(" token:tag = 'double'\r\n"); sb += _T(" token:tag = 'dynamic_cast'\r\n"); sb += _T(" token:tag = 'else'\r\n"); sb += _T(" token:tag = 'enum'\r\n"); sb += _T(" token:tag = 'explicit'\r\n"); sb += _T(" token:tag = 'extern'\r\n"); sb += _T(" token:tag = 'float'\r\n"); sb += _T(" token:tag = 'for'\r\n"); sb += _T(" token:tag = 'friend'\r\n"); sb += _T(" token:tag = 'goto'\r\n"); sb += _T(" token:tag = 'if'\r\n"); sb += _T(" token:tag = 'inline'\r\n"); sb += _T(" token:tag = 'int'\r\n"); sb += _T(" token:tag = 'long'\r\n"); sb += _T(" token:tag = 'mutable'\r\n"); sb += _T(" token:tag = 'namespace'\r\n"); sb += _T(" token:tag = 'new'\r\n"); sb += _T(" token:tag = 'operator'\r\n"); sb += _T(" token:tag = 'private'\r\n"); sb += _T(" token:tag = 'protected'\r\n"); sb += _T(" token:tag = 'public'\r\n"); sb += _T(" token:tag = 'register'\r\n"); sb += _T(" token:tag = 'reinterpret_cast'\r\n"); sb += _T(" token:tag = 'return'\r\n"); sb += _T(" token:tag = 'short'\r\n"); sb += _T(" token:tag = 'signed'\r\n"); sb += _T(" token:tag = 'sizeof'\r\n"); sb += _T(" token:tag = 'static'\r\n"); sb += _T(" token:tag = 'static_cast'\r\n"); sb += _T(" token:tag = 'struct'\r\n"); sb += _T(" token:tag = 'switch'\r\n"); sb += _T(" token:tag = 'template'\r\n"); sb += _T(" token:tag = 'this'\r\n"); sb += _T(" token:tag = 'throw'\r\n"); sb += _T(" token:tag = 'try'\r\n"); sb += _T(" token:tag = 'typedef'\r\n"); sb += _T(" token:tag = 'typeid'\r\n"); sb += _T(" token:tag = 'typename'\r\n"); sb += _T(" token:tag = 'union'\r\n"); sb += _T(" token:tag = 'unsigned'\r\n"); sb += _T(" token:tag = 'using'\r\n"); sb += _T(" token:tag = 'virtual'\r\n"); sb += _T(" token:tag = 'void'\r\n"); sb += _T(" token:tag = 'volatile'\r\n"); sb += _T(" token:tag = 'while'\r\n"); sb += _T(" token:tag = 'wmain'\r\n"); sb += _T("\r\n"); sb += _T(" token:start:separators = ' ', '\\t', ':', ';', '!', '(', ')', ',', '/', '{', '}', ") _T("@eol\r\n"); sb += _T(" token:end:separators = ' ', '\\t', ':', ';', '!', '(', ')', '{', '}', @eol\r\n"); sb += _T("\r\n"); sb += _T(" txt:colorFG = 0x0000FF\r\n"); sb += _T(" txt:bold = 1\r\n"); sb += _T("\r\n"); sb += _T("lexClass:\r\n"); sb += _T(" name = c_CPPDataTypes\r\n"); sb += _T(" ParseOnScreen = 0\r\n"); sb += _T(" parent:Dyn = c_CPP, c_CPPCodeBlock\r\n"); sb += _T(" children = 0\r\n"); sb += _T(" DisplayName = 'Data Type'\r\n"); sb += _T("\r\n"); sb += _T(" token:tag = 'FALSE'\r\n"); sb += _T(" token:tag = 'TRUE'\r\n"); sb += _T(" token:tag = 'BOOL'\r\n"); sb += _T(" token:tag = 'BSTR'\r\n"); sb += _T(" token:tag = 'BYTE'\r\n"); sb += _T(" token:tag = 'COLORREF'\r\n"); sb += _T(" token:tag = 'DWORD'\r\n"); sb += _T(" token:tag = 'LONG'\r\n"); sb += _T(" token:tag = 'LPARAM'\r\n"); sb += _T(" token:tag = 'LPCSTR'\r\n"); sb += _T(" token:tag = 'LPSTR'\r\n"); sb += _T(" token:tag = 'LPCTSTR'\r\n"); sb += _T(" token:tag = 'LPTSTR'\r\n"); sb += _T(" token:tag = 'LPVOID'\r\n"); sb += _T(" token:tag = 'LRESULT'\r\n"); sb += _T(" token:tag = 'UINT'\r\n"); sb += _T(" token:tag = 'WNDPROC'\r\n"); sb += _T(" token:tag = 'WORD'\r\n"); sb += _T(" token:tag = 'WPARAM'\r\n"); sb += _T(" token:tag = 'POSITION'\r\n"); sb += _T(" token:tag = 'LPCRECT'\r\n"); sb += _T("\r\n"); sb += _T(" token:start:separators = ' ', '\\t', ':', ';', '!', '(', ')', ',', '/', '{', '}', ") _T("@eol\r\n"); sb += _T(" token:end:separators = ' ', '\\t', ':', ';', '!', '(', ')', '{', '}', @eol\r\n"); sb += _T("\r\n"); sb += _T(" txt:colorFG = 0x990099\r\n"); sb += _T(" txt:bold = 1\r\n"); sb += _T("\r\n"); sScheme = sb; sb.Empty();