- [Core] Add option to toggle logger events [GUI/CLI]

This commit is contained in:
Razmoth
2024-01-22 20:22:55 +04:00
parent 0cdad5ef1a
commit 59478d9c05
11 changed files with 125 additions and 91 deletions

View File

@@ -21,7 +21,7 @@ namespace AssetStudio.CLI
var rootCommand = new RootCommand()
{
optionsBinder.Silent,
optionsBinder.Verbose,
optionsBinder.LoggerFlags,
optionsBinder.TypeFilter,
optionsBinder.NameFilter,
optionsBinder.ContainerFilter,
@@ -49,7 +49,7 @@ namespace AssetStudio.CLI
public class Options
{
public bool Silent { get; set; }
public bool Verbose { get; set; }
public LoggerEvent LoggerFlags { get; set; }
public ClassIDType[] TypeFilter { get; set; }
public Regex[] NameFilter { get; set; }
public Regex[] ContainerFilter { get; set; }
@@ -72,7 +72,7 @@ namespace AssetStudio.CLI
public class OptionsBinder : BinderBase<Options>
{
public readonly Option<bool> Silent;
public readonly Option<bool> Verbose;
public readonly Option<LoggerEvent> LoggerFlags;
public readonly Option<ClassIDType[]> TypeFilter;
public readonly Option<Regex[]> NameFilter;
public readonly Option<Regex[]> ContainerFilter;
@@ -94,7 +94,7 @@ namespace AssetStudio.CLI
public OptionsBinder()
{
Silent = new Option<bool>("--silent", "Hide log messages.");
Verbose = new Option<bool>("--verbose", "Enable verbose logging.");
LoggerFlags = new Option<LoggerEvent>("--logger_flags", "Flags to control toggle log events.");
TypeFilter = new Option<ClassIDType[]>("--types", "Specify unity class type(s)") { AllowMultipleArgumentsPerToken = true, ArgumentHelpName = "Texture2D|Sprite|etc.." };
NameFilter = new Option<Regex[]>("--names", result => result.Tokens.Select(x => new Regex(x.Value, RegexOptions.IgnoreCase)).ToArray(), false, "Specify name regex filter(s).") { AllowMultipleArgumentsPerToken = true };
ContainerFilter = new Option<Regex[]>("--containers", result => result.Tokens.Select(x => new Regex(x.Value, RegexOptions.IgnoreCase)).ToArray(), false, "Specify container regex filter(s).") { AllowMultipleArgumentsPerToken = true };
@@ -152,6 +152,7 @@ namespace AssetStudio.CLI
GameName.FromAmong(GameManager.GetGameNames());
LoggerFlags.SetDefaultValue(LoggerEvent.Default);
GroupAssetsType.SetDefaultValue(AssetGroupOption.ByType);
AssetExportType.SetDefaultValue(ExportType.Convert);
MapOp.SetDefaultValue(MapOpType.None);
@@ -186,7 +187,7 @@ namespace AssetStudio.CLI
new()
{
Silent = bindingContext.ParseResult.GetValueForOption(Silent),
Verbose = bindingContext.ParseResult.GetValueForOption(Verbose),
LoggerFlags = bindingContext.ParseResult.GetValueForOption(LoggerFlags),
TypeFilter = bindingContext.ParseResult.GetValueForOption(TypeFilter),
NameFilter = bindingContext.ParseResult.GetValueForOption(NameFilter),
ContainerFilter = bindingContext.ParseResult.GetValueForOption(ContainerFilter),