Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
1342575d
提交
1342575d
authored
11月 12, 2014
作者:
Juan Batiz-Benet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cmds2/commands: better sorting
上级
7daf8889
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
21 行增加
和
15 行删除
+21
-15
commands.go
core/commands2/commands.go
+21
-15
没有找到文件。
core/commands2/commands.go
浏览文件 @
1342575d
package
commands
import
(
"fmt"
"bytes"
"sort"
cmds
"github.com/jbenet/go-ipfs/commands"
)
...
...
@@ -21,21 +22,24 @@ func CommandsCmd(root *cmds.Command) *cmds.Command {
},
Run
:
func
(
req
cmds
.
Request
)
(
interface
{},
error
)
{
root
:=
outputComman
d
(
"ipfs"
,
root
)
root
:=
cmd2outputCm
d
(
"ipfs"
,
root
)
return
&
root
,
nil
},
Marshallers
:
map
[
cmds
.
EncodingType
]
cmds
.
Marshaller
{
cmds
.
Text
:
func
(
res
cmds
.
Response
)
([]
byte
,
error
)
{
v
:=
res
.
Output
()
.
(
*
Command
)
s
:=
formatCommand
(
""
,
v
)
return
[]
byte
(
s
),
nil
var
buf
bytes
.
Buffer
for
_
,
s
:=
range
cmdPathStrings
(
v
)
{
buf
.
Write
([]
byte
(
s
+
"
\n
"
))
}
return
buf
.
Bytes
(),
nil
},
},
Type
:
&
Command
{},
}
}
func
outputComman
d
(
name
string
,
cmd
*
cmds
.
Command
)
Command
{
func
cmd2outputCm
d
(
name
string
,
cmd
*
cmds
.
Command
)
Command
{
output
:=
Command
{
Name
:
name
,
Subcommands
:
make
([]
Command
,
len
(
cmd
.
Subcommands
)),
...
...
@@ -43,23 +47,25 @@ func outputCommand(name string, cmd *cmds.Command) Command {
i
:=
0
for
name
,
sub
:=
range
cmd
.
Subcommands
{
output
.
Subcommands
[
i
]
=
outputComman
d
(
name
,
sub
)
output
.
Subcommands
[
i
]
=
cmd2outputCm
d
(
name
,
sub
)
i
++
}
return
output
}
func
formatCommand
(
prefix
string
,
cmd
*
Command
)
string
{
if
len
(
prefix
)
>
0
{
prefix
+=
" "
}
s
:=
fmt
.
Sprintf
(
"%s%s
\n
"
,
prefix
,
cmd
.
Name
)
func
cmdPathStrings
(
cmd
*
Command
)
[]
string
{
var
cmds
[]
string
prefix
+=
cmd
.
Name
for
_
,
sub
:=
range
cmd
.
Subcommands
{
s
+=
formatCommand
(
prefix
,
&
sub
)
var
recurse
func
(
prefix
string
,
cmd
*
Command
)
recurse
=
func
(
prefix
string
,
cmd
*
Command
)
{
cmds
=
append
(
cmds
,
prefix
+
cmd
.
Name
)
for
_
,
sub
:=
range
cmd
.
Subcommands
{
recurse
(
prefix
+
cmd
.
Name
+
" "
,
&
sub
)
}
}
return
s
recurse
(
""
,
cmd
)
sort
.
Sort
(
sort
.
StringSlice
(
cmds
))
return
cmds
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论