diff options
author | bd <bdunahu@operationnull.com> | 2025-03-10 19:42:01 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-03-10 19:42:01 -0400 |
commit | 3f07846136767cbed13fd83baaba416f19c61667 (patch) | |
tree | 140af0aec8ee90ac4c15e8b877ff2dc88f33d7ae /src/main.cc | |
parent | 141494cb961b72a7ad56c3e754af43a07f1b8c23 (diff) |
CLI view, clock, store, program banner
Diffstat (limited to 'src/main.cc')
-rw-r--r-- | src/main.cc | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/src/main.cc b/src/main.cc index 08cb89f..cc5fbb3 100644 --- a/src/main.cc +++ b/src/main.cc @@ -3,25 +3,47 @@ #include <getopt.h> #include <iostream> -void err() +static std::string version_number = "v0.1"; + +static std::string banner = + " _/_/_/ _/_/_/ _/_/_/ _/_/_/ \n" + " _/ _/ _/ _/ _/ \n" + " _/_/_/ _/ _/_/ _/ \n" + " _/ _/ _/ _/ _/ \n" + "_/ _/ _/_/_/ _/_/_/ _/_/_/ \n" + " \n" + " \n" + " _/_/ _/_/ \n" + " _/ _/ _/ _/_/_/_/ _/_/_/ _/_/_/_/_/ _/_/ _/_/_/ _/ \n" + " _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ \n" + "_/ _/ _/ _/_/_/ _/ _/ _/ _/ _/_/_/ _/ \n" + " _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ \n" + " _/ _/ _/_/_/_/ _/_/_/ _/ _/_/ _/ _/ _/ \n" + " _/_/ _/_/ \n"; + +static void print_version_number() { std::cout << banner << version_number << '\n'; } + +static void err() { std::cerr << "Usage:\n\trisc_vector [OPTIONS]\nOptions:\n\t--debug,\t-d: " - "turn on verbose output\n\t--no-python,\t-p: run without GUI\n" + "turn on verbose output\n\t--no-python,\t-p: run without " + "GUI\n\t--version,\t-v: print the version information and exit\n" << std::endl; } -void parseArguments(int argc, char **argv, Logger &logger, bool &python) +static void parseArguments(int argc, char **argv, Logger &logger, bool &python) { struct option long_options[] = { {"debug", no_argument, 0, 'd'}, {"no-python", no_argument, 0, 'p'}, + {"version", no_argument, 0, 'v'}, {0, 0, 0, 0}}; python = true; int opt; - while ((opt = getopt_long(argc, argv, "d:p", long_options, NULL)) != -1) { + while ((opt = getopt_long(argc, argv, "d:p:v", long_options, NULL)) != -1) { switch (opt) { case 'd': logger.setLevel(DEBUG); @@ -31,6 +53,9 @@ void parseArguments(int argc, char **argv, Logger &logger, bool &python) logger.log(INFO, "Python will NOT be started!"); python = false; break; + case 'v': + print_version_number(); + exit(EXIT_SUCCESS); default: err(); exit(EXIT_FAILURE); @@ -40,6 +65,7 @@ void parseArguments(int argc, char **argv, Logger &logger, bool &python) int main(int argc, char **argv) { + print_version_number(); Logger logger("vector.log"); Cli cli; logger.log(INFO, "Initializing..."); |