summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2016-07-06 14:39:58 +0200
committerLubomir Rintel <lkundrak@v3.sk>2016-08-01 13:52:36 +0200
commit9827725210c4f759e8883d8eeeb62a539801446c (patch)
treea061370b18bf1e68e9a02d4678e31a0bda4a0bd8
parent60f992c5d31228dabbca770d960fbf44f30e4493 (diff)
downloadNetworkManager-9827725210c4f759e8883d8eeeb62a539801446c.tar.gz
cli: get rid of the global command completion whitelist
We're going to implement most of the missing pieces; the rest is going to handle inability to complete itself.
-rw-r--r--clients/cli/agent.c4
-rw-r--r--clients/cli/general.c15
-rw-r--r--clients/cli/nmcli.c7
3 files changed, 19 insertions, 7 deletions
diff --git a/clients/cli/agent.c b/clients/cli/agent.c
index b8a56d2381..b1900b2e0c 100644
--- a/clients/cli/agent.c
+++ b/clients/cli/agent.c
@@ -198,6 +198,10 @@ do_agent_all (NmCli *nmc, int argc, char **argv)
NMCResultCode
do_agent (NmCli *nmc, int argc, char **argv)
{
+ /* Not (yet?) supported */
+ if (nmc->complete)
+ return nmc->return_value;
+
/* Get NMClient object */
nmc->get_client (nmc);
diff --git a/clients/cli/general.c b/clients/cli/general.c
index 739cdf8536..0f8c8892c3 100644
--- a/clients/cli/general.c
+++ b/clients/cli/general.c
@@ -570,6 +570,10 @@ do_general (NmCli *nmc, int argc, char **argv)
{
GError *error = NULL;
+ /* Not (yet?) supported */
+ if (nmc->complete)
+ return nmc->return_value;
+
/* Register polkit agent */
nmc_start_polkit_agent_start_try (nmc);
@@ -741,6 +745,10 @@ do_networking (NmCli *nmc, int argc, char **argv)
{
gboolean enable_flag;
+ /* Not (yet?) supported */
+ if (nmc->complete)
+ return nmc->return_value;
+
/* Register polkit agent */
nmc_start_polkit_agent_start_try (nmc);
@@ -805,6 +813,10 @@ do_radio (NmCli *nmc, int argc, char **argv)
GError *error = NULL;
gboolean enable_flag;
+ /* Not (yet?) supported */
+ if (nmc->complete)
+ return nmc->return_value;
+
/* Register polkit agent */
nmc_start_polkit_agent_start_try (nmc);
@@ -1181,6 +1193,9 @@ do_overview (NmCli *nmc, int argc, char **argv)
NMCResultCode
do_monitor (NmCli *nmc, int argc, char **argv)
{
+ if (nmc->complete)
+ return nmc->return_value;
+
if (argc > 0) {
if (!nmc_arg_is_help (*argv)) {
g_string_printf (nmc->return_text, _("Error: 'monitor' command '%s' is not valid."), *argv);
diff --git a/clients/cli/nmcli.c b/clients/cli/nmcli.c
index 89279eb6dc..43b1ae9b42 100644
--- a/clients/cli/nmcli.c
+++ b/clients/cli/nmcli.c
@@ -128,13 +128,6 @@ parse_command_line (NmCli *nmc, int argc, char **argv)
else
base++;
if (argc > 1 && nm_streq (argv[1], "--complete-args")) {
- /* We (currently?) support --complete-args for "connection" command only:
- * ignore any other command when this option is enabled as means we are in
- * autocompletion mode (so we should just quit and don't print anything).
- * This would help us to ensure shell autocompletion after NM package downgrade
- * if we ever will enable --complete-args for other commands */
- if ((argc == 2) || !(nm_streq0 (argv[2], "connection") || nm_streq0 (argv[2], "device")))
- return nmc->return_value;
nmc->complete = TRUE;
argv[1] = argv[0];
argc--; argv++;