feat(lsp): bind formatexpr and omnifunc by default (#2865)

This commit is contained in:
kylo252 2022-07-31 14:27:59 +02:00 committed by GitHub
parent 6ab3e8a739
commit dec21bbab6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 5 deletions

View file

@ -132,18 +132,20 @@ end
---filter passed to vim.lsp.buf.format
---always selects null-ls if it's available and caches the value per buffer
---@param client table client attached to a buffer
---@return table chosen clients
---@return boolean if client matches
function M.format_filter(client)
local filetype = vim.bo.filetype
local n = require "null-ls"
local s = require "null-ls.sources"
local method = n.methods.FORMATTING
local avalable_sources = s.get_available(filetype, method)
local avalable_formatters = s.get_available(filetype, method)
if #avalable_sources > 0 then
if #avalable_formatters > 0 then
return client.name == "null-ls"
else
elseif client.supports_method "textDocument/formatting" then
return true
else
return false
end
end
@ -159,6 +161,7 @@ function M.format(opts)
local bufnr = opts.bufnr or vim.api.nvim_get_current_buf()
---@type table|nil
local clients = vim.lsp.get_active_clients {
id = opts.id,
bufnr = bufnr,