From 7af3abd38392588ac737bae09f6b15d80fe344b1 Mon Sep 17 00:00:00 2001 From: oncomouse Date: Fri, 4 Mar 2022 18:15:39 -0600 Subject: [PATCH] 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> --- CHANGES.md | 2 ++ plugin/black.vim | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b594e03..a0b87c7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -36,6 +36,8 @@ +- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896) + ### Output diff --git a/plugin/black.vim b/plugin/black.vim index dbe236b..3fc11fe 100644 --- a/plugin/black.vim +++ b/plugin/black.vim @@ -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") -- 2.39.2