2017-05-22 11:59:40 +00:00
|
|
|
Before:
|
|
|
|
Save g:ale_fixers
|
|
|
|
|
|
|
|
After:
|
|
|
|
Restore
|
|
|
|
|
|
|
|
Given python(Some Python without blank lines):
|
|
|
|
def foo():
|
2018-09-25 09:02:01 +00:00
|
|
|
""" This is a simple test docstring """
|
2017-05-22 11:59:40 +00:00
|
|
|
return 1
|
|
|
|
|
|
|
|
|
|
|
|
def bar():
|
2018-09-25 09:02:01 +00:00
|
|
|
'''This is another simple test docstring'''
|
2017-05-22 11:59:40 +00:00
|
|
|
return 1
|
|
|
|
return 4
|
|
|
|
|
|
|
|
|
|
|
|
def bar():
|
2018-09-25 09:02:01 +00:00
|
|
|
"""
|
|
|
|
This is a multi-line
|
|
|
|
docstring
|
|
|
|
"""
|
|
|
|
|
2017-05-22 11:59:40 +00:00
|
|
|
if x:
|
|
|
|
pass
|
|
|
|
for l in x:
|
|
|
|
pass
|
|
|
|
for l in x:
|
|
|
|
pass
|
|
|
|
break
|
|
|
|
continue
|
|
|
|
elif x:
|
|
|
|
pass
|
|
|
|
while x:
|
|
|
|
pass
|
|
|
|
while x:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
pass
|
|
|
|
if x:
|
|
|
|
pass
|
|
|
|
elif x:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
pass
|
|
|
|
|
|
|
|
Execute(Blank lines should be added appropriately):
|
2017-06-07 13:02:29 +00:00
|
|
|
let g:ale_fixers = {'python': ['add_blank_lines_for_python_control_statements']}
|
2017-05-22 11:59:40 +00:00
|
|
|
ALEFix
|
|
|
|
|
|
|
|
Expect python(Newlines should be added):
|
|
|
|
def foo():
|
2018-09-25 09:02:01 +00:00
|
|
|
""" This is a simple test docstring """
|
|
|
|
|
2017-05-22 11:59:40 +00:00
|
|
|
return 1
|
|
|
|
|
|
|
|
|
|
|
|
def bar():
|
2018-09-25 09:02:01 +00:00
|
|
|
'''This is another simple test docstring'''
|
|
|
|
|
2017-05-22 11:59:40 +00:00
|
|
|
return 1
|
|
|
|
|
|
|
|
return 4
|
|
|
|
|
|
|
|
|
|
|
|
def bar():
|
2018-09-25 09:02:01 +00:00
|
|
|
"""
|
|
|
|
This is a multi-line
|
|
|
|
docstring
|
|
|
|
"""
|
|
|
|
|
2017-05-22 11:59:40 +00:00
|
|
|
if x:
|
|
|
|
pass
|
|
|
|
|
|
|
|
for l in x:
|
|
|
|
pass
|
|
|
|
|
|
|
|
for l in x:
|
|
|
|
pass
|
|
|
|
|
|
|
|
break
|
|
|
|
|
|
|
|
continue
|
|
|
|
elif x:
|
|
|
|
pass
|
|
|
|
|
|
|
|
while x:
|
|
|
|
pass
|
|
|
|
|
|
|
|
while x:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
pass
|
|
|
|
|
|
|
|
if x:
|
|
|
|
pass
|
|
|
|
elif x:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
pass
|
2017-06-20 08:39:58 +00:00
|
|
|
|
|
|
|
Given python(A file with a main block):
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
print('hello')
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|
|
|
|
|
|
|
|
Execute(Fix the file):
|
|
|
|
let g:ale_fixers = {'python': ['add_blank_lines_for_python_control_statements']}
|
|
|
|
ALEFix
|
|
|
|
|
|
|
|
Expect python(extra newlines shouldn't be added to the main block):
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
print('hello')
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|
2018-09-25 09:02:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
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
|