aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/SciLexer.h1
-rw-r--r--include/Scintilla.iface1
-rw-r--r--src/LexOthers.cxx12
3 files changed, 14 insertions, 0 deletions
diff --git a/include/SciLexer.h b/include/SciLexer.h
index 0022606c2..70e374c48 100644
--- a/include/SciLexer.h
+++ b/include/SciLexer.h
@@ -262,6 +262,7 @@
#define SCE_ERR_PERL 6
#define SCE_ERR_NET 7
#define SCE_ERR_LUA 8
+#define SCE_ERR_CTAG 9
#define SCE_ERR_DIFF_CHANGED 10
#define SCE_ERR_DIFF_ADDITION 11
#define SCE_ERR_DIFF_DELETION 12
diff --git a/include/Scintilla.iface b/include/Scintilla.iface
index 8a4849025..a09a7c385 100644
--- a/include/Scintilla.iface
+++ b/include/Scintilla.iface
@@ -1604,6 +1604,7 @@ val SCE_ERR_BORLAND=5
val SCE_ERR_PERL=6
val SCE_ERR_NET=7
val SCE_ERR_LUA=8
+val SCE_ERR_CTAG=9
val SCE_ERR_DIFF_CHANGED=10
val SCE_ERR_DIFF_ADDITION=11
val SCE_ERR_DIFF_DELETION=12
diff --git a/src/LexOthers.cxx b/src/LexOthers.cxx
index 8a035089c..e964197db 100644
--- a/src/LexOthers.cxx
+++ b/src/LexOthers.cxx
@@ -388,6 +388,8 @@ static void ColouriseErrorListLine(
state = 1;
} else if ((state == 0) && (lineBuffer[i] == '(')) {
state = 10;
+ } else if ((state == 0) && (lineBuffer[i] == '\t')) {
+ state = 20;
} else if ((state == 1) && isdigit(lineBuffer[i])) {
state = 2;
} else if ((state == 2) && (lineBuffer[i] == ':')) {
@@ -408,12 +410,22 @@ static void ColouriseErrorListLine(
break;
} else if (((state == 11) || (state == 14)) && !((lineBuffer[i] == ' ') || isdigit(lineBuffer[i]))) {
state = 99;
+ } else if ((state == 20) && isdigit(lineBuffer[i])) {
+ state = 24;
+ break;
+ } else if ((state == 20) && ((lineBuffer[i] == '/') && (lineBuffer[i+1] == '^'))) {
+ state = 21;
+ } else if ((state == 21) && ((lineBuffer[i] == '$') && (lineBuffer[i+1] == '/'))) {
+ state = 22;
+ break;
}
}
if (state == 3) {
styler.ColourTo(endPos, SCE_ERR_GCC);
} else if ((state == 13) || (state == 14) || (state == 15)) {
styler.ColourTo(endPos, SCE_ERR_MS);
+ } else if ((state == 22) || (state == 24)) {
+ styler.ColourTo(endPos, SCE_ERR_CTAG);
} else {
styler.ColourTo(endPos, SCE_ERR_DEFAULT);
}