fe1ac6d7e9
subrepo: subdir: "dotfiles/.vim/plugged/syntastic" merged: "8d5e37c29" upstream: origin: "https://github.com/vim-syntastic/syntastic.git" branch: "master" commit: "8d5e37c29" git-subrepo: version: "0.4.3" origin: "???" commit: "???"
55 lines
1.9 KiB
VimL
55 lines
1.9 KiB
VimL
if exists('g:loaded_syntastic_notifier_autoloclist') || !exists('g:loaded_syntastic_plugin')
|
|
finish
|
|
endif
|
|
let g:loaded_syntastic_notifier_autoloclist = 1
|
|
|
|
let g:SyntasticAutoloclistNotifier = {}
|
|
|
|
" Public methods {{{1
|
|
"
|
|
function! g:SyntasticAutoloclistNotifier.New() abort " {{{2
|
|
let newObj = copy(self)
|
|
return newObj
|
|
endfunction " }}}2
|
|
|
|
function! g:SyntasticAutoloclistNotifier.refresh(loclist) abort " {{{2
|
|
call syntastic#log#debug(g:_SYNTASTIC_DEBUG_NOTIFICATIONS, 'autoloclist: refresh')
|
|
call g:SyntasticAutoloclistNotifier.AutoToggle(a:loclist)
|
|
endfunction " }}}2
|
|
|
|
function! g:SyntasticAutoloclistNotifier.AutoToggle(loclist) abort " {{{2
|
|
call syntastic#log#debug(g:_SYNTASTIC_DEBUG_NOTIFICATIONS, 'autoloclist: toggle')
|
|
let auto_loc_list = syntastic#util#var('auto_loc_list')
|
|
if !a:loclist.isEmpty()
|
|
if auto_loc_list == 1 || auto_loc_list == 3
|
|
call a:loclist.show()
|
|
endif
|
|
else
|
|
if (auto_loc_list == 1 || auto_loc_list == 2) && !empty(get(w:, 'syntastic_loclist_set', []))
|
|
try
|
|
" Vim 7.4.2200 or later
|
|
let title = get(getloclist(0, { 'title': 1 }), 'title', ':SyntasticCheck ')
|
|
catch /\m^Vim\%((\a\+)\)\=:E\%(118\|731\)/
|
|
let title = ':SyntasticCheck '
|
|
endtry
|
|
|
|
if strpart(title, 0, 16) ==# ':SyntasticCheck '
|
|
" TODO: this will close the loc list window if one was opened
|
|
" by something other than syntastic
|
|
call SyntasticLoclistHide()
|
|
|
|
try
|
|
" Vim 7.4.2200 or later
|
|
call setloclist(0, [], 'r', { 'title': '' })
|
|
catch /\m^Vim\%((\a\+)\)\=:E\%(118\|731\)/
|
|
" do nothing
|
|
endtry
|
|
let w:syntastic_loclist_set = []
|
|
endif
|
|
endif
|
|
endif
|
|
endfunction " }}}2
|
|
|
|
" }}}1
|
|
|
|
" vim: set sw=4 sts=4 et fdm=marker:
|