mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-07-22 13:24:42 +02:00
Add MS Transact-SQL
Add built-in support for Microsoft's SQL dialect, Transact-SQL, used by Microsoft SQL Server. This enables Lexilla's dedicated MS SQL lexer. To preserve the current file extension mapping, the new lexer is mapped to the *.tsql file extension only. Users can select "Microsoft Transact-SQL" from the Language menu to apply MS SQL Server style to scripts with the *.sql extension. Keywords and styles copied from https://www.scintilla.org/mssql.properties Fix #5940, fix #7988, fix #11718, fix #12610, fix #13160, close #13184
This commit is contained in:
parent
feb454ad6f
commit
01bbebf825
@ -33,7 +33,7 @@ enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
|
|||||||
L_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \
|
L_CSOUND, L_ERLANG, L_ESCRIPT, L_FORTH, L_LATEX, \
|
||||||
L_MMIXAL, L_NIM, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \
|
L_MMIXAL, L_NIM, L_NNCRONTAB, L_OSCRIPT, L_REBOL, \
|
||||||
L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG,\
|
L_REGISTRY, L_RUST, L_SPICE, L_TXT2TAGS, L_VISUALPROLOG,\
|
||||||
L_TYPESCRIPT, L_JSON5,\
|
L_TYPESCRIPT, L_JSON5, L_MSSQL,\
|
||||||
// Don't use L_JS, use L_JAVASCRIPT instead
|
// Don't use L_JS, use L_JAVASCRIPT instead
|
||||||
// The end of enumated language type, so it should be always at the end
|
// The end of enumated language type, so it should be always at the end
|
||||||
L_EXTERNAL};
|
L_EXTERNAL};
|
||||||
|
@ -3597,6 +3597,8 @@ LangType Notepad_plus::menuID2LangType(int cmdID)
|
|||||||
return L_VB;
|
return L_VB;
|
||||||
case IDM_LANG_SQL :
|
case IDM_LANG_SQL :
|
||||||
return L_SQL;
|
return L_SQL;
|
||||||
|
case IDM_LANG_MSSQL :
|
||||||
|
return L_MSSQL;
|
||||||
case IDM_LANG_ASCII :
|
case IDM_LANG_ASCII :
|
||||||
return L_ASCII;
|
return L_ASCII;
|
||||||
case IDM_LANG_TEXT :
|
case IDM_LANG_TEXT :
|
||||||
|
@ -943,6 +943,7 @@ BEGIN
|
|||||||
MENUITEM "Lua", IDM_LANG_LUA
|
MENUITEM "Lua", IDM_LANG_LUA
|
||||||
MENUITEM "Makefile", IDM_LANG_MAKEFILE
|
MENUITEM "Makefile", IDM_LANG_MAKEFILE
|
||||||
MENUITEM "Matlab", IDM_LANG_MATLAB
|
MENUITEM "Matlab", IDM_LANG_MATLAB
|
||||||
|
MENUITEM "Microsoft Transact-SQL", IDM_LANG_MSSQL
|
||||||
MENUITEM "MMIXAL", IDM_LANG_MMIXAL
|
MENUITEM "MMIXAL", IDM_LANG_MMIXAL
|
||||||
MENUITEM "MS-DOS Style", IDM_LANG_ASCII
|
MENUITEM "MS-DOS Style", IDM_LANG_ASCII
|
||||||
MENUITEM "Nim", IDM_LANG_NIM
|
MENUITEM "Nim", IDM_LANG_NIM
|
||||||
@ -1069,6 +1070,7 @@ BEGIN
|
|||||||
BEGIN
|
BEGIN
|
||||||
MENUITEM "Makefile", IDM_LANG_MAKEFILE
|
MENUITEM "Makefile", IDM_LANG_MAKEFILE
|
||||||
MENUITEM "Matlab", IDM_LANG_MATLAB
|
MENUITEM "Matlab", IDM_LANG_MATLAB
|
||||||
|
MENUITEM "Microsoft Transact-SQL",IDM_LANG_MSSQL
|
||||||
MENUITEM "MMIXAL", IDM_LANG_MMIXAL
|
MENUITEM "MMIXAL", IDM_LANG_MMIXAL
|
||||||
MENUITEM "MS-DOS Style", IDM_LANG_ASCII
|
MENUITEM "MS-DOS Style", IDM_LANG_ASCII
|
||||||
END
|
END
|
||||||
|
@ -3483,6 +3483,7 @@ void Notepad_plus::command(int id)
|
|||||||
case IDM_LANG_OBJC :
|
case IDM_LANG_OBJC :
|
||||||
case IDM_LANG_VB :
|
case IDM_LANG_VB :
|
||||||
case IDM_LANG_SQL :
|
case IDM_LANG_SQL :
|
||||||
|
case IDM_LANG_MSSQL :
|
||||||
case IDM_LANG_ASCII :
|
case IDM_LANG_ASCII :
|
||||||
case IDM_LANG_TEXT :
|
case IDM_LANG_TEXT :
|
||||||
case IDM_LANG_RC :
|
case IDM_LANG_RC :
|
||||||
|
@ -7617,6 +7617,8 @@ int NppParameters::langTypeToCommandID(LangType lt) const
|
|||||||
id = IDM_LANG_USER; break;
|
id = IDM_LANG_USER; break;
|
||||||
case L_SQL :
|
case L_SQL :
|
||||||
id = IDM_LANG_SQL; break;
|
id = IDM_LANG_SQL; break;
|
||||||
|
case L_MSSQL :
|
||||||
|
id = IDM_LANG_MSSQL; break;
|
||||||
case L_VB :
|
case L_VB :
|
||||||
id = IDM_LANG_VB; break;
|
id = IDM_LANG_VB; break;
|
||||||
case L_TCL :
|
case L_TCL :
|
||||||
|
@ -153,6 +153,7 @@ LanguageNameInfo ScintillaEditView::_langNameInfoArray[L_EXTERNAL + 1] = {
|
|||||||
{TEXT("visualprolog"), TEXT("Visual Prolog"), TEXT("Visual Prolog file"), L_VISUALPROLOG, "visualprolog"},
|
{TEXT("visualprolog"), TEXT("Visual Prolog"), TEXT("Visual Prolog file"), L_VISUALPROLOG, "visualprolog"},
|
||||||
{TEXT("typescript"), TEXT("TypeScript"), TEXT("TypeScript file"), L_TYPESCRIPT, "cpp"},
|
{TEXT("typescript"), TEXT("TypeScript"), TEXT("TypeScript file"), L_TYPESCRIPT, "cpp"},
|
||||||
{TEXT("json5"), TEXT("json5"), TEXT("JSON5 file"), L_JSON5, "json"},
|
{TEXT("json5"), TEXT("json5"), TEXT("JSON5 file"), L_JSON5, "json"},
|
||||||
|
{TEXT("mssql"), TEXT("mssql"), TEXT("Microsoft Transact-SQL (SQL Server) file"), L_MSSQL, "mssql"},
|
||||||
{TEXT("ext"), TEXT("External"), TEXT("External"), L_EXTERNAL, "null"}
|
{TEXT("ext"), TEXT("External"), TEXT("External"), L_EXTERNAL, "null"}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1626,6 +1627,9 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
case L_SQL :
|
case L_SQL :
|
||||||
setSqlLexer(); break;
|
setSqlLexer(); break;
|
||||||
|
|
||||||
|
case L_MSSQL :
|
||||||
|
setMSSqlLexer(); break;
|
||||||
|
|
||||||
case L_VB :
|
case L_VB :
|
||||||
setVBLexer(); break;
|
setVBLexer(); break;
|
||||||
|
|
||||||
|
@ -770,6 +770,10 @@ protected:
|
|||||||
execute(SCI_SETPROPERTY, reinterpret_cast<WPARAM>("sql.backslash.escapes"), reinterpret_cast<LPARAM>(kbBackSlash ? "1" : "0"));
|
execute(SCI_SETPROPERTY, reinterpret_cast<WPARAM>("sql.backslash.escapes"), reinterpret_cast<LPARAM>(kbBackSlash ? "1" : "0"));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void setMSSqlLexer() {
|
||||||
|
setLexer(L_MSSQL, LIST_0 | LIST_1 | LIST_2 | LIST_3 | LIST_4 | LIST_5);
|
||||||
|
};
|
||||||
|
|
||||||
void setBashLexer() {
|
void setBashLexer() {
|
||||||
setLexer(L_BASH, LIST_0);
|
setLexer(L_BASH, LIST_0);
|
||||||
};
|
};
|
||||||
|
File diff suppressed because one or more lines are too long
@ -538,6 +538,7 @@
|
|||||||
#define IDM_LANG_VISUALPROLOG (IDM_LANG + 83)
|
#define IDM_LANG_VISUALPROLOG (IDM_LANG + 83)
|
||||||
#define IDM_LANG_TYPESCRIPT (IDM_LANG + 84)
|
#define IDM_LANG_TYPESCRIPT (IDM_LANG + 84)
|
||||||
#define IDM_LANG_JSON5 (IDM_LANG + 85)
|
#define IDM_LANG_JSON5 (IDM_LANG + 85)
|
||||||
|
#define IDM_LANG_MSSQL (IDM_LANG + 86)
|
||||||
|
|
||||||
#define IDM_LANG_EXTERNAL (IDM_LANG + 165)
|
#define IDM_LANG_EXTERNAL (IDM_LANG + 165)
|
||||||
#define IDM_LANG_EXTERNAL_LIMIT (IDM_LANG + 179)
|
#define IDM_LANG_EXTERNAL_LIMIT (IDM_LANG + 179)
|
||||||
|
@ -727,6 +727,23 @@
|
|||||||
<WordsStyle name="IDENTIFIER" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
<WordsStyle name="IDENTIFIER" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
||||||
<WordsStyle name="DOUBLE QUOTE STRING" styleID="8" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
<WordsStyle name="DOUBLE QUOTE STRING" styleID="8" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
||||||
</LexerType>
|
</LexerType>
|
||||||
|
<LexerType name="mssql" desc="T-SQL (MS SQL Server)" ext="">
|
||||||
|
<WordsStyle name="STATEMENT" styleID="9" fgColor="0000D0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
|
||||||
|
<WordsStyle name="DATA TYPE" styleID="10" fgColor="FF0000" bgColor="FFFFD0" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
|
||||||
|
<WordsStyle name="SYSTEM TABLE" styleID="11" fgColor="000000" bgColor="D0FFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
|
||||||
|
<WordsStyle name="GLOBAL" styleID="12" fgColor="FF0000" bgColor="FFD0D0" fontName="" fontStyle="0" fontSize="" keywordClass="type2" />
|
||||||
|
<WordsStyle name="FUNCTION" styleID="13" fgColor="000000" bgColor="D0FFD0" fontName="" fontStyle="0" fontSize="" keywordClass="type3" />
|
||||||
|
<WordsStyle name="SYSTEM STORED PROC" styleID="14" fgColor="FF0000" bgColor="FFD0FF" fontName="" fontStyle="0" fontSize="" keywordClass="type4" />
|
||||||
|
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
|
||||||
|
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
|
||||||
|
<WordsStyle name="NUMBER" styleID="3" fgColor="308080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
||||||
|
<WordsStyle name="STRING" styleID="4" fgColor="B000D0" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
|
||||||
|
<WordsStyle name="OPERATOR" styleID="5" fgColor="B08000" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
|
||||||
|
<WordsStyle name="IDENTIFIER" styleID="6" fgColor="5080E0" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
||||||
|
<WordsStyle name="VARIABLE" styleID="7" fgColor="CC1166" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
||||||
|
<WordsStyle name="COL NAME" styleID="8" fgColor="808080" bgColor="F0F0FF" fontName="" fontStyle="0" fontSize="" />
|
||||||
|
<WordsStyle name="COL NAME IN []'s" styleID="16" fgColor="D08000" bgColor="FFFFFF" fontName="" fontStyle="2" fontSize="" />
|
||||||
|
</LexerType>
|
||||||
<LexerType name="mmixal" desc="MMIXAL" ext="">
|
<LexerType name="mmixal" desc="MMIXAL" ext="">
|
||||||
<WordsStyle name="DIVSION OF LEADING WHITESPACE IN LINE" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
<WordsStyle name="DIVSION OF LEADING WHITESPACE IN LINE" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
||||||
<WordsStyle name="COMMENT" styleID="1" fgColor="007F00" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
<WordsStyle name="COMMENT" styleID="1" fgColor="007F00" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user