# Snakecase [![Build Status]][travis] [![Latest Version]][crates.io]
[Build Status]: https://api.travis-ci.org/rust-playground/snakecase.svg?branch=master
[travis]: https://travis-ci.org/rust-playground/snakecase
[Latest Version]: https://img.shields.io/crates/v/snakecase.svg
[crates.io]: https://crates.io/crates/snakecase
**Snakecase** is a general purpose snakecase implementation supporting both ascii and unicode.
**Notes:** Its algorithm is designed to provide feature parity with [this](https://github.com/segmentio/go-snakecase) Go snakecase library, but PR's will be accepted for other algorithms and can be hidden behind a feature flag.
---
```toml
[dependencies]
snakecase = "0.1"
```
## Example usages
```rust
use snakecase::ascii::to_snakecase;
fn main() {
let input = "sample text";
println!("{} => {}", input, to_snakecase(input));
}
```
or when you need unicode support
```rust
use snakecase::unicode::to_snakecase;
fn main() {
let input = "ƒun sample text";
println!("{} => {}", input, to_snakecase(input));
}
```
#### License
Licensed under either of Apache License, Version
2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in Snakecase by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.