use path_rs::{
ExpandOptions, expand_dollar_variables, expand_input, expand_percent_variables, expand_tilde,
};
fn main() -> Result<(), path_rs::PathError> {
let home = expand_tilde("~")?;
println!("expand_tilde(\"~\") => {home}");
let projects = expand_tilde("~/projects")?;
println!("expand_tilde(\"~/projects\") => {projects}");
let percent = expand_percent_variables("%TEMP%\\path-rs", false)?;
println!("expand_percent_variables => {percent}");
let dollar = expand_dollar_variables("$HOME/work", false)?;
println!("expand_dollar_variables => {dollar}");
let opts = ExpandOptions::default();
let full = expand_input("~", &opts)?;
println!("expand_input(\"~\") => {}", full.display());
let opts_permissive = ExpandOptions {
reject_undefined_variables: false,
..ExpandOptions::default()
};
let mixed = expand_input("~/projects", &opts_permissive)?;
println!("expand_input(\"~/projects\") => {}", mixed.display());
let none = ExpandOptions::none();
let literal = expand_input("~", &none)?;
println!("ExpandOptions::none() => {}", literal.display());
Ok(())
}