Skip to content

Commit 58a4d61

Browse files
committed
Open iTerm window
1 parent d952f7a commit 58a4d61

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

cmd/debug.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"io"
1111
"log"
1212
"os"
13+
"os/exec"
1314
"runtime"
1415
"strings"
1516

@@ -95,6 +96,7 @@ debug-ctr debug --image=docker.io/alpine:latest --target=my-distroless --entrypo
9596
log.Printf("entrypoint: %+v", containerEntrypoint)
9697

9798
var containerCmd = inspect.Config.Cmd
99+
//var containerCmd = []string{"sh", "-c", `export PATH=$PATH:/.debugger /.debugger/sh`} //TODO: last part can be just "sh"?
98100
if len(cmdOverride) > 0 {
99101
x := strslice.StrSlice{}
100102
for _, y := range cmdOverride {
@@ -132,6 +134,28 @@ debug-ctr debug --image=docker.io/alpine:latest --target=my-distroless --entrypo
132134
log.Printf(`$ docker exec -it %s /.debugger/sh -c "PATH=\$PATH:/.debugger /.debugger/sh"`, targetContainerCreate.ID)
133135
log.Println("-------------------------------")
134136

137+
//TODO: if "--open" flag
138+
switch runtime.GOOS {
139+
// TODO: windows
140+
//TODO: linux
141+
case "darwin":
142+
143+
args := fmt.Sprintf(`
144+
reopen
145+
tell current window
146+
create tab with default profile
147+
tell current session
148+
write text "docker exec -it %s /.debugger/sh -c \"PATH=\\$PATH:/.debugger /.debugger/sh\""
149+
end tell
150+
end tell
151+
end tell`, targetContainerCreate.ID)
152+
153+
err := exec.Command("/usr/bin/osascript", "-e", "tell application \"iTerm\"", "-e", args).Run()
154+
if err != nil {
155+
log.Fatal(err)
156+
}
157+
}
158+
135159
return nil
136160
},
137161
}

0 commit comments

Comments
 (0)