dotfiles/.config/emacs/lisp/init-ibuffer.el
2023-05-20 01:57:20 +09:00

26 lines
976 B
EmacsLisp

;;; init-ibuffer.el -*- lexical-binding: t -*-
(require 'init-const)
(require 'init-funcs)
(use-package ibuffer
:ensure nil
:init (setq ibuffer-filter-group-name-face '(:inherit (font-lock-string-face bold)))
:config
;; Display icons for buffers
(use-package nerd-icons-ibuffer
:hook (ibuffer-mode . nerd-icons-ibuffer-mode)
:init (setq nerd-icons-ibuffer-icon t)))
;; Group ibuffer's list by project
(use-package ibuffer-project
:hook (ibuffer . (lambda ()
(setq ibuffer-filter-groups (ibuffer-project-generate-filter-groups))
(unless (eq ibuffer-sorting-mode 'project-file-relative)
(ibuffer-do-sort-by-project-file-relative))))
:init (setq ibuffer-project-use-cache t)
:config
(add-to-list 'ibuffer-project-root-functions '(file-remote-p . "Remote"))
(add-to-list 'ibuffer-project-root-functions '("\\*.+\\*" . "Default")))
(provide 'init-ibuffer)
;;; init-ibuffer.el ends here