branch: master
commit 7001dce7252ec4a85f6613082223b13bd3ea6f58
Author: Jackson Ray Hamilton <[email protected]>
Commit: Jackson Ray Hamilton <[email protected]>
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)))))