Browse Source

Define TabExpansion function in NuGet PowerShell console.

pull/375/head
Matt Ward 12 years ago
parent
commit
c71ed32f34
  1. 10
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs
  2. 15
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleHostTests.cs

10
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs

@ -126,6 +126,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -126,6 +126,7 @@ namespace ICSharpCode.PackageManagement.Scripting
powerShellHost.SetRemoteSignedExecutionPolicy();
UpdateFormatting();
RedefineClearHostFunction();
DefineTabExpansionFunction();
UpdateWorkingDirectory();
}
@ -163,6 +164,15 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -163,6 +164,15 @@ namespace ICSharpCode.PackageManagement.Scripting
powerShellHost.ExecuteCommand(command);
}
void DefineTabExpansionFunction()
{
string command =
"function TabExpansion($line, $lastWord) {" +
" return New-Object PSObject -Property @{ NoResult = $true }" +
"}";
powerShellHost.ExecuteCommand(command);
}
void WriteInfoBeforeFirstPrompt()
{
WriteNuGetVersionInfo();

15
src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleHostTests.cs

@ -18,12 +18,12 @@ @@ -18,12 +18,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ICSharpCode.PackageManagement;
using ICSharpCode.PackageManagement.Design;
using ICSharpCode.PackageManagement.EnvDTE;
using ICSharpCode.PackageManagement.Scripting;
using ICSharpCode.Scripting;
using ICSharpCode.Scripting.Tests.Utils;
using NuGet;
using NUnit.Framework;
using PackageManagement.Tests.Helpers;
@ -673,5 +673,18 @@ namespace PackageManagement.Tests.Scripting @@ -673,5 +673,18 @@ namespace PackageManagement.Tests.Scripting
Assert.IsTrue(powerShellHost.IsSetDefaultRunspaceCalled);
}
[Test]
public void Run_ConsoleExitsOnFirstRead_TabExpansionFunctionDefined()
{
CreateHost();
RunHost();
string partialExecutedScript = "function TabExpansion";
bool executed = powerShellHost.AllCommandsPassedToExecuteCommand.Any(command => command.Contains(partialExecutedScript));
Assert.IsTrue(executed);
}
}
}

Loading…
Cancel
Save