From 2a3cee87250a2f81646f384b28779d972598b1f7 Mon Sep 17 00:00:00 2001 From: Jimmi HC Date: Fri, 8 Jun 2018 13:45:13 +0200 Subject: Removed the settings param --- src/extended.zig | 54 +++++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) (limited to 'src') diff --git a/src/extended.zig b/src/extended.zig index 5fd019d..ec8310e 100644 --- a/src/extended.zig +++ b/src/extended.zig @@ -16,40 +16,48 @@ pub const Param = struct { settings: Settings, kind: Kind, - pub fn flag(field: []const u8, names: *const core.Names, settings: *const Settings) Param { - return Param{ - .field = field, - .names = names.*, - .settings = settings.*, - .kind = Kind.Flag, - }; + required: bool, + position: ?usize, + + pub fn flag(field: []const u8, names: *const core.Names) Param { + return init( + field, + names, + Kind.Flag, + ); } pub fn option( field: []const u8, names: *const core.Names, - settings: *const Settings, comptime parser: *const Parser, ) Param { - return Param{ - .field = field, - .names = names.*, - .settings = settings.*, - .kind = Kind{ .Option = parser.* }, - }; + return init( + field, + names, + Kind{ .Option = parser.* }, + ); } pub fn subcommand( field: []const u8, names: *const core.Names, - settings: *const Settings, comptime command: *const Command, ) Param { + return init( + field, + names, + Kind{ .Subcommand = command.* }, + ); + } + + pub fn init(field: []const u8, names: *const core.Names, kind: *const Kind) Param { return Param{ .field = field, .names = names.*, - .settings = settings.*, - .kind = Kind{ .Subcommand = Command.* }, + .kind = kind.*, + .required = false, + .position = null, }; } @@ -58,18 +66,6 @@ pub const Param = struct { Option: Parser, Subcommand: Command, }; - - pub const Settings = struct { - required: bool, - position: ?usize, - - pub fn default() Settings { - return Settings{ - .required = false, - .position = null, - }; - } - }; }; const Opaque = @OpaqueType(); -- cgit v1.2.3