refactor(cli): add Fatal() and simplify main entry point
- Add cli.Fatal(err) that prints styled error and exits - Change cli.Main() to handle errors internally via Fatal() - Simplify main.go to just: cli.Main() Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
5b2c4eef75
commit
6b76b4d37f
3 changed files with 13 additions and 10 deletions
8
main.go
8
main.go
|
|
@ -1,9 +1,6 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
|
||||
// Build variants import commands via self-registration.
|
||||
|
|
@ -12,8 +9,5 @@ import (
|
|||
)
|
||||
|
||||
func main() {
|
||||
if err := cli.Main(); err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
cli.Main()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ const (
|
|||
|
||||
// Main initialises and runs the CLI application.
|
||||
// This is the main entry point for the CLI.
|
||||
func Main() error {
|
||||
// Exits with code 1 on error.
|
||||
func Main() {
|
||||
// Initialise CLI runtime with services
|
||||
if err := Init(Options{
|
||||
AppName: AppName,
|
||||
|
|
@ -29,14 +30,14 @@ func Main() error {
|
|||
})),
|
||||
},
|
||||
}); err != nil {
|
||||
return err
|
||||
Fatal(err)
|
||||
}
|
||||
defer Shutdown()
|
||||
|
||||
// Add completion command to the CLI's root
|
||||
RootCmd().AddCommand(completionCmd)
|
||||
|
||||
return Execute()
|
||||
Fatal(Execute())
|
||||
}
|
||||
|
||||
// completionCmd generates shell completion scripts.
|
||||
|
|
|
|||
|
|
@ -156,6 +156,14 @@ func Error(msg string) {
|
|||
fmt.Println(ErrorStyle.Render(SymbolCross + " " + msg))
|
||||
}
|
||||
|
||||
// Fatal prints an error message and exits with code 1.
|
||||
func Fatal(err error) {
|
||||
if err != nil {
|
||||
Error(err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
// Warning prints a warning message.
|
||||
func Warning(msg string) {
|
||||
fmt.Println(WarningStyle.Render(SymbolWarning + " " + msg))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue