mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
api: represent api type String as msgpack type STR. closes #1250
This commit is contained in:
parent
cd6b4af649
commit
57d3a2a52f
@ -175,7 +175,7 @@ Nil -> msgpack nil
|
|||||||
Boolean -> msgpack boolean
|
Boolean -> msgpack boolean
|
||||||
Integer (signed 64-bit integer) -> msgpack integer
|
Integer (signed 64-bit integer) -> msgpack integer
|
||||||
Float (IEEE 754 double precision) -> msgpack float
|
Float (IEEE 754 double precision) -> msgpack float
|
||||||
String -> msgpack binary
|
String -> msgpack string
|
||||||
Array -> msgpack array
|
Array -> msgpack array
|
||||||
Dictionary -> msgpack map
|
Dictionary -> msgpack map
|
||||||
|
|
||||||
|
@ -225,8 +225,8 @@ void msgpack_rpc_from_float(Float result, msgpack_packer *res)
|
|||||||
void msgpack_rpc_from_string(String result, msgpack_packer *res)
|
void msgpack_rpc_from_string(String result, msgpack_packer *res)
|
||||||
FUNC_ATTR_NONNULL_ARG(2)
|
FUNC_ATTR_NONNULL_ARG(2)
|
||||||
{
|
{
|
||||||
msgpack_pack_bin(res, result.size);
|
msgpack_pack_str(res, result.size);
|
||||||
msgpack_pack_bin_body(res, result.data, result.size);
|
msgpack_pack_str_body(res, result.data, result.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void msgpack_rpc_from_object(Object result, msgpack_packer *res)
|
void msgpack_rpc_from_object(Object result, msgpack_packer *res)
|
||||||
@ -332,8 +332,7 @@ void msgpack_rpc_serialize_request(uint64_t request_id,
|
|||||||
msgpack_pack_uint64(pac, request_id);
|
msgpack_pack_uint64(pac, request_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_bin(pac, method.size);
|
msgpack_rpc_from_string(method, pac);
|
||||||
msgpack_pack_bin_body(pac, method.data, method.size);
|
|
||||||
msgpack_rpc_from_array(args, pac);
|
msgpack_rpc_from_array(args, pac);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -452,12 +452,12 @@ describe('msgpackparse() function', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
it('msgpackparse(systemlist(...)) does not segfault. #3135', function()
|
it('msgpackparse(systemlist(...)) does not segfault. #3135', function()
|
||||||
local cmd = "msgpackparse(systemlist('"
|
local cmd = "sort(keys(msgpackparse(systemlist('"
|
||||||
..helpers.nvim_prog.." --api-info'))['_TYPE']['_VAL'][0][0]"
|
..helpers.nvim_prog.." --api-info'))[0]))"
|
||||||
local api_info = eval(cmd)
|
local api_info = eval(cmd)
|
||||||
api_info = eval(cmd) -- do it again (try to force segfault)
|
api_info = eval(cmd) -- do it again (try to force segfault)
|
||||||
api_info = eval(cmd) -- do it again
|
api_info = eval(cmd) -- do it again
|
||||||
eq('functions', api_info)
|
eq({'error_types', 'functions', 'types'}, api_info)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it('fails when called with no arguments', function()
|
it('fails when called with no arguments', function()
|
||||||
|
Loading…
Reference in New Issue
Block a user