diff --git a/vendor/github.com/jesseduffield/pty/.gitignore b/vendor/github.com/creack/pty/.gitignore similarity index 100% rename from vendor/github.com/jesseduffield/pty/.gitignore rename to vendor/github.com/creack/pty/.gitignore diff --git a/vendor/github.com/creack/pty/Dockerfile.riscv b/vendor/github.com/creack/pty/Dockerfile.riscv new file mode 100644 index 000000000..adfdf82c8 --- /dev/null +++ b/vendor/github.com/creack/pty/Dockerfile.riscv @@ -0,0 +1,14 @@ +FROM golang:1.13 + +# Clone and complie a riscv compatible version of the go compiler. +RUN git clone https://review.gerrithub.io/riscv/riscv-go /riscv-go +# riscvdev branch HEAD as of 2019-06-29. +RUN cd /riscv-go && git checkout 04885fddd096d09d4450726064d06dd107e374bf +ENV PATH=/riscv-go/misc/riscv:/riscv-go/bin:$PATH +RUN cd /riscv-go/src && GOROOT_BOOTSTRAP=$(go env GOROOT) ./make.bash +ENV GOROOT=/riscv-go + +# Make sure we compile. +WORKDIR pty +ADD . . +RUN GOOS=linux GOARCH=riscv go build diff --git a/vendor/github.com/jesseduffield/pty/License b/vendor/github.com/creack/pty/LICENSE similarity index 100% rename from vendor/github.com/jesseduffield/pty/License rename to vendor/github.com/creack/pty/LICENSE diff --git a/vendor/github.com/jesseduffield/pty/README.md b/vendor/github.com/creack/pty/README.md similarity index 95% rename from vendor/github.com/jesseduffield/pty/README.md rename to vendor/github.com/creack/pty/README.md index f9bb002e0..5275014a7 100644 --- a/vendor/github.com/jesseduffield/pty/README.md +++ b/vendor/github.com/creack/pty/README.md @@ -4,7 +4,7 @@ Pty is a Go package for using unix pseudo-terminals. ## Install - go get github.com/kr/pty + go get github.com/creack/pty ## Example @@ -14,7 +14,7 @@ Pty is a Go package for using unix pseudo-terminals. package main import ( - "github.com/kr/pty" + "github.com/creack/pty" "io" "os" "os/exec" @@ -50,7 +50,7 @@ import ( "os/signal" "syscall" - "github.com/kr/pty" + "github.com/creack/pty" "golang.org/x/crypto/ssh/terminal" ) diff --git a/vendor/github.com/jesseduffield/pty/doc.go b/vendor/github.com/creack/pty/doc.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/doc.go rename to vendor/github.com/creack/pty/doc.go diff --git a/vendor/github.com/creack/pty/go.mod b/vendor/github.com/creack/pty/go.mod new file mode 100644 index 000000000..e48decaf4 --- /dev/null +++ b/vendor/github.com/creack/pty/go.mod @@ -0,0 +1,4 @@ +module github.com/creack/pty + +go 1.13 + diff --git a/vendor/github.com/jesseduffield/pty/ioctl.go b/vendor/github.com/creack/pty/ioctl.go similarity index 86% rename from vendor/github.com/jesseduffield/pty/ioctl.go rename to vendor/github.com/creack/pty/ioctl.go index c57c19e7e..c85cdcd14 100644 --- a/vendor/github.com/jesseduffield/pty/ioctl.go +++ b/vendor/github.com/creack/pty/ioctl.go @@ -1,4 +1,4 @@ -// +build !windows +// +build !windows,!solaris package pty diff --git a/vendor/github.com/jesseduffield/pty/ioctl_bsd.go b/vendor/github.com/creack/pty/ioctl_bsd.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ioctl_bsd.go rename to vendor/github.com/creack/pty/ioctl_bsd.go diff --git a/vendor/github.com/creack/pty/ioctl_solaris.go b/vendor/github.com/creack/pty/ioctl_solaris.go new file mode 100644 index 000000000..f63985f34 --- /dev/null +++ b/vendor/github.com/creack/pty/ioctl_solaris.go @@ -0,0 +1,30 @@ +package pty + +import ( + "golang.org/x/sys/unix" + "unsafe" +) + +const ( + // see /usr/include/sys/stropts.h + I_PUSH = uintptr((int32('S')<<8 | 002)) + I_STR = uintptr((int32('S')<<8 | 010)) + I_FIND = uintptr((int32('S')<<8 | 013)) + // see /usr/include/sys/ptms.h + ISPTM = (int32('P') << 8) | 1 + UNLKPT = (int32('P') << 8) | 2 + PTSSTTY = (int32('P') << 8) | 3 + ZONEPT = (int32('P') << 8) | 4 + OWNERPT = (int32('P') << 8) | 5 +) + +type strioctl struct { + ic_cmd int32 + ic_timout int32 + ic_len int32 + ic_dp unsafe.Pointer +} + +func ioctl(fd, cmd, ptr uintptr) error { + return unix.IoctlSetInt(int(fd), uint(cmd), int(ptr)) +} diff --git a/vendor/github.com/jesseduffield/pty/mktypes.bash b/vendor/github.com/creack/pty/mktypes.bash similarity index 100% rename from vendor/github.com/jesseduffield/pty/mktypes.bash rename to vendor/github.com/creack/pty/mktypes.bash diff --git a/vendor/github.com/jesseduffield/pty/pty_darwin.go b/vendor/github.com/creack/pty/pty_darwin.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/pty_darwin.go rename to vendor/github.com/creack/pty/pty_darwin.go diff --git a/vendor/github.com/jesseduffield/pty/pty_dragonfly.go b/vendor/github.com/creack/pty/pty_dragonfly.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/pty_dragonfly.go rename to vendor/github.com/creack/pty/pty_dragonfly.go diff --git a/vendor/github.com/jesseduffield/pty/pty_freebsd.go b/vendor/github.com/creack/pty/pty_freebsd.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/pty_freebsd.go rename to vendor/github.com/creack/pty/pty_freebsd.go diff --git a/vendor/github.com/jesseduffield/pty/pty_linux.go b/vendor/github.com/creack/pty/pty_linux.go similarity index 93% rename from vendor/github.com/jesseduffield/pty/pty_linux.go rename to vendor/github.com/creack/pty/pty_linux.go index 296dd2129..4a833de18 100644 --- a/vendor/github.com/jesseduffield/pty/pty_linux.go +++ b/vendor/github.com/creack/pty/pty_linux.go @@ -46,6 +46,6 @@ func ptsname(f *os.File) (string, error) { func unlockpt(f *os.File) error { var u _C_int - // use TIOCSPTLCK with a zero valued arg to clear the slave pty lock + // use TIOCSPTLCK with a pointer to zero to clear the lock return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))) } diff --git a/vendor/github.com/jesseduffield/pty/pty_openbsd.go b/vendor/github.com/creack/pty/pty_openbsd.go similarity index 90% rename from vendor/github.com/jesseduffield/pty/pty_openbsd.go rename to vendor/github.com/creack/pty/pty_openbsd.go index 6e7aeae7c..a6a35d1e6 100644 --- a/vendor/github.com/jesseduffield/pty/pty_openbsd.go +++ b/vendor/github.com/creack/pty/pty_openbsd.go @@ -11,7 +11,7 @@ func open() (pty, tty *os.File, err error) { * from ptm(4): * The PTMGET command allocates a free pseudo terminal, changes its * ownership to the caller, revokes the access privileges for all previous - * users, opens the file descriptors for the master and slave devices and + * users, opens the file descriptors for the pty and tty devices and * returns them to the caller in struct ptmget. */ diff --git a/vendor/github.com/creack/pty/pty_solaris.go b/vendor/github.com/creack/pty/pty_solaris.go new file mode 100644 index 000000000..09ec1b797 --- /dev/null +++ b/vendor/github.com/creack/pty/pty_solaris.go @@ -0,0 +1,139 @@ +package pty + +/* based on: +http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libc/port/gen/pt.c +*/ + +import ( + "errors" + "golang.org/x/sys/unix" + "os" + "strconv" + "syscall" + "unsafe" +) + +const NODEV = ^uint64(0) + +func open() (pty, tty *os.File, err error) { + masterfd, err := syscall.Open("/dev/ptmx", syscall.O_RDWR|unix.O_NOCTTY, 0) + //masterfd, err := syscall.Open("/dev/ptmx", syscall.O_RDWR|syscall.O_CLOEXEC|unix.O_NOCTTY, 0) + if err != nil { + return nil, nil, err + } + p := os.NewFile(uintptr(masterfd), "/dev/ptmx") + + sname, err := ptsname(p) + if err != nil { + return nil, nil, err + } + + err = grantpt(p) + if err != nil { + return nil, nil, err + } + + err = unlockpt(p) + if err != nil { + return nil, nil, err + } + + slavefd, err := syscall.Open(sname, os.O_RDWR|unix.O_NOCTTY, 0) + if err != nil { + return nil, nil, err + } + t := os.NewFile(uintptr(slavefd), sname) + + // pushing terminal driver STREAMS modules as per pts(7) + for _, mod := range([]string{"ptem", "ldterm", "ttcompat"}) { + err = streams_push(t, mod) + if err != nil { + return nil, nil, err + } + } + + return p, t, nil +} + +func minor(x uint64) uint64 { + return x & 0377 +} + +func ptsdev(fd uintptr) uint64 { + istr := strioctl{ISPTM, 0, 0, nil} + err := ioctl(fd, I_STR, uintptr(unsafe.Pointer(&istr))) + if err != nil { + return NODEV + } + var status unix.Stat_t + err = unix.Fstat(int(fd), &status) + if err != nil { + return NODEV + } + return uint64(minor(status.Rdev)) +} + +func ptsname(f *os.File) (string, error) { + dev := ptsdev(f.Fd()) + if dev == NODEV { + return "", errors.New("not a master pty") + } + fn := "/dev/pts/" + strconv.FormatInt(int64(dev), 10) + // access(2) creates the slave device (if the pty exists) + // F_OK == 0 (unistd.h) + err := unix.Access(fn, 0) + if err != nil { + return "", err + } + return fn, nil +} + +type pt_own struct { + pto_ruid int32 + pto_rgid int32 +} + +func grantpt(f *os.File) error { + if ptsdev(f.Fd()) == NODEV { + return errors.New("not a master pty") + } + var pto pt_own + pto.pto_ruid = int32(os.Getuid()) + // XXX should first attempt to get gid of DEFAULT_TTY_GROUP="tty" + pto.pto_rgid = int32(os.Getgid()) + var istr strioctl + istr.ic_cmd = OWNERPT + istr.ic_timout = 0 + istr.ic_len = int32(unsafe.Sizeof(istr)) + istr.ic_dp = unsafe.Pointer(&pto) + err := ioctl(f.Fd(), I_STR, uintptr(unsafe.Pointer(&istr))) + if err != nil { + return errors.New("access denied") + } + return nil +} + +func unlockpt(f *os.File) error { + istr := strioctl{UNLKPT, 0, 0, nil} + return ioctl(f.Fd(), I_STR, uintptr(unsafe.Pointer(&istr))) +} + +// push STREAMS modules if not already done so +func streams_push(f *os.File, mod string) error { + var err error + buf := []byte(mod) + // XXX I_FIND is not returning an error when the module + // is already pushed even though truss reports a return + // value of 1. A bug in the Go Solaris syscall interface? + // XXX without this we are at risk of the issue + // https://www.illumos.org/issues/9042 + // but since we are not using libc or XPG4.2, we should not be + // double-pushing modules + + err = ioctl(f.Fd(), I_FIND, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return nil + } + err = ioctl(f.Fd(), I_PUSH, uintptr(unsafe.Pointer(&buf[0]))) + return err +} diff --git a/vendor/github.com/jesseduffield/pty/pty_unsupported.go b/vendor/github.com/creack/pty/pty_unsupported.go similarity index 64% rename from vendor/github.com/jesseduffield/pty/pty_unsupported.go rename to vendor/github.com/creack/pty/pty_unsupported.go index 9a3e721bc..ceb425b19 100644 --- a/vendor/github.com/jesseduffield/pty/pty_unsupported.go +++ b/vendor/github.com/creack/pty/pty_unsupported.go @@ -1,4 +1,4 @@ -// +build !linux,!darwin,!freebsd,!dragonfly,!openbsd +// +build !linux,!darwin,!freebsd,!dragonfly,!openbsd,!solaris package pty diff --git a/vendor/github.com/jesseduffield/pty/run.go b/vendor/github.com/creack/pty/run.go similarity index 93% rename from vendor/github.com/jesseduffield/pty/run.go rename to vendor/github.com/creack/pty/run.go index dda19b760..959be26b2 100644 --- a/vendor/github.com/jesseduffield/pty/run.go +++ b/vendor/github.com/creack/pty/run.go @@ -39,12 +39,15 @@ func StartWithSize(c *exec.Cmd, sz *Winsize) (pty *os.File, err error) { if c.Stderr == nil { c.Stderr = tty } - c.Stdin = tty + if c.Stdin == nil { + c.Stdin = tty + } if c.SysProcAttr == nil { c.SysProcAttr = &syscall.SysProcAttr{} } c.SysProcAttr.Setctty = true c.SysProcAttr.Setsid = true + c.SysProcAttr.Ctty = int(tty.Fd()) err = c.Start() if err != nil { pty.Close() diff --git a/vendor/github.com/creack/pty/test_crosscompile.sh b/vendor/github.com/creack/pty/test_crosscompile.sh new file mode 100644 index 000000000..f0b1dcac0 --- /dev/null +++ b/vendor/github.com/creack/pty/test_crosscompile.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env sh + +# Test script checking that all expected os/arch compile properly. +# Does not actually test the logic, just the compilation so we make sure we don't break code depending on the lib. + +echo2() { + echo $@ >&2 +} + +trap end 0 +end() { + [ "$?" = 0 ] && echo2 "Pass." || (echo2 "Fail."; exit 1) +} + +cross() { + os=$1 + shift + echo2 "Build for $os." + for arch in $@; do + echo2 " - $os/$arch" + GOOS=$os GOARCH=$arch go build + done + echo2 +} + +set -e + +cross linux amd64 386 arm arm64 ppc64 ppc64le s390x mips mipsle mips64 mips64le +cross darwin amd64 386 arm arm64 +cross freebsd amd64 386 arm +cross netbsd amd64 386 arm +cross openbsd amd64 386 +cross dragonfly amd64 +cross solaris amd64 + +# Not expected to work but should still compile. +cross windows amd64 386 arm + +# TODO: Fix compilation error on openbsd/arm. +# TODO: Merge the solaris PR. + +# Some os/arch require a different compiler. Run in docker. +if ! hash docker; then + # If docker is not present, stop here. + return +fi + +echo2 "Build for linux." +echo2 " - linux/riscv" +docker build -t test -f Dockerfile.riscv . diff --git a/vendor/github.com/jesseduffield/pty/util.go b/vendor/github.com/creack/pty/util.go similarity index 81% rename from vendor/github.com/jesseduffield/pty/util.go rename to vendor/github.com/creack/pty/util.go index 68a8584cf..8fdde0bab 100644 --- a/vendor/github.com/jesseduffield/pty/util.go +++ b/vendor/github.com/creack/pty/util.go @@ -1,4 +1,4 @@ -// +build !windows +// +build !windows,!solaris package pty @@ -8,15 +8,15 @@ import ( "unsafe" ) -// InheritSize applies the terminal size of master to slave. This should be run -// in a signal handler for syscall.SIGWINCH to automatically resize the slave when -// the master receives a window size change notification. -func InheritSize(master, slave *os.File) error { - size, err := GetsizeFull(master) +// InheritSize applies the terminal size of pty to tty. This should be run +// in a signal handler for syscall.SIGWINCH to automatically resize the tty when +// the pty receives a window size change notification. +func InheritSize(pty, tty *os.File) error { + size, err := GetsizeFull(pty) if err != nil { return err } - err = Setsize(slave, size) + err = Setsize(tty, size) if err != nil { return err } diff --git a/vendor/github.com/creack/pty/util_solaris.go b/vendor/github.com/creack/pty/util_solaris.go new file mode 100644 index 000000000..e88969248 --- /dev/null +++ b/vendor/github.com/creack/pty/util_solaris.go @@ -0,0 +1,51 @@ +// + +package pty + +import ( + "os" + "golang.org/x/sys/unix" +) + +const ( + TIOCGWINSZ = 21608 // 'T' << 8 | 104 + TIOCSWINSZ = 21607 // 'T' << 8 | 103 +) + +// Winsize describes the terminal size. +type Winsize struct { + Rows uint16 // ws_row: Number of rows (in cells) + Cols uint16 // ws_col: Number of columns (in cells) + X uint16 // ws_xpixel: Width in pixels + Y uint16 // ws_ypixel: Height in pixels +} + +// GetsizeFull returns the full terminal size description. +func GetsizeFull(t *os.File) (size *Winsize, err error) { + var wsz *unix.Winsize + wsz, err = unix.IoctlGetWinsize(int(t.Fd()), TIOCGWINSZ) + + if err != nil { + return nil, err + } else { + return &Winsize{wsz.Row, wsz.Col, wsz.Xpixel, wsz.Ypixel}, nil + } +} + +// Get Windows Size +func Getsize(t *os.File) (rows, cols int, err error) { + var wsz *unix.Winsize + wsz, err = unix.IoctlGetWinsize(int(t.Fd()), TIOCGWINSZ) + + if err != nil { + return 80, 25, err + } else { + return int(wsz.Row), int(wsz.Col), nil + } +} + +// Setsize resizes t to s. +func Setsize(t *os.File, ws *Winsize) error { + wsz := unix.Winsize{ws.Rows, ws.Cols, ws.X, ws.Y} + return unix.IoctlSetWinsize(int(t.Fd()), TIOCSWINSZ, &wsz) +} diff --git a/vendor/github.com/jesseduffield/pty/ztypes_386.go b/vendor/github.com/creack/pty/ztypes_386.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_386.go rename to vendor/github.com/creack/pty/ztypes_386.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_amd64.go b/vendor/github.com/creack/pty/ztypes_amd64.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_amd64.go rename to vendor/github.com/creack/pty/ztypes_amd64.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_arm.go b/vendor/github.com/creack/pty/ztypes_arm.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_arm.go rename to vendor/github.com/creack/pty/ztypes_arm.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_arm64.go b/vendor/github.com/creack/pty/ztypes_arm64.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_arm64.go rename to vendor/github.com/creack/pty/ztypes_arm64.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_dragonfly_amd64.go b/vendor/github.com/creack/pty/ztypes_dragonfly_amd64.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_dragonfly_amd64.go rename to vendor/github.com/creack/pty/ztypes_dragonfly_amd64.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_freebsd_386.go b/vendor/github.com/creack/pty/ztypes_freebsd_386.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_freebsd_386.go rename to vendor/github.com/creack/pty/ztypes_freebsd_386.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_freebsd_amd64.go b/vendor/github.com/creack/pty/ztypes_freebsd_amd64.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_freebsd_amd64.go rename to vendor/github.com/creack/pty/ztypes_freebsd_amd64.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_freebsd_arm.go b/vendor/github.com/creack/pty/ztypes_freebsd_arm.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_freebsd_arm.go rename to vendor/github.com/creack/pty/ztypes_freebsd_arm.go diff --git a/vendor/github.com/creack/pty/ztypes_freebsd_arm64.go b/vendor/github.com/creack/pty/ztypes_freebsd_arm64.go new file mode 100644 index 000000000..4418139b2 --- /dev/null +++ b/vendor/github.com/creack/pty/ztypes_freebsd_arm64.go @@ -0,0 +1,13 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs types_freebsd.go + +package pty + +const ( + _C_SPECNAMELEN = 0xff +) + +type fiodgnameArg struct { + Len int32 + Buf *byte +} diff --git a/vendor/github.com/jesseduffield/pty/ztypes_mipsx.go b/vendor/github.com/creack/pty/ztypes_mipsx.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_mipsx.go rename to vendor/github.com/creack/pty/ztypes_mipsx.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_openbsd_386.go b/vendor/github.com/creack/pty/ztypes_openbsd_386.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_openbsd_386.go rename to vendor/github.com/creack/pty/ztypes_openbsd_386.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_openbsd_amd64.go b/vendor/github.com/creack/pty/ztypes_openbsd_amd64.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_openbsd_amd64.go rename to vendor/github.com/creack/pty/ztypes_openbsd_amd64.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_ppc64.go b/vendor/github.com/creack/pty/ztypes_ppc64.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_ppc64.go rename to vendor/github.com/creack/pty/ztypes_ppc64.go diff --git a/vendor/github.com/jesseduffield/pty/ztypes_ppc64le.go b/vendor/github.com/creack/pty/ztypes_ppc64le.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_ppc64le.go rename to vendor/github.com/creack/pty/ztypes_ppc64le.go diff --git a/vendor/github.com/creack/pty/ztypes_riscvx.go b/vendor/github.com/creack/pty/ztypes_riscvx.go new file mode 100644 index 000000000..99eec8ecb --- /dev/null +++ b/vendor/github.com/creack/pty/ztypes_riscvx.go @@ -0,0 +1,11 @@ +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs types.go + +// +build riscv riscv64 + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/jesseduffield/pty/ztypes_s390x.go b/vendor/github.com/creack/pty/ztypes_s390x.go similarity index 100% rename from vendor/github.com/jesseduffield/pty/ztypes_s390x.go rename to vendor/github.com/creack/pty/ztypes_s390x.go diff --git a/vendor/modules.txt b/vendor/modules.txt index a098e0700..71c4d9aec 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,6 +1,9 @@ # github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 ## explicit github.com/cloudfoundry/jibber_jabber +# github.com/creack/pty v1.1.10-0.20191209115840-8ab47f72e854 +## explicit +github.com/creack/pty # github.com/davecgh/go-spew v1.1.1 github.com/davecgh/go-spew/spew # github.com/emirpasic/gods v1.12.0 @@ -45,9 +48,6 @@ github.com/jbenet/go-context/io # github.com/jesseduffield/gocui v0.3.1-0.20200309001002-7765949e1c8a ## explicit github.com/jesseduffield/gocui -# github.com/jesseduffield/pty v1.2.1 -## explicit -github.com/jesseduffield/pty # github.com/jesseduffield/termbox-go v0.0.0-20200130214842-1d31d1faa3c9 ## explicit github.com/jesseduffield/termbox-go @@ -75,8 +75,6 @@ github.com/mattn/go-runewidth github.com/mgutz/str # github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/go-homedir -# github.com/mitchellh/gox v1.0.1 -## explicit # github.com/mitchellh/mapstructure v1.1.2 github.com/mitchellh/mapstructure # github.com/nicksnyder/go-i18n/v2 v2.0.3