A Go library for building powerful interactive command-line prompts with auto-completion and keyboard shortcuts.
go-prompt is a Go library for building interactive command-line prompts, inspired by python-prompt-toolkit. It enables developers to create cross-platform CLI tools with rich user interfaces directly in the terminal, solving the problem of building user-friendly CLI applications without sacrificing performance or portability.
Go developers building interactive command-line tools, such as those creating CLI clients for databases, cloud services, or development utilities that require auto-completion and history.
Developers choose go-prompt for its powerful auto-completion, Emacs-like keyboard shortcuts, and cross-platform support, making it a straightforward way to bring expressive prompt capabilities to the Go ecosystem.
Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables intelligent command and argument suggestions, as demonstrated in the kube-prompt project for Kubernetes interactions, allowing context-aware completions.
Offers extensive configuration options documented in GoDoc, such as prompt.Option functions, letting developers tailor prompt behavior to specific needs.
Supports familiar keyboard bindings like Ctrl+A for line beginning and Ctrl+E for end, enhancing user efficiency in terminal navigation, as shown in the keyboard shortcuts table.
Works on macOS (iTerm2, Terminal.app), Windows Command Prompt, and Linux (gnome-terminal), ensuring broad terminal support for CLI tools.
Focuses on functionality over aesthetics, requiring custom implementation for visual enhancements like colors or themes, which may not suit design-heavy applications.
Implementing advanced features like custom auto-completion logic involves significant Go code, as the library provides building blocks rather than pre-built solutions.
Compared to python-prompt-toolkit, the Go ecosystem has fewer plugins or community extensions, potentially increasing development time for niche requirements.