30 open-source projects similar to nvim-treesitter/nvim-treesitter, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Nvim Treesitter alternative.
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
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
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
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
nvim-surround is a Lua-based extension for Neovim designed to add, change, and delete surrounding delimiter pairs around text and code. It functions as a text object manipulator that wraps or removes brackets, quotes, and tags using motions and selections. The plugin integrates with Tree-sitter to identify structural code nodes, allowing for the precise surrounding of syntax elements based on the structural syntax tree. It also supports custom surround definitions, enabling users to define specialized delimiter pairs and aliases. The core capability surface covers basic surrounding operation
indent-blankline.nvim is a visual utility for Neovim that improves document readability by rendering vertical alignment lines. This plugin serves as an indentation guide tool designed to clarify the structure of nested code blocks. The plugin utilizes Tree-Sitter parsing to function as a scope highlighter, drawing visual boundaries around variable and function scopes. This allows for the visualization of identifiers and block boundaries based on the language's syntax tree. The system manages code structure visualization through indentation guides and scope-based highlighting. It uses virtual
CodeMirror is a browser-based code editor and extensible text editor framework. It functions as a programmable interface for rendering code and text with support for numerous programming languages, serving as a reusable component for web-based integrated development environments. The project provides a syntax highlighting engine that applies visual styles to text based on programming language rules. It includes a programming API and a CSS theming system to customize the editor's appearance and extend its functionality with custom behaviors. The framework covers capabilities for embedding tex
This is a code folding plugin for Neovim that manages foldable code blocks to reduce visual clutter and organize long source files. It functions as a folding provider and visualizer that leverages Language Server Protocol data and indentation patterns to identify and hide logical code sections. The plugin distinguishes itself through the ability to preview collapsed content in floating windows without expanding the fold. It also provides extensive visual customization for folded regions, including the use of virtual text indicators and custom markers to replace default ellipsis. The tool cov
snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface
nvim-autopairs is a Lua-based extension for Neovim that automatically inserts closing brackets, quotes, and keywords to maintain balanced syntax. It functions as a contextual bracket automator, utilizing Tree-Sitter structural nodes to determine when to insert or skip closing characters based on the code's actual syntax tree. The plugin distinguishes itself by using Tree-Sitter awareness to prevent inserting pairs inside strings or comments. It supports dynamic closing string resolution and custom pairing logic, allowing users to define specific rules using regular expressions and filetype fi
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 cod
Vditor is a browser-based Markdown editor and rendering engine that supports multiple editing interfaces, including a visual rich-text experience, instant rendering, and a traditional side-by-side split-view preview. It serves as an authoring tool for technical documentation and a component for web-based editor integration. The project is distinguished by its support for complex technical content, utilizing specialized rendering for mathematical formulas, flowcharts, sequence diagrams, and mind maps. It also functions as a collaborative document review tool, enabling users to attach anchored
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.
highlight.js is a JavaScript syntax highlighter and client-side code formatter that transforms plain text source code into highlighted HTML for web display. It provides syntax highlighting across a wide variety of programming languages. The library includes an automatic language detector that identifies the programming language of a code block to apply the correct highlighting rules without manual tagging. It is designed for web worker compatibility, allowing the highlighting process to run in background threads to prevent the browser interface from freezing during the processing of large vol
copilot.lua is a Lua-based Neovim plugin that integrates GitHub Copilot to provide an AI code completion engine. It delivers real-time ghost text and inline suggestions within the editor, utilizing a Neovim LSP client to manage communication and buffer-specific activations. The project handles GitHub account integration through token-based authentication and corporate instance support. It allows for the management of AI models and the configuration of language server protocols to authorize and customize service access. The system covers AI coding assistance through predictive edit suggestion
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
Tree-sitter is a parsing system and incremental parsing framework designed to generate high-performance syntax trees from source code. It functions as a language parsing engine that compiles formal grammar definitions into portable code, which can then be integrated into text editors and development tools to facilitate structural analysis, code navigation, and syntax highlighting. The project distinguishes itself through its ability to maintain valid, usable syntax tree structures even when source code contains syntax errors or incomplete fragments. It utilizes a generalized parsing algorithm
Shiki is a syntax highlighting engine that generates color-coded HTML or ANSI output from source code. It functions as a static code highlighter, utilizing standard grammar definitions to parse text and apply accurate visual styling for documentation and terminal displays. The engine distinguishes itself by using a TextMate grammar parser to interpret text patterns, ensuring that code displays match the visual appearance of professional editors. It operates through an isomorphic runtime that supports both browser and server environments, utilizing WebAssembly for consistent execution and pre-
GitHub-Dark is a browser extension theme and collection of user style sheets designed to provide a comprehensive dark mode aesthetic for the GitHub interface. It functions by injecting custom style rules directly into the browser to override default website colors, fonts, and layout properties, aiming to improve visual comfort and readability during extended use. The project distinguishes itself through its focus on deep integration and visual consistency. It includes specialized support for syntax highlighting across various programming languages and notebook environments, ensuring that code
VimTeX is an integrated development environment for authoring and compiling LaTeX documents within Vim and Neovim. It functions as a comprehensive suite for technical document authoring, combining the roles of a syntax highlighter, document navigator, and autocompletion engine. The plugin distinguishes itself through a coordinated workflow that manages asynchronous compilation and bidirectional synchronization with external PDF viewers. This allows users to jump between specific source locations and their rendered pages while maintaining a responsive editor interface during document productio
This project is a Vim keybinding emulation for Visual Studio Code. It implements modal text editing to separate navigation and content creation through specialized modes, reducing reliance on the mouse. The emulator supports custom IDE workflows by importing standard configuration files and remapping keyboard shortcuts. It integrates with external processes to handle complex commands and reproduces logic from common plugins for surrounding characters, commenting, and rapid motion. The capability surface includes keyboard-driven navigation using text objects, markers, and character sequences.
This project is a comprehensive productivity guide and configuration reference for the VS Code editor. It provides a curated collection of shortcuts, configuration tips, and tutorials designed to improve efficiency and optimize the daily coding workflow. The resource covers advanced AI-assisted development, including the integration of autonomous agents, custom prompt files, and AI-powered coding assistants for task automation and code generation. It also provides specialized guidance on integrated terminal management, such as configuring shell profiles and automating command execution. Addi
SwiftLint is a static analysis tool and code formatter designed to enforce consistent coding styles and identify semantic issues within Swift source code. It functions as a command-line utility that evaluates code against established conventions to ensure uniform structure and architectural standards across a project. The tool distinguishes itself through a custom linting engine that leverages compiler-integrated syntax analysis to perform deep inspections of code structure. Beyond simple pattern matching, it supports automated source code transformation to correct formatting violations and r
kanagawa.nvim is a Lua-based colorscheme for NeoVim that provides a high-contrast visual theme based on a traditional Japanese art color palette. It functions as a comprehensive styling system for the editor, applying semantic syntax highlighting to code structures and plugins. The project features a system for switching between different lighting variants, such as warm, deep dark, and light modes. It includes utilities for customizing specific palette colors and highlight groups, as well as the ability to export color definitions to external terminal emulators and shells for cross-applicatio
toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening, hiding, and organizing multiple persistent terminal windows, allowing shell sessions to be integrated directly within the text editor. The plugin distinguishes itself by offering a floating terminal interface and the ability to define custom terminal classes. These classes allow for specialized instances with dedicated commands and environment variables, while named terminal selection enables users to focus specific sessions using descriptive labels rather than numeric identi
Nvim-colorizer.lua is a Neovim plugin that provides real-time syntax highlighting for color definitions directly within the text editor. It renders color codes, such as hex and RGB values, as visual backgrounds or text colors, allowing developers to preview design tokens and style definitions without leaving their source files. The plugin distinguishes itself through a performance-oriented architecture that offloads text scanning to background processes, ensuring the editor interface remains responsive. It utilizes the editor's internal decoration system to overlay highlights without modifyin
opencode.nvim is a Neovim plugin that integrates large language model capabilities for code generation, refactoring, and automated diagnostic analysis. It connects the editor to local or remote AI servers to execute coding tasks and manage conversation history. The system features a side-by-side diff interface for reviewing and accepting AI-generated code changes and a prompt builder that injects real-time editor data, such as buffer contents and selections, into instructions. It also functions as an extension to explain code diagnostics and trigger editor actions via a backend server. The p
This project is a configuration framework for Neovim that acts as a client for the Language Server Protocol. It bridges the gap between the text editor and external language analysis tools, enabling the integration of real-time diagnostics, intelligent code completion, and automated refactoring directly into the development environment. The framework provides a standardized interface for managing the lifecycle of external language servers as independent background processes. By utilizing a Lua-based configuration layer, it allows users to define server-specific settings and initialization opt
Neorg is a knowledge management framework for Neovim designed for organizing notes, tasks, and structured data using a custom hierarchical text format. It functions as a personal knowledge base and a system for generating structured text documents. The framework integrates project management and time tracking directly into the editor environment. It enables the creation of typeset documents and professional slideshow presentations by converting raw structured text into formatted visual layouts. The system covers a broad range of productivity capabilities, including personal knowledge managem
windsurf.vim is an AI-driven development tool for Vim and Neovim that integrates AI-powered code completion, a conversational coding assistant, and autonomous agent orchestration. It enables users to receive real-time code suggestions and perform complex refactoring via natural language instructions directly within the editor. The project provides a system for dispatching and monitoring multiple AI agents to execute engineering tasks across local and cloud environments. It includes context-aware project analysis by indexing the local codebase and supports shared workspace management to mainta