From 644acc8751f962af2c01cd0a42fd126c1decd442 Mon Sep 17 00:00:00 2001 From: huibosa_macmini Date: Fri, 1 Aug 2025 07:08:32 +0800 Subject: [PATCH] refactor(diagnostics): replace goto_next/prev with jump --- lua/nvim-next/integrations/diagnostic.lua | 33 ++++++++++++++--------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/lua/nvim-next/integrations/diagnostic.lua b/lua/nvim-next/integrations/diagnostic.lua index 6a5ced2..8caede6 100644 --- a/lua/nvim-next/integrations/diagnostic.lua +++ b/lua/nvim-next/integrations/diagnostic.lua @@ -1,26 +1,33 @@ local move = require("nvim-next.move") return function() + local default_forward = { count = 1, float = true } + local default_backward = { count = -1, float = true } + + --- Internal helper to merge opts into defaults (keeps existing default keys) + local function merge_opts(defaults, overrides) + return vim.tbl_deep_extend("keep", defaults, overrides or {}) + end + return { goto_next = function(opts) + local forward_opts = merge_opts(default_forward, opts) + local backward_opts = merge_opts(default_backward, opts) + return move.make_forward_repeatable_move( - function() - vim.diagnostic.goto_next(opts) - end, - function() - vim.diagnostic.goto_prev(opts) - end + function() vim.diagnostic.jump(forward_opts) end, + function() vim.diagnostic.jump(backward_opts) end ) end, + goto_prev = function(opts) + local forward_opts = merge_opts(default_forward, opts) + local backward_opts = merge_opts(default_backward, opts) + return move.make_backward_repeatable_move( - function() - vim.diagnostic.goto_prev(opts) - end, - function() - vim.diagnostic.goto_next(opts) - end + function() vim.diagnostic.jump(backward_opts) end, + function() vim.diagnostic.jump(forward_opts) end ) - end + end, } end