From 2ba06577ef9f073cc75852bbf77caaa82cf28fcf Mon Sep 17 00:00:00 2001 From: Sean Fausett Date: Mon, 10 May 2021 19:17:20 +1200 Subject: [PATCH] Improve `CommandApp` error message rendering * Move line break to end of error message * Move line break to start of each help section Closes #392 --- src/Spectre.Console/Cli/CommandApp.cs | 5 +++-- src/Spectre.Console/Cli/Internal/HelpWriter.cs | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/Spectre.Console/Cli/CommandApp.cs b/src/Spectre.Console/Cli/CommandApp.cs index e0d8f11..0de2f7a 100644 --- a/src/Spectre.Console/Cli/CommandApp.cs +++ b/src/Spectre.Console/Cli/CommandApp.cs @@ -131,9 +131,10 @@ namespace Spectre.Console.Cli var converted = new List { new Composer() - .LineBreak() .Text("[red]Error:[/]") - .Space().Text(ex.Message.EscapeMarkup()), + .Space() + .Text(ex.Message.EscapeMarkup()) + .LineBreak(), }; // Got a renderable inner exception? diff --git a/src/Spectre.Console/Cli/Internal/HelpWriter.cs b/src/Spectre.Console/Cli/Internal/HelpWriter.cs index 9fe6d23..573e5b1 100644 --- a/src/Spectre.Console/Cli/Internal/HelpWriter.cs +++ b/src/Spectre.Console/Cli/Internal/HelpWriter.cs @@ -155,7 +155,7 @@ namespace Spectre.Console.Cli } composer.Join(" ", parameters); - composer.LineBreaks(2); + composer.LineBreak(); return new[] { @@ -204,6 +204,7 @@ namespace Spectre.Console.Cli if (examples.Count > 0) { var composer = new Composer(); + composer.LineBreak(); composer.Style("yellow", "EXAMPLES:").LineBreak(); for (var index = 0; index < Math.Min(maxExamples, examples.Count); index++) @@ -213,7 +214,6 @@ namespace Spectre.Console.Cli composer.LineBreak(); } - composer.LineBreak(); return new[] { composer }; } @@ -230,6 +230,7 @@ namespace Spectre.Console.Cli var result = new List { + new Markup("\n"), new Markup("[yellow]ARGUMENTS:[/]"), new Markup("\n"), }; @@ -252,7 +253,6 @@ namespace Spectre.Console.Cli argument.Description?.TrimEnd('.') ?? " "); } - grid.AddEmptyRow(); result.Add(grid); return result; @@ -269,6 +269,7 @@ namespace Spectre.Console.Cli var result = new List { + new Markup("\n"), new Markup("[yellow]OPTIONS:[/]"), new Markup("\n"), }; @@ -325,7 +326,6 @@ namespace Spectre.Console.Cli option.Description?.TrimEnd('.') ?? " "); } - grid.AddEmptyRow(); result.Add(grid); return result; @@ -346,6 +346,7 @@ namespace Spectre.Console.Cli var result = new List { + new Markup("\n"), new Markup("[yellow]COMMANDS:[/]"), new Markup("\n"), }; @@ -371,7 +372,6 @@ namespace Spectre.Console.Cli child.Description?.TrimEnd('.') ?? " "); } - grid.AddEmptyRow(); result.Add(grid); return result;