aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
diff options
context:
space:
mode:
authorMathias Fußenegger <mfussenegger@users.noreply.github.com>2022-08-08 18:30:17 +0200
committerGitHub <noreply@github.com>2022-08-08 18:30:17 +0200
commit68c674af0fbc4158690319aa6125a098a592412d (patch)
treef6777c5d927aa3852927f1ea705ae8357447a5db /runtime/lua
parentd31ee6664d3b8d37ac4bb95b3adad397e90a8da1 (diff)
downloadrneovim-68c674af0fbc4158690319aa6125a098a592412d.tar.gz
rneovim-68c674af0fbc4158690319aa6125a098a592412d.tar.bz2
rneovim-68c674af0fbc4158690319aa6125a098a592412d.zip
feat(lsp): set formatexpr by default (#19677)
Follow up to https://github.com/neovim/neovim/pull/19003
Diffstat (limited to 'runtime/lua')
-rw-r--r--runtime/lua/vim/lsp.lua15
1 files changed, 13 insertions, 2 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index b26ed0c759..7f3237bdd0 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -968,12 +968,20 @@ function lsp.start_client(config)
---@private
local function set_defaults(client, bufnr)
- if client.server_capabilities.definitionProvider and vim.bo[bufnr].tagfunc == '' then
+ local capabilities = client.server_capabilities
+ if capabilities.definitionProvider and vim.bo[bufnr].tagfunc == '' then
vim.bo[bufnr].tagfunc = 'v:lua.vim.lsp.tagfunc'
end
- if client.server_capabilities.completionProvider and vim.bo[bufnr].omnifunc == '' then
+ if capabilities.completionProvider and vim.bo[bufnr].omnifunc == '' then
vim.bo[bufnr].omnifunc = 'v:lua.vim.lsp.omnifunc'
end
+ if
+ capabilities.documentRangeFormattingProvider
+ and vim.bo[bufnr].formatprg == ''
+ and vim.bo[bufnr].formatexpr == ''
+ then
+ vim.bo[bufnr].formatexpr = 'v:lua.vim.lsp.formatexpr()'
+ end
end
---@private
@@ -986,6 +994,9 @@ function lsp.start_client(config)
if vim.bo[bufnr].omnifunc == 'v:lua.vim.lsp.omnifunc' then
vim.bo[bufnr].omnifunc = nil
end
+ if vim.bo[bufnr].formatexpr == 'v:lua.vim.lsp.formatexpr()' then
+ vim.bo[bufnr].formatexpr = nil
+ end
end
---@private