1#ifndef NVIM_EDIT_H
2#define NVIM_EDIT_H
3
4#include "nvim/vim.h"
5
6/*
7 * Array indexes used for cptext argument of ins_compl_add().
8 */
9#define CPT_ABBR 0 // "abbr"
10#define CPT_MENU 1 // "menu"
11#define CPT_KIND 2 // "kind"
12#define CPT_INFO 3 // "info"
13#define CPT_USER_DATA 4 // "user data"
14#define CPT_COUNT 5 // Number of entries
15
16// values for cp_flags
17typedef enum {
18 CP_ORIGINAL_TEXT = 1, // the original text when the expansion begun
19 CP_FREE_FNAME = 2, // cp_fname is allocated
20 CP_CONT_S_IPOS = 4, // use CONT_S_IPOS for compl_cont_status
21 CP_EQUAL = 8, // ins_compl_equal() always returns true
22 CP_ICASE = 16, // ins_compl_equal ignores case
23} cp_flags_T;
24
25typedef int (*IndentGetter)(void);
26
27/* Values for in_cinkeys() */
28#define KEY_OPEN_FORW 0x101
29#define KEY_OPEN_BACK 0x102
30#define KEY_COMPLETE 0x103 /* end of completion */
31
32/* Values for change_indent() */
33#define INDENT_SET 1 /* set indent */
34#define INDENT_INC 2 /* increase indent */
35#define INDENT_DEC 3 /* decrease indent */
36
37/* flags for beginline() */
38#define BL_WHITE 1 /* cursor on first non-white in the line */
39#define BL_SOL 2 /* use 'sol' option */
40#define BL_FIX 4 /* don't leave cursor on a NUL */
41
42/* flags for insertchar() */
43#define INSCHAR_FORMAT 1 /* force formatting */
44#define INSCHAR_DO_COM 2 /* format comments */
45#define INSCHAR_CTRLV 4 /* char typed just after CTRL-V */
46#define INSCHAR_NO_FEX 8 /* don't use 'formatexpr' */
47#define INSCHAR_COM_LIST 16 /* format comments with list/2nd line indent */
48
49#ifdef INCLUDE_GENERATED_DECLARATIONS
50# include "edit.h.generated.h"
51#endif
52#endif // NVIM_EDIT_H
53