aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMicah Halter <micah@mehalter.com>2024-05-22 15:31:12 -0400
committerGitHub <noreply@github.com>2024-05-22 12:31:12 -0700
commit184756b7522f82ccdac0013adff1caa313cb897a (patch)
tree3125e8ffc7085fb26df7e14b647b2a0088bc5aa6
parent5c9b6a6a50f3ec2c01f729dac872679fa6ea813f (diff)
feat: add `ruff_organize_imports` formatter (#418)
-rw-r--r--README.md1
-rw-r--r--lua/conform/formatters/ruff_organize_imports.lua25
2 files changed, 26 insertions, 0 deletions
diff --git a/README.md b/README.md
index d188a29..29b6d68 100644
--- a/README.md
+++ b/README.md
@@ -283,6 +283,7 @@ You can view this list in vim with `:help conform-formatters`
- [rubyfmt](https://github.com/fables-tales/rubyfmt) - Ruby Autoformatter! (Written in Rust)
- [ruff_fix](https://docs.astral.sh/ruff/) - An extremely fast Python linter, written in Rust. Fix lint errors.
- [ruff_format](https://docs.astral.sh/ruff/) - An extremely fast Python linter, written in Rust. Formatter subcommand.
+- [ruff_organize_imports](https://docs.astral.sh/ruff/) - An extremely fast Python linter, written in Rust. Organize imports.
- [rufo](https://github.com/ruby-formatter/rufo) - Rufo is an opinionated ruby formatter.
- [rustfmt](https://github.com/rust-lang/rustfmt) - A tool for formatting rust code according to style guidelines.
- [rustywind](https://github.com/avencera/rustywind) - A tool for formatting Tailwind CSS classes.
diff --git a/lua/conform/formatters/ruff_organize_imports.lua b/lua/conform/formatters/ruff_organize_imports.lua
new file mode 100644
index 0000000..03ab842
--- /dev/null
+++ b/lua/conform/formatters/ruff_organize_imports.lua
@@ -0,0 +1,25 @@
+---@type conform.FileFormatterConfig
+return {
+ meta = {
+ url = "https://docs.astral.sh/ruff/",
+ description = "An extremely fast Python linter, written in Rust. Organize imports.",
+ },
+ command = "ruff",
+ args = {
+ "check",
+ "--fix",
+ "--force-exclude",
+ "--select=I001",
+ "--exit-zero",
+ "--no-cache",
+ "--stdin-filename",
+ "$FILENAME",
+ "-",
+ },
+ stdin = true,
+ cwd = require("conform.util").root_file({
+ "pyproject.toml",
+ "ruff.toml",
+ ".ruff.toml",
+ }),
+}