linol/linol/Linol/Server/Make/class-server/index.html
2024-10-23 20:49:46 +00:00

105 lines
32 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>server (linol.Linol.Server.Make.server)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../../index.html">linol</a> &#x00BB; <a href="../../../index.html">Linol</a> &#x00BB; <a href="../../index.html">Server</a> &#x00BB; <a href="../index.html">Make</a> &#x00BB; server</nav><header class="odoc-preamble"><h1>Class <code><span>Make.server</span></code></h1><p>An easily overloadable class. Pick the methods you want to support. The user must provide at least the callbacks for document lifecycle: open, close, update. The most basic LSP server should check documents when they're updated and report diagnostics back to the editor.</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec inherit"><code><span><span class="keyword">inherit</span> <a href="../class-base_server/index.html">base_server</a></span></code></div></div><div class="odoc-spec"><div class="spec value instance-variable anchored" id="val-status"><a href="#val-status" class="anchor"></a><code><span><span class="keyword">val</span> <span class="keyword">mutable</span> status : <span>[ `ReceivedExit <span>| `ReceivedShutdown</span> <span>| `Running</span> ]</span></span></code></div></div><div class="odoc-spec"><div class="spec value instance-variable anchored" id="val-positionEncoding"><a href="#val-positionEncoding" class="anchor"></a><code><span><span class="keyword">val</span> <span class="keyword">mutable</span> positionEncoding : <span>[ `UTF16 <span>| `UTF8</span> ]</span></span></code></div></div><div class="odoc-spec"><div class="spec value instance-variable anchored" id="val-docs"><a href="#val-docs" class="anchor"></a><code><span><span class="keyword">val</span> docs : <span><span>(<a href="../../../../../lsp/Lsp__/Types/DocumentUri/index.html#type-t">Lsp.Types.DocumentUri.t</a>, <a href="../index.html#type-doc_state">doc_state</a>)</span> <a href="../../../../../ocaml/Stdlib/Hashtbl/index.html#type-t">Hashtbl.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-get_status"><a href="#method-get_status" class="anchor"></a><code><span><span class="keyword">method</span> get_status : <span>[ `ReceivedExit <span>| `ReceivedShutdown</span> <span>| `Running</span> ]</span></span></code></div><div class="spec-doc"><p>Check if exit or shutdown request was made by the client.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-find_doc"><a href="#method-find_doc" class="anchor"></a><code><span><span class="keyword">method</span> find_doc : <span><a href="../../../../../lsp/Lsp__/Types/DocumentUri/index.html#type-t">Lsp.Types.DocumentUri.t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../index.html#type-doc_state">doc_state</a> option</span></span></code></div><div class="spec-doc"><p>Find current state of the given document, if present.</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-set_positionEncoding"><a href="#method-set_positionEncoding" class="anchor"></a><code><span><span class="keyword">method</span> set_positionEncoding : <span><a href="../../../../../lsp/Lsp__/Types/InitializeParams/index.html#type-t">Lsp.Types.InitializeParams.t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_request_unhandled"><a href="#method-on_request_unhandled" class="anchor"></a><code><span><span class="keyword">method</span> on_request_unhandled : 'r. <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'r</span> <a href="../../../../../lsp/Lsp__/Client_request/index.html#type-t">Lsp.Client_request.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'r</span> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Override to process other requests</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_sync_opts"><a href="#method-config_sync_opts" class="anchor"></a><code><span><span class="keyword">method</span> config_sync_opts : <a href="../../../../../lsp/Lsp__/Types/TextDocumentSyncOptions/index.html#type-t">Lsp.Types.TextDocumentSyncOptions.t</a></span></code></div><div class="spec-doc"><p>Parameter for how to synchronize content with the editor</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_completion"><a href="#method-config_completion" class="anchor"></a><code><span><span class="keyword">method</span> config_completion : <span><a href="../../../../../lsp/Lsp__/Types/CompletionOptions/index.html#type-t">Lsp.Types.CompletionOptions.t</a> option</span></span></code></div><div class="spec-doc"><p>Configuration for the completion API.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.4</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_code_lens_options"><a href="#method-config_code_lens_options" class="anchor"></a><code><span><span class="keyword">method</span> config_code_lens_options : <span><a href="../../../../../lsp/Lsp__/Types/CodeLensOptions/index.html#type-t">Lsp.Types.CodeLensOptions.t</a> option</span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_definition"><a href="#method-config_definition" class="anchor"></a><code><span><span class="keyword">method</span> config_definition : <span><span>[ <span>`Bool of bool</span>
<span><span>| `DefinitionOptions</span> of
<a href="../../../../../lsp/Lsp__/Types/DefinitionOptions/index.html#type-t">Lsp.Types.DefinitionOptions.t</a></span> ]</span>
option</span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_hover"><a href="#method-config_hover" class="anchor"></a><code><span><span class="keyword">method</span> config_hover : <span><span>[ <span>`Bool of bool</span>
<span><span>| `HoverOptions</span> of <a href="../../../../../lsp/Lsp__/Types/HoverOptions/index.html#type-t">Lsp.Types.HoverOptions.t</a></span> ]</span>
option</span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_inlay_hints"><a href="#method-config_inlay_hints" class="anchor"></a><code><span><span class="keyword">method</span> config_inlay_hints : <span><span>[ <span>`Bool of bool</span>
<span><span>| `InlayHintOptions</span> of <a href="../../../../../lsp/Lsp__/Types/InlayHintOptions/index.html#type-t">Lsp.Types.InlayHintOptions.t</a></span>
<span><span>| `InlayHintRegistrationOptions</span> of
<a href="../../../../../lsp/Lsp__/Types/InlayHintRegistrationOptions/index.html#type-t">Lsp.Types.InlayHintRegistrationOptions.t</a></span> ]</span>
option</span></span></code></div><div class="spec-doc"><p>Configuration for the inlay hints API.</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_symbol"><a href="#method-config_symbol" class="anchor"></a><code><span><span class="keyword">method</span> config_symbol : <span><span>[ <span>`Bool of bool</span>
<span><span>| `DocumentSymbolOptions</span> of
<a href="../../../../../lsp/Lsp__/Types/DocumentSymbolOptions/index.html#type-t">Lsp.Types.DocumentSymbolOptions.t</a></span> ]</span>
option</span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_code_action_provider"><a href="#method-config_code_action_provider" class="anchor"></a><code><span><span class="keyword">method</span> config_code_action_provider : <span>[ <span>`Bool of bool</span>
<span><span>| `CodeActionOptions</span> of
<a href="../../../../../lsp/Lsp__/Types/CodeActionOptions/index.html#type-t">Lsp.Types.CodeActionOptions.t</a></span> ]</span></span></code></div><div class="spec-doc"><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_modify_capabilities"><a href="#method-config_modify_capabilities" class="anchor"></a><code><span><span class="keyword">method</span> config_modify_capabilities : <span><a href="../../../../../lsp/Lsp__/Types/ServerCapabilities/index.html#type-t">Lsp.Types.ServerCapabilities.t</a> <span class="arrow">&#45;&gt;</span></span>
<a href="../../../../../lsp/Lsp__/Types/ServerCapabilities/index.html#type-t">Lsp.Types.ServerCapabilities.t</a></span></code></div><div class="spec-doc"><p>Modify capabilities before sending them back to the client. By default we just return them unmodified.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-config_list_commands"><a href="#method-config_list_commands" class="anchor"></a><code><span><span class="keyword">method</span> config_list_commands : <span>string list</span></span></code></div><div class="spec-doc"><p>List of commands available</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_initialize"><a href="#method-on_req_initialize" class="anchor"></a><code><span><span class="keyword">method</span> on_req_initialize : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/InitializeParams/index.html#type-t">Lsp.Types.InitializeParams.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/InitializeResult/index.html#type-t">Lsp.Types.InitializeResult.t</a> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_hover"><a href="#method-on_req_hover" class="anchor"></a><code><span><span class="keyword">method</span> on_req_hover : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">uri</span>:<span class="xref-unresolved">Lsp__Types.DocumentUri.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">pos</span>:<span class="xref-unresolved">Lsp__Types.Position.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">workDoneToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../index.html#type-doc_state">doc_state</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../../../lsp/Lsp__/Types/Hover/index.html#type-t">Lsp.Types.Hover.t</a> option</span> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Called when the user hovers on some identifier in the document</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_completion"><a href="#method-on_req_completion" class="anchor"></a><code><span><span class="keyword">method</span> on_req_completion : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">uri</span>:<span class="xref-unresolved">Lsp__Types.DocumentUri.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">pos</span>:<span class="xref-unresolved">Lsp__Types.Position.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">ctx</span>:<span><span class="xref-unresolved">Lsp__Types.CompletionContext.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">workDoneToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">partialResultToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../index.html#type-doc_state">doc_state</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>[ <span>`CompletionList of <span class="xref-unresolved">Lsp__.Types.CompletionList.t</span></span>
<span><span>| `List</span> of <span><span class="xref-unresolved">Lsp__.Types.CompletionItem.t</span> list</span></span> ]</span>
option</span>
<a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Called when the user requests completion in the document</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_definition"><a href="#method-on_req_definition" class="anchor"></a><code><span><span class="keyword">method</span> on_req_definition : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">uri</span>:<span class="xref-unresolved">Lsp__Types.DocumentUri.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">pos</span>:<span class="xref-unresolved">Lsp__Types.Position.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">workDoneToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">partialResultToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../index.html#type-doc_state">doc_state</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../../../lsp/Lsp__/Types/Locations/index.html#type-t">Lsp.Types.Locations.t</a> option</span> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Called when the user wants to jump-to-definition</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_code_lens"><a href="#method-on_req_code_lens" class="anchor"></a><code><span><span class="keyword">method</span> on_req_code_lens : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">uri</span>:<span class="xref-unresolved">Lsp__Types.DocumentUri.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">workDoneToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">partialResultToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../index.html#type-doc_state">doc_state</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../../../lsp/Lsp__/Types/CodeLens/index.html#type-t">Lsp.Types.CodeLens.t</a> list</span> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>List code lenses for the given document</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_code_lens_resolve"><a href="#method-on_req_code_lens_resolve" class="anchor"></a><code><span><span class="keyword">method</span> on_req_code_lens_resolve : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/CodeLens/index.html#type-t">Lsp.Types.CodeLens.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/CodeLens/index.html#type-t">Lsp.Types.CodeLens.t</a> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Code lens resolution, must return a code lens with non null &quot;command&quot;</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_code_action"><a href="#method-on_req_code_action" class="anchor"></a><code><span><span class="keyword">method</span> on_req_code_action : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/CodeActionParams/index.html#type-t">Lsp.Types.CodeActionParams.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/CodeActionResult/index.html#type-t">Lsp.Types.CodeActionResult.t</a> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Code action.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_execute_command"><a href="#method-on_req_execute_command" class="anchor"></a><code><span><span class="keyword">method</span> on_req_execute_command : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">workDoneToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span><span><a href="../../../../../yojson/Yojson__/Safe/index.html#type-t">Yojson.Safe.t</a> list</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../yojson/Yojson__/Safe/index.html#type-t">Yojson.Safe.t</a> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Execute a command with given arguments.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_symbol"><a href="#method-on_req_symbol" class="anchor"></a><code><span><span class="keyword">method</span> on_req_symbol : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">uri</span>:<span class="xref-unresolved">Lsp__Types.DocumentUri.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">workDoneToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">partialResultToken</span>:<span><span class="xref-unresolved">Lsp__Types.ProgressToken.t</span> option</span> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<span><span><span>[ <span>`DocumentSymbol of <span><span class="xref-unresolved">Lsp__.Types.DocumentSymbol.t</span> list</span></span>
<span><span>| `SymbolInformation</span> of <span><span class="xref-unresolved">Lsp__.Types.SymbolInformation.t</span> list</span></span> ]</span>
option</span>
<a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>List symbols in this document.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_unknown_request"><a href="#method-on_unknown_request" class="anchor"></a><code><span><span class="keyword">method</span> on_unknown_request : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">server_request</span>:<span>(<span><a href="../index.html#type-server_request_handler_pair">server_request_handler_pair</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../Req_id/index.html#type-t">Req_id.t</a> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../../../jsonrpc/Jsonrpc/Structured/index.html#type-t">Jsonrpc.Structured.t</a> option</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../yojson/Yojson__/Safe/index.html#type-t">Yojson.Safe.t</a> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_inlay_hint"><a href="#method-on_req_inlay_hint" class="anchor"></a><code><span><span class="keyword">method</span> on_req_inlay_hint : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">uri</span>:<span class="xref-unresolved">Lsp__Types.DocumentUri.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">range</span>:<a href="../../../../../lsp/Lsp__/Types/Range/index.html#type-t">Lsp.Types.Range.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <span class="arrow">&#45;&gt;</span></span>
<span><span><span><a href="../../../../../lsp/Lsp__/Types/InlayHint/index.html#type-t">Lsp.Types.InlayHint.t</a> list</span> option</span> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Provide inlay hints for this document.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.5</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_req_shutdown"><a href="#method-on_req_shutdown" class="anchor"></a><code><span><span class="keyword">method</span> on_req_shutdown : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span> <span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Process a shutdown request.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.7</li></ul></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_request"><a href="#method-on_request" class="anchor"></a><code><span><span class="keyword">method</span> on_request : 'a. <span><span class="label">notify_back</span>:<span>(<span><a href="../../../../../lsp/Lsp__/Server_notification/index.html#type-t">Lsp.Server_notification.t</a> <span class="arrow">&#45;&gt;</span></span> <span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">server_request</span>:<a href="../index.html#type-send_request">send_request</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">id</span>:<a href="../../Req_id/index.html#type-t">Req_id.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><span class="type-var">'a</span> <a href="../../../../../lsp/Lsp__/Client_request/index.html#type-t">Lsp.Client_request.t</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span class="type-var">'a</span>, string)</span> <a href="../../../../../ocaml/Stdlib/index.html#type-result">result</a></span> <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_notif_doc_did_open"><a href="#method-on_notif_doc_did_open" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">virtual</span> on_notif_doc_did_open : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/TextDocumentItem/index.html#type-t">Lsp.Types.TextDocumentItem.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">content</span>:string <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Called when a document is opened</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_notif_doc_did_close"><a href="#method-on_notif_doc_did_close" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">virtual</span> on_notif_doc_did_close : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/TextDocumentIdentifier/index.html#type-t">Lsp.Types.TextDocumentIdentifier.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_notif_doc_did_change"><a href="#method-on_notif_doc_did_change" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">virtual</span> on_notif_doc_did_change : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/VersionedTextDocumentIdentifier/index.html#type-t">Lsp.Types.VersionedTextDocumentIdentifier.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span><a href="../../../../../lsp/Lsp__/Types/TextDocumentContentChangeEvent/index.html#type-t">Lsp.Types.TextDocumentContentChangeEvent.t</a> list</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">old_content</span>:string <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">new_content</span>:string <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Called when the document changes.</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_notif_doc_did_save"><a href="#method-on_notif_doc_did_save" class="anchor"></a><code><span><span class="keyword">method</span> on_notif_doc_did_save : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Types/DidSaveTextDocumentParams/index.html#type-t">Lsp.Types.DidSaveTextDocumentParams.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_unknown_notification"><a href="#method-on_unknown_notification" class="anchor"></a><code><span><span class="keyword">method</span> on_unknown_notification : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../jsonrpc/Jsonrpc/Notification/index.html#type-t">Jsonrpc.Notification.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_notification_unhandled"><a href="#method-on_notification_unhandled" class="anchor"></a><code><span><span class="keyword">method</span> on_notification_unhandled : <span><span class="label">notify_back</span>:<a href="../../../../Linol__Server/Make/class-notify_back/index.html">notify_back</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Client_notification/index.html#type-t">Lsp.Client_notification.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div><div class="spec-doc"><p>Override to handle unprocessed notifications</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_notification"><a href="#method-on_notification" class="anchor"></a><code><span><span class="keyword">method</span> on_notification : <span><span class="label">notify_back</span>:<span>(<span><a href="../../../../../lsp/Lsp__/Server_notification/index.html#type-t">Lsp.Server_notification.t</a> <span class="arrow">&#45;&gt;</span></span> <span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">server_request</span>:<a href="../index.html#type-send_request">send_request</a> <span class="arrow">&#45;&gt;</span></span>
<span><a href="../../../../../lsp/Lsp__/Client_notification/index.html#type-t">Lsp.Client_notification.t</a> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../argument-1-IO/index.html#type-t">IO.t</a></span></span></code></div></div></div></body></html>