github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/fly/pty/open_raw_term_unix.go (about)

     1  // +build !windows
     2  
     3  package pty
     4  
     5  import (
     6  	"os"
     7  
     8  	"golang.org/x/crypto/ssh/terminal"
     9  
    10  	"github.com/pkg/term"
    11  )
    12  
    13  func IsTerminal() bool {
    14  	return terminal.IsTerminal(int(os.Stdin.Fd()))
    15  }
    16  
    17  func OpenRawTerm() (Term, error) {
    18  	t, err := term.Open(os.Stdin.Name(), term.RawMode)
    19  	if err != nil {
    20  		return nil, err
    21  	}
    22  
    23  	return t, nil
    24  }