Fix quoted functions and atoms in erlang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
diff --git a/components/prism-erlang.js b/components/prism-erlang.js
index 77adbd3..deea6aa 100644
--- a/components/prism-erlang.js
+++ b/components/prism-erlang.js
@@ -1,23 +1,23 @@
Prism.languages.erlang = {
'comment': /%.+/,
'string': /"(?:\\?.)*?"/,
+ 'quoted-function': {
+ pattern: /'[^']+'(?=\()/,
+ alias: 'function'
+ },
'quoted-atom': {
pattern: /'[^']+'/,
alias: 'atom'
},
'boolean': /\b(?:true|false)\b/,
'keyword': /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,
- 'function': /(?:\b[a-z][\w@]*|'[^']+')(?=\()/,
- 'variable': /(?:\b|\?)[A-Z_][\w@]*/,
- 'atom': {
- pattern: /(^|(?!\$).)\b[a-z][\w@]*/,
- lookbehind: true
- },
'number': [
/\$\\?./,
/\d+#[a-z0-9]+/i,
/(?:\b|-)\d*\.?\d+([Ee][+-]?\d+)?\b/
],
+ 'function': /\b[a-z][\w@]*(?=\()/,
+ 'variable': /(?:\b|\?)[A-Z_][\w@]*/,
'operator': [
/[=\/>:]=|>=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,
{
@@ -29,6 +29,7 @@ Prism.languages.erlang = {
lookbehind: true
}
],
+ 'atom': /\b[a-z][\w@]*/,
'punctuation': /[()[\]{}:;,.#|]|<<|>>/
};
\ No newline at end of file