terminal-chat
32 строки · 662.0 Байт
1use clap::Parser;
2
3#[derive(Parser)]
4pub struct Args {
5#[arg(short, long, help = "Port that the server will serve")]
6pub port: u16,
7
8#[arg(short, long, help = "Maximum amount of chat users")]
9pub max_users: Option<u16>,
10
11#[arg(short, long, help = "The key that users need to know to participate the chat")]
12pub key: Option<String>,
13}
14
15#[derive(Debug, Clone)]
16pub struct Settings {
17pub port: u16,
18pub max_users: u16,
19pub key: Option<String>,
20}
21
22impl Settings {
23pub fn new() -> Settings {
24let args = Args::parse();
25
26Settings {
27port: args.port,
28max_users: args.max_users.unwrap_or(10),
29key: args.key
30}
31}
32}
33