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.
This commit is contained in:
Lubomir Rintel 2016-07-06 14:39:58 +02:00
parent 60f992c5d3
commit 9827725210
3 changed files with 19 additions and 7 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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++;