tree-sitter-c-sharp VS tree-sitter-cpp

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

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
tree-sitter-c-sharp tree-sitter-cpp
5 8
171 226
7.6% 4.0%
6.7 8.2
21 days ago 15 days ago
JavaScript 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-c-sharp

Posts with mentions or reviews of tree-sitter-c-sharp. 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))
  • How to use Emacs 29 Tree-sitter?
    12 projects | /r/emacs | 3 Dec 2022
    Any particular reasons you were looking at that old commit ? the latest master branch seems to have a highlights.scm file
  • tree-sitter-c-sharp: C# Grammar for tree-sitter
    1 project | /r/planetemacs | 31 Dec 2020
  • Csharpmode Adds Support For Treesitter
    1 project | /r/emacs | 31 Dec 2020
    tree-sitter seems to support records as well as a lot of other things. That said, it might not be exposed in csharp mode yet. In my experience it has been super easy to add new constructs. Some time in the future I will make this user customizable as well. Maybe you want something to be highlighted as keywords which has a different default. That sort of thing.

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-c-sharp and tree-sitter-cpp you can also consider the following projects:

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

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

tree-sitter-rust - Rust grammar for tree-sitter

difftastic - a structural diff that understands syntax 🟥🟩

tree-sitter-typescript - TypeScript grammar for tree-sitter

nvim-dap - Debug Adapter Protocol client implementation for Neovim

tree-sitter-javascript - Javascript grammar for tree-sitter

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

tree-sitter-python - Python grammar for tree-sitter

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

.emacs.d - My personal Emacs config with any quirks, oddities, bugs, and man-eating errors I live with on a daily basis.

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