|
From: | Dmitry Gutov |
Subject: | Re: Automatic (e)tags generation and incremental updates |
Date: | Tue, 12 Jan 2021 19:32:18 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
On 12.01.2021 19:15, Eli Zaretskii wrote:
Cc: tom@tromey.com, john@yates-sheets.org, philipk@posteo.net, emacs-devel@gnu.org From: Dmitry Gutov <dgutov@yandex.ru> Date: Tue, 12 Jan 2021 18:48:24 +0200 (insert-file-contents "...") takes 0.15 in this example, which would make it possible to use if etags implemented the same logic that we do in Elisp currentlyWhich logic is that? what does it do?
It removes the existing entry for the file from the index, and scans the file again (with etags) to add the updated entry for it at the end.
Anyway, TAGS and etags.el were designed to be very tolerant to changes, so you shouldn't need to update very often.I want it to update reliably; maybe not too often (depending on a project), but if a user switches to a different Git branch, they should be confident that they'll see the changes reflected in the index soon. Even (and especially) if those are big changes.What about regenerating etags only if M-. etc. fail to find an identifier?
There are downsides.You will have to press M-. twice sometimes with that approach. Completion will routinely fail to show some tags that should be present. Also, if the rescan takes a while, I'm not sure you'd want to do that on every 'M-.' failure.
But this could be an optional mode of operation.
Right now only the update-on-save feature is in there, but I have to tell you, having a newly written function in the index right away (without having to invoke any commands or switch to the terminal) is pretty nice.Of course, but then the user will need to be prepared to pay the price. TANSTAAFL.
I think the current state of the feature has already reduced a few prices. And we should be able to go further.
[Prev in Thread] | Current Thread | [Next in Thread] |