15 lines
404 B
Rust
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
|
|
}
|
|
}
|