nvim-treesitter
github.com
2
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
nvim-treesitter is the official Neovim integration for Tree-sitter, providing incremental parsing and syntax tree APIs for the Neovim editor. With over 9,800 stars as of 2026, this plugin transforms Neovim's syntax highlighting, code folding, text objects, and structural editing capabilities by replacing regex-based syntax highlighting with actual AST-based understanding of code structure. Tree-sitter is an incremental parsing system developed by Max Brunsfeld at GitHub that builds syntax trees in O(n) time and updates them in O(log n) time on edits, enabling real-time re-parsing as the user types. The plugin provides: improved syntax highlighting with 100+ language parsers (with per-language query files defining highlight captures), incremental selection (expanding and shrinking the selection based on syntax tree nodes, mapped to keybindings like Enter and Backspace), code folding based on syntax tree structure (replacing regex-based foldexpr), text objects (syntax-aware motion targets like function, class, block, parameter, and call), indentation (syntax-aware auto-indentation), structural navigation (jumping between syntax nodes of specific types), and a Lua API for plugin developers (vim.treesitter module for querying, iterating, and manipulating syntax trees). The plugin automatically installs and manages language parsers (compiled as shared libraries) via tree-sitter CLI and provides :TSInstall and :TSUpdate commands. Community modules extend functionality with: ts-context-commentstring (multi-language commenting), ts-autotag (HTML/JSX tag auto-closing), refactor (code refactoring), textsubjects (enhanced text objects), and rainbow (rainbow bracket matching).
Statistics
2
Views
0
Clicks
0
Like
0
Dislike