mirror of
https://github.com/astral-sh/ruff.git
synced 2025-11-02 12:58:27 +00:00
Update pre-commit documentation (#8545)
I got some feedback on Mastodon that it wasn't clear how to use the linter and formatter together in pre-commit (mostly in the pre-commit repo's documentation, which is even less clear, but the two should be consistent).
This commit is contained in:
parent
03303a9edd
commit
ce549e75bc
3 changed files with 27 additions and 27 deletions
|
|
@ -152,9 +152,10 @@ Ruff can also be used as a [pre-commit](https://pre-commit.com/) hook via [`ruff
|
||||||
# Ruff version.
|
# Ruff version.
|
||||||
rev: v0.1.4
|
rev: v0.1.4
|
||||||
hooks:
|
hooks:
|
||||||
# Run the Ruff linter.
|
# Run the linter.
|
||||||
- id: ruff
|
- id: ruff
|
||||||
# Run the Ruff formatter.
|
args: [ --fix ]
|
||||||
|
# Run the formatter.
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,52 +12,55 @@ which supports fix actions, import sorting, and more.
|
||||||
Ruff can be used as a [pre-commit](https://pre-commit.com) hook via [`ruff-pre-commit`](https://github.com/astral-sh/ruff-pre-commit):
|
Ruff can be used as a [pre-commit](https://pre-commit.com) hook via [`ruff-pre-commit`](https://github.com/astral-sh/ruff-pre-commit):
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Run the Ruff linter.
|
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
# Ruff version.
|
# Ruff version.
|
||||||
rev: v0.0.291
|
rev: v0.1.4
|
||||||
hooks:
|
hooks:
|
||||||
|
# Run the linter.
|
||||||
- id: ruff
|
- id: ruff
|
||||||
# Run the Ruff formatter.
|
# Run the formatter.
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
||||||
# Ruff version.
|
|
||||||
rev: v0.0.291
|
|
||||||
hooks:
|
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
```
|
```
|
||||||
|
|
||||||
To enable fixes, add the `--fix` argument to the linter:
|
To enable lint fixes, add the `--fix` argument to the lint hook:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Run the Ruff linter.
|
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
# Ruff version.
|
# Ruff version.
|
||||||
rev: v0.0.291
|
rev: v0.1.4
|
||||||
hooks:
|
hooks:
|
||||||
|
# Run the linter.
|
||||||
- id: ruff
|
- id: ruff
|
||||||
args: [ --fix, --exit-non-zero-on-fix ]
|
args: [ --fix ]
|
||||||
|
# Run the formatter.
|
||||||
|
- id: ruff-format
|
||||||
```
|
```
|
||||||
|
|
||||||
To run the hooks over Jupyter Notebooks too, add `jupyter` to the list of allowed filetypes:
|
To run the hooks over Jupyter Notebooks too, add `jupyter` to the list of allowed filetypes:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Run the Ruff linter.
|
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
# Ruff version.
|
# Ruff version.
|
||||||
rev: v0.0.291
|
rev: v0.1.4
|
||||||
hooks:
|
hooks:
|
||||||
|
# Run the linter.
|
||||||
- id: ruff
|
- id: ruff
|
||||||
types_or: [ python, pyi, jupyter ]
|
types_or: [ python, pyi, jupyter ]
|
||||||
|
args: [ --fix ]
|
||||||
|
# Run the formatter.
|
||||||
|
- id: ruff-format
|
||||||
|
types_or: [ python, pyi, jupyter ]
|
||||||
```
|
```
|
||||||
|
|
||||||
Ruff's lint hook should be placed after other formatting tools, such as Ruff's format hook, Black,
|
When running with `--fix`, Ruff's lint hook should be placed _before_ Ruff's formatter hook, and
|
||||||
or isort, _unless_ you enable autofix, in which case, Ruff's pre-commit hook should run _before_
|
_before_ Black, isort, and other formatting tools, as Ruff's fix behavior can output code changes
|
||||||
Black, isort, and other formatting tools, as Ruff's autofix behavior can output code changes that
|
that require reformatting.
|
||||||
require reformatting.
|
|
||||||
|
|
||||||
As long as your Ruff configuration avoids any [linter-formatter incompatibilities](formatter.md#conflicting-lint-rules),
|
When running without `--fix`, Ruff's formatter hook can be placed before or after Ruff's lint hook.
|
||||||
|
|
||||||
|
(As long as your Ruff configuration avoids any [linter-formatter incompatibilities](formatter.md#conflicting-lint-rules),
|
||||||
`ruff format` should never introduce new lint errors, so it's safe to run Ruff's format hook _after_
|
`ruff format` should never introduce new lint errors, so it's safe to run Ruff's format hook _after_
|
||||||
`ruff check --fix`.
|
`ruff check --fix`.)
|
||||||
|
|
||||||
## Language Server Protocol (Official)
|
## Language Server Protocol (Official)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -341,17 +341,13 @@ This tutorial has focused on Ruff's command-line interface, but Ruff can also be
|
||||||
[pre-commit](https://pre-commit.com) hook via [`ruff-pre-commit`](https://github.com/astral-sh/ruff-pre-commit):
|
[pre-commit](https://pre-commit.com) hook via [`ruff-pre-commit`](https://github.com/astral-sh/ruff-pre-commit):
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Run the Ruff linter.
|
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
# Ruff version.
|
# Ruff version.
|
||||||
rev: v0.1.4
|
rev: v0.1.4
|
||||||
hooks:
|
hooks:
|
||||||
|
# Run the linter.
|
||||||
- id: ruff
|
- id: ruff
|
||||||
# Run the Ruff formatter.
|
# Run the formatter.
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
||||||
# Ruff version.
|
|
||||||
rev: v0.1.4
|
|
||||||
hooks:
|
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue