1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-30 18:59:22 +08:00
This commit is contained in:
shylinux@163.com 2022-10-03 07:12:03 +08:00
parent 1382ed1ff3
commit ecddb6cdae
3 changed files with 38 additions and 35 deletions

View File

@ -1,6 +1,11 @@
package lex
const PREFIX = "prefix"
const SUFFIX = "suffix"
const REGEXP = "regexp"
const PATTERN = "pattern"
const (
PATTERN = "pattern"
REGEXP = "regexp"
PREFIX = "prefix"
SUFFIX = "suffix"
SPACE = "space"
OPERATOR = "operator"
)

View File

@ -21,8 +21,7 @@ func _inner_list(m *ice.Message, ext, file, dir string) {
m.Cmdy(nfs.CAT, path.Join(dir, file))
}
if m.IsErrNotFound() {
m.SetResult()
_inner_show(m, ext, file, dir)
_inner_show(m.SetResult(), ext, file, dir)
}
}
}
@ -73,11 +72,11 @@ const (
FUNCTION = "function"
)
const (
SPACE = "space"
OPERATE = "operate"
SPLIT = lex.SPLIT
PREFIX = lex.PREFIX
SUFFIX = lex.SUFFIX
SPLIT = lex.SPLIT
SPACE = lex.SPACE
OPERATOR = lex.OPERATOR
PREFIX = lex.PREFIX
SUFFIX = lex.SUFFIX
)
const (
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, 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] {
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:
p := kit.Select(nfs.PWD, arg, 1)
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:
m.Cmdy(FAVOR, mdb.INPUTS, arg)
}
}},
mdb.PLUGIN: {Name: "plugin", Help: "插件", Hand: func(m *ice.Message, arg ...string) {
if m.Cmdy(mdb.PLUGIN, arg); m.Result() == "" {
m.Echo(kit.Select("{}", m.Config(kit.Keys(PLUG, arg[0]))))
}
}},
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])
}},
mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(mdb.PLUGIN, arg) }},
mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) { _inner_show(m, arg[0], arg[1], arg[2]) }},
mdb.ENGINE: {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) {
m.Cmdy(nfs.GREP, m.Option(nfs.PATH), arg[0]).StatusTimeCount(mdb.INDEX, 0)

View File

@ -17,12 +17,18 @@ import (
func _vimer_make(m *ice.Message, dir string, msg *ice.Message) {
for _, line := range strings.Split(msg.Append(cli.CMD_ERR), ice.NL) {
if strings.Contains(line, ice.DF) {
if ls := strings.SplitN(line, ice.DF, 4); len(ls) > 3 {
m.Push(nfs.PATH, dir)
m.Push(nfs.FILE, strings.TrimPrefix(ls[0], dir))
m.Push(nfs.LINE, ls[1])
m.Push(mdb.TEXT, ls[3])
if !strings.Contains(line, ice.DF) {
continue
}
if ls := strings.SplitN(line, ice.DF, 4); len(ls) > 3 {
for _, p := range kit.Split(dir) {
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() {
Index.MergeCommands(ice.Commands{
VIMER: {Name: "vimer path=src/ file=main.go line=1@keyboard list", Help: "编辑器", Actions: ice.Actions{
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
VIMER: {Name: "vimer path=src/ file=main.go line=1 list", Help: "编辑器", Actions: ice.Actions{
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
switch m.Option(ctx.ACTION) {
case AUTOGEN, web.DREAM, XTERM:
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) == "" {
m.Option(nfs.CONTENT, m.Cmdx("", TEMPLATE))
}
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) {
m.Cmd(nfs.TRASH, arg[0])
@ -164,7 +171,7 @@ func LangAction() ice.Actions {
}
}
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]
m.Push(mdb.TEXT, kit.Simple(data[key]))
} else {