[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ivy-hydra 95d557b 070/395: swiper.el (swiper-query-repl
From: |
Basil L. Contovounesios |
Subject: |
[elpa] externals/ivy-hydra 95d557b 070/395: swiper.el (swiper-query-replace): Add a more straightforward default |
Date: |
Thu, 25 Feb 2021 08:31:33 -0500 (EST) |
branch: externals/ivy-hydra
commit 95d557babbb4996b50ee8ea59609463ccc1f4553
Author: Oleh Krehel <ohwoeowho@gmail.com>
Commit: Oleh Krehel <ohwoeowho@gmail.com>
swiper.el (swiper-query-replace): Add a more straightforward default
Example buffer contents with symlinks:
.Xmodmap -> git/home/.Xmodmap
.gitignore -> git/home/.gitignore
.gitconfig -> git/home/.gitconfig
We search for "[^\n ]+\( -> \).*". This regex has 3 groups: the link,
->, and where it points to.
Note that we're using a relatively new `ivy--regex' feature, where an
explicit group "\( -> \)" acts as a splitter between the other two
implicit groups.
(ivy--regex "[^\n ]+\\( -> \\).*")
;; => "\\([^\n ]+\\)\\( -> \\).*?\\(.*\\)"
Since there are 3 groups, a reasonable default for replacement is "\1
\2 \3". In the end, we likely want to use "\3 \1"; the default serves
to remind us of the sytax.
The second default is: \,(concat \1 " " \2 " " \3).
It's a little more cumbersome, but it's Lisp! So we could use something
like:
\,(concat \1 " " \2 " " (expand-file-name \3))
Which I think may be powerful in some situations.
---
swiper.el | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/swiper.el b/swiper.el
index 1635585..426dce9 100644
--- a/swiper.el
+++ b/swiper.el
@@ -197,13 +197,17 @@ Treated as non-nil when searching backwards."
(unwind-protect
(let* ((enable-recursive-minibuffers t)
(from ivy--old-re)
+ (groups (number-sequence 1 ivy--subexps))
(default
- (format "\\,(concat %s)"
- (if (<= ivy--subexps 1)
- "\\&"
- (mapconcat (lambda (i) (format "\\%d" i))
- (number-sequence 1 ivy--subexps)
- " \" \" "))))
+ (list
+ (mapconcat (lambda (i) (format "\\%d" i)) groups " ")
+ (format "\\,(concat %s)"
+ (if (<= ivy--subexps 1)
+ "\\&"
+ (mapconcat
+ (lambda (i) (format "\\%d" i))
+ groups
+ " \" \" ")))))
(to
(query-replace-compile-replacement
(ivy-read
- [elpa] externals/ivy-hydra 04ca164 275/395: ivy-resume: resume buffer for counsel-grep, (continued)
- [elpa] externals/ivy-hydra 04ca164 275/395: ivy-resume: resume buffer for counsel-grep, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 7dd6bfc 287/395: ivy.el (ivy-read): Document :extra-props as a plist, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 3e281d0 315/395: ivy-test.el (counsel-find-file-single-match-directories): Add test, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra d3e14db 303/395: ivy.el (ivy--call-marked): Fix :multi-action with alist collection, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 031ed58 331/395: ivy.el (ivy-call): Remove redundant cond branch, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 453f510 306/395: * ivy-test.el (ivy-avy): Fix skip condition., Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 1bf7f91 018/395: counsel.el (counsel--preselect-file): Do not pre-select URL., Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 256deea 019/395: swiper.el (swiper--isearch-format): Prepend swiper-line-face property, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 249ccc6 041/395: ivy.el (ivy--split): Re-write, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 69dbbf6 056/395: ivy.el (ivy--tramp-candidates): Extract, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 95d557b 070/395: swiper.el (swiper-query-replace): Add a more straightforward default,
Basil L. Contovounesios <=
- [elpa] externals/ivy-hydra e3fc84f 104/395: counsel.el (counsel--git-grep-occur-cmd): Simplify, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra a159810 120/395: counsel-recentf: Sort by access time when including XDG list., Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 8dba6ff 115/395: ivy-test.el (swiper-query-replace): Add test, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra aefd669 114/395: swiper.el (swiper-query-replace): Fix for ivy--regex-ignore-order, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 9fd766d 122/395: counsel.el (counsel-evil-register-face): Add, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 47bd7b1 119/395: Handle case correctly in `counsel-grep-like-occur', Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra e860b11 116/395: ivy.el (ivy--resize-minibuffer-to-fit): Fix "M-o" not showing the list of actions, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 068ed9c 131/395: counsel-kmacro: Clarify Emacs's behavior regarding counter initial values., Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 56807a1 134/395: counsel.el (counsel-recentf): Add "d" action, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 7084d60 154/395: counsel.el (counsel-cd): Default to the directory of the current buffer, Basil L. Contovounesios, 2021/02/25