aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/commands_remove.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'toolsrc/src/commands_remove.cpp')
-rw-r--r--toolsrc/src/commands_remove.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/toolsrc/src/commands_remove.cpp b/toolsrc/src/commands_remove.cpp
index b2d9f602a..d52c9347b 100644
--- a/toolsrc/src/commands_remove.cpp
+++ b/toolsrc/src/commands_remove.cpp
@@ -121,7 +121,26 @@ namespace vcpkg::Commands::Remove
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
{
- static const std::string OPTION_PURGE = "--purge";
+ enum SwitchType
+ {
+ SINGLE,
+ SINGLE_WITH_NO,
+ VALUE,
+ };
+
+ struct Option
+ {
+ CStringView name;
+ SwitchType type;
+ };
+
+ static constexpr Option options_table[] = {
+ Option{ "--purge", SINGLE_WITH_NO }, Option{ "--recurse", SINGLE_WITH_NO },
+ Option{ "--dry-run", SINGLE_WITH_NO }, Option{ "--outdated", SINGLE },
+ Option{ "--logfile", VALUE },
+ };
+
+ static constexpr CStringView OPTION_PURGE = "--purge";
static const std::string OPTION_NO_PURGE = "--no-purge";
static const std::string OPTION_RECURSE = "--recurse";
static const std::string OPTION_DRY_RUN = "--dry-run";