From 9c662864da96a76fef3d0733611d0ddc059f86b0 Mon Sep 17 00:00:00 2001 From: Huy Le Date: Fri, 29 Jun 2018 13:25:50 -0700 Subject: [PATCH] added a plugin support for Denite, allow quickfix to be opened if Denite is installed --- plugin/gutentags_plus.vim | 54 +++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/plugin/gutentags_plus.vim b/plugin/gutentags_plus.vim index a39c640..46fe349 100644 --- a/plugin/gutentags_plus.vim +++ b/plugin/gutentags_plus.vim @@ -161,36 +161,40 @@ command! -nargs=0 GscopeAdd call s:GscopeAdd() " open quickfix "---------------------------------------------------------------------- function! s:quickfix_open(size) - function! s:WindowCheck(mode) - if &buftype == 'quickfix' - let s:quickfix_open = 1 - let s:quickfix_wid = winnr() - return - endif - if a:mode == 0 - let w:quickfix_save = winsaveview() - else - if exists('w:quickfix_save') - call winrestview(w:quickfix_save) - unlet w:quickfix_save + if exists(":Denite") == 2 + exec "Denite quickfix" + else + function! s:WindowCheck(mode) + if &buftype == 'quickfix' + let s:quickfix_open = 1 + let s:quickfix_wid = winnr() + return + endif + if a:mode == 0 + let w:quickfix_save = winsaveview() + else + if exists('w:quickfix_save') + call winrestview(w:quickfix_save) + unlet w:quickfix_save + endif endif + endfunc + let s:quickfix_open = 0 + let l:winnr = winnr() + noautocmd windo call s:WindowCheck(0) + noautocmd silent! exec ''.l:winnr.'wincmd w' + if s:quickfix_open != 0 + if get(g:, 'gutentags_plus_switch', 0) != 0 + noautocmd silent! exec ''.s:quickfix_wid.'wincmd w' + endif + return endif - endfunc - let s:quickfix_open = 0 - let l:winnr = winnr() - noautocmd windo call s:WindowCheck(0) - noautocmd silent! exec ''.l:winnr.'wincmd w' - if s:quickfix_open != 0 + exec 'botright copen '. ((a:size > 0)? a:size : '') + noautocmd windo call s:WindowCheck(1) + noautocmd silent! exec ''.l:winnr.'wincmd w' if get(g:, 'gutentags_plus_switch', 0) != 0 noautocmd silent! exec ''.s:quickfix_wid.'wincmd w' endif - return - endif - exec 'botright copen '. ((a:size > 0)? a:size : '') - noautocmd windo call s:WindowCheck(1) - noautocmd silent! exec ''.l:winnr.'wincmd w' - if get(g:, 'gutentags_plus_switch', 0) != 0 - noautocmd silent! exec ''.s:quickfix_wid.'wincmd w' endif endfunc