1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 09:34:05 +08:00
This commit is contained in:
harveyshao 2021-11-02 10:07:37 +08:00
parent 51eb0852c2
commit 39f30857f0
9 changed files with 388 additions and 422 deletions

View File

@ -16,7 +16,7 @@ func _config_get(m *ice.Message, key string) string {
return m.Cmdx(cli.SYSTEM, GIT, CONFIG, "--global", key) return m.Cmdx(cli.SYSTEM, GIT, CONFIG, "--global", key)
} }
func _config_list(m *ice.Message) { func _config_list(m *ice.Message) {
for _, v := range strings.Split(_config_get(m, "--list"), "\n") { for _, v := range strings.Split(_config_get(m, "--list"), ice.NL) {
if ls := strings.Split(v, "="); len(ls) > 1 { if ls := strings.Split(v, "="); len(ls) > 1 {
m.Push(kit.MDB_NAME, ls[0]) m.Push(kit.MDB_NAME, ls[0])
m.Push(kit.MDB_VALUE, ls[1]) m.Push(kit.MDB_VALUE, ls[1])
@ -46,26 +46,26 @@ func init() {
}, Commands: map[string]*ice.Command{ }, Commands: map[string]*ice.Command{
CONFIG: {Name: "server name auto create import", Help: "配置键", Action: map[string]*ice.Action{ CONFIG: {Name: "server name auto create import", Help: "配置键", Action: map[string]*ice.Action{
mdb.IMPORT: {Name: "import", Help: "初始化", Hand: func(m *ice.Message, arg ...string) { mdb.IMPORT: {Name: "import", Help: "初始化", Hand: func(m *ice.Message, arg ...string) {
kit.Fetch(m.Confv(CONFIG, kit.Keym("init")), func(conf string, value interface{}) { kit.Fetch(m.Configv("init"), func(conf string, value interface{}) {
kit.Fetch(value, func(key string, value string) { kit.Fetch(value, func(key string, value string) {
_config_set(m, kit.Keys(conf, key), value) _config_set(m, kit.Keys(conf, key), value)
}) })
}) })
}}, }},
mdb.CREATE: {Name: "create name value", Help: "添加", Hand: func(m *ice.Message, arg ...string) { mdb.CREATE: {Name: "create name value", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(mdb.DELETE, m.Prefix(CONFIG), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME)) m.Cmd(mdb.DELETE, m.PrefixKey(), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME))
_config_set(m, m.Option(kit.MDB_NAME), m.Option(kit.MDB_VALUE)) _config_set(m, m.Option(kit.MDB_NAME), m.Option(kit.MDB_VALUE))
m.ProcessRefresh30ms() m.ProcessRefresh30ms()
}}, }},
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
if arg[0] == kit.MDB_VALUE { if arg[0] == kit.MDB_VALUE {
m.Cmd(mdb.DELETE, m.Prefix(CONFIG), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME)) m.Cmd(mdb.DELETE, m.PrefixKey(), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME))
_config_set(m, m.Option(kit.MDB_NAME), arg[1]) _config_set(m, m.Option(kit.MDB_NAME), arg[1])
m.ProcessRefresh30ms() m.ProcessRefresh30ms()
} }
}}, }},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) { mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(mdb.INSERT, m.Prefix(CONFIG), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME, kit.MDB_VALUE)) m.Cmd(mdb.INSERT, m.PrefixKey(), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME, kit.MDB_VALUE))
_config_set(m, "--unset", m.Option(kit.MDB_NAME)) _config_set(m, "--unset", m.Option(kit.MDB_NAME))
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {

View File

@ -15,18 +15,14 @@ var Index = &ice.Context{Name: GIT, Help: "代码库", Configs: map[string]*ice.
cli.SOURCE, "http://mirrors.tencent.com/macports/distfiles/git-cinnabar/git-2.31.1.tar.gz", cli.SOURCE, "http://mirrors.tencent.com/macports/distfiles/git-cinnabar/git-2.31.1.tar.gz",
)}, )},
}, Commands: map[string]*ice.Command{ }, Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Load() }},
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }},
GIT: {Name: "git path auto order build download", Help: "代码库", Action: ice.MergeAction(map[string]*ice.Action{ GIT: {Name: "git path auto order build download", Help: "代码库", Action: ice.MergeAction(map[string]*ice.Action{
cli.ORDER: {Name: "order", Help: "加载", Hand: func(m *ice.Message, arg ...string) { cli.ORDER: {Name: "order", Help: "加载", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(code.INSTALL, cli.ORDER, m.Config(cli.SOURCE), "_install/bin") m.Cmdy(code.INSTALL, cli.ORDER, m.Config(cli.SOURCE), "_install/bin")
m.Cmdy(code.INSTALL, cli.ORDER, m.Config(cli.SOURCE), "_install/libexec/git-core") m.Cmdy(code.INSTALL, cli.ORDER, m.Config(cli.SOURCE), "_install/libexec/git-core")
}}, }},
}, code.InstallAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, code.InstallAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Cmdy(code.INSTALL, cli.SOURCE, m.Config(cli.SOURCE), arg) m.Cmdy(code.INSTALL, cli.SOURCE, m.Config(cli.SOURCE), arg)
}}, }},
}, }}
}
func init() { code.Index.Register(Index, &web.Frame{}) } func init() { code.Index.Register(Index, &web.Frame{}) }

View File

@ -41,26 +41,24 @@ const (
const REPOS = "repos" const REPOS = "repos"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{Configs: map[string]*ice.Config{
Configs: map[string]*ice.Config{
REPOS: {Name: REPOS, Help: "代码库", Value: kit.Data( REPOS: {Name: REPOS, Help: "代码库", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_FIELD, "time,name,branch,commit,remote", kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_FIELD, "time,name,branch,commit,remote",
kit.SSH_REPOS, "https://shylinux.com/x", kit.SSH_REPOS, "https://shylinux.com/x",
)}, )},
}, }, Commands: map[string]*ice.Command{
Commands: map[string]*ice.Command{ REPOS: {Name: "repos name path auto create", Help: "代码库", Action: ice.MergeAction(map[string]*ice.Action{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
m.Conf(REPOS, kit.MDB_HASH, "") m.Conf(REPOS, kit.MDB_HASH, "")
_repos_insert(m, path.Base(kit.Pwd()), kit.Pwd()) _repos_insert(m, path.Base(kit.Pwd()), kit.Pwd())
m.Cmd(nfs.DIR, ice.USR, "name,path").Table(func(index int, value map[string]string, head []string) { m.Cmd(nfs.DIR, ice.USR, "name,path").Table(func(index int, value map[string]string, head []string) {
_repos_insert(m, value[kit.MDB_NAME], value[kit.MDB_PATH]) _repos_insert(m, value[kit.MDB_NAME], value[kit.MDB_PATH])
}) })
}}, }},
REPOS: {Name: "repos name path auto create", Help: "代码库", Action: map[string]*ice.Action{
mdb.CREATE: {Name: "create repos branch name path", Help: "添加", Hand: func(m *ice.Message, arg ...string) { mdb.CREATE: {Name: "create repos branch name path", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Option(kit.MDB_NAME, kit.Select(strings.TrimSuffix(path.Base(m.Option(kit.SSH_REPOS)), ".git"), m.Option(kit.MDB_NAME))) m.Option(kit.MDB_NAME, kit.Select(strings.TrimSuffix(path.Base(m.Option(kit.SSH_REPOS)), ".git"), m.Option(kit.MDB_NAME)))
m.Option(kit.MDB_PATH, kit.Select(path.Join(ice.USR, m.Option(kit.MDB_NAME)), m.Option(kit.MDB_PATH))) m.Option(kit.MDB_PATH, kit.Select(path.Join(ice.USR, m.Option(kit.MDB_NAME)), m.Option(kit.MDB_PATH)))
m.Option(kit.SSH_REPOS, kit.Select(m.Conf(REPOS, kit.Keym(kit.SSH_REPOS))+"/"+m.Option(kit.MDB_NAME), m.Option(kit.SSH_REPOS))) m.Option(kit.SSH_REPOS, kit.Select(m.Conf(REPOS, kit.Keym(kit.SSH_REPOS))+ice.PS+m.Option(kit.MDB_NAME), m.Option(kit.SSH_REPOS)))
if s, e := os.Stat(path.Join(m.Option(kit.MDB_PATH), ".git")); e == nil && s.IsDir() { if s, e := os.Stat(path.Join(m.Option(kit.MDB_PATH), ".git")); e == nil && s.IsDir() {
return return
@ -79,10 +77,9 @@ func init() {
_repos_insert(m, m.Option(kit.MDB_NAME), m.Option(kit.MDB_PATH)) _repos_insert(m, m.Option(kit.MDB_NAME), m.Option(kit.MDB_PATH))
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
if len(arg) == 0 { // 仓库列表 if len(arg) == 0 { // 仓库列表
m.Fields(len(arg), m.Conf(REPOS, kit.META_FIELD)) mdb.HashSelect(m, arg...)
m.Cmdy(mdb.SELECT, m.Prefix(REPOS), "", mdb.HASH)
m.Sort(kit.MDB_NAME) m.Sort(kit.MDB_NAME)
return return
} }
@ -90,6 +87,5 @@ func init() {
m.Option(nfs.DIR_ROOT, _repos_path(arg[0])) m.Option(nfs.DIR_ROOT, _repos_path(arg[0]))
m.Cmdy(nfs.CAT, kit.Select("./", arg, 1), "time,line,path") m.Cmdy(nfs.CAT, kit.Select("./", arg, 1), "time,line,path")
}}, }},
}, }})
})
} }

View File

@ -14,7 +14,7 @@ import (
) )
func _spide_for(text string, cb func([]string)) { func _spide_for(text string, cb func([]string)) {
for _, line := range strings.Split(text, "\n") { for _, line := range strings.Split(text, ice.NL) {
if len(line) == 0 || strings.HasPrefix(line, "!_") { if len(line) == 0 || strings.HasPrefix(line, "!_") {
continue continue
} }
@ -46,7 +46,7 @@ func _spide_go(m *ice.Message, file string) {
m.Push(kit.MDB_FILE, ls[1]) m.Push(kit.MDB_FILE, ls[1])
m.Push(kit.MDB_LINE, strings.TrimSuffix(ls[2], ";\"")) m.Push(kit.MDB_LINE, strings.TrimSuffix(ls[2], ";\""))
m.Push(kit.MDB_TYPE, ls[3]) m.Push(kit.MDB_TYPE, ls[3])
m.Push(kit.MDB_EXTRA, strings.Join(ls[4:], " ")) m.Push(kit.MDB_EXTRA, strings.Join(ls[4:], ice.SP))
}) })
} }
func _spide_c(m *ice.Message, file string) { func _spide_c(m *ice.Message, file string) {
@ -83,9 +83,9 @@ func init() {
m.Option(nfs.DIR_DEEP, ice.TRUE) m.Option(nfs.DIR_DEEP, ice.TRUE)
nfs.Dir(m, kit.MDB_PATH) nfs.Dir(m, kit.MDB_PATH)
color := []string{"yellow", "blue", "cyan", "red"} color := []string{cli.YELLOW, cli.BLUE, cli.CYAN, cli.RED}
m.Table(func(index int, value map[string]string, head []string) { m.Table(func(index int, value map[string]string, head []string) {
m.Push(kit.MDB_COLOR, color[strings.Count(value[kit.MDB_PATH], "/")%len(color)]) m.Push(kit.MDB_COLOR, color[strings.Count(value[kit.MDB_PATH], ice.PS)%len(color)])
}) })
return return
} }

View File

@ -14,13 +14,11 @@ import (
const TOTAL = "total" const TOTAL = "total"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{Configs: map[string]*ice.Config{
Configs: map[string]*ice.Config{
TOTAL: {Name: TOTAL, Help: "统计量", Value: kit.Data( TOTAL: {Name: TOTAL, Help: "统计量", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_NAME, "skip", kit.Dict("wubi-dict", ice.TRUE, "word-dict", ice.TRUE), kit.MDB_SHORT, kit.MDB_NAME, "skip", kit.Dict("wubi-dict", ice.TRUE, "word-dict", ice.TRUE),
)}, )},
}, }, Commands: map[string]*ice.Command{
Commands: map[string]*ice.Command{
TOTAL: {Name: "total name auto", Help: "统计量", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { TOTAL: {Name: "total name auto", Help: "统计量", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
if len(arg) > 0 { // 提交详情 if len(arg) > 0 { // 提交详情
m.Richs(REPOS, nil, arg[0], func(key string, value map[string]interface{}) { m.Richs(REPOS, nil, arg[0], func(key string, value map[string]interface{}) {

View File

@ -10,12 +10,14 @@ import (
kit "shylinux.com/x/toolkits" kit "shylinux.com/x/toolkits"
) )
const TEXT = "text"
const BUFFER = "buffer"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{Configs: map[string]*ice.Config{
Configs: map[string]*ice.Config{
BUFFER: {Name: BUFFER, Help: "缓存", Value: kit.Data()}, BUFFER: {Name: BUFFER, Help: "缓存", Value: kit.Data()},
}, }, Commands: map[string]*ice.Command{
Commands: map[string]*ice.Command{
BUFFER: {Name: "buffer name value auto export import", Help: "缓存", Action: map[string]*ice.Action{ BUFFER: {Name: "buffer name value auto export import", Help: "缓存", Action: map[string]*ice.Action{
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
switch arg[0] { switch arg[0] {
@ -24,22 +26,22 @@ func init() {
} }
}}, }},
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) { mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Conf(BUFFER, mdb.LIST, "") m.Config(mdb.LIST, "")
m.Conf(BUFFER, kit.Keys(mdb.META, kit.MDB_COUNT), "0") m.Config(kit.MDB_COUNT, "0")
m.Cmd(BUFFER).Table(func(index int, value map[string]string, head []string) { m.Cmd(BUFFER).Table(func(index int, value map[string]string, head []string) {
m.Grow(BUFFER, "", kit.Dict( m.Grow(m.PrefixKey(), "", kit.Dict(
kit.MDB_NAME, value[head[0]], kit.MDB_TEXT, m.Cmdx(cli.SYSTEM, TMUX, "show-buffer", "-b", value[head[0]]), kit.MDB_NAME, value[head[0]], kit.MDB_TEXT, m.Cmdx(cli.SYSTEM, TMUX, "show-buffer", "-b", value[head[0]]),
)) ))
}) })
m.Cmdy(mdb.EXPORT, m.Prefix(BUFFER), "", mdb.LIST) m.Cmdy(mdb.EXPORT, m.PrefixKey(), "", mdb.LIST)
}}, }},
mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) { mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Conf(BUFFER, mdb.LIST, "") m.Config(mdb.LIST, "")
m.Conf(BUFFER, kit.Keys(mdb.META, kit.MDB_COUNT), "0") m.Config(kit.MDB_COUNT, "0")
m.Cmdy(mdb.IMPORT, m.Prefix(BUFFER), "", mdb.LIST) m.Cmdy(mdb.IMPORT, m.PrefixKey(), "", mdb.LIST)
m.Grows(BUFFER, "", "", "", func(index int, value map[string]interface{}) { m.Grows(m.PrefixKey(), "", "", "", func(index int, value map[string]interface{}) {
m.Cmd(cli.SYSTEM, TMUX, "set-buffer", "-b", value[kit.MDB_NAME], value[kit.MDB_TEXT]) m.Cmd(cli.SYSTEM, TMUX, "set-buffer", "-b", value[kit.MDB_NAME], value[kit.MDB_TEXT])
}) })
}}, }},
@ -53,7 +55,7 @@ func init() {
} }
// 缓存列表 // 缓存列表
for i, v := range kit.Split(m.Cmdx(cli.SYSTEM, TMUX, "list-buffers"), "\n", "\n", "\n") { for i, v := range kit.Split(m.Cmdx(cli.SYSTEM, TMUX, "list-buffers"), ice.NL, ice.NL, ice.NL) {
ls := strings.SplitN(v, ": ", 3) ls := strings.SplitN(v, ": ", 3)
m.Push(kit.MDB_NAME, ls[0]) m.Push(kit.MDB_NAME, ls[0])
m.Push(kit.MDB_SIZE, ls[1]) m.Push(kit.MDB_SIZE, ls[1])
@ -77,6 +79,5 @@ func init() {
m.EchoScript(text) m.EchoScript(text)
m.Render("") m.Render("")
}}, }},
}, }})
})
} }

