amperser / proselint

A linter for prose.
http://proselint.com
BSD 3-Clause "New" or "Revised" License
4.31k stars 177 forks source link

Ignored check names mismatched #1341

Open adamchainz opened 1 year ago

adamchainz commented 1 year ago

I want to ignore leonard.exclamation.30ppm, which I tried to do by following the configuration docs, setting up my config file with:

{
    "checks": {
        "leonard.exclamation.30ppm": false
    }
}

But this does not work, the rule still appears:

$ proselint example.md
example.md:1:3: leonard.exclamation.30ppm More than 30 ppm of exclamations. Keep them under control.

After inspecting the code and seeing the rule lives in proselint.checks.typography.exclamation, I tried:

{
    "checks": {
        "typography.exclamation": false
    }
}

That does work:

$ proselint example.md

This seems like a bug since the config docs don't explain such a distinction.

It's also unfortunate that it seems you can only disable all the rules within a module - e.g. in this case I'd like to keep leonard.exclamation.multiple active.

tonglil commented 1 year ago

+1 the config mismatch is one of the strangest ones I've encountered.

Nytelife26 commented 2 months ago

This will be fixed in the configuration and checks refactor, discussed in various offshoots of #1361, and previously in #1155.