]>
git.madduck.net Git - etc/vim.git/blobdiff - plugin/black.vim
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
if !exists("g:black_linelength")
let g:black_linelength = 88
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
endif
python3 << EndPython3
import os
import sys
import vim
import os
import sys
import vim
+from distutils.util import strtobool
class Flag(collections.namedtuple("FlagBase", "name, cast")):
class Flag(collections.namedtuple("FlagBase", "name, cast")):
name = self.var_name
if name == "line_length":
name = name.replace("_", "")
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),
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),
return venv_path / 'lib' / f'python{pyver[0]}.{pyver[1]}' / 'site-packages'
def _initialize_black_env(upgrade=False):
return venv_path / 'lib' / f'python{pyver[0]}.{pyver[1]}' / 'site-packages'
def _initialize_black_env(upgrade=False):
- pyver = sys.version_info[:2 ]
- if pyver < (3, 6):
- print("Sorry, Black requires Python 3.6+ to run.")
+ pyver = sys.version_info[:3 ]
+ if pyver < (3, 6, 2 ):
+ print("Sorry, Black requires Python 3.6.2 + to run.")
return False
from pathlib import Path
return False
from pathlib import Path
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:
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():
return True
if _initialize_black_env():
string_normalization=configs["string_normalization"],
is_pyi=vim.current.buffer.name.endswith('.pyi'),
)
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:
buffer_str = '\n'.join(vim.current.buffer) + '\n'
try:
mode=mode,
)
except black.NothingChanged:
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:
except Exception as exc:
print(exc)
else:
window.cursor = cursor
except vim.error:
window.cursor = (len(window.buffer), 0)
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')"))
def get_configs():
path_pyproject_toml = black.find_pyproject_toml(vim.eval("fnamemodify(getcwd(), ':t')"))
toml_config = {}
return {
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)))