NeoMutt
2025-12-11-1039-g550ac6
Teaching an old dog new tricks
DOXYGEN
Toggle main menu visibility
Loading...
Searching...
No Matches
lib.h
Go to the documentation of this file.
1
22
68
69
#ifndef MUTT_FUZZY_LIB_H
70
#define MUTT_FUZZY_LIB_H
71
72
#include <stdbool.h>
73
74
struct
NeoMutt
;
75
struct
SubMenu
;
76
80
enum
FuzzyAlgo
81
{
82
FUZZY_ALGO_SUBSEQ
= 0,
83
// extensible
84
// FUZZY_ALGO_EDIT,
85
// FUZZY_ALGO_TOKEN,
86
};
87
91
struct
FuzzyOptions
92
{
93
bool
case_sensitive
;
94
bool
smart_case
;
95
bool
prefer_prefix
;
96
int
max_pattern
;
97
};
98
102
struct
FuzzyResult
103
{
104
int
score
;
105
int
span
;
106
int
start
;
107
int
end
;
108
};
109
110
void
fuzzy_init_keys
(
struct
NeoMutt
*n,
struct
SubMenu
*sm_generic);
111
struct
SubMenu
*
fuzzy_get_submenu
(
void
);
112
113
int
fuzzy_match
(
const
char
*pattern,
const
char
*
candidate
,
enum
FuzzyAlgo
algo,
const
struct
FuzzyOptions
*opts,
struct
FuzzyResult
*out);
114
115
#endif
/* MUTT_FUZZY_LIB_H */
candidate
bool candidate(struct CompletionData *cd, char *user, const char *src, char *dest, size_t dlen)
Helper function for completion.
Definition
helpers.c:79
fuzzy_get_submenu
struct SubMenu * fuzzy_get_submenu(void)
Get the Fuzzy SubMenu.
Definition
functions.c:91
FuzzyAlgo
FuzzyAlgo
Fuzzy matching algorithm types.
Definition
lib.h:81
FUZZY_ALGO_SUBSEQ
@ FUZZY_ALGO_SUBSEQ
Subsequence matching algorithm.
Definition
lib.h:82
fuzzy_match
int fuzzy_match(const char *pattern, const char *candidate, enum FuzzyAlgo algo, const struct FuzzyOptions *opts, struct FuzzyResult *out)
Perform fuzzy matching.
Definition
fuzzy.c:58
fuzzy_init_keys
void fuzzy_init_keys(struct NeoMutt *n, struct SubMenu *sm_generic)
Initialise the Fuzzy Keybindings - Implements init_keys_api.
Definition
functions.c:70
FuzzyOptions
Options for fuzzy matching.
Definition
lib.h:92
FuzzyOptions::smart_case
bool smart_case
Auto case-sensitive if pattern has uppercase.
Definition
lib.h:94
FuzzyOptions::case_sensitive
bool case_sensitive
Match case exactly.
Definition
lib.h:93
FuzzyOptions::max_pattern
int max_pattern
Safety bound (<=0 = default 256, capped at 256).
Definition
lib.h:96
FuzzyOptions::prefer_prefix
bool prefer_prefix
Extra weight for prefix matches.
Definition
lib.h:95
FuzzyResult
Result of a fuzzy match.
Definition
lib.h:103
FuzzyResult::score
int score
Score (<0 = no match).
Definition
lib.h:104
FuzzyResult::span
int span
Match span.
Definition
lib.h:105
FuzzyResult::start
int start
First match position.
Definition
lib.h:106
FuzzyResult::end
int end
Last match position.
Definition
lib.h:107
NeoMutt
Container for Accounts, Notifications.
Definition
neomutt.h:41
SubMenu
Collection of related functions.
Definition
menudef.h:33