Leverage -reduce-from function

Use the high order function -reduce-from instead of reimplementing a
specialiced reduce function to go get the longest path length.
This commit is contained in:
Juergen Hoetzel 2021-05-15 14:29:43 +02:00
parent 999f170337
commit 468167e356

View File

@ -166,20 +166,14 @@ Return detected partitions as a list of structs."
(string-trim-left percent (regexp-quote "%"))))))) (string-trim-left percent (regexp-quote "%")))))))
partitions))) partitions)))
(defun eshell-info-banner--get-longest-path (partitions &optional len) (defun eshell-info-banner--get-longest-path (partitions)
"Find the length of the longest partition path in `PARTITIONS'. "Return the length of the longest partition path in `PARTITIONS'.
The variable `LEN' should only be used internally and represents The returned value is in any case greater than `eshell-info-banner--min-length-left'."
the longest path so far, or the minimum length of text present on (-reduce-from (lambda (len partition)
the left side of the banner." (max len (length (eshell-info-banner--mounted-partitions-path partition))))
(let ((len (if (null len) eshell-info-banner--min-length-left
eshell-info-banner--min-length-left partitions))
len)))
(if (null partitions)
len
(let* ((path (eshell-info-banner--mounted-partitions-path (car partitions)))
(len (max (length path) len)))
(eshell-info-banner--get-longest-path (cdr partitions) len)))))
(defun eshell-info-banner--get-color-percentage (percentage) (defun eshell-info-banner--get-color-percentage (percentage)
"Display a `PERCENTAGE' with its according face." "Display a `PERCENTAGE' with its according face."