func mergeRange()

in rules/argument.go [35:64]


func mergeRange(sections ...Section) *hcl.Range {
	start := hcl.Pos{Line: math.MaxInt}
	end := hcl.Pos{Line: -1}
	filename := ""
	isNil := true
	for _, section := range sections {
		r := section.GetRange()
		if r == nil {
			continue
		}
		isNil = false
		if filename == "" {
			filename = r.Filename
		}
		if r.Start.Line < start.Line {
			start = r.Start
		}
		if r.End.Line > end.Line {
			end = r.End
		}
	}
	if isNil {
		return nil
	}
	return &hcl.Range{
		Filename: filename,
		Start:    start,
		End:      end,
	}
}