emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [elpa] externals/consult-recoll c5926ca3eb 1/2: format for size anno


From: Stefan Monnier
Subject: Re: [elpa] externals/consult-recoll c5926ca3eb 1/2: format for size annotation
Date: Thu, 13 Oct 2022 18:08:56 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

I see we have `memory-report--format` which does something similar.
I'm pretty sure we have other chunks of code doing the same elsewhere.
Should Someoneā„¢ introduce a function in `subr.el` or somesuch to solve
it once and for all?


        Stefan


ELPA Syncer [2022-10-13 16:57:35] wrote:

> branch: externals/consult-recoll
> commit c5926ca3eb9151ebac817689113cb5fe2067f4ae
> Author: jao <jao@gnu.org>
> Commit: jao <jao@gnu.org>
>
>     format for size annotation
> ---
>  consult-recoll.el | 17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/consult-recoll.el b/consult-recoll.el
> index acb178eba6..92de27b9ce 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'.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]