# # $XORP: xorp/cli/TODO,v 1.9 2006/08/02 07:59:20 pavlin Exp $ # * Update libtecla to the lastest version (currently, 1.6, while we are using 1.4). * Currently, the functions of 'j' and 'k' in page mode are: - 'j' scroll down one line - 'k' scroll up one line In some router vendors (e.g., Juniper), the key binding is just the opposite. Hence, add hooks so the CLI behaves similar as Juniper (if the user desires so). * If SPACE is pressed on empty line at the bottom of the terminal xterm window, and then Ctrl-D is pressed, the command completion help output overlaps with the current line. * For consistency with other modules, rename init_family argument to family in the CliNode constructor. Do similar renaming for other arguments. * Implement CliCommand::create_default_cli_commands() and use it as appropriate. * Don't return any error if a command with exactly same help, etc was installed already. (??) * Add output paging for generated help. * Change cli_command->server_name() and friends to 'processor_name' * When disconnecting a CliClient during initialization of a connection, due to an error, print the error. * When asking for help '?' or on a command that supports optional arguments, print those optional arguments as well. * cli_command->name() for the root command is empty string. When printing error with cli_command->name(), use '' around the command name to make it clear where the command is. * Implement the missing pipe filters. * Add support for \" escaping of a quotation. * Parse the pipe commands and return error if the (number of) arguments do not match. * Change/fix pop_token() to return an error when no pair of quotations found. * Check if the cli_client->_buffer_line magic indeed works if the very last cli_printf() doesn't have '\n' at the end. * Commbine the "Enter" help message to be defined at a single place. * Help messages for following commands are not same as in Juniper: - "| compare rollback" - "| display detail" - "| display inheritance" - "| display xml" * If no command is typed, the pressing "SPACE" should or should not list the available commands? Right now, pressing the SPACE when nothing typed at all will NOT list the available commands; also, pressing it after another command will not list the sub-commands. * Implement name completion for filenames and for usernames (when appropriate). * In Juniper, we have: "Delete all characters on the command line" : Ctrl-u or Ctrl-x "Delete the word before cursor" : Ctrl-w, Esc-Backspace, or Alt-Backspace In libtecla, all the above combinations works except "Ctrl-x". Do we want to add this combination as well? Other keys that don't work are: "Search the CLI history in reverse order..." : Ctrl-r "Search the CLI history by typing ..." : Esc-/