mirror of
https://github.com/neovim/neovim.git
synced 2025-10-26 12:27:24 +00:00
docs: improve/add documentation of Lua types
- Added `@inlinedoc` so single use Lua types can be inlined into the
functions docs. E.g.
```lua
--- @class myopts
--- @inlinedoc
---
--- Documentation for some field
--- @field somefield integer
--- @param opts myOpts
function foo(opts)
end
```
Will be rendered as
```
foo(opts)
Parameters:
- {opts} (table) Object with the fields:
- somefield (integer) Documentation
for some field
```
- Marked many classes with with `@nodoc` or `(private)`.
We can eventually introduce these when we want to.
This commit is contained in:
committed by
Lewis Russell
parent
813dd36b72
commit
a5fe8f59d9
@@ -26,7 +26,7 @@ local function format_message_with_content_length(message)
|
||||
})
|
||||
end
|
||||
|
||||
---@class vim.lsp.rpc.Headers: {string: any}
|
||||
---@class (private) vim.lsp.rpc.Headers: {string: any}
|
||||
---@field content_length integer
|
||||
|
||||
--- Parses an LSP Message's header
|
||||
@@ -193,7 +193,9 @@ function M.rpc_response_error(code, message, data)
|
||||
})
|
||||
end
|
||||
|
||||
--- Dispatchers for LSP message types.
|
||||
--- @class vim.lsp.rpc.Dispatchers
|
||||
--- @inlinedoc
|
||||
--- @field notification fun(method: string, params: table)
|
||||
--- @field server_request fun(method: string, params: table): any?, lsp.ResponseError?
|
||||
--- @field on_exit fun(code: integer, signal: integer)
|
||||
@@ -266,8 +268,7 @@ function M.create_read_loop(handle_body, on_no_chunk, on_error)
|
||||
end
|
||||
end
|
||||
|
||||
---@private
|
||||
---@class vim.lsp.rpc.Client
|
||||
---@class (private) vim.lsp.rpc.Client
|
||||
---@field message_index integer
|
||||
---@field message_callbacks table<integer, function> dict of message_id to callback
|
||||
---@field notify_reply_callbacks table<integer, function> dict of message_id to callback
|
||||
@@ -522,7 +523,7 @@ function Client:handle_body(body)
|
||||
end
|
||||
end
|
||||
|
||||
---@class vim.lsp.rpc.Transport
|
||||
---@class (private) vim.lsp.rpc.Transport
|
||||
---@field write fun(msg: string)
|
||||
---@field is_closing fun(): boolean
|
||||
---@field terminate fun()
|
||||
@@ -721,32 +722,21 @@ function M.domain_socket_connect(pipe_path)
|
||||
end
|
||||
end
|
||||
|
||||
---@class vim.lsp.rpc.ExtraSpawnParams
|
||||
---@field cwd? string Working directory for the LSP server process
|
||||
---@field detached? boolean Detach the LSP server process from the current process
|
||||
---@field env? table<string,string> Additional environment variables for LSP server process. See |vim.system|
|
||||
--- Additional context for the LSP server process.
|
||||
--- @class vim.lsp.rpc.ExtraSpawnParams
|
||||
--- @inlinedoc
|
||||
--- @field cwd? string Working directory for the LSP server process
|
||||
--- @field detached? boolean Detach the LSP server process from the current process
|
||||
--- @field env? table<string,string> Additional environment variables for LSP server process. See |vim.system()|
|
||||
|
||||
--- Starts an LSP server process and create an LSP RPC client object to
|
||||
--- interact with it. Communication with the spawned process happens via stdio. For
|
||||
--- communication via TCP, spawn a process manually and use |vim.lsp.rpc.connect()|
|
||||
---
|
||||
---@param cmd string[] Command to start the LSP server.
|
||||
---
|
||||
---@param dispatchers? vim.lsp.rpc.Dispatchers Dispatchers for LSP message types.
|
||||
--- Valid dispatcher names are:
|
||||
--- - `"notification"`
|
||||
--- - `"server_request"`
|
||||
--- - `"on_error"`
|
||||
--- - `"on_exit"`
|
||||
---
|
||||
---@param extra_spawn_params? vim.lsp.rpc.ExtraSpawnParams Additional context for the LSP
|
||||
--- server process. May contain:
|
||||
--- - {cwd} (string) Working directory for the LSP server process
|
||||
--- - {detached?} (boolean) Detach the LSP server process from the current process.
|
||||
--- Defaults to false on Windows and true otherwise.
|
||||
--- - {env?} (table) Additional environment variables for LSP server process
|
||||
---
|
||||
---@return vim.lsp.rpc.PublicClient? Client RPC object, with these methods:
|
||||
--- @param cmd string[] Command to start the LSP server.
|
||||
--- @param dispatchers? vim.lsp.rpc.Dispatchers
|
||||
--- @param extra_spawn_params? vim.lsp.rpc.ExtraSpawnParams
|
||||
--- @return vim.lsp.rpc.PublicClient? : Client RPC object, with these methods:
|
||||
--- - `notify()` |vim.lsp.rpc.notify()|
|
||||
--- - `request()` |vim.lsp.rpc.request()|
|
||||
--- - `is_closing()` returns a boolean indicating if the RPC is closing.
|
||||
|
||||
Reference in New Issue
Block a user