Skip to content

lintr:::get_source_expressions fails when a code comment contains an r script command surrounded by backticks #879

@kpagacz

Description

@kpagacz

We were surprised our files linted correctly despite having obvious linting issues, so I have investigated and narrowed it down to this minimal reprex:

# `r print("7")`
function() 2<=3

The above doesn't lint.

I further narrowed the issue down to backticks in combination with r and something because the following do lint correctly:

# `print("7")`
function() 2<=3

# `r`
function() 2<=3

# r print("7")
function() 2<=3

In short - all three are needed: backticks, r and something in addition to r.

Then, I dug inside inflix_spaces_linter and tracked the issue to the parsing function, Given a file "test.R", lintr:::get_source_expressions("test.R") returns:
image
Without the comment, it parses correctly:
image

Environment:
lintr version 2.0.1
R: 4.1.0

Is this a known issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions