cxx

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const MaxWaitDuration = 5 * time.Minute

Variables

This section is empty.

Functions

func CheckRepo

func CheckRepo(repo string) (string, time.Duration)

func GetDefaultLSP

func GetDefaultLSP() (lang uniast.Language, name string)

Types

type CxxSpec

type CxxSpec struct {
	// contains filtered or unexported fields
}

func NewCxxSpec

func NewCxxSpec() *CxxSpec

func (*CxxSpec) DeclareTokenOfSymbol

func (c *CxxSpec) DeclareTokenOfSymbol(sym lsp.DocumentSymbol) int

func (*CxxSpec) FileImports

func (c *CxxSpec) FileImports(content []byte) ([]uniast.Import, error)

func (*CxxSpec) FunctionSymbol

func (c *CxxSpec) FunctionSymbol(sym lsp.DocumentSymbol) (int, []int, []int, []int)

func (*CxxSpec) GetUnloadedSymbol

func (c *CxxSpec) GetUnloadedSymbol(from lsp.Token, define lsp.Location) (string, error)

func (*CxxSpec) HasImplSymbol

func (c *CxxSpec) HasImplSymbol() bool

TODO(cpp): support C++ OOP

func (*CxxSpec) ImplSymbol

func (c *CxxSpec) ImplSymbol(sym lsp.DocumentSymbol) (int, int, int)

func (*CxxSpec) IsDocToken

func (c *CxxSpec) IsDocToken(tok lsp.Token) bool

func (*CxxSpec) IsEntitySymbol

func (c *CxxSpec) IsEntitySymbol(sym lsp.DocumentSymbol) bool

func (*CxxSpec) IsEntityToken

func (c *CxxSpec) IsEntityToken(tok lsp.Token) bool

func (*CxxSpec) IsMainFunction

func (c *CxxSpec) IsMainFunction(sym lsp.DocumentSymbol) bool

func (*CxxSpec) IsPublicSymbol

func (c *CxxSpec) IsPublicSymbol(sym lsp.DocumentSymbol) bool

func (*CxxSpec) IsStdToken

func (c *CxxSpec) IsStdToken(tok lsp.Token) bool

func (*CxxSpec) NameSpace

func (c *CxxSpec) NameSpace(path string) (string, string, error)

returns: modname, pathpath, error Multiple symbols with the same name could occur (for example in the Linux kernel). The identify is mod::pkg::name. So we use the pkg (the file name) to distinguish them.

func (*CxxSpec) ShouldSkip

func (c *CxxSpec) ShouldSkip(path string) bool

func (*CxxSpec) TokenKind

func (c *CxxSpec) TokenKind(tok lsp.Token) lsp.SymbolKind

func (*CxxSpec) WorkSpace

func (c *CxxSpec) WorkSpace(root string) (map[string]string, error)

XXX: maybe multi module support for C++?

Jump to

Keyboard shortcuts

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