Trailing whitespace changes are made outside of --lines
- 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
Assessment
This issue has not been assessed yet.