Commit Graph

854 Commits

Author SHA1 Message Date
Simon Michael
ca499d7f7b addons: detect more executable file extensions, such as .exe
In addition to hledger-X and hledger-X.hs, other common executable file
extensions will be recognised. In particular, on windows hledger now
lists hledger-web.exe as an add-on. The current list is:
bat, com, exe, hs, lhs, pl, py, rb, rkt, sh.
2014-04-22 17:40:06 -07:00
Simon Michael
1fca3e7472 orDatesFrom -> spanDefaultsFrom 2014-04-19 08:38:03 -07:00
Simon Michael
9d10cfa180 fix single-quote-containing addon arguments harder 2014-04-15 13:07:43 -07:00
Simon Michael
2af04ec2fc balance: merge/improve multicol report implementations
Periodic, cumulative and historical multicolumn balance reports are now
generated by one code path, which helps with consistency and reducing
the bug/test surface. --tree now also works with --cumulative or
--historical.
2014-04-13 12:49:05 -07:00
Simon Michael
cad37b7dce balance: fix excessive indent in multicolumn tree mode 2014-04-13 12:49:05 -07:00
Simon Michael
19eb45cb68 account: add more description in the command-specific help 2014-04-08 15:57:40 -07:00
Simon Michael
7b4b99fae0 accounts: more query support, --flat/--drop/--depth support 2014-04-07 12:13:36 -07:00
Simon Michael
efad3a767d balance: support --drop in flat multicolumn reports 2014-04-07 08:32:23 -07:00
Simon Michael
f9c1d94b5f accounts: make accounts a built-in command, listing posted account names 2014-04-07 08:27:50 -07:00
Simon Michael
7d99ae5033 balance: --tree makes multicolumn reports show hierarchy
Multicolumn balance reports can now be switched to a hierarchical view
with --tree. This is similar to the single column balance report with
--no-elide, ie we do not elide boring parents into the following line.

The --flat and --tree flags are opposites; the last one to appear on
the command line is decisive (in future, if not already).
2014-04-06 21:56:47 -07:00
Simon Michael
6b5ed3d790 print: drop unnecessary showTransactions
refactor the tests later
2014-04-05 19:39:18 -07:00
Simon Michael
5cd3f6ed51 balancesheet, cashflow, incomestatement: less space before Total 2014-04-05 13:35:18 -07:00
Simon Michael
a8122405bf I see, polymorphic let bindings need a proper type sig 2014-04-03 18:49:57 -07:00
Simon Michael
a1531bcd09 show args processing debug output only at level 2+ 2014-04-03 18:49:56 -07:00
Simon Michael
ce888a62d5 restore some options utilities, fix hledger-balance-csv script 2014-03-28 16:33:48 -07:00
Simon Michael
b69e6c6946 unused extensions 2014-03-28 16:23:40 -07:00
Simon Michael
882a9dbf1c cli, report & raw options cleanups 2014-03-25 19:03:56 -07:00
Simon Michael
3fa4824218 some type signatures 2014-03-25 19:03:55 -07:00
Simon Michael
d815cca069 incomestatement, cashflow: support --flat and --drop as well 2014-03-21 17:41:22 -07:00
Simon Michael
5a8b5ed082 balancesheet: support --flat and --drop, like balance 2014-03-21 17:34:58 -07:00
Simon Michael
2d1e0d7cd4 move command-specific options to the respective command modules 2014-03-21 10:45:13 -07:00
Simon Michael
7d36789b74 web: fix build failures caught by the bot 2014-03-19 08:45:52 -07:00
Simon Michael
4d8d0d9aa6 balance: make BalanceReport more like MultiBalanceReport, doc cleanups 2014-03-18 18:01:24 -07:00
Simon Michael
5df28069fb restore the test command, hidden 2014-03-18 14:08:28 -07:00
Simon Michael
92dc86ebae restore reg & bal aliases, even if not advertised 2014-03-18 13:47:13 -07:00
Simon Michael
3bc3e533c8 remove unused import 2014-03-18 13:46:47 -07:00
Simon Michael
814008d648 add: also let enter end transactions if no more default postings
To end a transaction, period is required because there might be another
default posting being suggested, and enter usually means "accept the
default". But having to switch back and forth from enter to period
during data entry is a bit unergonomic, requiring too much thought.

