mirror of
				https://github.com/nsnail/spectre.console.git
				synced 2025-10-30 00:39:25 +08:00 
			
		
		
		
	 131b37fff8
			
		
	
	131b37fff8
	
	
	
		
			
			Allow custom help providers * Version option will show in help even with a default command * Reserve `-v` and `--version` as special Spectre.Console command line arguments (nb. breaking change for Spectre.Console users who have a default command with a settings class that uses either of these switches). * Help writer correctly determines if trailing commands exist and whether to display them as optional or mandatory in the usage statement. * Ability to control the number of indirect commands to display in the help text when the command itself doesn't have any examples of its own. Defaults to 5 (for backward compatibility) but can be set to any integer or zero to disable completely. * Significant increase in unit test coverage for the help writer. * Minor grammatical improvements to website documentation.
		
			
				
	
	
		
			30 lines
		
	
	
		
			918 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			918 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.Linq;
 | |
| using Spectre.Console;
 | |
| using Spectre.Console.Cli;
 | |
| using Spectre.Console.Cli.Help;
 | |
| using Spectre.Console.Rendering;
 | |
| 
 | |
| namespace Help;
 | |
| 
 | |
| /// <summary>
 | |
| /// Example showing how to extend the built-in Spectre.Console help provider
 | |
| /// by rendering a custom banner at the top of the help information
 | |
| /// </summary>
 | |
| internal class CustomHelpProvider : HelpProvider
 | |
| {
 | |
|     public CustomHelpProvider(ICommandAppSettings settings)
 | |
|         : base(settings)
 | |
|     {
 | |
|     }
 | |
| 
 | |
|     public override IEnumerable<IRenderable> GetHeader(ICommandModel model, ICommandInfo? command)
 | |
|     {
 | |
|         return new[]
 | |
|         {
 | |
|             new Text("--------------------------------------"), Text.NewLine,
 | |
|             new Text("---      CUSTOM HELP PROVIDER      ---"), Text.NewLine,
 | |
|             new Text("--------------------------------------"), Text.NewLine,
 | |
|             Text.NewLine,
 | |
|         };
 | |
|     }
 | |
| } |