fm/io/
args.rs

1use clap::Parser;
2
3#[derive(Parser, Debug, Clone)]
4#[clap(author, version, about)]
5/// FM : dired / ranger like file manager{n} {n}Config files: ~/.config/fm/{n}Documentation: <https://github.com/qkzk/fm>{n}
6pub struct Args {
7    /// Starting path. directory or file
8    #[arg(short, long, default_value_t = String::from("."))]
9    pub path: String,
10
11    /// Nvim server
12    #[arg(short, long, default_value_t = String::from(""))]
13    pub server: String,
14
15    /// Display all files (hidden)
16    #[arg(short = 'A', long, default_value_t = false)]
17    pub all: bool,
18
19    /// Enable logging
20    #[arg(short = 'l', long, default_value_t = false)]
21    pub log: bool,
22
23    /// fm is started inside neovim terminal emulator
24    #[arg(long, default_value_t = false)]
25    pub neovim: bool,
26
27    /// UNIX Socket file by fm to receive messages
28    #[arg(long)]
29    pub input_socket: Option<String>,
30
31    /// UNIX Socket file used by fm to send messages
32    #[arg(long)]
33    pub output_socket: Option<String>,
34
35    /// Disable images previewing
36    #[arg(long, default_value_t = false)]
37    pub disable_images: bool,
38}