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:
parent
3122db6536
commit
a29deaa9bc
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
3
home/vim/plugin/settings/formatting.lua
Normal file
3
home/vim/plugin/settings/formatting.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
local lsp_format = require("lsp-format")
|
||||
|
||||
lsp_format.setup({})
|
Loading…
Reference in a new issue