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