From 880631418c5082e5e6fd106a32f7dab1b30580d7 Mon Sep 17 00:00:00 2001 From: shy Date: Fri, 23 Feb 2024 19:02:57 +0800 Subject: [PATCH] add some --- base/ctx/command.go | 9 ++++++++- base/web/space.go | 2 ++ base/web/store.go | 8 +++++++- core/code/vimer.go | 3 +-- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/base/ctx/command.go b/base/ctx/command.go index a2584a01..90d00584 100644 --- a/base/ctx/command.go +++ b/base/ctx/command.go @@ -96,7 +96,14 @@ func init() { }) } }}, - }), Hand: func(m *ice.Message, arg ...string) { kit.For(arg, func(k string) { _command_list(m, k) }) }}, + }), Hand: func(m *ice.Message, arg ...string) { + if len(arg) == 0 { + m.OptionFields(INDEX) + m.Cmdy("", mdb.SEARCH, COMMAND) + } else { + kit.For(arg, func(k string) { _command_list(m, k) }) + } + }}, }) } diff --git a/base/web/space.go b/base/web/space.go index f2a4a8e4..8c23f5f3 100644 --- a/base/web/space.go +++ b/base/web/space.go @@ -360,11 +360,13 @@ func init() { m.Cmdy(nfs.DIR, ice.USR_ICONS, nfs.PATH) m.CutTo(nfs.PATH, arg[0]) case ctx.INDEX, ice.CMD: + m.OptionFields(ctx.INDEX) if space := m.Option(SPACE); space != "" { m.Options(SPACE, []string{}).Cmdy(SPACE, space, ctx.COMMAND) } else { m.Cmdy(ctx.COMMAND) } + m.CutTo(ctx.INDEX, arg[0]) case ctx.ARGS: m.OptionDefault(ctx.INDEX, m.Option("extra.index")) if space := m.Option(SPACE); space != "" { diff --git a/base/web/store.go b/base/web/store.go index 2cc7d443..dea08903 100644 --- a/base/web/store.go +++ b/base/web/store.go @@ -64,7 +64,13 @@ func init() { return } origin := SpideOrigin(m, arg[0]) - kit.If(kit.IsIn(arg[0], ice.OPS, ice.DEV), func() { origin = tcp.PublishLocalhost(m, origin) }) + kit.If(kit.IsIn(arg[0], ice.OPS, ice.DEV), func() { + if kit.IsIn(kit.ParseURL(origin).Hostname(), m.Cmds(tcp.HOST).Appendv(aaa.IP)...) { + origin = m.Option(ice.MSG_USERHOST) + } else { + origin = tcp.PublishLocalhost(m, origin) + } + }) list := m.Spawn(ice.Maps{ice.MSG_FIELDS: ""}).CmdMap(DREAM, mdb.NAME) m.SetAppend().Spawn().SplitIndex(m.Cmdx(SPIDE, arg[0], C(DREAM), kit.Dict(mdb.ConfigSimple(m, CLIENT_TIMEOUT)))).Table(func(value ice.Maps) { if value[mdb.TYPE] != WORKER { diff --git a/core/code/vimer.go b/core/code/vimer.go index d70ebf79..47679a12 100644 --- a/core/code/vimer.go +++ b/core/code/vimer.go @@ -107,8 +107,7 @@ func init() { kit.If(strings.HasPrefix(value[ctx.INDEX], kit.Select("", arg, 1)), func() { m.Push(arg[0], strings.TrimPrefix(value[ctx.INDEX], arg[1]+".")) }) }) case ctx.INDEX: - m.OptionFields(ctx.INDEX) - m.Cmd(ctx.COMMAND, mdb.SEARCH, ctx.COMMAND).Table(func(value ice.Maps) { + m.Cmd(ctx.COMMAND).Table(func(value ice.Maps) { kit.If(strings.HasPrefix(value[ctx.INDEX], kit.Select("", arg, 1)), func() { m.Push(arg[0], value[ctx.INDEX]) }) }) case nfs.PATH: