mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 17:28:27 -04:00
23 lines
680 B
C#
23 lines
680 B
C#
using CommandLine;
|
|
|
|
namespace NadekoBot.Common;
|
|
|
|
public static class OptionsParser
|
|
{
|
|
public static T ParseFrom<T>(string[] args) where T : INadekoCommandOptions, new()
|
|
=> ParseFrom(new T(), args).Item1;
|
|
|
|
public static (T, bool) ParseFrom<T>(T options, string[] args) where T : INadekoCommandOptions
|
|
{
|
|
using (var p = new Parser(x =>
|
|
{
|
|
x.HelpWriter = null;
|
|
}))
|
|
{
|
|
var res = p.ParseArguments<T>(args);
|
|
options = res.MapResult(x => x, x => options);
|
|
options.NormalizeOptions();
|
|
return (options, res.Tag == ParserResultType.Parsed);
|
|
}
|
|
}
|
|
} |