From aefa8a60f23ebe5d6baafd782f30a5c2e07c6ed8 Mon Sep 17 00:00:00 2001 From: Ronan Pigott Date: Fri, 16 Aug 2019 23:34:49 -0700 Subject: [PATCH] client/main: add help option for available args This option exists to facilitate external completion of commands that have specially defined arguments. It effectively adds two new commands to bluetoothctl with the following output: $ bluetoothctl agent help on off DisplayOnly DisplayYesNo KeyboardDisplay KeyboardOnly NoInputNoOutput $ bluetoothctl advertise help on off peripheral broadcast Shell completion scripts can then parse this output to provide completions for those commands. Change-Id: Ia431ea11d7a1cb344b512f0180bd0ebac0754567 Signed-off-by: himanshu --- client/main.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/client/main.c b/client/main.c index a3206be..c530dc9 100644 --- a/client/main.c +++ b/client/main.c @@ -799,6 +799,13 @@ static gboolean parse_argument(int argc, char *argv[], const char **arg_table, { const char **opt; + if (!strcmp(argv[1], "help")) { + for (opt = arg_table; opt && *opt; opt++) + bt_shell_printf("%s\n", *opt); + bt_shell_noninteractive_quit(EXIT_SUCCESS); + return FALSE; + } + if (!strcmp(argv[1], "on") || !strcmp(argv[1], "yes")) { *value = TRUE; if (option) -- 2.7.4