#
# $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 <TAB> 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 <Tab> 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-/
