From: oncomouse Date: Sat, 5 Mar 2022 00:15:39 +0000 (-0600) Subject: Move test for g:load_black to improve plugin performance (GH-2896) X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/7af3abd38392588ac737bae09f6b15d80fe344b1?ds=sidebyside;hp=67eaf2466596394d5765ba4026d34e7b822814ab 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> --- 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")