aboutsummaryrefslogtreecommitdiffstats
path: root/doc/beancount.txt
blob: e3801ccbc9030bf0b8018dba9c929f502cea6626 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
beancount.txt  Filetype plugin for beancount files

Author:   Nathan Grigg <http://nathangrigg.net>
Repo:     https://github.com/nathangrigg/vim-beancount
License:  Same terms as Vim itself (see |license|).

INTRODUCTION                                          *beancount*

Filetype plugin and functions for working with beancount files.

Contents:

        Commands.............|beancount-commands|
        Options...............|beancount-options|
        Completion.........|beancount-completion|
        Syntax.................|beancount-syntax|
        Compiler.............|beancount-compiler|
        Filetype Detection...|beancount-ftdetect|


COMMANDS                                              *beancount-commands*


                                                      *beancount-:GetContext*
:GetContext         Uses bean-doctor context to display the context of the
                    current line.

                    You can use the following normal mode remap to open the
                    context of the line you're currently on: >

                        nnoremap <buffer> <LocalLeader>c :GetContext<CR>
<

OPTIONS                                              *beancount-options*

*g:beancount_account_completion*
  See |beancount-completion|. Can be either 'default' or 'chunks'.

  Default value: 'default'

*g:beancount_detailed_first*
  If non-zero, accounts higher down the hierarchy will be listed first as
  completions.

  Default value: 0

*b:beancount_root*
  Set the root Beancount file. This is used to gather values for the
  completion. If not set, the current file will be used.

  Default value: not set

FORMATTING                                           *beancount-formatting*

The plugin sets |'formatprg'| to 'bean-format -c61' to provide a formatter for
beancount files. See also |gq|.

COMPLETION                                           *beancount-completion*

The plugin sets 'omnifunc' to provide omni completion for account names, tags,
links, and payees. Omni completion is accessible with |i_CTRL-X_CTRL-O|.

Completion works for values defined |b:beancount_root| and included files.

Account Completion~
                                                     *beancount-complete-accounts*

Completion is always case sensitive and exact. If the base string includes
colons, each colon-separated piece can separately match a piece of the
account.

For example, `Ex:Other` would complete to `Expenses:Donations:Other` or
`Liabilities:AmericanExpress:InterestOther`.

There is another mode of completion where each colon-separated piece
has to match at the beginning of that level of the account hierarchy, e.g.
`Ex:Oth` would match `Expenses:Other` but not `Expenses:Other:Something`
nor one of the two examples given above.
`Ex:Oth:` would, however, list all direct sub-accounts of `Expenses:Other`.
To enable this mode use >

        let g:beancount_account_completion = 'chunks'
<
Optionally, the list of candidates can be sorted by the number of levels
in the account hierarchy (e.g. return 'Expenses:Other' before 'Expenses').
This behavior can be enabled using >

        let g:beancount_detailed_first = 1
<

SYNTAX                                              *beancount-syntax*

We use the following syntax highlighting groups:

    beanKeyword:  Keywords such as open, close, option.
    beanOptionTitle: The first argument to the option keyword.
    beanDate: A date in a beancount directive.
    beanString: Strings, such as account descriptions.
    beanComment: Comments.
    beanAccount: Account names.
    beanAmount: Monetary amounts.
    beanCurrency: Currency codes.
    beanCost: Cost, e.g. {100.00 USD}
    beanPrice: Price, e.g. @ 100.00 USD

COMPILER                                            *beancount-compiler*

The plugin defines and sets the compiler to "beancount". Simply use the
command ":make" to run `bean-check` on the current file and load the errors
into the quickfix window.

FILETYPE DETECTION                                  *beancount-ftdetect*

The plugin considers files of the form `*.bean` and `*.beancount` to be
beancount files.

  vim:tw=78:et:ft=help:norl: