refactor(nothooks): make hook runner language-agnostic
Some checks failed
Public Repo Readiness / Check Public Repo Readiness (push) Failing after 6s

Remove hardcoded nu interpreter. HookSpec gains an optional interpreter
field; runner infers from file extension (.sh, .nu, .py, .rb, .zsh,
.bash) when not set. Integration tests now use sh — no nu runtime dep
on CI.
This commit is contained in:
Joseph O'Brien
2026-04-04 01:14:29 -04:00
parent 6f24eb0030
commit ebb8a5946d
8 changed files with 91 additions and 35 deletions

View File

@@ -186,6 +186,7 @@ fn test_setup_hooks_skipped_on_rerun() {
name: HOOK_NAME.to_string(),
script: script.to_str().unwrap().to_string(),
phase: HookPhase::Setup,
interpreter: None,
};
let runner = HookRunner::new(d.to_path_buf());
let phase_report = run_phase(&[hook_spec], &HookPhase::Setup, &runner);

View File

@@ -35,6 +35,7 @@ fn test_nothooks_notsecrets_independent() {
name: "chain".to_string(),
script: script.to_str().unwrap().to_string(),
phase: HookPhase::Dot,
interpreter: None,
};
let runner = HookRunner::new(dir.path().to_path_buf());