tower-lsp VS kak-lsp

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


Language Server Protocol implementation written in Rust (by ebkalderon)


Kakoune Language Server Protocol Client (by ul)
Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
tower-lsp kak-lsp
7 9
571 516
- 1.0%
3.2 9.0
about 2 months ago 7 days ago
Rust Rust
Apache License 2.0 The Unlicense
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.


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 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]( for the LSP protocol stuff, and then either [Tree-sitter]( or [Nom]( If I do another I'll probably try [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


Posts with mentions or reviews of kak-lsp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-22.
  • Which editor do you use for your Go coding?
    16 projects | /r/golang | 22 Jun 2022
    Kakoune with LSP (gopls).
  • Kakoune + Julia
    2 projects | /r/kakoune | 27 Oct 2021
    You could dive into installing kak-lsp, which will provide the code intelligence features you want. Kakoune doesn't do windowing on it's own, so your going to need to rely on something like tmux or a terminal emulator that does similar, such as wezterm, or even a tiling window manager (which is what is being used in the video). Kakoune really needs a lot of time invested to configure well though.
  • Massive preludes: why?
    2 projects | /r/rust | 12 Oct 2021
    Why do you need vscode? Kakoune supports code actions, so this should work in the editor with the best editing model ever. See lsp-code-actions from
  • kak-lsp and godot engine
    2 projects | /r/kakoune | 30 May 2021
    If you're having problems with these capabilities, try to look at the kak-lsp debug output:
  • kak-lsp + terraform-ls
    2 projects | /r/kakoune | 18 Feb 2021
    Have you enabled kak-lsp?
    2 projects | /r/kakoune | 18 Feb 2021
    kak-lsp doesn't print to *debug* under normal operation. If you want to check on kak-lsp, enable verbose logging as described here and tail -f the log file.

What are some alternatives?

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

gdscript.kak - GDScript syntax highlighting for Kakoune

kakoune-doas-write - Fork of kakoune-sudo-write to use doas instead.

tower - async fn(Request) -> Result<Response, Error>

age-plugin-yubikey - YubiKey plugin for age

rust-analyzer - A Rust compiler front-end for IDEs

react-relay - Relay is a JavaScript framework for building data-driven React applications.

cargo-limit - Cargo with less noise: warnings are skipped until errors are fixed, Neovim integration, etc.

Rust Language Server - Repository for the Rust Language Server (aka RLS)

url-mapper-rs - A simple URL Mapper service built using Rust

kakoune-git-mode - Kakoune plugin providing improved git interaction

nih-plug - Rust VST3 and CLAP plugin framework and plugins - because everything is better when you do it yourself

zeta-note - Markdown LSP server for easy note-taking with cross-references and diagnostics.