From 6179b0d37b0edaba065e79d8c8e303cd025ccd3d Mon Sep 17 00:00:00 2001 From: bpc2003 Date: Fri, 23 May 2025 23:35:03 -0400 Subject: Add command handling --- main.go | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'main.go') diff --git a/main.go b/main.go index adaab6e..82f5bbf 100644 --- a/main.go +++ b/main.go @@ -4,13 +4,36 @@ import ( "bufio" "fmt" "os" + "os/exec" + "path" + "strings" ) func main() { r := bufio.NewReader(os.Stdin) + paths := strings.Split(os.Getenv("PATH"), ":") for { + found := false cmd, _ := r.ReadString('\n') - fmt.Print(cmd) + args := strings.Split(strings.TrimSpace(cmd), " ") + cmd = args[0] + + for i := range paths { + if _, err := os.Stat(path.Join(paths[i], cmd)); err == nil { + cmd = path.Join(paths[i], cmd) + found = true + break + } + } + if found { + c := exec.Command(cmd, args[1:]...) + output, err := c.CombinedOutput() + if err != nil { + fmt.Fprintln(os.Stderr, err.Error()) + continue + } + fmt.Print(string(output)) + } } } -- cgit v1.2.3