1
0
mirror of https://shylinux.com/x/icebergs synced 2025-05-03 12:07:00 +08:00
This commit is contained in:
shylinux 2021-01-12 20:59:02 +08:00
parent baff30a214
commit 151dce8342
2 changed files with 8 additions and 11 deletions

View File

@ -9,8 +9,8 @@ import (
"strings"
)
func _command_search(m *ice.Message, arg ...string) {
if !(arg[0] == "command" || arg[0] == "*" && arg[1] != "") {
func _command_search(m *ice.Message, kind, name, text string) {
if !(kind == COMMAND || kind == kit.MDB_FOREACH && name != "") {
return
}
@ -18,14 +18,11 @@ func _command_search(m *ice.Message, arg ...string) {
if strings.HasPrefix(key, "_") || strings.HasPrefix(key, "/") {
return
}
if arg[1] != "" && arg[1] != key && arg[1] != s.Name {
return
}
if arg[2] != "" && !strings.Contains(kit.Format(cmd.Name), arg[2]) && !strings.Contains(kit.Format(cmd.Help), arg[2]) {
if name != "" && name != key && name != s.Name {
return
}
m.PushSearch("cmd", "command", "type", arg[0], "name", key, "text", s.Cap(ice.CTX_FOLLOW))
m.PushSearch(kit.SSH_CMD, COMMAND, kit.MDB_TYPE, kind, kit.MDB_NAME, key, kit.MDB_TEXT, s.Cap(ice.CTX_FOLLOW))
})
}
func _command_list(m *ice.Message, name string) {

View File

@ -16,9 +16,6 @@ func init() {
},
Commands: map[string]*ice.Command{
P_SEARCH: {Name: "/search", Help: "搜索引擎", Action: map[string]*ice.Action{
mdb.RENDER: {Name: "render", Help: "渲染", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(m.Space(m.Option(POD)), mdb.RENDER, arg[1:])
}},
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
if arg[0] != P_SEARCH && arg[0] != kit.MDB_FOREACH {
return
@ -30,13 +27,16 @@ func init() {
m.PushSearch(kit.SSH_CMD, P_SEARCH, value)
})
}},
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
mdb.PLUGIN: {Name: "plugin", Help: "插件", Hand: func(m *ice.Message, arg ...string) {
if len(arg) > 0 && arg[0] == "run" {
m.Cmdy(arg[1:])
return
}
m.Cmdy(ctx.COMMAND, arg)
}},
mdb.RENDER: {Name: "render", Help: "渲染", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(m.Space(m.Option(POD)), mdb.RENDER, arg[1:])
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
if kit.Contains(arg[1], ";") {
arg = kit.Split(arg[1], ";", ";", ";")