From 3e7f7a6874b81636e1e38896c718a1161db6ac22 Mon Sep 17 00:00:00 2001 From: Manuel Mendez Date: Tue, 4 Jul 2017 13:03:13 -0400 Subject: [PATCH] defaults/yapf: handle yapf config file YAPF has clang-format like config file for customisation of the applied style. vim-autoformat was previously ignoring any user customisation. --- plugin/defaults.vim | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugin/defaults.vim b/plugin/defaults.vim index 74d2647..561a658 100644 --- a/plugin/defaults.vim +++ b/plugin/defaults.vim @@ -42,9 +42,15 @@ if !exists('g:formatter_yapf_style') let g:formatter_yapf_style = 'pep8' endif if !exists('g:formatdef_yapf') - let g:formatdef_yapf = "'yapf --style=\"{based_on_style:'.g:formatter_yapf_style.',indent_width:'.&shiftwidth.(&textwidth ? ',column_limit:'.&textwidth : '').'}\" -l '.a:firstline.'-'.a:lastline" + let s:configfile_def = "'yapf -l '.a:firstline.'-'.a:lastline" + let s:noconfigfile_def = "'yapf --style=\"{based_on_style:'.g:formatter_yapf_style.',indent_width:'.&shiftwidth.'}\" -l '.a:firstline.'-'.a:lastline" + let g:formatdef_yapf = "g:YAPFFormatConfigFileExists() ? (" . s:configfile_def . ") : (" . s:noconfigfile_def . ")" endif +function! g:YAPFFormatConfigFileExists() + return len(findfile(".style.yapf", expand("%:p:h").";")) || len(findfile("setup.cfg", expand("%:p:h").";")) +endfunction + if !exists('g:formatters_python') let g:formatters_python = ['autopep8','yapf'] endif