From b487984ecc61c6229cf92550030745c192fd3d0b Mon Sep 17 00:00:00 2001 From: Arnold Sommerfeld Date: Wed, 17 May 2023 18:44:48 +0100 Subject: first commit --- home/.config/nvim/lua/cfg/utils.lua | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 home/.config/nvim/lua/cfg/utils.lua (limited to 'home/.config/nvim/lua/cfg/utils.lua') diff --git a/home/.config/nvim/lua/cfg/utils.lua b/home/.config/nvim/lua/cfg/utils.lua new file mode 100644 index 0000000..abda35d --- /dev/null +++ b/home/.config/nvim/lua/cfg/utils.lua @@ -0,0 +1,24 @@ +local M = {} +local gitsigns = require("gitsigns") + +function M.format_hunks(options) + local hunks = require("gitsigns").get_hunks() + if not hunks or vim.tbl_isempty(hunks) then + return + end + for _, hunk in ipairs(hunks) do + local added = hunk.added + if added then + local start_line = added.start + local count = added.count + if start_line and count and start_line > 0 and count > 0 then + local end_line = start_line + added.count - 1 + local range = { start = { start_line, 0 }, ["end"] = { end_line, 0 } } + options = vim.tbl_extend("force", { range = range }, options or {}) + vim.lsp.buf.format(options) + end + end + end +end + +return M -- cgit v1.2.3-70-g09d2