1
0

Add back format on save functionality

This commit is contained in:
Patrick Auernig 2024-01-06 23:51:54 +01:00
parent a6e93a6d76
commit 02d2f4066e
2 changed files with 40 additions and 6 deletions

View File

@ -0,0 +1,39 @@
local autocmd = vim.api.nvim_create_autocmd
local autogroup = vim.api.nvim_create_augroup
local spec = {
"mhartington/formatter.nvim",
}
spec.config = function()
local formatter = require("formatter")
formatter.setup({
filetype = {
c = {
require("formatter.filetypes.c").clangformat
},
}
})
end
local function format_file()
local bufnr = vim.api.nvim_get_current_buf()
local lsp_client = vim.lsp.get_active_clients({ bufnr = bufnr })
if #lsp_client ~= 0 then
vim.lsp.buf.format({ async = false, timeout_ms = 5000 })
else
vim.cmd(":FormatWrite")
end
end
vim.keymap.set("n", "<Leader>fmt", format_file)
-- Format on save
autocmd("BufWritePost", {
group = autogroup("FormatOnSave", {}),
callback = format_file,
})
return spec

View File

@ -7,13 +7,12 @@ spec.dependencies = {
"williamboman/mason-lspconfig.nvim",
"nvim-telescope/telescope.nvim",
"folke/neodev.nvim",
"mhartington/formatter.nvim",
}
spec.config = function()
-- Give me fancy diagnostic signs
vim.fn.sign_define("DiagnosticSignError ", { text = "" })
vim.fn.sign_define("DiagnosticSignWarn" , { text = "" })
vim.fn.sign_define("DiagnosticSignWarn", { text = "" })
vim.fn.sign_define("DiagnosticSignInfo ", { text = "»" })
vim.fn.sign_define("DiagnosticSignHint", { text = "" })
@ -59,10 +58,6 @@ spec.config = function()
vim.keymap.set("n", "<Leader>ci", vim.diagnostic.open_float, opts)
vim.keymap.set("n", "<Leader>re", vim.lsp.buf.rename, opts)
vim.keymap.set({ "n", "i" }, "<C-h>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<Leader>fmt", function()
vim.lsp.buf.format({ async = false, timeout_ms = 5000 })
end)
end
})