JSON: Regexp optimisation + don't use captures if not needed
diff --git a/components/prism-json.js b/components/prism-json.js
index 90c2598..f5d2793 100644
--- a/components/prism-json.js
+++ b/components/prism-json.js
@@ -1,14 +1,14 @@
Prism.languages.json = {
- 'property': /"(?:\\.|[^\\"])*"(?=\s*:)/ig,
+ 'property': /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i,
'string': {
- pattern: /"(?:\\.|[^\\"])*"(?!:)/g,
+ pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
greedy: true
},
- 'number': /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?)\b/g,
- 'punctuation': /[{}[\]);,]/g,
+ 'number': /\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee][+-]?\d+)?)\b/,
+ 'punctuation': /[{}[\]);,]/,
'operator': /:/g,
- 'boolean': /\b(true|false)\b/gi,
- 'null': /\bnull\b/gi
+ 'boolean': /\b(?:true|false)\b/i,
+ 'null': /\bnull\b/i
};
Prism.languages.jsonp = Prism.languages.json;
diff --git a/components/prism-json.min.js b/components/prism-json.min.js
index 8a8623c..53c922d 100644
--- a/components/prism-json.min.js
+++ b/components/prism-json.min.js
@@ -1 +1 @@
-Prism.languages.json={property:/"(?:\\.|[^\\"])*"(?=\s*:)/gi,string:{pattern:/"(?:\\.|[^\\"])*"(?!:)/g,greedy:!0},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?)\b/g,punctuation:/[{}[\]);,]/g,operator:/:/g,"boolean":/\b(true|false)\b/gi,"null":/\bnull\b/gi},Prism.languages.jsonp=Prism.languages.json;
\ No newline at end of file
+Prism.languages.json={property:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i,string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},number:/\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee][+-]?\d+)?)\b/,punctuation:/[{}[\]);,]/,operator:/:/g,"boolean":/\b(?:true|false)\b/i,"null":/\bnull\b/i},Prism.languages.jsonp=Prism.languages.json;
\ No newline at end of file