From 84fe540a9a5c870481611679596867548f3166d7 Mon Sep 17 00:00:00 2001 From: shy Date: Fri, 8 Mar 2024 19:01:42 +0800 Subject: [PATCH] add some --- base/ctx/command.go | 18 ++++++++++++++++++ core/chat/macos/desktop.go | 6 +----- core/code/autogen.go | 4 ++-- core/code/vimer.go | 6 ++++-- misc/ssh/relay/matrix.go | 2 +- misc/ssh/relay/relay.go | 4 ++-- option.go | 1 + 7 files changed, 29 insertions(+), 12 deletions(-) diff --git a/base/ctx/command.go b/base/ctx/command.go index 90d00584..b25a6d6d 100644 --- a/base/ctx/command.go +++ b/base/ctx/command.go @@ -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) diff --git a/core/chat/macos/desktop.go b/core/chat/macos/desktop.go index 4dcb800c..48bc1db0 100644 --- a/core/chat/macos/desktop.go +++ b/core/chat/macos/desktop.go @@ -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) diff --git a/core/code/autogen.go b/core/code/autogen.go index 4f598a8d..903b794c 100644 --- a/core/code/autogen.go +++ b/core/code/autogen.go @@ -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()) }) diff --git a/core/code/vimer.go b/core/code/vimer.go index ff6861ed..7b5c2ced 100644 --- a/core/code/vimer.go +++ b/core/code/vimer.go @@ -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) { diff --git a/misc/ssh/relay/matrix.go b/misc/ssh/relay/matrix.go index f423fea1..1969026d 100644 --- a/misc/ssh/relay/matrix.go +++ b/misc/ssh/relay/matrix.go @@ -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) diff --git a/misc/ssh/relay/relay.go b/misc/ssh/relay/relay.go index 4b771eb9..83b5182a 100644 --- a/misc/ssh/relay/relay.go +++ b/misc/ssh/relay/relay.go @@ -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())) diff --git a/option.go b/option.go index 64e8940b..912b1234 100644 --- a/option.go +++ b/option.go @@ -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