Home Explore Blog CI



neovim

19th chunk of `runtime/doc/lsp.txt`
1035c2001ca9f1d71ce14d334f071b2bcf4f485606713a980000000100000fcf
 (`true?`)
      • {name}                  (`string`) See |vim.lsp.ClientConfig|.
      • {offset_encoding}       (`'utf-8'|'utf-16'|'utf-32'`) See
                                |vim.lsp.ClientConfig|.
      • {progress}              (`vim.lsp.Client.Progress`) A ring buffer
                                (|vim.ringbuf()|) containing progress messages
                                sent by the server. See
                                |vim.lsp.Client.Progress|.
      • {requests}              (`table<integer,{ type: string, bufnr: integer, method: string}?>`)
                                The current pending requests in flight to the
                                server. Entries are key-value pairs with the
                                key being the request id while the value is a
                                table with `type`, `bufnr`, and `method`
                                key-value pairs. `type` is either "pending"
                                for an active request, or "cancel" for a
                                cancel request. It will be "complete"
                                ephemerally while executing |LspRequest|
                                autocmds when replies are received from the
                                server.
      • {root_dir}              (`string?`) See |vim.lsp.ClientConfig|.
      • {rpc}                   (`vim.lsp.rpc.PublicClient`) RPC client
                                object, for low level interaction with the
                                client. See |vim.lsp.rpc.start()|.
      • {server_capabilities}   (`lsp.ServerCapabilities?`) Response from the
                                server sent on `initialize` describing the
                                server's capabilities.
      • {server_info}           (`lsp.ServerInfo?`) Response from the server
                                sent on `initialize` describing server
                                information (e.g. version).
      • {settings}              (`lsp.LSPObject`) See |vim.lsp.ClientConfig|.
      • {workspace_folders}     (`lsp.WorkspaceFolder[]?`) See
                                |vim.lsp.ClientConfig|.
      • {request}               (`fun(self: vim.lsp.Client, method: string, params: table?, handler: lsp.Handler?, bufnr: integer?): boolean, integer?`)
                                See |Client:request()|.
      • {request_sync}          (`fun(self: vim.lsp.Client, method: string, params: table, timeout_ms: integer?, bufnr: integer?): {err: lsp.ResponseError?, result:any}?, string?`)
                                See |Client:request_sync()|.
      • {notify}                (`fun(self: vim.lsp.Client, method: string, params: table?): boolean`)
                                See |Client:notify()|.
      • {cancel_request}        (`fun(self: vim.lsp.Client, id: integer): boolean`)
                                See |Client:cancel_request()|.
      • {stop}                  (`fun(self: vim.lsp.Client, force: boolean?)`)
                                See |Client:stop()|.
      • {is_stopped}            (`fun(self: vim.lsp.Client): boolean`) See
                                |Client:is_stopped()|.
      • {exec_cmd}              (`fun(self: vim.lsp.Client, command: lsp.Command, context: {bufnr?: integer}?, handler: lsp.Handler?)`)
                                See |Client:exec_cmd()|.
      • {on_attach}             (`fun(self: vim.lsp.Client, bufnr: integer)`)
                                See |Client:on_attach()|.
      • {supports_method}       (`fun(self: vim.lsp.Client, method: string, bufnr: integer?)`)
                                See |Client:supports_method()|.

*vim.lsp.Client.Progress*
    Extends: |vim.Ringbuf|


    Fields: ~
      • {pending}  (`table<lsp.ProgressToken,lsp.LSPAny>`)

*vim.lsp.ClientConfig*

    Fields: ~
      • {before_init}?         (`fun(params: lsp.InitializeParams, config: vim.lsp.ClientConfig)`)
                               Callback invoked

Title: vim.lsp.Client (continued): Request Handling, Server Info, and Methods
Summary
Continuation of the `vim.lsp.Client` object description, detailing fields such as `requests` (current pending requests), `root_dir`, `rpc` (RPC client object), `server_capabilities`, `server_info`, `settings`, and `workspace_folders`. It also outlines various methods like `request`, `request_sync`, `notify`, `cancel_request`, `stop`, `is_stopped`, `exec_cmd`, `on_attach`, and `supports_method`. Additionally, it introduces `vim.lsp.Client.Progress` and `vim.lsp.ClientConfig` and their fields.