1#![deny(clippy::all)]
2#![deny(unsafe_code)]
3#![deny(non_snake_case)]
4#![deny(missing_debug_implementations)]
5#![deny(clippy::cognitive_complexity)]
6#![cfg_attr(documenting, feature(doc_cfg))]
7#![cfg_attr(any(releasing, not(debug_assertions)), deny(dead_code, unused_imports))]
8
9use proc_macro::TokenStream;
10use proc_macro_error::proc_macro_error;
11
12mod inline;
13mod literal;
14
15mod css;
16mod global_style;
17mod output;
18mod sheet;
19mod spacing_iterator;
20mod style;
21mod styled_component;
22mod styled_component_impl;
23mod use_style;
24
25#[proc_macro]
26#[proc_macro_error]
27pub fn sheet(input: TokenStream) -> TokenStream {
28 sheet::macro_fn(input.into()).into()
29}
30
31#[proc_macro]
32#[proc_macro_error]
33pub fn style(input: TokenStream) -> TokenStream {
34 style::macro_fn(input.into()).into()
35}
36
37#[proc_macro]
38#[proc_macro_error]
39pub fn global_style(input: TokenStream) -> TokenStream {
40 global_style::macro_fn(input.into()).into()
41}
42
43#[proc_macro]
44#[proc_macro_error]
45pub fn css(input: TokenStream) -> TokenStream {
46 css::macro_fn(input.into()).into()
47}
48
49#[proc_macro]
50#[proc_macro_error]
51pub fn use_style(input: TokenStream) -> TokenStream {
52 use_style::macro_fn(input.into()).into()
53}
54
55#[proc_macro_attribute]
56pub fn styled_component(attr: TokenStream, item: TokenStream) -> TokenStream {
57 styled_component::macro_fn(attr, item)
58}
59
60#[proc_macro_attribute]
61pub fn styled_component_impl(attr: TokenStream, item: TokenStream) -> TokenStream {
62 styled_component_impl::macro_fn(attr, item)
63}