1
0
forked from x/icebergs
This commit is contained in:
shylinux 2020-07-28 09:22:23 +08:00
parent e93b45073b
commit 8db22f281c
5 changed files with 65 additions and 8 deletions

View File

@ -22,7 +22,6 @@ func _serve_login(msg *ice.Message, cmds []string, w http.ResponseWriter, r *htt
msg.Option(ice.MSG_USERNAME, "")
msg.Option(ice.MSG_USERROLE, "")
msg.Debug("what %v", msg.Option(ice.MSG_SESSID))
if msg.Options(ice.MSG_SESSID) {
// 会话认证
aaa.SessCheck(msg, msg.Option(ice.MSG_SESSID))
@ -121,14 +120,12 @@ func _serve_handle(key string, cmd *ice.Command, msg *ice.Message, w http.Respon
}
}
msg.Debug("what %v", msg.Option(ice.MSG_SESSID))
// 请求命令
if msg.Option(ice.MSG_USERPOD, msg.Option("pod")); msg.Optionv(ice.MSG_CMDS) == nil {
if p := strings.TrimPrefix(msg.Option(ice.MSG_USERURL), key); p != "" {
msg.Optionv(ice.MSG_CMDS, strings.Split(p, "/"))
}
}
msg.Debug("what %v", msg.Option(ice.MSG_SESSID))
// 执行命令
if cmds, ok := _serve_login(msg, kit.Simple(msg.Optionv(ice.MSG_CMDS)), w, r); ok {

View File

@ -29,7 +29,7 @@ func init() {
}},
PASTE: {Name: "paste text auto 添加:button", Help: "粘贴板", Action: map[string]*ice.Action{
mdb.INSERT: {Hand: func(m *ice.Message, arg ...string) {
mdb.INSERT: {Name: "insert type name text", Hand: func(m *ice.Message, arg ...string) {
m.Conf(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM), kit.MDB_META, kit.MDB_SHORT), kit.MDB_TEXT)
h := m.Rich(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM)), kit.Dict(

View File

@ -19,6 +19,10 @@ func _river_list(m *ice.Message) {
m.Cmdy(web.SPACE, p, "web.chat./river")
}
m.Richs(RIVER, nil, kit.MDB_FOREACH, func(key string, value map[string]interface{}) {
if kit.Value(value, "meta.type") == "public" {
m.Push(key, value[kit.MDB_META], []string{kit.MDB_KEY, kit.MDB_NAME})
return
}
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, key, USER), m.Option(ice.MSG_USERNAME), func(k string, val map[string]interface{}) {
m.Push(key, value[kit.MDB_META], []string{kit.MDB_KEY, kit.MDB_NAME}, val[kit.MDB_META])
})

View File

@ -17,12 +17,19 @@ func _storm_list(m *ice.Message, river string) {
// 代理列表
m.Cmdy(web.SPACE, p, "web.chat./storm")
}
ok := true
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, river, USER), m.Option(ice.MSG_USERNAME), func(k string, val map[string]interface{}) {
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, river, TOOL), kit.MDB_FOREACH, func(key string, value map[string]interface{}) {
m.Push(key, value[kit.MDB_META], []string{kit.MDB_KEY, kit.MDB_NAME, kit.MDB_COUNT}, val[kit.MDB_META])
})
ok = true
})
m.Sort(kit.MDB_NAME)
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, river), m.Option(ice.MSG_RIVER), func(k string, val map[string]interface{}) {
ok = true
})
if ok {
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, river, TOOL), kit.MDB_FOREACH, func(key string, value map[string]interface{}) {
m.Push(key, value[kit.MDB_META], []string{kit.MDB_KEY, kit.MDB_NAME, kit.MDB_COUNT})
})
m.Sort(kit.MDB_NAME)
}
}
func _storm_tool(m *ice.Message, river, storm string, arg ...string) { // pod ctx cmd help
prefix := kit.Keys(kit.MDB_HASH, river, TOOL, kit.MDB_HASH, storm)

View File

@ -17,6 +17,7 @@ import (
)
const VIM = "vim"
const VIMRC = "vimrc"
var Index = &ice.Context{Name: "vim", Help: "编辑器",
Caches: map[string]*ice.Cache{},
@ -29,12 +30,55 @@ var Index = &ice.Context{Name: "vim", Help: "编辑器",
"--enable-cscope=yes",
}, "history", "vim.history",
"plug", kit.Dict(
"split", kit.Dict(
"space", " \t",
"operator", "{[(&.,;!|<>)]}",
),
"prefix", kit.Dict(
"\"", "comment",
),
"keyword", kit.Dict(
"colorscheme", "keyword",
"highlight", "keyword",
"syntax", "keyword",
"nnoremap", "keyword",
"cnoremap", "keyword",
"inoremap", "keyword",
"autocmd", "keyword",
"command", "keyword",
"execute", "keyword",
"set", "keyword",
"let", "keyword",
"if", "keyword",
"else", "keyword",
"elseif", "keyword",
"endif", "keyword",
"end", "keyword",
"for", "keyword",
"in", "keyword",
"continue", "keyword",
"break", "keyword",
"endfor", "keyword",
"try", "keyword",
"catch", "keyword",
"finally", "keyword",
"endtry", "keyword",
"call", "keyword",
"return", "keyword",
"source", "keyword",
"finish", "keyword",
"function", "keyword",
"endfunction", "keyword",
"has", "function",
"type", "function",
"empty", "function",
"exists", "function",
"executable", "function",
),
),
)},
@ -60,6 +104,11 @@ var Index = &ice.Context{Name: "vim", Help: "编辑器",
m.Cmdy(cli.SYSTEM, "sed", "-n", fmt.Sprintf("/%s/,/^}$/p", value["text"]), kit.Value(value, "extra.buf"))
}
}}))
m.Cmd(mdb.PLUGIN, mdb.CREATE, VIMRC, VIM, c.Cap(ice.CTX_FOLLOW))
m.Cmd(mdb.RENDER, mdb.CREATE, VIMRC, VIM, c.Cap(ice.CTX_FOLLOW))
m.Cmd(mdb.PLUGIN, mdb.CREATE, VIM, VIM, c.Cap(ice.CTX_FOLLOW))
m.Cmd(mdb.RENDER, mdb.CREATE, VIM, VIM, c.Cap(ice.CTX_FOLLOW))
}},
VIM: {Name: VIM, Help: "vim", Action: map[string]*ice.Action{
mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) {