diff --git a/base/web/serve.go b/base/web/serve.go index bd00f7e8..336d3c11 100644 --- a/base/web/serve.go +++ b/base/web/serve.go @@ -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 { diff --git a/core/chat/paste.go b/core/chat/paste.go index 8838c61e..4bc184dc 100644 --- a/core/chat/paste.go +++ b/core/chat/paste.go @@ -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( diff --git a/core/chat/river.go b/core/chat/river.go index 2c8f0390..fa17dea3 100644 --- a/core/chat/river.go +++ b/core/chat/river.go @@ -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]) }) diff --git a/core/chat/storm.go b/core/chat/storm.go index 59898b8d..a2e0fb72 100644 --- a/core/chat/storm.go +++ b/core/chat/storm.go @@ -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) diff --git a/misc/vim/vim.go b/misc/vim/vim.go index c54a4eea..18467302 100644 --- a/misc/vim/vim.go +++ b/misc/vim/vim.go @@ -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) {