#pragma once #include "blankie/cliparse.h" using Parser = blankie::cliparse::Parser; #define HELP_TEXT &R"EOF( Usage: %1$s [-C=] create or %1$s [-C=] search or %1$s [-C=] prune or %1$s [-C=] {info|show} ... or %1$s [-C=] delete ... or %1$s [-C=] edit or %1$s [-C=] get or %1$s [-C=] set -C= changes the current working directory to before a subcommand is executed. This causes the database to be looked up in , all file paths are relative to and database creation to be inside of create creates a database in the current directory (or ) prune removes all metadata entries that correspond to non-existent files, then vaccums the database delete only deletes the metadata for the files specified, not the actual files themselves get outputs the file's path, source, description, and miscellaneous information delimited by a null-byte )EOF"[1] void subcommand_create(const Parser& parser); void subcommand_search(const Parser& parser); void subcommand_prune(const Parser& parser); void subcommand_info(const Parser& parser); void subcommand_delete(const Parser& parser); void subcommand_edit(const Parser& parser); void subcommand_get(const Parser& parser); void subcommand_set(const Parser& parser);