lang

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 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