mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
504aeb0e09
Migrate `cwd` and related session/config state to `AbsolutePathBuf` so downstream consumers consistently see absolute working directories. Add test-only `.abs()` helpers for `Path`, `PathBuf`, and `TempDir`, and update branch-local tests to use them instead of `AbsolutePathBuf::try_from(...)`. For the remaining TUI/app-server snapshot coverage that renders absolute cwd values, keep the snapshots unchanged and skip the Windows-only cases where the platform-specific absolute path layout differs.
29 lines
647 B
Rust
29 lines
647 B
Rust
use codex_utils_absolute_path::AbsolutePathBuf;
|
|
use std::path::Path;
|
|
use std::path::PathBuf;
|
|
|
|
pub(crate) trait PathExt {
|
|
fn abs(&self) -> AbsolutePathBuf;
|
|
}
|
|
|
|
impl PathExt for Path {
|
|
fn abs(&self) -> AbsolutePathBuf {
|
|
AbsolutePathBuf::try_from(self.to_path_buf())
|
|
.unwrap_or_else(|_| panic!("path should already be absolute"))
|
|
}
|
|
}
|
|
|
|
pub(crate) trait PathBufExt {
|
|
fn abs(&self) -> AbsolutePathBuf;
|
|
}
|
|
|
|
impl PathBufExt for PathBuf {
|
|
fn abs(&self) -> AbsolutePathBuf {
|
|
self.as_path().abs()
|
|
}
|
|
}
|
|
|
|
pub(crate) fn test_path_display(path: &str) -> String {
|
|
Path::new(path).abs().display().to_string()
|
|
}
|