Command-line utilities that provide interactive filtering and selection for lists within your terminal environment.
Helix is a terminal-based modal text editor designed for efficient code manipulation and navigation. It centers on a selection-first editing model, where operations are performed on active ranges rather than individual cursor positions, allowing for precise control over text and code structures. The editor distinguishes itself through deep integration with structural parsing and language intelligence. By utilizing an incremental parsing library, it builds concrete syntax trees that enable advanced features like structural code navigation, intelligent indentation, and syntax-aware text object selection. It also features a built-in client for the Language Server Protocol, providing real-time diagnostics, completion, and code analysis directly within the terminal interface. Beyond its core editing capabilities, the project offers a highly customizable environment. Users can define complex keybindings, manage multiple cursors for simultaneous edits, and apply declarative styling rules to customize the visual appearance of the interface. The editor also includes robust support for file discovery, buffer management, and interactive fuzzy-matched picking for symbols and commands. The editor includes a built-in diagnostic utility to verify the runtime environment and dependency configuration during setup.
Kitty is a high-performance, GPU-accelerated terminal emulator designed to provide a consistent and extensible workspace across different operating systems. It leverages graphics hardware to render text, images, and complex layouts with low latency, while providing a robust environment for demanding command-line workflows. The project distinguishes itself through its integrated workspace management and programmable interface. It functions as a tiling window manager that organizes terminal windows, tabs, and layouts into persistent, keyboard-driven sessions. Users can automate complex workflows by interacting with the terminal through a socket-based remote control protocol, which allows external scripts to manage window states, layouts, and session data programmatically. Beyond core emulation, the project offers an extensive suite of capabilities for advanced terminal graphics, including the ability to render high-fidelity images and system data visualizations directly within the interface. It supports deep shell integration, advanced keyboard and mouse reporting, and a declarative configuration system that allows for live-reloading of visual settings and keybindings. The software is built using a unified cross-platform system that manages dependencies and native binaries. It includes comprehensive documentation and utilities for performance tuning, session persistence, and remote environment synchronization.
This project is a high-performance command-line utility designed for rapid filesystem navigation and file discovery. It enables users to locate files and directories within large project structures using recursive search, pattern matching, and metadata-aware filtering. By employing multi-threaded parallel traversal, it provides an efficient way to explore complex directory trees. What distinguishes this tool is its ability to integrate directly into terminal workflows and automate file management tasks. It automatically respects version control ignore files and hidden file settings, ensuring that search results remain focused on relevant project content. Beyond simple discovery, it features a built-in batch execution engine that allows users to run custom shell commands or scripts against search results, using dynamic placeholders to process file paths and metadata. The utility supports a wide range of interoperability features, including standard stream piping for safe data transfer to other command-line tools, text editors, and fuzzy finders. It provides granular control over search parameters, including full path matching, regex-based pattern evaluation, and configurable output formatting. Diagnostic utilities are also included to assist with pattern debugging and terminal readability.
This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchronous data transformation and dynamic list reloading, enabling users to trigger shell commands or update content based on user interactions without blocking the interface. The system maintains selection identity across these updates, providing a consistent experience when managing large or streaming datasets. The project offers a comprehensive suite of features for terminal user interface development, including multi-threaded search performance, configurable preview windows, and support for various terminal multiplexers. It provides extensive customization options for visual layout, key bindings, and search logic, allowing developers to build custom selection interfaces or automate complex shell tasks. The tool is configured through environment variables and configuration files, supporting inline comments for maintainability. It is designed to be installed as a standalone command-line utility, with library integration options available for embedding its filtering capabilities into other applications.
This project is a command-line text viewer designed to enhance terminal output through automatic syntax highlighting and integrated file management. It functions as a replacement for standard system pagers, providing a readable interface for large text streams, source code, and markup files by applying color-coded formatting directly to the terminal output. The utility distinguishes itself through deep integration with version control systems, allowing users to inspect repository status and historical file changes with visual markers displayed in the output margin. It employs heuristic-based language detection and syntax-tree parsing to ensure accurate formatting, while also providing a diagnostic mode that reveals hidden control characters and non-printable symbols to assist with data integrity and troubleshooting. Beyond its primary viewing capabilities, the tool integrates into existing shell workflows to provide syntax-aware previews for search results, manual pages, and fuzzy finder navigation. It automatically manages terminal dimensions and pipe status to delegate long-form content to external system pagers or concatenate data for further command-line processing.
Cointop is a terminal-based cryptocurrency dashboard that displays real-time market data, prices, and portfolio values in a text-based interface. It aggregates data from multiple cryptocurrency exchange APIs and presents it in an interactive terminal user interface with vim-inspired keyboard shortcuts for navigation and control. The application distinguishes itself by embedding an SSH server that allows remote access to the dashboard from any device, with persistent client configuration tied to individual SSH keys. It includes a fuzzy search system for quickly finding coins by name, desktop notification triggers for price alerts, and offline data caching that preserves recent market stats when the network is unavailable. The tool supports portfolio tracking, allowing users to record and monitor the total value of their cryptocurrency holdings with live price updates. Cointop offers extensive customization through local TOML configuration files, including custom color schemes with 256-color and 24-bit terminal support, configurable key bindings, and the ability to switch base currencies. Users can view historical price charts with adjustable date ranges, sort the coin table by various metrics, and toggle between full coin lists and personal portfolio views. The application is distributed as Flatpak packages and Docker images for consistent deployment across Linux systems.
Zoxide is a terminal utility designed to accelerate filesystem navigation by learning user habits. It functions as a command-line navigation tool that allows users to jump to frequently accessed directories using partial names rather than typing out full file paths. The tool maintains a persistent, atomic file-based database that records navigation history, enabling rapid lookups and safe updates across multiple shell sessions. The project distinguishes itself through a frecency-based ranking algorithm, which calculates directory relevance by combining access frequency with temporal decay. This ensures that the most likely destinations are prioritized during path resolution. To maintain accuracy and performance, the tool employs heuristic fuzzy matching to resolve partial queries and includes automated background maintenance to prune stale records or directories that no longer exist on the filesystem. The utility integrates directly into various shell environments through a lightweight hook layer, enabling command-line completion and streamlined navigation workflows. Users can further customize the tool's behavior, storage locations, and filtering rules through environment variables defined in their shell configuration files.
Ink is a declarative framework for building interactive command-line applications using a component-based architecture. It functions as a console renderer that maps component trees to terminal output buffers, allowing developers to manage stateful interfaces through standard component reconciliation. By translating high-level layout and style properties into terminal control codes, it enables the creation of responsive, dynamic interfaces within the console. The framework distinguishes itself by integrating a cross-platform layout engine that applies a flexible box model to the character-based grid, facilitating complex visual structures. It provides a low-level abstraction layer for raw input stream interception, which allows for granular handling of keystrokes and control sequences. This combination of a virtual terminal buffer and direct stream management ensures consistent behavior and visual presentation across different operating systems and terminal environments. Beyond its core rendering capabilities, the project supports a wide range of interface features including text styling, input handling, and lifecycle management. It includes mechanisms for capturing pasted content and notifying assistive technologies of screen updates to support accessibility. The framework manages the entire application lifecycle, ensuring that render output is fully flushed to the terminal during process exits.
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 relevance ordering. It offers a thread-pooled matching pipeline, ANSI-aware parsing that preserves color information, and pseudo-terminal preview execution for interactive commands. Skim can be embedded as a Rust library with custom item types and action callbacks, run as a network service over TCP or Unix sockets, and controlled remotely via Unix domain socket session control. The interface supports extensive customization of colors, borders, scrollbars, key bindings, and layout, with options to load configuration from files and respect the NO_COLOR environment variable. It integrates with Bash, Zsh, Fish, and Nushell for file selection, history search, and directory navigation, and provides shell completions and man page generation. The tool also supports dynamic command execution, where external commands are invoked with the current query to generate live search results, and offers multiple matching algorithms including Arinae, Fzy, and SkimV2 variants.
This project is a shell plugin that provides real-time command suggestions to accelerate terminal input. By hooking into the command line editor and utilizing a strategy-based prediction engine, it generates completions derived from command history, shell completion data, or custom user-defined sources. The tool distinguishes itself by rendering suggestions as a visual ghost layer directly within the terminal buffer using ANSI-styled overlays. To maintain a responsive command-line environment, it performs all prediction calculations in the background, ensuring that heavy computation does not block user input. Users can customize the experience through extensive configuration options, including the ability to map specific keyboard shortcuts for accepting or navigating suggestions. The engine also supports fine-grained control over the prediction process, allowing for the filtering of history or completion results and the adjustment of performance parameters based on input length. Comprehensive documentation is available to guide users through the installation, configuration, and maintenance of the plugin.
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, result sorting, and a command-based preview system for highlighted items. It provides extensive integration for shells and text editors, including the generation of completion scripts and customizable key bindings. The project includes execution debugging and search performance benchmarking to monitor resource usage and execution speed.
This project is an interactive command-line shell designed to provide a user-friendly terminal environment for system interaction and task automation. It functions as both an interactive interface for developers and a scripting runtime, featuring a clean, consistent syntax that simplifies command execution and process management. The shell distinguishes itself through a focus on discoverability and real-time feedback. It includes a predictive suggestion engine that offers command completions and history-based hints as you type, alongside a dedicated parser that provides immediate visual feedback on syntax validity. To ensure data integrity, it utilizes a native list-based variable architecture that prevents common issues with word splitting, and it maintains a universal variable manager to synchronize settings across all active and future shell instances. Beyond its core interactive capabilities, the shell supports a comprehensive suite of productivity tools, including customizable prompts, advanced line editing, and an event-driven hook system for responding to lifecycle changes. It manages configuration through both terminal-based commands and a graphical interface, while optimizing performance through lazy function autoloading and efficient command history navigation. The shell provides extensive support for scripting, including built-in tools for string manipulation, conditional logic, and data stream redirection. It is designed to be ready for use with default completion support and terminal compatibility features, such as true color rendering, enabled out of the box.
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.
Powerlevel10k is a high-performance shell prompt framework designed to provide a responsive and visually informative command-line interface. It functions as a terminal customization engine that allows users to define the appearance, color schemes, and information density of their prompt through a declarative configuration file. By decoupling prompt rendering from shell initialization, it eliminates startup latency and ensures that the command line remains responsive even under heavy system loads. The project distinguishes itself through advanced performance optimizations, including asynchronous segment execution that prevents the main shell thread from blocking during information retrieval. It features instant prompt pre-rendering, which displays a static prompt immediately upon startup, and transient prompt truncation to reduce visual clutter in terminal history after command execution. Users can also emulate the appearance of other popular themes while retaining these performance benefits, or extend the framework with custom segments that maintain the same speed as built-in components. Beyond its core performance capabilities, the framework provides a comprehensive suite of tools for managing terminal environments. This includes intelligent directory path truncation, state-aware filtering to show only relevant system information, and robust handling of escape sequences to prevent cursor misalignment. The system supports extensive personalization through an interactive configuration wizard that assists with setup, font installation, and the migration of legacy configurations to ensure consistent visual output across different terminal emulators.
Telescope is a fuzzy search interface for the Neovim text editor, designed to provide rapid access to files, buffers, and project-wide data. It functions as a keyboard-driven command palette that allows users to locate and navigate complex directory structures and codebase content through real-time filtering. The system is built on a modular architecture that utilizes a pluggable interface to fetch data from diverse sources, including file systems, version control repositories, and language server protocols. By separating input collection from data retrieval, it maintains a decoupled state machine that manages search sessions independently of the underlying information source. The project provides a comprehensive suite of tools for codebase navigation and development workflow optimization. It handles heavy data processing through background job scheduling and renders results in a floating window, ensuring that the editor remains responsive during large-scale searches. The software is implemented as a Lua-based plugin, allowing for deep integration and configuration within the Neovim environment.
This project is a collection of environment configuration files, known as dotfiles, designed to standardize a development setup. It provides specific configuration sets for the Neovim modal editor, a tiling window manager, the Tmux terminal multiplexer, and the Zsh shell. The repository includes a curated Unix command line toolset featuring modern utility alternatives and fuzzy finding tools for file navigation. It also contains a suite of settings for managing terminal sessions, window layouts, and custom keybindings to streamline development workflows. The configuration surface covers visual customization through ANSI color schemes and terminal appearance settings, as well as system-level automation for window tiling, workspace organization, and system menu bar widgets. Editor extensibility is handled through plugin management and language server integration.
Delta is a command-line pager that enhances the readability of terminal output by applying syntax highlighting and structured formatting to text streams. It functions as a specialized interface for version control systems, transforming standard output into color-coded, human-readable views. The tool distinguishes itself through its ability to render side-by-side diff comparisons and visualize merge conflicts with clear, semantic highlighting. It dynamically calculates column widths and text alignment to fit complex file comparisons within the constraints of a terminal window, while allowing users to map token types to custom color palettes via external configuration files. Beyond diff viewing, the project provides utilities for formatting git blame output, highlighting search results, and displaying line numbers. It processes input line-by-line to maintain a low memory footprint, integrating external language definitions to ensure accurate syntax coloring across various codebases.
fzf-lua is a fuzzy finder integration for Neovim that utilizes fzf to search files, buffers, and project symbols. It serves as a code navigation framework providing a dynamic result generator that populates search windows using real-time shell commands or custom Lua functions. The project distinguishes itself through specialized integration tools for Git and Language Server Protocols. It includes a Git search interface for navigating commits, branches, stashes, and diffs, alongside an LSP integration tool that bridges language server providers to locate definitions and references across a codebase. The plugin covers a broad range of capabilities including project-wide text searching via grep, workspace symbol discovery, and file navigation. It supports content rendering with syntax highlighting and item previews, as well as debugger state inspection for browsing session variables and breakpoints. Performance is managed through asynchronous multiprocess shell wrapping to handle large file sets without freezing the editor thread.
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfaces through live display management and buffered stream handling. It offers granular control over output through a protocol-based rendering system, allowing developers to define custom representations for objects and manage complex visual arrangements. The library also includes a specialized diagnostic suite that automatically captures and transforms raw stack traces into human-readable, syntax-highlighted error reports, complete with local variable inspection. Beyond its core rendering capabilities, the library provides a suite of tools for data visualization and user interaction. This includes support for nested progress tracking, animated status indicators, and interactive input prompts. Developers can apply consistent visual branding across their applications using a centralized markup-based styling system, which supports reusable themes, color palettes, and text attributes for precise alignment and formatting. The library automatically detects the host terminal environment to ensure compatibility and visual consistency across different systems.
Navi is an interactive command-line cheatsheet tool and shell command manager. It provides a fuzzy command browser that allows users to search and execute stored command-line snippets, reducing the need to memorize complex flags and arguments. The tool distinguishes itself through a system for importing and synchronizing command collections from remote Git repositories and third-party providers. It features interactive variable prompts that allow users to fill placeholders in commands via manual keyboard entry or selectable lists, including support for variable dependency mapping where one selection influences the available options for another. The project covers a broad range of integration and management capabilities, including shell and Tmux widget support, multiline snippet execution, and customizable search interfaces. It allows for the creation of personalized cheatsheets using a specific file syntax and provides mechanisms for managing cheatsheet locations via environment variables.