diff options
Diffstat (limited to 'src/main/main.c')
| -rw-r--r-- | src/main/main.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/main.c b/src/main/main.c index a020b9f..b0e408d 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -31,6 +31,7 @@ #include "bindings.h" #include "cmds.h" #include "completion.h" +#include "version.h" static struct frame_allocator frame_allocator; @@ -121,16 +122,21 @@ void update_file_watches(struct reactor *reactor) { } } -void usage() { +static void usage() { printf("dged - a text editor for datagubbar/datagummor!\n"); printf("usage: dged [-l/--line line_number] [-e/--end] [-h/--help] " "[filename]\n"); } +static void version() { + printf("dged - %s\n© Albert Cervin 2024\n", DGED_VERSION); +} + int main(int argc, char *argv[]) { static struct option longopts[] = {{"line", required_argument, NULL, 'l'}, {"end", no_argument, NULL, 'e'}, + {"version", no_argument, NULL, 'V'}, {"help", no_argument, NULL, 'h'}, {NULL, 0, NULL, 0}}; @@ -138,8 +144,12 @@ int main(int argc, char *argv[]) { uint32_t jumpline = 1; bool goto_end = false; char ch; - while ((ch = getopt_long(argc, argv, "hel:", longopts, NULL)) != -1) { + while ((ch = getopt_long(argc, argv, "Vhel:", longopts, NULL)) != -1) { switch (ch) { + case 'V': + version(); + return 0; + break; case 'l': jumpline = atoi(optarg); break; |
