`indent-size` not considered when computing length of tab-indented lines.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5.2k
- Forks
- 754
- PR merge metrics
- No merged PRs in 30d
Description
Hi.
It seems like the indent-size option is not considered for the computation of line-length (looking at the code appears to confirm my suspicion).
This means that there can be a significant number of false negatives for tab-indented lines.
This was tested for pycodestyle 2.10.0 and pycodestyle 2.11.0.
MWE:
All non-ignored test file's lines are longer than the maximum line length, when taking into account the indent-size.
However, only 2 of them are flagged as such.
Each tab counts only 1 space, instead of indent-size spaces.
tox.ini
[pycodestyle]
max-line-length = 5
indent-size = 4
show-source = true
ignore=E261, W191
Test file
if True: # noqa: E501
# aa
# aaa
if True: # noqa: E501
# a
# aa
Pycodestyle's output
pycodestyle test.py
test.py:3:6: E501 line too long (6 > 5 characters)
# aaa
^
test.py:6:6: E501 line too long (6 > 5 characters)
# aa
^
✗ - status code 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The repository is a single Python file; start by running the supplied tox.ini configuration and test.py reproducer with pycodestyle, then trace line-length calculation for tab-indented lines. Done means E501 reflects indent-size, using four spaces per tab here, including the nested examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100