# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "unicode-segmentation"
version = "1.12.0"
authors = [
    "kwantam <kwantam@gmail.com>",
    "Manish Goregaokar <manishsmail@gmail.com>",
]
build = false
exclude = [
    "/.github",
    "/benches/texts",
    "/scripts/**.rs",
    "*.txt",
]
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
This crate provides Grapheme Cluster, Word and Sentence boundaries
according to Unicode Standard Annex #29 rules.
"""
homepage = "https://github.com/unicode-rs/unicode-segmentation"
readme = "README.md"
keywords = [
    "text",
    "unicode",
    "grapheme",
    "word",
    "boundary",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/unicode-rs/unicode-segmentation"

[lib]
name = "unicode_segmentation"
path = "src/lib.rs"

[[test]]
name = "test"
path = "tests/test.rs"

[[bench]]
name = "chars"
path = "benches/chars.rs"
harness = false

[[bench]]
name = "word_bounds"
path = "benches/word_bounds.rs"
harness = false

[[bench]]
name = "words"
path = "benches/words.rs"
harness = false

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.quickcheck]
version = "0.7"

[features]
no_std = []
