X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/337a4199f90ca48a19cf26511e0cec330b13bd4e..de702bcdf1f76e485117dd4a2ce93daa1024900f:/plugin/black.vim diff --git a/plugin/black.vim b/plugin/black.vim index 9cf5f2d..09261db 100644 --- a/plugin/black.vim +++ b/plugin/black.vim @@ -30,6 +30,9 @@ 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 +endif python3 << endpython3 import sys @@ -78,7 +81,7 @@ def _initialize_black_env(upgrade=False): if upgrade: print('Upgrading Black with pip...') if first_install or upgrade: - subprocess.run([str(_get_pip(virtualenv_path)), 'install', '-U', 'black']) + subprocess.run([str(_get_pip(virtualenv_path)), 'install', '-U', 'black'], stdout=subprocess.PIPE) print('DONE! You are all set, thanks for waiting ✨ 🍰 ✨') if first_install: print('Pro-tip: to upgrade Black in the future, use the :BlackUpgrade command and restart Vim.\n') @@ -94,9 +97,11 @@ def Black(): start = time.time() fast = bool(int(vim.eval("g:black_fast"))) line_length = int(vim.eval("g:black_linelength")) + if bool(int(vim.eval("g:black_skip_string_normalization"))): + mode = black.FileMode.AUTO_DETECT & black.FileMode.NO_STRING_NORMALIZATION buffer_str = '\n'.join(vim.current.buffer) + '\n' try: - new_buffer_str = black.format_file_contents(buffer_str, line_length=line_length, fast=fast) + new_buffer_str = black.format_file_contents(buffer_str, line_length=line_length, fast=fast, mode=mode) except black.NothingChanged: print(f'Already well formatted, good job. (took {time.time() - start:.4f}s)') except Exception as exc: