lsp


Package info
Description

Implementation of the language server protocol for the Clean programming language.

Readme
# Installation ## Neovim The configuration below assumes you have neovim 0.5 or greater with lsp-config installed. Simply add the following to your vimrc: ```lua lua << EOF local lspconfig = require'lspconfig' local configs = require'lspconfig/configs' if not lspconfig.example_lsp then configs.example_lsp = { default_config = { cmd = {'PATH_TO_YOUR_EXAMPLE_BINARY'}; filetypes = {'clean'}; root_dir = function(fname) return lspconfig.util.find_git_ancestor(fname) or vim.loop.os_homedir() end; settings = {}; }; } end lspconfig.example_lsp.setup{} EOF ```
Changelog
# Changelog ## 5.0.0 - Feature: add work-done progress notifications that can be sent while processing requests. - Feature: add `window/workDoneProgress/create` requests for server-initiated progress. - Change: pass the io through all handlers and callbacks to allow notifications to be sent during a request. - Change: change the signature of `onInitialized`, `onRequest` and `onNotification` to support requests and responses from notifications. ## 4.0.0 - Feature: add support for completions. - Change: add `completionProvider` field to `ServerCapabilities`. ## 3.0.0 - Feature: add support for code lenses. - Feature: allow language servers to declare a custom server information instead of hard-coding `Eastwood`. - Feature: add support for pull diagnostics (see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_pullDiagnostics). - Feature: add support for change document synchronisation (see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization). - Feature: add support for commands (see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_executeCommand). - Feature: add support for workspace edits (see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_applyEdit). - Feature: support sending requests from the server back to the client before resolving a request from the client. - Feature: allow the state of an LSP implementation to be unique. - Change: add `codeLensProvider` field to `ServerCapabilities`. - Change: add `executeCommandProvider` field to `ServerCapabilities`. - Change: add `diagnosticProvider` field to `ServerCapabilities`. - Chore: move `:: Hover`, `::HoverParams`, `:: DeclarationParams` and `:: DefinitionParams` from Eastwood to Clean-LSP. - Chore: merge a number of related modules together. - Chore: improve inline documentation by adding links to relevant LSP documentation. ## 2.0.0 - Feature: add `hoverProvider` option to `ServerCapabilities`. - Feature: add `:: DidChangeWatchedFilesParams` to support `workspace/didChangeWatchedFiles` notification. - Feature: add `onInitialized` to `LanguageServer` to support registering dynamic capabilities. - Feature: add `:: DidChangeWatchedFilesRegistrationOptions` to support registering the `didChangeWatchedFiles` capability. - Changed: `deserialize` now returns `?None` instead of crashing when parsing a message failed. - Chore: accept base v4. ### 1.2.1 - Fix: add required `result` key to shutdown response message. ### 1.2.0 - Feature: add 'notificationMessagePublishDiagnostics' utility function for publishing diagnostics. ### 1.1.0 - Feature: add `==` instance for `:: NotificationMessage`. #### 1.0.3 - Chore: accept `base` `3`. #### 1.0.2 - Chore: update to base `2` and latest version of other packages; remove dependency on clean-platform. #### 1.0.1 - Fix: add src/ as src in nitrile.yml to make sure modules are actually packaged. ## 1.0.0 - Broken version.
Versions