Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Call custom Lua function in Vimscript function
In init.vim
, I have a Vimscript function that calls a Lua function and returns its value:
function! CallLuaFunction()
return luaeval("require('functions').say_hello()")
endfunction
The Lua function is defined in lua/functions.lua
:
function say_hello()
return "Hello from lua/functions.lua!"
end
This is all experimental, so I've set up a mapping in init.vim
:
nnoremap <F2> :echo CallLuaFunction()<cr>
But this produces an error:
E5108: Error executing lua [string "luaeval()"]:1: attempt to index a boolean value
How can I call a custom Lua function from Vimscript?
1 answer
The following users marked this post as Works for me:
User | Comment | Date |
---|---|---|
Matthias Braun | (no comment) | Feb 20, 2025 at 01:05 |
To fix this, create a table in the Lua file, add the function, and return the table:
local M = {}
function M.say_hello()
return "Hello from lua/functions.lua!"
end
return M
0 comment threads