aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/commands_list.cpp
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-06-09 23:46:20 -0700
committerGitHub <noreply@github.com>2017-06-09 23:46:20 -0700
commit2e01b926d875f13eea368e123f5d3fe925b29bec (patch)
tree4721db2590c43510e06b1f5eb1a529a9260869ee /toolsrc/src/commands_list.cpp
parentb792660d200f5a294e4b9d2e33a84a29778ba8c8 (diff)
parente5dc2f9c8ff5dfe3266a0c144a1e21b96fa62e25 (diff)
downloadvcpkg-2e01b926d875f13eea368e123f5d3fe925b29bec.tar.gz
vcpkg-2e01b926d875f13eea368e123f5d3fe925b29bec.zip
Merge pull request #1106 from evil-e/master
Added option to search and list commands
Diffstat (limited to 'toolsrc/src/commands_list.cpp')
-rw-r--r--toolsrc/src/commands_list.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/toolsrc/src/commands_list.cpp b/toolsrc/src/commands_list.cpp
index 6451ac5eb..d21883fc2 100644
--- a/toolsrc/src/commands_list.cpp
+++ b/toolsrc/src/commands_list.cpp
@@ -7,12 +7,21 @@
namespace vcpkg::Commands::List
{
- static void do_print(const StatusParagraph& pgh)
+ static const std::string OPTION_FULLDESC = "--x-full-desc"; // TODO: This should find a better home, eventually
+
+ static void do_print(const StatusParagraph& pgh, bool FullDesc)
{
- System::println("%-27s %-16s %s",
- pgh.package.displayname(),
- pgh.package.version,
- details::shorten_description(pgh.package.description));
+ if (FullDesc)
+ {
+ System::println("%-27s %-16s %s", pgh.package.displayname(), pgh.package.version, pgh.package.description);
+ }
+ else
+ {
+ System::println("%-27s %-16s %s",
+ pgh.package.displayname(),
+ pgh.package.version,
+ details::shorten_description(pgh.package.description));
+ }
}
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
@@ -21,7 +30,8 @@ namespace vcpkg::Commands::List
"The argument should be a substring to search for, or no argument to display all installed libraries.\n%s",
Commands::Help::create_example_string("list png"));
args.check_max_arg_count(1, example);
- args.check_and_get_optional_command_arguments({});
+ const std::unordered_set<std::string> options =
+ args.check_and_get_optional_command_arguments({OPTION_FULLDESC});
const StatusParagraphs status_paragraphs = database_load_check(paths);
std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_paragraphs);
@@ -42,7 +52,7 @@ namespace vcpkg::Commands::List
{
for (const StatusParagraph* status_paragraph : installed_packages)
{
- do_print(*status_paragraph);
+ do_print(*status_paragraph, options.find(OPTION_FULLDESC) != options.cend());
}
}
else
@@ -56,7 +66,7 @@ namespace vcpkg::Commands::List
continue;
}
- do_print(*status_paragraph);
+ do_print(*status_paragraph, options.find(OPTION_FULLDESC) != options.cend());
}
}