1 | Prism.languages.jsstacktrace = {
|
2 | 'error-message': {
|
3 | pattern: /^\S.*/m,
|
4 | alias: 'string'
|
5 | },
|
6 |
|
7 | 'stack-frame': {
|
8 | pattern: /^[ \t]+at[ \t]+.*/m,
|
9 | inside: {
|
10 | 'not-my-code': {
|
11 | pattern: /[ \t]+at[ \t]+(?:node\.js|\<unknown\>|.*(?:node_modules|\(\<anonymous\>\)|\(\<unknown\>|\<anonymous\>$|\(internal\/|\(node\.js)).*/m,
|
12 | alias: 'comment'
|
13 | },
|
14 |
|
15 | 'filename': {
|
16 | pattern: /(\bat\s+|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,
|
17 | lookbehind: true,
|
18 | alias: 'url'
|
19 | },
|
20 |
|
21 | 'function': {
|
22 | pattern: /(at\s+(?:new\s+)?)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,
|
23 | lookbehind: true,
|
24 | inside: {
|
25 | 'punctuation': /\./
|
26 | }
|
27 | },
|
28 |
|
29 | 'punctuation': /[()]/,
|
30 |
|
31 | 'keyword': /\b(?:at|new)\b/,
|
32 |
|
33 | 'alias': {
|
34 | pattern: /\[(?:as\s+)?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,
|
35 | alias: 'variable'
|
36 | },
|
37 |
|
38 | 'line-number': {
|
39 | pattern: /:[0-9]+(?::[0-9]+)?\b/,
|
40 | alias: 'number',
|
41 | inside: {
|
42 | 'punctuation': /:/
|
43 | }
|
44 | },
|
45 |
|
46 | }
|
47 | }
|
48 | }
|