Skip to content

Commit cfb2e78

Browse files
authoredOct 5, 2021
JavaStackTrace: Added missing lookbehinds (#3116)
1 parent ede55b2 commit cfb2e78

File tree

4 files changed

+20
-17
lines changed

4 files changed

+20
-17
lines changed
 

‎components/prism-javastacktrace.js

+10-7
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ Prism.languages.javastacktrace = {
99
// Caused by: MidLevelException: LowLevelException
1010
// Suppressed: Resource$CloseFailException: Resource ID = 0
1111
'summary': {
12-
pattern: /^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,
12+
pattern: /^([\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,
13+
lookbehind: true,
1314
inside: {
1415
'keyword': {
15-
pattern: /^(\s*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,
16+
pattern: /^([\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,
1617
lookbehind: true
1718
},
1819

@@ -26,7 +27,7 @@ Prism.languages.javastacktrace = {
2627
lookbehind: true,
2728
inside: {
2829
'class-name': /[\w$]+(?=$|:)/,
29-
'namespace': /[a-z]\w*/,
30+
'namespace': /\b[a-z]\w*\b/,
3031
'punctuation': /[.:]/
3132
}
3233
},
@@ -61,7 +62,8 @@ Prism.languages.javastacktrace = {
6162
// https://github.com/matcdac/jdk/blob/2305df71d1b7710266ae0956d73927a225132c0f/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java#L1108
6263
// However, to keep this simple, a version will be matched by the pattern /@[\w$.+-]*/.
6364
'stack-frame': {
64-
pattern: /^[\t ]*at (?:[\w$./]|@[\w$.+-]*\/)+(?:<init>)?\([^()]*\)/m,
65+
pattern: /^([\t ]*)at (?:[\w$./]|@[\w$.+-]*\/)+(?:<init>)?\([^()]*\)/m,
66+
lookbehind: true,
6567
inside: {
6668
'keyword': {
6769
pattern: /^(\s*)at(?= )/,
@@ -77,7 +79,7 @@ Prism.languages.javastacktrace = {
7779
'file': /^\w+\.\w+/,
7880
'punctuation': /:/,
7981
'line-number': {
80-
pattern: /\d+/,
82+
pattern: /\b\d+\b/,
8183
alias: 'number'
8284
}
8385
}
@@ -116,7 +118,7 @@ Prism.languages.javastacktrace = {
116118
}
117119
},
118120
'namespace': {
119-
pattern: /(?:[a-z]\w*\.)+/,
121+
pattern: /(?:\b[a-z]\w*\.)+/,
120122
inside: {
121123
'punctuation': /\./
122124
}
@@ -128,7 +130,8 @@ Prism.languages.javastacktrace = {
128130
// ... 32 more
129131
// ... 32 common frames omitted
130132
'more': {
131-
pattern: /^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m,
133+
pattern: /^([\t ]*)\.{3} \d+ [a-z]+(?: [a-z]+)*/m,
134+
lookbehind: true,
132135
inside: {
133136
'punctuation': /\.{3}/,
134137
'number': /\d+/,

‎components/prism-javastacktrace.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎tests/languages/log!+javastacktrace/_java_stack_trace_inclusion.test

+3-3
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer fi
7777
]],
7878
["punctuation", ")"]
7979
]],
80-
" ~[na:1.8.0_171]\r\n",
80+
" ~[na:1.8.0_171]\r\n\t",
8181

8282
["stack-frame", [
8383
["keyword", "at"],
@@ -100,7 +100,7 @@ Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer fi
100100
]],
101101
["punctuation", ")"]
102102
]],
103-
" ~[na:1.8.0_171]\r\n",
103+
" ~[na:1.8.0_171]\r\n\t",
104104

105105
["stack-frame", [
106106
["keyword", "at"],
@@ -123,7 +123,7 @@ Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer fi
123123
]],
124124
["punctuation", ")"]
125125
]],
126-
" ~[na:1.8.0_171]\r\n",
126+
" ~[na:1.8.0_171]\r\n\t",
127127

128128
["stack-frame", [
129129
["keyword", "at"],

‎tests/languages/log!+javastacktrace/_minecraft_javastacktrace_inclusion.test

+6-6
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ net.minecraftforge.fml.common.MissingModsException: Mod thaumcraft (Thaumcraft)
259259
]],
260260
["punctuation", ")"]
261261
]],
262-
" ~[Loader.class:?]\r\n",
262+
" ~[Loader.class:?]\r\n\t",
263263

264264
["stack-frame", [
265265
["keyword", "at"],
@@ -284,7 +284,7 @@ net.minecraftforge.fml.common.MissingModsException: Mod thaumcraft (Thaumcraft)
284284
]],
285285
["punctuation", ")"]
286286
]],
287-
" ~[Loader.class:?]\r\n",
287+
" ~[Loader.class:?]\r\n\t",
288288

289289
["stack-frame", [
290290
["keyword", "at"],
@@ -309,7 +309,7 @@ net.minecraftforge.fml.common.MissingModsException: Mod thaumcraft (Thaumcraft)
309309
]],
310310
["punctuation", ")"]
311311
]],
312-
" ~[FMLServerHandler.class:?]\r\n",
312+
" ~[FMLServerHandler.class:?]\r\n\t",
313313

314314
["stack-frame", [
315315
["keyword", "at"],
@@ -334,7 +334,7 @@ net.minecraftforge.fml.common.MissingModsException: Mod thaumcraft (Thaumcraft)
334334
]],
335335
["punctuation", ")"]
336336
]],
337-
" ~[FMLCommonHandler.class:?]\r\n",
337+
" ~[FMLCommonHandler.class:?]\r\n\t",
338338

339339
["stack-frame", [
340340
["keyword", "at"],
@@ -359,7 +359,7 @@ net.minecraftforge.fml.common.MissingModsException: Mod thaumcraft (Thaumcraft)
359359
]],
360360
["punctuation", ")"]
361361
]],
362-
" ~[nz.class:?]\r\n",
362+
" ~[nz.class:?]\r\n\t",
363363

364364
["stack-frame", [
365365
["keyword", "at"],
@@ -382,7 +382,7 @@ net.minecraftforge.fml.common.MissingModsException: Mod thaumcraft (Thaumcraft)
382382
]],
383383
["punctuation", ")"]
384384
]],
385-
" [MinecraftServer.class:?]\r\n",
385+
" [MinecraftServer.class:?]\r\n\t",
386386

387387
["stack-frame", [
388388
["keyword", "at"],

0 commit comments

Comments
 (0)
Please sign in to comment.