swiftlang/swift-tools-protocols

LSP and BSP support types used by Swift toolchain

30

stars

4,192

commits

Swift

primary language

Sep 11, 2026

updated

Browse cluster: Swift Build Systems & Tools

README

swift-tools-protocols

swift-tools-protocols provides basic model types and a transport implementation for the Language Server Protocol (LSP) and Build Server Protocol (BSP).

This package is intended to be a reusable component suitable for adoption by other projects as a semantically versioned dependency. Clients can build on this foundation to implement a client or server for either protocol, like SourceKit-LSP or a BSP which integrates with it. The implementation is optimized for the Swift toolchain's use cases rather than attempting to serve as a canonical implenentation of LSP or BSP in Swift.

Getting Started

Build the package using swift build and run the unit tests using swift test.

Reporting Issues

If you should hit any issues while using the package, we appreciate bug reports on GitHub Issue.

Contributing

If you want to contribute, see CONTRIBUTING.md for more information.

Contributors

(top 30 of 139)

ahoppen

2,412 commits

benlangmuir

627 commits

compnerd

110 commits

bnbarham

81 commits

swiftlang/swift-tools-protocols

LSP and BSP support types used by Swift toolchain

30

stars

4,192

commits

Swift

primary language

Sep 11, 2026

updated

Browse cluster: Swift Build Systems & Tools

README

swift-tools-protocols

swift-tools-protocols provides basic model types and a transport implementation for the Language Server Protocol (LSP) and Build Server Protocol (BSP).

This package is intended to be a reusable component suitable for adoption by other projects as a semantically versioned dependency. Clients can build on this foundation to implement a client or server for either protocol, like SourceKit-LSP or a BSP which integrates with it. The implementation is optimized for the Swift toolchain's use cases rather than attempting to serve as a canonical implenentation of LSP or BSP in Swift.

Getting Started

Build the package using swift build and run the unit tests using swift test.

Reporting Issues

If you should hit any issues while using the package, we appreciate bug reports on GitHub Issue.

Contributing

If you want to contribute, see CONTRIBUTING.md for more information.

Contributors

(top 30 of 139)

ahoppen

2,412 commits

benlangmuir

627 commits

compnerd

110 commits

bnbarham

81 commits

Languages

Swift

98.0%

CMake

2.0%