# swiftlang/sourcekit-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/swiftlang-sourcekit-lsp).**

3,871 stars · 376 forks · Swift · Apache-2.0

## Links

- GitHub: https://github.com/swiftlang/sourcekit-lsp
- awesome-repositories: https://awesome-repositories.com/repository/swiftlang-sourcekit-lsp.md

## Description

sourcekit-lsp is a language server protocol implementation and IDE code intelligence backend. It functions as a Swift language server and source code indexer, providing semantic analysis, autocomplete, and navigation features to compatible text editors.

The project integrates directly with the Swift toolchain and SourceKit framework to deliver precise type information. It also leverages Clang-integrated parsing to provide semantic analysis for C-family languages, enabling cross-language navigation across project files.

The server manages source code indexing and symbol lookups while using a file-watching event loop to handle incremental updates. It communicates via a standardized JSON-RPC protocol to provide consistent editor support across different host applications.

## Tags

### Development Tools & Productivity

- [Language Server Protocol Implementations](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocol-implementations.md) — Implements the Language Server Protocol to provide standardized autocomplete and navigation for Swift and C-family languages.
- [Language Servers](https://awesome-repositories.com/f/development-tools-productivity/language-servers.md) — Provides an LSP server implementation that delivers code intelligence and navigation features to compatible editors.
- [Code Intelligence Providers](https://awesome-repositories.com/f/development-tools-productivity/prompt-information-providers/code-intelligence-providers.md) — Provides editors with deep structural understanding of source code to enable advanced navigation and refactoring.
- [Symbol Indexing](https://awesome-repositories.com/f/development-tools-productivity/symbol-indexing.md) — Maintains a persistent map of source code symbols to enable fast navigation and global searches.
- [Cross-Editor Workflows](https://awesome-repositories.com/f/development-tools-productivity/cross-editor-workflows.md) — Ensures a consistent coding experience across different text editors using a shared communication protocol.
- [Filesystem Watchers](https://awesome-repositories.com/f/development-tools-productivity/filesystem-watchers.md) — Uses a file-watching event loop to monitor the filesystem and trigger incremental re-indexing of project files.

### Programming Languages & Runtimes

- [Language Servers](https://awesome-repositories.com/f/programming-languages-runtimes/language-servers.md) — An LSP implementation specifically designed to provide semantic analysis and completion for the Swift programming language.
- [Compiler Toolchain Integrations](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-toolchain-integrations.md) — Interfaces directly with the Swift compiler and SourceKit framework to retrieve precise type information and completion candidates.

### Part of an Awesome List

- [Intelligence Backends](https://awesome-repositories.com/f/awesome-lists/devtools/code-editors-and-ides/intelligence-backends.md) — Functions as a backend service delivering jump-to-definition and autocomplete functionality to compatible editors.
- [IDE and Editor Support](https://awesome-repositories.com/f/awesome-lists/devtools/ide-and-editor-support.md) — Provides code completion and jump-to-definition features to compatible editors via a standardized protocol. ([source](https://cdn.jsdelivr.net/gh/swiftlang/sourcekit-lsp@main/README.md))

### Data & Databases

- [Source Code Indexing](https://awesome-repositories.com/f/data-databases/repository-indexing-pipelines/source-code-indexing.md) — Builds a detailed map of project files to perform fast lookups and cross-language navigation. ([source](https://cdn.jsdelivr.net/gh/swiftlang/sourcekit-lsp@main/README.md))

### Networking & Communication

- [Editor LSP JSON-RPC Clients](https://awesome-repositories.com/f/networking-communication/json-rpc-implementations/editor-lsp-json-rpc-clients.md) — Uses a standardized JSON-RPC protocol to exchange language capabilities and editor events with host processes.

### Software Engineering & Architecture

- [Compiler-Integrated AST Parsing](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-parsing/compiler-integrated-ast-parsing.md) — Leverages the Clang compiler frontend to generate abstract syntax trees for deep semantic analysis of C-family code.
