mirror of
https://github.com/hanzo-fi/numscript.git
synced 2026-10-30 20:54:52 +00:00
25 lines
536 B
Go
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
|
|
}
|