mirror of
https://github.com/LazyVim/LazyVim.git
synced 2026-03-10 01:17:25 +00:00
fix(util.lsp): pass formatters_by_ft to opts (#6894)
## Description Herec64a61734f/lua/lazyvim/util/lsp.lua (L50)we call directly `conform.format` with our specific options. `conform.nvim` also allows passing options such as `lsp_format` directly to `formatter_by_ft` as also can be seen [here](5420c4b5ea/doc/conform.txt (L20-L21)). Those options are not passed when we call `conform.format(opts)` in the LSP formatter. So, we add these options. Also, fix the correct name for general format options, since it had been changed at some time in `conform.nvim` and that change made it to the plugin spec, but not here. <!-- Describe the big picture of your changes to communicate to the maintainers why we should accept this pull request. --> ## Related Issue(s) Fixes #6893 <!-- If this PR fixes any issues, please link to the issue here. - Fixes #<issue_number> --> ## Screenshots <!-- Add screenshots of the changes if applicable. --> ## Checklist - [x] I've read the [CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md) guidelines.
This commit is contained in:
committed by
GitHub
parent
16713e6e12
commit
03f1293e33
@@ -35,18 +35,14 @@ end
|
|||||||
|
|
||||||
---@param opts? lsp.Client.format
|
---@param opts? lsp.Client.format
|
||||||
function M.format(opts)
|
function M.format(opts)
|
||||||
opts = vim.tbl_deep_extend(
|
opts = vim.tbl_deep_extend("force", {}, opts or {}, LazyVim.opts("nvim-lspconfig").format or {})
|
||||||
"force",
|
|
||||||
{},
|
|
||||||
opts or {},
|
|
||||||
LazyVim.opts("nvim-lspconfig").format or {},
|
|
||||||
LazyVim.opts("conform.nvim").format or {}
|
|
||||||
)
|
|
||||||
local ok, conform = pcall(require, "conform")
|
local ok, conform = pcall(require, "conform")
|
||||||
-- use conform for formatting with LSP when available,
|
-- use conform for formatting with LSP when available,
|
||||||
-- since it has better format diffing
|
-- since it has better format diffing
|
||||||
if ok then
|
if ok then
|
||||||
opts.formatters = {}
|
-- It should be `nil`, otherwise it doesn't fetch options from `formatters_by_ft`,
|
||||||
|
-- see https://github.com/stevearc/conform.nvim/blob/5420c4b5ea0aeb99c09cfbd4fd0b70d257b44f25/lua/conform/init.lua#L417-L418
|
||||||
|
opts.formatters = nil
|
||||||
conform.format(opts)
|
conform.format(opts)
|
||||||
else
|
else
|
||||||
vim.lsp.buf.format(opts)
|
vim.lsp.buf.format(opts)
|
||||||
|
|||||||
Reference in New Issue
Block a user