diff options
| author | 2026-04-17 10:53:12 +0100 | |
|---|---|---|
| committer | 2026-04-17 10:53:12 +0100 | |
| commit | d301dadc3fd279b0383eb0d37dc00dfdd17e9f2b (patch) | |
| tree | 5ad0fc476b14cfc38c54447d31018b5fdef38a5a /home/.config/nvim/lua/config/utils.lua | |
| parent | 3e3d394d014dded76e3aac9a615f5efa93dd1c59 (diff) | |
| download | dotfiles-d301dadc3fd279b0383eb0d37dc00dfdd17e9f2b.tar.gz dotfiles-d301dadc3fd279b0383eb0d37dc00dfdd17e9f2b.tar.bz2 dotfiles-d301dadc3fd279b0383eb0d37dc00dfdd17e9f2b.zip | |
refactor: move core config from after/plugin/ and cfg/ to lua/config/
after/plugin/ runs after ALL plugins with unpredictable ordering. Explicit
require() from init.lua after lazy.setup() is more predictable and standard.
- after/plugin/autocmds.lua → lua/config/autocmds.lua
- after/plugin/mappings.lua → lua/config/keymaps.lua
- cfg/options.lua → config/options.lua
- cfg/utils.lua → config/utils.lua
Creates a consistent lua/config/ namespace for all non-plugin configuration.
Diffstat (limited to 'home/.config/nvim/lua/config/utils.lua')
| -rw-r--r-- | home/.config/nvim/lua/config/utils.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/home/.config/nvim/lua/config/utils.lua b/home/.config/nvim/lua/config/utils.lua new file mode 100644 index 0000000..300d7a7 --- /dev/null +++ b/home/.config/nvim/lua/config/utils.lua @@ -0,0 +1,29 @@ +local M = {} +local gitsigns = require("gitsigns") +local conform = require("conform") + +function M.format_hunks(options) + local hunks = gitsigns.get_hunks() + if not hunks or vim.tbl_isempty(hunks) then + return + end + for _, hunk in ipairs(hunks) do + if hunk and hunk.added then + local start = hunk.added.start + local last = start + hunk.added.count + -- nvim_buf_get_lines uses zero-based indexing -> subtract from last + local last_hunk_line = + vim.api.nvim_buf_get_lines(0, last - 2, last - 1, true)[1] + local range = + { start = { start, 0 }, ["end"] = { last - 1, last_hunk_line:len() } } + options = vim.tbl_extend( + "force", + { range = range, lsp_fallback = true, quiet = true }, + options or {} + ) + conform.format(options) + end + end +end + +return M |
