langserver

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package langserver provides a registry of prepackaged language servers that can be enabled with a single line in moat.yaml.

Language servers run inside the container via Claude Code plugins, giving AI agents access to code intelligence features like go-to-definition, find-references, and diagnostics.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllDependencies

func AllDependencies(names []string) []string

AllDependencies returns the union of all dependencies required by the given language servers, including the install dependencies for each server.

func List

func List() []string

List returns all available language server names sorted.

func Plugins

func Plugins(names []string) []string

Plugins returns the Claude Code plugin IDs for the given language servers. Unknown names are silently skipped.

func Validate

func Validate(names []string) error

Validate checks that all language server names are recognized.

Types

type ServerSpec

type ServerSpec struct {
	// Name is the language server identifier used in moat.yaml.
	Name string

	// Description is a short human-readable description.
	Description string

	// Plugin is the Claude Code plugin ID (e.g., "gopls-lsp@claude-plugins-official").
	Plugin string

	// Dependencies are runtime dependencies added to the dependency list
	// (e.g., "go@1.25" for the Go language server).
	Dependencies []string

	// InstallDeps are binary install dependencies added to the dependency list
	// (e.g., "gopls" or "npm:pyright").
	InstallDeps []string
}

ServerSpec defines a prepackaged language server.

func Get

func Get(name string) (ServerSpec, bool)

Get returns the ServerSpec for a language server name, or ok=false.

Jump to

Keyboard shortcuts

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