Add ic-merge command

Still needs some work, like saving to a new file, but works well so far.
This commit is contained in:
Dan Jones 2025-05-02 11:33:23 -05:00
commit 8a3da4c5fe
8 changed files with 499 additions and 0 deletions

34
cmd/ic-merge/main.go Normal file
View file

@ -0,0 +1,34 @@
package main
import (
"context"
"encoding/json"
"os"
c "codeberg.org/danjones000/utils/cli/context"
e "codeberg.org/danjones000/utils/cli/err"
ic "codeberg.org/danjones000/utils/infinitecraft"
)
func main() {
ctx, done := c.SelfCancelingContext(context.Background())
defer done()
m, err := ic.NewMerger(os.Args[1:])
e.HandleErr(err)
defer m.Close()
err = m.ParseFiles()
e.HandleErr(err)
err = m.ReadData(ctx)
e.HandleErr(err)
g, err := m.Merge(ctx)
e.HandleErr(err)
jsout := json.NewEncoder(os.Stdout)
jsout.SetIndent("", "\t")
err = jsout.Encode(g)
e.HandleErr(err)
// */
}