lua-ls.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 = 10000
  26. }
  27. }
  28. }
  29. }
  30. if O.lang.lua.autoformat then
  31. require('lv-utils').define_augroups({
  32. _lua_autoformat = {
  33. {
  34. 'BufWritePre', '*.lua',
  35. 'lua vim.lsp.buf.formatting_sync(nil, 1000)'
  36. }
  37. }
  38. })
  39. end