Skip to content

Clamp Flake8 diagnostic columns to nonnegative positions - #726

Open
ryanchou1994 wants to merge 1 commit into
python-lsp:developfrom
ryanchou1994:fix/nonnegative-flake8-column
Open

ryanchou1994 wants to merge 1 commit into
python-lsp:developfrom
ryanchou1994:fix/nonnegative-flake8-column

Conversation

@ryanchou1994

Copy link
Copy Markdown

Some Flake8 plugins report column 0 for diagnostics without a precise column. Subtracting one for LSP's zero-based positions then produces character: -1, which clients cannot use. Clamp the converted column to zero while keeping normal positive columns unchanged.

Fixes #615.

Added regression tests for column 0 on a comment and a blank line, plus column 1 and 5 controls. The two column-zero cases fail on the unchanged base. The reported output was also reproduced with Flake8 7.1.1 and flake8-annotations 3.1.1.

Validation: the Flake8 test file passes all 12 tests on macOS/Python 3.13 and Linux/Python 3.11; Ruff check and format pass. Full-suite attempts are not green: test_missing_message has a teardown error, and two autoimport tests can time out during initialization. The teardown error also occurs on the unchanged base; both initialization timeouts were separately reproduced with the unchanged source in a fresh Linux container.

Copilot AI lite review requested due to automatic review settings September 20, 2026 17:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Invalid character position -1 with flake8-annotations

2 participants