Language server launcher for the Burn programming language.
Burn ships its language server inside the compiler (burn lsp), so it always understands exactly the same
language as the compiler. burn-analyzer is a tiny, dependency-free binary that starts burn lsp over stdio,
so editors that are configured to run burn-analyzer keep working.
Everything comes from burn lsp:
- Error reporting: syntax and type errors with exact line and column while you type
- Code completion: locals, globals, types, built-ins and members after
. - Hover information: inferred types and signatures
- Go to definition: including into imported files
- Document outline
- Formatting
The Burn toolchain installer already provides burn-lsp, which is the same language server:
curl -fsSL https://raw.githubusercontent.com/burnlang/burn/master/install.sh | shTo install burn-analyzer as well:
cargo install --path .
burn-analyzerburn-analyzer looks for the burn executable in $BURN_PATH, next to its own binary, and on $PATH.
You can also point your editor at burn lsp directly.
vim.lsp.start({ name = "burn", cmd = { "burn-analyzer" }, root_dir = vim.fn.getcwd() })[language-server.burn]
command = "burn-analyzer"
[[language]]
name = "burn"
scope = "source.burn"
file-types = ["bn"]
language-servers = ["burn"]syntaxes/burn.tmLanguage.json and language-configuration.json contain the Burn grammar for editors that
use TextMate grammars.
cargo build --releaseThis project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.