mirror of
https://github.com/numtide/treefmt.git
synced 2024-10-03 20:18:11 +03:00
commit
30d30b54f0
@ -325,9 +325,11 @@ func (f *Format) walkFilesystem(ctx context.Context) func() error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// applyFormatters
|
||||||
func (f *Format) applyFormatters(ctx context.Context) func() error {
|
func (f *Format) applyFormatters(ctx context.Context) func() error {
|
||||||
// create our own errgroup for concurrent formatting tasks
|
// create our own errgroup for concurrent formatting tasks.
|
||||||
fg, ctx := errgroup.WithContext(ctx)
|
// we don't want a cancel clause, in order to let formatters run up to the end.
|
||||||
|
fg := errgroup.Group{}
|
||||||
// simple optimization to avoid too many concurrent formatting tasks
|
// simple optimization to avoid too many concurrent formatting tasks
|
||||||
// we can queue them up faster than the formatters can process them, this paces things a bit
|
// we can queue them up faster than the formatters can process them, this paces things a bit
|
||||||
fg.SetLimit(runtime.NumCPU())
|
fg.SetLimit(runtime.NumCPU())
|
||||||
|
@ -64,6 +64,10 @@ func (f *Formatter) Apply(ctx context.Context, tasks []*Task) error {
|
|||||||
|
|
||||||
// execute the command
|
// execute the command
|
||||||
cmd := exec.CommandContext(ctx, f.executable, args...)
|
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
|
cmd.Dir = f.workingDir
|
||||||
|
|
||||||
// log out the command being executed
|
// log out the command being executed
|
||||||
|
Loading…
Reference in New Issue
Block a user