Skip to content

mypy errors are always attributed to beginning of line #3597

Closed

Description

When I enable mypy linting, all errors are attributed to the beginning of the line (column 0) like this:

screen shot 2018-12-07 at 9 16 48 pm

By default, mypy doesn't emit any column information, but it can be configured to do so using the show_column_numbers option in the configuration file or command line. If column information is emitted, the output parser should be able to take advantage of this additional information.

I was able to fix this by changing the REGEX in mypy.ts to the following:

export const REGEX = '(?<file>[^:]+):(?<line>\\d+)(:(?<column>\\d+))?: (?<type>\\w+): (?<message>.*)\\r?(\\n|$)';

With this change — and with show_column_numbers enabled, the red squiggles now correctly highlight the errant code, making the tool significantly more useful.

screen shot 2018-12-07 at 9 17 21 pm

The proposed change works both with and without show_column_numbers enabled.

If this fix is acceptable, I'm happy to submit a PR.

Environment data

  • VS Code version: 1.29.1
  • Extension version: master branch built on 7 Dec, 2018

Activity

  1. DonJayamanne commented on Dec 13, 2018

    @DonJayamanne

    The proposed change works both with and without show_column_numbers enabled.
    If this fix is acceptable, I'm happy to submit a PR.

    Using show_column_numbers does sound like the right thing to do.

    Please feel free to submit a PR.

  2. locked as resolved and limited conversation to collaborators on Jan 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-lintingfeature-requestRequest for new features or functionalityimportantIssue identified as high-priority

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions