===
Recipes: Bodies: Shebang, simple
===

r:
    #!/usr/bin/env bash

---

(file
  (recipe
    (identifier)
    (recipe_body
      (shebang_line
        (shebang_shell)))))

===
Recipes: Bodies: Shebang, with args
===

r:
    #!/usr/bin/env bash -c command

---

(file
  (recipe
    (identifier)
    (recipe_body
      (shebang_line
        (shebang_shell)))))

===
Recipes: Bodies: Shebang, with args to all
===

r:
    #!/usr/bin/env -S bash -c command

---

(file
  (recipe
    (identifier)
    (recipe_body
      (shebang_line
        (shebang_shell)))))

===
Recipes: Bodies: Shebang, with interpolation
===

r:
    #!/usr/bin/env -S bash -c {{ command }}

---

(file
  (recipe
    (identifier)
    (recipe_body
      (shebang_line
        (shebang_shell)
        (interpolation
          (expression
            (value
              (identifier))))))))

===
Recipes: Bodies: Shebang, with other lines
===

r:
    #!/usr/bin/env bash
    command
    #!/usr/bin/env bash -c not a shebang line

---

(file
  (recipe
    (identifier)
    (recipe_body
      (shebang_line
        (shebang_shell))
      (recipe_line)
      (recipe_line))))

===
Recipes: Bodies: Shebang, with quiet/ignore error
===

r:
    @#!/usr/bin/env bash

r:
    -#!/usr/bin/env bash

r:
    -@#!/usr/bin/env bash

r:
    @-#!/usr/bin/env bash

---

(file
  (recipe
    (identifier)
    (recipe_body
      (recipe_line)))
  (recipe
    (identifier)
    (recipe_body
      (recipe_line)))
  (recipe
    (identifier)
    (recipe_body
      (shebang_line
        (shebang_shell))))
  (recipe
    (identifier)
    (recipe_body
      (shebang_line
        (shebang_shell)))))
