An extension to o2scl::cli which uses readline. More...
#include <cli_readline.h>
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... | |
![]() | |
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. | |
![]() | |
int | verbose |
Control screen output. | |
char | buf [300] |
Storage for getline. | |
comm_option_funct * | user_set_func |
Storage for the function to call after setting a parameter. | |
std::vector< comm_option_s > | clist |
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 | |
![]() | |
typedef std::map< std::string, parameter *, std::greater< std::string > >::iterator | par_t |
List iterator. | |
![]() | |
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 const int | comm_option_command =0 |
static const int | comm_option_cl_param =1 |
static const int | comm_option_both =2 |
![]() | |
typedef std::map< std::string, std::string, std::greater< std::string > >::iterator | al_it |
![]() | |
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) |
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.
|
inlinevirtual |
Reimplemented from o2scl::cli.
Definition at line 76 of file cli_readline.h.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).