forked from mirror/readline
readme: add example
This commit is contained in:
parent
97dbc9e329
commit
93a73361b8
51
README.md
51
README.md
|
@ -12,6 +12,7 @@ A pure go implementation for gnu readline.
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
|
|
||||||
|
* Simplest example
|
||||||
```go
|
```go
|
||||||
import "github.com/chzyer/readline"
|
import "github.com/chzyer/readline"
|
||||||
|
|
||||||
|
@ -30,6 +31,56 @@ for {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* Example with durable history
|
||||||
|
```go
|
||||||
|
rl, err := readline.NewEx(&readline.Config{
|
||||||
|
Prompt: "> ",
|
||||||
|
HistoryFile: "/tmp/readline.tmp",
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer rl.Close()
|
||||||
|
|
||||||
|
for {
|
||||||
|
line, err := rl.Readline()
|
||||||
|
if err != nil { // io.EOF
|
||||||
|
break
|
||||||
|
}
|
||||||
|
println(line)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* Example with auto refresh
|
||||||
|
```go
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"github.com/chzyer/readline"
|
||||||
|
)
|
||||||
|
|
||||||
|
rl, err := readline.New("> ")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer rl.Close()
|
||||||
|
log.SetOutput(l.Stderr()) // let "log" write to l.Stderr instead of os.Stderr
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
for _ = range time.Tick(time.Second) {
|
||||||
|
log.Println("hello")
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
for {
|
||||||
|
line, err := rl.Readline()
|
||||||
|
if err != nil { // io.EOF
|
||||||
|
break
|
||||||
|
}
|
||||||
|
println(line)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
# Shortcut
|
# Shortcut
|
||||||
|
|
||||||
`Meta`+`B` means press `Esc` and `n` separately.
|
`Meta`+`B` means press `Esc` and `n` separately.
|
||||||
|
|
Loading…
Reference in New Issue