From b682098611ee361c688cd935c52f91d9edcf9040 Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Thu, 27 Oct 2022 00:39:16 +0800 Subject: [PATCH] config ibuffer --- init.el | 1 + lisp/init-ibuffer.el | 53 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 lisp/init-ibuffer.el diff --git a/init.el b/init.el index 229f5ab..46be98f 100644 --- a/init.el +++ b/init.el @@ -111,6 +111,7 @@ If freezing sometimes, decrease it. If stuttering, increase it.") (require 'init-vertico) (require 'init-keybindings) (require 'init-tools) +(require 'init-ibuffer) (require 'which-key) (setq which-key-show-early-on-C-h t) diff --git a/lisp/init-ibuffer.el b/lisp/init-ibuffer.el new file mode 100644 index 0000000..bdc935b --- /dev/null +++ b/lisp/init-ibuffer.el @@ -0,0 +1,53 @@ +;; -*- coding: utf-8; lexical-binding: t; -*- + +(setq ibuffer-saved-filter-groups + '(("Default" + ("ERC" (mode . erc-mode)) + ("Org" (mode . org-mode)) + ("Elisp" (mode . emacs-lisp-mode)) + ("Magit" (name . "^magit[:-].*$")) + ("TypeScript" (mode . typescript-mode)) + ("CSS" (or + (mode . css-mode) + (mode . scss-mode) + (mode . less-css-mode))) + ("JavaScript" (or + (mode . js-mode) + (mode . js-jsx-mode))) + ("TSX" (or (mode . typescript-tsx-mode) + (basename . "^.*\\.tsx$"))) + ("Web" (mode . web-mode)) + + ("eglot" (name . "^\\*EGLOT.*events\\*$")) + + ("Lsp" (or + (name . "^\\*lsp-log\\*$") + (name . "^\\*clangd\\*$") + (name . "^\\*clangd::stderr\\*$") + (name . "^\\*prettier (local)\\*$") + (name . "^\\*tide-server\\*$") + (name . "^\\*tide-documentation\\*$") + (name . "^\\*.*-ls\\*$") + (name . "^\\*.*-ls::stderr\\*$") + (name . "^\\*tailwindcss\\*$") + (name . "^\\*tailwindcss::stderr\\*$")))))) + +(add-hook 'ibuffer-mode-hook + (lambda () + (ibuffer-auto-mode) + (ibuffer-switch-to-saved-filter-groups "Default") + )) + +;; don't show filter groups if there are no buffers in that group +(setq ibuffer-show-empty-filter-groups nil) + +;; don't ask for confirmation to delete marked buffers +(setq ibuffer-expert t) + +;; kill custom buffer when quit +(setq custom-buffer-done-kill t) + +;;; kill buffer when quit-window. +(define-key global-map [remap list-buffers] 'ibuffer) + +(provide 'init-ibuffer)