Index: lib/src/prism/components/prism-j.js |
diff --git a/lib/src/prism/components/prism-j.js b/lib/src/prism/components/prism-j.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1d49f3b1916b8020a0c1fa678a480c619d94ff3b |
--- /dev/null |
+++ b/lib/src/prism/components/prism-j.js |
@@ -0,0 +1,22 @@ |
+Prism.languages.j = { |
+ 'comment': /\bNB\..*/, |
+ 'string': /'(?:''|[^'\r\n])*'/, |
+ 'keyword': /\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/, |
+ 'verb': { |
+ // Negative look-ahead prevents bad highlighting |
+ // of ^: ;. =. =: !. !: |
+ pattern: /(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[\^?]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/, |
+ alias: 'keyword' |
+ }, |
+ 'number': /\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_(?!\.))/, |
+ 'adverb': { |
+ pattern: /[~}]|[\/\\]\.?|[bfM]\.|t[.:]/, |
+ alias: 'builtin' |
+ }, |
+ 'operator': /[=a][.:]|_\./, |
+ 'conjunction': { |
+ pattern: /&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/, |
+ alias: 'variable' |
+ }, |
+ 'punctuation': /[()]/ |
+}; |