diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-06 18:57:17 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-07 15:45:13 -0700 |
| commit | 60b49cf4f7958ae934bebfa165815ea79e403359 (patch) | |
| tree | 852952ab4ffdf518766c9603192a46ff786af4c4 | |
| parent | 1ed61c4de820da8a33828b3a220742357d2c004d (diff) | |
| download | vcpkg-60b49cf4f7958ae934bebfa165815ea79e403359.tar.gz vcpkg-60b49cf4f7958ae934bebfa165815ea79e403359.zip | |
Extract functions for output formatting
| -rw-r--r-- | toolsrc/include/vcpkg_Dependencies.h | 2 | ||||
| -rw-r--r-- | toolsrc/src/commands_remove.cpp | 22 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg_Dependencies.cpp | 13 |
3 files changed, 19 insertions, 18 deletions
diff --git a/toolsrc/include/vcpkg_Dependencies.h b/toolsrc/include/vcpkg_Dependencies.h index 3243a0915..96fe1031a 100644 --- a/toolsrc/include/vcpkg_Dependencies.h +++ b/toolsrc/include/vcpkg_Dependencies.h @@ -14,6 +14,8 @@ namespace vcpkg::Dependencies AUTO_SELECTED }; + std::string to_output_string(RequestType request_type, const CStringView s); + enum class InstallPlanType { UNKNOWN, diff --git a/toolsrc/src/commands_remove.cpp b/toolsrc/src/commands_remove.cpp index 185bc4185..8bf2c767b 100644 --- a/toolsrc/src/commands_remove.cpp +++ b/toolsrc/src/commands_remove.cpp @@ -121,32 +121,18 @@ namespace vcpkg::Commands::Remove } } + auto print_lambda = [](const PackageSpecWithRemovePlan* p) { return to_output_string(p->plan.request_type, p->spec.to_string()); }; + if (!not_installed.empty()) { std::sort(not_installed.begin(), not_installed.end(), &PackageSpecWithRemovePlan::compare_by_name); - System::println("The following packages are not installed, so not removed:\n%s", - Strings::join("\n", not_installed, [](const PackageSpecWithRemovePlan* p) - { - return " " + p->spec.to_string(); - })); + System::println("The following packages are not installed, so not removed:\n%s", Strings::join("\n", not_installed, print_lambda)); } if (!remove.empty()) { std::sort(remove.begin(), remove.end(), &PackageSpecWithRemovePlan::compare_by_name); - System::println("The following packages will be removed:\n%s", - Strings::join("\n", remove, [](const PackageSpecWithRemovePlan* p) - { - switch (p->plan.request_type) - { - case RequestType::AUTO_SELECTED: - return " * " + p->spec.to_string(); - case RequestType::USER_REQUESTED: - return " " + p->spec.to_string(); - default: - Checks::unreachable(VCPKG_LINE_INFO); - } - })); + System::println("The following packages will be removed:\n%s", Strings::join("\n", remove, print_lambda)); } } diff --git a/toolsrc/src/vcpkg_Dependencies.cpp b/toolsrc/src/vcpkg_Dependencies.cpp index 7f21d04c2..b09ad9ff5 100644 --- a/toolsrc/src/vcpkg_Dependencies.cpp +++ b/toolsrc/src/vcpkg_Dependencies.cpp @@ -9,6 +9,19 @@ namespace vcpkg::Dependencies { + std::string to_output_string(RequestType request_type, const CStringView s) + { + switch (request_type) + { + case RequestType::AUTO_SELECTED: + return Strings::format(" * %s", s); + case RequestType::USER_REQUESTED: + return Strings::format(" %s", s); + default: + Checks::unreachable(VCPKG_LINE_INFO); + } + } + InstallPlanAction::InstallPlanAction() : plan_type(InstallPlanType::UNKNOWN), binary_pgh(nullopt), source_pgh(nullopt) { } |
