X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/1d7260050d846d2ba2dd5bb22944b032245c7e51..1e8217fd6284bdb020e7ca70964d677a3016f914:/autoload/black.vim diff --git a/autoload/black.vim b/autoload/black.vim index 66c5b9c..5aec872 100644 --- a/autoload/black.vim +++ b/autoload/black.vim @@ -5,9 +5,9 @@ import sys import vim def strtobool(text): - if text.lower() in ['y', 'yes', 't', 'true' 'on', '1']: + if text.lower() in ['y', 'yes', 't', 'true', 'on', '1']: return True - if text.lower() in ['n', 'no', 'f', 'false' 'off', '0']: + if text.lower() in ['n', 'no', 'f', 'false', 'off', '0']: return False raise ValueError(f"{text} is not convertable to boolean") @@ -30,6 +30,7 @@ FLAGS = [ Flag(name="skip_string_normalization", cast=strtobool), Flag(name="quiet", cast=strtobool), Flag(name="skip_magic_trailing_comma", cast=strtobool), + Flag(name="preview", cast=strtobool), ] @@ -55,9 +56,19 @@ def _get_virtualenv_site_packages(venv_path, pyver): return venv_path / 'lib' / f'python{pyver[0]}.{pyver[1]}' / 'site-packages' def _initialize_black_env(upgrade=False): + if vim.eval("g:black_use_virtualenv ? 'true' : 'false'") == "false": + if upgrade: + print("Upgrade disabled due to g:black_use_virtualenv being disabled.") + print("Either use your system package manager (or pip) to upgrade black separately,") + print("or modify your vimrc to have 'let g:black_use_virtualenv = 1'.") + return False + else: + # Nothing needed to be done. + return True + pyver = sys.version_info[:3] - if pyver < (3, 6, 2): - print("Sorry, Black requires Python 3.6.2+ to run.") + if pyver < (3, 7): + print("Sorry, Black requires Python 3.7+ to run.") return False from pathlib import Path @@ -145,6 +156,7 @@ def Black(**kwargs): string_normalization=not configs["skip_string_normalization"], is_pyi=vim.current.buffer.name.endswith('.pyi'), magic_trailing_comma=not configs["skip_magic_trailing_comma"], + preview=configs["preview"], **black_kwargs, ) quiet = configs["quiet"] @@ -158,9 +170,9 @@ def Black(**kwargs): ) except black.NothingChanged: if not quiet: - print(f'Already well formatted, good job. (took {time.time() - start:.4f}s)') + print(f'Black: already well formatted, good job. (took {time.time() - start:.4f}s)') except Exception as exc: - print(exc) + print(f'Black: {exc}') else: current_buffer = vim.current.window.buffer cursors = [] @@ -177,7 +189,7 @@ def Black(**kwargs): except vim.error: window.cursor = (len(window.buffer), 0) if not quiet: - print(f'Reformatted in {time.time() - start:.4f}s.') + print(f'Black: reformatted in {time.time() - start:.4f}s.') def get_configs(): filename = vim.eval("@%")