From 57a00ae95cee65ba42251294a595b1cd32a87885 Mon Sep 17 00:00:00 2001 From: Joop Kiefte Date: Thu, 28 Sep 2023 04:10:29 +0100 Subject: Fix bug with dolt commit --- main.go | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 6e89895..31410fa 100644 --- a/main.go +++ b/main.go @@ -116,7 +116,27 @@ func Readline() string { } func ExecuteDoltCommand(args ...string) { - cmd := exec.Command("dolt", args...) + var nargs []string + var join bool + // If an arg starts with a quote, start joining everything to the last element until an arg ends with a quote + for _, arg := range args { + if join { + if strings.HasSuffix(arg, "\"") { + join = false + arg = strings.TrimSuffix(arg, "\"") + } + nargs[len(nargs)-1] += " " + arg + } else { + if strings.HasPrefix(arg, "\"") { + join = true + arg = strings.TrimPrefix(arg, "\"") + } + nargs = append(nargs, arg) + } + } + + // Run dolt command + cmd := exec.Command("dolt", nargs...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Stdin = os.Stdin @@ -173,7 +193,7 @@ func CreateTable(table string) error { if editor == "" { editor = "vim" } - cmd = exec.Command(editor, schemafile.Name()) + cmd = exec.Command(editor, schemafile.Name()) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Stdin = os.Stdin -- cgit v1.2.3-70-g09d2