Commit Graph

3083 Commits

Author SHA1 Message Date
Simon Michael
029b59093b feat: csv: rules files can be read directly; data file can be specified
CSV rules files can now be read directly, eg you have the option of
writing `hledger -f foo.csv.rules CMD`. By default this will read data
from foo.csv in the same directory.  But you can also specify a
different data file with a new `source FILE` rule. This has some
convenience features:

- If the data file does not exist, it is treated as empty, not an
  error.

- If FILE is a relative path, it is relative to the rules file's
  directory. If it is just a file name with no path, it is relative
  to ~/Downloads/.

- If FILE is a glob pattern, the most recently modified matched file
  is used.

This helps remove some of the busywork of managing CSV downloads.
Most of your financial institutions's default CSV filenames are
different and can be recognised by a glob pattern.  So you can put a
rule like `source Checking1*.csv` in foo-checking.csv.rules,
periodically download CSV from Foo's website accepting your browser's
defaults, and then run `hledger import checking.csv.rules` to import
any new transactions. The next time, if you have done no cleanup, your
browser will probably save it as something like Checking1-2.csv, and
hledger will still see that because of the * wild card. You can choose
whether to delete CSVs after import, or keep them for a while as
temporary backups, or archive them somewhere.
2023-05-19 09:09:21 -10:00
Simon Michael
71ef6ef478 fix: cli: commands list now shows help for hledger-lots if installed 2023-05-18 07:19:36 -10:00
Simon Michael
4c3046dea8 fix: cli: the commands list no longer lists non-installed addons (fix #2034)
And internally has been rewritten for clarity.
2023-05-18 07:19:36 -10:00
Simon Michael
ae4f58beb7 lib: Hledger.Cli.Commands: findCommand -> findBuiltinCommand 2023-05-18 07:13:58 -10:00
Simon Michael
577e4b6347 fix!: csv: skip now counts non-blank lines more robustly (fix #2024)
Inner empty lines were not being skipped automatically, contrary to
docs. Now all empty lines are skipped automatically, and the `skip`
rule is needed only for non-empty lines, as intended.

This may be a breaking change: it's possible that the `skip` count
might need to be adjusted in some CSV rules files.
2023-05-11 17:06:12 -10:00
Simon Michael
4a55a515ba ;doc: journal: change wording wrt ledger compatibility (fix (#1306) 2023-05-10 02:18:17 -10:00
Simon Michael
57c0205107 imp: cli: make some reporting flags toggle on/off when repeated
This can be useful to override defaults in scripts.
These flags will now toggle when repeated on the command line:

--invert
--transpose
-r/--related
-%/--percent
-E/--empty
-N/--no-total
-T/--row-total
-A/--average
-S/--sort-amount
2023-05-09 11:10:12 -10:00
Simon Michael
2d03148d7f dev: lib: drop unused pragma 2023-05-09 10:03:15 -10:00
Simon Michael
147d49c66c dev: cln: drop Hledger.Data.RawOptions.inRawOpts 2023-05-09 10:02:24 -10:00
Simon Michael
a1da8f2899 dev: fix a date-sensitive test (#2032) 2023-05-09 09:58:11 -10:00
Simon Michael
75a6c1e510 fix: "every 29th/30th/31st day of month" dates with a start date (fix #2032)
Since hledger 1.25, "every Nth day of month" period rules with N > 28
could be off by a couple of days if given certain forecast start dates.
Eg `~ every 31st day of month` with `--forecast='2023-03-30..'`.
2023-05-03 19:18:35 -10:00
Simon Michael
bbecd611f1 imp: timedot: make one multi-posting transaction per date line (#1754)
Descriptions and comments are now more straightforward and similar to
journal format.
2023-05-03 19:18:35 -10:00
Simon Michael
50349f81f7 imp: timeclock: support comments and tags (fix #1220)
Breaking change: previously timeclock descriptions could contain
semicolons. Now a semicolon in the description will end it and
start a comment (which may contain tags).
2023-05-03 00:05:11 -10:00
Simon Michael
f7f86a709b imp: timedot: fix day description/comment parsing; parse posting comments/tags 2023-05-02 17:03:03 -10:00
Simon Michael
1b19f3d330 dev: timedot: clarify, cleanup 2023-05-02 17:02:30 -10:00
Simon Michael
c026e74611 ;doc: auto postings: note _tag:generated trick 2023-05-02 15:52:53 -10:00
Simon Michael
a771c8fc19 imp: revert 2b5194238 imp: generate auto postings on forecast transactions by default (#2027)
I found at least one user for whom this would be a breaking change
(they generate forecast txns, and have auto posting rules, but don't
want the latter applied to the former). I guess it's better to keep
things as they were for now: if you need auto postings on your
forecast txns you must use two flags, --forecast --auto.
2023-04-30 08:08:26 -10:00
Simon Michael
4885b3ad32 ;doc: cli: improve Generating data; document --verbose-tags 2023-04-29 18:58:30 -10:00
Simon Michael
7f713f6a44 imp: Generated/modified txns/postings are now tagged only with --verbose-tags 2023-04-29 18:25:11 -10:00
Simon Michael
ca42b0aaca imp: cli: clean up some flags' help and sync docs 2023-04-29 18:11:53 -10:00
Simon Michael
2b5194238b imp: generate auto postings on forecast transactions by default 2023-04-29 16:00:14 -10:00
Simon Michael
9ebcd9ec28 fix: process postings in date order when inferring balance assignments (fix #2025) 2023-04-27 17:15:21 -10:00
Simon Michael
8b3b63b495 ;doc: journal: cheatsheet: fix typo (#1982) 2023-04-25 12:48:39 -10:00
Simon Michael
fe6df964b4 ;doc: bal: try to improve description of budget report differences 2023-04-25 12:39:28 -10:00
Simon Michael
f3be461045 ;doc: 1.29 relnotes: slight edit 2023-04-25 12:38:42 -10:00
Simon Michael
ade9afbcb3 ;doc: forecasting: edits 2023-04-21 14:38:35 -10:00
Simon Michael
bb64bb1961 ;doc: forecasting: edits 2023-04-21 11:18:05 -10:00
Simon Michael
14e6497cf1 ;doc: forecasting: edits 2023-04-21 11:05:27 -10:00
Simon Michael
65fd7e821e ;doc: forecasting: rewrite 2023-04-21 10:41:42 -10:00
Simon Michael
1be06c87c4 feat: bal: A new --count report type counts postings instead of amounts. 2023-04-20 14:36:41 -10:00
Simon Michael
40d10bc8c5 imp: cli: commands list: help for hledger-bar script 2023-04-20 12:58:30 -10:00
Simon Michael
ef79537943 ;doc: small fixes; remove mention of ancient setenv 2023-04-20 12:58:04 -10:00
Simon Michael
fdea2e0bcd ;doc: journal: rewrite Directives section, fix links 2023-04-14 20:20:18 -10:00
Simon Michael
bc64b79574 ;doc: csv: edits 2023-04-12 21:23:12 -10:00
Simon Michael
e491aa2ff4 ;doc: csv: edits 2023-04-12 17:49:58 -10:00
Simon Michael
dc8dba4e67 ;doc: csv: edits 2023-04-12 17:28:46 -10:00
Simon Michael
08c2e3deed ;doc: csv: tweak 2023-04-12 16:13:10 -10:00
Simon Michael
d7b9f4f631 ;doc: csv: clarify amount setting, sign flipping a bit 2023-04-12 16:06:12 -10:00
Simon Michael
996ccb0ea2 ;doc: changes: merge from 1.29.2 branch 2023-04-07 14:26:45 -10:00
Simon Michael
ae23a18f87 ;doc: update changelogs 2023-04-07 11:31:25 -10:00
Simon Michael
c2288f8143 ;doc: update command help 2023-04-07 09:52:31 -10:00
Simon Michael
2bdba319b1 ;doc: update manuals 2023-04-07 09:52:29 -10:00
Simon Michael
9c4b5a26fa imp: ui, web: use a pager to show command line help, like cli 2023-04-06 15:36:08 -10:00
Simon Michael
3e3c3c8355 imp: help: doc: warn about old info on mac (fix #1770) 2023-04-06 15:36:00 -10:00
Simon Michael
1c5dee2339 fix: doc: update manuals; regenerate all info manuals (fix #2023) 2023-04-06 14:13:39 -10:00
Simon Michael
2e58bea809 ;doc: cli: paging: cleanup 2023-04-06 12:24:31 -10:00
Simon Michael
f0157625cb ;doc: close: fix typo 2023-04-06 12:18:00 -10:00
Simon Michael
3387453578 ;doc: cli: add Paging section (#2015) 2023-04-06 11:47:03 -10:00
Simon Michael
1de8600067 imp: cli: try to ensure less (and its more mode) show ANSI (fix #2015)
If you use some other $PAGER, you will have to configure it to show
ANSI yourself (or disable ANSI, eg by setting NO_COLOR=1).
2023-04-06 11:13:00 -10:00
Simon Michael
eb5a8ecc4e doc: cli: improve 1.29 changelog for the close command (#2020) 2023-04-06 11:12:35 -10:00