On 08.08.2013 16:38, Tomas Meszaros wrote: > Add .completer and .completer_flags to domManagementCmds. > > vshDomainCompleter (with appropriate flags) is enabled for > commands requiring only single <domain> argument. > --- > tools/virsh-domain.c | 230 ++++++++++++++++++++++++++++++++++++++++----------- > 1 file changed, 180 insertions(+), 50 deletions(-) > > diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c > index 5e1196f..b89b219 100644 > --- a/tools/virsh-domain.c > +++ b/tools/virsh-domain.c > @@ -2752,7 +2752,8 @@ static const vshCmdOptDef opts_dom_pm_suspend[] = { > .flags = VSH_OFLAG_REQ, > .help = N_("mem(Suspend-to-RAM), " > "disk(Suspend-to-Disk), " > - "hybrid(Hybrid-Suspend)") > + "hybrid(Hybrid-Suspend)"), > + .completer = vshSuspendTargetCompleter It makes more sense to add this chunk to the patch introducing vshSuspendTargetCompleter (3/8 that is). In fact, I think you need to reorder the patches. 1/8 is correct (from ordering POV). It should be followed by 5/8 and then the rest of the patches which add completers. > }, > {.name = NULL} > }; > @@ -4707,7 +4708,8 @@ static const vshCmdOptDef opts_shutdown[] = { > }, > {.name = "mode", > .type = VSH_OT_STRING, > - .help = N_("shutdown mode: acpi|agent|initctl|signal") > + .help = N_("shutdown mode: acpi|agent|initctl|signal"), > + .completer = vshRebootShutdownModeCompleter > }, > {.name = NULL} > }; > @@ -4793,7 +4795,8 @@ static const vshCmdOptDef opts_reboot[] = { > }, > {.name = "mode", > .type = VSH_OT_STRING, > - .help = N_("shutdown mode: acpi|agent|initctl|signal") > + .help = N_("shutdown mode: acpi|agent|initctl|signal"), > + .completer = vshRebootShutdownModeCompleter > }, > {.name = NULL} > }; > @@ -10333,7 +10336,10 @@ const vshCmdDef domManagementCmds[] = { > .handler = cmdAutostart, > .opts = opts_autostart, > .info = info_autostart, > - .flags = 0 > + .flags = 0, > + .completer = vshDomainCompleter, > + .completer_flags = VIR_CONNECT_LIST_DOMAINS_ACTIVE | > + VIR_CONNECT_LIST_DOMAINS_INACTIVE Nice! It's super-easy for other commands to profit from well written (read generic enough) completer. Just pass the correct flags. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list