From c8bbc8cb2b31ae71ed67f6bffda7713e922c3001 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Fri, 15 May 2026 17:05:04 +0200 Subject: [PATCH] Added constants for the exit codes --- src/cli/asm.go | 2 +- src/cli/build.go | 2 +- src/cli/exit.go | 13 ++++++++++--- src/cli/files.go | 2 +- src/cli/help.go | 2 +- src/cli/invalid.go | 2 +- src/cli/run.go | 7 +------ src/cli/ssa.go | 2 +- src/cli/version.go | 2 +- 9 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/cli/asm.go b/src/cli/asm.go index d3a42cb..02eb757 100644 --- a/src/cli/asm.go +++ b/src/cli/asm.go @@ -20,5 +20,5 @@ func asm(args []string) int { } verbose.ASM(env.Init) - return 0 + return success } \ No newline at end of file diff --git a/src/cli/build.go b/src/cli/build.go index 5435b09..f7960ba 100644 --- a/src/cli/build.go +++ b/src/cli/build.go @@ -20,7 +20,7 @@ func build(args []string) int { } if b.Dry { - return 0 + return success } err = linker.WriteFile(b.Executable(), env) diff --git a/src/cli/exit.go b/src/cli/exit.go index 896c5a0..3f0ea0f 100644 --- a/src/cli/exit.go +++ b/src/cli/exit.go @@ -12,10 +12,17 @@ import ( "git.urbach.dev/go/color/ansi" ) +// Exit codes. +const ( + success = iota + fail + invalidArgs +) + // exit returns the exit code depending on the error type. func exit(err error) int { if err == nil { - return 0 + return success } var ( @@ -55,8 +62,8 @@ func exit(err error) int { } if errors.As(err, &expectedParameter) || errors.As(err, &unknownParameter) || errors.As(err, &invalidValue) { - return 2 + return invalidArgs } - return 1 + return fail } \ No newline at end of file diff --git a/src/cli/files.go b/src/cli/files.go index 60d03e8..36402a9 100644 --- a/src/cli/files.go +++ b/src/cli/files.go @@ -20,5 +20,5 @@ func files(args []string) int { } verbose.Files(env.Files) - return 0 + return success } \ No newline at end of file diff --git a/src/cli/help.go b/src/cli/help.go index 4d91452..7bee735 100644 --- a/src/cli/help.go +++ b/src/cli/help.go @@ -10,5 +10,5 @@ var helpText string // help shows the command line argument usage. func help() int { show(helpText) - return 0 + return success } \ No newline at end of file diff --git a/src/cli/invalid.go b/src/cli/invalid.go index 8bde289..12a1726 100644 --- a/src/cli/invalid.go +++ b/src/cli/invalid.go @@ -10,5 +10,5 @@ import ( func invalid() int { color.Redirect(os.Stderr) help() - return 2 + return invalidArgs } \ No newline at end of file diff --git a/src/cli/run.go b/src/cli/run.go index f60dbf5..1237c86 100644 --- a/src/cli/run.go +++ b/src/cli/run.go @@ -28,10 +28,5 @@ func run(args []string) int { linker.Write(file, env) err = memfile.Exec(file) - - if err != nil { - return exit(err) - } - - return 0 + return exit(err) } \ No newline at end of file diff --git a/src/cli/ssa.go b/src/cli/ssa.go index cc8f0e3..6fd5637 100644 --- a/src/cli/ssa.go +++ b/src/cli/ssa.go @@ -20,5 +20,5 @@ func ssa(args []string) int { } verbose.SSA(env.Init) - return 0 + return success } \ No newline at end of file diff --git a/src/cli/version.go b/src/cli/version.go index 25accc5..a376088 100644 --- a/src/cli/version.go +++ b/src/cli/version.go @@ -10,5 +10,5 @@ var versionText string // version shows the commit date and hash. func version() int { show(versionText) - return 0 + return success } \ No newline at end of file -- 2.51.2