diff --git a/lua/lspsaga/diagnostic/init.lua b/lua/lspsaga/diagnostic/init.lua index 71108aac2..53e01b4c1 100644 --- a/lua/lspsaga/diagnostic/init.lua +++ b/lua/lspsaga/diagnostic/init.lua @@ -415,7 +415,7 @@ function diag:move_cursor(entry) if width <= 0 then width = #api.nvim_get_current_line() end - jump_beacon({ entry.lnum, entry.col }, width) + jump_beacon({ entry.lnum, entry.col or entry.end_col }, width) -- Open folds under the cursor vim.cmd('normal! zv') end) diff --git a/lua/lspsaga/diagnostic/show.lua b/lua/lspsaga/diagnostic/show.lua index 159245557..2e07b44e1 100644 --- a/lua/lspsaga/diagnostic/show.lua +++ b/lua/lspsaga/diagnostic/show.lua @@ -334,6 +334,11 @@ function sd:show(opt) end function sd:show_diagnostics(opt) + local has_jump_win = require('lspsaga.diagnostic').winid + if has_jump_win and api.nvim_win_is_valid(has_jump_win) then + return + end + local entrys = diag:get_diagnostic(opt) if next(entrys) == nil then return