[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"