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 LanguageForExtension ¶
LanguageForExtension returns the Language for a file extension.
type LanguageSpec ¶
type LanguageSpec struct {
Language Language
FileExtensions []string
FunctionNodeTypes []string
ClassNodeTypes []string
FieldNodeTypes []string // tree-sitter node kinds for struct/class fields
ModuleNodeTypes []string
CallNodeTypes []string
ImportNodeTypes []string
ImportFromTypes []string
PackageIndicators []string
// BranchingNodeTypes lists AST node kinds counted for complexity metric.
BranchingNodeTypes []string
// VariableNodeTypes lists module-level variable declaration node kinds.
VariableNodeTypes []string
// AssignmentNodeTypes lists assignment expression/statement node kinds.
AssignmentNodeTypes []string
// ThrowNodeTypes lists throw/raise statement node kinds.
ThrowNodeTypes []string
// ThrowsClauseField is the field name for declared throws (e.g. Java "throws").
ThrowsClauseField string
// DecoratorNodeTypes lists decorator/annotation node kinds.
DecoratorNodeTypes []string
// EnvAccessFunctions lists function names used to read env vars (e.g. "os.Getenv").
EnvAccessFunctions []string
// EnvAccessMemberPatterns lists member access patterns for env vars (e.g. "process.env").
EnvAccessMemberPatterns []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.
Click to show internal directories.
Click to hide internal directories.