dioxus_rsx/
util.rs

1#![allow(unused)]
2
3use proc_macro2::TokenStream as TokenStream2;
4use std::{fmt::Debug, hash::Hash};
5use syn::{
6    ext::IdentExt,
7    parse::{Parse, ParseBuffer},
8    Ident,
9};
10
11/// Parse a raw ident and return a new ident with the r# prefix added
12pub fn parse_raw_ident(parse_buffer: &ParseBuffer) -> syn::Result<Ident> {
13    // First try to parse as a normal ident
14    if let Ok(ident) = Ident::parse(parse_buffer) {
15        return Ok(ident);
16    }
17    // If that fails, try to parse as a raw ident
18    let ident = Ident::parse_any(parse_buffer)?;
19    Ok(Ident::new_raw(&ident.to_string(), ident.span()))
20}