Swiftpack.co - ChimeHQ/LanguageServerProtocol as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by ChimeHQ.
ChimeHQ/LanguageServerProtocol 0.1.2
Swift library for working with LSP
⭐️ 10
🕓 1 week ago
linux macOS iOS
.package(url: "https://github.com/ChimeHQ/LanguageServerProtocol.git", from: "0.1.2")

Github CI

LanguageServerProtocol

This is a Swift library for interacting with Language Server Protocol. It contains type definitions and utilities useful for both server- and client-side projects.

This project was derived from, and still depends on SwiftLSPClient. That library mixes both the underlying protocol handling with a client-level abstraction. The ultimate goal of this project is to provide a complete set of types for working with LSP.

However, there's a lot in SwiftLSPClient, so a full migration is going to take a while. In the mean time, you should assume that SwiftLSPClient is soft-deprecated. New projects shouldn't use it. A soon-to-be released Swift library that focuses on a higher-level client implementations is forthcoming.

Supported Features

The LSP specification is large, and this library currently does not implement it all. The intention is to support the 3.x specification, but be as backwards-compatible as possible with pre-3.0 servers.

Feature Supported
window/showMessage
window/showMessageRequest
window/showDocument -
window/logMessage
window/workDoneProgress/create -
window/workDoneProgress/cancel -
$/cancelRequest -
$/progress -
initialize
shutdown
exit
telemetry/event -
$/logTrace -
$/setTrace -
client/registerCapability
client/unregisterCapability
workspace/workspaceFolders -
workspace/didChangeWorkspaceFolders -
workspace/didChangeConfiguration -
workspace/configuration
workspace/didChangeWatchedFiles -
workspace/symbol -
workspace/executeCommand -
workspace/applyEdit -
workspace/willCreateFiles -
workspace/didCreateFiles -
workspace/willRenameFiles -
workspace/didRenameFiles -
workspace/willDeleteFiles -
workspace/didDeleteFiles -
textDocument/didOpen
textDocument/didChange
textDocument/willSave
textDocument/willSaveWaitUntil
textDocument/didSave
textDocument/didClose
textDocument/publishDiagnostics
textDocument/completion
completionItem/resolve -
textDocument/hover
textDocument/signatureHelp
textDocument/declaration
textDocument/definition
textDocument/typeDefinition
textDocument/implementation
textDocument/references
textDocument/documentHighlight -
textDocument/documentSymbol
textDocument/codeAction
codeLens/resolve -
textDocument/codeLens -
workspace/codeLens/refresh -
textDocument/documentLink -
documentLink/resolve -
textDocument/documentColor -
textDocument/colorPresentation -
textDocument/formatting
textDocument/rangeFormatting
textDocument/onTypeFormatting
textDocument/rename
textDocument/prepareRename
textDocument/foldingRange
textDocument/selectionRange -
textDocument/prepareCallHierarchy -
textDocument/prepareCallHierarchy -
callHierarchy/incomingCalls -
callHierarchy/outgoingCalls -
textDocument/semanticTokens/full
textDocument/semanticTokens/full/delta
textDocument/semanticTokens/range
workspace/semanticTokens/refresh
textDocument/linkedEditingRange -
textDocument/moniker -

Integration

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/ChimeHQ/LanguageServerProtocol")
]

Suggestions or Feedback

We'd love to hear from you! Get in touch via twitter, an issue, or a pull request.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

GitHub

link
Stars: 10
Last commit: 3 days ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

v0.1.2
1 week ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics