mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-08 07:09:28 +03:00
print, register, balance: fix layout with mixed-commodity amounts
This commit is contained in:
parent
7e161bbebf
commit
b5d1ebba30
@ -150,7 +150,7 @@ showPostingsWithBalance (p:ps) pprev bal = this ++ showPostingsWithBalance ps p
|
||||
|
||||
-- | Show one posting and running balance, with or without transaction info.
|
||||
showPostingWithBalance :: Bool -> Posting -> MixedAmount -> String
|
||||
showPostingWithBalance withtxninfo p b = concatBottomPadded [txninfo ++ pstr ++ " ", bal] ++ "\n"
|
||||
showPostingWithBalance withtxninfo p b = concatTopPadded [txninfo, pstr, " ", bal] ++ "\n"
|
||||
where
|
||||
ledger3ishlayout = False
|
||||
datedescwidth = if ledger3ishlayout then 34 else 32
|
||||
|
@ -78,13 +78,18 @@ showTransaction' elide effective t =
|
||||
= map showposting (init ps) ++ [showpostingnoamt (last ps)]
|
||||
| otherwise = map showposting ps
|
||||
where
|
||||
showposting p = showacct p ++ " " ++ showamount (pamount p) ++ showcomment (pcomment p)
|
||||
showpostingnoamt p = rstrip $ showacct p ++ " " ++ showcomment (pcomment p)
|
||||
showposting p = concatTopPadded [showacct p
|
||||
," "
|
||||
,showamt (pamount p)
|
||||
,showcomment (pcomment p)
|
||||
]
|
||||
showacct p = " " ++ showstatus p ++ printf (printf "%%-%ds" w) (showAccountName Nothing (ptype p) (paccount p))
|
||||
w = maximum $ map (length . paccount) ps
|
||||
showamount = printf "%12s" . showMixedAmountOrZero
|
||||
showcomment s = if null s then "" else " ; "++s
|
||||
where w = maximum $ map (length . paccount) ps
|
||||
showstatus p = if pstatus p then "* " else ""
|
||||
showamt =
|
||||
padleft 12 . showMixedAmountOrZero
|
||||
showcomment s = if null s then "" else " ; "++s
|
||||
|
||||
-- | Show an account name, clipped to the given width if any, and
|
||||
-- appropriately bracketed/parenthesised for the given posting type.
|
||||
|
41
tests/amount-layout-vertical.test
Normal file
41
tests/amount-layout-vertical.test
Normal file
@ -0,0 +1,41 @@
|
||||
# test mixed amount layout with various commands
|
||||
bin/hledger -f - print
|
||||
<<<
|
||||
2010/1/1
|
||||
a EUR 1 ; a euro
|
||||
b USD 1 ; a dollar
|
||||
c ; a euro and a dollar
|
||||
>>>
|
||||
2010/01/01
|
||||
a EUR 1 ; a euro
|
||||
b USD 1 ; a dollar
|
||||
EUR -1
|
||||
c USD -1 ; a euro and a dollar
|
||||
|
||||
#
|
||||
bin/hledger -f - register
|
||||
<<<
|
||||
2010/1/1
|
||||
a EUR 1 ; a euro
|
||||
b USD 1 ; a dollar
|
||||
c ; a euro and a dollar
|
||||
>>>
|
||||
2010/01/01 a EUR 1 EUR 1
|
||||
EUR 1
|
||||
b USD 1 USD 1
|
||||
EUR -1
|
||||
c USD -1 0
|
||||
#
|
||||
bin/hledger -f - balance
|
||||
<<<
|
||||
2010/1/1
|
||||
a EUR 1 ; a euro
|
||||
b USD 1 ; a dollar
|
||||
c ; a euro and a dollar
|
||||
>>>
|
||||
EUR 1 a
|
||||
USD 1 b
|
||||
EUR -1
|
||||
USD -1 c
|
||||
--------------------
|
||||
EUR 0
|
Loading…
Reference in New Issue
Block a user