X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/68a3c75eb2a7096a7d5b3cfa6a6f3a5b894a1d72..0cbe19c813559d6642e71832242264ab8d5a5d59:/plugin/black.vim?ds=sidebyside

diff --git a/plugin/black.vim b/plugin/black.vim
index f3e4409..c5f0313 100644
--- a/plugin/black.vim
+++ b/plugin/black.vim
@@ -41,8 +41,15 @@ endif
 if !exists("g:black_linelength")
   let g:black_linelength = 88
 endif
-if !exists("g:black_skip_string_normalization")
-  let g:black_skip_string_normalization = 0
+if !exists("g:black_string_normalization")
+  if exists("g:black_skip_string_normalization")
+    let g:black_string_normalization = !g:black_skip_string_normalization
+  else
+    let g:black_string_normalization = 1
+  endif
+endif
+if !exists("g:black_quiet")
+  let g:black_quiet = 0
 endif
 
 python3 << EndPython3
@@ -50,6 +57,7 @@ import collections
 import os
 import sys
 import vim
+from distutils.util import strtobool
 
 
 class Flag(collections.namedtuple("FlagBase", "name, cast")):
@@ -62,15 +70,14 @@ class Flag(collections.namedtuple("FlagBase", "name, cast")):
     name = self.var_name
     if name == "line_length":
       name = name.replace("_", "")
-    if name == "string_normalization":
-      name = "skip_" + name
     return "g:black_" + name
 
 
 FLAGS = [
   Flag(name="line_length", cast=int),
-  Flag(name="fast", cast=bool),
-  Flag(name="string_normalization", cast=bool),
+  Flag(name="fast", cast=strtobool),
+  Flag(name="string_normalization", cast=strtobool),
+  Flag(name="quiet", cast=strtobool),
 ]
 
 
@@ -138,7 +145,7 @@ def _initialize_black_env(upgrade=False):
   if first_install:
     print('Pro-tip: to upgrade Black in the future, use the :BlackUpgrade command and restart Vim.\n')
   if virtualenv_site_packages not in sys.path:
-    sys.path.append(virtualenv_site_packages)
+    sys.path.insert(0, virtualenv_site_packages)
   return True
 
 if _initialize_black_env():
@@ -153,6 +160,7 @@ def Black():
     string_normalization=configs["string_normalization"],
     is_pyi=vim.current.buffer.name.endswith('.pyi'),
   )
+  quiet = configs["quiet"]
 
   buffer_str = '\n'.join(vim.current.buffer) + '\n'
   try:
@@ -162,7 +170,8 @@ def Black():
       mode=mode,
     )
   except black.NothingChanged:
-    print(f'Already well formatted, good job. (took {time.time() - start:.4f}s)')
+    if not quiet:
+      print(f'Already well formatted, good job. (took {time.time() - start:.4f}s)')
   except Exception as exc:
     print(exc)
   else:
@@ -180,7 +189,8 @@ def Black():
         window.cursor = cursor
       except vim.error:
         window.cursor = (len(window.buffer), 0)
-    print(f'Reformatted in {time.time() - start:.4f}s.')
+    if not quiet:
+      print(f'Reformatted in {time.time() - start:.4f}s.')
 
 def get_configs():
   path_pyproject_toml = black.find_pyproject_toml(vim.eval("fnamemodify(getcwd(), ':t')"))
@@ -190,7 +200,7 @@ def get_configs():
     toml_config = {}
 
   return {
-    flag.var_name: toml_config.get(flag.name, flag.cast(vim.eval(flag.vim_rc_name)))
+    flag.var_name: flag.cast(toml_config.get(flag.name, vim.eval(flag.vim_rc_name)))
     for flag in FLAGS
   }