MCPcopy Create free account
hub / github.com/docker/docker-language-server / NodeStructure

Function NodeStructure

internal/compose/completion.go:734–755  ·  view source on GitHub ↗
(line int, rootNodes []*ast.MappingValueNode)

Source from the content-addressed store, hash-verified

732}
733
734func NodeStructure(line int, rootNodes []*ast.MappingValueNode) []*ast.MappingValueNode {
735 if len(rootNodes) == 0 {
736 return nil
737 }
738
739 var candidate *ast.MappingValueNode
740 for _, node := range rootNodes {
741 if node.GetToken().Position.Line < line {
742 candidate = node
743 } else if node.GetToken().Position.Line == line {
744 return []*ast.MappingValueNode{node}
745 } else if candidate == nil {
746 return []*ast.MappingValueNode{}
747 } else {
748 break
749 }
750 }
751 nodes := []*ast.MappingValueNode{candidate}
752 candidates := walkNodes(line, candidate)
753 nodes = append(nodes, candidates...)
754 return nodes
755}
756
757func walkNodes(line int, node *ast.MappingValueNode) []*ast.MappingValueNode {
758 var candidate ast.Node

Callers 1

Calls 1

walkNodesFunction · 0.85

Tested by

no test coverage detected