diff options
-rw-r--r-- | main.go | 24 |
1 files changed, 22 insertions, 2 deletions
@@ -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 |