]> git.rmz.io Git - dotfiles.git/blobdiff - nvim/lua/rmz/util/lsp.lua
lazyvim: absorb formatting plugins
[dotfiles.git] / nvim / lua / rmz / util / lsp.lua
index 7424803bf5523069febcd53acc9420f3badf3af5..662781cfebeafd9d711a33b2fc8195380f27dca2 100644 (file)
@@ -189,58 +189,6 @@ function M.disable(server, cond)
   end)
 end
 
----@param opts? LazyFormatter| {filter?: (string|lsp.Client.filter)}
-function M.formatter(opts)
-  opts = opts or {}
-  local filter = opts.filter or {}
-  filter = type(filter) == "string" and { name = filter } or filter
-  ---@cast filter lsp.Client.filter
-  ---@type LazyFormatter
-  local ret = {
-    name = "LSP",
-    primary = true,
-    priority = 1,
-    format = function(buf)
-      M.format(LazyVim.merge({}, filter, { bufnr = buf }))
-    end,
-    sources = function(buf)
-      local clients = M.get_clients(LazyVim.merge({}, filter, { bufnr = buf }))
-      ---@param client vim.lsp.Client
-      local ret = vim.tbl_filter(function(client)
-        return client.supports_method("textDocument/formatting")
-          or client.supports_method("textDocument/rangeFormatting")
-      end, clients)
-      ---@param client vim.lsp.Client
-      return vim.tbl_map(function(client)
-        return client.name
-      end, ret)
-    end,
-  }
-  return LazyVim.merge(ret, opts) --[[@as LazyFormatter]]
-end
-
----@alias lsp.Client.format {timeout_ms?: number, format_options?: table} | lsp.Client.filter
-
----@param opts? lsp.Client.format
-function M.format(opts)
-  opts = vim.tbl_deep_extend(
-    "force",
-    {},
-    opts or {},
-    LazyVim.opts("nvim-lspconfig").format or {},
-    LazyVim.opts("conform.nvim").format or {}
-  )
-  local ok, conform = pcall(require, "conform")
-  -- use conform for formatting with LSP when available,
-  -- since it has better format diffing
-  if ok then
-    opts.formatters = {}
-    conform.format(opts)
-  else
-    vim.lsp.buf.format(opts)
-  end
-end
-
 M.action = setmetatable({}, {
   __index = function(_, action)
     return function()