Skip to content

Commit 9190a1a

Browse files
authored
Merge pull request #498 from carlos-algms/cgomes/review-keymaps
Add keymaps for start, resume, submit and discard Reviews
2 parents 0d0abff + afae331 commit 9190a1a

File tree

5 files changed

+51
-18
lines changed

5 files changed

+51
-18
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,8 @@ require"octo".setup({
222222
react_rocket = { lhs = "<space>rr", desc = "add/remove 🚀 reaction" },
223223
react_laugh = { lhs = "<space>rl", desc = "add/remove 😄 reaction" },
224224
react_confused = { lhs = "<space>rc", desc = "add/remove 😕 reaction" },
225+
review_start = { lhs = "<space>vs", desc = "start a review for the current PR" },
226+
review_resume = { lhs = "<space>vr", desc = "resume a pending review for the current PR" },
225227
},
226228
review_thread = {
227229
goto_issue = { lhs = "<space>gi", desc = "navigate to a local repo issue" },
@@ -251,6 +253,8 @@ require"octo".setup({
251253
close_review_tab = { lhs = "<C-c>", desc = "close review tab" },
252254
},
253255
review_diff = {
256+
submit_review = { lhs = "<leader>vs", desc = "submit review" },
257+
discard_review = { lhs = "<leader>vd", desc = "discard review" },
254258
add_review_comment = { lhs = "<space>ca", desc = "add a new review comment" },
255259
add_review_suggestion = { lhs = "<space>sa", desc = "add a new review suggestion" },
256260
focus_files = { lhs = "<leader>e", desc = "move focus to changed file panel" },
@@ -266,6 +270,8 @@ require"octo".setup({
266270
goto_file = { lhs = "gf", desc = "go to file" },
267271
},
268272
file_panel = {
273+
submit_review = { lhs = "<leader>vs", desc = "submit review" },
274+
discard_review = { lhs = "<leader>vd", desc = "discard review" },
269275
next_entry = { lhs = "j", desc = "move to next changed file" },
270276
prev_entry = { lhs = "k", desc = "move to previous changed file" },
271277
select_entry = { lhs = "<cr>", desc = "show selected changed file diffs" },

lua/octo/commands.lua

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -204,20 +204,10 @@ function M.setup()
204204
end
205205
end,
206206
submit = function()
207-
local current_review = reviews.get_current_review()
208-
if current_review then
209-
current_review:collect_submit_info()
210-
else
211-
utils.error "Please start or resume a review first"
212-
end
207+
reviews.submit_review()
213208
end,
214209
discard = function()
215-
local current_review = reviews.get_current_review()
216-
if current_review then
217-
current_review:discard()
218-
else
219-
utils.error "Please start or resume a review first"
220-
end
210+
reviews.discard_review()
221211
end,
222212
close = function()
223213
if reviews.get_current_review() then

lua/octo/config.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ function M.get_default_values()
205205
react_rocket = { lhs = "<space>rr", desc = "add/remove 🚀 reaction" },
206206
react_laugh = { lhs = "<space>rl", desc = "add/remove 😄 reaction" },
207207
react_confused = { lhs = "<space>rc", desc = "add/remove 😕 reaction" },
208+
review_start = { lhs = "<space>vs", desc = "start a review for the current PR" },
209+
review_resume = { lhs = "<space>vr", desc = "resume a pending review for the current PR" },
208210
},
209211
review_thread = {
210212
goto_issue = { lhs = "<space>gi", desc = "navigate to a local repo issue" },
@@ -234,6 +236,8 @@ function M.get_default_values()
234236
close_review_tab = { lhs = "<C-c>", desc = "close review tab" },
235237
},
236238
review_diff = {
239+
submit_review = { lhs = "<leader>vs", desc = "submit review" },
240+
discard_review = { lhs = "<leader>vd", desc = "discard review" },
237241
add_review_comment = { lhs = "<space>ca", desc = "add a new review comment" },
238242
add_review_suggestion = { lhs = "<space>sa", desc = "add a new review suggestion" },
239243
focus_files = { lhs = "<leader>e", desc = "move focus to changed file panel" },
@@ -249,6 +253,8 @@ function M.get_default_values()
249253
goto_file = { lhs = "gf", desc = "go to file" },
250254
},
251255
file_panel = {
256+
submit_review = { lhs = "<leader>vs", desc = "submit review" },
257+
discard_review = { lhs = "<leader>vd", desc = "discard review" },
252258
next_entry = { lhs = "j", desc = "move to next changed file" },
253259
prev_entry = { lhs = "k", desc = "move to previous changed file" },
254260
select_entry = { lhs = "<cr>", desc = "show selected changed file diffs" },

lua/octo/mappings.lua

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,27 @@ return {
111111
react_confused = function()
112112
require("octo.commands").reaction_action "confused"
113113
end,
114+
review_start = function()
115+
reviews.start_review()
116+
end,
117+
review_resume = function()
118+
reviews.resume_review()
119+
end,
120+
discard_review = function()
121+
reviews.discard_review()
122+
end,
123+
submit_review = function()
124+
reviews.submit_review()
125+
end,
114126
add_review_comment = function()
115-
require("octo.reviews").add_review_comment(false)
127+
reviews.add_review_comment(false)
116128
end,
117129
add_review_suggestion = function()
118-
require("octo.reviews").add_review_comment(true)
130+
reviews.add_review_comment(true)
119131
end,
120132
close_review_tab = function()
121-
require("octo.reviews").close()
133+
local tabpage = vim.api.nvim_get_current_tabpage()
134+
reviews.close(tabpage)
122135
end,
123136
next_thread = function()
124137
require("octo.reviews.file-panel").next_thread()
@@ -207,15 +220,15 @@ return {
207220
vim.api.nvim_win_close(vim.api.nvim_get_current_win())
208221
end,
209222
approve_review = function()
210-
local current_review = require("octo.reviews").get_current_review()
223+
local current_review = reviews.get_current_review()
211224
current_review:submit "APPROVE"
212225
end,
213226
comment_review = function()
214-
local current_review = require("octo.reviews").get_current_review()
227+
local current_review = reviews.get_current_review()
215228
current_review:submit "COMMENT"
216229
end,
217230
request_changes = function()
218-
local current_review = require("octo.reviews").get_current_review()
231+
local current_review = reviews.get_current_review()
219232
current_review:submit "REQUEST_CHANGES"
220233
end,
221234
toggle_viewed = function()

lua/octo/reviews/init.lua

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,4 +527,22 @@ function M.resume_review()
527527
end
528528
end
529529

530+
function M.discard_review()
531+
local current_review = M.get_current_review()
532+
if current_review then
533+
current_review:discard()
534+
else
535+
utils.error "Please start or resume a review first"
536+
end
537+
end
538+
539+
function M.submit_review()
540+
local current_review = M.get_current_review()
541+
if current_review then
542+
current_review:collect_submit_info()
543+
else
544+
utils.error "Please start or resume a review first"
545+
end
546+
end
547+
530548
return M

0 commit comments

Comments
 (0)