INNER CODE UNIT · Go
mustRenderTemplate
iximiuz/cdebug · cmd/exec/exec.go:367
func mustRenderTemplate(cli cliutil.CLI, t *template.Template, data any) string {
var buf bytes.Buffer
if err := t.Execute(&buf, data); err != nil {
cli.PrintErr("Cannot render template %q: %w", t.Name(), err)
os.Exit(1)
}
return buf.String()
}
// FIXME: Too naive. This will break for args containing escaped symbols.
func shellescape(args []string) (escaped []string) {
for _, a := range args {
if strings.ContainsAny(a, " \t\n\r") {
a = `"` + a + `"`
}
escaped = append(escaped, a)
}
return