#![doc = include_str!("../README.md")]
#![allow(clippy::tabs_in_doc_comments)]
use crate::utils::make_format_string;
use proc_macro::TokenStream;
use proc_macro_error::proc_macro_error;
mod tokens;
mod utils;
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn format(input: TokenStream) -> TokenStream {
make_format_string("format", input, false, false)
}
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn write(input: TokenStream) -> TokenStream {
make_format_string("write", input, true, false)
}
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn writeln(input: TokenStream) -> TokenStream {
make_format_string("writeln", input, true, false)
}
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn print(input: TokenStream) -> TokenStream {
make_format_string("print", input, false, false)
}
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn println(input: TokenStream) -> TokenStream {
make_format_string("println", input, false, false)
}
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn eprint(input: TokenStream) -> TokenStream {
make_format_string("eprint", input, false, false)
}
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn eprintln(input: TokenStream) -> TokenStream {
make_format_string("eprintln", input, false, false)
}
#[proc_macro]
#[proc_macro_error]
#[doc = include_str!("../README.md")]
pub fn format_args(input: TokenStream) -> TokenStream {
make_format_string("format_args", input, false, true)
}