Help us shape the future of Go! Take the 2026 Go Developer Survey

lang

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(spec *LanguageSpec)

Register adds a LanguageSpec to the global registry.

Types

type Language

type Language string

Language represents a supported programming language.

const (
	Python     Language = "python"
	JavaScript Language = "javascript"
	TypeScript Language = "typescript"
	Go         Language = "go"
	Rust       Language = "rust"
	Java       Language = "java"
	CPP        Language = "cpp"
	TSX        Language = "tsx"
	CSharp     Language = "c-sharp"
	PHP        Language = "php"
	Lua        Language = "lua"
	Scala      Language = "scala"
	JSON       Language = "json" // Not in AllLanguages(); no LanguageSpec or tree-sitter grammar
)

func AllLanguages

func AllLanguages() []Language

AllLanguages returns all supported languages.

func LanguageForExtension

func LanguageForExtension(ext string) (Language, bool)

LanguageForExtension returns the Language for a file extension.

type LanguageSpec

type LanguageSpec struct {
	Language          Language
	FileExtensions    []string
	FunctionNodeTypes []string
	ClassNodeTypes    []string
	ModuleNodeTypes   []string
	CallNodeTypes     []string
	ImportNodeTypes   []string
	ImportFromTypes   []string
	PackageIndicators []string
}

LanguageSpec defines the tree-sitter node types for a language.

func ForExtension

func ForExtension(ext string) *LanguageSpec

ForExtension returns the LanguageSpec for a file extension (e.g. ".go").

func ForLanguage

func ForLanguage(lang Language) *LanguageSpec

ForLanguage returns the LanguageSpec for a language.

Jump to

Keyboard shortcuts

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