What do you use treesitter for other than highlighting?

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • aerial.nvim

    Neovim plugin for a code outline window

  • I personally use it for an outline window for my code (aerial.nvim) and quick-selecting code blocks (nvim-treesitter-textsubjects). I've also seen but not used syntax-tree-surfer for code navigation/manipulation and refactoring.nvim for performing refactoring operations. You could also check out awesome-neovim and ctrl-f for "treesitter", though there are many other plugins out there either not on that list or that don't explicitly mention treesitter in their description.

  • nvim-treesitter-textsubjects

    Location and syntax aware text objects which *do what you mean*

  • I personally use it for an outline window for my code (aerial.nvim) and quick-selecting code blocks (nvim-treesitter-textsubjects). I've also seen but not used syntax-tree-surfer for code navigation/manipulation and refactoring.nvim for performing refactoring operations. You could also check out awesome-neovim and ctrl-f for "treesitter", though there are many other plugins out there either not on that list or that don't explicitly mention treesitter in their description.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • syntax-tree-surfer

    A plugin for Neovim that helps you surf through your document and move elements around using the nvim-treesitter API.

  • I personally use it for an outline window for my code (aerial.nvim) and quick-selecting code blocks (nvim-treesitter-textsubjects). I've also seen but not used syntax-tree-surfer for code navigation/manipulation and refactoring.nvim for performing refactoring operations. You could also check out awesome-neovim and ctrl-f for "treesitter", though there are many other plugins out there either not on that list or that don't explicitly mention treesitter in their description.

  • refactoring.nvim

    The Refactoring library based off the Refactoring book by Martin Fowler

  • I personally use it for an outline window for my code (aerial.nvim) and quick-selecting code blocks (nvim-treesitter-textsubjects). I've also seen but not used syntax-tree-surfer for code navigation/manipulation and refactoring.nvim for performing refactoring operations. You could also check out awesome-neovim and ctrl-f for "treesitter", though there are many other plugins out there either not on that list or that don't explicitly mention treesitter in their description.

  • awesome-neovim

    Collections of awesome neovim plugins.

  • I personally use it for an outline window for my code (aerial.nvim) and quick-selecting code blocks (nvim-treesitter-textsubjects). I've also seen but not used syntax-tree-surfer for code navigation/manipulation and refactoring.nvim for performing refactoring operations. You could also check out awesome-neovim and ctrl-f for "treesitter", though there are many other plugins out there either not on that list or that don't explicitly mention treesitter in their description.

  • wildfire.vim

    Smart selection of the closest text object

  • Is this treesitter-native support for wildfire?

  • nvim-treesitter-refactor

    Refactor module for nvim-treesitter

  • TS Refactor

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nvim-treesitter-textobjects

  • TS textobjects

  • LuaSnip

    Snippet Engine for Neovim written in Lua.

  • Also LuaSnips is really powerful and flexible but by itself does nothing with treesitter, you have to write snippets that do the bridge between the 2, I wrote some snippets myself that use treesitter to get change the expansion accordingly.

  • nvim-treesitter-endwise

    Wisely add "end" in Ruby, Vimscript, Lua, etc. Tree-sitter aware alternative to tpope's vim-endwise

  • I like this package as a replacement for Tim Pope's "pairwise": https://github.com/RRethy/nvim-treesitter-endwise

  • treesitter-unit

    A Neovim plugin to deal with treesitter units

  • I built a plugin to select units of tree-sitter objects https://github.com/David-Kunz/treesitter-unit

  • golisttests

    A helper that lists test names starting from the current directory. Used to provide completion candidates when integrating with fzf.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts