--basic option to disable advanced output (UpToolCLI)
This commit is contained in:
parent
c5de2e6886
commit
b2d353b0bb
|
@ -1,5 +1,7 @@
|
|||
using System;
|
||||
using System.CommandLine;
|
||||
using System.CommandLine.Invocation;
|
||||
using System.Linq;
|
||||
using UpToolLib;
|
||||
using UpToolLib.Tool;
|
||||
|
||||
|
@ -17,6 +19,8 @@ namespace UpToolCLI
|
|||
XmlTool.FixXml();
|
||||
ExternalFunctionalityManager.Init(Functions);
|
||||
RootCommand rootCommand = new RootCommand();
|
||||
rootCommand.AddGlobalOption(new Option<bool>("--basic"));
|
||||
UtLibFunctions.Basic = args.Contains("--basic");
|
||||
|
||||
PackageManagement.RegisterCommands(rootCommand);
|
||||
CacheManagement.RegisterCommands(rootCommand);
|
||||
|
|
|
@ -10,6 +10,7 @@ namespace UpToolCLI
|
|||
{
|
||||
public class UtLibFunctions : IExternalFunctionality
|
||||
{
|
||||
public static bool Basic;
|
||||
public Tuple<bool, byte[]> Download(Uri link)
|
||||
{
|
||||
using WebClient client = new WebClient();
|
||||
|
@ -25,9 +26,12 @@ namespace UpToolCLI
|
|||
};
|
||||
client.DownloadProgressChanged += (sender, e) =>
|
||||
{
|
||||
Console.Write(
|
||||
$"{new string('=', e.ProgressPercentage / 10)}[{e.ProgressPercentage}]{new string('-', 10 - e.ProgressPercentage / 10)}");
|
||||
Console.CursorLeft = 0;
|
||||
if (!Basic)
|
||||
{
|
||||
Console.Write(
|
||||
$"{new string('=', e.ProgressPercentage / 10)}[{e.ProgressPercentage}]{new string('-', 10 - e.ProgressPercentage / 10)}");
|
||||
Console.CursorLeft = 0;
|
||||
}
|
||||
};
|
||||
client.DownloadDataAsync(link);
|
||||
while (!finished)
|
||||
|
@ -47,48 +51,62 @@ namespace UpToolCLI
|
|||
|
||||
public bool YesNoDialog(string text, bool defaultVal)
|
||||
{
|
||||
bool choosing = true;
|
||||
bool current = defaultVal;
|
||||
Console.WriteLine(text);
|
||||
while (choosing)
|
||||
if (Basic)
|
||||
{
|
||||
Console.CursorLeft = 0;
|
||||
Console.BackgroundColor = current ? ConsoleColor.White : ConsoleColor.Black;
|
||||
Console.ForegroundColor = current ? ConsoleColor.Black : ConsoleColor.White;
|
||||
Console.Write("Yes");
|
||||
Console.ResetColor();
|
||||
Console.Write(" ");
|
||||
Console.BackgroundColor = current ? ConsoleColor.Black : ConsoleColor.White;
|
||||
Console.ForegroundColor = current ? ConsoleColor.White : ConsoleColor.Black;
|
||||
Console.Write("No");
|
||||
Console.ResetColor();
|
||||
switch (Console.ReadKey().Key)
|
||||
{
|
||||
case ConsoleKey.LeftArrow:
|
||||
case ConsoleKey.RightArrow:
|
||||
current = !current;
|
||||
break;
|
||||
case ConsoleKey.Enter:
|
||||
choosing = false;
|
||||
break;
|
||||
case ConsoleKey.Escape:
|
||||
current = defaultVal;
|
||||
choosing = false;
|
||||
break;
|
||||
}
|
||||
Console.WriteLine(text);
|
||||
Console.WriteLine("Selecting \"Yes\"");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
bool choosing = true;
|
||||
bool current = defaultVal;
|
||||
Console.WriteLine(text);
|
||||
while (choosing)
|
||||
{
|
||||
Console.CursorLeft = 0;
|
||||
Console.BackgroundColor = current ? ConsoleColor.White : ConsoleColor.Black;
|
||||
Console.ForegroundColor = current ? ConsoleColor.Black : ConsoleColor.White;
|
||||
Console.Write("Yes");
|
||||
Console.ResetColor();
|
||||
Console.Write(" ");
|
||||
Console.BackgroundColor = current ? ConsoleColor.Black : ConsoleColor.White;
|
||||
Console.ForegroundColor = current ? ConsoleColor.White : ConsoleColor.Black;
|
||||
Console.Write("No");
|
||||
Console.ResetColor();
|
||||
switch (Console.ReadKey().Key)
|
||||
{
|
||||
case ConsoleKey.LeftArrow:
|
||||
case ConsoleKey.RightArrow:
|
||||
current = !current;
|
||||
break;
|
||||
case ConsoleKey.Enter:
|
||||
choosing = false;
|
||||
break;
|
||||
case ConsoleKey.Escape:
|
||||
current = defaultVal;
|
||||
choosing = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
Console.ResetColor();
|
||||
Console.WriteLine($" Selecting: {current}");
|
||||
return current;
|
||||
}
|
||||
Console.ResetColor();
|
||||
Console.WriteLine($" Selecting: {current}");
|
||||
return current;
|
||||
}
|
||||
|
||||
public void OkDialog(string text)
|
||||
{
|
||||
Console.WriteLine(text);
|
||||
Console.BackgroundColor = ConsoleColor.White;
|
||||
Console.Write("OK");
|
||||
Console.ResetColor();
|
||||
Console.ReadKey();
|
||||
if (Basic)
|
||||
Console.WriteLine(text);
|
||||
else
|
||||
{
|
||||
Console.WriteLine(text);
|
||||
Console.BackgroundColor = ConsoleColor.White;
|
||||
Console.Write("OK");
|
||||
Console.ResetColor();
|
||||
Console.ReadKey();
|
||||
}
|
||||
}
|
||||
|
||||
public object GetDefaultIcon() => 0;
|
||||
|
|
Reference in New Issue