buflsp

package
v1.75.0 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2026 License: Apache-2.0 Imports: 78 Imported by: 0

Documentation

Overview

Package buflsp implements a language server for Protobuf.

The main entry-point of this package is the Serve() function, which creates a new LSP server.

Index

Constants

View Source
const CommandCheckPluginUpdates = "buf.generate.checkPluginUpdates"

CommandCheckPluginUpdates is the LSP workspace command to check for newer versions of remote plugins in a buf.gen.yaml file and publish informational diagnostics for any that are outdated.

View Source
const CommandRunGenerate = "buf.generate.run"

CommandRunGenerate is the LSP workspace command to run buf generate for a buf.gen.yaml file.

Variables

This section is empty.

Functions

func FilePathToURI added in v1.66.0

func FilePathToURI(path string) protocol.URI

FilePathToURI converts a file path to a properly encoded URI.

func Serve

func Serve(
	ctx context.Context,
	bufVersion string,
	wktBucket storage.ReadBucket,
	container appext.Container,
	controller bufctl.Controller,
	wasmRuntime wasm.Runtime,
	stream jsonrpc2.Stream,
	queryExecutor *incremental.Executor,
	moduleKeyProvider bufmodule.ModuleKeyProvider,
	graphProvider bufmodule.GraphProvider,
	curatedPluginVersionProvider CuratedPluginVersionProvider,
	options ...ServeOption,
) (jsonrpc2.Conn, error)

Serve spawns a new LSP server, listening on the given stream.

Returns a context for managing the server.

Types

type CuratedPluginVersionProvider added in v1.69.0

type CuratedPluginVersionProvider interface {
	// GetLatestVersion returns the latest semver version string for the plugin,
	// or an empty string if the plugin is unknown or has no published versions.
	GetLatestVersion(ctx context.Context, registry, owner, plugin string) (string, error)
}

CuratedPluginVersionProvider checks for the latest version of a BSR-hosted curated plugin.

type ServeOption added in v1.74.0

type ServeOption func(*lsp)

ServeOption is an option for Serve.

func WithConfigOverride added in v1.74.0

func WithConfigOverride(configOverride string) ServeOption

WithConfigOverride sets the buf.yaml file or data used to configure every workspace, in place of any buf.yaml found on disk.

When set, workspaces are resolved from the client's workspace root folder containing the file, matching the behavior of the --config flag on other commands run from that folder.

Jump to

Keyboard shortcuts

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