[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Generation of tags for the current project on the fly

From: Tom Tromey
Subject: Re: Generation of tags for the current project on the fly
Date: Wed, 17 Jan 2018 16:20:23 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux)

>>>>> "Dmitry" == Dmitry Gutov <address@hidden> writes:

>> A while ago I wrote to this list about some work I'd done in etags.
>> This was one of the features -- that is, I made "etags -u" work in etags
>> mode, not just ctags mode.

Dmitry> ctags supports incremental updates?

Yeah, see "-u" in "ctags --help":

-u, --update
        Update the tag entries for the given files, leaving tag
        entries for other files in place.  Currently, this is
        implemented by deleting the existing entries for the given
        files and then rewriting the new entries at the end of the
        tags file.  It is often faster to simply rebuild the entire
        tag file than to use this.

Dmitry> The config file duplicates some info in .gitignore and
Dmitry> project-vc-ignores, though. Which is unfortunate.

True, but there are two reasons for this.  One, there are still several
version control systems in use, and I didn't want to try to parse every
config file.  Second, sometimes a generated file will be checked in, but
you might still want to omit it from TAGS -- so some mechanism like this
is needed.

Dmitry> I also doubt that 'make tags' will go away anytime soon.

Sure, me too, but this approach is taken by more tools nowadays, and it
can live alongside "make tags".

Dmitry> Any chance your code supports something analogous to 'global
Dmitry> --single-update' (except with multiple file arguments, hopefully)?
Dmitry> That's what I've been trying to describe.

It could certainly be done without much effort.

>> I suppose I could push my branch to git if that would be convenient.
>> Just let me know.

Dmitry> I'm sure it would be helpful, even if only to study the approach.

I pushed it to feature/etags-update.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]