mirror of
				https://github.com/nsnail/spectre.console.git
				synced 2025-11-01 01:25:27 +08:00 
			
		
		
		
	Add Spectre.Cli to Spectre.Console
* Renames Spectre.Cli to Spectre.Console.Cli. * Now uses Verify with Spectre.Console.Cli tests. * Removes some duplicate definitions. Closes #168
This commit is contained in:
		 Patrik Svensson
					Patrik Svensson
				
			
				
					committed by
					
						 Patrik Svensson
						Patrik Svensson
					
				
			
			
				
	
			
			
			 Patrik Svensson
						Patrik Svensson
					
				
			
						parent
						
							0bbf9b81a9
						
					
				
				
					commit
					0ae419326d
				
			
							
								
								
									
										15
									
								
								examples/Console/Exceptions/Exceptions.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								examples/Console/Exceptions/Exceptions.csproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
|  | ||||
|   <PropertyGroup> | ||||
|     <OutputType>Exe</OutputType> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|     <ExampleTitle>Exceptions</ExampleTitle> | ||||
|     <ExampleDescription>Demonstrates how to render formatted exceptions.</ExampleDescription> | ||||
|     <ExampleGroup>Misc</ExampleGroup> | ||||
|   </PropertyGroup> | ||||
|  | ||||
|   <ItemGroup> | ||||
|     <ProjectReference Include="..\..\..\src\Spectre.Console\Spectre.Console.csproj" /> | ||||
|   </ItemGroup> | ||||
|  | ||||
| </Project> | ||||
							
								
								
									
										66
									
								
								examples/Console/Exceptions/Program.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								examples/Console/Exceptions/Program.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| using System; | ||||
| using System.Security.Authentication; | ||||
| using Spectre.Console; | ||||
|  | ||||
| namespace Exceptions | ||||
| { | ||||
|     public static class Program | ||||
|     { | ||||
|         public static void Main(string[] args) | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 DoMagic(42, null); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("Default").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.WriteException(ex); | ||||
|  | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("Compact").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.WriteException(ex, ExceptionFormats.ShortenEverything | ExceptionFormats.ShowLinks); | ||||
|  | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.Render(new Rule("Compact + Custom colors").LeftAligned()); | ||||
|                 AnsiConsole.WriteLine(); | ||||
|                 AnsiConsole.WriteException(ex, new ExceptionSettings | ||||
|                 { | ||||
|                     Format = ExceptionFormats.ShortenEverything | ExceptionFormats.ShowLinks, | ||||
|                     Style = new ExceptionStyle | ||||
|                     { | ||||
|                         Exception = new Style().Foreground(Color.Grey), | ||||
|                         Message = new Style().Foreground(Color.White), | ||||
|                         NonEmphasized = new Style().Foreground(Color.Cornsilk1), | ||||
|                         Parenthesis = new Style().Foreground(Color.Cornsilk1), | ||||
|                         Method = new Style().Foreground(Color.Red), | ||||
|                         ParameterName = new Style().Foreground(Color.Cornsilk1), | ||||
|                         ParameterType = new Style().Foreground(Color.Red), | ||||
|                         Path = new Style().Foreground(Color.Red), | ||||
|                         LineNumber = new Style().Foreground(Color.Cornsilk1), | ||||
|                     } | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private static void DoMagic(int foo, string[,] bar) | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 CheckCredentials(foo, bar); | ||||
|             } | ||||
|             catch(Exception ex) | ||||
|             { | ||||
|                 throw new InvalidOperationException("Whaaat?", ex); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private static void CheckCredentials(int qux, string[,] corgi) | ||||
|         { | ||||
|             throw new InvalidCredentialException("The credentials are invalid."); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user