/monodevelop-language-server-addin

Language Server Protocol support for MonoDevelop and Visual Studio for Mac

Primary LanguageC#MIT LicenseMIT

Language Server client for MonoDevelop and Visual Studio for Mac

Provides Language Server support for MonoDevelop and Visual Studio for Mac.

API for integrating a language client is based on the Visual Studio Language Server Protocol Client.

Language Server Protocol Features

  • initialize

  • initialized

  • shutdown

  • exit

  • $/cancelRequest

  • window/showMessage

  • window/showMessageRequest

  • window/logMessage

  • telemetry/event

  • client/registerCapability

  • client/unregisterCapability

  • workspace/didChangeConfiguration (Only sent on startup)

  • workspace/didChangeWatchedFiles

  • workspace/symbol

  • workspace/executeCommand

  • workspace/applyEdit

  • textDocument/publishDiagnostics

  • textDocument/didOpen

  • textDocument/didChange (Full and incremental)

  • textDocument/willSave

  • textDocument/willSaveWaitUntil

  • textDocument/didSave

  • textDocument/didClose

  • textDocument/completion

  • completionItem/resolve

  • textDocument/hover

  • textDocument/signatureHelp

  • textDocument/references

  • textDocument/documentHighlight

  • textDocument/documentSymbol

  • textDocument/formatting

  • textDocument/rangeFormatting

  • textDocument/onTypeFormatting

  • textDocument/definition

  • textDocument/codeAction

  • textDocument/codeLens

  • codeLens/resolve

  • textDocument/documentLink

  • documentLink/resolve

  • textDocument/rename

  • Snippets

  • Middleware

    • ILanguageClientCompletionProvider
    • ILanguageClientExecuteCommandProvider
    • ILanguageClientWorkspaceSymbolProvider
  • Connection

  • IContentTypeMetadata

  • CodeRemoteContentDefinition

  • ILanguageClientCustomMessage

  • ILanguageClient

    • ConfigurationSections
    • FilesToWatch
    • InitializationOptions
    • StopAsync
    • StartAsync
    • ActivateAsync
    • OnLoadedAsync
    • OnServerInitializedAsync
    • OnServerInitializeFailedAsync

Example Language Server Clients

  • Bash
  • Dockerfile
  • Java
  • Mock foo language
  • PowerShell
  • SQL
  • Swift
  • TypeScript
  • Yaml