;doc: BACKLOG: convert to headings

Use headings for items again, as far as possible, since they generate link targets.
This commit is contained in:
Simon Michael 2021-09-27 12:29:02 -10:00
parent b63d1b84de
commit d45311826b

View File

@ -1,5 +1,5 @@
* BACKLOG.org * BACKLOG.org
#+OPTIONS: -:nil \n:t H:2 #+OPTIONS: -:nil \n:t H:9
An efficient public store of tasks/changes/design notes, mostly from An efficient public store of tasks/changes/design notes, mostly from
SM's private backlog; things that I/we feel would be nice to have, or SM's private backlog; things that I/we feel would be nice to have, or
@ -15,14 +15,16 @@ See also:
Some items may render best when viewed in Emacs org mode. Some items may render best when viewed in Emacs org mode.
** wip # Dummy second level heading to ensure only the topics appear in site's page TOC:
*** move items here from SM's private backlog ** Topics:
** cli *** wip
*** help: clarify/improve the various kinds of command line help **** move items here from SM's private backlog
**** survey/describe *** cli
**** help: clarify/improve the various kinds of command line help
***** survey/describe
Most of these are long, and best viewed with a pager, eg: hledger -h | less Most of these are long, and best viewed with a pager, eg: hledger -h | less
***** Quick command line help: ****** Quick command line help:
#+begin_example #+begin_example
hledger -h|--help hledger -h|--help
hledger-ui -h|--help hledger-ui -h|--help
@ -37,7 +39,7 @@ hledger COMMAND -h|--help
#+end_example #+end_example
***** User manuals: ****** User manuals:
#+begin_example #+begin_example
hledger help [-i|-m|-p] [TOPIC] hledger help [-i|-m|-p] [TOPIC]
@ -72,15 +74,15 @@ https://hledger.org/hledger-web.html
#+end_example #+end_example
*** help improvements **** help improvements
**** auto pager ***** auto pager
**** colour ***** colour
**** show commands to get more detailed help ***** show commands to get more detailed help
**** list output formats ***** list output formats
**** list input formats ***** list input formats
**** list runtime-detected input formats ***** list runtime-detected input formats
**** more intro/manual in the main --help ***** more intro/manual in the main --help
**** commands list updates ***** commands list updates
Financial reports: Financial reports:
aregister (areg) show an account's transactions and running balance aregister (areg) show an account's transactions and running balance
register (reg) show postings in all/matched accounts and their total register (reg) show postings in all/matched accounts and their total
@ -90,30 +92,30 @@ Financial reports:
incomestatement (is) show revenues and expenses incomestatement (is) show revenues and expenses
balance (bal) show custom balance reports, budgets, gains.. balance (bal) show custom balance reports, budgets, gains..
roi show a return on investment report roi show a return on investment report
**** --pivot: list possible arguments in help ***** --pivot: list possible arguments in help
*** --version: include latest commit date **** --version: include latest commit date
*** --version: include git branch name if not master ? **** --version: include git branch name if not master ?
*** disable colors when writing to .txt file ? **** disable colors when writing to .txt file ?
*** trailing colon makes alias ineffective **** trailing colon makes alias ineffective
`--alias expenses:personal:=expenses:` `--alias expenses:personal:=expenses:`
*** unclear error if a trailing slash is written after file name **** unclear error if a trailing slash is written after file name
shell completion might wrongly add a trailing slash, eg as with this symlink, shell completion might wrongly add a trailing slash, eg as with this symlink,
resulting in this unclear error: resulting in this unclear error:
~/notes$ stats -f current.journal/ ~/notes$ stats -f current.journal/
hledger: SourcePos {sourceName = "/Users/simon/.sm/notes/current.journal/", sourceLine = Pos 9, sourceColumn = Pos 1} reading /Users/simon/.sm/notes/current.journal/2018.prices: hledger: SourcePos {sourceName = "/Users/simon/.sm/notes/current.journal/", sourceLine = Pos 9, sourceColumn = Pos 1} reading /Users/simon/.sm/notes/current.journal/2018.prices:
/Users/simon/current.journal/2018.prices: openFile: inappropriate type (Not a directory) /Users/simon/current.journal/2018.prices: openFile: inappropriate type (Not a directory)
*** -h/--help should work even with unrecognised flags/missing args **** -h/--help should work even with unrecognised flags/missing args
**** hledger --help ui --watch ***** hledger --help ui --watch
**** hledger ui --watch --help ***** hledger ui --watch --help
**** hledger --nosuchflag --help ***** hledger --nosuchflag --help
**** hledger nosuchcommand --help ***** hledger nosuchcommand --help
***** not expected to work; hledger --help nosuchcommand does work ****** not expected to work; hledger --help nosuchcommand does work
***** unify hledger --help & hledger COMMAND --help more ? ****** unify hledger --help & hledger COMMAND --help more ?
*** @ does not expand file names, eg @~/somefile **** @ does not expand file names, eg @~/somefile
*** bad --width parse error **** bad --width parse error
$ hledger -f examples/sample.journal reg -w 80,-1 $ hledger -f examples/sample.journal reg -w 80,-1
hledger: could not parse width option: ParseErrorBundle {bundleErrors = TrivialError 3 (Just (Tokens ('-' :| ""))) (fromList [Label ('d' :| "igit")]) :| [], bundlePosState = PosState {pstateInput = "80,-1", pstateOffset = 0, pstateSourcePos = SourcePos {sourceName = "(unknown)", sourceLine = Pos 1, sourceColumn = Pos 1}, pstateTabWidth = Pos 8, pstateLinePrefix = ""}} (use -h to see usage) hledger: could not parse width option: ParseErrorBundle {bundleErrors = TrivialError 3 (Just (Tokens ('-' :| ""))) (fromList [Label ('d' :| "igit")]) :| [], bundlePosState = PosState {pstateInput = "80,-1", pstateOffset = 0, pstateSourcePos = SourcePos {sourceName = "(unknown)", sourceLine = Pos 1, sourceColumn = Pos 1}, pstateTabWidth = Pos 8, pstateLinePrefix = ""}} (use -h to see usage)
*** balance assertion error shows ugly transaction **** balance assertion error shows ugly transaction
hledger: balance assertion error in "/Users/simon/notes/2018.journal" (line 4949, column 54): hledger: balance assertion error in "/Users/simon/notes/2018.journal" (line 4949, column 54):
in transaction: in transaction:
Transaction {tindex = 976, tsourcepos = JournalSourcePos "/Users/simon/notes/2018.journal" (4948,4950), tdate = 2018-09-01, tdate2 = Nothing, tstatus = *, tcode = "5VN72122C99690620", tdescription = "add funds to paypal", tcomment = "for:, time:06:53:51, type:Bank Deposit to PP Account , status:Pending, balance:6.99, gross:6.99, fee:0.00\n", ttags = [("for",""),("time","06:53:51"),("type","Bank Deposit to PP Account"),("status","Pending"),("balance","6.99"),("gross","6.99"),("fee","0.00")], tpostings = [PostingPP {pdate="Nothing", pdate2="Nothing", pstatus="", paccount="assets:personal:online:paypal", pamount=Mixed [Amount {acommodity = "$", aquantity = 6.99, aprice = NoPrice, astyle = AmountStylePP "L False 2 Just '.' Nothing..", amultiplier = False}], pcomment="", ptype=RegularPosting, ptags=[], pbalanceassertion=Just (Amount {acommodity = "$", aquantity = 6.99, aprice = NoPrice, astyle = AmountStylePP "L False 2 Just '.' Nothing..", amultiplier = False},GenericSourcePos "/Users/simon/notes/2018.journal" 4949 54), ptransaction=Just "<txn>", porigin=Nothing},PostingPP {pdate="Nothing", pdate2="Nothing", pstatus="", paccount="assets:personal:bank:wf:checking", pamount=Mixed [Amount {acommodity = "$", aquantity = -6.99, aprice = NoPrice, astyle = AmountStylePP "L False 2 Just '.' Nothing..", amultiplier = False}], pcomment="", ptype=RegularPosting, ptags=[], pbalanceassertion=Nothing, ptransaction=Just "<txn>", porigin=Nothing}], tpreceding_comment_lines = ""} Transaction {tindex = 976, tsourcepos = JournalSourcePos "/Users/simon/notes/2018.journal" (4948,4950), tdate = 2018-09-01, tdate2 = Nothing, tstatus = *, tcode = "5VN72122C99690620", tdescription = "add funds to paypal", tcomment = "for:, time:06:53:51, type:Bank Deposit to PP Account , status:Pending, balance:6.99, gross:6.99, fee:0.00\n", ttags = [("for",""),("time","06:53:51"),("type","Bank Deposit to PP Account"),("status","Pending"),("balance","6.99"),("gross","6.99"),("fee","0.00")], tpostings = [PostingPP {pdate="Nothing", pdate2="Nothing", pstatus="", paccount="assets:personal:online:paypal", pamount=Mixed [Amount {acommodity = "$", aquantity = 6.99, aprice = NoPrice, astyle = AmountStylePP "L False 2 Just '.' Nothing..", amultiplier = False}], pcomment="", ptype=RegularPosting, ptags=[], pbalanceassertion=Just (Amount {acommodity = "$", aquantity = 6.99, aprice = NoPrice, astyle = AmountStylePP "L False 2 Just '.' Nothing..", amultiplier = False},GenericSourcePos "/Users/simon/notes/2018.journal" 4949 54), ptransaction=Just "<txn>", porigin=Nothing},PostingPP {pdate="Nothing", pdate2="Nothing", pstatus="", paccount="assets:personal:bank:wf:checking", pamount=Mixed [Amount {acommodity = "$", aquantity = -6.99, aprice = NoPrice, astyle = AmountStylePP "L False 2 Just '.' Nothing..", amultiplier = False}], pcomment="", ptype=RegularPosting, ptags=[], pbalanceassertion=Nothing, ptransaction=Just "<txn>", porigin=Nothing}], tpreceding_comment_lines = ""}
@ -125,38 +127,38 @@ account: assets:personal:online:paypal
commodity: $ commodity: $
calculated: $-93.01 calculated: $-93.01
asserted: $6.99 (difference: +$100.00) asserted: $6.99 (difference: +$100.00)
*** color support like stack's (still a few things remaining) **** color support like stack's (still a few things remaining)
**** http://no-color.org/ color should not be added by default if the `NO_COLOR` environment variable is present. ***** http://no-color.org/ color should not be added by default if the `NO_COLOR` environment variable is present.
**** Existing global option `--color=WHEN` is now also available as a ***** Existing global option `--color=WHEN` is now also available as a
non-project-specific yaml configuration parameter `color:`. non-project-specific yaml configuration parameter `color:`.
**** Adopt the standard proposed at http://no-color.org/, that color should ***** Adopt the standard proposed at http://no-color.org/, that color should
not be not be
added by default if the `NO_COLOR` environment variable is present. added by default if the `NO_COLOR` environment variable is present.
**** New command `stack ls stack-colors` lists the styles and the associated ***** New command `stack ls stack-colors` lists the styles and the associated
'ANSI' 'ANSI'
control character sequences that stack uses to color some of its output. control character sequences that stack uses to color some of its output.
See See
`stack ls stack-colors --help` for more information. `stack ls stack-colors --help` for more information.
**** New global option `--stack-colors=STYLES`, also available as a ***** New global option `--stack-colors=STYLES`, also available as a
non-project-specific yaml configuration parameter, allows a stack user to non-project-specific yaml configuration parameter, allows a stack user to
redefine the default styles that stack uses to color some of its output. redefine the default styles that stack uses to color some of its output.
See See
`stack --help` for more information. `stack --help` for more information.
**** British English spelling of 'color' (colour) accepted as an alias for ***** British English spelling of 'color' (colour) accepted as an alias for
`--color`, `--stack-colors`, `stack ls stack-colors` at the command line `--color`, `--stack-colors`, `stack ls stack-colors` at the command line
and and
for `color:` and `stack-colors:` in yaml configuration files. for `color:` and `stack-colors:` in yaml configuration files.
*** generate commands list more dynamically from command docs **** generate commands list more dynamically from command docs
**** names, aliases, descriptions ***** names, aliases, descriptions
*** inconsistent repeated options behaviour: -b 1/1 -b 2/1 should use the last date & be documented **** inconsistent repeated options behaviour: -b 1/1 -b 2/1 should use the last date & be documented
*** pass -- -h/--help through to tasty **** pass -- -h/--help through to tasty
*** underquoted $ gives "empty list" error **** underquoted $ gives "empty list" error
$ bal --budget ^sm:exp date:jan -M cur:\$ --tree $ bal --budget ^sm:exp date:jan -M cur:\$ --tree
Budget performance in 2019/01: Budget performance in 2019/01:
hledger: Prelude.maximum: empty list hledger: Prelude.maximum: empty list
*** 1275 drop/depth error message followup **** 1275 drop/depth error message followup
Two commands: Two commands:
$ hledger bal --drop '-999999999999999' $ hledger bal --drop '-999999999999999'
@ -175,19 +177,19 @@ hledger: drop's argument '-999999999999999' must be a positive integer less than
hledger: drop's argument '-999999999999999' must between 0 and 2^63 hledger: drop's argument '-999999999999999' must between 0 and 2^63
hledger: drop's argument '-999999999999999' should be 0 <= N < 2^63 hledger: drop's argument '-999999999999999' should be 0 <= N < 2^63
** **
*** do recompile stack script addon if source is newer **** do recompile stack script addon if source is newer
ie, change: ie, change:
$ hledger check-tag-files # compiles if there's no compiled version $ hledger check-tag-files # compiles if there's no compiled version
*** drop abbreviation uniqueness requirement ? **** drop abbreviation uniqueness requirement ?
*** get actions from https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46 **** get actions from https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46
*** group common options as in CliOptions.reportflags **** group common options as in CliOptions.reportflags
*** hledger: "date:monday-" gave a date parse error () **** hledger: "date:monday-" gave a date parse error ()
*** http://neilmitchell.blogspot.com/2020/07/automatic-uis-for-command-lines-with.html **** http://neilmitchell.blogspot.com/2020/07/automatic-uis-for-command-lines-with.html
*** improve error message: **** improve error message:
hledger: balance assignments cannot be used with accounts which are hledger: balance assignments cannot be used with accounts which are
posted to by transaction modifier rules (auto postings). posted to by transaction modifier rules (auto postings).
Please write the posting amount explicitly, or remove the rule. Please write the posting amount explicitly, or remove the rule.
*** red color is bad on powershell navy background **** red color is bad on powershell navy background
``` ```
Guest72 Guest72
Hi, does anybody know how to change the negative value color in powershell. It's drakred and almost not readable on the dark blue background Hi, does anybody know how to change the negative value color in powershell. It's drakred and almost not readable on the dark blue background
@ -196,75 +198,75 @@ not sure, but meanwhile using --color=never could help
Guest72 Guest72
better than dark red ;) better than dark red ;)
``` ```
*** show an extra newline after txt reports, for better display when showing one after another **** show an extra newline after txt reports, for better display when showing one after another
*** show name of reader responsible for a parse error **** show name of reader responsible for a parse error
*** ugly --alias parse error **** ugly --alias parse error
$ bal --alias a $ bal --alias a
hledger: parse error at ParseErrorBundle {bundleErrors = TrivialError 1 (Just EndOfInput) (fromList [Tokens ('=' :| "")]) :| [], bundlePosState = PosState {pstateInput = "a", pstateOffset = 0, pstateSourcePos = SourcePos {sourceName = "--alias a", sourceLine = Pos 1, sourceColumn = Pos 1}, pstateTabWidth = Pos 8, pstateLinePrefix = ""}} hledger: parse error at ParseErrorBundle {bundleErrors = TrivialError 1 (Just EndOfInput) (fromList [Tokens ('=' :| "")]) :| [], bundlePosState = PosState {pstateInput = "a", pstateOffset = 0, pstateSourcePos = SourcePos {sourceName = "--alias a", sourceLine = Pos 1, sourceColumn = Pos 1}, pstateTabWidth = Pos 8, pstateLinePrefix = ""}}
*** ugly parse error from malformed --width argument **** ugly parse error from malformed --width argument
ghci> :main areg sm.*foo -w 350,50,50 ghci> :main areg sm.*foo -w 350,50,50
Transactions in sm:assets:foo and subaccounts: Transactions in sm:assets:foo and subaccounts:
2020-01-01 *** Exception: could not parse width option: ParseErrorBundle {bundleErrors = TrivialError 6 (Just (Tokens (',' :| ""))) (fromList [Label ('d' :| "igit"),EndOfInput]) :| [], bundlePosState = PosState {pstateInput = "350,50,50", pstateOffset = 0, pstateSourcePos = SourcePos {sourceName = "(unknown)", sourceLine = Pos 1, sourceColumn = Pos 1}, pstateTabWidth = Pos 8, pstateLinePrefix = ""}} (use -h to see usage) 2020-01-01 *** Exception: could not parse width option: ParseErrorBundle {bundleErrors = TrivialError 6 (Just (Tokens (',' :| ""))) (fromList [Label ('d' :| "igit"),EndOfInput]) :| [], bundlePosState = PosState {pstateInput = "350,50,50", pstateOffset = 0, pstateSourcePos = SourcePos {sourceName = "(unknown)", sourceLine = Pos 1, sourceColumn = Pos 1}, pstateTabWidth = Pos 8, pstateLinePrefix = ""}} (use -h to see usage)
*** non-empty standard input activates -f- if there is no explicit -f ? **** non-empty standard input activates -f- if there is no explicit -f ?
*** --invert should be supported by all commands **** --invert should be supported by all commands
*** --positive flips signs of normally negative accounts (liabilities, revenues, equity) **** --positive flips signs of normally negative accounts (liabilities, revenues, equity)
so eg both revenues and expenses sections of income statement are positive so eg both revenues and expenses sections of income statement are positive
*** --pivot should work with all hledger tools (ui, web, api..) **** --pivot should work with all hledger tools (ui, web, api..)
*** warn about missing command rather than "unknown flag" **** warn about missing command rather than "unknown flag"
~$ hledger-0.27.1 -f src/hledger/data/sample.journal -D date:2008/01 ~$ hledger-0.27.1 -f src/hledger/data/sample.journal -D date:2008/01
hledger-0.27.1: Unknown flag: -D hledger-0.27.1: Unknown flag: -D
*** balance assertion error improvements **** balance assertion error improvements
**** show assertions in transaction ***** show assertions in transaction
2016/04/01 * refill negative budget envelopes (personal) 2016/04/01 * refill negative budget envelopes (personal)
[assets:personal:bank:wf:checking:month:gifts] $69.56 = 0 [assets:personal:bank:wf:checking:month:gifts] $69.56 = 0
[assets:personal:bank:wf:checking:month:food] $97.58 = 0 [assets:personal:bank:wf:checking:month:food] $97.58 = 0
[assets:personal:bank:wf:checking:month:personal care] $80.00 = $1 [assets:personal:bank:wf:checking:month:personal care] $80.00 = $1
[assets:personal:bank:wf:checking:available] $-247.14 [assets:personal:bank:wf:checking:available] $-247.14
**** show line/column number of assertion ***** show line/column number of assertion
**** show indication inline ***** show indication inline
2016/04/01 * refill negative budget envelopes (personal) 2016/04/01 * refill negative budget envelopes (personal)
[assets:personal:bank:wf:checking:month:gifts] $69.56 = 0 [assets:personal:bank:wf:checking:month:gifts] $69.56 = 0
[assets:personal:bank:wf:checking:month:food] $97.58 = 0 <- failed, calculated: $7.12 (difference: +$7.12) [assets:personal:bank:wf:checking:month:food] $97.58 = 0 <- failed, calculated: $7.12 (difference: +$7.12)
[assets:personal:bank:wf:checking:month:personal care] $80.00 = $1 [assets:personal:bank:wf:checking:month:personal care] $80.00 = $1
[assets:personal:bank:wf:checking:available] $-247.14 [assets:personal:bank:wf:checking:available] $-247.14
*** consistent/more headings for options **** consistent/more headings for options
*** don't immediately convert auto-balancing amounts to the price's commodity **** don't immediately convert auto-balancing amounts to the price's commodity
**** discuss on #ledger ***** discuss on #ledger
**** example ***** example
1/1 1/1
a E4 @ $1 a E4 @ $1
b ; <- should fill in -E4 @ $1 instead of -$4 b ; <- should fill in -E4 @ $1 instead of -$4
*** ignore inapplicable common flags when harmless, eg --width **** ignore inapplicable common flags when harmless, eg --width
*** --help, --info after +RTS and/or -- should be passed through **** --help, --info after +RTS and/or -- should be passed through
*** --unreal opposite of --real **** --unreal opposite of --real
*** --pivot cleanups **** --pivot cleanups
https://github.com/simonmichael/hledger/pull/323#issuecomment-185631456 https://github.com/simonmichael/hledger/pull/323#issuecomment-185631456
**** add --pivot to add-on option lists ***** add --pivot to add-on option lists
**** move pivot example to its own section ***** move pivot example to its own section
*** reports should indicate whether each item has hidden subitems (and possibly include them in the report) **** reports should indicate whether each item has hidden subitems (and possibly include them in the report)
*** show abnormal-sign balances in red (rather than negative numbers) **** show abnormal-sign balances in red (rather than negative numbers)
*** split up output formats by command **** split up output formats by command
*** html reports **** html reports
**** add html output to other reports ***** add html output to other reports
***** register ****** register
***** postings ****** postings
**** add --view to open browser ? ***** add --view to open browser ?
**** add detailed mode or report generating register for each cell ***** add detailed mode or report generating register for each cell
** compat *** compat
*** compat: support reading with beancount2ledger when in PATH **** compat: support reading with beancount2ledger when in PATH
*** compat: support reading with ledger2beancount & beancount2ledger when in PATH **** compat: support reading with ledger2beancount & beancount2ledger when in PATH
** doc *** doc
*** doc: quickstart: update download instructions, make maintainable **** doc: quickstart: update download instructions, make maintainable
*** CONTRIBUTING: a github API script to generate the open issues table with issue counts **** CONTRIBUTING: a github API script to generate the open issues table with issue counts
*** automate CREDITS updating **** automate CREDITS updating
**** ./Shake credits ***** ./Shake credits
**** github commit links ***** github commit links
**** github issue links ***** github issue links
**** github images ***** github images
*** a nice HISTORY page (higher level view of commits) **** a nice HISTORY page (higher level view of commits)
**** automate ***** automate
***** ./Shake history ****** ./Shake history
*** doc: house mortgage **** doc: house mortgage
Chris Leyon, Ledger list 2021: Chris Leyon, Ledger list 2021:
The entry for my house purchase looks like this: The entry for my house purchase looks like this:
@ -304,57 +306,57 @@ A monthly mortgage payment might look like this:
This set up has tracked my mortgage payments and balances for several years, down to the penny. This set up has tracked my mortgage payments and balances for several years, down to the penny.
*** hledger manual: toc: why are OUTPUT, PIVOTING not clickable ? **** hledger manual: toc: why are OUTPUT, PIVOTING not clickable ?
** entry *** entry
*** entry command **** entry command
**** a convenient non-interactive version of hledger add; and an extension point for data entry validations/automations ***** a convenient non-interactive version of hledger add; and an extension point for data entry validations/automations
hledger entry [ONELINEENTRY] hledger entry [ONELINEENTRY]
**** ONELINEENTRY is a single argument, in quotes: a journal entry using double-space instead of newlines ***** ONELINEENTRY is a single argument, in quotes: a journal entry using double-space instead of newlines
hledger entry '2021-01-01 * (123) farmers market expenses:food $10 assets:checking ; date:1/3' hledger entry '2021-01-01 * (123) farmers market expenses:food $10 assets:checking ; date:1/3'
**** or with no argument, each line from standard input generates a journal entry ***** or with no argument, each line from standard input generates a journal entry
**** with -a|--add, appends to the journal, like add/import ***** with -a|--add, appends to the journal, like add/import
**** if entry does not begin with a date, uses today's date ***** if entry does not begin with a date, uses today's date
hledger entry 'farmers market expenses:food $10 assets:cash' hledger entry 'farmers market expenses:food $10 assets:cash'
**** if any other required parts are omitted, they are filled from similar past transactions, like add ***** if any other required parts are omitted, they are filled from similar past transactions, like add
These will match the txn above, and make the postings shown: These will match the txn above, and make the postings shown:
hledger entry 'farmers' # expenses:food $10, assets:cash -$10 hledger entry 'farmers' # expenses:food $10, assets:cash -$10
hledger entry 'farmers expenses:food $11' # expenses:food $11, assets:cash -$11 hledger entry 'farmers expenses:food $11' # expenses:food $11, assets:cash -$11
hledger entry 'farmers $11' # same hledger entry 'farmers $11' # same
hledger entry 'farmers 11' # same hledger entry 'farmers 11' # same
hledger entry 'farmers expenses:food 6 expenses:snacks 5' # expenses:food $6, expenses:snacks $5, assets:cash -$11 hledger entry 'farmers expenses:food 6 expenses:snacks 5' # expenses:food $6, expenses:snacks $5, assets:cash -$11
**** leaf names of known accounts will be expanded ***** leaf names of known accounts will be expanded
hledger entry 'farmers food 6 snacks 5' # same hledger entry 'farmers food 6 snacks 5' # same
**** missing commodity symbol could also be inferred from source account's balance ***** missing commodity symbol could also be inferred from source account's balance
**** or with a flag, missing required parts will give an error ***** or with a flag, missing required parts will give an error
***** --complete, --only, --standalone, --no-infer, --no-past, --no-journal ****** --complete, --only, --standalone, --no-infer, --no-past, --no-journal
**** entry can run validation checks, including fancy ones like "asset accounts may not go negative" ***** entry can run validation checks, including fancy ones like "asset accounts may not go negative"
** ops *** ops
*** new hledger.org vps **** new hledger.org vps
** process *** process
*** refine RELEASING doc/process **** refine RELEASING doc/process
*** automate changelog finalisation **** automate changelog finalisation
*** automate release note generation **** automate release note generation
*** ****
** reports *** reports
*** reports: allow -c '0.%' to set style of -% **** reports: allow -c '0.%' to set style of -%
*** reports: relax the "whole subperiods" rule **** reports: relax the "whole subperiods" rule
**** when there's only one ? ***** when there's only one ?
bal -YH -e tomorrow would be titled with tomorrow's date instead of 12-31 bal -YH -e tomorrow would be titled with tomorrow's date instead of 12-31
**** when there's multiple, but no transactions before the begin date or after the end date ? ***** when there's multiple, but no transactions before the begin date or after the end date ?
** timeclock *** timeclock
*** timeclock: improve error message **** timeclock: improve error message
hledger: clock-out time less than clock-in time in: hledger: clock-out time less than clock-in time in:
2021-09-17 * 12:00-06:00 2021-09-17 * 12:00-06:00
(no-electronics) -6.00h (no-electronics) -6.00h
*** timeclock: ugly parse error **** timeclock: ugly parse error
hledger: line 6: expected timeclock code o but got i hledger: line 6: expected timeclock code o but got i
CallStack (from HasCallStack): CallStack (from HasCallStack):
error, called at ./Hledger/Data/Timeclock.hs:85:32 in hledger-lib-1.22.99-HCWXy7WanhBI3o1AfvBpXy:Hledger.Data.Timeclock error, called at ./Hledger/Data/Timeclock.hs:85:32 in hledger-lib-1.22.99-HCWXy7WanhBI3o1AfvBpXy:Hledger.Data.Timeclock
** timedot *** timedot
*** timedot: more flexible parsing **** timedot: more flexible parsing
**** ignore all preamble lines (before first date line) ***** ignore all preamble lines (before first date line)
**** ignore all amountless lines ***** ignore all amountless lines
**** ignore org list bullets/checkboxes ***** ignore org list bullets/checkboxes
**** check timedotstrict: disables ignoring preamble/amountless lines ***** check timedotstrict: disables ignoring preamble/amountless lines
*** timedot: --alias doesn't work with timeclock, timedot ? **** timedot: --alias doesn't work with timeclock, timedot ?