// Gets a line type using the given prompt as primary. Sets the TTY raw mode. // 'ansiLen' is the length of ANSI codes that the prompt could have. func NewLinePrompt(prompt string, ansiLen int, hist *history) *Line { term.MakeRaw() buf := newBuffer(len(prompt) - ansiLen) buf.insertRunes([]int(prompt)) return &Line{ hasHistory(hist), len(prompt) - ansiLen, prompt, PS2, buf, hist, } }
// Gets a line type using the primary prompt by default. Sets the TTY raw mode. func NewLine(hist *history) *Line { term.MakeRaw() buf := newBuffer(len(PS1)) buf.insertRunes([]int(PS1)) return &Line{ hasHistory(hist), len(PS1), PS1, PS2, buf, hist, } }