From e97228af031df58cad4b7d66f10260dc10ccfd2e Mon Sep 17 00:00:00 2001 From: Gerald Pinder Date: Sun, 1 Feb 2026 14:21:31 -0500 Subject: [PATCH] fix(script-v2): Add better error handling of failed scripts --- modules/script/v2/script.nu | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/script/v2/script.nu b/modules/script/v2/script.nu index fb008a0f..84c62010 100644 --- a/modules/script/v2/script.nu +++ b/modules/script/v2/script.nu @@ -15,9 +15,17 @@ def main [config: string]: nothing -> nothing { | each {|script| print -e $'(ansi green)Running script: (ansi cyan)($script)(ansi reset)' - let script = [$script_dir $script] | path join - chmod +x $script - ^$script + let script_path = [$script_dir $script] | path join + chmod +x $script_path + + try { + ^$script_path + print -e $'(ansi green)Finished running script (ansi cyan)($script)(ansi reset)' + } catch { + return (error make { + msg: $'(ansi red)Failed to run (ansi cyan)($script)(ansi reset)' + }) + } } cd - @@ -25,7 +33,15 @@ def main [config: string]: nothing -> nothing { $config.snippets | each {|snippet| print -e $"(ansi green)Running snippet:\n(ansi cyan)($snippet)(ansi reset)" - /bin/sh -c $'($snippet)' + + try { + /bin/sh -c $'($snippet)' + print -e $"(ansi green)Finished running snippet:\n(ansi cyan)($snippet)(ansi reset)" + } catch { + return (error make { + msg: $"(ansi red)Failed to run snippet:\n(ansi cyan)($snippet)(ansi reset)" + }) + } } print -e $'(ansi green)Done(ansi reset)'