mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-06 11:34:54 +00:00
cli: add helper function that makes Command builder from CommandArgs
This commit is contained in:
parent
368aa06fdc
commit
f23302bc53
2 changed files with 11 additions and 4 deletions
|
@ -2375,10 +2375,8 @@ fn edit_description(
|
|||
.config()
|
||||
.get("ui.editor")
|
||||
.unwrap_or_else(|_| "pico".into());
|
||||
let args = editor.args();
|
||||
let editor_args = if args.len() > 1 { &args[1..] } else { &[] };
|
||||
let exit_status = std::process::Command::new(&args[0])
|
||||
.args(editor_args)
|
||||
let exit_status = editor
|
||||
.to_command()
|
||||
.arg(&description_file_path)
|
||||
.status()
|
||||
.map_err(|_| user_error(format!("Failed to run editor '{editor}'")))?;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
// limitations under the License.
|
||||
|
||||
use std::path::PathBuf;
|
||||
use std::process::Command;
|
||||
use std::{env, fmt};
|
||||
|
||||
use jujutsu_lib::settings::UserSettings;
|
||||
|
@ -147,6 +148,14 @@ impl FullCommandArgs {
|
|||
FullCommandArgs::String(s) => s.split(' ').map(|s| s.to_owned()).collect(),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns process builder configured with this.
|
||||
pub fn to_command(&self) -> Command {
|
||||
let full_args = self.args();
|
||||
let mut cmd = Command::new(&full_args[0]);
|
||||
cmd.args(&full_args[1..]);
|
||||
cmd
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: AsRef<str> + ?Sized> From<&T> for FullCommandArgs {
|
||||
|
|
Loading…
Reference in a new issue