Merge pull request #187 from thdox/documentation

Documentation
This commit is contained in:
John Wiegley 2013-05-20 14:56:51 -07:00
commit 67ce56e37c
2 changed files with 1400 additions and 1023 deletions

View file

@ -8,6 +8,7 @@
@c needs. @c needs.
@copying @copying
Copyright @copyright{} 2013, Craig Earls. All rights reserved. Copyright @copyright{} 2013, Craig Earls. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
@ -15,17 +16,21 @@ modification, are permitted provided that the following conditions are
met: met:
@itemize @itemize
@item @item
Redistributions of source code must retain the above copyright notice, Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer. this list of conditions and the following disclaimer.
@item @item
Redistributions in binary form must reproduce the above copyright Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution. documentation and/or other materials provided with the distribution.
@item @item
Neither the name of New Artisans LLC nor the names of its contributors Neither the name of New Artisans LLC nor the names of its contributors
may be used to endorse or promote products derived from this software may be used to endorse or promote products derived from this software
without specific prior written permission. without specific prior written permission.
@end itemize @end itemize
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
@ -39,6 +44,7 @@ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@end copying @end copying
@dircategory Major Modes @dircategory Major Modes
@ -333,21 +339,25 @@ states unless specifically instructed to use them. Ledger-mode assigns
some additional meaning to the states: some additional meaning to the states:
@itemize @itemize
@item Uncleared. @item Uncleared.
No state. This is equivalent to sticking a check in the mail. It has No state. This is equivalent to sticking a check in the mail. It has
been obligated, but not been cashed by the recipient. It could also been obligated, but not been cashed by the recipient. It could also
apply to credit/debit card transactions that have not been cleared into apply to credit/debit card transactions that have not been cleared into
your account balance. You bank may call these transactions ``pending'', your account balance. You bank may call these transactions ``pending'',
but Ledger-mode uses a slightly different meaning. but Ledger-mode uses a slightly different meaning.
@item Pending. @item Pending.
Ledger-mode's reconciliation function see pending transactions as an Ledger-mode's reconciliation function see pending transactions as an
intermediate step in reconciling an account. When doing intermediate step in reconciling an account. When doing
a reconciliation (@pxref{Reconciliation}), marking a transaction as a reconciliation (@pxref{Reconciliation}), marking a transaction as
pending means that you have seen the transaction finally recorded by the pending means that you have seen the transaction finally recorded by the
recipient, but you have not completely reconciled the account. recipient, but you have not completely reconciled the account.
@item Cleared. @item Cleared.
The transaction has been completely recognized by all parties to the The transaction has been completely recognized by all parties to the
transaction. transaction.
@end itemize @end itemize
@kindex C-c C-e @kindex C-c C-e
@ -433,18 +443,24 @@ transactions. For details of the regular expression syntax, see
using the @file{demo.ledger} are given here: using the @file{demo.ledger} are given here:
@table @samp @table @samp
@item Groceries @item Groceries
Show only transactions that have a posting to the @samp{Groceries} Show only transactions that have a posting to the @samp{Groceries}
account. account.
@item ^2011/01 @item ^2011/01
Show only transactions occurring in January of 2011. Show only transactions occurring in January of 2011.
@item ^2011/.*/25 @item ^2011/.*/25
Show only transactions occurring on the 25th of the month in 2011. Show only transactions occurring on the 25th of the month in 2011.
@item auto @item auto
Show only transactions with payees or accounts or comments containing. Show only transactions with payees or accounts or comments containing.
@samp{auto} @samp{auto}
@item harley$ @item harley$
Show only transactions with any line ending with @samp{harley}. Show only transactions with any line ending with @samp{harley}.
@end table @end table
To show back all transactions simply invoke @samp{Narrow to Regex} or To show back all transactions simply invoke @samp{Narrow to Regex} or
@ -604,16 +620,21 @@ Typing @kbd{C-c C-o C-r} or using menu @samp{Ledger Run Report} prompt
for the name of a saved report. The built-in reports are: for the name of a saved report. The built-in reports are:
@table @var @table @var
@item bal @item bal
Produce a balance reports of all accounts. Produce a balance reports of all accounts.
@item reg @item reg
Produce a register report of all transactions. Produce a register report of all transactions.
@item payee @item payee
Prompt for a payee, then produce a register report of all transactions Prompt for a payee, then produce a register report of all transactions
involving that payee. involving that payee.
@item account @item account
Prompt for an account, then produce a register report of all Prompt for an account, then produce a register report of all
transactions involving that account. transactions involving that account.
@end table @end table
@node Adding and Editing Reports, Reversing Report Order, Running Basic Reports, The Report Buffer @node Adding and Editing Reports, Reversing Report Order, Running Basic Reports, The Report Buffer
@ -662,15 +683,20 @@ expansion to prompt the user for the account to use. There are four
variables that can be expanded to run a report: variables that can be expanded to run a report:
@table @var @table @var
@item ledger-file @item ledger-file
Returns the file to be operated on. Returns the file to be operated on.
@item payee @item payee
Prompts for a payee. Prompts for a payee.
@item account @item account
Prompt for an account. Prompt for an account.
@c FIXME : is it 'value' or 'tag' for '@item value' just below?
@item value @item value
@c FIXME : is it 'value' or 'tag' for @item above?
Prompt for a tag value. Prompt for a tag value.
@end table @end table
You can use these expansion values in your ledger report commands. For You can use these expansion values in your ledger report commands. For
@ -750,14 +776,18 @@ for Ledger under the data options. Alternately you can choose
@cindex customization, ledger-mode @cindex customization, ledger-mode
@ftable @option @ftable @option
@item ledger-occur-use-face-shown @item ledger-occur-use-face-shown
If non-nil, use a custom face for transactions shown in If non-nil, use a custom face for transactions shown in
@option{ledger-occur} mode using @option{ledger-occur-xact-face}. @option{ledger-occur} mode using @option{ledger-occur-xact-face}.
@item ledger-clear-whole-transactions @item ledger-clear-whole-transactions
If non-nil, clear whole transactions, not individual postings. If non-nil, clear whole transactions, not individual postings.
@item ledger-highlight-xact-under-point @item ledger-highlight-xact-under-point
If non-nil, highlight transaction under point using If non-nil, highlight transaction under point using
@option{ledger-font-highlight-face}. @option{ledger-font-highlight-face}.
@end ftable @end ftable
@node Ledger Reconcile Customization Group, Ledger Report Customization Group, Ledger Customization Group, Customization Variables @node Ledger Reconcile Customization Group, Ledger Report Customization Group, Ledger Customization Group, Customization Variables
@ -765,23 +795,30 @@ If non-nil, highlight transaction under point using
@cindex customization, reconcile @cindex customization, reconcile
@ftable @option @ftable @option
@item ledger-reconcile-default-commodity @item ledger-reconcile-default-commodity
The default commodity for use in target calculations in ledger The default commodity for use in target calculations in ledger
reconcile. Defaults to @samp{$} (USD). reconcile. Defaults to @samp{$} (USD).
@item ledger-recon-buffer-name @item ledger-recon-buffer-name
Name to use for reconciliation buffer. Defaults to @file{*Reconcile*}. Name to use for reconciliation buffer. Defaults to @file{*Reconcile*}.
@item ledger-narrow-on-reconcile @item ledger-narrow-on-reconcile
If non-nil, limit transactions shown in main buffer to those matching If non-nil, limit transactions shown in main buffer to those matching
the reconcile regex. the reconcile regex.
@item ledger-buffer-tracks-reconcile-buffer @item ledger-buffer-tracks-reconcile-buffer
If non-nil, then when the cursor is moved to a new transaction in the If non-nil, then when the cursor is moved to a new transaction in the
reconcile window. reconcile window.
@item ledger-reconcile-force-window-bottom @item ledger-reconcile-force-window-bottom
If non-nil, make the reconcile window appear along the bottom of the If non-nil, make the reconcile window appear along the bottom of the
register window and resize. register window and resize.
@item ledger-reconcile-toggle-to-pending @item ledger-reconcile-toggle-to-pending
If non-nil, then toggle between uncleared and pending @samp{!}. If If non-nil, then toggle between uncleared and pending @samp{!}. If
false toggle between uncleared and cleared @samp{*}. false toggle between uncleared and cleared @samp{*}.
@end ftable @end ftable
@node Ledger Report Customization Group, Ledger Faces Customization Group, Ledger Reconcile Customization Group, Customization Variables @node Ledger Report Customization Group, Ledger Faces Customization Group, Ledger Reconcile Customization Group, Customization Variables
@ -789,11 +826,14 @@ false toggle between uncleared and cleared @samp{*}.
@cindex customization, report @cindex customization, report
@ftable @option @ftable @option
@item ledger-reports @item ledger-reports
Definition of reports to run. Definition of reports to run.
@item ledger-report-format-specifiers @item ledger-report-format-specifiers
An alist mapping ledger report format specifiers to implementing An alist mapping ledger report format specifiers to implementing
functions. functions.
@end ftable @end ftable
@node Ledger Faces Customization Group, Ledger Post Customization Group, Ledger Report Customization Group, Customization Variables @node Ledger Faces Customization Group, Ledger Post Customization Group, Ledger Report Customization Group, Customization Variables
@ -803,38 +843,55 @@ functions.
Ledger Faces: Ledger-mode highlighting Ledger Faces: Ledger-mode highlighting
@ftable @option @ftable @option
@item ledger-font-uncleared-face @item ledger-font-uncleared-face
Default face for Ledger. Default face for Ledger.
@item ledger-font-cleared-face @item ledger-font-cleared-face
Default face for cleared @samp{*} transactions. Default face for cleared @samp{*} transactions.
@item ledger-font-highlight-face @item ledger-font-highlight-face
Default face for transaction under point. Default face for transaction under point.
@item ledger-font-pending-face @item ledger-font-pending-face
Default face for pending @samp{!} transactions. Default face for pending @samp{!} transactions.
@item ledger-font-other-face @item ledger-font-other-face
Default face for other transactions. Default face for other transactions.
@item ledger-font-posting-account-face @item ledger-font-posting-account-face
Face for Ledger accounts. Face for Ledger accounts.
@item ledger-font-posting-account-cleared-face @item ledger-font-posting-account-cleared-face
Face for cleared Ledger accounts. Face for cleared Ledger accounts.
@item ledger-font-posting-account-pending-face @item ledger-font-posting-account-pending-face
Face for Ledger pending accounts. Face for Ledger pending accounts.
@item ledger-font-posting-amount-face @item ledger-font-posting-amount-face
Face for Ledger amounts. Face for Ledger amounts.
@item ledger-occur-narrowed-face @item ledger-occur-narrowed-face
Default face for Ledger occur mode hidden transactions. Default face for Ledger occur mode hidden transactions.
@item ledger-occur-xact-face @item ledger-occur-xact-face
Default face for Ledger occur mode shown transactions. Default face for Ledger occur mode shown transactions.
@item ledger-font-comment-face @item ledger-font-comment-face
Face for Ledger comments. Face for Ledger comments.
@item ledger-font-reconciler-uncleared-face @item ledger-font-reconciler-uncleared-face
Default face for uncleared transactions in the reconcile window. Default face for uncleared transactions in the reconcile window.
@item ledger-font-reconciler-cleared-face @item ledger-font-reconciler-cleared-face
Default face for cleared @samp{*} transactions in the reconcile window. Default face for cleared @samp{*} transactions in the reconcile window.
@item ledger-font-reconciler-pending-face @item ledger-font-reconciler-pending-face
Default face for pending @samp{!} transactions in the reconcile window. Default face for pending @samp{!} transactions in the reconcile window.
@item ledger-font-report-clickable-face @item ledger-font-report-clickable-face
FIXME FIXME
@end ftable @end ftable
@node Ledger Post Customization Group, Ledger Exec Customization Group, Ledger Faces Customization Group, Customization Variables @node Ledger Post Customization Group, Ledger Exec Customization Group, Ledger Faces Customization Group, Customization Variables
@ -844,16 +901,22 @@ FIXME
Ledger Post: Ledger Post:
@ftable @option @ftable @option
@item ledger-post-auto-adjust-amounts @item ledger-post-auto-adjust-amounts
If non-nil, then automatically align amounts to column specified in If non-nil, then automatically align amounts to column specified in
@option{ledger-post-amount-alignment-column}. @option{ledger-post-amount-alignment-column}.
@item ledger-post-amount-alignment-column @item ledger-post-amount-alignment-column
The column Ledger-mode uses to align amounts. The column Ledger-mode uses to align amounts.
@item ledger-default-acct-transaction-indent @item ledger-default-acct-transaction-indent
Default indentation for account transactions in an entry. Default indentation for account transactions in an entry.
@item ledger-post-use-completion-engine @item ledger-post-use-completion-engine
Which completion engine to use: @var{iswitchb}, @var{ido}, or built-in. Which completion engine to use: @var{iswitchb}, @var{ido}, or built-in.
@item ledger-post-use-ido @item ledger-post-use-ido
@end ftable @end ftable
@node Ledger Exec Customization Group, Ledger Test Customization Group, Ledger Post Customization Group, Customization Variables @node Ledger Exec Customization Group, Ledger Test Customization Group, Ledger Post Customization Group, Customization Variables
@ -863,10 +926,13 @@ Which completion engine to use: @var{iswitchb}, @var{ido}, or built-in.
Ledger Exec: Interface to the Ledger command-line accounting program. Ledger Exec: Interface to the Ledger command-line accounting program.
@ftable @option @ftable @option
@item ledger-binary-path @item ledger-binary-path
Path to the ledger executable. Path to the ledger executable.
@item ledger-init-file-name @item ledger-init-file-name
Location of the ledger initialization file. nil if you don't have one. Location of the ledger initialization file. nil if you don't have one.
@end ftable @end ftable
@node Ledger Test Customization Group, Ledger Texi Customization Group, Ledger Exec Customization Group, Customization Variables @node Ledger Test Customization Group, Ledger Texi Customization Group, Ledger Exec Customization Group, Customization Variables
@ -874,10 +940,13 @@ Location of the ledger initialization file. nil if you don't have one.
@cindex customization, test @cindex customization, test
@ftable @option @ftable @option
@item ledger-source-directory @item ledger-source-directory
Directory where the Ledger sources are located. Directory where the Ledger sources are located.
@item ledger-test-binary @item ledger-test-binary
Directory where the debug binary. Directory where the debug binary.
@end ftable @end ftable
@node Ledger Texi Customization Group, , Ledger Test Customization Group, Customization Variables @node Ledger Texi Customization Group, , Ledger Test Customization Group, Customization Variables
@ -885,12 +954,15 @@ Directory where the debug binary.
@cindex customization, texi @cindex customization, texi
@ftable @option @ftable @option
@item ledger-texi-sample-doc-path @item ledger-texi-sample-doc-path
Location for sample data to be used in texi tests, defaults to Location for sample data to be used in texi tests, defaults to
@file{~/ledger/doc/sample.dat}. @file{~/ledger/doc/sample.dat}.
@item ledger-texi-normalization-args @item ledger-texi-normalization-args
texi normalization for producing ledger output, defaults to texi normalization for producing ledger output, defaults to
@samp{--args-only --columns 80}. @samp{--args-only --columns 80}.
@end ftable @end ftable
@node Generating Ledger Regression Tests, Embedding Example results in Ledger Documentation, Customizing Ledger-mode, Top @node Generating Ledger Regression Tests, Embedding Example results in Ledger Documentation, Customizing Ledger-mode, Top

File diff suppressed because it is too large Load diff