An open API service indexing awesome lists of open source software.

https://github.com/williamvenner/fuzzypath

๐Ÿงน Quick & dirty fuzzy path comparison
https://github.com/williamvenner/fuzzypath

cmp comparison eq fuzz fuzzy partialeq path pathbuf rust

Last synced: about 1 month ago
JSON representation

๐Ÿงน Quick & dirty fuzzy path comparison

Awesome Lists containing this project

README

        

[![crates.io](https://img.shields.io/crates/v/fuzzypath.svg)](https://crates.io/crates/fuzzypath)

[![docs.rs](https://docs.rs/fuzzypath/badge.svg)](https://docs.rs/fuzzypath)

# ๐Ÿงน `fuzzypath`

Quick & dirty fuzzy path comparison

# Comparison rules

* โœ… Case insensitive
* โœ… Backslashes are normalized to forward slashes
* โœ… Trailing slashes are removed, except for root slash (for absolute POSIX paths)
* โœ… Repeating slashes are normalized to a single slash
* โŒ Comparing a Windows path with a POSIX path will not work if either is absolute (Windows paths with a drive letter, POSIX paths with a preceeding slash)
* โŒ Comparing a Windows UNC path will not work with any POSIX path
* โŒ POSIX paths can contain backslashes in file names, but Windows paths cannot - these will be normalized to forward slashes and you will lose that information

# Usage

Add `fuzzypath` to your Cargo.toml dependencies:

```toml
[dependencies]
fuzzypath = "1"
```

# Serde

To enable Serde serialization and deserialization, use the crate feature `serde`

```toml
[dependencies]
fuzzypath = { version = "1", features = ["serde"] }
```