diff options
Diffstat (limited to '.config/nvim/ftplugin/lua.lua')
-rw-r--r-- | .config/nvim/ftplugin/lua.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/.config/nvim/ftplugin/lua.lua b/.config/nvim/ftplugin/lua.lua new file mode 100644 index 0000000..3eec445 --- /dev/null +++ b/.config/nvim/ftplugin/lua.lua @@ -0,0 +1,44 @@ +-- https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone) +local sumneko_root_path = DATA_PATH .. "/lspinstall/lua" +local sumneko_binary = sumneko_root_path .. "/sumneko-lua-language-server" + +require("lspconfig").sumneko_lua.setup { + cmd = { sumneko_binary, "-E", sumneko_root_path .. "/main.lua" }, + on_attach = require("cfg.lsp").common_on_attach, + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = "LuaJIT", + -- Setup your lua path + path = vim.split(package.path, ";"), + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = { + [vim.fn.expand "$VIMRUNTIME/lua"] = true, + [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true, + }, + maxPreload = 100000, + preloadFileSize = 1000, + }, + }, + }, +} +if O.lang.lua.autoformat then + require("cfg.utils").define_augroups { + _lua_autoformat = { + { + "BufWritePre", + "*.lua", + "lua vim.lsp.buf.formatting_sync(nil, 1000)", + }, + }, + } +end + +vim.cmd "setl ts=2 sw=2" |