38 lines
801 B
JavaScript
38 lines
801 B
JavaScript
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': /[.;:?\[\](){}]/
|
|
};
|