Supported Languages¶
linthis supports 18 programming languages with automatic language detection.
Language Support Matrix¶
| Language | Checker Tool | Formatter Tool | Extensions |
|---|---|---|---|
| Rust | clippy | rustfmt | .rs |
| Python | ruff, pylint, flake8 | ruff, black | .py, .pyi |
| TypeScript | eslint | prettier | .ts, .tsx |
| JavaScript | eslint | prettier | .js, .jsx, .mjs, .cjs |
| Go | golangci-lint | gofmt | .go |
| Java | checkstyle | clang-format | .java |
| C | clang-tidy, cppcheck | clang-format | .c, .h |
| C++ | clang-tidy, cpplint, cppcheck | clang-format | .cpp, .cc, .cxx, .hpp, .hh, .hxx |
| Objective-C | clang-tidy | clang-format | .m, .mm |
| Swift | swiftlint | swift-format | .swift |
| Kotlin | ktlint, detekt | ktlint | .kt, .kts |
| Lua | luacheck | stylua | .lua |
| Dart | dart analyze | dart format | .dart |
| Shell | shellcheck | shfmt | .sh, .bash, .zsh, .ksh |
| Ruby | rubocop | rubocop | .rb, .rake, .gemspec |
| PHP | phpcs | php-cs-fixer | .php, .phtml |
| Scala | scalafix | scalafmt | .scala, .sc |
| C# | dotnet format | dotnet format | .cs, .csx |
Language Detection¶
linthis automatically detects languages based on file extensions. You can also explicitly specify languages:
# Auto-detect (default)
linthis
# Specify single language
linthis --lang python
# Specify multiple languages
linthis --lang python,rust,javascript
Tool Installation¶
Each language requires its underlying tools to be installed. Click on the language name above to see specific installation instructions.
Quick Install Commands¶
# Rust
rustup component add clippy rustfmt
# Python
pip install ruff
# JavaScript/TypeScript
npm install -g eslint prettier
# Go
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
# Shell
brew install shellcheck shfmt # macOS
apt install shellcheck # Ubuntu/Debian
See It in Action¶
Watch the Multi-Language video tutorial for a 15-second demo.
Checking Tool Availability¶
Use the doctor command to check which tools are available:
linthis doctor
This will show the status of all required tools for each language.