Skip to main content

tagset_macro/
lib.rs

1mod direct;
2mod parsing;
3mod remove_attr;
4mod tagset;
5mod tagset_impl;
6mod tagset_meta;
7mod tagset_telety_alias_map;
8mod tagset_trait_impl;
9mod telety_util;
10mod tokens;
11
12#[proc_macro_attribute]
13pub fn tagset(
14    attr: proc_macro::TokenStream,
15    item: proc_macro::TokenStream,
16) -> proc_macro::TokenStream {
17    let options = parsing::MacroOptions::new(proc_macro2::Span::call_site(), false);
18    let (Ok(tokens) | Err(tokens)) =
19        tagset::tagset(attr.into(), item.into(), options).map_err(|e| e.into_compile_error());
20    tokens.into()
21}
22
23#[proc_macro_attribute]
24pub fn tagset_serde(
25    attr: proc_macro::TokenStream,
26    item: proc_macro::TokenStream,
27) -> proc_macro::TokenStream {
28    let options = parsing::MacroOptions::new(proc_macro2::Span::call_site(), true);
29    let (Ok(tokens) | Err(tokens)) =
30        tagset::tagset(attr.into(), item.into(), options).map_err(|e| e.into_compile_error());
31    tokens.into()
32}
33
34#[doc(hidden)]
35#[proc_macro]
36pub fn tagset_impl(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
37    let (Ok(tokens) | Err(tokens)) =
38        tagset_impl::tagset_impl(input.into()).map_err(|e| e.into_compile_error());
39    tokens.into()
40}
41
42#[doc(hidden)]
43#[proc_macro]
44pub fn tagset_telety_alias_map(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
45    let (Ok(tokens) | Err(tokens)) = tagset_telety_alias_map::tagset_telety_alias_map(input.into())
46        .map_err(|e| e.into_compile_error());
47    tokens.into()
48}
49
50#[doc(hidden)]
51#[proc_macro]
52pub fn tagset_trait_impl(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
53    let (Ok(tokens) | Err(tokens)) =
54        tagset_trait_impl::tagset_trait_impl(input.into()).map_err(|e| e.into_compile_error());
55    tokens.into()
56}
57
58#[proc_macro_attribute]
59pub fn tagset_meta(
60    attr: proc_macro::TokenStream,
61    item: proc_macro::TokenStream,
62) -> proc_macro::TokenStream {
63    let (Ok(tokens) | Err(tokens)) =
64        tagset_meta::tagset_meta(attr.into(), item.into()).map_err(|e| e.into_compile_error());
65    tokens.into()
66}