diff --git a/components/prism-smalltalk.js b/components/prism-smalltalk.js index 2dbf08a30b..2e85765224 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 5deec21e65..32e30465c0 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/character_feature.test b/tests/languages/smalltalk/char_feature.test similarity index 50% rename from tests/languages/smalltalk/character_feature.test rename to tests/languages/smalltalk/char_feature.test index 096cf713b4..6c3bd04b7d 100644 --- a/tests/languages/smalltalk/character_feature.test +++ b/tests/languages/smalltalk/char_feature.test @@ -1,17 +1,17 @@ -$a -$4 -$. -$^ - ----------------------------------------------------- - -[ - ["character", "$a"], - ["character", "$4"], - ["character", "$."], - ["character", "$^"] -] - ----------------------------------------------------- - -Checks for characters. \ No newline at end of file +$a +$4 +$. +$^ + +---------------------------------------------------- + +[ + ["char", "$a"], + ["char", "$4"], + ["char", "$."], + ["char", "$^"] +] + +---------------------------------------------------- + +Checks for characters. diff --git a/tests/languages/smalltalk/string_character_feature.test b/tests/languages/smalltalk/string_char_feature.test similarity index 85% rename from tests/languages/smalltalk/string_character_feature.test rename to tests/languages/smalltalk/string_char_feature.test index 83e057c464..4750cd2e1f 100644 --- a/tests/languages/smalltalk/string_character_feature.test +++ b/tests/languages/smalltalk/string_char_feature.test @@ -1,13 +1,13 @@ -$' -'foobar' - ----------------------------------------------------- - -[ - ["character", "$'"], - ["string", "'foobar'"] -] - ----------------------------------------------------- - -Checks a single-quote-character doesn't confuse string parsing. +$' +'foobar' + +---------------------------------------------------- + +[ + ["char", "$'"], + ["string", "'foobar'"] +] + +---------------------------------------------------- + +Checks a single-quote-character doesn't confuse string parsing.