1#![expect(
2 clippy::expect_used,
3 clippy::panic,
4 reason = "panics and expects are fine for proc macros"
5)]
6
7use proc_macro::TokenStream;
8
9mod tag;
10mod tags;
11
12#[proc_macro_attribute]
13#[expect(non_snake_case, reason = "attribute proc macros should be capitalized")]
14pub fn Tags(attr: TokenStream, item: TokenStream) -> TokenStream {
15 tags::transform(attr, item)
16}
17
18#[proc_macro_derive(Tag, attributes(tag))]
19pub fn tag(input: TokenStream) -> TokenStream {
20 tag::transform(input)
21}