[virt-tools-list] [virt-manager] [RFC PATCH 7/9] cli: Add auto complete support about sub options
Lin Ma
lma at suse.com
Fri Dec 7 07:56:47 UTC 2018
On 11/18/18 9:53 AM, Cole Robinson wrote:
> On 11/14/2018 03:12 AM, Lin Ma wrote:
>> With this patchset, the sub options completion is available. ex:
>>
>> $ virt-install --disk <TAB><TAB>
>> ...
>> bus= cache= format= path= serial= size=
>> ...
>>
>> $ virt-install --disk path=test.qcow2,cache=none,<TAB><TAB>
>> ...
>> bus= format= serial= size=
>> ...
>>
>> $ virt-install --disk bu<TAB><TAB>
>> Then the sub option 'bus' will be auto completed with a '='
>> $ virt-install --disk bus=
>>
>> Signed-off-by: Lin Ma <lma at suse.com>
>> ---
>> virtinst/cli.py | 84 ++++++++++++++++++++++++-------------------------
>> 1 file changed, 42 insertions(+), 42 deletions(-)
>>
>> diff --git a/virtinst/cli.py b/virtinst/cli.py
>> index d46155f7..267997b3 100644
>> --- a/virtinst/cli.py
>> +++ b/virtinst/cli.py
>> @@ -558,7 +558,7 @@ def add_misc_options(grp, prompt=False,
>> replace=False,
>> grp.add_argument("--check", action="append",
>> help=_("Enable or disable validation checks. Example:\n"
>> "--check path_in_use=off\n"
>> - "--check all=off"))
>> + "--check all=off")).completer = completer
>
> The formatting of this kinda offends me :) but I see that it's the
> recommended method in argcomplete docs so I'm just whining.
>
> I wonder if we can do something like iterate over VIRT_PARSERS,
> compare cli_arg_name against the parser's arguments, and set completer
> programmatically that way. Will make it future proof and ensure we
> don't miss adding it for future additions.
>
> If you want to take a stab at it for v2 that's cool, but it's not a
> requirement
To be honst, I'd lean towards to do it in the future.
More information about the virt-tools-list
mailing list