Commit 6600faa9fbf96ab5c3f1b929572fa02720c76f9b

Golmote 2014-12-21T21:19:18

Fix quoted functions and atoms in erlang

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