{"action":"created","issue":{"url":"https://api.github.com/repos/TeXitoi/structopt/issues/110","repository_url":"https://api.github.com/repos/TeXitoi/structopt","labels_url":"https://api.github.com/repos/TeXitoi/structopt/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/TeXitoi/structopt/issues/110/comments","events_url":"https://api.github.com/repos/TeXitoi/structopt/issues/110/events","html_url":"https://github.com/TeXitoi/structopt/issues/110","id":321370163,"number":110,"title":"Add support for ArgGroup using nested enums/structs","user":{"login":"I60R","id":9143774,"avatar_url":"https://avatars1.githubusercontent.com/u/9143774?v=4","gravatar_id":"","url":"https://api.github.com/users/I60R","html_url":"https://github.com/I60R","followers_url":"https://api.github.com/users/I60R/followers","following_url":"https://api.github.com/users/I60R/following{/other_user}","gists_url":"https://api.github.com/users/I60R/gists{/gist_id}","starred_url":"https://api.github.com/users/I60R/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/I60R/subscriptions","organizations_url":"https://api.github.com/users/I60R/orgs","repos_url":"https://api.github.com/users/I60R/repos","events_url":"https://api.github.com/users/I60R/events{/privacy}","received_events_url":"https://api.github.com/users/I60R/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-05-08T22:34:41Z","updated_at":"2018-05-09T16:34:32Z","closed_at":"2018-05-09T15:33:57Z","author_association":"NONE","body":"This intended to improve `Opt` structure and might simplify logic in application.\r\nExample:\r\n\r\n\r\n\r\n```rust\r\n    #[derive(StructOpt)]\r\n    struct Opt {\r\n        #[structopt(arggroup)]\r\n        mandatory_opts: OptsAllMandatory,\r\n\r\n        #[structopt(arggroup)]\r\n        mandatory_opt: OptsOnlyOneMandatory,\r\n\r\n        #[structopt(arggroup)]\r\n        optional_opts: Option<OptsAllOptional>,\r\n\r\n        #[structopt(arggroup)]\r\n        optional_opt: Option<OptsOnlyOneOptional>,\r\n\r\n    }\r\n\r\n\r\n    // This is required group, all arguments should be provided\r\n    #[derive(StructOptGroup)]\r\n    #[structopt(arg group options...)]\r\n    struct OptsAllMandatory {\r\n        // a help...\r\n        #[structopt(arg options...)]\r\n        a: bool,\r\n\r\n        // b help...\r\n        #[structopt(arg options...)]\r\n        b: String,\r\n\r\n        ...\r\n    }\r\n\r\n    // This is required group, but only one argument should be provided\r\n    #[derive(StructOptGroup)]\r\n    #[structopt(arg group options...)]\r\n    enum OptsOnlyOneMandatory {\r\n        // c help...\r\n        #[structopt(arg options...)]\r\n        c(bool),\r\n\r\n        // d help...\r\n        #[structopt(arg options...)]\r\n        d(String),\r\n\r\n        ...\r\n    }\r\n\r\n    // This is optional group, but if any provided - other should be provided too\r\n    #[derive(StructOptGroup)]\r\n    #[structopt(arg group options...)]\r\n    struct OptsAllOptional {\r\n        // e help...\r\n        #[structopt(arg options...)]\r\n        e: bool,\r\n\r\n        // f help...\r\n        #[structopt(arg options...)]\r\n        f: String,\r\n\r\n        ...\r\n    }\r\n\r\n    // This is optional group, and only one argument from group might be used\r\n    #[derive(StructOptGroup)]\r\n    #[structopt(arg group options...)]\r\n    enum OptsOnlyOneOptional {\r\n        // g help...\r\n        #[structopt(arg options...)]\r\n        g(bool),\r\n\r\n        // h help...\r\n        #[structopt(arg options...)]\r\n        h(String),\r\n\r\n        ...\r\n    }\r\n```"},"comment":{"url":"https://api.github.com/repos/TeXitoi/structopt/issues/comments/387799024","html_url":"https://github.com/TeXitoi/structopt/issues/110#issuecomment-387799024","issue_url":"https://api.github.com/repos/TeXitoi/structopt/issues/110","id":387799024,"user":{"login":"TeXitoi","id":5787066,"avatar_url":"https://avatars0.githubusercontent.com/u/5787066?v=4","gravatar_id":"","url":"https://api.github.com/users/TeXitoi","html_url":"https://github.com/TeXitoi","followers_url":"https://api.github.com/users/TeXitoi/followers","following_url":"https://api.github.com/users/TeXitoi/following{/other_user}","gists_url":"https://api.github.com/users/TeXitoi/gists{/gist_id}","starred_url":"https://api.github.com/users/TeXitoi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TeXitoi/subscriptions","organizations_url":"https://api.github.com/users/TeXitoi/orgs","repos_url":"https://api.github.com/users/TeXitoi/repos","events_url":"https://api.github.com/users/TeXitoi/events{/privacy}","received_events_url":"https://api.github.com/users/TeXitoi/received_events","type":"User","site_admin":false},"created_at":"2018-05-09T16:34:32Z","updated_at":"2018-05-09T16:34:32Z","author_association":"OWNER","body":"No problem. This issue still contain valuable content, thanks for submitting."}}
{"actor":{"display_login":"TeXitoi"}}