feat: add 'enabled' phrasing and MatchFlag to MatchToggle, clean up

This commit is contained in:
spiral 2022-01-20 23:59:04 -05:00
parent 84529f6f32
commit aad9f04b6f
No known key found for this signature in database
GPG Key ID: A6059F0CA0E1BD31

View File

@ -101,9 +101,12 @@ public static class ContextArgumentsExt
public static bool MatchToggle(this Context ctx)
{
if (ctx.Match("yes", "on", "enable", "true"))
var yesToggles = new[] { "yes", "on", "enable", "enabled", "true" };
var noToggles = new[] { "no", "off", "disable", "disabled", "false" };
if (ctx.Match(yesToggles) || ctx.MatchFlag(yesToggles))
return true;
else if (ctx.Match("no", "off", "disable", "false"))
else if (ctx.Match(noToggles) || ctx.MatchFlag(noToggles))
return false;
else
throw new PKError("You must pass either \"on\" or \"off\" to this command.");