aboutsummaryrefslogtreecommitdiff
path: root/.emacs.local.d/modes/ibuffer.el
diff options
context:
space:
mode:
authorRaúl Benencia <rul@kalgan.cc>2019-06-23 11:43:30 -0700
committerRaúl Benencia <rul@kalgan.cc>2019-06-23 13:32:01 -0700
commit284c8327c95bb0c71b111ebf95723a35a478295c (patch)
treefaea9db4b1bba00d73d33b2065ed102f88b76b2c /.emacs.local.d/modes/ibuffer.el
Add emacs config
Diffstat (limited to '.emacs.local.d/modes/ibuffer.el')
-rw-r--r--.emacs.local.d/modes/ibuffer.el35
1 files changed, 35 insertions, 0 deletions
diff --git a/.emacs.local.d/modes/ibuffer.el b/.emacs.local.d/modes/ibuffer.el
new file mode 100644
index 0000000..d5198d8
--- /dev/null
+++ b/.emacs.local.d/modes/ibuffer.el
@@ -0,0 +1,35 @@
+;; Debian packages: elpa-ibuffer-vc
+
+(use-package ibuffer ; Better buffer list
+ :bind (([remap list-buffers] . ibuffer))
+ ;; Show VC Status in ibuffer
+ :config (setq ibuffer-formats
+ '((mark modified read-only vc-status-mini " "
+ (name 18 18 :left :elide)
+ " "
+ (size 9 -1 :right)
+ " "
+ (mode 16 16 :left :elide)
+ " "
+ (vc-status 16 16 :left)
+ " "
+ filename-and-process)
+ (mark modified read-only " "
+ (name 18 18 :left :elide)
+ " "
+ (size 9 -1 :right)
+ " "
+ (mode 16 16 :left :elide)
+ " " filename-and-process)
+ (mark " "
+ (name 16 -1)
+ " " filename))))
+
+(use-package ibuffer-vc ; Group buffers by VC project and status
+ :ensure t
+ :defer t
+ :init (add-hook 'ibuffer-hook
+ (lambda ()
+ (ibuffer-vc-set-filter-groups-by-vc-root)
+ (unless (eq ibuffer-sorting-mode 'alphabetic)
+ (ibuffer-do-sort-by-alphabetic)))))
nihil fit ex nihilo