Version: 0.9.1 Last Updated: 2026-06-19
Thank you for your interest in contributing to liblevenshtein-rust!
After cloning the repository, install the git hooks to prevent common mistakes:
./scripts/install-git-hooks.sh
This installs hooks that:
[patch] sections)See .githooks/README.md for more details.
protobuf feature)
sudo apt-get install protobuf-compilerbrew install protobufThe project automatically fetches PathMap from GitHub. Just build:
# Build with CPU-specific optimizations
cargo build --all-features
For local PathMap development (optional):
If you need to modify PathMap, uncomment the [patch] section in Cargo.toml:
# Clone PathMap as a sibling directory
cd ..
git clone https://github.com/Adam-Vandervorst/PathMap.git PathMap
cd liblevenshtein-rust
# Uncomment the [patch] section at the end of Cargo.toml
# [patch.'https://github.com/Adam-Vandervorst/PathMap.git']
# pathmap = { path = "../PathMap" }
cargo build --all-features
See building.md for comprehensive build instructions.
# Run all tests
RUSTFLAGS="-C target-cpu=native" cargo test --all-features
# Run tests for specific features
RUSTFLAGS="-C target-cpu=native" cargo test --features compression,protobuf
# Code completion demo
RUSTFLAGS="-C target-cpu=native" cargo run --example code_completion_demo
# DynamicDawg demo
RUSTFLAGS="-C target-cpu=native" cargo run --example dynamic_dawg_demo
# Contextual filtering
RUSTFLAGS="-C target-cpu=native" cargo run --example advanced_contextual_filtering
# Dynamic dictionary updates
cargo run --example dynamic_dictionary
# Run all benchmarks
RUSTFLAGS="-C target-cpu=native" cargo bench
# Run specific benchmark suite
RUSTFLAGS="-C target-cpu=native" cargo bench --bench serialization_benchmarks --features compression,protobuf
RUSTFLAGS="-C target-cpu=native" cargo bench --bench filtering_prefix_benchmarks
cargo fmt)cargo clippy --all-features)git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)See FUTURE_ENHANCEMENTS.md for detailed planned features.
liblevenshtein-rust-cliOpen an issue on GitHub!
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |