]> git.eshelyaron.com Git - emacs.git/commitdiff
Add imenu support for use-package forms
authorJustin Burkett <justin@burkett.cc>
Mon, 13 Jun 2016 13:45:27 +0000 (09:45 -0400)
committerJustin Burkett <justin@burkett.cc>
Mon, 13 Jun 2016 13:45:27 +0000 (09:45 -0400)
Also add require forms and group both under menu "Package".

lisp/use-package/use-package.el

index 7dba2b5dcf038348a20c269a17c3e41c6f38326c..2076d5858fa4bc0dd7c7d653f2f456090deb910e 100644 (file)
@@ -44,6 +44,7 @@
 (require 'diminish nil t)
 (require 'bytecomp)
 (eval-when-compile (require 'cl))
+(eval-when-compile (require 'regexp-opt))
 
 (declare-function package-installed-p 'package)
 
@@ -167,6 +168,26 @@ then your byte-compiled init file is as minimal as possible."
   :type 'boolean
   :group 'use-package)
 
+(defcustom use-package-enable-imenu-support nil
+  "If non-nil, adjust `lisp-imenu-generic-expression' to include
+support for finding `use-package' and `require' forms.
+
+Must be set before loading use-package."
+  :type 'boolean
+  :group 'use-package)
+
+(when use-package-enable-imenu-support
+  (add-to-list
+   'lisp-imenu-generic-expression
+   (list "Package"
+         (purecopy (concat "^\\s-*("
+                           (eval-when-compile
+                             (regexp-opt
+                              '("use-package" "require")
+                              t))
+                           "\\s-+\\(" lisp-mode-symbol-regexp "\\)"))
+         2)))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; Utility functions