From 15ca1299797fec977860c38fd87b24df8cf9f5ef Mon Sep 17 00:00:00 2001 From: Garrett Date: Tue, 10 Dec 2024 19:15:20 -0500 Subject: [PATCH 1/2] feat: add equalprg --- lua/conform/formatters/equalprg.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 lua/conform/formatters/equalprg.lua diff --git a/lua/conform/formatters/equalprg.lua b/lua/conform/formatters/equalprg.lua new file mode 100644 index 00000000..d7f92fe9 --- /dev/null +++ b/lua/conform/formatters/equalprg.lua @@ -0,0 +1,14 @@ +---@type conform.FileLuaFormatterConfig +return { + meta = { + url = "https://github.com/stevearc/conform.nvim/blob/master/lua/conform/formatters/equalprg.lua", + description = "Vim's own equalprg", + }, + format = function(self, ctx, lines, callback) + local cursor_position = vim.api.nvim_win_get_cursor(0) + vim.cmd.normal("gg") + vim.cmd.normal("=G") + vim.api.nvim_win_set_cursor(0, cursor_position) + callback(nil, nil) + end, +} From 51ba2142210b07cc096121058cc10f4e3f069208 Mon Sep 17 00:00:00 2001 From: Garrett Date: Tue, 10 Dec 2024 20:58:29 -0500 Subject: [PATCH 2/2] support range --- lua/conform/formatters/equalprg.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lua/conform/formatters/equalprg.lua b/lua/conform/formatters/equalprg.lua index d7f92fe9..dbe2e524 100644 --- a/lua/conform/formatters/equalprg.lua +++ b/lua/conform/formatters/equalprg.lua @@ -6,8 +6,13 @@ return { }, format = function(self, ctx, lines, callback) local cursor_position = vim.api.nvim_win_get_cursor(0) - vim.cmd.normal("gg") - vim.cmd.normal("=G") + if ctx.range then + vim.cmd.normal(ctx.range["start"][1] .. "G") + vim.cmd.normal("=" .. ctx.range["end"][1] .. "G") + else + vim.cmd.normal("gg") + vim.cmd.normal("=G") + end vim.api.nvim_win_set_cursor(0, cursor_position) callback(nil, nil) end,