Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
2b422b1a
Commit
2b422b1a
authored
Aug 11, 2017
by
Maximilian Meister
Committed by
Felix Lange
Aug 11, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmd/geth, cmd/swarm: sort commands and flags by name (#3462)
parent
73c5aba2
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
197 additions
and
56 deletions
+197
-56
main.go
cmd/geth/main.go
+2
-0
main.go
cmd/swarm/main.go
+2
-0
CHANGELOG.md
vendor/gopkg.in/urfave/cli.v1/CHANGELOG.md
+43
-0
README.md
vendor/gopkg.in/urfave/cli.v1/README.md
+25
-8
app.go
vendor/gopkg.in/urfave/cli.v1/app.go
+6
-1
appveyor.yml
vendor/gopkg.in/urfave/cli.v1/appveyor.yml
+6
-4
cli.go
vendor/gopkg.in/urfave/cli.v1/cli.go
+1
-0
command.go
vendor/gopkg.in/urfave/cli.v1/command.go
+31
-13
context.go
vendor/gopkg.in/urfave/cli.v1/context.go
+2
-0
errors.go
vendor/gopkg.in/urfave/cli.v1/errors.go
+14
-9
flag.go
vendor/gopkg.in/urfave/cli.v1/flag.go
+6
-6
help.go
vendor/gopkg.in/urfave/cli.v1/help.go
+56
-12
vendor.json
vendor/vendor.json
+3
-3
No files found.
cmd/geth/main.go
View file @
2b422b1a
...
@@ -21,6 +21,7 @@ import (
...
@@ -21,6 +21,7 @@ import (
"fmt"
"fmt"
"os"
"os"
"runtime"
"runtime"
"sort"
"strings"
"strings"
"time"
"time"
...
@@ -165,6 +166,7 @@ func init() {
...
@@ -165,6 +166,7 @@ func init() {
// See config.go
// See config.go
dumpConfigCommand
,
dumpConfigCommand
,
}
}
sort
.
Sort
(
cli
.
CommandsByName
(
app
.
Commands
))
app
.
Flags
=
append
(
app
.
Flags
,
nodeFlags
...
)
app
.
Flags
=
append
(
app
.
Flags
,
nodeFlags
...
)
app
.
Flags
=
append
(
app
.
Flags
,
rpcFlags
...
)
app
.
Flags
=
append
(
app
.
Flags
,
rpcFlags
...
)
...
...
cmd/swarm/main.go
View file @
2b422b1a
...
@@ -25,6 +25,7 @@ import (
...
@@ -25,6 +25,7 @@ import (
"os"
"os"
"os/signal"
"os/signal"
"runtime"
"runtime"
"sort"
"strconv"
"strconv"
"strings"
"strings"
"syscall"
"syscall"
...
@@ -302,6 +303,7 @@ DEPRECATED: use 'swarm db clean'.
...
@@ -302,6 +303,7 @@ DEPRECATED: use 'swarm db clean'.
`
,
`
,
},
},
}
}
sort
.
Sort
(
cli
.
CommandsByName
(
app
.
Commands
))
app
.
Flags
=
[]
cli
.
Flag
{
app
.
Flags
=
[]
cli
.
Flag
{
utils
.
IdentityFlag
,
utils
.
IdentityFlag
,
...
...
vendor/gopkg.in/urfave/cli.v1/CHANGELOG.md
View file @
2b422b1a
...
@@ -4,6 +4,49 @@
...
@@ -4,6 +4,49 @@
## [Unreleased]
## [Unreleased]
## 1.20.0 - 2017-08-10
### Fixed
*
`HandleExitCoder`
is now correctly iterates over all errors in
a
`MultiError`
. The exit code is the exit code of the last error or
`1`
if
there are no
`ExitCoder`
s in the
`MultiError`
.
*
Fixed YAML file loading on Windows (previously would fail validate the file path)
*
Subcommand
`Usage`
,
`Description`
,
`ArgsUsage`
,
`OnUsageError`
correctly
propogated
*
`ErrWriter`
is now passed downwards through command structure to avoid the
need to redefine it
*
Pass
`Command`
context into
`OnUsageError`
rather than parent context so that
all fields are avaiable
*
Errors occuring in
`Before`
funcs are no longer double printed
*
Use
`UsageText`
in the help templates for commands and subcommands if
defined; otherwise build the usage as before (was previously ignoring this
field)
*
`IsSet`
and
`GlobalIsSet`
now correctly return whether a flag is set if
a program calls
`Set`
or
`GlobalSet`
directly after flag parsing (would
previously only return
`true`
if the flag was set during parsing)
### Changed
*
No longer exit the program on command/subcommand error if the error raised is
not an
`OsExiter`
. This exiting behavior was introduced in 1.19.0, but was
determined to be a regression in functionality. See
[
the
PR](https://github.com/urfave/cli/pull/595) for discussion.
### Added
*
`CommandsByName`
type was added to make it easy to sort
`Command`
s by name,
alphabetically
*
`altsrc`
now handles loading of string and int arrays from TOML
*
Support for definition of custom help templates for
`App`
via
`CustomAppHelpTemplate`
*
Support for arbitrary key/value fields on
`App`
to be used with
`CustomAppHelpTemplate`
via
`ExtraInfo`
*
`HelpFlag`
,
`VersionFlag`
, and
`BashCompletionFlag`
changed to explictly be
`cli.Flag`
s allowing for the use of custom flags satisfying the
`cli.Flag`
interface to be used.
## [1.19.1] - 2016-11-21
## [1.19.1] - 2016-11-21
### Fixed
### Fixed
...
...
vendor/gopkg.in/urfave/cli.v1/README.md
View file @
2b422b1a
...
@@ -455,13 +455,13 @@ error.
...
@@ -455,13 +455,13 @@ error.
Flags for the application and commands are shown in the order they are defined.
Flags for the application and commands are shown in the order they are defined.
However, it's possible to sort them from outside this library by using
`FlagsByName`
However, it's possible to sort them from outside this library by using
`FlagsByName`
with
`sort`
.
or
`CommandsByName`
with
`sort`
.
For example this:
For example this:
<!-- {
<!-- {
"args":
[
"--help"
]
,
"args":
[
"--help"
]
,
"output": "Load configuration from FILE
\n
.
*Language for the greeting.*
"
"output": "
add a task to the list
\n
.
*complete a task on the list\n.*
\n\n
.
*\n.*
Load configuration from FILE
\n
.
*Language for the greeting.*
"
} -->
} -->
```
go
```
go
package
main
package
main
...
@@ -488,7 +488,27 @@ func main() {
...
@@ -488,7 +488,27 @@ func main() {
},
},
}
}
app
.
Commands
=
[]
cli
.
Command
{
{
Name
:
"complete"
,
Aliases
:
[]
string
{
"c"
},
Usage
:
"complete a task on the list"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
return
nil
},
},
{
Name
:
"add"
,
Aliases
:
[]
string
{
"a"
},
Usage
:
"add a task to the list"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
return
nil
},
},
}
sort
.
Sort
(
cli
.
FlagsByName
(
app
.
Flags
))
sort
.
Sort
(
cli
.
FlagsByName
(
app
.
Flags
))
sort
.
Sort
(
cli
.
CommandsByName
(
app
.
Commands
))
app
.
Run
(
os
.
Args
)
app
.
Run
(
os
.
Args
)
}
}
...
@@ -940,16 +960,13 @@ SUPPORT: support@awesometown.example.com
...
@@ -940,16 +960,13 @@ SUPPORT: support@awesometown.example.com
cli
.
AppHelpTemplate
=
`NAME:
cli
.
AppHelpTemplate
=
`NAME:
{{.Name}} - {{.Usage}}
{{.Name}} - {{.Usage}}
USAGE:
USAGE:
{{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command
{{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}
[command options]{{end}} {{if
.ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}
{{if len .Authors}}
{{if len .Authors}}
AUTHOR
(S)
:
AUTHOR:
{{range .Authors}}{{ . }}{{end}}
{{range .Authors}}{{ . }}{{end}}
{{end}}{{if .Commands}}
{{end}}{{if .Commands}}
COMMANDS:
COMMANDS:
{{range .Commands}}{{if not .HideHelp}} {{join .Names ", "}}{{ "\t"
{{range .Commands}}{{if not .HideHelp}} {{join .Names ", "}}{{ "\t"}}{{.Usage}}{{ "\n" }}{{end}}{{end}}{{end}}{{if .VisibleFlags}}
}}{{.Usage}}{{ "\n" }}{{end}}{{end}}{{end}}{{if .VisibleFlags}}
GLOBAL OPTIONS:
GLOBAL OPTIONS:
{{range .VisibleFlags}}{{.}}
{{range .VisibleFlags}}{{.}}
{{end}}{{end}}{{if .Copyright }}
{{end}}{{end}}{{if .Copyright }}
...
...
vendor/gopkg.in/urfave/cli.v1/app.go
View file @
2b422b1a
...
@@ -85,6 +85,12 @@ type App struct {
...
@@ -85,6 +85,12 @@ type App struct {
ErrWriter
io
.
Writer
ErrWriter
io
.
Writer
// Other custom info
// Other custom info
Metadata
map
[
string
]
interface
{}
Metadata
map
[
string
]
interface
{}
// Carries a function which returns app specific info.
ExtraInfo
func
()
map
[
string
]
string
// CustomAppHelpTemplate the text template for app help topic.
// cli.go uses text/template to render templates. You can
// render custom help text by setting this variable.
CustomAppHelpTemplate
string
didSetup
bool
didSetup
bool
}
}
...
@@ -234,7 +240,6 @@ func (a *App) Run(arguments []string) (err error) {
...
@@ -234,7 +240,6 @@ func (a *App) Run(arguments []string) (err error) {
if
a
.
Before
!=
nil
{
if
a
.
Before
!=
nil
{
beforeErr
:=
a
.
Before
(
context
)
beforeErr
:=
a
.
Before
(
context
)
if
beforeErr
!=
nil
{
if
beforeErr
!=
nil
{
fmt
.
Fprintf
(
a
.
Writer
,
"%v
\n\n
"
,
beforeErr
)
ShowAppHelp
(
context
)
ShowAppHelp
(
context
)
HandleExitCoder
(
beforeErr
)
HandleExitCoder
(
beforeErr
)
err
=
beforeErr
err
=
beforeErr
...
...
vendor/gopkg.in/urfave/cli.v1/appveyor.yml
View file @
2b422b1a
version
:
"
{build}"
version
:
"
{build}"
os
:
Windows Server 2012 R2
os
:
Windows Server 2016
image
:
Visual Studio 2017
clone_folder
:
c:\gopath\src\github.com\urfave\cli
clone_folder
:
c:\gopath\src\github.com\urfave\cli
environment
:
environment
:
GOPATH
:
C:\gopath
GOPATH
:
C:\gopath
GOVERSION
:
1.
6
GOVERSION
:
1.
8.x
PYTHON
:
C:\Python
27
-x64
PYTHON
:
C:\Python
36
-x64
PYTHON_VERSION
:
2.7
.x
PYTHON_VERSION
:
3.6
.x
PYTHON_ARCH
:
64
PYTHON_ARCH
:
64
install
:
install
:
...
...
vendor/gopkg.in/urfave/cli.v1/cli.go
View file @
2b422b1a
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
// app.Usage = "say a greeting"
// app.Usage = "say a greeting"
// app.Action = func(c *cli.Context) error {
// app.Action = func(c *cli.Context) error {
// println("Greetings")
// println("Greetings")
// return nil
// }
// }
//
//
// app.Run(os.Args)
// app.Run(os.Args)
...
...
vendor/gopkg.in/urfave/cli.v1/command.go
View file @
2b422b1a
...
@@ -59,6 +59,25 @@ type Command struct {
...
@@ -59,6 +59,25 @@ type Command struct {
// Full name of command for help, defaults to full command name, including parent commands.
// Full name of command for help, defaults to full command name, including parent commands.
HelpName
string
HelpName
string
commandNamePath
[]
string
commandNamePath
[]
string
// CustomHelpTemplate the text template for the command help topic.
// cli.go uses text/template to render templates. You can
// render custom help text by setting this variable.
CustomHelpTemplate
string
}
type
CommandsByName
[]
Command
func
(
c
CommandsByName
)
Len
()
int
{
return
len
(
c
)
}
func
(
c
CommandsByName
)
Less
(
i
,
j
int
)
bool
{
return
c
[
i
]
.
Name
<
c
[
j
]
.
Name
}
func
(
c
CommandsByName
)
Swap
(
i
,
j
int
)
{
c
[
i
],
c
[
j
]
=
c
[
j
],
c
[
i
]
}
}
// FullName returns the full name of the command.
// FullName returns the full name of the command.
...
@@ -140,19 +159,20 @@ func (c Command) Run(ctx *Context) (err error) {
...
@@ -140,19 +159,20 @@ func (c Command) Run(ctx *Context) (err error) {
}
}
context
:=
NewContext
(
ctx
.
App
,
set
,
ctx
)
context
:=
NewContext
(
ctx
.
App
,
set
,
ctx
)
context
.
Command
=
c
if
checkCommandCompletions
(
context
,
c
.
Name
)
{
if
checkCommandCompletions
(
context
,
c
.
Name
)
{
return
nil
return
nil
}
}
if
err
!=
nil
{
if
err
!=
nil
{
if
c
.
OnUsageError
!=
nil
{
if
c
.
OnUsageError
!=
nil
{
err
:=
c
.
OnUsageError
(
c
tx
,
err
,
false
)
err
:=
c
.
OnUsageError
(
c
ontext
,
err
,
false
)
HandleExitCoder
(
err
)
HandleExitCoder
(
err
)
return
err
return
err
}
}
fmt
.
Fprintln
(
c
tx
.
App
.
Writer
,
"Incorrect Usage:"
,
err
.
Error
())
fmt
.
Fprintln
(
c
ontext
.
App
.
Writer
,
"Incorrect Usage:"
,
err
.
Error
())
fmt
.
Fprintln
(
c
tx
.
App
.
Writer
)
fmt
.
Fprintln
(
c
ontext
.
App
.
Writer
)
ShowCommandHelp
(
c
tx
,
c
.
Name
)
ShowCommandHelp
(
c
ontext
,
c
.
Name
)
return
err
return
err
}
}
...
@@ -177,9 +197,7 @@ func (c Command) Run(ctx *Context) (err error) {
...
@@ -177,9 +197,7 @@ func (c Command) Run(ctx *Context) (err error) {
if
c
.
Before
!=
nil
{
if
c
.
Before
!=
nil
{
err
=
c
.
Before
(
context
)
err
=
c
.
Before
(
context
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Fprintln
(
ctx
.
App
.
Writer
,
err
)
ShowCommandHelp
(
context
,
c
.
Name
)
fmt
.
Fprintln
(
ctx
.
App
.
Writer
)
ShowCommandHelp
(
ctx
,
c
.
Name
)
HandleExitCoder
(
err
)
HandleExitCoder
(
err
)
return
err
return
err
}
}
...
@@ -189,7 +207,6 @@ func (c Command) Run(ctx *Context) (err error) {
...
@@ -189,7 +207,6 @@ func (c Command) Run(ctx *Context) (err error) {
c
.
Action
=
helpSubcommand
.
Action
c
.
Action
=
helpSubcommand
.
Action
}
}
context
.
Command
=
c
err
=
HandleAction
(
c
.
Action
,
context
)
err
=
HandleAction
(
c
.
Action
,
context
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -230,14 +247,13 @@ func (c Command) startApp(ctx *Context) error {
...
@@ -230,14 +247,13 @@ func (c Command) startApp(ctx *Context) error {
app
.
HelpName
=
app
.
Name
app
.
HelpName
=
app
.
Name
}
}
if
c
.
Description
!=
""
{
app
.
Usage
=
c
.
Usage
app
.
Usage
=
c
.
Description
app
.
Description
=
c
.
Description
}
else
{
app
.
ArgsUsage
=
c
.
ArgsUsage
app
.
Usage
=
c
.
Usage
}
// set CommandNotFound
// set CommandNotFound
app
.
CommandNotFound
=
ctx
.
App
.
CommandNotFound
app
.
CommandNotFound
=
ctx
.
App
.
CommandNotFound
app
.
CustomAppHelpTemplate
=
c
.
CustomHelpTemplate
// set the flags and commands
// set the flags and commands
app
.
Commands
=
c
.
Subcommands
app
.
Commands
=
c
.
Subcommands
...
@@ -250,6 +266,7 @@ func (c Command) startApp(ctx *Context) error {
...
@@ -250,6 +266,7 @@ func (c Command) startApp(ctx *Context) error {
app
.
Author
=
ctx
.
App
.
Author
app
.
Author
=
ctx
.
App
.
Author
app
.
Email
=
ctx
.
App
.
Email
app
.
Email
=
ctx
.
App
.
Email
app
.
Writer
=
ctx
.
App
.
Writer
app
.
Writer
=
ctx
.
App
.
Writer
app
.
ErrWriter
=
ctx
.
App
.
ErrWriter
app
.
categories
=
CommandCategories
{}
app
.
categories
=
CommandCategories
{}
for
_
,
command
:=
range
c
.
Subcommands
{
for
_
,
command
:=
range
c
.
Subcommands
{
...
@@ -272,6 +289,7 @@ func (c Command) startApp(ctx *Context) error {
...
@@ -272,6 +289,7 @@ func (c Command) startApp(ctx *Context) error {
}
else
{
}
else
{
app
.
Action
=
helpSubcommand
.
Action
app
.
Action
=
helpSubcommand
.
Action
}
}
app
.
OnUsageError
=
c
.
OnUsageError
for
index
,
cc
:=
range
app
.
Commands
{
for
index
,
cc
:=
range
app
.
Commands
{
app
.
Commands
[
index
]
.
commandNamePath
=
[]
string
{
c
.
Name
,
cc
.
Name
}
app
.
Commands
[
index
]
.
commandNamePath
=
[]
string
{
c
.
Name
,
cc
.
Name
}
...
...
vendor/gopkg.in/urfave/cli.v1/context.go
View file @
2b422b1a
...
@@ -39,11 +39,13 @@ func (c *Context) NumFlags() int {
...
@@ -39,11 +39,13 @@ func (c *Context) NumFlags() int {
// Set sets a context flag to a value.
// Set sets a context flag to a value.
func
(
c
*
Context
)
Set
(
name
,
value
string
)
error
{
func
(
c
*
Context
)
Set
(
name
,
value
string
)
error
{
c
.
setFlags
=
nil
return
c
.
flagSet
.
Set
(
name
,
value
)
return
c
.
flagSet
.
Set
(
name
,
value
)
}
}
// GlobalSet sets a context flag to a value on the global flagset
// GlobalSet sets a context flag to a value on the global flagset
func
(
c
*
Context
)
GlobalSet
(
name
,
value
string
)
error
{
func
(
c
*
Context
)
GlobalSet
(
name
,
value
string
)
error
{
globalContext
(
c
)
.
setFlags
=
nil
return
globalContext
(
c
)
.
flagSet
.
Set
(
name
,
value
)
return
globalContext
(
c
)
.
flagSet
.
Set
(
name
,
value
)
}
}
...
...
vendor/gopkg.in/urfave/cli.v1/errors.go
View file @
2b422b1a
...
@@ -74,7 +74,7 @@ func (ee *ExitError) ExitCode() int {
...
@@ -74,7 +74,7 @@ func (ee *ExitError) ExitCode() int {
// HandleExitCoder checks if the error fulfills the ExitCoder interface, and if
// HandleExitCoder checks if the error fulfills the ExitCoder interface, and if
// so prints the error to stderr (if it is non-empty) and calls OsExiter with the
// so prints the error to stderr (if it is non-empty) and calls OsExiter with the
// given exit code. If the given error is a MultiError, then this func is
// given exit code. If the given error is a MultiError, then this func is
// called on all members of the Errors slice.
// called on all members of the Errors slice
and calls OsExiter with the last exit code
.
func
HandleExitCoder
(
err
error
)
{
func
HandleExitCoder
(
err
error
)
{
if
err
==
nil
{
if
err
==
nil
{
return
return
...
@@ -93,18 +93,23 @@ func HandleExitCoder(err error) {
...
@@ -93,18 +93,23 @@ func HandleExitCoder(err error) {
}
}
if
multiErr
,
ok
:=
err
.
(
MultiError
);
ok
{
if
multiErr
,
ok
:=
err
.
(
MultiError
);
ok
{
for
_
,
merr
:=
range
multiErr
.
Errors
{
code
:=
handleMultiError
(
multiErr
)
HandleExitCoder
(
merr
)
OsExiter
(
code
)
}
return
return
}
}
}
if
err
.
Error
()
!=
""
{
func
handleMultiError
(
multiErr
MultiError
)
int
{
if
_
,
ok
:=
err
.
(
ErrorFormatter
);
ok
{
code
:=
1
fmt
.
Fprintf
(
ErrWriter
,
"%+v
\n
"
,
err
)
for
_
,
merr
:=
range
multiErr
.
Errors
{
if
multiErr2
,
ok
:=
merr
.
(
MultiError
);
ok
{
code
=
handleMultiError
(
multiErr2
)
}
else
{
}
else
{
fmt
.
Fprintln
(
ErrWriter
,
err
)
fmt
.
Fprintln
(
ErrWriter
,
merr
)
if
exitErr
,
ok
:=
merr
.
(
ExitCoder
);
ok
{
code
=
exitErr
.
ExitCode
()
}
}
}
}
}
OsExiter
(
1
)
return
code
}
}
vendor/gopkg.in/urfave/cli.v1/flag.go
View file @
2b422b1a
...
@@ -14,13 +14,13 @@ import (
...
@@ -14,13 +14,13 @@ import (
const
defaultPlaceholder
=
"value"
const
defaultPlaceholder
=
"value"
// BashCompletionFlag enables bash-completion for all commands and subcommands
// BashCompletionFlag enables bash-completion for all commands and subcommands
var
BashCompletionFlag
=
BoolFlag
{
var
BashCompletionFlag
Flag
=
BoolFlag
{
Name
:
"generate-bash-completion"
,
Name
:
"generate-bash-completion"
,
Hidden
:
true
,
Hidden
:
true
,
}
}
// VersionFlag prints the version for the application
// VersionFlag prints the version for the application
var
VersionFlag
=
BoolFlag
{
var
VersionFlag
Flag
=
BoolFlag
{
Name
:
"version, v"
,
Name
:
"version, v"
,
Usage
:
"print the version"
,
Usage
:
"print the version"
,
}
}
...
@@ -28,7 +28,7 @@ var VersionFlag = BoolFlag{
...
@@ -28,7 +28,7 @@ var VersionFlag = BoolFlag{
// HelpFlag prints the help for all commands and subcommands
// HelpFlag prints the help for all commands and subcommands
// Set to the zero value (BoolFlag{}) to disable flag -- keeps subcommand
// Set to the zero value (BoolFlag{}) to disable flag -- keeps subcommand
// unless HideHelp is set to true)
// unless HideHelp is set to true)
var
HelpFlag
=
BoolFlag
{
var
HelpFlag
Flag
=
BoolFlag
{
Name
:
"help, h"
,
Name
:
"help, h"
,
Usage
:
"show help"
,
Usage
:
"show help"
,
}
}
...
@@ -630,7 +630,8 @@ func (f Float64Flag) ApplyWithError(set *flag.FlagSet) error {
...
@@ -630,7 +630,8 @@ func (f Float64Flag) ApplyWithError(set *flag.FlagSet) error {
func
visibleFlags
(
fl
[]
Flag
)
[]
Flag
{
func
visibleFlags
(
fl
[]
Flag
)
[]
Flag
{
visible
:=
[]
Flag
{}
visible
:=
[]
Flag
{}
for
_
,
flag
:=
range
fl
{
for
_
,
flag
:=
range
fl
{
if
!
flagValue
(
flag
)
.
FieldByName
(
"Hidden"
)
.
Bool
()
{
field
:=
flagValue
(
flag
)
.
FieldByName
(
"Hidden"
)
if
!
field
.
IsValid
()
||
!
field
.
Bool
()
{
visible
=
append
(
visible
,
flag
)
visible
=
append
(
visible
,
flag
)
}
}
}
}
...
@@ -723,9 +724,8 @@ func stringifyFlag(f Flag) string {
...
@@ -723,9 +724,8 @@ func stringifyFlag(f Flag) string {
needsPlaceholder
:=
false
needsPlaceholder
:=
false
defaultValueString
:=
""
defaultValueString
:=
""
val
:=
fv
.
FieldByName
(
"Value"
)
if
val
.
IsValid
()
{
if
val
:=
fv
.
FieldByName
(
"Value"
);
val
.
IsValid
()
{
needsPlaceholder
=
true
needsPlaceholder
=
true
defaultValueString
=
fmt
.
Sprintf
(
" (default: %v)"
,
val
.
Interface
())
defaultValueString
=
fmt
.
Sprintf
(
" (default: %v)"
,
val
.
Interface
())
...
...
vendor/gopkg.in/urfave/cli.v1/help.go
View file @
2b422b1a
...
@@ -47,7 +47,7 @@ var CommandHelpTemplate = `NAME:
...
@@ -47,7 +47,7 @@ var CommandHelpTemplate = `NAME:
{{.HelpName}} - {{.Usage}}
{{.HelpName}} - {{.Usage}}
USAGE:
USAGE:
{{
.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]
{{end}}{{if .Category}}
{{
if .UsageText}}{{.UsageText}}{{else}}{{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}
{{end}}{{if .Category}}
CATEGORY:
CATEGORY:
{{.Category}}{{end}}{{if .Description}}
{{.Category}}{{end}}{{if .Description}}
...
@@ -64,10 +64,10 @@ OPTIONS:
...
@@ -64,10 +64,10 @@ OPTIONS:
// cli.go uses text/template to render templates. You can
// cli.go uses text/template to render templates. You can
// render custom help text by setting this variable.
// render custom help text by setting this variable.
var
SubcommandHelpTemplate
=
`NAME:
var
SubcommandHelpTemplate
=
`NAME:
{{.HelpName}} - {{
.Usage
}}
{{.HelpName}} - {{
if .Description}}{{.Description}}{{else}}{{.Usage}}{{end
}}
USAGE:
USAGE:
{{
.HelpName}} command{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]
{{end}}
{{
if .UsageText}}{{.UsageText}}{{else}}{{.HelpName}} command{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}
{{end}}
COMMANDS:{{range .VisibleCategories}}{{if .Name}}
COMMANDS:{{range .VisibleCategories}}{{if .Name}}
{{.Name}}:{{end}}{{range .VisibleCommands}}
{{.Name}}:{{end}}{{range .VisibleCommands}}
...
@@ -112,17 +112,42 @@ var helpSubcommand = Command{
...
@@ -112,17 +112,42 @@ var helpSubcommand = Command{
// Prints help for the App or Command
// Prints help for the App or Command
type
helpPrinter
func
(
w
io
.
Writer
,
templ
string
,
data
interface
{})
type
helpPrinter
func
(
w
io
.
Writer
,
templ
string
,
data
interface
{})
// Prints help for the App or Command with custom template function.
type
helpPrinterCustom
func
(
w
io
.
Writer
,
templ
string
,
data
interface
{},
customFunc
map
[
string
]
interface
{})
// HelpPrinter is a function that writes the help output. If not set a default
// HelpPrinter is a function that writes the help output. If not set a default
// is used. The function signature is:
// is used. The function signature is:
// func(w io.Writer, templ string, data interface{})
// func(w io.Writer, templ string, data interface{})
var
HelpPrinter
helpPrinter
=
printHelp
var
HelpPrinter
helpPrinter
=
printHelp
// HelpPrinterCustom is same as HelpPrinter but
// takes a custom function for template function map.
var
HelpPrinterCustom
helpPrinterCustom
=
printHelpCustom
// VersionPrinter prints the version for the App
// VersionPrinter prints the version for the App
var
VersionPrinter
=
printVersion
var
VersionPrinter
=
printVersion
// ShowAppHelpAndExit - Prints the list of subcommands for the app and exits with exit code.
func
ShowAppHelpAndExit
(
c
*
Context
,
exitCode
int
)
{
ShowAppHelp
(
c
)
os
.
Exit
(
exitCode
)
}
// ShowAppHelp is an action that displays the help.
// ShowAppHelp is an action that displays the help.
func
ShowAppHelp
(
c
*
Context
)
error
{
func
ShowAppHelp
(
c
*
Context
)
(
err
error
)
{
HelpPrinter
(
c
.
App
.
Writer
,
AppHelpTemplate
,
c
.
App
)
if
c
.
App
.
CustomAppHelpTemplate
==
""
{
HelpPrinter
(
c
.
App
.
Writer
,
AppHelpTemplate
,
c
.
App
)
return
}
customAppData
:=
func
()
map
[
string
]
interface
{}
{
if
c
.
App
.
ExtraInfo
==
nil
{
return
nil
}
return
map
[
string
]
interface
{}{
"ExtraInfo"
:
c
.
App
.
ExtraInfo
,
}
}
HelpPrinterCustom
(
c
.
App
.
Writer
,
c
.
App
.
CustomAppHelpTemplate
,
c
.
App
,
customAppData
())
return
nil
return
nil
}
}
...
@@ -138,6 +163,12 @@ func DefaultAppComplete(c *Context) {
...
@@ -138,6 +163,12 @@ func DefaultAppComplete(c *Context) {
}
}
}
}
// ShowCommandHelpAndExit - exits with code after showing help
func
ShowCommandHelpAndExit
(
c
*
Context
,
command
string
,
code
int
)
{
ShowCommandHelp
(
c
,
command
)
os
.
Exit
(
code
)
}
// ShowCommandHelp prints help for the given command
// ShowCommandHelp prints help for the given command
func
ShowCommandHelp
(
ctx
*
Context
,
command
string
)
error
{
func
ShowCommandHelp
(
ctx
*
Context
,
command
string
)
error
{
// show the subcommand help for a command with subcommands
// show the subcommand help for a command with subcommands
...
@@ -148,7 +179,11 @@ func ShowCommandHelp(ctx *Context, command string) error {
...
@@ -148,7 +179,11 @@ func ShowCommandHelp(ctx *Context, command string) error {
for
_
,
c
:=
range
ctx
.
App
.
Commands
{
for
_
,
c
:=
range
ctx
.
App
.
Commands
{
if
c
.
HasName
(
command
)
{
if
c
.
HasName
(
command
)
{
HelpPrinter
(
ctx
.
App
.
Writer
,
CommandHelpTemplate
,
c
)
if
c
.
CustomHelpTemplate
!=
""
{
HelpPrinterCustom
(
ctx
.
App
.
Writer
,
c
.
CustomHelpTemplate
,
c
,
nil
)
}
else
{
HelpPrinter
(
ctx
.
App
.
Writer
,
CommandHelpTemplate
,
c
)
}
return
nil
return
nil
}
}
}
}
...
@@ -191,10 +226,15 @@ func ShowCommandCompletions(ctx *Context, command string) {
...
@@ -191,10 +226,15 @@ func ShowCommandCompletions(ctx *Context, command string) {
}
}
}
}
func
printHelp
(
out
io
.
Writer
,
templ
string
,
data
interface
{})
{
func
printHelp
Custom
(
out
io
.
Writer
,
templ
string
,
data
interface
{},
customFunc
map
[
string
]
interface
{})
{
funcMap
:=
template
.
FuncMap
{
funcMap
:=
template
.
FuncMap
{
"join"
:
strings
.
Join
,
"join"
:
strings
.
Join
,
}
}
if
customFunc
!=
nil
{
for
key
,
value
:=
range
customFunc
{
funcMap
[
key
]
=
value
}
}
w
:=
tabwriter
.
NewWriter
(
out
,
1
,
8
,
2
,
' '
,
0
)
w
:=
tabwriter
.
NewWriter
(
out
,
1
,
8
,
2
,
' '
,
0
)
t
:=
template
.
Must
(
template
.
New
(
"help"
)
.
Funcs
(
funcMap
)
.
Parse
(
templ
))
t
:=
template
.
Must
(
template
.
New
(
"help"
)
.
Funcs
(
funcMap
)
.
Parse
(
templ
))
...
@@ -210,10 +250,14 @@ func printHelp(out io.Writer, templ string, data interface{}) {
...
@@ -210,10 +250,14 @@ func printHelp(out io.Writer, templ string, data interface{}) {
w
.
Flush
()
w
.
Flush
()
}
}
func
printHelp
(
out
io
.
Writer
,
templ
string
,
data
interface
{})
{
printHelpCustom
(
out
,
templ
,
data
,
nil
)
}
func
checkVersion
(
c
*
Context
)
bool
{
func
checkVersion
(
c
*
Context
)
bool
{
found
:=
false
found
:=
false
if
VersionFlag
.
Name
!=
""
{
if
VersionFlag
.
GetName
()
!=
""
{
eachName
(
VersionFlag
.
Name
,
func
(
name
string
)
{
eachName
(
VersionFlag
.
GetName
()
,
func
(
name
string
)
{
if
c
.
GlobalBool
(
name
)
||
c
.
Bool
(
name
)
{
if
c
.
GlobalBool
(
name
)
||
c
.
Bool
(
name
)
{
found
=
true
found
=
true
}
}
...
@@ -224,8 +268,8 @@ func checkVersion(c *Context) bool {
...
@@ -224,8 +268,8 @@ func checkVersion(c *Context) bool {
func
checkHelp
(
c
*
Context
)
bool
{
func
checkHelp
(
c
*
Context
)
bool
{
found
:=
false
found
:=
false
if
HelpFlag
.
Name
!=
""
{
if
HelpFlag
.
GetName
()
!=
""
{
eachName
(
HelpFlag
.
Name
,
func
(
name
string
)
{
eachName
(
HelpFlag
.
GetName
()
,
func
(
name
string
)
{
if
c
.
GlobalBool
(
name
)
||
c
.
Bool
(
name
)
{
if
c
.
GlobalBool
(
name
)
||
c
.
Bool
(
name
)
{
found
=
true
found
=
true
}
}
...
@@ -260,7 +304,7 @@ func checkShellCompleteFlag(a *App, arguments []string) (bool, []string) {
...
@@ -260,7 +304,7 @@ func checkShellCompleteFlag(a *App, arguments []string) (bool, []string) {
pos
:=
len
(
arguments
)
-
1
pos
:=
len
(
arguments
)
-
1
lastArg
:=
arguments
[
pos
]
lastArg
:=
arguments
[
pos
]
if
lastArg
!=
"--"
+
BashCompletionFlag
.
Name
{
if
lastArg
!=
"--"
+
BashCompletionFlag
.
GetName
()
{
return
false
,
arguments
return
false
,
arguments
}
}
...
...
vendor/vendor.json
View file @
2b422b1a
...
@@ -658,10 +658,10 @@
...
@@ -658,10 +658,10 @@
"revisionTime"
:
"2017-02-13T14:20:43Z"
"revisionTime"
:
"2017-02-13T14:20:43Z"
},
},
{
{
"checksumSHA1"
:
"
brhONOPp4CSdTZf5uEtcH+FpFUI
="
,
"checksumSHA1"
:
"
Yx1MU40fyGe7hhqW9+dkv8kXa60
="
,
"path"
:
"gopkg.in/urfave/cli.v1"
,
"path"
:
"gopkg.in/urfave/cli.v1"
,
"revision"
:
"
0bdeddeeb0f650497d603c4ad7b20cfe685682f6
"
,
"revision"
:
"
cfb38830724cc34fedffe9a2a29fb54fa9169cd1
"
,
"revisionTime"
:
"201
6-11-22T04:36:10
Z"
"revisionTime"
:
"201
7-08-11T01:42:03
Z"
}
}
],
],
"rootPath"
:
"github.com/ethereum/go-ethereum"
"rootPath"
:
"github.com/ethereum/go-ethereum"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment