mirror of
https://shylinux.com/x/icebergs
synced 2025-06-26 10:27:31 +08:00
add some
This commit is contained in:
parent
f359c438fc
commit
272c91f469
@ -295,7 +295,6 @@ const SPACE = "space"
|
||||
|
||||
func init() {
|
||||
Index.MergeCommands(ice.Commands{
|
||||
"m": {Help: "模块", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(nfs.REQUIRE_MODULES, arg) }},
|
||||
"p": {Help: "资源", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) {
|
||||
if kit.IsIn(arg[0], ice.SRC, ice.USR) {
|
||||
ShareLocalFile(m, arg...)
|
||||
@ -303,8 +302,20 @@ func init() {
|
||||
m.Cmdy(PP(ice.REQUIRE), arg)
|
||||
}
|
||||
}},
|
||||
"s": {Help: "空间", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(CHAT_POD, arg) }},
|
||||
"m": {Help: "模块", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) {
|
||||
p := path.Join(nfs.USR_MODULES, path.Join(arg...))
|
||||
kit.If(!nfs.Exists(m, p), func() {
|
||||
if kit.IsIn(m.Option(ice.MSG_USERROLE), aaa.TECH, aaa.ROOT) {
|
||||
kit.If(!nfs.Exists(m, nfs.USR_PACKAGE), func() {
|
||||
m.Cmd(nfs.SAVE, nfs.USR_PACKAGE, kit.Formats(kit.Dict(mdb.NAME, "usr", nfs.VERSION, "0.0.1")))
|
||||
})
|
||||
m.Cmd(cli.SYSTEM, "npm", "install", arg[0], kit.Dict(cli.CMD_DIR, ice.USR))
|
||||
}
|
||||
})
|
||||
m.RenderDownload(p)
|
||||
}},
|
||||
"c": {Help: "命令", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(CHAT_CMD, arg) }},
|
||||
"s": {Help: "空间", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(CHAT_POD, arg) }},
|
||||
SPACE: {Name: "space name cmds auto", Help: "空间站", Actions: ice.MergeActions(ice.Actions{
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
|
||||
cli.NodeInfo(m, ice.Info.Pathname, WORKER)
|
||||
|
@ -19,16 +19,7 @@ import (
|
||||
|
||||
func _inner_list(m *ice.Message, ext, file, dir string) {
|
||||
file = kit.Split(file, "?")[0]
|
||||
kit.If(aaa.Right(m, dir, file), func() {
|
||||
m.Cmdy(nfs.CAT, path.Join(dir, file))
|
||||
return
|
||||
kit.If(nfs.IsSourceFile(m, ext), func() {
|
||||
m.Cmdy(nfs.CAT, path.Join(dir, file))
|
||||
}, func() {
|
||||
_inner_show(m.RenderResult().SetResult(), ext, file, dir)
|
||||
kit.If(m.Result() == "", func() { m.Cmdy(nfs.CAT, path.Join(dir, file)) })
|
||||
})
|
||||
})
|
||||
kit.If(aaa.Right(m, dir, file), func() { m.Cmdy(nfs.CAT, path.Join(dir, file)) })
|
||||
}
|
||||
func _inner_show(m *ice.Message, ext, file, dir string) {
|
||||
kit.If(aaa.Right(m, dir, file), func() { m.Cmdy(mdb.RENDER, ext, file, dir) })
|
||||
@ -66,13 +57,6 @@ func _inner_line(m *ice.Message, file, text string) (string, int) {
|
||||
return "", 0
|
||||
}
|
||||
|
||||
const (
|
||||
SPLIT = lex.SPLIT
|
||||
SPACE = lex.SPACE
|
||||
OPERATOR = lex.OPERATOR
|
||||
PREFIX = lex.PREFIX
|
||||
SUFFIX = lex.SUFFIX
|
||||
)
|
||||
const (
|
||||
INCLUDE = "include"
|
||||
COMMENT = "comment"
|
||||
@ -90,8 +74,7 @@ const INNER = "inner"
|
||||
|
||||
func init() {
|
||||
Index.MergeCommands(ice.Commands{
|
||||
INNER: {Name: "inner path=src/ file=main.go line=1 auto", Help: "源代码", Role: aaa.VOID, Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(FAVOR, mdb.INPUTS, arg) }},
|
||||
INNER: {Name: "inner path=src/ file=main.go line=1 auto", Help: "源代码", Role: aaa.VOID, Actions: ice.Actions{
|
||||
mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Cmdy(mdb.PLUGIN, arg); m.Result() == "" {
|
||||
m.Cmdy(mdb.PLUGIN, m.Option(lex.PARSE, strings.ToLower(kit.Split(path.Base(arg[1]), nfs.PT)[0])), arg[1:])
|
||||
@ -104,32 +87,22 @@ func init() {
|
||||
NAVIGATE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(NAVIGATE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
|
||||
}},
|
||||
}), Hand: func(m *ice.Message, arg ...string) {
|
||||
if kit.HasPrefix(arg[0], nfs.VOLCANOS, nfs.REQUIRE, nfs.P, ice.HTTP) {
|
||||
if !kit.HasPrefix(arg[0], ice.HTTP) {
|
||||
ls := nfs.SplitPath(m, arg[0])
|
||||
m.Options(nfs.PATH, ls[0], nfs.FILE, ls[1])
|
||||
}
|
||||
REPOS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(REPOS, ice.OptionFields(nfs.PATH)).Sort(nfs.PATH)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, arg ...string) {
|
||||
if kit.HasPrefix(arg[0], nfs.P) {
|
||||
ls := nfs.SplitPath(m, arg[0])
|
||||
m.Echo(m.Cmdx(web.SPIDE, ice.OPS, web.SPIDE_RAW, http.MethodGet, arg[0]))
|
||||
m.Options("mode", "simple", lex.PARSE, kit.Ext(kit.ParseURL(arg[0]).Path))
|
||||
m.Options(nfs.PATH, ls[0], nfs.FILE, ls[1], "mode", "simple", lex.PARSE, kit.Ext(kit.ParseURL(arg[0]).Path))
|
||||
ctx.DisplayLocal(m, "")
|
||||
} else if arg[0] = strings.Split(arg[0], mdb.FS)[0]; !strings.HasSuffix(arg[0], nfs.PS) && len(arg) == 1 {
|
||||
arg[1] = kit.Slice(strings.Split(arg[0], nfs.PS), -1)[0]
|
||||
arg[0] = strings.TrimSuffix(arg[0], arg[1])
|
||||
m.ProcessRewrite(nfs.PATH, arg[0], nfs.FILE, arg[1])
|
||||
} else if len(arg) < 2 {
|
||||
nfs.Dir(m, nfs.PATH)
|
||||
} else if strings.Contains(arg[1], nfs.DF) {
|
||||
ls := strings.Split(arg[1], nfs.DF)
|
||||
m.ProcessRewrite(nfs.LINE, ls[0], nfs.FILE, ls[1])
|
||||
} else {
|
||||
arg[1] = strings.Split(arg[1], mdb.FS)[0]
|
||||
_inner_list(m, kit.Ext(arg[1]), arg[1], arg[0])
|
||||
m.Options(nfs.PATH, arg[0], nfs.FILE, arg[1], nfs.LINE, kit.Select("", arg, 2))
|
||||
if ctx.DisplayLocal(m, ""); !strings.HasPrefix(arg[0], ice.USR_INSTALL) {
|
||||
m.Option(REPOS, kit.Join(m.Cmd(REPOS, ice.OptionFields(nfs.PATH)).Sort(nfs.PATH).Appendv(nfs.PATH)))
|
||||
}
|
||||
m.StatusTime(mdb.TIME, ice.Info.Make.Time, nfs.FILE, arg[1], nfs.LINE, kit.Select("1", arg, 2))
|
||||
m.Options(nfs.PATH, arg[0], nfs.FILE, arg[1], nfs.LINE, kit.Select("1", arg, 2))
|
||||
ctx.DisplayLocal(m, "")
|
||||
}
|
||||
}},
|
||||
})
|
||||
@ -143,9 +116,7 @@ func PlugAction(arg ...ice.Any) ice.Actions {
|
||||
cmd.List = ice.SplitCmd(cmd.Name, cmd.Actions)
|
||||
}
|
||||
}
|
||||
kit.For([]string{mdb.PLUGIN, mdb.RENDER, mdb.ENGINE}, func(cmd string) {
|
||||
m.Cmd(cmd, mdb.CREATE, m.CommandKey(), m.ShortKey())
|
||||
})
|
||||
kit.For([]string{mdb.PLUGIN, mdb.RENDER, mdb.ENGINE}, func(cmd string) { m.Cmd(cmd, mdb.CREATE, m.CommandKey(), m.ShortKey()) })
|
||||
LoadPlug(m, m.CommandKey())
|
||||
}},
|
||||
mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) { m.Echo(mdb.Config(m, PLUG)) }},
|
||||
@ -164,24 +135,7 @@ func LoadPlug(m *ice.Message, lang ...string) {
|
||||
for _, lang := range lang {
|
||||
m.Conf(nfs.CAT, kit.Keym(nfs.SOURCE, kit.Ext(lang)), ice.TRUE)
|
||||
mdb.Confm(m, lang, kit.Keym(PLUG, PREPARE), func(k string, v ice.Any) {
|
||||
kit.For(kit.Simple(v), func(v string) { m.Conf(lang, kit.Keym(PLUG, KEYWORD, v), k) })
|
||||
kit.For(kit.Simple(v), func(v string) { m.Conf(lang, kit.Keym(PLUG, "keyword", v), k) })
|
||||
})
|
||||
}
|
||||
}
|
||||
func TagsList(m *ice.Message, cmds ...string) {
|
||||
for _, l := range strings.Split(m.Cmdx(cli.SYSTEM, kit.Default(cmds, CTAGS, "--excmd=number", "--sort=no", "-f", "-", path.Join(m.Option(nfs.PATH), m.Option(nfs.FILE)))), lex.NL) {
|
||||
if strings.HasPrefix(l, "!_") {
|
||||
continue
|
||||
}
|
||||
ls := strings.Split(l, lex.TB)
|
||||
if len(ls) < 3 {
|
||||
continue
|
||||
}
|
||||
switch ls[3] {
|
||||
case "w", "m":
|
||||
continue
|
||||
}
|
||||
m.PushRecord(kit.Dict(mdb.TYPE, ls[3], mdb.NAME, ls[0], nfs.LINE, strings.TrimSuffix(ls[2], ";\"")))
|
||||
}
|
||||
m.Sort(nfs.LINE)
|
||||
}
|
||||
|
@ -31,8 +31,7 @@ func init() {
|
||||
repos := map[string]string{}
|
||||
m.Cmds(web.CODE_GIT_REPOS).Table(func(value ice.Maps) { repos[strings.Split(value[web.ORIGIN], "://")[1]] = value[nfs.VERSION] })
|
||||
m.Cmd(web.CODE_MOD, mdb.RENDER, MOD, ice.GO_MOD, nfs.PWD).Table(func(value ice.Maps) { repos[value[REQUIRE]] = value[VERSION] })
|
||||
m.Debug("what %v", kit.Formats(repos))
|
||||
res := m.Cmdx(nfs.CAT, path.Join(nfs.USR_LOCAL_WORK, m.Option(SPACE), ice.GO_MOD), func(ls []string, text string) string {
|
||||
res := m.Cmdx(nfs.CAT, path.Join(nfs.USR_LOCAL_WORK, m.Option(web.SPACE), ice.GO_MOD), func(ls []string, text string) string {
|
||||
if len(ls) > 1 {
|
||||
if v, ok := repos[ls[0]]; ok && !strings.Contains(v, "-") {
|
||||
m.Debug("what %v %v => %v", ls[0], ls[1], v)
|
||||
@ -41,12 +40,12 @@ func init() {
|
||||
}
|
||||
return text
|
||||
})
|
||||
m.Cmd(nfs.SAVE, path.Join(nfs.USR_LOCAL_WORK, m.Option(SPACE), ice.GO_MOD), res)
|
||||
m.Cmd(SPACE, m.Option(SPACE), cli.SYSTEM, GO, MOD, "tidy")
|
||||
m.Cmd(nfs.SAVE, path.Join(nfs.USR_LOCAL_WORK, m.Option(web.SPACE), ice.GO_MOD), res)
|
||||
m.Cmd(web.SPACE, m.Option(web.SPACE), cli.SYSTEM, GO, MOD, "tidy")
|
||||
}},
|
||||
TAG: {Name: "tag version", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SPACE, m.Option(SPACE), cli.SYSTEM, GIT, TAG, m.Option(VERSION))
|
||||
m.Cmd(SPACE, m.Option(SPACE), VIMER, COMPILE)
|
||||
m.Cmd(web.SPACE, m.Option(web.SPACE), cli.SYSTEM, GIT, TAG, m.Option(VERSION))
|
||||
m.Cmd(web.SPACE, m.Option(web.SPACE), VIMER, COMPILE)
|
||||
m.Sleep3s()
|
||||
}},
|
||||
XTERM: {Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -1,7 +1,6 @@
|
||||
package code
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
@ -14,10 +13,7 @@ import (
|
||||
"shylinux.com/x/icebergs/base/mdb"
|
||||
"shylinux.com/x/icebergs/base/nfs"
|
||||
"shylinux.com/x/icebergs/base/ssh"
|
||||
"shylinux.com/x/icebergs/base/tcp"
|
||||
"shylinux.com/x/icebergs/base/web"
|
||||
"shylinux.com/x/icebergs/base/web/html"
|
||||
"shylinux.com/x/icebergs/core/chat"
|
||||
kit "shylinux.com/x/toolkits"
|
||||
)
|
||||
|
||||
@ -41,6 +37,8 @@ func _vimer_make(m *ice.Message, dir string, msg *ice.Message) {
|
||||
}
|
||||
|
||||
const (
|
||||
MAIN_GO = "main.go"
|
||||
MAIN_JS = "main.js"
|
||||
DEMO_C = "demo.c"
|
||||
DEMO_SH = "demo.sh"
|
||||
DEMO_SHY = "demo.shy"
|
||||
@ -49,43 +47,14 @@ const (
|
||||
DEMO_JS = "demo.js"
|
||||
DEMO_CSS = "demo.css"
|
||||
DEMO_HTML = "demo.html"
|
||||
MAIN_GO = "main.go"
|
||||
MAIN_JS = "main.js"
|
||||
|
||||
VIMER_SAVE = "vimer.save"
|
||||
)
|
||||
const VIMER = "vimer"
|
||||
|
||||
func init() {
|
||||
web.Index.MergeCommands(ice.Commands{ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { aaa.White(m, nfs.REQUIRE) }},
|
||||
nfs.REQUIRE_SRC: {Hand: func(m *ice.Message, arg ...string) { web.ShareLocalFile(m, ice.SRC, path.Join(arg...)) }},
|
||||
nfs.REQUIRE_USR: {Hand: func(m *ice.Message, arg ...string) { web.ShareLocalFile(m, ice.USR, path.Join(arg...)) }},
|
||||
nfs.REQUIRE_MODULES: {Hand: func(m *ice.Message, arg ...string) {
|
||||
p := path.Join(nfs.USR_MODULES, path.Join(arg...))
|
||||
kit.If(!nfs.Exists(m, p), func() {
|
||||
if kit.IsIn(m.Option(ice.MSG_USERROLE), aaa.TECH, aaa.ROOT) {
|
||||
kit.If(!nfs.Exists(m, nfs.USR_PACKAGE), func() {
|
||||
m.Cmd(nfs.SAVE, nfs.USR_PACKAGE, kit.Formats(kit.Dict(mdb.NAME, "usr", nfs.VERSION, "0.0.1")))
|
||||
})
|
||||
m.Cmd(cli.SYSTEM, "npm", INSTALL, arg[0], kit.Dict(cli.CMD_DIR, ice.USR))
|
||||
}
|
||||
})
|
||||
m.RenderDownload(p)
|
||||
}},
|
||||
})
|
||||
Index.MergeCommands(ice.Commands{
|
||||
VIMER: {Name: "vimer path=src/ file=main.go line=1 list", Help: "编辑器", Icon: "vimer.png", Role: aaa.VOID, Meta: kit.Dict(
|
||||
ctx.STYLE, INNER, ice.CTX_TRANS, kit.Dict(html.INPUT, kit.Dict(
|
||||
cli.MAIN, "程序", "top", "顶域",
|
||||
)),
|
||||
), Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if mdb.IsSearchPreview(m, arg) {
|
||||
kit.For([]string{ice.SRC_MAIN_SHY, ice.SRC_MAIN_SH, ice.SRC_MAIN_GO, ice.SRC_MAIN_JS}, func(p string) {
|
||||
m.PushSearch(mdb.TYPE, nfs.FILE, mdb.NAME, path.Base(p), mdb.TEXT, p)
|
||||
})
|
||||
}
|
||||
}},
|
||||
VIMER: {Name: "vimer path=src/ file=main.go line=1 list", Help: "编辑器", Icon: "vimer.png", Role: aaa.VOID, Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
switch m.Option(ctx.ACTION) {
|
||||
case nfs.MODULE:
|
||||
@ -100,8 +69,6 @@ func init() {
|
||||
m.Push(nfs.PATH, path.Join(path.Dir(m.Option(nfs.FILE)), "trans.json"))
|
||||
m.Option(nfs.DIR_REG, kit.ExtReg(SH, SHY, PY, JS, CSS, HTML))
|
||||
nfs.DirDeepAll(m, nfs.SRC, nfs.PWD, nil, nfs.PATH)
|
||||
case web.DREAM, XTERM, AUTOGEN:
|
||||
m.Cmdy(m.Option(ctx.ACTION), mdb.INPUTS, arg)
|
||||
default:
|
||||
switch arg[0] {
|
||||
case ice.CMD:
|
||||
@ -128,8 +95,6 @@ func init() {
|
||||
switch value[mdb.TYPE] {
|
||||
case nfs.FILE:
|
||||
push("", value[mdb.TEXT])
|
||||
case tcp.GATEWAY:
|
||||
push(web.SPACE, value[mdb.TEXT])
|
||||
case web.LINK:
|
||||
push(web.SPACE, value[mdb.TEXT])
|
||||
case web.WORKER:
|
||||
@ -140,69 +105,31 @@ func init() {
|
||||
push(ctx.INDEX, value[mdb.TEXT])
|
||||
case ssh.SHELL:
|
||||
push(ssh.SHELL, value[mdb.TEXT])
|
||||
case cli.OPENS:
|
||||
push(cli.OPENS, value[mdb.TEXT])
|
||||
}
|
||||
})
|
||||
for _, p := range kit.Split(kit.Select(m.Option(nfs.PATH), m.Option("paths"))) {
|
||||
nfs.DirDeepAll(m.Spawn(), nfs.PWD, p, func(value ice.Maps) { push("", value[nfs.PATH]) }, nfs.PATH)
|
||||
}
|
||||
m.Cmd(ctx.COMMAND).Table(func(value ice.Maps) { push(ctx.INDEX, value[ctx.INDEX]) })
|
||||
default:
|
||||
m.Cmdy(INNER, mdb.INPUTS, arg)
|
||||
}
|
||||
}
|
||||
}},
|
||||
nfs.SAVE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(m.Option(nfs.CONTENT) == "", func() { m.Option(nfs.CONTENT, m.Cmdx("", TEMPLATE)) })
|
||||
m.Cmd(nfs.SAVE, path.Join(m.Option(nfs.PATH), m.Option(nfs.FILE)))
|
||||
gdb.Event(m, VIMER_SAVE)
|
||||
}},
|
||||
nfs.TRASH: {Hand: func(m *ice.Message, arg ...string) { nfs.Trash(m, arg[0]) }},
|
||||
nfs.MODULE: {Name: "module name*=hi help type*=Hash,Zone,Data,Code main*=main.go zone top", Help: "模块", Hand: func(m *ice.Message, arg ...string) {
|
||||
nfs.MODULE: {Name: "module name*=hi help type*=Hash,Zone,Code main*=main.go zone top", Help: "模块", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(AUTOGEN, nfs.MODULE, arg)
|
||||
}},
|
||||
nfs.SCRIPT: {Name: "script file*", Help: "脚本", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(nfs.DEFS, path.Join(m.Option(nfs.PATH), m.Option(nfs.FILE)), m.Cmdx("", TEMPLATE))
|
||||
}},
|
||||
cli.OPENS: {Hand: func(m *ice.Message, arg ...string) { cli.Opens(m, arg...) }},
|
||||
web.UPLOAD: {Hand: func(m *ice.Message, arg ...string) {
|
||||
}},
|
||||
mdb.RENAME: {Name: "rename to*", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(nfs.MOVE, path.Join(m.Option(nfs.PATH), m.Option(nfs.TO)), path.Join(m.Option(nfs.PATH), m.Option(nfs.FILE)))
|
||||
}},
|
||||
cli.MAKE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
defer web.ToastProcess(m)()
|
||||
web.PushStream(m)
|
||||
m.Cmd(cli.SYSTEM, "echo")
|
||||
m.Cmd(cli.SYSTEM, "date")
|
||||
m.Cmd(cli.SYSTEM, cli.MAKE, m.Option(nfs.TARGET), kit.Dict(cli.CMD_DIR, m.Option(nfs.PATH)))
|
||||
nfs.TRASH: {Hand: func(m *ice.Message, arg ...string) {
|
||||
nfs.Trash(m, arg[0])
|
||||
}},
|
||||
ice.APP: {Help: "本机", Hand: func(m *ice.Message, arg ...string) {
|
||||
cli.OpenCmds(m, "cd "+kit.Path(""), "vim "+path.Join(arg[0], arg[1])+" +"+arg[2]).ProcessHold()
|
||||
}},
|
||||
COMPILE: {Help: "编译", Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Option(nfs.PATH) != "" && nfs.ExistsFile(m, path.Join(m.Option(nfs.PATH), ice.MAKEFILE)) {
|
||||
web.PushStream(m).Cmdy(cli.SYSTEM, cli.MAKE, kit.Dict(cli.CMD_DIR, m.Option(nfs.PATH)))
|
||||
return
|
||||
} else if m.Option(nfs.PATH) == ice.USR_VOLCANOS && strings.HasPrefix(m.Option(nfs.FILE), "publish/client/mp/") {
|
||||
web.PushStream(m).Cmdy(cli.SYSTEM, cli.MAKE, kit.Dict(cli.CMD_DIR, path.Join(m.Option(nfs.PATH), "publish/client/mp/")))
|
||||
return
|
||||
}
|
||||
const app, _app = "usr/publish/Contexts.app", "Contents/MacOS/Contexts"
|
||||
isWebview := func() bool { return strings.HasSuffix(os.Args[0], _app) }
|
||||
cmds := []string{COMPILE, ice.SRC_MAIN_GO, ice.BIN_ICE_BIN}
|
||||
if isWebview() {
|
||||
m.Option(cli.ENV, "CGO_ENABLED", "1", cli.HOME, kit.Env(cli.HOME), cli.PATH, kit.Path(ice.USR_LOCAL_GO_BIN)+nfs.DF+kit.Env(cli.PATH))
|
||||
cmds = []string{COMPILE, ice.SRC_WEBVIEW_GO, path.Join(app, _app)}
|
||||
}
|
||||
if msg := m.Cmd(cmds); cli.IsSuccess(msg) {
|
||||
if m.GoSleep30ms(func() { m.Cmd(UPGRADE, cli.RESTART) }); isWebview() {
|
||||
m.Cmd(cli.DAEMON, ice.BIN_ICE_BIN, cli.FOREVER, cli.DELAY, cli.TIME_300ms, cli.SYSTEM, cli.OPEN, app)
|
||||
}
|
||||
} else {
|
||||
_vimer_make(m, nfs.PWD, msg)
|
||||
}
|
||||
nfs.SAVE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(m.Option(nfs.CONTENT) == "", func() { m.Option(nfs.CONTENT, m.Cmdx("", TEMPLATE)) })
|
||||
m.Cmd(nfs.SAVE, path.Join(m.Option(nfs.PATH), m.Option(nfs.FILE)))
|
||||
gdb.Event(m, VIMER_SAVE)
|
||||
}},
|
||||
TEMPLATE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(TEMPLATE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
|
||||
@ -211,38 +138,32 @@ func init() {
|
||||
return
|
||||
m.Cmdy(COMPLETE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
|
||||
}},
|
||||
chat.FAVOR_INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
switch arg[0] {
|
||||
case mdb.TYPE:
|
||||
m.Push(arg[0], nfs.FILE)
|
||||
case mdb.TEXT:
|
||||
kit.If(m.Option(mdb.TYPE) == nfs.FILE, func() { m.Push(arg[0], ice.SRC_MAIN_SHY, ice.SRC_MAIN_GO, ice.SRC_MAIN_JS) })
|
||||
}
|
||||
}},
|
||||
chat.FAVOR_TABLES: {Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(m.Option(mdb.TYPE) == nfs.FILE, func() { m.PushButton(kit.Dict(m.CommandKey(), "源码")) })
|
||||
}},
|
||||
chat.FAVOR_ACTION: {Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(m.Option(mdb.TYPE) == nfs.FILE, func() { ctx.ProcessField(m, m.ShortKey(), nfs.SplitPath(m, m.Option(mdb.TEXT))) })
|
||||
}},
|
||||
web.DREAM_TABLES: {Hand: func(m *ice.Message, _ ...string) {
|
||||
kit.If(m.IsDebug(), func() { m.PushButton(kit.Dict(m.CommandKey(), "编程")) })
|
||||
}},
|
||||
}, chat.FavorAction(), web.DreamTablesAction("编程"), ctx.ConfAction(ctx.TOOLS, "xterm,compile,runtime", web.ONLINE, ice.TRUE)), Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Cmdy(INNER, arg); arg[0] != ctx.ACTION {
|
||||
if len(arg) == 1 {
|
||||
m.PushAction(nfs.SCRIPT, mdb.RENAME, web.UPLOAD, nfs.TRASH)
|
||||
}
|
||||
if web.IsLocalHost(m) {
|
||||
m.Action(nfs.SAVE, COMPILE, mdb.SHOW, ice.APP)
|
||||
} else if m.IsMobileUA() {
|
||||
m.Action(nfs.SAVE, COMPILE)
|
||||
COMPILE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if msg := m.Cmd(COMPILE, ice.SRC_MAIN_GO, ice.BIN_ICE_BIN); cli.IsSuccess(msg) {
|
||||
m.GoSleep30ms(func() { m.Cmd(UPGRADE, cli.RESTART) })
|
||||
} else {
|
||||
m.Action(nfs.SAVE, COMPILE, mdb.SHOW)
|
||||
_vimer_make(m, nfs.PWD, msg)
|
||||
}
|
||||
ctx.DisplayLocal(m, "")
|
||||
ctx.Toolkit(m)
|
||||
}},
|
||||
ice.APP: {Hand: func(m *ice.Message, arg ...string) {
|
||||
cli.OpenCmds(m, "cd "+kit.Path(""), "vim "+path.Join(arg[0], arg[1])+" +"+arg[2]).ProcessHold()
|
||||
}},
|
||||
}, web.DreamTablesAction("编程"), ctx.ConfAction(ctx.TOOLS, "xterm,compile,runtime", web.ONLINE, ice.TRUE)), Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Cmdy(INNER, arg); arg[0] == ctx.ACTION {
|
||||
return
|
||||
} else if len(arg) == 1 {
|
||||
m.PushAction(mdb.CREATE, mdb.RENAME, nfs.TRASH)
|
||||
return
|
||||
}
|
||||
if m.IsMobileUA() {
|
||||
m.Action(nfs.SAVE, COMPILE)
|
||||
} else if web.IsLocalHost(m) {
|
||||
m.Action(nfs.SAVE, COMPILE, mdb.SHOW, ice.APP)
|
||||
} else {
|
||||
m.Action(nfs.SAVE, COMPILE, mdb.SHOW)
|
||||
}
|
||||
ctx.DisplayLocal(m, "")
|
||||
ctx.Toolkit(m)
|
||||
}},
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user