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
·
peco avatar

peco/peco

0
View on GitHub↗
7,892 stars·233 forks·Go·MIT·15 views

Peco

Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions.

The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements.

Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selected lines into external shell commands. The interface is customizable via layout configurations, key binding maps, and the integration of external filter binaries.

The project is written in Go and provides a compiled binary executable.

Features

  • Interactive Text Filters - Offers a real-time interactive interface to sift through long lists of text using fuzzy matching and regular expressions.
  • Interactive Selection Interfaces - Provides a searchable TUI interface with fuzzy matching and query refinements for sifting through text lists.
  • Fuzzy Matching - Calculates match quality using fuzzy logic and regular expressions to filter input lines.
  • Command Line Automation Tools - Enables the automation of repetitive system tasks by piping filtered text selections into other shell commands.
  • Fuzzy Finders - Provides a command-line interface for searching and selecting items from text lists using approximate string matching.
  • Line-Based Text Filters - Implements real-time filtering of text lines using regular expressions and negative matching.
  • Selection-Based Command Execution - Passes selected lines from a filtered list to a shell command for immediate execution.
  • Terminal Viewports - Renders a scrollable viewport of filtered results within a fixed-height terminal window.
  • Interactive Command-Line Filters - Provides real-time, interactive filtering of standard input streams using fuzzy matching and regular expressions.
  • ANSI Escape Sequence Renderers - Preserves and renders ANSI escape sequences to maintain colored text in the terminal interface.
  • Standard Input Processing - Reads and processes text from the standard input stream for real-time interactive filtering.
  • Search Filters - Provides logic to filter and narrow down available options using case-sensitivity and fuzzy matching.
  • Searchable Filter Inputs - Provides a searchable interface for narrowing down lists of text provided via standard input.
  • List Search Filters - Provides real-time filtering mechanisms to narrow down long lists of input text using external binaries.
  • Multiple Selections - Provides capabilities for selecting multiple individual items or ranges from a filtered list.
  • Text Line Selection - Ships a terminal user interface for choosing single or multiple lines of text to pipe into other shell commands.
  • Text-User Interface Rendering - Renders a searchable text-user interface in the terminal to manage layout and colors for filtering.
  • Multi-Stage Filtering - Supports narrowing lists through layers by snapshotting results to create new bases for subsequent filtering.
  • Custom Matching Logic - Implements a system for using external executables to perform specialized matching logic on input data.
  • Negative Search Terms - Provides negative matching capabilities to remove lines from results using a minus sign prefix.
  • Search Result Filtering - Enables locking a result set to allow clearing queries while maintaining the filtered list.
  • Search Result Snapshots - Allows users to snapshot current filtered results to create a new base for subsequent search refinements.
  • Command Piping - Pipes selected lines of text as standard input to an external shell command.
  • External Process Integrations - Integrates with external binaries to execute custom shell commands for matching logic.
  • Key Sequence Patterns - Matches multi-key sequences to specific commands using a longest-match-wins resolution strategy.
  • Iterative Search Refinement - Supports narrowing down large datasets by iteratively freezing search results to create a new base for further refinement.
  • Keybinding Configurations - Supports mapping terminal key sequences to built-in actions to automate selection tasks.
  • Shell Command Execution - Executes shell commands using selected lines as standard input without exiting the interface.
  • Circular Memory Buffers - Uses a circular buffer to discard oldest entries when memory limits are reached.
  • Terminal Stream Following - Automatically scrolls the viewport to keep the newest lines visible as input streams in.
  • Configurable Key-to-Command Mappings - Includes a system for mapping specific keys or sequences to internal commands via configuration.
  • Log Analysis Tools - Provides utilities for searching through real-time log streams while preserving ANSI color formatting.
  • Auto-Scrolling Viewports - Pins the viewport to the end of the text buffer so new lines in a stream appear immediately.
  • External Filter Integrations - Allows users to integrate external scripts or programs to implement custom matching logic for input buffers.
  • Layout Configurations - Adjusts the position and dimensions of the query prompt and result list through layout settings.
  • End-of-Stream Auto-Scrolling - Tracks the end of a text stream to keep latest incoming lines visible.
  • Terminal UI Components - Acts as a reusable searchable selection component that can be integrated into other command-line tools.
  • Full Screen TUI Layouts - Supports various TUI layouts including full-screen, inline bottom-panel, and bottom-up orientations.
  • Interface Appearance Customization - Allows customization of the terminal interface's visual themes, prompt text, and color styles.
  • Command Line Environment - Interactive filtering tool for command line output.
  • Developer Utilities - Interactive filtering tool for CLI output.
  • General Utilities - Interactive filtering tool.
  • General Utility Libraries - Interactive filtering tool.
  • Text Processing - Interactive filtering tool for command output.
  • General Programming - Documentation for an interactive filtering tool.

