blob: 6fd0b91b7b54cba3869df7d79ab7887ab3c77d4e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
//go:build !windows
// +build !windows
package tui
import (
"os"
"syscall"
)
func getShellBin() string {
shellbin, ok := os.LookupEnv("SHELL")
if !ok {
shellbin = "/bin/bash"
}
return shellbin
}
func (ui *UI) spawnShell() {
if ui.currentDir == nil {
return
}
ui.app.Suspend(func() {
if err := os.Chdir(ui.currentDirPath); err != nil {
ui.showErr("Error changing directory", err)
return
}
if err := ui.exec(getShellBin(), nil, os.Environ()); err != nil {
ui.showErr("Error executing shell", err)
}
})
}
func stopProcess() error {
return syscall.Kill(syscall.Getpid(), syscall.SIGTSTP)
}
|