aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/parse/mod.rs1
-rw-r--r--src/parse/test.rs8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs
index 9cd894e..d25767d 100644
--- a/src/parse/mod.rs
+++ b/src/parse/mod.rs
@@ -213,6 +213,7 @@ impl Parse for FunBody {
b.adv();
let body = Box::new(Ast::parse(b)?);
+ b.spaces();
if b.is_empty() {
if b.is_completion() {
Ok(Self { body })
diff --git a/src/parse/test.rs b/src/parse/test.rs
index 9e2d7a8..28cf4a2 100644
--- a/src/parse/test.rs
+++ b/src/parse/test.rs
@@ -78,3 +78,11 @@ fn tilde() {
pipes([cmd([estr(b"echo"), str([var(b"HOME")])])]),
);
}
+
+#[test]
+fn set_variable_in_fun() {
+ parse_test(
+ parse(b"fun setter { set x = 1 }"),
+ decl(estr(b"setter"), assign(estr(b"x"), estr(b"1"))),
+ );
+}