ruff/crates
Charlie Marsh 04afdf177b
Disambiguate argument descriptors from section headers (#9427)
## Summary

Given a docstring like:

```python
def func(x: int, args: tuple[int]):
    """Toggle the gizmo.

    Args:
        x: Some argument.
        args: Some other arguments.
    """
```

We were considering the `args:` descriptor to be an indented docstring
section header (since `Args:`) is a valid header name. This led to very
confusing diagnostics.

This PR makes the parsing a bit more lax in this case, such that if we
see a nested header that's more deeply indented than the preceding
header, and the preceding section allows sub-items (like `Args:`), we
avoid treating the nested item as a section header.

Closes https://github.com/astral-sh/ruff/issues/9426.
2024-01-07 22:41:00 -05:00
..
ruff_benchmark Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_cache Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_cli Use DisplayParseError for stdin parser errors (#9409) 2024-01-06 15:28:12 +00:00
ruff_dev Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_diagnostics Enable annotation quoting for multi-line expressions (#9142) 2023-12-15 01:03:09 +00:00
ruff_formatter Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_index Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_linter Disambiguate argument descriptors from section headers (#9427) 2024-01-07 22:41:00 -05:00
ruff_macros remove several uses of unsafe (#8600) 2023-11-28 09:50:03 -05:00
ruff_notebook Generate deterministic ids when formatting notebooks (#9359) 2024-01-04 09:19:00 -06:00
ruff_python_ast Support variable keys in static dictionary key rule (#9411) 2024-01-06 20:44:40 +00:00
ruff_python_codegen Remove source path from parser errors (#9322) 2023-12-30 20:33:05 +00:00
ruff_python_formatter Allow # fmt: skip with interspersed same-line comments (#9395) 2024-01-04 19:39:37 -05:00
ruff_python_index Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_python_literal Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_python_parser Add size hints to string parser (#9413) 2024-01-06 15:59:34 -05:00
ruff_python_resolver Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_python_semantic Misc. small tweaks from perusing modules (#9383) 2024-01-03 12:30:25 -05:00
ruff_python_stdlib Treat all typing_extensions members as typing aliases (#9335) 2023-12-31 14:23:33 -04:00
ruff_python_trivia Use a sorted vector for block comments (#9337) 2023-12-31 19:52:40 +00:00
ruff_shrinking Bump version to 0.1.11 (#9370) 2024-01-02 17:46:06 -05:00
ruff_source_file Add cell indexes to all diagnostics (#9387) 2024-01-04 14:02:23 +00:00
ruff_text_size Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_wasm Make all dependencies workspace dependencies (#9333) 2024-01-02 13:41:59 +00:00
ruff_workspace Add paths to toml parse errors (#9358) 2024-01-02 11:56:51 -05:00