Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

General purpose plain-text linting tool

I'm looking for a command-line tool where I can specify regex patterns (or similar) for certain file extensions (e.g. cs files, js files, xaml files) that can provide errors/warnings when run, like during a build. These would scan plain-text source code of all types.

I know there are tools for specific languages... I plan on using those too. This tool is for quick patterns we want to flag where we don't want to invest in writing a Rosyln rule, for example. I'd like to flag certain patterns or API usages in an easy way where anyone can add a new rule without thinking too hard. Often times we don't add rules because it is hard.

Features like source tokenization is bonus. Open-source / free is mega bonus.

Is there such a tool?

like image 532
alejandro5042 Avatar asked Oct 28 '25 09:10

alejandro5042


1 Answers

If you want to go old-skool, you can dust-off Awk for this one.

It scans file line by line (for some configurable definition of line, with a sane default) cuts them in pieces (on whitespace IMMSMR) and applies a set of regexes and fires the code behind the matching regex. There are some conditions to match the beginning and end of a file to print headers/footers.

It seems to be what you want, but IMHO, a perl or ruby script is easier and has replaced AWK for me a long time ago. But it IS simple and straightforward for your use-case AFAICT.

like image 148
Peter Tillemans Avatar answered Oct 31 '25 11:10

Peter Tillemans