Files
shed/src/expand/tilde.rs

15 lines
404 B
Rust

use crate::prelude::*;
pub fn expand_tilde(tilde_sub: Token) -> Token {
let tilde_sub_raw = tilde_sub.to_string();
if tilde_sub_raw.starts_with('~') {
let home = std::env::var("HOME").unwrap_or_default();
tilde_sub_raw.replacen('~', &home, 1);
let lex_input = Rc::new(tilde_sub_raw);
let mut tokens = Lexer::new(lex_input).lex();
tokens.pop().unwrap_or(tilde_sub)
} else {
tilde_sub
}
}