Smalltalk: Use standard `char` token (#3255)
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
diff --git a/components/prism-smalltalk.js b/components/prism-smalltalk.js
index 2dbf08a..2e85765 100644
--- a/components/prism-smalltalk.js
+++ b/components/prism-smalltalk.js
@@ -1,10 +1,16 @@
Prism.languages.smalltalk = {
- 'comment': /"(?:""|[^"])*"/,
- 'character': {
+ 'comment': {
+ pattern: /"(?:""|[^"])*"/,
+ greedy: true
+ },
+ 'char': {
pattern: /\$./,
- alias: 'string'
+ greedy: true
+ },
+ 'string': {
+ pattern: /'(?:''|[^'])*'/,
+ greedy: true
},
- 'string': /'(?:''|[^'])*'/,
'symbol': /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
'block-arguments': {
pattern: /(\[\s*):[^\[|]*\|/,
diff --git a/components/prism-smalltalk.min.js b/components/prism-smalltalk.min.js
index 5deec21..32e3046 100644
--- a/components/prism-smalltalk.min.js
+++ b/components/prism-smalltalk.min.js
@@ -1 +1 @@
-Prism.languages.smalltalk={comment:/"(?:""|[^"])*"/,character:{pattern:/\$./,alias:"string"},string:/'(?:''|[^'])*'/,symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:!0,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:new|nil|self|super)\b/,boolean:/\b(?:false|true)\b/,number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/};
\ No newline at end of file
+Prism.languages.smalltalk={comment:{pattern:/"(?:""|[^"])*"/,greedy:!0},char:{pattern:/\$./,greedy:!0},string:{pattern:/'(?:''|[^'])*'/,greedy:!0},symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:!0,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:new|nil|self|super)\b/,boolean:/\b(?:false|true)\b/,number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/};
\ No newline at end of file
diff --git a/tests/languages/smalltalk/char_feature.test b/tests/languages/smalltalk/char_feature.test
new file mode 100644
index 0000000..6c3bd04
--- /dev/null
+++ b/tests/languages/smalltalk/char_feature.test
@@ -0,0 +1,17 @@
+$a
+$4
+$.
+$^
+
+----------------------------------------------------
+
+[
+ ["char", "$a"],
+ ["char", "$4"],
+ ["char", "$."],
+ ["char", "$^"]
+]
+
+----------------------------------------------------
+
+Checks for characters.
diff --git a/tests/languages/smalltalk/character_feature.test b/tests/languages/smalltalk/character_feature.test
deleted file mode 100644
index 096cf71..0000000
--- a/tests/languages/smalltalk/character_feature.test
+++ /dev/null
@@ -1,17 +0,0 @@
-$a
-$4
-$.
-$^
-
-----------------------------------------------------
-
-[
- ["character", "$a"],
- ["character", "$4"],
- ["character", "$."],
- ["character", "$^"]
-]
-
-----------------------------------------------------
-
-Checks for characters.
\ No newline at end of file
diff --git a/tests/languages/smalltalk/string_char_feature.test b/tests/languages/smalltalk/string_char_feature.test
new file mode 100644
index 0000000..4750cd2
--- /dev/null
+++ b/tests/languages/smalltalk/string_char_feature.test
@@ -0,0 +1,13 @@
+$'
+'foobar'
+
+----------------------------------------------------
+
+[
+ ["char", "$'"],
+ ["string", "'foobar'"]
+]
+
+----------------------------------------------------
+
+Checks a single-quote-character doesn't confuse string parsing.
diff --git a/tests/languages/smalltalk/string_character_feature.test b/tests/languages/smalltalk/string_character_feature.test
deleted file mode 100644
index 83e057c..0000000
--- a/tests/languages/smalltalk/string_character_feature.test
+++ /dev/null
@@ -1,13 +0,0 @@
-$'
-'foobar'
-
-----------------------------------------------------
-
-[
- ["character", "$'"],
- ["string", "'foobar'"]
-]
-
-----------------------------------------------------
-
-Checks a single-quote-character doesn't confuse string parsing.