1 #ifndef NVIM_EX_CMDS_H
2 #define NVIM_EX_CMDS_H
3 
4 #include <stdbool.h>
5 
6 #include "nvim/buffer_defs.h"
7 #include "nvim/eval/typval.h"
8 #include "nvim/ex_cmds_defs.h"
9 #include "nvim/os/time.h"
10 #include "nvim/pos.h"
11 
12 // flags for do_ecmd()
13 #define ECMD_HIDE            0x01    // don't free the current buffer
14 #define ECMD_SET_HELP        0x02    // set b_help flag of (new) buffer before
15                                      // opening file
16 #define ECMD_OLDBUF          0x04    // use existing buffer if it exists
17 #define ECMD_FORCEIT         0x08    // ! used in Ex command
18 #define ECMD_ADDBUF          0x10    // don't edit, just add to buffer list
19 #define ECMD_ALTBUF          0x20    // like ECMD_ADDBUF and set the alternate file
20 #define ECMD_NOWINENTER      0x40    // do not trigger BufWinEnter
21 
22 // for lnum argument in do_ecmd()
23 #define ECMD_LASTL      (linenr_T)0     // use last position in loaded file
24 #define ECMD_LAST       (linenr_T)-1    // use last position in all files
25 #define ECMD_ONE        (linenr_T)1     // use first line
26 
27 /// Previous :substitute replacement string definition
28 typedef struct {
29   char *sub;            ///< Previous replacement string.
30   Timestamp timestamp;  ///< Time when it was last set.
31   list_T *additional_elements;  ///< Additional data left from ShaDa file.
32 } SubReplacementString;
33 
34 #ifdef INCLUDE_GENERATED_DECLARATIONS
35 # include "ex_cmds.h.generated.h"
36 #endif
37 #endif  // NVIM_EX_CMDS_H
38