themoritz/turbobean
Beancount implementation with a focus on speed and ease of use
30ccbd10fec9c4eaad5196f2d560b80d6cc2c078
master
An implementation of Beancount with a focus on speed and ease of use.
Speed (processes huge files instantly)
LSP Server
Jump to account open
Hover account (before + after balance)
Auto completion (accounts, tags, links)
Highlight account
Syntax highlighting via semantic tokens
Rename account
Web Viewer
File Watcher (reloads instantly)
Journal
Balance Sheet
Income Statement
Lua Plugins
Formatter
Protobuf Output
Mostly compatible with Beancount, but follows some ideas from Beancount Vnext: Goals & Design, notably Beancount - Vnext: Booking Rules Redesign. This is currently implemented in a non-backwards-compatible way.
Put this into your nvim-lspconfig's config
function:
local lspconfig = require 'lspconfig'
require('lspconfig.configs').turbobean = {
default_config = {
cmd = {
'bash',
'-c',
'/Users/moritz/code/turbobean/zig-out/bin/turbobean --lsp 2> >(tee turbobean.log >&2)',
},
filetypes = { 'beancount', 'bean' },
root_dir = require('lspconfig.util').root_pattern 'turbobean.config',
},
}
lspconfig.turbobean.setup {}
Disable treesitter:
return {
'nvim-treesitter/nvim-treesitter',
opts = {
highlight = {
enable = true,
disable = { 'beancount' },
},
},
}
Use extension in this repo.
cd vscode
npm i
code .
Then press F5
, or go to debugging and click "Run Extension".
npm i
npm run test
File:
Project:
Process:
Query: