Crate heck [] [src]

heck is a case conversion library.

This library exists to provide case conversion between common cases like CamelCase and snake_case. It is intended to be unicode aware, internally, consistent, and reasonably well performing.

Definition of a word boundary

Word boundaries are defined as the "unicode words" defined in the unicode_segmentation library, as well as within those words in this manner:

  1. All underscore characters are considered word boundaries.
  2. A single uppercase letter (followed by no letters or by lowercase letters) is considered to be just after a word boundary.
  3. Multiple consecutive uppercase letters are considered to be between two word boundaries.

That is, "HelloWorld" is segmented "Hello World" whereas "HELLOworld" is segmented "HELLO world."

Cases contained in this library:

  1. CamelCase
  2. snake_case
  3. kebab-case
  4. SHOUTY_SNAKE_CASE
  5. mixedCase
  6. Title Case

Traits

CamelCase

This trait defines a camel case conversion.

KebabCase

This trait defines a kebab case conversion.

MixedCase

This trait defines a mixed case conversion.

ShoutySnakeCase

This trait defines a shouty snake case conversion.

ShoutySnekCase

Oh heck, ShoutySnekCase is an alias for ShoutySnakeCase. See ShoutySnakeCase for more documentation.

SnakeCase

This trait defines a camel case conversion.

SnekCase

Oh heck, SnekCase is an alias for SnakeCase. See SnakeCase for more documentation.

TitleCase

This trait defines a title case conversion.