diff --git a/Versions/build.txt b/Versions/build.txt
index d00491fd7..0cfbf0888 100644
--- a/Versions/build.txt
+++ b/Versions/build.txt
@@ -1 +1 @@
-1
+2
diff --git a/res/Notepad3.exe.manifest.conf b/res/Notepad3.exe.manifest.conf
index df8f99436..e1eb70caa 100644
--- a/res/Notepad3.exe.manifest.conf
+++ b/res/Notepad3.exe.manifest.conf
@@ -3,7 +3,7 @@
Notepad3 RC2
diff --git a/src/StyleLexers/styleLexBASH.c b/src/StyleLexers/styleLexBASH.c
index edbb3b3bd..3df43f410 100644
--- a/src/StyleLexers/styleLexBASH.c
+++ b/src/StyleLexers/styleLexBASH.c
@@ -20,7 +20,7 @@ NULL,
EDITLEXER lexBASH = {
-SCLEX_BASH, IDS_LEX_SHELL_SCR, L"Shell Script", L"sh; csh; zsh; bash; tcsh; m4; in", L"",
+SCLEX_BASH, IDS_LEX_SHELL_SCR, L"Shell Script", L"sh; csh; zsh; bash; tcsh; m4; in; \\mozconfig", L"",
&KeyWords_BASH, {
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
//{ {SCE_SH_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
diff --git a/src/StyleLexers/styleLexCMAKE.c b/src/StyleLexers/styleLexCMAKE.c
index 1d5f3ae3d..3f5a458db 100644
--- a/src/StyleLexers/styleLexCMAKE.c
+++ b/src/StyleLexers/styleLexCMAKE.c
@@ -33,7 +33,7 @@ NULL,
EDITLEXER lexCmake = {
-SCLEX_CMAKE, IDS_LEX_CMAKE, L"Cmake Script", L"cmake; ctest", L"",
+SCLEX_CMAKE, IDS_LEX_CMAKE, L"Cmake Script", L"cmake; ctest; \\cmakelists\\.txt", L"",
&KeyWords_CMAKE, {
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
//{ {SCE_CMAKE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
diff --git a/src/StyleLexers/styleLexCONF.c b/src/StyleLexers/styleLexCONF.c
index 834894130..56ca5d59e 100644
--- a/src/StyleLexers/styleLexCONF.c
+++ b/src/StyleLexers/styleLexCONF.c
@@ -125,7 +125,7 @@ NULL,
EDITLEXER lexCONF = {
-SCLEX_CONF, IDS_LEX_APC_CFG, L"Apache Config Files", L"conf; cfg; cnf; htaccess; prefs; iface; prop; po; te", L"",
+SCLEX_CONF, IDS_LEX_APC_CFG, L"Apache Config Files", L"conf; cfg; cnf; htaccess; prefs; iface; prop; po; te; \\Kconfig; \\Doxyfile", L"",
&KeyWords_CONF, {
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
//{ {SCE_CONF_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
diff --git a/src/StyleLexers/styleLexMAK.c b/src/StyleLexers/styleLexMAK.c
index e9298995f..02b0bfeac 100644
--- a/src/StyleLexers/styleLexMAK.c
+++ b/src/StyleLexers/styleLexMAK.c
@@ -5,7 +5,7 @@
KEYWORDLIST KeyWords_MAK = EMPTY_KEYWORDLIST;
EDITLEXER lexMAK = {
-SCLEX_MAKEFILE, IDS_LEX_MAKEFILES, L"Makefiles", L"mak; make; mk; dsp; msc; msvc; am; pro; pri; gmk; ninja; dsw", L"",
+SCLEX_MAKEFILE, IDS_LEX_MAKEFILES, L"Makefiles", L"mak; make; mk; dsp; msc; msvc; am; pro; pri; gmk; ninja; dsw; \\Makefile; \\Kbuild", L"",
&KeyWords_MAK, {
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
//{ {SCE_MAKE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
diff --git a/src/StyleLexers/styleLexRUBY.c b/src/StyleLexers/styleLexRUBY.c
index ed5b74f8b..b01c59246 100644
--- a/src/StyleLexers/styleLexRUBY.c
+++ b/src/StyleLexers/styleLexRUBY.c
@@ -9,7 +9,7 @@ NULL,
};
EDITLEXER lexRUBY = {
-SCLEX_RUBY, IDS_LEX_RUBY, L"Ruby Script", L"rb; ruby; rbw; rake; rjs; rakefile; gemspec; podspec", L"",
+SCLEX_RUBY, IDS_LEX_RUBY, L"Ruby Script", L"rb; ruby; rbw; rake; rjs; rakefile; gemspec; podspec; \\Rakefile; \\Podfile", L"",
&KeyWords_RUBY, {
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
//{ {SCE_RB_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
diff --git a/src/StyleLexers/styleLexStandard.c b/src/StyleLexers/styleLexStandard.c
index 96461d81f..69ffb9c0f 100644
--- a/src/StyleLexers/styleLexStandard.c
+++ b/src/StyleLexers/styleLexStandard.c
@@ -60,7 +60,7 @@ SCLEX_NULL, IDS_LEX_TEXT_FILES, L"Text Files", L"txt; text; tmp; log; asc; doc;
EDITLEXER lexANSI = {
-SCLEX_NULL, IDS_LEX_ANSI_ART, L"ANSI Art", L"nfo; diz", L"",
+SCLEX_NULL, IDS_LEX_ANSI_ART, L"ANSI Art", L"nfo; diz; \\Readme", L"",
&KeyWords_NULL,{
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"font:Lucida Console; size:11; thin; smoothing:none", L"" },
{ {STYLE_LINENUMBER}, IDS_LEX_STD_MARGIN, L"Margins and Line Numbers", L"font:Lucida Console; size:-2", L"" },
diff --git a/src/Styles.c b/src/Styles.c
index bba8ab1cd..1f6ae8e1f 100644
--- a/src/Styles.c
+++ b/src/Styles.c
@@ -2016,10 +2016,18 @@ bool Style_SetLexerFromFile(HWND hwnd,LPCWSTR lpszFile)
LPCWSTR lpszFileName = PathFindFileName(lpszFile);
- if (!bFound && s_bAutoSelect && /* s_bAutoSelect == false skips lexer search */
- (StrIsNotEmpty(lpszFile) && *lpszExt))
+ // check for filename regex match
+ if (!bFound && s_bAutoSelect && StrIsNotEmpty(lpszFile)) {
+ pLexSniffed = Style_RegExMatchLexer(lpszFileName);
+ if (pLexSniffed) {
+ pLexNew = pLexSniffed;
+ bFound = true;
+ }
+ }
+
+ if (!bFound && s_bAutoSelect && (StrIsNotEmpty(lpszFile) && *lpszExt))
{
- if (*lpszExt == L'.') ++lpszExt;
+ if (*lpszExt == L'.') { ++lpszExt; }
if (!Flags.NoCGIGuess && (StringCchCompareXI(lpszExt,L"cgi") == 0 || StringCchCompareXI(lpszExt,L"fcgi") == 0)) {
char tchText[256] = { '\0' };
@@ -2032,11 +2040,6 @@ bool Style_SetLexerFromFile(HWND hwnd,LPCWSTR lpszFile)
}
}
- if (!bFound && StringCchCompareXI(lpszFileName,L"cmakelists.txt") == 0) {
- pLexNew = &lexCmake;
- bFound = true;
- }
-
// check associated extensions
if (!bFound) {
pLexSniffed = Style_MatchLexer(lpszExt, false);
@@ -2045,49 +2048,6 @@ bool Style_SetLexerFromFile(HWND hwnd,LPCWSTR lpszFile)
bFound = true;
}
}
-
- // check for filename regex match
- if (!bFound) {
- pLexSniffed = Style_RegExMatchLexer(lpszFileName);
- if (pLexSniffed) {
- pLexNew = pLexSniffed;
- bFound = true;
- }
- }
-
- }
-
- if (!bFound && s_bAutoSelect && lpszFile &&
- StringCchCompareXI(lpszFileName, L"Readme") == 0) {
- pLexNew = &lexANSI;
- bFound = true;
- }
-
- if (!bFound && s_bAutoSelect && lpszFile &&
- ((StringCchCompareXI(lpszFileName,L"Makefile") == 0) ||
- (StringCchCompareXI(lpszFileName, L"Kbuild") == 0))) {
- pLexNew = &lexMAK;
- bFound = true;
- }
-
- if (!bFound && s_bAutoSelect && lpszFile &&
- ((StringCchCompareXI(lpszFileName,L"Rakefile") == 0) ||
- (StringCchCompareXI(lpszFileName, L"Podfile") == 0))) {
- pLexNew = &lexRUBY;
- bFound = true;
- }
-
- if (!bFound && s_bAutoSelect && lpszFile &&
- StringCchCompareXI(lpszFileName,L"mozconfig") == 0) {
- pLexNew = &lexBASH;
- bFound = true;
- }
-
- if (!bFound && s_bAutoSelect && lpszFile &&
- ((StringCchCompareXI(lpszFileName, L"Kconfig") == 0) ||
- (StringCchCompareXI(lpszFileName, L"Doxyfile") == 0))) {
- pLexNew = &lexCONF;
- bFound = true;
}
if (!bFound && s_bAutoSelect && (!Flags.NoHTMLGuess || !Flags.NoCGIGuess)) {
diff --git a/src/VersionEx.h b/src/VersionEx.h
index 4f0835c37..c8545b6d1 100644
--- a/src/VersionEx.h
+++ b/src/VersionEx.h
@@ -9,7 +9,7 @@
#define VERSION_MAJOR 5
#define VERSION_MINOR 20
#define VERSION_REV 229
-#define VERSION_BUILD 1
+#define VERSION_BUILD 2
#define SCINTILLA_VER 430
#define ONIGURUMA_REGEX_VER 6.9.4
#define UCHARDET_VER 2018.09.27