forked from x/icebergs
add some
This commit is contained in:
parent
4d892e03d3
commit
1060a60a5e
@ -182,8 +182,8 @@ const RUNTIME = "runtime"
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
RUNTIME: {Name: "runtime info=bootinfo,ifconfig,diskinfo,hostinfo,userinfo,bootinfo,role,api,cli,cmd,mod,env,path,chain auto upgrade reboot lock", Icon: "Infomation.png", Help: "运行环境", Actions: ice.MergeActions(ice.Actions{
|
RUNTIME: {Name: "runtime info=bootinfo,ifconfig,diskinfo,hostinfo,userinfo,bootinfo,role,api,cli,cmd,mod,env,path,chain auto upgrade reboot lock", Icon: "Infomation.png", Help: "环境", Actions: ice.MergeActions(ice.Actions{
|
||||||
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { _runtime_init(m); }},
|
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { _runtime_init(m) }},
|
||||||
IFCONFIG: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(tcp.HOST) }},
|
IFCONFIG: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(tcp.HOST) }},
|
||||||
DISKINFO: {Hand: func(m *ice.Message, arg ...string) { _runtime_diskinfo(m) }},
|
DISKINFO: {Hand: func(m *ice.Message, arg ...string) { _runtime_diskinfo(m) }},
|
||||||
HOSTINFO: {Hand: func(m *ice.Message, arg ...string) { _runtime_hostinfo(m) }},
|
HOSTINFO: {Hand: func(m *ice.Message, arg ...string) { _runtime_hostinfo(m) }},
|
||||||
|
@ -24,7 +24,7 @@ func init() {
|
|||||||
LEVEL = "level"
|
LEVEL = "level"
|
||||||
)
|
)
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
DEBUG: {Name: "debug level=error,bench,debug,error,watch offset limit auto reset app doc", Help: "后台日志", Actions: ice.Actions{
|
DEBUG: {Name: "debug level=error,bench,debug,error,watch offset limit auto reset app doc", Help: "日志", Actions: ice.Actions{
|
||||||
"doc": {Help: "文档", Hand: func(m *ice.Message, arg ...string) { m.ProcessOpen("https://pkg.go.dev/std") }},
|
"doc": {Help: "文档", Hand: func(m *ice.Message, arg ...string) { m.ProcessOpen("https://pkg.go.dev/std") }},
|
||||||
"reset": {Help: "重置", Hand: func(m *ice.Message, arg ...string) {
|
"reset": {Help: "重置", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmd(nfs.CAT, _debug_file(arg[0]), func(line string, index int) { m.ProcessRewrite(mdb.OFFSET, index+2, mdb.LIMIT, 1000) })
|
m.Cmd(nfs.CAT, _debug_file(arg[0]), func(line string, index int) { m.ProcessRewrite(mdb.OFFSET, index+2, mdb.LIMIT, 1000) })
|
||||||
|
@ -448,7 +448,8 @@ func init() {
|
|||||||
// kit.If(m.IsDebug(), func() { list = append(list, cli.RUNTIME) })
|
// kit.If(m.IsDebug(), func() { list = append(list, cli.RUNTIME) })
|
||||||
switch m.Option(mdb.TYPE) {
|
switch m.Option(mdb.TYPE) {
|
||||||
case WORKER:
|
case WORKER:
|
||||||
list = append(list, "settings", nfs.COPY, tcp.SEND)
|
list = append(list, "settings")
|
||||||
|
// list = append(list, "settings", nfs.COPY, tcp.SEND)
|
||||||
case SERVER:
|
case SERVER:
|
||||||
list = append(list, "settoken", DREAM)
|
list = append(list, "settoken", DREAM)
|
||||||
default:
|
default:
|
||||||
|
@ -52,7 +52,9 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
if (value.module == item.module) { worker = value }
|
if (value.module == item.module) { worker = value }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return !worker? html.NOTICE: (worker.status != cli.STOP && item.status != cli.STOP && (item.version != worker.version || item.time < worker.time))? html.DANGER: ""
|
return !worker? html.NOTICE: (worker.status != cli.STOP && item.status != cli.STOP && (item.version != worker.version ||
|
||||||
|
(item["server.type"] == "origin"? item.time > worker.time: item.time < worker.time)
|
||||||
|
))? html.DANGER: ""
|
||||||
},
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
Volcanos(chat.ONACTION, {
|
Volcanos(chat.ONACTION, {
|
||||||
|
@ -215,7 +215,7 @@ func ProxyUpload(m *ice.Message, pod string, p string) string {
|
|||||||
size, cache = s.Size(), s.ModTime()
|
size, cache = s.Size(), s.ModTime()
|
||||||
}
|
}
|
||||||
if m.Cmdv(SPACE, pod, mdb.TYPE) == ORIGIN {
|
if m.Cmdv(SPACE, pod, mdb.TYPE) == ORIGIN {
|
||||||
m.Cmd(SPIDE, pod, SPIDE_SAVE, pp, p)
|
m.Cmd(SPIDE, pod, SPIDE_SAVE, pp, "/p/"+p)
|
||||||
} else {
|
} else {
|
||||||
kit.If(p == ice.BIN_ICE_BIN, func() { m.Option(ice.MSG_USERROLE, aaa.TECH) })
|
kit.If(p == ice.BIN_ICE_BIN, func() { m.Option(ice.MSG_USERROLE, aaa.TECH) })
|
||||||
share := m.Cmdx(SHARE, mdb.CREATE, mdb.TYPE, PROXY, mdb.NAME, p, mdb.TEXT, pod)
|
share := m.Cmdx(SHARE, mdb.CREATE, mdb.TYPE, PROXY, mdb.NAME, p, mdb.TEXT, pod)
|
||||||
|
@ -88,7 +88,8 @@ func init() {
|
|||||||
dream := C(DREAM)
|
dream := C(DREAM)
|
||||||
origin := SpideOrigin(m, arg[0])
|
origin := SpideOrigin(m, arg[0])
|
||||||
kit.If(origin == "", func() { arg[0], origin, dream = ice.DEV, arg[0], arg[0]+dream })
|
kit.If(origin == "", func() { arg[0], origin, dream = ice.DEV, arg[0], arg[0]+dream })
|
||||||
if kit.IsIn(kit.ParseURL(origin).Hostname(), append(m.Cmds(tcp.HOST).Appendv(aaa.IP), tcp.LOCALHOST)...) {
|
// if kit.IsIn(kit.ParseURL(origin).Hostname(), append(m.Cmds(tcp.HOST).Appendv(aaa.IP), tcp.LOCALHOST)...) {
|
||||||
|
if kit.IsIn(kit.ParseURL(origin).Hostname(), tcp.LOCALHOST) {
|
||||||
origin = m.Option(ice.MSG_USERHOST)
|
origin = m.Option(ice.MSG_USERHOST)
|
||||||
} else {
|
} else {
|
||||||
origin = tcp.PublishLocalhost(m, origin)
|
origin = tcp.PublishLocalhost(m, origin)
|
||||||
|
@ -18,6 +18,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
switch (value) {
|
switch (value) {
|
||||||
case "notifications": can.ui.notifications._output.innerHTML && can.onmotion.toggle(can, can.ui.notifications._target); break
|
case "notifications": can.ui.notifications._output.innerHTML && can.onmotion.toggle(can, can.ui.notifications._target); break
|
||||||
case "searchs": can.onaction._search(can); break
|
case "searchs": can.onaction._search(can); break
|
||||||
|
case "reload": can.Update(); break
|
||||||
case cli.QRCODE: can.sup.onaction["生成链接"]({}, can.sup); break
|
case cli.QRCODE: can.sup.onaction["生成链接"]({}, can.sup); break
|
||||||
case mdb.CREATE: can.onaction.create(event, can); break
|
case mdb.CREATE: can.onaction.create(event, can); break
|
||||||
case html.DESKTOP:
|
case html.DESKTOP:
|
||||||
@ -51,7 +52,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
} }
|
} }
|
||||||
}) },
|
}) },
|
||||||
_dock: function(can) { can.onappend.plugin(can, {index: "web.chat.macos.dock", style: html.OUTPUT}, function(sub) { can.ui.dock = sub
|
_dock: function(can) { can.onappend.plugin(can, {index: "web.chat.macos.dock", style: html.OUTPUT}, function(sub) { can.ui.dock = sub
|
||||||
sub.onexport.output = function(sub, msg) { can.onimport.layout(can) }
|
sub.onexport.output = function(sub, msg) { can.onmotion.delay(can, function() { can.onimport.layout(can) }) }
|
||||||
sub.onexport.record = function(sub, value, key, item) { can.onimport._window(can, item) }
|
sub.onexport.record = function(sub, value, key, item) { can.onimport._window(can, item) }
|
||||||
}) },
|
}) },
|
||||||
_desktop: function(can, msg, name) { var target = can.page.Append(can, can._output, [html.DESKTOP])._target; can.ui.desktop = target
|
_desktop: function(can, msg, name) { var target = can.page.Append(can, can._output, [html.DESKTOP])._target; can.ui.desktop = target
|
||||||
@ -119,7 +120,8 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
}, function() { next() })
|
}, function() { next() })
|
||||||
}, function() { _select && _select.click() })
|
}, function() { _select && _select.click() })
|
||||||
},
|
},
|
||||||
layout: function(can) { can.page.style(can, can._output, html.HEIGHT, can.ConfHeight(), html.WIDTH, can.ConfWidth())
|
layout: function(can) {
|
||||||
|
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight(), html.WIDTH, can.ConfWidth())
|
||||||
can.ui.dock && can.page.style(can, can.ui.dock._output, "position", "")
|
can.ui.dock && can.page.style(can, can.ui.dock._output, "position", "")
|
||||||
can.ui.dock && can.page.style(can, can.ui.dock._target, html.LEFT, can.base.Min((can.ConfWidth()-(can.ui.dock._target.offsetWidth||502))/2, 0))
|
can.ui.dock && can.page.style(can, can.ui.dock._target, html.LEFT, can.base.Min((can.ConfWidth()-(can.ui.dock._target.offsetWidth||502))/2, 0))
|
||||||
can.ui.menu && can.ui.menu.onimport.size(can.ui.menu, html.DESKTOP_MENU_HEIHGT, can.ConfWidth(), false)
|
can.ui.menu && can.ui.menu.onimport.size(can.ui.menu, html.DESKTOP_MENU_HEIHGT, can.ConfWidth(), false)
|
||||||
|
@ -9,7 +9,10 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.page.style(can, can._ou
|
|||||||
{img: can.misc.ResourceFavicon(can, msg.Option(html.FAVICON), can.ConfSpace())},
|
{img: can.misc.ResourceFavicon(can, msg.Option(html.FAVICON), can.ConfSpace())},
|
||||||
{text: decodeURIComponent(can.ConfSpace()||can.misc.Search(can, ice.POD)||location.host)},
|
{text: decodeURIComponent(can.ConfSpace()||can.misc.Search(can, ice.POD)||location.host)},
|
||||||
], onclick: function(event) { can.sup.onexport.record(can, html.DESKTOP) }},
|
], onclick: function(event) { can.sup.onexport.record(can, html.DESKTOP) }},
|
||||||
{view: [[html.MENU, mdb.ICON, web.REFRESH], "", can.page.unicode.refresh], onclick: function(event) { can.user.reload(true) }},
|
{view: [[html.MENU, mdb.ICON, web.REFRESH], "", can.page.unicode.refresh], onclick: function(event) {
|
||||||
|
can.sup.onexport.record(can, "reload")
|
||||||
|
// can.user.reload(true)
|
||||||
|
}},
|
||||||
{view: [[html.MENU, mdb.ICON, mdb.CREATE], "", can.page.unicode.create], onclick: function(event) { can.sup.onexport.record(can, mdb.CREATE) }},
|
{view: [[html.MENU, mdb.ICON, mdb.CREATE], "", can.page.unicode.create], onclick: function(event) { can.sup.onexport.record(can, mdb.CREATE) }},
|
||||||
]))
|
]))
|
||||||
}})
|
}})
|
||||||
|
@ -33,14 +33,15 @@ fieldset.web.wiki.portal>div.output>div.layout>div.main div.story.column b { fon
|
|||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story.column input[type=button] { box-shadow:var(--th-box-shadow); border:0; background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story.column input[type=button] { box-shadow:var(--th-box-shadow); border:0; background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story.column input[type=button]:hover { box-shadow:var(--notice-box-shadow); }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story.column input[type=button]:hover { box-shadow:var(--notice-box-shadow); }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset.desktop>legend { display:none; }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset.desktop>legend { display:none; }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset.inner.output div.content { background-color:var(--code-bg-color); color:var(--code-fg-color); padding:var(--input-padding) 0;
|
fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset.inner.output div.content {
|
||||||
--code-keyword:orange; --code-comment:silver;
|
padding:var(--input-padding) 0;
|
||||||
--code-function:cyan; --code-constant:silver; --code-string:silver;
|
|
||||||
--code-package:silver; --code-datatype:silver; --code-object:silver;
|
|
||||||
}
|
}
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { box-shadow:var(--th-box-shadow); border:0; border-left:var(--box-notice3); }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] {
|
||||||
|
box-shadow:var(--th-box-shadow); border:var(--box-border); border-left:var(--box-notice3); }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell]:hover { box-shadow:var(--notice-box-shadow); }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell]:hover { box-shadow:var(--notice-box-shadow); }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { background-color:var(--code-bg-color); color:var(--code-fg-color); padding:var(--button-padding); margin-top:var(--button-margin); }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] {
|
||||||
|
padding:var(--button-padding); margin-top:var(--button-margin);
|
||||||
|
}
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main table.content div.story[data-type=spark][data-name=shell] { margin-top:unset; }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main table.content div.story[data-type=spark][data-name=shell] { margin-top:unset; }
|
||||||
fieldset.web.wiki.portal.home>div.output>div.layout>div.main p { white-space:pre-wrap; text-align:center; }
|
fieldset.web.wiki.portal.home>div.output>div.layout>div.main p { white-space:pre-wrap; text-align:center; }
|
||||||
fieldset.web.wiki.portal.home>div.output>div.layout>div.main p:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
fieldset.web.wiki.portal.home>div.output>div.layout>div.main p:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
|
||||||
@ -49,7 +50,7 @@ body.dark fieldset.web.wiki.portal>div.output>div.header div.story[data-name=nav
|
|||||||
body.dark fieldset.web.wiki.portal>div.output>div.header div.story[data-name=navmenu] div.item.select { background-color:var(--plugin-bg-color); }
|
body.dark fieldset.web.wiki.portal>div.output>div.header div.story[data-name=navmenu] div.item.select { background-color:var(--plugin-bg-color); }
|
||||||
body.dark fieldset.web.wiki.portal>div.output>div.layout { background-color:var(--plugin-bg-color); --code-bg-color:var(--output-bg-color); }
|
body.dark fieldset.web.wiki.portal>div.output>div.layout { background-color:var(--plugin-bg-color); --code-bg-color:var(--output-bg-color); }
|
||||||
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset:not(.macos) { border:var(--plugin-border); }
|
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset:not(.macos) { border:var(--plugin-border); }
|
||||||
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset.output>div.output { border-radius:var(--plugin-radius); }
|
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset { border-radius:0; }
|
||||||
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { border-left:var(--box-notice3); }
|
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { border-left:var(--box-notice3); }
|
||||||
// body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { border:var(--box-border); }
|
// body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { border:var(--box-border); }
|
||||||
body.white fieldset.web.wiki.portal>div.output>div.header { color:silver; }
|
body.white fieldset.web.wiki.portal>div.output>div.header { color:silver; }
|
||||||
|
@ -12,11 +12,6 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
}
|
}
|
||||||
can.ui = can.onappend.layout(can, [html.HEADER, [html.NAV, html.MAIN, html.ASIDE]], html.FLOW), can.onimport._scroll(can)
|
can.ui = can.onappend.layout(can, [html.HEADER, [html.NAV, html.MAIN, html.ASIDE]], html.FLOW), can.onimport._scroll(can)
|
||||||
can.ui.header.innerHTML = msg.Append(html.HEADER), can.ui.nav.innerHTML = msg.Append(html.NAV)
|
can.ui.header.innerHTML = msg.Append(html.HEADER), can.ui.nav.innerHTML = msg.Append(html.NAV)
|
||||||
can.onmotion.delay(can, function() {
|
|
||||||
can.page.Select(can, can.ui.header, "div.item:first-child>span", function(target, index) {
|
|
||||||
index == 0 && can.page.insertBefore(can, [{img: can.misc.ResourceFavicon(can, can.user.info.favicon), style: {height: 42}}], target)
|
|
||||||
})
|
|
||||||
}, 300)
|
|
||||||
if (msg.Append(html.NAV) == "") {
|
if (msg.Append(html.NAV) == "") {
|
||||||
can.onmotion.hidden(can, can.ui.nav), can.onmotion.hidden(can, can.ui.aside)
|
can.onmotion.hidden(can, can.ui.nav), can.onmotion.hidden(can, can.ui.aside)
|
||||||
} else {
|
} else {
|
||||||
@ -46,6 +41,9 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
}: function(target, item) { can.db.nav[can.base.trimPrefix(item.meta.link, nfs.USR_LEARNING_PORTAL, nfs.SRC_DOCUMENT)] = target
|
}: function(target, item) { can.db.nav[can.base.trimPrefix(item.meta.link, nfs.USR_LEARNING_PORTAL, nfs.SRC_DOCUMENT)] = target
|
||||||
location.hash || item.list && item.list.length > 0 || link || (link = can.onaction.route({}, can, item.meta.link, true))
|
location.hash || item.list && item.list.length > 0 || link || (link = can.onaction.route({}, can, item.meta.link, true))
|
||||||
}, target)
|
}, target)
|
||||||
|
can.page.Select(can, can.ui.header, "div.item:first-child>span", function(target, index) {
|
||||||
|
can.page.insertBefore(can, [{img: can.misc.ResourceFavicon(can, can.user.info.favicon), style: {height: 42}}], target)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
content: function(can, file) {
|
content: function(can, file) {
|
||||||
can.runActionCommand(event, web.WIKI_WORD, [(can.base.beginWith(file, nfs.USR, nfs.SRC)? "": nfs.USR_LEARNING_PORTAL+can.db.current)+file], function(msg) { can.ui.main.innerHTML = msg.Result(), can.onmotion.clear(can, can.ui.aside)
|
can.runActionCommand(event, web.WIKI_WORD, [(can.base.beginWith(file, nfs.USR, nfs.SRC)? "": nfs.USR_LEARNING_PORTAL+can.db.current)+file], function(msg) { can.ui.main.innerHTML = msg.Result(), can.onmotion.clear(can, can.ui.aside)
|
||||||
|
@ -42,6 +42,11 @@ func init() {
|
|||||||
WordAlias(m, LABEL, CHART, LABEL)
|
WordAlias(m, LABEL, CHART, LABEL)
|
||||||
WordAlias(m, CHAIN, CHART, CHAIN)
|
WordAlias(m, CHAIN, CHART, CHAIN)
|
||||||
WordAlias(m, SEQUENCE, CHART, SEQUENCE)
|
WordAlias(m, SEQUENCE, CHART, SEQUENCE)
|
||||||
|
if ls := kit.SplitLine(m.Cmdx(nfs.CAT, ice.SRC_MAIN_SHY)); len(ls) > 0 {
|
||||||
|
if list := kit.SplitWord(ls[0]); len(list) > 0 && list[0] == TITLE {
|
||||||
|
ice.Info.Titles = list[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
}},
|
}},
|
||||||
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
|
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
if mdb.IsSearchPreview(m, arg) {
|
if mdb.IsSearchPreview(m, arg) {
|
||||||
|
3
info.go
3
info.go
@ -51,6 +51,9 @@ func (s info) Title() string {
|
|||||||
return p
|
return p
|
||||||
return kit.Capital(p)
|
return kit.Capital(p)
|
||||||
}
|
}
|
||||||
|
func (s info) IconTitle() string {
|
||||||
|
return kit.Format("<img src='%s'/><span>%s</span>", Pulse.Resource(s.NodeIcon), s.Title())
|
||||||
|
}
|
||||||
|
|
||||||
type info struct {
|
type info struct {
|
||||||
Make MakeInfo
|
Make MakeInfo
|
||||||
|
5
init.go
5
init.go
@ -65,6 +65,11 @@ var Index = &Context{Name: ICE, Help: "冰山模块", Commands: Commands{
|
|||||||
m.Cmd(SOURCE, ETC_INIT_SHY)
|
m.Cmd(SOURCE, ETC_INIT_SHY)
|
||||||
loadImportant(m)
|
loadImportant(m)
|
||||||
m.Cmd(CTX_OPEN)
|
m.Cmd(CTX_OPEN)
|
||||||
|
m.Travel(func(p *Context, c *Context, key string, cmd *Command) {
|
||||||
|
if h, ok := cmd.Actions["afterInit"]; ok {
|
||||||
|
h.Hand(m.Spawn(c, key, cmd), arg...)
|
||||||
|
}
|
||||||
|
})
|
||||||
}},
|
}},
|
||||||
QUIT: {Hand: func(m *Message, arg ...string) {
|
QUIT: {Hand: func(m *Message, arg ...string) {
|
||||||
m.GoSleep300ms(func() { os.Exit(kit.Int(kit.Select("0", arg, 0))) })
|
m.GoSleep300ms(func() { os.Exit(kit.Int(kit.Select("0", arg, 0))) })
|
||||||
|
Loading…
x
Reference in New Issue
Block a user