Commit d4ee904e0e05ad2cd5bfd61539c56a599e2b20b6

Marius Schulz 2017-07-02T05:27:11

Allows uppercase prefixes in JS number literals (#1151) JavaScript allows both lowercase and uppercase prefixes in number literals. With this commit, `0X`, `0B`, and `0O` are now supported as well.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/components/prism-javascript.js b/components/prism-javascript.js
index 7d17a58..7245169 100644
--- a/components/prism-javascript.js
+++ b/components/prism-javascript.js
@@ -1,6 +1,6 @@
 Prism.languages.javascript = Prism.languages.extend('clike', {
 	'keyword': /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
-	'number': /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
+	'number': /\b-?(0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
 	// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
 	'function': /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,
 	'operator': /-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/
@@ -45,4 +45,4 @@ if (Prism.languages.markup) {
 	});
 }
 
-Prism.languages.js = Prism.languages.javascript;
\ No newline at end of file
+Prism.languages.js = Prism.languages.javascript;