Star history

Star history chart for peco/pecoStar history chart for peco/peco

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 Peco

Similar open-source projects, ranked by how many features they share with Peco.
  • skim-rs/skimskim-rs avatar

    skim-rs/skim

    6,592View on GitHub↗

    Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel

    Rustfuzzyfinderrustskim
    View on GitHub↗6,592
  • lotabout/skimlotabout avatar

    lotabout/skim

    6,850View on GitHub↗

    Skim is an interactive text filter and terminal selection tool written in Rust. It functions as a command line interface utility that processes input streams to isolate specific entries through real-time user queries and sorting. The tool differentiates itself through ANSI compatibility, allowing it to parse color codes and maintain text formatting during the search process. It supports multiple matching strategies, including configurable fuzzy matching algorithms and regular expression integration. The application covers a broad range of capabilities including field-specific filtering, resu

    Rust
    View on GitHub↗6,850
  • dlvhdr/gh-dashdlvhdr avatar

    dlvhdr/gh-dash

    10,189View on GitHub↗

    gh-dash is a terminal user interface (TUI) dashboard and API client for monitoring and managing GitHub pull requests, issues, and notifications. It serves as a repository manager and git workflow tool, allowing users to track project activity and execute development lifecycle tasks directly from the command line. The project distinguishes itself through a highly configurable layout and keybinding system. It uses custom filter templates to define specific subsets of activity and allows users to associate remote repositories with local filesystem directories to automate branch checkouts. The t

    Gobubblesbubbleteacli
    View on GitHub↗10,189
  • marmelab/react-adminmarmelab avatar

    marmelab/react-admin

    26,780View on GitHub↗

    React-admin is a framework for building data-driven administrative interfaces that connect to REST or GraphQL backends. It provides a comprehensive suite of tools for managing the full lifecycle of administrative applications, including resource-oriented routing, declarative form scaffolding, and context-driven state management. By utilizing a modular adapter-based architecture, the framework abstracts backend communication, allowing developers to build consistent CRUD interfaces that handle data fetching, authentication, and synchronization automatically. The project distinguishes itself thr

    TypeScriptadminadmin-dashboardadmin-on-rest
    View on GitHub↗26,780
See all 30 alternatives to Peco→

Frequently asked questions

What does peco/peco do?

Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions.

What are the main features of peco/peco?

The main features of peco/peco are: Interactive Text Filters, Interactive Selection Interfaces, Fuzzy Matching, Command Line Automation Tools, Fuzzy Finders, Line-Based Text Filters, Selection-Based Command Execution, Terminal Viewports.

What are some open-source alternatives to peco/peco?

Open-source alternatives to peco/peco include: skim-rs/skim — Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and… lotabout/skim — Skim is an interactive text filter and terminal selection tool written in Rust. It functions as a command line… dlvhdr/gh-dash — gh-dash is a terminal user interface (TUI) dashboard and API client for monitoring and managing GitHub pull requests,… marmelab/react-admin — React-admin is a framework for building data-driven administrative interfaces that connect to REST or GraphQL… gokcehan/lf — lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and… mawww/kakoune — Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model…