unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Marcin Borkowski <mbork@mbork.pl>
To: Eli Zaretskii <eliz@gnu.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: How to define xref-find-definitions for a new mode?
Date: Mon, 11 Jun 2018 05:22:26 +0200	[thread overview]
Message-ID: <87y3fm80st.fsf@mbork.pl> (raw)
In-Reply-To: <83vaass334.fsf@gnu.org>


On 2018-06-09, at 11:48, Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Marcin Borkowski <mbork@mbork.pl>
>> Cc: help-gnu-emacs@gnu.org
>> Date: Sat, 09 Jun 2018 11:10:22 +0200
>>
>> Thanks.  Are there other places I could look into, like xref
>> implementation for a concrete language?
>
> In the sources for the respective languages, notably Lisp.  Search for
> "xref-".
>
>> > (Btw, doesn't it already work?  Etags is an existing back-end for
>> > Xref, and 'etags' the program already supports TeX and its
>> > derivatives, so it is able to create TAGS tables for LaTeX files.)
>>
>> Well, possibly, but I'd like it to work like for Elisp or JavaScript,
>> without a TAGS table.
>
> Is this likely to happen?  Lisp and JavaScript know where to find
> functions and variables because they keep that information as part of
> defining them.  I don't think TeX does anything similar, does it?

Why couldn't it (at least in theory)?  If etags can do it, why not
Emacs?  Also, I'm not sure JS does that.

>> Also, I want it to go to \label when on \ref, to \bib / \bibitem
>> when on \cite etc.
>
> Are you sure it doesn't work already?  E.g., if \label is tagged, then
> "M-." on the tag's name at \ref should go to the label's definition.

Well, apparently it doesn't without the TAGS file.  And even with it,
I couldn't make it to work.  Also, amsrefs is not suppported.

Best,

--
Marcin Borkowski
http://mbork.pl



  reply	other threads:[~2018-06-11  3:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-09  6:46 How to define xref-find-definitions for a new mode? Marcin Borkowski
2018-06-09  8:47 ` Eli Zaretskii
2018-06-09  9:10   ` Marcin Borkowski
2018-06-09  9:48     ` Eli Zaretskii
2018-06-11  3:22       ` Marcin Borkowski [this message]
2018-06-11 15:13         ` Eli Zaretskii
2018-06-15  4:49           ` Marcin Borkowski
2018-06-15  7:41             ` Eli Zaretskii
2018-06-15  8:59               ` Marcin Borkowski
2018-06-12 13:30     ` Dmitry Gutov

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=87y3fm80st.fsf@mbork.pl \
    --to=mbork@mbork.pl \
    --cc=eliz@gnu.org \
    --cc=help-gnu-emacs@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.
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).