Merge pull request #1275 from SergioRibera/main

Open multiple files as Tabs
macos-click-through
multisn8 3 years ago committed by GitHub
commit 8dbd21fef7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -22,6 +22,8 @@ pub struct CmdLineSettings {
pub neovim_bin: Option<String>,
pub wayland_app_id: String,
pub x11_wm_class: String,
// Disable open multiple files as tabs
pub no_tabs: bool,
}
impl Default for CmdLineSettings {
@ -45,6 +47,8 @@ impl Default for CmdLineSettings {
neovim_bin: None,
wayland_app_id: String::new(),
x11_wm_class: String::new(),
// Disable open multiple files as tabs
no_tabs: false,
}
}
}
@ -85,6 +89,11 @@ pub fn handle_command_line_arguments(args: Vec<String>) -> Result<(), String> {
.long("nofork")
.help("Do not detach process from terminal"),
)
.arg(
Arg::new("no_tabs")
.long("notabs")
.help("Disable open multiple files as tabs"),
)
.arg(
Arg::new("remote_tcp")
.long("remote-tcp")
@ -148,12 +157,20 @@ pub fn handle_command_line_arguments(args: Vec<String>) -> Result<(), String> {
.values_of("neovim_args")
.map(|opt| opt.map(|v| v.to_owned()).collect())
.unwrap_or_default();
neovim_args.extend::<Vec<String>>(
matches
.values_of("files_to_open")
.map(|opt| opt.map(|v| v.to_owned()).collect())
.unwrap_or_default(),
);
let files_to_open: Vec<String> = matches
.values_of("files_to_open")
.map(|opt| opt.map(|v| v.to_owned()).collect())
.unwrap_or_default();
if files_to_open.len() > 1
&& !neovim_args.contains(&String::from("-p"))
&& !matches.is_present("no_tabs")
{
neovim_args.push("-p".to_owned());
}
neovim_args.extend::<Vec<String>>(files_to_open);
/*
* Integrate Environment Variables as Defaults to the command-line ones.
@ -197,6 +214,8 @@ pub fn handle_command_line_arguments(args: Vec<String>) -> Result<(), String> {
.map(|v| v.to_owned())
.or_else(|| std::env::var("NEOVIDE_X11_WM_CLASS").ok())
.unwrap_or_else(|| "neovide".to_owned()),
// Disable open multiple files as tabs
no_tabs: matches.is_present("no_tabs") || std::env::var("NEOVIDE_NO_TABS").is_ok(),
});
Ok(())
}

Loading…
Cancel
Save