git.delta.rocks / jrsonnet / refs/commits / a735ba768480

difftreelog

fix in comments, eof should be allowed in place of eol

Yaroslav Bolyukin2021-11-10parent: #fda6372.patch.diff
in: master

1 file changed

modifiedcrates/jrsonnet-parser/src/lib.rsdiffbeforeafterboth
30 grammar jsonnet_parser() for str {30 grammar jsonnet_parser() for str {
31 use peg::ParseLiteral;31 use peg::ParseLiteral;
32
33 rule eof() = quiet!{![_]} / expected!("<eof>")
34 rule eol() = "\n" / eof()
3235
33 /// Standard C-like comments36 /// Standard C-like comments
34 rule comment()37 rule comment()
35 = "//" (!['\n'][_])* "\n"38 = "//" (!eol()[_])* eol()
36 / "/*" ("\\*/" / "\\\\" / (!("*/")[_]))* "*/"39 / "/*" ("\\*/" / "\\\\" / (!("*/")[_]))* "*/"
37 / "#" (!['\n'][_])* "\n"40 / "#" (!eol()[_])* eol()
3841
39 rule single_whitespace() = quiet!{([' ' | '\r' | '\n' | '\t'] / comment())} / expected!("<whitespace>")42 rule single_whitespace() = quiet!{([' ' | '\r' | '\n' | '\t'] / comment())} / expected!("<whitespace>")
40 rule _() = single_whitespace()*43 rule _() = single_whitespace()*
561 // ^^^^ failed code564 // ^^^^ failed code
562 }565 }
566
567 #[test]
568 fn missing_newline_between_comment_and_eof() {
569 parse!(
570 "{a:1}
571
572 //+213"
573 );
574 }
563575
564 #[test]576 #[test]
565 fn default_param_before_nondefault() {577 fn default_param_before_nondefault() {