From a09bdbb9f30670e6cdf571ac95ebee87d6f0ab32 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 19 Jun 2019 11:53:59 +1200 Subject: Refactor to avoid autoloading :lhelpgrep handler --- autoload/quickfix_auto_open.vim | 11 ++++------- plugin/quickfix_auto_open.vim | 6 ++++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/autoload/quickfix_auto_open.vim b/autoload/quickfix_auto_open.vim index c578d0c..a190c34 100644 --- a/autoload/quickfix_auto_open.vim +++ b/autoload/quickfix_auto_open.vim @@ -1,5 +1,5 @@ -" Handle a quickfix command -function! quickfix_auto_open#(command) abort +" Handle a local quickfix command +function! quickfix_auto_open#Local(command) abort " The only difficult quickfix command to handle is :lhelpgrep, because it " uses the location list not for the current window but for a :help window, @@ -12,14 +12,11 @@ function! quickfix_auto_open#(command) abort " it to check its location and the presence of a location list, and open " it up if so; then remove the hook autocmd quickfix_auto_open BufEnter * - \ call s:Help(bufnr('%')) - \|autocmd! quickfix_auto_open BufEnter + \ call s:Help(bufnr('%')) | autocmd! quickfix_auto_open BufEnter " All of the rest of the commands are really easy: - elseif a:command =~# '^l' - lwindow " Command started with 'l', open this window's location list else - cwindow " Command didn't start with 'l', open the quickfix list + lwindow endif endfunction diff --git a/plugin/quickfix_auto_open.vim b/plugin/quickfix_auto_open.vim index c9473c4..65006fa 100644 --- a/plugin/quickfix_auto_open.vim +++ b/plugin/quickfix_auto_open.vim @@ -13,8 +13,10 @@ let loaded_quickfix_auto_open = 1 " Set up hooks for events that may yield a populated quickfix or location list augroup quickfix_auto_open autocmd! - autocmd QuickFixCmdPost * - \ call quickfix_auto_open#(expand('')) autocmd VimEnter * \ cwindow + autocmd QuickFixCmdPost [^l]* + \ cwindow + autocmd QuickFixCmdPost l* + \ call quickfix_auto_open#(expand('')) augroup END -- cgit v1.2.3