Introduces the `format` Python module which provides `clang_format()` and `yapf()` functions which efficiently (compared to vimscript) invoke `clang-format` or `yapf` respectively then apply the minimal number of changes using `difflib.SequenceMatcher`. Additionally, in order to invoke these Python functions add |autoload| functions `format#clang_format()` and `format#yapf()` which can be directly used by the 'formatexpr' setting. Finally, add |ftplugin| files which set 'formatexpr' when the |autoload| functions are available.
9 lines
269 B
VimL
9 lines
269 B
VimL
if !has('pythonx')
|
|
finish
|
|
endif
|
|
|
|
let g:clang_format_path = get(g:, 'clang_format_path', 'clang-format')
|
|
let g:clang_format_style = get(g:, 'clang_format_style', 'google')
|
|
let g:yapf_path = get(g:, 'yapf_path', 'yapf')
|
|
let g:yapf_style = get(g:, 'yapf_style', 'pep8')
|