#include "cli.hpp" #include <stdio.h> #include <stdlib.h> #include <string.h> using namespace std; [[ noreturn ]] void version() { puts( # include "version.inc" ); exit(0); } [[ noreturn ]] void usage(int exit_value) { // TODO puts( "histui [options] <verb>\n" "\tOptions:\n" "\t\t-v --version\n" "\t\t-h --help\n" "\tVerbs:\n" "\t\tenable : print a bash script to enable histui in the current shell\n" "\t\ttui : run histui normally\n" ); exit(exit_value); } void parse_global_options(const int argc, const char * const * const argv) { for(int i = 1; i < argc; i++) { if (argv[i][0] != '-') { return; } if (not strcmp(argv[i], "-v") || not strcmp(argv[i], "--version")) { version(); } if (not strcmp(argv[i], "-h") || not strcmp(argv[i], "--help")) { usage(); } } } verb_t get_verb(const int argc, const char * const * const argv) { for(int i = 1; i < argc; i++) { if (argv[i][0] == '-') { continue; } if (not strcmp(argv[i], "tui")) { return TUI; } if (not strcmp(argv[i], "enable")) { return ENABLE; } return ERROR; } return ERROR; }