[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vc-jj 7055389ce9: Show descriptions when querying for a
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vc-jj 7055389ce9: Show descriptions when querying for a revision. |
Date: |
Mon, 7 Jul 2025 07:00:29 -0400 (EDT) |
branch: externals/vc-jj
commit 7055389ce993e38dd75597710c1e02add39757eb
Author: Rudi Schlatte <rudi@constantly.at>
Commit: Rudi Schlatte <rudi@constantly.at>
Show descriptions when querying for a revision.
---
vc-jj.el | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/vc-jj.el b/vc-jj.el
index af33011222..3bb1163e6e 100644
--- a/vc-jj.el
+++ b/vc-jj.el
@@ -752,13 +752,30 @@ four groups: change id, author, datetime, line number.")
(when (looking-at vc-jj--annotation-line-prefix-re)
(match-string-no-properties 1))))
+(defun vc-jj--revision-annotation-function (elem)
+ "Calculate propertized change description from ELEM.
+ELEM can be of the form (change-id . description), as produced in
+`vc-jj-revision-completion-table', in which case we return the second
+element, or can be a change id, in which case we query for the first
+line of its description."
+ (let ((description
+ (if (listp elem)
+ (second elem)
+ (vc-jj--command-parseable "log" "-r" elem "--no-graph" "-T"
"self.description().first_line()"))))
+ (format " %s" (propertize description 'face 'completions-annotations))))
+
(defun vc-jj-revision-completion-table (files)
- (let ((revisions
- (apply #'vc-jj--process-lines "log" "--no-graph"
- "-T" "self.change_id() ++ \"\\n\"" "--" files)))
+ "Return a completion table for existing revisions of FILES."
+ (let* ((revisions
+ (mapcar
+ ;; Boldly assuming that jj's change ids won't suddenly change length
+ (lambda (line) (list (substring line 0 31) (substring line 32)))
+ (apply #'vc-jj--process-lines "log" "--no-graph"
+ "-T" "self.change_id() ++ self.description().first_line() ++
\"\\n\"" "--" files))))
(lambda (string pred action)
(if (eq action 'metadata)
- `(metadata . ((display-sort-function . ,#'identity)))
+ `(metadata . ((display-sort-function . ,#'identity)
+ (annotation-function .
,#'vc-jj--revision-annotation-function)))
(complete-with-action action revisions string pred)))))
(defun vc-jj-retrieve-tag (_dir rev _update)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/vc-jj 7055389ce9: Show descriptions when querying for a revision.,
ELPA Syncer <=