Merge pull request #6115 from jonsequitur/adaptive-help-spacing

Adaptive help spacing
This commit is contained in:
Livar 2017-03-23 13:13:49 -07:00 committed by GitHub
commit 960b3808ee
12 changed files with 28 additions and 36 deletions

View file

@ -207,7 +207,7 @@ namespace Microsoft.DotNet.Cli.CommandLine
throw new CommandParsingException( throw new CommandParsingException(
command, command,
"Required command missing", "Required command missing",
isRequireSubCommandMissing: true); isRequiredSubCommandMissing: true);
} }
return command.Invoke(); return command.Invoke();

View file

@ -8,7 +8,7 @@ namespace Microsoft.DotNet.Cli.CommandLine
{ {
internal class CommandParsingException : Exception internal class CommandParsingException : Exception
{ {
private readonly bool _isRequireSubCommandMissing; private readonly bool _isRequiredSubCommandMissing;
public CommandParsingException( public CommandParsingException(
string message, string message,
@ -21,11 +21,11 @@ namespace Microsoft.DotNet.Cli.CommandLine
public CommandParsingException( public CommandParsingException(
CommandLineApplication command, CommandLineApplication command,
string message, string message,
bool isRequireSubCommandMissing = false) bool isRequiredSubCommandMissing = false)
: this(message) : this(message)
{ {
Command = command; Command = command;
_isRequireSubCommandMissing = isRequireSubCommandMissing; _isRequiredSubCommandMissing = isRequiredSubCommandMissing;
} }
public CommandLineApplication Command { get; } public CommandLineApplication Command { get; }
@ -36,7 +36,7 @@ namespace Microsoft.DotNet.Cli.CommandLine
{ {
get get
{ {
return _isRequireSubCommandMissing return _isRequiredSubCommandMissing
? CommonLocalizableStrings.RequiredCommandNotPassed ? CommonLocalizableStrings.RequiredCommandNotPassed
: base.Message; : base.Message;
} }

View file

@ -2,9 +2,7 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information. // Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System; using System;
using System.IO;
using System.Linq; using System.Linq;
using System.Text;
using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.CommandLine;
using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Cli.Utils;
@ -28,20 +26,14 @@ namespace Microsoft.DotNet.Cli
var suggestions = Suggestions(complete); var suggestions = Suggestions(complete);
var log = new StringBuilder();
log.AppendLine($"args: {string.Join(" ", args.Select(a => $"\"{a}\""))}");
log.AppendLine("diagram: " + result.Diagram());
File.WriteAllText("parse.log", log.ToString());
foreach (var suggestion in suggestions) foreach (var suggestion in suggestions)
{ {
Console.WriteLine(suggestion); Console.WriteLine(suggestion);
} }
} }
catch (Exception e) catch (Exception)
{ {
File.WriteAllText("dotnet completion exception.log", e.ToString()); return 1;
throw;
} }
return 0; return 0;

View file

@ -31,7 +31,7 @@ namespace Microsoft.DotNet.Cli
Console.WriteLine(); Console.WriteLine();
foreach (var error in result.Errors) foreach (var error in result.Errors)
{ {
Console.WriteLine($"[{error?.Option?.Name ?? "???"}] {error.Message}"); Console.WriteLine($"[{error?.Option?.Name ?? "???"}] {error?.Message}");
} }
} }

View file

@ -40,7 +40,7 @@
<PackageReference Include="Microsoft.Win32.Registry" Version="4.3.0" /> <PackageReference Include="Microsoft.Win32.Registry" Version="4.3.0" />
<PackageReference Include="Microsoft.Build" Version="$(CLI_MSBuild_Version)" /> <PackageReference Include="Microsoft.Build" Version="$(CLI_MSBuild_Version)" />
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions" Version="$(PlatformAbstractionsVersion)" /> <PackageReference Include="Microsoft.DotNet.PlatformAbstractions" Version="$(PlatformAbstractionsVersion)" />
<PackageReference Include="Microsoft.DotNet.Cli.CommandLine" Version="0.1.0-alpha-115" /> <PackageReference Include="Microsoft.DotNet.Cli.CommandLine" Version="0.1.0-alpha-120" />
<PackageReference Include="Microsoft.TemplateEngine.Abstractions" Version="$(TemplateEngineVersion)" /> <PackageReference Include="Microsoft.TemplateEngine.Abstractions" Version="$(TemplateEngineVersion)" />
<PackageReference Include="Microsoft.TemplateEngine.Cli" Version="$(TemplateEngineVersion)" /> <PackageReference Include="Microsoft.TemplateEngine.Cli" Version="$(TemplateEngineVersion)" />
<PackageReference Include="Microsoft.TemplateEngine.Orchestrator.RunnableProjects" Version="$(TemplateEngineVersion)" /> <PackageReference Include="Microsoft.TemplateEngine.Orchestrator.RunnableProjects" Version="$(TemplateEngineVersion)" />

View file

@ -19,12 +19,12 @@ namespace Microsoft.DotNet.Cli.Add.Reference.Tests
Usage: dotnet add <PROJECT> reference [options] <args> Usage: dotnet add <PROJECT> reference [options] <args>
Arguments: Arguments:
<PROJECT> The project file to operate on. If a file is not specified, the command will search the current directory for one. <PROJECT> The project file to operate on. If a file is not specified, the command will search the current directory for one.
<args> Project to project references to add <args> Project to project references to add
Options: Options:
-h, --help Show help information -h, --help Show help information
-f, --framework <FRAMEWORK> Add reference only when targeting a specific framework -f, --framework <FRAMEWORK> Add reference only when targeting a specific framework
"; ";
const string FrameworkNet451Arg = "-f net451"; const string FrameworkNet451Arg = "-f net451";

View file

@ -18,10 +18,10 @@ namespace Microsoft.DotNet.Cli.List.Reference.Tests
Usage: dotnet list <PROJECT> reference [options] Usage: dotnet list <PROJECT> reference [options]
Arguments: Arguments:
<PROJECT> The project file to operate on. If a file is not specified, the command will search the current directory for one. <PROJECT> The project file to operate on. If a file is not specified, the command will search the current directory for one.
Options: Options:
-h, --help Show help information -h, --help Show help information
"; ";
const string FrameworkNet451Arg = "-f net451"; const string FrameworkNet451Arg = "-f net451";

View file

@ -18,12 +18,12 @@ namespace Microsoft.DotNet.Cli.Remove.Reference.Tests
Usage: dotnet remove <PROJECT> reference [options] <args> Usage: dotnet remove <PROJECT> reference [options] <args>
Arguments: Arguments:
<PROJECT> The project file to operate on. If a file is not specified, the command will search the current directory for one. <PROJECT> The project file to operate on. If a file is not specified, the command will search the current directory for one.
<args> Project to project references to remove <args> Project to project references to remove
Options: Options:
-h, --help Show help information -h, --help Show help information
-f, --framework <FRAMEWORK> Remove reference only when targeting a specific framework -f, --framework <FRAMEWORK> Remove reference only when targeting a specific framework
"; ";
const string FrameworkNet451Arg = "-f net451"; const string FrameworkNet451Arg = "-f net451";

View file

@ -20,11 +20,11 @@ namespace Microsoft.DotNet.Cli.Sln.Add.Tests
Usage: dotnet sln <SLN_FILE> add [options] <args> Usage: dotnet sln <SLN_FILE> add [options] <args>
Arguments: Arguments:
<SLN_FILE> Solution file to operate on. If not specified, the command will search the current directory for one. <SLN_FILE> Solution file to operate on. If not specified, the command will search the current directory for one.
<args> Add one or more specified projects to the solution. <args> Add one or more specified projects to the solution.
Options: Options:
-h, --help Show help information -h, --help Show help information
"; ";
private ITestOutputHelper _output; private ITestOutputHelper _output;

View file

@ -18,10 +18,10 @@ namespace Microsoft.DotNet.Cli.Sln.List.Tests
Usage: dotnet sln <SLN_FILE> list [options] Usage: dotnet sln <SLN_FILE> list [options]
Arguments: Arguments:
<SLN_FILE> Solution file to operate on. If not specified, the command will search the current directory for one. <SLN_FILE> Solution file to operate on. If not specified, the command will search the current directory for one.
Options: Options:
-h, --help Show help information -h, --help Show help information
"; ";
[Theory] [Theory]

View file

@ -18,11 +18,11 @@ namespace Microsoft.DotNet.Cli.Sln.Remove.Tests
Usage: dotnet sln <SLN_FILE> remove [options] <args> Usage: dotnet sln <SLN_FILE> remove [options] <args>
Arguments: Arguments:
<SLN_FILE> Solution file to operate on. If not specified, the command will search the current directory for one. <SLN_FILE> Solution file to operate on. If not specified, the command will search the current directory for one.
<args> Remove the specified project(s) from the solution. The project is not impacted. <args> Remove the specified project(s) from the solution. The project is not impacted.
Options: Options:
-h, --help Show help information -h, --help Show help information
"; ";
private const string ExpectedSlnContentsAfterRemove = @" private const string ExpectedSlnContentsAfterRemove = @"

View file

@ -42,6 +42,6 @@
<PackageReference Include="xunit" Version="2.2.0-beta4-build3444" /> <PackageReference Include="xunit" Version="2.2.0-beta4-build3444" />
<PackageReference Include="xunit.netcore.extensions" Version="1.0.0-prerelease-00206" /> <PackageReference Include="xunit.netcore.extensions" Version="1.0.0-prerelease-00206" />
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions" Version="$(PlatformAbstractionsVersion)" /> <PackageReference Include="Microsoft.DotNet.PlatformAbstractions" Version="$(PlatformAbstractionsVersion)" />
<PackageReference Include="Microsoft.DotNet.Cli.CommandLine" Version="0.1.0-alpha-115" /> <PackageReference Include="Microsoft.DotNet.Cli.CommandLine" Version="0.1.0-alpha-120" />
</ItemGroup> </ItemGroup>
</Project> </Project>