A linter for your backup shell scripts that implements the Language Server Protocol. Currently integrated in a VSCode extension. Only supports linting bash scripts.
directories first. files later. The first argument (file/directory to be copied over) in alphebatical order within the f and d sections.
The d and f commands should be aliased to whatever copy command you'd like to use, e.g. rsync.
It may not be the most practical linter with the most idiomatic code, but it's been a fun, narrow scope project to introduce myself to Rust and explore Tree-sitter, LSPs, and VSCode extension development.
- The first argument to
fanddcommands must be sorted in alphabetical order within their respective sections. - The first
fcommand must appear after the lastdcommand. - The first argument must be a string literal.
- The first argument must exist.
asdf.mov
Sample bash script in docs/samples/.
Run the extension locally:
npm i
cargo run
npm run compileOpen the VSCode debugger and use a project with a sample .sh file.
UX inspired by Rubocop's OrderedGems lint rule.
