29 open-source projects similar to emacsorphanage/git-gutter, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Git Gutter alternative.
GitGutter is a Git diff visualization tool and plugin for the Sublime Text editor. It interfaces with the Git binary to provide real-time tracking of modified and untracked files, visualizing version control status directly within the editor gutter to mark inserted, modified, or deleted lines. The tool enables navigation between modified code hunks and the inspection of commit metadata via hover popups. It allows users to define specific branches, tags, or commits as reference points for calculating changes and provides the ability to revert modified hunks or copy original committed text to t
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
Gitsigns.nvim is a Neovim plugin that integrates Git diff visualization, blame annotations, and hunk-based staging directly into the editor buffer. It renders add, modify, and delete indicators in the sign column for tracked files, and provides inline or popup blame annotations showing commit authorship and date for each line. The plugin operates on individual diff hunks as atomic units for staging, reverting, and navigation, all executed asynchronously via Neovim's job control API to avoid blocking the UI. The plugin distinguishes itself by enabling hunk-level staging and resetting directly
diffview.nvim is a Git diff tool for Neovim that provides a dedicated interface for visualizing and managing differences across files and revisions. It functions as a revision browser and history tracker, allowing users to compare the working tree or index against specific Git tags, branches, or commits. The project includes specialized utilities for managing the Git index, such as a stage manager for staging specific diff hunks directly from a buffer. It also features a multi-way diff layout for resolving merge conflicts by comparing target and source branches during merges or rebases. Beyo
SourceCodeSyntaxHighlight is a syntax highlighting engine and version control visualizer. It functions as a source code syntax highlighter that applies color schemes and formatting to programming languages for visual display, and as a tool for highlighting code changes and diffs relative to version control commits. The project is implemented as a macOS Quick Look extension that provides syntax-highlighted previews of source code files within the Finder. It also includes a Language Server Protocol client to provide semantic tokens and hover information during code previews, and a command line
Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations. What distinguishes Magit is its granular control over every stag
Ace is a high-performance, browser-based code editor and JavaScript text editor component designed to be embedded into web applications. It functions as a feature-rich alternative to standard text areas, providing a syntax highlighting engine and support for multiple programming and markup languages. The editor is distinguished by its ability to handle large documents containing millions of lines while maintaining stable performance. It supports multi-cursor editing, allowing simultaneous modifications at multiple selection points across a document. The project covers a broad range of develo
CodeMirror 5 is a browser-based code editor and extensible UI component. It functions as a syntax highlighting engine and a programmable text surface, providing a professional coding experience embedded within web pages. The project is distinguished by its ability to act as a collaborative text editor, synchronizing document changes across multiple users in real time. It also includes a dedicated Vim emulation layer that implements modal keyboard interactions, motions, and operators. The system covers broad capability areas including language support for autocompletion and error analysis, co
Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model allows multiple terminal windows to connect to a single editing session, providing a programmable environment for managing source code and text. The editor is distinguished by its selection-first logic, where a text region must be predefined before a command is applied. It leverages regular expressions to manage multiple cursors and perform bulk edits across complex text patterns, and it integrates deeply with the shell by piping selections through external programs and filters.
Code Tour is a VS Code extension that enables the creation of interactive, step-by-step guided walkthroughs of a codebase. It serves as a tool for guided code documentation, mapping descriptive explanations directly to specific file lines and directories within the editor to assist with codebase onboarding and technical knowledge transfer. The system distinguishes itself through the use of regular expression-based anchoring to maintain step stability across different versions of source code and the ability to export tours as portable files containing the necessary code context for playback wi
Awesome Emacs is a curated directory of community-driven resources, packages, and configurations designed to extend the functionality of the Emacs text editor. It serves as a comprehensive index for users seeking to transform their editor into a specialized development environment or a highly personalized productivity workspace. The collection highlights tools that enable deep customization of the Emacs experience, ranging from ergonomic key binding schemes and visual interface themes to advanced window management and navigation utilities. It provides a centralized reference for discovering e
This project is an Emacs configuration framework and custom Emacs Lisp distribution. It provides a pre-configured bundle of defaults and language supports to serve as a development baseline and environment bootstrap for the Emacs text editor. The system is designed for extensibility, allowing users to override default editor behaviors and themes through local configuration files and customization interfaces. It supports the integration of third party code by adding external scripts and libraries to the editor load path.
icdiff is a command line text analyzer and side-by-side diff tool. It serves as a visual comparison utility that identifies modifications between two text files and renders them in a colored two-column layout within the terminal. The tool functions as a version control diff provider, allowing users to replace default difference engines with a side-by-side format. It utilizes ANSI color codes to highlight character-level changes, providing a visual method for terminal-based code review and text analysis. The system handles difference computation through line-based analysis and dynamic column
Org-roam is an Emacs-based note-taking system that builds a bidirectional network of plain-text notes, functioning as a personal knowledge base manager. It maintains both forward and backlink references in a SQLite database, automatically updated on file save, and uses persistent unique identifiers for notes instead of file paths to enable stable links across renames and moves. The system integrates directly with Emacs through custom interactive commands and hooks that access the database and buffer state, and it generates static graphs of note interconnections using Graphviz to reveal relati
Micro is an extensible terminal text editor that supports mouse interaction and intuitive keyboard shortcuts for editing files in a command line environment. It functions as a multi-cursor editor with syntax highlighting and a plugin system for adding custom functionality and automation scripts. The editor distinguishes itself through simultaneous editing across multiple cursors and a script-based extension system. It enables the automation of repetitive editing tasks via macro recording and playback of keystroke sequences. The project covers workspace management through split-screen panes a
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
lsp-mode is a Language Server Protocol client and IDE feature set for Emacs. It functions as a semantic code analysis tool and JSON-RPC communication layer that connects the editor to external language servers to provide intelligent code completion and real-time diagnostics. The project also serves as a Debug Adapter Protocol client, enabling interactive debugging sessions and breakpoint management. This allows for stepping through code and inspecting variables via a standardized protocol, including support for debugging within Docker containers. The system covers a broad range of developmen
CodeMirror is a browser-based code editor framework and modular extension system used to embed full-featured text editors into web pages. It functions as a syntax tree parsing engine and a language server protocol client, enabling structural language analysis and deep integration with external programming language services. The project is distinguished by its modular architecture, which uses a system of extensions and compartments for dynamic reconfiguration at runtime. It supports real-time collaborative editing and state synchronization through an operational transformation framework, allow
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
This project is a specialized browser debugging interface designed to monitor DOM elements, network traffic, and JavaScript execution. It provides a client-side user interface for inspecting and debugging web applications, allowing for the real-time modification of CSS styles and the investigation of the JavaScript runtime. The toolkit includes dedicated analysis tools for WebAssembly, featuring disassembly highlighting, scope inspection, and binary execution profiling. It also provides a network traffic inspector for analyzing HTTP requests and a CSS style editor for testing properties and a
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
This project is an uncompromising, deterministic code formatter for Python. It functions by parsing source code into an abstract syntax tree and regenerating it according to a rigid, opinionated set of style rules. By automating the formatting process, it eliminates manual style debates and configuration overhead, ensuring that code remains consistent across entire projects regardless of the original input. The tool distinguishes itself through its focus on speed and seamless integration into development workflows. It utilizes content-based file caching and parallel processing to maintain hig
Vim-clap is a high-performance fuzzy selection interface and command palette designed for Vim and NeoVim. It functions as an extensible plugin that enables rapid navigation of files, buffers, and project resources by offloading heavy search and filtering computations to an external background process. The project distinguishes itself through a pluggable provider architecture that allows developers to define custom search sources using external scripts or binaries. By decoupling the selection interface from the underlying fuzzy matching logic, it supports both built-in algorithms and high-perf
RVM is a Ruby version manager and build automation tool designed to install and switch between multiple versions of the Ruby interpreter on a single system. It serves as a dependency isolator and shell environment wrapper, allowing for the creation of named library sets to prevent version conflicts between different projects. The project distinguishes itself as a deployment orchestrator that automates the provisioning of Ruby runtimes across remote servers and build agents. It generates standalone executable wrappers to ensure specific runtimes and library sets are loaded for scheduled tasks,
Gitql is a SQL query engine and metadata search tool designed to explore and retrieve information from version control systems. It provides a structured query language that allows users to filter and extract assets from a project history using a formal syntax instead of standard command line interface commands. The tool operates as an interactive data explorer, featuring a command prompt interface for evaluating repository data in real time. It maps version control entities, such as commits and tags, to virtual relational tables, enabling the execution of sequential queries to audit history a
This project is a language extension for VS Code that provides comprehensive Go language support. It functions as a language server client, a debugger interface, and a toolchain manager to facilitate Go application development. The extension distinguishes itself by integrating a full suite of toolchain management capabilities, allowing for the installation and configuration of required binaries, linters, and compiler versions directly within the editor. It also provides deep integration for interactive debugging via Delve, supporting remote target debugging, process attachment, and program st
Cursive is a cross-platform terminal user interface toolkit and framework for building interactive applications in Rust. It provides a modular system for creating text-based graphical interfaces, utilizing a dedicated engine to manage the main display loop and view hierarchies. The toolkit features a backend-agnostic abstraction layer to ensure consistent rendering and input handling across different operating systems. It distinguishes itself through a palette-based theme engine that supports runtime theme loading and true color rendering, as well as the ability to generate user interface hie
termux-api is an Android hardware bridge and command line interface that provides shell access to device hardware and system sensors. It serves as a set of command-line tools and an API that exposes Android system functions to terminal-based scripts for automation. The project enables headless Android control and device automation, allowing users to manage mobile hardware and system settings via a remote terminal without using the graphical user interface. This includes integrating mobile hardware features such as the camera, GPS, and battery through a terminal interface. The system function
TouchEGG is a multi-touch gesture recognizer and input bridge for Linux that operates as a background service. It detects gestures on touchpads and touchscreens, mapping swipes, pinches, and taps to specific system actions across different display protocols. The tool functions as an input device gesture mapper, converting touch patterns into keyboard shortcuts, mouse clicks, or the execution of arbitrary shell commands. It allows for the definition of custom gesture-based triggers to manage window states and navigate virtual desktops. The system handles input emulation for both keyboard comb