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
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),
if not virtualenv_path.is_dir():
print('Please wait, one time setup for Black.')
_executable = sys.executable
if not virtualenv_path.is_dir():
print('Please wait, one time setup for Black.')
_executable = sys.executable
+ _base_executable = getattr(sys, "_base_executable", _executable)
- sys.executable = str(_get_python_binary(Path(sys.exec_prefix)))
+ executable = str(_get_python_binary(Path(sys.exec_prefix)))
+ sys.executable = executable
+ sys._base_executable = executable
print(f'Creating a virtualenv in {virtualenv_path}...')
print('(this path can be customized in .vimrc by setting g:black_virtualenv)')
venv.create(virtualenv_path, with_pip=True)
print(f'Creating a virtualenv in {virtualenv_path}...')
print('(this path can be customized in .vimrc by setting g:black_virtualenv)')
venv.create(virtualenv_path, with_pip=True)
+ except Exception:
+ print('Encountered exception while creating virtualenv (see traceback below).')
+ print(f'Removing {virtualenv_path}...')
+ import shutil
+ shutil.rmtree(virtualenv_path)
+ raise
finally:
sys.executable = _executable
finally:
sys.executable = _executable
+ sys._base_executable = _base_executable
first_install = True
if first_install:
print('Installing Black with pip...')
first_install = True
if first_install:
print('Installing Black with pip...')
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():
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)))