Skip to main content

file_exists_macro/
lib.rs

1use proc_macro::TokenStream;
2use quote::quote;
3use std::path::PathBuf;
4use syn::{LitStr, parse_macro_input};
5
6#[proc_macro]
7pub fn exists(input: TokenStream) -> TokenStream {
8    let value = PathBuf::from(parse_macro_input!(input as LitStr).value()).exists();
9
10    quote! { #value }.into()
11}