agent_first_http/shared/
path.rs1use std::path::{Component, PathBuf};
4
5#[must_use]
11pub(crate) fn absolute_lexical(path: PathBuf) -> PathBuf {
12 let mut out = if path.is_absolute() {
13 PathBuf::new()
14 } else {
15 std::env::current_dir().unwrap_or_else(|_| PathBuf::from("."))
16 };
17 for component in path.components() {
18 match component {
19 Component::Prefix(prefix) => out.push(prefix.as_os_str()),
20 Component::RootDir => out.push(component.as_os_str()),
21 Component::CurDir => {}
22 Component::ParentDir => {
23 out.pop();
24 }
25 Component::Normal(part) => out.push(part),
26 }
27 }
28 out
29}