Put A num Rust Parser In A Struct To Access Config Variables
Not sure this is a good idea. It's an experiement.
```cargo
[dependencies]
nom = "7.1.1"
nom-supreme = "0.8.0"
```
#![allow(warnings)]
use nom_supreme::error::ErrorTree;
use nom::IResult;
use nom::Parser;
use nom_supreme::final_parser::final_parser;
use nom_supreme::error::GenericErrorTree;
use nom_supreme::final_parser::Location;
use nom_supreme::final_parser::RecreateContext;
use nom::bytes::complete::tag;
use nom_supreme::parser_ext::ParserExt;
pub struct Runner {
target: String
}
impl Runner {
pub fn parse(self, source: &str) -> IResult<&str, &str, ErrorTree<&str>> {
let (source, result) = tag("the ").context("parse").parse(source)?;
let (source, result) = tag(self.target.as_str()).context("parse").parse(source)?;
Ok((source, result))
}
}
fn main() {
let content = "the quick brown fox";
let parser = Runner { target: "quick".to_string() };
let results = parser.parse(content);
dbg!(results);
}
[/Users/alan/.cargo/target/55/19854259915251/_active_nvim_run:35:3] results = Ok(
(
" brown fox",
"quick",
),
)