vim: add "--skip-string-normalization" support (#310)
Since 18.6b0 was released, there has been a new option to skip string normalization when Black is called, but it wasn't able to be specified from within the vim plugin. This commit adds that functionality. Tested with g:black_skip_string_normalization set to 0 (off) and 1 (on).
This commit is contained in:
parent
c1a962b885
commit
e5f5d54a22
@ -542,6 +542,7 @@ Commands and shortcuts:
|
|||||||
Configuration:
|
Configuration:
|
||||||
* `g:black_fast` (defaults to `0`)
|
* `g:black_fast` (defaults to `0`)
|
||||||
* `g:black_linelength` (defaults to `88`)
|
* `g:black_linelength` (defaults to `88`)
|
||||||
|
* `g:black_skip_string_normalization` (defaults to `0`)
|
||||||
* `g:black_virtualenv` (defaults to `~/.vim/black`)
|
* `g:black_virtualenv` (defaults to `~/.vim/black`)
|
||||||
|
|
||||||
To install with [vim-plug](https://github.com/junegunn/vim-plug):
|
To install with [vim-plug](https://github.com/junegunn/vim-plug):
|
||||||
|
@ -30,6 +30,9 @@ endif
|
|||||||
if !exists("g:black_linelength")
|
if !exists("g:black_linelength")
|
||||||
let g:black_linelength = 88
|
let g:black_linelength = 88
|
||||||
endif
|
endif
|
||||||
|
if !exists("g:black_skip_string_normalization")
|
||||||
|
let g:black_skip_string_normalization = 0
|
||||||
|
endif
|
||||||
|
|
||||||
python3 << endpython3
|
python3 << endpython3
|
||||||
import sys
|
import sys
|
||||||
@ -94,9 +97,11 @@ def Black():
|
|||||||
start = time.time()
|
start = time.time()
|
||||||
fast = bool(int(vim.eval("g:black_fast")))
|
fast = bool(int(vim.eval("g:black_fast")))
|
||||||
line_length = int(vim.eval("g:black_linelength"))
|
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'
|
buffer_str = '\n'.join(vim.current.buffer) + '\n'
|
||||||
try:
|
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:
|
except black.NothingChanged:
|
||||||
print(f'Already well formatted, good job. (took {time.time() - start:.4f}s)')
|
print(f'Already well formatted, good job. (took {time.time() - start:.4f}s)')
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
|
Loading…
Reference in New Issue
Block a user