1 // Copyright 2018 Guillaume Pinot (@TeXitoi) <texitoi@texitoi.eu>, 2 // Kevin Knapp (@kbknapp) <kbknapp@gmail.com>, and 3 // Ana Hobden (@hoverbear) <operator@hoverbear.org> 4 // 5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or 6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your 8 // option. This file may not be copied, modified, or distributed 9 // except according to those terms. 10 // 11 // This work was derived from Structopt (https://github.com/TeXitoi/structopt) 12 // commit#ea76fa1b1b273e65e3b0b1046643715b49bec51f which is licensed under the 13 // MIT/Apache 2.0 license. 14 15 mod options { 16 use clap::Parser; 17 18 #[derive(Debug, Parser)] 19 pub struct Options { 20 #[command(subcommand)] 21 pub subcommand: super::subcommands::SubCommand, 22 } 23 } 24 25 mod subcommands { 26 use clap::Subcommand; 27 28 #[derive(Debug, Subcommand)] 29 pub enum SubCommand { 30 /// foo 31 Foo { 32 /// foo 33 bars: String, 34 }, 35 } 36 } 37