mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-02 09:33:31 +08:00
Bugfix: python add blank lines (#1944)
* Don't add newlines when not a control statement for Python * Add test for accidental newline fix * Add docstring detection to avoid adding unnecessarily newlines * Add tests for docstring detection
This commit is contained in:
@@ -6,15 +6,22 @@ After:
|
||||
|
||||
Given python(Some Python without blank lines):
|
||||
def foo():
|
||||
""" This is a simple test docstring """
|
||||
return 1
|
||||
|
||||
|
||||
def bar():
|
||||
'''This is another simple test docstring'''
|
||||
return 1
|
||||
return 4
|
||||
|
||||
|
||||
def bar():
|
||||
"""
|
||||
This is a multi-line
|
||||
docstring
|
||||
"""
|
||||
|
||||
if x:
|
||||
pass
|
||||
for l in x:
|
||||
@@ -44,16 +51,25 @@ Execute(Blank lines should be added appropriately):
|
||||
|
||||
Expect python(Newlines should be added):
|
||||
def foo():
|
||||
""" This is a simple test docstring """
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
def bar():
|
||||
'''This is another simple test docstring'''
|
||||
|
||||
return 1
|
||||
|
||||
return 4
|
||||
|
||||
|
||||
def bar():
|
||||
"""
|
||||
This is a multi-line
|
||||
docstring
|
||||
"""
|
||||
|
||||
if x:
|
||||
pass
|
||||
|
||||
@@ -109,3 +125,43 @@ Expect python(extra newlines shouldn't be added to the main block):
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
||||
Given python(A file with variables/docstring that start with a control statement):
|
||||
def some():
|
||||
"""
|
||||
This is a docstring that contains an
|
||||
break control statement and also contains a
|
||||
return something funny.
|
||||
"""
|
||||
|
||||
continue_some_var = True
|
||||
forward_something = False
|
||||
|
||||
if (
|
||||
continue_some_var and
|
||||
forwarded_something
|
||||
):
|
||||
return True
|
||||
|
||||
|
||||
Execute(Fix the file):
|
||||
let g:ale_fixers = {'python': ['add_blank_lines_for_python_control_statements']}
|
||||
ALEFix
|
||||
|
||||
Expect python(Extra new lines are not added to the file):
|
||||
def some():
|
||||
"""
|
||||
This is a docstring that contains an
|
||||
break control statement and also contains a
|
||||
return something funny.
|
||||
"""
|
||||
|
||||
continue_some_var = True
|
||||
forward_something = False
|
||||
|
||||
if (
|
||||
continue_some_var and
|
||||
forwarded_something
|
||||
):
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user