diff options
| author | kylo252 <[email protected]> | 2021-10-04 08:12:25 +0200 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2021-10-04 08:12:25 +0200 | 
| commit | 2104e3864550e28513cbad5cb2f48233c2c4e79e (patch) | |
| tree | 29d2834d2d37866a062f22b228e217558c560403 | |
| parent | 1078f43a517d5a0056b1191aca0fa85994a38ecb (diff) | |
fix: restore the ability to override formatting (#1677)
| -rw-r--r-- | lua/lsp/init.lua | 21 | 
1 files changed, 20 insertions, 1 deletions
| diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 7f20a39d..fae7ca8d 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -62,18 +62,37 @@ function M.common_capabilities()    return capabilities  end +local function select_default_formater(client) +  local client_formatting = client.resolved_capabilities.document_formatting +    or client.resolved_capabilities.document_range_formatting +  if client.name == "null-ls" or not client_formatting then +    return +  end +  Log:debug("Checking for formatter overriding for " .. client.name) +  local client_filetypes = client.config.filetypes or {} +  for _, filetype in ipairs(client_filetypes) do +    if not vim.tbl_isempty(lvim.lang[filetype].formatters) then +      Log:debug("Formatter overriding detected. Disabling formatting capabilities for " .. client.name) +      client.resolved_capabilities.document_formatting = false +      client.resolved_capabilities.document_range_formatting = false +      return +    end +  end +end +  function M.common_on_init(client, bufnr)    if lvim.lsp.on_init_callback then      lvim.lsp.on_init_callback(client, bufnr)      Log:debug "Called lsp.on_init_callback"      return    end +  select_default_formater(client)  end  function M.common_on_attach(client, bufnr)    if lvim.lsp.on_attach_callback then      lvim.lsp.on_attach_callback(client, bufnr) -    Log:debug "Called lsp.on_init_callback" +    Log:debug "Called lsp.on_attach_callback"    end    lsp_highlight_document(client)    add_lsp_buffer_keybindings(bufnr) | 
