func Uninstall(cmd string) error {
	is := installers()
	if len(is) == 0 {
		return errors.New("Did not found any shells to uninstall")
	}
	bin, err := getBinaryPath()
	if err != nil {
		return err
	}
	for _, i := range is {
		errI := i.Uninstall(cmd, bin)
		if errI != nil {
			multierror.Append(err, errI)
		}
	}
	return err
}
Uninstall complete command given:
cmd: is the command name
package install
import (
	"errors"
	"os"
	"os/user"
	"path/filepath"
	"github.com/hashicorp/go-multierror"
)
type installer interface {
	Install(cmd, bin string) error
	Uninstall(cmd, bin string) error
}
func Install(cmd string) error {
	is := installers()
	if len(is) == 0 {
		return errors.New("Did not found any shells to install")
	}
	bin, err := getBinaryPath()
	if err != nil {
		return err
	}
	for _, i := range is {
		errI := i.Install(cmd, bin)
		if errI != nil {
			err = multierror.Append(err, errI)
		}
	}
	return err
}