Skip to content

Commit d03e6b4

Browse files
committed
Add help text and YAML formatting arguments
1 parent 14ae709 commit d03e6b4

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

sync_pre_commit_deps.py

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,44 @@
88
SUPPORTED = frozenset(('black', 'flake8'))
99

1010

11+
_ARGUMENT_HELP_TEMPLATE = (
12+
'The `{}` argument to the YAML dumper. '
13+
'See https://yaml.readthedocs.io/en/latest/detail/'
14+
'#indentation-of-block-sequences'
15+
)
16+
17+
1118
def main(argv: Sequence[str] | None = None) -> int:
1219
parser = argparse.ArgumentParser()
13-
parser.add_argument('filename', default='.pre-commit-config.yaml')
20+
parser.add_argument(
21+
'filename', default='.pre-commit-config.yaml',
22+
help='The pre-commit config file to sync to.',
23+
)
24+
25+
# defaults below match pre-commit config as documented
26+
# TODO - support round-tripping
27+
parser.add_argument(
28+
'--yaml-mapping', type=int, default=4,
29+
help=_ARGUMENT_HELP_TEMPLATE.format('mapping'),
30+
)
31+
parser.add_argument(
32+
'--yaml-sequence', type=int, default=4,
33+
help=_ARGUMENT_HELP_TEMPLATE.format('sequence'),
34+
)
35+
parser.add_argument(
36+
'--yaml-offset', type=int, default=0,
37+
help=_ARGUMENT_HELP_TEMPLATE.format('offset'),
38+
)
1439

1540
args = parser.parse_args(argv)
1641
filename: str = args.filename
42+
yaml_mapping: int = args.yaml_mapping
43+
yaml_sequence: int = args.yaml_sequence
44+
yaml_offset: int = args.yaml_offset
1745

18-
# match pre-commit config as documented
19-
# TODO - support round-tripping
2046
yaml = ruamel.yaml.YAML()
2147
yaml.preserve_quotes = True
22-
yaml.indent(mapping=4, sequence=4)
48+
yaml.indent(yaml_mapping, yaml_sequence, yaml_offset)
2349

2450
with open(filename) as f:
2551
loaded = yaml.load(f)

0 commit comments

Comments
 (0)