summaryrefslogtreecommitdiff
path: root/lisp/use-package/use-package.el
diff options
context:
space:
mode:
authorJustin Burkett <justin@burkett.cc>2016-06-13 09:45:27 -0400
committerJustin Burkett <justin@burkett.cc>2016-06-13 09:45:27 -0400
commitd34fb2bdc9ad3c4d8e98d55ff677405b7b6f1d4d (patch)
treed883250a3edcbc808c0b78f1f004d5f1f5ea30d7 /lisp/use-package/use-package.el
parent153b542421c9c87e4a694f1df05c37970dee1d1c (diff)
downloademacs-d34fb2bdc9ad3c4d8e98d55ff677405b7b6f1d4d.tar.gz
emacs-d34fb2bdc9ad3c4d8e98d55ff677405b7b6f1d4d.tar.bz2
emacs-d34fb2bdc9ad3c4d8e98d55ff677405b7b6f1d4d.zip
Add imenu support for use-package forms
Also add require forms and group both under menu "Package".
Diffstat (limited to 'lisp/use-package/use-package.el')
-rw-r--r--lisp/use-package/use-package.el21
1 files changed, 21 insertions, 0 deletions
diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el
index 7dba2b5dcf0..2076d5858fa 100644
--- a/lisp/use-package/use-package.el
+++ b/lisp/use-package/use-package.el
@@ -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