From dd8f12015207302c80a7dd9c516dd9c35d6216ce Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Fri, 29 Jul 2022 18:51:54 +0300 Subject: [PATCH] add support of change dotenv file Closes #1 --- src/cli.rs | 5 +++++ src/main.rs | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/cli.rs b/src/cli.rs index f457fac..204150a 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -14,6 +14,8 @@ //! along with vnetod. If not, see . //! +use std::path::PathBuf; + use clap::Parser; #[derive(Parser)] @@ -31,6 +33,9 @@ under certain conditions; " )] pub struct Args { + #[clap(short = 'f', long, default_value = ".env")] + pub file: PathBuf, + #[clap(value_parser)] pub section_names: Vec, } diff --git a/src/main.rs b/src/main.rs index 3f068bd..e7a4a12 100644 --- a/src/main.rs +++ b/src/main.rs @@ -17,6 +17,7 @@ mod cli; +use std::path::Path; use std::{ fs::File, io::{BufWriter, Write}, @@ -27,15 +28,15 @@ use clap::Parser; fn main() -> Result<(), Error> { let cli = cli::Args::parse(); - change_env_layout(&cli.section_names)?; + change_env_layout(&cli.file, &cli.section_names)?; Ok(()) } -fn change_env_layout(section_names: &[String]) -> Result<(), Error> { - let content = std::fs::read_to_string(".env").map_err(|_| Error::OpenFile)?; +fn change_env_layout(file: &Path, section_names: &[String]) -> Result<(), Error> { + let content = std::fs::read_to_string(file).map_err(|_| Error::OpenFile)?; - let mut writer = File::create(".env") + let mut writer = File::create(file) .map_err(|_| Error::OpenFile) .map(BufWriter::new)?;