Description
I'd like to be able to generate "possible" lints with relint
, and then use other CLI tools to determine whether each lint is a false positive or not.
Specifically, my use-case is to find instances of \bTODO #\d+
and check whether the #\d+
refers to an open ticket. This requires checking the status of tickets in a ticket-tracker, which is well outside the purview of relint
. But if relint
had a way to feed a particular lint to a downstream program, especially using regex captures, this would be pretty simple:
- name: TODOS with tickets
pattern: '\bTODO #(\d+)'
hint: make sure that the ticket is open
error: false
filePattern: '^(?!docs/)'
postprocess: "glab issue show '${1}' | grep '^state:' | grep -q open"
Here, a status code of 1
means that the lint IS valid, and 0
means it's a false positive. (I'm not sure whether there's a better way to do this than using status codes, and it's not obvious whether 0
should mean "valid" or "false positive", but I think those are primarily documentation issues.)