Flake8 plugin that forbids implicit str/bytes literal concatenations
Flake8 plugin that forbids implicit str/bytes literal concatenations.
# NG
print('foo' 'bar', 'baz')
a = ["aaa",
"bbb"
"ccc"]
b = b'abc' b'def'
# OK
print('foobar', 'baz')
a = ["aaa",
"bbb"
+ "ccc"]
b = b'abcdef'
Install via pip:
pip install flake8-no-implicit-concat
The plugin uses the prefix NIC
, short for No Implicit Concatenation.
Code | Description |
---|---|
NIC001 | Implicitly concatenated str literals on one line |
NIC002 | Implicitly concatenated str literals over multiple lines |
NIC101 | Implicitly concatenated bytes literals on one line |
NIC102 | Implicitly concatenated bytes literals over multiple lines |
flake8-no-implicit-concat
because this plugin prefers implicit concatenations over explicit +
operators when concatenating literals over multiple lines.WPS326 Found implicit string concatenation
, which also
checks implicit string concatenations, as one of the many rules it defines.implicit-str-concat
rule.
By default it only looks for occurrences of implicit concatenations on the
same line, but it has --check-str-concat-over-line-jumps=y
option
to enable checking of concatenations over multiple lines.Use tools like Pipenv:
pipenv run python -m pip install -e .[dev]
pipenv run make check
This software is released under MIT license. See LICENSE
for details.
The code was derived from flake8-implicit-str-concat, which is developed by Dylan Turner and also released under MIT license.