forked from x/icebergs
add some
This commit is contained in:
parent
956f823558
commit
84fe540a9a
@ -96,6 +96,24 @@ func init() {
|
||||
})
|
||||
}
|
||||
}},
|
||||
"default": {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Spawn(m.Source()).Search(arg[0], func(key string, cmd *ice.Command) {
|
||||
if arg[1] == ACTION {
|
||||
list := kit.Value(cmd.Meta, arg[2])
|
||||
kit.For(arg[3:], func(k, v string) {
|
||||
kit.For(list, func(value ice.Map) {
|
||||
kit.If(value[mdb.NAME] == k, func() {
|
||||
value[mdb.VALUE] = v
|
||||
})
|
||||
})
|
||||
})
|
||||
return
|
||||
}
|
||||
for i, v := range arg[1:] {
|
||||
kit.Value(cmd.List, kit.Keys(i, "value"), v)
|
||||
}
|
||||
})
|
||||
}},
|
||||
}), Hand: func(m *ice.Message, arg ...string) {
|
||||
if len(arg) == 0 {
|
||||
m.OptionFields(INDEX)
|
||||
|
@ -21,11 +21,7 @@ func init() {
|
||||
ice.CTX_OPEN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Cmd(DESKTOP).Length() == 0 {
|
||||
DeskAppend(m, "Books.png", web.WIKI_WORD)
|
||||
if nfs.Exists(m, nfs.USR_LOCAL_IMAGE) {
|
||||
DeskAppend(m, "Photos.png", web.WIKI_FEEL, ctx.ARGS, nfs.USR_LOCAL_IMAGE)
|
||||
} else {
|
||||
DeskAppend(m, "Photos.png", web.WIKI_FEEL, ctx.ARGS, nfs.USR_ICONS)
|
||||
}
|
||||
DeskAppend(m, "Photos.png", web.WIKI_FEEL)
|
||||
DeskAppend(m, "Grapher.png", web.WIKI_DRAW)
|
||||
DeskAppend(m, "Calendar.png", web.TEAM_PLAN)
|
||||
DeskAppend(m, "Messages.png", web.CHAT_MESSAGE)
|
||||
|
@ -134,12 +134,12 @@ func init() {
|
||||
m.Cmd(nfs.DEFS, ice.ETC_MISS_SH, m.Cmdx(nfs.CAT, ice.ETC_MISS_SH))
|
||||
m.Cmdy(nfs.DIR, ice.ETC_MISS_SH).Cmdy(nfs.CAT, ice.ETC_MISS_SH)
|
||||
}},
|
||||
nfs.MODULE: {Name: "module name*=hi help type*=Hash,Zone,Data,Lang,Code main*=main.go@key zone key", Help: "模块", Hand: func(m *ice.Message, arg ...string) {
|
||||
nfs.MODULE: {Name: "module name*=hi help type*=Hash,Zone,Data,Lang,Code main*=main.go@key zone top", Help: "模块", Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.WarnNotFound(!nfs.Exists(m, kit.Path(".git")), "未初始化代码库") {
|
||||
return
|
||||
}
|
||||
m.OptionDefault(mdb.ZONE, m.Option(mdb.NAME), mdb.HELP, m.Option(mdb.NAME))
|
||||
m.OptionDefault(mdb.KEY, Prefix(strings.ReplaceAll(m.Option(mdb.ZONE), "/", "."), m.Option(mdb.NAME)))
|
||||
m.OptionDefault(mdb.KEY, kit.Keys(m.Option("top"), strings.ReplaceAll(m.Option(mdb.ZONE), "/", "."), m.Option(mdb.NAME)))
|
||||
m.Option(nfs.FILE, path.Join(m.Option(mdb.ZONE), kit.Keys(m.Option(mdb.NAME), GO)))
|
||||
m.Option(mdb.TEXT, kit.Format("`name:\"list %s\" help:\"%s\"`", _autogen_list(m), m.Option(mdb.HELP)))
|
||||
defer m.Go(func() { _autogen_version(m.Spawn()) })
|
||||
|
@ -75,7 +75,9 @@ func init() {
|
||||
})
|
||||
Index.MergeCommands(ice.Commands{
|
||||
VIMER: {Name: "vimer path=src/ file=main.go line=1 list", Help: "编辑器", Icon: "vimer.png", Role: aaa.VOID, Meta: kit.Dict(
|
||||
ctx.STYLE, INNER, ice.CTX_TRANS, kit.Dict(html.INPUT, kit.Dict(cli.MAIN, "程序")),
|
||||
ctx.STYLE, INNER, ice.CTX_TRANS, kit.Dict(html.INPUT, kit.Dict(
|
||||
cli.MAIN, "程序", "top", "顶域",
|
||||
)),
|
||||
), Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if mdb.IsSearchPreview(m, arg) {
|
||||
@ -156,7 +158,7 @@ func init() {
|
||||
gdb.Event(m, VIMER_SAVE)
|
||||
}},
|
||||
nfs.TRASH: {Hand: func(m *ice.Message, arg ...string) { nfs.Trash(m, arg[0]) }},
|
||||
nfs.MODULE: {Name: "create name*=client help=示例 type*=Hash,Zone,Data,Code main*=main.go zone=cloud/tencent/lighthouse key=ssh.cloud.tencent.lighthouse.client", Help: "模块", Hand: func(m *ice.Message, arg ...string) {
|
||||
nfs.MODULE: {Name: "create name*=hi help=示例 type*=Hash,Zone,Data,Code main*=main.go zone=hi top=web.chat", Help: "模块", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(AUTOGEN, nfs.MODULE, arg)
|
||||
}},
|
||||
nfs.SCRIPT: {Name: "script file*", Help: "脚本", Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -53,7 +53,7 @@ func (s matrix) plug(m *ice.Message, arg ...string) {
|
||||
m.ProcessPodCmd(kit.Keys(kit.Select("", ice.OPS, ice.Info.NodeType == web.WORKER), m.Option(MACHINE), m.Option(web.SPACE)), m.ActionKey(), arg, arg...)
|
||||
}
|
||||
func (s matrix) xterm(m *ice.Message, arg ...string) {
|
||||
m.ProcessXterm(func() []string {
|
||||
m.ProcessXterm("", func() []string {
|
||||
cmd, dir := cli.SH, ice.CONTEXTS
|
||||
if m.Option(MACHINE) == "" {
|
||||
cmd = cli.Shell(m.Message)
|
||||
|
@ -278,7 +278,7 @@ func (s relay) AdminCmd(m *ice.Message, arg ...string) {
|
||||
s.shell(m, "cd "+kit.Select(ice.CONTEXTS, m.Option(web.DREAM))+"; "+s.admin(m, m.Option(ice.CMD)), arg...)
|
||||
}
|
||||
func (s relay) Xterm(m *ice.Message, arg ...string) {
|
||||
m.ProcessXterm(kit.JoinWord(m.Option(MACHINE), ice.INIT, kit.Format("%q", "cd "+kit.Select(ice.CONTEXTS, m.Option(web.DREAM)))), arg...)
|
||||
m.ProcessXterm("", kit.JoinWord(m.Option(MACHINE), ice.INIT, kit.Format("%q", "cd "+kit.Select(ice.CONTEXTS, m.Option(web.DREAM)))), arg...)
|
||||
}
|
||||
func (s relay) Login(m *ice.Message, arg ...string) {
|
||||
if m.Options(s.Hash.List(m.Spawn(), m.Option(MACHINE)).AppendSimple()); m.Option(ice.BACK) == "" {
|
||||
@ -347,7 +347,7 @@ func (s relay) iframe(m *ice.Message, cmd string, arg ...string) {
|
||||
}
|
||||
}
|
||||
func (s relay) shell(m *ice.Message, init string, arg ...string) {
|
||||
m.ProcessXterm(kit.JoinWord(m.Option(MACHINE), ice.INIT, kit.Format("%q", strings.ReplaceAll(init, lex.NL, "; "))), arg...)
|
||||
m.ProcessXterm("", kit.JoinWord(m.Option(MACHINE), ice.INIT, kit.Format("%q", strings.ReplaceAll(init, lex.NL, "; "))), arg...)
|
||||
}
|
||||
func (s relay) foreachScript(m *ice.Message, script string, arg ...string) {
|
||||
m.Option(ice.MSG_TITLE, kit.Keys(m.Option(ice.MSG_USERPOD), m.CommandKey(), m.ActionKey()))
|
||||
|
@ -67,6 +67,7 @@ func (m *Message) MergeLink(url string, arg ...Any) string {
|
||||
kit.If(m.Option(DEBUG) == TRUE, func() { arg = append([]Any{DEBUG, TRUE}, arg...) })
|
||||
return kit.MergeURL2(strings.Split(kit.Select(Info.Domain, m.Option(MSG_USERWEB)), QS)[0], url, arg...)
|
||||
}
|
||||
func (m *Message) FieldsSetDetail() { m.OptionFields(FIELDS_DETAIL) }
|
||||
func (m *Message) FieldsIsDetail() bool {
|
||||
ls := m.value(MSG_APPEND)
|
||||
return len(ls) == 2 && ls[0] == KEY && ls[1] == VALUE || m.OptionFields() == FIELDS_DETAIL
|
||||
|
Loading…
x
Reference in New Issue
Block a user