[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/auctex-label-numbers 0132eacc48 05/12: add annotations
From: |
ELPA Syncer |
Subject: |
[elpa] externals/auctex-label-numbers 0132eacc48 05/12: add annotations for completion-at-point inside \ref, \eqref |
Date: |
Thu, 6 Jun 2024 03:58:11 -0400 (EDT) |
branch: externals/auctex-label-numbers
commit 0132eacc48829f5bfa8d37df3a825a2d7ba4c0af
Author: Paul Nelson <ultrono@gmail.com>
Commit: Paul Nelson <ultrono@gmail.com>
add annotations for completion-at-point inside \ref, \eqref
---
tex-numbers.el | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/tex-numbers.el b/tex-numbers.el
index 7a26f3ccca..cd89eed0ef 100644
--- a/tex-numbers.el
+++ b/tex-numbers.el
@@ -100,6 +100,25 @@ the label number as a string, or nil if the label cannot
be found."
(when cache
(gethash label cache))))
+(defun tex-numbers-label-annotation-function (label)
+ "Return context for LABEL, augmented by the corresponding label number."
+ (concat
+ (LaTeX-completion-label-annotation-function label)
+ (when-let ((number (tex-numbers-label-to-number label)))
+ (format " (%s)" number))))
+
+(defvar tex-numbers-mode)
+
+(defun tex-numbers-completion-at-point ()
+ "Complete a label at point, with label numbers."
+ (if tex-numbers-mode
+ (when-let ((completion (TeX--completion-at-point)))
+ (let ((props (nthcdr 3 completion)))
+ (plist-put props :annotation-function
+ #'tex-numbers-label-annotation-function))
+ completion)
+ (TeX--completion-at-point)))
+
(defcustom tex-numbers-label-to-number-function nil
"Function to retrieve label numbers.
If non-nil, `tex-numbers-label-to-number' delegates to this function.
@@ -190,6 +209,11 @@ There should be a corresponding function
`tex-numbers-MACRO-display'
that returns a fold display string for that macro."
:type '(repeat string))
+(defun tex-numbers--capf-install ()
+ "Install `completion-at-point' function for label numbers."
+ (add-hook 'completion-at-point-functions #'tex-numbers-completion-at-point
nil t)
+ (remove-hook 'completion-at-point-functions #'TeX--completion-at-point t))
+
;;;###autoload
(define-minor-mode tex-numbers-mode
"Toggle `tex-numbers' mode."
@@ -198,6 +222,7 @@ that returns a fold display string for that macro."
(cond
(tex-numbers-mode
(setq preview-preprocess-function #'tex-numbers-preview-preprocessor)
+ (add-hook 'LaTeX-mode-hook #'tex-numbers--capf-install)
(require 'tex-fold)
(dolist (macro tex-numbers-macro-list)
(let ((func (intern (format "tex-numbers-%s-display" macro))))
@@ -211,6 +236,7 @@ that returns a fold display string for that macro."
(TeX-fold-mode 1)))
(t
(setq preview-preprocess-function nil)
+ (remove-hook 'LaTeX-mode-hook #'tex-numbers--capf-install)
(dolist (macro tex-numbers-macro-list)
(let ((func (intern (format "tex-numbers-%s-display" macro))))
(setq TeX-fold-macro-spec-list
- [elpa] externals/auctex-label-numbers 235bc005b2 01/12: Initial commit, (continued)
- [elpa] externals/auctex-label-numbers 235bc005b2 01/12: Initial commit, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 18a001df85 03/12: fix URL, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers f11407452f 04/12: incorporate feedback from Arash, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 30919ac12f 11/12: rename to auctex-label-numbers.el, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 462f9bf626 02/12: Add files via upload, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 4a53df7fce 06/12: simplify capf label annotation using advice, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 78abc0d797 09/12: swap cl for seq, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 71e97e97b7 08/12: clean up, bump version, add readme details, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 4eefdcfa69 07/12: adjust release notice, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 38f3bc735d 10/12: fix regexp pattern, ELPA Syncer, 2024/06/06
- [elpa] externals/auctex-label-numbers 0132eacc48 05/12: add annotations for completion-at-point inside \ref, \eqref,
ELPA Syncer <=
- [elpa] externals/auctex-label-numbers 92d855b4ef 12/12: Add note of externaldocument shortcoming, ELPA Syncer, 2024/06/06