mirror of
https://github.com/neovim/neovim.git
synced 2025-09-08 12:28:18 +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:
@@ -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