mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-29 18:46:52 +00:00
Fix zero-indexed column numbering
We accidentally changed column numbering from one-indexed to zero-indexed.
This commit is contained in:
parent
ec6165e9d8
commit
6eca38f2f2
5 changed files with 11 additions and 4 deletions
|
|
@ -3,6 +3,9 @@
|
|||
|
||||
- Fix local config file discovery. (See also `GitLab#181`_)
|
||||
|
||||
- Fix indexing of column numbers. We accidentally were starting column indices
|
||||
at 0 instead of 1.
|
||||
|
||||
|
||||
.. links
|
||||
.. _GitLab#181:
|
||||
|
|
|
|||
|
|
@ -139,7 +139,9 @@ class BaseFormatter(object):
|
|||
if not self.options.show_source or error.physical_line is None:
|
||||
return ''
|
||||
|
||||
pointer = (' ' * error.column_number) + '^'
|
||||
# Because column numbers are 1-indexed, we need to remove one to get
|
||||
# the proper number of space characters.
|
||||
pointer = (' ' * (error.column_number - 1)) + '^'
|
||||
# Physical lines have a newline at the end, no need to add an extra
|
||||
# one
|
||||
return error.physical_line + pointer
|
||||
|
|
|
|||
|
|
@ -258,7 +258,9 @@ class StyleGuide(object):
|
|||
:rtype:
|
||||
int
|
||||
"""
|
||||
error = Error(code, filename, line_number, column_number, text,
|
||||
# NOTE(sigmavirus24): Apparently we're provided with 0-indexed column
|
||||
# numbers so we have to offset that here.
|
||||
error = Error(code, filename, line_number, column_number + 1, text,
|
||||
physical_line)
|
||||
error_is_selected = (self.should_report_error(error.code) is
|
||||
Decision.Selected)
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ def test_show_source_updates_physical_line_appropriately(line, column):
|
|||
error = style_guide.Error('A000', 'file.py', 1, column, 'error', line)
|
||||
output = formatter.show_source(error)
|
||||
_, pointer = output.rsplit('\n', 1)
|
||||
assert pointer.count(' ') == column
|
||||
assert pointer.count(' ') == (column - 1)
|
||||
|
||||
|
||||
def test_write_uses_an_output_file():
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ def test_handle_error_notifies_listeners(select_list, ignore_list, error_code):
|
|||
formatter=formatter)
|
||||
|
||||
with mock.patch('linecache.getline', return_value=''):
|
||||
guide.handle_error(error_code, 'stdin', 1, 1, 'error found')
|
||||
guide.handle_error(error_code, 'stdin', 1, 0, 'error found')
|
||||
error = style_guide.Error(error_code, 'stdin', 1, 1, 'error found',
|
||||
None)
|
||||
listener_trie.notify.assert_called_once_with(error_code, error)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue