mirror of
				https://github.com/nsnail/spectre.console.git
				synced 2025-10-31 09:09:25 +08:00 
			
		
		
		
	Add AnsiConsole.Write method
				
					
				
			This commit also obsoletes the `AnsiConsole.Render` method. Closes #576
This commit is contained in:
		 Patrik Svensson
					Patrik Svensson
				
			
				
					committed by
					
						 Phil Scott
						Phil Scott
					
				
			
			
				
	
			
			
			 Phil Scott
						Phil Scott
					
				
			
						parent
						
							ca2e6ce0ad
						
					
				
				
					commit
					e0395dfa2b
				
			| @@ -23,7 +23,7 @@ namespace Demo.Utilities | ||||
|                     value ?? "[grey]null[/]"); | ||||
|             } | ||||
|  | ||||
|             AnsiConsole.Render(table); | ||||
|             AnsiConsole.Write(table); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -35,7 +35,7 @@ namespace Spectre.Console.Examples | ||||
|                 CreatePanel("None", BoxBorder.None), | ||||
|             }; | ||||
|  | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Padder( | ||||
|                     new Columns(items).PadRight(2), | ||||
|                     new Padding(2,0,0,0))); | ||||
| @@ -77,13 +77,13 @@ namespace Spectre.Console.Examples | ||||
|                 CreateTable("Markdown", TableBorder.Markdown), | ||||
|             }; | ||||
|  | ||||
|             AnsiConsole.Render(new Columns(items).Collapse()); | ||||
|             AnsiConsole.Write(new Columns(items).Collapse()); | ||||
|         } | ||||
|  | ||||
|         private static void HorizontalRule(string title) | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule($"[white bold]{title}[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Rule($"[white bold]{title}[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.WriteLine(); | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -5,7 +5,7 @@ namespace Spectre.Console.Examples | ||||
|         public static void Main(string[] args) | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Calendar(2020, 10) | ||||
|             AnsiConsole.Write(new Calendar(2020, 10) | ||||
|                     .RoundedBorder() | ||||
|                     .HighlightStyle(Style.Parse("red")) | ||||
|                     .HeaderStyle(Style.Parse("yellow")) | ||||
|   | ||||
| @@ -39,9 +39,9 @@ namespace Spectre.Console.Examples | ||||
|         private static void Render(IRenderable canvas, string title) | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule($"[yellow]{title}[/]").LeftAligned().RuleStyle("grey")); | ||||
|             AnsiConsole.Write(new Rule($"[yellow]{title}[/]").LeftAligned().RuleStyle("grey")); | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(canvas); | ||||
|             AnsiConsole.Write(canvas); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -32,7 +32,7 @@ namespace Spectre.Console.Examples | ||||
|  | ||||
|         private static void Render(string title, IRenderable chart) | ||||
|         { | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Panel(chart) | ||||
|                     .Padding(1, 1) | ||||
|                     .Header(title)); | ||||
|   | ||||
| @@ -20,7 +20,7 @@ namespace Spectre.Console.Examples | ||||
|             { | ||||
|                 AnsiConsole.ResetColors(); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("[yellow bold underline]3-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.Write(new Rule("[yellow bold underline]3-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|  | ||||
|                 for (var i = 0; i < 8; i++) | ||||
| @@ -43,7 +43,7 @@ namespace Spectre.Console.Examples | ||||
|             { | ||||
|                 AnsiConsole.ResetColors(); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("[yellow bold underline]4-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.Write(new Rule("[yellow bold underline]4-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|  | ||||
|                 for (var i = 0; i < 16; i++) | ||||
| @@ -66,7 +66,7 @@ namespace Spectre.Console.Examples | ||||
|             { | ||||
|                 AnsiConsole.ResetColors(); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("[yellow bold underline]8-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.Write(new Rule("[yellow bold underline]8-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|  | ||||
|                 for (var i = 0; i < 16; i++) | ||||
| @@ -93,10 +93,10 @@ namespace Spectre.Console.Examples | ||||
|             { | ||||
|                 AnsiConsole.ResetColors(); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("[yellow bold underline]24-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.Write(new Rule("[yellow bold underline]24-bit Colors[/]").RuleStyle("grey").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|  | ||||
|                 AnsiConsole.Render(new ColorBox(width: 80, height: 15)); | ||||
|                 AnsiConsole.Write(new ColorBox(width: 80, height: 15)); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -16,7 +16,7 @@ namespace Spectre.Console.Examples | ||||
|             } | ||||
|  | ||||
|             // Render all cards in columns | ||||
|             AnsiConsole.Render(new Columns(cards)); | ||||
|             AnsiConsole.Write(new Columns(cards)); | ||||
|         } | ||||
|  | ||||
|         private static string GetCardContent(User user) | ||||
|   | ||||
| @@ -14,7 +14,7 @@ namespace Spectre.Console.Examples | ||||
|  | ||||
|         private static void RenderEmoji() | ||||
|         { | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Panel("[yellow]Hello :globe_showing_europe_africa:![/]") | ||||
|                     .RoundedBorder()); | ||||
|         } | ||||
|   | ||||
| @@ -14,17 +14,17 @@ namespace Spectre.Console.Examples | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("Default").LeftAligned()); | ||||
|                 AnsiConsole.Write(new Rule("Default").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.WriteException(ex); | ||||
|  | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("Compact").LeftAligned()); | ||||
|                 AnsiConsole.Write(new Rule("Compact").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.WriteException(ex, ExceptionFormats.ShortenEverything | ExceptionFormats.ShowLinks); | ||||
|  | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("Compact + Custom colors").LeftAligned()); | ||||
|                 AnsiConsole.Write(new Rule("Compact + Custom colors").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.WriteException(ex, new ExceptionSettings | ||||
|                 { | ||||
|   | ||||
| @@ -4,9 +4,9 @@ namespace Spectre.Console.Examples | ||||
|     { | ||||
|         public static void Main(string[] args) | ||||
|         { | ||||
|             AnsiConsole.Render(new FigletText("Left aligned").LeftAligned().Color(Color.Red)); | ||||
|             AnsiConsole.Render(new FigletText("Centered").Centered().Color(Color.Green)); | ||||
|             AnsiConsole.Render(new FigletText("Right aligned").RightAligned().Color(Color.Blue)); | ||||
|             AnsiConsole.Write(new FigletText("Left aligned").LeftAligned().Color(Color.Red)); | ||||
|             AnsiConsole.Write(new FigletText("Centered").Centered().Color(Color.Green)); | ||||
|             AnsiConsole.Write(new FigletText("Right aligned").RightAligned().Color(Color.Blue)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -16,7 +16,7 @@ namespace Spectre.Console.Examples | ||||
|             grid.AddRow("  [blue]-c[/], [blue]--configuration[/] <CONFIGURATION>", "The configuration to run for."); | ||||
|             grid.AddRow("  [blue]-v[/], [blue]--verbosity[/] <LEVEL>", "Set the [grey]MSBuild[/] verbosity level."); | ||||
|  | ||||
|             AnsiConsole.Render(grid); | ||||
|             AnsiConsole.Write(grid); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -19,7 +19,7 @@ namespace Spectre.Console.Examples | ||||
|                 .AddRow("[b]Buffer height[/]", $"{AnsiConsole.Console.Profile.Height}") | ||||
|                 .AddRow("[b]Encoding[/]", $"{AnsiConsole.Console.Profile.Encoding.EncodingName}"); | ||||
|  | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Panel(grid) | ||||
|                     .Header("Information")); | ||||
|         } | ||||
|   | ||||
| @@ -8,20 +8,20 @@ namespace Spectre.Console.Examples | ||||
|                 "[underline]I[/] heard [underline on blue]you[/] like panels\n\n\n\n" + | ||||
|                 "So I put a panel in a panel").Centered(); | ||||
|  | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Panel( | ||||
|                     new Panel(content) | ||||
|                         .Border(BoxBorder.Rounded))); | ||||
|  | ||||
|             // Left adjusted panel with text | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Panel(new Text("Left adjusted\nLeft").LeftAligned()) | ||||
|                     .Expand() | ||||
|                     .SquareBorder() | ||||
|                     .Header("[red]Left[/]")); | ||||
|  | ||||
|             // Centered ASCII panel with text | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Panel(new Text("Centered\nCenter").Centered()) | ||||
|                     .Expand() | ||||
|                     .AsciiBorder() | ||||
| @@ -29,7 +29,7 @@ namespace Spectre.Console.Examples | ||||
|                     .HeaderAlignment(Justify.Center)); | ||||
|  | ||||
|             // Right adjusted, rounded panel with text | ||||
|             AnsiConsole.Render( | ||||
|             AnsiConsole.Write( | ||||
|                 new Panel(new Text("Right adjusted\nRight").RightAligned()) | ||||
|                     .Expand() | ||||
|                     .RoundedBorder() | ||||
|   | ||||
| @@ -28,8 +28,8 @@ namespace Spectre.Console.Examples | ||||
|  | ||||
|             // Summary | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule("[yellow]Results[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Render(new Table().AddColumns("[grey]Question[/]", "[grey]Answer[/]") | ||||
|             AnsiConsole.Write(new Rule("[yellow]Results[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Table().AddColumns("[grey]Question[/]", "[grey]Answer[/]") | ||||
|                 .RoundedBorder() | ||||
|                 .BorderColor(Color.Grey) | ||||
|                 .AddRow("[grey]Name[/]", name) | ||||
| @@ -43,7 +43,7 @@ namespace Spectre.Console.Examples | ||||
|         private static string AskName() | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule("[yellow]Strings[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Rule("[yellow]Strings[/]").RuleStyle("grey").LeftAligned()); | ||||
|             var name = AnsiConsole.Ask<string>("What's your [green]name[/]?"); | ||||
|             return name; | ||||
|         } | ||||
| @@ -51,7 +51,7 @@ namespace Spectre.Console.Examples | ||||
|         private static string AskFruit() | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule("[yellow]Lists[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Rule("[yellow]Lists[/]").RuleStyle("grey").LeftAligned()); | ||||
|  | ||||
|             var favorites = AnsiConsole.Prompt( | ||||
|                 new MultiSelectionPrompt<string>() | ||||
| @@ -90,7 +90,7 @@ namespace Spectre.Console.Examples | ||||
|         private static string AskSport() | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule("[yellow]Choices[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Rule("[yellow]Choices[/]").RuleStyle("grey").LeftAligned()); | ||||
|  | ||||
|             return AnsiConsole.Prompt( | ||||
|                 new TextPrompt<string>("What's your [green]favorite sport[/]?") | ||||
| @@ -104,7 +104,7 @@ namespace Spectre.Console.Examples | ||||
|         private static int AskAge() | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule("[yellow]Integers[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Rule("[yellow]Integers[/]").RuleStyle("grey").LeftAligned()); | ||||
|  | ||||
|             return AnsiConsole.Prompt( | ||||
|                 new TextPrompt<int>("How [green]old[/] are you?") | ||||
| @@ -124,7 +124,7 @@ namespace Spectre.Console.Examples | ||||
|         private static string AskPassword() | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule("[yellow]Secrets[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Rule("[yellow]Secrets[/]").RuleStyle("grey").LeftAligned()); | ||||
|  | ||||
|             return AnsiConsole.Prompt( | ||||
|                 new TextPrompt<string>("Enter [green]password[/]?") | ||||
| @@ -135,7 +135,7 @@ namespace Spectre.Console.Examples | ||||
|         private static string AskColor() | ||||
|         { | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(new Rule("[yellow]Optional[/]").RuleStyle("grey").LeftAligned()); | ||||
|             AnsiConsole.Write(new Rule("[yellow]Optional[/]").RuleStyle("grey").LeftAligned()); | ||||
|  | ||||
|             return AnsiConsole.Prompt( | ||||
|                 new TextPrompt<string>("[grey][[Optional]][/] What is your [green]favorite color[/]?") | ||||
|   | ||||
| @@ -34,7 +34,7 @@ namespace Spectre.Console.Examples | ||||
|  | ||||
|         private static void Render(Rule rule) | ||||
|         { | ||||
|             AnsiConsole.Render(rule); | ||||
|             AnsiConsole.Write(rule); | ||||
|             AnsiConsole.WriteLine(); | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -83,7 +83,7 @@ namespace Spectre.Console.Examples | ||||
|  | ||||
|             // Render the table | ||||
|             AnsiConsole.WriteLine(); | ||||
|             AnsiConsole.Render(table); | ||||
|             AnsiConsole.Write(table); | ||||
|         } | ||||
|  | ||||
|         private static IRenderable GetColorTable() | ||||
|   | ||||
| @@ -4,7 +4,7 @@ namespace Spectre.Console.Examples | ||||
|     { | ||||
|         public static void Main() | ||||
|         { | ||||
|             AnsiConsole.Render(CreateTable()); | ||||
|             AnsiConsole.Write(CreateTable()); | ||||
|         } | ||||
|  | ||||
|         private static Table CreateTable() | ||||
|   | ||||
| @@ -8,7 +8,7 @@ namespace Spectre.Console.Examples | ||||
|  | ||||
|             // Render the tree | ||||
|             var tree = BuildTree(); | ||||
|             AnsiConsole.Render(tree); | ||||
|             AnsiConsole.Write(tree); | ||||
|         } | ||||
|  | ||||
|         private static Tree BuildTree() | ||||
|   | ||||
| @@ -12,7 +12,17 @@ namespace Spectre.Console | ||||
|         /// Renders the specified object to the console. | ||||
|         /// </summary> | ||||
|         /// <param name="renderable">The object to render.</param> | ||||
|         [Obsolete("Consider using AnsiConsole.Write instead.")] | ||||
|         public static void Render(IRenderable renderable) | ||||
|         { | ||||
|             Write(renderable); | ||||
|         } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Renders the specified <see cref="IRenderable"/> to the console. | ||||
|         /// </summary> | ||||
|         /// <param name="renderable">The object to render.</param> | ||||
|         public static void Write(IRenderable renderable) | ||||
|         { | ||||
|             if (renderable is null) | ||||
|             { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user