@@ -13,7 +13,7 @@ namespace SmartImage;
1313
1414public class CliMain : IDisposable
1515{
16- private const int COMPLETE = 100 ;
16+ private const double COMPLETE = 100.0D ;
1717
1818 private static readonly ProgressColumn [ ] PrgCol_1 =
1919 {
@@ -25,19 +25,21 @@ public class CliMain : IDisposable
2525 new ElapsedTimeColumn ( ) ,
2626 new ProgressBarColumn ( )
2727 } ;
28-
29- static CliMain ( )
30- {
31- }
3228
33- private static readonly Progress Prg_1 = AnsiConsole . Progress ( ) . Columns ( PrgCol_1 ) ;
29+ static CliMain ( ) { }
30+
31+ private static readonly Progress Prg_1 = AnsiConsole . Progress ( )
32+ . AutoClear ( true )
33+ . AutoRefresh ( true )
34+ . HideCompleted ( false )
35+ . Columns ( PrgCol_1 ) ;
3436
3537 public static async Task RunCliAsync ( string c )
3638 {
3739 var q = await Prg_1 . StartAsync ( async ctx =>
3840 {
3941 var t = ctx . AddTask ( "Validating input" ) ;
40-
42+ t . IsIndeterminate = true ;
4143 var qInner = await SearchQuery . TryCreateAsync ( c ) ;
4244 t . Increment ( COMPLETE ) ;
4345 return qInner ;
@@ -47,8 +49,9 @@ public static async Task RunCliAsync(string c)
4749
4850 var url = await Prg_1 . StartAsync ( async ( p ) =>
4951 {
50- var pt = p . AddTask ( $ "Upload") ;
51- var urlInner = await q . UploadAsync ( ) ;
52+ var pt = p . AddTask ( $ "Upload") ;
53+ pt . IsIndeterminate = true ;
54+ var urlInner = await q . UploadAsync ( ) ;
5255 pt . Increment ( COMPLETE ) ;
5356 return urlInner ;
5457
@@ -76,22 +79,26 @@ public static async Task RunCliAsync(string c)
7679
7780 foreach ( var e in sc . Engines ) {
7881 var t = ctx . AddTask ( $ "{ e } ") ;
82+ t . IsIndeterminate = true ;
7983 ptMap . Add ( e , t ) ;
8084 }
8185
8286 var pt1 = ctx . AddTask ( "[yellow]Searching[/]" ) ;
87+ pt1 . IsIndeterminate = false ;
8388 var rg = new ConcurrentBag < SearchResult > ( ) ;
8489
8590 sc . OnComplete += ( sender , searchResults ) =>
8691 {
8792 pt1 . Increment ( COMPLETE ) ;
8893 } ;
94+ pt1 . MaxValue = sc . Engines . Length ;
8995
9096 sc . OnResult += ( sender , result ) =>
9197 {
98+ rg . Add ( result ) ;
9299 ptMap [ result . Engine ] . Increment ( COMPLETE ) ;
93- pt1 . Increment ( ( double ) rg . Count / sc . Engines . Length ) ;
94-
100+ pt1 . Increment ( ( 1.0 ) ) ;
101+
95102 } ;
96103
97104 var resultsInner = await sc . RunSearchAsync ( q , cts . Token ) ;
@@ -100,10 +107,11 @@ public static async Task RunCliAsync(string c)
100107 } ) ;
101108
102109 foreach ( SearchResult sr in results ) {
103- AnsiConsole . MarkupLine ( $ "[cyan]{ sr . Engine . Name } [/]") ;
110+ AnsiConsole . MarkupLine ( $ "[cyan][bold]{ sr . Engine . Name } [/][/]") ;
111+ int i = 0 ;
104112 foreach ( SearchResultItem sri in sr . Results ) {
105- AnsiConsole . MarkupLine ( $ "[link={ sri . Url } ]{ sr . Engine } #[/]") ;
106-
113+ AnsiConsole . MarkupLine ( $ "[link={ sri . Url } ]{ sr . Engine . Name } #{ i + 1 } [/]") ;
114+ i ++ ;
107115 }
108116 }
109117 }
0 commit comments