aboutsummaryrefslogblamecommitdiffstats
path: root/doc/beancount.txt
blob: e3801ccbc9030bf0b8018dba9c929f502cea6626 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                  
 

                                                      
                                                   
 
                                                                 
 
                                                               
 


                                                 
                                                 





                                                 


                                                                          









                                                                             


                                                                        
                                                                  








                                                                         




                                                                    
 



                                                                              


                                                                           










                                                                                  

                                                                       
                                            
 




                                                                           
                         

                                                     
 

                                                                          
                                    

                                          
 
 














                                                                      





                                                                           

                                                                        

                                                                       

                            
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: