command_parser/
command.rs

1use std::collections::{HashMap, HashSet};
2
3
4/// Created from a string using a [`Parser`](crate::Parser).
5///
6/// For more detail look at [`Parser`](crate::Parser) documentation.
7#[derive(Debug, Eq, PartialEq, Clone)]
8pub struct Command {
9    pub prefix: char,
10    pub option_prefix: char,
11    pub name: String,
12    pub arguments: Vec<String>,
13    pub options: HashSet<String>,
14    pub parameters: HashMap<String, String>
15}
16
17impl Command {
18    pub fn new(
19        prefix: char,
20        option_prefix: char,
21        name: String,
22        arguments: Vec<String>,
23        options: HashSet<String>,
24        parameters: HashMap<String, String>
25    ) -> Command {
26        Command {
27            prefix,
28            option_prefix,
29            name,
30            arguments,
31            options,
32            parameters
33        }
34    }
35}
36