From 98683cc779234aeffc52d5d50a8261880de06b6e Mon Sep 17 00:00:00 2001 From: shylinux Date: Tue, 3 Jan 2023 15:11:46 +0800 Subject: [PATCH] opt some --- base/ctx/command.go | 2 +- base/ssh/script.go | 3 ++- core/wiki/field.go | 6 +++--- core/wiki/spark.go | 13 +++++++------ core/wiki/wiki.go | 2 +- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/base/ctx/command.go b/base/ctx/command.go index 078f5049..abd11ef2 100644 --- a/base/ctx/command.go +++ b/base/ctx/command.go @@ -55,7 +55,7 @@ func _command_search(m *ice.Message, kind, name, text string) { if name != "" && !strings.HasPrefix(key, name) && !strings.Contains(s.Name, name) { return } - m.PushSearch(ice.CTX, kit.PathName(1), ice.CMD, kit.FileName(1), kit.SimpleKV("", s.Cap(ice.CTX_FOLLOW), kit.Select(key, cmd.Name), kit.Select(key, cmd.Help)), + m.PushSearch(ice.CTX, kit.PathName(1), ice.CMD, kit.FileName(1), kit.SimpleKV("", s.Cap(ice.CTX_FOLLOW), cmd.Name, cmd.Help), CONTEXT, s.Cap(ice.CTX_FOLLOW), COMMAND, key, INDEX, kit.Keys(s.Cap(ice.CTX_FOLLOW), key), mdb.HELP, cmd.Help, nfs.FILE, FileURI(cmd.GetFileLines()), ) diff --git a/base/ssh/script.go b/base/ssh/script.go index c143490a..90f8706d 100644 --- a/base/ssh/script.go +++ b/base/ssh/script.go @@ -112,7 +112,8 @@ func (f *Frame) parse(m *ice.Message, h, line string) string { func (f *Frame) scan(m *ice.Message, h, line string) *Frame { f.ps1 = kit.Simple(m.Confv(PROMPT, kit.Keym(PS1))) f.ps2 = kit.Simple(m.Confv(PROMPT, kit.Keym(PS2))) - m.Options(MESSAGE, m, ice.LOG_DISABLE, ice.TRUE) + // m.Options(MESSAGE, m, ice.LOG_DISABLE, ice.TRUE) + m.Options(MESSAGE, m) m.I, m.O = f.stdin, f.stdout ps, bio := f.ps1, bufio.NewScanner(f.stdin) for f.prompt(m, ps...); f.stdin != nil && bio.Scan(); f.prompt(m, ps...) { diff --git a/core/wiki/field.go b/core/wiki/field.go index 48623190..e5aef584 100644 --- a/core/wiki/field.go +++ b/core/wiki/field.go @@ -42,10 +42,10 @@ func _field_show(m *ice.Message, name, text string, arg ...string) { meta[mdb.NAME], meta[mdb.INDEX] = name, text msg := m.Spawn() for i := 0; i < len(arg)-1; i += 2 { - if strings.HasPrefix(arg[i], ARGS) { - kit.Value(meta, arg[i], m.Optionv(arg[i], kit.Split(strings.TrimSuffix(strings.TrimPrefix(arg[i+1], "["), "]")))) - } else if strings.HasPrefix(arg[i], "args.") { + if strings.HasPrefix(arg[i], "args.") { kit.Value(meta, arg[i], m.Option(arg[i], strings.TrimSpace(arg[i+1]))) + } else if strings.HasPrefix(arg[i], ARGS) { + kit.Value(meta, arg[i], m.Optionv(arg[i], kit.Split(strings.TrimSuffix(strings.TrimPrefix(arg[i+1], "["), "]")))) } else { kit.Value(meta, arg[i], Parse(m, ice.MSG_OPTION, arg[i], arg[i+1])) } diff --git a/core/wiki/spark.go b/core/wiki/spark.go index 54ea18d5..db6b172e 100644 --- a/core/wiki/spark.go +++ b/core/wiki/spark.go @@ -91,14 +91,15 @@ func init() { }, WordAction(`

{{.Option "text"}}

`, ssh.PROMPT, kit.Dict(SHELL, "$ "))), Hand: func(m *ice.Message, arg ...string) { if len(arg) == 0 { m.Echo(`
`) - return - } - if kit.Ext(arg[0]) == "md" { + } else if kit.Ext(arg[0]) == "md" { m.Cmdy(SPARK, "md", arg) - return + } else { + if arg[0] == "shell" && arg[1] == "inner" { + arg = arg[1:] + } + arg = _name(m, arg) + _spark_show(m, arg[0], strings.TrimSpace(arg[1]), arg[2:]...) } - arg = _name(m, arg) - _spark_show(m, arg[0], strings.TrimSpace(arg[1]), arg[2:]...) }}, }) } diff --git a/core/wiki/wiki.go b/core/wiki/wiki.go index 7d66890b..d653a47b 100644 --- a/core/wiki/wiki.go +++ b/core/wiki/wiki.go @@ -26,7 +26,7 @@ func _option(m *ice.Message, kind, name, text string, arg ...string) *ice.Messag extra := kit.Dict() m.Optionv(mdb.EXTRA, extra) - for i := 0; i < len(arg); i += 2 { + for i := 0; i < len(arg)-1; i += 2 { extra[arg[i]] = kit.Format(kit.Parse(nil, "", kit.Split(arg[i+1])...)) } return m