aboutsummaryrefslogtreecommitdiff
path: root/test/client/session.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2024-01-17 13:46:55 +0000
committerGitHub <noreply@github.com>2024-01-17 13:46:55 +0000
commite855a80c72ed89815255bb6ff38bff27e58e523f (patch)
treeecb2245caed90d99785df194199cf971284852ee /test/client/session.lua
parentd88814ef68b3f2ad3ed005ee0683eff063b017a6 (diff)
parent14b7ffcf89bc448b626df3d9e19f9f5a3682ae2b (diff)
downloadrneovim-e855a80c72ed89815255bb6ff38bff27e58e523f.tar.gz
rneovim-e855a80c72ed89815255bb6ff38bff27e58e523f.tar.bz2
rneovim-e855a80c72ed89815255bb6ff38bff27e58e523f.zip
Merge pull request #27024 from lewis6991/test_followup
test: big cleanup followup + typing
Diffstat (limited to 'test/client/session.lua')
-rw-r--r--test/client/session.lua14
1 files changed, 13 insertions, 1 deletions
diff --git a/test/client/session.lua b/test/client/session.lua
index 86b4ee7103..cf3d8c4f25 100644
--- a/test/client/session.lua
+++ b/test/client/session.lua
@@ -1,6 +1,12 @@
local uv = vim.uv
local MsgpackRpcStream = require('test.client.msgpack_rpc_stream')
+--- @class test.Session
+--- @field private _pending_messages string[]
+--- @field private _msgpack_rpc_stream test.MsgpackRpcStream
+--- @field private _prepare uv.uv_prepare_t
+--- @field private _timer uv.uv_timer_t
+--- @field private _is_running boolean
local Session = {}
Session.__index = Session
if package.loaded['jit'] then
@@ -26,7 +32,7 @@ end
local function coroutine_exec(func, ...)
local args = { ... }
- local on_complete
+ local on_complete --- @type function?
if #args > 0 and type(args[#args]) == 'function' then
-- completion callback
@@ -54,6 +60,8 @@ function Session.new(stream)
}, Session)
end
+--- @param timeout integer?
+--- @return string?
function Session:next_message(timeout)
local function on_request(method, args, response)
table.insert(self._pending_messages, { 'request', method, args, response })
@@ -86,6 +94,10 @@ function Session:notify(method, ...)
self._msgpack_rpc_stream:write(method, { ... })
end
+--- @param method string
+--- @param ... any
+--- @return boolean
+--- @return table
function Session:request(method, ...)
local args = { ... }
local err, result