aboutsummaryrefslogtreecommitdiff
path: root/toolsrc
diff options
context:
space:
mode:
authorAlexander Karatarakis <alex@karatarakis.com>2017-12-04 16:33:43 -0800
committerGitHub <noreply@github.com>2017-12-04 16:33:43 -0800
commit3f053c15f50ad67da4bb3c04f718f6d49e203e5e (patch)
tree4f509e5dd99bed46ce7fcf7547ea8bf375f8d8fc /toolsrc
parente30cabce354a4e0cbf06e5a4708b96fbb98f0dda (diff)
parent1a9a14b3ce456289c2a4523079e0104dc17a9758 (diff)
downloadvcpkg-3f053c15f50ad67da4bb3c04f718f6d49e203e5e.tar.gz
vcpkg-3f053c15f50ad67da4bb3c04f718f6d49e203e5e.zip
Merge pull request #2260 from Microsoft/PowershellTabCompletion
[posh-vcpkg] Add `vcpkg integrate powershell` for enabling tab-completion
Diffstat (limited to 'toolsrc')
-rw-r--r--toolsrc/src/vcpkg/commands.integrate.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp
index 66c5eb5a9..460e99b88 100644
--- a/toolsrc/src/vcpkg/commands.integrate.cpp
+++ b/toolsrc/src/vcpkg/commands.integrate.cpp
@@ -324,18 +324,20 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
" vcpkg integrate install Make installed packages available user-wide. Requires admin privileges on "
"first use\n"
" vcpkg integrate remove Remove user-wide integration\n"
- " vcpkg integrate project Generate a referencing nuget package for individual VS project use\n";
+ " vcpkg integrate project Generate a referencing nuget package for individual VS project use\n"
+ " vcpkg integrate powershell Enable PowerShell Tab-Completion\n";
namespace Subcommand
{
static const std::string INSTALL = "install";
static const std::string REMOVE = "remove";
static const std::string PROJECT = "project";
+ static const std::string POWERSHELL = "powershell";
}
static std::vector<std::string> valid_arguments(const VcpkgPaths&)
{
- return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT};
+ return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT, Subcommand::POWERSHELL};
}
const CommandStructure COMMAND_STRUCTURE = {
@@ -365,6 +367,12 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
{
return integrate_project(paths);
}
+ if (args.command_arguments[0] == Subcommand::POWERSHELL)
+ {
+ System::powershell_execute("PowerShell Tab-Completion",
+ paths.scripts / "addPoshVcpkgToPowershellProfile.ps1");
+ Checks::exit_success(VCPKG_LINE_INFO);
+ }
#endif
Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown parameter %s for integrate", args.command_arguments[0]);