diff options
| author | Alexander Karatarakis <alex@karatarakis.com> | 2017-12-04 16:33:43 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-12-04 16:33:43 -0800 |
| commit | 3f053c15f50ad67da4bb3c04f718f6d49e203e5e (patch) | |
| tree | 4f509e5dd99bed46ce7fcf7547ea8bf375f8d8fc /toolsrc | |
| parent | e30cabce354a4e0cbf06e5a4708b96fbb98f0dda (diff) | |
| parent | 1a9a14b3ce456289c2a4523079e0104dc17a9758 (diff) | |
| download | vcpkg-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.cpp | 12 |
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]); |
