From 68e92f3365438553424aa268b6c55085e1caabcf Mon Sep 17 00:00:00 2001 From: Patrik Svensson Date: Tue, 6 Oct 2020 18:23:16 +0200 Subject: [PATCH] Add various exception improvements --- docs/input/assets/images/custom_exception.png | Bin 0 -> 163098 bytes docs/input/exceptions.md | 30 ++++++- docs/input/markup.md | 6 ++ examples/Exceptions/Program.cs | 24 ++++++ src/Spectre.Console.Tests/Unit/ColorTests.cs | 33 ++++++++ src/Spectre.Console.Tests/Unit/StyleTests.cs | 55 ++++++++++++ src/Spectre.Console/AnsiConsole.Exceptions.cs | 10 +++ src/Spectre.Console/Color.cs | 7 +- src/Spectre.Console/ExceptionSettings.cs | 27 ++++++ src/Spectre.Console/ExceptionStyle.cs | 58 +++++++++++++ .../AnsiConsoleExtensions.Exceptions.cs | 11 +++ .../Extensions/ExceptionExtensions.cs | 31 ++++++- .../Internal/DecorationTable.cs | 35 ++++++++ .../Internal/ExceptionFormatter.cs | 80 ++++++++++-------- .../Extensions/DictionaryExtensions.cs | 13 +++ src/Spectre.Console/Style.cs | 39 ++++++++- 16 files changed, 417 insertions(+), 42 deletions(-) create mode 100644 docs/input/assets/images/custom_exception.png create mode 100644 src/Spectre.Console/ExceptionSettings.cs create mode 100644 src/Spectre.Console/ExceptionStyle.cs create mode 100644 src/Spectre.Console/Internal/Extensions/DictionaryExtensions.cs diff --git a/docs/input/assets/images/custom_exception.png b/docs/input/assets/images/custom_exception.png new file mode 100644 index 0000000000000000000000000000000000000000..23b730d2ae586f0e843e661ab05158f55440bb9d GIT binary patch literal 163098 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 literal 0 HcmV?d00001 diff --git a/docs/input/exceptions.md b/docs/input/exceptions.md index 3ac7231..14d6bb5 100644 --- a/docs/input/exceptions.md +++ b/docs/input/exceptions.md @@ -9,9 +9,9 @@ You can make exception a bit more readable by using the `WriteException` method. AnsiConsole.WriteException(ex); ``` - - + +## Shortening parts You can also shorten specific parts of the exception to make it even more readable, and make paths clickable hyperlinks. Whether or not @@ -24,3 +24,29 @@ AnsiConsole.WriteException(ex, ``` + +## Customizing exception output + +In addition to shorten specific part of the exception, you can +also override the default styling. + +```csharp +AnsiConsole.WriteException(ex, new ExceptionSettings +{ + Format = ExceptionFormats.ShortenEverything | ExceptionFormats.ShowLinks, + Style = new ExceptionStyle + { + Exception = Style.WithForeground(Color.Grey), + Message = Style.WithForeground(Color.White), + NonEmphasized = Style.WithForeground(Color.Cornsilk1), + Parenthesis = Style.WithForeground(Color.Cornsilk1), + Method = Style.WithForeground(Color.Red), + ParameterName = Style.WithForeground(Color.Cornsilk1), + ParameterType = Style.WithForeground(Color.Red), + Path = Style.WithForeground(Color.Red), + LineNumber = Style.WithForeground(Color.Cornsilk1), + } +}); +``` + + diff --git a/docs/input/markup.md b/docs/input/markup.md index 87f3d22..d3323a7 100644 --- a/docs/input/markup.md +++ b/docs/input/markup.md @@ -43,6 +43,12 @@ AnsiConsole.Markup("[[Hello]] "); // [Hello] AnsiConsole.Markup("[red][[World]][/]"); // [World] ``` +You can also use the `SafeMarkup` extension method. + +```csharp +AnsiConsole.Markup("[red]{0}[/]", "Hello [World]".SafeMarkup()); +``` + # Setting background color You can set the background color in markup by prefixing the color with diff --git a/examples/Exceptions/Program.cs b/examples/Exceptions/Program.cs index 7e10289..1a644cb 100644 --- a/examples/Exceptions/Program.cs +++ b/examples/Exceptions/Program.cs @@ -14,11 +14,35 @@ namespace Exceptions } catch (Exception ex) { + AnsiConsole.WriteLine(); + AnsiConsole.Render(new Panel("[u]Default[/]").Expand()); AnsiConsole.WriteLine(); AnsiConsole.WriteException(ex); + AnsiConsole.WriteLine(); + AnsiConsole.Render(new Panel("[u]Compact[/]").Expand()); AnsiConsole.WriteLine(); AnsiConsole.WriteException(ex, ExceptionFormats.ShortenEverything | ExceptionFormats.ShowLinks); + + AnsiConsole.WriteLine(); + AnsiConsole.Render(new Panel("[u]Custom colors[/]").Expand()); + AnsiConsole.WriteLine(); + AnsiConsole.WriteException(ex, new ExceptionSettings + { + Format = ExceptionFormats.ShortenEverything | ExceptionFormats.ShowLinks, + Style = new ExceptionStyle + { + Exception = Style.WithForeground(Color.Grey), + Message = Style.WithForeground(Color.White), + NonEmphasized = Style.WithForeground(Color.Cornsilk1), + Parenthesis = Style.WithForeground(Color.Cornsilk1), + Method = Style.WithForeground(Color.Red), + ParameterName = Style.WithForeground(Color.Cornsilk1), + ParameterType = Style.WithForeground(Color.Red), + Path = Style.WithForeground(Color.Red), + LineNumber = Style.WithForeground(Color.Cornsilk1), + } + }); } } diff --git a/src/Spectre.Console.Tests/Unit/ColorTests.cs b/src/Spectre.Console.Tests/Unit/ColorTests.cs index 1e6f1f6..259cd4c 100644 --- a/src/Spectre.Console.Tests/Unit/ColorTests.cs +++ b/src/Spectre.Console.Tests/Unit/ColorTests.cs @@ -228,6 +228,39 @@ namespace Spectre.Console.Tests.Unit } } + public sealed class TheToMarkupMethod + { + [Fact] + public void Should_Return_Expected_Markup_For_Default_Color() + { + // Given, When + var result = Color.Default.ToMarkup(); + + // Then + result.ShouldBe("default"); + } + + [Fact] + public void Should_Return_Expected_Markup_For_Known_Color() + { + // Given, When + var result = Color.Red.ToMarkup(); + + // Then + result.ShouldBe("red"); + } + + [Fact] + public void Should_Return_Expected_Markup_For_Custom_Color() + { + // Given, When + var result = new Color(255, 1, 12).ToMarkup(); + + // Then + result.ShouldBe("#FF010C"); + } + } + public sealed class TheToStringMethod { [Fact] diff --git a/src/Spectre.Console.Tests/Unit/StyleTests.cs b/src/Spectre.Console.Tests/Unit/StyleTests.cs index 9b246ac..f90bde0 100644 --- a/src/Spectre.Console.Tests/Unit/StyleTests.cs +++ b/src/Spectre.Console.Tests/Unit/StyleTests.cs @@ -317,5 +317,60 @@ namespace Spectre.Console.Tests.Unit result.ShouldBeFalse(); } } + + public sealed class TheToMarkupMethod + { + [Fact] + public void Should_Return_Expected_Markup_For_Style_With_Foreground_Color() + { + // Given + var style = new Style(Color.Red); + + // When + var result = style.ToMarkup(); + + // Then + result.ShouldBe("red"); + } + + [Fact] + public void Should_Return_Expected_Markup_For_Style_With_Foreground_And_Background_Color() + { + // Given + var style = new Style(Color.Red, Color.Green); + + // When + var result = style.ToMarkup(); + + // Then + result.ShouldBe("red on green"); + } + + [Fact] + public void Should_Return_Expected_Markup_For_Style_With_Foreground_And_Background_Color_And_Decoration() + { + // Given + var style = new Style(Color.Red, Color.Green, Decoration.Bold | Decoration.Underline); + + // When + var result = style.ToMarkup(); + + // Then + result.ShouldBe("bold underline red on green"); + } + + [Fact] + public void Should_Return_Expected_Markup_For_Style_With_Only_Background_Color() + { + // Given + var style = new Style(background: Color.Green); + + // When + var result = style.ToMarkup(); + + // Then + result.ShouldBe("default on green"); + } + } } } diff --git a/src/Spectre.Console/AnsiConsole.Exceptions.cs b/src/Spectre.Console/AnsiConsole.Exceptions.cs index e3730a5..133fff1 100644 --- a/src/Spectre.Console/AnsiConsole.Exceptions.cs +++ b/src/Spectre.Console/AnsiConsole.Exceptions.cs @@ -16,5 +16,15 @@ namespace Spectre.Console { Console.WriteException(exception, format); } + + /// + /// Writes an exception to the console. + /// + /// The exception to write to the console. + /// The exception settings. + public static void WriteException(Exception exception, ExceptionSettings settings) + { + Console.WriteException(exception, settings); + } } } diff --git a/src/Spectre.Console/Color.cs b/src/Spectre.Console/Color.cs index f79d452..434e7cd 100644 --- a/src/Spectre.Console/Color.cs +++ b/src/Spectre.Console/Color.cs @@ -249,8 +249,13 @@ namespace Spectre.Console /// Converts the color to a markup string. /// /// A representing the color as markup. - public string ToMarkupString() + public string ToMarkup() { + if (IsDefault) + { + return "default"; + } + if (Number != null) { var name = ColorTable.GetName(Number.Value); diff --git a/src/Spectre.Console/ExceptionSettings.cs b/src/Spectre.Console/ExceptionSettings.cs new file mode 100644 index 0000000..5b7ff18 --- /dev/null +++ b/src/Spectre.Console/ExceptionSettings.cs @@ -0,0 +1,27 @@ +namespace Spectre.Console +{ + /// + /// Exception settings. + /// + public sealed class ExceptionSettings + { + /// + /// Gets or sets the exception format. + /// + public ExceptionFormats Format { get; set; } + + /// + /// Gets or sets the exception style. + /// + public ExceptionStyle Style { get; set; } + + /// + /// Initializes a new instance of the class. + /// + public ExceptionSettings() + { + Format = ExceptionFormats.Default; + Style = new ExceptionStyle(); + } + } +} diff --git a/src/Spectre.Console/ExceptionStyle.cs b/src/Spectre.Console/ExceptionStyle.cs new file mode 100644 index 0000000..b144992 --- /dev/null +++ b/src/Spectre.Console/ExceptionStyle.cs @@ -0,0 +1,58 @@ +namespace Spectre.Console +{ + /// + /// Represent an exception style. + /// + public sealed class ExceptionStyle + { + /// + /// Gets or sets the message color. + /// + public Style Message { get; set; } = new Style(Color.Red, Color.Default, Decoration.Bold); + + /// + /// Gets or sets the exception color. + /// + public Style Exception { get; set; } = new Style(Color.White); + + /// + /// Gets or sets the method color. + /// + public Style Method { get; set; } = new Style(Color.Yellow); + + /// + /// Gets or sets the parameter type color. + /// + public Style ParameterType { get; set; } = new Style(Color.Blue); + + /// + /// Gets or sets the parameter name color. + /// + public Style ParameterName { get; set; } = new Style(Color.Silver); + + /// + /// Gets or sets the parenthesis color. + /// + public Style Parenthesis { get; set; } = new Style(Color.Silver); + + /// + /// Gets or sets the path color. + /// + public Style Path { get; set; } = new Style(Color.Yellow, Color.Default, Decoration.Bold); + + /// + /// Gets or sets the line number color. + /// + public Style LineNumber { get; set; } = new Style(Color.Blue); + + /// + /// Gets or sets the color for dimmed text such as "at" or "in". + /// + public Style Dimmed { get; set; } = new Style(Color.Grey); + + /// + /// Gets or sets the color for non emphasized items. + /// + public Style NonEmphasized { get; set; } = new Style(Color.Silver); + } +} diff --git a/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Exceptions.cs b/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Exceptions.cs index a8a445a..6319a5c 100644 --- a/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Exceptions.cs +++ b/src/Spectre.Console/Extensions/AnsiConsoleExtensions.Exceptions.cs @@ -17,5 +17,16 @@ namespace Spectre.Console { Render(console, exception.GetRenderable(format)); } + + /// + /// Writes an exception to the console. + /// + /// The console. + /// The exception to write to the console. + /// The exception settings. + public static void WriteException(this IAnsiConsole console, Exception exception, ExceptionSettings settings) + { + Render(console, exception.GetRenderable(settings)); + } } } diff --git a/src/Spectre.Console/Extensions/ExceptionExtensions.cs b/src/Spectre.Console/Extensions/ExceptionExtensions.cs index 0d2ffda..aa0c0aa 100644 --- a/src/Spectre.Console/Extensions/ExceptionExtensions.cs +++ b/src/Spectre.Console/Extensions/ExceptionExtensions.cs @@ -16,7 +16,36 @@ namespace Spectre.Console /// A representing the exception. public static IRenderable GetRenderable(this Exception exception, ExceptionFormats format = ExceptionFormats.Default) { - return ExceptionFormatter.Format(exception, format); + if (exception is null) + { + throw new ArgumentNullException(nameof(exception)); + } + + return GetRenderable(exception, new ExceptionSettings + { + Format = format, + }); + } + + /// + /// Gets a representation of the exception. + /// + /// The exception to format. + /// The exception settings. + /// A representing the exception. + public static IRenderable GetRenderable(this Exception exception, ExceptionSettings settings) + { + if (exception is null) + { + throw new ArgumentNullException(nameof(exception)); + } + + if (settings is null) + { + throw new ArgumentNullException(nameof(settings)); + } + + return ExceptionFormatter.Format(exception, settings); } } } diff --git a/src/Spectre.Console/Internal/DecorationTable.cs b/src/Spectre.Console/Internal/DecorationTable.cs index f84c4b7..2f2ac32 100644 --- a/src/Spectre.Console/Internal/DecorationTable.cs +++ b/src/Spectre.Console/Internal/DecorationTable.cs @@ -1,12 +1,14 @@ using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; +using System.Linq; namespace Spectre.Console.Internal { internal static class DecorationTable { private static readonly Dictionary _lookup; + private static readonly Dictionary _reverseLookup; [SuppressMessage("Performance", "CA1810:Initialize reference type static fields inline")] static DecorationTable() @@ -28,6 +30,21 @@ namespace Spectre.Console.Internal { "strikethrough", Decoration.Strikethrough }, { "s", Decoration.Strikethrough }, }; + + _reverseLookup = new Dictionary(); + foreach (var (name, decoration) in _lookup) + { + // Cannot happen, but the compiler thinks so... + if (decoration == null) + { + continue; + } + + if (!_reverseLookup.ContainsKey(decoration.Value)) + { + _reverseLookup[decoration.Value] = name; + } + } } public static Decoration? GetDecoration(string name) @@ -35,5 +52,23 @@ namespace Spectre.Console.Internal _lookup.TryGetValue(name, out var result); return result; } + + public static List GetMarkupNames(Decoration decoration) + { + var result = new List(); + + Enum.GetValues(typeof(Decoration)) + .Cast() + .Where(flag => (decoration & flag) != 0) + .ForEach(flag => + { + if (flag != Decoration.None && _reverseLookup.TryGetValue(flag, out var name)) + { + result.Add(name); + } + }); + + return result; + } } } diff --git a/src/Spectre.Console/Internal/ExceptionFormatter.cs b/src/Spectre.Console/Internal/ExceptionFormatter.cs index 2a305b2..8e3ecde 100644 --- a/src/Spectre.Console/Internal/ExceptionFormatter.cs +++ b/src/Spectre.Console/Internal/ExceptionFormatter.cs @@ -8,13 +8,7 @@ namespace Spectre.Console { internal static class ExceptionFormatter { - private static readonly Color _typeColor = Color.White; - private static readonly Color _methodColor = Color.Yellow; - private static readonly Color _parameterColor = Color.Blue; - private static readonly Color _pathColor = Color.Yellow; - private static readonly Color _dimmedColor = Color.Grey; - - public static IRenderable Format(Exception exception, ExceptionFormats format) + public static IRenderable Format(Exception exception, ExceptionSettings settings) { if (exception is null) { @@ -27,10 +21,10 @@ namespace Spectre.Console return new Text(exception.ToString()); } - return GetException(info, format); + return GetException(info, settings); } - private static IRenderable GetException(ExceptionInfo info, ExceptionFormats format) + private static IRenderable GetException(ExceptionInfo info, ExceptionSettings settings) { if (info is null) { @@ -39,20 +33,20 @@ namespace Spectre.Console return new Rows(new IRenderable[] { - GetMessage(info, format), - GetStackFrames(info, format), + GetMessage(info, settings), + GetStackFrames(info, settings), }).Expand(); } - private static Markup GetMessage(ExceptionInfo ex, ExceptionFormats format) + private static Markup GetMessage(ExceptionInfo ex, ExceptionSettings settings) { - var shortenTypes = (format & ExceptionFormats.ShortenTypes) != 0; - var type = Emphasize(ex.Type, new[] { '.' }, _typeColor.ToMarkupString(), shortenTypes); - var message = $"[b red]{ex.Message.SafeMarkup()}[/]"; + var shortenTypes = (settings.Format & ExceptionFormats.ShortenTypes) != 0; + var type = Emphasize(ex.Type, new[] { '.' }, settings.Style.Exception, shortenTypes, settings); + var message = $"[{settings.Style.Message.ToMarkup()}]{ex.Message.SafeMarkup()}[/]"; return new Markup(string.Concat(type, ": ", message)); } - private static Grid GetStackFrames(ExceptionInfo ex, ExceptionFormats format) + private static Grid GetStackFrames(ExceptionInfo ex, ExceptionSettings settings) { var grid = new Grid(); grid.AddColumn(new GridColumn().PadLeft(2).PadRight(0).NoWrap()); @@ -63,7 +57,7 @@ namespace Spectre.Console { grid.AddRow( Text.Empty, - GetException(ex.Inner, format)); + GetException(ex.Inner, settings)); } // Stack frames @@ -72,47 +66,57 @@ namespace Spectre.Console var builder = new StringBuilder(); // Method - var shortenMethods = (format & ExceptionFormats.ShortenMethods) != 0; - builder.Append(Emphasize(frame.Method, new[] { '.' }, _methodColor.ToMarkupString(), shortenMethods)); - builder.Append('('); - builder.Append(string.Join(", ", frame.Parameters.Select(x => $"[{_parameterColor.ToMarkupString()}]{x.Type.SafeMarkup()}[/] {x.Name}"))); - builder.Append(')'); + var shortenMethods = (settings.Format & ExceptionFormats.ShortenMethods) != 0; + builder.Append(Emphasize(frame.Method, new[] { '.' }, settings.Style.Method, shortenMethods, settings)); + builder.Append('[').Append(settings.Style.Parenthesis.ToMarkup()).Append(']').Append('(').Append("[/]"); + AppendParameters(builder, frame, settings); + builder.Append('[').Append(settings.Style.Parenthesis.ToMarkup()).Append(']').Append(')').Append("[/]"); if (frame.Path != null) { - builder.Append(" [").Append(_dimmedColor.ToMarkupString()).Append("]in[/] "); + builder.Append(" [").Append(settings.Style.Dimmed.ToMarkup()).Append("]in[/] "); // Path - AppendPath(builder, frame, format); + AppendPath(builder, frame, settings); // Line number if (frame.LineNumber != null) { - builder.Append(':'); - builder.Append('[').Append(_parameterColor.ToMarkupString()).Append(']').Append(frame.LineNumber).Append("[/]"); + builder.Append('[').Append(settings.Style.Dimmed.ToMarkup()).Append("]:[/]"); + builder.Append('[').Append(settings.Style.LineNumber.ToMarkup()).Append(']').Append(frame.LineNumber).Append("[/]"); } } - grid.AddRow($"[{_dimmedColor.ToMarkupString()}]at[/]", builder.ToString()); + grid.AddRow( + $"[{settings.Style.Dimmed.ToMarkup()}]at[/]", + builder.ToString()); } return grid; } - private static void AppendPath(StringBuilder builder, StackFrameInfo frame, ExceptionFormats format) + private static void AppendParameters(StringBuilder builder, StackFrameInfo frame, ExceptionSettings settings) + { + var typeColor = settings.Style.ParameterType.ToMarkup(); + var nameColor = settings.Style.ParameterName.ToMarkup(); + var parameters = frame.Parameters.Select(x => $"[{typeColor}]{x.Type.SafeMarkup()}[/] [{nameColor}]{x.Name}[/]"); + builder.Append(string.Join(", ", parameters)); + } + + private static void AppendPath(StringBuilder builder, StackFrameInfo frame, ExceptionSettings settings) { if (frame?.Path is null) { return; } - void RenderLink() + void AppendPath() { - var shortenPaths = (format & ExceptionFormats.ShortenPaths) != 0; - builder.Append(Emphasize(frame.Path, new[] { '/', '\\' }, $"b {_pathColor.ToMarkupString()}", shortenPaths)); + var shortenPaths = (settings.Format & ExceptionFormats.ShortenPaths) != 0; + builder.Append(Emphasize(frame.Path, new[] { '/', '\\' }, settings.Style.Path, shortenPaths, settings)); } - if ((format & ExceptionFormats.ShowLinks) != 0) + if ((settings.Format & ExceptionFormats.ShowLinks) != 0) { var hasLink = frame.TryGetUri(out var uri); if (hasLink && uri != null) @@ -120,7 +124,7 @@ namespace Spectre.Console builder.Append("[link=").Append(uri.AbsoluteUri).Append(']'); } - RenderLink(); + AppendPath(); if (hasLink && uri != null) { @@ -129,11 +133,11 @@ namespace Spectre.Console } else { - RenderLink(); + AppendPath(); } } - private static string Emphasize(string input, char[] separators, string color, bool compact) + private static string Emphasize(string input, char[] separators, Style color, bool compact, ExceptionSettings settings) { var builder = new StringBuilder(); @@ -143,10 +147,12 @@ namespace Spectre.Console { if (!compact) { - builder.Append("[silver]").Append(type, 0, index + 1).Append("[/]"); + builder.Append('[').Append(settings.Style.NonEmphasized.ToMarkup()).Append(']') + .Append(type, 0, index + 1).Append("[/]"); } - builder.Append('[').Append(color).Append(']').Append(type, index + 1, type.Length - index - 1).Append("[/]"); + builder.Append('[').Append(color.ToMarkup()).Append(']') + .Append(type, index + 1, type.Length - index - 1).Append("[/]"); } else { diff --git a/src/Spectre.Console/Internal/Extensions/DictionaryExtensions.cs b/src/Spectre.Console/Internal/Extensions/DictionaryExtensions.cs new file mode 100644 index 0000000..bee3b3d --- /dev/null +++ b/src/Spectre.Console/Internal/Extensions/DictionaryExtensions.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; + +namespace Spectre.Console.Internal +{ + internal static class DictionaryExtensions + { + public static void Deconstruct(this KeyValuePair tuple, out T1 key, out T2 value) + { + key = tuple.Key; + value = tuple.Value; + } + } +} diff --git a/src/Spectre.Console/Style.cs b/src/Spectre.Console/Style.cs index 4eb7bad..b74993e 100644 --- a/src/Spectre.Console/Style.cs +++ b/src/Spectre.Console/Style.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; +using System.Linq; using Spectre.Console.Internal; namespace Spectre.Console @@ -25,7 +27,7 @@ namespace Spectre.Console public Decoration Decoration { get; } /// - /// Gets the link. + /// Gets the link associated with the style. /// public string? Link { get; } @@ -191,6 +193,41 @@ namespace Spectre.Console } } + /// + /// Returns the markup representation of this style. + /// + /// The markup representation of this style. + public string ToMarkup() + { + var builder = new List(); + + if (Decoration != Decoration.None) + { + var result = DecorationTable.GetMarkupNames(Decoration); + if (result.Count != 0) + { + builder.AddRange(result); + } + } + + if (Foreground != Color.Default) + { + builder.Add(Foreground.ToMarkup()); + } + + if (Background != Color.Default) + { + if (builder.Count == 0) + { + builder.Add("default"); + } + + builder.Add("on " + Background.ToMarkup()); + } + + return string.Join(" ", builder); + } + /// public override bool Equals(object? obj) {