diff --git a/lib/ace/mode/json_highlight_rules.js b/lib/ace/mode/json_highlight_rules.js index 8e4dbdcf..5a039869 100644 --- a/lib/ace/mode/json_highlight_rules.js +++ b/lib/ace/mode/json_highlight_rules.js @@ -49,8 +49,12 @@ var JsonHighlightRules = function() { this.$rules = { "start" : [ { + token : "variable", // single line + regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)' + }, { token : "string", // single line - regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' + regex : '"', + next : "string" }, { token : "constant.numeric", // hex regex : "0[xX][0-9a-fA-F]+\\b" @@ -76,6 +80,26 @@ var JsonHighlightRules = function() { token : "text", regex : "\\s+" } + ], + "string" : [ + { + token : "constant.language.escape", + regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/ + }, { + token : "string", + regex : '[^"\\\\]+', + merge : true + }, { + token : "string", + regex : '"', + next : "start", + merge : true + }, { + token : "string", + regex : "", + next : "start", + merge : true + } ] };