aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-smalltalk.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-smalltalk.js')
-rw-r--r--public/prism/prism-smalltalk.js38
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: /[.;:?\[\](){}]/,
+};