// Copyright 2023 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package cmd import ( "fmt" "strings" "github.com/urfave/cli" ) func RunMainApp(app *cli.App, args ...string) error { err := app.Run(args) if err == nil { return nil } if strings.HasPrefix(err.Error(), "flag provided but not defined:") { // the cli package should already have output the error message, so just exit cli.OsExiter(1) return err } _, _ = fmt.Fprintf(app.ErrWriter, "Command error: %v\n", err) cli.OsExiter(1) return err }