package exec_extra import ( `r00t2.io/goutils/bitmask` ) var ( CmdArgsTag string = "cmdarg" /* CmdArgsDictSep specifies the string to use to separate keys and values. To override at the struct field level, use the tag value: `:"dictsep="` Where str is the string to use. e.g.: `cmdarg:"short=d,long=data,dictsep=."` Would render a map value of map[string]string{"foo": "bar"} as: `-d foo.bar` */ CmdArgsDictSep string = ":" ) // CmdArgOptNone is an "empty option" and does nothing. const CmdArgOptNone bitmask.MaskBit = 0 const ( /* CmdArgOptPreferShort prefers short options where possible. Has no effect if Windows traditional syntax is used. The default is to use long options. See also CmdArgOptPreferLong. Corresponding struct tag option: prefer_short */ CmdArgOptPreferShort cmdArgOpt = 1 << iota /* CmdArgOptPreferLong prefers long options where possible. Has no effect if Windows traditional syntax is used. This behavior is the default, but it can be used to override a CmdArgOptPreferShort from a parent. Corresponding struct tag option: prefer_long */ CmdArgOptPreferLong /* CmdArgOptShortEquals will use an equals separator for short flags instead of a space (the default). Has no effect if Windows traditional syntax is used. Corresponding struct tag option: short_equals */ CmdArgOptShortEquals /* CmdArgOptShortNoEquals will use a space separator for short flags instead of an equals. Has no effect if Windows traditional syntax is used. This behavior is the default, but it can be used to override a CmdArgOptPreferShort from a parent. Corresponding struct tag option: no_short_equals */ CmdArgOptShortNoEquals /* CmdArgOptLongEquals will use an equals separator for long flags instead of a space. Has no effect if Windows traditional syntax is used. This behavior is the default, but it can be used to override a CmdArgOptLongNoEquals from a parent. Corresponding struct tag option: long_equals */ CmdArgOptLongEquals /* CmdArgOptLongNoEquals will use a space separator for short flags instead of an equals. Has no effect if Windows traditional syntax is used. This behavior is the default, but it can be used to override a CmdArgOptPreferShort from a parent. Corresponding struct tag option: no_long_equals */ CmdArgOptLongNoEquals /* CmdArgOptForceNoPosix forces the resulting command string to use "traditional Windows" flag notation. Traditionally, Windows used flags like `/f` instead of POSIX `-f`, `/c:value` instead of `-c value` or `-c=value`, etc. Has no effect if not running on Windows. This behavior is the default, but it can be used to override a CmdArgOptPreferShort from a parent. See also the inverse of this option, CmdArgOptForcePosix. Corresponding struct tag option: force_no_posix */ CmdArgOptForceNoPosix /* CmdArgOptForcePosix forces the resulting command string to use "POSIX" flag notation. Traditionally, Windows used flags like `/f` instead of POSIX `-f`, `/c:value` instead of `-c value` or `-c=value`, etc. If this option is passed, then the POSIX flag syntax (-a/--arg) will be used instead. Note that on Windows runtime, the default is to use the traditional slash-based syntax. If you are generating command strings for Powershell or third-party software, you probably want to use CmdArgsOptForcePosix instead. See also the inverse of this option, CmdArgsOptForceNoPosix. Corresponding struct tag option: force_posix */ CmdArgOptForcePosix )