1#ifndef NVIM_EX_GETLN_H
2#define NVIM_EX_GETLN_H
3
4#include "nvim/eval/typval.h"
5#include "nvim/ex_cmds.h"
6#include "nvim/ex_cmds_defs.h"
7#include "nvim/os/time.h"
8#include "nvim/regexp_defs.h"
9
10/* Values for nextwild() and ExpandOne(). See ExpandOne() for meaning. */
11#define WILD_FREE 1
12#define WILD_EXPAND_FREE 2
13#define WILD_EXPAND_KEEP 3
14#define WILD_NEXT 4
15#define WILD_PREV 5
16#define WILD_ALL 6
17#define WILD_LONGEST 7
18#define WILD_ALL_KEEP 8
19
20#define WILD_LIST_NOTFOUND 0x01
21#define WILD_HOME_REPLACE 0x02
22#define WILD_USE_NL 0x04
23#define WILD_NO_BEEP 0x08
24#define WILD_ADD_SLASH 0x10
25#define WILD_KEEP_ALL 0x20
26#define WILD_SILENT 0x40
27#define WILD_ESCAPE 0x80
28#define WILD_ICASE 0x100
29#define WILD_ALLLINKS 0x200
30
31/// Present history tables
32typedef enum {
33 HIST_DEFAULT = -2, ///< Default (current) history.
34 HIST_INVALID = -1, ///< Unknown history.
35 HIST_CMD = 0, ///< Colon commands.
36 HIST_SEARCH, ///< Search commands.
37 HIST_EXPR, ///< Expressions (e.g. from entering = register).
38 HIST_INPUT, ///< input() lines.
39 HIST_DEBUG, ///< Debug commands.
40} HistoryType;
41
42/// Number of history tables
43#define HIST_COUNT (HIST_DEBUG + 1)
44
45typedef char_u *(*CompleteListItemGetter)(expand_T *, int);
46
47/// History entry definition
48typedef struct hist_entry {
49 int hisnum; ///< Entry identifier number.
50 char_u *hisstr; ///< Actual entry, separator char after the NUL.
51 Timestamp timestamp; ///< Time when entry was added.
52 list_T *additional_elements; ///< Additional entries from ShaDa file.
53} histentry_T;
54
55#ifdef INCLUDE_GENERATED_DECLARATIONS
56# include "ex_getln.h.generated.h"
57#endif
58#endif // NVIM_EX_GETLN_H
59