aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-29 22:03:42 +0200
committerGitHub <noreply@github.com>2022-07-29 20:03:42 +0000
commit5cec196fe2874767f70a4b84af23290ea5f1a14d (patch)
tree95e61f5ede212213f742af7b48e1c15e8d74c6be /lua
parentfeat: add fixjson (#191) (diff)
downloadmason-5cec196fe2874767f70a4b84af23290ea5f1a14d.tar
mason-5cec196fe2874767f70a4b84af23290ea5f1a14d.tar.gz
mason-5cec196fe2874767f70a4b84af23290ea5f1a14d.tar.bz2
mason-5cec196fe2874767f70a4b84af23290ea5f1a14d.tar.lz
mason-5cec196fe2874767f70a4b84af23290ea5f1a14d.tar.xz
mason-5cec196fe2874767f70a4b84af23290ea5f1a14d.tar.zst
mason-5cec196fe2874767f70a4b84af23290ea5f1a14d.zip
fix(ui): ensure window is active before getting cursor (#196)
* fix(ui): ensure window is active before getting cursor * fixup Co-authored-by: williambotman[bot] <william+bot@redwill.se>
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)