1 unstable release
Uses new Rust 2024
| 0.1.0 | Jul 7, 2025 |
|---|
#11 in #pre-commit
23KB
447 lines
✂️ Clipped
Clipped is a workspace-aware, file-scoped cargo clippy wrapper that filters diagnostics.
✨ Features
- 📁 File-based filtering: See only diagnostics for files you specify
- 🚀 Workspace-aware: Automatically runs only on relevant workspace packages
- 🎯 Level filtering: Control diagnostic severity (note, help, warning, error)
- ⚙️ Flexible configuration: CLI, env vars, or config file
- 🔧 Clippy pass-through: Forward any arguments to Clippy
📦 Installation
cargo install clipped
🛠 Usage
# Run on entire project (same as `cargo clippy`)
clipped
# Run on specific files
clipped src/main.rs src/lib.rs
# Show only errors
clipped --level error src/main.rs
# Pass args to Clippy
clipped src/main.rs -- -- -W clippy::all
⚙️ Configuration
Configure via .clipped.toml:
level = "error"
clippy_args = ["-W", "clippy::pedantic"]
Or set environment variables:
export CLIPPED_LEVEL=error
export CLIPPED_CLIPPY_ARGS='["--", "-W", "clippy::all"]' # as JSON array
🤖 CLI
clipped [OPTIONS] [FILES]... [-- <CLIPPY_ARGS>...]
Options
--config <CONFIG_PATH>- Path to the config file (default:.clipped.toml)--level <LEVEL>- Set the level:note,help,warning,error(default:warning)-v,--verbose- Enable verbose output-h,--help- Print help-V,--version- Print version
🪝 Git Hooks
Clipped is designed to integrate seamlessly with Git hooks.
With pre-commit:
repos:
- repo: local
hooks:
- id: clipped
name: clipped
entry: clipped
language: system
args: [...]
pass_filenames: true
require_serial: true
or use the clipped repository:
repos:
- repo: https://github.com/tankosinn/clipped
rev: 0.1.0
hooks:
- id: clipped
📝 License
Dependencies
~6.5–8.5MB
~152K SLoC