5 releases
| 0.1.4 | Dec 26, 2024 |
|---|---|
| 0.1.3 | Dec 26, 2024 |
| 0.1.2 | Dec 25, 2024 |
| 0.1.1 | Dec 25, 2024 |
| 0.1.0 | Dec 25, 2024 |
#1212 in Rust patterns
280 downloads per month
Used in 20 crates
(17 directly)
9KB
143 lines
PathBufD
A wrapper of std::path::PathBuf that implements Display and simplifies usage by introducing a macro with a style similar to format! for interpolating paths.
Implements every (stable) API from PathBuf + some extras.
Usage
Creating a PathBufD in the current directory:
use pathbufd::{PathBufD, format_path};
fn main() {
let buf = PathBufD::current();
println!("path: {buf}")
}
Creating a PathBufD and pushing to it:
use pathbufd::{PathBufD};
fn main() {
// create a new pathbuf
let mut buf = PathBufD::new();
// push to buf
buf.push("directory");
buf.push("file");
// print result
println!("path: {buf}")
}
Creating a PathBufD and joining to it:
use pathbufd::{PathBufD};
fn main() {
// create a new pathbuf
let buf = PathBufD::new().join("directory").join("file");
// print result
println!("path: {buf}")
}
Creating a PathBufD with a formatting macro:
use pathbufd::{PathBufD, format_path};
fn main() {
let buf = path!("{}/file", "directory");
println!("path: {buf}")
}
Extend a PathBufD with a slice of paths:
use pathbufd::{PathBufD, format_path};
fn main() {
let buf = PathBufD::new().extend(["directory", "file"]);
println!("path: {buf}")
}
Dependencies
~0.3–0.9MB
~20K SLoC