I'm new to neovim (or vim) settings and I was trying to require '.lua' file but failed.
This is my directory structure.
~/.config/nvim
├ init.vim
├ /lua
├ basic.lua
and these are my codes.
~/.config/nvim/init.vim
lua require('basic')
~/.config/nvim/lua/basic.lua
print('hello from basic.lua')
and error logs (My system is M2 MacOS)
E5108: Error executing lua [string ":lua"]:1: module 'basic' not found:
no field package.preload['basic']
no file './basic.lua'
no file '/opt/homebrew/share/luajit-2.1.0-beta3/basic.lua'
no file '/usr/local/share/lua/5.1/basic.lua'
no file '/usr/local/share/lua/5.1/basic/init.lua'
no file '/opt/homebrew/share/lua/5.1/basic.lua'
no file '/opt/homebrew/share/lua/5.1/basic/init.lua'
no file './basic.so'
no file '/usr/local/lib/lua/5.1/basic.so'
no file '/opt/homebrew/lib/lua/5.1/basic.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
[C]: in function 'require'
[string ":lua"]:1: in main chunk
I found that I can requiring like require('lua.basic')
runs okay.
So I'm assuming that '~/.config/nvim' is contained in runtimepath
.
But how can I check my lua runtimepath
and modify it?
You can get your current runtimepath via Neovim API with nvim_list_runtime_paths()
function :
:lua print(vim.inspect(vim.api.nvim_list_runtime_paths()))