diff --git a/src/recipe.rs b/src/recipe.rs index 80156f2203..698a49db80 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -124,7 +124,9 @@ impl<'src, D> Recipe<'src, D> { } let line = lines.next().unwrap(); line_number += 1; - evaluated += &evaluator.evaluate_line(line, continued)?; + if !comment_line { + evaluated += &evaluator.evaluate_line(line, continued)?; + } if line.is_continuation() && !comment_line { continued = true; evaluated.pop(); @@ -132,6 +134,11 @@ impl<'src, D> Recipe<'src, D> { break; } } + + if comment_line { + continue; + } + let mut command = evaluated.as_str(); if quiet_command { @@ -142,10 +149,6 @@ impl<'src, D> Recipe<'src, D> { command = &command[1..]; } - if comment_line { - continue; - } - if command.is_empty() { continue; } diff --git a/tests/ignore_comments.rs b/tests/ignore_comments.rs index 1dc04b197c..1badd4c9db 100644 --- a/tests/ignore_comments.rs +++ b/tests/ignore_comments.rs @@ -83,3 +83,17 @@ fn continuations_with_echo_comments_true() { .stderr("# comment lines can be continued echo something-useful\n") .run(); } + +#[test] +fn dont_evalute_comments() { + Test::new() + .justfile( + " + set ignore-comments + + some_recipe: + # {{ error('foo') }} + ", + ) + .run(); +}