From 9827725210c4f759e8883d8eeeb62a539801446c Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Wed, 6 Jul 2016 14:39:58 +0200 Subject: [PATCH] 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. --- clients/cli/agent.c | 4 ++++ clients/cli/general.c | 15 +++++++++++++++ clients/cli/nmcli.c | 7 ------- 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++;