:type 'boolean\r
:group 'js2-imenu)\r
\r
+(defcustom js2-imenu-split-string-identifiers t\r
+ "When non-nil, split string identifiers on dots.\r
+Currently used for jQuery widgets, Dojo and Enyo declarations."\r
+ :type 'boolean\r
+ :group 'js2-imenu)\r
+\r
;;;###autoload\r
(defun js2-imenu-extras-setup ()\r
(when js2-imenu-enabled-frameworks\r
(defun js2-imenu-record-string-declare ()\r
(js2-imenu-record-extend-first-arg\r
(1- (point)) 'js2-string-node-p\r
- (lambda (node) (split-string (js2-string-node-value node) "\\." t))))\r
+ (lambda (node)\r
+ (if js2-imenu-split-string-identifiers\r
+ (split-string (js2-string-node-value node) "\\." t)\r
+ (list (js2-string-node-value node))))))\r
\r
(defun js2-imenu-record-extend-first-arg (point pred qname-fn)\r
(let* ((node (js2-node-at-point point))\r
(js2-string-node-p value))\r
(js2-string-node-value value))))))\r
(when name-value\r
- (js2-record-object-literal options (split-string name-value "\\.")\r
+ (js2-record-object-literal options\r
+ (if js2-imenu-split-string-identifiers\r
+ (split-string name-value "\\.")\r
+ (list name-value))\r
(js2-node-abs-pos options)))))))\r
\r
(defun js2-imenu-walk-ast ()\r