charmed-bubbletea 0.1.2

A powerful TUI framework based on The Elm Architecture
Documentation
# 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 = "2024"
name = "charmed-bubbletea"
version = "0.1.2"
authors = ["Jeffrey Emanuel"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A powerful TUI framework based on The Elm Architecture"
homepage = "https://github.com/Dicklesworthstone/charmed_rust"
documentation = "https://docs.rs/charmed-bubbletea"
readme = "README.md"
keywords = [
    "tui",
    "terminal",
    "elm",
    "framework",
    "cli",
]
categories = [
    "command-line-interface",
    "asynchronous",
]
license = "MIT"
repository = "https://github.com/Dicklesworthstone/charmed_rust"
resolver = "2"

[features]
async = [
    "dep:tokio",
    "dep:tokio-util",
    "dep:futures",
]
default = ["macros"]
macros = ["dep:bubbletea-macros"]
thread-pool = ["dep:rayon"]

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

[[example]]
name = "async_fetch"
path = "examples/async_fetch.rs"
required-features = ["async"]

[[example]]
name = "counter"
path = "examples/counter.rs"

[[example]]
name = "spinner"
path = "examples/spinner.rs"

[[example]]
name = "textinput"
path = "examples/textinput.rs"

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

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

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

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

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

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

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

[[bench]]
name = "async_vs_threads"
path = "benches/async_vs_threads.rs"
harness = false
required-features = ["async"]

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

[dependencies.bubbletea-macros]
version = "0.1.2"
optional = true
package = "charmed-bubbletea-macros"

[dependencies.crossterm]
version = "0.29"

[dependencies.futures]
version = "0.3"
optional = true

[dependencies.parking_lot]
version = "0.12"

[dependencies.rayon]
version = "1.10"
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "sync",
    "time",
    "macros",
]
optional = true

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
optional = true

[dependencies.tracing]
version = "0.1"

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

[dev-dependencies.lipgloss]
version = "0.1.2"
package = "charmed-lipgloss"

[dev-dependencies.proptest]
version = "1.9.0"

[dev-dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "sync",
    "time",
    "macros",
]

[dev-dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
unsafe_code = "forbid"