From 7867793bcd458f1bd44df3f1571280b810f19ceb Mon Sep 17 00:00:00 2001 From: rvcas Date: Wed, 21 Dec 2022 19:12:19 -0500 Subject: [PATCH] feat: on fmt if label and name are the same only print one --- crates/aiken-lang/src/format.rs | 6 +++++- examples/sample/validators/swap.ak | 9 +++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/crates/aiken-lang/src/format.rs b/crates/aiken-lang/src/format.rs index e51b277c..c9a05a2f 100644 --- a/crates/aiken-lang/src/format.rs +++ b/crates/aiken-lang/src/format.rs @@ -1585,7 +1585,11 @@ impl<'a> Documentable<'a> for &'a ArgName { ArgName::Named { name, .. } | ArgName::Discard { name, .. } => name.to_doc(), ArgName::LabeledDiscard { label, name, .. } | ArgName::NamedLabeled { label, name, .. } => { - docvec![label, " ", name] + if label == name { + name.to_doc() + } else { + docvec![label, " ", name] + } } } } diff --git a/examples/sample/validators/swap.ak b/examples/sample/validators/swap.ak index 4f5d66ea..f85997f8 100644 --- a/examples/sample/validators/swap.ak +++ b/examples/sample/validators/swap.ak @@ -3,21 +3,22 @@ use aiken/string use aiken/hash.{Blake2b_224, Hash} use aiken/transaction.{ScriptContext} use aiken/transaction/credential.{VerificationKey} - + pub type Datum { owner: Hash, } - + pub type Redeemer { msg: ByteArray, } - + pub fn spend(datum: Datum, redeemer: Redeemer, context: ScriptContext) -> Bool { let must_say_hello = string.from_bytearray(redeemer.msg) == "Hello, World!" + let must_be_signed = context.transaction.extra_signatories |> list.any(fn(vk) { vk == datum.owner }) - + must_say_hello && must_be_signed }