Tree Sitter and the Complications of Parsing Languages

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

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

    Structured Editing and Navigation in Emacs with Tree-Sitter

  • Just two weeks ago I finally got to install tree-sitter myself. After implementing a small python refactoring function based on it, my mind immediately went down the same path as your: we should make paredit/smartparens use this! I will definitely check out your combobulate package.

  • language-server-protocol

    Defines a common protocol for language servers.

  • I did a quick google search to find if there are any LSP servers which do syntax hightlighting and found an LSP issue which basically says the same as the quote above and rejects syntax highlighting support: https://github.com/microsoft/language-server-protocol/issues/682

  • 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
  • tree-sitter-org

    Org grammar for tree-sitter

  • Interesting enough, I discovered there's tree-sitter-org and Neovim folks are trying to implement Org-Mode.

  • orgmode

    Orgmode clone written in Lua for Neovim 0.9+.

  • orgmode

  • neorg

    Modernity meets insane extensibility. The future of organizing your life in Neovim.

  • neorg (which has it's treesitter grammar)

  • tree-sitter-norg

    A TreeSitter parser for the Neorg File Format

  • neorg (which has it's treesitter grammar)

  • evil-textobj-tree-sitter

    Tree-sitter powered textobjects for evil mode in Emacs

  • Other than combobulate, these packages also use tree-sitter for changing code (not just highlighting): * https://codeberg.org/FelipeLema/tree-sitter-indent.el * https://github.com/meain/evil-textobj-tree-sitter

  • 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
  • smartparens

    Minor mode for Emacs that deals with parens pairs and tries to be smart about it.

  • Emacs seems to attract quite a lot of people who want structural code editing. We now have * paredit * smartparens * evil-cleverparens * lispy * symex * combobulate (more?)

  • evil-cleverparens

    Evil normal-state minor-mode for editing lisp-like languages

  • Emacs seems to attract quite a lot of people who want structural code editing. We now have * paredit * smartparens * evil-cleverparens * lispy * symex * combobulate (more?)

  • lispy

    Short and sweet LISP editing

  • Emacs seems to attract quite a lot of people who want structural code editing. We now have * paredit * smartparens * evil-cleverparens * lispy * symex * combobulate (more?)

  • tree-edit

    🌲 Structural editing in Emacs for any™ language!

  • you can add this one to the list ;) https://github.com/ethan-leba/tree-edit

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