Public Member Functions | Protected Attributes | List of all members
o2scl::cli_readline Class Reference

An extension to o2scl::cli which uses readline. More...

#include <cli_readline.h>

Inheritance diagram for o2scl::cli_readline:
o2scl::cli

Public Member Functions

 cli_readline (std::string fname=".cli_hist", size_t max_size=100)
 
virtual char * cli_gets (const char *c)
 Function to get a string from the user. More...
 
- Public Member Functions inherited from o2scl::cli
int set_function (comm_option_funct &usf)
 Function to call when a set command is issued.
 
int call_args (std::vector< cmd_line_arg > &ca)
 Call functions corresponding to command-line args.
 
int process_args (int argc, char *argv[], std::vector< cmd_line_arg > &ca, int debug=0)
 Process command-line arguments from a const char array. More...
 
int process_args (std::vector< std::string > &sv, std::vector< cmd_line_arg > &ca, int debug)
 
int process_args (std::string s, std::vector< cmd_line_arg > &ca, int debug=0)
 Process command-line arguments from a string. More...
 
int set_verbose (int v)
 Set verbosity. More...
 
int run_interactive ()
 Run the interactive mode.
 
int set_alias (std::string alias, std::string str)
 Set an alias alias for the string str. More...
 
std::string get_alias (std::string alias)
 Set an alias alias for the string str. More...
 
int set_comm_option (comm_option_s &ic)
 Add a new command. More...
 
template<class vec_t >
int set_comm_option_vec (size_t list_size, vec_t &option_list)
 Add a vector containing new commands/options.
 
int set_param_help (std::string param, std::string help)
 Set one-line help text for a parameter named param.
 
int run_auto (int argc, char *argv[], int debug=0)
 Automatically parse arguments to main and call interactive mode if required.
 

Protected Attributes

char * line_read
 Buffer for readline.
 
std::string histfile
 String containing filename.
 
size_t msize
 Maximum history file size.
 
- Protected Attributes inherited from o2scl::cli
int verbose
 Control screen output.
 
char buf [300]
 Storage for getline.
 
comm_option_functuser_set_func
 Storage for the function to call after setting a parameter.
 
std::vector< comm_option_sclist
 List of commands.
 
std::vector< std::string > ph_name
 
std::vector< std::string > ph_desc
 
std::map< std::string, std::string, std::greater< std::string > > als
 

Additional Inherited Members

- Public Types inherited from o2scl::cli
typedef std::map< std::string, parameter *, std::greater< std::string > >::iterator par_t
 List iterator.
 
- Public Attributes inherited from o2scl::cli
std::string tilde_string
 String to replace tildes with.
 
bool gnu_intro
 If true, output the usual GNU intro when run_interactive() is called (default true). More...
 
bool sync_verbose
 If true, then sync cli::verbose, with a parameter of the same name.
 
bool shell_cmd_allowed
 If true, allow the user to use ! to execute a shell command (default true)
 
std::string prompt
 The prompt (default "> ")
 
std::string desc
 A one- or two-line description (default is empty string)
 
std::string cmd_name
 The name of the command.
 
std::string addl_help_cmd
 Additional help text for interactive mode (default is empty string)
 
std::string addl_help_cli
 Additional help text for command-line (default is empty string)
 
comm_option_s c_commands
 
comm_option_s c_help
 
comm_option_s c_quit
 
comm_option_s c_exit
 
comm_option_s c_license
 
comm_option_s c_warranty
 
comm_option_s c_set
 
comm_option_s c_get
 
comm_option_s c_run
 
comm_option_s c_no_intro
 
comm_option_s c_alias
 
std::map< std::string, parameter *, std::less< std::string > > par_list
 Parameter list.
 
- Static Public Attributes inherited from o2scl::cli
static const int comm_option_command =0
 
static const int comm_option_cl_param =1
 
static const int comm_option_both =2
 
- Protected Types inherited from o2scl::cli
typedef std::map< std::string, std::string, std::greater< std::string > >::iterator al_it
 
- Protected Member Functions inherited from o2scl::cli
int output_param_list ()
 Output the parameter list.
 
int expand_tilde (std::vector< std::string > &sv)
 Attempt to expand a tilde to a user's home directory. More...
 
int apply_alias (std::vector< std::string > &sv, std::string sold, std::string snew)
 Replace all occurences of sold with snew in sv.
 
bool string_equal_dash (std::string s1, std::string s2)
 Compare two strings, treating dashes and underscores as equivalent.
 
int comm_option_alias (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_commands (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_get (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_help (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_license (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_no_intro (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_run (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_set (std::vector< std::string > &sv, bool itive_com)
 
int comm_option_warranty (std::vector< std::string > &sv, bool itive_com)
 

Detailed Description

This header-only class requires the GNU readline library for use, but is not referenced by O2scl code at the moment to make the library usable without readline.

Definition at line 45 of file cli_readline.h.

Member Function Documentation

◆ cli_gets()

virtual char* o2scl::cli_readline::cli_gets ( const char *  c)
inlinevirtual

Reimplemented from o2scl::cli.

Definition at line 76 of file cli_readline.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).