Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
a346aedb
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
a346aedb
编写于
5月 25, 2017
作者:
B
Bas van Kervel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cmd/geth: reorganise help section for new cli flag handling
上级
ef25b826
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
70 addition
and
12 deletion
+70
-12
cmd/geth/consolecmd.go
cmd/geth/consolecmd.go
+0
-2
cmd/geth/usage.go
cmd/geth/usage.go
+56
-0
cmd/utils/flags.go
cmd/utils/flags.go
+14
-10
未找到文件。
cmd/geth/consolecmd.go
浏览文件 @
a346aedb
...
...
@@ -30,9 +30,7 @@ import (
var
(
consoleFlags
=
[]
cli
.
Flag
{
utils
.
JSpathFlag
,
utils
.
ExecFlag
,
utils
.
PreloadJSFlag
}
)
var
(
consoleCommand
=
cli
.
Command
{
Action
:
utils
.
MigrateFlags
(
localConsole
),
Name
:
"console"
,
...
...
cmd/geth/usage.go
浏览文件 @
a346aedb
...
...
@@ -20,6 +20,7 @@ package main
import
(
"io"
"sort"
"github.com/ethereum/go-ethereum/cmd/utils"
"github.com/ethereum/go-ethereum/internal/debug"
...
...
@@ -189,6 +190,39 @@ var AppHelpFlagGroups = []flagGroup{
},
}
// byCategory sorts an array of flagGroup by Name in the order
// defined in AppHelpFlagGroups.
type
byCategory
[]
flagGroup
func
(
a
byCategory
)
Len
()
int
{
return
len
(
a
)
}
func
(
a
byCategory
)
Swap
(
i
,
j
int
)
{
a
[
i
],
a
[
j
]
=
a
[
j
],
a
[
i
]
}
func
(
a
byCategory
)
Less
(
i
,
j
int
)
bool
{
iCat
,
jCat
:=
a
[
i
]
.
Name
,
a
[
j
]
.
Name
iIdx
,
jIdx
:=
len
(
AppHelpFlagGroups
),
len
(
AppHelpFlagGroups
)
// ensure non categorized flags come last
for
i
,
group
:=
range
AppHelpFlagGroups
{
if
iCat
==
group
.
Name
{
iIdx
=
i
}
if
jCat
==
group
.
Name
{
jIdx
=
i
}
}
return
iIdx
<
jIdx
}
func
flagCategory
(
flag
cli
.
Flag
)
string
{
for
_
,
category
:=
range
AppHelpFlagGroups
{
for
_
,
flg
:=
range
category
.
Flags
{
if
flg
.
GetName
()
==
flag
.
GetName
()
{
return
category
.
Name
}
}
}
return
"MISC"
}
func
init
()
{
// Override the default app help template
cli
.
AppHelpTemplate
=
AppHelpTemplate
...
...
@@ -198,6 +232,7 @@ func init() {
App
interface
{}
FlagGroups
[]
flagGroup
}
// Override the default app help printer, but only for the global app help
originalHelpPrinter
:=
cli
.
HelpPrinter
cli
.
HelpPrinter
=
func
(
w
io
.
Writer
,
tmpl
string
,
data
interface
{})
{
...
...
@@ -227,6 +262,27 @@ func init() {
}
// Render out custom usage screen
originalHelpPrinter
(
w
,
tmpl
,
helpData
{
data
,
AppHelpFlagGroups
})
}
else
if
tmpl
==
utils
.
CommandHelpTemplate
{
// Iterate over all command specific flags and categorize them
categorized
:=
make
(
map
[
string
][]
cli
.
Flag
)
for
_
,
flag
:=
range
data
.
(
cli
.
Command
)
.
Flags
{
if
_
,
ok
:=
categorized
[
flag
.
String
()];
!
ok
{
categorized
[
flagCategory
(
flag
)]
=
append
(
categorized
[
flagCategory
(
flag
)],
flag
)
}
}
// sort to get a stable ordering
sorted
:=
make
([]
flagGroup
,
0
,
len
(
categorized
))
for
cat
,
flgs
:=
range
categorized
{
sorted
=
append
(
sorted
,
flagGroup
{
cat
,
flgs
})
}
sort
.
Sort
(
byCategory
(
sorted
))
// add sorted array to data and render with default printer
originalHelpPrinter
(
w
,
tmpl
,
map
[
string
]
interface
{}{
"cmd"
:
data
,
"categorizedFlags"
:
sorted
,
})
}
else
{
originalHelpPrinter
(
w
,
tmpl
,
data
)
}
...
...
cmd/utils/flags.go
浏览文件 @
a346aedb
...
...
@@ -56,6 +56,19 @@ import (
"gopkg.in/urfave/cli.v1"
)
var
(
CommandHelpTemplate
=
`{{.cmd.Name}}{{if .cmd.Subcommands}} command{{end}}{{if .cmd.Flags}} [command options]{{end}} [arguments...]
{{if .cmd.Description}}{{.cmd.Description}}
{{end}}{{if .cmd.Subcommands}}
SUBCOMMANDS:
{{range .cmd.Subcommands}}{{.cmd.Name}}{{with .cmd.ShortName}}, {{.cmd}}{{end}}{{ "\t" }}{{.cmd.Usage}}
{{end}}{{end}}{{if .categorizedFlags}}
{{range $idx, $categorized := .categorizedFlags}}{{$categorized.Name}} OPTIONS:
{{range $categorized.Flags}}{{"\t"}}{{.}}
{{end}}
{{end}}{{end}}`
)
func
init
()
{
cli
.
AppHelpTemplate
=
`{{.Name}} {{if .Flags}}[global options] {{end}}command{{if .Flags}} [command options]{{end}} [arguments...]
...
...
@@ -70,16 +83,7 @@ GLOBAL OPTIONS:
{{end}}{{end}}
`
cli
.
CommandHelpTemplate
=
`{{.Name}}{{if .Subcommands}} command{{end}}{{if .Flags}} [command options]{{end}} [arguments...]
{{if .Description}}{{.Description}}
{{end}}{{if .Subcommands}}
SUBCOMMANDS:
{{range .Subcommands}}{{.Name}}{{with .ShortName}}, {{.}}{{end}}{{ "\t" }}{{.Usage}}
{{end}}{{end}}{{if .Flags}}
OPTIONS:
{{range .Flags}}{{.}}
{{end}}{{end}}
`
cli
.
CommandHelpTemplate
=
CommandHelpTemplate
}
// NewApp creates an app with sane defaults.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录