1 #ifndef NVIM_EX_CMDS2_H
2 #define NVIM_EX_CMDS2_H
3 
4 #include <stdbool.h>
5 
6 #include "nvim/ex_docmd.h"
7 #include "nvim/runtime.h"
8 
9 
10 //
11 // flags for check_changed()
12 //
13 #define CCGD_AW         1       // do autowrite if buffer was changed
14 #define CCGD_MULTWIN    2       // check also when several wins for the buf
15 #define CCGD_FORCEIT    4       // ! used
16 #define CCGD_ALLBUF     8       // may write all buffers
17 #define CCGD_EXCMD      16      // may suggest using !
18 
19 /// Also store the dev/ino, so that we don't have to stat() each
20 /// script when going through the list.
21 typedef struct scriptitem_S {
22   char_u *sn_name;
23   bool file_id_valid;
24   FileID file_id;
25   bool sn_prof_on;              ///< true when script is/was profiled
26   bool sn_pr_force;             ///< forceit: profile functions in this script
27   proftime_T sn_pr_child;       ///< time set when going into first child
28   int sn_pr_nest;               ///< nesting for sn_pr_child
29   // profiling the script as a whole
30   int sn_pr_count;              ///< nr of times sourced
31   proftime_T sn_pr_total;       ///< time spent in script + children
32   proftime_T sn_pr_self;        ///< time spent in script itself
33   proftime_T sn_pr_start;       ///< time at script start
34   proftime_T sn_pr_children;    ///< time in children after script start
35   // profiling the script per line
36   garray_T sn_prl_ga;           ///< things stored for every line
37   proftime_T sn_prl_start;      ///< start time for current line
38   proftime_T sn_prl_children;   ///< time spent in children for this line
39   proftime_T sn_prl_wait;       ///< wait start time for current line
40   linenr_T sn_prl_idx;          ///< index of line being timed; -1 if none
41   int sn_prl_execed;            ///< line being timed was executed
42 } scriptitem_T;
43 
44 #ifdef INCLUDE_GENERATED_DECLARATIONS
45 # include "ex_cmds2.h.generated.h"
46 #endif
47 #endif  // NVIM_EX_CMDS2_H
48