b44c00669a
In addition to providing a new `xref' backend, the patch also improves the general handling of expl3 syntax. Expl3 is the next-generation LaTeX specification, and has for some time been available by default in the LaTeX kernel. The new syntax co-exists in many files with the standard LaTeX2e syntax, so we try at least minimally to separate the way modes handle the two specifications, both to reduce visually-disturbing interference between them and also to improve the `xref' backend. (Bug#53749) * lib-src/etags.c (TeX_commands): Improve parsing of commands in TeX buffers. (TEX_defenv): Expand list of commands to tag by default in TeX buffers. (TeX_help): * doc/emacs/maintaining.texi (Tag Syntax): Document new tagged commands. (Identifier Search): Add note about semantic-symref-filepattern-alist, auto-mode-alist, and xref-find-references. * lisp/textmodes/tex-mode.el (tex-font-lock-suscript): Test for underscore in expl3 files and regions, disable subscript face there. (tex-common-initialization): Set up xref backend for in-tree TeX modes. Detect expl3 files, and in others set up a list of expl3 regions. (tex-expl-buffer-parse): New function called in previous. (tex-expl-buffer-p): New variable to hold the result of previous. (tex-expl-region-set): New function added to 'syntax-propertize-extend-region-functions' hook. (tex-expl-region-list): New variable to hold the result of previous. (tex--xref-backend): New function to identify the xref backend. (tex--thing-at-point, tex-thingatpt--beginning-of-symbol) (tex-thingatpt--end-of-symbol, tex--bounds-of-symbol-at-point): New functions to return 'thing-at-point' for xref backend. (tex-thingatpt-exclude-chars): New variable to do the same. (xref-backend-identifier-at-point): New TeX backend method to provide symbols for processing by xref. (xref-backend-identifier-completion-table) (xref-backend-identifier-completion-ignore-case) (xref-backend-definitions, xref-backend-apropos): Placeholders to call the standard 'etags' xref backend methods. (xref-backend-references): Wrapper to call the default xref backend method, finding as many relevant files as possible and using a bespoke syntax-propertize-function when required. (tex--collect-file-extensions, tex-xref-syntax-function): Helper functions for previous. (tex-find-references-syntax-table, tex--buffers-list) (tex--xref-syntax-fun, tex--old-syntax-function): New variables for the same. |
||
---|---|---|
.. | ||
artist.el | ||
bib-mode.el | ||
bibtex-style.el | ||
bibtex.el | ||
conf-mode.el | ||
css-mode.el | ||
dns-mode.el | ||
emacs-authors-mode.el | ||
emacs-news-mode.el | ||
enriched.el | ||
fill.el | ||
flyspell.el | ||
glyphless-mode.el | ||
html-ts-mode.el | ||
ispell.el | ||
less-css-mode.el | ||
makeinfo.el | ||
mhtml-mode.el | ||
nroff-mode.el | ||
page-ext.el | ||
page.el | ||
paragraphs.el | ||
picture.el | ||
pixel-fill.el | ||
po.el | ||
refbib.el | ||
refer.el | ||
refill.el | ||
reftex-auc.el | ||
reftex-cite.el | ||
reftex-dcr.el | ||
reftex-global.el | ||
reftex-index.el | ||
reftex-parse.el | ||
reftex-ref.el | ||
reftex-sel.el | ||
reftex-toc.el | ||
reftex-vars.el | ||
reftex.el | ||
remember.el | ||
rst.el | ||
sgml-mode.el | ||
string-edit.el | ||
table.el | ||
tex-mode.el | ||
texinfmt.el | ||
texinfo.el | ||
texnfo-upd.el | ||
text-mode.el | ||
tildify.el | ||
toml-ts-mode.el | ||
two-column.el | ||
underline.el | ||
word-wrap-mode.el | ||
yaml-ts-mode.el |