GNU ELPA - xref

xref Atom Feed

Description
Cross-referencing commands
Latest
xref-1.7.0.tar (.sig), 2024-May-27, 90.0 KiB
Maintainer
Website
https://elpa.gnu.org/packages/xref.html
Browse repository
CGit or Gitweb
Badge

To install this package from Emacs, use list-packages.

Full description

This file provides a somewhat generic infrastructure for cross
referencing commands, in particular "find-definition".

Some part of the functionality must be implemented in a language
dependent way and that's done by defining an xref backend.

That consists of a constructor function, which should return a
backend value, and a set of implementations for the generic
functions:

`xref-backend-identifier-at-point',
`xref-backend-identifier-completion-table',
`xref-backend-definitions', `xref-backend-references',
`xref-backend-apropos', which see.

A major mode would normally use `add-hook' to add the backend
constructor to `xref-backend-functions'.

The last three methods operate with "xref" and "location" values.

One would usually call `xref-make' and `xref-make-file-location',
`xref-make-buffer-location' or `xref-make-bogus-location' to create
them.  More generally, a location must be an instance of a type for
which methods `xref-location-group' and `xref-location-marker' are
implemented.

There's a special kind of xrefs we call "match xrefs", which
correspond to search results.  For these values,
`xref-match-length' must be defined, and `xref-location-marker'
must return the beginning of the match.

Each identifier must be represented as a string.  Implementers can
use string properties to store additional information about the
identifier, but they should keep in mind that values returned from
`xref-backend-identifier-completion-table' should still be
distinct, because the user can't see the properties when making the
choice.

Older versions of Xref used EIEIO for implementation of the
built-in types, and included a class called `xref-location' which
was supposed to be inherited from.  Neither is true anymore.

See the etags and elisp-mode implementations for full examples.

Old versions

xref-1.6.3.tar.lz2024-Apr-2420.3 KiB
xref-1.6.2.tar.lz2023-Feb-2120.3 KiB
xref-1.6.1.tar.lz2023-Jan-1020.3 KiB
xref-1.6.0.tar.lz2022-Nov-2520.1 KiB
xref-1.5.1.tar.lz2022-Sep-1219.5 KiB
xref-1.5.0.tar.lz2022-Jul-2319.5 KiB
xref-1.4.1.tar.lz2022-Mar-0319.2 KiB
xref-1.4.0.tar.lz2022-Feb-2119.0 KiB
xref-1.3.2.tar.lz2021-Oct-2018.3 KiB
xref-1.3.2.tar.lz2021-Oct-2018.3 KiB
xref-1.3.1.tar.lz2021-Oct-1918.3 KiB
xref-1.3.0.tar.lz2021-Oct-0918.2 KiB
xref-1.2.2.tar.lz2021-Sep-0517.6 KiB
xref-1.2.1.tar.lz2021-Sep-0517.6 KiB
xref-1.1.0.tar.lz2021-Apr-2916.6 KiB
xref-1.0.4.el.lz2020-Dec-0915.5 KiB
xref-1.0.3.el.lz2020-Aug-2714.4 KiB
xref-1.0.2.el.lz2020-Aug-1414.3 KiB
xref-1.0.1.tar.lz2022-Feb-1014.0 KiB
xref-1.0.1.el.lz2020-May-1513.8 KiB