tower-lsp VS tree-sitter

Compare tower-lsp vs tree-sitter and see what are their differences.

tower-lsp

Language Server Protocol implementation written in Rust (by ebkalderon)

tree-sitter

An incremental parsing system for programming tools (by tree-sitter)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
tower-lsp tree-sitter
7 62
875 16,106
- 8.1%
5.3 9.8
25 days ago 2 days ago
Rust Rust
Apache License 2.0 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.

tower-lsp

Posts with mentions or reviews of tower-lsp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-28.
  • What's everyone working on this week (22/2023)?
    14 projects | /r/rust | 28 May 2023
    I am using nom / nom_locate to build the parser side because I've done a handful of other projects with it, and I plan to use tower-lsp to hook up the language server side.
  • State of the Ruby language server (LSP) ecosystem / looking for suggestions
    11 projects | /r/ruby | 2 Oct 2022
    I realize this might not be for everyone, but I'm writing it in Rust using Lib-ruby-parser and tower-lsp: two existing libraries that handle a bunch of the heavy lifting for me. I'm more productive in Rust than with Ruby at this point, despite doing Ruby full time for 15 years, plus I really really don't want to have to deal with a slow LSP--that was the whome impetus for this project. I started in the spring, made a bunch of headway, then backtracked to redo the internals to make it easier to handle monkeypatching, overriding/redefining of methods, etc. across your project.
  • Language Server Protocol
    3 projects | /r/Compilers | 21 Jul 2022
    https://github.com/ebkalderon/tower-lsp is a generalized LSP implementation in a lower-level language (Rust) so you may get a better idea by reading through that repo. It seems that the server opens a TCP socket that the client later connects to, but I'm not really sure.
  • how to make a lsp in rust ?
    8 projects | /r/rust | 20 May 2022
    A LSP is just an api implemented to Microsoft's LSP spec. You can implement that API however you wish but something like tower-lsp can do a lot of the heavy lifting for you.
    8 projects | /r/rust | 20 May 2022
    Mine all use [tower-lsp](https://github.com/ebkalderon/tower-lsp/) for the LSP protocol stuff, and then either [Tree-sitter](https://github.com/tree-sitter/tree-sitter) or [Nom](https://github.com/Geal/nom). If I do another I'll probably try [Chumsky](https://github.com/zesterer/chumsky) which combines some of the advantages of both.
  • tower-lsp 0.16.0 — Lightweight framework for building LSP servers
    2 projects | /r/rust | 11 Mar 2022

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 2024-03-24.

What are some alternatives?

When comparing tower-lsp and tree-sitter you can also consider the following projects:

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

Visual Studio Code - Visual Studio Code

indent-blankline.nvim - Indent guides for Neovim

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

language-server-protocol - Defines a common protocol for language servers.

coc-explorer - 📁 Explorer for coc.nvim

sourcegraph - Code AI platform with Code Search & Cody

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

PHP Parser - A PHP parser written in PHP

new-moon-vscode - New Moon Theme for Visual Studio Code.

Catppuccino.nvim - 🍨 Catppuccin theme for NeoVim [Moved to: https://github.com/catppuccin/nvim]

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