balance: ignore --drop when displaying in tree mode
This commit is contained in:
parent
4a5d7154cd
commit
e14f39bae0
@ -56,7 +56,7 @@ accounts CliOpts{reportopts_=ropts} j = do
|
||||
as' | tree_ ropts = expandAccountNames as
|
||||
| otherwise = as
|
||||
render a | tree_ ropts = replicate (2 * (accountNameLevel a - 1)) ' ' ++ accountLeafName a
|
||||
| otherwise = accountNameDrop (drop_ ropts) a
|
||||
| otherwise = maybeAccountNameDrop ropts a
|
||||
mapM_ (putStrLn . render) as'
|
||||
|
||||
tests_Hledger_Cli_Accounts = TestList []
|
||||
|
||||
@ -382,7 +382,7 @@ formatBalanceReportItem opts accountName depth amount (fmt:fmts) =
|
||||
|
||||
formatField :: ReportOpts -> Maybe AccountName -> Int -> Amount -> Bool -> Maybe Int -> Maybe Int -> HledgerFormatField -> String
|
||||
formatField opts accountName depth total ljust min max field = case field of
|
||||
AccountField -> formatValue ljust min max $ maybe "" (accountNameDrop (drop_ opts)) accountName
|
||||
AccountField -> formatValue ljust min max $ maybe "" (maybeAccountNameDrop opts) accountName
|
||||
DepthSpacerField -> case min of
|
||||
Just m -> formatValue ljust Nothing max $ replicate (depth * m) ' '
|
||||
Nothing -> formatValue ljust Nothing max $ replicate depth ' '
|
||||
@ -424,7 +424,7 @@ periodBalanceReportAsText opts r@(MultiBalanceReport (colspans, items, coltotals
|
||||
accts = map renderacct items'
|
||||
renderacct ((a,a',i),_)
|
||||
| tree_ opts = replicate ((i-1)*2) ' ' ++ a'
|
||||
| otherwise = accountNameDrop (drop_ opts) a
|
||||
| otherwise = maybeAccountNameDrop opts a
|
||||
acctswidth = maximum $ map length $ accts
|
||||
totalrow | no_total_ opts = row "" []
|
||||
| otherwise = row "" coltotals
|
||||
@ -446,7 +446,7 @@ cumulativeBalanceReportAsText opts r@(MultiBalanceReport (colspans, items, colto
|
||||
accts = map renderacct items
|
||||
renderacct ((a,a',i),_)
|
||||
| tree_ opts = replicate ((i-1)*2) ' ' ++ a'
|
||||
| otherwise = accountNameDrop (drop_ opts) a
|
||||
| otherwise = maybeAccountNameDrop opts a
|
||||
acctswidth = maximum $ map length $ accts
|
||||
addtotalrow | no_total_ opts = id
|
||||
| otherwise = (+----+ row "" coltotals)
|
||||
@ -468,7 +468,7 @@ historicalBalanceReportAsText opts r@(MultiBalanceReport (colspans, items, colto
|
||||
accts = map renderacct items
|
||||
renderacct ((a,a',i),_)
|
||||
| tree_ opts = replicate ((i-1)*2) ' ' ++ a'
|
||||
| otherwise = accountNameDrop (drop_ opts) a
|
||||
| otherwise = maybeAccountNameDrop opts a
|
||||
acctswidth = maximum $ map length $ accts
|
||||
addtotalrow | no_total_ opts = id
|
||||
| otherwise = (+----+ row "" coltotals)
|
||||
|
||||
@ -49,6 +49,7 @@ module Hledger.Cli.Options (
|
||||
defaultWidth,
|
||||
defaultWidthWithFlag,
|
||||
widthFromOpts,
|
||||
maybeAccountNameDrop,
|
||||
-- | For balance:
|
||||
lineFormatFromOpts,
|
||||
|
||||
@ -465,6 +466,11 @@ widthp :: Stream [Char] m t => ParsecT [Char] st m Width
|
||||
widthp = (string "auto" >> return Auto)
|
||||
<|> (Width . read) `fmap` many1 digit
|
||||
|
||||
-- | Drop leading components of accounts names as specified by --drop, but only in --flat mode.
|
||||
maybeAccountNameDrop :: ReportOpts -> AccountName -> AccountName
|
||||
maybeAccountNameDrop opts a | tree_ opts = a
|
||||
| otherwise = accountNameDrop (drop_ opts) a
|
||||
|
||||
-- Other utils
|
||||
|
||||
-- | Get the sorted unique precise names and display names of hledger
|
||||
|
||||
Loading…
Reference in New Issue
Block a user