[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#48009: 28.0.50; Support query-regexp-replace using re-builder
From: |
Phil Sainty |
Subject: |
bug#48009: 28.0.50; Support query-regexp-replace using re-builder |
Date: |
Sun, 25 Apr 2021 15:36:07 +1200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
It would be nice to be able to use `re-builder' to interactively
craft a regexp to pass to `query-replace-regexp' in a streamlined
manner.
Here's a starter, which you can call from `re-builder'.
(defun reb-query-replace-regexp ()
"Invoke `query-replace-regexp' in the target buffer."
(interactive)
(let ((from (reb-target-binding reb-regexp)))
(with-selected-window reb-target-window
(with-current-buffer reb-target-buffer
(let ((to (query-replace-read-to from "Query replace regexp" t)))
(query-replace-regexp from to))))))
(define-key reb-mode-map (kbd "C-c %") #'reb-query-replace-regexp)
(define-key reb-lisp-mode-map (kbd "C-c %") #'reb-query-replace-regexp)
A complete solution would presumably support the other
`query-replace-regexp' arguments.
I initially wondered about a command for "query-replace-regexp but
automatically using re-builder" (i.e. instead of typing M-C-%), but
I'm not sure that would be very different to just binding `re-builder'
to a key, as you'd still need a custom binding from inside re-builder
to say you were done. Perhaps such a command would automatically
close the re-builder buffer once the replacements stopped, though?
What do people think?
-Phil
In GNU Emacs 28.0.50 (build 8, x86_64-pc-linux-gnu, X toolkit, cairo version
1.15.10, Xaw3d scroll bars)
of 2021-04-18 built on shodan
Repository revision: 75c898edc3d7e06b589ce42917ae56e0c40082ac
Repository branch: feature/native-comp
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Ubuntu 18.04.5 LTS
- bug#48009: 28.0.50; Support query-regexp-replace using re-builder,
Phil Sainty <=