home: vim: use 'lsp-formatting.nvim'

A few things that are different:
* Async by default.
* Takes care of the order of formatters, if I ever need to do that.
* Allows for easily disabling formatting (unfortunately this is global
  state, not buffer-local).
* Gets rid of the formatting pause when doing `:wq`.
This commit is contained in:
Bruno BELANYI 2023-02-27 14:53:31 +00:00
parent 3122db6536
commit a29deaa9bc
3 changed files with 8 additions and 11 deletions

View file

@ -67,6 +67,7 @@ in
# LSP and linting
nvim-lspconfig # Easy LSP configuration
lsp-format-nvim # Simplified formatting configuration
lsp_lines-nvim # Show diagnostics *over* regions
null-ls-nvim # LSP integration for linters and formatters
nvim-treesitter.withAllGrammars # Better highlighting

View file

@ -1,5 +1,8 @@
local M = {}
-- Simplified LSP formatting configuration
local lsp_format = require("lsp-format")
-- shared LSP configuration callback
-- @param client native client configuration
-- @param bufnr int? buffer number of the attched client
@ -30,17 +33,7 @@ M.on_attach = function(client, bufnr)
})
-- Format on save
if client.supports_method("textDocument/formatting") then
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup,
buffer = bufnr,
callback = function()
vim.lsp.buf.format({ bufnr = bufnr })
end,
})
end
lsp_format.on_attach(client, bufnr)
-- Mappings
local wk = require("which-key")

View file

@ -0,0 +1,3 @@
local lsp_format = require("lsp-format")
lsp_format.setup({})