imp: pretty: Replace --pretty-tables argument with --pretty=WHEN
argument, which takes yes or no. Default is no for now.
This commit is contained in:
parent
fbccd7b7ca
commit
bf3e82f780
@ -570,7 +570,7 @@ cumulativeSum value start = snd . M.mapAccumWithKey accumValued start
|
|||||||
-- unless --no-elide is used.
|
-- unless --no-elide is used.
|
||||||
balanceReportTableAsText :: ReportOpts -> Tab.Table T.Text T.Text WideBuilder -> TB.Builder
|
balanceReportTableAsText :: ReportOpts -> Tab.Table T.Text T.Text WideBuilder -> TB.Builder
|
||||||
balanceReportTableAsText ReportOpts{..} =
|
balanceReportTableAsText ReportOpts{..} =
|
||||||
Tab.renderTableByRowsB def{Tab.tableBorders=False, Tab.prettyTable=pretty_tables_} renderCh renderRow
|
Tab.renderTableByRowsB def{Tab.tableBorders=False, Tab.prettyTable=pretty_} renderCh renderRow
|
||||||
where
|
where
|
||||||
renderCh
|
renderCh
|
||||||
| not commodity_column_ || transpose_ = fmap (Tab.textCell Tab.TopRight)
|
| not commodity_column_ || transpose_ = fmap (Tab.textCell Tab.TopRight)
|
||||||
|
|||||||
@ -141,7 +141,7 @@ data ReportOpts = ReportOpts {
|
|||||||
,row_total_ :: Bool
|
,row_total_ :: Bool
|
||||||
,no_total_ :: Bool
|
,no_total_ :: Bool
|
||||||
,show_costs_ :: Bool -- ^ Whether to show costs for reports which normally don't show them
|
,show_costs_ :: Bool -- ^ Whether to show costs for reports which normally don't show them
|
||||||
,pretty_tables_ :: Bool
|
,pretty_ :: Bool
|
||||||
,sort_amount_ :: Bool
|
,sort_amount_ :: Bool
|
||||||
,percent_ :: Bool
|
,percent_ :: Bool
|
||||||
,invert_ :: Bool -- ^ if true, flip all amount signs in reports
|
,invert_ :: Bool -- ^ if true, flip all amount signs in reports
|
||||||
@ -190,7 +190,7 @@ defreportopts = ReportOpts
|
|||||||
, row_total_ = False
|
, row_total_ = False
|
||||||
, no_total_ = False
|
, no_total_ = False
|
||||||
, show_costs_ = False
|
, show_costs_ = False
|
||||||
, pretty_tables_ = False
|
, pretty_ = False
|
||||||
, sort_amount_ = False
|
, sort_amount_ = False
|
||||||
, percent_ = False
|
, percent_ = False
|
||||||
, invert_ = False
|
, invert_ = False
|
||||||
@ -211,6 +211,7 @@ rawOptsToReportOpts d rawopts =
|
|||||||
let formatstring = T.pack <$> maybestringopt "format" rawopts
|
let formatstring = T.pack <$> maybestringopt "format" rawopts
|
||||||
querystring = map T.pack $ listofstringopt "args" rawopts -- doesn't handle an arg like "" right
|
querystring = map T.pack $ listofstringopt "args" rawopts -- doesn't handle an arg like "" right
|
||||||
(costing, valuation) = valuationTypeFromRawOpts rawopts
|
(costing, valuation) = valuationTypeFromRawOpts rawopts
|
||||||
|
pretty = fromMaybe False $ alwaysneveropt "pretty" rawopts
|
||||||
|
|
||||||
format = case parseStringFormat <$> formatstring of
|
format = case parseStringFormat <$> formatstring of
|
||||||
Nothing -> defaultBalanceLineFormat
|
Nothing -> defaultBalanceLineFormat
|
||||||
@ -245,7 +246,7 @@ rawOptsToReportOpts d rawopts =
|
|||||||
,sort_amount_ = boolopt "sort-amount" rawopts
|
,sort_amount_ = boolopt "sort-amount" rawopts
|
||||||
,percent_ = boolopt "percent" rawopts
|
,percent_ = boolopt "percent" rawopts
|
||||||
,invert_ = boolopt "invert" rawopts
|
,invert_ = boolopt "invert" rawopts
|
||||||
,pretty_tables_ = boolopt "pretty-tables" rawopts
|
,pretty_ = pretty
|
||||||
,color_ = useColorOnStdout -- a lower-level helper
|
,color_ = useColorOnStdout -- a lower-level helper
|
||||||
,transpose_ = boolopt "transpose" rawopts
|
,transpose_ = boolopt "transpose" rawopts
|
||||||
,commodity_column_= boolopt "commodity-column" rawopts
|
,commodity_column_= boolopt "commodity-column" rawopts
|
||||||
@ -300,6 +301,16 @@ balancecalcopt =
|
|||||||
balanceaccumopt :: RawOpts -> BalanceAccumulation
|
balanceaccumopt :: RawOpts -> BalanceAccumulation
|
||||||
balanceaccumopt = fromMaybe PerPeriod . balanceAccumulationOverride
|
balanceaccumopt = fromMaybe PerPeriod . balanceAccumulationOverride
|
||||||
|
|
||||||
|
alwaysneveropt :: String -> RawOpts -> Maybe Bool
|
||||||
|
alwaysneveropt opt rawopts = case maybestringopt opt rawopts of
|
||||||
|
Just "always" -> Just True
|
||||||
|
Just "yes" -> Just True
|
||||||
|
Just "y" -> Just True
|
||||||
|
Just "never" -> Just False
|
||||||
|
Just "no" -> Just False
|
||||||
|
Just "n" -> Just False
|
||||||
|
_ -> Nothing
|
||||||
|
|
||||||
balanceAccumulationOverride :: RawOpts -> Maybe BalanceAccumulation
|
balanceAccumulationOverride :: RawOpts -> Maybe BalanceAccumulation
|
||||||
balanceAccumulationOverride rawopts = choiceopt parse rawopts <|> reportbal
|
balanceAccumulationOverride rawopts = choiceopt parse rawopts <|> reportbal
|
||||||
where
|
where
|
||||||
|
|||||||
@ -219,6 +219,12 @@ reportflags = [
|
|||||||
,"'never' or 'no': never."
|
,"'never' or 'no': never."
|
||||||
,"A NO_COLOR environment variable overrides this."
|
,"A NO_COLOR environment variable overrides this."
|
||||||
])
|
])
|
||||||
|
,flagOpt "yes" ["pretty"] (\s opts -> Right $ setopt "pretty" s opts) "WHEN"
|
||||||
|
(unlines
|
||||||
|
["Show prettier output, e.g. using unicode box-drawing characters."
|
||||||
|
,"Accepts 'yes' (the default) or 'no'."
|
||||||
|
,"If you provide an argument you must use '=', e.g. '--pretty=yes'."
|
||||||
|
])
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | Flags for selecting flat/tree mode, used for reports organised by account.
|
-- | Flags for selecting flat/tree mode, used for reports organised by account.
|
||||||
@ -238,6 +244,7 @@ hiddenflags :: [Flag RawOpts]
|
|||||||
hiddenflags = [
|
hiddenflags = [
|
||||||
flagNone ["effective","aux-date"] (setboolopt "date2") "Ledger-compatible aliases for --date2"
|
flagNone ["effective","aux-date"] (setboolopt "date2") "Ledger-compatible aliases for --date2"
|
||||||
,flagNone ["infer-value"] (setboolopt "infer-market-prices") "legacy flag that was renamed"
|
,flagNone ["infer-value"] (setboolopt "infer-market-prices") "legacy flag that was renamed"
|
||||||
|
,flagNone ["pretty-tables"] (setopt "pretty" "always") "legacy flag that was renamed"
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | Common output-related flags: --output-file, --output-format...
|
-- | Common output-related flags: --output-file, --output-format...
|
||||||
|
|||||||
@ -310,7 +310,6 @@ balancemode = hledgerCommandMode
|
|||||||
,flagNone ["no-total","N"] (setboolopt "no-total") "omit the final total row"
|
,flagNone ["no-total","N"] (setboolopt "no-total") "omit the final total row"
|
||||||
,flagNone ["no-elide"] (setboolopt "no-elide") "don't squash boring parent accounts (in tree mode); don't show only 2 commodities per amount"
|
,flagNone ["no-elide"] (setboolopt "no-elide") "don't squash boring parent accounts (in tree mode); don't show only 2 commodities per amount"
|
||||||
,flagReq ["format"] (\s opts -> Right $ setopt "format" s opts) "FORMATSTR" "use this custom line format (in simple reports)"
|
,flagReq ["format"] (\s opts -> Right $ setopt "format" s opts) "FORMATSTR" "use this custom line format (in simple reports)"
|
||||||
,flagNone ["pretty-tables"] (setboolopt "pretty-tables") "use unicode to display prettier tables"
|
|
||||||
,flagNone ["sort-amount","S"] (setboolopt "sort-amount") "sort by amount instead of account code/name (in flat mode). With multiple columns, sorts by the row total, or by row average if that is displayed."
|
,flagNone ["sort-amount","S"] (setboolopt "sort-amount") "sort by amount instead of account code/name (in flat mode). With multiple columns, sorts by the row total, or by row average if that is displayed."
|
||||||
,flagNone ["percent", "%"] (setboolopt "percent") "express values in percentage of each column's total"
|
,flagNone ["percent", "%"] (setboolopt "percent") "express values in percentage of each column's total"
|
||||||
,flagNone ["invert"] (setboolopt "invert") "display all amounts with reversed sign"
|
,flagNone ["invert"] (setboolopt "invert") "display all amounts with reversed sign"
|
||||||
|
|||||||
@ -71,7 +71,7 @@ roi CliOpts{rawopts_=rawopts, reportspec_=rspec@ReportSpec{_rsReportOpts=ReportO
|
|||||||
let
|
let
|
||||||
ropts = _rsReportOpts rspec
|
ropts = _rsReportOpts rspec
|
||||||
showCashFlow = boolopt "cashflow" rawopts
|
showCashFlow = boolopt "cashflow" rawopts
|
||||||
prettyTables = pretty_tables_
|
prettyTables = pretty_
|
||||||
makeQuery flag = do
|
makeQuery flag = do
|
||||||
q <- either usageError (return . fst) . parseQuery today . T.pack $ stringopt flag rawopts
|
q <- either usageError (return . fst) . parseQuery today . T.pack $ stringopt flag rawopts
|
||||||
return . simplifyQuery $ And [queryFromFlags ropts{period_=PeriodAll}, q]
|
return . simplifyQuery $ And [queryFromFlags ropts{period_=PeriodAll}, q]
|
||||||
|
|||||||
@ -82,7 +82,6 @@ compoundBalanceCommandMode CompoundBalanceCommandSpec{..} =
|
|||||||
,flagNone ["no-total","N"] (setboolopt "no-total") "omit the final total row"
|
,flagNone ["no-total","N"] (setboolopt "no-total") "omit the final total row"
|
||||||
,flagNone ["no-elide"] (setboolopt "no-elide") "don't squash boring parent accounts (in tree mode); don't show only 2 commodities per amount"
|
,flagNone ["no-elide"] (setboolopt "no-elide") "don't squash boring parent accounts (in tree mode); don't show only 2 commodities per amount"
|
||||||
,flagReq ["format"] (\s opts -> Right $ setopt "format" s opts) "FORMATSTR" "use this custom line format (in simple reports)"
|
,flagReq ["format"] (\s opts -> Right $ setopt "format" s opts) "FORMATSTR" "use this custom line format (in simple reports)"
|
||||||
,flagNone ["pretty-tables"] (setboolopt "pretty-tables") "use unicode when displaying tables"
|
|
||||||
,flagNone ["sort-amount","S"] (setboolopt "sort-amount") "sort by amount instead of account code/name"
|
,flagNone ["sort-amount","S"] (setboolopt "sort-amount") "sort by amount instead of account code/name"
|
||||||
,flagNone ["percent", "%"] (setboolopt "percent") "express values in percentage of each column's total"
|
,flagNone ["percent", "%"] (setboolopt "percent") "express values in percentage of each column's total"
|
||||||
,flagNone ["commodity-column"] (setboolopt "commodity-column")
|
,flagNone ["commodity-column"] (setboolopt "commodity-column")
|
||||||
|
|||||||
@ -1383,6 +1383,21 @@ hledger can optionally produce debug output (if enabled with `--debug=N`);
|
|||||||
this goes to stderr, and is not affected by `-o/--output-file`.
|
this goes to stderr, and is not affected by `-o/--output-file`.
|
||||||
If you need to capture it, use shell redirects, eg: `hledger bal --debug=3 >file 2>&1`.
|
If you need to capture it, use shell redirects, eg: `hledger bal --debug=3 >file 2>&1`.
|
||||||
|
|
||||||
|
## Output styling
|
||||||
|
|
||||||
|
hledger commands can produce colour output when the terminal supports it.
|
||||||
|
This is controlled by the `--color/--colour` option:
|
||||||
|
- if the `NO_COLOR` environment variable is set, colour will not be used;
|
||||||
|
- otherwise, if the `--color/--colour` option is given a value of `yes` or `always`
|
||||||
|
(or `no` or `never`), colour will (or will not) be used;
|
||||||
|
- otherwise, colour will be used if the output (terminal or file) supports it.
|
||||||
|
|
||||||
|
hledger commands can also use unicode box-drawing characters to produce prettier tables and output.
|
||||||
|
This is controlled by the `--pretty` option:
|
||||||
|
- if the `--pretty` option is given a value of `yes` or `always`
|
||||||
|
(or `no` or `never`), unicode characters will (or will not) be used;
|
||||||
|
- otherwise, unicode characters will not be used.
|
||||||
|
|
||||||
## Output format
|
## Output format
|
||||||
|
|
||||||
Some commands (print, register, the balance commands) offer a choice of output format.
|
Some commands (print, register, the balance commands) offer a choice of output format.
|
||||||
|
|||||||
@ -1,3 +1,46 @@
|
|||||||
|
# 1. Uses Unicode tables when given --pretty=yes
|
||||||
|
hledger -f balance-multicol.journal balance --pretty=yes -M
|
||||||
|
>>>
|
||||||
|
Balance changes in 2012-12-01..2013-03-31:
|
||||||
|
|
||||||
|
║ 2012-12 2013-01 2013-02 2013-03
|
||||||
|
═════════════════╬════════════════════════════════════
|
||||||
|
assets ║ 0 0 1 0
|
||||||
|
assets:cash ║ 0 0 1 0
|
||||||
|
assets:checking ║ 10 0 0 1
|
||||||
|
─────────────────╫────────────────────────────────────
|
||||||
|
║ 10 0 2 1
|
||||||
|
>>>=0
|
||||||
|
|
||||||
|
# 2. Uses Unicode tables when given --pretty
|
||||||
|
hledger -f balance-multicol.journal balance --pretty -M
|
||||||
|
>>>
|
||||||
|
Balance changes in 2012-12-01..2013-03-31:
|
||||||
|
|
||||||
|
║ 2012-12 2013-01 2013-02 2013-03
|
||||||
|
═════════════════╬════════════════════════════════════
|
||||||
|
assets ║ 0 0 1 0
|
||||||
|
assets:cash ║ 0 0 1 0
|
||||||
|
assets:checking ║ 10 0 0 1
|
||||||
|
─────────────────╫────────────────────────────────────
|
||||||
|
║ 10 0 2 1
|
||||||
|
>>>=0
|
||||||
|
|
||||||
|
# 3. Uses ASCII tables when given --pretty=no
|
||||||
|
hledger -f balance-multicol.journal balance --pretty=no -M
|
||||||
|
>>>
|
||||||
|
Balance changes in 2012-12-01..2013-03-31:
|
||||||
|
|
||||||
|
|| 2012-12 2013-01 2013-02 2013-03
|
||||||
|
=================++====================================
|
||||||
|
assets || 0 0 1 0
|
||||||
|
assets:cash || 0 0 1 0
|
||||||
|
assets:checking || 10 0 0 1
|
||||||
|
-----------------++------------------------------------
|
||||||
|
|| 10 0 2 1
|
||||||
|
>>>=0
|
||||||
|
|
||||||
|
# 4. Still accepts the legacy --pretty-tables for now
|
||||||
hledger -f balance-multicol.journal balance --pretty-tables -M
|
hledger -f balance-multicol.journal balance --pretty-tables -M
|
||||||
>>>
|
>>>
|
||||||
Balance changes in 2012-12-01..2013-03-31:
|
Balance changes in 2012-12-01..2013-03-31:
|
||||||
|
|||||||
@ -218,12 +218,12 @@ Balance Sheet 2017-12-31
|
|||||||
=============++=====================
|
=============++=====================
|
||||||
Net: || $1 $1
|
Net: || $1 $1
|
||||||
|
|
||||||
# 9. --pretty-tables uses unicode chars for borders
|
# 9. --pretty=yes uses unicode chars for borders
|
||||||
<
|
<
|
||||||
2016/1/1
|
2016/1/1
|
||||||
assets 1
|
assets 1
|
||||||
b
|
b
|
||||||
$ hledger -f - balancesheet -M --pretty-tables
|
$ hledger -f - balancesheet -M --pretty=yes
|
||||||
Balance Sheet 2016-01-31
|
Balance Sheet 2016-01-31
|
||||||
|
|
||||||
║ 2016-01-31
|
║ 2016-01-31
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user