Skip to content

c-bata/go-prompt

Folders and files

NameName
Last commit message
Last commit date
Mar 1, 2021
Jun 28, 2019
Dec 17, 2018
Feb 7, 2019
Mar 3, 2021
Oct 25, 2018
Oct 24, 2018
Jul 16, 2017
Sep 18, 2020
Oct 3, 2020
Feb 28, 2020
Jun 21, 2018
Feb 24, 2020
Feb 19, 2018
Dec 22, 2019
Dec 9, 2018
Dec 14, 2018
Jun 21, 2018
Feb 24, 2020
Oct 20, 2018
Mar 3, 2021
Mar 3, 2021
Feb 13, 2018
Oct 11, 2017
Dec 17, 2018
Apr 10, 2019
Dec 17, 2018
Dec 17, 2018
Dec 14, 2018
Apr 11, 2018
Jun 28, 2018
Feb 14, 2018
Feb 28, 2020
Oct 20, 2018
Dec 9, 2018
Feb 24, 2020
Jun 20, 2018
Feb 24, 2020
Feb 24, 2020
Feb 24, 2020
Feb 22, 2020
Feb 24, 2020
Dec 9, 2018
Dec 9, 2018

Repository files navigation

go-prompt

Go Report Card Software License GoDoc tests

A library for building powerful interactive prompts inspired by python-prompt-toolkit, making it easier to build cross-platform command line tools using Go.

package main

import (
	"fmt"
	"github.com/c-bata/go-prompt"
)

func completer(d prompt.Document) []prompt.Suggest {
	s := []prompt.Suggest{
		{Text: "users", Description: "Store the username and age"},
		{Text: "articles", Description: "Store the article text posted by user"},
		{Text: "comments", Description: "Store the text commented to articles"},
	}
	return prompt.FilterHasPrefix(s, d.GetWordBeforeCursor(), true)
}

func main() {
	fmt.Println("Please select table.")
	t := prompt.Input("> ", completer)
	fmt.Println("You selected " + t)
}

Projects using go-prompt

Features

Powerful auto-completion

demo

(This is a GIF animation of kube-prompt.)

Flexible options

go-prompt provides many options. Please check option section of GoDoc for more details.

options

Keyboard Shortcuts

Emacs-like keyboard shortcuts are available by default (these also are the default shortcuts in Bash shell). You can customize and expand these shortcuts.

keyboard shortcuts

Key Binding Description
Ctrl + A Go to the beginning of the line (Home)
Ctrl + E Go to the end of the line (End)
Ctrl + P Previous command (Up arrow)
Ctrl + N Next command (Down arrow)
Ctrl + F Forward one character
Ctrl + B Backward one character
Ctrl + D Delete character under the cursor
Ctrl + H Delete character before the cursor (Backspace)
Ctrl + W Cut the word before the cursor to the clipboard
Ctrl + K Cut the line after the cursor to the clipboard
Ctrl + U Cut the line before the cursor to the clipboard
Ctrl + L Clear the screen

History

You can use Up arrow and Down arrow to walk through the history of commands executed.

History

Multiple platform support

We have confirmed go-prompt works fine in the following terminals:

  • iTerm2 (macOS)
  • Terminal.app (macOS)
  • Command Prompt (Windows)
  • gnome-terminal (Ubuntu)

Links

Author

Masashi Shibata

License

This software is licensed under the MIT license, see LICENSE for more information.