From 929a10b9abf13d0f3bff4f31297303847c9e7c2b Mon Sep 17 00:00:00 2001 From: azerr Date: Sat, 2 Dec 2023 14:33:19 +0100 Subject: [PATCH] docs: Getting started documentation Fixes #24 Signed-off-by: azerr --- README.md | 19 +- docs/DeveloperGuide.md | 244 ++++++++++++++++++ docs/LSPSupport.md | 196 ++++++++++++++ docs/UserGuide.md | 26 ++ docs/images/LSPConsoleActions.png | Bin 0 -> 50919 bytes docs/images/LSPConsoleSettings.png | Bin 0 -> 30545 bytes ...ings.png => LanguageServerPreferences.png} | Bin docs/images/MyLanguageServerInLSPConsole.png | Bin 0 -> 11003 bytes .../lsp-support/textDocument_codeLens.png | Bin 0 -> 18902 bytes .../lsp-support/textDocument_completion.png | Bin 0 -> 27277 bytes .../textDocument_documentHighlight.png | Bin 0 -> 18211 bytes .../lsp-support/textDocument_documentLink.png | Bin 0 -> 8320 bytes .../images/lsp-support/textDocument_hover.png | Bin 0 -> 16190 bytes .../lsp-support/textDocument_inlayHint.png | Bin 0 -> 9643 bytes .../textDocument_publishDiagnostics.png | Bin 0 -> 20713 bytes src/main/resources/META-INF/plugin.xml | 24 +- 16 files changed, 498 insertions(+), 11 deletions(-) create mode 100644 docs/DeveloperGuide.md create mode 100644 docs/LSPSupport.md create mode 100644 docs/UserGuide.md create mode 100644 docs/images/LSPConsoleActions.png create mode 100644 docs/images/LSPConsoleSettings.png rename docs/images/{LanguageServerSettings.png => LanguageServerPreferences.png} (100%) create mode 100644 docs/images/MyLanguageServerInLSPConsole.png create mode 100644 docs/images/lsp-support/textDocument_codeLens.png create mode 100644 docs/images/lsp-support/textDocument_completion.png create mode 100644 docs/images/lsp-support/textDocument_documentHighlight.png create mode 100644 docs/images/lsp-support/textDocument_documentLink.png create mode 100644 docs/images/lsp-support/textDocument_hover.png create mode 100644 docs/images/lsp-support/textDocument_inlayHint.png create mode 100644 docs/images/lsp-support/textDocument_publishDiagnostics.png diff --git a/README.md b/README.md index c7fd18bff..643e9decd 100644 --- a/README.md +++ b/README.md @@ -19,15 +19,22 @@ It currently doesn't provide any useful functionality on its own, but is instead LSP4IJ provides: * Language server `extension points` to add any language server: - * `com.redhat.devtools.lsp4ij.server` extension point to define a language server. - * `com.redhat.devtools.lsp4ij.languageMapping` to associate an Intellij language with a language server definition. -* an `LSP Consoles view` to tracks LSP requests, responses and notifications in a console: + * [com.redhat.devtools.lsp4ij.server](./docs/DeveloperGuide.md#declare-server-with-extension-point) extension point to define a language server. + * [com.redhat.devtools.lsp4ij.languageMapping](./docs/DeveloperGuide.md#declare-language-mapping-with-extension-point) to associate an IntelliJ language with a language server definition. +* an [LSP Consoles view](./docs/UserGuide.md#lsp-console) to tracks LSP requests, responses and notifications in a console: -![LSP console](https://github.com/redhat-developer/lsp4ij/blob/HEAD/docs/images/LSPConsole.png?raw=true) +![LSP console](./docs/images/LSPConsole.png) -* a `Language Servers settings page` to configure the LSP trace level, the debug port to use to debug language server: +* a [Language Servers preferences page](./docs/UserGuide.md#language-servers-preferences) to configure the LSP trace level, the debug port to use to debug language server: + +![Language Server preferences](./docs/images/LanguageServerPreferences.png) + +You can start with: + + * [Developer guide](./docs/DeveloperGuide.md) which explains step by step how to integrate a language server in LSP4J in an external IntelliJ plugin. + * [User guide](./docs/UserGuide.md) which explains how to use LSP console and Language server preferences. + * [LSP support](./docs/LSPSupport.md) which explains the LSP support. -![Language Server settings](https://github.com/redhat-developer/lsp4ij/blob/HEAD/docs/images/LanguageServerSettings.png?raw=true) ## Who is using LSP4IJ? diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md new file mode 100644 index 000000000..c30841946 --- /dev/null +++ b/docs/DeveloperGuide.md @@ -0,0 +1,244 @@ +# Developer guide + +This section explains step by step how to add your own LSP language server in your IntelliJ plugin. + +## Reference LSP4IJ + +### plugin.xml + +The first step is to reference LSP4IJ. LSP4IJ uses `com.redhat.devtools.lsp4ij` as plugin Id. + +You need [to declare dependency in your plugin.xml](https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html#3-dependency-declaration-in-pluginxml) like this: + +```xml + + ... + + com.redhat.devtools.lsp4ij + + ... + +``` + +### Exclude all LSP4J dependencies + +LSP4IJ depends on [Eclipse LSP4J](https://github.com/eclipse-lsp4j/lsp4j) (Java binding for the [Language Server Protocol](https://microsoft.github.io/language-server-protocol) and the [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol).). It uses a given version of LSPJ and their classes are loaded in the LSP4IJ plugin class loader. + +Your IntelliJ Plugin should use `the same LSP4J classes than LSP4IJ` to avoid some `ClassCastException` errors. To do that you need to `exclude all LSP4J dependencies` from your plugin. + +Here a sample used in [Quarkus Tools](https://github.com/redhat-developer/intellij-quarkus) in [build.gradle.kts](https://github.com/redhat-developer/intellij-quarkus/blob/main/build.gradle.kts) to exclude LSP4J dependency from the [Qute Language Server](https://github.com/redhat-developer/quarkus-ls/tree/master/qute.ls) which have a dependency to LSP4J: + +``` +implementation("com.redhat.microprofile:com.redhat.qute.ls:0.17.0) { + exclude("org.eclipse.lsp4j") +} +``` + +## Declare server + + +### StreamConnectionProvider Implementation + +You need to implement the [StreamConnectionProvider](https://github.com/redhat-developer/lsp4ij/blob/main/src/main/java/com/redhat/devtools/lsp4ij/server/StreamConnectionProvider.java) API which manages: + + * start of your language server + * returns the input/error stream of LSP requests, responses, notifications. + +Generally, the language server is started with a process by using a runtime like Java, NodeJS, etc. In this case you need to extend [ProcessStreamConnectionProvider](https://github.com/redhat-developer/lsp4ij/blob/main/src/main/java/com/redhat/devtools/lsp4ij/server/ProcessStreamConnectionProvider.java) + +Here a basic sample which starts the `path/to/my/language/server/main.js` language server written in JavaScript with NodeJS runtime "path/to/nodejs/node.exe": + +```java +package my.language.server; + +import com.redhat.devtools.lsp4ij.server.ProcessStreamConnectionProvider; + +import java.util.Arrays; +import java.util.List; + +public class MyLanguageServer extends ProcessStreamConnectionProvider { + + public MyLanguageServer() { + List commands = Arrays.asList("path/to/nodejs/node.exe", "path/to/my/language/server/main.js"); + super.setCommands(commands); + } +} +``` + +If your language server is written in Java, to build the command, you can use [JavaProcessCommandBuilder](https://github.com/redhat-developer/lsp4ij/blob/main/src/main/java/com/redhat/devtools/lsp4ij/server/JavaProcessCommandBuilder.java): + +```java +package my.language.server; + +import com.intellij.openapi.project.Project; +import com.redhat.devtools.lsp4ij.server.JavaProcessCommandBuilder; +import com.redhat.devtools.lsp4ij.server.ProcessStreamConnectionProvider; + +import java.util.Arrays; +import java.util.List; + +public class MyLanguageServer extends ProcessStreamConnectionProvider { + + public MyLanguageServer(Project project) { + List commands = new JavaProcessCommandBuilder(project, "myLanguageServerId") + .setJar("path/to/my/language/server/server.jar") + .create(); + super.setCommands(commands); + } +} +``` + +This builder takes care of filling command with Java runtime and generate the command with debug if the settings of the language server `myLanguageServerId` defines a debug port. + +You can see a full sample with [QuteServer](https://github.com/redhat-developer/intellij-quarkus/blob/main/src/main/java/com/redhat/devtools/intellij/qute/lsp/QuteServer.java) + +### LanguageClientImpl + +It is not required but you can override the [LanguageClientImpl](https://github.com/redhat-developer/lsp4ij/blob/main/src/main/java/com/redhat/devtools/lsp4ij/client/LanguageClientImpl.java) to, for instance: + + * add some IJ listeners when language client is created. + * override some LSP methods. + +```java +package my.language.server; + +import com.intellij.openapi.project.Project; +import com.redhat.devtools.lsp4ij.client.LanguageClientImpl; + +public class MyLanguageClient extends LanguageClientImpl { + public MyLanguageClient(Project project) { + super(project); + } +} +``` + +If your language server manages custom LSP requests, it is advised to extend [IndexAwareLanguageClient](https://github.com/redhat-developer/lsp4ij/blob/main/src/main/java/com/redhat/devtools/lsp4ij/client/IndexAwareLanguageClient.java) + +You can see a full sample with [QuteLanguageClient](https://github.com/redhat-developer/intellij-quarkus/blob/main/src/main/java/com/redhat/devtools/intellij/qute/lsp/QuteLanguageClient.java) + +## Declare server with extension point + +The last step is to declare the server in your plugin.xml with `com.redhat.devtools.lsp4ij.server` extension point +to use your `my.language.server.MyLanguageServer` and `my.language.server.MyLanguageClient`: + +```xml + + + + + + + + + + +``` + +Once the declaration is done, your server should appear in the LSP console: + +![My LanguageServer in LSP Console](./images/MyLanguageServerInLSPConsole.png) + +## Declare language mapping with extension point + +Once the server is defined, you need to associate an IntelliJ language with the `server` defined by the id attribute +with the `com.redhat.devtools.lsp4ij.languageMapping` extension point. + +Her is sample snippet to associate the `XML` language with the `myLanguageServerId` server: + +```xml + + + + + + + +``` + +If the language check is not enough, you can implement a custom [DocumentMatcher](https://github.com/redhat-developer/lsp4ij/blob/main/src/main/java/com/redhat/devtools/lsp4ij/DocumentMatcher.java). +For instance your language server could be mapped to the `Java` language, and you could implement a DocumentMatcher +to check if the module containing the file contains certain Java classes in its classpath. + +The DocumentMatcher is executed in a non blocking read action. + +A document matcher looks like this: + +```java +package my.language.server; + +import com.intellij.openapi.project.Project; +import com.intellij.openapi.vfs.VirtualFile; +import com.redhat.devtools.lsp4ij.AbstractDocumentMatcher; +import org.jetbrains.annotations.NotNull; + +public class MyDocumentMatcher extends AbstractDocumentMatcher { + + @Override + public boolean match(@NotNull VirtualFile virtualFile, @NotNull Project project) { + return true; + } +} +``` + +and it must be registered as language mapping, with the `documentMatcher` attribute: + +```xml + + + + + + + +``` + +## Add specific IJ features + +When it is possible, LSP4IJ declare the IJ feature with `any` language. + +For instance `textDocument/publishDiagnostics` is managed with `externalAnnotator` in LSP4IJ +with an empty language attribute, in order to support all languages: + +```xml + + +``` + +Some LSP features (Hover, Inlay Hints, CodeLens) have to be mapped specifically to your language, in your plugin.xml: + + * `textDocument/hover`: + +```xml + +``` + + * `textDocument/codeLens`: + +```xml + +``` + + * `textDocument/inlayHint`: + +```xml + +``` \ No newline at end of file diff --git a/docs/LSPSupport.md b/docs/LSPSupport.md new file mode 100644 index 000000000..c614c1202 --- /dev/null +++ b/docs/LSPSupport.md @@ -0,0 +1,196 @@ +# LSP support + +As `LSP4IJ` doesn't implement full specification of LSP, this section list the LSP implementation for IntelliJ + +## Text Document Synchronization + +Here the `LSP4IJ` support for [Text Document Synchronization](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization): + +### Implemented + + * [textDocument/didOpen](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didOpen). + * [textDocument/didChange](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didChange). + * [textDocument/didClose](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didClose). + * [textDocument/didSave](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didSave). + +### To implement... + + * [textDocument/willSave](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_willSave). + * [textDocument/willSaveWaitUntil](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_willSaveWaitUntil). + * [textDocument/didRename](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didRename). + * [textDocument/didSave](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_didSave). + +Notebook is not supported. + +## Language Features + +Here the `LSP4IJ` support for [Language Features]( https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#languageFeatures) + +### Implemented + +#### Go to Definition + +[textDocument/definition](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_definition) is implemented with +`gotoDeclarationHandler` extension point. As this extension point supports `any` language, it works out of the box. + +#### Document Highlight + +[textDocument/documentHighlight](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentHighlight) is implemented with +`highlightUsagesHandlerFactory` extension point. As this extension point supports `any` language, it works out of the box. + +Here a sample with `Qute language server` which highlights item variables: + +![textDocument/documentHighlight](./images/lsp-support/textDocument_documentHighlight.png) + +#### Document Link + +[textDocument/documentLink](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentLink) is implemented with: + + * `externalAnnotator` extension point to display documentLink with hyperlink renderer. + * `gotoDeclarationHandler` extension point to open the file of the documentLink. + +As those extension points support `any` language, it works out of the box. + +Here a sample with `Qute language server` which displays include with hyperlink renderer (Ctrl+Click opens the document link): + +![textDocument/documentLink](./images/lsp-support/textDocument_documentLink.png) + +#### Hover + +[textDocument/hover](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_hover) is implemented with `lang.documentationProvider` extension point. As this extension point doesn't support `any` language, you need to declare the support in your `plugin.xml`: + +```xml + +``` + +Here a sample with `Qute language server` which hover include section to show documentation: + +![textDocument/hover](./images/lsp-support/textDocument_hover.png) + +#### CodeLens + +[textDocument/codeLens](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeLens) is implemented with `codeInsight.inlayProvider` extension point. As this extension point doesn't support `any` language, you need to declare the support in your `plugin.xml`: + +```xml + +``` + +Here a sample with `Qute language server` which shows REST services URL with codeLens: + +![textDocument/codeLens](./images/lsp-support/textDocument_codeLens.png) + +#### InlayHint + +[textDocument/inlayHint](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_inlayHint) is implemented with `codeInsight.inlayProvider` extension point. As this extension point doesn't support `any` language, you need to declare the support in your `plugin.xml`: + +```xml + +``` + +Here a sample with `Qute language server` which shows Java type of parameter as inlay hint: + +![textDocument/inlayHint](./images/lsp-support/textDocument_inlayHint.png) + +#### Completion Proposals + +[textDocument/completion](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_completion) is implemented with +`completion.contributor` extension point. As this extension point supports `any` language, it works out of the box. + +Here a sample with `Qute language server` which shows completion for methods: + +![textDocument/completion](./images/lsp-support/textDocument_completion.png) + +The [completionItem/resolve](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItem_resolve) is implemented too. + +#### Publish Diagnostics + +[textDocument/publishDiagnostics](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_publishDiagnostics) is implemented with `externalAnnotator` extension point. As this extension point supports `any` language, it works out of the box. + +Here a sample with `Qute language server` which reports errors: + +![textDocument/publishDiagnostics](./images/lsp-support/textDocument_publishDiagnostics.png) + +#### Code Action + + * [textDocument/codeAction](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeAction) is implemented. + * [codeAction/resolve](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeAction_resolve) is implemented. + +### To implement... + + * [textDocument/declaration](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_declaration). + * [textDocument/typeDefinition](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_typeDefinition). + * [textDocument/implementation](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_implementation). + * [textDocument/references](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_references). + * [textDocument/prepareCallHierarchy](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_prepareCallHierarchy). + * [textDocument/incomingCalls](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#callHierarchy_incomingCalls). + * [textDocument/outgoingCalls](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#callHierarchy_outgoingCalls). + * [textDocument/prepareTypeHierarchy](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_prepareTypeHierarchy). + * [typeHierarchy/supertypes](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#typeHierarchy_supertypes). + * [documentLink/resolve](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#documentLink_resolve). + * [codeLens/refresh](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeLens_refresh). + * [textDocument/foldingRange](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_foldingRange). + * [textDocument/selectionRange](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_selectionRange). + * [textDocument/documentSymbol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentSymbol). + * [textDocument/semanticTokens](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens). + * [textDocument/inlineValue](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_inlineValue). + * [workspace/inlineValue/refresh](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_inlineValue_refresh). + * [inlayHint/resolve](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#inlayHint_resolve). + * [textDocument/moniker](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_moniker). + * [textDocument/moniker](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_moniker). + * [textDocument/pullDiagnostics](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_pullDiagnostics). + * [textDocument/signatureHelp](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_signatureHelp). + * [textDocument/documentColor](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentColor). + * [textDocument/colorPresentation](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_colorPresentation). + * [textDocument/formatting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_formatting). + * [textDocument/rangeFormatting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_rangeFormatting). + * [textDocument/onTypeFormatting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_onTypeFormatting). + * [textDocument/rename](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_rename). + * [textDocument/prepareRename](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_prepareRename). + * [textDocument/linkedEditingRange](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_linkedEditingRange). + +## Workspace Features + +Here the `LSP4IJ` support for [Workspace Features]( https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspaceFeatures) + +### Implemented + + * [workspace/didChangeWatchedFiles](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_didChangeWatchedFiles) but partially, pattern must be supported. + * [workspace/executeCommand](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_executeCommand). + * [workspace/applyEdit](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_applyEdit). + +### To implement... + + * [workspace/symbol](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_symbol). + * [workspace/symbolResolve](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_symbolResolve). + * [workspace/configuration](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_configuration). + * [workspace/workspaceFolders](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_workspaceFolders). + * [workspace/didChangeWorkspaceFolders](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_didChangeWorkspaceFolders). + * [workspace/willCreateFiles](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_willCreateFiles). + * [workspace/didCreateFiles](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_didCreateFiles). + * [workspace/willRenameFiles](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_willRenameFiles). + * [workspace/didRenameFiles](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_didRenameFiles). + * [workspace/willDeleteFiles](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_willDeleteFiles). + * [workspace/didDeleteFiles](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_didDeleteFiles). + +## Window Features + +Here the `LSP4IJ` support for [Window Features]( https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#windowFeatures) + +### Implemented + +### To implement... + + * [window/showMessage](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_showMessage). + * [window/showMessageRequest](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_showMessageRequest). + * [window/logMessage](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_logMessage). + * [window/showDocument](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_showDocument). + * [window/workDoneProgress/create](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_workDoneProgress_create). + * [window/workDoneProgress/cancel](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_workDoneProgress_cancel). + * [telemetry/event](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#telemetry_event). \ No newline at end of file diff --git a/docs/UserGuide.md b/docs/UserGuide.md new file mode 100644 index 000000000..93e895940 --- /dev/null +++ b/docs/UserGuide.md @@ -0,0 +1,26 @@ +# User guide + +## LSP console + +Although not directly useful to users in most cases, the Language Server console view is extremely important +when we need to troubleshoot issues with the language servers. + +The state of the servers is visible, stop and restart is available with a right-click, and you can enable different levels of tracing: + +![LSP console](./images/LSPConsoleSettings.png) + +The communication details between the IDE and the language servers are seen in the "LSP consoles" pane. +In verbose mode, the messages can be expanded for more details: + +![LSP console](./images/LSPConsole.png) + +When language server is started, several action like stopping the language server or copy the command which starts the language servers are available: + +![LSP console Actions](./images/LSPConsoleActions.png) + +## Language Servers preferences + +The preference page under `Preferences | Languages & Frameworks | Language Servers` allows power users +to configure language servers debugging and tracing: + +![Language Server preferences](./images/LanguageServerPreferences.png) \ No newline at end of file diff --git a/docs/images/LSPConsoleActions.png b/docs/images/LSPConsoleActions.png new file mode 100644 index 0000000000000000000000000000000000000000..46592446e0e451e53dc9085371443655e93c22e1 GIT binary patch literal 50919 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/LanguageServerSettings.png b/docs/images/LanguageServerPreferences.png similarity index 100% rename from docs/images/LanguageServerSettings.png rename to docs/images/LanguageServerPreferences.png diff --git a/docs/images/MyLanguageServerInLSPConsole.png b/docs/images/MyLanguageServerInLSPConsole.png new file mode 100644 index 0000000000000000000000000000000000000000..7286a5c915eebefc5e1872242a36975f625f8ea4 GIT binary patch literal 11003 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 literal 0 HcmV?d00001 diff --git a/docs/images/lsp-support/textDocument_codeLens.png b/docs/images/lsp-support/textDocument_codeLens.png new file mode 100644 index 0000000000000000000000000000000000000000..ab6e0c42e8e1cac9dac20c69f18608e5d79d8388 GIT binary patch literal 18902 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Ȥ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 literal 0 HcmV?d00001 diff --git a/docs/images/lsp-support/textDocument_completion.png b/docs/images/lsp-support/textDocument_completion.png new file mode 100644 index 0000000000000000000000000000000000000000..d08e8f2e6d728d90e630bad87516857f93146cf4 GIT binary patch literal 27277 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%0DV=TqtUwLz< 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 SQ(&KvdZ8?@Ay*}19{e9>w76XW literal 0 HcmV?d00001 diff --git a/docs/images/lsp-support/textDocument_documentHighlight.png b/docs/images/lsp-support/textDocument_documentHighlight.png new file mode 100644 index 0000000000000000000000000000000000000000..bb9478564f39138e43190d66d8a6452c3e2c71b6 GIT binary patch literal 18211 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 W^4ih@8FS#lHVmGwelF{r5}E*Z#R*gZ literal 0 HcmV?d00001 diff --git a/docs/images/lsp-support/textDocument_documentLink.png b/docs/images/lsp-support/textDocument_documentLink.png new file mode 100644 index 0000000000000000000000000000000000000000..8d59c1e1406ae577943542ed67e37a29000f154a GIT binary patch literal 8320 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 literal 0 HcmV?d00001 diff --git a/docs/images/lsp-support/textDocument_hover.png b/docs/images/lsp-support/textDocument_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..ede2961b19ece21c5249c31bd458b67ec8888bf2 GIT binary patch literal 16190 zcma)jWmp_dw`~ZT;O;gA3-0b7Jh;2NySr;}7y=3I?(R--cP6;I-Qhj@-RE5S0X@^x zQ(aS4z4lsruZmERlR*58_xZzz4~SBdqTfG!fB=DCzrn$P|Bt>AVSx`2PTwVjKU7Q* z9Dv_InF+}XefUrv2mfpU4SxU0UQ)y9!v{3y_dkerQ)2fIANXgaM1_>ybx+nl=_~KG zbG)9V%iQuAFr!O;{31y5g%%AZxFoGkRm{d}WhF)3j$z%l@ecZP<6J}I%8g!q54>_~ z)LR2ZV}oU>u$bj{t2sc_2%2k8Vu&%b#!$zk2M{!tZcLFLFT)%lb@@^!F>#p%qD{}* zc;EwZp_|Onm8zhiq9$xG{(VCOAAt(CO%Fd-@`>Kodf9v(h4$;gS0iu!;HV+H^K1bR1RL`8SaaIzx8 z!=J~}+Cc>P0?;@0Y(ttg+Q6OD=X7*)3(MKUznWWK;5J_EWSBw8vl@~aOw#yq5iwVs zIFK>Rj^KtIL06l!kXP5UT>o^&W3;e4Jpg<=^J{OctU+c*E#a7ZVkHz`PVx^LC1-Cv zzsr~@*-?O>E`8QsOvIqK1w?Kl4B(KEgv{NW_}LW9-Jt?Sgs-UqfDAZqv@ApzNW6;K zt-nuaw@5X;sSHJVr}7bt*LTZE-i-yYgBW6ZjyAR&FW}IH zngqBQxY>~)AiRC$MOhQ>zi`6Bz>;xOOxT2Tkee^n*%cL?PD@ax&!?EO&M%OCgECn7 zKsUJ8Ht@(@j)00POTh2(<105k61?sC^T@2evFnD;J(8=E(H+;fY zuX+=?UTU&oV@?iwl!6rc#U4n9Qbp9OWB1w$crjNotH@Vpd%c0vGKq=K`ciyK;pk=V zKNq1$&mBA;-YDrmd;*NB%@Oh19i5Kf6COEl4YS)gF81`0i802`1y=KZOlOMw!g!_f z6##g{j%PO7zq@geHCIpLXZI%k`IC{7;y|g_sGL?pVr7m@*{PAx&q^%;w`7~4f&TgD z43i$rT4iV{;IGS8v#MgjZ&(OGkuRxaKR#hE!_HSW)(_Gmh)vGF;d!)zTSd=x2#p8rtXeN3)38ZC-euFTBp;1c ztvCqIf?_Hv_|I-BXP)d%#(Hx_){wX>01isjZHmZ-- z^(hfwn|KEN(OuTuv16^3DSm^*y2j8n95dmqV$yi#myn)>B!6Q47l{^wcog+iDq}`}wzndV z$HcVH^x~S^zwr3gH?T4ZqNB>{=YO7%%ckQi;#$AsTe4w0F>hPUlYdaZBU!TZ|Cq$0 zMI@K*U|6NQgfJy4ik>PTcvb&v@#NmCFi>kdx?N8)@1`LZD?xqr%aHCgc!g~MUni-> zcX1v$r1e6uRx8VMPHkBc{ydDL<{s5Ci;A*3+_Q25J%4KBYuEm*wlAxO7qC)1KM2-8 z$?PSPf)f^ReL9lrrQZ1wOVqYxGfGpjCx7W$WmAd3 zYZ$*c7^N(`SU@TJ-JOFTfFo-=F>!Gixh&3~lcWGZ3;$x7?0*3s0(dci(bT~HUr=&M z;$t)n4rXKQnJ6pVYX^!BVbB#-k>v+w)xsT6Tv<=)if!M5=@GoRqzWbuqqHT&MWi0Vx1zS?*U1m-MsdL`ItyIr#4JIJq-Ft;S#1Gm)0l?eOs~og z?$6}Y^f?`n;-0TLb*W}RN5)m{H}EtUV`~Pn7UW19o`%%(h1uGQ|0=;7Mw}9$)xl#<3-4Spr*w7VC z;rsG_noPK0Ml~*ZDq+&;@!#XR{8H&>o`Hqp8aMeJug=vZUyd6(^t1}X#mP95`uD+){DFT}|^sb{Q!E`nGMaUTd& zi?+`b(@JK5Z{^+nO5{aHQ)Y68I()Iw1DuN?Qv_c7`k1lpV$4y5&SYwfY15Sk5avolwpYt2eB#I*8*OHfp@3;9P)U$A+ zr%sWyxs^gTI+SCBZXj7kXW5qS=ME{n-;N5;8^RE5F3eJPA|BYw-X^#R+)j4_ouBtM z$S$_ykhb3{XFsWbO66j>~qdoyv*c z*6HK$EIS<9Q~TZ)e$6@~XnOfMWP0+Hbi0#%t4&+>@~J_h!m zTl;Ie;Km)v4*7Nb%5&b3@_t)Lwa-;z(4$-T8uDv)dDx`aXZj62iY!lGL> ztmT?e8^yrhHL&m5je#>#DzuO1qS@un(DP35d8dCve{w^P)Lw{)|7{5q&W#UgH2ePE zhl8}_60uG7+==%sEY&{G3d!+}4f!A-CvG9$lZ6?b+x~VFqOoh0l2AGo-(mmeW833G z?_Ze~MBva9+_rWDk8Z5mXjZFdSD~@!DTN%*CL5YQf}p$P2SC1XLM_SXfqjasiaG2< zjNh=>a&vikEGRZ6F84>%nr$w>5X*&Jv-nK=S0pm^>v`x~zFE;A{goXX)MnO?6Xv-X zIGfmRcC)#+n&$F8yMe(`+OCo@E|IesrA=E=iYfH{`f>La52M2aV#BioPeMB5)TMdvA?4s7mjV%-|(lgaD!BE4Z`7*I<>s}BP9*(Z~xFC zuLi3%l=VmpXoiM?-17C!KHc6SjM*BqY$7e6*Op z8lm;x5Ay?}`(~j{VOk6hA6bcY@rbaFPZ`HFecyJF?D?nuPeWx$wDDa=q6VBTfYt)@LrE5xmPno0bA_wzCW!U&_KY528WWW zKxLLZ%F%rglYy5={1aM2K_)DILGSc-{n1X% zc5>#GdYI+BuBkhLgKN2p|I?@Kd@8vWs=BRR*g=D=MvPj-lCYD=5tY`b@xZi{&X0}> zjR=tt-~Qlv?ZFMnYWpi#;kijM@)`*0E}caFL>U3;;^-X@ zeP5riW9{32oh_Ygf25*64C3{?$=)~NgB6pr8g;J8PhG9B;tFcAI3U*DeJ%ch zc~9&RL}urh6~sV4LO6(&*H`u7YR2EzCnrhgvLEP;^?uZStJrSmB5c8EFt+gg?&@cn-x;VnPft3aL|lI>Q3i)* zqaXJ7;}|L)@*vIlaAer;-&lUDN-;i#cztIng=%OK6vT}iI+w9RqJr|N2^k`ws^;9! zb2|0+<4LibwR?j2-12%|9DVobPXiTCqb3irTG}|K&_^s#;PBaYxy$_Qb=fucyH+ch zDd8I;))z7g@sXxFryenD3@C>p;5PRZ@K&!XzcxsAVmgQBvJ#aLE~ab zu4<=dE>@B$8x4MTxn+u+e)bdYjQwDpYn!fm)K^f*3NN%(D%8%dR;okO5>sUd=?9K= zUc}NFNHGd5|Ki%Q`|Y)eG)*^L0k50ShmSAOn$ZbOW*!7%0XpW$NJ2HMw!b0|m+76O zPU>bMG-#5lJZ*EE{9#EW5ES# zqJ;*B6A}2-qDkB=xLH=P{ep@2-0sfMRFtD7dOBP_E3Chx!oi^LSMJq}2^<@6TS%++l=@hM9-|O#p#BBSI?8KR z+MXJ@7yHDln!1HWkJD0e{8#s|%D%x1tvrk_Cg^>Z&-OcM5Kj(|IvJ-a+^)bh z-8Ig1u=(vS&Ysm9W0{#|w)HB;`y4ukbxHp49<#onOtjQJ$g3~L5` z+d}`PtW9y%nza?$tiBlv^v#Qr+=m*APAB&Imn19j6<*h)1CEV|`)j?jvS4-#TvUo5 z96Yv}k?y>6ozLcXy&0}7dPuZdRfFNrih762IA8C!>Nh(56H_`eD{~H$ivHG-xLkat z?QkGx1{IPP90As!lpt<@G)9^iEEG<3jmU36U-j#_KM3M_W(n;0hT>y8)z zASI<3^L_{N$yWYG_S-If#EGG-d^<1;mx~s5)W`n%RZCG|=*lH;IJ#Sd%#SJ~xy0Vr7!LB%JoNCjst@}@5VPVBk)#h+E` zWvlSB{0Q1139|+D^>g9Yt(V{P3n2!uX8lt!rdpVXn#Yd>)EEXo1WGfSlv)nP^{LEjo9p!p-+ z*MH7eg3pW47E4CLWLO^QBgY6E8~-wbLl*y__nwEj{8Sm}WN#0L@C_xeuz-}!M)i!5 z#pH9~H8{;A%E}GKih-JZPRIKoh~DWWOmm|`M(~$_=Pe>QF~m|x912k2_%i~UkaT6WxdNbp#P_IPO5hbt;C3I7a2ybvcv-6&$7?es` zou3yFsB7;Nj_So_hhZSQFr2Ivmh{lMTe~%@cKC6br5t2244Xjrrw@(RBP=4bdFh<- ze|tGPsC?tUV_>MA8aL!gEK&Vwew4qcv#zH0cCrK}I}m%~wAi4rVU5DQ?i2N>kBync z3ypw+a`U%Y=nS;vj+~Yea|FwyZ3Z(Zn-X0Xbv=0eO(Sjp>ETBr)p4fMn&F z+*sBisTfyqHa-X7Ev-byxv@+yjxMCe;tA)n|K6V2gq&uQ4vzX8);zzro83$?0y7Ug zs0G?o&jArH(QtU~qm$nk%?!*aJa;A{ z{PCIjcS0n9&cRJyxnaRNMy2S#lWBCO<+AubG0SQogk5HT4Ap}Gxmi+?Uu93OFT$q? zpEXIAzQesx--Zv5v8$an5~MD*V&!Vz3Q>;k9XyfLx=1v86QBnu!~9)=9bkUJZNsFe zd*ZBHK^-Glsn4U@Ah+Ue!WNsCp~Z0FifeAlWk{M2+?m+oQ*tFza}d(I{kpL6Ll4Tz zlz#rp4Iz-%)@(GeZF*Vj%S6fW_8iOJc#^J|bqpHBGt#pJ`1{YvWP+ED5WX`Vws zw+BI@#&j&9hbDT>nExJ)Bs2P4&BzIID|DdHL3ZCNcPtm3PSIRB+fxe^i$}nQkNICg z7ZofA$jvgZGa;LlL7%BnDGd*vIwNPITH~58R&OndPipGc;-~wBkUR<&HyU*&HS`ib zne`M#<@63?=~M%#gY+KqUaw~cFEw8m`_O8od;P6CKNOdZ%zGK_BGS#c5k*?fr4KaS| z%ql)S%LfG*tql>Sr=o*&hXCop3gZ(#?(7BzifcRVDIy<~>87qtUZk6jnKA*R6l~LU z%*PVknQ7j#I4#F|1Z6AkwXCRa`m@WWV(;VPn4_a6c9A>orpCL6nq!|aD{hw~6JuJMU{iBCySn-;HgX^!kS(3kZTjcUJ*eU@poCNg6P zGZQTMRx^D@_Ozm8a#D}72X||_ZIO5@^x9mm&(iN!TpgF_%bnEDWTlDX&;HP@dBjF- znlCSm(DH8IG=IrE3OnOE8khkW|Hw#r;)g-A-jnI(#}|BN0K7zN!_Te?##Y7)TP zo{BwE!!M()ynfr>z!3NZ0=BA%xbO<(6O9LvQ@=Huhg06&w3|v#azH0YrM7{T5n+oI z;t>M{hYxdR`@_+JQqd{ShTD$yd_jaLyFsf@Oi@_n-Iu&-mgS?TAs`p5oY3KFu|k=d z!uL4}07p=5<9m^SqTuLqOhb%ujHLkZtNG(^bP~q*+9rBsP_3mJ3cCx;m{3d+Rk;xM zKjBV3hQtX;SXq=xKU)0Hs`Hn@kRE-ru=l8?hbv@%Dyp-jk({h8r~--dBP+762(>;I z+*ksvu7pZ|ZeD3QG~IYi5p{cTMuVWJSlEFyxYS`@7fP75S8Hmdz!)fMe>xK}K~KWi zRU{Ao-n6+#0#{g9GCOkdzJ2Z;t`nnhpjh}R7HUR#c(`{@)aGjB<0CtiYL^fDEJC-tHo{&CMxsNuiau=_<=h~@yuk<)!l?ee11gpShxR_bulZs zgQ@?D8_kJj@p)hj#uD`x*J3Nq&5~PgwNC8l+_u;(HqdJU@wgu96M|l(#QgFJuQ->~ z02$ig^!cuUH>ONP_|O|8=ghB7>U@DZCo*>ahD<-Le2q5-o_xq|){!4_V{(EECWe`zjcN6YtInJE&;N*Nr(9YpN%NaqvRqYv zk8TA*e;ywCdEbt>IS4kRj?&Sa@DkJ}S-m8B()x8>Ac1(%r*~a-UcX{KP)eVgqB37r z8}!1I=>h*ULL9>J{u5zL+I3CgBds5MP^WBBL`f#}&Wh~b@$>noE zqa!||ljpQ~B=-h^Sq};T9vuwmlc=dj+zI`{0OlUbEtUpEl9<=TSICVMfISxWwMjk@5g|E-8a2=q>IUV1 z3PVI%37{H_I|=~4fo@S8!f8mqY5B9iT2^R@ zRox)vA@)z7%|{cJstEG^j+E0tG0LnY*o;~(v&Yh89jiIbYh*jfe?&Fz)ew=L_s zOaBIx2}y2lXOAzV?zOT~{C7Hy6jDI6x&qU%pNH>AFFP4j?&qe9G}a#ybW2YOz=KDa zND3blZ^TNEZ|uETRpqZ8uOqr$G$^rF>zH2}(Qtk0A=8XAqb#qT&DT7|3XGG6cxZytH>5>OL}?=vFc%b?O%ONrP0PVljWm z%S!;KTYkke?YD^>2i$Lp8{M<-){;~(8e#@TRy1I-HeMsj%8vgvwk|-8Yyo{>K5G^M z;x)&sFpyjYRFd}f0t2o&mYL#`e17b1Ec%+Su%F1ASB&O(cOEYtH6T7xidUMp>U`oEW8!wta+QLVZlUmvC06_m1vu+Y-`hlObZ@V%!v9!;WdwZ`3+^)0{Kh zx-;I4WuvW9s!(^Mcuao=|5t?0jXbkn>6{Ovv!>8(S=&uuue`NO4y@9W?mUA38w6*hDpamU-MgnU6U8nK*ZWHG z-K{|k@?>4DZe%^c*LBaO??}`eP*niorBvd6>IdzZ+IQ6$JuLopRH90?8=)PT7iM7x znKYLleQS6v6N6~bbb8_s^3*v6js_gXnG&xabv&A_H^)u1>^c9NW>J$+A#LDqksf7- zJx)cQ$hDo*+YU<*;)67q-%=xIW(U0W(9$(Y&CR6<9dT^D$-}nV%L?bMU+VVX z`LjHx)2lR>v+T$35}U&Hmx! zo!8&bF3drcx3G{oC&(^2daMtJsGiF+UELWJ$*Nf(#PsGHzGPb@_el*=J~-IN#t!c z)}Gk=B0aU!&GyN9qMO3!ZQ!siW|xb)*rZ5^N zZR%mR!CxLjGeV?HObcx|QwJ(zJ|_?FT52j}m{Crisp?>^F{`NQNMj9u?1&WyiH+W3 zjO?HdcxNT{1;3N`j_ zU+H<{_E%C1wsv?A^%LPZ|NSuw1G9u#)Q?qAyO_@tD1u=k zvk@fqb)$WzTx>H}o7!os%1*Rx*^XiI6CyaHK#UA!7)an7MOckM2Ah~>m&Zrda z=ti%xY@{IWQ~nYxvCn?_i>If>lNpxF(G2AMcAJM+j&qGv%bogF&2@9{ZojXWkDR$A z!UTHou?cl%G4sML+w?Gx)x!GfM7Kv6&+O&JHPh2s-uPL|16V`R(bwz}7=w00>d zi&P2|yQ53k7s#uhZm$6|{Su)!WgdB%MZkwwaL8jhoRiq+jYBu>JrCvKx zy{<6o(>-mBAi6fa5b*7GgnfhM9KU9_c0M%mI~2o@&+d)R7mj>X36S4>VY zM>V#zZ$=nsR3ALLWU-ryCzVAug9zmtj(iR;5k&(bwmQ`gdPqrb!UPbka5S&>i3&Ps$*r% zD=sc}Ge5&!af1TuHVSkGAeYs&#0r(TLb^^?yF%cJfme)fqgPK*#^l?AwqLzLnhM07iKILEPI zuPXrWH#kSEVm$EkQ?X<=)?6le>8)Te4F1&I5~-!5@jpH~?p~ycNVpEd@@%+B`R;2A z3Q>u{u4G=wi=Tu|-zV)z!6vs$%(EOW4%JOz3qBMRq3_?A3xe-*U$;G!*{?jV>e-!c zwT;)SW^K|M^_lVv4R65xWYwiEwbeMm($LDFG{ah5T91s5M#$oH5C*c`ieC*j*|lC7 zG0JBb$lp}oU2hKkbaOadH1I(JTRW}tn>(cQ&rrmD`%zH*`#CB^2YT?Yxxh`XGdj)7 zCXX%Q&yQl>uaq(zD7}(fjEgKLYec{2OPg=!oJB=SI#!8P>R~!bS41+S?jT z!)8;1TZz|$wWakm7H%pVY}hOiiQYLw2ci55Ihd@AXL7;*8cTcd@zI`{TPlu|rRQ7I zVN92)TC#r3s!olMXWTv+USCE{P<)&ns$*r_>RD2HOl~dWDy?$t{#d4|Spt z-mHOhWWM*c*!Q)5xkY+*IMZ!Y&5W(|J%E|*xb0~0K13w$m!(k!+&nX!X9J&6y>4eo z4wCM+jil-qpSn%TZOdc#u*It0P;*dSj+d08yH+}bD}RkL7uxTiv{SLu_e55?)t~Ub zO=z$pRiAvO?GF-Y!!C!$KmW^OxMWrNlid_4V=`-c9{i(H#GQOn!KTKbKQ()W$cIX? zW2_uAk$K*!*4LZ57#b|q_Qgiu6E)7k{IcEwoa1d5Q|&SqN-Q~a`Ops?OS`IAK+t*_ zr9VE_pYdg~au2cj#28+tsz-BA{R`o8dnQ;}c#P}Abs^ESIl=Q9TYn0JYiV~V)>`3a3xlxq{%F;63 z)jPN18?JnNu*Ja2tlwK9(#&6jLqUz{Tf18gl3%@(vWeeWfDF2Vx_j+tRJcwR@FL(} ze2dk!yf0Lz?ZojLI4YAztVW3oxaq_WX5#Dxp+TmxoGEcWmGFS-^l&kJb3^ z-lb^C&W|!9tAye9*zNM=QswsR3Ei6LE8I(k74|*rLm#4cAF%vnqX8RbXXoZDdvAKc zAc=m%XZB#N!ET^OC(`h;p!05wO&`Z9o8}2T@!k6Yk*ytORCmV3!g(~HWgi>ELCQ#_ z0K{AUv8)NT{wM{u{pT5I-ks_7jinba--p11s;?G0{|vM%+DZHVKW*=jhw5n?K}Wsfvvl&uG`z&^?nk|Mo$?6PO2vXX^A+^oQg=0$4N{|yq^9^4TE{&vd8Jyf-@LL)E}V)QqY|VBzhllQT}{y z*OM1Z4UgveGCCIXS3Z!{(;B#z$jTJ6-&&8G<+4EbzFowl2Rj#>4S4>a4AZ89VO8@5 zFh0|}Nhv9ziHT@Fk>TNgANBYD+s+b%pxQXT*ZZAiL2%RG|0P56FWXUAj_?@Q3LEeheoV)kWmJSkrBos=wI#BpC4s-9okcl-y~E567T^(i z7#Z@ig8f2jBnO2znbl{4S_I}5Lmc7+Sury#j67u!h4MP{;Nl{9K}1t=mX@Ge;99^{ z@PzEB`cQx;`=M`$8I-G$#=!zNS16yGL)iVE8nP7a=5p4BF~uphf9%7253r~Yk>CuF zN-rY=AN03=i!Ae5v-d?d=?>(QFws9{#r$0;pZDXR>MuVCT>Z^J+PYhD+mx4Bxd8`Z z(Oqe>BNVVDUexG++Whk$bI+yRN*LMg|NolAF|Z*&W#1G$(SQCMLjaeloqZUc{>4H6 z4^#V>iS6AyCW8=%jE*dkpEkenMw>PU6YtL@c>d9I2lo$TrRRqY_!sp{kAXtL^yy(b z^7MlXe|TXDRaEp5^aT@bJ@m&SDB3X@I zAcrLhgI>tMyQ{$5t}6}WS3%zgSrw{I_fPW_(9_hl2^i?PscG8V-vRnPm~GdC-`ZSC zQ1@&iJNknDLV15#^RI<1QOI-uY9?V;NT{Q;y}=YKVse%b@6R(QX|qLDQBnKGCyg`9^JEi(B!Hf4+#rQH#?^XS zv^BGms=G*jrNW8y5Nu#ub7jQC#gh8r&rfczKBEfvi`L%8ig>Qi`sA-QE?mA>^~$RR zXGB9P)wa)NUwEHye&6q)msTB3|8_rwA6CcXsqyc;XBkzz7qCb>tC2qpbUyZF#@CZ{ zPA|lZ_ne_UzJL9Eyx#J0(wiJQDiD?^tikVK_gtm>)y_u?fk%l9B&zi@zX zp#LoqD+?$3^cQCE6C9oxQ}0qGK?&fJ(`M}NXQtx*l=7Eoc78r8V}O0-N`gZ!6E1^H>ZQ|74|bzYpzw^kC^sPOg8$+CGJo*6RM5mXPg!iQ(Hh2$KDH$qP>& zh{9q2=ve4MgO)I_5>)8xfW&Z$4f^#jj%jUeDjQKPV+2)`U{ZRS9Ip;TF;R4&S~o6) zL3lPAqLCJ4#q3;O^;$TU5^oQsqFS4aVXR)v z{dRvHEIq$O7wN1K2WuHb9?nrDgK4Sav^-6R+iNl9r4j|tLxhq9|KwjqQditRy!*|r zgDuB{UE)c^_hwH{2@bc7=b$~vT{Dq0kg<=`{!2f&2;-!i+yMizT^-K1G9Q9 zhloku_`*ocHvi3a@0Rxjn8*t$AB9igk(7^kl+;%^kS3rit_tIV% zIWp5r4${ce_jXbuKMT3Ix519Upx}n4)60Tp3PVVT)262lgPsEXj)NlsA^7M$3Mz#o5ojip-&rci`m+ zKwm7!lj}u&h8t)LQ6jk74+X4>An%uQHFkbBi>7!U^c(9bw9N`!)iT|d0DePRYQ?lm zJ_^xR*0mN2VuHC_wdx*!^exN41Z)=?wKj;Twr$`>!FI6112JxVuF0IvH@FgtJSsn* zHSvlFxHMtSZ&Kfnq$*upnB=XV9Nb^#`9qAKQ{JiMeF30m5@!Xp))sCyU`pNZt6^^? z_(=%{hHb9?S%(gWArS^r05T9h)?m>-`x+VLTc^(E;JdoCT>o_-Mem##@T{XI4UfzY zY-++0g<6{at`u4`I$m`oySAeu?}jZyfo{#7$!}(^Sc`s9+|1{G#4yLXaOP1_BEIQl zRcN#yB7J`$pf$xNx!<;(v~+)p$D+z0CFq)m8p(tZ)z_5O;nEQ4_NEG(sm?)agm;=Y zAG-i=rMOo%`Y(>&$^V1fGt!927H|x8sFDe_{Fm=BnI;qTwoR~!TnK}lZ+^nJE~mqGFnEYU%edShqAoa}dzhYg_3;l^TBgfk zQF^mjdGCOx1g|&z&wu}ZvAH9LKKW7qm(lzA6}oA|xPPJ31xo_9xtkP_VcupwU-0S~ zn-ZD38X|VL=D#7(QFez({9t<}JBp67VBDKyxbQm4s(tyRUf^vL#+$wxv+{Wh4QyhN z{W_NALN=U5z9h{hW9&}-NxV+Ein6*=lv13Os|p_TM|siNHWzu`a7g+U)iCJVCdP)- zry?R?DQuUvcBjdom^ z#gEfb$`i#r{zFa$?Gu9pL!uoUEz%O1vBNX+v+cC?cO#EP8jqO2?buZIRPWXM5MS*R zith9Gd$bnN zpeZG(1qV)BC}faA2#_V%%WnV&5cx;bCm@GR5^s&MLttugWxm*Vyc$Wq1!Q{4_?vIW zr$a7jJywN4;92IFj*7!`K&dRKj^C zw3+BHSw{mn0*`+EhNMfVa&qjJGnYHpZMtU?r#|N}tcVOvCN4F+43enT-|eqV6}~gO z3xILOPI+|}j_iqAGqe!a4YBy?s3}b3TWmf^7-_y2N^+;NEd>51>=JDuod9%IgmVLdt#F z8+!IM3!UJvpxMvF8E~OJ72k?ms~7#aVOs4NH16)5P;E4*<1;D9i~J?k4Xo%h@|uB8 zVC6{EAaU4fVx5qG@z)jRK_!Y?iYiYIphbG)iE05BJlB69qlXx<$-xA^^1<5kMRXhD zsmnQZS~+_k`(xRvO|nwh7$va0>EZWhM6OgPV-+>WCDG{NVNKjCe7MoTRNZhu@Dmv4{lIU$$8(} zQ{7t_-eUv+*=u^{lP60G^J(<|OBpRsulLX86s6A^m2!??yTyza-P8C9RYRPxK=>4w zez*i4?<-y-29nRVI1q^qk$YmppM+F39Lw=jXw-l5_Gd}+!9(yh2fpNtFa^;b`|OF4 z`eLaj%ntW9W-*m@C_)75C`P0Lq{OhOBEYdtVFQ6z2^0>bU(1_(AG^Nr%k<6IdYzII z=8$dy8~fAZzOaV=RpeM3YpxH5+y@v3t>HJ{g@R9#kNe}uy8G5Sr&c{13vesuCkME= z^lejCm5pc$0?Sd_fvrP{GCFD`Css76VghQz?QJ^Hdc4z6^VCyQZL*b5i%8>YkKREV z9%s7P+YjYoJyerU5m-sH^e^OM#*El(i#mx83wV|H0mo%){C7gEGxYwWBnmeHaE0!X zl<%T1e4TsC@?X_ee*9{*fFalL8Nny5CKLA+i!Q=6a!(|CYx$?lN=`C&y*M|ZZQa_3=z&Fe*uTpL8|_~XE&k%$#|pbS;X zdcVewl?!bNvLrwoxLy<#xQ!HfKlSj#bU6-Pxe_^8Agt1dp7C5YoY2=8il3wgi}O?n zlEunv>+e@hnb`Ebe~0^v9#S@VJRdI~)Io6glgzG<7rkrED7m}qU8?lnaP5t^B--_i zGVhQHa%Akb_II{&U6CuonD}#>;nAc(n_OB^yA~_wbOR&5{Lh4DOP=0%AXQzM6GiyF ztYn+*A7ff3M@o5CSGuz}=Z4L0pd~i{fD3XLb2$XDaHT;?K^nk7 zk+8q&=M8wBf0M?a%2%8Q^eiUlImEvc9AM80wbkZHYd1MgNa;t<{=2yxfKyl5C}H8% zH!KR&s)+WwrKU&=bx@#DZ{NrYS~x4Qud;aeovN#O1;5mcN>|LfwfqBR%ww}KsdPI7 zVE}J(Pq8QmrJ9-77j8xaR(emV6TeqtIaqInJ8uO;B2OmNs2@IK z#T9r9e%?G^XO_#gh&jR&NX7CqcBKvvH{zsi6Tk}K#vO{a!6PX=l4;obbEq_t()UFL zr^!vQ*fGO9EY*f5K>Za?)!BX0841u#T*A0<1ju_VM}irPVNeFs8e-UaLlJnDo_w}L z#|Mv@*7`Qeaz@qwJ{>=`D8_5l*kQ6m{z)f#?eSt`H8nOc5%<~cTL2`;liN1f5cQJv zXf!}ZLJ+jS%E8M#Vv|GcJg`>s)ix=9o(jE#GaF~HF-a=6P-HC4(xG28sjG|FQ}2>t2GyIQlXKABF%yJf|GmdyUfq&GI%j6>s6CA`zvH&)N~<_Pb2$ysrrZFP zDUCXt*_70?4{={7@+)`vBA%iAu*L|v2`gpFgW z>yU%l0?M$)hkwW|uO)aU4*=rW=BaQxIE@?z(jrJ~w!+by!YopTnw#aoWJ#?acqgzF z9R)#T(0L8Z_4P+ovnDX2u|$})jH%C3KT0}m74LXOzvE&Y(s9#gzalh)AMSzHYr-Sy zyAbJV%ue7tVLSM6N@lRd*cdIQ zj(viz=mDN{dCc>M`GmIC{unKEuhy;Vgzhu7Y%mqeU2#RoL zDUW`E=4i>zHRmmZR*kdKn-sZO5#RbyZ$N8e4zEftw~LQ-wu0&h7X?4=9;iR{%{IA5 z1OweEwe{0CKI%4Hl&WThI;n@ytiWG?wxw0VY}xD6EC`2%G@jo-;G zD}}84c0(a&*Qk)2uNVSkWgAU_0x|Pv8>@hfE%CD}>4MLtEA#^;@ zEteNTE-B!1`GL%s-odCCp12V4oQ=ctrs5#Ww7F)@A=geUI=A5grhfyM6E7`jyRmgz zz~Wmb3{uY_XK{#SSnAK3j14lm^o@)BPJn3~0u1&@;SzQI#Qx;tbaZuU&qgb@^xtO&5}EPV2C8DssbSV_6*~C z%-!ZY{$@e#Qf|3QP9yW+?N(T8pRVajoNxrqNsD1JGppt65yF-Ltsa*wcYOJEV0_TL zqs{$Q$wwdQp{zRwx2z`Lf^Y*_{hZ&a?Y&#>oq=%UKb1wdI68Jh=urtKaWSkFP5qF!)T6HoHWheeP9ICx}^jFw$FlueVzhrBouT<5g=-f{9h# zqC|}HcbF`c7##5~#UKxz23@3Ofx5Qgt^ z4oBfx6WFrFEn|aJ-=IaSegkrCS@(yfY8q3ZLoIa!+?&pXqO>h%M-5?)yCkf2dJ9 z(@%n`dmC(z7Iu)4xiD$B1#QA$pWi~?ZY=HZtGQwYn#6dMb_+=f(Ae(K#_QXLvp*BT zzkq}RdS$pesseH8sDq?^CqDQo8j7}W!3+!xm^xk?B(DC{NgLKIuL7935nUUJ!z!1p zuRbdv2K9mdVQZ1LO`lE`zYLZp%iD}p4iW}`ASg^h1< zQ#`&stwuPjaje`0i%lVX30gK#Ac<~oOQ04Y%L%~rV=+47sLsabGaYuohlABqE_&{w zR}N7vHa7h5h3(&ytmt1>AHvowwR`$+ZNl3q-yDd$Ei5K|7957ne2*jIB}gVy+8q76 zX)Gl{oz2g1?H#}+zR*23<9*>WZA`J6c#OD0HHXD-UYe+Fx9@C;0!O_MkR!C{m$Z_x z0n(N5@JIeoX}!3T$FCCZ(pO$r(k>^~}M z{enJeOv7tNo;c=s2!&=*9=qR)wbpY7%j*j?wRdh~fmpAbBr_BP5c zP7f>rMr3Pj)>*CWNg7@tuG=qSH$ zd=?1};kqEdr!J}Rgwm!OH|3me~vdc{A zjTGtQO%!;MZWmE14;C^zs%=PvpFgymHa9^1W>i;hO?g1H{MRQeV%20!Y4>F+XI7s&Xq}Y8>(jN?4@>ppxb0KL7#k zJldpO-G_u^?0&fV8|WUlSXu;>sL=4j$B{^$e#W)dI*AgxSw(9XUF+yV^0I2Ye&r`< zi@AWl!cxm=-y->J^s8=8(NRyt8Xw#VH`DI@>z$L*9bWp-wm%8wEkpQGLY*(7%i-@m>HXx>F;SV66(moW*Yw2b0-2eV}iB& zZ3OdmGmbHvZwd2-Nw=)tIh|j7A>=Q-#o=ZQc00nevw62&PzV-1lrHL@q)Z8Le&RF# z2c7wUk)Zz%*KjRjQbLS9rsTEg3tSh9eU%S+2?;V{^mnu5|9~4Wh2e^WY@JFHKI;5* zq~4B!^O3$xb`H$zT}~7|W;A&Kh~uO~FWTCIy=9m4tr6AtA3xFLgTyGs4KSylCA2=t z@dV@`e^xud;@GcTu&Iw@KWHS3tgR~2oYx7VT}|=NKb(P>R6Y8|KU*}i{m`J#d0mN8 zIX5~v!v}m~d@0It7p?dTgy2|$Sc(ayh8(#k)tw^JK^*Xo7CG&@K>20*JICjLFmMYm zec(g33jq}!R%^wxokrG6Rqv614;w*<0t)mP7zI#!@z6QPK(*1ZCmLxB5v*!C*P@Wy z%KVt!C}2|)mB?oEgeS>QL0l){gsKTxXiKS@USEVTL7*c%R5g`Cq`~u{$EXeEsE+{zdxtp35d7W`scmQ%8KjgfC$7su}_h+z-G|D z9)N41n4e-RdEf&g{a?h- zzS={)Bjpqj8Cy4qXQSopInk|^%5)sEYi+}z3i$SM6{O8~Pd(z%8;hO+{2)?6Et z>U^}f4W>4_)c@F~T<9Lkx`qF#VTS z+DZ&=agf(m>Fw~FKHCCaMg~DVktrOxkK|X1_Rn+Y;j{&Kz)SHxC zhW3o_u}+Pds#HF`tRR=TBFDcc&VRT};&K}iPO8|8`?(}cEoz!7a`{b`k~WegH!%7v z&t_oNMX;o^vs1#ClaRU?)>@5*TT-b`{4BpD#7i)hg1VHF!-kc_$bV0dxtvgMISMVF z3tP{E%YTpDf?-HTUCR?WNV?_wj6SFr`x6t{aj`np3}&U z`pSr5aqn4o1S^uH3id1h0i4#-UYm3;sn+y#m2v~seoSpwWtXEHORbD zCqzvaC#Dlxk3Nxha`(SzdR(q#8XSiRPX}ruD$d%5pY2Ua7WW~LKr<>)IYYd@Fh4&s zU}3RkyGNa`2Uq(ZFFT%OQ-=0%O!8__b7(GII@zEocEReqQxp(1<9Gu2#655X6Mlbv z!=Dl}s}0X1JIj0_{`PoW)=axq@T9jUJcwqyb^T+9yvF%Q_tnHaig<(9V7Em_g$YsD z>_nLIzZ8D0%*LeUu4FL6kz*478$*flM2q#L*{WP&?L<%1(Ypo+1T`KH*RezEtcVLD zYS5PPMLx1<#7Ewtb+nWcwl-Suw;rRBYpt;8LIaV#0A@<6v$da;N7eqegK!0NIwzZX z;Uc|jPX$WxYO7E4i3X@8g}q`tliD;)`WV2 zs6|hh#|hD=iqSexE2cj_WK2sPWQ(M$V=}7S?~FqpUwjv#>p7|MuRRnal<<79J0OHG z_J5}yiqSmoC5ry0&TGV%{mVhmz@W_Z%jlbM_qo&!SCgDi&&n`m-PEw(pe-glgf z08m3>#@#99;Ft6o+`1q9IG)d4l)E;y8Uj{>4vHqtqZcbiRMe7CjI5?Ti3qE^>6s`- zMvg)Oz)V~5-60cQQ%@qF_Y^j^Wc`xIX&2YMUyW?1>)+kO;ibu&R&At;npKc8RCCa) z1`e(4;ijZxCe=1jB{=Tm#alOWPs)dr;eSA{Kc*R zpQLs+_d~7iadPt_kH*0Vx81M22D-&o5;}GX z@jwO=S{;u8N0PoMViJ#u6B23+sS`3urjRKej3wPLFD9wr5J5Z|$%GY85u5W%xnV>D ze`(=Xp}g6M2la9@X{?{xH?XJtWw`%Jk1TO9={d@@4;drepTuk}93R+4Jh~d0YPBmX zV29=C+OJ{R1NCF)6_hW8ih-Gd2^C?O)mdM~a5pqd7ux-}y2K6n3T%qAsH4)tmg9T} ze*F-PvRiJmkbD-w?5MTxcZvxwpw-!JtM&>vOQfVwEqkPjD{(t4M5fO_`kG$vQPtQ) z_yy1wos#apk2J`Pn*DSl6qWPG7vR6m*!^v)c{34JF3_C?QXhGgw35Q z{TAz$u&yUkXXUH&7fv}b0NN3wjf(o$+sa~InH;p)Fi*#h0GfsPmX$pV0z;*!e znTZ;<`V`Dd`u!J?05+97LNZ5LKZ}4_vp=%fJp0rWkZD-y}gTVvV*A4eHtR@h*-$o_U!@3M_Bx7O4(qIXx^Yi4$5M96E_v3#} z_x8qielH$w?q4OM?GB|Fe{jWYKK6}cl5I4^Ly=@^)F7B5L{xF!vxgLGp) z25&On1ttZ)Im1jR$;&*eHPPVr`&Lv}kCqA+GpoN^r`;c;en61ZhI3GL2Q$&p&E0Gc zzL-{_v{v+bi8ad^!7MQS^;J_F%$SBIl6*3{&7b1#(;B{8A`G1@KeBnDpHYLi`pg>i zr)tp{Y6nVxn5qxFq`U3TC-*68@LI$#>}BeXAWfILCkkhQN$l49tqo^*5qSw1*;q_9 z!fHL97NioDx5waH4=zc1mnh|S2MsqrVd}CytVq+^aP+yOVOUg|gm}N|Iu4*PB%S;c zA6sShmcAkB9J`(1y)e#eIEc~@^|OnnXb^W{qlr~Xs(*e^QnNc(A!WKBPU-MHgswYC zjH=r>0*%fvkqs-I+em6;;s2G*hR~>PYUBim z9jRS&N2~&_&rtzVh7*RD3(#6|*<6-hZ43qxGBu&S!aI@u5X?~hu;!QZ?gdbA*D`AEN-D){emvGO<5rRw?vabZ z1*YfV#=?2lVvSbDEDuCKa2)`kP8&(New!~^TX{sStSyw1KkeMvub5hmy-}drm_g4q@nMrEmZO6|?$X~9A3Hz8HsOfmr%2cGvn#)nky|v)a z$|^3HxXdJ!jVH!$L1^Vjjh0Ffp^S~0c{%(BzvVJdnbCJg#Gq*6>YFz|f z`@x#EphY&FHa-1ZpM^H01g(^Tu;uD~sZ~URQ>{5r zbE?*7x2`?N!hjgjjoT9U+Kv&aEz^kR81oo-A+j220!>|L5Go?qT_nR=x z$B&vZwIWDQlaJ^Np`(qR zbGJn{xlb4hbJUZ@(B+;m#aUAC?zB5F@9QCJ=$v2Q+wfY7_Z#wqB|3Xgs2M{OU5dN- zH5O=dSL*OX)Z@s4+CN-y^}36Uc)3g9{T}iQaNN+ckfaT+!W6qVq=S`djO%*SLbvsw z>ozmInura2Y;FA}c}UF^TIa;b*y8ZR@7Y@t+-@9Y>*BS&MMgJ?hwTv@sM#lqLiaE9 zHqto5-gLcB`vq7Uq#Jkh($ literal 0 HcmV?d00001 diff --git a/docs/images/lsp-support/textDocument_publishDiagnostics.png b/docs/images/lsp-support/textDocument_publishDiagnostics.png new file mode 100644 index 0000000000000000000000000000000000000000..dad07cedf2fb842f5a45349b9b3a88978c364b9a GIT binary patch literal 20713 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 LSP4IJ is a free and open-source Language Server protocol (LSP) client compatible with all flavors of IntelliJ.

+

LSP4IJ is a free and open-source Language Server protocol (LSP) client compatible with all flavors of IntelliJ.

It currently doesn't provide any useful functionality on its own but is instead used as a dependency for other extensions, willing to integrate language servers with IntelliJ products.

@@ -22,13 +22,27 @@
  • Language server extension points to add any language server:
      -
    • com.redhat.devtools.lsp4ij.server extension point to define a language server.
    • -
    • com.redhat.devtools.lsp4ij.languageMapping to associate an IntelliJ language with a language server definition.
    • +
    • com.redhat.devtools.lsp4ij.server extension point to define a language server.
    • +
    • com.redhat.devtools.lsp4ij.languageMapping to associate an IntelliJ language with a language server definition.
  • -
  • An LSP Consoles view to track LSP requests, responses, and notifications in a console.
  • -
  • A Language Servers settings page to configure the LSP trace level and the debug port to use to debug the language server.
  • +
  • An LSP Consoles view to track LSP requests, responses, and notifications in a console.
  • +
  • A Language Servers preferences page to configure the LSP trace level and the debug port to use to debug the language server.
+ +

You can start with : +

+

]]>