dash_conversion/
lib.rs

1extern crate proc_macro;
2use proc_macro::{TokenStream, TokenTree, Literal};
3
4#[proc_macro]
5pub fn dash_conversion(input: TokenStream) -> TokenStream {
6    match input.into_iter().next() {
7        Some(TokenTree::Ident(name)) => {
8            Into::<TokenTree>::into(Literal::string(&name.to_string().replace("_", "-"))).into()
9        }
10        got => panic!("expected ident; got: {got:?}"),
11    }
12}