Index: lib/src/prism/components/prism-apl.js |
diff --git a/lib/src/prism/components/prism-apl.js b/lib/src/prism/components/prism-apl.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9218331b36368605e24bf190d7b18ab0acf0b2d1 |
--- /dev/null |
+++ b/lib/src/prism/components/prism-apl.js |
@@ -0,0 +1,29 @@ |
+Prism.languages.apl = { |
+ 'comment': /(?:⍝|#[! ]).*$/m, |
+ 'string': /'(?:[^'\r\n]|'')*'/, |
+ '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' |
+ } |
+}; |