diff options
Diffstat (limited to 'public/prism/prism-erlang.js')
| -rw-r--r-- | public/prism/prism-erlang.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/public/prism/prism-erlang.js b/public/prism/prism-erlang.js new file mode 100644 index 0000000..bfd4aa3 --- /dev/null +++ b/public/prism/prism-erlang.js @@ -0,0 +1,43 @@ +Prism.languages.erlang = { + comment: /%.+/, + string: { + pattern: /"(?:\\.|[^\\"\r\n])*"/, + greedy: true, + }, + 'quoted-function': { + pattern: /'(?:\\.|[^\\'\r\n])+'(?=\()/, + alias: 'function', + }, + 'quoted-atom': { + pattern: /'(?:\\.|[^\\'\r\n])+'/, + alias: 'atom', + }, + boolean: /\b(?:false|true)\b/, + keyword: /\b(?:after|case|catch|end|fun|if|of|receive|try|when)\b/, + number: [ + /\$\\?./, + /\b\d+#[a-z0-9]+/i, + /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, + ], + function: /\b[a-z][\w@]*(?=\()/, + variable: { + // Look-behind is used to prevent wrong highlighting of atoms containing "@" + pattern: /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/, + lookbehind: true, + }, + operator: [ + /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/, + { + // We don't want to match << + pattern: /(^|[^<])<(?!<)/, + lookbehind: true, + }, + { + // We don't want to match >> + pattern: /(^|[^>])>(?!>)/, + lookbehind: true, + }, + ], + atom: /\b[a-z][\w@]*/, + punctuation: /[()[\]{}:;,.#|]|<<|>>/, +}; |
