split-identifier 0.1.0

Rust package that provides functions to split programmatic identifiers according to case conventions.
# Rust split-identifier package

This package provides functions to split programmatic identifiers according to
case conventions. This package takes it's implementation directly from the
[convert_case](https://github.com/rutrum/convert-case) crate.

[![License-Apache_2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Rust Workflow](https://github.com/johnstonskj/split-identifier/actions/workflows/rust.yml/badge.svg)](https://github.com/johnstonskj/split-identifier/actions/workflows/rust.yml)
[![Security Audit Workflow](https://github.com/johnstonskj/split-identifier/actions/workflows/security-audit.yml/badge.svg)](https://github.com/johnstonskj/split-identifier/actions/workflows/security-audit.yml)
[![Coverage Status](https://codecov.io/gh/johnstonskj/split-identifier/branch/main/graph/badge.svg?token=1HGN6M4KIT)](https://codecov.io/gh/johnstonskj/split-identifier)
[![Stargazer Count](https://img.shields.io/github/stars/johnstonskj/split-identifier.svg)](https://github.com/johnstonskj/split-identifier/stargazers)

This package provides two functions, described below, and uses the segmentation
code from the [convert_case](https://github.com/rutrum/convert-case) crate to break a long identifier into it's component
parts according to word breaks identified by it's case convention. For example
the identifier "/halt after 3 attempts/" is represented in the following manner
in different conventions:

| Convention    | Breaks    | Identifier           | First Letter |
|---------------|-----------|----------------------|--------------|
| [Lower] Camel | Ll·Lu, Nd | `haltAfter3Tries`    | Ll           |
| UpperCamel    | Ll·Lu, Nd     | `haltAfter3Tries`    | Lu           |
| [Lower] Snake | '_'       | `halt_after_3_tries` | Ll           |
| UpperSnake    | '_'       | `HALT_AFTER_3_TRIES` | Lu           |
| Kebab         | '-'       | `halt-after-3-tries` | Ll           |
| UpperKebab    | '-'       | `HALT-AFTER-3-TRIES` | Lu           |
| Train         | '-'       | `Halt-After-3-Tries` | Lu           |


## Examples

TBD

## Changes

### Version 0.1.0

* Initial release
  * Provides the functions `split_id_string` and `guess_id_case`.
  * Documentation is *sparse*.
  * Copies the modules `case` and `segmentation` from the `convert_case` crate and
    edits out unnecessary elements.
  * This editing also means there is no dependency on the original crate.