tree-sitter-org VS smartparens

Compare tree-sitter-org vs smartparens 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
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
tree-sitter-org smartparens
11 19
206 1,782
- -
2.1 7.1
2 months ago 1 day ago
C Emacs Lisp
MIT License 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.

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
    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 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
    Get more information how to get it working. Will building and installing https://github.com/milisims/tree-sitter-org.git help?
    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', }

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.

What are some alternatives?

When comparing tree-sitter-org and smartparens 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

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

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

hydra - make Emacs bindings that stick around

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

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

emacs-which-key - Emacs package that displays available keybindings in popup

emacs-doom-themes - A megapack of themes for GNU Emacs. [Moved to: https://github.com/doomemacs/themes]

electric-operator - An emacs minor mode to automatically add spacing around operators