Lisp: Add "mode", "command" and "parenscript" to Imenu.

master
Pierre Neidhardt 2019-09-09 14:34:52 +02:00
parent 98388b0fe7
commit e838dc80ee
1 changed files with 16 additions and 0 deletions

View File

@ -3,6 +3,22 @@
(require 'init-lispy)
(require 'init-rainbow)
(defun ambrevar/enhance-imenu-lisp (&rest keywords)
"Add define-KEYWORD to `lisp-imenu-generic-expression'."
(dolist (keyword keywords)
(add-to-list
'lisp-imenu-generic-expression
(list (purecopy (concat (capitalize keyword) "s"))
(purecopy (concat "^\\s-*("
(eval-when-compile
(regexp-opt
(list (concat "define-" keyword))
t))
"\\s-+\\(" lisp-mode-symbol-regexp "\\)"))
2))))
;; Following defines are common, e.g. in Next.
(ambrevar/enhance-imenu-lisp "mode" "command" "parenscript")
(add-hook 'lisp-mode-hook 'ambrevar/turn-on-prettify-before-save)
(add-hook 'lisp-mode-hook 'ambrevar/turn-on-complete-filename)
(add-hook 'lisp-mode-hook 'ambrevar/turn-on-tab-width-to-8) ; Because some existing code uses tabs.