Files

25 lines
536 B
Go

package analysis
import "github.com/hanzo-fi/numscript/internal/parser"
type GotoDefinitionResult struct {
Range parser.Range
}
func GotoDefinition(program parser.Program, position parser.Position, checkResult CheckResult) *GotoDefinitionResult {
hover := HoverOn(program, position)
if variableHover, ok := hover.(*VariableHover); ok {
resolvedVar := checkResult.ResolveVar(variableHover.Node)
if resolvedVar == nil {
return nil
}
return &GotoDefinitionResult{
Range: resolvedVar.Name.Range,
}
}
return nil
}