diff --git a/lib/ace/mode/javascript_highlight_rules.js b/lib/ace/mode/javascript_highlight_rules.js index 46306409..5fc05192 100644 --- a/lib/ace/mode/javascript_highlight_rules.js +++ b/lib/ace/mode/javascript_highlight_rules.js @@ -80,6 +80,8 @@ var JavaScriptHighlightRules = function() { ("__parent__|__count__|escape|unescape|with|__proto__").split("|") ); + var definitions = lang.arrayToMap(("const|let|var|function").split("|")); + var buildinConstants = lang.arrayToMap( ("null|Infinity|NaN|undefined").split("|") ); @@ -134,7 +136,7 @@ var JavaScriptHighlightRules = function() { token : "constant.numeric", // float regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" }, { - token : ["keyword", "text", "entity.name.function"], + token : ["keyword.definition", "text", "entity.name.function"], regex : "(function)(\\s+)(" + identifierRe + ")" }, { token : "constant.language.boolean", @@ -149,6 +151,8 @@ var JavaScriptHighlightRules = function() { return "variable.language"; else if (deprecated.hasOwnProperty(value)) return "invalid.deprecated"; + else if (definitions.hasOwnProperty(value)) + return "keyword.definition"; else if (keywords.hasOwnProperty(value)) return "keyword"; else if (buildinConstants.hasOwnProperty(value))