1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 07:00:04 +08:00

feat(chat): support push multiple messages

This commit is contained in:
wsdjeg 2022-05-01 14:13:34 +08:00
parent bb9d83beb4
commit 99b5771285
6 changed files with 40 additions and 7 deletions

View File

@ -0,0 +1,5 @@
{
"name": "vim-chat",
"description": "chat client for neovim and vim",
"author": "Wang Shidong"
}

View File

@ -6,6 +6,13 @@
" License: GPLv3
"=============================================================================
""
" @section Introduction, intro
" @library
" @order intro options config layers api faq changelog
" vim-chat is a simple plugin for chatting in vim and neovim.
" This plugin requires SpaceVim API and |job| support.
scriptencoding utf-8
let s:server_lib = get(g:, 'chatting_server_lib', '~/jars/Chatting-1.0-SNAPSHOT.jar')

View File

@ -140,14 +140,16 @@ function! s:gitter_fetch_exit(id, data, event) abort
for room in keys(s:fetch_response)
if s:fetch_response[room].jobid ==# a:id
let messages = s:JSON.json_decode(join(s:fetch_response[room].response, ''))
let msgs = []
for msg in messages
call chat#windows#push({
call add(msgs, {
\ 'user' : msg.fromUser.displayName,
\ 'room' : room,
\ 'msg' : msg.text,
\ 'time': s:format_time(msg.sent),
\ })
endfor
call chat#windows#push(msgs)
break
endif
endfor

View File

@ -22,7 +22,11 @@ endfunction
" time: 2022-02-02 24:00
function! chat#windows#push(msg) abort
call add(s:messages, a:msg)
if type(a:msg) == type([])
let s:messages = s:messages + a:msg
elseif type(a:msg) ==# type({})
call add(s:messages, a:msg)
endif
call s:update_msg_screen()
endfunction

View File

@ -0,0 +1,15 @@
*vim-chat.txt* chat client for neovim and vim
Wang Shidong *vim-chat*
==============================================================================
CONTENTS *vim-chat-contents*
1. Introduction.............................................|vim-chat-intro|
==============================================================================
INTRODUCTION *vim-chat-intro*
vim-chat is a simple plugin for chatting in vim and neovim. This plugin
requires SpaceVim API and |job| support.
vim:tw=78:ts=8:ft=help:norl:

View File

@ -36,12 +36,12 @@ To use this configuration layer, add the following snippet to your custom config
## Key Mappings
`Alt + w` : open chatting buffer for weixin.
Note: The web-qq has stopped providing service.
The default key binding to open chat windows is `SPC a h`.
within chatting buffer:
Whith the chat windows. The following key binding can be use:
`Alt + Left/Right` : switch between buffers.
`Alt + 1-9` : jump to the specified channel.
- `Alt + Left/H`: switch to previous channel
- `Alt + Right/L`: switch to next channel
- `Ctrl-w`: delete word before cursor
for more mappings in chatting buffer, please read <kbd>:h vim-chat</kbd>.