Selector
Interactive command line user interfaces like Inquirer.js
Installation
$ go get -u github.com/munisystem/selector
Examples
See example/
folder
$ go run example/list.go
$ go run example/checkbox.go
Usage
List
list := []string{"alice", "bob", "carol", "dave"}
caption := "Who are you?"
// return selected element index
index, err := selector.List(list, caption)
if err != nil {
log.Fatal(err)
os.Exit(1)
}
// when typed ESC key
if index == -1 {
fmt.Println("Not selected")
os.Exit(0)
}
fmt.Println(index) //=> 1
Checkbox
list := []string{"alice", "bob", "carol", "dave"}
caption := "Whom do you like?"
// return slice into selected element indexes
index, err := selector.List(list, caption)
indexes, err := selector.Checkbox(list)
if err != nil {
log.Fatal(err)
os.Exit(1)
}
// when typed ESC key or seleted nothing
if len(indexes) == 0 {
fmt.Println("Not selected")
os.Exit(0)
}
fmt.Println(indexes) //=> [1 3]
Keybind
Key | Description |
---|---|
Enter | Decision |
Esc | Exit |
Ctrl + n, j | Move to choices below |
Ctrl + p, k | Move to choices above |
Space | Select (Checkbox) |
Author
munisystem