Commit 5fd7577a78580e8247ff344e5518cafb7bb746f8

Michael Schmidt 2019-02-28T19:52:06

Smalltalk: Allowed empty strings and comments (#1747) This fixes that empty strings and comments were not recognized in Smalltalk.

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.