aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-erlang.js
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2021-12-30 19:47:21 +0100
committerArmand Philippot <git@armandphilippot.com>2021-12-30 19:47:21 +0100
commita98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 (patch)
tree542810ab5aef99150db228bb54fd58303dcb31c7 /public/prism/prism-erlang.js
parentab355897a12b7bda1089a44de326d41455a0f7a3 (diff)
chore: add prismjs for syntax highlighting
Diffstat (limited to 'public/prism/prism-erlang.js')
-rw-r--r--public/prism/prism-erlang.js43
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: /[()[\]{}:;,.#|]|<<|>>/,
+};