26 lines
928 B
EmacsLisp
26 lines
928 B
EmacsLisp
|
;;; tools/imenu/config.el -*- lexical-binding: t; -*-
|
||
|
|
||
|
(def-package! imenu-anywhere
|
||
|
:commands (ido-imenu-anywhere ivy-imenu-anywhere helm-imenu-anywhere)
|
||
|
:config (setq imenu-anywhere-delimiter ": "))
|
||
|
|
||
|
|
||
|
(def-package! imenu-list
|
||
|
:commands imenu-list-minor-mode
|
||
|
:config
|
||
|
(setq imenu-list-focus-after-activation t)
|
||
|
(set! :popup imenu-list-buffer-name :size 35 :align 'right)
|
||
|
|
||
|
;; use popups
|
||
|
(defun doom*imenu-list-show ()
|
||
|
(doom-popup-buffer (get-buffer imenu-list-buffer-name)))
|
||
|
(advice-add #'imenu-list-show :override #'doom*imenu-list-show)
|
||
|
(advice-add #'imenu-list-show-noselect :override #'doom*imenu-list-show)
|
||
|
|
||
|
;; auto kill imenu-list on deactivation
|
||
|
(defun doom|kill-imenu-list ()
|
||
|
(when (and (not imenu-list-minor-mode)
|
||
|
(get-buffer imenu-list-buffer-name))
|
||
|
(kill-buffer (get-buffer imenu-list-buffer-name))))
|
||
|
(add-hook 'imenu-list-minor-mode-hook #'doom|kill-imenu-list))
|