unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
To: emacs-devel@gnu.org
Subject: Re: xref and GNU Global?
Date: Fri, 21 Aug 2015 07:37:18 -0500	[thread overview]
Message-ID: <86pp2gstq9.fsf@stephe-leake.org> (raw)
In-Reply-To: <87y4h7klht.fsf@petton.fr> (Nicolas Petton's message of "Wed, 19 Aug 2015 23:37:50 +0200")

Nicolas Petton <nicolas@petton.fr> writes:

> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>>> I find GNU Global to be far superior to etags or ctags.  Is there any
>>> plan to have support for it in xref.el? (Or maybe there is and I missed
>>> it).
>>
>> Yes.  IIRC the plan is to wait for Nicolas Petton to start working on
>> it.
>
> Hmm, right.  First I'll have a look at what semantic & xref already have
> to offer :)

One approach is to use what semantic currently has for gnu global;
that's in emacs/lisp/cedet/semantic/db-global.el. I'm not clear if all
of that is accessible via the xref interface yet.

I suspect semantic/db-global.el provides the same functionality as
ggtags, possibly without as much UI; the current design goal is for xref
to be the UI for semantic cross-reference features.


Another approach is to try to integrate ggtags with xref.

There are two major differences between ggtags and xref:

xref provides a way to dispatch, in order to choose the right tool.
ggtags apparently has another way.

In addition, ggtags uses compilation mode to display the results; xref
has a different display by default (the display function can be changed
by a hook).

The first step is to decouple the gnu global code into "UI", "accumulate
reference" and "display references" sections (that may be done already;
I didn't actually look).

Then set xref-find-function and a few other things, to have the xref UI
dispatch to the Gnu Global "accumulate references" code.

Then you can either add new code that produces xref-locations, or set
the hook that changes the display function for xref.

-- 
-- Stephe



  reply	other threads:[~2015-08-21 12:37 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-19  9:02 xref and GNU Global? Nicolas Petton
2015-08-19 14:06 ` Stephen Leake
2015-08-19 21:27   ` Nicolas Petton
2015-08-20 15:16     ` Stephen Leake
2015-08-21  8:54       ` Nicolas Petton
2015-08-19 14:22 ` Dmitry Gutov
2015-08-19 21:28   ` Nicolas Petton
2015-08-21  7:46     ` Eli Zaretskii
2015-08-19 17:19 ` Stefan Monnier
2015-08-19 21:37   ` Nicolas Petton
2015-08-21 12:37     ` Stephen Leake [this message]
2015-08-22  1:41       ` Eric Ludlam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86pp2gstq9.fsf@stephe-leake.org \
    --to=stephen_leake@stephe-leake.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).