home ~ projects ~ socials

Get A Single Line Of Text With The nom Parser in Rust

This example is a test run, it's not currnetly working as I figure out some details of the neopolitan code runner

#!/usr/bin/env cargo +nightly -Zscript

//! ```cargo
//! [package]
//! edition = "2021"
//! [dependencies]
//! nom = { version = "7.1.3" }
//! ```

use nom::IResult;

fn main() {
  assert_eq!("alfa bravo\ncharlie\n", Ok(("charlie", "alfa bravo"));
  println!("Tests Passed");
}

fn parser(source: &str) -> IResult<&str, &str> {
  Ok((source, ""))
}


//let (a, b) = alt((
 // tuple((take_until("\n"), tag("\n"))).map(|x| x.0),
  //rest,
//))(source)?;
Output:
error: mismatched closing delimiter: `}`
  --> tmp-neo-execute-script.rs:13:13
   |
12 | fn main() {
   |           - closing delimiter possibly meant for this
13 |   assert_eq!("alfa bravo\ncharlie\n", Ok(("charlie", "alfa bravo"));
   |             ^ unclosed delimiter
14 |   println!("Tests Passed");
15 | }
   | ^ mismatched closing delimiter

error: could not compile ``tmp-neo-execute-script`` (bin "tmp-neo-execute-script") due to previous error

12 | fn main() {
   |           - closing delimiter possibly meant for this
13 |   assert_eq!("alfa bravo\ncharlie\n", Ok(("charlie", "alfa bravo"));
   |             ^ unclosed delimiter
14 |   println!("Tests Passed");
15 | }
   | ^ mismatched closing delimiter

error: could not compile ``tmp-neo-execute-script`` (bin "tmp-neo-execute-script") due to previous error
-- end of line --