From 39b1269674b249da167796f759f0df4ccc217acb Mon Sep 17 00:00:00 2001 From: omri Date: Sat, 8 Jul 2023 15:20:42 +0300 Subject: [PATCH] nvim: move from native formatter to formatter.nvim --- .config/nvim/lua/mappings.lua | 5 ++--- .config/nvim/lua/plugins.lua | 9 +++++++++ .config/nvim/lua/plugins/formatter.lua | 23 +++++++++++++++++++++++ .config/nvim/lua/plugins/whichkey.lua | 1 + 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 .config/nvim/lua/plugins/formatter.lua diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index 702c417..a717a55 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -66,12 +66,11 @@ vim.keymap.set("n", "gi", "Telescope lsp_implementations") vim.keymap.set("n", "gr", "Telescope lsp_references") vim.keymap.set("n", "gq", "Telescope diagnostics") vim.keymap.set("n", "gs", "LspRestart") +vim.keymap.set("n", "gf", "Format") +vim.keymap.set("n", "gF", "FormatWrite") vim.keymap.set("n", "ga", function() vim.lsp.buf.code_action() end) -vim.keymap.set("n", "gf", function() - vim.lsp.buf.formatting() -end) vim.keymap.set("n", "gD", function() vim.lsp.buf.declaration() end) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index 177c2c7..9871b60 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -92,6 +92,15 @@ require("packer").startup(function() end, }) + -- formatter + use({ + "mhartington/formatter.nvim", + cmd = { "Format", "FormatWrite" }, + config = function() + require("plugins.formatter") + end, + }) + -- dap use({ "mfussenegger/nvim-dap", diff --git a/.config/nvim/lua/plugins/formatter.lua b/.config/nvim/lua/plugins/formatter.lua new file mode 100644 index 0000000..5000c2f --- /dev/null +++ b/.config/nvim/lua/plugins/formatter.lua @@ -0,0 +1,23 @@ +require("formatter").setup { + filetype = { + lua = { + require("formatter.filetypes.lua").stylua, + }, + go = { + require("formatter.filetypes.go").gofumpt, + require("formatter.filetypes.go").gofumports, + }, + json = { + require("formatter.filetypes.json").jq, + }, + python = { + require("formatter.filetypes.python").autopep8, + }, + rust = { + require("formatter.filetypes.rust").rustfmt, + }, + toml = { + require("formatter.filetypes.toml").taplo, + }, + } +} diff --git a/.config/nvim/lua/plugins/whichkey.lua b/.config/nvim/lua/plugins/whichkey.lua index 07eb81c..32d5524 100644 --- a/.config/nvim/lua/plugins/whichkey.lua +++ b/.config/nvim/lua/plugins/whichkey.lua @@ -30,6 +30,7 @@ wk.register({ d = "Go To Definition", e = "Show Line Diagnostics", f = "Format Code", + F = "Format Code And Write Changes", i = "Show Implementations", k = "Hover", n = "Rename",