ruclif_parser_clap/
string.rs1use crate::ClapArgData;
2
3mod impls;
4
5#[cfg(test)]
6mod tests;
7
8pub type ValueParserFunc = fn(&str) -> Result<String, String>;
9
10#[derive(Debug, PartialEq, Eq)]
11pub struct StringClapArgData {
12 common: ClapArgData, default_value: Option<&'static str>, value_parser: Option<ValueParserFunc>, } #[derive(Debug, PartialEq, Eq)]
18pub struct StringClapArg {
19 data: StringClapArgData, } #[derive(Default, Debug, PartialEq, Eq)]
23pub struct StringClapArgBuilder {
24 name: Option<&'static str>, short: Option<char>, long: Option<&'static str>, description: Option<&'static str>, default_value: Option<&'static str>, value_parser: Option<ValueParserFunc>, state: u8,
31} mod builder_state {
34 pub const NAME: usize = 0b1;
35 pub const SHORT: usize = 0b10;
36 pub const LONG: usize = 0b100;
37 pub const DESCRIPTION: usize = 0b1000;
38 pub const EXPECTED: u8 = 0b1111;
39}
40
41mod error_message {
42 pub const MANDATORY_FIELDS_MISSING: &str = "Following mandatory fields are missing: {fields}";
43}