Skip to content

Commit 4f55052

Browse files
authoredJul 18, 2020
JS: Improved regex detection (#2465)
1 parent 16fbe3e commit 4f55052

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed
 

‎components/prism-javascript.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Prism.languages.javascript['class-name'][0].pattern = /(\b(?:class|interface|ext
2626

2727
Prism.languages.insertBefore('javascript', 'keyword', {
2828
'regex': {
29-
pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
29+
pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
3030
lookbehind: true,
3131
greedy: true
3232
},

‎components/prism-javascript.min.js

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

‎prism.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1468,7 +1468,7 @@ Prism.languages.javascript['class-name'][0].pattern = /(\b(?:class|interface|ext
14681468

14691469
Prism.languages.insertBefore('javascript', 'keyword', {
14701470
'regex': {
1471-
pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
1471+
pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
14721472
lookbehind: true,
14731473
greedy: true
14741474
},

‎tests/languages/javascript/regex_feature.test

+9-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
let a = /regex/m // comment
1313
let b = condition ? /regex/ : /another one/
14+
return /regex/;
15+
yield /regex/;
1416

1517
----------------------------------------------------
1618

@@ -38,7 +40,13 @@ let b = condition ? /regex/ : /another one/
3840
["operator", "?"],
3941
["regex", "/regex/"],
4042
["operator", ":"],
41-
["regex", "/another one/"]
43+
["regex", "/another one/"],
44+
["keyword", "return"],
45+
["regex", "/regex/"],
46+
["punctuation", ";"],
47+
["keyword", "yield"],
48+
["regex", "/regex/"],
49+
["punctuation", ";"]
4250
]
4351

4452
----------------------------------------------------

0 commit comments

Comments
 (0)
Please sign in to comment.