aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/SciLexer.h1
-rw-r--r--include/Scintilla.iface1
-rw-r--r--src/LexOthers.cxx5
3 files changed, 7 insertions, 0 deletions
diff --git a/include/SciLexer.h b/include/SciLexer.h
index 1418b6da1..6fc85a341 100644
--- a/include/SciLexer.h
+++ b/include/SciLexer.h
@@ -318,6 +318,7 @@
#define SCE_ERR_IFORT 17
#define SCE_ERR_ABSF 18
#define SCE_ERR_TIDY 19
+#define SCE_ERR_JAVA_STACK 20
#define SCE_BAT_DEFAULT 0
#define SCE_BAT_COMMENT 1
#define SCE_BAT_WORD 2
diff --git a/include/Scintilla.iface b/include/Scintilla.iface
index 9427fc977..8fec74f66 100644
--- a/include/Scintilla.iface
+++ b/include/Scintilla.iface
@@ -2029,6 +2029,7 @@ val SCE_ERR_IFC=16
val SCE_ERR_IFORT=17
val SCE_ERR_ABSF=18
val SCE_ERR_TIDY=19
+val SCE_ERR_JAVA_STACK=20
# Lexical states for SCLEX_BATCH
lex Batch=SCLEX_BATCH SCE_BAT_
val SCE_BAT_DEFAULT=0
diff --git a/src/LexOthers.cxx b/src/LexOthers.cxx
index 1681ba5d4..7276efffd 100644
--- a/src/LexOthers.cxx
+++ b/src/LexOthers.cxx
@@ -523,6 +523,11 @@ static void ColouriseErrorListLine(
strstr(lineBuffer, ", file ")) {
// Essential Lahey Fortran error message
styler.ColourTo(endPos, SCE_ERR_ELF);
+ } else if (strstart(lineBuffer, "\tat ") &&
+ strstr(lineBuffer, "(") &&
+ strstr(lineBuffer, ".java:")) {
+ // Java stack back trace
+ styler.ColourTo(endPos, SCE_ERR_JAVA_STACK);
} else {
// Look for GCC <filename>:<line>:message
// Look for Microsoft <filename>(line) :message