Commit Graph

725 Commits

Author SHA1 Message Date
Simon Michael
b73bcda52a include txt man pages in cabal tarballs 2016-04-13 22:38:53 -07:00
Simon Michael
48f89314d5 hledger: long --help flag shows man page
hledger now embeds its man page, and will display it on --help (like
Ledger and git). -h and --help are now different, like git.
2016-04-13 22:32:04 -07:00
Simon Michael
bfa5e14373 doc: generate (and commit) text-rendred man pages
Intended for embedding in executables. Quick implementation,
hopefully these are fixed-width and compatible with all terminals.
2016-04-13 22:29:16 -07:00
Simon Michael
588f36d662 rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
Simon Michael
8ee0c7fa76 doc: update man pages 2016-04-12 20:31:17 -07:00
Simon Michael
aecbcf9461 doc: merge last bits of old manual into new one 2016-04-12 20:22:40 -07:00
Simon Michael
b4d491791c doc: include nroff man pages in cabal tarballs 2016-04-12 11:25:46 -07:00
Simon Michael
b69b149d39 doc: hledger: add more content from old manual 2016-04-10 12:13:38 -07:00
Simon Michael
5754f2bb4a doc: updates, merge some more from old manual 2016-04-09 14:23:55 -07:00
Simon Michael
e4aaa302ce doc: use m4 just to assemble main hledger man page
I was about to drop the m4 experiment, but.. not yet. I want to split up
the big man pages into chunks that are easier to deal with, so now using
m4 for that (only. Pandoc is taking care of selective content stripping
and other rendering adjustments.)

