From c68261e9799996d427417fadf68ba54d06d9ff2b Mon Sep 17 00:00:00 2001 From: zimbatm Date: Fri, 14 Jun 2024 14:09:04 +0200 Subject: [PATCH] fix: stop hard-killing formatters Give the processes some chance to clean after themselves. Fixes https://github.com/numtide/treefmt/issues/316#issuecomment-2160628891 --- format/formatter.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/format/formatter.go b/format/formatter.go index a01646e5..0cb8983d 100644 --- a/format/formatter.go +++ b/format/formatter.go @@ -66,6 +66,10 @@ func (f *Formatter) Apply(ctx context.Context, tasks []*Task) error { // execute the command cmd := exec.CommandContext(ctx, f.executable, args...) + // replace the default Cancel handler installed by CommandContext because it sends SIGKILL (-9). + cmd.Cancel = func() error { + return cmd.Process.Signal(os.Interrupt) + } cmd.Dir = f.workingDir // log out the command being executed