aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-core/ui/display.lua3
-rw-r--r--lua/mason/ui/instance.lua10
2 files changed, 9 insertions, 4 deletions
diff --git a/lua/mason-core/ui/display.lua b/lua/mason-core/ui/display.lua
index d1c2985a..795cac52 100644
--- a/lua/mason-core/ui/display.lua
+++ b/lua/mason-core/ui/display.lua
@@ -498,6 +498,9 @@ function M.new_view_only_win(name, filetype)
assert(win_id ~= nil, "Window has not been opened, cannot get cursor.")
return vim.api.nvim_win_get_cursor(win_id)
end,
+ is_open = function()
+ return win_id ~= nil and vim.api.nvim_win_is_valid(win_id)
+ end,
---@param tag any
set_sticky_cursor = function(tag)
if output then
diff --git a/lua/mason/ui/instance.lua b/lua/mason/ui/instance.lua
index a4234523..81fde781 100644
--- a/lua/mason/ui/instance.lua
+++ b/lua/mason/ui/instance.lua
@@ -382,14 +382,16 @@ end
local function set_view(event)
local view = event.payload
- local cursor_line = window.get_cursor()[1]
- if cursor_line > (window.get_win_config().height * 0.75) then
- window.set_sticky_cursor "tabs"
- end
mutate_package_visibility(function(state)
state.view.current = view
state.view.has_changed = true
end)
+ if window.is_open() then
+ local cursor_line = window.get_cursor()[1]
+ if cursor_line > (window.get_win_config().height * 0.75) then
+ window.set_sticky_cursor "tabs"
+ end
+ end
end
local function terminate_package_handle(event)