diff --git a/core/code/inner.go b/core/code/inner.go index 5309b771..6a7a6a42 100644 --- a/core/code/inner.go +++ b/core/code/inner.go @@ -101,7 +101,15 @@ func init() { mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { switch arg[0] { case nfs.PATH: - m.Cmdy(nfs.DIR, kit.Select(nfs.PWD, arg, 1), nfs.DIR_CLI_FIELDS).ProcessAgain() + p := kit.Select(nfs.PWD, arg, 1) + m.Cmdy(nfs.DIR, p, nfs.DIR_CLI_FIELDS).Sort(nfs.PATH).ProcessAgain() + if strings.HasPrefix(p, "usr/icebergs/core/") && len(kit.Split(p, ice.PS)) > 3 { + p = strings.Replace(p, "usr/icebergs/core/", "usr/volcanos/plugin/local/", 1) + m.Cmdy(nfs.DIR, p, nfs.DIR_CLI_FIELDS).Sort(nfs.PATH) + } else if strings.HasPrefix(p, "usr/volcanos/plugin/local/") && len(kit.Split(p, ice.PS)) > 4 { + p = strings.Replace(p, "usr/volcanos/plugin/local/", "usr/icebergs/core/", 1) + m.Cmdy(nfs.DIR, p, nfs.DIR_CLI_FIELDS).SortStrR(nfs.PATH) + } case nfs.FILE: p := kit.Select(nfs.PWD, arg, 1) m.Option(nfs.DIR_ROOT, m.Option(nfs.PATH)) diff --git a/core/code/vimer.go b/core/code/vimer.go index 3f00263f..cc35a60f 100644 --- a/core/code/vimer.go +++ b/core/code/vimer.go @@ -85,8 +85,7 @@ func init() { m.Push(nfs.PATH, "_open:"+strings.ToLower(value[mdb.NAME])) }) case nfs.PATH: - m.Cmdy(nfs.DIR, arg[1:]).Cut("path,size,time") - m.ProcessAgain() + m.Cmdy(INNER, mdb.INPUTS, arg).Cut("path,size,time") default: } } diff --git a/core/wiki/wiki.go b/core/wiki/wiki.go index 4bb1f435..58b09314 100644 --- a/core/wiki/wiki.go +++ b/core/wiki/wiki.go @@ -88,6 +88,8 @@ func WikiAction(dir string, ext ...string) ice.Actions { case nfs.PATH: m.Option(nfs.DIR_REG, m.Config(lex.REGEXP)) m.Cmdy(nfs.DIR, path.Join(m.Config(nfs.PATH), kit.Select("", arg, 1))) + case ctx.INDEX: + m.Cmdy(ctx.COMMAND, mdb.SEARCH, ctx.COMMAND) } }}, }