From 64af7675e091e8bda0b3bd6fa5f5fc25ba07d26c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingy=20d=C3=B6t=20Net?= Date: Thu, 4 Jul 2024 12:15:11 -0700 Subject: [PATCH] core: Allow :all on one line require --- core/src/yamlscript/transformers.clj | 7 ++++--- core/test/transformer.yaml | 8 ++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/core/src/yamlscript/transformers.clj b/core/src/yamlscript/transformers.clj index 6328b58b..8a85efac 100644 --- a/core/src/yamlscript/transformers.clj +++ b/core/src/yamlscript/transformers.clj @@ -126,9 +126,10 @@ [(conj args AS alias) (drop 2 rhs)] [args rhs]) args (if (seq rhs) - (if (every? :Sym rhs) - (conj args REFER (Vec rhs)) - (die "Invalid 'require' arguments")) + (cond + (every? :Sym rhs) (conj args REFER (Vec rhs)) + (= rhs [{:Key :all}]) (conj args REFER (first rhs)) + :else (die "Invalid 'require' arguments")) args)] args)) diff --git a/core/test/transformer.yaml b/core/test/transformer.yaml index 88064e49..5ebf2ffc 100644 --- a/core/test/transformer.yaml +++ b/core/test/transformer.yaml @@ -94,6 +94,14 @@ '[foo.fff :refer :all]) +- name: 'require ns: :all' + yamlscript: | + !yamlscript/v0 + require foo::bar: :all + clojure: | + (require '[foo.bar :refer :all]) + + - name: Anonymous function with name yamlscript: | !yamlscript/v0