internal/parser/range.go (26 lines of code) (raw):

package parser import "github.com/hashicorp/hcl/v2" func RangeOver(a hcl.Range, b hcl.Range) hcl.Range { if a.Empty() { return b } if b.Empty() { return a } var start, end hcl.Pos if a.Start.Line < b.Start.Line || a.Start.Line == b.Start.Line && a.Start.Column < b.Start.Column { start = a.Start } else { start = b.Start } if a.End.Line > b.End.Line || a.End.Line == b.End.Line && a.End.Column > b.End.Column { end = a.End } else { end = b.End } return hcl.Range{ Filename: a.Filename, Start: start, End: end, } }