elisp-tree-sitter VS symex.el

Compare elisp-tree-sitter vs symex.el and see what are their differences.

symex.el

An intuitive way to edit Lisp symbolic expressions ("symexes") structurally in Emacs (by drym-org)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
elisp-tree-sitter symex.el
21 18
803 254
0.7% 1.2%
7.2 6.2
4 days ago 12 days ago
Emacs Lisp Emacs Lisp
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

elisp-tree-sitter

Posts with mentions or reviews of elisp-tree-sitter. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-28.
  • How to Get Started with Tree-Sitter
    4 projects | /r/emacs | 28 May 2023
    Look at the original integration project https://github.com/emacs-tree-sitter/elisp-tree-sitter, before it was done inside Emacs 29+.
  • function to mark all within brackets, quotes, etc
    1 project | /r/emacs | 14 Jan 2023
    When tree-sitter is available you may extend expand-region with this one one https://github.com/emacs-tree-sitter/elisp-tree-sitter/issues/20 Works very nice for me. But simple matching pairs should be handled well by expand-region alone
  • How to use Emacs 29 Tree-sitter?
    12 projects | /r/emacs | 3 Dec 2022
    That said, if you want a more complete experience with tree-sitter right now, there’s a 3rd party implementation with support for a lot more languages, and also automatically downloads all supported grammars. It’s available here: https://github.com/emacs-tree-sitter/elisp-tree-sitter
  • why is melpa still necessary for stuff that is built-in to emacs?
    1 project | /r/emacs | 24 Nov 2022
    Just like there are multiple LSP implementations for emacs (lsp-mode, eglot, lsp-bridge), there are multiple tree-sitter implementations. The one recently included in emacs was never a standalone package, I believe (correct me if that’s wrong), but was created with the purpose of being included in emacs. You will need melpa to download the linked elisp-tree-sitter package (https://github.com/emacs-tree-sitter/elisp-tree-sitter), but not the built in one.
  • tree-sitter has been merged into master
    3 projects | /r/emacs | 23 Nov 2022
    How am I going to even use the built-in one? I was using elisp-tree-sitter. I know I have to add grammar for different languages, but how? I have been searching for a while and still have no clue.
  • Ask HN: S/W development text editor have feature colorizing every iteration?
    10 projects | news.ycombinator.com | 29 Sep 2022
    from github README.rst "Emacs package that provides a standardized framework for manipulating and navigating your source code using tree sitter's concrete syntax tree " -> https://github.com/mickeynp/combobulate

    https://www.spacemacs.org/ with https://github.com/emacs-tree-sitter/elisp-tree-sitter then write a iterator/loop query for language(s) editing per https://tree-sitter.github.io/tree-sitter/syntax-highlightin...

    tad less installation heavy (sorta) but also makes use of tree-sitter syntax queries : https://www.lunarvim.org (neovim with treesitter syntax)

    blockman usage examples: https://www.youtube.com/channel/UC5539gDeAdWqeXcczWuhnBA

    Alternative examples / takes (per user interface):

    ### embedding a block of source code in a document:

      ** carrotsearch.gethub.io/apidocs/code-blocks
  • regarding feature/tree-sitter branch
    2 projects | /r/emacs | 5 Sep 2022
    However, if you want to use tree-sitter today, there is the tree-sitter package which enables tree-sitter syntax highlighting in a number of popular major modes. I’ve been using it for about six months now in all major modes it supports.
  • how to configure doom emacs (generic emacs too) with a C project
    1 project | /r/emacs | 4 Sep 2022
    Tree Sitter and lsp-mode might be of help. Looks like both take a bit of work to get going. I have personally not used them, so try out which suits you and let us know how it went.
  • Commercial-Emacs
    5 projects | news.ycombinator.com | 2 Jun 2022
    You can use tree-sitter already if you have dynamic module support: https://github.com/emacs-tree-sitter/elisp-tree-sitter
  • Are we living in the golden age of Emacs?
    5 projects | /r/emacs | 26 Apr 2022

symex.el

Posts with mentions or reviews of symex.el. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-04.
  • Sapling: A highly experimental vi-inspired editor where you edit code, not text
    4 projects | news.ycombinator.com | 4 Feb 2024
    I also recommend symex[1]. Although it is more “locked-in” to s-expressions than other solutions (which takes some getting used to at first), I find that for me this is exactly what makes movement feel much more intuitive and editing much more precise.

    The one thing I don’t like is that symex depends on so many other plugins (especially Evil, which I am trying to swap out with the more lightweight meow), but this will apparently change soon. They are also working towards support for non-Lisp languages via tree-sitter, but I don’t know how well it works.

    [1]: https://github.com/drym-org/symex.el

  • We've launched Attribution Based Economics
    1 project | /r/emacs | 10 May 2023
    The pilot projects (including Symex.el) are accepting financial contributions and will distribute them to sources of value including contributors and antecedent projects in a process that we all have a say in.
  • Tree-sitter starter guide
    7 projects | /r/emacs | 17 Jan 2023
    This is a really useful synopsis. symex has recently had TS support merged in, and apparently includes navigation and structural editing similar to its lisp-like language capabilities. I think it's still early going and I haven't tested, but may be worth a look.
  • Learn Lisp the Hard Way
    5 projects | news.ycombinator.com | 10 Jan 2023
  • What modal sexp editing mode should I switch to?
    6 projects | /r/emacs | 10 Jan 2023
    Has anyone used symex.el without evil? I just learned it can be use with vanilla emacs (despite the 2nd word in its tagline). I also learned they have a tree-sitter branch which will expand its powers to many languages.
  • Advice on config hacking / yak shaving / bikeshedding
    7 projects | /r/emacs | 23 Dec 2022
    I started out using evil, but now I mostly use Symex. (Structural editing. non-lisps support wip for those sad moments you can't use lisp). For now depends on evil, but could be separated.
  • You are invited to the First Congress for Attribution-Based Economics!
    2 projects | /r/emacs | 21 Dec 2022
    The purpose of this congress is to engage in the process of Dialectical Inheritance Attribution, which is a collective process by which we apply agreed-upon standards to the task of appraising and attributing the value of work done in the world. At this initial congress, there are two open source projects on the agenda to be appraised: Symex.el which is an Emacs extension, and Qi, which is a functional DSL on the Racket platform.
  • symex.el: An evil way to edit Lisp symbolic expressions ("symexes") as trees in Emacs
    1 project | /r/planetemacs | 19 Dec 2022
  • paredit based on treesitter
    3 projects | /r/emacs | 30 Nov 2022
    symex has a branch that’s been working on integrating with tree-sitter.
  • Paredit 25 Released
    6 projects | news.ycombinator.com | 26 Nov 2022
    If you want to go nuts with structural editing you may also want to check out symex mode: https://github.com/drym-org/symex.el

    It uses paredit (among others) for its low level functionality, but the vim-style modal interface allows you to manipulate the tree structure with single keystrokes in a precise and very expressive way. Keep in mind that you have to actively learn how to use it and it will feel awkward at first (similar to how vim feels for beginners), but I find the editing experience very pleasent and smooth after I got used to it.

    Another thing I really like about it is that you can still switch to normal mode and it doesn’t get in your way like other plugins where I had to change my keybindings all the time because the amount of convenient shortcuts is still quite limited in the end. This modal switching to different editing contexts (or languages?) is something I feel should be explored much further.

What are some alternatives?

When comparing elisp-tree-sitter and symex.el you can also consider the following projects:

tree-sitter-go - Go grammar for tree-sitter

lispy - Short and sweet LISP editing

tree-sitter - An incremental parsing system for programming tools

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

typescript.el - TypeScript-support for Emacs

gopcaml-mode

lsp-treemacs - lsp-mode :heart: treemacs

emacs - Mirror of GNU Emacs

tree-sitter-ruby - Ruby grammar for tree-sitter

tree-sitter-kotlin - Kotlin grammar for Tree-sitter

evil-textobj-tree-sitter - Tree-sitter powered textobjects for evil mode in Emacs