nicer but my fsm is wrong if i want to bundle ands first
All checks were successful
cicd / ci (push) Successful in 3m29s
All checks were successful
cicd / ci (push) Successful in 3m29s
This commit is contained in:
@@ -40,31 +40,10 @@ func Main() {
|
||||
}
|
||||
cmd := positional[0]
|
||||
|
||||
q, err := BuildQuery(positional)
|
||||
q, err := BuildQuery(positional[1:])
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
panic(q)
|
||||
|
||||
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()
|
||||
if err != nil {
|
||||
@@ -86,37 +65,22 @@ func Main() {
|
||||
|
||||
switch cmd[:3] {
|
||||
case "bal":
|
||||
balances := deltas.Balances()
|
||||
if likePattern != "" {
|
||||
balances = balances.Like(likePattern)
|
||||
}
|
||||
if notLikePattern != "" {
|
||||
balances = balances.NotLike(notLikePattern)
|
||||
}
|
||||
/*
|
||||
balances := deltas.Balances()
|
||||
if likePattern != "" {
|
||||
balances = balances.Like(likePattern)
|
||||
}
|
||||
if notLikePattern != "" {
|
||||
balances = balances.NotLike(notLikePattern)
|
||||
}
|
||||
|
||||
FPrintBalances(os.Stdout, "", balances, nil)
|
||||
FPrintBalances(os.Stdout, "", balances, nil)
|
||||
*/
|
||||
case "reg":
|
||||
transactions := deltas.Transactions()
|
||||
likes := []ledger.Like{}
|
||||
if likePattern != "" {
|
||||
like := ledger.LikeName(likePattern)
|
||||
transactions = transactions.Like(like)
|
||||
if config.Query.Reverse {
|
||||
like = ledger.LikeNot(like)
|
||||
}
|
||||
likes = append(likes, like)
|
||||
}
|
||||
if notLikePattern != "" {
|
||||
like := ledger.NotLikeName(notLikePattern)
|
||||
transactions = transactions.NotLike(like)
|
||||
if config.Query.Reverse {
|
||||
like = ledger.LikeNot(like)
|
||||
}
|
||||
likes = append(likes, like)
|
||||
}
|
||||
|
||||
for i, transaction := range transactions {
|
||||
balances := ledger.Deltas(transaction).Like(likes...).Balances()
|
||||
balances := ledger.Deltas(transaction).Like(q).Balances()
|
||||
shouldPrint := false
|
||||
shouldPrint = shouldPrint || len(balances) > 2
|
||||
if config.Query.NoExchanging {
|
||||
@@ -129,7 +93,7 @@ func Main() {
|
||||
}
|
||||
if shouldPrint {
|
||||
fmt.Printf("%s\t%s\n", transaction[0].Date, transaction[0].Description)
|
||||
FPrintBalances(os.Stdout, "\t\t", balances, transactions[:i+1].Deltas().Like(likes...).Balances())
|
||||
FPrintBalances(os.Stdout, "\t\t", balances, transactions[:i+1].Deltas().Like(q).Balances())
|
||||
}
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user