diff options
| author | William Boman <william@redwill.se> | 2022-07-17 14:41:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-17 14:41:49 +0200 |
| commit | 99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1 (patch) | |
| tree | c9544773baa4f0e5ea925dc09a8086d8f0d9a087 /lua/mason-core | |
| parent | chore: update generated code (#89) (diff) | |
| download | mason-99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1.tar mason-99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1.tar.gz mason-99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1.tar.bz2 mason-99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1.tar.lz mason-99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1.tar.xz mason-99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1.tar.zst mason-99c69b16bc5a0a4e5bbaa5ad4d11911ca59235e1.zip | |
feat(ui): bring focus to the installation section when :MasonInstall (#90)
Diffstat (limited to 'lua/mason-core')
| -rw-r--r-- | lua/mason-core/ui/display.lua | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lua/mason-core/ui/display.lua b/lua/mason-core/ui/display.lua index 7a61d766..2bae3d81 100644 --- a/lua/mason-core/ui/display.lua +++ b/lua/mason-core/ui/display.lua @@ -195,7 +195,7 @@ end ---@param filetype string function M.new_view_only_win(name, filetype) local namespace = vim.api.nvim_create_namespace(("installer_%s"):format(name)) - local bufnr, renderer, mutate_state, get_state, unsubscribe, win_id, window_mgmt_augroup, autoclose_augroup, registered_keymaps, registered_keybinds, registered_effect_handlers + local bufnr, renderer, mutate_state, get_state, unsubscribe, win_id, window_mgmt_augroup, autoclose_augroup, registered_keymaps, registered_keybinds, registered_effect_handlers, sticky_cursor local has_initiated = false ---@type WindowOpts local window_opts = {} @@ -261,7 +261,6 @@ function M.new_view_only_win(name, filetype) win_width = win_width, } local cursor_pos_pre_render = vim.api.nvim_win_get_cursor(win_id) - local sticky_cursor if output then sticky_cursor = output.sticky_cursors.line_map[cursor_pos_pre_render[1]] end @@ -501,6 +500,17 @@ 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, + ---@param tag any + set_sticky_cursor = function(tag) + if output then + local new_sticky_cursor_line = output.sticky_cursors.id_map[tag] + if new_sticky_cursor_line then + sticky_cursor = tag + local cursor = vim.api.nvim_win_get_cursor(win_id) + vim.api.nvim_win_set_cursor(win_id, { new_sticky_cursor_line, cursor[2] }) + end + end + end, } end |
