From c16a053519e3a258301f9fd512591eb7d1ac12ce Mon Sep 17 00:00:00 2001 From: Chiel92 Date: Thu, 9 Apr 2015 10:59:54 +0200 Subject: [PATCH] Take &verbose variable into account. Fix #48. --- plugin/autoformat.vim | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/plugin/autoformat.vim b/plugin/autoformat.vim index 2067148..7b21d84 100644 --- a/plugin/autoformat.vim +++ b/plugin/autoformat.vim @@ -1,17 +1,20 @@ -"Function for finding and setting the formatter with the given name +" Function for finding and setting the formatter with the given name function! s:set_formatprg(...) let type = a:0 ? a:1 : &filetype - "Support composite filetypes by replacing dots with underscores + " Support composite filetypes by replacing dots with underscores let type = substitute(type, "[.]", "_", "g") - "Get formatprg config + " Detect verbosity + let s:verbose = &verbose || exists("g:autoformat_verbosemode") + + " Get formatprg config let s:formatprg_var = "g:formatprg_".type let s:formatprg_args_var = "g:formatprg_args_".type let s:formatprg_args_expr_var = "g:formatprg_args_expr_".type if !exists(s:formatprg_var) - "No formatprg defined - if exists("g:autoformat_verbosemode") + " No formatprg defined + if s:verbose echoerr "No formatter defined for filetype '".type."'." endif return 0 @@ -19,16 +22,16 @@ function! s:set_formatprg(...) let s:formatprg = eval(s:formatprg_var) let s:formatprg_args = "" - if exists(s:formatprg_args_expr_var) + if exists(s:formatprg_args_expr_var) let s:formatprg_args = eval(eval(s:formatprg_args_expr_var)) elseif exists(s:formatprg_args_var) let s:formatprg_args = eval(s:formatprg_args_var) endif - "Set correct formatprg path, if it is installed + " Set correct formatprg path, if it is installed if !executable(s:formatprg) - "Configured formatprg not installed - if exists("g:autoformat_verbosemode") + " Configured formatprg not installed + if s:verbose echoerr "Defined formatter ".eval(s:formatprg_var)." is not executable." endif return 0 @@ -38,25 +41,25 @@ function! s:set_formatprg(...) return 1 endfunction -"set right formatprg before formatting +" Set right formatprg before formatting noremap gq set_formatprg() ? 'gq' : 'gq' -"Function for formatting the entire buffer +" Function for formatting the entire buffer function! s:Autoformat(...) - "Save window state + " Save window state let winview=winsaveview() if call('set_formatprg', a:000) - "Autoformat code + " Autoformat code exe "1,$!".&formatprg else - "Autoindent code + " Autoindent code exe "normal gg=G" endif - "Recall window state + " Recall window state call winrestview(winview) endfunction -"Create a command for formatting the entire buffer +" Create a command for formatting the entire buffer command! -nargs=? -complete=filetype Autoformat call s:Autoformat()