[package]
name = "selection-capture"
version = "0.1.5"
edition = "2021"
rust-version = "1.75"
description = "Sync, cancellable selected-text capture engine with strategy-aware fallbacks"
authors = ["zamery <zaob.ogn@gmail.com>"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/maemreyo/selection-capture"
homepage = "https://github.com/maemreyo/selection-capture"
documentation = "https://docs.rs/selection-capture"
keywords = ["selection", "macos", "accessibility", "clipboard", "capture"]
categories = ["api-bindings", "os::macos-apis"]
include = [
"src/**",
"tests/**",
"Cargo.toml",
"README.md",
"LICENSE*",
"docs/technical/SPEC.md",
"docs/technical/WINDOWS.md",
"docs/technical/LINUX.md",
"docs/technical/MONITORING.md",
"docs/technical/PERFORMANCE_BASELINE.md",
]
[lib]
name = "selection_capture"
path = "src/lib.rs"
[[bench]]
name = "capture_latency"
harness = false
[features]
default = []
windows-beta = ["dep:windows"]
linux-alpha = ["dep:atspi"]
async = ["dep:tokio"]
rich-content = [
"dep:clipboard-rs",
"dep:quick_html2md",
"dep:rtf-to-html",
]
[package.metadata.docs.rs]
default-target = "x86_64-unknown-linux-gnu"
targets = ["x86_64-unknown-linux-gnu"]
all-features = true
[target.'cfg(target_os = "macos")'.dependencies]
accessibility-ng = "0.1"
accessibility-sys-ng = "0.1"
active-win-pos-rs = "0.8"
core-foundation = "0.9.4"
core-graphics-types = { version = "0.1.3", default-features = false }
macos-accessibility-client = "0.0.1"
[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.62.2", optional = true, default-features = false }
[target.'cfg(target_os = "linux")'.dependencies]
atspi = { version = "0.29.0", optional = true, default-features = false }
[dependencies]
clipboard-rs = { version = "0.3.3", optional = true }
quick_html2md = { version = "0.2.1", optional = true }
rtf-to-html = { version = "0.1.0", optional = true }
tokio = { version = "1.50.0", optional = true, default-features = false, features = ["macros", "rt", "rt-multi-thread"] }
[dev-dependencies]
criterion = "0.5"
[profile.dev]
opt-level = 0
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = 'abort'
strip = true