forked from x/icebergs
opt some
This commit is contained in:
parent
8e7a403b35
commit
f226c5f08e
@ -54,7 +54,7 @@ func init() {
|
|||||||
|
|
||||||
for {
|
for {
|
||||||
logs.Println("run %s", kit.Join(arg, ice.SP))
|
logs.Println("run %s", kit.Join(arg, ice.SP))
|
||||||
if m.Sleep("1s"); IsSuccess(m.Cmd(SYSTEM, arg)) {
|
if m.Sleep("100ms"); IsSuccess(m.Cmd(SYSTEM, arg)) {
|
||||||
logs.Println("exit")
|
logs.Println("exit")
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ func _hash_inputs(m *ice.Message, prefix, chain string, field, value string) {
|
|||||||
func _hash_insert(m *ice.Message, prefix, chain string, arg ...string) string {
|
func _hash_insert(m *ice.Message, prefix, chain string, arg ...string) string {
|
||||||
defer m.Lock(prefix, chain)()
|
defer m.Lock(prefix, chain)()
|
||||||
|
|
||||||
if value := m.Confm(prefix, kit.Keys(HASH, arg[1])); value != nil {
|
if value := m.Confm(prefix, kit.Keys(HASH, arg[1])); value != nil && arg[1] != "" {
|
||||||
value = kit.GetMeta(value)
|
value = kit.GetMeta(value)
|
||||||
for i := 2; i < len(arg)-1; i += 2 {
|
for i := 2; i < len(arg)-1; i += 2 {
|
||||||
kit.Value(value, arg[i], arg[i+1])
|
kit.Value(value, arg[i], arg[i+1])
|
||||||
@ -231,19 +231,19 @@ func HashImport(m *ice.Message, arg ...Any) *ice.Message {
|
|||||||
return m.Cmdy(IMPORT, m.PrefixKey(), "", HASH, arg)
|
return m.Cmdy(IMPORT, m.PrefixKey(), "", HASH, arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func HashTarget(m *ice.Message, h string, add func() Any) Any {
|
func HashTarget(m *ice.Message, h string, add func() Any) (p Any) {
|
||||||
defer m.Lock()()
|
m.Assert(h != "")
|
||||||
|
HashSelectUpdate(m, h, func(value ice.Map) {
|
||||||
p := m.Confv(m.PrefixKey(), kit.Keys(HASH, h, TARGET))
|
p = value[TARGET]
|
||||||
if pp, ok := p.(Map); ok && len(pp) == 0 {
|
if pp, ok := p.(Map); ok && len(pp) == 0 {
|
||||||
p = nil
|
p = nil
|
||||||
}
|
}
|
||||||
|
if p == nil && add != nil {
|
||||||
if p == nil && add != nil {
|
p = add()
|
||||||
p = add()
|
value[TARGET] = p
|
||||||
m.Confv(m.PrefixKey(), kit.Keys(HASH, h, TARGET), p)
|
}
|
||||||
}
|
})
|
||||||
return p
|
return
|
||||||
}
|
}
|
||||||
func HashPrunesValue(m *ice.Message, field, value string) {
|
func HashPrunesValue(m *ice.Message, field, value string) {
|
||||||
m.OptionFields(m.Config(FIELD))
|
m.OptionFields(m.Config(FIELD))
|
||||||
|
@ -48,8 +48,9 @@ func _dream_show(m *ice.Message, name string) {
|
|||||||
if !strings.Contains(name, "-") || !strings.HasPrefix(name, "20") {
|
if !strings.Contains(name, "-") || !strings.HasPrefix(name, "20") {
|
||||||
name = m.Time("20060102-") + kit.ReplaceAll(name, "-", "_")
|
name = m.Time("20060102-") + kit.ReplaceAll(name, "-", "_")
|
||||||
}
|
}
|
||||||
// defer m.ProcessOpen(m.MergePod(m.Option(mdb.NAME, name)))
|
defer m.ProcessOpen(m.MergePod(m.Option(mdb.NAME, name)))
|
||||||
defer m.Echo(m.MergePod(m.Option(mdb.NAME, name)))
|
defer m.Echo(m.MergePod(m.Option(mdb.NAME, name)))
|
||||||
|
defer m.PushRefresh()
|
||||||
|
|
||||||
p := path.Join(ice.USR_LOCAL_WORK, name)
|
p := path.Join(ice.USR_LOCAL_WORK, name)
|
||||||
if pid := m.Cmdx(nfs.CAT, path.Join(p, ice.Info.PidPath)); pid != "" && kit.FileExists("/proc/"+pid) {
|
if pid := m.Cmdx(nfs.CAT, path.Join(p, ice.Info.PidPath)); pid != "" && kit.FileExists("/proc/"+pid) {
|
||||||
@ -146,7 +147,7 @@ func init() {
|
|||||||
m.Cmd(mdb.DELETE, m.Prefix(SPACE), "", mdb.HASH, m.OptionSimple(mdb.NAME))
|
m.Cmd(mdb.DELETE, m.Prefix(SPACE), "", mdb.HASH, m.OptionSimple(mdb.NAME))
|
||||||
} else {
|
} else {
|
||||||
m.Cmd(mdb.DELETE, m.Prefix(SPACE), "", mdb.HASH, m.OptionSimple(mdb.NAME))
|
m.Cmd(mdb.DELETE, m.Prefix(SPACE), "", mdb.HASH, m.OptionSimple(mdb.NAME))
|
||||||
m.Sleep("1s", DREAM, cli.START, m.OptionSimple(mdb.NAME))
|
m.Sleep("3s", DREAM, cli.START, m.OptionSimple(mdb.NAME))
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
nfs.TRASH: {Name: "trash", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
nfs.TRASH: {Name: "trash", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
@ -35,6 +35,7 @@ func _xterm_get(m *ice.Message, h string, must bool) (f *os.File) {
|
|||||||
m.Assert(err)
|
m.Assert(err)
|
||||||
|
|
||||||
m.Go(func() {
|
m.Go(func() {
|
||||||
|
mdb.HashSelectUpdate(m, h, func(value ice.Map) { value["_cmd"] = cmd })
|
||||||
buf := make([]byte, ice.MOD_BUFS)
|
buf := make([]byte, ice.MOD_BUFS)
|
||||||
for {
|
for {
|
||||||
if n, e := tty.Read(buf); !m.Warn(e) {
|
if n, e := tty.Read(buf); !m.Warn(e) {
|
||||||
@ -56,6 +57,13 @@ const XTERM = "xterm"
|
|||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
XTERM: {Name: "xterm hash refresh", Help: "终端", Actions: ice.MergeAction(ice.Actions{
|
XTERM: {Name: "xterm hash refresh", Help: "终端", Actions: ice.MergeAction(ice.Actions{
|
||||||
|
ice.CTX_EXIT: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
mdb.HashSelectValue(m, func(value ice.Map) {
|
||||||
|
if cmd, ok := value["_cmd"].(*exec.Cmd); ok {
|
||||||
|
cmd.Process.Kill()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}},
|
||||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||||
switch mdb.HashInputs(m, arg); arg[0] {
|
switch mdb.HashInputs(m, arg); arg[0] {
|
||||||
case mdb.TYPE:
|
case mdb.TYPE:
|
||||||
@ -95,14 +103,14 @@ func init() {
|
|||||||
pty.Setsize(_xterm_get(m, m.Option(mdb.HASH), true), &pty.Winsize{Rows: uint16(kit.Int(m.Option("rows"))), Cols: uint16(kit.Int(m.Option("cols")))})
|
pty.Setsize(_xterm_get(m, m.Option(mdb.HASH), true), &pty.Winsize{Rows: uint16(kit.Int(m.Option("rows"))), Cols: uint16(kit.Int(m.Option("cols")))})
|
||||||
}},
|
}},
|
||||||
"rename": {Name: "rename", Help: "重命名", Hand: func(m *ice.Message, arg ...string) {
|
"rename": {Name: "rename", Help: "重命名", Hand: func(m *ice.Message, arg ...string) {
|
||||||
mdb.HashModify(m, m.OptionSimple(mdb.HASH), arg)
|
mdb.HashModify(m, arg)
|
||||||
}},
|
}},
|
||||||
"select": {Name: "select", Help: "连接", Hand: func(m *ice.Message, arg ...string) {
|
"select": {Name: "select", Help: "连接", Hand: func(m *ice.Message, arg ...string) {
|
||||||
mdb.HashModify(m, m.OptionSimple(mdb.HASH), mdb.TEXT, m.Option(ice.MSG_DAEMON))
|
mdb.HashModify(m, mdb.TEXT, m.Option(ice.MSG_DAEMON))
|
||||||
m.Cmd("", "input", arg)
|
m.Cmd("", "input", arg)
|
||||||
}},
|
}},
|
||||||
"input": {Name: "input", Help: "输入", Hand: func(m *ice.Message, arg ...string) {
|
"input": {Name: "input", Help: "输入", Hand: func(m *ice.Message, arg ...string) {
|
||||||
mdb.HashModify(m, m.OptionSimple(mdb.HASH), mdb.TIME, m.Time())
|
mdb.HashModify(m, mdb.TIME, m.Time())
|
||||||
if b, e := base64.StdEncoding.DecodeString(strings.Join(arg, "")); m.Assert(e) {
|
if b, e := base64.StdEncoding.DecodeString(strings.Join(arg, "")); m.Assert(e) {
|
||||||
_xterm_get(m, m.Option(mdb.HASH), true).Write(b)
|
_xterm_get(m, m.Option(mdb.HASH), true).Write(b)
|
||||||
}
|
}
|
||||||
|
1
init.go
1
init.go
@ -100,6 +100,7 @@ func Run(arg ...string) string {
|
|||||||
if Index.Start(Pulse, arg...) {
|
if Index.Start(Pulse, arg...) {
|
||||||
conf.Wait()
|
conf.Wait()
|
||||||
os.Exit(kit.Int(Pulse.Option(EXIT)))
|
os.Exit(kit.Int(Pulse.Option(EXIT)))
|
||||||
|
println()
|
||||||
}
|
}
|
||||||
default: // 执行命令
|
default: // 执行命令
|
||||||
if logs.Disable(true); len(arg) == 0 {
|
if logs.Disable(true); len(arg) == 0 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user