ShellCheck is a GPLv3 tool that provides warnings and possible suggestions for bash/sh shell scripts. ShellCheck finds bugs in your shell scripts. You can cabal, apt, dnf, pkg or brew install it locally right now. ShellCheck highlights and clarifies typical beginner's syntax mistakes and issues that cause a shell to give a cryptic error message. It shows typical intermediate level semantic problems that cause a shell to behave in a abnormally and counter-intuitively. It can also discover...
Unused identifies unused code in Rails, Phoenix, and other types of applications, improving developer productivity. By default, unused leverages a different memory allocator called mimalloc. For my local benchmarks, it speeds up execution by a significant amount (which is documented in the commit introducing mimalloc), but currently runs into sporadic issues on Apple M1 devices.
Parsing, analyzing, and comparing source code across many languages
semantic is a Haskell library and command line tool for parsing, analyzing, and comparing source code. Run semantic --help for complete list of up-to-date options. Semantic uses tree-sitter to generate parse trees, but layers in a more generalized notion of syntax terms across all supported programming languages. We'll see why this is important when we get to diffs and program analysis, but for now let's just inspect some output.