diff --git a/scintilla/Scintilla.vcxproj b/scintilla/Scintilla.vcxproj index d81bf071e..325717db3 100644 --- a/scintilla/Scintilla.vcxproj +++ b/scintilla/Scintilla.vcxproj @@ -201,6 +201,7 @@ + diff --git a/scintilla/Scintilla.vcxproj.filters b/scintilla/Scintilla.vcxproj.filters index 1cc3bd5a1..0cc65c398 100644 --- a/scintilla/Scintilla.vcxproj.filters +++ b/scintilla/Scintilla.vcxproj.filters @@ -261,6 +261,9 @@ lexlib + + lexers + diff --git a/scintilla/src/Catalogue.cxx b/scintilla/src/Catalogue.cxx index 224657c23..089c4003d 100644 --- a/scintilla/src/Catalogue.cxx +++ b/scintilla/src/Catalogue.cxx @@ -99,7 +99,7 @@ int Scintilla_LinkLexers() { LINK_LEXER(lmCPPNoCase); //LINK_LEXER(lmCsound); LINK_LEXER(lmCss); - //LINK_LEXER(lmD); + LINK_LEXER(lmD); LINK_LEXER(lmDiff); //LINK_LEXER(lmDMAP); //LINK_LEXER(lmDMIS); diff --git a/src/Notepad3.rc b/src/Notepad3.rc index b9666a107..9035d3636 100644 Binary files a/src/Notepad3.rc and b/src/Notepad3.rc differ diff --git a/src/Styles.c b/src/Styles.c index 5059cd509..657c858ff 100644 --- a/src/Styles.c +++ b/src/Styles.c @@ -353,19 +353,40 @@ EDITLEXER lexCSS = { SCLEX_CSS, 63003, L"CSS Style Sheets", L"css; less; sass; s KEYWORDLIST KeyWords_CPP = { -"__abstract __alignof __asm __assume __based __box __cdecl __declspec __delegate __event " -"__except __except__try __fastcall __finally __forceinline __gc __hook __identifier " -"__if_exists __if_not_exists __inline __int16 __int32 __int64 __int8 __interface __leave " -"__m128 __m128d __m128i __m64 __multiple_inheritance __nogc __noop __pin __property __raise " -"__sealed __single_inheritance __stdcall __super __try __try_cast __unhook __uuidof __value " -"__virtual_inheritance __wchar_t auto bool break case catch char class const const_cast " -"continue default defined delete do double dynamic_cast else enum explicit extern false float " -"for friend goto if inline int long mutable naked namespace new operator private protected " -"public register reinterpret_cast return short signed size_t sizeof static static_cast struct " -"switch template this throw true try typedef typeid typename union unsigned using uuid " -"virtual void volatile wchar_t while", -"", -"", "", "", "", "", "", "" }; + // Primary keywords and identifiers + //"__abstract __alignof __asm __assume __based __box __cdecl __declspec __delegate __event " + //"__except __except__try __fastcall __finally __forceinline __gc __hook __identifier " + //"__if_exists __if_not_exists __inline __int16 __int32 __int64 __int8 __interface __leave " + //"__m128 __m128d __m128i __m64 __multiple_inheritance __nogc __noop __pin __property __raise " + //"__sealed __single_inheritance __stdcall __super __try __try_cast __unhook __uuidof __value " + //"__virtual_inheritance __wchar_t auto bool break case catch char class const const_cast " + "auto bool break case catch char class const const_cast " + "continue default defined delete do double dynamic_cast else enum explicit extern false float " + "for friend goto if inline int long mutable naked namespace new operator private protected " + "public register reinterpret_cast return short signed size_t sizeof static static_cast struct " + "switch template this throw true try typedef typeid typename union unsigned using uuid " + "virtual void volatile wchar_t while", + // Secondary keywords and identifiers + "__abstract __alignof __asm __assume __based __box __cdecl __declspec __delegate __event " + "__except __except__try __fastcall __finally __forceinline __gc __hook __identifier " + "__if_exists __if_not_exists __inline __int16 __int32 __int64 __int8 __interface __leave " + "__m128 __m128d __m128i __m64 __multiple_inheritance __nogc __noop __pin __property __raise " + "__sealed __single_inheritance __stdcall __super __try __try_cast __unhook __uuidof __value " + "__virtual_inheritance __wchar_t", + // Documentation comment keywords + "", + // Global classes and typedefs + "", + // Preprocessor definitions + "_MSC_VER SCI_NAMESPACE", + // Task marker and error marker keywords + "", + "", + "", + "" +}; + + EDITLEXER lexCPP = { SCLEX_CPP, 63004, L"C/C++ Source Code", L"c; cpp; cxx; cc; h; hpp; hxx; hh; m; mm; idl; inl; odl", L"", &KeyWords_CPP, { @@ -2630,6 +2651,104 @@ EDITLEXER lexMATLAB = { SCLEX_MATLAB, 63360, L"MATLAB", L"matlab", L"", &KeyWord { -1, 00000, L"", L"", L"" } } }; + +KEYWORDLIST KeyWords_D = { + // Primary keywords and identifiers + "abstract alias align asm assert auto body bool break byte case cast catch cdouble cent cfloat char class const continue creal " + "dchar debug default delegate delete deprecated do double else enum export extern false final finally float for foreach foreach_reverse function " + "goto idouble if ifloat import in inout int interface invariant ireal is lazy long mixin module new null out override " + "package pragma private protected public real return scope short static struct super switch synchronized " + "template this throw true try typedef typeid typeof ubyte ucent uint ulong union unittest ushort version void volatile wchar while with", + // Secondary keywords and identifiers + "", + // Documentation comment keywords (doxygen) + "a addindex addtogroup anchor arg attention author b brief bug c class code date def defgroup deprecated dontinclude " + "e em endcode endhtmlonly endif endlatexonly endlink endverbatim enum example exception f$ f[f] file fn hideinitializer htmlinclude htmlonly " + "if image include ingroup internal invariant interface latexonly li line link mainpage name namespace nosubgrouping note overload " + "p page par param post pre ref relates remarks return retval sa section see showinitializer since skip skipline struct subsection " + "test throw todo typedef union until var verbatim verbinclude version warning weakgroup", + // Type definitions and aliases + "", + // Keywords 5 + "", + // Keywords 6 + "", + // Keywords 7 + "", + // --- + "" +}; + + +EDITLEXER lexD = { SCLEX_D, 63022, L"D Source Code", L"d; dd; di", L"", &KeyWords_D, { + { STYLE_DEFAULT, 63126, L"Default", L"", L"" }, + //{ SCE_D_DEFAULT, L"Default", L"", L"" }, + { MULTI_STYLE(SCE_D_COMMENT,SCE_D_COMMENTLINE,SCE_D_COMMENTNESTED,0), 63127, L"Comment", L"fore:#008000", L"" }, + { SCE_D_COMMENTDOC, 63259, L"Comment Documentation", L"fore:#040A0", L"" }, + { SCE_D_NUMBER, 63130, L"Number", L"fore:#FF0000", L"" }, + { SCE_D_WORD, 63128, L"Keyword", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD2, 63128, L"Keyword 2nd", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD3, 63128, L"Keyword 3", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD5, 63128, L"Keyword 5", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD6, 63128, L"Keyword 6", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD7, 63128, L"Keyword 7", L"bold; fore:#0A246A", L"" }, + { SCE_D_TYPEDEF, 63258, L"Typedef", L"fore:#0A246A", L"" }, + { MULTI_STYLE(SCE_D_STRING,SCE_D_CHARACTER,SCE_D_STRINGEOL,SCE_D_STRINGB), 63131, L"String", L"fore:#808080", L"" }, + { SCE_D_OPERATOR, 63132, L"Operator", L"fore:#B000B0", L"" }, + { SCE_D_IDENTIFIER, 63129, L"Identifier", L"", L"" }, + //{ SCE_D_COMMENTLINEDOC, L"Default", L"", L"" }, + //{ SCE_D_COMMENTDOCKEYWORD, L"Default", L"", L"" }, + //{ SCE_D_STRINGR, L"Default", L"", L"" }, + //C++: { MULTI_STYLE(SCE_C_PREPROCESSOR,SCE_C_PREPROCESSORCOMMENT,SCE_C_PREPROCESSORCOMMENTDOC,0), 63133, L"Preprocessor", L"fore:#FF8000", L"" }, + { -1, 00000, L"", L"", L"" } } }; + + +KEYWORDLIST KeyWords_Go = { + // Primary keywords and identifiers + "break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type " + "continue for import return var bool int int8 int16 int32 int64 byte uint uint8 uint16 uint32 uint64 uintptr float float32 float64 string nil true false", + // Secondary keywords and identifiers + "", + // Documentation comment keywords (doxygen) + "", + // Type definitions and aliases + "", + // Keywords 5 + "", + // Keywords 6 + "", + // Keywords 7 + "", + // --- + "" +}; + + +EDITLEXER lexGo = { SCLEX_D, 63023, L"Go Source Code", L"go", L"", &KeyWords_Go,{ + { STYLE_DEFAULT, 63126, L"Default", L"", L"" }, + //{ SCE_D_DEFAULT, L"Default", L"", L"" }, + { MULTI_STYLE(SCE_D_COMMENT,SCE_D_COMMENTLINE,SCE_D_COMMENTNESTED,0), 63127, L"Comment", L"fore:#008000", L"" }, + //{ SCE_D_COMMENTDOC, 63259, L"Comment Documentation", L"fore:#040A0", L"" }, + { SCE_D_NUMBER, 63130, L"Number", L"fore:#FF0000", L"" }, + { SCE_D_WORD, 63128, L"Keyword", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD2, 63128, L"Keyword 2nd", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD3, 63128, L"Keyword 3", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD5, 63128, L"Keyword 5", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD6, 63128, L"Keyword 6", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_WORD7, 63128, L"Keyword 7", L"bold; fore:#0A246A", L"" }, + //{ SCE_D_TYPEDEF, 63258, L"Typedef", L"fore:#0A246A", L"" }, + { MULTI_STYLE(SCE_D_STRING,SCE_D_CHARACTER,SCE_D_STRINGEOL,SCE_D_STRINGB), 63131, L"String", L"fore:#808080", L"" }, + { SCE_D_OPERATOR, 63132, L"Operator", L"fore:#B000B0", L"" }, + { SCE_D_IDENTIFIER, 63129, L"Identifier", L"", L"" }, + //{ SCE_D_COMMENTLINEDOC, L"Default", L"", L"" }, + //{ SCE_D_COMMENTDOCKEYWORD, L"Default", L"", L"" }, + //{ SCE_D_STRINGR, L"Default", L"", L"" }, + //C++: { MULTI_STYLE(SCE_C_PREPROCESSOR,SCE_C_PREPROCESSORCOMMENT,SCE_C_PREPROCESSORCOMMENTDOC,0), 63133, L"Preprocessor", L"fore:#FF8000", L"" }, + { -1, 00000, L"", L"", L"" } } }; + + + + // This array holds all the lexers... // Don't forget to change the number of the lexer for HTML and XML // in Notepad2.c ParseCommandLine() if you change this array! @@ -2649,7 +2768,9 @@ PEDITLEXER pLexArray[NUMLEXERS] = &lexCS, &lexCSS, &lexCmake, + &lexD, &lexDIFF, + &lexGo, &lexHTML, &lexINNO, &lexJAVA, diff --git a/src/Styles.h b/src/Styles.h index 013165e13..2f3fa402c 100644 --- a/src/Styles.h +++ b/src/Styles.h @@ -59,7 +59,7 @@ typedef struct _editlexer // Number of Lexers in pLexArray -#define NUMLEXERS 41 +#define NUMLEXERS 43 void Style_Load(); diff --git a/src/VersionEx.h b/src/VersionEx.h index 7e0a8aa4b..135ca4691 100644 --- a/src/VersionEx.h +++ b/src/VersionEx.h @@ -1,5 +1,5 @@ #define VERSION_MAJOR 2 #define VERSION_MINOR 17 -#define VERSION_REV 1023 -#define VERSION_BUILD 632 -#define SCINTILLA_VER 400 +#define VERSION_REV 1026 +#define VERSION_BUILD 634 +#define SCINTILLA_VER 401