Building and installing
Requirements
- Since buzz is built with Zig, you should be able to build buzz on a wide variety of architectures even though this has only been tested on x86_64/aarch64.
- Linux or macOS (Windows support is coming)
- libc
- Zig 0.16.0 (exact version here)
Build
- Clone the project:
git clone https://github.com/buzz-language/buzz <buzz_dir> - Check out submodules:
git submodule update --init - Have fun:
zig build run -- <myscript.buzz>to run a scriptzig build runto start the REPL
Install
# install locally at ~/.local
zig build -Doptimize=ReleaseSafe install -p ~/.local
# install globally at /usr/local
sudo zig build -Doptimize=ReleaseSafe install -p /usr/local
If your usage is performance critical (game dev for example), you can build using -Doptimize=ReleaseFast.
Remember to modify PATH to include the bin directory where it is installed. For example, export PATH=PATH:/home/xxx/.local/bin. You can then run buzz with buzz <myscript.buzz>.
Formatter
The CLI can format a Buzz script and print the result to stdout:
buzz --fmt <myscript.buzz>
IDE support
VS Code
Install the VS Code extension to get syntax highlighting, LSP and DAP support.
Helix
To get syntax highlighting and LSP support in helix:
- Clone https://github.com/buzz-language/tree-sitter-buzz somewhere
- Add the following to your
language.toml:
[[language]]
name = "buzz"
scope = "source.buzz"
file-types = ["buzz"]
comment-token = "//"
indent = { tab-width = 4, unit = " " }
language-servers = [ { name = "buzz-lsp" } ]
[[grammar]]
name = "buzz"
source = { path = "<PATH_TO_TREE_SITTER_BUZZ>" }
[language-server.buzz-lsp]
command = "buzz_lsp"
- Rebuild helix's grammars
$ hx --grammar build
