diff options
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 31 |
1 files changed, 23 insertions, 8 deletions
@@ -688,7 +688,10 @@ static void ftag_file(int argc, char **argv) static void ftag_help(int, char **) { - puts("Usage: ftag COMMAND [ARG]..."); + puts("Usage: ftag [OPTION]... COMMAND [ARG]..."); + puts("Available values for OPTION:"); + puts(" -c FILE use FILE as configuration file"); + puts(" -h display this help"); puts("Available values for COMMAND:"); puts(" init initialize the database"); puts(" file manage files"); @@ -698,11 +701,6 @@ static void ftag_help(int, char **) puts(" tag manage tags"); puts("Some commands also have their own help,"); puts("try \"ftag COMMAND help\" or \"ftag COMMAND -h\"."); - puts("Configuration:"); - printf(" cache %s\n", FTAG_CACHE_DIR); - printf(" config %s\n", FTAG_CONFIG_DIR); - printf(" prefix %s\n", FTAG_PREFIX); - printf(" version %s\n", FTAG_VERSION); } static void ftag_query_usage(void) @@ -1055,12 +1053,29 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + const char* config_file = NULL; + const char *optstring = "c:h"; + int opt; + + while ((opt = getopt(argc, argv, optstring)) != -1) { + switch (opt) { + case 'h': + ftag_help(0, NULL); + exit(EXIT_SUCCESS); + case 'c': + config_file = optarg; + break; + case'?': + default: + ftag_help(0, NULL); + exit(EXIT_FAILURE); + } + } + const struct ftag_command toplevel_commands[] = { {.name = "export", .func = ftag_export}, {.name = "init", .func = ftag_init}, {.name = "file", .func = ftag_file}, - {.name = "-h", .func = ftag_help}, - {.name = "--help", .func = ftag_help}, {.name = "help", .func = ftag_help}, {.name = "query", .func = ftag_query}, {.name = "sync", .func = ftag_sync}, |
