ADDED:
* A way to actually use Auger externally. lel.
This commit is contained in:
brent saner
2024-10-29 11:57:19 -04:00
parent 236165bec8
commit e9b7c5539a
5 changed files with 72 additions and 45 deletions

View File

@@ -4,8 +4,42 @@ import (
`io/fs`
`os`
`strings`
`honnef.co/go/augeas`
)
/*
NewAuger returns an auger.Aug.
See:
https://pkg.go.dev/honnef.co/go/augeas#readme-examples
https://pkg.go.dev/honnef.co/go/augeas#New
for the `root` and `loadPath` parameters
(and, by extension, the `flags` paraemter; note that the `flags`
is an auger.AugFlags, not an augeas.Flag!).
`flags` may be nil.
*/
func NewAuger(root, loadPath string, flags *AugFlags) (aug *Aug, err error) {
aug = new(Aug)
if aug.aug, err = augeas.New(root, loadPath, flags.Eval()); err != nil {
return
}
return
}
// NewAugerFromAugeas returns a wrapped auger.Aug from a (honnef.co/go/augeas).Augeas.
func NewAugerFromAugeas(orig augeas.Augeas) (aug *Aug) {
aug = new(Aug)
aug.aug = orig
return
}
/*
AugpathToFspath returns the filesystem path from an Augeas path.