Libcli provides a shared library for including a Cisco-like command-line interface into other software. It's a telnet interface which supports command-line editing, history, authentication and callbacks for a user-definable function tree.
As initially coded a CLI_CMD_OPTIONAL_FLAG item will only tab complete the name of the optional flag. This works for some arguments 'as-is', such as for a optarg named 'verbose'. However if there there are multiple acceptable 'answers' (true, True, yes, 1, verbose for example), the tab completion will not recognized them and this can impact parsing.
As initially coded a CLI_CMD_OPTIONAL_FLAG item will only tab complete the name of the optional flag. This works for some arguments 'as-is', such as for a optarg named 'verbose'. However if there there are multiple acceptable 'answers' (true, True, yes, 1, verbose for example), the tab completion will not recognized them and this can impact parsing.