Simon Michael
c48c41bcd2
dev:timeclock: cleanups
2025-07-18 07:17:45 -07:00
Simon Michael
94f6f6a9a2
;tools: just test: also run doctests
2025-07-17 14:13:09 -07:00
Simon Michael
4a11474fff
imp: include: better glob patterns, errors, debug output, docs [ #2428 ]
...
The `include` directive has had a number of fixes and improvements. It now has
- more detailed documentation
- more thorough error checking, with clearer and more consistent messages, showing the correct problem line
- more debug output, at levels 6 and 7
- more robust and convenient glob patterns:
- glob patterns always ignore the current file
- `**` can now be used without a following slash, to also match the filename. So if previously you wrote `**/*.j`, now you can just write `**.j`.
- glob patterns now always ignore [dot directories](https://en.wikipedia.org/wiki/Hidden_file_and_hidden_directory )
(such as `.git` directories in a source tree).
The last item is a breaking change.
Previously, a pattern like `**/c.j` would find `a/.b/c.j`, even though it shouldn't.
Fixing this required a trade-off: now no glob pattern can find that file, not even a valid one like `*/.b/c.j`.
Only a literal file path with no wildcards (`a/.b/c.j`) will find it.
We assume excluding dot directories is the more common use case.
If this change breaks your existing files, please report it, and either update them or use the `--old-glob` flag for now.
2025-07-17 12:20:09 -07:00
Simon Michael
d5ff7fe454
;doc: include: mention glob pattern's dot limitation and the --old-glob flag
2025-07-17 08:10:34 -07:00
Simon Michael
b7e35f84a2
imp: include: add hidden --old-glob flag to restore old dot behaviour
...
This disables the workaround for Glob#49, allowing glob patterns to
find dot files and traverse dot directories again (sometimes too much).
2025-07-17 08:00:08 -07:00
Simon Michael
01e0c34b85
dev: Hledger.Utils.IO: getFlag helper, like getOpt
2025-07-17 07:51:05 -07:00
Simon Michael
0ea239503c
dev: rename the hidden --timeclock-old flag to --old-timeclock
...
--timeclock-old is still supported as well, for now, even though
this flag is not documented yet (it has appeared in
changelogs/release notes and in issue discussion).
2025-07-17 07:49:39 -07:00
Simon Michael
c74d8bf6fb
doc: include: update docs
2025-07-16 06:52:19 -07:00
Simon Michael
5ec770badd
imp: include: more flexible **; show the correct line in read errors
2025-07-16 06:52:19 -07:00
Simon Michael
b35dcfda28
imp: include: give a clearer error for trying to include a csv file
...
And note that other read errors may be unclear when occurring in included files.
2025-07-16 06:52:19 -07:00
Simon Michael
8215f19baa
dev: include: cleanup
2025-07-16 06:52:19 -07:00
Simon Michael
3741f9f030
fix: include: report read failures with correct line number
2025-07-16 06:52:19 -07:00
Simon Michael
2dcfe22c89
imp: include: report ** without / as an error, for clarity
2025-07-16 06:52:19 -07:00
Simon Michael
460ae28826
imp: include: globs exclude current file; more cleanup
2025-07-16 06:52:19 -07:00
Simon Michael
b4a1add267
imp: include: more robust tests and glob pattern handling
...
This switches from filepattern back to Glob, which is more powerful.
New notes, implementation, workarounds and tests.
2025-07-16 06:52:19 -07:00
Simon Michael
1046f652b1
dev: PrefixedFilePath cleanups
...
And some helpers that weren't needed after all, but maybe in future
2025-07-16 06:52:19 -07:00
Simon Michael
42b9c8b0fb
dev: consolidate/expand include tests
2025-07-14 17:12:24 -07:00
Simon Michael
28f60bcf92
dev: includedirectivep: refactor
2025-07-11 20:34:50 -07:00
Simon Michael
3a03927018
imp: include: show including file path in debug output
2025-07-11 20:12:13 -07:00
Simon Michael
0add2e90db
imp: include: glob patterns always exclude the current file
...
Eg include **/*.journal is less likely no complain
2025-07-11 19:36:17 -07:00
Simon Michael
08017366b5
imp: file reading: demote some debug=6 output to level 7
2025-07-11 13:48:58 -07:00
Simon Michael
536589e2c2
imp: include: improve cycle and read failure error messages
2025-07-11 13:36:47 -07:00
Simon Michael
b71e001c51
imp: include: more robust ** patterns, and ignore dotted directories
...
** now ignores anything under dotted directories, ie directories whose
name begins with a dot. Eg .git/, foo/.secret/, etc.
Switched from Glob to filepattern lib.
2025-07-11 13:36:47 -07:00
Simon Michael
b1f416dee7
dev: parseIncludedFile: doc cleanup
2025-07-11 13:01:54 -07:00
Simon Michael
b7c4dc3b53
fix:journal: cyclic include error messages now show the correct line
2025-07-11 13:00:51 -07:00
Simon Michael
801a7adaa4
imp:include: better errors, eg for missing argument; more debug output
2025-07-11 12:13:52 -07:00
Simon Michael
c8a5b8eb37
dev: includedirectivep: cleanup
2025-07-11 12:13:12 -07:00
Simon Michael
f5d3b7bd38
fix:journal: include directive error messages now show the correct line
...
They were showing the line after the include directive, confusingly.
2025-07-11 11:55:29 -07:00
Simon Michael
251af8529f
dev: Hledger.Utils.Parse: cleanups
2025-07-11 11:38:50 -07:00
Simon Michael
2815a1865f
dev: includedirectivep: cleanups, docs
2025-07-11 11:38:50 -07:00
Simon Michael
9418807ddc
;doc: include directive: clarify effect, glob limitations
2025-07-11 10:36:57 -07:00
Simon Michael
b23af9275d
imp: simplify bad account type error message
2025-07-09 12:00:13 -07:00
Simon Michael
57b1e18757
imp:demo: show a better error message if asciinema is not installed
2025-07-08 11:35:31 -07:00
Simon Michael
3952d4e611
;dev:cli: update outdated CLI help
2025-07-08 11:35:31 -07:00
jneubrand
7482f1efc3
fix: use precompiled regexes to handle case insensitivity correctly
2025-07-03 14:25:50 -07:00
Simon Michael
31dc8a090e
;doc: Depth: fix typo
2025-07-03 08:22:53 -07:00
Simon Michael
fc93a4c644
fix:add: show green prompts properly instead of ANSI codes [ #2410 ]
2025-07-01 16:41:05 -07:00
Simon Michael
cd904e80d5
imp:setup: downgrade lack of pager to an info (no pager on windows)
2025-07-01 12:48:28 -07:00
Simon Michael
bc0cfebeb5
imp:setup: ignore shell completions for now
2025-07-01 12:05:56 -07:00
Simon Michael
ce992840fc
;doc:ghrelnotes: edits
2025-07-01 11:58:46 -07:00
Simon Michael
7a4a5ec892
;doc: note fish LEDGER_FILE setup
2025-07-01 11:53:20 -07:00
Simon Michael
a2c3cedd4d
;doc:ghrelnotes: simplify install commands
2025-07-01 11:52:12 -07:00
Simon Michael
f11ad4b70f
imp:setup: output improvements
2025-07-01 05:39:03 -07:00
Simon Michael
5d399c3cec
;doc:REGRESSIONS
2025-06-30 12:24:36 -07:00
Simon Michael
340233ed93
;doc: SCHEDULE, just schedule
2025-06-30 12:24:12 -07:00
Simon Michael
1efc0486d5
;doc:add: clarify that add is for journal format only
2025-06-30 06:24:52 -07:00
Simon Michael
7ebd152084
imp: web: don't hide the chart when window is narrow
2025-06-29 11:15:59 -07:00
Simon Michael
de66e266f1
fix:web: dragging in chart now selects date ranges more accurately
...
Eg, previously you couldn't select a range including transactions
at the rightmost edge of the chart.
2025-06-29 11:05:38 -07:00
Simon Michael
cb0a0fafa5
dev:web: chart.hamlet: reindent, simpler comment syntax
2025-06-28 21:01:24 -07:00
Simon Michael
fd0bf6f90d
dev:web: move all chart js into chart.hamlet template
2025-06-28 20:33:49 -07:00