mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-02 23:00:04 +08:00
fix(E5601): close all notify windows on QuitPre
If the current windows is the last one, always get E5601: Cannot close window, only floating window would remain
This commit is contained in:
parent
f28b8462ff
commit
88eb4db751
@ -118,7 +118,9 @@ function! s:self.close(...) abort
|
||||
noautocmd call self.__floating.win_close(self.border.winid, v:true)
|
||||
noautocmd call self.__floating.win_close(self.winid, v:true)
|
||||
endif
|
||||
call remove(s:notifications, self.hashkey)
|
||||
if has_key(s:notifications, self.hashkey)
|
||||
call remove(s:notifications, self.hashkey)
|
||||
endif
|
||||
let self.notification_width = 1
|
||||
endif
|
||||
for hashkey in keys(s:notifications)
|
||||
@ -126,6 +128,18 @@ function! s:self.close(...) abort
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:self.close_all() abort
|
||||
let self.message = []
|
||||
if self.win_is_open()
|
||||
noautocmd call self.__floating.win_close(self.border.winid, v:true)
|
||||
noautocmd call self.__floating.win_close(self.winid, v:true)
|
||||
endif
|
||||
if has_key(s:notifications, self.hashkey)
|
||||
call remove(s:notifications, self.hashkey)
|
||||
endif
|
||||
let self.notification_width = 1
|
||||
endfunction
|
||||
|
||||
function! s:self.notify(msg, ...) abort
|
||||
call add(self.message, a:msg)
|
||||
let self.notification_color = get(a:000, 0, 'Normal')
|
||||
|
@ -100,6 +100,7 @@ function! SpaceVim#layers#lang#vim#config() abort
|
||||
autocmd!
|
||||
autocmd BufWritePost *.vim call s:generate_doc()
|
||||
autocmd FileType vim set comments=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||
autocmd QuitPre * call s:NOTI.close_all()
|
||||
augroup END
|
||||
endif
|
||||
" if the lsp layer is enabled, we should disable default linter
|
||||
|
Loading…
Reference in New Issue
Block a user