Compare commits

...

2 commits

Author SHA1 Message Date
Mateusz Kurowski 284a90c6ab
Merge branch 'master' into examplesread 2024-06-28 00:27:08 +02:00
Casey Rodarmor 23f1c1ca9f
Allow comments after mod statements (#2201) 2024-06-27 18:47:33 +00:00
2 changed files with 18 additions and 4 deletions

View file

@ -365,10 +365,11 @@ impl<'run, 'src> Parser<'run, 'src> {
});
}
Some(Keyword::Mod)
if self.next_are(&[Identifier, Identifier, StringToken])
|| self.next_are(&[Identifier, Identifier, Identifier, StringToken])
if self.next_are(&[Identifier, Identifier, Comment])
|| self.next_are(&[Identifier, Identifier, Eof])
|| self.next_are(&[Identifier, Identifier, Eol])
|| self.next_are(&[Identifier, Identifier, Identifier, StringToken])
|| self.next_are(&[Identifier, Identifier, StringToken])
|| self.next_are(&[Identifier, QuestionMark]) =>
{
self.presume_keyword(Keyword::Mod)?;

View file

@ -8,8 +8,6 @@ fn modules_are_unstable() {
mod foo
",
)
.arg("foo")
.arg("foo")
.stderr(
"error: Modules are currently unstable. \
Invoke `just` with the `--unstable` flag to enable unstable features.\n",
@ -781,3 +779,18 @@ fn colon_separated_path_components_are_not_used_as_arguments() {
.status(1)
.run();
}
#[test]
fn comments_can_follow_modules() {
Test::new()
.write("foo.just", "foo:\n @echo FOO")
.justfile(
"
mod foo # this is foo
",
)
.test_round_trip(false)
.args(["--unstable", "foo", "foo"])
.stdout("FOO\n")
.run();
}