2020-12-29 04:36:48 +03:00
|
|
|
|
General project-related changes and major/notable all-package releases.
|
|
|
|
|
For package-specific changes and minor releases, see the package changelogs.
|
2020-12-16 07:40:17 +03:00
|
|
|
|
|
2021-03-09 02:16:54 +03:00
|
|
|
|
# ec4d131d2
|
2021-03-09 02:15:57 +03:00
|
|
|
|
- Merge branch 'bash-completion' (#1410)
|
|
|
|
|
An extensive overhaul by @zhelezov of the bash programmable
|
|
|
|
|
completions in shell-completions/.
|
|
|
|
|
|
|
|
|
|
"This was supposed to be just a fix for #1404 but upon visiting the source
|
|
|
|
|
several issues became apparent and that is why the commit grew a bit more than
|
|
|
|
|
expected. A complete list of changes bellow:
|
|
|
|
|
|
|
|
|
|
Fix #1404
|
|
|
|
|
No more orphaned temporary directories. Commands, options, etc. that used to be
|
|
|
|
|
stored in there are included at build-time as here documents in the source.
|
|
|
|
|
|
|
|
|
|
Fix artifacts in /tmp after build
|
|
|
|
|
Upon fixing the above I became aware that the build itself was leaving behind a
|
|
|
|
|
heap of artifacts in /tmp that were not taken care of with a make clean.
|
|
|
|
|
Fixed by using temporary files and directories in the build directory. Makefile
|
|
|
|
|
and build scripts adjusted.
|
|
|
|
|
|
|
|
|
|
Produce command aliases
|
|
|
|
|
Regular expressions in build scripts changed to produce all command aliases
|
|
|
|
|
except single letter ones (see below)
|
|
|
|
|
|
|
|
|
|
Do not propose single letters completions
|
|
|
|
|
It is simply not useful and adds a lot of noise. It makes completion slower as
|
|
|
|
|
well because you need to hit yes on the prompt:
|
|
|
|
|
Display all 200 possibilities? (y or n)
|
|
|
|
|
output-options.sh now excludes those.
|
|
|
|
|
|
|
|
|
|
Query filters simplified
|
|
|
|
|
Keep only the prefix of the filter with the colon in query-filters.txt. This
|
|
|
|
|
change has two reasons:
|
|
|
|
|
|
|
|
|
|
Single letter completions are not useful (see above)
|
|
|
|
|
It allows for completion suggestions specific to each
|
|
|
|
|
Bonus reason: it's a completion engine, not a user manual.
|
|
|
|
|
Fix completion impacts on global environment
|
|
|
|
|
The completion script was making a couple of changes to the global environment
|
|
|
|
|
which had an impact for the rest of the shell session.
|
|
|
|
|
|
|
|
|
|
set -o pipefail: the change is hidden from the user and could lead to subtle
|
|
|
|
|
errors throughout the shell session
|
|
|
|
|
COMP_WORDBREAKS=" ": this affects subsequent completions for us and other
|
|
|
|
|
programs too. I exclude the colon : from its value and use
|
|
|
|
|
compopt -o filenames to handle escaping of special characters for us. I would
|
|
|
|
|
like to find a solution without messing with COMP_WORDBREAKS but it is not
|
|
|
|
|
straight forward.
|
|
|
|
|
Fix hiding of legit subcommands
|
|
|
|
|
Completion was hiding all possibilities if a subcommand happens to be the prefix
|
|
|
|
|
of another. On typing balance, one should be proposed balancesheet and
|
|
|
|
|
balancesheetequity as well.
|
|
|
|
|
|
|
|
|
|
Return early
|
|
|
|
|
Try to complete depending on the current context and return immediately if
|
|
|
|
|
successful. Keep completion list relevant and as short as possible.
|
|
|
|
|
|
|
|
|
|
Context aware completion
|
|
|
|
|
|
|
|
|
|
Add handlers for option parameter completion, see _hledger_compreply_optarg()
|
|
|
|
|
Add handlers for query filters:, see _hledger_compreply_query()
|
|
|
|
|
Use --file and --rules-file arguments when proposing completions for the
|
|
|
|
|
above, see _hledger()
|
|
|
|
|
Propose only top level accounts at first. Again, keep it short and focused.
|
|
|
|
|
Custom compgen wrapper
|
|
|
|
|
compgen is fairly complicated. There is no way to feed it a word list with
|
|
|
|
|
literals. It will mangle your input in so many ways that we cannot trust it. To
|
|
|
|
|
work around this several wrappers are used: _hledger_compgen() works with
|
|
|
|
|
_hledger_quote_by_ref() to process and escape newline separated input which is
|
|
|
|
|
then fed to compgen and finally in COMPREPLY through _hledger_compreply()
|
|
|
|
|
and _hledger_compreply_append(). It sounds messy and I guess it is, I would like
|
|
|
|
|
to find a more straight forward way to do it. I think it is still a way better
|
|
|
|
|
and safer interface with readline than trying to grep our way through.
|
|
|
|
|
|
|
|
|
|
Replace declare with local
|
|
|
|
|
Again, this script is sourced by the shell -- keep variable scopes as narrow as
|
|
|
|
|
possible. Oops, they are actually synonymous when used in a function but
|
|
|
|
|
local declares our intentions explicitly.
|
|
|
|
|
|
|
|
|
|
Use compopt -o nosort
|
|
|
|
|
Often I resort to using it to keep different groups of completions together.
|
|
|
|
|
Whether this is more ergonomic or not is subjective. But our input lists are
|
|
|
|
|
already sorted at build-time so why not. Sort manually query-filters.txt when
|
|
|
|
|
editing it.
|
|
|
|
|
|
|
|
|
|
Remove irrelevant comments
|
|
|
|
|
And add some new ones :)
|
|
|
|
|
|
|
|
|
|
I think that is all. Give it a spin, try to abuse it, in and outside of quotes,
|
|
|
|
|
with some funky accounts, payees, tags, whatever, and tell me where it breaks or
|
|
|
|
|
behaves unexpectedly."
|
|
|
|
|
|
|
|
|
|
- stack: bump default to lts-17.4/ghc-8.10.4
|
|
|
|
|
|
|
|
|
|
- tools: Include more commodities and prices in generated journals. (Stephen Morgan)
|
|
|
|
|
|
|
|
|
|
- Rebuild completion after the rebase on upstream/master (Vladimir Zhelezov)
|
|
|
|
|
- `help` command's output is no longer listing help topics, so
|
|
|
|
|
those completions are removed.
|
|
|
|
|
- `check` command supersedes `check-dates`, `check-dupes`, etc.
|
|
|
|
|
|
|
|
|
|
- Disable shell expansion in here-docs (Vladimir Zhelezov)
|
|
|
|
|
Better be safe that sorry...
|
|
|
|
|
|
|
|
|
|
- Makefile: move all variable definitions to the top, before targets (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- README: fix syntax highlighting, quotes (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Update README (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- BSDmakefile (Vladimir Zhelezov)
|
|
|
|
|
Just print a reminder to use `gmake` instead of spurting a bunch
|
|
|
|
|
of errors.
|
|
|
|
|
|
|
|
|
|
- Prevent unwanted m4 macro expansion + `-g` GNU compatibility flag (Vladimir Zhelezov)
|
|
|
|
|
Most of the included files are meant to be output literally, without any
|
|
|
|
|
macro processing. Using `undivert` in place of `include` achieves that.
|
|
|
|
|
This is a safety net against unsanitized input generated during the
|
|
|
|
|
build. Also, developers editing the shell code stub shouldn't be
|
|
|
|
|
constantly alert about triggering accidental macro expansion.
|
|
|
|
|
|
|
|
|
|
In order that `undivert` mimics GNU behaviour on BSDs, the `-g` flag is
|
|
|
|
|
used for the m4 invocation.
|
|
|
|
|
|
|
|
|
|
- Portability: replace GNU extension `\s` with `[[:space:]]` (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Revert "Do not use `set -e` in helper shell scripts" (Vladimir Zhelezov)
|
|
|
|
|
This reverts commit 0aeb88e663b9b19e173de20b132bef2189c6d7c9.
|
|
|
|
|
|
|
|
|
|
- Install/uninstall completion for all extensions by default (Vladimir Zhelezov)
|
|
|
|
|
Install the symlinks unconditionally. This way the user don't need
|
|
|
|
|
to reinstall completion after adding an extension. Of course fine-
|
|
|
|
|
grained control is possible with: `make install EXTENSIONS=web` e.g.
|
|
|
|
|
|
|
|
|
|
- Exit build with an error if unable to parse hledger sub-commands (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Do not use `set -e` in helper shell scripts (Vladimir Zhelezov)
|
|
|
|
|
It is not a substitute for proper error checking, it can easily cause
|
|
|
|
|
more trouble than good and it would be a burden for contributors and a
|
|
|
|
|
source for potential misbehavior. See this take on the topic for
|
|
|
|
|
example: http://mywiki.wooledge.org/BashFAQ/105
|
|
|
|
|
|
|
|
|
|
- Add phony clean-all build target (Vladimir Zhelezov)
|
|
|
|
|
A `make clean` before commit removes hledger-completion.bash and
|
|
|
|
|
it is supposed to be in the repository. `make clean` removes build
|
|
|
|
|
artifacts while keeping the latter. Do a `make clean-all` to purge
|
|
|
|
|
everything.
|
|
|
|
|
|
|
|
|
|
- Remove `api` from hledger extensions (Vladimir Zhelezov)
|
|
|
|
|
Superseded by hledger-web
|
|
|
|
|
|
|
|
|
|
- Update .gitignore (Vladimir Zhelezov)
|
|
|
|
|
Options/commands parsing no longer creates any temporary files
|
|
|
|
|
|
|
|
|
|
- Add basic editor configuration to shell scripts (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Move back commands/options parsing to separate shell scripts (Vladimir Zhelezov)
|
|
|
|
|
It made the Makefile more difficult to read and this way we can
|
|
|
|
|
take advantage of `set -e`, `-o pipefail` and friends.
|
|
|
|
|
|
|
|
|
|
Clean up debugging targets
|
|
|
|
|
|
|
|
|
|
- Avoid hard-coded reference to `commands.tmp` (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Add example usage comment for debug targets (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Modify .gitignore (Vladimir Zhelezov)
|
|
|
|
|
query-filters.txt is a build dependency and shouldn't be ignored.
|
|
|
|
|
|
|
|
|
|
- Add install and uninstall build targets (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Move commands and options parsing into the Makefile (Vladimir Zhelezov)
|
|
|
|
|
It is just a pipe of sed regex filters and all can be viewed/edited
|
|
|
|
|
in one place. Add a couple of debug targets to see easily the
|
|
|
|
|
effects of regex changes.
|
|
|
|
|
|
|
|
|
|
- Add stub file to m4 build target prerequisites (Vladimir Zhelezov)
|
|
|
|
|
And as it becomes unwieldy, put all the dependencies in a variable
|
|
|
|
|
|
|
|
|
|
- Eliminate dependency on ‘paste’ and ‘parallel’ (Caleb Maclennan)
|
|
|
|
|
|
|
|
|
|
- Isolate shell code in a stub file included by m4 (Vladimir Zhelezov)
|
|
|
|
|
This way we can easily edit m4 in m4-mode and the shell script stub
|
|
|
|
|
in sh-mode and prevent subtle errors coming from accidental quoting
|
|
|
|
|
issues or macros (mis)interpreted by m4.
|
|
|
|
|
|
|
|
|
|
- Fix build race condition (Vladimir Zhelezov)
|
|
|
|
|
Make `command-options` a prerequisite of `hledger-completion.bash`.
|
|
|
|
|
Currently the build succeeds only because the former takes less time
|
|
|
|
|
to finish than all the prerequisites of the latter. If you run a
|
|
|
|
|
`make clean && make -j 4`, the build would fail as they are built
|
|
|
|
|
in parallel.
|
|
|
|
|
|
|
|
|
|
- Amend installation comment (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Add a comment with example installation instructions (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Remove _function from function names (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Fix _hledger_extension_completion when called by path... (Vladimir Zhelezov)
|
|
|
|
|
Could break if called with ./funky-path/with-dashes/hledger-ui
|
|
|
|
|
|
|
|
|
|
- return 0 (Vladimir Zhelezov)
|
|
|
|
|
Shame on me...
|
|
|
|
|
|
|
|
|
|
- Fix a7dc62d: set $subcommandOptions unconditionally (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Add an automatic check for required option argument (Vladimir Zhelezov)
|
|
|
|
|
Get rid of manually listing unhandled long options:
|
|
|
|
|
|
|
|
|
|
Instead of listing options requiring an argument one by one in the
|
|
|
|
|
case statement in _hledger_compreply_optarg(), the option completion
|
|
|
|
|
lists are searched and if the option does require an argument an
|
|
|
|
|
empty COMPREPLY is send. Short options are uncounted for and still
|
|
|
|
|
need a manual entry.
|
|
|
|
|
|
|
|
|
|
This necessitated setting $subcommandOptions beforehand, so it is
|
|
|
|
|
moved back where it was -- in the sub-command loop in main().
|
|
|
|
|
|
|
|
|
|
- Remove `compopt -o nospace` from --{close,open}-acct handler (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Delay setting `compopt -o filenames` (Vladimir Zhelezov)
|
|
|
|
|
...until just before query completion. It is not desired for
|
|
|
|
|
commands and options completion and is better used selectively
|
|
|
|
|
only when really needed.
|
|
|
|
|
|
|
|
|
|
- Use compopt -o nospace only for a query prefix (Vladimir Zhelezov)
|
|
|
|
|
Similarly to long options treatment, suspend space only when
|
|
|
|
|
completing what looks like a query or account prefix i.e. something
|
|
|
|
|
ending with a colon (:).
|
|
|
|
|
|
|
|
|
|
- White space (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- White space, fix alignment (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Edit comments (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Remove redundant call of _get_comp_words_by_ref() (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Break overly long lines for better readability (Vladimir Zhelezov)
|
|
|
|
|
Hopefully differences are aligned and easily discernible this way
|
|
|
|
|
|
|
|
|
|
- Remove _hledger_quote(), unused. (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Remove unnecessary quoting, a matter of consistency... (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Add an early return from option argument completion (Vladimir Zhelezov)
|
|
|
|
|
Do not even enter the case statement if preceding words don't look
|
|
|
|
|
like an option
|
|
|
|
|
|
|
|
|
|
- White space (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Simplify sub-command loop logic (Vladimir Zhelezov)
|
|
|
|
|
If the cursor is on the sub-command, just offer sub-command
|
|
|
|
|
completions and be done with it. It was way over complicated.
|
|
|
|
|
|
|
|
|
|
- Move sub-command options reply out of the for-loop (Vladimir Zhelezov)
|
|
|
|
|
It was just before the `break` statement anyways
|
|
|
|
|
|
|
|
|
|
- _hledger_compreply_query: minor refactor (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Add a couple of sub-commands to the no-query list (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Further refinement of option extraction regex (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Improve option extraction (Vladimir Zhelezov)
|
|
|
|
|
Do not consider lines starting with anything other than white space
|
|
|
|
|
followed by a dash.
|
|
|
|
|
|
|
|
|
|
- Fix regular expression in output-options.sh (Vladimir Zhelezov)
|
|
|
|
|
Match only lines starting with white space because there are a lot
|
|
|
|
|
of option like strings in the discussion section that follows that
|
|
|
|
|
are not necessarily what we are after.
|
|
|
|
|
|
|
|
|
|
- Adjust comment obsoleted by previous commit: 4d2a4b0 (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Append `=` to long options requiring an argument (Vladimir Zhelezov)
|
|
|
|
|
Make it obvious that the option expects an argument by appending
|
|
|
|
|
the equal sign on completion. Suspend space in this case. The
|
|
|
|
|
regular expression in `output-options.sh` is adjusted to take into
|
|
|
|
|
account this on processing option strings.
|
|
|
|
|
|
|
|
|
|
- f656ff8 made another early return possible, so do it (Vladimir Zhelezov)
|
|
|
|
|
Also it made a couple of statements redundant, cleaned up.
|
|
|
|
|
|
|
|
|
|
- Postpone options display until after entering a dash (Vladimir Zhelezov)
|
|
|
|
|
I was looking at how other programs that have an overwhelming
|
|
|
|
|
number of sub-commands and options deal with completion, namely
|
|
|
|
|
how git does it, and I liked the clean workflow not spitting every
|
|
|
|
|
available option until asked for. Hledger's main workflow is:
|
|
|
|
|
|
|
|
|
|
> hledger COMMAND QUERY
|
|
|
|
|
|
|
|
|
|
so I have tried to reproduce this with this change. Options are of
|
|
|
|
|
course still there, but not shown until you ask for them by entering
|
|
|
|
|
a dash on the command line. Also, the `acct:` filter proposes only top
|
|
|
|
|
level accounts until there is some input from the user because accounts
|
|
|
|
|
tend to be numerous as well.
|
|
|
|
|
|
|
|
|
|
- Rename $wordlist to $complist in _hledger_compgen() (Vladimir Zhelezov)
|
|
|
|
|
Keep to established conventions
|
|
|
|
|
|
|
|
|
|
- Typo in comments (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Make sure `=` is present in COMP_WORDBREAKS (Vladimir Zhelezov)
|
|
|
|
|
Currently option processing logic is based on the assumption that `=` is
|
|
|
|
|
a word-breaking character, so make sure it is present in COMP_WORDBREAKS
|
|
|
|
|
|
|
|
|
|
- A non-recursive version of _hledger_compreply_optarg() (Vladimir Zhelezov)
|
|
|
|
|
Feels more streamlined and readable
|
|
|
|
|
|
|
|
|
|
- Make hard-coded completion word lists easy to find (Vladimir Zhelezov)
|
|
|
|
|
A quick search for `wordlist=` should be enough to find hard-coded
|
|
|
|
|
completions if we need to change them
|
|
|
|
|
|
|
|
|
|
- Simplify condition (Vladimir Zhelezov)
|
|
|
|
|
Knowing the cursor position is enough to decide whether to complete
|
|
|
|
|
subcommand or not, and subcommand is already known.
|
|
|
|
|
|
|
|
|
|
- Minor refactor of main function (Vladimir Zhelezov)
|
|
|
|
|
No functional changes except special treatment of `help` subcommand
|
|
|
|
|
|
|
|
|
|
- Revert "Refactor _hledger_compreply_optarg()" (Vladimir Zhelezov)
|
|
|
|
|
This reverts commit 2fd01d8ef51b897a63a2590556dbb3af7c13ffc9.
|
|
|
|
|
|
|
|
|
|
Well, I was so wrong...
|
|
|
|
|
|
|
|
|
|
- Refactor _hledger_compreply_optarg() (Vladimir Zhelezov)
|
|
|
|
|
It used to do a lot more work parsing the command line that is
|
|
|
|
|
no longer necessary. Clean up redundant code.
|
|
|
|
|
|
|
|
|
|
- Clarify comment in extension completion function (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Refactor _hledger_extension_completion_function() (Vladimir Zhelezov)
|
|
|
|
|
Reduce number of instructions, remove variables used only once
|
|
|
|
|
|
|
|
|
|
- Fix extension completion (Vladimir Zhelezov)
|
|
|
|
|
When inserting $extensionName in $COMP_WORDS manually, $COMP_CWORD lags
|
|
|
|
|
behind by one. Needs a manual adjustment too.
|
|
|
|
|
|
|
|
|
|
- Fix duplicate call of _hledger_compreply_optarg() (Vladimir Zhelezov)
|
|
|
|
|
It was called in both conditional branches so it's moved out before
|
|
|
|
|
the conditional.
|
|
|
|
|
|
|
|
|
|
- Helper _hledger_debug() now accepts any number of arguments (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Fix --long-opt= completion (Vladimir Zhelezov)
|
|
|
|
|
Commit #64282f3f broke that somehow so I need to force the match on
|
|
|
|
|
an empty string after the equal sign, not the equal sign itself.
|
|
|
|
|
|
|
|
|
|
I think that _init_completion() does a bit more than I need...
|
|
|
|
|
|
|
|
|
|
- Style: unset compopt filenames if completing command or option (Vladimir Zhelezov)
|
|
|
|
|
This is about the looks of the completion list -- if we have a
|
|
|
|
|
directory with the name of a subcommand it will be presented with
|
|
|
|
|
a trailing slash. This avoids that.
|
|
|
|
|
|
|
|
|
|
- Style: replace $cur with $subcommand (Vladimir Zhelezov)
|
|
|
|
|
It changes nothing but spells out intention more clearly
|
|
|
|
|
|
|
|
|
|
- More option argument completions (Vladimir Zhelezov)
|
|
|
|
|
Added handlers for:
|
|
|
|
|
--output-format
|
|
|
|
|
--close-acct
|
|
|
|
|
--open-acct
|
|
|
|
|
--debug
|
|
|
|
|
|
|
|
|
|
Added --drop to blocking list
|
|
|
|
|
|
|
|
|
|
- Add optional arguments $prefix and $match to _hledger_compgen() (Vladimir Zhelezov)
|
|
|
|
|
This allows more flexibility when generating completion candidates
|
|
|
|
|
and we don't need to resort to external help from `sed` or others.
|
|
|
|
|
_hledger_compgen's arguments become:
|
|
|
|
|
|
|
|
|
|
$1 -> $wordlist:
|
|
|
|
|
a newline separated wordlist with completion cadidates
|
|
|
|
|
$2 -> $prefix:
|
|
|
|
|
(optional) a prefix string to add to generated completions
|
|
|
|
|
$3 -> $match:
|
|
|
|
|
(optional) a word to match instead of $cur, the default.
|
|
|
|
|
|
|
|
|
|
If $match is null and $prefix is defined the match is done against $cur
|
|
|
|
|
stripped of $prefix. If both $prefix and $match are null we match against
|
|
|
|
|
$cur and no prefix is added to completions. Of course you can also pass
|
|
|
|
|
an empty string as $prefix and set $match to whatever you wish.
|
|
|
|
|
|
|
|
|
|
- Use _init_completion() (Vladimir Zhelezov)
|
|
|
|
|
This handles a lot that we have to do manually otherwise. Without
|
|
|
|
|
this we need to handle e.g. redirections to get completion for say:
|
|
|
|
|
> hledger payees > <TAB>
|
|
|
|
|
|
|
|
|
|
Also because this function assumes that we use `cur`, `prev`, `words`
|
|
|
|
|
and `cword` and sets them up for us, `wordToComplete`, `COMP_WORDS`
|
|
|
|
|
and `COMP_CWORD` are renamed accordingly. Those names are pretty much
|
|
|
|
|
hard-coded in bash completion so it is easier to follow the lead than
|
|
|
|
|
go with custom variable names.
|
|
|
|
|
|
|
|
|
|
- Fix or silence shellcheck warnings (Vladimir Zhelezov)
|
|
|
|
|
There are a couple of places where (un)quoting is intentionally
|
|
|
|
|
skipped so make those explicit.
|
|
|
|
|
|
|
|
|
|
- Query filter completion for amt, real and status; clean whitespace (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Basic settings for major editors: prevent mixing tabs and spaces (Vladimir Zhelezov)
|
|
|
|
|
|
|
|
|
|
- Fix: pass *all* accounts and rules files to hledger calls (Vladimir Zhelezov)
|
|
|
|
|
_hledger_optarg() is used to parse the options on the command line
|
|
|
|
|
and provide their arguments for context aware completion suggestions
|
|
|
|
|
|
|
|
|
|
- Fix quoted/escaped file path handling in _hledger() (Vladimir Zhelezov)
|
|
|
|
|
When reading hledger (rules-)file from COMP_WORDS we need to unescape it
|
|
|
|
|
first. For once compgen is doing exactly what we need :)
|
|
|
|
|
|
|
|
|
|
- Fix #1404, and more... (Vladimir Zhelezov)
|
|
|
|
|
This was supposed to be just a fix for #1404 but upon visiting the source
|
|
|
|
|
several issues became apparent and that is why the commit grew a bit more than
|
|
|
|
|
expected. A complete list of changes bellow:
|
|
|
|
|
|
|
|
|
|
- Fix #1404
|
|
|
|
|
No more orphaned temporary directories. Commands, options, etc. that used to be
|
|
|
|
|
stored in there are included at build-time as here documents in the source.
|
|
|
|
|
|
|
|
|
|
- Fix artifacts in =/tmp= after build
|
|
|
|
|
Upon fixing the above I became aware that the build itself was leaving behind a
|
|
|
|
|
heap of artifacts in =/tmp= that were not taken care of with a ~make clean~.
|
|
|
|
|
Fixed by using temporary files and directories in the build directory. Makefile
|
|
|
|
|
and build scripts adjusted.
|
|
|
|
|
|
|
|
|
|
- Produce command aliases
|
|
|
|
|
Regular expressions in build scripts changed to produce all command aliases
|
|
|
|
|
except single letter ones (see below)
|
|
|
|
|
|
|
|
|
|
- Do not propose single letters completions
|
|
|
|
|
It is simply not useful and adds a lot of noise. It makes completion slower as
|
|
|
|
|
well because you need to hit yes on the prompt:
|
|
|
|
|
> Display all 200 possibilities? (y or n)
|
|
|
|
|
=output-options.sh= now excludes those.
|
|
|
|
|
|
|
|
|
|
- Query filters simplified
|
|
|
|
|
Keep only the prefix of the filter with the colon in =query-filters.txt=. This
|
|
|
|
|
change has two reasons:
|
|
|
|
|
- Single letter completions are not useful (see above)
|
|
|
|
|
- It allows for completion suggestions specific to each
|
|
|
|
|
- Bonus reason: it's a completion engine, not a user manual.
|
|
|
|
|
|
|
|
|
|
- Fix completion impacts on global environment
|
|
|
|
|
The completion script was making a couple of changes to the global environment
|
|
|
|
|
which had an impact for the rest of the shell session.
|
|
|
|
|
|
|
|
|
|
~set -o pipefail~: the change is hidden from the user and could lead to subtle
|
|
|
|
|
errors throughout the shell session
|
|
|
|
|
|
|
|
|
|
COMP_WORDBREAKS=" ": this affects subsequent completions for us and other
|
|
|
|
|
programs too. I exclude the colon =:= from its value and use
|
|
|
|
|
~compopt -o filenames~ to handle escaping of special characters for us. I would
|
|
|
|
|
like to find a solution without messing with COMP_WORDBREAKS but it is not
|
|
|
|
|
straight forward.
|
|
|
|
|
|
|
|
|
|
- Fix hiding of legit subcommands
|
|
|
|
|
Completion was hiding all possibilities if a subcommand happens to be the prefix
|
|
|
|
|
of another. On typing ~balance~, one should be proposed ~balancesheet~ and
|
|
|
|
|
~balancesheetequity~ as well.
|
|
|
|
|
|
|
|
|
|
- Return early
|
|
|
|
|
Try to complete depending on the current context and return immediately if
|
|
|
|
|
successful. Keep completion list relevant and as short as possible.
|
|
|
|
|
|
|
|
|
|
- Context aware completion
|
|
|
|
|
- Add handlers for option parameter completion, see _hledger_compreply_optarg()
|
|
|
|
|
- Add handlers for query filters:, see _hledger_compreply_query()
|
|
|
|
|
- Use --file and --rules-file arguments when proposing completions for the
|
|
|
|
|
above, see _hledger()
|
|
|
|
|
- Propose only top level accounts at first. Again, keep it short and focused.
|
|
|
|
|
|
|
|
|
|
- Custom ~compgen~ wrapper
|
|
|
|
|
~compgen~ is fairly complicated. There is no way to feed it a word list with
|
|
|
|
|
literals. It will mangle your input in so many ways that we cannot trust it. To
|
|
|
|
|
work around this several wrappers are used: _hledger_compgen() works with
|
|
|
|
|
_hledger_quote_by_ref() to process and escape newline separated input which is
|
|
|
|
|
then fed to ~compgen~ and finally in ~COMPREPLY~ through _hledger_compreply()
|
|
|
|
|
and _hledger_compreply_append(). It sounds messy and I guess it is, I would like
|
|
|
|
|
to find a more straight forward way to do it. I think it is still a way better
|
|
|
|
|
and safer interface with ~readline~ than trying to ~grep~ our way through.
|
|
|
|
|
|
|
|
|
|
- Replace ~declare~ with ~local~
|
|
|
|
|
Again, this script is sourced by the shell -- keep variable scopes as narrow as
|
|
|
|
|
possible.
|
|
|
|
|
|
|
|
|
|
- Use ~compopt -o nosort~
|
|
|
|
|
Often I resort to using it to keep different groups of completions together.
|
|
|
|
|
Whether this is more ergonomic or not is subjective. But our input lists are
|
|
|
|
|
already sorted at build-time so why not. Sort manually =query-filters.txt= when
|
|
|
|
|
changing it.
|
|
|
|
|
|
|
|
|
|
- Remove irrelevant comments
|
|
|
|
|
And add some new ones :)
|
|
|
|
|
|
|
|
|
|
I think that is all. Give it a spin, try to abuse it, in and outside of quotes,
|
|
|
|
|
with some funky accounts, payees, tags, whatever, and tell me where it breaks or
|
|
|
|
|
behaves unexpectedly.
|
|
|
|
|
|
|
|
|
|
- doc: explain roi-unrealised.ledger, reference to cookbook (Dmitry Astapov)
|
|
|
|
|
|
|
|
|
|
- roi: roi-unrealised.example now works based on price directives (Dmitry Astapov)
|
|
|
|
|
|
|
|
|
|
- bin: more robust --package syntax, comma form sometimes fails
|
|
|
|
|
|
|
|
|
|
- examples: csv: daedalus wallet csv rules
|
|
|
|
|
|
|
|
|
|
- cli: rename --infer-value to --infer-market-price
|
|
|
|
|
For clarity; infer-value was too vague. The old spelling remains
|
|
|
|
|
supported for compatibility, but is now deprecated.
|
|
|
|
|
When typing, --infer-market or even --infer (for now) is sufficient.
|
|
|
|
|
|
|
|
|
|
- install: 1.20.4
|
|
|
|
|
|
|
|
|
|
- install: 1.20.3
|
|
|
|
|
|
|
|
|
|
- bin: switch to "runghc", drop "env -S" (#1453)
|
|
|
|
|
env -S isn't a thing on linux of course. Go back to using standard
|
|
|
|
|
env, which means using a stack options line, which means not using
|
|
|
|
|
"ghc". This new setup is probably simpler anyway. I've just had to
|
|
|
|
|
give up on the goal of having each script's required packages being
|
|
|
|
|
defined in one place; now (to they extent they are required) they
|
|
|
|
|
must be defined both in the script header and in compile.sh.
|
|
|
|
|
|
|
|
|
|
- bin: switch scripts to "stack ghc" and "env -S" (#1453)
|
|
|
|
|
Using stack's script command meant that the scripts needed to be
|
|
|
|
|
compatible, and regularly tested, with a hledger release in stackage,
|
|
|
|
|
rather than the latest hledger source. This created hassles for
|
|
|
|
|
maintainers, contributors and sometimes for users.
|
|
|
|
|
|
|
|
|
|
To simplify things overall, we now require script users to check out
|
|
|
|
|
the hledger source tree and run the scripts (or, bin/compile.sh) from
|
|
|
|
|
there once so they compile themselves. Some notes on alternative
|
|
|
|
|
setups are included (in one of the scripts, and referenced by the
|
|
|
|
|
others). This ensures that users and our CI tests are building scripts
|
|
|
|
|
the same way.
|
|
|
|
|
|
|
|
|
|
Current stack does not allow a stack options line to be used with the
|
|
|
|
|
"stack ghc" command, unfortunately, so instead we are using env's -S
|
|
|
|
|
flag, which hopefully has sufficiently wide support by now, and
|
|
|
|
|
putting all arguments in the shebang line.
|
|
|
|
|
|
|
|
|
|
This method will probably require complete explicit --package options,
|
|
|
|
|
unlike "stack script", so more testing and tweaking is expected.
|
|
|
|
|
Probably we're going to end up with some long shebang lines.
|
|
|
|
|
|
|
|
|
|
This isn't pretty but seems like a possible way to keep things
|
|
|
|
|
manageable.
|
|
|
|
|
|
|
|
|
|
- ci: really add addon-building tests to CI (#1453)
|
|
|
|
|
|
|
|
|
|
- stack: 8.10: bump to latest nightly and ghc 8.10.3
|
|
|
|
|
|
|
|
|
|
- bin: Update bin scripts for new API. (Stephen Morgan)
|
|
|
|
|
|
|
|
|
|
- bin: Update bin scripts for current hledger-lib. (Stephen Morgan)
|
|
|
|
|
(cherry picked from commit bc4aef17b7fa13ec0754b93325e1c5e5ee04f1e7)
|
|
|
|
|
|
|
|
|
|
- ci: also test compilation of bin/ add-on scripts
|
2021-03-09 02:14:47 +03:00
|
|
|
|
|
|
|
|
|
- doc: merge file format manuals into the hledger manual
|
|
|
|
|
Also flatten the journal manual topics a bit.
|
|
|
|
|
|
|
|
|
|
- doc: rewrite commands intro
|
|
|
|
|
|
|
|
|
|
- bin: switch to "runghc", drop "env -S" (#1453)
|
|
|
|
|
env -S isn't a thing on linux of course. Go back to using standard
|
|
|
|
|
env, which means using a stack options line, which means not using
|
|
|
|
|
"ghc". This new setup is probably simpler anyway. I've just had to
|
|
|
|
|
give up on the goal of having each script's required packages being
|
|
|
|
|
defined in one place; now (to they extent they are required) they
|
|
|
|
|
must be defined both in the script header and in compile.sh.
|
|
|
|
|
|
|
|
|
|
(cherry picked from commit 32ccbba8050a26d09eb0fa8fdbc2c4b7ffe4f44c)
|
|
|
|
|
|
|
|
|
|
- bin: switch scripts to "stack ghc" and "env -S" (#1453)
|
|
|
|
|
Using stack's script command meant that the scripts needed to be
|
|
|
|
|
compatible, and regularly tested, with a hledger release in stackage,
|
|
|
|
|
rather than the latest hledger source. This created hassles for
|
|
|
|
|
maintainers, contributors and sometimes for users.
|
|
|
|
|
|
|
|
|
|
To simplify things overall, we now require script users to check out
|
|
|
|
|
the hledger source tree and run the scripts (or, bin/compile.sh) from
|
|
|
|
|
there once so they compile themselves. Some notes on alternative
|
|
|
|
|
setups are included (in one of the scripts, and referenced by the
|
|
|
|
|
others). This ensures that users and our CI tests are building scripts
|
|
|
|
|
the same way.
|
|
|
|
|
|
|
|
|
|
Current stack does not allow a stack options line to be used with the
|
|
|
|
|
"stack ghc" command, unfortunately, so instead we are using env's -S
|
|
|
|
|
flag, which hopefully has sufficiently wide support by now, and
|
|
|
|
|
putting all arguments in the shebang line.
|
|
|
|
|
|
|
|
|
|
This method will probably require complete explicit --package options,
|
|
|
|
|
unlike "stack script", so more testing and tweaking is expected.
|
|
|
|
|
Probably we're going to end up with some long shebang lines.
|
|
|
|
|
|
|
|
|
|
This isn't pretty but seems like a possible way to keep things
|
|
|
|
|
manageable.
|
|
|
|
|
|
|
|
|
|
(cherry picked from commit 2db87333d702d27ee45d8089ad4ad189bcb50cf2)
|
|
|
|
|
|
|
|
|
|
- ci: really add addon-building tests to CI (#1453)
|
|
|
|
|
(cherry picked from commit 3ae6cf3200fad46cfbfa15c89e6d06dac309d76c)
|
|
|
|
|
|
|
|
|
|
- ci: also test compilation of bin/ add-on scripts
|
|
|
|
|
(cherry picked from commit 06b466d847c46dc384cdef95658dade68111b173)
|
|
|
|
|
|
|
|
|
|
- bin: Update bin scripts for current hledger-lib. (Stephen Morgan)
|
|
|
|
|
(cherry picked from commit bc4aef17b7fa13ec0754b93325e1c5e5ee04f1e7)
|
|
|
|
|
(cherry picked from commit a64d1aa6d0bcaf643bbe2607238026b4d26a3637)
|
|
|
|
|
|
2021-01-14 16:51:07 +03:00
|
|
|
|
# 1.20.4 2021-01-29
|
2020-12-29 21:21:27 +03:00
|
|
|
|
|
2021-01-14 16:51:07 +03:00
|
|
|
|
# 1.20.3 2021-01-14
|
2020-12-29 21:21:27 +03:00
|
|
|
|
|
2021-01-14 16:51:07 +03:00
|
|
|
|
- The run/compile instructions for add-on scripts in bin/ have been
|
|
|
|
|
updated. The scripts now use `stack runghc` and are tested (manually
|
|
|
|
|
with `make functest` for now) with the corresponding hledger source,
|
|
|
|
|
not the hledger on stackage.
|
2020-12-16 07:40:17 +03:00
|
|
|
|
|
2020-12-06 04:32:56 +03:00
|
|
|
|
# 1.20 2020-12-05
|
2020-12-29 21:21:27 +03:00
|
|
|
|
|
2020-11-24 20:39:05 +03:00
|
|
|
|
- examples: clean up & add more budgeting examples
|
|
|
|
|
|
2020-11-17 21:51:57 +03:00
|
|
|
|
- examples: stripe csv
|
2020-11-04 07:08:47 +03:00
|
|
|
|
|
2020-11-17 21:51:57 +03:00
|
|
|
|
- The functional tests in tests/ have been moved into the respective
|
|
|
|
|
packages, eg hledger/test/ and hledger-ui/test/.
|
2020-11-04 07:08:47 +03:00
|
|
|
|
|
2020-11-17 21:51:57 +03:00
|
|
|
|
- Shake cabalfiles: now gives an error when it fails
|
2020-11-04 07:08:47 +03:00
|
|
|
|
|
2020-11-17 21:51:57 +03:00
|
|
|
|
- make bench: add some large tabular reports;
|
|
|
|
|
run just the slowest commands by default;
|
|
|
|
|
run after make (func)test
|
2020-11-03 21:18:14 +03:00
|
|
|
|
|
2020-11-17 21:51:57 +03:00
|
|
|
|
- a hie.yaml file has been added, so hledger source loads
|
|
|
|
|
easily in IDEs supporting haskell-language-server
|
2020-09-08 02:17:58 +03:00
|
|
|
|
|
2020-12-29 04:36:48 +03:00
|
|
|
|
# 2020-09-07
|
2020-09-07 22:30:24 +03:00
|
|
|
|
|
|
|
|
|
- Update shell completions (Jakob Schöttl)
|
2020-09-04 03:05:52 +03:00
|
|
|
|
|
2020-09-02 06:28:04 +03:00
|
|
|
|
# 1.19 2020-09-01
|
2020-07-05 19:24:16 +03:00
|
|
|
|
|
2020-09-02 06:23:30 +03:00
|
|
|
|
- example scripts:
|
2020-07-05 19:24:16 +03:00
|
|
|
|
|
2020-09-02 06:23:30 +03:00
|
|
|
|
- stack scripts now use stack's script command consistently
|
|
|
|
|
- stack scripts no longer have explicit --package lists, stack
|
|
|
|
|
infers them from the imports
|
|
|
|
|
- hledger-print-location: new script
|
2020-06-22 22:24:01 +03:00
|
|
|
|
|
2020-09-02 06:23:30 +03:00
|
|
|
|
- CI:
|
|
|
|
|
|
|
|
|
|
- always recompile all modules for robustness
|
|
|
|
|
- generate optimised binaries, which can be downloaded
|
|
|
|
|
- build a single different GHC version with each workflow, reducing
|
|
|
|
|
total building and carbon footprint a bit
|
|
|
|
|
- stop building with GHC 8.0
|
|
|
|
|
|
|
|
|
|
- the default stack file now uses lts 16.12 (ghc 8.8.4)
|
2020-06-22 22:24:01 +03:00
|
|
|
|
|
2020-06-21 17:25:51 +03:00
|
|
|
|
# 1.18.1 2020-06-21
|
2020-06-21 04:24:15 +03:00
|
|
|
|
|
|
|
|
|
- provide CI binaries for windows, mac & gnu/linux
|
|
|
|
|
|
2020-06-07 22:45:55 +03:00
|
|
|
|
# 1.18 2020-06-07
|
2020-04-20 00:45:07 +03:00
|
|
|
|
|
2020-06-07 02:53:41 +03:00
|
|
|
|
- new example scripts:
|
2020-04-20 00:45:07 +03:00
|
|
|
|
|
2020-06-07 02:53:41 +03:00
|
|
|
|
- hledger-combine-balances.hs, hledger-balance-as-budget.hs (Dmitry Astapov)
|
|
|
|
|
- hledger-check-tag-files.hs, hledger-check-tag-files2.hs
|
2020-04-07 04:38:38 +03:00
|
|
|
|
|
2020-06-07 02:53:41 +03:00
|
|
|
|
- more CSV rule examples: coinbase, waveapp
|
2020-06-06 01:18:23 +03:00
|
|
|
|
|
2020-06-07 02:53:41 +03:00
|
|
|
|
- new CI (continuous integration) system using Github Actions.
|
2020-03-19 02:17:13 +03:00
|
|
|
|
Thanks to Travis and Appveyor for their service to date.
|
|
|
|
|
Improvements:
|
|
|
|
|
|
|
|
|
|
- one CI service instead of several
|
|
|
|
|
- more closely integrated with code repo
|
|
|
|
|
- tests run on the three main platforms (linux, mac, windows)
|
|
|
|
|
- harmless commits are ignored automatically ([ci skip] no longer needed for doc commits)
|
2020-03-19 02:20:41 +03:00
|
|
|
|
- scheduled and on-demand testing (push to master, push to ci-* branches, pull request, weekly)
|
|
|
|
|
- now tested: all GHC versions, doctests, haddock building
|
2020-06-07 02:53:41 +03:00
|
|
|
|
- new shortcut url: http://ci.hledger.org
|
2020-03-19 02:17:13 +03:00
|
|
|
|
|
2020-03-02 04:33:18 +03:00
|
|
|
|
# 1.17 2020-03-01
|
2020-02-07 21:47:55 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- hledger-install: re-enable installation of hledger-iadd & hledger-interest.
|
2020-02-07 21:47:55 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- hledger-install: bump minimum stack version to 1.9.1
|
|
|
|
|
1.7.1 fails with deps using newer cabal file syntax I believe.
|
2020-02-07 21:47:55 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- hledger-install: always do stack update, to help ensure we get the latest packages.
|
|
|
|
|
https://github.com/commercialhaskell/stack/issues/5112
|
2020-01-14 21:08:50 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- examples: Add a basic example of rule parsing for the output of csb2format. (Evilham)
|
2020-01-14 21:08:50 +03:00
|
|
|
|
csb2format deals with the CSB43/AEB43 format, which all banks operating in
|
|
|
|
|
Spain must support.
|
|
|
|
|
Having these example rules enables easens bootstraping for users with a
|
|
|
|
|
Spanish bank account.
|
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- doc: simpler, clearer structure in the manuals and hledger.org sidebar
|
2020-01-14 21:08:50 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- doc: a new [Quick Start](https://hledger.org/start.html) page
|
|
|
|
|
|
|
|
|
|
- doc: a new [Common Tasks](https://hledger.org/hledger.html#common-tasks) section in the hledger manual
|
2020-01-14 21:08:50 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- doc: a new invoicing how-to: https://hledger.org/invoicing.html
|
2020-01-14 21:08:50 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- doc: Fix dead pointer in contributing (Aleksandar Dimitrov)
|
2020-01-14 21:08:50 +03:00
|
|
|
|
|
2020-03-02 03:44:28 +03:00
|
|
|
|
- doc: Fix build badges for Travis and AppVeyor (Rui Chen)
|
2020-01-14 21:08:50 +03:00
|
|
|
|
|
2019-12-01 20:59:01 +03:00
|
|
|
|
# 1.16 2019-12-01
|
2019-11-03 21:10:00 +03:00
|
|
|
|
|
2019-12-01 20:59:01 +03:00
|
|
|
|
- add support for GHC 8.8, base-compat 0.11 (#1090)
|
2019-11-08 03:37:03 +03:00
|
|
|
|
|
2019-12-01 20:59:01 +03:00
|
|
|
|
- drop support for GHC 7.10
|
2019-09-13 18:31:54 +03:00
|
|
|
|
|
|
|
|
|
- add descriptions to most issue tracker labels
|
|
|
|
|
|
2019-12-01 20:59:01 +03:00
|
|
|
|
- matrix.hledger.org now redirects to a more readable/useful url
|
|
|
|
|
|
2019-09-01 18:41:33 +03:00
|
|
|
|
# 1.15 2019-09-01
|
2019-08-31 07:26:23 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- install: bump to lts-14.4, hledger 1.15, drop hledger-api
|
2019-08-31 07:26:23 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- bump versions to 1.15
|
2019-07-11 09:22:04 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- api: drop from Shake scripts
|
2019-08-19 14:03:54 +03:00
|
|
|
|
|
2019-09-01 19:59:51 +03:00
|
|
|
|
- new unified website: hledger.org now has its own git repo, has
|
|
|
|
|
absorbed the github wiki, and is generated with Sphinx.
|
2019-07-11 09:22:04 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- hledger-api's functionality is now included in hledger-web,
|
|
|
|
|
and the hledger-api package is mothballed.
|
2019-07-11 09:22:04 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- hledger-install.sh: updated, now also works on FreeBSD 12 (zieone)
|
2019-07-11 09:22:04 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- bin/ addon scripts: hledger-swap-dates added; hledger-check,
|
|
|
|
|
hledger-smooth updated. (#1072)
|
2019-07-11 09:22:04 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- shell-completion/ scripts: updated (Jakob Schöttl)
|
2019-07-11 09:22:04 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- github: FUNDING.yml / sponsor button configured
|
2019-07-25 10:45:56 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- site: Wine option added to download page
|
2019-07-11 09:22:04 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- tools: generatejournal updates: vary amount, make reports with fewer
|
|
|
|
|
zeroes, start from a fixed year to keep tests stable, also generate
|
|
|
|
|
P records. (#999)
|
2019-03-21 02:09:25 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- tools: make, shake, CI: misc. updates
|
2019-03-21 02:09:25 +03:00
|
|
|
|
|
2019-05-04 00:59:12 +03:00
|
|
|
|
- doc: add a README for the functional tests, linked from contrib guide
|
2019-03-21 02:09:25 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- hledger-makeitso has been renamed to hledger-flow (Andreas Pauley)
|
2019-03-21 02:09:25 +03:00
|
|
|
|
|
2019-09-01 18:40:05 +03:00
|
|
|
|
- The hledger docker image is now based on the "haskell" image (Dmitry Astapov)
|
2019-03-21 02:09:25 +03:00
|
|
|
|
|
|
|
|
|
|
2019-03-02 04:43:27 +03:00
|
|
|
|
# 1.14 2019-03-01
|
|
|
|
|
|
|
|
|
|
- hledger.org website: now uses https, home page updates,
|
|
|
|
|
download page improved package list with status badges.
|
|
|
|
|
Also the github wiki pages are now rendered as part of hledger.org,
|
|
|
|
|
like the main site pages (with pandoc markdown and tables of contents).
|
|
|
|
|
Building the site now requires that a copy of the wiki is checked out
|
|
|
|
|
under wiki/.
|
|
|
|
|
|
|
|
|
|
- bash completion support: removed duplicate options, added new
|
|
|
|
|
options, stopped listing -h as a command, added some completion for
|
|
|
|
|
external addon commands.
|
|
|
|
|
|
|
|
|
|
- release automation improvements
|
|
|
|
|
|
|
|
|
|
- makefile cleanups; make site-liverender helps with local site preview
|
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
# 1.13 (2019/01/02)
|
2019-01-28 21:45:25 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- packaging: A docker image providing the main hledger tools is now
|
|
|
|
|
linked on the download page. This is another way to get up-to-date
|
|
|
|
|
hledger tools without building them yourself (and, a way to run
|
|
|
|
|
hledger-ui on windows ?) (Dmitry Astapov, Simon Michael)
|
2019-02-01 02:43:08 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- hledger-install.sh: fix installation of stack when .local/bin is not
|
|
|
|
|
in PATH (Dmitry Astapov)
|
2019-02-01 02:43:08 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- doc: fixed pandoc typography conversion in web manuals. Eg `--` was
|
|
|
|
|
being rendered as en-dash. (#954).
|
2019-02-01 02:43:08 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
Developers:
|
2019-02-01 02:43:08 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- developer docs have moved from the wiki into CONTRIBUTING.md (#920)
|
2019-01-26 18:27:36 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- new streamlined changelog update process. Shake targets:
|
|
|
|
|
|
|
|
|
|
./Shake changelogs
|
|
|
|
|
./Shake CHANGES.md
|
|
|
|
|
./Shake CHANGES.md-dry
|
|
|
|
|
./Shake PKG/CHANGES.md
|
|
|
|
|
./Shake PKG/CHANGES.md-dry
|
2019-01-26 22:30:54 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
update the project-wide and/or package changelogs, inserting new
|
|
|
|
|
commits (touching the respective directory, since the tag version or
|
|
|
|
|
commit hash which is the first word in the changelog's previous top
|
|
|
|
|
heading) at the top, formatted as changelog entries.
|
2019-01-26 22:30:54 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- ./Shake PKG - builds a package plus its embedded docs.
|
|
|
|
|
./Shake build - builds all the packages and their embedded docs.
|
|
|
|
|
("stack build PKG" does not notice changes in embedded doc files.)
|
2019-01-26 22:30:54 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- make ghci-shake - loads Shake.hs in ghci
|
2019-01-26 22:30:54 +03:00
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- make tags - includes doc source files, hpack/cabal files, Shake.hs
|
2019-01-26 22:30:54 +03:00
|
|
|
|
|
|
|
|
|
- make site-livereload - opens a reloading browser view on the website html
|
|
|
|
|
(requires `livereloadx`)
|
|
|
|
|
|
2019-02-02 03:57:52 +03:00
|
|
|
|
- added a Dockerfile and helper scripts (Dmitry Astapov)
|
|
|
|
|
|
|
|
|
|
- doc files and hpack/cabal files are included in TAGS again
|
2019-01-26 22:30:54 +03:00
|
|
|
|
|
|
|
|
|
# 1.12 (2018/12/02)
|