diff --git a/src/main.rs b/src/main.rs index 6261a2e..bf1f3a6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ use std::{ env::{ current_dir, var }, error::Error, fs::read_to_string, + io::{ stdout, IsTerminal }, path::PathBuf, process::{ Command, @@ -81,6 +82,8 @@ fn main() -> Result<(), Box>{ if target.is_none() { error::no_args(); } + let is_terminal = stdout().is_terminal(); + let prop_path = section.get("path"); // handle dir flag if flag_dir { @@ -100,7 +103,7 @@ fn main() -> Result<(), Box>{ return Ok(()); } // handle path flag - if flag_path { + if flag_path || !is_terminal { if prop_path.is_none() { error::no_property(&fullname, "path"); } let i_file_path = prop_path.unwrap().as_str().unwrap(); let file_path = if i_file_path.starts_with("~") { i_file_path.replace("~", &home_dir) } else { i_file_path.to_string() };