X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/f71db23824a25300618dd0625085ade8d2b3a7a8..b719d85ccc330170e40b2617307a7e3b2a0bab14:/tests/data/fmtonoff.py diff --git a/tests/data/fmtonoff.py b/tests/data/fmtonoff.py index 5666dd8..35f2889 100644 --- a/tests/data/fmtonoff.py +++ b/tests/data/fmtonoff.py @@ -11,6 +11,10 @@ from third_party import (X, Y, Z) # fmt: on f'trigger 3.6 mode' +# Comment 1 + +# Comment 2 + # fmt: off def func_no_args(): a; b; c @@ -40,6 +44,43 @@ def spaces(a=1, b=(), c=[], d={}, e=True, f=-1, g=1 if False else 2, h="", i=r'' def spaces_types(a: int = 1, b: tuple = (), c: list = [], d: dict = {}, e: bool = True, f: int = -1, g: int = 1 if False else 2, h: str = "", i: str = r''): ... def spaces2(result= _core.Value(None)): ... +something = { + # fmt: off + key: 'value', +} + +def subscriptlist(): + atom[ + # fmt: off + 'some big and', + 'complex subscript', + # fmt: on + goes + here, andhere, + ] + +def import_as_names(): + # fmt: off + from hello import a, b + 'unformatted' + # fmt: on + +def testlist_star_expr(): + # fmt: off + a , b = *hello + 'unformatted' + # fmt: on + +def yield_expr(): + # fmt: off + yield hello + 'unformatted' + # fmt: on + 'formatted' + # fmt: off + ( yield hello ) + 'unformatted' + # fmt: on + def example(session): # fmt: off result = session\ @@ -49,6 +90,27 @@ def example(session): .order_by(models.Customer.id.asc())\ .all() # fmt: on +def off_and_on_without_data(): + """All comments here are technically on the same prefix. + + The comments between will be formatted. This is a known limitation. + """ + # fmt: off + + + #hey, that won't work + + + # fmt: on + pass +def on_and_off_broken(): + """Another known limitation.""" + # fmt: on + # fmt: off + this=should.not_be.formatted() + but=it is formatted + because . the . handling . inside . generate_ignored_nodes() + doesnt . consider . ordering . within . one . prefix def long_lines(): if True: typedargslist.extend( @@ -78,10 +140,11 @@ def long_lines(): \n? ) $ - """, # fmt: off - re.MULTILINE | re.VERBOSE + """, + # fmt: off + re.MULTILINE|re.VERBOSE + # fmt: on ) - # fmt: on def single_literal_yapf_disable(): """Black does not support this.""" BAZ = { @@ -89,7 +152,30 @@ def single_literal_yapf_disable(): (5, 6, 7, 8), (9, 10, 11, 12), } # yapf: disable +cfg.rule( + "Default", "address", + xxxx_xxxx=["xxx-xxxxxx-xxxxxxxxxx"], + xxxxxx="xx_xxxxx", xxxxxxx="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + xxxxxxxxx_xxxx=True, xxxxxxxx_xxxxxxxxxx=False, + xxxxxx_xxxxxx=2, xxxxxx_xxxxx_xxxxxxxx=70, xxxxxx_xxxxxx_xxxxx=True, + # fmt: off + xxxxxxx_xxxxxxxxxxxx={ + "xxxxxxxx": { + "xxxxxx": False, + "xxxxxxx": False, + "xxxx_xxxxxx": "xxxxx", + }, + "xxxxxxxx-xxxxx": { + "xxxxxx": False, + "xxxxxxx": True, + "xxxx_xxxxxx": "xxxxxx", + }, + }, + # fmt: on + xxxxxxxxxx_xxxxxxxxxxx_xxxxxxx_xxxxxxxxx=5 +) # fmt: off +yield 'hello' # No formatting to the end of the file l=[1,2,3] d={'a':1, @@ -111,6 +197,10 @@ from third_party import (X, Y, Z) # fmt: on f"trigger 3.6 mode" +# Comment 1 + +# Comment 2 + # fmt: off def func_no_args(): a; b; c @@ -157,6 +247,49 @@ def spaces2(result=_core.Value(None)): ... +something = { + # fmt: off + key: 'value', +} + + +def subscriptlist(): + atom[ + # fmt: off + 'some big and', + 'complex subscript', + # fmt: on + goes + here, + andhere, + ] + + +def import_as_names(): + # fmt: off + from hello import a, b + 'unformatted' + # fmt: on + + +def testlist_star_expr(): + # fmt: off + a , b = *hello + 'unformatted' + # fmt: on + + +def yield_expr(): + # fmt: off + yield hello + 'unformatted' + # fmt: on + "formatted" + # fmt: off + ( yield hello ) + 'unformatted' + # fmt: on + + def example(session): # fmt: off result = session\ @@ -168,6 +301,29 @@ def example(session): # fmt: on +def off_and_on_without_data(): + """All comments here are technically on the same prefix. + + The comments between will be formatted. This is a known limitation. + """ + # fmt: off + + # hey, that won't work + + # fmt: on + pass + + +def on_and_off_broken(): + """Another known limitation.""" + # fmt: on + # fmt: off + this = should.not_be.formatted() + but = it is formatted + because.the.handling.inside.generate_ignored_nodes() + doesnt.consider.ordering.within.one.prefix + + def long_lines(): if True: typedargslist.extend( @@ -202,10 +358,11 @@ def long_lines(): \n? ) $ - """, # fmt: off - re.MULTILINE | re.VERBOSE, + """, + # fmt: off + re.MULTILINE|re.VERBOSE + # fmt: on ) - # fmt: on def single_literal_yapf_disable(): @@ -213,7 +370,35 @@ def single_literal_yapf_disable(): BAZ = {(1, 2, 3, 4), (5, 6, 7, 8), (9, 10, 11, 12)} # yapf: disable +cfg.rule( + "Default", + "address", + xxxx_xxxx=["xxx-xxxxxx-xxxxxxxxxx"], + xxxxxx="xx_xxxxx", + xxxxxxx="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + xxxxxxxxx_xxxx=True, + xxxxxxxx_xxxxxxxxxx=False, + xxxxxx_xxxxxx=2, + xxxxxx_xxxxx_xxxxxxxx=70, + xxxxxx_xxxxxx_xxxxx=True, + # fmt: off + xxxxxxx_xxxxxxxxxxxx={ + "xxxxxxxx": { + "xxxxxx": False, + "xxxxxxx": False, + "xxxx_xxxxxx": "xxxxx", + }, + "xxxxxxxx-xxxxx": { + "xxxxxx": False, + "xxxxxxx": True, + "xxxx_xxxxxx": "xxxxxx", + }, + }, + # fmt: on + xxxxxxxxxx_xxxxxxxxxxx_xxxxxxx_xxxxxxxxx=5, +) # fmt: off +yield 'hello' # No formatting to the end of the file l=[1,2,3] d={'a':1,