diff options
| author | jao <jao@gnu.org> | 2022-10-13 21:52:38 +0100 |
|---|---|---|
| committer | jao <jao@gnu.org> | 2022-10-13 21:52:38 +0100 |
| commit | c5926ca3eb9151ebac817689113cb5fe2067f4ae (patch) | |
| tree | 668423b6d0e88c510ddde7443ccb308824e9fac2 | |
| parent | 308171055786f99d6cdab22a397d31afa3eea2c2 (diff) | |
format for size annotation
| -rw-r--r-- | consult-recoll.el | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/consult-recoll.el b/consult-recoll.el index acb178e..92de27b 100644 --- a/consult-recoll.el +++ b/consult-recoll.el @@ -269,14 +269,19 @@ Set to nil to use the default 'title (path)' format." "If TRANSFORM return candidate, othewise extract mime-type." (if transform candidate (consult-recoll--candidate-mime candidate))) +(defun consult-recoll--format-size (bytes) + "Format the given size with adaptive units." + (let ((szn (string-to-number bytes))) + (cond ((< szn 1024) (format "%s bytes" szn)) + ((< szn 1048576) (format "%.1f Kbs" (/ szn 1024.0))) + ((< szn 1073741824) (format "%.1f Mbs" (/ szn 1024 1024))) + (t (format "%.1fs Gbs" (/ szn 1024 1024 1024)))))) + (defun consult-recoll--annotation (candidate) "Annotation for the given CANDIDATE (its size by default)" - (let* ((head (not (consult-recoll--candidate-page candidate))) - (size (consult-recoll--candidate-size candidate)) - (mime (if head - "" - (format ", %s" (consult-recoll--candidate-mime candidate))))) - (format " (%s bytes%s)" size mime))) + (and (not (consult-recoll--candidate-page candidate)) + (format " (%s)" (consult-recoll--format-size + (consult-recoll--candidate-size candidate))))) (defun consult-recoll--search (&optional initial) "Perform an asynchronous recoll search via `consult--read'. |
