Skip to main content

kuri_macros/
lib.rs

1use proc_macro::TokenStream;
2
3fn is_injected_type(ty: &syn::Type) -> bool {
4    match ty {
5        syn::Type::Path(ty) => {
6            let path = &ty.path;
7            if let Some(segment) = path.segments.last() {
8                segment.ident == "Inject"
9            } else {
10                false
11            }
12        }
13        _ => false,
14    }
15}
16
17mod prompt;
18mod tool;
19
20#[proc_macro_attribute]
21pub fn prompt(args: TokenStream, input: TokenStream) -> TokenStream {
22    prompt::prompt(args, input)
23}
24
25#[proc_macro_attribute]
26pub fn tool(args: TokenStream, input: TokenStream) -> TokenStream {
27    tool::tool(args, input)
28}