Я хочу создать приложение CLI, используя библиотеку clap. Проблема в том, что я хочу использовать свое приложение следующим образом:
./my_app file.txt read2.txt -d
Цель состоит в том, чтобы я мог восстановить в своей программе в виде Vec
со значениями file.txt read2.txt
.
мой код:
use clap::{App, load_yaml};
#[derive(Debug)]
enum EFlag {
Debug,
None,
}
#[derive(Debug)]
pub struct Flag {
debug: EFlag,
}
impl Flag {
pub fn new() -> Flag {
Flag {
debug: EFlag::None,
}
}
pub fn fill_flag(&mut self) {
let yaml = load_yaml!("cli.yaml");
let matches = App::from(yaml).get_matches();
match matches.is_present("debug") {
true => self.debug = EFlag::Debug,
_ => self.debug = EFlag::None,
}
// HERE I WANT TO RECEIVE file.txt file2.txt
}
}
fn main() {
let mut flag = Flag::new();
flag.fill_flag();
}
Я использую бета-версию clap для создания файла yaml для управления флагами.
файл yaml:
name: bs-script
version: "1.0.0"
author: Clement B. <[email protected]>
about: Write perform, secure and easy script with an Rust script interpretor
args:
- debug:
short: d
long: debug
about: display debug information