aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2007-06-30 00:38:34 +0000
committernyamatongwe <devnull@localhost>2007-06-30 00:38:34 +0000
commitd7c89974c88f6994d4c7cbdedada6c6f2e24a6dd (patch)
treef44eb5dbaa3543243ad958b915b7aa4fb12efb9b
parentae736d0c40e4d3688787bb4e9691096eb07d0965 (diff)
downloadscintilla-mirror-d7c89974c88f6994d4c7cbdedada6c6f2e24a6dd.tar.gz
Support for Abaqus language added by Sergio Lucato.
-rw-r--r--doc/ScintillaHistory.html1
-rw-r--r--gtk/makefile20
-rw-r--r--gtk/scintilla.mak3
-rw-r--r--include/SciLexer.h14
-rw-r--r--include/Scintilla.iface16
-rw-r--r--macosx/makefile20
-rw-r--r--src/KeyWords.cxx1
-rw-r--r--src/LexAbaqus.cxx260
-rw-r--r--vcbuild/SciLexer.dsp4
-rw-r--r--win32/makefile20
-rw-r--r--win32/scintilla.mak3
-rw-r--r--win32/scintilla_vc6.mak3
12 files changed, 335 insertions, 30 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 92d2aaa17..95d5979e1 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -299,6 +299,7 @@
<td>Todd Whiteman</td>
<td>Yuval Papish</td>
<td>instanton</td>
+ <td>Sergio Lucato</td>
</tr>
</table>
<p>
diff --git a/gtk/makefile b/gtk/makefile
index 201732be6..82a4faf71 100644
--- a/gtk/makefile
+++ b/gtk/makefile
@@ -63,16 +63,16 @@ endif
#++Autogenerated -- run src/LexGen.py to regenerate
#**LEXOBJS=\\\n\(\*.o \)
LEXOBJS=\
-LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexAU3.o LexAVE.o LexBaan.o LexBash.o \
-LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o 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 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 LexProgress.o LexPS.o \
-LexPython.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
+LexAbaqus.o LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexAU3.o LexAVE.o LexBaan.o \
+LexBash.o LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o 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 \
+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 LexProgress.o \
+LexPS.o LexPython.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 ffa2b5495..fdb44ad94 100644
--- a/gtk/scintilla.mak
+++ b/gtk/scintilla.mak
@@ -143,6 +143,7 @@ SOBJS=\
#++Autogenerated -- run src/LexGen.py to regenerate
#**LEXOBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
LEXOBJS=\
+ $(DIR_O)\LexAbaqus.obj \
$(DIR_O)\LexAda.obj \
$(DIR_O)\LexAPDL.obj \
$(DIR_O)\LexAsm.obj \
@@ -349,6 +350,8 @@ $(DIR_O)\KeyWords.obj: ../src/KeyWords.cxx ../include/Platform.h \
#++Autogenerated -- run src/LexGen.py to regenerate
#**\n\($(DIR_O)\\\*.obj: ..\\src\\\*.cxx $(LEX_HEADERS)\n\n\)
+$(DIR_O)\LexAbaqus.obj: ..\src\LexAbaqus.cxx $(LEX_HEADERS)
+
$(DIR_O)\LexAda.obj: ..\src\LexAda.cxx $(LEX_HEADERS)
$(DIR_O)\LexAPDL.obj: ..\src\LexAPDL.cxx $(LEX_HEADERS)
diff --git a/include/SciLexer.h b/include/SciLexer.h
index 139ee3fe7..de717c4eb 100644
--- a/include/SciLexer.h
+++ b/include/SciLexer.h
@@ -96,6 +96,7 @@
#define SCLEX_GAP 81
#define SCLEX_PLM 82
#define SCLEX_PROGRESS 83
+#define SCLEX_ABAQUS 84
#define SCLEX_AUTOMATIC 1000
#define SCE_P_DEFAULT 0
#define SCE_P_COMMENTLINE 1
@@ -1158,6 +1159,19 @@
#define SCE_4GL_COMMENT4_ 29
#define SCE_4GL_COMMENT5_ 30
#define SCE_4GL_COMMENT6_ 31
+#define SCE_ABAQUS_DEFAULT 0
+#define SCE_ABAQUS_COMMENT 1
+#define SCE_ABAQUS_COMMENTBLOCK 2
+#define SCE_ABAQUS_NUMBER 3
+#define SCE_ABAQUS_STRING 4
+#define SCE_ABAQUS_OPERATOR 5
+#define SCE_ABAQUS_WORD 6
+#define SCE_ABAQUS_PROCESSOR 7
+#define SCE_ABAQUS_COMMAND 8
+#define SCE_ABAQUS_SLASHCOMMAND 9
+#define SCE_ABAQUS_STARCOMMAND 10
+#define SCE_ABAQUS_ARGUMENT 11
+#define SCE_ABAQUS_FUNCTION 12
#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 b947301ea..3c52ce35e 100644
--- a/include/Scintilla.iface
+++ b/include/Scintilla.iface
@@ -1972,6 +1972,7 @@ val SCLEX_CMAKE=80
val SCLEX_GAP=81
val SCLEX_PLM=82
val SCLEX_PROGRESS=83
+val SCLEX_ABAQUS=84
# When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
# value assigned in sequence from SCLEX_AUTOMATIC+1.
@@ -3188,6 +3189,21 @@ val SCE_4GL_COMMENT3_=28
val SCE_4GL_COMMENT4_=29
val SCE_4GL_COMMENT5_=30
val SCE_4GL_COMMENT6_=31
+# Lexical states for SCLEX_ABAQUS
+lex ABAQUS=SCLEX_ABAQUS SCE_ABAQUS_
+val SCE_ABAQUS_DEFAULT=0
+val SCE_ABAQUS_COMMENT=1
+val SCE_ABAQUS_COMMENTBLOCK=2
+val SCE_ABAQUS_NUMBER=3
+val SCE_ABAQUS_STRING=4
+val SCE_ABAQUS_OPERATOR=5
+val SCE_ABAQUS_WORD=6
+val SCE_ABAQUS_PROCESSOR=7
+val SCE_ABAQUS_COMMAND=8
+val SCE_ABAQUS_SLASHCOMMAND=9
+val SCE_ABAQUS_STARCOMMAND=10
+val SCE_ABAQUS_ARGUMENT=11
+val SCE_ABAQUS_FUNCTION=12
# Events
diff --git a/macosx/makefile b/macosx/makefile
index 41c507124..6839fe9a8 100644
--- a/macosx/makefile
+++ b/macosx/makefile
@@ -53,16 +53,16 @@ endif
#++Autogenerated -- run src/LexGen.py to regenerate
#**LEXOBJS=\\\n\(\*.o \)
LEXOBJS=\
-LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexAU3.o LexAVE.o LexBaan.o LexBash.o \
-LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o 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 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 LexProgress.o LexPS.o \
-LexPython.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
+LexAbaqus.o LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexAU3.o LexAVE.o LexBaan.o \
+LexBash.o LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o 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 \
+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 LexProgress.o \
+LexPS.o LexPython.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/KeyWords.cxx b/src/KeyWords.cxx
index 9921c4ccb..6eb217104 100644
--- a/src/KeyWords.cxx
+++ b/src/KeyWords.cxx
@@ -141,6 +141,7 @@ int Scintilla_LinkLexers() {
//++Autogenerated -- run src/LexGen.py to regenerate
//**\(\tLINK_LEXER(\*);\n\)
+ LINK_LEXER(lmAbaqus);
LINK_LEXER(lmAda);
LINK_LEXER(lmAns1);
LINK_LEXER(lmAPDL);
diff --git a/src/LexAbaqus.cxx b/src/LexAbaqus.cxx
new file mode 100644
index 000000000..194b84c51
--- /dev/null
+++ b/src/LexAbaqus.cxx
@@ -0,0 +1,260 @@
+// Scintilla source code edit control
+/** @file LexABAQUS.cxx
+ ** Lexer for ABAQUS. Based on the lexer for APDL by Hadar Raz.
+ ** By Sergio Lucato.
+ **/
+// The License.txt file describes the conditions under which this software may be distributed.
+
+// Code folding copyied and modified from LexBasic.cxx
+
+#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(const int ch) {
+ return (ch < 0x80 && (isalnum(ch) || ch == '_'));
+}
+
+static inline bool IsAnOperator(char ch) {
+ // '.' left out as it is used to make up numbers
+ if (ch == '*' || ch == '/' || ch == '-' || ch == '+' ||
+ ch == '(' || ch == ')' || ch == '=' || ch == '^' ||
+ ch == '[' || ch == ']' || ch == '<' || ch == '&' ||
+ ch == '>' || ch == ',' || ch == '|' || ch == '~' ||
+ ch == '$' || ch == ':' || ch == '%')
+ return true;
+ return false;
+}
+
+static void ColouriseABAQUSDoc(unsigned int startPos, int length, int initStyle, WordList *keywordlists[],
+ Accessor &styler) {
+
+ int stringStart = ' ';
+
+ WordList &processors = *keywordlists[0];
+ WordList &commands = *keywordlists[1];
+ WordList &slashcommands = *keywordlists[2];
+ WordList &starcommands = *keywordlists[3];
+ WordList &arguments = *keywordlists[4];
+ WordList &functions = *keywordlists[5];
+
+ // Do not leak onto next line
+ initStyle = SCE_ABAQUS_DEFAULT;
+ StyleContext sc(startPos, length, initStyle, styler);
+
+ for (; sc.More(); sc.Forward()) {
+ // Determine if the current state should terminate.
+ if (sc.state == SCE_ABAQUS_NUMBER) {
+ if (!(IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') ||
+ ((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) {
+ sc.SetState(SCE_ABAQUS_DEFAULT);
+ }
+ } else if (sc.state == SCE_ABAQUS_COMMENT) {
+ if (sc.atLineEnd) {
+ sc.SetState(SCE_ABAQUS_DEFAULT);
+ }
+ } else if (sc.state == SCE_ABAQUS_COMMENTBLOCK) {
+ if (sc.atLineEnd) {
+ if (sc.ch == '\r') {
+ sc.Forward();
+ }
+ sc.ForwardSetState(SCE_ABAQUS_DEFAULT);
+ }
+ } else if (sc.state == SCE_ABAQUS_STRING) {
+ if (sc.atLineEnd) {
+ sc.SetState(SCE_ABAQUS_DEFAULT);
+ } else if ((sc.ch == '\'' && stringStart == '\'') || (sc.ch == '\"' && stringStart == '\"')) {
+ sc.ForwardSetState(SCE_ABAQUS_DEFAULT);
+ }
+ } else if (sc.state == SCE_ABAQUS_WORD) {
+ if (!IsAWordChar(sc.ch)) {
+ char s[100];
+ sc.GetCurrentLowered(s, sizeof(s));
+ if (processors.InList(s)) {
+ sc.ChangeState(SCE_ABAQUS_PROCESSOR);
+ } else if (slashcommands.InList(s)) {
+ sc.ChangeState(SCE_ABAQUS_SLASHCOMMAND);
+ } else if (starcommands.InList(s)) {
+ sc.ChangeState(SCE_ABAQUS_STARCOMMAND);
+ } else if (commands.InList(s)) {
+ sc.ChangeState(SCE_ABAQUS_COMMAND);
+ } else if (arguments.InList(s)) {
+ sc.ChangeState(SCE_ABAQUS_ARGUMENT);
+ } else if (functions.InList(s)) {
+ sc.ChangeState(SCE_ABAQUS_FUNCTION);
+ }
+ sc.SetState(SCE_ABAQUS_DEFAULT);
+ }
+ } else if (sc.state == SCE_ABAQUS_OPERATOR) {
+ if (!IsAnOperator(static_cast<char>(sc.ch))) {
+ sc.SetState(SCE_ABAQUS_DEFAULT);
+ }
+ }
+
+ // Determine if a new state should be entered.
+ if (sc.state == SCE_ABAQUS_DEFAULT) {
+ if (sc.ch == '*' && sc.chNext == '*') {
+ sc.SetState(SCE_ABAQUS_COMMENTBLOCK);
+ } else if (sc.ch == '!') {
+ sc.SetState(SCE_ABAQUS_COMMENT);
+ } else if (IsADigit(sc.ch) || (sc.ch == '.' && IsADigit(sc.chNext))) {
+ sc.SetState(SCE_ABAQUS_NUMBER);
+ } else if (sc.ch == '\'' || sc.ch == '\"') {
+ sc.SetState(SCE_ABAQUS_STRING);
+ stringStart = sc.ch;
+ } else if (IsAWordChar(sc.ch) || ((sc.ch == '*' || sc.ch == '/') && !isgraph(sc.chPrev))) {
+ sc.SetState(SCE_ABAQUS_WORD);
+ } else if (IsAnOperator(static_cast<char>(sc.ch))) {
+ sc.SetState(SCE_ABAQUS_OPERATOR);
+ }
+ }
+ }
+ sc.Complete();
+}
+
+//------------------------------------------------------------------------------
+// This copyied and modified from LexBasic.cxx
+//------------------------------------------------------------------------------
+
+/* Bits:
+ * 1 - whitespace
+ * 2 - operator
+ * 4 - identifier
+ * 8 - decimal digit
+ * 16 - hex digit
+ * 32 - bin digit
+ */
+static int character_classification[128] =
+{
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 2, 0, 2, 2, 2, 2, 2, 2, 2, 6, 2, 2, 2, 10, 6,
+ 60, 60, 28, 28, 28, 28, 28, 28, 28, 28, 2, 2, 2, 2, 2, 2,
+ 2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 4,
+ 2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0
+};
+
+static bool IsSpace(int c) {
+ return c < 128 && (character_classification[c] & 1);
+}
+
+static bool IsIdentifier(int c) {
+ return c < 128 && (character_classification[c] & 4);
+}
+
+static int LowerCase(int c)
+{
+ if (c >= 'A' && c <= 'Z')
+ return 'a' + c - 'A';
+ return c;
+}
+
+static int CheckABAQUSFoldPoint(char const *token, int &level) {
+ if (!strcmp(token, "*step") ||
+ !strcmp(token, "*part") ||
+ !strcmp(token, "*instance") ||
+ !strcmp(token, "*assembly") ||
+ !strcmp(token, "***region") ) {
+ level |= SC_FOLDLEVELHEADERFLAG;
+ return 1;
+ }
+ if (!strcmp(token, "*end step") ||
+ !strcmp(token, "*end part") ||
+ !strcmp(token, "*end instance") ||
+ !strcmp(token, "*end assembly") ||
+ !strcmp(token, "***end region") ) {
+ return -1;
+ }
+ return 0;
+}
+
+static void FoldABAQUSDoc(unsigned int startPos, int length, int,
+ WordList *[], Accessor &styler) {
+
+ int line = styler.GetLine(startPos);
+ int level = styler.LevelAt(line);
+ int go = 0, done = 0;
+ int endPos = startPos + length;
+ char word[256];
+ int wordlen = 0;
+ int i;
+ bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0;
+ // Scan for tokens at the start of the line (they may include
+ // whitespace, for tokens like "End Function"
+ for (i = startPos; i < endPos; i++) {
+ int c = styler.SafeGetCharAt(i);
+ if (!done && !go) {
+ if (wordlen) { // are we scanning a token already?
+ word[wordlen] = static_cast<char>(LowerCase(c));
+ if (!IsIdentifier(c)) { // done with token
+ word[wordlen] = '\0';
+ go = CheckABAQUSFoldPoint(word, level);
+ if (!go) {
+ // Treat any whitespace as single blank, for
+ // things like "End Function".
+ if (IsSpace(c) && IsIdentifier(word[wordlen - 1])) {
+ word[wordlen] = ' ';
+ if (wordlen < 255)
+ wordlen++;
+ }
+ else // done with this line
+ done = 1;
+ }
+ } else if (wordlen < 255) {
+ wordlen++;
+ }
+ } else { // start scanning at first non-whitespace character
+ if (!IsSpace(c)) {
+ if (IsIdentifier(c)) {
+ word[0] = static_cast<char>(LowerCase(c));
+ wordlen = 1;
+ } else // done with this line
+ done = 1;
+ }
+ }
+ }
+ if (c == '\n') { // line end
+ if (!done && wordlen == 0 && foldCompact) // line was only space
+ level |= SC_FOLDLEVELWHITEFLAG;
+ if (level != styler.LevelAt(line))
+ styler.SetLevel(line, level);
+ level += go;
+ line++;
+ // reset state
+ wordlen = 0;
+ level &= ~SC_FOLDLEVELHEADERFLAG;
+ level &= ~SC_FOLDLEVELWHITEFLAG;
+ go = 0;
+ done = 0;
+ }
+ }
+}
+
+static const char * const abaqusWordListDesc[] = {
+ "processors",
+ "commands",
+ "slashommands",
+ "starcommands",
+ "arguments",
+ "functions",
+ 0
+};
+
+LexerModule lmAbaqus(SCLEX_ABAQUS, ColouriseABAQUSDoc, "abaqus", FoldABAQUSDoc, abaqusWordListDesc);
diff --git a/vcbuild/SciLexer.dsp b/vcbuild/SciLexer.dsp
index 1d9eb2f7f..9e18606ee 100644
--- a/vcbuild/SciLexer.dsp
+++ b/vcbuild/SciLexer.dsp
@@ -146,6 +146,10 @@ SOURCE=..\src\KeyWords.cxx
# End Source File
# Begin Source File
+SOURCE=..\src\LexAbaqus.cxx
+# End Source File
+# Begin Source File
+
SOURCE=..\src\LexAda.cxx
# End Source File
# Begin Source File
diff --git a/win32/makefile b/win32/makefile
index ada43f7ad..70127fc5e 100644
--- a/win32/makefile
+++ b/win32/makefile
@@ -51,16 +51,16 @@ deps:
#++Autogenerated -- run src/LexGen.py to regenerate
#**LEXOBJS=\\\n\(\*.o \)
LEXOBJS=\
-LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexAU3.o LexAVE.o LexBaan.o LexBash.o \
-LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o 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 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 LexProgress.o LexPS.o \
-LexPython.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
+LexAbaqus.o LexAda.o LexAPDL.o LexAsm.o LexAsn1.o LexAU3.o LexAVE.o LexBaan.o \
+LexBash.o LexBasic.o LexBullant.o LexCaml.o LexCLW.o LexCmake.o 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 \
+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 LexProgress.o \
+LexPS.o LexPython.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 f19254df6..3d78effa0 100644
--- a/win32/scintilla.mak
+++ b/win32/scintilla.mak
@@ -113,6 +113,7 @@ SOBJS=\
#++Autogenerated -- run src/LexGen.py to regenerate
#**LEXOBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
LEXOBJS=\
+ $(DIR_O)\LexAbaqus.obj \
$(DIR_O)\LexAda.obj \
$(DIR_O)\LexAPDL.obj \
$(DIR_O)\LexAsm.obj \
@@ -300,6 +301,8 @@ $(DIR_O)\KeyWords.obj: ../src/KeyWords.cxx ../include/Platform.h \
#++Autogenerated -- run src/LexGen.py to regenerate
#**\n\($(DIR_O)\\\*.obj: ..\\src\\\*.cxx $(LEX_HEADERS)\n\n\)
+$(DIR_O)\LexAbaqus.obj: ..\src\LexAbaqus.cxx $(LEX_HEADERS)
+
$(DIR_O)\LexAda.obj: ..\src\LexAda.cxx $(LEX_HEADERS)
$(DIR_O)\LexAPDL.obj: ..\src\LexAPDL.cxx $(LEX_HEADERS)
diff --git a/win32/scintilla_vc6.mak b/win32/scintilla_vc6.mak
index bfba439c1..e9ecdf5be 100644
--- a/win32/scintilla_vc6.mak
+++ b/win32/scintilla_vc6.mak
@@ -115,6 +115,7 @@ SOBJS=\
#++Autogenerated -- run src/LexGen.py to regenerate
#**LEXOBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
LEXOBJS=\
+ $(DIR_O)\LexAbaqus.obj \
$(DIR_O)\LexAda.obj \
$(DIR_O)\LexAPDL.obj \
$(DIR_O)\LexAsm.obj \
@@ -302,6 +303,8 @@ $(DIR_O)\KeyWords.obj: ../src/KeyWords.cxx ../include/Platform.h \
#++Autogenerated -- run src/LexGen.py to regenerate
#**\n\($(DIR_O)\\\*.obj: ..\\src\\\*.cxx $(LEX_HEADERS)\n\n\)
+$(DIR_O)\LexAbaqus.obj: ..\src\LexAbaqus.cxx $(LEX_HEADERS)
+
$(DIR_O)\LexAda.obj: ..\src\LexAda.cxx $(LEX_HEADERS)
$(DIR_O)\LexAPDL.obj: ..\src\LexAPDL.cxx $(LEX_HEADERS)