NeoMutt  2024-04-16-36-g75b6fb
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
config.c
Go to the documentation of this file.
1
29#include "config.h"
30#include <stddef.h>
31#include <stdbool.h>
32#include "private.h"
33#include "config/lib.h"
34#include "expando/lib.h"
35
42static const struct ExpandoDefinition PatternFormatDef[] = {
43 // clang-format off
47 { "d", "description", ED_PATTERN, ED_PAT_DESCRIPTION, E_TYPE_STRING, NULL },
48 { "e", "expression", ED_PATTERN, ED_PAT_EXPRESION, E_TYPE_STRING, NULL },
49 { "n", "number", ED_PATTERN, ED_PAT_NUMBER, E_TYPE_NUMBER, NULL },
50 { NULL, NULL, 0, -1, -1, NULL }
51 // clang-format on
52};
53
57static struct ConfigDef PatternVars[] = {
58 // clang-format off
59 { "external_search_command", DT_STRING|D_STRING_COMMAND, 0, 0, NULL,
60 "External search command"
61 },
62 { "pattern_format", DT_EXPANDO, IP "%2n %-15e %d", IP &PatternFormatDef, NULL,
63 "printf-like format string for the pattern completion menu"
64 },
65 { "thorough_search", DT_BOOL, true, 0, NULL,
66 "Decode headers and messages before searching them"
67 },
68 { NULL },
69 // clang-format on
70};
71
76{
78}
Convenience wrapper for the config headers.
bool cs_register_variables(const struct ConfigSet *cs, struct ConfigDef vars[])
Register a set of config items.
Definition: set.c:281
#define IP
Definition: set.h:54
@ E_TYPE_STRING
Data is a string.
Definition: definition.h:37
@ E_TYPE_NUMBER
Data is numeric.
Definition: definition.h:38
@ ED_PATTERN
Pattern ED_PAT_ ExpandoDataPattern.
Definition: domain.h:51
@ ED_GLOBAL
Global ED_GLO_ ExpandoDataGlobal.
Definition: domain.h:44
Parse Expando string.
bool config_init_pattern(struct ConfigSet *cs)
Register pattern config variables - Implements module_init_config_t -.
Definition: config.c:75
struct ExpandoNode * node_padding_parse(const char *str, const char **parsed_until, int did, int uid, ExpandoParserFlags flags, struct ExpandoParseError *error)
Parse a Padding Expando - Implements ExpandoDefinition::parse() -.
Definition: node_padding.c:232
static struct ConfigDef PatternVars[]
Config definitions for the pattern library.
Definition: config.c:57
static const struct ExpandoDefinition PatternFormatDef[]
Expando definitions.
Definition: config.c:42
@ ED_PAT_DESCRIPTION
PatternEntry.desc.
Definition: private.h:51
@ ED_PAT_EXPRESION
PatternEntry.expr.
Definition: private.h:52
@ ED_PAT_NUMBER
PatternEntry.num.
Definition: private.h:53
GUI display the mailboxes in a side panel.
Definition: set.h:64
Container for lots of config items.
Definition: set.h:252
Definition of a format string.
Definition: definition.h:52
#define D_STRING_COMMAND
A command.
Definition: types.h:99
@ DT_BOOL
boolean option
Definition: types.h:32
@ DT_STRING
a string
Definition: types.h:45
@ DT_EXPANDO
an expando
Definition: types.h:34
@ ED_GLO_PADDING_EOL
Padding to end-of-line.
Definition: uid.h:36
@ ED_GLO_PADDING_HARD
Hard Padding.
Definition: uid.h:37
@ ED_GLO_PADDING_SOFT
Soft Padding.
Definition: uid.h:38