[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 9718962 030/399: Add a simple initial counsel-switch-buffe
From: |
Oleh Krehel |
Subject: |
[elpa] master 9718962 030/399: Add a simple initial counsel-switch-buffer |
Date: |
Sat, 20 Jul 2019 14:56:42 -0400 (EDT) |
branch: master
commit 97189623c5b36d5b153c43ad1676799553237b9e
Author: Gergely Risko <address@hidden>
Commit: Oleh Krehel <address@hidden>
Add a simple initial counsel-switch-buffer
This first implementation already provides the interactive element of
functionality: in the current window the user can preview her buffer
selection.
Fixes #1895
---
counsel.el | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/counsel.el b/counsel.el
index 73f2b76..93dcb2f 100644
--- a/counsel.el
+++ b/counsel.el
@@ -5016,6 +5016,28 @@ When ARG is non-nil, ignore NoDisplay property in
*.desktop files."
:action #'counsel-wmctrl-action
:caller 'counsel-wmctrl)))
+(defun counsel--switch-buffer-update-fn ()
+ (let ((current (ivy-state-current ivy-last)))
+ ;; This check is necessary, otherwise typing into the completion
+ ;; would create empty buffers.
+ (if (get-buffer current)
+ (ivy-call)
+ (with-ivy-window
+ (switch-to-buffer (ivy-state-buffer ivy-last))))))
+
+;;;###autoload
+(defun counsel-switch-buffer ()
+ "Switch to another buffer.
+Display a preview of the selected ivy completion candidate buffer
+in the current window."
+ (interactive)
+ (ivy-read "Switch to buffer: " 'internal-complete-buffer
+ :preselect (buffer-name (other-buffer (current-buffer)))
+ :action #'ivy--switch-buffer-action
+ :matcher #'ivy--switch-buffer-matcher
+ :caller 'counsel-switch-buffer
+ :update-fn 'counsel--switch-buffer-update-fn))
+
;;* `counsel-mode'
(defvar counsel-mode-map
(let ((map (make-sparse-keymap)))
- [elpa] master 28e88ab 025/399: Allow to mark/unmark candidates with "m", "u", "DEL", "t", (continued)
- [elpa] master 28e88ab 025/399: Allow to mark/unmark candidates with "m", "u", "DEL", "t", Oleh Krehel, 2019/07/20
- [elpa] master 48c7087 028/399: ivy.el (ivy-reverse-i-search): Don't bind ivy-recursive-restore to nil, Oleh Krehel, 2019/07/20
- [elpa] master 6853290 031/399: counsel-switch-buffer: Add support for ivy-use-virtual-buffers., Oleh Krehel, 2019/07/20
- [elpa] master b0c0371 038/399: Enable counsel-read-env to properly handle directories, Oleh Krehel, 2019/07/20
- [elpa] master 47c8c3d 034/399: counsel.el (counsel-read-env): Simplify, Oleh Krehel, 2019/07/20
- [elpa] master 4ca721c 022/399: swiper.el (swiper-avy): If the input is 1 char, re-highlight, Oleh Krehel, 2019/07/20
- [elpa] master ffffc21 024/399: swiper.el (swiper-mc): Update doc, Oleh Krehel, 2019/07/20
- [elpa] master b01108e 027/399: ivy.el (ivy-call): Call action with whole marked list if it has a second arg, Oleh Krehel, 2019/07/20
- [elpa] master 3216d40 026/399: swiper.el (swiper-avy): Warn if no input, Oleh Krehel, 2019/07/20
- [elpa] master dfeaec0 029/399: swiper.el (swiper--update-input-ivy): Don't rely on window-start in terminal, Oleh Krehel, 2019/07/20
- [elpa] master 9718962 030/399: Add a simple initial counsel-switch-buffer,
Oleh Krehel <=
- [elpa] master ef78fb6 032/399: Add environment variable completion to counsel-find-file, Oleh Krehel, 2019/07/20
- [elpa] master 22fca55 035/399: counsel.el (counsel-file-jump-args): Remove extra backslash, Oleh Krehel, 2019/07/20
- [elpa] master 16367fc 033/399: ivy.el (ivy-call): Call ivy-recursive-restore even if no action, Oleh Krehel, 2019/07/20
- [elpa] master a664943 043/399: BSDs should default to locate not using regular expressions, Oleh Krehel, 2019/07/20
- [elpa] master bedeb02 040/399: Move counsel-read-env to ivy mode, Oleh Krehel, 2019/07/20
- [elpa] master 2a02343 036/399: counsel.el (counsel-file-jump): Fix file expansion, Oleh Krehel, 2019/07/20
- [elpa] master f0b2bc6 037/399: Update ivy-help.org, Oleh Krehel, 2019/07/20
- [elpa] master da9d937 041/399: ivy.el (ivy-call): Allow ivy-inhibit-action to be a function, Oleh Krehel, 2019/07/20
- [elpa] master c38daa3 039/399: Enable counsel-read-env to work in read-file-name, Oleh Krehel, 2019/07/20
- [elpa] master e88c7d6 044/399: counsel.el (counsel-locate-cmd): Simplify, Oleh Krehel, 2019/07/20