Skip to content

Repository files navigation

kmp-lsp logo

kmp-lsp

Kotlin Multiplatform Language Server (Kotlin, Java, Swift)

crates.io release build license

A fast, low-memory LSP server for Kotlin, Java, and Swift, written in Rust. Built with tree-sitter — instant startup, no JVM.

kmp-lsp demo

Why kmp-lsp? Full navigation (hover, go-to-definition, completion, rename, semantic tokens) works immediately via an rg fallback and gets faster as the background index builds — instant startup, under 200 MB, no JVM or Gradle import required. Trade-off: syntactic (tree-sitter) resolution, not the full IntelliJ Analysis API. See the full comparison.

Quick install

curl -fsSL https://raw.githubusercontent.com/Hessesian/kmp-lsp/main/install.sh | bash

Installs kmp-lsp and the native JAR indexer sidecar.

Library sources are auto-detected in most cases. Missing hover docs/go-to-def for a dependency? Force-extract them:

kmp-lsp extract-sources

Learn more

Acknowledgements

Superclass hierarchy resolution, this/super qualifier handling, and lambda parameter recognition were inspired by code-compass.nvim by Emmanuel Touzery.

About

Fast, low-memory LSP server for Kotlin and Java, written in Rust

Topics

Resources

Stars

185 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages