added gam referencing

This commit is contained in:
Martino Ferrari
2026-01-24 23:47:59 +01:00
parent 8e13020d50
commit eeb4f5da2e

View File

@@ -1058,6 +1058,48 @@ func formatNodeInfo(node *index.ProjectNode) string {
} }
} }
// Find GAM usages
var gams []string
// 1. Check References (explicit text references)
for _, ref := range Tree.References {
if ref.Target == node {
container := Tree.GetNodeContaining(ref.File, ref.Position)
if container != nil {
curr := container
for curr != nil {
if isGAM(curr) {
gams = append(gams, curr.RealName)
break
}
curr = curr.Parent
}
}
}
}
// 2. Check Direct Usages (Nodes targeting this node)
Tree.Walk(func(n *index.ProjectNode) {
if n.Target == node {
if n.Parent != nil && (n.Parent.Name == "InputSignals" || n.Parent.Name == "OutputSignals") {
if n.Parent.Parent != nil && isGAM(n.Parent.Parent) {
gams = append(gams, n.Parent.Parent.RealName)
}
}
}
})
if len(gams) > 0 {
uniqueGams := make(map[string]bool)
info += "\n\n**Used in GAMs**:\n"
for _, g := range gams {
if !uniqueGams[g] {
uniqueGams[g] = true
info += fmt.Sprintf("- %s\n", g)
}
}
}
return info return info
} }