diff options
| author | Björn Linse <bjorn.linse@gmail.com> | 2017-05-10 17:39:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-10 17:39:09 +0200 |
| commit | 031756c5e6a3dc2b9e811086a2531a41e4f58a19 (patch) | |
| tree | 294effe35254d53766dfe2358415f26e8dd61cb9 /scripts/geneval.lua | |
| parent | d9023b84e63f51611cf55f72ca5e021d64ba7ce9 (diff) | |
| parent | 2d5920ae1ada751811e04bcc8d3a8fe4f890617a (diff) | |
| download | rneovim-031756c5e6a3dc2b9e811086a2531a41e4f58a19.tar.gz rneovim-031756c5e6a3dc2b9e811086a2531a41e4f58a19.tar.bz2 rneovim-031756c5e6a3dc2b9e811086a2531a41e4f58a19.zip | |
Merge pull request #6618 from bfredl/ui_event
generate UI remote event wrappers and add them to metadata
Diffstat (limited to 'scripts/geneval.lua')
| -rw-r--r-- | scripts/geneval.lua | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/scripts/geneval.lua b/scripts/geneval.lua deleted file mode 100644 index b17ecb1a0c..0000000000 --- a/scripts/geneval.lua +++ /dev/null @@ -1,67 +0,0 @@ -mpack = require('mpack') - -local nvimsrcdir = arg[1] -local autodir = arg[2] -local metadata_file = arg[3] -local funcs_file = arg[4] - -if nvimsrcdir == '--help' then - print([[ -Usage: - lua geneval.lua src/nvim build/src/nvim/auto - -Will generate build/src/nvim/auto/funcs.generated.h with definition of functions -static const array. -]]) - os.exit(0) -end - -package.path = nvimsrcdir .. '/?.lua;' .. package.path - -local funcsfname = autodir .. '/funcs.generated.h' - -local gperfpipe = io.open(funcsfname .. '.gperf', 'wb') - -local funcs = require('eval').funcs -local metadata = mpack.unpack(io.open(arg[3], 'rb'):read("*all")) -for i,fun in ipairs(metadata) do - if not fun.noeval then - funcs[fun.name] = { - args=#fun.parameters, - func='api_wrapper', - data='&handle_'..fun.name, - } - end -end - -local funcsdata = io.open(funcs_file, 'w') -funcsdata:write(mpack.pack(funcs)) -funcsdata:close() - -gperfpipe:write([[ -%language=ANSI-C -%global-table -%readonly-tables -%define initializer-suffix ,0,0,NULL,NULL -%define word-array-name functions -%define hash-function-name hash_internal_func_gperf -%define lookup-function-name find_internal_func_gperf -%omit-struct-type -%struct-type -VimLFuncDef; -%% -]]) - -for name, def in pairs(funcs) do - args = def.args or 0 - if type(args) == 'number' then - args = {args, args} - elseif #args == 1 then - args[2] = 'MAX_FUNC_ARGS' - end - func = def.func or ('f_' .. name) - data = def.data or "NULL" - gperfpipe:write(('%s, %s, %s, &%s, (FunPtr)%s\n') - :format(name, args[1], args[2], func, data)) -end -gperfpipe:close() |