combobulate VS expand-region.el

Compare combobulate vs expand-region.el and see what are their differences.

combobulate

Structured Editing and Navigation in Emacs with Tree-Sitter (by mickeynp)

expand-region.el

Emacs extension to increase selected region by semantic units. (by magnars)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
combobulate expand-region.el
16 16
814 1,324
- -
9.3 5.2
9 days ago 3 months ago
Emacs Lisp Emacs Lisp
GNU General Public License v3.0 only GNU General Public License v3.0 only
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.

combobulate

Posts with mentions or reviews of combobulate. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-30.
  • Emacs 29.1 Released
    12 projects | news.ycombinator.com | 30 Jul 2023
    Eh, I've been looking and haven't found anything for other editors that actually tries to use TreeSitter for anything beyond highlighting. The Emacs structural editing packages are still very WIP but at least they exist.

    (And also some have been based on the out of tree implementation that's been around for a while now)

    Example: https://github.com/mickeynp/combobulate

  • Indent with tree-sitter is nice
    4 projects | /r/emacs | 5 Jun 2023
    Looking at https://github.com/mickeynp/combobulate/blob/master/combobulate-python.el, it at the very least delegates to python-indent-calculate-levels, so the logic is mixed.
  • Paredit-like features in non-lisp modes?
    4 projects | /r/emacs | 27 May 2023
  • Could you guys share your experience with different python dev set-ups (elpy, lsp, etc)? What is more simple/beginer friendly?
    2 projects | /r/emacs | 31 Jan 2023
    I went from an old config rich setups from before lsp's to lsp-mode ones etc... Right now I would say that eglot + pylsp gives you the best experience, you can use pyenv and pyvenv mode to manage your virtual environments. Now that treesitter is also being used you can try out https://github.com/mickeynp/combobulate
  • ts-movement: a package to navigate the tree-sitter syntax tree (supports multiple-cursors)
    7 projects | /r/emacs | 15 Jan 2023
    I think the following packages would fit your wishlist, as it is very similar to mine. As mentioned in the replies, there is (https://github.com/magnars/expand-region.el) and (https://github.com/mickeynp/combobulate). I regularly use (https://github.com/Fuco1/smartparens).
  • noob question about tree-sitter in the presence of lsp-mode
    2 projects | /r/emacs | 1 Dec 2022
    re syntactic text objects: https://github.com/mickeynp/combobulate
  • paredit based on treesitter
    3 projects | /r/emacs | 30 Nov 2022
    I haven't used it, but based on the description, it looks like combobulate would be an example of this:
  • 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
  • Commercial-Emacs
    5 projects | news.ycombinator.com | 2 Jun 2022
    I don't know what this fork brings to table, but you could try tree-sitter today with your vanilla Emacs using a package[1] that works via dynamic module.

    Personally I am more interested in getting structural selection and navigation reliably working for any language. There is also a package named combobulate[2] to help with that.

    [1] https://emacs-tree-sitter.github.io/

    [2] https://github.com/mickeynp/combobulate

  • tree-sitter highlighting rocks
    3 projects | /r/emacs | 16 Apr 2022
    TIL https://github.com/mickeynp/combobulate Thank you, @snafuchs !

expand-region.el

Posts with mentions or reviews of expand-region.el. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-04.
  • Question for Meow users
    4 projects | /r/emacs | 4 Feb 2023
    I don't use Meow, so this may be wildly off the mark (no pun) here. But I use and really like expand-region for selection and marking. With modal editing, I imagine it would be extremely fast and intuitive.
  • ts-movement: a package to navigate the tree-sitter syntax tree (supports multiple-cursors)
    7 projects | /r/emacs | 15 Jan 2023
    I think the following packages would fit your wishlist, as it is very similar to mine. As mentioned in the replies, there is (https://github.com/magnars/expand-region.el) and (https://github.com/mickeynp/combobulate). I regularly use (https://github.com/Fuco1/smartparens).
  • What packages do I need to for the best elisp editing environment?
    8 projects | /r/emacs | 6 Jan 2023
    Paredit, Speed-of-thought lisp, Helm, perhaps Lispy but I am not using it myself. I found expand-region to work really well when writing and modifying elisp. lisp-extra-font-lock if you want some more blink (and font-lock-studio). Helpful is very good to have instead of built-in help, it displays the source code by default as well as symbol properties. It is a very informative learning experience to see how built-in stuff is implemented. I am quite lazy to press extra in built-in help to see the source code, but with Helpful, you get it auto in the same window, whicih is great for learning. Seeing symbol properties is sometimes a time saver so you don't have to M-: and type an Elisp function to see the symbol properties when debugging. Learn Edebug, it is very useful built-in application for Emacs Lisp development.
  • vanish.el: hide parts of a buffer
    8 projects | /r/emacs | 6 Aug 2022
    Exactly. Consider you have point in a table definition. You can programmatically find which org element you are in, at least for org-mode. Or in a defun for elisp-mode, a sentence or paragraf in plain text and so on. You could just press a shortcut, and based on major-mode you could find boundaries of the element and put it in hidden-list. It would be really fast to work that way. I don't know if it already exists in some package. Or you could go for somewhat easier version, and just check if a region is active, and if it is, hide region, and if not, hide current line, or based on mode, hide element at point. That way we can easily expand/contract region with er/expand-region and press a key to temporary hide/unhide it. It is not difficult to write a function to do that based on text properties. Thing-at-point might be useful here too.
  • Why not use Evil in 2022?
    5 projects | /r/emacs | 7 Apr 2022
    https://github.com/magnars/expand-region.el is your friend. I use the built-in equivalent of it in IntelliJ all the time. it's a bit like a vi text objects in the simplest possible way.
  • Paredit Mnemonics for Slurping and Barfing Lisp Symbolic Expressions
    3 projects | news.ycombinator.com | 12 Mar 2022
    Thanks, I will give paredit a shot.

    I'm a regular emacs user, but I normally use expand-region[1] and cut/paste to edit lisp code. Expand-region usually knows what I want to move around after just one or two calls, only requires one key binding, and has visual feedback. And it works great in every language I have used.

    https://github.com/magnars/expand-region.el

  • Sharing my first emacs extension: csharpto.el
    3 projects | /r/emacs | 18 Feb 2022
    One thing that I always missed is the ability to select a whole function in C#, but I thought I just didn't know the right package or it was something trivial to do ad-hoc. Surprisingly, up to these days I still couldn't find anything. I bumped into the expand-region package at some point, which is awesome, but still something was missing. After going through the Emacs Lisp Intro tutorial, I learned a bit how to search things in a buffer, and I was also editing csharp files every day, so I decided to try to implement the functions myself. Fast forward some weeks, here I am, with a smile on my face :)
  • Is there a way to highlight the content inside parenthesis like Kate does?
    1 project | /r/emacs | 23 Oct 2021
    The package for growing the selection is the excellent expand-region by Magnar Sveen
  • Looking for evil-mode resources for non vim users emacs beginners
    10 projects | /r/emacs | 13 Oct 2021
    If you want to try out some third-party packages in the beginning, I think the most "bang-for-your-buck" you'll get is with Avy. Also, expand-region. And specifically for writing: olivetti-mode, flyspell, dictionary, and Nicolas Rougier's Nano and Elegant Emacs setups.
  • Effective and efficient text editing using Emacs (Alternative to Evil)
    11 projects | /r/emacs | 19 Aug 2021
    You will probably like expand-region.el. It is fantastic for selecting inside brackets, quotes, etc.

What are some alternatives?

When comparing combobulate and expand-region.el you can also consider the following projects:

tree-sitter-org - Org grammar for tree-sitter

evil-guide - Draft of a guide for using emacs with evil

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

meow - Yet another modal editing on Emacs / 猫态编辑

tree-sitter-norg - A TreeSitter parser for the Neorg File Format

.emacs.d - My current Emacs setup.

commercial-emacs - "Evil will always triumph, because good is dumb." -- Spaceballs (1987)

elegant-emacs - A very minimal but elegant emacs (I think)

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

whole-line-or-region - In Emacs, operate on current line if no region is active

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

easy-kill - Kill & Mark Things Easily in Emacs