X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c6800e0c659eba5b22190bf6ae0ba563a4170661..73c2d5514ce604141abe176b1f3e5cd35ff51d56:/autoload/black.vim?ds=sidebyside

diff --git a/autoload/black.vim b/autoload/black.vim
index 6c381b4..5aec872 100644
--- a/autoload/black.vim
+++ b/autoload/black.vim
@@ -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("@%")