coc-ccls VS tree-sitter

Compare coc-ccls vs tree-sitter and see what are their differences.

coc-ccls

CCLS (C/C++) extension for coc.nvim (by Maxattax97)

tree-sitter

An incremental parsing system for programming tools (by tree-sitter)
SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Add the SurveyJS white-label form builder to your JavaScript app (React/Angular/Vue3). Build complex JSON forms without coding. Fully customizable, works with any backend, perfect for data-heavy apps. Learn more.
surveyjs.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
coc-ccls tree-sitter
53 72
24 20,605
- 2.8%
10.0 9.8
over 5 years ago 5 days ago
TypeScript Rust
- 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.

coc-ccls

Posts with mentions or reviews of coc-ccls. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-30.
  • Using CoC inlay hints
    1 project | /r/neovim | 11 Nov 2023
    I just did a fresh reinstall of CoC, on a newer version of Neovim. I'm now seeing something I hadn't seen before, which CoC calls "inlay hints". They look like this:
  • NIR: Nim Intermediate Representation
    9 projects | news.ycombinator.com | 30 Sep 2023
    As recommended by michaelsbradley below, I installed https://github.com/nim-lang/langserver. I'm using coc.nvim (https://github.com/neoclide/coc.nvim) so I followed the instructions here from nim langserver https://github.com/nim-lang/langserver#vimneovim and seems to be working well!
  • Perl::LanguageServer in Visual Studio. Should jumping to ambigious functions work?
    3 projects | /r/perl | 1 Jul 2023
    Actually, I'm maintaining coc-perl (https://github.com/bmeneg/coc-perl), which enables the use of Perl LSP extension for vcode on vim/neovim using the CoC (https://github.com/neoclide/coc.nvim) backend. But it's completely on top of Perl::LanguageServer.
  • How to configure vim like an IDE
    44 projects | /r/vim | 27 Jun 2023
    For vim specifically, I've been using coc.nvim, which works pretty well for my needs, and I know its quite popular. Another fairly popular one is YouCompleteMe, which I had taken a look at for some other languages; but ended up just using coc as I can't justify using YCM once a year (if that) -- too much "headache" for not a lot of use, you know?
  • Auto-completion problems for terraform
    9 projects | /r/neovim | 24 May 2023
    Plug 'https://github.com/neoclide/coc.nvim' " Auto Completion
  • I like Tabasco.
    5 projects | /r/linuxmasterrace | 6 May 2023
    I do think VSCode is a great tool and I recommend it frequently to people, but I still want to set the record straight here. Yes, vim is obviously limited in the sense that as a CLI app it doesn't draw it's own PDF or HTML windows, that's fair. But it can remote control your favorite PDF viewer or browser for roughly the same functionality. I'm currently writing my thesis using vimtex and it's quite smooth. And all the other stuff you mention is implemented quite competently by various plugins like vim-fugitive, coc.nvim, vimspector and copilot.vim.
  • plugins for explorable interface and identifier highlighting
    3 projects | /r/vim | 24 Feb 2023
    Sounds like you want vim-which-key and coc.nvim.
  • How to setup auto completion, etc. using LSP and stuff without bloating everything with a plugin manager?
    11 projects | /r/neovim | 10 Feb 2023
    Another option is to just download https://github.com/neoclide/coc.nvim Which is basically a one stop shop for completion, and it's pretty fast, it just uses nodejs instead of built in nvim lua functions.
  • How to survive without multiple cursors in vim
    4 projects | dev.to | 4 Feb 2023
    coc.nvim
  • How I set up Vim for writing LaTex, Python, C and C++?
    4 projects | /r/vim | 27 Jan 2023
    dont over copy and paste example .vimrc, keep it simple and grow tooling as you use. for linting and code completion : https://github.com/neoclide/coc.nvim (easy to add languages)

tree-sitter

