mirror of
https://shylinux.com/x/icebergs
synced 2025-05-01 19:19:24 +08:00
add some
This commit is contained in:
parent
ec4cc2b660
commit
695284c469
@ -150,6 +150,8 @@ func FileURI(dir string) string {
|
||||
dir = strings.TrimPrefix(dir, ice.Info.Make.Path)
|
||||
} else if strings.HasPrefix(dir, kit.Path("")+nfs.PS) {
|
||||
dir = strings.TrimPrefix(dir, kit.Path("")+nfs.PS)
|
||||
} else if strings.HasPrefix(dir, ".ish/pluged/") {
|
||||
dir = strings.TrimPrefix(dir, ".ish/pluged/")
|
||||
}
|
||||
return path.Join(nfs.PS, ice.REQUIRE, dir)
|
||||
}
|
||||
|
@ -149,6 +149,8 @@ func init() {
|
||||
m.Cmd(nfs.DIR, ice.USR_LOCAL_WORK, kit.Dict(nfs.DIR_TYPE, nfs.TYPE_BOTH), func(value ice.Maps) {
|
||||
m.Cmdy(nfs.DIR, path.Join(value[nfs.PATH], ice.BIN), "path,size,time", kit.Dict(nfs.DIR_TYPE, nfs.TYPE_BIN))
|
||||
})
|
||||
m.RenameAppend(nfs.PATH, arg[0])
|
||||
mdb.HashInputs(m, arg)
|
||||
default:
|
||||
gdb.Event(m, DREAM_INPUTS, arg)
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ const (
|
||||
const (
|
||||
FLOAT = "float"
|
||||
OUTPUT = "output"
|
||||
CHROME = "chrome"
|
||||
|
||||
TEXT_PLAIN = "text/plain"
|
||||
)
|
||||
|
@ -18,6 +18,7 @@ import (
|
||||
"shylinux.com/x/icebergs/base/nfs"
|
||||
"shylinux.com/x/icebergs/base/ssh"
|
||||
"shylinux.com/x/icebergs/base/tcp"
|
||||
"shylinux.com/x/icebergs/base/web/html"
|
||||
"shylinux.com/x/icebergs/misc/websocket"
|
||||
kit "shylinux.com/x/toolkits"
|
||||
)
|
||||
@ -50,11 +51,16 @@ func _space_fork(m *ice.Message) {
|
||||
addr := kit.Select(m.R.RemoteAddr, m.R.Header.Get(ice.MSG_USERADDR))
|
||||
name := kit.ReplaceAll(kit.Select(addr, m.Option(mdb.NAME)), "[", "_", "]", "_", nfs.DF, "_", nfs.PT, "_")
|
||||
text := kit.Select(addr, m.Option(mdb.TEXT))
|
||||
if kit.IsIn(m.Option(mdb.TYPE), CHROME) && m.Option(mdb.NAME) != CHROME || !(ice.Info.Localhost && tcp.IsLocalHost(m, m.R.RemoteAddr) ||
|
||||
text = strings.ReplaceAll(text, "%2F", "/")
|
||||
if kit.IsIn(m.Option(mdb.TYPE), PORTAL) && m.Option(mdb.NAME) != html.CHROME || !(ice.Info.Localhost && tcp.IsLocalHost(m, m.R.RemoteAddr) ||
|
||||
m.Option(TOKEN) != "" && m.Cmdv(TOKEN, m.Option(TOKEN), mdb.TIME) > m.Time()) || mdb.HashSelect(m.Spawn(), name).Length() > 0 {
|
||||
name, text = kit.Hashs(name), kit.Select(addr, m.Option(mdb.NAME), m.Option(mdb.TEXT))
|
||||
}
|
||||
|
||||
if m.Option(mdb.TYPE) == WORKER {
|
||||
if p := nfs.USR_LOCAL_WORK + m.Option(mdb.NAME); nfs.Exists(m, p) {
|
||||
text = p
|
||||
}
|
||||
}
|
||||
args := kit.Simple(mdb.TYPE, kit.Select(WORKER, m.Option(mdb.TYPE)), mdb.NAME, name, mdb.TEXT, text, m.OptionSimple(cli.DAEMON, ice.MSG_USERUA), m.OptionSimple(nfs.MODULE, nfs.VERSION))
|
||||
if c, e := websocket.Upgrade(m.W, m.R); !m.Warn(e) {
|
||||
gdb.Go(m, func() {
|
||||
@ -63,7 +69,7 @@ func _space_fork(m *ice.Message) {
|
||||
case SERVER:
|
||||
case WORKER:
|
||||
defer gdb.EventDeferEvent(m, DREAM_OPEN, args)(DREAM_CLOSE, args)
|
||||
case CHROME:
|
||||
case PORTAL:
|
||||
m.Go(func() { m.Cmd(SPACE, name, cli.PWD, name) })
|
||||
case LOGIN:
|
||||
if m.Option(ice.MSG_SESSID) != "" && m.Option(ice.MSG_USERNAME) != "" {
|
||||
@ -155,10 +161,10 @@ func _space_send(m *ice.Message, name string, arg ...string) (h string) {
|
||||
}
|
||||
|
||||
const (
|
||||
CHROME = "chrome"
|
||||
MASTER = "master"
|
||||
SERVER = "server"
|
||||
PORTAL = "portal"
|
||||
WORKER = "worker"
|
||||
SERVER = "server"
|
||||
MASTER = "master"
|
||||
|
||||
REDIAL = "redial"
|
||||
)
|
||||
@ -195,6 +201,7 @@ func init() {
|
||||
mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
defer mdb.HashModifyDeferRemove(m, m.OptionSimple(mdb.NAME), mdb.STATUS, cli.STOP)()
|
||||
m.Cmd("", m.Option(mdb.NAME), ice.EXIT)
|
||||
m.Sleep("1s")
|
||||
}},
|
||||
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if mdb.IsSearchPreview(m, arg) {
|
||||
@ -227,22 +234,18 @@ func init() {
|
||||
defer m.StatusTimeCount()
|
||||
m.Option(ice.MSG_USERWEB, tcp.PublishLocalhost(m, m.Option(ice.MSG_USERWEB)))
|
||||
mdb.HashSelect(m.Spawn(), arg...).Sort("").Table(func(index int, value ice.Maps, field []string) {
|
||||
if kit.IsIn(value[mdb.TYPE], CHROME, "send") {
|
||||
// return
|
||||
}
|
||||
if m.Push("", value, kit.Split(mdb.Config(m, mdb.FIELD))); len(arg) > 0 && arg[0] != "" {
|
||||
m.Push(mdb.STATUS, value[mdb.STATUS])
|
||||
}
|
||||
if kit.IsIn(value[mdb.TYPE], SERVER, WORKER) {
|
||||
if kit.IsIn(value[mdb.TYPE], WORKER, SERVER) {
|
||||
m.Push(mdb.LINK, m.MergePod(value[mdb.NAME]))
|
||||
} else if value[mdb.TYPE] == CHROME && value[mdb.NAME] != "chrome" {
|
||||
} else if value[mdb.TYPE] == PORTAL && value[mdb.NAME] != html.CHROME {
|
||||
m.Push(mdb.LINK, MergeURL2(m, value[mdb.TEXT]))
|
||||
} else {
|
||||
m.Push(mdb.LINK, "")
|
||||
}
|
||||
m.PushButton(kit.Select(OPEN, LOGIN, value[mdb.TYPE] == LOGIN), mdb.REMOVE)
|
||||
})
|
||||
kit.If(!m.IsCliUA(), func() { m.Cmdy("web.code.publish", "contexts", ice.APP) })
|
||||
kit.If(len(arg) == 1, func() { m.EchoIFrame(m.MergePod(arg[0])) })
|
||||
} else {
|
||||
_space_send(m, arg[0], kit.Simple(kit.Split(arg[1]), arg[2:])...)
|
||||
|
@ -21,7 +21,10 @@ func init() {
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
|
||||
FinderAppend(m, "Applications", m.PrefixKey())
|
||||
m.Travel(func(p *ice.Context, c *ice.Context, key string, cmd *ice.Command) {
|
||||
kit.If(cmd.Icon, func() { AppInstall(m, cmd.Icon, m.PrefixKey()) })
|
||||
kit.If(cmd.Icon, func() {
|
||||
m.Debug("what %v", cmd.Icon)
|
||||
AppInstall(m, cmd.Icon, m.PrefixKey())
|
||||
})
|
||||
})
|
||||
Notify(m, cli.RUNTIME, "系统启动成功", ctx.INDEX, cli.RUNTIME)
|
||||
}},
|
||||
|
@ -160,7 +160,6 @@ func init() {
|
||||
nfs.REPOS: {Help: "仓库"}, web.SPACE: {Help: "空间"}, web.DREAM: {Help: "空间"}, FAVOR: {Help: "收藏"},
|
||||
cli.OPENS: {Hand: func(m *ice.Message, arg ...string) { cli.Opens(m, arg...) }},
|
||||
"listTags": {Help: "生成索引", Hand: func(m *ice.Message, arg ...string) { m.Cmd("web.code.vim.tags", nfs.LOAD) }},
|
||||
|
||||
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))
|
||||
}},
|
||||
@ -168,6 +167,11 @@ func init() {
|
||||
m.Cmdy(COMPLETE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
|
||||
}},
|
||||
COMPILE: {Help: "编译", Hand: func(m *ice.Message, arg ...string) {
|
||||
if nfs.ExistsFile(m, path.Join(m.Option(nfs.PATH), "Makefile")) {
|
||||
web.PushStream(m)
|
||||
m.Cmdy(cli.SYSTEM, cli.MAKE, kit.Dict(cli.CMD_DIR, m.Option(nfs.PATH)))
|
||||
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}
|
||||
|
@ -64,6 +64,7 @@ func init() {
|
||||
kit.For([]string{HTML_URL, WEBSITE}, func(key string) { kit.If(kit.Format(value[key]), func() { button = append(button, key) }) })
|
||||
m.PushButton(button...)
|
||||
})
|
||||
// m.Echo("%v", kit.Formats(res))
|
||||
m.RenameAppend(CLONE_URL, REPOS).StatusTimeCount().Display("").Action(ORIGIN)
|
||||
}},
|
||||
})
|
||||
|
@ -178,7 +178,14 @@ func init() {
|
||||
}},
|
||||
code.INNER: {Hand: func(m *ice.Message, arg ...string) { _repos_inner(m, _service_path, arg...) }},
|
||||
web.DREAM_INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(arg[0] == REPOS, func() { mdb.HashSelect(m).Sort(REPOS).Cut("repos,branch,commit,time") })
|
||||
kit.If(arg[0] == REPOS, func() {
|
||||
mdb.HashSelect(m).Sort(REPOS).Cut("repos,version,time")
|
||||
m.Cmd(mdb.SEARCH, nfs.REPOS).Table(func(value ice.Maps) {
|
||||
m.Push(nfs.REPOS, value["html_url"])
|
||||
m.Push(nfs.VERSION, "")
|
||||
m.Push(mdb.TIME, value["updated_at"])
|
||||
})
|
||||
})
|
||||
}},
|
||||
}, gdb.EventsAction(web.DREAM_INPUTS), mdb.HashAction(mdb.SHORT, REPOS, mdb.FIELD, "time,repos,branch,version,comment"), mdb.ClearOnExitHashAction()), Hand: func(m *ice.Message, arg ...string) {
|
||||
if len(arg) == 0 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user