Documentation
¶
Index ¶
- type BaseExtractor
- type CExtractor
- func (c *CExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (c *CExtractor) ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
- func (c *CExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (c *CExtractor) GetQueries() []string
- func (c *CExtractor) IsClassNode(nodeType string) bool
- func (c *CExtractor) IsFunctionBodyNode(nodeType string) bool
- func (c *CExtractor) IsInsideClass(node *sitter.Node) bool
- type CSharpExtractor
- func (c *CSharpExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (c *CSharpExtractor) ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
- func (c *CSharpExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (c *CSharpExtractor) GetQueries() []string
- func (c *CSharpExtractor) IsClassNode(nodeType string) bool
- func (c *CSharpExtractor) IsFunctionBodyNode(nodeType string) bool
- func (c *CSharpExtractor) IsInsideClass(node *sitter.Node) bool
- type CppExtractor
- func (c *CppExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (c *CppExtractor) ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
- func (c *CppExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (c *CppExtractor) GetQueries() []string
- func (c *CppExtractor) IsClassNode(nodeType string) bool
- func (c *CppExtractor) IsFunctionBodyNode(nodeType string) bool
- func (c *CppExtractor) IsInsideClass(node *sitter.Node) bool
- type ExtractorFactory
- type GoExtractor
- func (g *GoExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (g *GoExtractor) ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
- func (g *GoExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (g *GoExtractor) GetQueries() []string
- func (g *GoExtractor) IsClassNode(nodeType string) bool
- func (g *GoExtractor) IsFunctionBodyNode(nodeType string) bool
- func (g *GoExtractor) IsInsideClass(node *sitter.Node) bool
- type JSExtractor
- func (j *JSExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (j *JSExtractor) ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
- func (j *JSExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (j *JSExtractor) GetQueries() []string
- func (j *JSExtractor) IsClassNode(nodeType string) bool
- func (j *JSExtractor) IsFunctionBodyNode(nodeType string) bool
- func (j *JSExtractor) IsInsideClass(node *sitter.Node) bool
- type JavaExtractor
- func (j *JavaExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (j *JavaExtractor) ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
- func (j *JavaExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (j *JavaExtractor) GetQueries() []string
- func (j *JavaExtractor) IsClassNode(nodeType string) bool
- func (j *JavaExtractor) IsFunctionBodyNode(nodeType string) bool
- func (j *JavaExtractor) IsInsideClass(node *sitter.Node) bool
- type LanguageExtractor
- type PythonExtractor
- func (p *PythonExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (p *PythonExtractor) ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
- func (p *PythonExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (p *PythonExtractor) GetQueries() []string
- func (p *PythonExtractor) IsClassNode(nodeType string) bool
- func (p *PythonExtractor) IsFunctionBodyNode(nodeType string) bool
- func (p *PythonExtractor) IsInsideClass(node *sitter.Node) bool
- type RustExtractor
- func (r *RustExtractor) ExtractComments(node *sitter.Node, content []byte) string
- func (r *RustExtractor) ExtractMethods(implNode *sitter.Node, content []byte) []models.Symbol
- func (r *RustExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
- func (r *RustExtractor) GetQueries() []string
- func (r *RustExtractor) IsClassNode(nodeType string) bool
- func (r *RustExtractor) IsFunctionBodyNode(nodeType string) bool
- func (r *RustExtractor) IsInsideClass(node *sitter.Node) bool
- type TreeSitterParser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CExtractor ¶
type CExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
CExtractor C语言提取器
func (*CExtractor) ExtractComments ¶
func (c *CExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取C注释
func (*CExtractor) ExtractMethods ¶
ExtractMethods 提取C方法(C语言没有类,所以返回空)
func (*CExtractor) ExtractPrototype ¶
func (c *CExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取C函数原型
func (*CExtractor) GetQueries ¶
func (c *CExtractor) GetQueries() []string
GetQueries 获取C语言的Tree-sitter查询规则
func (*CExtractor) IsClassNode ¶
func (c *CExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点
func (*CExtractor) IsFunctionBodyNode ¶
func (c *CExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*CExtractor) IsInsideClass ¶
func (c *CExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type CSharpExtractor ¶
type CSharpExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
CSharpExtractor C#语言提取器
func (*CSharpExtractor) ExtractComments ¶
func (c *CSharpExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取C#注释
func (*CSharpExtractor) ExtractMethods ¶
ExtractMethods 提取C#类内部的方法或命名空间内部的类
func (*CSharpExtractor) ExtractPrototype ¶
func (c *CSharpExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取C#类原型
func (*CSharpExtractor) GetQueries ¶
func (c *CSharpExtractor) GetQueries() []string
GetQueries 获取C#语言的Tree-sitter查询规则
func (*CSharpExtractor) IsClassNode ¶
func (c *CSharpExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点或命名空间节点
func (*CSharpExtractor) IsFunctionBodyNode ¶
func (c *CSharpExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*CSharpExtractor) IsInsideClass ¶
func (c *CSharpExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type CppExtractor ¶
type CppExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
CppExtractor C++语言提取器
func (*CppExtractor) ExtractComments ¶
func (c *CppExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取C++注释
func (*CppExtractor) ExtractMethods ¶
ExtractMethods 提取C++类内部的方法或命名空间内部的类
func (*CppExtractor) ExtractPrototype ¶
func (c *CppExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取C++类原型
func (*CppExtractor) GetQueries ¶
func (c *CppExtractor) GetQueries() []string
GetQueries 获取C++语言的Tree-sitter查询规则
func (*CppExtractor) IsClassNode ¶
func (c *CppExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点或命名空间节点
func (*CppExtractor) IsFunctionBodyNode ¶
func (c *CppExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*CppExtractor) IsInsideClass ¶
func (c *CppExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type ExtractorFactory ¶
type ExtractorFactory struct{}
ExtractorFactory 提取器工厂
func (*ExtractorFactory) GetExtractor ¶
func (f *ExtractorFactory) GetExtractor(language string) LanguageExtractor
GetExtractor 根据语言获取对应的提取器
type GoExtractor ¶
type GoExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
GoExtractor Go语言提取器
func (*GoExtractor) ExtractComments ¶
func (g *GoExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取Go注释
func (*GoExtractor) ExtractMethods ¶
ExtractMethods 提取Go方法(Go没有类,方法通过receiver关联)
func (*GoExtractor) ExtractPrototype ¶
func (g *GoExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取Go函数/类型原型
func (*GoExtractor) GetQueries ¶
func (g *GoExtractor) GetQueries() []string
GetQueries 获取Go语言的Tree-sitter查询规则
func (*GoExtractor) IsClassNode ¶
func (g *GoExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点
func (*GoExtractor) IsFunctionBodyNode ¶
func (g *GoExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*GoExtractor) IsInsideClass ¶
func (g *GoExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type JSExtractor ¶
type JSExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
JSExtractor JavaScript/TypeScript语言提取器
func NewJSExtractor ¶
func NewJSExtractor() *JSExtractor
NewJSExtractor 创建JavaScript/TypeScript语言提取器
func (*JSExtractor) ExtractComments ¶
func (j *JSExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取JS/TS注释
func (*JSExtractor) ExtractMethods ¶
ExtractMethods 提取JS/TS类内部的方法
func (*JSExtractor) ExtractPrototype ¶
func (j *JSExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取JS/TS函数/类原型
func (*JSExtractor) GetQueries ¶
func (j *JSExtractor) GetQueries() []string
GetQueries 获取JavaScript/TypeScript语言的Tree-sitter查询规则
func (*JSExtractor) IsClassNode ¶
func (j *JSExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点
func (*JSExtractor) IsFunctionBodyNode ¶
func (j *JSExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*JSExtractor) IsInsideClass ¶
func (j *JSExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type JavaExtractor ¶
type JavaExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
JavaExtractor Java语言提取器
func (*JavaExtractor) ExtractComments ¶
func (j *JavaExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取Java注释
func (*JavaExtractor) ExtractMethods ¶
ExtractMethods 提取Java类内部的方法
func (*JavaExtractor) ExtractPrototype ¶
func (j *JavaExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取Java类原型
func (*JavaExtractor) GetQueries ¶
func (j *JavaExtractor) GetQueries() []string
GetQueries 获取Java语言的Tree-sitter查询规则
func (*JavaExtractor) IsClassNode ¶
func (j *JavaExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点
func (*JavaExtractor) IsFunctionBodyNode ¶
func (j *JavaExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*JavaExtractor) IsInsideClass ¶
func (j *JavaExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type LanguageExtractor ¶
type LanguageExtractor interface {
// GetQueries 获取Tree-sitter查询规则
GetQueries() []string
// ExtractPrototype 提取函数/类原型(不包含函数体/类体)
ExtractPrototype(node *sitter.Node, content []byte) string
// ExtractMethods 提取类内部的方法
ExtractMethods(classNode *sitter.Node, content []byte) []models.Symbol
// IsClassNode 检查是否是类节点
IsClassNode(nodeType string) bool
// IsFunctionBodyNode 检查是否是函数体节点
IsFunctionBodyNode(nodeType string) bool
// IsInsideClass 检查节点是否在类内部
IsInsideClass(node *sitter.Node) bool
// ExtractComments 提取注释
ExtractComments(node *sitter.Node, content []byte) string
}
LanguageExtractor 语言提取器接口
type PythonExtractor ¶
type PythonExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
PythonExtractor Python语言提取器
func NewPythonExtractor ¶
func NewPythonExtractor() *PythonExtractor
NewPythonExtractor 创建Python语言提取器
func (*PythonExtractor) ExtractComments ¶
func (p *PythonExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取Python注释
func (*PythonExtractor) ExtractMethods ¶
ExtractMethods 提取Python类内部的方法
func (*PythonExtractor) ExtractPrototype ¶
func (p *PythonExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取Python函数/类原型
func (*PythonExtractor) GetQueries ¶
func (p *PythonExtractor) GetQueries() []string
GetQueries 获取Python语言的Tree-sitter查询规则
func (*PythonExtractor) IsClassNode ¶
func (p *PythonExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点
func (*PythonExtractor) IsFunctionBodyNode ¶
func (p *PythonExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*PythonExtractor) IsInsideClass ¶
func (p *PythonExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type RustExtractor ¶
type RustExtractor struct {
BaseExtractor
// contains filtered or unexported fields
}
RustExtractor Rust语言提取器
func (*RustExtractor) ExtractComments ¶
func (r *RustExtractor) ExtractComments(node *sitter.Node, content []byte) string
ExtractComments 提取Rust注释
func (*RustExtractor) ExtractMethods ¶
ExtractMethods 提取Rust impl块内部的方法
func (*RustExtractor) ExtractPrototype ¶
func (r *RustExtractor) ExtractPrototype(node *sitter.Node, content []byte) string
ExtractPrototype 提取Rust函数/结构体原型
func (*RustExtractor) GetQueries ¶
func (r *RustExtractor) GetQueries() []string
GetQueries 获取Rust语言的Tree-sitter查询规则
func (*RustExtractor) IsClassNode ¶
func (r *RustExtractor) IsClassNode(nodeType string) bool
IsClassNode 检查是否是类节点
func (*RustExtractor) IsFunctionBodyNode ¶
func (r *RustExtractor) IsFunctionBodyNode(nodeType string) bool
IsFunctionBodyNode 检查是否是函数体节点
func (*RustExtractor) IsInsideClass ¶
func (r *RustExtractor) IsInsideClass(node *sitter.Node) bool
IsInsideClass 检查节点是否在类内部
type TreeSitterParser ¶
type TreeSitterParser struct {
// contains filtered or unexported fields
}
TreeSitterParser Tree-sitter 解析器
func NewTreeSitterParser ¶
func NewTreeSitterParser(languagesConfig models.LanguagesConfig) (*TreeSitterParser, error)
NewTreeSitterParser 创建新的 Tree-sitter 解析器