From 65cb88bf620581205fffba3049822f97961dbec1 Mon Sep 17 00:00:00 2001 From: katherine Date: Wed, 18 Dec 2019 08:43:22 -0700 Subject: add line-delim and col-delim options --- reqs/simple-opt | 2 +- src/opt.c | 26 +++++++++++++++++++++++--- src/opt.h | 3 +++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/reqs/simple-opt b/reqs/simple-opt index 197d36e..4fd21e3 160000 --- a/reqs/simple-opt +++ b/reqs/simple-opt @@ -1 +1 @@ -Subproject commit 197d36e32ddf85b49e82d5b84b9170f25f844ecb +Subproject commit 4fd21e3125c3003ecd0ae28c50c8656b62faefba diff --git a/src/opt.c b/src/opt.c index 31b1186..6a958a6 100644 --- a/src/opt.c +++ b/src/opt.c @@ -14,9 +14,13 @@ static struct simple_opt options[] = { { SIMPLE_OPT_FLAG, 'v', "version", false, "print the version of every in use and exit" }, { SIMPLE_OPT_STRING, 'c', "calendar", true, - "path to calendar file", "" }, + "path to calendar file", "FILE" }, { SIMPLE_OPT_STRING, 'e', "editor", true, - "text editor for editing calendars", "" }, + "text editor for editing calendars", "CMD" }, + { SIMPLE_OPT_CHAR, '\0', "line-delim", true, + "line delimiter for scripting output" }, + { SIMPLE_OPT_CHAR, '\0', "col-delim", true, + "column delimiter for scripting output" }, { SIMPLE_OPT_END } }; @@ -36,7 +40,7 @@ void opt_parse(int argc, char **argv) if (options[0].was_seen) { simple_opt_print_usage(stdout, 80, argv[0], "[-c CALENDAR_FILE] [-e TEXT_EDITOR] [COMMAND]", - "every is a flexible, console-based event calendar", + "every is a simple console-based event calendar", options); printf( @@ -95,6 +99,22 @@ char* opt_editor(void) return getenv("EDITOR"); } +char opt_line_delim(void) +{ + if (options[4].was_seen) + return options[4].val.v_char; + + return '\n'; +} + +char opt_col_delim(void) +{ + if (options[5].was_seen) + return options[5].val.v_char; + + return '\t'; +} + enum opt_command_e opt_command(void) { if (result.argc > 0) { diff --git a/src/opt.h b/src/opt.h index 6c10d3c..dee767c 100644 --- a/src/opt.h +++ b/src/opt.h @@ -12,6 +12,9 @@ void opt_parse(int argc, char **argv); char* opt_calpath(void); char* opt_editor(void); +char opt_line_delim(void); +char opt_col_delim(void); + enum opt_command_e opt_command(void); #endif -- cgit v1.2.3