|
From: | Eric Ludlam |
Subject: | Re: A better UI than perform-replace |
Date: | Fri, 20 Nov 2015 20:41:48 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/16/2015 06:47 AM, Oleh Krehel wrote:
Dmitry Gutov <address@hidden> writes:5. Feel hugely motivated, and write a better UI for all of that.I think a better UI for `perform-replace' is warranted. The current thing is very basic: - No good way to see how many matches there are. - No good way to get an overview of matches per buffer. - No good way to pause the replacement procedure. - No good way to undo a replacement. An idea to improve this would be with a permanent *replace* buffer, similar to `dired' or *Buffer List*. This buffer would be visible during the replacement operation, together with the actual buffers that contain the candidates. Here are some ideas for key bindings and the general interface:
You may be interested in the way semantic-symref handles broad renames. The basic workflow is:
Place cursor in a declaration you want to rename M-x semantic-symref RET Or use M-x semantic-symref-symbol RET for an arbitrary symbol.You then look through the hits, expand the ones you think are valid, collapse the ones you think aren't valid. Or expand/contract all, of course.
Press R to start a rename. Type in the new name. Everything is replaced. If you don't like it, just undo whichever buffer you made a mistake with.
Eric ... Following up on interesting things slowly.
[Prev in Thread] | Current Thread | [Next in Thread] |