Skip to content

Releases: AMDmi3/omnilinter

0.7.0

04 Apr 19:20
Compare
Choose a tag to compare
  • Implement rule templates: tags and conditions from a rule named [!template] will be prepended to each following rule. Use bodyless [!template] if you need to reset the template.
  • Fix incorrect glob matching bug when there were file patterns with the only difference in a leading slash (such as /README.md and README.md) in the ruleset.
  • --dump-config option is now considered internal and is hidden from the help.

0.6.0

01 Apr 20:48
Compare
Choose a tag to compare
  • Expand tilde in root paths.
  • Implement include directive in configs, so configs now can include each other.
  • Add vim syntax file and zsh completions.

0.5.0

28 Mar 12:25
Compare
Choose a tag to compare
  • Add windows and macos support.
  • Improve reporting of config parse errors.
  • Implement size and lines conditions checking file size and number if lines respectively.
  • Support complex globs with quotes and escapes (like in shell, e.g. "program output "\[[0-9]\].txt which would match program output [1].txt).

0.4.0

11 Mar 13:27
Compare
Choose a tag to compare
  • Fix incorrect match reporting level (files vs. lines) in some cases
  • Fix incorrect line match reporting despite of match preconditions not satisfied
  • Fix first parser eating away first character of exclude regexps
  • Improve ruleset syntax
    • Don't use backslash escaping in rule titles, literal ] may now be written as ]]
    • Don't use backslash escaping in regexps - it's not really needed as (almost) any framing characters are allowed
    • Support unicode framing characters in regexps
    • Disallow brackets as regexp framing characters to avoid confusion
  • Implement parsed config dumping (may be useful in future for config format migration)
  • Allow to delimit tags with commas in CLI (--ignore-tags=foo,bar,baz)
  • Make tags case insensitive
  • Improve glob and regexp matching performance
  • Don't panic with unhelpful message when non-directory is specified as root
  • No longer rely on rust unstable features and thus require rust nightly
  • Make some features conditionally compiled

0.3.0

11 Mar 13:27
Compare
Choose a tag to compare
  • Switch to custom config format
  • Support filtering rules by tags
  • Support negative conditions (nofiles and nomatch)
  • Support much more complex condition structure consisting of multiple positive and negative glob checks with multiple positive and negative content checks
  • Support multiple patterns (both globs and regexps) per condition
  • Support exclusion patterns (both globs and regexps)
  • Support JSON output
  • Support multiple text output modes
  • Support output coloring
  • Optimize matching engine which now does both directory traversal and file content checking in single pass
  • Support processing multiple roots in parallel, further improving the performance
  • Support --error-exit option
  • Support inline omnilinter: ignore markers

0.2.0

11 Mar 13:26
Compare
Choose a tag to compare
  • Support checks for file existence only, without looking at content
  • Support full path reporting
  • Support default config

0.1.0

11 Mar 13:26
Compare
Choose a tag to compare
  • Proof of concept release featuring YAML based config, single files and match conditions per rule, unoptimized engine and simple text output