I've switched the suffix of m4-enabled files from .md.m4 to .m4.md -
less correct but activates more useful editor highlighting.
2016-04-09 13:30:21 -07:00
Simon Michael
5d9d155ca0 doc: misc cleanups 2016-04-07 21:59:30 -07:00
Simon Michael
69542160bb doc: remove colons from man page headings 2016-04-07 08:55:53 -07:00
Simon Michael
443b870481 site: fix man page TOCs, add combined man page 2016-04-07 08:55:21 -07:00
Simon Michael
bba7909165 doc: m4-based man pages pt 2, missing files 2016-04-06 09:03:01 -07:00
Simon Michael
f3fb1a89f2 doc: exclude web content from nroffs 2016-04-06 08:20:27 -07:00
Simon Michael
24c2e7d471 doc: move man page source and nroff to PKG/doc/ 2016-04-06 08:16:38 -07:00
Simon Michael
eab6b110bc tools: simplify doc filtering class names 2016-04-05 16:17:08 -07:00
Simon Michael
31a754544a journal: parse account directives
We now parse account directives, like Ledger's. We don't do anything
with them yet. The default parent account feature must now be spelled
"apply account"/"end apply account".
2016-04-04 11:35:39 -07:00
Simon Michael
25cd65442a cli: fix opts parsing regressions from feb
Since commit 7aab544, "-f -" before the command broke command
detection, causing spurious "no such option" errors (and breaking
about 70 functional tests which neither I nor travis noticed).
2016-04-04 11:35:39 -07:00
Simon Michael
2dbe07a666 doc: mark up man pages for man/web rendering
And commit the latest nroff output. It'll need retesting.
2016-02-21 02:32:40 -08:00
Simon Michael
494c74f81b tools: hide package.yaml files to fix travis
The latest stack runs a buggy hpack that generates invalid
cabal files. Rename them to future-package.yaml for now.
2016-02-20 19:07:49 -08:00
Simon Michael
7aab544cf6 cli: make argument-less --debug more robust 2016-02-19 22:53:25 -08:00
Simon Michael
01abf4a56d typo 2016-02-19 17:52:40 -08:00
Simon Michael
82404952ed doc: manual: mention LEDGER_FILE env var gotcha 2016-02-05 18:06:49 -08:00
Simon Michael
96e1ca7ea1 lib: refactor amount canonicalisation
Amount display style canonicalisation code and terminology has been
clarified a bit. Individual amounts still have styles; from these we
derive the standard "commodity styles". In user docs, we might call
these "commodity formats" since a Ledger-compatible commodity directive
would use the "format" keyword.
2015-11-24 01:40:10 -08:00
Simon Michael
4ed27d5d25 doc: add release date to changelogs 2015-10-30 14:09:19 -07:00
Simon Michael
a5fd56223c bump version to 0.27 2015-10-30 13:21:51 -07:00
Simon Michael
36d97a2e50 update cabal docs and other fields 2015-10-30 13:08:03 -07:00
Simon Michael
2feace32dd lib: number transactions as they are read
And allow looking up transactions by their read order (index),
or the previous/next transactions in the sequence.
2015-10-29 20:12:46 -07:00
Simon Michael
60df129c7b doc: changelog updates, combined release notes 2015-10-26 06:37:33 -07:00
Simon Michael
6ae14b3f56 doc: update changelogs 2015-10-26 06:09:57 -07:00
Simon Michael
191c2e533f doc: generate man pages for each package (#282)
There are now six man pages, one for each main executable and file
format, generated from markdown by the mighty pandoc. They are basically
the content of the user manual, split up and moved into the appropriate
package directory.  I've also committed the generated man files.

The man pages' markdown source (hledger/hledger.1.md,
hledger-lib/hledger_journal.5.md etc.) are now the master documentation
files. The plan is to concatenate them (with a little munging) to form
the all-in-one user manual for the website, at release time.  This also
separates the hledger.org user manual from the latest doc commits, which
should simplify website management.
2015-10-20 06:26:09 -07:00
Simon Michael
b64f42c2d8 bal, ui: option help tweaks 2015-10-17 11:22:39 -07:00
Simon Michael
7b8c992f5a register: auto-size amount columns, like hledger-ui 2015-10-10 18:20:40 -07:00
Simon Michael
aee8d2144b add file to package, really fix build error (#286) 2015-10-01 08:46:55 -10:00
Simon Michael
deea422dc1 fix build error (#242) 2015-09-29 21:16:51 -10:00
Simon Michael
58b98faf36 balance: wide-char-aware multicolumn reports (#242) 2015-09-29 20:54:05 -10:00
Simon Michael
42e2da4bb6 balance, print; more wide char support (#242)
Simple (non-multicolumn) balance reports containing wide characters
should now align correctly (in apps and fonts that show wide chars as
double width). Likewise, the print command.
2015-09-28 18:33:18 -10:00
Simon Michael
5b5e5eeaf4 register: wide-character-aware layout (#242)
Wide characters, eg chinese/japanese/korean characters, are typically
rendered wider than latin characters. In some applications (eg gnome
terminal or osx terminal) and fonts (eg monaco) they are exactly double
width. This is a start at making hledger aware of this. A register
report containing wide characters (in descriptions, account names, or
commodity symbols) should now align its columns correctly, when viewed
with a suitable font and application.
2015-09-28 16:12:20 -10:00
Simon Michael
5404eab6c0 add: write all amounts, don't lose price info (#283) 2015-09-27 10:24:21 -10:00
Simon Michael
dab12e2d10 add: note another algorithm 2015-08-28 17:57:16 -07:00
Simon Michael
9e9aec957f print: --match shows the best match for a description
This was originally an add-on I used to guess account names for
ledger-autosync. It's nice for quickly looking up a recent transaction
with a guessed or partial description.
2015-08-28 15:10:51 -07:00
Simon Michael
a73c455570 add: fix a bug impairing similar txn matching
In some cases (when the same letter pair was repeated) it was not
picking the post similar past transaction. This was due to the
similarity algorithm using the order-dependent Data.List.intersect, when
it should use Set.intersection.

Also added a reference for the algorithm, which is known as the
Sørensen–Dice coefficient.
2015-08-28 13:54:51 -07:00
Simon Michael
74512814ec cli/ui/web: rename X.Options modules to X.XOptions
Make these modules' names more like the heavily-used types they
define (CliOpts, UIOpts, WebOpts). This is consistent with
RawOptions and ReportOptions, and helps with code navigation.
2015-08-28 12:43:51 -07:00
Simon Michael
f3dd5eb830 fix options breakage with GHC < 7.10 2015-08-28 11:17:49 -07:00
Simon Michael
2af8d7598e cli, web: fix options breakage 2015-08-28 10:49:43 -07:00
Simon Michael
4dd1e9c725 clean up options validation a little 2015-08-28 09:57:01 -07:00
Simon Michael
19c3749b50 balance: move -V helpers to the *Report modules 2015-08-26 10:38:45 -07:00
Simon Michael
e7aa150e52 ui: solidified register screen, added themes
- register screen:
  - smarter width-sensitive layout, with multi-commodity amounts on one line
  - items are sorted in date order
  - jumps to the latest item by default, with consistent scroll position
  - more prerendering, might speed up movement/paging slightly

- themes! --theme to select, --help to list (current themes: default, terminal, greenterm)

- border tweaks - dropped side borders, added side padding
2015-08-24 16:24:11 -07:00
Simon Michael
49e1840a0f ui: rewrite the ui using brick
hledger-ui (formerly hledger-vty) is now built on brick, a new
declarative UI layer built on vty. This brings much new power, and
should make the UI much easier to grow and maintain.

At this point, functionality and performance are similar to the old
version. There's no journal entries screen, but entering the postings
screen jumps to the latest posting, and layout is better (multiple
commodities are rendered on one line).

Requires unreleased brick from github (HEAD or some branch) for now.
2015-08-24 16:24:11 -07:00
Simon Michael
6fd1e965ed fix cabal file regression breaking GHC<7.10 (#280) 2015-08-21 12:19:43 -07:00
Simon Michael
a1e098c292 balance: re-enable a balance unit test 2015-08-19 20:53:51 -07:00
Simon Michael
cc98ee39f7 balance, lib: --format/StringFormat improvements
The balance command's --format option (in single-column mode) can now
adjust the rendering of multi-line strings, such as amounts with multiple
commodities. To control this, begin the format string with one of:

 %_  - renders on multiple lines, bottom-aligned (the default)
 %^  - renders on multiple lines, top-aligned
 %,  - render on one line, comma-separated

Also the final total (and the line above it) now adapt themselves to a
custom format.
2015-08-19 20:53:51 -07:00
Simon Michael
69c870c6f0 balance, lib: make StringFormat singular; cleanup
Pass around a StringFormat rather than [StringFormat].
Also more balance report item rendering refactoring.
2015-08-19 20:53:50 -07:00
Simon Michael
36dd64cf02 balance, lib: clarify --format implementation
The --format option's OutputFormat type was named confusingly like the
--output-format option.  It has been renamed StringFormat to distinguish
it from StorageFormat (aka the data file format, referenced by
--output-format). Related code and types have been consolidated.
Also the (single-column) balance report's item rendering has had
some cleanup.
2015-08-19 20:53:49 -07:00
Simon Michael
e485962a70 cli, web: obey the threaded flag again
[ci skip]
2015-08-13 11:55:58 -07:00
Simon Michael
3932655bde lib: expose two functions required by hledger-ui 2015-08-13 11:53:28 -07:00
Simon Michael
fcb7d297c8 use canonical bugs.hledger.org url in cabal yamls 2015-08-13 10:02:06 -07:00
Simon Michael
48e31d4f8c bump version to 0.26.98 2015-08-12 22:49:04 -07:00
Simon Michael
a9b2e5409c switch to hpack-generated cabal files
The hledger-lib, hledger and hledger-web cabal files are now generated
from the package.yaml files with hpack, plus some manual fixups.
2015-08-12 22:45:08 -07:00
Simon Michael
b91f2b85d0 update hpack package.yaml files 2015-08-12 09:25:28 -07:00
Simon Michael
94094252be rename historical prices to market prices
Simpler and clearer. We now have "transaction prices" (recorded as part
of transaction amounts) and "market prices" (recorded with P
directives). Both are matters of historical record, also this avoids
confusion with the balance command's "historical balances".
2015-08-09 16:20:02 -07:00
Simon Michael
49be1f646e balance: add -V/--value to show as market value
Initial support of market value reporting and currency conversion,
similar in spirit to Ledger's.  The balance command now has a -V/--value
flag that converts all the reported amounts using their "default market
price". That is the latest market price (P directive, formerly called
"historical prices") found in the journal for their commodity that is on
or before the report end date.

Unlike Ledger, hledger's -V only uses the market prices recorded with P
directives, ignoring transaction prices recorded as part of posting
amounts (which -B/--cost uses). Using -B and -V together is allowed.
2015-08-09 16:03:16 -07:00
Simon Michael
9da0ab6af9 doc: give hledger a README on hackage (via symlink) 2015-07-21 12:23:31 -07:00
Simon Michael
78018cc24d tools: yaml definitions for the hledger cabal files
Here are hpack package.yaml files for the other hledger cabal files.
These remove a lot of human-error-prone duplication.
They are not used yet as hpack isn't quite mature enough -
when it supports flags and benchmarks we will probably switch.
2015-07-14 17:32:49 -07:00
Simon Michael
087f3a49bc note older tested-with versions based on hackage builder 2015-07-13 20:23:59 -07:00
Simon Michael
0b2ccdd298 0.26 changelogs/release notes 2015-07-12 17:58:02 -07:00
Simon Michael
3d3c374cc6 update tested-with 2015-07-12 17:36:19 -07:00
Simon Michael
90ae65eda9 cherry pick 0.25.1 changelogs 2015-07-12 15:48:21 -07:00
Simon Michael
e5c0d75117 bump version to 0.26 2015-07-12 15:29:10 -07:00
Simon Michael
2b3bdca6b1 cli: drop shakespeare-text dependency in more places
Drop deprecated shakespeare-text dependency for ghc 7.10+ consistently,
not just in one place. Hopefully this will clear the warning
at packdeps.haskellers.com.
2015-07-12 14:58:06 -07:00
Simon Michael
4c6979c3fc register: comment 2015-06-27 06:40:43 -07:00
Simon Michael
f9f0f16a9c tools: benchmark cleanup 2015-06-27 06:35:00 -07:00
Simon Michael
89513fc256 stats: support -o/--outputfile, useful for benchmarks 2015-06-25 16:31:57 -07:00
Simon Michael
01db48fcfc cli: a more robust and featureful bench test
The bench script invoked by cabal bench or stack bench now links the
benchmarked code directly, avoiding any dependence on the shell and
$PATH. Also, it reports the journal parse time and the various reports
on the parsed data separately, and runs quicker.

You can get more accurate benchmark times by running with --criterion.
This will usually give much the same numbers and takes much longer.

Benchmarking via simplebench is still available, by running with
--simplebench. In this mode it benchmarks whatever commands are
configured in bench/default.bench. A disadvantage is that it uses the
first "hledger" executable in $PATH, so check which one it reports.
2015-06-25 16:08:27 -07:00
Simon Michael
e516aa6c3c stats: fix O(n^2) performance, now much faster on large journals 2015-06-19 11:07:35 -07:00
Simon Michael
745f2dd788 cli: a cabal bench test that works 2015-06-18 09:49:51 -07:00
Simon Michael
335deec496 cli: cabal test suite cleanup 2015-06-18 09:48:18 -07:00
Simon Michael
049baed4d8 register: fix a runtime error with amountless postings 2015-06-11 10:16:45 -07:00
Simon Michael
ce5d87177a update journalFilePathFromOpts haddock 2015-06-04 09:43:15 -07:00
Imuli
49f1744ae5 read multiple files: internals 2015-05-28 10:40:48 -07:00
Imuli
8385da205e read multiple files: options 2015-05-28 10:40:48 -07:00
Simon Michael
20acc45fbb activity: don't exclude 0-amount postings by default 2015-05-21 16:38:17 -07:00
Simon Michael
9e2111106b drop regexpr dependency 2015-05-17 08:32:45 -07:00
Simon Michael
d1f63334ee handle pending status correctly, add --pending (#250)
A transaction/posting status of ! (pending) was effectively equivalent
to * (cleared). Now it's a separate state, not matched by --cleared.
The new Ledger-compatible --pending flag matches it, and so does
--uncleared. The equivalent search queries are now status:*, status:!
and status: (the old status:1 and status:0 spellings are deprecated).

Since we interpret --uncleared and status: as "any state except cleared",
it's not currently possible to match things which are neither cleared
nor pending.
2015-05-16 11:51:35 -07:00
Simon Michael
934d217523 changelogs 2015-05-14 13:39:54 -07:00
Simon Michael
077e3c6a02 journal: re-add non-regex aliases, as default (#252)
The regex account aliases added in 0.24 trip up people switching between
hledger and Ledger. (Also they are currently slow).

This change makes the old non-regex aliases the default; they are
unsurprising, useful, and pretty close in functionality to Ledger's.

The new regex aliases are also available; they must be enclosed in
forward slashes. Ledger effectively ignores these, which is ok.

Also clarify docs, refactor, and use the same parser for alias
directives and alias options
2015-05-14 13:01:50 -07:00
Simon Michael
70d87613f2 some cleanup of debug trace helpers 2015-05-14 13:01:49 -07:00
Simon Michael
61423bdad4 consistently require latest base-compat for sanity 2015-04-29 07:16:08 -07:00
Simon Michael
104cb44d04 fix missing Control.Applicative.Compat (#245) 2015-04-29 07:10:55 -07:00
Simon Michael
dac8a784f4 bump version to 0.26 alpha 2015-04-28 13:48:23 -07:00
Simon Michael
1bc9b71f28 bump version to 0.25 2015-04-28 13:42:41 -07:00
Simon Michael
735f818c22 changelogs 2015-04-07 17:14:44 -07:00
Simon Michael
f75849cdd6 fix ghc 7.10 Applicative import warnings (#239)
Still needed CPP, despite using base-compat.
2015-03-29 16:09:41 -07:00
Simon Michael
592d997438 whitespace 2015-03-29 16:03:23 -07:00
Simon Michael
b52f08603b avoid a shakespeare/ghc-7.10 build failure (#239) 2015-03-29 14:20:33 -07:00
Simon Michael
8e50395b7c ErrorT -> ExceptT, handle mtl <2.2.1 && >=2.2.1 (#239) 2015-03-29 14:16:42 -07:00
Simon Michael
b8b730226f hledger/hledger-lib: update tested-with
Add 7.10 and drop 7.2-7.6 which haven't been tested recently (but should
still work)
2015-03-27 15:44:39 -07:00
Simon Michael
e60eb71467 adapt to GHC-7.10's time-1.5 (#239) 2015-03-27 15:42:32 -07:00
Simon Michael
b8974c4bcc register: update --width help 2015-03-27 08:02:37 -07:00
Simon Michael
414a33f3e4 merge changelog updates 2015-03-15 13:20:55 -07:00
Simon Michael
ee55a76b23 changelog tweak 2015-03-15 11:10:53 -07:00
Simon Michael
c47463332a allow utf8-string-1 (fix fpco/stackage/#426) 2015-03-15 11:06:53 -07:00
Simon Michael
adf10c238d update changelogs 2015-02-27 08:37:16 -08:00
Simon Michael
592ae9a28e timelog: show hours with 2 decimal places, not 1 2015-02-27 08:37:16 -08:00
Simon Michael
372a2d768b register: use full width, column widths, cleanup
Refactored and enhanced the --width option used by register (and other
commands in future). register now uses the full terminal width by
default except on windows. Specifically, the output width is set from:

1. a --width option
2. or a COLUMNS environment variable (NB: not the same as a bash shell var)
3. or on POSIX (non-windows) systems, the current terminal width
4. or the default, 80 characters.

Also, register now accepts a description column width as part of
--width's argument, comma-separated (--width W,D). This adjusts the
relative widths of register's description and account columns, which are
normally about half of (W-40):

<--------------------------------- width (W) ---------------------------------->
date (10)  description (D)       account (W-41-D)     amount (12)   balance (12)
DDDDDDDDDD dddddddddddddddddddd  aaaaaaaaaaaaaaaaaaa  AAAAAAAAAAAA  AAAAAAAAAAAA

Examples:
$ hledger reg                 # use terminal width on posix
$ hledger reg -w 100          # width 100, equal description/account widths
$ hledger reg -w 100,40       # width 100, wider description
$ hledger reg -w $COLUMNS,100 # terminal width and set description width
2015-01-19 13:48:37 -08:00
Simon Michael
8278c13268 cli: on POSIX systems, use terminfo (and curses)
When building hledger on a non-windows system, and the new "curses"
cabal flag is true (as it is by default), include the terminfo package.
This will be useful for detecting terminal width and perhaps other
things.

Installation on posix is slightly harder now, since it will need the C
curses dev libraries. The curses flag lets posix users skip that
requirement by adding -f-curses (or cabal might even do that
automatically).
2015-01-19 13:47:43 -08:00
Julien Moutinho
af56ced3b0 lib: add eof parsing checks 2015-01-11 09:45:55 -08:00
Simon Michael
fabf8a743d changelogs 2015-01-10 22:28:36 -08:00
Simon Michael
6543f44d82 doc: forgot add release date to changelogs 2015-01-10 17:03:44 -08:00
Simon Michael
95ced2da80 balance: fix partially-visible totals row
With --no-total in a periodic (non-cumulative, non-historical) balance
report, hide the totals row completely, as in the other modes.
2014-12-27 16:46:37 -08:00
Simon Michael
6da4942633 balance: tweak flags a bit; we now use -N and -T
-N doesn't seem to be used by Ledger currently; we'll
use it as shortcut for --no-total.

-T is used by Ledger to set a custom value expression for the final
total. I'm going to take it as a shortcut for --row-total instead.
2014-12-27 15:34:23 -08:00
Simon Michael
ba0623165f balance: row totals/averages in multicolumn mode 2014-12-27 15:24:45 -08:00
Simon Michael
a719cb8f6e bump version to 0.25-unreleased 2014-12-26 11:08:20 -08:00
Simon Michael
e77225038f bump version to 0.24 2014-12-25 11:42:39 -08:00
Simon Michael
4cfec7043a doc: update changelogs 2014-12-25 11:04:26 -08:00
Simon Michael
62bad65e5b tighten up status: docs and behaviour a bit (fix #227)
A status: query term no longer accepts * as a synonym for 1,
which was a bit confusing since 1 matches both * and !.
For now, it takes a value of 1 (true) or anything else (false).
2014-12-24 23:48:23 -08:00
Simon Michael
68a4adb0bd doc: draft changelogs for all three packages 2014-12-21 12:01:11 -08:00
Simon Michael
e14f39bae0 balance: ignore --drop when displaying in tree mode 2014-12-16 09:11:13 -08:00
Julien Moutinho
c65fea2b4b lib: fix combineJournalUpdates folding order
NOTE: this is important to correctly build JournalContext
NOTE: currently a list reverse must done at the end,
      maybe using a Data.Queue would be more efficient.
2014-12-11 04:37:10 +01:00
Simon Michael
855d4e1131 balance: with --tree and --flat, use the last (fix #219) 2014-12-05 12:56:33 -08:00
Simon Michael
9ede5cef1e doc: start release notes 2014-12-02 11:50:44 -08:00
Julien Moutinho
cf28985cf2 lib: move from Text.ParserCombinators.Parsec to Text.Parsec
NOTE: required to use liftIO in includedirective
SEE: http://www.vex.net/~trebla/haskell/parsec-generally.xhtml#IO
2014-11-20 10:08:30 +01:00
Simon Michael
9fa22e0398 account aliases (and regexReplace) now support backreferences 2014-10-29 07:46:49 -07:00
Simon Michael
21ed3dc73d balance: support CSV for multi-column balance reports 2014-10-23 05:11:48 -07:00
Simon Michael
9d1ef010ac finish previous commit 2014-10-21 17:49:41 -07:00
Simon Michael
9416d12d8a --output -> --output-file/-o & --output-format/-O, refactor
Use two options and less surprising behaviour. Notes:
* a recognised suffix on the output file name can set the format
* but --output-format always wins
* -o - means stdout
* currently these are command-specific options on balance, print, register
* later, --output-file should become a global option
* and --output-format should be available at least on all commands which
  support multiple formats. Each command may support a different set of
  output formats, which should be listed in its command line help.
2014-10-21 17:14:37 -07:00
Simon Michael
b6774f47a3 balance, print: add -o and CSV output here too
Not very elegant yet, but works.
2014-10-21 12:02:23 -07:00
Simon Michael
2dc44cb131 register command cleanups 2014-10-21 12:01:47 -07:00
Simon Michael
b542da133c cli: add csv dependency 2014-10-20 13:09:41 -07:00
Simon Michael
d234663b6d register: add -o/--output option, merge CSV functionality (cf #206) 2014-10-20 13:04:36 -07:00
Simon Michael
301f506486 the --format option shall be known as "line format" 2014-10-20 13:03:44 -07:00
Simon Michael
0620ec9840 fix redundant compilation in the hledger packages, at last
This seems to work well now with my haddock and GHC 7.8.
Not tested with GHC 7.6 though.
2014-10-19 09:37:18 -07:00
Simon Michael
f4842726e0 tools: fix warnings in simplebench 2014-10-19 09:34:46 -07:00
Simon Michael
6d67bcb026 cli: --version shows "dev build" when VERSION is undefined
Probably only noticeable in GHCI.
2014-10-18 12:36:27 -07:00
Simon Michael
e8a58d9388 cli: add a hidden --version+ flag showing number representation (#118) 2014-10-18 12:35:58 -07:00
Simon Michael
84a90374b4 make build warnings consistent 2014-10-18 10:16:22 -07:00
gwern
d1618aaca8 strip trailing whitespace from all Haskell files 2014-10-14 18:48:24 -07:00
Simon Michael
5d403c2bb7 doc: changelogs (resolve conflicts)
Conflicts:
	hledger-lib/CHANGES
	hledger-web/CHANGES
2014-09-12 18:41:35 -07:00
Simon Michael
d7f1733243 remove text upper bound, allowing 1.2+ (fixes #207) 2014-09-12 18:36:23 -07:00
Simon Michael
776a973d2c cli: clarify --debug help 2014-08-08 19:12:20 -07:00
Simon Michael
aa85e786b9 register: describe datespans briefly, like balance
Eg instead of 2014/01/01 - 2014/01/31, show 2014/01, as in a multicolumn
balance report. The data model is not very elegant, but works for now.
2014-08-08 07:34:11 -07:00
Simon Michael
f631e8e063 register: --average implies --empty
The -A flag now enables -E, so that with a report interval the averages
are always per-period and not per-report-line. (Without a report
interval, -E is already the default).
2014-08-07 14:03:56 -07:00
Julien Moutinho
ec243a1bea data: fix unit test by ignoring sourcepos 2014-08-07 17:48:04 +02:00
Julien Moutinho
a6190420b2 data: add source location to transactions 2014-08-07 16:38:44 +02:00
Simon Michael
40ab1e17f6 amounts cleanups, and support zeros with commodity 2014-07-28 18:45:13 -07:00
Simon Michael
7fb154f820 balance: include report span in title 2014-07-26 17:29:20 -07:00
Simon Michael
ca43eab47a balance: simplify multicolumn report titles slightly 2014-07-26 17:09:29 -07:00
Simon Michael
b499ea85eb register: optimise postingsReportItemAsText a bit
Avoid concatTopPadded when rendering register output, making that
command faster when there's a lot of output.
2014-07-07 08:37:27 -07:00
Simon Michael
3a16e6cfc7 mostly replace slow regexpr with regex-tdfa (fixes #189) 2014-07-06 14:03:28 -07:00
Simon Michael
16f8b78305 balance: show multi-commodity amts on one line (fixes #186)
To avoid totally breaking the layout of multicolumn balance reports when
there are multi-commodity balances, these are now rendered on a single
line, comma separated. Simple balance reports still use the old vertical
format for now.
2014-07-03 07:45:55 -07:00
Simon Michael
3669422bbf make --width and --debug require an argument (fixes #149)
This is a workaround for a cmdargs limitation. Having "--debug 2"
or "--width 100" produce no output (because the number is parsed
as a separate argument) is too annoying.
2014-07-03 07:31:52 -07:00
Simon Michael
330dfe6891 commodity & amount style parser cleanups, part 2 2014-07-02 17:41:33 -07:00
Simon Michael
0c3148ac7b add an --ignore-assertions flag
Can be helpful when reading Ledger files, where assertions may have
different semantics; or for getting some answers from your journal
to help you fix your assertions.

Could be called --no-assertions, but this might create surprise when it
has an effect contrary to --no-new-accounts.

I had to add another flag throughout the parsers & journal read
functions, ok for now.
2014-07-01 18:26:37 -07:00
Simon Michael
34f4800e82 Revert "remove Setup.hs files again, fixing a yesod devel warning"
Setup.hs are required by the Hydra buildbot.

This reverts commit 97ab3db8f0.
2014-05-24 13:39:09 -07:00
Simon Michael
97ab3db8f0 remove Setup.hs files again, fixing a yesod devel warning
These were removed and re-added in 2011 because "hackage needed them".
Let's try again.
2014-05-23 09:04:00 -07:00
Simon Michael
6b059aeb5e Merge branch 'rdesfo-0.23'
Conflicts:
	.version
	hledger-lib/Hledger/Read/CsvReader.hs
	hledger-lib/hledger-lib.cabal
	hledger-web/hledger-web.cabal
	hledger/hledger.cabal
2014-05-22 16:15:35 -07:00
Ryan Desfosses
b60da51386 made the following changes to resolve deprecated warnings:
replaced hamletToRepHtml with giveUrlRenderer
  updated type RepHtml to Html
  replaced settingsPort with setPort
2014-05-21 07:30:54 -04:00
Ryan Desfosses
38f977fa48 Histogram: fixes previous change
change made in Histogram:cabal test and hlint warning
2014-05-14 12:18:50 -04:00
Ryan Desfosses
47853d6df6 Cli: cabal test and hlint warnings 2014-05-11 20:19:36 -04:00
Ryan Desfosses
342bae8c35 Histogram: cabal test and hlint warnings 2014-05-11 19:27:39 -04:00
Simon Michael
fc7acea381 Merge branch 'master' of github.com:rdesfo/hledger into rdesfo
Conflicts:
	README.md
2014-05-08 14:44:53 -07:00
Simon Michael
2bba4dbe3c update changelogs 2014-05-08 14:35:20 -07:00
Simon Michael
3113e09a62 bump version to 0.23.2 2014-05-08 14:32:29 -07:00
Simon Michael
6d93fe15d3 update changelogs 2014-05-08 14:32:06 -07:00
Ryan Desfosses
39479638e3 Option: cabal test and hlint warnings 2014-05-07 22:34:41 -04:00
Simon Michael
ec48926a38 update changelog 2014-05-07 16:49:44 -07:00
Simon Michael
4b1714a9e0 bump version to 0.23.1 2014-05-07 16:44:44 -07:00
Simon Michael
6d6aae3cc9 update changelog 2014-05-07 16:43:32 -07:00
Simon Michael
120b3b8377 add: don't apply a default commodity to amounts on entry (fixes #138) 2014-05-07 16:37:22 -07:00
Simon Michael
09ebd3e049 cli: options before the add-on are also passed to it (fixes #182) 2014-05-07 16:37:22 -07:00
Simon Michael
41add3ffeb oh fine still cant do that, bump to 0.23.98 2014-05-03 17:18:12 -07:00
Simon Michael
87f1e83d78 bump version to 0.24dev 2014-05-03 15:51:57 -07:00
Simon Michael
cceff52403 add: don't apply a default commodity to amounts on entry (fixes #138) 2014-05-03 15:48:20 -07:00
Simon Michael
f7406f77cf cli: options before the add-on are also passed to it (fixes #182) 2014-05-03 15:26:51 -07:00
Simon Michael
07a82724ed lib, cli, web: change from "beta" to "stable"
Also add the hackage Console category to the first two.
2014-05-01 08:20:05 -07:00
Simon Michael
1eeedfe551 bump versions to 0.23 2014-05-01 08:17:17 -07:00
Simon Michael
524bfe73c6 final changelogs 2014-05-01 08:14:36 -07:00
Simon Michael
e6a1339370 cli: options help polish 2014-05-01 07:22:44 -07:00
Simon Michael
66422a7711 cli: more flag cleanups, help layout improvements 2014-04-30 17:40:14 -07:00
Simon Michael
2a1e0f6aff cli: drop --display from command-line help 2014-04-30 17:39:38 -07:00
Simon Michael
a28d4fd400 register: drop --display, use --historical instead
We provided a very limited implementation of --display only for one use
case: to see an accurate running balance. Now that is achieved more easily
with -H/--historical, similar to the balance command, and --display
can be dropped.
2014-04-30 17:24:41 -07:00
Simon Michael
98cc1d0e77 addons: more description strings for test addons 2014-04-30 07:32:10 -07:00
Simon Michael
7d579adb0e changelog updates 2014-04-28 00:55:14 -07:00
Simon Michael
aee7b3512d cli: omit the -- from debug output as well 2014-04-27 23:44:24 -07:00
Simon Michael
9418967343 cli: a fix for add-on options after -- (don't pass the -- through) 2014-04-27 23:34:27 -07:00
Simon Michael
d0932cb47a cli: small cleanup 2014-04-27 23:34:09 -07:00
Simon Michael
f3c90a1351 addons: simplify and firm up add-on command parsing
Drop the special case where we hide an add-on's source version if a
compiled version is also present. Better to be simple and explicit.

Improve robustness of command parsing, eg "hledger addon.hs"
will now work even though the command is listed as "addon".

And ignore any add-ons which would shadow a built-in command
(or any of the official command aliases displayed in the command list,
like "bal" and "reg"). Built-ins may not be replaced by an add-on.
2014-04-27 18:48:35 -07:00
Simon Michael
791f6fdd15 expose the accounts command in Hledger.Cli 2014-04-27 18:47:27 -07:00
Simon Michael
7d73ab5264 cli: drop single-letter aliases, keep the familiar three-letter ones where useful 2014-04-27 18:46:34 -07:00
Simon Michael
4b47c1340f addons: note more issues 2014-04-26 10:49:37 -07:00
Simon Michael
9ce2d6a75a tools: update test addons 2014-04-26 10:44:31 -07:00
Simon Michael
9a255051e8 addons: try to be smarter about showing file extensions
We now hide add-ons' file extensions in the commands list except when
they are needed for disambiguation. There are three cases:

- when an add-on exists with only one file extension, the extension is
  not displayed.

- when an add-on has exactly two variants, one with the .[l]hs extension
  and the other with none or .exe - presumably the source and compiled
  versions - we omit the source version from the list.

- otherwise when an add-on has multiple variants differing by file
  extension, they are listed with their extensions displayed.
2014-04-26 10:25:32 -07:00
Simon Michael
eeb48c86d1 default report dates come from secondary dates with --date2 2014-04-24 14:44:30 -07:00
Simon Michael
32f182158e fix a warning 2014-04-22 17:50:09 -07:00
Simon Michael
e40b587357 addons: another fix for addon detection on windows 2014-04-22 17:49:03 -07:00
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
d46b290287 update tested-withs 2014-04-19 12:16:14 -07:00
Simon Michael
499cf41b03 hledger, web: allow shakespeare 2.* 2014-04-19 12:15:20 -07:00
Simon Michael
1fca3e7472 orDatesFrom -> spanDefaultsFrom 2014-04-19 08:38:03 -07:00