tree-sitter-langs VS tree-sitter-cpp

Compare tree-sitter-langs vs tree-sitter-cpp and see what are their differences.

tree-sitter-langs

Language bundle for Emacs's tree-sitter package (by emacs-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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
tree-sitter-langs tree-sitter-cpp
8 8
227 230
2.2% 3.9%
9.8 8.2
5 days ago 4 days ago
Emacs Lisp JavaScript
MIT License 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.

tree-sitter-langs

Posts with mentions or reviews of tree-sitter-langs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-18.
  • tree-sitter doesn't highlight my *.ts Typescript files
    2 projects | /r/emacs | 18 Dec 2022
    I just had a quick look at tree-sitter-langs to double check its TypeScript support. And seems to have a full set of highlight queries for it.
  • Context-aware yasnippets (via tree-sitter)
    3 projects | /r/emacs | 12 Dec 2022
    I use script/compile swift from 'tree-sitter-langs' to build the grammar on both M1 and x86 machines. But I was looking at that code yesterday and I actually can't figure out why it works to produce an arm64 dylib for me. There's no place where the target arch is being set. It's very odd.
  • How to use Emacs 29 Tree-sitter?
    12 projects | /r/emacs | 3 Dec 2022
    However, there are no queries available for it to highlight csharp: https://github.com/emacs-tree-sitter/tree-sitter-langs/tree/388dcbbc237b2b1360e5b148e67b158eecede805/queries
  • Call for volunteers: add tree-sitter support to major modes
    6 projects | /r/emacs | 9 Oct 2022
    I've forked tree-sitter-langs with https://github.com/kiennq/tree-sitter-langs that can be used to convert from the current emacs-tree-sitter syntax to the built-in treesit's syntax. Based on https://github.com/emacs-tree-sitter/tree-sitter-langs/pull/99.
  • regarding feature/tree-sitter branch
    2 projects | /r/emacs | 5 Sep 2022
    Those grammars are collected in the tree-sitter-langs repo, or you can build them yourself. I assume they're not bundled with Emacs yet, even on the feature branch. I don't know how the Emacs tree-sitter branch expects them to be registered and associated with a language mode, though.
  • Having trouble setting up tree-sitter
    1 project | /r/emacs | 7 Aug 2022
  • Do FreeBSD people use GNU/Emacs or anything GNU at all?
    1 project | /r/freebsd | 16 Jul 2022
    The "essentially" qualifier is just because of the tree-sitter issue I was mentioning earlier which is just that this 3rd party package does not ship binaries built for FreeBSD. Everything else has worked exactly the same as on Linux.
  • Does anyone have a good config for making expand-region play nicely with Elixir code?
    1 project | /r/emacs | 8 Jun 2022
    Now I am speculating, but I think it would take less work to go through tree-sitter route. Seems that emacs tree-sitter repo already supports Elixir. And then we would need to write Elixir specific queries for combobulate, which supports incremental selection à la expand-region.

tree-sitter-cpp

Posts with mentions or reviews of tree-sitter-cpp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-21.
  • Difftastic, a structural diff tool that understands syntax
    17 projects | news.ycombinator.com | 21 Mar 2024
    Grammar page (https://github.com/tree-sitter/tree-sitter-cpp) reference two documents at the very end:

    - Hyperlinked C++ BNF Grammar (https://alx71hub.github.io/hcb/)

    - EBNF Syntax: C++ (ISO/IEC 14882:1998(E)) https://www.externsoft.ch/download/cpp-iso.html

    The second doc has a year in the title, so it's ancient af.

  • How to Get Started with Tree-Sitter
    4 projects | /r/emacs | 28 May 2023
  • 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))
  • GitHub code search is generally available
    3 projects | news.ycombinator.com | 8 May 2023
    The feature isn't working well yet on C and C++. If I recall correctly it's based on Tree-Sitter[1] parsing, and there are still too many bugs in corresponding grammars - tree-sitter-c[2] and tree-sitter-cpp[3]. Hopefully, it will be greatly improved in the future as the share of the existing and newly written code in C and C++ is quite significant.

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

    [2] https://github.com/tree-sitter/tree-sitter-c/issues

    [3] https://github.com/tree-sitter/tree-sitter-cpp/issues

  • Building tree-sitter languages for Emacs
    20 projects | /r/emacs | 30 Dec 2022
  • Call for volunteers: add tree-sitter support to major modes
    6 projects | /r/emacs | 9 Oct 2022
    There's treesitter-cpp parser that works to some extent already. However, for complex language like c++, I think it would be better to use lsp's semantic highlighting instead
  • Neovim C++ development
    13 projects | /r/neovim | 28 Nov 2021
  • Difftastic: A syntactic diff tool
    6 projects | /r/rust | 15 Sep 2021
    C++ is currently unsupported, but there's a good tree-sitter implementation I can add: https://github.com/tree-sitter/tree-sitter-cpp

What are some alternatives?

When comparing tree-sitter-langs and tree-sitter-cpp you can also consider the following projects:

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

nvim-cmp - A completion plugin for neovim coded in Lua.

tree-sitter-c-sharp - C# Grammar for tree-sitter

difftastic - a structural diff that understands syntax 🟥🟩

tree-sitter-module - Building script for tree-sitter language definitions

nvim-dap - Debug Adapter Protocol client implementation for Neovim

doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]

git-split-diffs - Syntax highlighted side-by-side diffs in your terminal

elisp-tree-sitter - Emacs Lisp bindings for tree-sitter

diffsitter - A tree-sitter based AST difftool to get meaningful semantic diffs

rjsx-mode - A JSX major mode for Emacs

null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.