mirror of
				https://github.com/nsnail/spectre.console.git
				synced 2025-11-04 10:35:27 +08:00 
			
		
		
		
	* Fixes a bug with `SelectionPrompt` and page size. * Allow `IAnsiConsoleInput` to return `null`.
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using Spectre.Console;
 | 
						|
 | 
						|
namespace Generator.Commands.Samples
 | 
						|
{
 | 
						|
    internal class TreeSample : BaseSample
 | 
						|
    {
 | 
						|
        public override void Run(IAnsiConsole console)
 | 
						|
        {
 | 
						|
            // Create the tree
 | 
						|
            var tree = new Tree("Root")
 | 
						|
                .Style(Style.Parse("red"))
 | 
						|
                .Guide(TreeGuide.Line);
 | 
						|
 | 
						|
            // Add some nodes
 | 
						|
            var foo = tree.AddNode("[yellow]Nest objects like tables[/]");
 | 
						|
            var table = foo.AddNode(new Table()
 | 
						|
                .RoundedBorder()
 | 
						|
                .AddColumn("First")
 | 
						|
                .AddColumn("Second")
 | 
						|
                .AddRow("1", "2")
 | 
						|
                .AddRow("3", "4")
 | 
						|
                .AddRow("5", "6"));
 | 
						|
 | 
						|
            table.AddNode("[blue]with[/]");
 | 
						|
            table.AddNode("[blue]multiple[/]");
 | 
						|
            table.AddNode("[blue]children too[/]");
 | 
						|
 | 
						|
            var bar = tree.AddNode("Any IRenderable can be nested, such as [yellow]calendars[/]");
 | 
						|
            bar.AddNode(new Calendar(2020, 12)
 | 
						|
                .Border(TableBorder.Rounded)
 | 
						|
                .BorderStyle(new Style(Color.Green3_1))
 | 
						|
                .AddCalendarEvent(2020, 12, 12)
 | 
						|
                .HideHeader());
 | 
						|
 | 
						|
            console.Write(tree);
 | 
						|
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |