init.lua 850 B

1234567891011121314151617181920212223242526272829303132
  1. local M = {}
  2. local Log = require "lvim.core.log"
  3. local formatters = require "lvim.lsp.null-ls.formatters"
  4. local linters = require "lvim.lsp.null-ls.linters"
  5. function M:setup()
  6. local status_ok, null_ls = pcall(require, "null-ls")
  7. if not status_ok then
  8. Log:error "Missing null-ls dependency"
  9. return
  10. end
  11. null_ls.config()
  12. require("lspconfig")["null-ls"].setup(lvim.lsp.null_ls.setup)
  13. for filetype, config in pairs(lvim.lang) do
  14. if not vim.tbl_isempty(config.formatters) then
  15. vim.tbl_map(function(c)
  16. c.filetypes = { filetype }
  17. end, config.formatters)
  18. formatters.setup(config.formatters)
  19. end
  20. if not vim.tbl_isempty(config.linters) then
  21. vim.tbl_map(function(c)
  22. c.filetypes = { filetype }
  23. end, config.formatters)
  24. linters.setup(config.linters)
  25. end
  26. end
  27. end
  28. return M