Move formatexpr config in-tree, out of plugin

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.
This commit is contained in:
2021-03-24 23:37:19 +00:00
parent 4e00e225d4
commit 46d27c17fd
12 changed files with 163 additions and 3 deletions

3
vimrc
View File

@@ -59,9 +59,6 @@ let g:ale_cmake_cmakelint_options =
" Version control differences in the sign column
Pack 'mhinz/vim-signify'
" format.vim - format with text objects
Pack 'git@bitbucket.org:infektor/format.vim.git'
" vim-textobj-user - library for creating text objects
Pack 'kana/vim-textobj-user'
" vim-textobj-entire - Entire file text object