autoload 0.1.0

rust autoload macro,single scan load ioc aop
Documentation
use pest::Parser;

#[derive(Debug,Clone)]
pub struct FunContent{
    pub fun_name:String,
    pub fun_param:String,
    pub fun_head_end_group:String,
    pub fun_for_content:String,
}

#[derive(Parser)]
#[grammar = "./pestf/starter_celler_input.pest"]
pub struct StarterScanThisParser;

pub fn read_this_parset(unparsed_file:String)->Option<FunContent> {
    let file = StarterScanThisParser::parse(Rule::file, unparsed_file.as_str())
        .expect("unsuccessful parse")
        .next()
        .unwrap();
    for line in file.into_inner() {
        match line.as_rule() {
            Rule::scan_macro_fun_content => {
                let mut inner_rules = line.into_inner();
                let fun_name_group = inner_rules.next().unwrap().as_str().to_string();
                let fun_brackets_group = inner_rules.next().unwrap().as_str().to_string();
                let fun_head_end_group = inner_rules.next().unwrap().as_str().to_string();
                let fun_for_content = inner_rules.next().unwrap().as_str().to_string();
                return Some(FunContent{
                    fun_name:fun_name_group,
                    fun_param:fun_brackets_group,
                    fun_head_end_group:fun_head_end_group,
                    fun_for_content:fun_for_content,
                });
            }
            Rule::EOI => (),
            _ => (),
        }
    }
    return None;
}