lib: showAmountCost(B): drop leading whitespace

This commit is contained in:
Simon Michael 2025-01-15 16:05:39 -10:00
parent e98af39e27
commit edfcd3554f
3 changed files with 15 additions and 15 deletions

View File

@ -673,22 +673,22 @@ showAmountB
space = if not (T.null comm) && ascommodityspaced style then WideBuilder (TB.singleton ' ') 1 else mempty
cost = if displayCost then showAmountCostB afmt a else mempty
-- Show an amount's cost as @ UNITCOST or @@ TOTALCOST.
-- Show an amount's cost as @ UNITCOST or @@ TOTALCOST, plus a leading space, or "" if there's no cost.
showAmountCost :: Amount -> String
showAmountCost = wbUnpack . showAmountCostB defaultFmt
-- Show an amount's cost as @ UNITCOST or @@ TOTALCOST (builder version).
-- showAmountCost, efficient builder version.
showAmountCostB :: AmountFormat -> Amount -> WideBuilder
showAmountCostB afmt amt = case acost amt of
Nothing -> mempty
Nothing -> mempty
Just (UnitCost pa) -> WideBuilder (TB.fromString " @ ") 3 <> showAmountB afmt pa
Just (TotalCost pa) -> WideBuilder (TB.fromString " @@ ") 4 <> showAmountB afmt (sign pa)
where sign = if aquantity amt < 0 then negate else id
showAmountCostDebug :: Maybe AmountCost -> String
showAmountCostDebug Nothing = ""
showAmountCostDebug (Just (UnitCost pa)) = " @ " ++ showAmountDebug pa
showAmountCostDebug (Just (TotalCost pa)) = " @@ " ++ showAmountDebug pa
showAmountCostDebug (Just (UnitCost pa)) = "@ " ++ showAmountDebug pa
showAmountCostDebug (Just (TotalCost pa)) = "@@ " ++ showAmountDebug pa
-- | Colour version. For a negative amount, adds ANSI codes to change the colour,
-- currently to hard-coded red.

View File

@ -1176,9 +1176,9 @@ pivotComponent fieldortagname p
| fieldortagname == "note", Just t <- ptransaction p = transactionNote t
| fieldortagname == "status", Just t <- ptransaction p = T.pack . show . tstatus $ t
| fieldortagname == "acct" = paccount p
| fieldortagname `elem` commnames = case map acommodity $ amounts $ pamount p of [s] -> s; _ -> unknown
| fieldortagname == "amt" = case amounts $ pamount p of [a] -> T.pack $ show $ aquantity a; _ -> unknown
| fieldortagname == "cost" = case amounts $ pamount p of [a@Amount{acost=Just _}] -> T.pack $ showAmountCost a; _ -> unknown
| fieldortagname `elem` commnames = case map acommodity $ amounts $ pamount p of [s] -> s; _ -> unknown
| fieldortagname == "amt" = case amounts $ pamount p of [a] -> T.pack $ show $ aquantity a; _ -> unknown
| fieldortagname == "cost" = case amounts $ pamount p of [a@Amount{acost=Just _}] -> T.pack $ lstrip $ showAmountCost a; _ -> unknown
| Just (_, tagvalue) <- postingFindTag fieldortagname p = tagvalue
| otherwise = unknown
where

View File

@ -200,10 +200,10 @@ Balance changes in 2025:
$ hledger -f- bal -Y --pivot=cost
Balance changes in 2025:
|| 2025
=========++=================
|| $-210
@ $10 || 1 A
@ $100 || 2 B
---------++-----------------
|| $-210, 1 A, 2 B
|| 2025
========++=================
|| $-210
@ $10 || 1 A
@ $100 || 2 B
--------++-----------------
|| $-210, 1 A, 2 B