added gam referencing
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user