emacs-devel
[Top][All Lists]
Advanced

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

Re: xref-find-matches and stuff


From: Vitalie Spinu
Subject: Re: xref-find-matches and stuff
Date: Sat, 09 May 2015 14:58:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

 >>> Dmitry Gutov on Sat, 9 May 2015 03:09:00 +0300 wrote:


 >and that doesn't involve manual management of backends, IMO.

I also hope not.

 > Using one backend at a time would mirror the mechanics of
 > completion-at-point-function,

It works for completion because you can reliably disambiguate from
context which completion to use. C in C, Python in py, files in strings
with "/" in them etc. With xref context is often unrelated to where you
want to jump and, thus, is orthogonal to the selection of the "best"
backend.

 > major mode authors thus far (just use `add-hook'). Asking a major
 > mode to make a decision whether it will augment their results with
 > etags, seems improper. 

No. Major mode just defines one backend. The end user defines a list of
backends to be used simultaneously.

 > The quality of Imenu indexing is usually pretty low

True, but it does a good job for me.

 > Multi-language projects are an interesting example. But if there are
 > no references between the source file in different languages

Yet another argument for prompting on M-. by default ;)

 > Personally, I'd just make a "switch to another project" a separate
 > step here.

That's the same as picking a backend just before the jump. Could be, but
I hope for a better UI.

 > It's not ideal, no argument here. However, being unavailable in
 > buffers without TAGS, or in some languages, means it can be safely
 > skipped in those circumstances.

No, it cannot. That's the main point. If I am in a non-tagged file I
still want to be able to jump to my tags.

 >> The above is also the order that I would like to have in my backend
 >> list.

 > I'm pretty sure Imenu can't be the default backend to use. And you were
 > proposing to show only the results from the first backend in the list, right?

As an non-ideal alternative, yes. I might be quite happy with being able
to rotate backends during the minibuffer completion.


  Vitalie




reply via email to

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