# kotlin/kotlin-lsp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kotlin-kotlin-lsp).**

2,930 stars · 63 forks · Kotlin · apache-2.0

## Links

- GitHub: https://github.com/Kotlin/kotlin-lsp
- awesome-repositories: https://awesome-repositories.com/repository/kotlin-kotlin-lsp.md

## Description

kotlin-lsp is a language server implementation that integrates editors with the Kotlin compiler and build tools to provide language intelligence and code analysis. It uses the Language Server Protocol to decouple heavy language processing from the text editor user interface.

The project provides static code analysis to detect issues and provide real-time diagnostics. It enables source code navigation through symbol-index based jumping to definitions and an analysis of how components interact.

Additional capabilities include automated source code formatting, intelligent code completion, and structural code refactoring. The system synchronizes project models and resolves software dependencies by communicating with external build automation tools.

## Tags

### Development Tools & Productivity

- [Language Server Protocols](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocols.md) — Implements the Language Server Protocol to decouple the analysis engine from the text editor.
- [Build System Integrations](https://awesome-repositories.com/f/development-tools-productivity/build-system-integrations.md) — Integrates directly with external build automation tools to synchronize project structure and dependencies. ([source](https://cdn.jsdelivr.net/gh/kotlin/kotlin-lsp@main/README.md))
- [Diagnostic Engines](https://awesome-repositories.com/f/development-tools-productivity/event-driven-engines/diagnostic-engines.md) — Implements a diagnostic engine that leverages the Kotlin compiler to provide real-time errors and warnings.
- [Language Server Protocol Implementations](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocol-implementations.md) — Provides a full LSP implementation to bring intelligence and refactoring capabilities to compatible editors.
- [Build Tool Integrations](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation/build-tool-integrations.md) — Synchronizes internal project models with external build tools to resolve dependencies and classpaths.
- [Code Completion](https://awesome-repositories.com/f/development-tools-productivity/code-completion.md) — Offers intelligent symbol and keyword suggestions during typing to accelerate development. ([source](https://cdn.jsdelivr.net/gh/kotlin/kotlin-lsp@main/README.md))
- [Code Navigators](https://awesome-repositories.com/f/development-tools-productivity/code-navigators.md) — Enables exploration of complex codebases through symbol definitions and call hierarchy analysis. ([source](https://cdn.jsdelivr.net/gh/kotlin/kotlin-lsp@main/README.md))
- [Code Refactoring Tools](https://awesome-repositories.com/f/development-tools-productivity/code-refactoring-tools.md) — Implements structural refactorings such as symbol renaming and import organization. ([source](https://cdn.jsdelivr.net/gh/kotlin/kotlin-lsp@main/README.md))
- [Symbol Indexing](https://awesome-repositories.com/f/development-tools-productivity/symbol-indexing.md) — Maintains symbol indexes to enable rapid navigation to definitions and declarations across the project.

### Programming Languages & Runtimes

- [Language Server Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/language-server-implementations.md) — Connects editors to the Kotlin compiler and build tools as a dedicated language server.
- [Kotlin Extensions](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/kotlin-extensions.md) — Provides advanced navigation capabilities and symbol exploration specifically for Kotlin project structures.

### Software Engineering & Architecture

- [Client-Server Text Editor Architectures](https://awesome-repositories.com/f/software-engineering-architecture/client-server-text-editor-architectures.md) — Employs a client-server architecture to offload heavy language processing from the editor UI.
- [AST-Based Refactorers](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-tools/internal-tree-representations/ast-based-refactorers.md) — Provides structural code modifications by manipulating the abstract syntax tree while preserving logic.

### Testing & Quality Assurance

- [Static Code Analysis](https://awesome-repositories.com/f/testing-quality-assurance/static-code-analysis.md) — Performs static analysis on Kotlin source code to detect issues and provide real-time diagnostics.

### Part of an Awesome List

- [Source Code Formatters](https://awesome-repositories.com/f/awesome-lists/devtools/code-analysis-and-formatting/source-code-formatters.md) — Automatically adjusts source code layout and style to adhere to consistent project rules. ([source](https://cdn.jsdelivr.net/gh/kotlin/kotlin-lsp@main/README.md))
- [Kotlin Formatters](https://awesome-repositories.com/f/awesome-lists/devtools/code-formatting/kotlin-formatters.md) — Provides automated source code formatting to enforce consistent Kotlin coding styles.
