From c4708c28f248c822339046cd053ddc9f9ac6786f Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Wed, 27 Feb 2019 15:10:35 +0100 Subject: better formating of the help output --- mesonbuild/mesonmain.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'mesonbuild/mesonmain.py') diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py index 516c411..fdbb685 100644 --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py @@ -18,6 +18,7 @@ import importlib import traceback import argparse import codecs +import shutil from . import mesonlib from . import mlog @@ -29,9 +30,12 @@ from .wrap import wraptool class CommandLineParser: def __init__(self): + self.term_width = shutil.get_terminal_size().columns + self.formater = lambda prog: argparse.HelpFormatter(prog, max_help_position=int(self.term_width/2), width=self.term_width) + self.commands = {} self.hidden_commands = [] - self.parser = argparse.ArgumentParser(prog='meson') + self.parser = argparse.ArgumentParser(prog='meson', formatter_class=self.formater) self.subparsers = self.parser.add_subparsers(title='Commands', description='If no command is specified it defaults to setup command.') self.add_command('setup', msetup.add_arguments, msetup.run, @@ -52,26 +56,27 @@ class CommandLineParser: help='Manage subprojects') self.add_command('help', self.add_help_arguments, self.run_help_command, help='Print help of a subcommand') + self.add_command('rewrite', lambda parser: rewriter.add_arguments(parser, self.formater), rewriter.run, + help='Modify the project definition', aliases=['rw']) # Hidden commands - self.add_command('rewrite', rewriter.add_arguments, rewriter.run, - help=argparse.SUPPRESS) self.add_command('runpython', self.add_runpython_arguments, self.run_runpython_command, help=argparse.SUPPRESS) self.add_command('unstable-coredata', munstable_coredata.add_arguments, munstable_coredata.run, help=argparse.SUPPRESS) - def add_command(self, name, add_arguments_func, run_func, help): + def add_command(self, name, add_arguments_func, run_func, help, aliases=[]): # FIXME: Cannot have hidden subparser: # https://bugs.python.org/issue22848 if help == argparse.SUPPRESS: - p = argparse.ArgumentParser(prog='meson ' + name) + p = argparse.ArgumentParser(prog='meson ' + name, formatter_class=self.formater) self.hidden_commands.append(name) else: - p = self.subparsers.add_parser(name, help=help) + p = self.subparsers.add_parser(name, help=help, aliases=aliases, formatter_class=self.formater) add_arguments_func(p) p.set_defaults(run_func=run_func) - self.commands[name] = p + for i in [name] + aliases: + self.commands[i] = p def add_runpython_arguments(self, parser): parser.add_argument('script_file') -- cgit v1.1 From 9874ce81f0e15ef9b250f401ab5e3a393d7c01ec Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Wed, 27 Feb 2019 16:37:33 +0100 Subject: rewriter: make flake8 happy --- mesonbuild/mesonmain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mesonbuild/mesonmain.py') diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py index fdbb685..bd19da5 100644 --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py @@ -31,7 +31,7 @@ from .wrap import wraptool class CommandLineParser: def __init__(self): self.term_width = shutil.get_terminal_size().columns - self.formater = lambda prog: argparse.HelpFormatter(prog, max_help_position=int(self.term_width/2), width=self.term_width) + self.formater = lambda prog: argparse.HelpFormatter(prog, max_help_position=int(self.term_width / 2), width=self.term_width) self.commands = {} self.hidden_commands = [] -- cgit v1.1 From 90b557e38af2df9e68f72c96d0f22f0e7bc37e91 Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Sat, 2 Mar 2019 12:40:31 +0100 Subject: rewriter: Remove command alias --- mesonbuild/mesonmain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mesonbuild/mesonmain.py') diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py index bd19da5..822a943 100644 --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py @@ -57,7 +57,7 @@ class CommandLineParser: self.add_command('help', self.add_help_arguments, self.run_help_command, help='Print help of a subcommand') self.add_command('rewrite', lambda parser: rewriter.add_arguments(parser, self.formater), rewriter.run, - help='Modify the project definition', aliases=['rw']) + help='Modify the project definition') # Hidden commands self.add_command('runpython', self.add_runpython_arguments, self.run_runpython_command, -- cgit v1.1