diff options
| author | nyamatongwe <unknown> | 2008-09-14 11:15:49 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2008-09-14 11:15:49 +0000 | 
| commit | 8dd4905d24b2c76b13834e08dbc3a005e6994d6e (patch) | |
| tree | 072c18a8dea07a219cb1dc85d3900e19f13a135e | |
| parent | 205c7f8b4cb4f89fe4fafdc2722c706a25c8c3b5 (diff) | |
| download | scintilla-mirror-8dd4905d24b2c76b13834e08dbc3a005e6994d6e.tar.gz | |
Added LexMySQL by Anders Karlsson.
| -rw-r--r-- | gtk/makefile | 8 | ||||
| -rw-r--r-- | gtk/scintilla.mak | 3 | ||||
| -rw-r--r-- | include/SciLexer.h | 22 | ||||
| -rw-r--r-- | include/Scintilla.iface | 24 | ||||
| -rw-r--r-- | macosx/makefile | 8 | ||||
| -rw-r--r-- | src/LexMySQL.cxx | 367 | ||||
| -rw-r--r-- | win32/makefile | 8 | ||||
| -rw-r--r-- | win32/scintilla.mak | 3 | ||||
| -rw-r--r-- | win32/scintilla_vc6.mak | 3 | 
9 files changed, 434 insertions, 12 deletions
| diff --git a/gtk/makefile b/gtk/makefile index c8bde8318..775335616 100644 --- a/gtk/makefile +++ b/gtk/makefile @@ -69,10 +69,10 @@ LexConf.o LexCPP.o LexCrontab.o LexCsound.o LexCSS.o LexD.o LexEiffel.o \  LexErlang.o LexEScript.o LexFlagship.o LexForth.o LexFortran.o LexGAP.o \  LexGui4Cli.o LexHaskell.o LexHTML.o LexInno.o LexKix.o LexLisp.o LexLout.o \  LexLua.o LexMagik.o LexMatlab.o LexMetapost.o LexMMIXAL.o LexMPT.o LexMSSQL.o \ -LexNsis.o LexOpal.o LexOthers.o LexPascal.o LexPB.o LexPerl.o LexPLM.o \ -LexPOV.o LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o LexRebol.o \ -LexRuby.o LexScriptol.o LexSmalltalk.o LexSpecman.o LexSpice.o LexSQL.o \ -LexTADS3.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o LexVHDL.o LexYAML.o +LexMySQL.o LexNsis.o LexOpal.o LexOthers.o LexPascal.o LexPB.o LexPerl.o \ +LexPLM.o LexPOV.o LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o \ +LexRebol.o LexRuby.o LexScriptol.o LexSmalltalk.o LexSpecman.o LexSpice.o \ +LexSQL.o LexTADS3.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o LexVHDL.o LexYAML.o  #--Autogenerated -- end of automatically generated section  all: $(COMPLIB) diff --git a/gtk/scintilla.mak b/gtk/scintilla.mak index 94217bec9..e60e411d2 100644 --- a/gtk/scintilla.mak +++ b/gtk/scintilla.mak @@ -185,6 +185,7 @@ LEXOBJS=\  	$(DIR_O)\LexMMIXAL.obj \  	$(DIR_O)\LexMPT.obj \  	$(DIR_O)\LexMSSQL.obj \ +	$(DIR_O)\LexMySQL.obj \  	$(DIR_O)\LexNsis.obj \  	$(DIR_O)\LexOpal.obj \  	$(DIR_O)\LexOthers.obj \ @@ -438,6 +439,8 @@ $(DIR_O)\LexMPT.obj: ..\src\LexMPT.cxx $(LEX_HEADERS)  $(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS) +$(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS) +  $(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS)  $(DIR_O)\LexOpal.obj: ..\src\LexOpal.cxx $(LEX_HEADERS) diff --git a/include/SciLexer.h b/include/SciLexer.h index 17f160e1d..05cea61d4 100644 --- a/include/SciLexer.h +++ b/include/SciLexer.h @@ -101,6 +101,7 @@  #define SCLEX_R 86  #define SCLEX_MAGIK 87  #define SCLEX_POWERSHELL 88 +#define SCLEX_MYSQL 89  #define SCLEX_AUTOMATIC 1000  #define SCE_P_DEFAULT 0  #define SCE_P_COMMENTLINE 1 @@ -1234,6 +1235,27 @@  #define SCE_POWERSHELL_KEYWORD 8  #define SCE_POWERSHELL_CMDLET 9  #define SCE_POWERSHELL_ALIAS 10 +#define SCE_MYSQL_DEFAULT 0 +#define SCE_MYSQL_COMMENT 1 +#define SCE_MYSQL_COMMENTLINE 2 +#define SCE_MYSQL_VARIABLE 3 +#define SCE_MYSQL_SYSTEMVARIABLE 4 +#define SCE_MYSQL_KNOWNSYSTEMVARIABLE 5 +#define SCE_MYSQL_NUMBER 6 +#define SCE_MYSQL_MAJORKEYWORD 7 +#define SCE_MYSQL_KEYWORD 8 +#define SCE_MYSQL_DATABASEOBJECT 9 +#define SCE_MYSQL_PROCEDUREKEYWORD 10 +#define SCE_MYSQL_STRING 11 +#define SCE_MYSQL_SQSTRING 12 +#define SCE_MYSQL_DQSTRING 13 +#define SCE_MYSQL_OPERATOR 14 +#define SCE_MYSQL_FUNCTION 15 +#define SCE_MYSQL_IDENTIFIER 16 +#define SCE_MYSQL_QUOTEDIDENTIFIER 17 +#define SCE_MYSQL_USER1 18 +#define SCE_MYSQL_USER2 19 +#define SCE_MYSQL_USER3 20  #define SCLEX_ASP 29  #define SCLEX_PHP 30  //--Autogenerated -- end of section automatically generated from Scintilla.iface diff --git a/include/Scintilla.iface b/include/Scintilla.iface index c8759e591..bc2e0a033 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -2007,6 +2007,7 @@ val SCLEX_ASYMPTOTE=85  val SCLEX_R=86  val SCLEX_MAGIK=87  val SCLEX_POWERSHELL=88 +val SCLEX_MYSQL=89  # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a  # value assigned in sequence from SCLEX_AUTOMATIC+1. @@ -3305,6 +3306,29 @@ val SCE_POWERSHELL_IDENTIFIER=7  val SCE_POWERSHELL_KEYWORD=8  val SCE_POWERSHELL_CMDLET=9  val SCE_POWERSHELL_ALIAS=10 +# Lexical state for SCLEX_MYSQL +lex MySQL=SCLEX_MYSQL SCE_MYSQL_ +val SCE_MYSQL_DEFAULT=0 +val SCE_MYSQL_COMMENT=1 +val SCE_MYSQL_COMMENTLINE=2 +val SCE_MYSQL_VARIABLE=3 +val SCE_MYSQL_SYSTEMVARIABLE=4 +val SCE_MYSQL_KNOWNSYSTEMVARIABLE=5 +val SCE_MYSQL_NUMBER=6 +val SCE_MYSQL_MAJORKEYWORD=7 +val SCE_MYSQL_KEYWORD=8 +val SCE_MYSQL_DATABASEOBJECT=9 +val SCE_MYSQL_PROCEDUREKEYWORD=10 +val SCE_MYSQL_STRING=11 +val SCE_MYSQL_SQSTRING=12 +val SCE_MYSQL_DQSTRING=13 +val SCE_MYSQL_OPERATOR=14 +val SCE_MYSQL_FUNCTION=15 +val SCE_MYSQL_IDENTIFIER=16 +val SCE_MYSQL_QUOTEDIDENTIFIER=17 +val SCE_MYSQL_USER1=18 +val SCE_MYSQL_USER2=19 +val SCE_MYSQL_USER3=20  # Events diff --git a/macosx/makefile b/macosx/makefile index 7f19b4967..5cd58b91e 100644 --- a/macosx/makefile +++ b/macosx/makefile @@ -69,10 +69,10 @@ LexConf.o LexCPP.o LexCrontab.o LexCsound.o LexCSS.o LexD.o LexEiffel.o \  LexErlang.o LexEScript.o LexFlagship.o LexForth.o LexFortran.o LexGAP.o \  LexGui4Cli.o LexHaskell.o LexHTML.o LexInno.o LexKix.o LexLisp.o LexLout.o \  LexLua.o LexMagik.o LexMatlab.o LexMetapost.o LexMMIXAL.o LexMPT.o LexMSSQL.o \ -LexNsis.o LexOpal.o LexOthers.o LexPascal.o LexPB.o LexPerl.o LexPLM.o \ -LexPOV.o LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o LexRebol.o \ -LexRuby.o LexScriptol.o LexSmalltalk.o LexSpecman.o LexSpice.o LexSQL.o \ -LexTADS3.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o LexVHDL.o LexYAML.o +LexMySQL.o LexNsis.o LexOpal.o LexOthers.o LexPascal.o LexPB.o LexPerl.o \ +LexPLM.o LexPOV.o LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o \ +LexRebol.o LexRuby.o LexScriptol.o LexSmalltalk.o LexSpecman.o LexSpice.o \ +LexSQL.o LexTADS3.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o LexVHDL.o LexYAML.o  #--Autogenerated -- end of automatically generated section  # The LEXOBJS have to be treated specially as the functions in them are not called from external code diff --git a/src/LexMySQL.cxx b/src/LexMySQL.cxx new file mode 100644 index 000000000..438d307a3 --- /dev/null +++ b/src/LexMySQL.cxx @@ -0,0 +1,367 @@ +// Scintilla source code edit control +/** @file LexMySQL.cxx + ** Lexer for MySQL + **/ +// Adopted from LexSQL.cxx by Anders Karlsson <anders@mysql.com> +// Original work by Neil Hodgson <neilh@scintilla.org> +// Copyright 1998-2005 by Neil Hodgson <neilh@scintilla.org> +// The License.txt file describes the conditions under which this software may be distributed. + +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <stdio.h> +#include <stdarg.h> + +#include "Platform.h" + +#include "PropSet.h" +#include "Accessor.h" +#include "StyleContext.h" +#include "KeyWords.h" +#include "Scintilla.h" +#include "SciLexer.h" + +#ifdef SCI_NAMESPACE +using namespace Scintilla; +#endif + +static inline bool IsAWordChar(int ch) { +	return (ch < 0x80) && (isalnum(ch) || ch == '_'); +} + +static inline bool IsAWordStart(int ch) { +	return (ch < 0x80) && (isalpha(ch) || ch == '_'); +} + +static inline bool IsADoxygenChar(int ch) { +	return (islower(ch) || ch == '$' || ch == '@' || +	        ch == '\\' || ch == '&' || ch == '<' || +	        ch == '>' || ch == '#' || ch == '{' || +	        ch == '}' || ch == '[' || ch == ']'); +} + +static inline bool IsANumberChar(int ch) { +	// Not exactly following number definition (several dots are seen as OK, etc.) +	// but probably enough in most cases. +	return (ch < 0x80) && +	        (isdigit(ch) || toupper(ch) == 'E' || +             ch == '.' || ch == '-' || ch == '+'); +} + +static void ColouriseMySQLDoc(unsigned int startPos, int length, int initStyle, WordList *keywordlists[], +                            Accessor &styler) { + +	WordList &major_keywords = *keywordlists[0]; +	WordList &keywords = *keywordlists[1]; +	WordList &database_objects = *keywordlists[2]; +	WordList &functions = *keywordlists[3]; +	WordList &system_variables = *keywordlists[4]; +	WordList &procedure_keywords = *keywordlists[5]; +	WordList &kw_user1 = *keywordlists[6]; +	WordList &kw_user2 = *keywordlists[7]; +	WordList &kw_user3 = *keywordlists[8]; + +	StyleContext sc(startPos, length, initStyle, styler); + +	for (; sc.More(); sc.Forward()) { +		// Determine if the current state should terminate. +		switch (sc.state) { +		case SCE_MYSQL_OPERATOR: +			sc.SetState(SCE_MYSQL_DEFAULT); +			break; +		case SCE_MYSQL_NUMBER: +			// We stop the number definition on non-numerical non-dot non-eE non-sign char +			if (!IsANumberChar(sc.ch)) { +				sc.SetState(SCE_MYSQL_DEFAULT); +			} +			break; +		case SCE_MYSQL_IDENTIFIER: +			if (!IsAWordChar(sc.ch)) { +				int nextState = SCE_MYSQL_DEFAULT; +				char s[1000]; +				sc.GetCurrentLowered(s, sizeof(s)); +				if (major_keywords.InList(s)) { +					sc.ChangeState(SCE_MYSQL_MAJORKEYWORD); +				} else if (keywords.InList(s)) { +					sc.ChangeState(SCE_MYSQL_KEYWORD); +				} else if (database_objects.InList(s)) { +					sc.ChangeState(SCE_MYSQL_DATABASEOBJECT); +				} else if (functions.InList(s)) { +					sc.ChangeState(SCE_MYSQL_FUNCTION); +				} else if (procedure_keywords.InList(s)) { +					sc.ChangeState(SCE_MYSQL_PROCEDUREKEYWORD); +				} else if (kw_user1.InList(s)) { +					sc.ChangeState(SCE_MYSQL_USER1); +				} else if (kw_user2.InList(s)) { +					sc.ChangeState(SCE_MYSQL_USER2); +				} else if (kw_user3.InList(s)) { +					sc.ChangeState(SCE_MYSQL_USER3); +				} +				sc.SetState(nextState); +			} +			break; +		case SCE_MYSQL_VARIABLE: +			if (!IsAWordChar(sc.ch)) { +				sc.SetState(SCE_MYSQL_DEFAULT); +			} +			break; +		case SCE_MYSQL_SYSTEMVARIABLE: +			if (!IsAWordChar(sc.ch)) { +				char s[1000]; +				sc.GetCurrentLowered(s, sizeof(s)); +// Check for known system variables here. +				if (system_variables.InList(&s[2])) { +					sc.ChangeState(SCE_MYSQL_KNOWNSYSTEMVARIABLE); +				} +				sc.SetState(SCE_MYSQL_DEFAULT); +			} +			break; +		case SCE_MYSQL_QUOTEDIDENTIFIER: +			if (sc.ch == 0x60) { +				if (sc.chNext == 0x60) { +					sc.Forward();	// Ignore it +				} else { +					sc.ForwardSetState(SCE_MYSQL_DEFAULT); +				} +			} +			break; +		case SCE_MYSQL_COMMENT: +			if (sc.Match('*', '/')) { +				sc.Forward(); +				sc.ForwardSetState(SCE_MYSQL_DEFAULT); +			} +			break; +		case SCE_MYSQL_COMMENTLINE: +			if (sc.atLineStart) { +				sc.SetState(SCE_MYSQL_DEFAULT); +			} +			break; +		case SCE_MYSQL_SQSTRING: +			if (sc.ch == '\\') { +				// Escape sequence +				sc.Forward(); +			} else if (sc.ch == '\'') { +				if (sc.chNext == '\'') { +					sc.Forward(); +				} else { +					sc.ChangeState(SCE_MYSQL_STRING); +					sc.ForwardSetState(SCE_MYSQL_DEFAULT); +				} +			} +			break; +		case SCE_MYSQL_DQSTRING: +			if (sc.ch == '\\') { +				// Escape sequence +				sc.Forward(); +			} else if (sc.ch == '\"') { +				if (sc.chNext == '\"') { +					sc.Forward(); +				} else { +					sc.ChangeState(SCE_MYSQL_STRING); +					sc.ForwardSetState(SCE_MYSQL_DEFAULT); +				} +			} +			break; +		} + +		// Determine if a new state should be entered. +		if (sc.state == SCE_MYSQL_DEFAULT) { +			if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) { +				sc.SetState(SCE_MYSQL_NUMBER); +			} else if (IsAWordStart(sc.ch)) { +				sc.SetState(SCE_MYSQL_IDENTIFIER); +// Note that the order of SYSTEMVARIABLE and VARIABLE is important here. +			} else if (sc.ch == 0x40 && sc.chNext == 0x40) { +				sc.SetState(SCE_MYSQL_SYSTEMVARIABLE); +				sc.Forward(); // Skip past the second at-sign. +			} else if (sc.ch == 0x40) { +				sc.SetState(SCE_MYSQL_VARIABLE); +			} else if (sc.ch == 0x60) { +				sc.SetState(SCE_MYSQL_QUOTEDIDENTIFIER); +			} else if (sc.Match('/', '*')) { +				sc.SetState(SCE_MYSQL_COMMENT); +				sc.Forward();	// Eat the * so it isn't used for the end of the comment +			} else if (sc.Match('-', '-') || sc.Match('#')) { +				sc.SetState(SCE_MYSQL_COMMENTLINE); +			} else if (sc.ch == '\'') { +				sc.SetState(SCE_MYSQL_SQSTRING); +			} else if (sc.ch == '\"') { +				sc.SetState(SCE_MYSQL_DQSTRING); +			} else if (isoperator(static_cast<char>(sc.ch))) { +				sc.SetState(SCE_MYSQL_OPERATOR); +			} +		} +	} +	sc.Complete(); +} + +static bool IsStreamCommentStyle(int style) { +	return style == SCE_MYSQL_COMMENT; +} + +// Store both the current line's fold level and the next lines in the +// level store to make it easy to pick up with each increment. +static void FoldMySQLDoc(unsigned int startPos, int length, int initStyle, +                            WordList *[], Accessor &styler) { +	bool foldComment = styler.GetPropertyInt("fold.comment") != 0; +	bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; +	bool foldOnlyBegin = styler.GetPropertyInt("fold.sql.only.begin", 0) != 0; + +	unsigned int endPos = startPos + length; +	int visibleChars = 0; +	int lineCurrent = styler.GetLine(startPos); +	int levelCurrent = SC_FOLDLEVELBASE; +	if (lineCurrent > 0) { +		levelCurrent = styler.LevelAt(lineCurrent - 1) >> 16; +	} +	int levelNext = levelCurrent; +	char chNext = styler[startPos]; +	int styleNext = styler.StyleAt(startPos); +	int style = initStyle; +	bool endFound = false; +	bool whenFound = false; +	bool elseFound = false; +	for (unsigned int i = startPos; i < endPos; i++) { +		char ch = chNext; +		chNext = styler.SafeGetCharAt(i + 1); +		int stylePrev = style; +		style = styleNext; +		styleNext = styler.StyleAt(i + 1); +		bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n'); +		if (foldComment && IsStreamCommentStyle(style)) { +			if (!IsStreamCommentStyle(stylePrev)) { +				levelNext++; +			} else if (!IsStreamCommentStyle(styleNext) && !atEOL) { +				// Comments don't end at end of line and the next character may be unstyled. +				levelNext--; +			} +		} +		if (foldComment && (style == SCE_MYSQL_COMMENTLINE)) { +			// MySQL needs -- comments to be followed by space or control char +			if ((ch == '-') && (chNext == '-')) { +				char chNext2 = styler.SafeGetCharAt(i + 2); +				char chNext3 = styler.SafeGetCharAt(i + 3); +				if (chNext2 == '{' || chNext3 == '{') { +					levelNext++; +				} else if (chNext2 == '}' || chNext3 == '}') { +					levelNext--; +				} +			} +		} +		if (style == SCE_MYSQL_OPERATOR) { +			if (ch == '(') { +				levelNext++; +			} else if (ch == ')') { +				levelNext--; +			} +		} + +// Style new keywords here. +		if ((style == SCE_MYSQL_MAJORKEYWORD && stylePrev != SCE_MYSQL_MAJORKEYWORD) +		  || (style == SCE_MYSQL_KEYWORD && stylePrev != SCE_MYSQL_KEYWORD) +		  || (style == SCE_MYSQL_PROCEDUREKEYWORD && stylePrev != SCE_MYSQL_PROCEDUREKEYWORD)) { +			const int MAX_KW_LEN = 6;	// Maximum length of folding keywords +			char s[MAX_KW_LEN + 2]; +			unsigned int j = 0; +			for (; j < MAX_KW_LEN + 1; j++) { +				if (!iswordchar(styler[i + j])) { +					break; +				} +				s[j] = static_cast<char>(tolower(styler[i + j])); +			} +			if (j == MAX_KW_LEN + 1) { +				// Keyword too long, don't test it +				s[0] = '\0'; +			} else { +				s[j] = '\0'; +			} +			if (!foldOnlyBegin && endFound && (strcmp(s, "if") == 0 || strcmp(s, "while") == 0 || strcmp(s, "loop") == 0)) { +				endFound = false; +				levelNext--; +				if (levelNext < SC_FOLDLEVELBASE) { +					levelNext = SC_FOLDLEVELBASE; +				} +// Note that else is special here. It may or may be followed by an if then, but in aly case the level stays the +// same. When followed by a if .. then, the level will be increased later, if not, at eol. +			} else if (!foldOnlyBegin && strcmp(s, "else") == 0) { +				levelNext--; +				elseFound = true; +			} else if (!foldOnlyBegin && strcmp(s, "then") == 0) { +				if(whenFound) { +					whenFound = false; +				} else { +					levelNext++; +				} +			} else if (strcmp(s, "if") == 0) { +				elseFound = false; +			} else if (strcmp(s, "when") == 0) { +				whenFound = true; +			} else if (strcmp(s, "begin") == 0) { +				levelNext++; +			} else if (!foldOnlyBegin && (strcmp(s, "loop") == 0 || strcmp(s, "repeat") == 0 +			  || strcmp(s, "while") == 0)) { +				if(endFound) { +					endFound = false; +				} else { +					levelNext++; +				} +			} else if (strcmp(s, "end") == 0) { +// Multiple END in a row are counted multiple times! +				if (endFound) { +					levelNext--; +					if (levelNext < SC_FOLDLEVELBASE) { +						levelNext = SC_FOLDLEVELBASE; +					} +				} +				endFound = true; +				whenFound = false; +			} +		} +// Handle this for a trailing end withiut an if / while etc, as in the case of a begin. +		if (endFound) { +			endFound = false; +			levelNext--; +			if (levelNext < SC_FOLDLEVELBASE) { +				levelNext = SC_FOLDLEVELBASE; +			} +		} +		if (atEOL) { +			if(elseFound) +				levelNext++; +			elseFound = false; + +			int levelUse = levelCurrent; +			int lev = levelUse | levelNext << 16; +			if (visibleChars == 0 && foldCompact) +				lev |= SC_FOLDLEVELWHITEFLAG; +			if (levelUse < levelNext) +				lev |= SC_FOLDLEVELHEADERFLAG; +			if (lev != styler.LevelAt(lineCurrent)) { +				styler.SetLevel(lineCurrent, lev); +			} +			lineCurrent++; +			levelCurrent = levelNext; +			visibleChars = 0; +			endFound = false; +			whenFound = false; +		} +		if (!isspacechar(ch)) { +			visibleChars++; +		} +	} +} + +static const char * const mysqlWordListDesc[] = { +	"Major Keywords", +	"Keywords", +	"Database Objects", +	"Functions", +	"System Variables", +	"Procedure keywords", +	"User Keywords 1", +	"User Keywords 2", +	"User Keywords 3" +}; + + LexerModule lmMySQL(SCLEX_MYSQL, ColouriseMySQLDoc, "mysql", FoldMySQLDoc, mysqlWordListDesc); diff --git a/win32/makefile b/win32/makefile index b3823f9f9..c99e02d50 100644 --- a/win32/makefile +++ b/win32/makefile @@ -57,10 +57,10 @@ LexConf.o LexCPP.o LexCrontab.o LexCsound.o LexCSS.o LexD.o LexEiffel.o \  LexErlang.o LexEScript.o LexFlagship.o LexForth.o LexFortran.o LexGAP.o \  LexGui4Cli.o LexHaskell.o LexHTML.o LexInno.o LexKix.o LexLisp.o LexLout.o \  LexLua.o LexMagik.o LexMatlab.o LexMetapost.o LexMMIXAL.o LexMPT.o LexMSSQL.o \ -LexNsis.o LexOpal.o LexOthers.o LexPascal.o LexPB.o LexPerl.o LexPLM.o \ -LexPOV.o LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o LexRebol.o \ -LexRuby.o LexScriptol.o LexSmalltalk.o LexSpecman.o LexSpice.o LexSQL.o \ -LexTADS3.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o LexVHDL.o LexYAML.o +LexMySQL.o LexNsis.o LexOpal.o LexOthers.o LexPascal.o LexPB.o LexPerl.o \ +LexPLM.o LexPOV.o LexPowerShell.o LexProgress.o LexPS.o LexPython.o LexR.o \ +LexRebol.o LexRuby.o LexScriptol.o LexSmalltalk.o LexSpecman.o LexSpice.o \ +LexSQL.o LexTADS3.o LexTCL.o LexTeX.o LexVB.o LexVerilog.o LexVHDL.o LexYAML.o  #--Autogenerated -- end of automatically generated section  SOBJS	= ScintillaWin.o ScintillaBase.o Editor.o CharClassify.o Decoration.o \ diff --git a/win32/scintilla.mak b/win32/scintilla.mak index 468a62261..46c2aa032 100644 --- a/win32/scintilla.mak +++ b/win32/scintilla.mak @@ -155,6 +155,7 @@ LEXOBJS=\  	$(DIR_O)\LexMMIXAL.obj \  	$(DIR_O)\LexMPT.obj \  	$(DIR_O)\LexMSSQL.obj \ +	$(DIR_O)\LexMySQL.obj \  	$(DIR_O)\LexNsis.obj \  	$(DIR_O)\LexOpal.obj \  	$(DIR_O)\LexOthers.obj \ @@ -389,6 +390,8 @@ $(DIR_O)\LexMPT.obj: ..\src\LexMPT.cxx $(LEX_HEADERS)  $(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS) +$(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS) +  $(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS)  $(DIR_O)\LexOpal.obj: ..\src\LexOpal.cxx $(LEX_HEADERS) diff --git a/win32/scintilla_vc6.mak b/win32/scintilla_vc6.mak index d77121dd9..566452ad7 100644 --- a/win32/scintilla_vc6.mak +++ b/win32/scintilla_vc6.mak @@ -157,6 +157,7 @@ LEXOBJS=\  	$(DIR_O)\LexMMIXAL.obj \  	$(DIR_O)\LexMPT.obj \  	$(DIR_O)\LexMSSQL.obj \ +	$(DIR_O)\LexMySQL.obj \  	$(DIR_O)\LexNsis.obj \  	$(DIR_O)\LexOpal.obj \  	$(DIR_O)\LexOthers.obj \ @@ -391,6 +392,8 @@ $(DIR_O)\LexMPT.obj: ..\src\LexMPT.cxx $(LEX_HEADERS)  $(DIR_O)\LexMSSQL.obj: ..\src\LexMSSQL.cxx $(LEX_HEADERS) +$(DIR_O)\LexMySQL.obj: ..\src\LexMySQL.cxx $(LEX_HEADERS) +  $(DIR_O)\LexNsis.obj: ..\src\LexNsis.cxx $(LEX_HEADERS)  $(DIR_O)\LexOpal.obj: ..\src\LexOpal.cxx $(LEX_HEADERS) | 
