From 1a2c88687fd369c6ba78d72501861deb070aa5f2 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Thu, 12 Dec 2024 21:59:51 -0700 Subject: [PATCH] progress i guess --- cmd/cli/main.go | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/cmd/cli/main.go b/cmd/cli/main.go index 5e140bb..6940090 100644 --- a/cmd/cli/main.go +++ b/cmd/cli/main.go @@ -37,10 +37,24 @@ func Main() { } cmd := positional[0] - likes := []ledger.Like{} - for _, query := range positional[1:] { - panic(query) - panic(likes) + likePattern := "" + notLikePattern := "" + i := 1 + for i < len(positional) { + switch positional[i] { + case "not": + _ = notLikePattern + panic(positional[i:]) + case "and": + panic(positional[i:]) + default: + if likePattern == "" { + likePattern = positional[i] + } else { + likePattern = fmt.Sprintf("%s|%s", likePattern, positional[i]) + } + } + i += 1 } deltas, err := ledgerFiles.Deltas() @@ -64,6 +78,12 @@ func Main() { switch cmd[:3] { case "bal": balances := deltas.Balances() + if likePattern != "" { + balances = balances.Like(likePattern) + } + if notLikePattern != "" { + balances = balances.NotLike(notLikePattern) + } keys := []string{} for k := range balances {