multi command keybinds

This commit is contained in:
taiyu 2015-09-14 19:59:25 -07:00
parent e505abfe75
commit 0bea2e2122
6 changed files with 280 additions and 109 deletions

View file

@ -3,13 +3,15 @@
#include <stdbool.h>
#include "config.h"
struct cmd_handler {
char *command;
enum cmd_status {
CMD_SUCCESS,
CMD_FAILURE,
CMD_DEFER,
} (*handle)(int argc, char **argv);
enum cmd_status {
CMD_SUCCESS,
CMD_FAILURE,
CMD_INVALID,
CMD_DEFER,
// Config Blocks
CMD_BLOCK_END,
CMD_BLOCK_MODE,
};
enum cmd_status handle_command(char *command);

View file

@ -7,6 +7,7 @@ extern const char *whitespace;
char *strip_whitespace(char *str);
char *strip_comments(char *str);
void strip_quotes(char *str);
// Simply split a string with delims, free with `free_flat_list`
list_t *split_string(const char *str, const char *delims);
@ -22,5 +23,10 @@ int unescape_string(char *string);
char *join_args(char **argv, int argc);
char *join_list(list_t *list, char *separator);
// split string into 2 by delim.
char *cmdsep(char **stringp, const char *delim);
// Split string into 2 by delim, handle quotes
char *argsep(char **stringp, const char *delim);
char *strdup(const char *);
#endif