UNPKG

reprism

Version:

Modular Syntax highlighting for the web

38 lines (37 loc) 1.09 kB
export default { language: 'apl', init: Prism => { Prism.languages.apl = { comment: /(?:⍝|#[! ]).*$/m, string: { pattern: /'(?:[^'\r\n]|'')*'/, greedy: true, }, number: /¯?(?:\d*\.?\d+(?:e[]?\d+)?|¯|∞)(?:j¯?(?:\d*\.?\d+(?:e[]?\d+)?|¯|∞))?/i, statement: /:[A-Z][a-z][A-Za-z]*\b/, 'system-function': { pattern: /⎕[A-Z]+/i, alias: 'function', }, constant: /[⍬⌾#⎕⍞]/, function: /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/, 'monadic-operator': { pattern: /[\\\/⌿⍀¨⍨⌶&∥]/, alias: 'operator', }, 'dyadic-operator': { pattern: /[.⍣⍠⍤∘⌸@⌺]/, alias: 'operator', }, assignment: { pattern: /←/, alias: 'keyword', }, punctuation: /[\[;\]()◇⋄]/, dfn: { pattern: /[{}⍺⍵⍶⍹∇⍫:]/, alias: 'builtin', }, } }, }