package internal

import (
	"os"

	"github.com/sirupsen/logrus"
	"github.com/urfave/cli"
)

// ShowSubcommandHelpAndError exits the program on error, logs the error to the
// terminal, and shows the help command.
func ShowSubcommandHelpAndError(c *cli.Context, err interface{}) {
	if err2 := cli.ShowSubcommandHelp(c); err2 != nil {
		logrus.Error(err2)
	}
	logrus.Error(err)
	os.Exit(1)
}