|
From: | Dmitry Gutov |
Subject: | Re: Generation of tags for the current project on the fly |
Date: | Thu, 18 Jan 2018 01:19:58 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:58.0) Gecko/20100101 Thunderbird/58.0 |
On 1/17/18 23:12, Eli Zaretskii wrote:
The information is inside the TAGS file, isn't it?Not really: the signature of each file at the moment of scan is missing, and maybe also other things.Meaning it's not known at etags runtime? That's true.It's also not recorded after the run, so that the next run could compare against it.
What's a signature? The file names are recorded, of course. But not mtimes, if you mean them.
Make tracks which files need to be recompiled, right? This could reuse the same mechanism, if possible.Make doesn't support incremental builds, except on file granularity. Doing that with etags would be easy, but you say that is not the "incremental" tagging you had in mind, you want the granularity to be below file, i.e. on tag level. For that, a single time stamp of the TAGS file is insufficient, because all it can tell you is which files need to be re-tagged, whereas you want to know that on a per-tag basis.
On the contrary: file granularity should be fine. We just need *some* accounting somewhere to detect which files to reindex.
It's hard for me to imagine how a granularity lower than file would even work.
Another question is how to deal with file deletions: when a file is absent, there's nothing to take into account, for Make to trigger an incremental rebuild (or actually a deletion of this file's entry). Maybe this is a rare enough case, though, that 'make tags' users will deal with it manually in some fashion or other.
[Prev in Thread] | Current Thread | [Next in Thread] |