Skip to content

Merge multiple arguments? #266

Description

@Slesa

Description

In case of modularization, is it possible somehow to merge different arguments without subcommands? Let's say you have a bunch of command line backends: a POS cash register, a kitchen order viewer, and a customer database. Each of them may have their service arguments like network address to listen on and a port. And each of them have their own settings, a fixed waiter for the POS or sth like that.

Repro steps

type ServiceArguments =
    | Rest_Service of RestHost: string * RestPort: uint16
    interface IArgParserTemplate with

type PosArguments =
    | [<AltCommandLine("-w")>] [<EqualsAssignmentOrSpaced>] Waiter of uint
    interface IArgParserTemplate with

type ClientArguments =
    | ServiceArguments of service: ServiceArguments 
    | PosArguments of pos: PosArguments
    interface IArgParserTemplate with

I assume there is some kind of interceptor function, or should I collect all known arguments for each interface and then provide it to the sub arguments? Or is the only way to use subcommands? Feels a bit strange, though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions