diff --git a/hledger/doc/addons.m4.md b/hledger/doc/addons.m4.md new file mode 100644 index 000000000..c3ce15c2c --- /dev/null +++ b/hledger/doc/addons.m4.md @@ -0,0 +1,127 @@ +# ADD-ON COMMANDS + +Add-on commands are executables in your PATH whose name starts with +`hledger-` and ends with any of these file extensions: +none, `.hs`,`.lhs`,`.pl`,`.py`,`.rb`,`.rkt`,`.sh`,`.bat`,`.com`,`.exe`. +Also, an add-on's name may not be the same as any built-in command or alias. + +hledger will detect these and include them in the command list and let +you invoke them with `hledger ADDONCMD`. However there are some limitations: + +- Options appearing before ADDONCMD will be visible only to hledger and will not be passed to the add-on. + Eg: `hledger -h web` shows hledger's usage, `hledger web -h` shows hledger-web's usage. +- Options understood only by the add-on must go after a `--` argument to hide them from hledger, which would otherwise reject them. + Eg: `hledger web -- --server`. + +Sometimes it may be more convenient to just run the add-on directly, eg: `hledger-web --server`. + +Add-ons which are written in haskell can take advantage of the hledger-lib library +for journal parsing, reporting, command-line options, etc. + +Here are some hledger add-ons available from Hackage, +the [extra](https://github.com/simonmichael/hledger/tree/master/extra) directory in the hledger source, +or elsewhere: + +## Official add-ons + +These are maintained and released along with hledger. + +### api +Web API server, see [hledger-api](hledger-api.html). + +### ui +Curses-style interface, see [hledger-ui](hledger-ui.html). + +### web +Web interface, see [hledger-web](hledger-web.html). + +## Third party add-ons + +These are maintained separately from hledger, and usually updated shortly after a hledger release. + +### diff + +[hledger-diff](http://hackage.haskell.org/package/hledger-diff) +Shows differences in an account's transactions between one journal file and another. + +### iadd + +[hledger-iadd](http://hackage.haskell.org/package/hledger-iadd) +A curses-style, more interactive replacement for the [add command](/hledger.html#add). + +### interest + +[hledger-interest](http://hackage.haskell.org/package/hledger-interest) +Generates interest transactions for an account according to various schemes. + +### irr +[hledger-irr](http://hackage.haskell.org/package/hledger-irr) +Calculates the internal rate of return of an investment account. + +## Experimental add-ons + +These add-ons are available in source form +[in the hledger repo](https://github.com/simonmichael/hledger/tree/master/bin). +Installing them is [pretty easy](/download.html#d). +Reading and copying these is a good way to start making your own add-ons. +These may be less mature and documented than built-in commands. + +### autosync + +[hledger-autosync](https://github.com/simonmichael/hledger/blob/master/bin/hledger-autosync) +is a symbolic link for easily running +[ledger-autosync](https://pypi.python.org/pypi/ledger-autosync), if installed. +ledger-autosync does deduplicating conversion of OFX data and some CSV formats, +and can also download the data +[if your bank offers OFX Direct Connect](http://wiki.gnucash.org/wiki/OFX_Direct_Connect_Bank_Settings). + +### budget + +[hledger-budget.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-budget.hs#L10) +adds more budget-tracking features to hledger. + +### chart + +[hledger-chart.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-chart.hs#L47) +is an old pie chart generator, in need of some love. + +### check + +[hledger-check.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-check.hs) +checks more powerful account balance assertions. + +### check-dates + +[hledger-check-dates.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-check-dates.hs#L15) +checks that journal entries are ordered by date. + +### dupes + +[hledger-dupes.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-dupes.hs#L21) +checks for account names sharing the same leaf name. + +### equity + +[hledger-equity.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-equity.hs#L17) +prints balance-resetting transactions, useful for bringing account balances across file boundaries. + +### prices + +[hledger-prices.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-prices.hs) +prints all prices from the journal. + +### print-unique + +[hledger-print-unique.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-print-unique.hs#L15) +prints transactions which do not reuse an already-seen description. + +### register-match + +[hledger-register-match.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-register-match.hs#L23) +helps ledger-autosync detect already-seen transactions when importing. + +### rewrite + +[hledger-rewrite.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-rewrite.hs#L28) +Adds one or more custom postings to matched transactions. + diff --git a/hledger/doc/commands.m4.md b/hledger/doc/commands.m4.md index 7687a440b..6eabd3459 100644 --- a/hledger/doc/commands.m4.md +++ b/hledger/doc/commands.m4.md @@ -580,110 +580,4 @@ With a regular expression argument, it selects only tests with matching names. It's mainly used in development, but it's also nice to be able to check your hledger executable for smoke at any time. -# ADD-ON COMMANDS - -Add-on commands are executables in your PATH whose name starts with -`hledger-` and ends with any of these file extensions: -none, `.hs`,`.lhs`,`.pl`,`.py`,`.rb`,`.rkt`,`.sh`,`.bat`,`.com`,`.exe`. -Also, an add-on's name may not be the same as any built-in command or alias. - -hledger will detect these and include them in the command list and let -you invoke them with `hledger ADDONCMD`. However there are some limitations: - -- Options appearing before ADDONCMD will be visible only to hledger and will not be passed to the add-on. - Eg: `hledger -h web` shows hledger's usage, `hledger web -h` shows hledger-web's usage. -- Options understood only by the add-on must go after a `--` argument to hide them from hledger, which would otherwise reject them. - Eg: `hledger web -- --server`. - -Sometimes it may be more convenient to just run the add-on directly, eg: `hledger-web --server`. - -Add-ons which are written in haskell can take advantage of the hledger-lib library -for journal parsing, reporting, command-line options, etc. - -Here are some hledger add-ons available from Hackage, -the [extra](https://github.com/simonmichael/hledger/tree/master/extra) directory in the hledger source, -or elsewhere: - -## Official add-ons - -These are maintained and released along with hledger. - -### api -Web API server, see [hledger-api](hledger-api.html). - -### ui -Curses-style interface, see [hledger-ui](hledger-ui.html). - -### web -Web interface, see [hledger-web](hledger-web.html). - -## Third party add-ons - -These are maintained separately from hledger, and usually updated shortly after a hledger release. - -### diff - -[hledger-diff](http://hackage.haskell.org/package/hledger-diff) -Shows differences in an account's transactions between one journal file and another. - -### iadd - -[hledger-iadd](http://hackage.haskell.org/package/hledger-iadd) -A curses-style, more interactive replacement for the [add command](/hledger.html#add). - -### interest - -[hledger-interest](http://hackage.haskell.org/package/hledger-interest) -Generates interest transactions for an account according to various schemes. - -### irr -[hledger-irr](http://hackage.haskell.org/package/hledger-irr) -Calculates the internal rate of return of an investment account. - -## Experimental add-ons - -These add-ons are available in source form -[in the hledger repo](https://github.com/simonmichael/hledger/tree/master/bin). -Installing them is [pretty easy](/download.html#d). -Reading and copying these is a good way to start making your own add-ons. - -### budget - -[hledger-budget.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-budget.hs#L10) -A tool adding more budget-tracking features to hledger. - -### chart - -[hledger-chart.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-chart.hs#L47) -An old pie chart generator, in need of some love. - -### check-dates - -[hledger-check-dates.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-check-dates.hs#L15) -Checks that journal entries are ordered by date. - -### dupes - -[hledger-dupes.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-dupes.hs#L21) -Checks for account names sharing the same leaf name. - -### equity - -[hledger-equity.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-equity.hs#L17) -Prints balance-resetting transactions useful for bringing account balances across file boundaries. - -### print-unique - -[hledger-print-unique.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-print-unique.hs#L15) -Prints transactions which do not reuse an already-seen description. - -### register-match - -[hledger-register-match.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-register-match.hs#L23) -Helps ledger-autosync recognise already-imported transactions. - -### rewrite - -[hledger-rewrite.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-rewrite.hs#L28) -Adds one or more custom postings to matched transactions. - +_include_(addons.m4.md) diff --git a/hledger/doc/hledger.1 b/hledger/doc/hledger.1 index c1d33bc3e..ec77dcea8 100644 --- a/hledger/doc/hledger.1 +++ b/hledger/doc/hledger.1 @@ -2243,6 +2243,8 @@ These add\-ons are available in source form in the hledger repo. Installing them is pretty easy. Reading and copying these is a good way to start making your own add\-ons. +These are typically more experimental and less documented than built\-in +commands. .SS budget .PP hledger\-budget.hs A tool adding more budget\-tracking features to @@ -2250,6 +2252,9 @@ hledger. .SS chart .PP hledger\-chart.hs An old pie chart generator, in need of some love. +.SS check +.PP +hledger\-check.hs More powerful account balance assertions. .SS check\-dates .PP hledger\-check\-dates.hs Checks that journal entries are ordered by @@ -2261,6 +2266,10 @@ hledger\-dupes.hs Checks for account names sharing the same leaf name. .PP hledger\-equity.hs Prints balance\-resetting transactions useful for bringing account balances across file boundaries. +.SS prices +.PP +hledger\-prices.hs Prints transactions which do not reuse an +already\-seen description. .SS print\-unique .PP hledger\-print\-unique.hs Prints transactions which do not reuse an diff --git a/hledger/doc/hledger.1.info b/hledger/doc/hledger.1.info index 947775bec..844c2d5f3 100644 --- a/hledger/doc/hledger.1.info +++ b/hledger/doc/hledger.1.info @@ -1945,15 +1945,18 @@ File: hledger.1.info, Node: Experimental add-ons, Prev: Third party add-ons, These add-ons are available in source form in the hledger repo. Installing them is pretty easy. Reading and copying these is a good way -to start making your own add-ons. +to start making your own add-ons. These are typically more experimental +and less documented than built-in commands. * Menu: * budget:: * chart:: +* check:: * check-dates:: * dupes:: * equity:: +* prices:: * print-unique:: * register-match:: * rewrite:: @@ -1968,7 +1971,7 @@ hledger-budget.hs A tool adding more budget-tracking features to hledger.  -File: hledger.1.info, Node: chart, Next: check-dates, Prev: budget, Up: Experimental add-ons +File: hledger.1.info, Node: chart, Next: check, Prev: budget, Up: Experimental add-ons 5.3.2 chart ----------- @@ -1976,9 +1979,17 @@ File: hledger.1.info, Node: chart, Next: check-dates, Prev: budget, Up: Expe hledger-chart.hs An old pie chart generator, in need of some love.  -File: hledger.1.info, Node: check-dates, Next: dupes, Prev: chart, Up: Experimental add-ons +File: hledger.1.info, Node: check, Next: check-dates, Prev: chart, Up: Experimental add-ons -5.3.3 check-dates +5.3.3 check +----------- + +hledger-check.hs More powerful account balance assertions. + + +File: hledger.1.info, Node: check-dates, Next: dupes, Prev: check, Up: Experimental add-ons + +5.3.4 check-dates ----------------- hledger-check-dates.hs Checks that journal entries are ordered by date. @@ -1986,24 +1997,33 @@ hledger-check-dates.hs Checks that journal entries are ordered by date.  File: hledger.1.info, Node: dupes, Next: equity, Prev: check-dates, Up: Experimental add-ons -5.3.4 dupes +5.3.5 dupes ----------- hledger-dupes.hs Checks for account names sharing the same leaf name.  -File: hledger.1.info, Node: equity, Next: print-unique, Prev: dupes, Up: Experimental add-ons +File: hledger.1.info, Node: equity, Next: prices, Prev: dupes, Up: Experimental add-ons -5.3.5 equity +5.3.6 equity ------------ hledger-equity.hs Prints balance-resetting transactions useful for bringing account balances across file boundaries.  -File: hledger.1.info, Node: print-unique, Next: register-match, Prev: equity, Up: Experimental add-ons +File: hledger.1.info, Node: prices, Next: print-unique, Prev: equity, Up: Experimental add-ons -5.3.6 print-unique +5.3.7 prices +------------ + +hledger-prices.hs Prints transactions which do not reuse an already-seen +description. + + +File: hledger.1.info, Node: print-unique, Next: register-match, Prev: prices, Up: Experimental add-ons + +5.3.8 print-unique ------------------ hledger-print-unique.hs Prints transactions which do not reuse an @@ -2012,7 +2032,7 @@ already-seen description.  File: hledger.1.info, Node: register-match, Next: rewrite, Prev: print-unique, Up: Experimental add-ons -5.3.7 register-match +5.3.9 register-match -------------------- hledger-register-match.hs Helps ledger-autosync recognise @@ -2021,8 +2041,8 @@ already-imported transactions.  File: hledger.1.info, Node: rewrite, Prev: register-match, Up: Experimental add-ons -5.3.8 rewrite -------------- +5.3.10 rewrite +-------------- hledger-rewrite.hs Adds one or more custom postings to matched transactions. @@ -2230,27 +2250,31 @@ Node: irr61732 Ref: #irr61832 Node: Experimental add-ons61910 Ref: #experimental-add-ons62064 -Node: budget62351 -Ref: #budget62458 -Node: chart62533 -Ref: #chart62658 -Node: check-dates62726 -Ref: #check-dates62862 -Node: dupes62935 -Ref: #dupes63060 -Node: equity63131 -Ref: #equity63259 -Node: print-unique63377 -Ref: #print-unique63526 -Node: register-match63619 -Ref: #register-match63773 -Node: rewrite63863 -Ref: #rewrite63982 -Node: TROUBLESHOOTING64060 -Ref: #troubleshooting64179 -Node: Run-time problems64233 -Ref: #run-time-problems64376 -Node: Known limitations66320 -Ref: #known-limitations66463 +Node: budget62454 +Ref: #budget62561 +Node: chart62636 +Ref: #chart62755 +Node: check62823 +Ref: #check62947 +Node: check-dates63007 +Ref: #check-dates63143 +Node: dupes63216 +Ref: #dupes63341 +Node: equity63412 +Ref: #equity63534 +Node: prices63652 +Ref: #prices63781 +Node: print-unique63868 +Ref: #print-unique64017 +Node: register-match64110 +Ref: #register-match64264 +Node: rewrite64354 +Ref: #rewrite64475 +Node: TROUBLESHOOTING64553 +Ref: #troubleshooting64672 +Node: Run-time problems64726 +Ref: #run-time-problems64869 +Node: Known limitations66813 +Ref: #known-limitations66956  End Tag Table diff --git a/hledger/doc/hledger.1.m4.md b/hledger/doc/hledger.1.m4.md index 9112b8033..b1cd23ebb 100644 --- a/hledger/doc/hledger.1.m4.md +++ b/hledger/doc/hledger.1.m4.md @@ -10,6 +10,7 @@ m4_dnl options.m4.md m4_dnl queries.m4.md m4_dnl commands.m4.md m4_dnl balance.m4.md +m4_dnl addons.m4.md m4_dnl troubleshooting.m4.md _web_({{ diff --git a/hledger/doc/hledger.1.txt b/hledger/doc/hledger.1.txt index 619289ef3..f36d6f3cb 100644 --- a/hledger/doc/hledger.1.txt +++ b/hledger/doc/hledger.1.txt @@ -1601,7 +1601,8 @@ ADD-ON COMMANDS Experimental add-ons These add-ons are available in source form in the hledger repo. Installing them is pretty easy. Reading and copying these is a good - way to start making your own add-ons. + way to start making your own add-ons. These are typically more experi- + mental and less documented than built-in commands. budget hledger-budget.hs A tool adding more budget-tracking features to @@ -1610,6 +1611,9 @@ ADD-ON COMMANDS chart hledger-chart.hs An old pie chart generator, in need of some love. + check + hledger-check.hs More powerful account balance assertions. + check-dates hledger-check-dates.hs Checks that journal entries are ordered by date. @@ -1620,6 +1624,10 @@ ADD-ON COMMANDS hledger-equity.hs Prints balance-resetting transactions useful for bringing account balances across file boundaries. + prices + hledger-prices.hs Prints transactions which do not reuse an + already-seen description. + print-unique hledger-print-unique.hs Prints transactions which do not reuse an already-seen description.