[package]
categories = ["api-bindings", "web-programming"]
description = "Procedural macros used by the Ruma crates."
homepage = "https://ruma.dev/"
keywords = ["matrix", "chat", "messaging", "ruma"]
license = "MIT"
name = "ruma-macros"
readme = "README.md"
repository = "https://github.com/ruma/ruma"
version = "0.13.0"
edition = "2021"
rust-version = { workspace = true }

[lib]
proc-macro = true

[features]
# Make the request and response macros expand internal derives they would
# usually emit in the `#[derive()]` list directly, such that Rust Analyzer's
# expand macro helper can render their output. Requires a nightly toolchain.
__internal_macro_expand = ["syn/visit-mut"]

[dependencies]
cfg-if = "1.0.0"
proc-macro-crate = "3.1.0"
proc-macro2 = "1.0.24"
quote = "1.0.8"
ruma-identifiers-validation = { workspace = true }
serde = { workspace = true }
syn = { version = "2.0.2", features = ["extra-traits", "full", "visit"] }
toml = { version = "0.8.2", default-features = false, features = ["parse"] }

[lints]
workspace = true
