1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use clap::Subcommand;

#[derive(Subcommand)]
pub enum Pastebin {
    /// Get a specific paste for an omg.lol address
    Get {
        /// Name of the paste to get
        name: String,
    },
    /// Get all pastes for an omg.lol address
    GetAll,
    /// Get all public pastes for an omg.lol address
    GetAllPublic,
    /// Create/update a paste for an omg.lol address
    Set {
        /// Name of the paste to create (and the address used to retrieve it)
        name: String,
        /// Content of the paste
        content: String,
    },
    /// Delete a paste for an omg.lol address
    Delete {
        /// Name of the paste to delete
        name: String,
    },
}

impl Pastebin {
    pub fn process(&self) {
        match self {
            Pastebin::Get { name } => todo!(),
            Pastebin::GetAll => todo!(),
            Pastebin::GetAllPublic => todo!(),
            Pastebin::Set { name, content } => todo!(),
            Pastebin::Delete { name } => todo!(),
        }
    }
}