View File

@ -6,35 +6,19 @@ import (
kit "shylinux.com/x/toolkits" kit "shylinux.com/x/toolkits"
) )
const SCRIPT = "script"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{Configs: map[string]*ice.Config{
Configs: map[string]*ice.Config{
SCRIPT: {Name: SCRIPT, Help: "脚本", Value: kit.Data( SCRIPT: {Name: SCRIPT, Help: "脚本", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_FIELD, "time,type,name,text", kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_FIELD, "time,type,name,text",
)}, )},
}, }, Commands: map[string]*ice.Command{
Commands: map[string]*ice.Command{ SCRIPT: {Name: "script name auto create export import", Help: "脚本", Action: ice.MergeAction(map[string]*ice.Action{
SCRIPT: {Name: "script name auto create export import", Help: "脚本", Action: map[string]*ice.Action{ mdb.CREATE: {Name: "create type=shell,tmux,vim name=hi text:textarea=pwd", Help: "添加"},
mdb.CREATE: {Name: "create type=shell,tmux,vim name=hi text:textarea=pwd", Help: "添加", Hand: func(m *ice.Message, arg ...string) { }, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Cmdy(mdb.INSERT, m.Prefix(SCRIPT), "", mdb.HASH, arg) mdb.HashSelect(m, arg...)
}},
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.MODIFY, m.Prefix(SCRIPT), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME), arg)
}},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, m.Prefix(SCRIPT), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME))
}},
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, m.Prefix(SCRIPT), "", mdb.HASH)
}},
mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, m.Prefix(SCRIPT), "", mdb.HASH)
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Fields(len(arg), m.Conf(SCRIPT, kit.META_FIELD))
m.Cmdy(mdb.SELECT, m.Prefix(SCRIPT), "", mdb.HASH, kit.MDB_NAME, arg)
m.PushAction(mdb.REMOVE) m.PushAction(mdb.REMOVE)
}}, }},
}, }})
})
} }

