Crates.io | pathbufd |
lib.rs | pathbufd |
version | 0.1.4 |
created_at | 2024-12-25 20:57:42.956705+00 |
updated_at | 2024-12-26 19:21:04.640166+00 |
description | PathBuf with Display + formatting macro |
homepage | |
repository | https://github.com/trisuaso/pathbufd |
max_upload_size | |
id | 1495215 |
size | 10,035 |
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.
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}")
}