Upgrading server dependancies (#8154)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
8d66523ba7
Коммит
961c04cae9
3
vendor/github.com/spf13/afero/util.go
сгенерированный
поставляемый
3
vendor/github.com/spf13/afero/util.go
сгенерированный
поставляемый
@@ -20,7 +20,6 @@ import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
@@ -46,7 +45,7 @@ func WriteReader(fs Fs, path string, r io.Reader) (err error) {
|
||||
err = fs.MkdirAll(ospath, 0777) // rwx, rw, r
|
||||
if err != nil {
|
||||
if err != os.ErrExist {
|
||||
log.Panicln(err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
4
vendor/github.com/spf13/cobra/bash_completions.md
сгенерированный
поставляемый
4
vendor/github.com/spf13/cobra/bash_completions.md
сгенерированный
поставляемый
@@ -173,9 +173,9 @@ hello.yml test.json
|
||||
|
||||
So while there are many other files in the CWD it only shows me subdirs and those with valid extensions.
|
||||
|
||||
# Specifiy custom flag completion
|
||||
# Specify custom flag completion
|
||||
|
||||
Similar to the filename completion and filtering using cobra.BashCompFilenameExt, you can specifiy
|
||||
Similar to the filename completion and filtering using cobra.BashCompFilenameExt, you can specify
|
||||
a custom flag completion function with cobra.BashCompCustom:
|
||||
|
||||
```go
|
||||
|
||||
3
vendor/github.com/spf13/cobra/cobra/cmd/helpers.go
сгенерированный
поставляемый
3
vendor/github.com/spf13/cobra/cobra/cmd/helpers.go
сгенерированный
поставляемый
@@ -24,7 +24,6 @@ import (
|
||||
"text/template"
|
||||
)
|
||||
|
||||
var cmdDirs = [...]string{"cmd", "cmds", "command", "commands"}
|
||||
var srcPaths []string
|
||||
|
||||
func init() {
|
||||
@@ -128,8 +127,6 @@ func writeStringToFile(path string, s string) error {
|
||||
|
||||
// writeToFile writes r to file with path only
|
||||
// if file/directory on given path doesn't exist.
|
||||
// If file/directory exists on given path, then
|
||||
// it terminates app and prints an appropriate error.
|
||||
func writeToFile(path string, r io.Reader) error {
|
||||
if exists(path) {
|
||||
return fmt.Errorf("%v already exists", path)
|
||||
|
||||
39
vendor/github.com/spf13/cobra/cobra/cmd/project.go
сгенерированный
поставляемый
39
vendor/github.com/spf13/cobra/cobra/cmd/project.go
сгенерированный
поставляемый
@@ -17,10 +17,9 @@ type Project struct {
|
||||
}
|
||||
|
||||
// NewProject returns Project with specified project name.
|
||||
// If projectName is blank string, it returns nil.
|
||||
func NewProject(projectName string) *Project {
|
||||
if projectName == "" {
|
||||
return nil
|
||||
er("can't create project with blank name")
|
||||
}
|
||||
|
||||
p := new(Project)
|
||||
@@ -54,8 +53,6 @@ func NewProject(projectName string) *Project {
|
||||
}
|
||||
|
||||
// findPackage returns full path to existing go package in GOPATHs.
|
||||
// findPackage returns "", if it can't find path.
|
||||
// If packageName is "", findPackage returns "".
|
||||
func findPackage(packageName string) string {
|
||||
if packageName == "" {
|
||||
return ""
|
||||
@@ -73,16 +70,29 @@ func findPackage(packageName string) string {
|
||||
|
||||
// NewProjectFromPath returns Project with specified absolute path to
|
||||
// package.
|
||||
// If absPath is blank string or if absPath is not actually absolute,
|
||||
// it returns nil.
|
||||
func NewProjectFromPath(absPath string) *Project {
|
||||
if absPath == "" || !filepath.IsAbs(absPath) {
|
||||
return nil
|
||||
if absPath == "" {
|
||||
er("can't create project: absPath can't be blank")
|
||||
}
|
||||
if !filepath.IsAbs(absPath) {
|
||||
er("can't create project: absPath is not absolute")
|
||||
}
|
||||
|
||||
// If absPath is symlink, use its destination.
|
||||
fi, err := os.Lstat(absPath)
|
||||
if err != nil {
|
||||
er("can't read path info: " + err.Error())
|
||||
}
|
||||
if fi.Mode()&os.ModeSymlink != 0 {
|
||||
path, err := os.Readlink(absPath)
|
||||
if err != nil {
|
||||
er("can't read the destination of symlink: " + err.Error())
|
||||
}
|
||||
absPath = path
|
||||
}
|
||||
|
||||
p := new(Project)
|
||||
p.absPath = absPath
|
||||
p.absPath = strings.TrimSuffix(p.absPath, findCmdDir(p.absPath))
|
||||
p.absPath = strings.TrimSuffix(absPath, findCmdDir(absPath))
|
||||
p.name = filepath.ToSlash(trimSrcPath(p.absPath, p.SrcPath()))
|
||||
return p
|
||||
}
|
||||
@@ -91,7 +101,7 @@ func NewProjectFromPath(absPath string) *Project {
|
||||
func trimSrcPath(absPath, srcPath string) string {
|
||||
relPath, err := filepath.Rel(srcPath, absPath)
|
||||
if err != nil {
|
||||
er("Cobra supports project only within $GOPATH: " + err.Error())
|
||||
er(err)
|
||||
}
|
||||
return relPath
|
||||
}
|
||||
@@ -101,7 +111,6 @@ func (p *Project) License() License {
|
||||
if p.license.Text == "" && p.license.Name != "None" {
|
||||
p.license = getLicense()
|
||||
}
|
||||
|
||||
return p.license
|
||||
}
|
||||
|
||||
@@ -111,8 +120,6 @@ func (p Project) Name() string {
|
||||
}
|
||||
|
||||
// CmdPath returns absolute path to directory, where all commands are located.
|
||||
//
|
||||
// CmdPath returns blank string, only if p.AbsPath() is a blank string.
|
||||
func (p *Project) CmdPath() string {
|
||||
if p.absPath == "" {
|
||||
return ""
|
||||
@@ -125,8 +132,6 @@ func (p *Project) CmdPath() string {
|
||||
|
||||
// findCmdDir checks if base of absPath is cmd dir and returns it or
|
||||
// looks for existing cmd dir in absPath.
|
||||
// If the cmd dir doesn't exist, empty, or cannot be found,
|
||||
// it returns "cmd".
|
||||
func findCmdDir(absPath string) string {
|
||||
if !exists(absPath) || isEmpty(absPath) {
|
||||
return "cmd"
|
||||
@@ -149,7 +154,7 @@ func findCmdDir(absPath string) string {
|
||||
// isCmdDir checks if base of name is one of cmdDir.
|
||||
func isCmdDir(name string) bool {
|
||||
name = filepath.Base(name)
|
||||
for _, cmdDir := range cmdDirs {
|
||||
for _, cmdDir := range []string{"cmd", "cmds", "command", "commands"} {
|
||||
if name == cmdDir {
|
||||
return true
|
||||
}
|
||||
|
||||
12
vendor/github.com/spf13/pflag/count.go
сгенерированный
поставляемый
12
vendor/github.com/spf13/pflag/count.go
сгенерированный
поставляемый
@@ -11,13 +11,13 @@ func newCountValue(val int, p *int) *countValue {
|
||||
}
|
||||
|
||||
func (i *countValue) Set(s string) error {
|
||||
v, err := strconv.ParseInt(s, 0, 64)
|
||||
// -1 means that no specific value was passed, so increment
|
||||
if v == -1 {
|
||||
// "+1" means that no specific value was passed, so increment
|
||||
if s == "+1" {
|
||||
*i = countValue(*i + 1)
|
||||
} else {
|
||||
*i = countValue(v)
|
||||
return nil
|
||||
}
|
||||
v, err := strconv.ParseInt(s, 0, 0)
|
||||
*i = countValue(v)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ func (f *FlagSet) CountVar(p *int, name string, usage string) {
|
||||
// CountVarP is like CountVar only take a shorthand for the flag name.
|
||||
func (f *FlagSet) CountVarP(p *int, name, shorthand string, usage string) {
|
||||
flag := f.VarPF(newCountValue(0, p), name, shorthand, usage)
|
||||
flag.NoOptDefVal = "-1"
|
||||
flag.NoOptDefVal = "+1"
|
||||
}
|
||||
|
||||
// CountVar like CountVar only the flag is placed on the CommandLine instead of a given flag set
|
||||
|
||||
6
vendor/github.com/spf13/pflag/count_test.go
сгенерированный
поставляемый
6
vendor/github.com/spf13/pflag/count_test.go
сгенерированный
поставляемый
@@ -17,10 +17,14 @@ func TestCount(t *testing.T) {
|
||||
success bool
|
||||
expected int
|
||||
}{
|
||||
{[]string{}, true, 0},
|
||||
{[]string{"-v"}, true, 1},
|
||||
{[]string{"-vvv"}, true, 3},
|
||||
{[]string{"-v", "-v", "-v"}, true, 3},
|
||||
{[]string{"-v", "--verbose", "-v"}, true, 3},
|
||||
{[]string{"-v=3", "-v"}, true, 4},
|
||||
{[]string{"--verbose=0"}, true, 0},
|
||||
{[]string{"-v=0"}, true, 0},
|
||||
{[]string{"-v=a"}, false, 0},
|
||||
}
|
||||
|
||||
@@ -45,7 +49,7 @@ func TestCount(t *testing.T) {
|
||||
t.Errorf("Got error trying to fetch the counter flag")
|
||||
}
|
||||
if c != tc.expected {
|
||||
t.Errorf("expected %q, got %q", tc.expected, c)
|
||||
t.Errorf("expected %d, got %d", tc.expected, c)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
57
vendor/github.com/spf13/pflag/flag.go
сгенерированный
поставляемый
57
vendor/github.com/spf13/pflag/flag.go
сгенерированный
поставляемый
@@ -202,12 +202,18 @@ func sortFlags(flags map[NormalizedName]*Flag) []*Flag {
|
||||
func (f *FlagSet) SetNormalizeFunc(n func(f *FlagSet, name string) NormalizedName) {
|
||||
f.normalizeNameFunc = n
|
||||
f.sortedFormal = f.sortedFormal[:0]
|
||||
for k, v := range f.orderedFormal {
|
||||
delete(f.formal, NormalizedName(v.Name))
|
||||
nname := f.normalizeFlagName(v.Name)
|
||||
v.Name = string(nname)
|
||||
f.formal[nname] = v
|
||||
f.orderedFormal[k] = v
|
||||
for fname, flag := range f.formal {
|
||||
nname := f.normalizeFlagName(flag.Name)
|
||||
if fname == nname {
|
||||
continue
|
||||
}
|
||||
flag.Name = string(nname)
|
||||
delete(f.formal, fname)
|
||||
f.formal[nname] = flag
|
||||
if _, set := f.actual[fname]; set {
|
||||
delete(f.actual, fname)
|
||||
f.actual[nname] = flag
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -440,13 +446,15 @@ func (f *FlagSet) Set(name, value string) error {
|
||||
return fmt.Errorf("invalid argument %q for %q flag: %v", value, flagName, err)
|
||||
}
|
||||
|
||||
if f.actual == nil {
|
||||
f.actual = make(map[NormalizedName]*Flag)
|
||||
}
|
||||
f.actual[normalName] = flag
|
||||
f.orderedActual = append(f.orderedActual, flag)
|
||||
if !flag.Changed {
|
||||
if f.actual == nil {
|
||||
f.actual = make(map[NormalizedName]*Flag)
|
||||
}
|
||||
f.actual[normalName] = flag
|
||||
f.orderedActual = append(f.orderedActual, flag)
|
||||
|
||||
flag.Changed = true
|
||||
flag.Changed = true
|
||||
}
|
||||
|
||||
if flag.Deprecated != "" {
|
||||
fmt.Fprintf(f.out(), "Flag --%s has been deprecated, %s\n", flag.Name, flag.Deprecated)
|
||||
@@ -556,6 +564,14 @@ func UnquoteUsage(flag *Flag) (name string, usage string) {
|
||||
name = "int"
|
||||
case "uint64":
|
||||
name = "uint"
|
||||
case "stringSlice":
|
||||
name = "strings"
|
||||
case "intSlice":
|
||||
name = "ints"
|
||||
case "uintSlice":
|
||||
name = "uints"
|
||||
case "boolSlice":
|
||||
name = "bools"
|
||||
}
|
||||
|
||||
return
|
||||
@@ -660,6 +676,10 @@ func (f *FlagSet) FlagUsagesWrapped(cols int) string {
|
||||
if flag.NoOptDefVal != "true" {
|
||||
line += fmt.Sprintf("[=%s]", flag.NoOptDefVal)
|
||||
}
|
||||
case "count":
|
||||
if flag.NoOptDefVal != "+1" {
|
||||
line += fmt.Sprintf("[=%s]", flag.NoOptDefVal)
|
||||
}
|
||||
default:
|
||||
line += fmt.Sprintf("[=%s]", flag.NoOptDefVal)
|
||||
}
|
||||
@@ -857,8 +877,10 @@ func VarP(value Value, name, shorthand, usage string) {
|
||||
// returns the error.
|
||||
func (f *FlagSet) failf(format string, a ...interface{}) error {
|
||||
err := fmt.Errorf(format, a...)
|
||||
fmt.Fprintln(f.out(), err)
|
||||
f.usage()
|
||||
if f.errorHandling != ContinueOnError {
|
||||
fmt.Fprintln(f.out(), err)
|
||||
f.usage()
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -912,6 +934,9 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin
|
||||
}
|
||||
|
||||
err = fn(flag, value)
|
||||
if err != nil {
|
||||
f.failf(err.Error())
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -962,6 +987,9 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse
|
||||
}
|
||||
|
||||
err = fn(flag, value)
|
||||
if err != nil {
|
||||
f.failf(err.Error())
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1034,6 +1062,7 @@ func (f *FlagSet) Parse(arguments []string) error {
|
||||
case ContinueOnError:
|
||||
return err
|
||||
case ExitOnError:
|
||||
fmt.Println(err)
|
||||
os.Exit(2)
|
||||
case PanicOnError:
|
||||
panic(err)
|
||||
|
||||
83
vendor/github.com/spf13/pflag/flag_test.go
сгенерированный
поставляемый
83
vendor/github.com/spf13/pflag/flag_test.go
сгенерированный
поставляемый
@@ -106,8 +106,8 @@ func TestUsage(t *testing.T) {
|
||||
if GetCommandLine().Parse([]string{"--x"}) == nil {
|
||||
t.Error("parse did not fail for unknown flag")
|
||||
}
|
||||
if !called {
|
||||
t.Error("did not call Usage for unknown flag")
|
||||
if called {
|
||||
t.Error("did call Usage while using ContinueOnError")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,6 +168,7 @@ func testParse(f *FlagSet, t *testing.T) {
|
||||
bool3Flag := f.Bool("bool3", false, "bool3 value")
|
||||
intFlag := f.Int("int", 0, "int value")
|
||||
int8Flag := f.Int8("int8", 0, "int value")
|
||||
int16Flag := f.Int16("int16", 0, "int value")
|
||||
int32Flag := f.Int32("int32", 0, "int value")
|
||||
int64Flag := f.Int64("int64", 0, "int64 value")
|
||||
uintFlag := f.Uint("uint", 0, "uint value")
|
||||
@@ -192,6 +193,7 @@ func testParse(f *FlagSet, t *testing.T) {
|
||||
"--bool3=false",
|
||||
"--int=22",
|
||||
"--int8=-8",
|
||||
"--int16=-16",
|
||||
"--int32=-32",
|
||||
"--int64=0x23",
|
||||
"--uint", "24",
|
||||
@@ -236,9 +238,15 @@ func testParse(f *FlagSet, t *testing.T) {
|
||||
if *int8Flag != -8 {
|
||||
t.Error("int8 flag should be 0x23, is ", *int8Flag)
|
||||
}
|
||||
if *int16Flag != -16 {
|
||||
t.Error("int16 flag should be -16, is ", *int16Flag)
|
||||
}
|
||||
if v, err := f.GetInt8("int8"); err != nil || v != *int8Flag {
|
||||
t.Error("GetInt8 does not work.")
|
||||
}
|
||||
if v, err := f.GetInt16("int16"); err != nil || v != *int16Flag {
|
||||
t.Error("GetInt16 does not work.")
|
||||
}
|
||||
if *int32Flag != -32 {
|
||||
t.Error("int32 flag should be 0x23, is ", *int32Flag)
|
||||
}
|
||||
@@ -604,7 +612,6 @@ func aliasAndWordSepFlagNames(f *FlagSet, name string) NormalizedName {
|
||||
switch name {
|
||||
case oldName:
|
||||
name = newName
|
||||
break
|
||||
}
|
||||
|
||||
return NormalizedName(name)
|
||||
@@ -658,6 +665,70 @@ func TestNormalizationFuncShouldChangeFlagName(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Related to https://github.com/spf13/cobra/issues/521.
|
||||
func TestNormalizationSharedFlags(t *testing.T) {
|
||||
f := NewFlagSet("set f", ContinueOnError)
|
||||
g := NewFlagSet("set g", ContinueOnError)
|
||||
nfunc := wordSepNormalizeFunc
|
||||
testName := "valid_flag"
|
||||
normName := nfunc(nil, testName)
|
||||
if testName == string(normName) {
|
||||
t.Error("TestNormalizationSharedFlags meaningless: the original and normalized flag names are identical:", testName)
|
||||
}
|
||||
|
||||
f.Bool(testName, false, "bool value")
|
||||
g.AddFlagSet(f)
|
||||
|
||||
f.SetNormalizeFunc(nfunc)
|
||||
g.SetNormalizeFunc(nfunc)
|
||||
|
||||
if len(f.formal) != 1 {
|
||||
t.Error("Normalizing flags should not result in duplications in the flag set:", f.formal)
|
||||
}
|
||||
if f.orderedFormal[0].Name != string(normName) {
|
||||
t.Error("Flag name not normalized")
|
||||
}
|
||||
for k := range f.formal {
|
||||
if k != "valid.flag" {
|
||||
t.Errorf("The key in the flag map should have been normalized: wanted \"%s\", got \"%s\" instead", normName, k)
|
||||
}
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(f.formal, g.formal) || !reflect.DeepEqual(f.orderedFormal, g.orderedFormal) {
|
||||
t.Error("Two flag sets sharing the same flags should stay consistent after being normalized. Original set:", f.formal, "Duplicate set:", g.formal)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizationSetFlags(t *testing.T) {
|
||||
f := NewFlagSet("normalized", ContinueOnError)
|
||||
nfunc := wordSepNormalizeFunc
|
||||
testName := "valid_flag"
|
||||
normName := nfunc(nil, testName)
|
||||
if testName == string(normName) {
|
||||
t.Error("TestNormalizationSetFlags meaningless: the original and normalized flag names are identical:", testName)
|
||||
}
|
||||
|
||||
f.Bool(testName, false, "bool value")
|
||||
f.Set(testName, "true")
|
||||
f.SetNormalizeFunc(nfunc)
|
||||
|
||||
if len(f.formal) != 1 {
|
||||
t.Error("Normalizing flags should not result in duplications in the flag set:", f.formal)
|
||||
}
|
||||
if f.orderedFormal[0].Name != string(normName) {
|
||||
t.Error("Flag name not normalized")
|
||||
}
|
||||
for k := range f.formal {
|
||||
if k != "valid.flag" {
|
||||
t.Errorf("The key in the flag map should have been normalized: wanted \"%s\", got \"%s\" instead", normName, k)
|
||||
}
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(f.formal, f.actual) {
|
||||
t.Error("The map of set flags should get normalized. Formal:", f.formal, "Actual:", f.actual)
|
||||
}
|
||||
}
|
||||
|
||||
// Declare a user-defined flag type.
|
||||
type flagVar []string
|
||||
|
||||
@@ -978,16 +1049,17 @@ const defaultOutput = ` --A for bootstrapping, allo
|
||||
--IP ip IP address with no default
|
||||
--IPMask ipMask Netmask address with no default
|
||||
--IPNet ipNet IP network with no default
|
||||
--Ints intSlice int slice with zero default
|
||||
--Ints ints int slice with zero default
|
||||
--N int a non-zero int (default 27)
|
||||
--ND1 string[="bar"] a string with NoOptDefVal (default "foo")
|
||||
--ND2 num[=4321] a num with NoOptDefVal (default 1234)
|
||||
--StringArray stringArray string array with zero default
|
||||
--StringSlice stringSlice string slice with zero default
|
||||
--StringSlice strings string slice with zero default
|
||||
--Z int an int that defaults to zero
|
||||
--custom custom custom Value implementation
|
||||
--customP custom a VarP with default (default 10)
|
||||
--maxT timeout set timeout for dial
|
||||
-v, --verbose count verbosity
|
||||
`
|
||||
|
||||
// Custom value that satisfies the Value interface.
|
||||
@@ -1028,6 +1100,7 @@ func TestPrintDefaults(t *testing.T) {
|
||||
fs.ShorthandLookup("E").NoOptDefVal = "1234"
|
||||
fs.StringSlice("StringSlice", []string{}, "string slice with zero default")
|
||||
fs.StringArray("StringArray", []string{}, "string array with zero default")
|
||||
fs.CountP("verbose", "v", "verbosity")
|
||||
|
||||
var cv customValue
|
||||
fs.Var(&cv, "custom", "custom Value implementation")
|
||||
|
||||
88
vendor/github.com/spf13/pflag/int16.go
сгенерированный
поставляемый
Обычный файл
88
vendor/github.com/spf13/pflag/int16.go
сгенерированный
поставляемый
Обычный файл
@@ -0,0 +1,88 @@
|
||||
package pflag
|
||||
|
||||
import "strconv"
|
||||
|
||||
// -- int16 Value
|
||||
type int16Value int16
|
||||
|
||||
func newInt16Value(val int16, p *int16) *int16Value {
|
||||
*p = val
|
||||
return (*int16Value)(p)
|
||||
}
|
||||
|
||||
func (i *int16Value) Set(s string) error {
|
||||
v, err := strconv.ParseInt(s, 0, 16)
|
||||
*i = int16Value(v)
|
||||
return err
|
||||
}
|
||||
|
||||
func (i *int16Value) Type() string {
|
||||
return "int16"
|
||||
}
|
||||
|
||||
func (i *int16Value) String() string { return strconv.FormatInt(int64(*i), 10) }
|
||||
|
||||
func int16Conv(sval string) (interface{}, error) {
|
||||
v, err := strconv.ParseInt(sval, 0, 16)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return int16(v), nil
|
||||
}
|
||||
|
||||
// GetInt16 returns the int16 value of a flag with the given name
|
||||
func (f *FlagSet) GetInt16(name string) (int16, error) {
|
||||
val, err := f.getFlagType(name, "int16", int16Conv)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return val.(int16), nil
|
||||
}
|
||||
|
||||
// Int16Var defines an int16 flag with specified name, default value, and usage string.
|
||||
// The argument p points to an int16 variable in which to store the value of the flag.
|
||||
func (f *FlagSet) Int16Var(p *int16, name string, value int16, usage string) {
|
||||
f.VarP(newInt16Value(value, p), name, "", usage)
|
||||
}
|
||||
|
||||
// Int16VarP is like Int16Var, but accepts a shorthand letter that can be used after a single dash.
|
||||
func (f *FlagSet) Int16VarP(p *int16, name, shorthand string, value int16, usage string) {
|
||||
f.VarP(newInt16Value(value, p), name, shorthand, usage)
|
||||
}
|
||||
|
||||
// Int16Var defines an int16 flag with specified name, default value, and usage string.
|
||||
// The argument p points to an int16 variable in which to store the value of the flag.
|
||||
func Int16Var(p *int16, name string, value int16, usage string) {
|
||||
CommandLine.VarP(newInt16Value(value, p), name, "", usage)
|
||||
}
|
||||
|
||||
// Int16VarP is like Int16Var, but accepts a shorthand letter that can be used after a single dash.
|
||||
func Int16VarP(p *int16, name, shorthand string, value int16, usage string) {
|
||||
CommandLine.VarP(newInt16Value(value, p), name, shorthand, usage)
|
||||
}
|
||||
|
||||
// Int16 defines an int16 flag with specified name, default value, and usage string.
|
||||
// The return value is the address of an int16 variable that stores the value of the flag.
|
||||
func (f *FlagSet) Int16(name string, value int16, usage string) *int16 {
|
||||
p := new(int16)
|
||||
f.Int16VarP(p, name, "", value, usage)
|
||||
return p
|
||||
}
|
||||
|
||||
// Int16P is like Int16, but accepts a shorthand letter that can be used after a single dash.
|
||||
func (f *FlagSet) Int16P(name, shorthand string, value int16, usage string) *int16 {
|
||||
p := new(int16)
|
||||
f.Int16VarP(p, name, shorthand, value, usage)
|
||||
return p
|
||||
}
|
||||
|
||||
// Int16 defines an int16 flag with specified name, default value, and usage string.
|
||||
// The return value is the address of an int16 variable that stores the value of the flag.
|
||||
func Int16(name string, value int16, usage string) *int16 {
|
||||
return CommandLine.Int16P(name, "", value, usage)
|
||||
}
|
||||
|
||||
// Int16P is like Int16, but accepts a shorthand letter that can be used after a single dash.
|
||||
func Int16P(name, shorthand string, value int16, usage string) *int16 {
|
||||
return CommandLine.Int16P(name, shorthand, value, usage)
|
||||
}
|
||||
Ссылка в новой задаче
Block a user