emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 01/46: Add support for React classes in js2-imenu-extras


From: Dmitry Gutov
Subject: [elpa] 01/46: Add support for React classes in js2-imenu-extras
Date: Sat, 15 Nov 2014 20:57:54 +0000

dgutov pushed a commit to branch master
in repository elpa.

commit 866bd16dee71857299d4acd9f4b2c7be5b2f30c5
Author: John Mastro <address@hidden>
Date:   Sun Jan 19 12:29:17 2014 -0800

    Add support for React classes in js2-imenu-extras
    
    Reuse the recorder function already present for Backbone extends. Rename
    that function to js2-imenu-record-backbone-or-react and define
    js2-imenu-record-backbone-extend and js2-imenu-record-react-class as
    aliases of it.
---
 js2-imenu-extras.el |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/js2-imenu-extras.el b/js2-imenu-extras.el
index 3052caf..19f2b51 100644
--- a/js2-imenu-extras.el
+++ b/js2-imenu-extras.el
@@ -56,7 +56,11 @@
 
     (:framework enyo
      :call-re   "\\_<enyo\\.kind\\s-*("
-     :recorder  js2-imenu-record-enyo-kind))
+     :recorder  js2-imenu-record-enyo-kind)
+
+    (:framework react
+     :call-re "\\_<React\\.createClass\\s-*("
+     :recorder js2-imenu-record-react-class))
   "List of JavaScript class definition or extension styles.
 
 :framework is a valid value in `js2-imenu-enabled-frameworks'.
@@ -158,7 +162,7 @@ Currently used for jQuery widgets, Dojo and Enyo 
declarations."
             do (js2-record-object-literal
                 arg (funcall qname-fn subject) (js2-node-abs-pos arg))))))
 
-(defun js2-imenu-record-backbone-extend ()
+(defun js2-imenu-record-backbone-or-react ()
   (let* ((node (js2-node-at-point (1- (point))))
          (args (js2-call-node-args node))
          (methods (first args))
@@ -173,6 +177,10 @@ Currently used for jQuery widgets, Dojo and Enyo 
declarations."
                                      (js2-compute-nested-prop-get subject)
                                      (js2-node-abs-pos methods)))))))
 
+(defalias 'js2-imenu-record-backbone-extend 
'js2-imenu-record-backbone-or-react)
+
+(defalias 'js2-imenu-record-react-class 'js2-imenu-record-backbone-or-react)
+
 (defun js2-imenu-record-enyo-kind ()
   (let* ((node (js2-node-at-point (1- (point))))
          (args (js2-call-node-args node))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]