UNPKG

refractor

Version:

Lightweight, robust, elegant virtual syntax highlighting using Prism

39 lines (37 loc) 950 B
'use strict'; module.exports = smalltalk; smalltalk.displayName = 'smalltalk'; smalltalk.aliases = []; function smalltalk(Prism) { Prism.languages.smalltalk = { comment: /"(?:""|[^"])+"/, string: /'(?:''|[^'])+'/, 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(?:nil|true|false|self|super|new)\b/, character: { pattern: /\$./, alias: 'string' }, number: [ /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/, /(?:\B-|\b)\d+(?:\.\d+)?(?:e-?\d+)?/ ], operator: /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/, punctuation: /[.;:?\[\](){}]/ }; }