Change IAnsiConsole to render IRenderable

This makes it possible for encoders to output better representation
of the actual objects instead of working with chopped up segments.

* IAnsiConsole.Write now takes an IRenderable instead of segments
* Calculating cell width does no longer require a render context
* Removed RenderContext.LegacyConsole
* Removed RenderContext.Encoding
* Added Capabilities.Unicode
This commit is contained in:
Patrik Svensson
2021-03-24 23:09:24 +01:00
committed by Phil Scott
parent 2ba6da3514
commit 20650f1e7e
75 changed files with 492 additions and 553 deletions

View File

@@ -139,7 +139,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -158,7 +158,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -178,7 +178,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -197,7 +197,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -216,7 +216,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -235,7 +235,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -255,7 +255,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// Render a table in some panels.
console.Render(new Panel(new Panel(table)
console.Write(new Panel(new Panel(table)
{
Border = BoxBorder.Ascii,
}));
@@ -278,7 +278,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Lorem ipsum dolor sit amet");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -296,7 +296,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -314,7 +314,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -333,7 +333,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -350,7 +350,7 @@ namespace Spectre.Console.Tests.Unit
table.AddColumn(new TableColumn("Baz") { Padding = new Padding(3, 0, 2, 0) });
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -388,7 +388,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow(new Markup("[blue]Hej[/]"), new Markup("[yellow]Världen[/]"), Text.Empty);
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -408,7 +408,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -429,7 +429,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -450,7 +450,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);
@@ -471,7 +471,7 @@ namespace Spectre.Console.Tests.Unit
table.AddRow("Grault", "Garply", "Fred");
// When
console.Render(table);
console.Write(table);
// Then
return Verifier.Verify(console.Output);