From f95e54131ee0e32d17034a58e28acf3fd1518adc Mon Sep 17 00:00:00 2001 From: Sulabh Chaturvedi Date: Tue, 18 Aug 2020 18:23:46 +0100 Subject: [PATCH] Add a message for empty contexts --- cmd/kubectx/fzf.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/kubectx/fzf.go b/cmd/kubectx/fzf.go index 38fb5b0..364cd66 100644 --- a/cmd/kubectx/fzf.go +++ b/cmd/kubectx/fzf.go @@ -23,6 +23,7 @@ type InteractiveSwitchOp struct { func (op InteractiveSwitchOp) Run(_, stderr io.Writer) error { // parse kubeconfig just to see if it can be loaded 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") @@ -30,7 +31,12 @@ func (op InteractiveSwitchOp) Run(_, stderr io.Writer) error { } return errors.Wrap(err, "kubeconfig error") } - kc.Close() + + ctxs := kc.ContextNames() + if ctxs == nil { + err := printer.Warning(stderr, "No kubectl context found") + return errors.Wrap(err, "kubeconfig error") + } cmd := exec.Command("fzf", "--ansi", "--no-preview") var out bytes.Buffer