summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/extra/octo.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/extra/octo.lua')
-rw-r--r--.config/nvim/lua/extra/octo.lua139
1 files changed, 139 insertions, 0 deletions
diff --git a/.config/nvim/lua/extra/octo.lua b/.config/nvim/lua/extra/octo.lua
new file mode 100644
index 0000000..5a110df
--- /dev/null
+++ b/.config/nvim/lua/extra/octo.lua
@@ -0,0 +1,139 @@
+local M = {}
+
+local Log = require "core.log"
+
+M.config = function()
+ local status_ok, octo = pcall(require, "octo")
+ if not status_ok then
+ Log:get_default().error "Failed to load octo"
+ return
+ end
+
+ octo.setup {
+ default_remote = { "upstream", "origin" }, -- order to try remotes
+ reaction_viewer_hint_icon = "", -- marker for user reactions
+ user_icon = " ", -- user icon
+ timeline_marker = "", -- timeline marker
+ timeline_indent = "2", -- timeline indentation
+ right_bubble_delimiter = "", -- Bubble delimiter
+ left_bubble_delimiter = "", -- Bubble delimiter
+ github_hostname = "", -- GitHub Enterprise host
+ snippet_context_lines = 4, -- number or lines around commented lines
+ file_panel = {
+ size = 10, -- changed files panel rows
+ use_icons = true, -- use web-devicons in file panel
+ },
+ mappings = {
+ issue = {
+ close_issue = "<space>ic", -- close issue
+ reopen_issue = "<space>io", -- reopen issue
+ list_issues = "<space>il", -- list open issues on same repo
+ reload = "<C-r>", -- reload issue
+ open_in_browser = "<C-b>", -- open issue in browser
+ copy_url = "<C-y>", -- copy url to system clipboard
+ add_assignee = "<space>aa", -- add assignee
+ remove_assignee = "<space>ad", -- remove assignee
+ create_label = "<space>lc", -- create label
+ add_label = "<space>la", -- add label
+ remove_label = "<space>ld", -- remove label
+ goto_issue = "<space>gi", -- navigate to a local repo issue
+ add_comment = "<space>ca", -- add comment
+ delete_comment = "<space>cd", -- delete comment
+ next_comment = "]c", -- go to next comment
+ prev_comment = "[c", -- go to previous comment
+ react_hooray = "<space>rp", -- add/remove 🎉 reaction
+ react_heart = "<space>rh", -- add/remove ❤️ reaction
+ react_eyes = "<space>re", -- add/remove 👀 reaction
+ react_thumbs_up = "<space>r+", -- add/remove 👍 reaction
+ react_thumbs_down = "<space>r-", -- add/remove 👎 reaction
+ react_rocket = "<space>rr", -- add/remove 🚀 reaction
+ react_laugh = "<space>rl", -- add/remove 😄 reaction
+ react_confused = "<space>rc", -- add/remove 😕 reaction
+ },
+ pull_request = {
+ checkout_pr = "<space>po", -- checkout PR
+ merge_pr = "<space>pm", -- merge PR
+ list_commits = "<space>pc", -- list PR commits
+ list_changed_files = "<space>pf", -- list PR changed files
+ show_pr_diff = "<space>pd", -- show PR diff
+ add_reviewer = "<space>va", -- add reviewer
+ remove_reviewer = "<space>vd", -- remove reviewer request
+ close_issue = "<space>ic", -- close PR
+ reopen_issue = "<space>io", -- reopen PR
+ list_issues = "<space>il", -- list open issues on same repo
+ reload = "<C-r>", -- reload PR
+ open_in_browser = "<C-b>", -- open PR in browser
+ copy_url = "<C-y>", -- copy url to system clipboard
+ add_assignee = "<space>aa", -- add assignee
+ remove_assignee = "<space>ad", -- remove assignee
+ create_label = "<space>lc", -- create label
+ add_label = "<space>la", -- add label
+ remove_label = "<space>ld", -- remove label
+ goto_issue = "<space>gi", -- navigate to a local repo issue
+ add_comment = "<space>ca", -- add comment
+ delete_comment = "<space>cd", -- delete comment
+ next_comment = "]c", -- go to next comment
+ prev_comment = "[c", -- go to previous comment
+ react_hooray = "<space>rp", -- add/remove 🎉 reaction
+ react_heart = "<space>rh", -- add/remove ❤️ reaction
+ react_eyes = "<space>re", -- add/remove 👀 reaction
+ react_thumbs_up = "<space>r+", -- add/remove 👍 reaction
+ react_thumbs_down = "<space>r-", -- add/remove 👎 reaction
+ react_rocket = "<space>rr", -- add/remove 🚀 reaction
+ react_laugh = "<space>rl", -- add/remove 😄 reaction
+ react_confused = "<space>rc", -- add/remove 😕 reaction
+ },
+ review_thread = {
+ goto_issue = "<space>gi", -- navigate to a local repo issue
+ add_comment = "<space>ca", -- add comment
+ add_suggestion = "<space>sa", -- add suggestion
+ delete_comment = "<space>cd", -- delete comment
+ next_comment = "]c", -- go to next comment
+ prev_comment = "[c", -- go to previous comment
+ select_next_entry = "]q", -- move to previous changed file
+ select_prev_entry = "[q", -- move to next changed file
+ close_review_tab = "<C-c>", -- close review tab
+ react_hooray = "<space>rp", -- add/remove 🎉 reaction
+ react_heart = "<space>rh", -- add/remove ❤️ reaction
+ react_eyes = "<space>re", -- add/remove 👀 reaction
+ react_thumbs_up = "<space>r+", -- add/remove 👍 reaction
+ react_thumbs_down = "<space>r-", -- add/remove 👎 reaction
+ react_rocket = "<space>rr", -- add/remove 🚀 reaction
+ react_laugh = "<space>rl", -- add/remove 😄 reaction
+ react_confused = "<space>rc", -- add/remove 😕 reaction
+ },
+ submit_win = {
+ approve_review = "<C-a>", -- approve review
+ comment_review = "<C-m>", -- comment review
+ request_changes = "<C-r>", -- request changes review
+ close_review_tab = "<C-c>", -- close review tab
+ },
+ review_diff = {
+ add_review_comment = "<space>ca", -- add a new review comment
+ add_review_suggestion = "<space>sa", -- add a new review suggestion
+ focus_files = "<leader>e", -- move focus to changed file panel
+ toggle_files = "<leader>b", -- hide/show changed files panel
+ next_thread = "]t", -- move to next thread
+ prev_thread = "[t", -- move to previous thread
+ select_next_entry = "]q", -- move to previous changed file
+ select_prev_entry = "[q", -- move to next changed file
+ close_review_tab = "<C-c>", -- close review tab
+ toggle_viewed = "<leader><space>", -- toggle viewer viewed state
+ },
+ file_panel = {
+ next_entry = "j", -- move to next changed file
+ prev_entry = "k", -- move to previous changed file
+ select_entry = "<cr>", -- show selected changed file diffs
+ refresh_files = "R", -- refresh changed files panel
+ focus_files = "<leader>e", -- move focus to changed file panel
+ toggle_files = "<leader>b", -- hide/show changed files panel
+ select_next_entry = "]q", -- move to previous changed file
+ select_prev_entry = "[q", -- move to next changed file
+ close_review_tab = "<C-c>", -- close review tab
+ toggle_viewed = "<leader><space>", -- toggle viewer viewed state
+ },
+ },
+ }
+end
+
+return M