Skip to content

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.