From ef4c925e37bf819e294e494068d0a135a095dcb4 Mon Sep 17 00:00:00 2001 From: sammyette Date: Thu, 24 Apr 2025 11:27:43 -0400 Subject: [PATCH] fix: alias resolution for continued input with quotes --- golibs/snail/snail.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/golibs/snail/snail.go b/golibs/snail/snail.go index 3ca1d12..195fab5 100644 --- a/golibs/snail/snail.go +++ b/golibs/snail/snail.go @@ -66,6 +66,8 @@ func (s *Snail) Run(cmd string, strms *util.Streams) (bool, io.Writer, io.Writer buf := new(bytes.Buffer) //printer := syntax.NewPrinter() + replacer := strings.NewReplacer("[", "\\[", "]", "\\]") + var bg bool for _, stmt := range file.Stmts { bg = false @@ -95,7 +97,7 @@ func (s *Snail) Run(cmd string, strms *util.Streams) (bool, io.Writer, io.Writer _, argstring = splitInput(strings.Join(args, " ")) // If alias was found, use command alias - argstring = util.MustDoString(s.runtime, fmt.Sprintf(`return hilbish.aliases.resolve("%s")`, argstring)).AsString() + argstring = util.MustDoString(s.runtime, fmt.Sprintf(`return hilbish.aliases.resolve [[%s]]`, replacer.Replace(argstring))).AsString() var err error args, err = shell.Fields(argstring, nil)