Release (#440)
* Feat: Enable sorting discussions by original comment (#422) * Feat: Improve popup UX (#426) * Feat: Automatically update MR summary details (#427) * Feat: Show update progress in winbar (#432) * Feat: Abbreviate winbar (#439) * Fix: Note Creation Bug (#441) * Fix: Checking whether comment can be created (#434) * Fix: Syntax in discussion tree (#433) * fix: improve indication of resolved threads and drafts (#442) * Docs: Various minor improvements (#445) --------- Co-authored-by: Jakub F. Bortlík <jakub.bortlik@proton.me>
This commit is contained in:
committed by
GitHub
parent
be027331e1
commit
495e64c8bc
@@ -34,70 +34,6 @@ M.attach_file = function()
|
||||
end)
|
||||
end
|
||||
|
||||
M.editable_popup_opts = {
|
||||
action_before_close = true,
|
||||
action_before_exit = false,
|
||||
save_to_temp_register = true,
|
||||
}
|
||||
|
||||
M.non_editable_popup_opts = {
|
||||
action_before_close = true,
|
||||
action_before_exit = false,
|
||||
save_to_temp_register = false,
|
||||
}
|
||||
|
||||
-- Get the index of the next popup when cycling forward
|
||||
local function next_index(i, n, count)
|
||||
count = count > 0 and count or 1
|
||||
for _ = 1, count do
|
||||
if i < n then
|
||||
i = i + 1
|
||||
elseif i == n then
|
||||
i = 1
|
||||
end
|
||||
end
|
||||
return i
|
||||
end
|
||||
|
||||
---Get the index of the previous popup when cycling backward
|
||||
---@param i integer The current index
|
||||
---@param n integer The total number of popups
|
||||
---@param count integer The count used with the keymap (replaced with 1 if no count was given)
|
||||
local function prev_index(i, n, count)
|
||||
count = count > 0 and count or 1
|
||||
for _ = 1, count do
|
||||
if i > 1 then
|
||||
i = i - 1
|
||||
elseif i == 1 then
|
||||
i = n
|
||||
end
|
||||
end
|
||||
return i
|
||||
end
|
||||
|
||||
---Setup keymaps for cycling popups. The keymap accepts count.
|
||||
---@param popups table Table of Popups
|
||||
M.set_cycle_popups_keymaps = function(popups)
|
||||
local keymaps = require("gitlab.state").settings.keymaps
|
||||
if keymaps.disable_all or keymaps.popup.disable_all then
|
||||
return
|
||||
end
|
||||
|
||||
local number_of_popups = #popups
|
||||
for i, popup in ipairs(popups) do
|
||||
if keymaps.popup.next_field then
|
||||
popup:map("n", keymaps.popup.next_field, function()
|
||||
vim.api.nvim_set_current_win(popups[next_index(i, number_of_popups, vim.v.count)].winid)
|
||||
end, { desc = "Go to next field (accepts count)", nowait = keymaps.popup.next_field_nowait })
|
||||
end
|
||||
if keymaps.popup.prev_field then
|
||||
popup:map("n", keymaps.popup.prev_field, function()
|
||||
vim.api.nvim_set_current_win(popups[prev_index(i, number_of_popups, vim.v.count)].winid)
|
||||
end, { desc = "Go to previous field (accepts count)", nowait = keymaps.popup.prev_field_nowait })
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
---Toggle the value in a "Boolean buffer"
|
||||
M.toggle_bool = function()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
|
||||
Reference in New Issue
Block a user