lua.lua 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. -- https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone)
  2. local sumneko_root_path = DATA_PATH .. "/lspinstall/lua"
  3. local sumneko_binary = sumneko_root_path .. "/sumneko-lua-language-server"
  4. require("lspconfig").sumneko_lua.setup {
  5. cmd = { sumneko_binary, "-E", sumneko_root_path .. "/main.lua" },
  6. on_attach = require("lsp").common_on_attach,
  7. settings = {
  8. Lua = {
  9. runtime = {
  10. -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
  11. version = "LuaJIT",
  12. -- Setup your lua path
  13. path = vim.split(package.path, ";"),
  14. },
  15. diagnostics = {
  16. -- Get the language server to recognize the `vim` global
  17. globals = { "vim" },
  18. },
  19. workspace = {
  20. -- Make the server aware of Neovim runtime files
  21. library = {
  22. [vim.fn.expand "$VIMRUNTIME/lua"] = true,
  23. [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true,
  24. },
  25. maxPreload = 100000,
  26. preloadFileSize = 1000,
  27. },
  28. },
  29. },
  30. }
  31. if O.lang.lua.autoformat then
  32. require("lv-utils").define_augroups {
  33. _lua_autoformat = {
  34. {
  35. "BufWritePre",
  36. "*.lua",
  37. "lua vim.lsp.buf.formatting_sync(nil, 1000)",
  38. },
  39. },
  40. }
  41. end
  42. vim.cmd "setl ts=2 sw=2"