package remote // import ( // "fmt" // "io" // "text/tabwriter" // "git.cryptic.systems/fh-trier/go-flucky/pkg/config" // ) // func Add(remote *types.Remote, configDir string) error { // configuration, err := config.Read(configDir) // if err != nil { // return err // } // // search after duplicate remote_names // for _, r := range configuration.Remotes { // if r.Name == remote.Name { // return fmt.Errorf("Remote-Name %v already exists", remote.Name) // } // } // configuration.Remotes = append(configuration.Remotes, remote) // if err := config.Write(configuration, configDir); err != nil { // return err // } // return nil // } // // Enable a remote link // func Enable(remoteName string, configDir string) error { // cnf, err := config.Read(configDir) // if err != nil { // return err // } // // search after duplicate remote_names // var found bool // for _, r := range cnf.Remotes { // if r.Name == remoteName { // r.Enabled = true // found = true // } // } // if !found { // return fmt.Errorf("Can not find remote %v", remoteName) // } // if err := config.Write(cnf, configDir); err != nil { // return err // } // return nil // } // // Disable a remote link // func Disable(remoteName string, configDir string) error { // cnf, err := config.Read(configDir) // if err != nil { // return err // } // // search after duplicate remote_names // var found bool // for _, r := range cnf.Remotes { // if r.Name == remoteName { // r.Enabled = false // found = true // } // } // if !found { // return fmt.Errorf("Can not find remote %v", remoteName) // } // if err := config.Write(cnf, configDir); err != nil { // return err // } // return nil // } // func Print(w io.Writer, configDir string, quiet bool) error { // configuration, err := config.Read(configDir) // if err != nil { // return err // } // tw := tabwriter.NewWriter(w, 0, 0, 3, ' ', 0) // if !quiet { // fmt.Fprint(tw, "name\taddress\tenabled\tregistered\n") // } // for _, remote := range configuration.Remotes { // if quiet { // fmt.Fprintf(tw, "%v\n", remote.Name) // } else { // fmt.Fprintf(tw, "%v\t%v\t%v\t%v\n", remote.Name, remote.Address, remote.Enabled, remote.Registered) // } // } // tw.Flush() // return nil // } // func Remove(name string, configDir string) error { // con, err := config.Read(configDir) // if err != nil { // return err // } // var j int // for _, remote := range con.Remotes { // if remote.Name == name { // con.Remotes = append(con.Remotes[:j], con.Remotes[j+1:]...) // if j > 0 { // j = j - 1 // } // continue // } // j++ // } // if err := config.Write(con, configDir); err != nil { // return err // } // return nil // } // func RemoveAll(configDir string) error { // con, err := config.Read(configDir) // if err != nil { // return err // } // con.Remotes = nil // if err := config.Write(con, configDir); err != nil { // return err // } // return nil // }