Previously the rule documentation referenced configuration options
via full https:// URLs, which was bad for several reasons:
* changing the website would mean you'd have to change all URLs
* the links didn't work when building mkdocs locally
* the URLs showed up in the `ruff rule` output
* broken references weren't detected by our CI
This commit solves all of these problems by post-processing the
Markdown, recognizing sections such as:
## Options
* `flake8-tidy-imports.ban-relative-imports`
`cargo dev generate-all` will automatically linkify such references
and panic if the referenced option doesn't exist.
Note that the option can also be linked in the other Markdown sections
via e.g. [`flake8-tidy-imports.ban-relative-imports`] since
the post-processing code generates a CommonMark link definition.
Resolves #2766.
37 lines
695 B
Markdown
37 lines
695 B
Markdown
# unused-variable (F841)
|
|
|
|
Derived from the **Pyflakes** linter.
|
|
|
|
Autofix is always available.
|
|
|
|
## What it does
|
|
Checks for the presence of unused variables in function scopes.
|
|
|
|
## Why is this bad?
|
|
A variable that is defined but not used is likely a mistake, and should be
|
|
removed to avoid confusion.
|
|
|
|
If a variable is intentionally defined-but-not-used, it should be
|
|
prefixed with an underscore, or some other value that adheres to the
|
|
[`dummy-variable-rgx`] pattern.
|
|
|
|
## Options
|
|
|
|
* [`dummy-variable-rgx`]
|
|
|
|
## Example
|
|
```python
|
|
def foo():
|
|
x = 1
|
|
y = 2
|
|
return x
|
|
```
|
|
|
|
Use instead:
|
|
```python
|
|
def foo():
|
|
x = 1
|
|
return x
|
|
```
|
|
|
|
[`dummy-variable-rgx`]: ../../settings#dummy-variable-rgx |