branch: externals/vc-jj
commit 8a90a912632ca71a4492f3643c208430d9ee00f5
Author: Rudi Schlatte <[email protected]>
Commit: Wojciech Siewierski <[email protected]>
Refactor vc-jj-dir-extra-headers
Eliminate two layers of nesting: fold one seq-let and one let* into a
top-level pcase-let*
---
vc-jj.el | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/vc-jj.el b/vc-jj.el
index eb39aaca81..bb79c1daf9 100644
--- a/vc-jj.el
+++ b/vc-jj.el
@@ -106,9 +106,11 @@ If the current change is conflicted, divergent or hidden,
also
add a Status header. (We do not check for emptiness of the
current change since the user can see that via the list of files
below the headers anyway.)"
- (let* ((default-directory dir)
- (info (process-lines "jj" "log" "--no-graph" "-r" "@" "-T"
- "concat(
+ (pcase-let* ((default-directory dir)
+ (`( ,change-id ,change-id-short ,commit-id ,commit-id-short
+ ,description ,bookmarks ,conflict ,divergent ,hidden)
+ (process-lines "jj" "log" "--no-graph" "-r" "@" "-T"
+ "concat(
self.change_id().short(), \"\\n\",
self.change_id().shortest(), \"\\n\",
self.commit_id().short(), \"\\n\",
@@ -118,24 +120,21 @@ bookmarks.join(\",\"), \"\\n\",
self.conflict(), \"\\n\",
self.divergent(), \"\\n\",
self.hidden(), \"\\n\"
-)")))
- (seq-let [change-id change-id-short commit-id commit-id-short
- description bookmarks conflict divergent hidden]
- info
- (cl-flet ((fmt (key value &optional prefix)
+)"))
+ (status (concat
+ (when (string= conflict "true") "(conflict)")
+ (when (string= divergent "true") "(divergent)")
+ (when (string= hidden "true") "(hidden)")))
+ (change-id-suffix (substring change-id (length
change-id-short)))
+ (commit-id-suffix (substring commit-id (length
commit-id-short))))
+ (cl-flet ((fmt (key value &optional prefix)
(concat
(propertize (format "% -11s: " key) 'face 'vc-dir-header)
;; there is no header value emphasis face, so we
;; use vc-dir-status-up-to-date for the prefix.
(when prefix (propertize prefix 'face
'vc-dir-status-up-to-date))
(propertize value 'face 'vc-dir-header-value))))
- (let ((status (concat
- (when (string= conflict "true") "(conflict)")
- (when (string= divergent "true") "(divergent)")
- (when (string= hidden "true") "(hidden)")))
- (change-id-suffix (substring change-id (length change-id-short)))
- (commit-id-suffix (substring commit-id (length
commit-id-short))))
- (string-join (seq-remove
+ (string-join (seq-remove
#'null
(list
(fmt "Description" (if (string= description "") "(no
description set)" description))
@@ -143,11 +142,12 @@ self.hidden(), \"\\n\"
(fmt "Commit" commit-id-suffix commit-id-short)
(unless (string= bookmarks "") (fmt "Bookmarks"
bookmarks))
(unless (string= status "")
- ;; open-code this line instead of adding a face
parameter to `fmt'
+ ;; open-code this line instead of adding a
+ ;; `face' parameter to `fmt'
(concat
(propertize (format "% -11s: " "Status") 'face
'vc-dir-header)
(propertize status 'face
'vc-dir-status-warning)))))
- "\n"))))))
+ "\n"))))
(defun vc-jj-working-revision (file)
(when-let ((default-directory (vc-jj-root file)))