tree-sitter-cpp VS tree-sitter-c

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

SurveyJS: Build JSON-Driven Surveys and Forms with Full Data Control
Add the SurveyJS UI components to your JS app (React/Angular/Vue3). Securely collect and analyze data without sending it to 3rd-party servers. Fully customizable, works with any backend, and ideal for data-heavy apps. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
tree-sitter-cpp tree-sitter-c
8 8
387 328
2.6% 3.4%
7.4 5.7
28 days ago 28 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-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.

tree-sitter-c

Posts with mentions or reviews of tree-sitter-c. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-02-28.
  • Show HN: Globstar – Open-source static analysis toolkit
    9 projects | news.ycombinator.com | 28 Feb 2025
    Supporting C / C++ is in our roadmap. It needs some additional work to handle preprocessor directives [1] [2], which is why we didn't focus on it for the initial release.

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

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

  • 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
  • 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

  • Indent 8 spaces
    1 project | /r/HelixEditor | 8 Jan 2023
    [[language]] name = "c" scope = "source.c" injection-regex = "c" file-types = ["c"] # TODO: ["h"] roots = [] comment-token = "//" language-server = { command = "clangd" } indent = { tab-width = 8, unit = " " } [language.debugger] name = "lldb-vscode" transport = "stdio" command = "lldb-vscode" [[language.debugger.templates]] name = "binary" request = "launch" completion = [ { name = "binary", completion = "filename" } ] args = { console = "internalConsole", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" completion = [ "pid" ] args = { console = "internalConsole", pid = "{0}" } [[language.debugger.templates]] name = "gdbserver attach" request = "attach" completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } [[grammar]] name = "c" source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "7175a6dd5fc1cee660dce6fe23f6043d75af424a" }
  • Building tree-sitter languages for Emacs
    20 projects | /r/emacs | 30 Dec 2022
  • treesitter printf format highlighting?
    1 project | /r/neovim | 27 Oct 2021
    There's no way to highlight format specs currently, since the treesitter C grammar doesn't specify them. You could open an issue on the tree-sitter-c repo.
  • Tree-sitter: an incremental parsing system for programming tools
    24 projects | news.ycombinator.com | 22 Feb 2021
    [1] https://github.com/tree-sitter/tree-sitter-c/issues/51

What are some alternatives?

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

difftastic - a structural diff that understands syntax 🟥🟩

csharp-mode - A major-mode for editing C# in emacs

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

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

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

tree-sitter-kotlin - Kotlin grammar for Tree-sitter

SurveyJS: Build JSON-Driven Surveys and Forms with Full Data Control
Add the SurveyJS UI components to your JS app (React/Angular/Vue3). Securely collect and analyze data without sending it to 3rd-party servers. Fully customizable, works with any backend, and ideal for data-heavy apps. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured

Did you know that JavaScript is
the 4th most popular programming language
based on number of references?