summaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/cli.rs
diff options
context:
space:
mode:
authorMarcin Puc <5671049+tranzystorek-io@users.noreply.github.com>2022-01-23 20:59:03 +0100
committerGitHub <noreply@github.com>2022-01-23 20:59:03 +0100
commite58b67ce2ed839dd8cbd2dadabc6e092b0e0b96a (patch)
treee7f4597ed4832cf655691dffdb92a9c32b9407a3 /zellij-utils/src/cli.rs
parent5f86dc4fd0542e5db22c0263fdaac8cb0309b440 (diff)
chore(deps): update arg parsing to clap v3 (#1017)
* Update arg parsing to clap v3 * Ignore shell argument case
Diffstat (limited to 'zellij-utils/src/cli.rs')
-rw-r--r--zellij-utils/src/cli.rs56
1 files changed, 28 insertions, 28 deletions
diff --git a/zellij-utils/src/cli.rs b/zellij-utils/src/cli.rs
index 2c1aeba37..03bf8db4d 100644
--- a/zellij-utils/src/cli.rs
+++ b/zellij-utils/src/cli.rs
@@ -3,111 +3,111 @@ use crate::{
consts::{ZELLIJ_CONFIG_DIR_ENV, ZELLIJ_CONFIG_FILE_ENV},
input::options::CliOptions,
};
+use clap::{Parser, Subcommand};
use serde::{Deserialize, Serialize};
use std::path::PathBuf;
-use structopt::StructOpt;
-#[derive(StructOpt, Default, Debug, Clone, Serialize, Deserialize)]
-#[structopt(name = "zellij")]
+#[derive(Parser, Default, Debug, Clone, Serialize, Deserialize)]
+#[clap(version, name = "zellij")]
pub struct CliArgs {
/// Maximum panes on screen, caution: opening more panes will close old ones
- #[structopt(long)]
+ #[clap(long)]
pub max_panes: Option<usize>,
/// Change where zellij looks for layouts and plugins
- #[structopt(long, parse(from_os_str))]
+ #[clap(long, parse(from_os_str))]
pub data_dir: Option<PathBuf>,
/// Run server listening at the specified socket path
- #[structopt(long, parse(from_os_str), hidden = true)]
+ #[clap(long, parse(from_os_str), hide = true)]
pub server: Option<PathBuf>,
/// Specify name of a new session
- #[structopt(long, short)]
+ #[clap(long, short)]
pub session: Option<String>,
/// Name of a layout file in the layout directory
- #[structopt(short, long, parse(from_os_str))]
+ #[clap(short, long, parse(from_os_str))]
pub layout: Option<PathBuf>,
/// Path to a layout yaml file
- #[structopt(long, parse(from_os_str))]
+ #[clap(long, parse(from_os_str))]
pub layout_path: Option<PathBuf>,
/// Change where zellij looks for the configuration file
- #[structopt(short, long, env=ZELLIJ_CONFIG_FILE_ENV, parse(from_os_str))]
+ #[clap(short, long, env = ZELLIJ_CONFIG_FILE_ENV, parse(from_os_str))]
pub config: Option<PathBuf>,
/// Change where zellij looks for the configuration directory
- #[structopt(long, env=ZELLIJ_CONFIG_DIR_ENV, parse(from_os_str))]
+ #[clap(long, env = ZELLIJ_CONFIG_DIR_ENV, parse(from_os_str))]
pub config_dir: Option<PathBuf>,
- #[structopt(subcommand)]
+ #[clap(subcommand)]
pub command: Option<Command>,
- #[structopt(short, long)]
+ #[clap(short, long)]
pub debug: bool,
}
-#[derive(Debug, StructOpt, Clone, Serialize, Deserialize)]
+#[derive(Debug, Subcommand, Clone, Serialize, Deserialize)]
pub enum Command {
/// Change the behaviour of zellij
- #[structopt(name = "options")]
+ #[clap(name = "options")]
Options(CliOptions),
/// Setup zellij and check its configuration
- #[structopt(name = "setup")]
+ #[clap(name = "setup")]
Setup(Setup),
/// Explore existing zellij sessions
- #[structopt(flatten)]
+ #[clap(flatten)]
Sessions(Sessions),
}
-#[derive(Debug, StructOpt, Clone, Serialize, Deserialize)]
+#[derive(Debug, Subcommand, Clone, Serialize, Deserialize)]
pub enum SessionCommand {
/// Change the behaviour of zellij
- #[structopt(name = "options")]
+ #[clap(name = "options")]
Options(CliOptions),
}
-#[derive(Debug, StructOpt, Clone, Serialize, Deserialize)]
+#[derive(Debug, Subcommand, Clone, Serialize, Deserialize)]
pub enum Sessions {
/// List active sessions
- #[structopt(alias = "ls")]
+ #[clap(alias = "ls")]
ListSessions,
/// Attach to session
- #[structopt(alias = "a")]
+ #[clap(alias = "a")]
Attach {
/// Name of the session to attach to.
session_name: Option<String>,
/// Create a session if one does not exist.
- #[structopt(short, long)]
+ #[clap(short, long)]
create: bool,
/// Number of the session index in the active sessions ordered creation date.
- #[structopt(long)]
+ #[clap(long)]
index: Option<usize>,
/// Change the behaviour of zellij
- #[structopt(subcommand, name = "options")]
+ #[clap(subcommand, name = "options")]
options: Option<SessionCommand>,
},
/// Kill the specific session
- #[structopt(alias = "k")]
+ #[clap(alias = "k")]
KillSession {
/// Name of target session
target_session: Option<String>,
},
/// Kill all sessions
- #[structopt(alias = "ka")]
+ #[clap(alias = "ka")]
KillAllSessions {
/// Automatic yes to prompts
- #[structopt(short, long)]
+ #[clap(short, long)]
yes: bool,
},
}