egelm 0.2.2

A simple Elm-like framework for building GUI applications in Rust using egui.
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 = "egelm"
version = "0.2.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A simple Elm-like framework for building GUI applications in Rust using egui."
readme = "README.md"
license = "MIT"
repository = "https://codeberg.org/Land/egelm"

[package.metadata.release]
pre-release-hook = [
    "git",
    "cliff",
    "-o",
    "CHANGELOG.md",
    "--tag",
    "{{version}}",
]

[[package.metadata.release.pre-release-replacements]]
file = "README.md"
search = "egelm = .*"
replace = '{{crate_name}} = "{{version}}"'

[features]
ctrlc = ["dep:ctrlc"]
default = [
    "ctrlc",
    "tracing",
    "emoji",
    "wgpu",
]
emoji = ["dep:emojis"]
glow = [
    "dep:egui_glow",
    "dep:glutin",
    "dep:glutin-winit",
]
tracing = ["dep:tracing"]
wgpu = [
    "dep:egui-wgpu",
    "dep:pollster",
]

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

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

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

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

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

[dependencies.crossbeam-channel]
version = "0.5.16"

[dependencies.ctrlc]
version = "3.5.2"
optional = true

[dependencies.egelm-macros]
version = "=0.2.2"

[dependencies.egui]
version = "0.35.0"

[dependencies.egui-wgpu]
version = "0.35.0"
features = [
    "winit",
    "wayland",
]
optional = true

[dependencies.egui-winit]
version = "0.35.0"
features = ["wayland"]

[dependencies.egui_glow]
version = "0.35.0"
features = [
    "winit",
    "wayland",
]
optional = true

[dependencies.emojis]
version = "0.9.0"
optional = true

[dependencies.glutin]
version = "0.32.3"
features = ["wayland"]
optional = true

[dependencies.glutin-winit]
version = "0.5.0"
features = ["wayland"]
optional = true

[dependencies.pollster]
version = "0.4.0"
optional = true

[dependencies.thiserror]
version = "2.0.19"

[dependencies.tokio]
version = "1.53.1"
features = ["rt"]

[dependencies.tracing]
version = "0.1.44"
optional = true

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

[lints.clippy]
tabs_in_doc_comments = "allow"

[lints.rust]
missing_docs = "warn"