1
0
mirror of https://shylinux.com/x/icebergs synced 2025-05-01 19:19:24 +08:00

opt vimer.js

This commit is contained in:
harveyshao 2022-01-19 17:33:41 +08:00
parent 4acbe03c1f
commit 73e92ec42a
4 changed files with 43 additions and 19 deletions

View File

@ -17,6 +17,27 @@ func init() {
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,照片,性别,年龄,身高,体重,籍贯,户口,学历,学校,职业,公司,年薪,资产,家境", mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,照片,性别,年龄,身高,体重,籍贯,户口,学历,学校,职业,公司,年薪,资产,家境",
)}, )},
}, Commands: map[string]*ice.Command{ }, Commands: map[string]*ice.Command{
"monkey": {Name: "monkey total=888 count=9 run", Help: "猴子开箱子", Meta: kit.Dict("_trans", kit.Dict("name", "姓名")), Action: ice.MergeAction(map[string]*ice.Action{
mdb.CREATE: {Name: "create name 照片 性别 年龄 身高 体重 籍贯 户口 学历 学校 职业 公司 年薪 资产 家境", Help: "添加"},
}, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
total := kit.Int(arg[0])
count := kit.Int(arg[1])
for i := 1; i <= total; i++ {
list := []int{}
for j := 1; j <= i/2; j++ {
if i%j == 0 {
list = append(list, j)
}
}
list = append(list, i)
if len(list) == count {
m.Push("index", i)
m.Push("count", len(list))
m.Push("value", kit.Format(list))
}
}
m.StatusTimeCount()
}},
MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict("_trans", kit.Dict("name", "姓名")), Action: ice.MergeAction(map[string]*ice.Action{ MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict("_trans", kit.Dict("name", "姓名")), Action: ice.MergeAction(map[string]*ice.Action{
mdb.CREATE: {Name: "create name 照片 性别 年龄 身高 体重 籍贯 户口 学历 学校 职业 公司 年薪 资产 家境", Help: "添加"}, mdb.CREATE: {Name: "create name 照片 性别 年龄 身高 体重 籍贯 户口 学历 学校 职业 公司 年薪 资产 家境", Help: "添加"},
}, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {

View File

@ -91,6 +91,8 @@ func init() {
m.Cmd(mdb.RENDER, mdb.CREATE, k, m.Prefix(k)) m.Cmd(mdb.RENDER, mdb.CREATE, k, m.Prefix(k))
} }
LoadPlug(m, GO) LoadPlug(m, GO)
LoadPlug(m, MOD)
LoadPlug(m, PROTO)
}}, }},
GODOC: {Name: GODOC, Help: "文档", Action: ice.MergeAction(map[string]*ice.Action{ GODOC: {Name: GODOC, Help: "文档", Action: ice.MergeAction(map[string]*ice.Action{
mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) { mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) {
@ -137,7 +139,7 @@ func init() {
PREFIX, kit.Dict("//", COMMENT), PREFIX, kit.Dict("//", COMMENT),
PREPARE, kit.Dict( PREPARE, kit.Dict(
KEYWORD, kit.Simple( KEYWORD, kit.Simple(
"module", "require", "replace", "=>", "go", "module", "require", "replace", "=>",
), ),
), KEYWORD, kit.Dict(), ), KEYWORD, kit.Dict(),
))}, ))},
@ -149,13 +151,14 @@ func init() {
"package", "import", "type", "struct", "interface", "const", "var", "func", "package", "import", "type", "struct", "interface", "const", "var", "func",
"if", "else", "for", "range", "break", "continue", "if", "else", "for", "range", "break", "continue",
"switch", "case", "default", "fallthrough", "switch", "case", "default", "fallthrough",
"go", "select", "defer", "return", "go", "select", "defer", "return", "panic", "recover",
), ),
DATATYPE, kit.Simple( DATATYPE, kit.Simple(
"int", "int32", "int64", "float64", "int", "int32", "int64", "float64",
"string", "byte", "bool", "error", "chan", "map", "string", "byte", "bool", "error", "chan", "map",
), ),
FUNCTION, kit.Simple( FUNCTION, kit.Simple(
"init", "main", "print",
"new", "make", "len", "cap", "copy", "append", "delete", "msg", "m", "new", "make", "len", "cap", "copy", "append", "delete", "msg", "m",
), ),
CONSTANT, kit.Simple( CONSTANT, kit.Simple(

View File

@ -17,6 +17,7 @@ func _inner_exec(m *ice.Message, ext, file, dir string, arg ...string) {
if !m.Right(dir, file) { if !m.Right(dir, file) {
return // 没有权限 return // 没有权限
} }
defer m.StatusTime()
if m.Cmdy(mdb.ENGINE, ext, file, dir, arg); m.Result() != "" { if m.Cmdy(mdb.ENGINE, ext, file, dir, arg); m.Result() != "" {
return // 执行成功 return // 执行成功
} }
@ -47,7 +48,10 @@ func LoadPlug(m *ice.Message, language string) {
func PlugAction(fields ...string) map[string]*ice.Action { func PlugAction(fields ...string) map[string]*ice.Action {
return ice.SelectAction(map[string]*ice.Action{ return ice.SelectAction(map[string]*ice.Action{
mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) { m.Echo(m.Config(PLUG)) }}, mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) {
m.Debug("what %v", m.Config(PLUG))
m.Echo(m.Config(PLUG))
}},
mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(nfs.CAT, path.Join(arg[2], arg[1])) }}, mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(nfs.CAT, path.Join(arg[2], arg[1])) }},
}, fields...) }, fields...)
} }
@ -72,9 +76,7 @@ const INNER = "inner"
func init() { func init() {
Index.Merge(&ice.Context{Commands: map[string]*ice.Command{ Index.Merge(&ice.Context{Commands: map[string]*ice.Command{
INNER: {Name: "inner path=src/@key file=main.go line=1 auto", Help: "源代码", Meta: kit.Dict( INNER: {Name: "inner path=src/@key file=main.go line=1 auto", Help: "源代码", Meta: kit.Dict(ice.DisplayLocal("")), Action: ice.MergeAction(map[string]*ice.Action{
ice.DisplayLocal(""),
), Action: ice.MergeAction(map[string]*ice.Action{
mdb.PLUGIN: {Name: "plugin", Help: "插件", Hand: func(m *ice.Message, arg ...string) { mdb.PLUGIN: {Name: "plugin", Help: "插件", Hand: func(m *ice.Message, arg ...string) {
if m.Cmdy(mdb.PLUGIN, arg); m.Result() == "" { if m.Cmdy(mdb.PLUGIN, arg); m.Result() == "" {
m.Echo(kit.Select("{}", m.Config(kit.Keys(PLUG, arg[0])))) m.Echo(kit.Select("{}", m.Config(kit.Keys(PLUG, arg[0]))))
@ -82,18 +84,17 @@ func init() {
m.Set(ice.MSG_STATUS) m.Set(ice.MSG_STATUS)
}}, }},
mdb.SEARCH: {Name: "search", Help: "搜索", Hand: func(m *ice.Message, arg ...string) { mdb.SEARCH: {Name: "search", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
m.Option(cli.CMD_DIR, kit.Path(arg[2]))
m.Option(nfs.DIR_ROOT, arg[2]) m.Option(nfs.DIR_ROOT, arg[2])
m.Option(cli.CMD_DIR, kit.Path(arg[2]))
m.Cmdy(mdb.SEARCH, arg[0], arg[1], arg[2]) m.Cmdy(mdb.SEARCH, arg[0], arg[1], arg[2])
m.Cmd(FAVOR, arg[1], ice.OptionFields("")).Table(func(index int, value map[string]string, head []string) { m.Cmd(FAVOR, arg[1], ice.OptionFields("")).Table(func(index int, value map[string]string, head []string) {
p := path.Join(value[nfs.PATH], value[nfs.FILE]) if p := path.Join(value[nfs.PATH], value[nfs.FILE]); strings.HasPrefix(p, m.Option(nfs.PATH)) {
if strings.HasPrefix(p, m.Option(nfs.PATH)) {
m.Push(nfs.FILE, strings.TrimPrefix(p, m.Option(nfs.PATH))) m.Push(nfs.FILE, strings.TrimPrefix(p, m.Option(nfs.PATH)))
m.Push(nfs.LINE, value[nfs.LINE]) m.Push(nfs.LINE, value[nfs.LINE])
m.Push(mdb.TEXT, value[mdb.TEXT]) m.Push(mdb.TEXT, value[mdb.TEXT])
} }
}) })
if m.StatusTimeCount("index", 0); m.Length() == 0 { if m.StatusTimeCount(mdb.INDEX, 0); m.Length() == 0 {
m.Cmdy(INNER, nfs.GREP, arg[1]) m.Cmdy(INNER, nfs.GREP, arg[1])
} }
}}, }},
@ -104,7 +105,7 @@ func init() {
}}, }},
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]) m.Cmdy(nfs.GREP, m.Option(nfs.PATH), arg[0])
m.StatusTimeCount("index", 0) m.StatusTimeCount(mdb.INDEX, 0)
}}, }},
cli.MAKE: {Name: "make", Help: "构建", Hand: func(m *ice.Message, arg ...string) { cli.MAKE: {Name: "make", Help: "构建", Hand: func(m *ice.Message, arg ...string) {
msg := m.Cmd(cli.SYSTEM, cli.MAKE, arg) msg := m.Cmd(cli.SYSTEM, cli.MAKE, arg)
@ -129,12 +130,10 @@ func init() {
case nfs.PATH: case nfs.PATH:
m.Cmdy(nfs.DIR, arg[1:], "path,size,time").ProcessAgain() m.Cmdy(nfs.DIR, arg[1:], "path,size,time").ProcessAgain()
case nfs.FILE: case nfs.FILE:
m.Option(nfs.DIR_ROOT, m.Option(nfs.PATH)) m.Cmdy(nfs.DIR, ice.PWD, "path,size,time", kit.Dict(nfs.DIR_ROOT, m.Option(nfs.PATH))).ProcessAgain()
m.Cmdy(nfs.DIR, ice.PWD, "path,size,time").ProcessAgain()
case "url": case "url":
m.Option(nfs.DIR_DEEP, ice.TRUE)
m.Option(nfs.DIR_ROOT, "usr/volcanos/plugin/local/code/") m.Option(nfs.DIR_ROOT, "usr/volcanos/plugin/local/code/")
m.Cmdy(nfs.DIR, ice.PWD, "path,size,time").ProcessAgain() m.Cmdy(nfs.DIR, ice.PWD, "path,size,time", kit.Dict(nfs.DIR_DEEP, ice.TRUE)).ProcessAgain()
default: default:
m.Cmdy(FAVOR, mdb.INPUTS, arg) m.Cmdy(FAVOR, mdb.INPUTS, arg)
} }
@ -149,12 +148,15 @@ func init() {
} }
if len(arg) < 2 { if len(arg) < 2 {
nfs.Dir(m, nfs.PATH) nfs.Dir(m, nfs.PATH)
m.Set(ice.MSG_STATUS)
return return
} }
m.Option("exts", "inner/search.js?a=1,inner/favor.js") m.Option("exts", "inner/search.js?a=1,inner/favor.js")
arg[1] = kit.Split(arg[1])[0] arg[1] = kit.Split(arg[1])[0]
_inner_list(m, kit.Ext(arg[1]), arg[1], arg[0]) _inner_list(m, kit.Ext(arg[1]), arg[1], arg[0])
if m.IsErrNotFound() {
m.SetResult()
m.Echo("")
}
m.Set(ice.MSG_STATUS) m.Set(ice.MSG_STATUS)
}}, }},
}, Configs: map[string]*ice.Config{ }, Configs: map[string]*ice.Config{

View File

@ -14,9 +14,7 @@ const VIMER = "vimer"
func init() { func init() {
Index.Merge(&ice.Context{Commands: map[string]*ice.Command{ Index.Merge(&ice.Context{Commands: map[string]*ice.Command{
VIMER: {Name: "vimer path=src/ file=main.go line=1 refresh:button=auto save", Help: "编辑器", Meta: kit.Dict( VIMER: {Name: "vimer path=src/ file=main.go line=1 auto", Help: "编辑器", Meta: kit.Dict(ice.DisplayLocal("", INNER)), Action: map[string]*ice.Action{
ice.DisplayLocal("", INNER),
), Action: map[string]*ice.Action{
nfs.SAVE: {Name: "save type file path", Help: "保存", Hand: func(m *ice.Message, arg ...string) { nfs.SAVE: {Name: "save type file path", Help: "保存", Hand: func(m *ice.Message, arg ...string) {
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)))
}}, }},