UNPKG

refractor

Version:

Lightweight, robust, elegant virtual syntax highlighting using Prism

49 lines (47 loc) 1.11 kB
// @ts-nocheck /** * @import {Refractor} from '../lib/core.js' */ smalltalk.displayName = 'smalltalk' smalltalk.aliases = [] /** @param {Refractor} Prism */ export default function smalltalk(Prism) { 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: /[.;:?\[\](){}]/ } }