diff options
| author | gcv <gepardcv@gmail.com> | 2024-04-13 20:59:45 -0700 |
|---|---|---|
| committer | gcv <gepardcv@gmail.com> | 2024-04-13 20:59:45 -0700 |
| commit | ec48cb3bdda8c5ea12da89a12aa925ed1905a0b7 (patch) | |
| tree | 35f3b9a978562f93f7c1150ffd1433f57920eef6 | |
| parent | 460311b6e76f33de947908da74b6cbf66118d487 (diff) | |
Add persp-kill-other-buffers.
| -rw-r--r-- | CHANGELOG.md | 5 | ||||
| -rw-r--r-- | perspective.el | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a07bc1..cf47312 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - `persp-ibuffer-generate-filter-groups`: load `ibuf-ext` library if needed ([#202](https://github.com/nex3/perspective-el/issues/202)). +### Added + +- `persp-kill-other-buffers`: kill other buffers in the current perspectives. + + ## [2.18] — 2022-09-20 ### Added diff --git a/perspective.el b/perspective.el index c501ee3..6fe0f45 100644 --- a/perspective.el +++ b/perspective.el @@ -1605,6 +1605,19 @@ PERSP-SET-IDO-BUFFERS)." (buffer-name (current-buffer)))))) (kill-buffer buffer-or-name)) +;; Buffer killing integration: kill all buffers in the current perspective +;; except the current one and the perspective's scratch buffer. +;;;###autoload +(defun persp-kill-other-buffers () + "Kill all buffers in the current perspective other than the current one. +Also excludes the perspective's scratch buffer." + (interactive) + (when (y-or-n-p "Are you sure you want to kill all buffers in the current perspective except the current buffer? ") + (cl-loop for buf in (persp-current-buffers) + unless (or (eq buf (current-buffer)) + (eq buf (get-buffer (persp-scratch-buffer)))) + do (kill-buffer buf)))) + ;; Buffer switching integration: buffer-menu. ;;;###autoload (defun persp-buffer-menu (arg) |
