pest_tree_derive 0.1.0

Derive crate for pest_tree
Documentation
use std::fmt::Debug;

use super::*;
use super::*;
use proc_macro2::{Ident, TokenStream};
use quote::{quote, quote_spanned, ToTokens, TokenStreamExt};
use syn::parse::{Parse, ParseStream};
use syn::spanned::Spanned;
use syn::{
    braced, parse_macro_input, parse_quote, token, Attribute, Data, DataEnum, DataStruct,
    DeriveInput, Expr, Fields, GenericParam, Generics, Index, Meta, Token, Variant,
};

impl StrategyAttribute {
    pub fn from_syn_attributes(attrs: &[Attribute]) -> Self {
        let attrs = BasicAttribute::from_syn_attributes(attrs);
        attrs
            .iter()
            .find_map(|attr| {
                if let BasicAttribute::Strategy(strat) = attr {
                    Some(strat)
                } else {
                    None
                }
            })
            .expect("missing strategy")
            .clone()
    }
}