lib: save the current date in ReportOpts
We need this for choosing a valuation date, otherwise, report functions would have to be in IO or we'd have to pass in yet another argument. It's optional because it's useful to be able to create report opts purely (I think ?) This is not ideal but maybe not a problem.
This commit is contained in:
parent
d04a5a03f0
commit
ef9c4a29c4
@ -77,12 +77,15 @@ instance Default AccountListMode where def = ALDefault
|
||||
-- or query arguments, but not all. Some are used only by certain
|
||||
-- commands, as noted below.
|
||||
data ReportOpts = ReportOpts {
|
||||
period_ :: Period
|
||||
today_ :: Maybe Day -- ^ The current date. A late addition to ReportOpts.
|
||||
-- Optional, but when set it may affect some reports:
|
||||
-- Reports use it when picking a -V valuation date.
|
||||
,period_ :: Period
|
||||
,interval_ :: Interval
|
||||
,statuses_ :: [Status] -- ^ Zero, one, or two statuses to be matched
|
||||
,cost_ :: Bool
|
||||
,depth_ :: Maybe Int
|
||||
,display_ :: Maybe DisplayExp
|
||||
,display_ :: Maybe DisplayExp -- XXX unused ?
|
||||
,date2_ :: Bool
|
||||
,empty_ :: Bool
|
||||
,no_elide_ :: Bool
|
||||
@ -146,6 +149,7 @@ defreportopts = ReportOpts
|
||||
def
|
||||
def
|
||||
def
|
||||
def
|
||||
|
||||
rawOptsToReportOpts :: RawOpts -> IO ReportOpts
|
||||
rawOptsToReportOpts rawopts = checkReportOpts <$> do
|
||||
@ -153,7 +157,8 @@ rawOptsToReportOpts rawopts = checkReportOpts <$> do
|
||||
d <- getCurrentDay
|
||||
color <- hSupportsANSI stdout
|
||||
return defreportopts{
|
||||
period_ = periodFromRawOpts d rawopts'
|
||||
today_ = Just d
|
||||
,period_ = periodFromRawOpts d rawopts'
|
||||
,interval_ = intervalFromRawOpts rawopts'
|
||||
,statuses_ = statusesFromRawOpts rawopts'
|
||||
,cost_ = boolopt "cost" rawopts'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user