branch: externals/vc-jj
commit 117c75b7401246399f7d7d7006cc554f3a73e636
Author: Rudi Schlatte <[email protected]>
Commit: Rudi Schlatte <[email protected]>
Better mode-line indicator
---
vc-jj.el | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/vc-jj.el b/vc-jj.el
index 939ef2508e..eb39aaca81 100644
--- a/vc-jj.el
+++ b/vc-jj.el
@@ -155,6 +155,23 @@ self.hidden(), \"\\n\"
"-r" "@"
"-T" "self.change_id().short() ++ \"\\n\""))))
+(defun vc-jj-mode-line-string (file)
+ "Return a mode line string and tooltip for FILE."
+ (pcase-let* ((long-rev (vc-jj-working-revision file))
+ (`(,short-rev ,description)
+ (process-lines "jj" "log" "--no-graph" "-r" long-rev
+ "-T" "self.change_id().shortest() ++ \"\\n\" ++
description.first_line() ++ \"\\n\""))
+ (def-ml (vc-default-mode-line-string 'JJ file))
+ (help-echo (get-text-property 0 'help-echo def-ml))
+ (face (get-text-property 0 'face def-ml)))
+ ;; See docstring of `vc-default-mode-line-string' for a
+ ;; description of the string prefix we extract here
+ (propertize (concat (substring def-ml 0 3) short-rev)
+ 'face face
+ 'help-echo (concat help-echo
+ "\nCurrent change: " long-rev
+ " (" description ")"))))
+
(defun vc-jj-create-repo ()
(if current-prefix-arg
(call-process "jj" nil nil nil "git" "init" "--colocate")