code: func NewCmdConfigSetContext(out io.Writer, configAccess clientcmd.ConfigAccess) *cobra.Command {
  	options := &createContextOptions{configAccess: configAccess}
  
  	cmd := &cobra.Command{
  		Use:                   fmt.Sprintf("set-context [NAME | --current] [--%v=cluster_nickname] [--%v=user_nickname] [--%v=namespace]", clientcmd.FlagClusterName, clientcmd.FlagAuthInfoName, clientcmd.FlagNamespace),
  		DisableFlagsInUseLine: true,
  		Short:                 i18n.T("Sets a context entry in kubeconfig"),
  		Long:                  createContextLong,
  		Example:               createContextExample,
  		Run: func(cmd *cobra.Command, args []string) {
  			cmdutil.CheckErr(options.complete(cmd))
  			name, exists, err := options.run()
  			cmdutil.CheckErr(err)
  			if exists {
  				fmt.Fprintf(out, "Context %q modified.\n", name)
  			} else {
  				fmt.Fprintf(out, "Context %q created.\n", name)
  			}
  		},
  	}
  
  	cmd.Flags().BoolVar(&options.currContext, "current", options.currContext, "Modify the current context")
  	cmd.Flags().Var(&options.cluster, clientcmd.FlagClusterName, clientcmd.FlagClusterName+" for the context entry in kubeconfig")
  	cmd.Flags().Var(&options.authInfo, clientcmd.FlagAuthInfoName, clientcmd.FlagAuthInfoName+" for the context entry in kubeconfig")
  	cmd.Flags().Var(&options.namespace, clientcmd.FlagNamespace, clientcmd.FlagNamespace+" for the context entry in kubeconfig")
  
  	return cmd
  }
docs: // NewCmdConfigSetContext returns a Command instance for 'config set-context' sub command