View File

@ -17,9 +17,15 @@ const (
FIELDS = "fields" FIELDS = "fields"
) )
const (
SESSION = "session"
WINDOW = "window"
PANE = "pane"
VIEW = "view"
)
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{Configs: map[string]*ice.Config{
Configs: map[string]*ice.Config{
SESSION: {Name: SESSION, Help: "会话", Value: kit.Data( SESSION: {Name: SESSION, Help: "会话", Value: kit.Data(
FORMAT, "#{session_id},#{session_attached},#{session_name},#{session_windows},#{session_height},#{session_width}", FORMAT, "#{session_id},#{session_attached},#{session_name},#{session_windows},#{session_height},#{session_width}",
FIELDS, "id,tag,session,windows,height,width", FIELDS, "id,tag,session,windows,height,width",
@ -32,8 +38,7 @@ func init() {
FORMAT, "#{pane_id},#{pane_active},#{pane_index},#{pane_tty},#{pane_height},#{pane_width}", FORMAT, "#{pane_id},#{pane_active},#{pane_index},#{pane_tty},#{pane_height},#{pane_width}",
FIELDS, "id,tag,pane,tty,height,width", FIELDS, "id,tag,pane,tty,height,width",
)}, )},
}, }, Commands: map[string]*ice.Command{
Commands: map[string]*ice.Command{
SESSION: {Name: "session session window pane cmd auto create script", Help: "会话管理", Action: map[string]*ice.Action{ SESSION: {Name: "session session window pane cmd auto create script", Help: "会话管理", Action: map[string]*ice.Action{
web.DREAM_CREATE: {Name: "dream.create type name", Help: "梦想", Hand: func(m *ice.Message, arg ...string) { web.DREAM_CREATE: {Name: "dream.create type name", Help: "梦想", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(m.Prefix(SESSION), mdb.CREATE) m.Cmd(m.Prefix(SESSION), mdb.CREATE)
@ -168,6 +173,5 @@ func init() {
VIEW: {Name: "view", Help: "终端", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { VIEW: {Name: "view", Help: "终端", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Cmdy(cli.SYSTEM, TMUX, "capture-pane", "-pt", kit.Select("", arg, 0)).Set(ice.MSG_APPEND) m.Cmdy(cli.SYSTEM, TMUX, "capture-pane", "-pt", kit.Select("", arg, 0)).Set(ice.MSG_APPEND)
}}, }},
}, }})
})
} }

View File

@ -8,16 +8,6 @@ import (
kit "shylinux.com/x/toolkits" kit "shylinux.com/x/toolkits"
) )
const (
TEXT = "text"
BUFFER = "buffer"
SCRIPT = "script"
SESSION = "session"
WINDOW = "window"
PANE = "pane"
VIEW = "view"
)
const TMUX = "tmux" const TMUX = "tmux"
var Index = &ice.Context{Name: TMUX, Help: "工作台", Configs: map[string]*ice.Config{ var Index = &ice.Context{Name: TMUX, Help: "工作台", Configs: map[string]*ice.Config{
@ -25,9 +15,6 @@ var Index = &ice.Context{Name: TMUX, Help: "工作台", Configs: map[string]*ice
cli.SOURCE, "http://mirrors.tencent.com/macports/distfiles/tmux/tmux-3.2.tar.gz", cli.SOURCE, "http://mirrors.tencent.com/macports/distfiles/tmux/tmux-3.2.tar.gz",
)}, )},
}, Commands: map[string]*ice.Command{ }, Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Load() }},
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }},
TMUX: {Name: "tmux path auto start order build download", Help: "服务", Action: ice.MergeAction(map[string]*ice.Action{ TMUX: {Name: "tmux path auto start order build download", Help: "服务", Action: ice.MergeAction(map[string]*ice.Action{
cli.START: {Name: "start", Help: "启动", Hand: func(m *ice.Message, arg ...string) { cli.START: {Name: "start", Help: "启动", Hand: func(m *ice.Message, arg ...string) {
m.Optionv(code.PREPARE, func(p string) []string { m.Optionv(code.PREPARE, func(p string) []string {