#include <string>
#include <iosfwd>
#include <cstdio>
#include <sys/types.h>
#include <sys/file.h>
#include <sys/stat.h>
#include <sys/errno.h>
#include <readline/readline.h>
#include <readline/history.h>
Go to the source code of this file.
Classes | |
struct | COMMAND |
Typedefs | |
typedef int(* | pt2Func )(char *) |
Functions | |
char * | getwd () |
char * | xmalloc (size_t) |
int | com_list (char *) |
int | com_view (char *) |
int | com_rename (char *) |
int | com_stat (char *) |
int | com_pwd (char *) |
int | com_delete (char *) |
int | com_help (char *) |
int | com_cd (char *) |
int | com_quit (char *) |
char * | stripwhite (char *iString) |
COMMAND * | find_command (char *iString) |
char * | dupstr (char *iString) |
int | execute_line (char *line) |
char * | command_generator (char *text, int state) |
char ** | fileman_completion (char *text, int start, int end) |
void | initialize_readline () |
void | too_dangerous (char *caller) |
int | valid_argument (char *caller, char *arg) |
Variables | |
COMMAND | commands [] |
int | done |
static char | syscom [1024] |
typedef int(* pt2Func)(char *) |
Definition at line 35 of file readline_autocomp.hpp.
char* getwd | ( | ) |
readline_autocomp.hpp – A tiny application which demonstrates how to use the GNU Readline library. This application interactively allows users to manipulate files and their modes.
Referenced by com_pwd().
char* xmalloc | ( | size_t | ) |
Referenced by dupstr().
void com_list | ( | char * | arg | ) |
List the file(s) named in arg.
Definition at line 264 of file readline_autocomp.hpp.
int com_view | ( | char * | arg | ) |
Definition at line 274 of file readline_autocomp.hpp.
References valid_argument().
int com_rename | ( | char * | arg | ) |
Definition at line 284 of file readline_autocomp.hpp.
References too_dangerous().
int com_stat | ( | char * | arg | ) |
Definition at line 289 of file readline_autocomp.hpp.
References valid_argument().
int com_pwd | ( | char * | ignore | ) |
int com_delete | ( | char * | arg | ) |
Definition at line 315 of file readline_autocomp.hpp.
References too_dangerous().
int com_help | ( | char * | arg | ) |
Print out help for ARG, or for all of the commands if ARG is not present.
Definition at line 324 of file readline_autocomp.hpp.
References COMMAND::name.
int com_cd | ( | char * | arg | ) |
Definition at line 356 of file readline_autocomp.hpp.
References com_pwd().
int com_quit | ( | char * | arg | ) |
Definition at line 381 of file readline_autocomp.hpp.
char * stripwhite | ( | char * | string | ) |
Strip whitespace from the start and end of STRING. Return a pointer into STRING.
Definition at line 152 of file readline_autocomp.hpp.
COMMAND * find_command | ( | char * | name | ) |
Look up NAME as the name of a command, and return a pointer to that command. Return a NULL pointer if NAME isn't a command name.
Definition at line 136 of file readline_autocomp.hpp.
References COMMAND::name.
Referenced by execute_line().
char* dupstr | ( | char * | iString | ) |
Duplicate a string
Definition at line 85 of file readline_autocomp.hpp.
References xmalloc().
Referenced by command_generator().
int execute_line | ( | char * | line | ) |
Execute a command line.
Definition at line 94 of file readline_autocomp.hpp.
References find_command(), and COMMAND::func.
char * command_generator | ( | char * | text, |
int | state | ||
) |
Generator function for command completion. STATE lets us know whether to start from scratch; without any state (i.e. STATE == 0), then we start at the top of the list.
Definition at line 222 of file readline_autocomp.hpp.
References dupstr().
Referenced by fileman_completion().
char ** fileman_completion | ( | char * | text, |
int | start, | ||
int | end | ||
) |
Attempt to complete on the contents of TEXT. START and END bound the region of rl_line_buffer that contains the word to complete. TEXT is the word to complete. We can use the entire contents of rl_line_buffer in case we want to do some simple parsing. Return the array of matches, or NULL if there aren't any.
Definition at line 200 of file readline_autocomp.hpp.
References command_generator().
Referenced by initialize_readline().
void initialize_readline | ( | ) |
Tell the GNU Readline library how to complete. We want to try to complete on command names if this is the first word in the line, or on filenames if not.
Definition at line 185 of file readline_autocomp.hpp.
References fileman_completion().
void too_dangerous | ( | char * | caller | ) |
Definition at line 387 of file readline_autocomp.hpp.
Referenced by com_delete(), and com_rename().
int valid_argument | ( | char * | caller, |
char * | arg | ||
) |
Definition at line 395 of file readline_autocomp.hpp.
Referenced by com_stat(), and com_view().
COMMAND commands[] |
Definition at line 58 of file readline_autocomp.hpp.
int done |
When non-zero, this global means the user is done using this program.
Definition at line 80 of file readline_autocomp.hpp.
|
static |
String to pass to system(). This is for the LIST, VIEW and RENAME commands.
Definition at line 259 of file readline_autocomp.hpp.