mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 11:58:17 +00:00
refactor(api)!: rename Dictionary => Dict
In the api_info() output: :new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val') ... {'return_type': 'ArrayOf(Integer, 2)', 'name': 'nvim_win_get_position', 'method': v:true, 'parameters': [['Window', 'window']], 'since': 1} The `ArrayOf(Integer, 2)` return type didn't break clients when we added it, which is evidence that clients don't use the `return_type` field, thus renaming Dictionary => Dict in api_info() is not (in practice) a breaking change.
This commit is contained in:
@@ -43,9 +43,9 @@ describe('vim_to_object', function()
|
||||
simple_test('converts empty string', '')
|
||||
simple_test('converts non-empty string', 'foobar')
|
||||
simple_test('converts integer 10', { [type_key] = int_type, value = 10 })
|
||||
simple_test('converts empty dictionary', {})
|
||||
simple_test('converts dictionary with scalar values', { test = 10, test2 = true, test3 = 'test' })
|
||||
simple_test('converts dictionary with containers inside', { test = {}, test2 = { 1, 2 } })
|
||||
simple_test('converts empty dict', {})
|
||||
simple_test('converts dict with scalar values', { test = 10, test2 = true, test3 = 'test' })
|
||||
simple_test('converts dict with containers inside', { test = {}, test2 = { 1, 2 } })
|
||||
simple_test('converts empty list', { [type_key] = list_type })
|
||||
simple_test('converts list with scalar values', { 1, 2, 'test', 'foo' })
|
||||
simple_test(
|
||||
|
@@ -35,10 +35,10 @@ local function init_obj2lua_tab()
|
||||
end
|
||||
return ret
|
||||
end,
|
||||
[tonumber(api.kObjectTypeDictionary)] = function(obj)
|
||||
[tonumber(api.kObjectTypeDict)] = function(obj)
|
||||
local ret = {}
|
||||
for i = 1, tonumber(obj.data.dictionary.size) do
|
||||
local kv_pair = obj.data.dictionary.items[i - 1]
|
||||
for i = 1, tonumber(obj.data.dict.size) do
|
||||
local kv_pair = obj.data.dict.items[i - 1]
|
||||
ret[ffi.string(kv_pair.key.data, kv_pair.key.size)] = obj2lua(kv_pair.value)
|
||||
end
|
||||
return ret
|
||||
@@ -112,8 +112,8 @@ local lua2obj_type_tab = {
|
||||
end
|
||||
end
|
||||
local len = #kvs
|
||||
local dct = obj(api.kObjectTypeDictionary, {
|
||||
dictionary = {
|
||||
local dct = obj(api.kObjectTypeDict, {
|
||||
dict = {
|
||||
size = len,
|
||||
capacity = len,
|
||||
items = ffi.cast('KeyValuePair *', api.xmalloc(len * ffi.sizeof('KeyValuePair'))),
|
||||
@@ -121,7 +121,7 @@ local lua2obj_type_tab = {
|
||||
})
|
||||
for i = 1, len do
|
||||
local key, val = unpack(kvs[i])
|
||||
dct.data.dictionary.items[i - 1] = ffi.new(
|
||||
dct.data.dict.items[i - 1] = ffi.new(
|
||||
'KeyValuePair',
|
||||
{ key = ffi.gc(lua2obj(key), nil).data.string, value = ffi.gc(lua2obj(val), nil) }
|
||||
)
|
||||
|
Reference in New Issue
Block a user