Smalltalk: Allowed empty strings and comments (#1747) This fixes that empty strings and comments were not recognized in Smalltalk.
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
diff --git a/components/prism-smalltalk.js b/components/prism-smalltalk.js
index 77f80d3..f2075b1 100644
--- a/components/prism-smalltalk.js
+++ b/components/prism-smalltalk.js
@@ -1,6 +1,6 @@
Prism.languages.smalltalk = {
- 'comment': /"(?:""|[^"])+"/,
- 'string': /'(?:''|[^'])+'/,
+ 'comment': /"(?:""|[^"])*"/,
+ 'string': /'(?:''|[^'])*'/,
'symbol': /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
'block-arguments': {
pattern: /(\[\s*):[^\[|]*\|/,
@@ -28,4 +28,4 @@ Prism.languages.smalltalk = {
],
'operator': /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,
'punctuation': /[.;:?\[\](){}]/
-};
\ No newline at end of file
+};
diff --git a/components/prism-smalltalk.min.js b/components/prism-smalltalk.min.js
index 43ebb81..71a0777 100644
--- a/components/prism-smalltalk.min.js
+++ b/components/prism-smalltalk.min.js
@@ -1 +1 @@
-Prism.languages.smalltalk={comment:/"(?:""|[^"])+"/,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(?:nil|true|false|self|super|new)\b/,character:{pattern:/\$./,alias:"string"},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:/"(?:""|[^"])*"/,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(?:nil|true|false|self|super|new)\b/,character:{pattern:/\$./,alias:"string"},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/comment_feature.test b/tests/languages/smalltalk/comment_feature.test
index 844e7ba..4b0e125 100644
--- a/tests/languages/smalltalk/comment_feature.test
+++ b/tests/languages/smalltalk/comment_feature.test
@@ -1,14 +1,16 @@
"foobar"
"foo""bar
baz"
+""
----------------------------------------------------
[
["comment", "\"foobar\""],
- ["comment", "\"foo\"\"bar\r\nbaz\""]
+ ["comment", "\"foo\"\"bar\r\nbaz\""],
+ ["comment", "\"\""]
]
----------------------------------------------------
-Checks for comments.
\ No newline at end of file
+Checks for comments.
diff --git a/tests/languages/smalltalk/string_feature.test b/tests/languages/smalltalk/string_feature.test
index cd832dd..8eaeba1 100644
--- a/tests/languages/smalltalk/string_feature.test
+++ b/tests/languages/smalltalk/string_feature.test
@@ -1,14 +1,16 @@
'foobar'
'foo''bar
baz'
+''
----------------------------------------------------
[
["string", "'foobar'"],
- ["string", "'foo''bar\r\nbaz'"]
+ ["string", "'foo''bar\r\nbaz'"],
+ ["string", "''"]
]
----------------------------------------------------
-Checks for strings.
\ No newline at end of file
+Checks for strings.