| // Copyright 2011 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Package terminal provides support functions for dealing with terminals, as |
| // commonly found on UNIX systems. |
| // |
| // Deprecated: this package moved to golang.org/x/term. |
| package terminal |
| |
| import ( |
| "io" |
| |
| "golang.org/x/term" |
| ) |
| |
| // EscapeCodes contains escape sequences that can be written to the terminal in |
| // order to achieve different styles of text. |
| type EscapeCodes = term.EscapeCodes |
| |
| // Terminal contains the state for running a VT100 terminal that is capable of |
| // reading lines of input. |
| type Terminal = term.Terminal |
| |
| // NewTerminal runs a VT100 terminal on the given ReadWriter. If the ReadWriter is |
| // a local terminal, that terminal must first have been put into raw mode. |
| // prompt is a string that is written at the start of each input line (i.e. |
| // "> "). |
| func NewTerminal(c io.ReadWriter, prompt string) *Terminal { |
| return term.NewTerminal(c, prompt) |
| } |
| |
| // ErrPasteIndicator may be returned from ReadLine as the error, in addition |
| // to valid line data. It indicates that bracketed paste mode is enabled and |
| // that the returned line consists only of pasted data. Programs may wish to |
| // interpret pasted data more literally than typed data. |
| var ErrPasteIndicator = term.ErrPasteIndicator |
| |
| // State contains the state of a terminal. |
| type State = term.State |
| |
| // IsTerminal returns whether the given file descriptor is a terminal. |
| func IsTerminal(fd int) bool { |
| return term.IsTerminal(fd) |
| } |
| |
| // ReadPassword reads a line of input from a terminal without local echo. This |
| // is commonly used for inputting passwords and other sensitive data. The slice |
| // returned does not include the \n. |
| func ReadPassword(fd int) ([]byte, error) { |
| return term.ReadPassword(fd) |
| } |
| |
| // MakeRaw puts the terminal connected to the given file descriptor into raw |
| // mode and returns the previous state of the terminal so that it can be |
| // restored. |
| func MakeRaw(fd int) (*State, error) { |
| return term.MakeRaw(fd) |
| } |
| |
| // Restore restores the terminal connected to the given file descriptor to a |
| // previous state. |
| func Restore(fd int, oldState *State) error { |
| return term.Restore(fd, oldState) |
| } |
| |
| // GetState returns the current state of a terminal which may be useful to |
| // restore the terminal after a signal. |
| func GetState(fd int) (*State, error) { |
| return term.GetState(fd) |
| } |
| |
| // GetSize returns the dimensions of the given terminal. |
| func GetSize(fd int) (width, height int, err error) { |
| return term.GetSize(fd) |
| } |