smartparens VS tree-sitter-org

Compare smartparens vs tree-sitter-org and see what are their differences.

smartparens

Minor mode for Emacs that deals with parens pairs and tries to be smart about it. (by Fuco1)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
smartparens tree-sitter-org
19 11
1,788 210
- -
7.1 2.1
8 days ago 3 months ago
Emacs Lisp C
GNU General Public License v3.0 only MIT License
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.

smartparens

Posts with mentions or reviews of smartparens. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-27.

tree-sitter-org

Posts with mentions or reviews of tree-sitter-org. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-19.
  • Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit
    21 projects | /r/emacs | 19 May 2023
    (use-package treesit :ensure nil :custom ;; Some stuff taken from here: https://robbmann.io/posts/emacs-treesit-auto/ (treesit-extra-load-path '("/usr/lib64/")) (treesit-language-source-alist '((bash . ("https://github.com/tree-sitter/tree-sitter-bash")) (c . ("https://github.com/tree-sitter/tree-sitter-c")) (c++ . ("https://github.com/tree-sitter/tree-sitter-cpp")) (csharp . ("https://github.com/tree-sitter/tree-sitter-c-sharp")) (css . ("https://github.com/tree-sitter/tree-sitter-css")) (elixir ("https://github.com/elixir-lang/tree-sitter-elixir")) (html . ("https://github.com/tree-sitter/tree-sitter-html")) (java . ("https://github.com/tree-sitter/tree-sitter-java")) (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript")) (json . ("https://github.com/tree-sitter/tree-sitter-json")) (lua . ("https://github.com/Azganoth/tree-sitter-lua")) (makefile . ("https://github.com/alemuller/tree-sitter-make")) (org . ("https://github.com/milisims/tree-sitter-org")) (python . ("https://github.com/tree-sitter/tree-sitter-python")) (tsx . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")) (typescript . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")) (ruby . ("https://github.com/tree-sitter/tree-sitter-ruby")) (rust . ("https://github.com/tree-sitter/tree-sitter-rust")) (sql . ("https://github.com/m-novikov/tree-sitter-sql")) (toml . ("https://github.com/tree-sitter/tree-sitter-toml")) (yaml . ("https://github.com/ikatyang/tree-sitter-yaml")))) (major-mode-remap-alist '((c-mode . c-ts-mode) (c++-mode . c++-ts-mode) (csharp-mode . csharp-ts-mode) (css-mode . css-ts-mode) (html-mode . html-ts-mode) (java-mode . java-ts-mode) (js-mode . js-ts-mode) (json-mode . json-ts-mode) (makefile-mode . makefile-ts-mode) ;; (org-mode . org-ts-mode) ;; not mature yet (python-mode . python-ts-mode) (typescript-mode . typescript-ts-mode) (ruby-mode . ruby-ts-mode) (rust-mode . rust-ts-mode) (toml-mode . toml-ts-mode) (yaml-mode . yaml-ts-mode))) (treesit-auto-fallback-alist '((toml-ts-mode . conf-toml-mode) (typescript-ts-mode . nil) (tsx-ts-mode . nil))) (treesit-font-lock-settings t) (treesit-simple-indent t) (treesit-defun-type-regexp t)) (use-package treesit-auto :demand t :config (setq treesit-auto-install t) (global-treesit-auto-mode))
  • Tree-sitter grammar for org-mode
    1 project | /r/patient_hackernews | 7 Apr 2022
    1 project | /r/hackernews | 7 Apr 2022
    1 project | /r/emacs | 7 Apr 2022
    5 projects | /r/orgmode | 7 Apr 2022
    8 projects | news.ycombinator.com | 7 Apr 2022
  • Formal Specification and Programmatic Parser for Org-mode
    9 projects | /r/emacs | 10 Jan 2022
    org-element-parse-buffer 'element granularity (7.688000744 0 0.0) 8sec tree-sitter via https://github.com/milisims/tree-sitter-org parsed down to 58% of the buffer in 5.3sec extrapolates to ~9sec Racket's brack via https://github.com/tgbugs/laundry failed to finish parsing in reasonable time. Cancelled at 10m11.436s Clojure parser via https://github.com/200ok-ch/org-parser failed to finish parsing with java.lang.OutOfMemoryError: GC overhead limit exceeded Running time 8m28.078s
  • tree-sitter-org: Org grammar for tree-sitter
    1 project | /r/planetemacs | 26 Nov 2021
  • Tree Sitter and the Complications of Parsing Languages
    12 projects | /r/emacs | 23 Nov 2021
    Interesting enough, I discovered there's tree-sitter-org and Neovim folks are trying to implement Org-Mode.
  • Orgmode.nvim tree-sitter support
    3 projects | /r/neovim | 3 Sep 2021
    local parser_config = require "nvim-treesitter.parsers".get_parser_configs() parser_config.org = { install_info = { url = 'https://github.com/milisims/tree-sitter-org', revision = 'main', files = {'src/parser.c', 'src/scanner.cc'}, }, filetype = 'org', }

What are some alternatives?

When comparing smartparens and tree-sitter-org you can also consider the following projects:

paredit-everywhere - Enable some paredit features in non-lisp buffers

language-server-protocol - Defines a common protocol for language servers.

lispy - Short and sweet LISP editing

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

embrace.el - Add/Change/Delete pairs based on `expand-region', similar to `evil-surround'.

orgmode - Orgmode clone written in Lua for Neovim 0.9+.

hydra - make Emacs bindings that stick around

combobulate - Structured Editing and Navigation in Emacs with Tree-Sitter

use-package - A use-package declaration for simplifying your .emacs

tree-edit - 🌲 Structural editing in Emacs for any™ language!

aggressive-indent-mode - Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode.

instaparse