mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-10 13:35:31 +02:00
Implement #15
This commit is contained in:
39
PythonHome/Lib/lib2to3/fixes/fix_ws_comma.py
Normal file
39
PythonHome/Lib/lib2to3/fixes/fix_ws_comma.py
Normal file
@@ -0,0 +1,39 @@
|
||||
"""Fixer that changes 'a ,b' into 'a, b'.
|
||||
|
||||
This also changes '{a :b}' into '{a: b}', but does not touch other
|
||||
uses of colons. It does not touch other uses of whitespace.
|
||||
|
||||
"""
|
||||
|
||||
from .. import pytree
|
||||
from ..pgen2 import token
|
||||
from .. import fixer_base
|
||||
|
||||
class FixWsComma(fixer_base.BaseFix):
|
||||
|
||||
explicit = True # The user must ask for this fixers
|
||||
|
||||
PATTERN = """
|
||||
any<(not(',') any)+ ',' ((not(',') any)+ ',')* [not(',') any]>
|
||||
"""
|
||||
|
||||
COMMA = pytree.Leaf(token.COMMA, u",")
|
||||
COLON = pytree.Leaf(token.COLON, u":")
|
||||
SEPS = (COMMA, COLON)
|
||||
|
||||
def transform(self, node, results):
|
||||
new = node.clone()
|
||||
comma = False
|
||||
for child in new.children:
|
||||
if child in self.SEPS:
|
||||
prefix = child.prefix
|
||||
if prefix.isspace() and u"\n" not in prefix:
|
||||
child.prefix = u""
|
||||
comma = True
|
||||
else:
|
||||
if comma:
|
||||
prefix = child.prefix
|
||||
if not prefix:
|
||||
child.prefix = u" "
|
||||
comma = False
|
||||
return new
|
||||
Reference in New Issue
Block a user