From e92ed07a1992a69fa5c2046373a173b89c451210 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 24 Aug 2012 09:55:12 +0400 Subject: [PATCH] simpler regexp for js identifiers non identifier chars in \u00a1-\uffff range are errors anyway so they can be highlighted either as operator or as identifier using this instead of detailed unicode regexps reduces parse time by ~3x, and gives the same result for any valid js --- lib/ace/mode/javascript_highlight_rules.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/ace/mode/javascript_highlight_rules.js b/lib/ace/mode/javascript_highlight_rules.js index ad3efba8..c45186c5 100644 --- a/lib/ace/mode/javascript_highlight_rules.js +++ b/lib/ace/mode/javascript_highlight_rules.js @@ -93,11 +93,7 @@ var JavaScriptHighlightRules = function() { ); // TODO: Unicode escape sequences - var identifierRe = "[" + unicode.packages.L + "\\$_][" - + unicode.packages.L - + unicode.packages.Mn + unicode.packages.Mc - + unicode.packages.Nd - + unicode.packages.Pc + "\\$_]*\\b"; + var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\d\\$_\u00a1-\uffff]*\\b"; var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex "u[0-9a-fA-F]{4}|" + // unicode