mirror of
https://shylinux.com/x/icebergs
synced 2025-05-01 03:09:21 +08:00
opt some
This commit is contained in:
parent
1382ed1ff3
commit
ecddb6cdae
@ -1,6 +1,11 @@
|
|||||||
package lex
|
package lex
|
||||||
|
|
||||||
const PREFIX = "prefix"
|
const (
|
||||||
const SUFFIX = "suffix"
|
PATTERN = "pattern"
|
||||||
const REGEXP = "regexp"
|
REGEXP = "regexp"
|
||||||
const PATTERN = "pattern"
|
PREFIX = "prefix"
|
||||||
|
SUFFIX = "suffix"
|
||||||
|
|
||||||
|
SPACE = "space"
|
||||||
|
OPERATOR = "operator"
|
||||||
|
)
|
||||||
|
@ -21,8 +21,7 @@ func _inner_list(m *ice.Message, ext, file, dir string) {
|
|||||||
m.Cmdy(nfs.CAT, path.Join(dir, file))
|
m.Cmdy(nfs.CAT, path.Join(dir, file))
|
||||||
}
|
}
|
||||||
if m.IsErrNotFound() {
|
if m.IsErrNotFound() {
|
||||||
m.SetResult()
|
_inner_show(m.SetResult(), ext, file, dir)
|
||||||
_inner_show(m, ext, file, dir)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -73,11 +72,11 @@ const (
|
|||||||
FUNCTION = "function"
|
FUNCTION = "function"
|
||||||
)
|
)
|
||||||
const (
|
const (
|
||||||
SPACE = "space"
|
SPLIT = lex.SPLIT
|
||||||
OPERATE = "operate"
|
SPACE = lex.SPACE
|
||||||
SPLIT = lex.SPLIT
|
OPERATOR = lex.OPERATOR
|
||||||
PREFIX = lex.PREFIX
|
PREFIX = lex.PREFIX
|
||||||
SUFFIX = lex.SUFFIX
|
SUFFIX = lex.SUFFIX
|
||||||
)
|
)
|
||||||
const (
|
const (
|
||||||
PLUG = "plug"
|
PLUG = "plug"
|
||||||
@ -93,29 +92,21 @@ func init() {
|
|||||||
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.PrefixKey())
|
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.PrefixKey())
|
||||||
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, ice.SRC_MAIN_GO)
|
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, ice.SRC_MAIN_GO)
|
||||||
}},
|
}},
|
||||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case nfs.PATH:
|
case nfs.PATH:
|
||||||
m.Cmdy(nfs.DIR, arg[1:], nfs.DIR_CLI_FIELDS).ProcessAgain()
|
m.Cmdy(nfs.DIR, kit.Select(nfs.PWD, arg, 1), nfs.DIR_CLI_FIELDS).ProcessAgain()
|
||||||
case nfs.FILE:
|
case nfs.FILE:
|
||||||
p := kit.Select(nfs.PWD, arg, 1)
|
p := kit.Select(nfs.PWD, arg, 1)
|
||||||
m.Option(nfs.DIR_ROOT, m.Option(nfs.PATH))
|
m.Option(nfs.DIR_ROOT, m.Option(nfs.PATH))
|
||||||
m.Cmdy(nfs.DIR, kit.Select(path.Dir(p), p, strings.HasSuffix(p, ice.FS))+ice.PS, nfs.DIR_CLI_FIELDS).ProcessAgain()
|
m.Cmdy(nfs.DIR, kit.Select(path.Dir(p), p, strings.HasSuffix(p, ice.PS))+ice.PS, nfs.DIR_CLI_FIELDS).ProcessAgain()
|
||||||
default:
|
default:
|
||||||
m.Cmdy(FAVOR, mdb.INPUTS, arg)
|
m.Cmdy(FAVOR, mdb.INPUTS, arg)
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
mdb.PLUGIN: {Name: "plugin", Help: "插件", Hand: func(m *ice.Message, arg ...string) {
|
mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(mdb.PLUGIN, arg) }},
|
||||||
if m.Cmdy(mdb.PLUGIN, arg); m.Result() == "" {
|
mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) { _inner_show(m, arg[0], arg[1], arg[2]) }},
|
||||||
m.Echo(kit.Select("{}", m.Config(kit.Keys(PLUG, arg[0]))))
|
mdb.ENGINE: {Hand: func(m *ice.Message, arg ...string) { _inner_exec(m, arg[0], arg[1], arg[2]) }},
|
||||||
}
|
|
||||||
}},
|
|
||||||
mdb.RENDER: {Name: "render", Help: "渲染", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
_inner_show(m, arg[0], arg[1], arg[2])
|
|
||||||
}},
|
|
||||||
mdb.ENGINE: {Name: "engine", Help: "引擎", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
_inner_exec(m, arg[0], arg[1], arg[2])
|
|
||||||
}},
|
|
||||||
|
|
||||||
nfs.GREP: {Name: "grep", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
nfs.GREP: {Name: "grep", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmdy(nfs.GREP, m.Option(nfs.PATH), arg[0]).StatusTimeCount(mdb.INDEX, 0)
|
m.Cmdy(nfs.GREP, m.Option(nfs.PATH), arg[0]).StatusTimeCount(mdb.INDEX, 0)
|
||||||
|
@ -17,12 +17,18 @@ import (
|
|||||||
|
|
||||||
func _vimer_make(m *ice.Message, dir string, msg *ice.Message) {
|
func _vimer_make(m *ice.Message, dir string, msg *ice.Message) {
|
||||||
for _, line := range strings.Split(msg.Append(cli.CMD_ERR), ice.NL) {
|
for _, line := range strings.Split(msg.Append(cli.CMD_ERR), ice.NL) {
|
||||||
if strings.Contains(line, ice.DF) {
|
if !strings.Contains(line, ice.DF) {
|
||||||
if ls := strings.SplitN(line, ice.DF, 4); len(ls) > 3 {
|
continue
|
||||||
m.Push(nfs.PATH, dir)
|
}
|
||||||
m.Push(nfs.FILE, strings.TrimPrefix(ls[0], dir))
|
if ls := strings.SplitN(line, ice.DF, 4); len(ls) > 3 {
|
||||||
m.Push(nfs.LINE, ls[1])
|
for _, p := range kit.Split(dir) {
|
||||||
m.Push(mdb.TEXT, ls[3])
|
if strings.HasPrefix(ls[0], p) {
|
||||||
|
m.Push(nfs.PATH, p)
|
||||||
|
m.Push(nfs.FILE, strings.TrimPrefix(ls[0], p))
|
||||||
|
m.Push(nfs.LINE, ls[1])
|
||||||
|
m.Push(mdb.TEXT, ls[3])
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -37,8 +43,8 @@ const VIMER = "vimer"
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
VIMER: {Name: "vimer path=src/ file=main.go line=1@keyboard list", Help: "编辑器", Actions: ice.Actions{
|
VIMER: {Name: "vimer path=src/ file=main.go line=1 list", Help: "编辑器", Actions: ice.Actions{
|
||||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
switch m.Option(ctx.ACTION) {
|
switch m.Option(ctx.ACTION) {
|
||||||
case AUTOGEN, web.DREAM, XTERM:
|
case AUTOGEN, web.DREAM, XTERM:
|
||||||
m.Cmdy(m.Option(ctx.ACTION), mdb.INPUTS, arg)
|
m.Cmdy(m.Option(ctx.ACTION), mdb.INPUTS, arg)
|
||||||
@ -58,11 +64,12 @@ func init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
nfs.SAVE: {Name: "save type file path", Help: "保存", Hand: func(m *ice.Message, arg ...string) {
|
nfs.SAVE: {Name: "save", Help: "保存", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if m.Option(nfs.CONTENT) == "" {
|
if m.Option(nfs.CONTENT) == "" {
|
||||||
m.Option(nfs.CONTENT, m.Cmdx("", TEMPLATE))
|
m.Option(nfs.CONTENT, m.Cmdx("", TEMPLATE))
|
||||||
}
|
}
|
||||||
m.Cmdy(nfs.SAVE, path.Join(m.Option(nfs.PATH), m.Option(nfs.FILE)))
|
m.Cmdy(nfs.SAVE, path.Join(m.Option(nfs.PATH), m.Option(nfs.FILE)))
|
||||||
|
web.ToastSuccess(m)
|
||||||
}},
|
}},
|
||||||
nfs.TRASH: {Name: "trash path", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
nfs.TRASH: {Name: "trash path", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmd(nfs.TRASH, arg[0])
|
m.Cmd(nfs.TRASH, arg[0])
|
||||||
@ -164,7 +171,7 @@ func LangAction() ice.Actions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
func Complete(m *ice.Message, text string, data ice.Map) {
|
func Complete(m *ice.Message, text string, data ice.Map) {
|
||||||
if strings.HasSuffix(text, ".") {
|
if strings.HasSuffix(text, ice.PT) {
|
||||||
key := kit.Slice(kit.Split(text, " ."), -1)[0]
|
key := kit.Slice(kit.Split(text, " ."), -1)[0]
|
||||||
m.Push(mdb.TEXT, kit.Simple(data[key]))
|
m.Push(mdb.TEXT, kit.Simple(data[key]))
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user