google / google/yapf

Trailing whitespace changes are made outside of --lines

Open
#613 4 comments 2 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
14k
Forks
904
PR merge metrics
No merged PRs in 30d

Description

### Description

Trailing whitespace is removed from the whole file when attempting to format a subset of a file.

### Steps to reproduce

1. `pip install yapf==0.23`

2. Run the following script:
```python
from yapf.yapflib.yapf_api import FormatCode

source = """\
def with_trailing_whitespace():
pass

def without_trailing_whitespace(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbb):
return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbb
"""

reformatted_diff, changed = FormatCode(source, lines=[(4, 5)], print_diff=True)
print(reformatted_diff)
```

### Expected output

```diff
--- (original)
+++ (reformatted)
@@ -1,5 +1,7 @@
def with_trailing_whitespace():
pass

-def without_trailing_whitespace(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbb):
+
+def without_trailing_whitespace(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
+ bbbbbbbbbb):
return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbb
```

### Actual output

```diff
--- (original)
+++ (reformatted)
@@ -1,5 +1,7 @@
-def with_trailing_whitespace():
- pass
+def with_trailing_whitespace():
+ pass

-def without_trailing_whitespace(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbb):
+
+def without_trailing_whitespace(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
+ bbbbbbbbbb):
return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbb
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.