[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/buffer-expose 07cea91 31/38: Code refactoring
From: |
Clemens Radermacher |
Subject: |
[elpa] externals/buffer-expose 07cea91 31/38: Code refactoring |
Date: |
Mon, 25 Feb 2019 13:38:03 -0500 (EST) |
branch: externals/buffer-expose
commit 07cea911298f1ab5b274471cfdacd24eb7b3d3ee
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Code refactoring
---
buffer-expose.el | 46 +++++++++++++++++++++++++---------------------
1 file changed, 25 insertions(+), 21 deletions(-)
diff --git a/buffer-expose.el b/buffer-expose.el
index cb220f7..b2f29d7 100644
--- a/buffer-expose.el
+++ b/buffer-expose.el
@@ -330,7 +330,7 @@ HIDE-REGEXES:
don't add buffers matching any of regexes
FILTER-FUN:
-buffers for which this function returns non-nil are ignored."
+buffers for which this function returns nil are ignored."
(let ((res ())
(buffer nil)
(n 0))
@@ -489,15 +489,21 @@ Prevents switching to empty windows. Does not change the
order of
(buffer-expose--update-display)))
-(defun buffer-expose-show-buffers (blist &optional max)
+(defun buffer-expose-show-buffers (blist &optional max regexes filter)
"Init buffer expose and display grid of buffers.
This function is intended to be used when creating new buffer expose
commands.
BLIST is the list of buffers to display.
+
MAX is the maximum of windows to display per page and is passed
-to `prefix-numeric-value' if non nil."
+to `prefix-numeric-value' if non nil.
+
+REGEXES is a list of regexes for buffer names to hide.
+
+FILTER is a filter function which has to return non-nil for buffers
+which should be included."
(buffer-expose--show-buffers
;; default filters
(buffer-expose--filter-buffer-list
@@ -505,7 +511,8 @@ to `prefix-numeric-value' if non nil."
(and (/= buffer-expose-max-num-buffers 0)
buffer-expose-max-num-buffers)
buffer-expose-show-current-buffer
- buffer-expose-hide-regexes)
+ (append buffer-expose-hide-regexes regexes)
+ filter)
(and max (prefix-numeric-value max))))
(defun buffer-expose--init-map ()
@@ -775,6 +782,7 @@ defaults to `buffer-expose-max-num-windows'."
(buffer-expose-show-buffers
(buffer-expose--get-mode-buffers mode) max))
+
(defun buffer-expose-stars (&optional max)
"Expose *special* buffers of `buffer-list'.
@@ -782,12 +790,9 @@ If MAX is given it determines the maximum number of
windows to
show per page, which defaults to `buffer-expose-max-num-windows'."
(interactive "P")
(buffer-expose-show-buffers
- (cl-remove-if-not (lambda (buf)
- (string-match "\\`*"
- (buffer-name buf)))
- ;; get last buried first
- (nreverse (buffer-list)))
- max))
+ ;; get last buried first
+ (nreverse (buffer-list)) max '("\\`[^*]")))
+
(defun buffer-expose-no-stars (&optional max)
"Expose buffers of `buffer-list' omitting *special* ones.
@@ -797,10 +802,8 @@ show per page, which defaults to
`buffer-expose-max-num-windows'."
(interactive "P")
(buffer-expose-show-buffers
- (cl-remove-if (lambda (buf)
- (string-match "\\`*" (buffer-name buf)))
- (buffer-list))
- max))
+ (buffer-list) max '("\\`\\*")))
+
(defun buffer-expose-dired-buffers (&optional max)
"Expose dired buffers of `buffer-list'.
@@ -809,18 +812,19 @@ If MAX is given it determines the maximum number of
windows to
show per page, which defaults to `buffer-expose-max-num-windows'."
(interactive "P")
(buffer-expose-show-buffers
- (cl-remove-if-not (lambda (buf)
- (eq (buffer-local-value 'major-mode buf)
- 'dired-mode))
- ;; get last buried first
- (nreverse (buffer-list)))
- max))
+ ;; get last buried first
+ (nreverse (buffer-list)) max nil
+ (lambda (buf)
+ (eq (buffer-local-value 'major-mode buf)
+ 'dired-mode))))
;; * grid commands
(defun buffer-expose--last-to (dir &optional f)
- "Get last window in direction DIR from window F."
+ "Get last window in direction DIR from window F.
+
+F defaults to the currently selected window."
(let ((w (or f (selected-window)))
(nw nil))
(while (setq w (window-in-direction dir w))
- [elpa] externals/buffer-expose a86aa34 14/38: Fix byte compiler warnings, (continued)
- [elpa] externals/buffer-expose a86aa34 14/38: Fix byte compiler warnings, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose af53a9b 25/38: Improve switch buffer, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose d4f22e9 10/38: Make regex option a list of regexes, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose a47a46c 29/38: Reset buffer before aw-switch, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 9a2393c 28/38: Cleanup, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 69bfeb1 15/38: Add binding for no stars, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose d05d136 27/38: Handle window configurations internally, don't use set-window-config, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose adeb508 35/38: Docstring fixes, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 260a2ed 20/38: Replace `windmove` with package commands, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 713238b 38/38: Checkdoc fixes, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 07cea91 31/38: Code refactoring,
Clemens Radermacher <=
- [elpa] externals/buffer-expose f3fd7fa 13/38: Add command omitting star buffers, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 8dec782 07/38: Require cl-lib, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose ea8d671 11/38: Fix regex list type, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose e78ca06 21/38: Cleanup, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose c0034f5 26/38: Code reordering, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 5748ffb 34/38: Update docstrings, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose c5eb139 16/38: Add custom command example, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose e52f55d 06/38: Filter completions buffer by default, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 07ac8cf 12/38: Create window list without redisplay, Clemens Radermacher, 2019/02/25
- [elpa] externals/buffer-expose 428568c 09/38: Add regex option for buffers to hide, Clemens Radermacher, 2019/02/25