From d45b4ac3ecf3f2f7703384e00e4275fcca6cd793 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. --- client/main.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/client/main.c b/client/main.c index 578b3c7c3..68dabda02 100644 --- a/client/main.c +++ b/client/main.c @@ -800,6 +800,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.47.3