branch: master commit 7001dce7252ec4a85f6613082223b13bd3ea6f58 Author: Jackson Ray Hamilton <jack...@jacksonrayhamilton.com> Commit: Jackson Ray Hamilton <jack...@jacksonrayhamilton.com>
Use js2-node-top-level-decl-p as a fast track. --- context-coloring.el | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/context-coloring.el b/context-coloring.el index 283bddd..7005dcf 100644 --- a/context-coloring.el +++ b/context-coloring.el @@ -227,7 +227,6 @@ END (exclusive) with the face corresponding to LEVEL." ;;; js2-mode colorization -;; TODO: Consider `js2-node-top-level-decl-p' as an optimization. (defsubst context-coloring-js2-scope-level (scope) "Gets the level of SCOPE." (let ((level 0) @@ -244,6 +243,15 @@ END (exclusive) with the face corresponding to LEVEL." (setq scope enclosing-scope)) level)) +(defsubst context-coloring-js2-name-node-level (node) + (cond ((js2-node-top-level-decl-p node) + 0) + (t + (context-coloring-js2-scope-level + (js2-get-defining-scope + (js2-node-get-enclosing-scope node) + (js2-name-node-name node)))))) + (defsubst context-coloring-js2-local-name-node-p (node) "Determines if NODE is a js2-name-node representing a local variable." @@ -283,10 +291,7 @@ generated by js2-mode." ((context-coloring-js2-local-name-node-p node) (context-coloring-js2-colorize-node node - (context-coloring-js2-scope-level - (js2-get-defining-scope - (js2-node-get-enclosing-scope node) - (js2-name-node-name node)))))) + (context-coloring-js2-name-node-level node)))) ;; The `t' indicates to search children. t)))))