NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
query.h
Go to the documentation of this file.
1
22
23
#ifndef MUTT_NOTMUCH_QUERY_H
24
#define MUTT_NOTMUCH_QUERY_H
25
26
#include <stdbool.h>
27
#include <stddef.h>
28
34
enum
NmQueryType
35
{
36
NM_QUERY_TYPE_UNKNOWN
= 0,
37
NM_QUERY_TYPE_MESSAGES
,
38
NM_QUERY_TYPE_THREADS
,
39
};
40
44
enum
NmTimebase
45
{
46
NMTB_UNKNOWN
= 0,
47
NMTB_HOUR
,
48
NMTB_DAY
,
49
NMTB_WEEK
,
50
NMTB_MONTH
,
51
NMTB_YEAR
,
52
};
53
57
enum
NmWindowQueryRc
58
{
59
NM_WINDOW_QUERY_SUCCESS
= 1,
60
NM_WINDOW_QUERY_INVALID_TIMEBASE
,
61
NM_WINDOW_QUERY_INVALID_DURATION
62
};
63
64
extern
const
struct
EnumDef
NmQueryWindowTimebaseDef
;
65
extern
const
struct
EnumDef
NmQueryTypeDef
;
66
67
enum
NmQueryType
nm_parse_type_from_query
(
char
*buf,
enum
NmQueryType
fallback);
68
enum
NmQueryType
nm_string_to_query_type
(
const
char
*str);
69
enum
NmQueryType
nm_string_to_query_type_mapper
(
const
char
*str);
70
const
char
*
nm_query_type_to_string
(
enum
NmQueryType
query_type);
71
enum
NmWindowQueryRc
72
nm_windowed_query_from_query
(
char
*buf,
size_t
buflen,
const
bool
force_enable,
73
const
short
duration,
const
short
current_pos,
74
const
char
*current_search,
enum
NmTimebase
timebase,
75
const
char
*or_terms);
76
77
#endif
/* MUTT_NOTMUCH_QUERY_H */
NmQueryWindowTimebaseDef
const struct EnumDef NmQueryWindowTimebaseDef
Data for the $nm_query_window_timebase enumeration.
Definition
query.c:73
NmQueryTypeDef
const struct EnumDef NmQueryTypeDef
Data for the $nm_query_type enumeration.
Definition
query.c:52
nm_string_to_query_type
enum NmQueryType nm_string_to_query_type(const char *str)
Lookup a query type.
Definition
query.c:150
NmWindowQueryRc
NmWindowQueryRc
Return codes for nm_windowed_query_from_query().
Definition
query.h:58
NM_WINDOW_QUERY_SUCCESS
@ NM_WINDOW_QUERY_SUCCESS
Query was successful.
Definition
query.h:59
NM_WINDOW_QUERY_INVALID_DURATION
@ NM_WINDOW_QUERY_INVALID_DURATION
Invalid duration.
Definition
query.h:61
NM_WINDOW_QUERY_INVALID_TIMEBASE
@ NM_WINDOW_QUERY_INVALID_TIMEBASE
Invalid timebase.
Definition
query.h:60
NmQueryType
NmQueryType
Notmuch Query Types.
Definition
query.h:35
NM_QUERY_TYPE_UNKNOWN
@ NM_QUERY_TYPE_UNKNOWN
Unknown query type. Error in notmuch query.
Definition
query.h:36
NM_QUERY_TYPE_THREADS
@ NM_QUERY_TYPE_THREADS
Whole threads.
Definition
query.h:38
NM_QUERY_TYPE_MESSAGES
@ NM_QUERY_TYPE_MESSAGES
Default: Messages only.
Definition
query.h:37
nm_string_to_query_type_mapper
enum NmQueryType nm_string_to_query_type_mapper(const char *str)
Lookup a query type.
Definition
query.c:169
nm_parse_type_from_query
enum NmQueryType nm_parse_type_from_query(char *buf, enum NmQueryType fallback)
Parse a query type out of a query.
Definition
query.c:90
nm_query_type_to_string
const char * nm_query_type_to_string(enum NmQueryType query_type)
Turn a query type into a string.
Definition
query.c:137
nm_windowed_query_from_query
enum NmWindowQueryRc nm_windowed_query_from_query(char *buf, size_t buflen, const bool force_enable, const short duration, const short current_pos, const char *current_search, enum NmTimebase timebase, const char *or_terms)
Windows buf with notmuch date: search term.
Definition
query.c:220
NmTimebase
NmTimebase
Time periods for notmuch windowed queries.
Definition
query.h:45
NMTB_YEAR
@ NMTB_YEAR
Years.
Definition
query.h:51
NMTB_MONTH
@ NMTB_MONTH
Months.
Definition
query.h:50
NMTB_HOUR
@ NMTB_HOUR
Hours.
Definition
query.h:47
NMTB_WEEK
@ NMTB_WEEK
Weeks.
Definition
query.h:49
NMTB_UNKNOWN
@ NMTB_UNKNOWN
Unknown timebase.
Definition
query.h:46
NMTB_DAY
@ NMTB_DAY
Days.
Definition
query.h:48
EnumDef
An enumeration.
Definition
enum.h:30