thrift-weaver

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: MIT

README

thrift-weaver

Thrift formatter, LSP server, and VS Code extension.

See docs/rfcs/0001-thrift-tooling-platform.md for the project RFC and implementation plan.

Docs:

  • docs/user-guide.md — CLI, LSP, and VS Code usage (beta)
  • docs/release.md — release artifacts, checksums, attestations, and beta supply-chain policy
  • docs/linux-managed-binary-compatibility.md — Linux managed thriftls compatibility policy (beta)

Development Toolchain

  • Go version is pinned via mise (see mise.toml).
  • golangci-lint and lefthook are also pinned via mise.
  • github.com/tree-sitter/go-tree-sitter is version-pinned in go.mod (see tools/tools.go).

Common commands:

mise install
mise run fmt
mise run lint
mise run test
mise run ci

Directories

Path Synopsis
cmd
thriftfmt command
Package main provides the thriftfmt CLI entry point.
Package main provides the thriftfmt CLI entry point.
thriftls command
Package main provides the thriftls CLI entry point.
Package main provides the thriftls CLI entry point.
grammar
tree-sitter-thrift
Package treesitterthrift exposes the generated tree-sitter grammar and queries for Thrift IDL.
Package treesitterthrift exposes the generated tree-sitter grammar and queries for Thrift IDL.
internal
format
Package format provides formatter core APIs and primitives for Thrift source formatting.
Package format provides formatter core APIs and primitives for Thrift source formatting.
lexer
Package lexer provides a lossless token/trivia lexer for Thrift IDL source.
Package lexer provides a lossless token/trivia lexer for Thrift IDL source.
lsp
Package lsp implements the thriftls LSP server and shared protocol types.
Package lsp implements the thriftls LSP server and shared protocol types.
syntax
Package syntax builds a CST-oriented parse result by combining the lossless lexer and tree-sitter parser.
Package syntax builds a CST-oriented parse result by combining the lossless lexer and tree-sitter parser.
syntax/treesitter
Package treesitter wraps go-tree-sitter parser primitives for Thrift syntax parsing.
Package treesitter wraps go-tree-sitter parser primitives for Thrift syntax parsing.
testutil
Package testutil provides shared helpers for repository tests.
Package testutil provides shared helpers for repository tests.
text
Package text defines source offsets, spans, and position/range types.
Package text defines source offsets, spans, and position/range types.
scripts
generate-release-manifest command
generate-release-manifest emits the managed-install manifest for thriftls release artifacts.
generate-release-manifest emits the managed-install manifest for thriftls release artifacts.
generate-vscode-release-metadata command
generate-vscode-release-metadata emits release metadata for the packaged VS Code extension.
generate-vscode-release-metadata emits release metadata for the packaged VS Code extension.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL