Skip to content

Commit

Permalink
Move test for g:load_black to improve plugin performance (GH-2896)
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
oncomouse and ichard26 committed Mar 5, 2022
1 parent 67eaf24 commit 7af3abd
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
2 changes: 2 additions & 0 deletions CHANGES.md
Expand Up @@ -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 -->
Expand Down
8 changes: 4 additions & 4 deletions plugin/black.vim
Expand Up @@ -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."
Expand All @@ -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")
Expand Down

0 comments on commit 7af3abd

Please sign in to comment.