diff --git a/cmd/kubectx/list.go b/cmd/kubectx/list.go index b6cac6f..e097e49 100644 --- a/cmd/kubectx/list.go +++ b/cmd/kubectx/list.go @@ -7,6 +7,7 @@ import ( "facette.io/natsort" "github.com/pkg/errors" + "github.com/ahmetb/kubectx/internal/cmdutil" "github.com/ahmetb/kubectx/internal/kubeconfig" "github.com/ahmetb/kubectx/internal/printer" ) @@ -18,10 +19,18 @@ func (_ ListOp) Run(stdout, stderr io.Writer) error { kc := new(kubeconfig.Kubeconfig).WithLoader(kubeconfig.DefaultLoader) defer kc.Close() if err := kc.Parse(); err != nil { + if cmdutil.IsNotFoundErr(err) { + printer.Warning(stderr, "kubeconfig file not found") + return nil + } return errors.Wrap(err, "kubeconfig error") } ctxs := kc.ContextNames() + if ctxs == nil { + err := printer.Warning(stderr, "No kubectl context found") + return errors.Wrap(err, "kubeconfig error") + } natsort.Sort(ctxs) cur := kc.GetCurrentContext()