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.
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;