diff options
| author | Christian Chiarulli <[email protected]> | 2021-07-25 14:45:40 -0400 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2021-07-25 14:45:40 -0400 | 
| commit | c512ac568322f871c3ee0bea32f6d508623087dc (patch) | |
| tree | 19e6ec2f6adff7512629e0ca3da3bf8ed8283019 | |
| parent | 4c4dcf3221f5fb430e28ced894f4bd591f0cc85a (diff) | |
only one formatter is allowed (#1095)
Co-authored-by: christianchiarulli <[email protected]>
| -rw-r--r-- | lua/lsp/init.lua | 27 | ||||
| -rw-r--r-- | lua/lsp/null-ls.lua | 2 | 
2 files changed, 28 insertions, 1 deletions
| diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index dab2cfe4..827753c6 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -208,6 +208,14 @@ function lsp_config.common_on_attach(client, bufnr)    lsp_highlight_document(client)  end +local function no_formatter_on_attach(client, bufnr) +  if lvim.lsp.on_attach_callback then +    lvim.lsp.on_attach_callback(client, bufnr) +  end +  lsp_highlight_document(client) +  client.resolved_capabilities.document_formatting = false +end +  function lsp_config.common_capabilities()    local capabilities = vim.lsp.protocol.make_client_capabilities()    capabilities.textDocument.completion.completionItem.snippetSupport = true @@ -310,9 +318,26 @@ function lsp_config.setup(lang)        return      end    end +  local sources = require("lsp.null-ls").setup(lang) + +  for _, source in pairs(sources) do +    local method = source.method +    local format_method = "NULL_LS_FORMATTING" + +    if is_table(method) then +      if has_value(method, format_method) then +        lang_server.setup.on_attach = no_formatter_on_attach +      end +    end + +    if is_string(method) then +      if method == format_method then +        lang_server.setup.on_attach = no_formatter_on_attach +      end +    end +  end    require("lspconfig")[provider].setup(lang_server.setup) -  require("lsp.null-ls").setup(lang)  end  return lsp_config diff --git a/lua/lsp/null-ls.lua b/lua/lsp/null-ls.lua index 15fd3628..48924be5 100644 --- a/lua/lsp/null-ls.lua +++ b/lua/lsp/null-ls.lua @@ -76,6 +76,8 @@ end  function M.setup(filetype)    setup(filetype, "formatting")    setup(filetype, "diagnostics") +  lvim.sources = sources +  return sources  end  return M | 