Now, in the (common) case where you have entered a balanced transaction
and there are no more default postings to suggest, enter is also allowed
to end the transaction. Experimental; this might be too inconsistent.
2014-03-16 09:29:09 -07:00
Simon Michael
88d52a9da8 cli: don't list both source and exe of an addon 2014-03-16 09:27:07 -07:00
Simon Michael
d1b9273b19 cli: tighten up commands list, better help for known addons 2014-03-15 13:20:24 -07:00
Simon Michael
7cbbd0fbab add: fix over-zealous cleanup caught by hydra, continued 2014-03-06 17:50:46 -08:00
Simon Michael
8e6922c57c add: fix over-zealous cleanup caught by hydra 2014-03-06 17:49:52 -08:00
Simon Michael
63eca19a7f add: refactor completion functions 2014-03-06 16:58:48 -08:00
Simon Michael
856f62b465 add: fix runtime printf error from 2nd txn on (fixes #164) 2014-03-05 12:48:13 -08:00
Simon Michael
27cf33f887 debug message wording 2014-03-04 11:04:31 -08:00
Simon Michael
ebf42046d8 add: keep using historical txn accounts as defaults even after a custom amount is entered 2014-03-03 12:18:10 -08:00
Simon Michael
dd2f293094 rename FormatString to OutputFormat
It was going to be Format, but that clashes with file format. Press on.
2014-03-02 13:33:56 -08:00
Simon Michael
d89367d75e add: make input prompts green, where supported
Because we can! Should have no effect where not supported.
2014-03-01 11:16:19 -08:00
Simon Michael
5d0da63261 add: don't print an extra newline on exit
even it made things tidier in an emacs shell..
2014-03-01 11:15:29 -08:00
Simon Michael
1051f10826 add: also accept . at date prompt to quit 2014-03-01 11:15:19 -08:00
Simon Michael
e50c2a4259 add: avoid quotes preserved in quoted cli args 2014-03-01 11:08:31 -08:00
Simon Michael
dcdb032d96 add: rewrite using wizards and make it more robust
The code is now much more manageable, faciliating further
improvements. Completion now works at all prompts, and
will insert the default value if the input area is empty.
Account and amount defaults are more robust and useful
in various situations. There might be a slight regression
with default commodity handling.
2014-02-27 18:15:49 -08:00
Simon Michael
204af487a5 note an issue with CliOpts query_ 2014-02-27 17:39:38 -08:00
Simon Michael
bab6ec041b cli: be more robust at finding hledger-* add-ons
Previously executables with eg digits in their name were ignored.
It now finds all files beginning with hledger-, optionally ending with
.hs or .lhs, and with no other dots in the name.
As before, we don't check for executable permission (performance ?).
2014-02-27 11:40:41 -08:00
Simon Michael
8d3161f6d6 add: cleanup, cleanup 2014-02-23 15:04:28 -08:00
Simon Michael
6bf08cdd7c add: hack apart getPostingsLoop into smaller pieces 2014-02-23 07:52:26 -08:00
Simon Michael
56abdb2c8c add: code cleanups 2014-02-21 09:07:52 -08:00
Simon Michael
e35614c88d add: clarify "accept" 2014-02-21 07:23:10 -08:00
Simon Michael
f34d3aa9d6 add: clarify runInteraction* 2014-02-20 11:15:05 -08:00
Simon Michael
41a58609fb add: output a final newline after control-d 2014-02-12 08:22:44 -08:00
Simon Michael
d158d401d9 fix some breakages found by Hydra 2014-02-05 19:30:01 -08:00
Simon Michael
ac95930b15 Hledger.Cli now re-exports Hledger and System.Console.CmdArgs.Explicit 2014-02-05 18:55:03 -08:00
Simon Michael
044ba78693 help fix, -V is not equivalent to --version (#145) 2013-12-07 15:35:58 -08:00
Simon Michael
5bdc55ab77 note that getCliOpts, debugArgs api fns are unused 2013-12-07 06:10:45 -08:00
Simon Michael
8261ac0f56 three fixes to handle --debug=N like --debug 2013-12-07 06:09:39 -08:00
Simon Michael
8bbd22d7ed fix handling of --debug before command 2013-12-07 05:51:17 -08:00
Simon Michael
c53732a4af balance: new multi-column reports & documentation
Two new multi-column balance report modes show ending balance per
period: `--cumulative`, starting from 0, and `--historical`, starting
from the historical starting balance.

The balance command's specification has been clarified and consolidated
in the Balance.hs haddock. Reports.hs has also had haddock updates. The
old AccountsReport type is now BalanceReport, still used by
single-column balance report. The new MultiBalanceReport type is used by
the multi-column reports.
2013-12-07 05:43:31 -08:00
Simon Michael
c99f37241c allow an optional level argument with --debug 2013-12-06 13:30:36 -08:00
Simon Michael
6e7610c1b7 drop some experimental pprint logging 2013-12-06 13:26:08 -08:00
Simon Michael
7e06a6a24c balance: basic multi-column balance (change) reports 2013-09-26 15:06:48 -07:00
Simon Michael
eb5e2f95e9 cashflow: don't ignore the report start date (fixed #135)
Odd, there may have been s reason to do this but I can't remember it.
2013-09-23 11:08:55 -07:00
Simon Michael
a66a715eeb command line options API updates, possibly fixing hledger-web build 2013-09-22 22:31:06 -07:00
Simon Michael
13f8c0f938 overhaul command line processing
Command line processing has been overhauled and made more consistent,
and now has tests and extensive debug output.  More flags now work
both before and after COMMAND: -f, --rule-file, --alias, --help,
--debug, --version.  Command line help, command aliases, API docs and
code have been improved.
2013-09-22 01:17:41 -07:00
Simon Michael
7ed0705398 register: --average/-A shows a running average, like ledger 2013-09-09 18:25:53 -07:00
Simon Michael
e4c76acb12 balancesheet: don't bother showing equity, it won't be useful for most of us 2013-07-23 16:47:54 -07:00
Simon Michael
39f6ec9f04 tools: fix make ghci, ghciweb
In general, when cabal CPP macros like min_PKG are used, they should
be made optional. If they are not present, assume a developer is
building and choose the latest libs.
2013-06-06 15:26:40 -07:00
Simon Michael
2bb120d6c6 register: fix -w related test breakage, another width tweak (#102)
As part of adding -w in december I cleaned up/adjusted register field
widths, and didn't make all the tests pass. This commit makes one more
width adjustment
(one space after the date instead of two) and fixes all tests depending on register output.
2013-04-12 14:56:41 -07:00
Simon Michael
af5c0e80e0 parsing: read files in universal newline mode
Line endings other than the unix style, are now accepted in journal and rules files.
2013-03-29 18:46:10 +00:00
Simon Michael
1adc583975 make hledger-web installable with GHC < 7.6 again
Revisiting the "directory 1.2 can be installed with older GHC, so we'd better pin it in the cabal file" change.
Requiring directory 1.2 made hledger-web uninstallable with GHC < 7.6 because current yesod depends on ghc
which depends on a particular directory version and can't be upgraded. This is a smarter fix, which should let
all hledger packages build with whatever directory version is installed.
2013-03-19 01:22:09 +00:00
Simon Michael
bbfd91e7ea directory 1.2 can be installed with older GHC, so we'd better pin it in the cabal file
hledger now requires directory >= 1.2. This might make installation
more complex on old GHC versions; if it turns out to be needed,
perhaps it can be conditionalised again, more accurately, in the cabal file.
2013-03-11 15:56:56 +00:00
Simon Michael
47a4c52904 add: tweak output 2013-03-05 20:18:10 +00:00
Simon Michael
edcfd2abb1 add: handle partial dates on the command line, instead of failing after all data entry 2013-03-05 02:08:53 +00:00
Simon Michael
5785eae38e add: show the transaction and confirm before adding it, or allow restart 2013-02-25 20:52:43 +00:00
Simon Michael
314da705f8 add: fix compilation with GHC 7.4 and perhaps older 2013-02-25 19:49:03 +00:00
Simon Michael
2eba34514f add: mention code/comment entry in help 2013-02-24 21:30:56 +00:00
Simon Michael
10d83a9252 add: allow transaction code and transaction/posting comments/tags to be entered (#45)
- A transaction code may be entered following the date in parentheses, eg: DATE (CODE)
- A transaction comment (possibly containing tags) may be entered following the description, eg: DESC ; COMMENT
- A posting comment may be entered following the amount, eg: AMOUNT ; COMMENT
2013-02-24 21:16:03 +00:00
Simon Michael
7025c6f66a add: more code cleanup 2013-02-24 20:05:31 +00:00
Simon Michael
8aba692926 add: cleanups 2013-02-24 18:35:42 +00:00
Simon Michael
4f1ce14033 add: use command line arguments as defaults for first txn (part 2)
It seems I missed some.
2013-02-24 18:09:04 +00:00
Simon Michael
bf91efda7c add: use command line arguments as defaults for first txn
With one or more command line arguments, they will used as defaults
for the first transaction, and history will be ignored. Subsequent
transactions will use history for defaults (and now only the best match
from history is shown).
2013-02-24 02:07:58 +00:00
Simon Michael
c8e2751aa5 add: < at any prompt restarts the current transaction (#47) 2013-02-23 01:44:45 +00:00
Simon Michael
7fcd45614b add: ui cleanups
- tidier output
- show more help
- suggest . only for recording, not for quitting (though it still works)
- show each transaction after adding it (#52)
- don't parse . as a zero amount
- don't show [] when there's no default
2013-02-23 00:57:16 +00:00
Simon Michael
2a6a028222 register: date display refinements
- when showing multiple postings from a transaction, show their individual dates accurately
- with --date2, use that date for sorting
2013-02-14 21:12:35 +00:00
Simon Michael
7175c57992 reg: --related/-r flag to show other postings in the transaction 2012-12-22 00:24:38 +00:00
Simon Michael
552a15a1ba reg: --width/-w option to adjust register overall output width 2012-12-21 21:56:11 +00:00
Simon Michael
621a91807e rename actual/effective dates to primary/secondary
The command-line flag is now --date2. Alternate spellings --effective and --aux-date
are accepted for compatibility.
2012-12-06 04:43:41 +00:00
Simon Michael
20e68f23a8 support effective dates on postings as well
We now preserve all dates while reporting, instead of overwriting one with the other.
2012-12-06 02:41:37 +00:00
Simon Michael
e75abc4625 parse posting dates, better comment/tag handling, begin using HTF for unit testing 2012-12-06 00:28:23 +00:00
Simon Michael
b2b429c9e4 refactor: dead code 2012-12-06 00:04:09 +00:00
Simon Michael
4aafeb32e6 refactor: clean up Posting construction 2012-12-06 00:03:07 +00:00
Simon Michael
157c85a915 move stripbrackets to Utils 2012-12-04 00:03:42 +00:00
Simon Michael
26a37bf3df web: quick fix for "Prelude.read: no parse" errors with GHC >= 7.6 2012-11-24 15:13:14 +00:00
Simon Michael
64180b18ef refactor: clarify that price amounts have only a single commodity 2012-11-19 23:17:55 +00:00
Simon Michael
4567e91409 refactor: move amount display settings out of commodity, simplify amount construction 2012-11-19 21:20:10 +00:00
Simon Michael
5b9c5459be web: make hledger[-lib] compatible with all of yesod's language extensions
Useful when building all of hledger-web at once.
2012-11-14 17:25:02 +00:00
Simon Michael
ef73894889 redo bad fix to balancesheet, cashflow, incomestatement commands
I had this crazy idea shakepeare-text interpolation syntax had changed
when these failed in hledger-web dev builds. It was CPP of course.
2012-11-17 03:22:58 +00:00
Simon Michael
cfbd8bb956 web: update for yesod 1.1.3
Build with latest yesod. Also reorganise to conform more closely with
yesod's standard scaffold layout to reduce upgrade effort.
2012-11-15 17:48:48 +00:00
Simon Michael
c1ab41f0a9 hledger, hledger-lib: support GHC 7.6 2012-10-08 16:52:07 +00:00
Simon Michael
00f22819ae balance report speedup
This refactoring fixes an O(n^2) slowdown in the balance command with
large numbers of accounts. It's now speedy, and the implementation is
clearer. To facilitate this, the Account type now represents a tree of
accounts which can easily be traversed up or down (and/or flattened
into a list).

Benchmark on a 2010 macbook:

    +-------------------------------------------++--------------+------------+--------+
    |                                           || before:      | after:     |        |
    |                                           || hledger-0.18 | hledgeropt | ledger |
    +===========================================++==============+============+========+
    | -f data/100x100x10.journal     balance    ||         0.21 |       0.07 |   0.09 |
    | -f data/1000x1000x10.journal   balance    ||        10.13 |       0.47 |   0.62 |
    | -f data/1000x10000x10.journal  balance    ||        40.67 |       0.67 |   1.01 |
    | -f data/10000x1000x10.journal  balance    ||        15.01 |       3.22 |   2.36 |
    | -f data/10000x1000x10.journal  balance aa ||         4.77 |       4.40 |   2.33 |
    +-------------------------------------------++--------------+------------+--------+
2012-10-21 17:18:18 +00:00
Simon Michael
f03b020e2f set version with CPP instead of cabal-file-th; make building more robust
hledger and hledger-web were reading their version number (and program
name) from their cabal files at compile time using cabal-file-th,
which allowed the version number be maintained in one place (per
package).

This meant you had to be in same directory as the cabal file when
building, which made life more complicated, eg emacs compilation mode
could not jump to errors. Also, it slowed down building slightly, and
is a factor in hledger Debian packages being unavailable on a number
of platforms (we also use TH for report templates).

Now, the build version is set with a CPP VERSION flag, which seems
simpler overall. For cabal builds, this needs to be configured
manually in a few more places in each cabal file. For makefile builds,
it is set it to the name of the most recent darcs tag (which should be
more useful than the old behaviour). If not set, it defaults to the
blank string, useful eg for haddock. And, all makefile builds now run
from the top directory.
2012-10-13 19:21:17 +00:00
Simon Michael
7fec954cbf support latest cmdargs, haskeline, split 2012-10-08 16:50:35 +00:00
Simon Michael
0b96a767b4 support tilde (~) in journal and rules file paths 2012-05-30 08:36:01 +00:00
Simon Michael
34318906d8 register, print: fix reverse ordering of same-day transactions 2012-06-29 18:06:58 +00:00
Simon Michael
6ccecb6ae0 stats: list included journal files 2012-05-30 09:17:18 +00:00
Simon Michael
ed1ea545f5 make --rules-file work again 2012-03-24 19:53:07 +00:00
Simon Michael
50068221c3 fix build warnings in all GHC versions 2012-03-29 21:19:35 +00:00
Simon Michael
31f3e4dc27 balance: accept "bal" without complaining about ambiguity with balancesheet 2012-04-14 20:33:15 +00:00
Simon Michael
3441c2d816 unneeded imports 2012-04-21 00:23:52 +00:00
Simon Michael
d30cd5847a a simplistic cashflow statement to complete the trio 2012-04-17 17:32:56 +00:00
Simon Michael
483eb09a82 show proper help for balancesheet/incomestatement 2012-04-14 20:33:48 +00:00
Simon Michael
b584f33cbb Cli, Cli.Test module doc updates 2012-05-09 15:29:14 +00:00
Simon Michael
b6e5028071 fix compiler warning 2012-05-16 06:40:52 +00:00
Simon Michael
294a350993 promote Hledger.Query to second level 2012-05-16 07:57:10 +00:00
Simon Michael
98274b481d more build warnings 2012-05-06 20:44:23 +00:00
Simon Michael
7f3b990394 docs: fix api docs 2012-03-07 16:05:04 +00:00
Simon Michael
2fb2aea056 rename metadata fields to tags 2012-05-27 22:59:06 +00:00
Simon Michael
3ee6a351f3 big query/tests/show refactoring
- use new query system for command line too, filterspec is no more
- move unit tests near the code they test, run them in bottom up order, add more
- more precise Show instances, used for debugging not ui
2012-05-27 18:14:20 +00:00
Simon Michael
1654776f4a refactor test runner 2012-05-14 19:23:12 +00:00
Simon Michael
db4d853a3f refactor: move readJournal' 2012-04-14 01:10:39 +00:00
Simon Michael
197f35cb5b unit test exposing sample journal parse failure 2012-05-09 15:30:43 +00:00
Simon Michael
a628964016 prepare to support full query expressions on command line 2012-05-16 08:31:06 +00:00
Simon Michael
88afea8c44 balancesheet: ignore start dates, always show the accurate balance from all transactions up to the specified end date 2012-04-17 02:28:30 +00:00
Simon Michael
65a20c6870 separate account types in balancesheet, show totals with consistent layout 2012-04-16 16:55:30 +00:00
Simon Michael
1e2c2bb10c hook up more tests, begin converting remaining reports to Query 2012-05-17 04:21:34 +00:00
Simon Michael
a58a5f96ad more robust comments & metadata, on postings too, and document as "tags" 2012-05-14 18:52:22 +00:00
Simon Michael
88212f26e8 simplify journal parser names 2012-05-09 15:34:05 +00:00
Simon Michael
e1b1b8bce8 rename Matcher to Query, simplify constructors 2012-05-16 07:12:49 +00:00
Simon Michael
8c7eea9ee0 make incomestatement respect options 2012-04-16 16:45:24 +00:00
Simon Michael
b4b2b67236 incomestatement: show revenue and expense accounts separately 2012-04-15 00:05:10 +00:00
Simon Michael
abb470aadb use shakespeare-text to help lay out incomestatement's output 2012-04-14 20:35:51 +00:00
Simon Michael
a27eb7c29f more matcher -> query renaming 2012-05-16 07:37:24 +00:00
Simon Michael
8492f6cae4 fix unicode handling on GHC >= 7.2, unify utf8 IO compatibility layer
tests pass again from GHC 6.12.3 to 7.4.1
2012-03-29 19:06:31 +00:00
Simon Michael
ca5d5020e1 prototypical incomestatement and balancesheet commands 2012-04-14 01:34:56 +00:00
Simon Michael
b96e3ac85d drop convert command 2012-03-24 19:40:06 +00:00
Simon Michael
00a43cd1bf Hledger.Cli.Format -> Hledger.Data.FormatStrings 2012-03-10 19:20:15 +00:00
Simon Michael
a1297daae2 cashflow: forgot th' module 2012-04-17 18:27:28 +00:00
Simon Michael
e396c0dc8d push csv rule and format string types down 2012-03-24 01:58:34 +00:00
Simon Michael
6eb7ad28e1 refactor/beef up readJournal/readJournalFile 2012-03-23 16:21:41 +00:00
Simon Michael
13e0757670 less obscure error when the journal file path contains a tilde 2012-01-03 12:12:37 +00:00
Simon Michael
26ad00a659 support and require latest cmdargs 2012-01-05 18:25:15 +00:00
Simon Michael
1bc4d4b395 refactor: clarify mixed amount normalising a bit 2012-01-01 00:39:13 +00:00
Dmitry Astapov
7426e93ec6 Testcase+fix for commodity being reported more than once per account in balance 2011-12-25 21:21:27 +00:00
Simon Michael
0d8a7c935b fix import warning 2012-02-02 05:27:07 +00:00
Simon Michael
c686645fab refactor: update version number handling 2012-01-31 06:01:31 +00:00
Simon Michael
db7f4d1b3d use cabal-file-th to get executable name and version from cabal files 2011-10-19 19:53:42 +00:00
Simon Michael
4fb325b92a bump version 2011-10-04 23:53:50 +00:00
Simon Michael
9a6328adeb comment 2011-09-14 19:46:31 +00:00
Simon Michael
33f6277e0d cli: hledger ADDONCOMMAND --version now shows add-on command's version 2011-09-14 02:32:44 +00:00
Simon Michael
fcb4a39089 when running addons with --debug, show the command line 2011-09-17 04:19:26 +00:00
Simon Michael
6ca155edc0 convert: don't reverse order of transactions 2011-09-19 03:10:16 +00:00
Simon Michael
353e3f2d55 convert: always order converted transactions by date 2011-09-21 06:04:18 +00:00
Simon Michael
de502e732b drop unused TIMELOG env var 2011-09-21 23:12:53 +00:00
Simon Michael
556e3c9246 cli: give literal tilde error also with -f 2011-09-21 23:10:44 +00:00
Simon Michael
f79b272ff3 balance: ledger compatibility fix: don't elide parent accounts with multiple displayed subaccounts 2011-09-22 20:40:06 +00:00
Simon Michael
6ddf394119 add: clearer prompts, more validation, use . to end as well 2011-09-23 03:51:45 +00:00
Simon Michael
17b1fcefed rename/update doc 2011-09-23 14:09:12 +00:00
Simon Michael
c9f1f5c663 strip the -- when calling addon commands, so their options work (#64) 2011-09-23 14:10:27 +00:00
Simon Michael
fffb15c1ae add: avoid excess whitespace between transactions (#46) 2011-09-25 17:47:55 +00:00
Simon Michael
9b2a5f56e1 only the add and web commands auto-create the journal file 2011-09-23 03:53:14 +00:00
Simon Michael
992ce48093 convert: use full option name in error message 2011-09-27 23:54:49 +00:00
Simon Michael
780dc878c7 convert: currency -> base-currency 2011-09-27 23:55:07 +00:00
Simon Michael
7d3b1f4a55 convert: in-field, out-field -> amount-in-field, amount-out-field 2011-09-28 00:13:42 +00:00
Simon Michael
fe6f37753f convert: give an error instead of a silent zero amount from amount-in-field/amount-in-field 2011-09-28 00:14:42 +00:00
Simon Michael
9a0a0be01c docs: whitespace 2011-09-23 14:27:26 +00:00
Simon Michael
602ccceeec convert: give a useful error, not a null date when parsing fails; refactor 2011-09-28 17:12:43 +00:00
Simon Michael
5eeadad160 add: refactor, note default precision issue 2011-09-30 23:26:11 +00:00
Simon Michael
b0b1f7d733 bump version 2011-10-01 17:17:02 +00:00
Simon Michael
fa5f09f06a handle multiple filter patterns on the command-line again 2011-09-11 20:37:04 +00:00
Simon Michael
b46ffbac14 don't give a confusing error with -f and no command 2011-09-11 21:35:06 +00:00
Simon Michael
8a50cb1289 don't pass an addon command's name to it as an extra argument 2011-09-11 21:48:13 +00:00
Simon Michael
f37d7b5659 bump version 2011-09-12 22:52:24 +00:00
Simon Michael
4db6c2881a cli: fix an accidental parsec 3 dependency 2011-09-02 18:52:44 +00:00
Simon Michael
c834f4a8af bump version for all but hledger-lib, due to hledger fix 2011-09-02 19:25:31 +00:00
Simon Michael
ae02ca68dd doctest comment fix 2011-04-23 14:54:26 +00:00
Simon Michael
171c0e73ea convert: fix recent breakage causing zero amounts 2011-05-31 22:09:05 +00:00
Simon Michael
c562412964 convert: fix amount-field/in-field/out-field validation 2011-06-02 21:23:53 +00:00
Simon Michael
3617bc1a79 convert: fix --rules warning 2011-06-02 22:37:45 +00:00
Simon Michael
5784587208 convert: warn if there is neither amount-field or in & out-field 2011-06-02 22:56:17 +00:00
Simon Michael
92777edc99 docs: haddock tweaks 2011-04-29 03:25:52 +00:00
Simon Michael
a44aa8d7d2 refactor: remove unnecessary LANGUAGE CPP pragmas 2011-07-17 23:29:57 +00:00
Simon Michael
cbb0fc5c59 move basic reports into hledger-lib 2011-08-15 22:59:06 +00:00
Simon Michael
85f83c00fc drop some old base 3 support 2011-08-15 22:59:15 +00:00
Simon Michael
02a43f1e40 slightly improve help layout 2011-08-19 18:28:50 +00:00
Simon Michael
e005625780 web: account register now obeys --cost and --effective flags like the rest 2011-08-19 18:30:03 +00:00
Simon Michael
17fbc9de14 another part of add-on command detection that was missed 2011-08-25 23:13:08 +00:00
Simon Michael
dc43ca2d00 easier to roll back this one than merge 2011-08-22 14:52:47 +00:00
Simon Michael
b39c0f8819 would like to react to --version before --help, cmdargs does it first though 2011-08-20 19:18:10 +00:00
Simon Michael
4e91387ab3 fix a warning 2011-08-25 23:14:12 +00:00
Simon Michael
e67c63dc54 don't fail if PATH is not defined 2011-08-25 23:50:34 +00:00
Simon Michael
ec9e06e33e don't fail when PATH contains bad directories 2011-08-25 23:36:25 +00:00
Simon Michael
7616ed9b8e haddocks 2011-08-26 00:46:52 +00:00
Simon Michael
96628feee9 make the old ledger-compatible command names primary for now 2011-08-28 19:49:26 +00:00
Clint Adams
5ead6d05b1 update to cmdargs 0.8 API
Between 0.7 and 0.8, modeArgs changed from

modeArgs :: Maybe (Arg a)

to

modeArgs :: ([Arg a], Maybe (Arg a))
2011-08-30 21:41:25 +00:00
Simon Michael
b2e80554e6 convert: convert stdin when no csv file is specified 2011-08-20 19:59:20 +00:00
Simon Michael
464d8d4bcb hledger now detects and runs hledger-* add-ons found in path; many options cleanups 2011-08-22 14:55:39 +00:00
Simon Michael
98509d4bbc fix a bogus error with -f and no command 2011-08-16 22:23:05 +00:00
Simon Michael
3fa9fab9a4 fix warning 2011-08-19 19:20:43 +00:00
Simon Michael
1f5f1b5e78 convert: don't fail when there's no default journal file 2011-08-20 19:49:07 +00:00
Simon Michael
676845b269 trim even more fat from amounts 2011-08-31 17:44:20 +00:00
Simon Michael
10fd7ebc42 simplify amounts code, make tests pass 2011-08-31 16:54:10 +00:00
Simon Michael
1273f02a9a more balance/amount clarifications and a test 2011-08-30 11:37:36 +00:00
Simon Michael
9aaf489a38 readability cleanups 2011-08-28 22:16:58 +00:00
Simon Michael
6a61c96481 whitespace 2011-06-24 02:41:37 +00:00
Simon Michael
059825a9b2 optionsgeddon.. port to cmdargs and a fully modal cli 2011-08-15 22:50:09 +00:00
Simon Michael
c3954cad43 cli: fix typo in previous patch 2011-05-29 19:42:37 +00:00
Simon Michael
7d46ae6141 runTestsOrExit 2011-06-13 21:44:08 +00:00
Trygve Laugstol
dca66a63a7 convert: Adding support for formatting expressions in description-field 2011-06-27 22:59:07 +00:00
Clint Adams
6544ec02fc account2-field 2011-06-03 01:13:00 +00:00
Simon Michael
6496c1ef61 raw journal report -> journal entries report 2011-08-07 16:24:09 +00:00
Simon Michael
63f790b94e small reports cleanups 2011-08-04 08:26:55 +00:00
Simon Michael
ce30cb2cbe refactor: try to get these report names under control 2011-07-19 00:49:11 +00:00
Simon Michael
47b1142d49 move reports back to Hledger.Cli for now, forgot they still depend on cli options 2011-07-18 23:30:40 +00:00
Simon Michael
e4c4405c62 refactor: simplify some imports 2011-07-17 23:05:56 +00:00
Simon Michael
df7dc1464e refactor: move basic report generation to hledger-lib 2011-07-17 23:47:52 +00:00
Simon Michael
c461104a53 web: fix warning 2011-07-01 00:46:41 +00:00
Simon Michael
f9ce624ef0 web: separate journal & register urls, ui tweaks, code refactoring 2011-07-15 21:58:46 +00:00
Simon Michael
5ed70248d4 web: refactor, fix a sign bug in register 2011-07-01 02:17:31 +00:00
Simon Michael
8424caddc6 web: don't merge different accounts with similar leaf name in postings summary 2011-07-01 00:48:30 +00:00
Simon Michael
29ac7f0d4f web: another whack at register account field, simpler now 2011-07-01 00:32:45 +00:00
Simon Michael
35b3c0d37e web: simple register balance chart, using flot 2011-06-30 00:29:57 +00:00
Simon Michael
918b3b45a5 web: make register item display a bit more consistent 2011-06-29 20:18:10 +00:00
Simon Michael
c572addaa0 fix warnings 2011-06-27 13:27:26 +00:00
Simon Michael
fcc8d6f8ee fix journal register matching 2011-06-27 14:15:53 +00:00
Simon Michael
d83553661f refactor: layout 2011-06-28 22:31:56 +00:00
Simon Michael
f18952d298 refactor: remove duplicated balance report code 2011-07-17 15:53:51 +00:00
Simon Michael
58a50c2ff1 balance: --no-elide prevents collapsing of boring accounts to line 2011-06-14 19:39:00 +00:00
Simon Michael
8d0b42e1d5 web: an "a" parameter specifies a query expression for filtering the accounts sidebar
Useful for ui experiments, at least
2011-06-28 22:34:45 +00:00
Simon Michael
ec426d620c web: make journal register work like account registers; show multiple postings 2011-06-27 13:14:33 +00:00
Simon Michael
69744730cd refactor: move stuff 2011-06-24 19:58:01 +00:00
Simon Michael
224cab068f haddock 2011-06-24 14:20:30 +00:00
Simon Michael
33a1c6533b refactor: clarify the two register types, "posting register" and "account register"
See the docstrings for details. Possibly temporary names, but at least
make the naming consistent and distinct.
2011-06-24 02:44:31 +00:00
Simon Michael
4637e5b018 keep haddock happy 2011-06-24 01:30:16 +00:00
Simon Michael
b165f796cc web: start txn-centric register refactoring, account register shows most recent first 2011-06-24 01:29:01 +00:00
Simon Michael
9fac61eb0d web: in account register, show multiple postings as a single "split"
Clicking on one of these currently goes nowhere.
2011-06-14 19:10:57 +00:00
Simon Michael
d35fbac422 web: inacctsubs: includes subs in an account register, with confusing balance 2011-06-14 14:29:31 +00:00
Simon Michael
b137a346c0 web: make a filtered account register's Total column positive, like a journal register 2011-06-13 21:39:00 +00:00
Simon Michael
1a88879734 web: more account register fixes; heading shows "Balance" or "Total" appropriately 2011-06-13 19:49:34 +00:00
Simon Michael
06331c71a8 account register balance not right.. more fixes and plans 2011-06-12 22:35:54 +00:00
Simon Michael
c9c6be27c0 don't show subaccounts in account register report 2011-06-11 18:35:56 +00:00
Simon Michael
94709e5139 preliminary single-account register report 2011-06-11 16:11:38 +00:00
Simon Michael
ca9b4fcdd5 --help tweak 2011-08-07 16:52:35 +00:00
Simon Michael
13acc458e1 alias docs fixes 2011-08-05 00:40:57 +00:00
Simon Michael
957c349780 --alias command-line option 2011-08-05 00:05:39 +00:00
Simon Michael
30b7448f45 parsing: alias/end aliases directives, like ledger's but a bit more powerful 2011-08-04 08:45:18 +00:00
Simon Michael
4015e02097 account directive should preserve virtual/balanced virtual posting type 2011-08-02 23:29:13 +00:00
Simon Michael
d025daa8a9 drop unused SubTotal option 2011-08-07 17:10:34 +00:00
Simon Michael
513846e8c2 refactor: explicit sibling imports is better style here 2011-08-07 20:22:35 +00:00
Simon Michael
5c8e533ba9 import cleanups 2011-06-06 19:04:21 +00:00
Trygve Laugstøl
8412225ba5 add-in-and-out-field-rules-for-convert
* Support in-field and out-field for CSV files that use two columns for each kind of movement.
2011-05-29 21:50:59 +00:00
Trygve Laugstol
28dbb8864f Adding basic ledger FORMAT parser. 2011-06-20 21:33:26 +00:00
Simon Michael
c565b2606d simplify api, optsToFilterSpec just needs a day not a time 2011-06-13 23:28:39 +00:00
Simon Michael
e7c6ee3dc3 refactor: convert to cost-basis at report time, not startup time 2011-06-03 03:29:57 +00:00
Simon Michael
eb6395e91c fix that refactoring for web handlers 2011-06-03 02:52:08 +00:00
Simon Michael
96aa9bfc76 matcher improvements, tests 2011-06-11 18:35:20 +00:00
Simon Michael
6a185bc51f refactor: abstract regular expression lib 2011-06-05 18:31:19 +00:00
Trygve Laugstøl
170154edfb explicit-rules-file-argument-and-converting-stdin
* Adding support for telling which rules file to use with "--rules FILE".
* Adding support for using stdin when converting files.
2011-05-29 19:22:55 +00:00
Simon Michael
5084280879 imports, api cleanup 2011-05-28 04:11:44 +00:00
Simon Michael
9734ed47a6 web: acct: -> in:/inacct:, match only one account (CI exact string match on full name), old acct: re-enabled 2011-06-08 22:02:49 +00:00
Simon Michael
2e754b79a2 clarify meaning of balance report item's indent field 2011-06-14 21:28:21 +00:00
Simon Michael
dc7a692a19 refactor: remove costbasis and whichdate from FilterSpec 2011-06-03 02:14:36 +00:00
Simon Michael
910e5c2bee bump version 2011-09-02 00:42:50 +00:00
Simon Michael
ac5059ea53 bump version 2011-05-24 04:28:21 +00:00
Simon Michael
754cc59804 fix some warnings 2011-05-21 02:48:20 +00:00
Simon Michael
24c578bcd4 fix for "reorganize tests" 2010-12-29 01:35:41 +00:00
Simon Michael
eac34e85fa histogram: honour the specified start or end dates 2011-01-14 04:18:58 +00:00
Simon Michael
6208ed017b treat arguments as possibly-encoded platform strings, not unconditionally utf-8 2011-01-21 01:16:55 +00:00
Simon Michael
6a845eb5e4 i18n: always read and write UTF-8, ignoring current locale (#34)
Also remove a bunch of CPP conditions.
Uses the GHC-version-independent UTF-8 layer from pandoc.
2011-01-21 01:24:51 +00:00
Dmitry Astapov
b9ae208bd5 Added support for effective-date-field to the "convert" operation 2011-01-23 20:48:28 +00:00
Dmitry Astapov
c78fe9dd5d Added account-field to Convert.hs 2011-01-22 09:37:25 +00:00
Dmitry Astapov
e37d3a522d Forgot to take accountField into account while calculating max. field index 2011-01-23 20:34:03 +00:00
Eric Kow
18a53194b2 Avoid offering account names for completion in inapproriate contexts. 2011-03-12 19:59:35 +00:00
Eric Kow
9f539f0138 Remember default account even if user submits a different amount.
The use case here is spending that fits a certain template, but
whose amount tends to vary (for example, daily lunch at a cafe).
2011-03-12 19:41:14 +00:00
Eric Kow
3ae989e8cb Move getPostings arguments into a record.
This seems like the kind of function that can get increasingly sophisticated
as the UI gets smarter.  A single argument record could lend a certain
stability, and we're not likely to lose much in partial application terms.
2011-03-12 19:32:01 +00:00
Max Bolingbroke
8c3aa657b6 Add support for date-format conversion directive 2010-12-21 17:57:06 +00:00
Dmitry Astapov
2c771f3d7f Allow amounts with total price in the input to "hledger convert" 2011-04-10 15:01:26 +00:00
Simon Michael
e96dfc639e support "every N day/week/month/quarter/years" reporting intervals 2011-01-14 02:35:00 +00:00
Simon Michael
b2f439eb11 try showing integral "maxprecision" amounts without the .0 (except in add's defaults, where it helps) 2011-01-20 00:17:32 +00:00
Simon Michael
961a6f09eb docs: update copyright dates 2011-04-18 17:36:28 +00:00
Simon Michael
cc656b72c7 remove unnecessary pragmas 2011-04-19 00:43:49 +00:00
Simon Michael
b159f74a4c zero amounts have no sign or commodity, and amounts with different prices are aggregated, like ledger 2011-04-22 13:50:05 +00:00
Simon Michael
e973868995 bump version 2011-04-18 06:53:50 +00:00
Simon Michael
9f66549b5a bump version to alpha 2011-01-21 01:27:39 +00:00
Simon Michael
d369d1f72a docs: misc 2011-01-20 15:30:22 +00:00
Simon Michael
d3663b818e parsing: better international number format support (#32)
This allows period and comma to be used for decimal point and digit group
separator or vice versa, and also flexible digit groups.  See
http://en.wikipedia.org/wiki/Decimal_separator .  Digit group separators
are possibly not worth the trouble and might not stay.
2011-01-19 12:32:18 +00:00
Simon Michael
dd9e78a67a reorganize tests 2010-12-27 20:26:22 +00:00
Simon Michael
27a0900ea9 fix some tests 2010-11-14 20:03:49 +00:00
Simon Michael
811e71aba7 price precisions don't influence display precision; balancing is based on display precision (#23)
Like ledger, price amounts are now "unobserved", ie their precision does
not affect the canonical display precisions used when displaying amounts,
and transaction balancing is done based on display precision, ie amounts
are considered to balance if their sum appears to be zero when using the
canonical display precision.
2010-11-14 22:44:37 +00:00
Simon Michael
e707f97847 parsing: parse transaction and posting metadata, though we don't use it yet 2010-11-13 22:17:32 +00:00
Judah Jacobson
bb43c2c750 Finish the "add" command after an end-of-file. 2010-11-15 03:13:42 +00:00
Simon Michael
a3a7a346ac uniquify reader module names 2010-11-15 07:01:46 +00:00
Simon Michael
5d45f5b387 add: update help message 2010-11-16 15:09:33 +00:00
Simon Michael
ea903ffe6e add: more tests, bugfixes for add's commodity/precision handling; make all tests pass 2010-11-16 15:08:06 +00:00
Simon Michael
27ad4d7efe briefer, more informative usage error messages 2010-11-29 01:08:19 +00:00
Simon Michael
93b1f2b0ca more correct args parsing, fix account filtering in hledger-web 2010-11-29 00:37:21 +00:00
Simon Michael
c6a85c4b88 packagegeddon: make usage and version messages specific to each add-on program
All this stuff has been split up, except for the moment it's still
necessary to define all option constructors in Hledger.Cli.Options.
2010-11-26 19:14:09 +00:00
Simon Michael
188d936889 restore web/vty/chart's special flags as hidden options for now 2010-11-19 00:27:33 +00:00
Simon Michael
1127c3f52f flatten modules a little 2010-11-15 06:48:49 +00:00
Simon Michael
15518da4ac bump version 2010-12-06 18:37:10 +00:00
Simon Michael
37378d6b97 add: add default commodity to commodity-less amounts (#26), misc. defaults fixes 2010-11-13 15:11:45 +00:00
Judah Jacobson
18fd5fe482 Use haskeline in the "add" command, and tab-complete account names. 2010-10-30 18:52:44 +00:00
Simon Michael
d6c2cf6a90 parsing: save final parse context with journal 2010-11-13 15:03:40 +00:00
Simon Michael
7714bab58d web: offer a choice of files to edit when there are multiple (included) files 2010-09-24 01:56:11 +00:00
Simon Michael
78db98366f parsing: support D default commodity directive 2010-11-12 23:54:21 +00:00
Simon Michael
55a44e1ddc fix doctest 2010-12-07 02:15:42 +00:00
Simon Michael
9cb716d002 packagegeddon.. split off web/chart/vty, move hledger to a subdir 2010-09-09 22:54:34 +00:00