Move test for g:load_black to improve plugin performance (GH-2896)

If a vim/neovim user wishes to suppress loading the vim plugin by
setting g:load_black in their VIMRC (for me, Arch linux automatically
adds the plugin to Neovim's RTP, even though I'm not using it), the
current location of the test comes after a call to has('python3'). This
adds, in my tests, between 35 and 45 ms to Vim load time (which I know
isn't a lot but it's also unnecessary). Moving the call to
`exists('g:load_black')` to before the call to `has('python3')` removes
this unnecessary test and speeds up loading.

Co-authored-by: Richard Si <63936253+ichard26@users.noreply.github.com>
This commit is contained in:
oncomouse 2022-03-04 18:15:39 -06:00 committed by GitHub
parent 67eaf24665
commit 7af3abd383
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 4 deletions

View File

@ -36,6 +36,8 @@
<!-- For example, Docker, GitHub Actions, pre-commit, editors -->
- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
### Output
<!-- Changes to Black's terminal output and error messages -->

View File

@ -15,6 +15,10 @@
" 1.2:
" - use autoload script
if exists("g:load_black")
finish
endif
if v:version < 700 || !has('python3')
func! __BLACK_MISSING()
echo "The black.vim plugin requires vim7.0+ with Python 3.6 support."
@ -25,10 +29,6 @@ if v:version < 700 || !has('python3')
finish
endif
if exists("g:load_black")
finish
endif
let g:load_black = "py1.0"
if !exists("g:black_virtualenv")
if has("nvim")