Thanks to Chad Voegele, see mailing list ledger-cli@googlegroups.com:
Whenever I had a transaction such as
2010/09/10 * castle bar, nyc (beer)
the transaction.from_lnum function would recognize (beer) as the code
for the transaction which is incorrect since it comes at the end of
the line.
Message ID:
73e397f4-234e-46fe-87e5-45f86f934bf1@k30g2000vbn.googlegroups.com
By using
call LedgerToggleTransactionState(line('.'), ' *?')
the state of the transaction will toggle through:
no state -> * -> ? -> no state -> …
beginning at what ever state it currently has.
Adjust to your liking.
Thanks to Chad Voegele for the suggestion.
This allows you to set the effective date in a convenient way.
Maybe I will add date selection using calendar.vim by Yasuhiro
Matsumoto. Until then, you can map this to use today's date:
call LedgerSetDate(line('.'), 'effective')
To try this, map or call the following function:
LedgerSetTransactionState('') – removes state
LedgerSetTransactionState('*') – sets 'checked' state
…
The logic used to distinguish the different parts
of the first line of a transaction is rather basic
but proved to work so far.
That is a completion which is aware of what it should complete.
Currently only account names are supported.
When you insert an account name like this:
Asse<C-X><C-O>
You will get a list of top-level accounts that start like this.
Go ahead and try something like:
As:Ban:Che<C-X><C-O>
When you have an account like this, 'Assets:Bank:Checking'
should show up.
The problem at this point is that it's recording prices in the price
database multiple times; it should only need to download a price for
each commodity once per day.
This helps to avoid confusion when an account is not
seperated from the amount by two spaces or a tab but only by one space.
In these cases the amount will now be highlighted
as if it belongs to the account name.
Thanks to user 'plaindocs' for reporting this.
Also add option g:ledger_maxwidth to provide old behaviour
by putting a line like this in .vimrc:
let g:ledger_maxwidth = 80
I think that it would make sense to put all the functions and
everything that has to do with foldtext in ftplugin/ledger.vim