Provides original nvim-treesitter modules (folding, highlighting, incremental selection, indentation) as a configurable plugin for older Neovim setups.
treesitter-modules.nvim is a Neovim plugin that restores built-in tree-sitter functionality modules—such as syntax highlighting, code folding, incremental selection, and smart indentation—that were removed from the main nvim-treesitter repository as it transitioned to a stable, API-focused release. It provides a convenient drop-in solution for users who want these features without manual configuration and serves as a reference implementation for those learning to implement the functionality themselves.
Neovim users who previously relied on nvim-treesitter's built-in modules and want a simple way to restore those features, as well as developers looking for a concrete example of how to implement tree-sitter-based functionality in their own configurations.
Developers choose this plugin because it offers a straightforward, backward-compatible configuration interface to quickly restore commonly used tree-sitter features, lowering the barrier to entry compared to manual implementation. Its modular API also provides fine-grained control and serves as an educational resource for custom implementations.
Original modules from nvim-treesitter master branch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Restores folding, highlighting, and incremental selection with a straightforward configuration interface, as shown in the setup examples that mirror old nvim-treesitter syntax.
Serves as a concrete implementation example, with the README providing migration guides and API methods to help users learn how to implement tree-sitter features themselves.
Exposes modular API functions like `init_selection` for manual keymap creation, allowing custom buffer-specific configurations beyond the default setup.
Includes options like `ensure_installed` and `auto_install` to automatically handle parser installation and synchronization, reducing manual setup steps.
With Neovim 0.12.0, built-in defaults cover node-based incremental selection, making the plugin less necessary for many users, as cautioned in the README's warning note.
Adds another plugin to your setup when the same functionality can be implemented in about 20 lines of Lua code, potentially increasing configuration complexity and maintenance overhead.
May not have exact parity with original nvim-treesitter modules, with some options missing or functioning differently, as admitted in the purpose section about not aiming for total compatibility.