Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

typefox.dev/fastbelt

Package Overview
Dependencies
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

typefox.dev/fastbelt

Go Modules
Version
v0.0.0-20260605132229-bf01497eab2e
Version published
Created
Source

Fastbelt

Fastbelt is a high-performance DSL toolkit for Go with a parser generator and Language Server Protocol (LSP) support.

It is designed for language tooling that needs low latency and good throughput on large workspaces.

For background and benchmarks, see the Fastbelt introduction blog post.

Installation

Adding to a Module

Fastbelt ships as a Go module:

go get typefox.dev/fastbelt@latest
go get -tool typefox.dev/fastbelt/cmd/fastbelt@latest

Global Install

You can also globally install the fastbelt CLI:

go install typefox.dev/fastbelt/cmd/fastbelt@latest

Quick start

The first step is to write a grammar definition file, e.g. grammar.fb, which has a similar format as the grammar language of Langium.

To run the code generator for your grammar definition:

# globally installed
fastbelt generate ./grammar.fb -o ./
# on demand install
go run typefox.dev/fastbelt/cmd/fastbelt@latest generate ./grammar.fb -o ./

This writes generated Go files for services such as lexer, parser, linker, and type definitions.

Typically you will want to run generation using go generate. Add a directive to some file in your module (assumes install with go tool):

//go:generate go tool typefox.dev/fastbelt/cmd/fastbelt generate ./grammar.fb -o ./

Scaffolding

To bootstrap a new Go module for a language (minimal .fb grammar, go:generate using go tool on this CLI, LSP command, and VS Code extension layout), run:

fastbelt scaffold --module example.com/you/mylang --language "MyLanguage" --vscode

That creates a directory named after the last segment of --module (here ./mylang) in the current working directory, runs go mod init, pulls in fastbelt as a library and tool dependency, lays down the files, and runs go generate. Use fastbelt scaffold -h for full usage.

Examples

A minimal state machine example is available in examples/statemachine.

For editor integration, see the VS Code extension in internal/vscode-extensions/statemachine.

Contributing

See CONTRIBUTING.md for contribution guidelines.

License

Fastbelt is licensed under the MIT License.

FAQs

Package last updated on 05 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts