mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-25 02:46:17 +04:00
Implement check before adding path to files
This commit is contained in:
parent
00e9e5eade
commit
c123944d9b
@ -95,13 +95,23 @@ pub fn parse_args() -> Result<Args> {
|
||||
_ => args.files.push(parse_file(arg)),
|
||||
};
|
||||
}
|
||||
arg => args.files.push(parse_file(arg)),
|
||||
arg => {
|
||||
let file = parse_file(arg);
|
||||
|
||||
if is_proper_file(&file) {
|
||||
args.files.push(file)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// push the remaining args, if any to the files
|
||||
for arg in argv {
|
||||
args.files.push(parse_file(&arg));
|
||||
let file = parse_file(&arg);
|
||||
|
||||
if is_proper_file(&file) {
|
||||
args.files.push(file);
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(file) = args.files.first_mut() {
|
||||
@ -125,6 +135,11 @@ pub(crate) fn parse_file(s: &str) -> (PathBuf, Position) {
|
||||
.unwrap_or_else(def)
|
||||
}
|
||||
|
||||
/// Ensure file is not a pipe or random
|
||||
fn is_proper_file(f: &(PathBuf, Position)) -> bool {
|
||||
f.0.is_file() || f.0.is_symlink()
|
||||
}
|
||||
|
||||
/// Split file.rs:10:2 into [`PathBuf`], row and col.
|
||||
///
|
||||
/// Does not validate if file.rs is a file or directory.
|
||||
|
Loading…
Reference in New Issue
Block a user