diff options
Diffstat (limited to 'test/functional/fixtures/lsp-test-rpc-server.lua')
-rw-r--r-- | test/functional/fixtures/lsp-test-rpc-server.lua | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/test/functional/fixtures/lsp-test-rpc-server.lua b/test/functional/fixtures/lsp-test-rpc-server.lua index 798883ced0..44117bea30 100644 --- a/test/functional/fixtures/lsp-test-rpc-server.lua +++ b/test/functional/fixtures/lsp-test-rpc-server.lua @@ -1,24 +1,5 @@ local protocol = require 'vim.lsp.protocol' --- Internal utility methods. - --- TODO replace with a better implementation. -local function json_encode(data) - local status, result = pcall(vim.fn.json_encode, data) - if status then - return result - else - return nil, result - end -end -local function json_decode(data) - local status, result = pcall(vim.fn.json_decode, data) - if status then - return result - else - return nil, result - end -end local function message_parts(sep, ...) local parts = {} @@ -49,16 +30,14 @@ local function format_message_with_content_length(encoded_message) } end --- Server utility methods. - local function read_message() local line = io.read("*l") local length = line:lower():match("content%-length:%s*(%d+)") - return assert(json_decode(io.read(2 + length):sub(2)), "read_message.json_decode") + return vim.fn.json_decode(io.read(2 + length):sub(2)) end local function send(payload) - io.stdout:write(format_message_with_content_length(json_encode(payload))) + io.stdout:write(format_message_with_content_length(vim.fn.json_encode(payload))) end local function respond(id, err, result) @@ -454,6 +433,6 @@ kill_timer:stop() kill_timer:close() if not status then io.stderr:write(err) - os.exit(1) + os.exit(101) end os.exit(0) |