BIBLIOGRAPHY
Han, Jung. (2025) 2025. “Junghan0611/Imenu-List.” https://github.com/junghan0611/imenu-list.
History
- 모드라인까지 깔끔하게 (Han [2025] 2025)
스크린샷
일단 보자면 일관성과 모드라인까지
>
아름다우려면 모드라인 - 키바인딩 - 목적까지
;;;;; imenu-list
;;;;###autoload
(defun my/imenu-list-tuncates-without-tab-line ()
"Toggle line truncation without printing messages."
(let ((inhibit-message t))
(tab-line-mode -1)
(toggle-truncate-lines t)))
;; Show an outline summary of the current buffer.
(use-package! imenu-list
:custom
(imenu-list-position 'left) ; why not work?!
(imenu-list-size 45)
:init
(setq imenu-list-focus-after-activation t)
(setq imenu-list-auto-resize nil)
(setq imenu-list-auto-update t)
(setq imenu-list-idle-update-delay 5.0)
(add-hook 'imenu-list-major-mode-hook #'my/imenu-list-tuncates-without-tab-line)
:config
;;;;###autoload
(defun spacemacs/imenu-list-smart-focus ()
"Focus the `imenu-list' buffer, creating as necessary.
If the imenu-list buffer is displayed in any window, focus it, otherwise create and focus.
Note that all the windows in every frame searched, even invisible ones, not
only those in the selected frame."
(interactive)
(if (get-buffer-window imenu-list-buffer-name t)
(imenu-list-show)
(imenu-list-smart-toggle)))
(progn ; imenu-list--set-mode-line
(setq imenu-list-mode-line-format
(eval
'(progn
(require 'doom-modeline)
(doom-modeline-def-segment imenu-workspace-name
"Display imenu"
(propertize (format "%s" (buffer-name imenu-list--displayed-buffer))
'face (doom-modeline-face 'doom-modeline-buffer-minor-mode)))
(doom-modeline-def-modeline 'imenu '(bar window-number " " major-mode) '(imenu-workspace-name))
(doom-modeline 'imenu))))
)
)
(global-set-key (kbd "<f8>") 'imenu-list-smart-toggle)
(global-set-key (kbd "M-<f8>") 'spacemacs/imenu-list-smart-focus)