awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
c-bata avatar

c-bata/go-prompt

0
View on GitHub↗
5,481 stars·376 forks·Go·MIT·8 viewsgodoc.org/github.com/c-bata/go-prompt↗

Go Prompt

go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console UI framework and terminal input manager, providing the tools necessary to capture user input and execute commands through a persistent interactive loop.

The library features a dedicated auto-completion engine that provides real-time command suggestions. It also supports dynamic prompt prefixes updated via callback functions and a system for managing and recalling command history.

The framework covers a broad range of terminal capabilities, including keyboard shortcut mapping, cursor control, and terminal output management for text colors and screen updates. It incorporates a trie-based system for input completion and buffer-based text management for real-time editing.

Features

  • Interactive Prompt Toolkits - Provides a toolkit for building cross-platform interactive terminal user interfaces and prompt systems in Go.
  • Terminal Prompt Libraries - Implements a comprehensive library for building interactive command-line prompts with auto-completion and history management in Go.
  • Trie-Based Completions - Incorporates a trie-based system for providing real-time command completion suggestions.
  • Command Line Completions - Implements real-time suggestions and input completion for command-line tools.
  • Real-Time Completion Engines - Implements a real-time completion engine that provides immediate suggestions as the user types in the terminal.
  • Cross-Platform Console Tooling - Provides a framework for building terminal user interfaces that behave consistently across different operating systems.
  • Command-Line Input Completions - Provides a real-time suggestion system for possible completions of the current command-line input.
  • Interactive CLI Tools - Enables the development of interactive CLI tools with advanced features like auto-completion.
  • Terminal Output Management - Provides utilities for controlling cursor position, clearing the screen, and managing terminal output flow.
  • ANSI Escape Sequence Renderers - Provides engines that generate ANSI escape codes to control text color and cursor positioning in the terminal.
  • User Input Capture - Captures real-time text data from users through an interactive command-line prompt.
  • Event-Driven Input Handlers - Utilizes an asynchronous event loop to process raw keyboard input and trigger editor actions.
  • Text Buffer Management - Implements a mutable text buffer to manage real-time input editing and cursor movement.
  • Terminal Input Handling - Manages keyboard input, shortcuts, and cursor control specifically for terminal emulator environments.
  • Dynamic - Supports dynamic prompt prefixes that are updated via callback functions to reflect current application state.
  • Command History Managers - Implements a system for storing and recalling previously executed commands.
  • Custom Key Mappings - Allows binding of specific keys or ASCII codes to custom editor actions and navigation shortcuts.
  • Keyboard Shortcuts - Provides a system for mapping key combinations to standard text manipulation and navigation controls.
  • Keyboard Shortcut Mappings - Allows users to map specific commands and terminal operations to custom keyboard shortcuts.
  • Command History Navigation - Enables keyboard-driven traversal and recall of previously entered commands from a history stack.
  • Dynamic Prompt Modification - Enables real-time modification of the terminal prompt string via callback functions.
  • Terminal User Interfaces - Provides a framework for building and styling interactive text-based interfaces within a terminal.
  • Command Line Interfaces - Interactive prompt builder.
  • Console Interfaces - Listed in the “Console Interfaces” section of the Awesome Go awesome list.
  • Console UI - Interactive prompt builder.
  • Terminal User Interfaces - Library for building interactive terminal prompts.

Star history

Star history chart for c-bata/go-promptStar history chart for c-bata/go-prompt

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Go Prompt

Similar open-source projects, ranked by how many features they share with Go Prompt.
  • powershell/psreadlinePowerShell avatar

    PowerShell/PSReadLine

    4,306View on GitHub↗

    PSReadLine is a command line editor, completion engine, history manager, and syntax highlighter for the PowerShell console. It provides a bash-inspired line editing experience that enables advanced cursor movement and text manipulation within the terminal. The project features a customizable input mapper for assigning keyboard shortcuts to specific actions and navigation logic. It includes a completion system that suggests matching commands through selectable menus or prefix-based matching. The tool covers real-time color coding for command text and error notifications to improve readability

    C#
    View on GitHub↗4,306
  • prompt-toolkit/python-prompt-toolkitprompt-toolkit avatar

    prompt-toolkit/python-prompt-toolkit

    10,498View on GitHub↗

    This project is a Python terminal user interface library and toolkit designed for building interactive command-line applications. It provides a terminal input manager and a widget toolkit for rendering dashboards, menus, and editors within a terminal emulator. The library enables the creation of full-screen terminal interfaces and interactive shells. It distinguishes itself with advanced input handling, including lexer-based syntax highlighting for visual feedback on code structure and support for industry-standard keyboard navigation modes such as Emacs and Vi. The capability surface covers

    Python
    View on GitHub↗10,498
  • jroimartin/gocuijroimartin avatar

    jroimartin/gocui

    10,575View on GitHub↗

    gocui is a console user interface library for the Go programming language. It provides a toolkit for building interactive terminal applications using a layout engine that organizes overlapping rectangular views and coordinates. The library features a terminal input handler to capture and map keyboard shortcuts and mouse events to specific application actions. It includes an ANSI escape sequence parser to manage text attributes, colors, and cursor positioning. The framework covers interface view management and overlapping window layering, allowing for a structured arrangement of content. Rend

    Gocuigogocui
    View on GitHub↗10,575
  • gizak/termuigizak avatar

    gizak/termui

    13,574View on GitHub↗

    Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a command-line environment. It functions as a TUI layout engine, an interactive CLI framework, and a terminal data visualization toolkit. The library provides a set of specialized widgets for rendering charts, plots, gauges, and tables using character-based graphics. It includes a grid-based system for arranging interface elements using relative coordinates and proportional sizing to create structured displays. The toolkit covers a broad range of capabilities including data visua

    Go
    View on GitHub↗13,574
See all 30 alternatives to Go Prompt→

Frequently asked questions

What does c-bata/go-prompt do?

go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console UI framework and terminal input manager, providing the tools necessary to capture user input and execute commands through a persistent interactive loop.

What are the main features of c-bata/go-prompt?

The main features of c-bata/go-prompt are: Interactive Prompt Toolkits, Terminal Prompt Libraries, Trie-Based Completions, Command Line Completions, Real-Time Completion Engines, Cross-Platform Console Tooling, Command-Line Input Completions, Interactive CLI Tools.

What are some open-source alternatives to c-bata/go-prompt?

Open-source alternatives to c-bata/go-prompt include: powershell/psreadline — PSReadLine is a command line editor, completion engine, history manager, and syntax highlighter for the PowerShell… prompt-toolkit/python-prompt-toolkit — This project is a Python terminal user interface library and toolkit designed for building interactive command-line… gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… jroimartin/gocui — gocui is a console user interface library for the Go programming language. It provides a toolkit for building… nsf/termbox-go — termbox-go is a Go terminal user interface library and cross-platform terminal emulator abstraction. It provides a… arthursonzogni/ftxui — FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive…