recase 0.2.0

Changes the convention case of input text.
Documentation

ReCase

crates-io api-docs Maintenance License

Changes the input text to the desired convention case.

Install

Add this to your Cargo.toml:

[dependencies]
recase = "0.2.0"

Example:

use recase::ReCase;

fn main() {
    const INPUT: &str = "Löng and meaningless-Ẽxample_Text";

    let recase1 = ReCase::new_from_str(INPUT);
    let recase2 = ReCase::new(String::from(INPUT));

    println!("{}", recase1.snake_case());     // Prints "löng_and_meaningless_ẽxample_text"
    println!("{}", recase2.camel_case());     // Prints "löngAndMeaninglessẼxampleText"
}

All supported convention cases:

  • camelCase
  • snake_case
  • PascalCase
  • kebab-case
  • dot.case
  • path/case
  • windows\path\case
  • normal case
  • Title Case
  • Sentence case
  • Header-Case
  • UPPER_CASE_SNAKE_CASE
  • aLtErNaTiNg CaSe

Limitations

  • The crate has not undergone any runtime optimization.
  • Some UTF-8 characters can't be lowercased, like "SS" which is the uppercased form of "ß". There might be some more cases that I failed to notice.

Acknowledgements

Heavily influenced by ReCase from techniboogie-dart.