Search notes:

VIM struct: exarg_T

exarg_T stores the arguments for an ex command.
#ifndef DO_DECLARE_EXCMD
typedef struct exarg exarg_T;
#endif


struct exarg
{
    char_u     *arg;             // argument of the command
    char_u     *nextcmd;         // next command (NULL if none)
    char_u     *cmd;             // the name of the command (except for :make)
    char_u    **cmdlinep;        // pointer to pointer of allocated cmdline
    cmdidx_T    cmdidx;          // the index for the command
    long        argt;            // flags for the command
    int         skip;            // don't execute the command, only parse it
    int         forceit;         // TRUE if ! present
    int         addr_count;      // the number of addresses given
    linenr_T    line1;           // the first line number
    linenr_T    line2;           // the second line number or count
    cmd_addr_T  addr_type;       // type of the count/range
    int         flags;           // extra flags after count: EXFLAG_
    char_u     *do_ecmd_cmd;     // +command arg to be used in edited file
    linenr_T    do_ecmd_lnum;    // the line number in an edited file
    int         append;          // TRUE with ":w >>file" command
    int         usefilter;       // TRUE with ":w !command" and ":r!command"
    int         amount;          // number of '>' or '<' for shift command
    int         regname;         // register name (NUL if none)
    int         force_bin;       // 0, FORCE_BIN or FORCE_NOBIN
    int         read_edit;       // ++edit argument
    int         force_ff;        // ++ff= argument (first char of argument)
    int         force_enc;       // ++enc= argument (index in cmd[])
    int         bad_char;        // BAD_KEEP, BAD_DROP or replacement byte
    int         useridx;         // user command index
    char       *errmsg;          // returned error message
    char_u     *(*getline)(int, void *, int, int);
    void       *cookie;          // argument for getline()
#ifdef FEAT_EVAL
    struct condstack *cstack;    // condition stack for ":if" etc.
#endif
    long        verbose_save;    // saved value of p_verbose
    int         save_msg_silent; // saved value of msg_silent
    int         did_esilent;     // how many times emsg_silent was incremented
#ifdef HAVE_SANDBOX
    int         did_sandbox;     // when TRUE did ++sandbox
#endif
};
`

Index