diff options
Diffstat (limited to 'public/prism/prism-smalltalk.js')
| -rw-r--r-- | public/prism/prism-smalltalk.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/public/prism/prism-smalltalk.js b/public/prism/prism-smalltalk.js new file mode 100644 index 0000000..19f7fd8 --- /dev/null +++ b/public/prism/prism-smalltalk.js @@ -0,0 +1,38 @@ +Prism.languages.smalltalk = { + comment: { + pattern: /"(?:""|[^"])*"/, + greedy: true, + }, + char: { + pattern: /\$./, + greedy: true, + }, + string: { + pattern: /'(?:''|[^'])*'/, + greedy: true, + }, + symbol: /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i, + 'block-arguments': { + pattern: /(\[\s*):[^\[|]*\|/, + lookbehind: true, + 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: /[.;:?\[\](){}]/, +}; |
