UNPKG

refractor

Version:

Lightweight, robust, elegant virtual syntax highlighting using Prism

40 lines (38 loc) 1.07 kB
'use strict'; module.exports = apl; apl.displayName = 'apl'; apl.aliases = []; function apl(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' } }; }