Skip to content

mypy errors are always attributed to beginning of line #3597

@msfterictraut

Description

@msfterictraut

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

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions