[PATCH v2 03/11] notmuch-search: add filesize based sort order
David Bremner
david at tethera.net
Fri Jun 9 17:30:18 PDT 2017
Ioan-Adrian Ratiu <adi at adirat.com> writes:
> With this it now becomes possible to order the search results by
> filesize using the --sort=biggest-first/smallest-first args.
You should mention that you are also changing the library API, as well
as adding new search options to notmuch-show and notmuch-search.
>
> diff --git a/lib/notmuch.h b/lib/notmuch.h
> index f90458ce..b7bf3526 100644
> --- a/lib/notmuch.h
> +++ b/lib/notmuch.h
> @@ -743,6 +743,14 @@ typedef enum {
> */
> NOTMUCH_SORT_MESSAGE_ID,
> /**
> + * Smallest first.
> + */
> + NOTMUCH_SORT_SMALLEST_FIRST,
> + /**
> + * Biggest first
> + */
> + NOTMUCH_SORT_BIGGEST_FIRST,
> + /**
> * Do not sort.
> */
At the moment the ABI is unstable on master, but that will change with
the next release. Depending on when this is merged, it may need to bump
the library version. I think just bumping LIBNOTMUCH_MINOR should be ok.
> +++ b/lib/query.cc
> @@ -330,6 +330,12 @@ _notmuch_query_search_documents (notmuch_query_t *query,
> case NOTMUCH_SORT_MESSAGE_ID:
> enquire.set_sort_by_value (NOTMUCH_VALUE_MESSAGE_ID, FALSE);
> break;
> + case NOTMUCH_SORT_SMALLEST_FIRST:
> + enquire.set_sort_by_value (NOTMUCH_VALUE_FILESIZE, FALSE);
> + break;
> + case NOTMUCH_SORT_BIGGEST_FIRST:
> + enquire.set_sort_by_value (NOTMUCH_VALUE_FILESIZE, TRUE);
> + break;
> case NOTMUCH_SORT_UNSORTED:
> break;
> }
> diff --git a/notmuch-search.c b/notmuch-search.c
> index 019e14ee..65ecfaab 100644
> --- a/notmuch-search.c
> +++ b/notmuch-search.c
> @@ -778,6 +778,8 @@ static const notmuch_opt_desc_t common_options[] = {
> { NOTMUCH_OPT_KEYWORD, &search_context.sort, "sort", 's',
> (notmuch_keyword_t []){ { "oldest-first", NOTMUCH_SORT_OLDEST_FIRST },
> { "newest-first", NOTMUCH_SORT_NEWEST_FIRST },
> + { "smallest-first", NOTMUCH_SORT_SMALLEST_FIRST },
> + { "biggest-first", NOTMUCH_SORT_BIGGEST_FIRST },
> { 0, 0 } } },
> { NOTMUCH_OPT_KEYWORD, &search_context.format_sel, "format", 'f',
> (notmuch_keyword_t []){ { "json", NOTMUCH_FORMAT_JSON },
These new options should be documented, and tested.
More information about the notmuch
mailing list