support adding single files to config

pull/26/head
Marcus Kok 2 years ago
parent 3a6284e45e
commit 629a266690

@ -8,6 +8,7 @@ import (
"github.com/Marcusk19/dotctl/tools" "github.com/Marcusk19/dotctl/tools"
"github.com/manifoldco/promptui" "github.com/manifoldco/promptui"
"github.com/spf13/afero"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" "github.com/spf13/viper"
) )
@ -66,11 +67,36 @@ func runAddCommand(cmd *cobra.Command, args []string) {
} }
overwrite, _ := confirm.Run() overwrite, _ := confirm.Run()
if strings.ToUpper(overwrite) == "Y" { if strings.ToUpper(overwrite) == "Y" {
err = tools.CopyDir(fs, configSrc, dotfileDest) addConfigToDir(fs, configSrc, dotfileDest)
}
} else {
addConfigToDir(fs, configSrc, dotfileDest)
}
}
func addConfigToDir(fs afero.Fs, configSrc, dotfileDest string) {
configFile, err := fs.Open(configSrc)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
fmt.Printf("Copied %s -> %s\n", configSrc, dotfileDest)
defer configFile.Close()
fileInfo, err := configFile.Stat()
if err != nil {
log.Fatal(err)
} }
if fileInfo.IsDir() {
err = tools.CopyDir(fs, configSrc, dotfileDest)
} else {
err = tools.CopyFile(fs, configSrc, dotfileDest)
} }
if err != nil {
log.Fatal(err)
}
fmt.Printf("Copied %s -> %s\n", configSrc, dotfileDest)
} }

Loading…
Cancel
Save