From: Eric Ludlam <eric@siege-engine.com>
To: Stephen Leake <stephen_leake@stephe-leake.org>, emacs-devel@gnu.org
Subject: Re: xref and GNU Global?
Date: Fri, 21 Aug 2015 21:41:33 -0400 [thread overview]
Message-ID: <55D7D34D.8000208@siege-engine.com> (raw)
In-Reply-To: <86pp2gstq9.fsf@stephe-leake.org>
On 08/21/2015 08:37 AM, Stephen Leake wrote:
> 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.
Global support from cedet/semantic comes from a few different places.
The core interface is a few calls in cedet-global.el. Helpful for
getting some raw data.
The semantic/db-global.el is for using GNU Global as a database backend.
Stand-alone, it is not useful. With Semantic and it's generic
database system, it provides a way to find symbol declarations across a
project. You would use this if you wanted to write or use an existing
tool using semantic's tag finding APIs to find declarations.
semantic-complete-jump is an example that uses that. The nice thing
about semantic's database system is it can mix multiple tools together,
for example global for project wide, and Semantic's parser system for
buffers you are editing that global doesn't know about yet.
semantic/symref/global.el is another place with global support. This
one is pretty simple as far as running and parsing output for use with
the semantic symref searching system. This tool is useful for finding
references, and also providing other tag information along with the
different hits.
Eric
prev parent reply other threads:[~2015-08-22 1:41 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
2015-08-22 1:41 ` Eric Ludlam [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55D7D34D.8000208@siege-engine.com \
--to=eric@siege-engine.com \
--cc=emacs-devel@gnu.org \
--cc=stephen_leake@stephe-leake.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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.