Documentation ¶
Overview ¶
Readline is a pure go implementation for GNU-Readline kind library.
WHY: Readline will support most of features which GNU Readline is supported, and provide a pure go environment and a MIT license.
example:
rl, err := readline.New("> ") if err != nil { panic(err) } defer rl.Close() for { line, err := rl.Readline() if err != nil { // io.EOF break } println(line) }
Index ¶
- Constants
- func Debug(o ...interface{})
- func IsPrintable(key rune) bool
- func IsTerminal(fd int) bool
- func IsWordBreak(i rune) bool
- func LineCount(w int) int
- func MakeRaw(fd int) (*terminal.State, error)
- func Restore(fd int, state *terminal.State) error
- func RunesIndex(r, sub []rune) int
- func RunesIndexBck(r, sub []rune) int
- func RunesWidth(r []rune) (length int)
- type Config
- type Instance
- type Operation
- func (o *Operation) Close()
- func (o Operation) ExitSearchMode(revert bool)
- func (o Operation) FindHistoryBck(isNewSearch bool, rs []rune, start int) (int, *list.Element)
- func (o Operation) FindHistoryFwd(isNewSearch bool, rs []rune, start int) (int, *list.Element)
- func (o Operation) IsSearchMode() bool
- func (o Operation) NewHistory(current []rune)
- func (o Operation) NextHistory() ([]rune, bool)
- func (o Operation) PrevHistory() []rune
- func (o Operation) PushHistory(s []rune)
- func (o *Operation) Runes() ([]rune, error)
- func (o Operation) SearchBackspace()
- func (o Operation) SearchChar(r rune)
- func (o Operation) SearchMode(dir int)
- func (o Operation) SearchRefresh(x int)
- func (o *Operation) Slice() ([]byte, error)
- func (o *Operation) Stderr() io.Writer
- func (o *Operation) String() (string, error)
- func (o Operation) UpdateHistory(s []rune, commit bool)
- type RuneBuffer
- func (r *RuneBuffer) BackEscapeWord()
- func (r *RuneBuffer) Backspace()
- func (r *RuneBuffer) Clean()
- func (r *RuneBuffer) CleanOutput() []byte
- func (r *RuneBuffer) CursorLineCount() int
- func (r *RuneBuffer) Delete()
- func (r *RuneBuffer) DeleteWord()
- func (r *RuneBuffer) IdxLine() int
- func (r *RuneBuffer) Kill()
- func (r *RuneBuffer) Len() int
- func (r *RuneBuffer) LineCount() int
- func (r *RuneBuffer) MoveBackward()
- func (r *RuneBuffer) MoveForward()
- func (r *RuneBuffer) MoveToLineEnd()
- func (r *RuneBuffer) MoveToLineStart()
- func (r *RuneBuffer) MoveToNextWord()
- func (r *RuneBuffer) MoveToPrevWord()
- func (r *RuneBuffer) Output() []byte
- func (r *RuneBuffer) Pos() int
- func (r *RuneBuffer) PromptLen() int
- func (r *RuneBuffer) Refresh()
- func (r *RuneBuffer) Reset() []rune
- func (r *RuneBuffer) Runes() []rune
- func (r *RuneBuffer) Set(buf []rune)
- func (r *RuneBuffer) SetIdx(idx int) (change int)
- func (r *RuneBuffer) SetStyle(start, end int, style string)
- func (r *RuneBuffer) SetWithIdx(idx int, buf []rune)
- func (r *RuneBuffer) Transpose()
- func (r *RuneBuffer) WriteRune(s rune)
- func (r *RuneBuffer) WriteRunes(s []rune)
- func (r *RuneBuffer) WriteString(s string)
- type Terminal
Constants ¶
View Source
const ( CharLineStart = 1 CharBackward = 2 CharInterrupt = 3 CharDelete = 4 CharLineEnd = 5 CharForward = 6 CharCannel = 7 CharCtrlH = 8 CharCtrlJ = 10 CharKill = 11 CharEnter = 13 CharNext = 14 CharPrev = 16 CharBckSearch = 18 CharFwdSearch = 19 CharTranspose = 20 CharCtrlW = 23 CharEsc = 27 CharEscapeEx = 91 CharBackspace = 127 )
View Source
const ( MetaPrev = -iota - 1 MetaNext MetaDelete MetaBackspace MetaTranspose )
View Source
const ( S_STATE_FOUND = iota S_STATE_FAILING )
View Source
const ( S_DIR_BCK = iota S_DIR_FWD )
Variables ¶
This section is empty.
Functions ¶
func IsPrintable ¶
func IsTerminal ¶
IsTerminal returns true if the given file descriptor is a terminal.
func IsWordBreak ¶
func RunesIndex ¶
func RunesIndexBck ¶
func RunesWidth ¶
Types ¶
type Operation ¶
type Operation struct {
// contains filtered or unexported fields
}
func NewOperation ¶
func (Operation) ExitSearchMode ¶
func (o Operation) ExitSearchMode(revert bool)
func (Operation) FindHistoryBck ¶
func (Operation) FindHistoryFwd ¶
func (Operation) IsSearchMode ¶
func (o Operation) IsSearchMode() bool
func (Operation) NewHistory ¶
func (o Operation) NewHistory(current []rune)
func (Operation) NextHistory ¶
func (Operation) PrevHistory ¶
func (o Operation) PrevHistory() []rune
func (Operation) PushHistory ¶
func (o Operation) PushHistory(s []rune)
func (Operation) SearchBackspace ¶
func (o Operation) SearchBackspace()
func (Operation) SearchChar ¶
func (o Operation) SearchChar(r rune)
func (Operation) SearchMode ¶
func (o Operation) SearchMode(dir int)
func (Operation) SearchRefresh ¶
func (o Operation) SearchRefresh(x int)
func (Operation) UpdateHistory ¶
type RuneBuffer ¶
type RuneBuffer struct {
// contains filtered or unexported fields
}
func NewRuneBuffer ¶
func NewRuneBuffer(w io.Writer, prompt string) *RuneBuffer
func (*RuneBuffer) BackEscapeWord ¶
func (r *RuneBuffer) BackEscapeWord()
func (*RuneBuffer) Backspace ¶
func (r *RuneBuffer) Backspace()
func (*RuneBuffer) Clean ¶
func (r *RuneBuffer) Clean()
func (*RuneBuffer) CleanOutput ¶
func (r *RuneBuffer) CleanOutput() []byte
func (*RuneBuffer) CursorLineCount ¶
func (r *RuneBuffer) CursorLineCount() int
func (*RuneBuffer) Delete ¶
func (r *RuneBuffer) Delete()
func (*RuneBuffer) DeleteWord ¶
func (r *RuneBuffer) DeleteWord()
func (*RuneBuffer) IdxLine ¶
func (r *RuneBuffer) IdxLine() int
func (*RuneBuffer) Kill ¶
func (r *RuneBuffer) Kill()
func (*RuneBuffer) Len ¶
func (r *RuneBuffer) Len() int
func (*RuneBuffer) LineCount ¶
func (r *RuneBuffer) LineCount() int
func (*RuneBuffer) MoveBackward ¶
func (r *RuneBuffer) MoveBackward()
func (*RuneBuffer) MoveForward ¶
func (r *RuneBuffer) MoveForward()
func (*RuneBuffer) MoveToLineEnd ¶
func (r *RuneBuffer) MoveToLineEnd()
func (*RuneBuffer) MoveToLineStart ¶
func (r *RuneBuffer) MoveToLineStart()
func (*RuneBuffer) MoveToNextWord ¶
func (r *RuneBuffer) MoveToNextWord()
func (*RuneBuffer) MoveToPrevWord ¶
func (r *RuneBuffer) MoveToPrevWord()
func (*RuneBuffer) Output ¶
func (r *RuneBuffer) Output() []byte
func (*RuneBuffer) Pos ¶
func (r *RuneBuffer) Pos() int
func (*RuneBuffer) PromptLen ¶
func (r *RuneBuffer) PromptLen() int
func (*RuneBuffer) Refresh ¶
func (r *RuneBuffer) Refresh()
func (*RuneBuffer) Reset ¶
func (r *RuneBuffer) Reset() []rune
func (*RuneBuffer) Runes ¶
func (r *RuneBuffer) Runes() []rune
func (*RuneBuffer) Set ¶
func (r *RuneBuffer) Set(buf []rune)
func (*RuneBuffer) SetIdx ¶
func (r *RuneBuffer) SetIdx(idx int) (change int)
func (*RuneBuffer) SetStyle ¶
func (r *RuneBuffer) SetStyle(start, end int, style string)
func (*RuneBuffer) SetWithIdx ¶
func (r *RuneBuffer) SetWithIdx(idx int, buf []rune)
func (*RuneBuffer) Transpose ¶
func (r *RuneBuffer) Transpose()
func (*RuneBuffer) WriteRune ¶
func (r *RuneBuffer) WriteRune(s rune)
func (*RuneBuffer) WriteRunes ¶
func (r *RuneBuffer) WriteRunes(s []rune)
func (*RuneBuffer) WriteString ¶
func (r *RuneBuffer) WriteString(s string)
type Terminal ¶
type Terminal struct {
// contains filtered or unexported fields
}
func NewTerminal ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.