[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/bufferlo 1dd04e4b41 14/37: Better ibuffer support
|
From: |
ELPA Syncer |
|
Subject: |
[elpa] externals/bufferlo 1dd04e4b41 14/37: Better ibuffer support |
|
Date: |
Sun, 5 Nov 2023 09:57:32 -0500 (EST) |
branch: externals/bufferlo
commit 1dd04e4b411bd2ccad835d4c2ff2152c1d870300
Author: Florian Rommel <mail@florommel.de>
Commit: Florian Rommel <mail@florommel.de>
Better ibuffer support
---
README.org | 1 +
bufferlo.el | 38 +++++++++++++++++++++++++++++---------
2 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/README.org b/README.org
index f8935d6227..0256ede30a 100644
--- a/README.org
+++ b/README.org
@@ -53,6 +53,7 @@ respective global commands:
Call it with the prefix argument to get the global list (all buffers).
- ~bufferlo-ibuffer~:
~ibuffer~ filtered for local buffers.
+ Alternatively, use "/ l" in ibuffer.
Bufferlo provides functions to manage the local buffer lists:
- ~bufferlo-clear~:
diff --git a/bufferlo.el b/bufferlo.el
index c2f29d3c37..a3804b3f0c 100644
--- a/bufferlo.el
+++ b/bufferlo.el
@@ -99,6 +99,11 @@ This is a list of regular expressions that match buffer
names."
:group 'bufferlo
:type '(repeat string))
+(defcustom bufferlo-ibuffer-bind-local-buffer-filter t
+ "If this is true bind the local buffer filter to \"/ l\" in ibuffer."
+ :group 'bufferlo
+ :type '(repeat string))
+
(defvar bufferlo--desktop-advice-active nil)
;;;###autoload
@@ -405,16 +410,31 @@ If the prefix arument is given, include all buffers."
(lambda (b) (member (if (stringp b) b (car b)) lbs)))))))
(switch-to-buffer buffer norecord force-same-window))
-(defun bufferlo-ibuffer ()
- "Invoke `ibuffer' filtered for local buffers."
+(with-eval-after-load 'ibuf-ext
+ (define-ibuffer-filter bufferlo-local-buffers
+ "Limit current view to local buffers."
+ (:description "local buffers" :reader nil)
+ (bufferlo-local-buffer-p buf)))
+
+(with-eval-after-load 'ibuffer
+ (when bufferlo-ibuffer-bind-local-buffer-filter
+ (require 'ibuf-ext)
+ (define-key ibuffer--filter-map (kbd "l")
+ #'ibuffer-filter-by-bufferlo-local-buffers)))
+
+(defun bufferlo-ibuffer (&optional other-window-p noselect shrink)
+ "Invoke `ibuffer' filtered for local buffers.
+Every frame/tab gets its own local bufferlo ibuffer buffer.
+The parameters OTHER-WINDOW-P NOSELECT SHRINK are passed to `ibuffer'."
(interactive)
- (require 'ibuffer)
- (defvar ibuffer-maybe-show-predicates)
- (let ((ibuffer-maybe-show-predicates
- (append ibuffer-maybe-show-predicates
- (list (lambda (b)
- (not (memq b (bufferlo-buffer-list))))))))
- (ibuffer)))
+ (let ((name (or
+ (seq-find (lambda (b)
+ (string-match-p "\*Bufferlo Ibuffer\*.*"
+ (buffer-name b)))
+ (bufferlo-buffer-list))
+ (generate-new-buffer-name "*Bufferlo Ibuffer*"))))
+ (ibuffer other-window-p name '((bufferlo-local-buffers . nil))
+ noselect shrink)))
(provide 'bufferlo)
- [elpa] externals/bufferlo a1bea7ff9e 01/37: Initial commit, (continued)
- [elpa] externals/bufferlo a1bea7ff9e 01/37: Initial commit, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo f214f92445 08/37: Fix typos, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo e40613cbbc 22/37: Fix buffer selection in empty tabs, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 41e6e56783 27/37: Fix clone-frame, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 36f5c68460 26/37: Fix tab movement and duplication, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 0254201487 11/37: Add prefix argument to bufferlo-switch-to-buffer, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 778ede4d4b 35/37: Resolve checkdoc warnings, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo d41a6b297b 17/37: Allow hidden buffers, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo bfe906c2aa 12/37: Update README, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 931b9ee346 32/37: Version 0.2, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 1dd04e4b41 14/37: Better ibuffer support,
ELPA Syncer <=
- [elpa] externals/bufferlo c164b26a64 36/37: Compatibility improvements, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 82f51c31ab 23/37: desktop.el support: Fix error on deleted windows, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 8f82be00b1 30/37: Add basic buffer-menu support, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 914c381e9f 16/37: Fix buffer matching, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 46557c7f54 04/37: Minor changes, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo c000ff8398 09/37: Add bufferlo-non-local-buffer-p, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 23cbe682c4 15/37: More parameters, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo fbec2df3bd 28/37: Fix undelete-frame, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 598e20cf3b 31/37: Fix tab duplication on emacs < 29, ELPA Syncer, 2023/11/05
- [elpa] externals/bufferlo 6f3b79369f 02/37: Add README, ELPA Syncer, 2023/11/05