1 | Prism.languages.smalltalk = {
|
2 | 'comment': /"(?:""|[^"])*"/,
|
3 | 'character': {
|
4 | pattern: /\$./,
|
5 | alias: 'string'
|
6 | },
|
7 | 'string': /'(?:''|[^'])*'/,
|
8 | 'symbol': /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
|
9 | 'block-arguments': {
|
10 | pattern: /(\[\s*):[^\[|]*\|/,
|
11 | lookbehind: true,
|
12 | inside: {
|
13 | 'variable': /:[\da-z]+/i,
|
14 | 'punctuation': /\|/
|
15 | }
|
16 | },
|
17 | 'temporary-variables': {
|
18 | pattern: /\|[^|]+\|/,
|
19 | inside: {
|
20 | 'variable': /[\da-z]+/i,
|
21 | 'punctuation': /\|/
|
22 | }
|
23 | },
|
24 | 'keyword': /\b(?:nil|true|false|self|super|new)\b/,
|
25 | 'number': [
|
26 | /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,
|
27 | /\b\d+(?:\.\d+)?(?:e-?\d+)?/
|
28 | ],
|
29 | 'operator': /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,
|
30 | 'punctuation': /[.;:?\[\](){}]/
|
31 | };
|