SourceKit-LSP is a Language Server Protocol implementation for Swift and C-based languages that brings intelligent editor functionality to any editor supporting LSP.
The tool solves the problem of providing consistent, high-fidelity language support across different editors for Swift and C-based development. It builds on top of sourcekitd and clangd to deliver code-completion, jump-to-definition, and other editor features. The implementation includes a powerful source code index and supports cross-language projects. It works with Swift Package Manager projects and projects that generate compile_commands.json files, such as CMake-based builds.
Developers should choose this tool if they work with Swift or C-based languages and want LSP-based editor support beyond Xcode. It suits any project using Swift Package Manager or CMake. The tool comes bundled with Xcode and is included in Swift toolchains from swift.org, making it readily available. One important limitation is that the tool does not update its global index or build Swift modules in the background, so cross-module and global functionality becomes limited if the project has not been built recently. An experimental background indexing feature is available to address this. Projects requiring additional arguments passed to swift build, particularly embedded projects, need explicit configuration as documented in the repository.
The project maintains active issue tracking with a structured bug reporting process. The repository includes comprehensive documentation covering setup, configuration for embedded projects, and experimental features. Contribution guidelines are documented for developers interested in extending the tool.