1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 01:24:05 +08:00
This commit is contained in:
harveyshao 2023-01-20 14:51:05 +08:00
parent c07994d42b
commit 15da224680
9 changed files with 25 additions and 7 deletions

View File

@ -40,7 +40,10 @@ func init() {
if bin := kit.Select(os.Args[0], ice.BIN_ICE_BIN, nfs.ExistsFile(m, ice.BIN_ICE_BIN)); len(arg) > 0 && arg[0] == ice.SPACE {
m.Cmdy(FOREVER, bin, ice.SPACE, "dial", ice.DEV, ice.OPS, arg[1:])
} else {
m.Cmdy(FOREVER, bin, ice.SERVE, START, ice.DEV, "", arg)
if len(arg) == 0 || arg[0] != ice.DEV {
arg = append([]string{ice.DEV, ""}, arg...)
}
m.Cmdy(FOREVER, bin, ice.SERVE, START, arg)
}
}},
RESTART: {Hand: func(m *ice.Message, arg ...string) { m.Cmd(gdb.SIGNAL, gdb.RESTART) }},

View File

@ -163,7 +163,7 @@ func init() {
USERINFO: {Hand: func(m *ice.Message, arg ...string) { m.Split(m.Cmdx(SYSTEM, "who"), "user term time") }},
PROCINFO: {Hand: func(m *ice.Message, arg ...string) {
msg := m.Cmd("", HOSTINFO)
m.Split(m.Cmdx(SYSTEM, "ps", "u")).PushAction(PROCKILL).SortIntR("RSS")
m.Split(m.Cmdx(SYSTEM, "ps", "u")).PushAction(PROCKILL).Sort("COMMAND")
m.StatusTimeCount("nCPU", msg.Append("nCPU"), "MemTotal", msg.Append("MemTotal"), "MemFree", msg.Append("MemFree"))
}},
PROCKILL: {Help: "结束进程", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(gdb.SIGNAL, gdb.STOP, m.Option("PID")).ProcessRefresh() }},

View File

@ -80,6 +80,7 @@ const (
NAME = kit.MDB_NAME
TEXT = kit.MDB_TEXT
DATA = kit.MDB_DATA
VIEW = kit.MDB_VIEW
LINK = kit.MDB_LINK
FILE = kit.MDB_FILE

View File

@ -175,6 +175,9 @@ func init() {
if strings.HasPrefix(dir, ice.PS) {
root = ice.PS
}
if root == ice.PS && dir == ice.PS {
root, dir = PWD, PWD
}
if !aaa.Right(m, path.Join(root, dir)) {
return
}

View File

@ -14,7 +14,7 @@ func init() {
Index.MergeCommands(ice.Commands{
GREP: {Name: "grep word path auto", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
m.Option("cmd_dir", kit.Select(m.Option(PATH), arg, 1))
for _, line := range strings.Split(m.Cmdx("cli.system", GREP, "--exclude=.[a-z]*", "--exclude-dir=.[a-z]*", "-rni", arg[0], ice.PT), ice.NL) {
for _, line := range strings.Split(m.Cmdx("cli.system", GREP, "--exclude=.[a-z]*", "--exclude-dir=.[a-z]*", "--exclude-dir=node_modules", "-rni", arg[0], ice.PT), ice.NL) {
if ls := strings.SplitN(line, ice.DF, 3); len(ls) > 2 {
m.Push(FILE, strings.TrimPrefix(ls[0], PWD)).Push(LINE, ls[1]).Push(mdb.TEXT, ls[2])
}

View File

@ -205,11 +205,14 @@ var _cmd_template = `<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=0.8,maximum-scale=0.8,user-scalable=no">
<meta charset="utf-8"><title>volcanos</title>
<link href="/page/can.css{{.version}}" rel="stylesheet">
<link href="/index.css{{.version}}" rel="stylesheet">
<link href="/page/cache.css{{.version}}" rel="stylesheet">
<link href="/page/favicon.ico" rel="shortcut icon" type="image/ico">
</head>
<body>
<script>_version = "{{.version}}"</script>
<script src="/page/can.js{{.version}}"></script><script>Volcanos({{.list}})</script>
<script src="/proto.js{{.version}}"></script>
<script src="/page/cache.js{{.version}}"></script>
<script>Volcanos({{.list}})</script>
</body>
`

View File

@ -192,6 +192,7 @@ const ( // MSG
MSG_LANGUAGE = "user.lang"
MSG_USERHOST = "user.host"
MSG_MODE = "sess.mode"
MSG_TITLE = "sess.title"
MSG_TOPIC = "sess.topic"
MSG_RIVER = "sess.river"

View File

@ -196,6 +196,9 @@ func init() {
Index.MergeCommands(ice.Commands{COMPLETE: {Name: "complete type name text auto", Help: "补全", Actions: mdb.RenderAction()}})
Index.MergeCommands(ice.Commands{NAVIGATE: {Name: "navigate type name text auto", Help: "跳转", Actions: mdb.RenderAction()}})
ice.AddMerges(func(c *ice.Context, key string, cmd *ice.Command, sub string, action *ice.Action) (ice.Handler, ice.Handler) {
if strings.HasPrefix(key, ice.PS) {
return nil, nil
}
switch sub {
case TEMPLATE, COMPLETE, NAVIGATE:
return func(m *ice.Message, arg ...string) { m.Cmd(sub, mdb.CREATE, key, m.PrefixKey()) }, nil

View File

@ -112,7 +112,7 @@ func _status_stat(m *ice.Message, files, adds, dels int) (int, int, int) {
return files, adds, dels
}
func _status_list(m *ice.Message) (files, adds, dels int, last time.Time) {
onlychange := m.Option("view") == "change"
onlychange := m.Option(ice.MSG_MODE) == mdb.ZONE || m.Option("view") == "change"
ReposList(m).Tables(func(value ice.Maps) {
m.Option(cli.CMD_DIR, value[nfs.PATH])
files, adds, dels = _status_stat(m, files, adds, dels)
@ -130,7 +130,11 @@ func _status_list(m *ice.Message) (files, adds, dels int, last time.Time) {
if onlychange && ls[0] == "##" {
return
}
switch m.Push(REPOS, value[REPOS]).Push(mdb.TYPE, ls[0]).Push(nfs.FILE, ls[1]); ls[0] {
if m.Push(REPOS, value[REPOS]).Push(mdb.TYPE, ls[0]).Push(nfs.FILE, ls[1]); onlychange {
m.Push(nfs.PATH, value[nfs.PATH]).Push(mdb.VIEW, kit.Format("%s %s",
ls[0]+strings.Repeat(" ", len(ls[0])-9), kit.Select("", ice.USR+ice.PS+value[REPOS]+ice.PS, value[REPOS] != ice.CONTEXTS)+ls[1]))
}
switch ls[0] {
case "##":
if m.Push(TAGS, tags); strings.Contains(ls[1], "ahead") || !strings.Contains(ls[1], "...") {
m.PushButton(PUSH)