Krolyxon
Commit 579b09b

rmptuisrcmain.rs

54 lines · 1.1 KB · Rust

1mod connection;
2use clap::Parser;
3use connection::Connection;
4
5#[derive(Parser, Debug)]
6#[command(version, about, long_about = None)]
7struct Args {
8 /// pause
9 #[arg(short, long, default_value = "false")]
10 pub pause: bool,
11
12 /// toggle pause
13 #[arg(short, long, default_value = "false")]
14 pub toggle_pause: bool,
15
16 /// show current status
17 #[arg(short, long, default_value = "false")]
18 pub show_status: bool,
19
20 /// use fzf selector for selecting songs
21 #[arg(short, long, default_value = "false")]
22 pub fzf_select: bool,
23
24 /// use dmenu selector for selecting songss
25 #[arg(short, long, default_value = "false")]
26 pub dmenu_select: bool,
27}
28
29fn main() -> Result<(), Box<dyn std::error::Error>> {
30 let args = Args::parse();
31 let mut conn = Connection::new("127.0.0.1:6600")?;
32
33 if args.show_status {
34 conn.status();
35 }
36
37 if args.toggle_pause {
38 conn.toggle_pause();
39 }
40
41 if args.pause {
42 conn.pause();
43 }
44
45 if args.fzf_select {
46 conn.play_fzf();
47 }
48
49 if args.dmenu_select {
50 conn.play_dmenu();
51 }
52
53 Ok(())
54}