utils.lua 605 B

12345678910111213141516171819202122232425262728
  1. local M = {}
  2. function M.is_client_active(name)
  3. local clients = vim.lsp.get_active_clients()
  4. for _, client in pairs(clients) do
  5. if client.name == name then
  6. return true, client
  7. end
  8. end
  9. return false
  10. end
  11. -- FIXME: this should return a list instead
  12. function M.get_active_client_by_ft(filetype)
  13. if not lvim.lang[filetype] or not lvim.lang[filetype].lsp then
  14. return nil
  15. end
  16. local clients = vim.lsp.get_active_clients()
  17. for _, client in pairs(clients) do
  18. if client.name == lvim.lang[filetype].lsp.provider then
  19. return client
  20. end
  21. end
  22. return nil
  23. end
  24. return M