use std::collections::HashMap; use std::path::PathBuf; use nu_protocol::{Span, Spanned}; use crate::ExternalCommand; pub(crate) fn gen_command( span: Span, config_path: PathBuf, item: String, config_args: Vec, env_vars_str: HashMap, ) -> ExternalCommand { let name = Spanned { item, span }; let mut args = vec![Spanned { item: config_path.to_string_lossy().to_string(), span: Span::unknown(), }]; let number_of_args = config_args.len() + 1; for arg in config_args { args.push(Spanned { item: arg, span: Span::unknown(), }) } ExternalCommand { name, args, arg_keep_raw: vec![false; number_of_args], redirect_stdout: false, redirect_stderr: false, redirect_combine: false, env_vars: env_vars_str, trim_end_newline: false, } }