Skip to content

Commit

Permalink
Allow additional text to folllow formatter pragma comments
Browse files Browse the repository at this point in the history
  • Loading branch information
zanieb committed Nov 28, 2023
1 parent d9845a2 commit cfbb17c
Show file tree
Hide file tree
Showing 6 changed files with 146 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# fmt: off
x = 1
# fmt: on

# fmt: off reason
x = 1
# fmt: on

# fmt: off reason
x = 1
# fmt: on

# fmt: off
x = 1
# fmt: on reason

# fmt: off reason
x = 1
# fmt: on reason

# fmt: off - reason
x = 1
# fmt: on

# fmt: off
x = 1
# fmt: on - reason
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
x = 1 # fmt: skip
x = 1 # fmt: skip reason
x = 1 # fmt: skip - reason
9 changes: 8 additions & 1 deletion crates/ruff_python_formatter/src/comments/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,14 @@ impl SourceComment {
"off" => Some(SuppressionKind::Off),
"on" => Some(SuppressionKind::On),
"skip" => Some(SuppressionKind::Skip),
_ => None,

// Allow additional context separated by whitespace
command => match command.split_whitespace().into_iter().next() {
Some("off") => Some(SuppressionKind::Off),
Some("on") => Some(SuppressionKind::On),
Some("skip") => Some(SuppressionKind::Skip),
_ => None,
},
}
} else if let Some(command) = trimmed.strip_prefix("yapf:") {
match command.trim_whitespace_start() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
source: crates/ruff_python_formatter/tests/fixtures.rs
input_file: crates/ruff_python_formatter/resources/test/fixtures/ruff/fmt_on_off/reason.py
---
## Input
```python
# fmt: off
x = 1
# fmt: on
# fmt: off reason
x = 1
# fmt: on
# fmt: off reason
x = 1
# fmt: on
# fmt: off
x = 1
# fmt: on reason
# fmt: off reason
x = 1
# fmt: on reason
# fmt: off - reason
x = 1
# fmt: on
# fmt: off
x = 1
# fmt: on - reason
```

## Output
```python
# fmt: off
x = 1
# fmt: on
# fmt: off reason
x = 1
# fmt: on
# fmt: off reason
x = 1
# fmt: on
# fmt: off
x = 1
# fmt: on reason
# fmt: off reason
x = 1
# fmt: on reason
# fmt: off - reason
x = 1
# fmt: on
# fmt: off
x = 1
# fmt: on - reason
```



Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
source: crates/ruff_python_formatter/tests/fixtures.rs
input_file: crates/ruff_python_formatter/resources/test/fixtures/ruff/fmt_skip/reason.py
---
## Input
```python
x = 1 # fmt: skip
x = 1 # fmt: skip reason
x = 1 # fmt: skip - reason
```

## Output
```python
x = 1 # fmt: skip
x = 1 # fmt: skip reason
x = 1 # fmt: skip - reason
```



Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
source: crates/ruff_python_formatter/tests/fixtures.rs
input_file: crates/ruff_python_formatter/resources/test/fixtures/ruff/fmt_skip/syntax.py
---
## Input
```python
x = 1 # fmt: skip
x = 1 # fmt: skip reason
x = 1 # fmt: skip - reason
```

## Output
```python
x = 1 # fmt: skip
x = 1 # fmt: skip reason
x = 1 # fmt: skip - reason
```



0 comments on commit cfbb17c

Please sign in to comment.