diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-08-01 14:01:19 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2023-08-07 13:11:15 +0200 |
commit | 7bc93e0e2f246dd78026a3472d929a0fe450f70d (patch) | |
tree | 9e5b99830c3f08e0ffd75c7a0533b39033490a5b /scripts/gen_eval_files.lua | |
parent | c01e624b0762b24a4988bf9474a57d5b6278d180 (diff) | |
download | rneovim-7bc93e0e2f246dd78026a3472d929a0fe450f70d.tar.gz rneovim-7bc93e0e2f246dd78026a3472d929a0fe450f70d.tar.bz2 rneovim-7bc93e0e2f246dd78026a3472d929a0fe450f70d.zip |
refactor(api): use typed keysets
Initially this is just for geting rid of boilerplate,
but eventually the types could get exposed as metadata
Diffstat (limited to 'scripts/gen_eval_files.lua')
-rwxr-xr-x | scripts/gen_eval_files.lua | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/scripts/gen_eval_files.lua b/scripts/gen_eval_files.lua index c3123fd47c..eea76958ae 100755 --- a/scripts/gen_eval_files.lua +++ b/scripts/gen_eval_files.lua @@ -260,19 +260,18 @@ local function get_api_keysets() local ret = {} --- @type table<string, vim.EvalFn> - --- @type {[1]: string, [2]: {[1]: string, [2]: string}[] }[] + --- @type {name: string, keys: string[], types: table<string,string>}[] local keysets = metadata.keysets - for _, keyset in ipairs(keysets) do - local kname = keyset[1] - local kdef = keyset[2] - for _, field in ipairs(kdef) do - field[2] = api_type(field[2]) + for _, k in ipairs(keysets) do + local params = {} + for _, key in ipairs(k.keys) do + table.insert(params, {key, api_type(k.types[key] or 'any')}) end - ret[kname] = { + ret[k.name] = { signature = 'NA', - name = kname, - params = kdef, + name = k.name, + params = params, } end |