ruff/crates
Dhruv Manilawala dbd84c947b
Formatter parentheses support for IpyEscapeCommand (#8207)
## Summary

This PR removes the `todo!()` around `IpyEscapeCommand` in the
formatter.

The `NeedsParentheses` trait needs to be implemented which always return
`Never`. The reason being that if an escape command is parenthesized,
then that's not parsed as an escape command. IOW, the parentheses
shouldn't be present around an escape command.

In the similar way, the `CanSkipOptionalParenthesesVisitor` will skip
this node.

## Test Plan

Updated the `unformatted.ipynb` fixture with new cells containing
IPython escape commands and the corresponding snapshot was verified.
Also, tested it out in a few open source repositories containing
notebooks (`openai/openai-cookbook`, `huggingface/notebooks`).

#### New cells in `unformatted.ipynb`

**Cell 2**
```markdown
A markdown cell
```

**Cell 3**
```python
def some_function(foo, bar):
    pass
%matplotlib inline
```

**Cell 4**
```python
foo = %pwd
def some_function(foo,bar,):
	foo = %pwd
    print(foo
	)
```

fixes: #8204
2023-10-25 14:01:50 +00:00
..
flake8_to_ruff Release 0.1.2 (#8168) 2023-10-24 15:21:29 +00:00
ruff_benchmark Bump codspeed-criterion-compat from 2.2.0 to 2.3.0 (#8128) 2023-10-23 10:04:19 +01:00
ruff_cache Introduce FormatterSettings (#7545) 2023-09-21 08:01:24 +02:00
ruff_cli Formatter parentheses support for IpyEscapeCommand (#8207) 2023-10-25 14:01:50 +00:00
ruff_dev Rework the documentation to incorporate the Ruff formatter (#7732) 2023-10-20 23:08:26 +00:00
ruff_diagnostics Add settings for promoting and demoting fixes (#7841) 2023-10-10 20:04:21 +00:00
ruff_formatter Rust 1.73 (#8007) 2023-10-23 02:12:25 +00:00
ruff_index
ruff_linter [pylint] Add buffer methods to bad-dunder-method-name (PLW3201) exclusions (#8190) 2023-10-25 00:03:44 -05:00
ruff_macros Add #[automatically_derived] to derived impls (#8080) 2023-10-20 00:12:27 +00:00
ruff_notebook Bump serde_with from 3.3.0 to 3.4.0 (#8130) 2023-10-23 09:05:52 +00:00
ruff_python_ast Remove leftover constant tuple reference (#8062) 2023-10-19 17:50:45 +00:00
ruff_python_codegen Add support for PEP 701 (#7376) 2023-09-29 02:55:39 +00:00
ruff_python_formatter Formatter parentheses support for IpyEscapeCommand (#8207) 2023-10-25 14:01:50 +00:00
ruff_python_index Use source type to determine parser mode for formatting (#8205) 2023-10-25 19:20:02 +05:30
ruff_python_literal Implement our own small-integer optimization (#7584) 2023-09-25 15:13:21 +00:00
ruff_python_parser Fix range of unparenthesized tuple subject in match statement (#8101) 2023-10-22 19:58:33 -04:00
ruff_python_resolver
ruff_python_semantic Rust 1.73 (#8007) 2023-10-23 02:12:25 +00:00
ruff_python_stdlib Improvements to RUF015 (#7848) 2023-10-08 14:49:45 +00:00
ruff_python_trivia Extend pragma comment cases (#7687) 2023-09-28 18:55:19 +00:00
ruff_shrinking Release 0.1.2 (#8168) 2023-10-24 15:21:29 +00:00
ruff_source_file Add cell field to JSON output format (#7664) 2023-10-13 01:06:02 +00:00
ruff_text_size
ruff_wasm Rename tab-size to indent-width (#8082) 2023-10-24 10:01:24 -04:00
ruff_workspace Refine warning about incompatible isort settings (#8192) 2023-10-25 08:41:17 +01:00