Fix tree evaluation
This commit is contained in:
13
bkl.go
13
bkl.go
@@ -52,6 +52,19 @@ func (p *Parser) SetDebug(debug bool) {
|
||||
p.debug = debug
|
||||
}
|
||||
|
||||
// MergeOther applies other's internal document state to ours, using bkl's
|
||||
// merge semantics.
|
||||
func (p *Parser) MergeOther(other *Parser) error {
|
||||
for i, doc := range other.docs {
|
||||
err := p.MergePatch(i, doc)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MergePatch applies the supplied patch to the [Parser]'s current internal
|
||||
// document state (at the specified document index) using bkl's merge
|
||||
// semantics.
|
||||
|
||||
@@ -35,7 +35,12 @@ func main() {
|
||||
}
|
||||
|
||||
for _, path := range opts.Positional.InputPaths {
|
||||
err := p.MergeFileLayers(path)
|
||||
fileP, err := bkl.NewFromFile(path)
|
||||
if err != nil {
|
||||
fatal("%s", err)
|
||||
}
|
||||
|
||||
err = p.MergeOther(fileP)
|
||||
if err != nil {
|
||||
fatal("%s", err)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
a: 1
|
||||
b: 2
|
||||
c: 3
|
||||
d: 4
|
||||
|
||||
Reference in New Issue
Block a user