Posts with mentions or reviews of tree-sitter. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-05-06.
  • Decoding Tree-sitter Playground Output For Fun
    1 project | dev.to | 9 May 2025
    Paste this into the Playground (try it here). You’ll get something like:
  • Diving into Tree-Sitter: Parsing Code with Python Like a Pro
    2 projects | dev.to | 6 May 2025
    This code sets up a parser for Python code. The tree-sitter-python package provides a precompiled grammar, so no manual compilation is needed. If you’re targeting another language, check for its grammar package on Tree-Sitter Wiki.
  • Making Sense of tree-sitter's C API
    1 project | dev.to | 5 May 2025
    The API is defined in tree_sitter/api.h (available on GitHub). It revolves around a few key concepts: parsers, trees, nodes, and queries. Let’s dive into the essentials.
  • Want AI to Actually Understand Your Code? This Tool Says It Can Help
    2 projects | dev.to | 23 Mar 2025
    Tree-sitter is a parser generator tool and an incremental parsing library, it is available in Rust 🦀 - GitHub. CocoIndex has built-in Rust integration with Tree-sitter to efficiently parse code and extract syntax trees for various programming languages.
  • Emacs Tree-sitter custom highlighting
    2 projects | news.ycombinator.com | 2 Mar 2025
    I think the main problem is that highligthing framework used by tree-sitter (https://github.com/tree-sitter/tree-sitter/tree/master/highl...) is not easily pluggable into emacs font-lock-mode.
  • Highlighting Parts of Lua as Bash
    1 project | news.ycombinator.com | 28 Jan 2025
    Although I am not certain if tree-sitter allows matching on comments, but https://github.com/tree-sitter/tree-sitter/issues/1138 seems to imply that it does
  • I wrote my own "proper" programming language
    3 projects | news.ycombinator.com | 24 Jan 2025
    Hard agree. Even without going deep on a "serious language" there's a universe of DSLs that's mostly unexplored.

    Debuggers are the outlier in your group but there's not exactly a void for those other wishes. As just one slice, building a tree-sitter [1] grammar gives the basis for good editor integration [2], formatters [3], structural diff [4] and other dev tools. Similarly if you're expressing some form of program, mapping to LLVM IR connects your creation with a fairly extensive compiler toolchain.

    Language agnostic tooling exists, but there still needs to be some abstraction layer.

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

    [2]: https://zed.dev/blog/syntax-aware-editing

    [3]: https://topiary.tweag.io

    [4]: https://difftastic.wilfred.me.uk

  • Tbsp – treesitter-based source processing language
    6 projects | news.ycombinator.com | 1 Sep 2024
    For those that want to explore the grammars listed at https://github.com/tree-sitter/tree-sitter/wiki/List-of-pars... in a more friendly railroad diagram format I made https://mingodad.github.io/plgh/json2ebnf.html that reads the "src/grammar.json" and try it's best to generate an EBNF understood by (IPV6) https://www.bottlecaps.de/rr/ui or (IPV4) https://rr.red-dove.com/ui where we get a nice navigable railroad diagram (see https://github.com/GuntherRademacher/rr for offline usage).
  • Pragtical: The practical and pragmatic code editor
    8 projects | news.ycombinator.com | 20 Aug 2024
    https://github.com/pragtical/plugins/commit/54096a6461f5c034... makes me long for The One Grammar To Rule Them ™

    I thought for a while that TextMate bundles[1] were that, especially since JetBrains[2], Linguist[3] and VSCode[4] honor them. However, in the spirit of "the good thing about standards ..." highlight.js does[5] almost the same thing that Pragtical does which makes me feel even worse

    I had high hopes for Tree-Sitter since it seems to have really won mindshare, but the idea of having an executable grammar spec[6] is ... well, no wonder it hasn't caught on outside of that specific ecosystem

    1: https://github.com/rspec/rspec.tmbundle/blob/1.1.12/Syntaxes...

    2: https://github.com/JetBrains/intellij-community/blob/idea/24...

    3: https://github.com/github-linguist/linguist/blob/v7.30.0/lib...

    4: https://github.com/microsoft/vscode-textmate

    5: https://github.com/highlightjs/highlight.js/blob/11.10.0/src...

    6: https://github.com/tree-sitter/tree-sitter/blob/v0.22.6/test...

  • Rust for Filesystems
    4 projects | news.ycombinator.com | 15 Jul 2024
    If you like to see some examples of C bindings:

    https://github.com/tree-sitter/tree-sitter/blob/25c718918084...

What are some alternatives?

When comparing coc-ccls and tree-sitter you can also consider the following projects:

awesome-vscode - 🎨 A curated list of delightful VS Code packages and resources.

PHP Parser - A PHP parser written in PHP

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

sourcegraph - Code AI platform with Code Search & Cody

coc-diagnostic - diagnostic-languageserver extension for coc.nvim

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Add the SurveyJS white-label form builder to your JavaScript app (React/Angular/Vue3). Build complex JSON forms without coding. Fully customizable, works with any backend, perfect for data-heavy apps. Learn more.
surveyjs.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?