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