diff --git a/base/nfs/dir.go b/base/nfs/dir.go index 193ac134..409e11e6 100644 --- a/base/nfs/dir.go +++ b/base/nfs/dir.go @@ -151,7 +151,7 @@ func _dir_list(m *ice.Message, root string, name string, level int, deep bool, d return m } func _dir_search(m *ice.Message, kind, name string) { - msg := _dir_list(m.Spawn(), "./", "", 0, true, TYPE_BOTH, nil, kit.Split("time,type,name")) + msg := _dir_list(m.Spawn(), ice.PWD, "", 0, true, TYPE_BOTH, nil, kit.Split("time,type,name")) msg.Table(func(index int, value map[string]string, head []string) { if !strings.Contains(value[kit.MDB_NAME], name) { return @@ -167,10 +167,10 @@ func _dir_search(m *ice.Message, kind, name string) { func Dir(m *ice.Message, sort string) *ice.Message { m.Option(DIR_TYPE, TYPE_DIR) - m.Copy(m.Cmd(DIR, "./").Sort(sort)) + m.Copy(m.Cmd(DIR, ice.PWD).Sort(sort)) m.Option(DIR_TYPE, TYPE_CAT) - m.Copy(m.Cmd(DIR, "./").Sort(sort)) + m.Copy(m.Cmd(DIR, ice.PWD).Sort(sort)) return m } @@ -217,7 +217,7 @@ func init() { if m.Option(DIR_ROOT) != "" { m.Info("dir_root: %v", m.Option(DIR_ROOT)) } - _dir_list(m, kit.Select("./", m.Option(DIR_ROOT)), kit.Select("./", arg, 0), + _dir_list(m, kit.Select(ice.PWD, m.Option(DIR_ROOT)), kit.Select(ice.PWD, arg, 0), 0, m.Option(DIR_DEEP) == ice.TRUE, kit.Select(TYPE_BOTH, m.Option(DIR_TYPE)), kit.Regexp(m.Option(DIR_REG)), kit.Split(kit.Select(kit.Select("time,path,size,action", m.OptionFields()), kit.Join(kit.Slice(arg, 1))))) m.SortTimeR(kit.MDB_TIME) diff --git a/base/nfs/tail.go b/base/nfs/tail.go index 0f421d3d..607e9b92 100644 --- a/base/nfs/tail.go +++ b/base/nfs/tail.go @@ -53,7 +53,7 @@ func init() { mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) { switch arg[0] { case FILE: - m.Cmdy(DIR, kit.Select("./", arg, 1), PATH).RenameAppend(PATH, FILE) + m.Cmdy(DIR, kit.Select(ice.PWD, arg, 1), PATH).RenameAppend(PATH, FILE) m.ProcessAgain() case kit.MDB_NAME: m.Push(arg[0], kit.Split(m.Option(FILE), ice.PS)) diff --git a/base/tcp/port.go b/base/tcp/port.go index cab26ea8..66bfb82d 100644 --- a/base/tcp/port.go +++ b/base/tcp/port.go @@ -56,8 +56,7 @@ func init() { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { if len(arg) == 0 { m.Option(nfs.DIR_ROOT, m.Conf(cli.DAEMON, kit.META_PATH)) - m.Cmd(nfs.DIR, "./", "time,path,size").Table(func(index int, value map[string]string, head []string) { - m.Debug("what %v", value) + m.Cmd(nfs.DIR, ice.PWD, "time,path,size").Table(func(index int, value map[string]string, head []string) { m.Push(kit.MDB_TIME, value[kit.MDB_TIME]) m.Push(PORT, path.Base(value[kit.MDB_PATH])) m.Push(kit.MDB_SIZE, value[kit.MDB_SIZE]) diff --git a/core/chat/cmd.go b/core/chat/cmd.go index 1b22f863..4dd3814c 100644 --- a/core/chat/cmd.go +++ b/core/chat/cmd.go @@ -17,7 +17,7 @@ const CMD = "cmd" func init() { Index.Merge(&ice.Context{Configs: map[string]*ice.Config{ CMD: {Name: CMD, Help: "命令", Value: kit.Data( - kit.MDB_SHORT, "type", kit.MDB_PATH, "./", + kit.MDB_SHORT, "type", kit.MDB_PATH, ice.PWD, )}, }, Commands: map[string]*ice.Command{ "/cmd/": {Name: "/cmd/", Help: "命令", Action: ice.MergeAction(map[string]*ice.Action{ @@ -65,7 +65,7 @@ func init() { } else if strings.HasSuffix(m.R.URL.Path, ice.PS) { m.ProcessLocation("../") } else { - m.ProcessLocation("./") + m.ProcessLocation(ice.PWD) } }}, }, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { diff --git a/core/code/autogen.go b/core/code/autogen.go index 17bf9508..f4baf4a5 100644 --- a/core/code/autogen.go +++ b/core/code/autogen.go @@ -185,7 +185,7 @@ func init() { }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { if m.Option(nfs.DIR_ROOT, ice.SRC); len(arg) == 0 || strings.HasSuffix(arg[0], ice.PS) { - m.Cmdy(nfs.DIR, kit.Select("./", arg, 0)) + m.Cmdy(nfs.DIR, kit.Select(ice.PWD, arg, 0)) } else { m.Cmdy(nfs.CAT, arg[0]) } diff --git a/core/code/binpack.go b/core/code/binpack.go index 89fb79fd..010da5ce 100644 --- a/core/code/binpack.go +++ b/core/code/binpack.go @@ -40,7 +40,7 @@ func _pack_dir(m *ice.Message, pack *os.File, dir string) { m.Option(nfs.DIR_TYPE, nfs.CAT) m.Option(nfs.DIR_ROOT, dir) - m.Cmd(nfs.DIR, "./").Sort(kit.MDB_PATH).Table(func(index int, value map[string]string, head []string) { + m.Cmd(nfs.DIR, ice.PWD).Sort(kit.MDB_PATH).Table(func(index int, value map[string]string, head []string) { if path.Base(value[kit.MDB_PATH]) == "binpack.go" { return } diff --git a/core/code/c.go b/core/code/c.go index 32a3a94b..e158b53a 100644 --- a/core/code/c.go +++ b/core/code/c.go @@ -13,7 +13,7 @@ import ( func _c_tags(m *ice.Message, key string) { if _, e := os.Stat(path.Join(m.Option(cli.CMD_DIR), _TAGS)); e != nil { - m.Cmd(cli.SYSTEM, "ctags", "-R", "-f", _TAGS, "./") + m.Cmd(cli.SYSTEM, "ctags", "-R", "-f", _TAGS, ice.PWD) } _go_tags(m, key) } @@ -71,7 +71,7 @@ func init() { m.Copy(msg) return } - m.Cmdy(cli.SYSTEM, "./"+name) + m.Cmdy(cli.SYSTEM, ice.PWD+name) }}, mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) { if arg[0] == kit.MDB_FOREACH { diff --git a/core/code/case.go b/core/code/case.go index 8c438e82..d100909f 100644 --- a/core/code/case.go +++ b/core/code/case.go @@ -86,14 +86,14 @@ func init() { "run": {Name: "run", Help: "运行", Hand: func(m *ice.Message, arg ...string) { // cli.Follow(m, "run", func() { m.Option(cli.CMD_DIR, kit.Select(path.Dir(arg[0]), arg[0], strings.HasSuffix(arg[0], "/"))) - m.Cmdy(cli.SYSTEM, "go", "test", "./", "-v", "-run="+arg[1]) + m.Cmdy(cli.SYSTEM, "go", "test", ice.PWD, "-v", "-run="+arg[1]) // }) }}, "case": {Name: "case", Help: "用例", Hand: func(m *ice.Message, arg ...string) { msg := m.Spawn() if strings.HasSuffix(arg[0], "/") { msg.Option(cli.CMD_DIR, arg[0]) - msg.Split(msg.Cmdx(cli.SYSTEM, "grep", "-r", "func Test.*(", "./"), "file:line", ":", "\n") + msg.Split(msg.Cmdx(cli.SYSTEM, "grep", "-r", "func Test.*(", ice.PWD), "file:line", ":", "\n") msg.Table(func(index int, value map[string]string, head []string) { if strings.HasPrefix(strings.TrimSpace(value["line"]), "//") { return @@ -111,7 +111,7 @@ func init() { }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { if len(arg) == 0 || arg[0] == "" { - m.Cmdy(nfs.DIR, "./") + m.Cmdy(nfs.DIR, ice.PWD) return } if len(arg) == 1 { @@ -127,7 +127,7 @@ func init() { } m.Option(cli.CMD_DIR, kit.Select(path.Dir(arg[0]), arg[0], strings.HasSuffix(arg[0], "/"))) - m.Cmdy(cli.SYSTEM, "go", "test", "./", "-v", "-run="+arg[1]) + m.Cmdy(cli.SYSTEM, "go", "test", ice.PWD, "-v", "-run="+arg[1]) }}, }}) } diff --git a/core/code/go.go b/core/code/go.go index 30c7cc78..d86e49f5 100644 --- a/core/code/go.go +++ b/core/code/go.go @@ -15,7 +15,7 @@ import ( func _go_tags(m *ice.Message, key string) { if s, e := os.Stat(path.Join(m.Option(cli.CMD_DIR), _TAGS)); os.IsNotExist(e) || s.ModTime().Before(time.Now().Add(kit.Duration("-72h"))) { - m.Cmd(cli.SYSTEM, "gotags", "-R", "-f", _TAGS, "./") + m.Cmd(cli.SYSTEM, "gotags", "-R", "-f", _TAGS, ice.PWD) } ls := strings.Split(key, ice.PT) @@ -40,7 +40,7 @@ func _go_tags(m *ice.Message, key string) { bio := bufio.NewScanner(f) for i := 1; bio.Scan(); i++ { if i == line || bio.Text() == text { - m.PushSearch(ice.CMD, "tags", kit.MDB_FILE, strings.TrimPrefix(file, "./"), kit.MDB_LINE, kit.Format(i), kit.MDB_TEXT, bio.Text()) + m.PushSearch(ice.CMD, "tags", kit.MDB_FILE, strings.TrimPrefix(file, ice.PWD), kit.MDB_LINE, kit.Format(i), kit.MDB_TEXT, bio.Text()) } } } @@ -57,7 +57,7 @@ func _go_find(m *ice.Message, key string) { if p == "" { continue } - m.PushSearch(ice.CMD, FIND, kit.MDB_FILE, strings.TrimPrefix(p, "./"), kit.MDB_LINE, 1, kit.MDB_TEXT, "") + m.PushSearch(ice.CMD, FIND, kit.MDB_FILE, strings.TrimPrefix(p, ice.PWD), kit.MDB_LINE, 1, kit.MDB_TEXT, "") } } func _go_grep(m *ice.Message, key string) { @@ -103,9 +103,9 @@ func init() { mdb.ENGINE: {Hand: func(m *ice.Message, arg ...string) { m.Option(cli.CMD_DIR, arg[2]) if strings.HasSuffix(arg[1], "test.go") { - m.Cmdy(cli.SYSTEM, GO, "test", "-v", "./"+arg[1]) + m.Cmdy(cli.SYSTEM, GO, "test", "-v", ice.PWD+arg[1]) } else { - m.Cmdy(cli.SYSTEM, GO, "run", "./"+arg[1]) + m.Cmdy(cli.SYSTEM, GO, "run", ice.PWD+arg[1]) } m.Set(ice.MSG_APPEND) }}, diff --git a/core/code/install.go b/core/code/install.go index d5fae258..b3bcf287 100644 --- a/core/code/install.go +++ b/core/code/install.go @@ -188,7 +188,7 @@ func init() { default: // 目录列表 m.Option(nfs.DIR_ROOT, path.Join(m.Conf(cli.DAEMON, kit.META_PATH), arg[1])) - m.Cmdy(nfs.CAT, kit.Select("./", arg, 2)) + m.Cmdy(nfs.CAT, kit.Select(ice.PWD, arg, 2)) } }}, }}) diff --git a/core/code/publish.go b/core/code/publish.go index 10ef0d04..1627f531 100644 --- a/core/code/publish.go +++ b/core/code/publish.go @@ -53,7 +53,7 @@ func _publish_list(m *ice.Message, arg ...string) { m.Option(nfs.DIR_DEEP, ice.TRUE) m.Option(nfs.DIR_REG, kit.Select("", arg, 0)) m.Option(nfs.DIR_ROOT, m.Config(kit.MDB_PATH)) - m.Cmdy(nfs.DIR, "./", kit.Select("time,size,line,path,link", arg, 1)) + m.Cmdy(nfs.DIR, ice.PWD, kit.Select("time,size,line,path,link", arg, 1)) } const PUBLISH = "publish" diff --git a/core/team/plan.go b/core/team/plan.go index 0f8095f7..41274c33 100644 --- a/core/team/plan.go +++ b/core/team/plan.go @@ -85,6 +85,10 @@ func init() { if pod := msg.Append(kit.KeyExtra(ice.POD)); pod != "" { m.Option(ice.POD, pod) } + m.Debug(msg.FormatMeta()) + m.Debug("what %v", kit.KeyExtra(ice.CTX)) + m.Debug("what %v", msg.Append(kit.KeyExtra(ice.CTX))) + m.Debug("what %v", msg.Append(kit.KeyExtra(ice.CMD))) args := kit.Simple(kit.Keys(msg.Append(kit.KeyExtra(ice.CTX)), msg.Append(kit.KeyExtra(ice.CMD))), arg[2:]) if !m.PodCmd(args) { m.Cmdy(args) diff --git a/core/wiki/data.go b/core/wiki/data.go index 2745213d..6c9fc5ea 100644 --- a/core/wiki/data.go +++ b/core/wiki/data.go @@ -21,7 +21,7 @@ func init() { _wiki_save(m, m.CommandKey(), arg[0], arg[1]) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - if !_wiki_list(m, m.CommandKey(), kit.Select("./", arg, 0)) { + if !_wiki_list(m, m.CommandKey(), kit.Select(ice.PWD, arg, 0)) { m.CSV(m.Cmd(nfs.CAT, arg[0]).Result()) } }}, diff --git a/core/wiki/draw.go b/core/wiki/draw.go index 0ddf02f7..19a32e99 100644 --- a/core/wiki/draw.go +++ b/core/wiki/draw.go @@ -1,8 +1,6 @@ package wiki import ( - "path" - ice "shylinux.com/x/icebergs" "shylinux.com/x/icebergs/base/ctx" "shylinux.com/x/icebergs/base/nfs" @@ -15,15 +13,15 @@ func init() { Index.Merge(&ice.Context{Configs: map[string]*ice.Config{ DRAW: {Name: DRAW, Help: "思维导图", Value: kit.Data(kit.MDB_REGEXP, ".*\\.svg")}, }, Commands: map[string]*ice.Command{ - DRAW: {Name: "draw path=src/main.svg refresh:button=auto edit save project actions", Help: "思维导图", Meta: kit.Dict( - ice.Display("/plugin/local/wiki/draw.js"), + DRAW: {Name: "draw path=src/main.svg pid refresh:button=auto edit save actions", Help: "思维导图", Meta: kit.Dict( + ice.DisplayLocal(""), ), Action: ice.MergeAction(map[string]*ice.Action{ - nfs.SAVE: {Name: "save path", Help: "保存", Hand: func(m *ice.Message, arg ...string) { - _wiki_save(m, DRAW, path.Join(arg...), m.Option(kit.MDB_CONTENT)) + nfs.SAVE: {Name: "save", Help: "保存", Hand: func(m *ice.Message, arg ...string) { + _wiki_save(m, DRAW, arg[0], m.Option(kit.MDB_CONTENT)) }}, }, ctx.CmdAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - if !_wiki_list(m, DRAW, kit.Select("./", path.Join(arg...))) { - _wiki_show(m, DRAW, path.Join(arg...)) + if !_wiki_list(m, DRAW, kit.Select(ice.PWD, arg, 0)) { + _wiki_show(m, DRAW, arg[0]) } }}, }}) diff --git a/core/wiki/feel.go b/core/wiki/feel.go index afc32c36..804698d3 100644 --- a/core/wiki/feel.go +++ b/core/wiki/feel.go @@ -28,7 +28,7 @@ func init() { os.Remove(strings.TrimPrefix(arg[0], "/share/local/")) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - _wiki_list(m, m.CommandKey(), kit.Select("./", arg, 0)) + _wiki_list(m, m.CommandKey(), kit.Select(ice.PWD, arg, 0)) }}, }}) } diff --git a/core/wiki/json.go b/core/wiki/json.go index 42fb96e1..b5b83de7 100644 --- a/core/wiki/json.go +++ b/core/wiki/json.go @@ -70,7 +70,7 @@ func init() { m.Echo(``) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - if !_wiki_list(m, JSON, kit.Select("./", arg, 0)) { + if !_wiki_list(m, JSON, kit.Select(ice.PWD, arg, 0)) { m.Cmdy(nfs.CAT, arg[0]) } }}, diff --git a/core/wiki/wiki.go b/core/wiki/wiki.go index 39a990ee..520df491 100644 --- a/core/wiki/wiki.go +++ b/core/wiki/wiki.go @@ -42,12 +42,12 @@ func _wiki_list(m *ice.Message, cmd string, arg ...string) bool { if len(arg) == 0 || strings.HasSuffix(arg[0], ice.PS) { if m.Option(nfs.DIR_DEEP) != ice.TRUE { // 目录列表 m.Option(nfs.DIR_TYPE, nfs.DIR) - m.Cmdy(nfs.DIR, kit.Select("./", arg, 0)) + m.Cmdy(nfs.DIR, kit.Select(ice.PWD, arg, 0)) } // 文件列表 m.Option(nfs.DIR_TYPE, nfs.CAT) - m.Cmdy(nfs.DIR, kit.Select("./", arg, 0)) + m.Cmdy(nfs.DIR, kit.Select(ice.PWD, arg, 0)) return true } return false diff --git a/misc.go b/misc.go index b113be88..2af1371d 100644 --- a/misc.go +++ b/misc.go @@ -320,13 +320,16 @@ func (c *Context) split(name string) (list []interface{}) { } func Display(file string, arg ...string) map[string]string { + return Display0(2, file, arg...) +} +func DisplayLocal(file string, arg ...string) map[string]string { if file == "" { - file = kit.FileName(2) + ".js" + file = path.Join(kit.PathName(2), kit.FileName(2)+".js") } if !strings.HasPrefix(file, "/") { - file = path.Join("/require", kit.ModPath(2, file)) + file = path.Join("/plugin/local", file) } - return map[string]string{"display": file, kit.MDB_STYLE: kit.Join(arg, " ")} + return Display0(2, file, arg...) } func Display0(n int, file string, arg ...string) map[string]string { if file == "" {