Wolfram: Removed unmatchable punctuation variant (#3133)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
diff --git a/components/prism-wolfram.js b/components/prism-wolfram.js
index c206e96..fbd0716 100644
--- a/components/prism-wolfram.js
+++ b/components/prism-wolfram.js
@@ -7,7 +7,7 @@ Prism.languages.wolfram = {
},
'keyword': /\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,
'context': {
- pattern: /\w+`+\w*/,
+ pattern: /\b\w+`+\w*/,
alias: 'class-name'
},
'blank': {
@@ -21,7 +21,7 @@ Prism.languages.wolfram = {
'boolean': /\b(?:False|True)\b/,
'number': /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,
'operator': /\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
- 'punctuation': /[\|{}[\];(),.:]/
+ 'punctuation': /[{}[\];(),.:]/
};
Prism.languages.mathematica = Prism.languages.wolfram;
diff --git a/components/prism-wolfram.min.js b/components/prism-wolfram.min.js
index 1c25f81..03309bf 100644
--- a/components/prism-wolfram.min.js
+++ b/components/prism-wolfram.min.js
@@ -1 +1 @@
-Prism.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[\|{}[\];(),.:]/},Prism.languages.mathematica=Prism.languages.wolfram,Prism.languages.wl=Prism.languages.wolfram,Prism.languages.nb=Prism.languages.wolfram;
\ No newline at end of file
+Prism.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.mathematica=Prism.languages.wolfram,Prism.languages.wl=Prism.languages.wolfram,Prism.languages.nb=Prism.languages.wolfram;
\ No newline at end of file
diff --git a/tests/languages/wolfram/punctuation_feature.test b/tests/languages/wolfram/punctuation_feature.test
new file mode 100644
index 0000000..7391291
--- /dev/null
+++ b/tests/languages/wolfram/punctuation_feature.test
@@ -0,0 +1,18 @@
+{ } [ ] ( )
+, ; . :
+
+----------------------------------------------------
+
+[
+ ["punctuation", "{"],
+ ["punctuation", "}"],
+ ["punctuation", "["],
+ ["punctuation", "]"],
+ ["punctuation", "("],
+ ["punctuation", ")"],
+
+ ["punctuation", ","],
+ ["operator", ";"],
+ ["punctuation", "."],
+ ["punctuation", ":"]
+]