aboutsummaryrefslogtreecommitdiff
path: root/scripts/genvimvim.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2016-06-19 16:41:08 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2016-08-31 21:57:04 +0200
commit7e2348f2b1b487c875bbcf6c6711a276f9063040 (patch)
tree9c00dc0c619c419e2819ad1a324a3aaf5b185aff /scripts/genvimvim.lua
parent87e054bb24cd4ba8cd06eb1a65f956c6bcce222d (diff)
downloadrneovim-7e2348f2b1b487c875bbcf6c6711a276f9063040.tar.gz
rneovim-7e2348f2b1b487c875bbcf6c6711a276f9063040.tar.bz2
rneovim-7e2348f2b1b487c875bbcf6c6711a276f9063040.zip
eval: use gperf to generate the hash of builtin functions
make api functions highlighted as builtins in vim.vim
Diffstat (limited to 'scripts/genvimvim.lua')
-rw-r--r--scripts/genvimvim.lua9
1 files changed, 5 insertions, 4 deletions
diff --git a/scripts/genvimvim.lua b/scripts/genvimvim.lua
index 729749a52f..24c147b811 100644
--- a/scripts/genvimvim.lua
+++ b/scripts/genvimvim.lua
@@ -1,3 +1,5 @@
+mpack = require('mpack')
+
if arg[1] == '--help' then
print('Usage: lua genvimvim.lua src/nvim runtime/syntax/vim/generated.vim')
os.exit(0)
@@ -5,6 +7,7 @@ end
local nvimsrcdir = arg[1]
local syntax_file = arg[2]
+local funcs_file = arg[3]
package.path = nvimsrcdir .. '/?.lua;' .. package.path
@@ -23,7 +26,6 @@ end
local options = require('options')
local auevents = require('auevents')
local ex_cmds = require('ex_cmds')
-local eval = require('eval')
local cmd_kw = function(prev_cmd, cmd)
if not prev_cmd then
@@ -112,9 +114,9 @@ end
w('\n\nsyn case match')
local vimfun_start = 'syn keyword vimFuncName contained '
w('\n\n' .. vimfun_start)
-eval_fd = io.open(nvimsrcdir .. '/eval.c', 'r')
+funcs = mpack.unpack(io.open(funcs_file):read("*all"))
local started = 0
-for name, def in pairs(eval.funcs) do
+for name, def in pairs(funcs) do
if name then
if lld.line_length > 850 then
w('\n' .. vimfun_start)
@@ -122,7 +124,6 @@ for name, def in pairs(eval.funcs) do
w(' ' .. name)
end
end
-eval_fd:close()
w('\n')
syn_fd:close()