Table of Contents
Installation
TODO: create VS Code extension to run this language server
The server can be installed via npm (or from source).
Then, you should be able to run the language server with the following command:
Follow the instructions below to integrate the language server into your editor.
Alternative: Compile and install from source
First, clone this repo and compile it. npm link will add beancount-langserver to the PATH.
Requirements
You will need to install beancount to get all diagnostics.
Configuration
TODO
Features
Supports Beancount v2
| Feature | Description |
|---|---|
| diagnostics | Provided via beancoubt |
| formatting | Should generate edits silimar to bean-format |
| completions | Show completions for Payees, Accounts, Date |
| definitions | Planned for future release |
| folding | Planned for future release |
| hover | Planned for future release |
| rename | Planned for future release |
Server Settings
This server contributes the following settings:
Settings may need a restart to be applied.
Editor Support
Neovim
The settings for the language server are in the lspconfig repo
-
Install the beancount language server
However you install it, you need to remember how to access the binary
-
Create a lua lspconfig for the beancount LSP example in my dotfiles
- add the following code to your lspconfig
local lspconfig = require lspconfig..= ; -
Open a beancount file and verify LSP connected with the LSPInfo command
Troubleshooting
beancount file type not detected
If you notice beancount files not having the "beancount" type, you need a neovim v0.5 or master built after Feb 17, 2021
If not the following in a file named beancount.vim in the ftdetect folder
function! s:setf(filetype) abort
if &filetype !=# a:filetype
let &filetype = a:filetype
endif
endfunction
au BufNewFile,BufRead *.bean,*.beancount call s:setf('beancount')
VS Code
Plan to make a VS Code extesion in the future
Vim
Tested and Developed on Neovim v0.5 (master branch)
SETUP TODO
Emacs
TODO
Contributing
Please do :)