From 7b77ec76efedba43ff9468cdb119398fd5fe1a21 Mon Sep 17 00:00:00 2001 From: Shidong Wang Date: Sun, 24 Oct 2021 23:02:19 +0800 Subject: [PATCH] fix(chat): fix close windows key binding --- bundle/vim-chat/autoload/chat/chatting.vim | 6 ++++-- bundle/vim-chat/autoload/syntax/vimchat.vim | 0 bundle/vim-chat/syntax/vimchat.vim | 12 ++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 bundle/vim-chat/autoload/syntax/vimchat.vim create mode 100644 bundle/vim-chat/syntax/vimchat.vim diff --git a/bundle/vim-chat/autoload/chat/chatting.vim b/bundle/vim-chat/autoload/chat/chatting.vim index b11555346..b00127035 100644 --- a/bundle/vim-chat/autoload/chat/chatting.vim +++ b/bundle/vim-chat/autoload/chat/chatting.vim @@ -11,7 +11,7 @@ let s:server_ip = get(g:, 'chatting_server_ip', '127.0.0.1') let s:server_port = get(g:, 'chatting_server_port', 8080) let s:server_database = get(g:, 'chatting_server_database', '~/Desktop/database.txt') let s:vim8_ch_waittime = get(g:, 'chatting_ch_waittime', 100) -let s:close_windows_char = get(g:, 'chatting_close_win_char',"\") +let s:close_windows_char = get(g:, 'chatting_close_win_char',"\") let s:messages = [] let s:opened_channels = [] let s:unread_msg_num = {} @@ -154,6 +154,7 @@ function! chat#chatting#OpenMsgWin() abort let s:current_channel = s:last_channel endif call s:update_msg_screen() + call s:update_statusline() call s:echon() while get(s:, 'quit_chating_win', 0) == 0 let nr = getchar() @@ -211,7 +212,7 @@ function! chat#chatting#OpenMsgWin() abort let s:c_begin = s:c_begin . s:c_char . s:c_end let s:c_char = '' let s:c_end = '' - elseif nr ==# s:close_windows_char + elseif nr ==# s:close_windows_char || nr ==# char2nr(s:close_windows_char) let s:quit_chating_win = 1 elseif nr == 8 || nr ==# "\" " ctrl+h or delete last char let s:c_begin = substitute(s:c_begin,'.$','','g') @@ -302,6 +303,7 @@ fu! s:windowsinit() abort setl nospell setl nofoldenable setl cursorline + setl filetype=vimchat endf function! s:debug() abort diff --git a/bundle/vim-chat/autoload/syntax/vimchat.vim b/bundle/vim-chat/autoload/syntax/vimchat.vim new file mode 100644 index 000000000..e69de29bb diff --git a/bundle/vim-chat/syntax/vimchat.vim b/bundle/vim-chat/syntax/vimchat.vim new file mode 100644 index 000000000..58c5d7d73 --- /dev/null +++ b/bundle/vim-chat/syntax/vimchat.vim @@ -0,0 +1,12 @@ +" syn match vimChatMsg /^\[\d\d\(:\d\d\)\{0,2\}].\{-}:/ contains=vimChatTime,vimChatMe +" syn match vimChatTime /\[\d\d\(:\d\d\)\{0,2\}]/ contained nextgroup=vimChatMe +" syn match vimChatMe /Me:/ contained +" +" Comment, Type, String, Statement +" hi link vimChatMsg Comment +" hi link vimChatTime String +" hi link vimChatMe Type +syn match VimChatTime /\[\d\d\:\d\d:\d\d]/ +syn match VimChatNick /\[\d\d\:\d\d:\d\d]\s<\zs[^>]\+/ +hi def link VimChatTime Comment +hi def link VimChatNick String