You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.0 KiB
44 lines
1.0 KiB
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|begin|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': /[()[\]{}:;,.#|]|<<|>>/ |
|
|
|
};
|
|
|