Skip to content

About

No description or website provided.

Topics

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Burn logo

Burn Language Analyzer

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.

Features

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

Usage

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 | sh

To install burn-analyzer as well:

cargo install --path .
burn-analyzer

burn-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.

Neovim

vim.lsp.start({ name = "burn", cmd = { "burn-analyzer" }, root_dir = vim.fn.getcwd() })

Helix

[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.

Building

cargo build --release

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

No description or website provided.

Topics

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages