Skip to content

Neovim plugin providing an opinionated workflow to interact with Azure DevOps Pull Requests.

License

Notifications You must be signed in to change notification settings

Willem-J-an/adopure.nvim

Repository files navigation

adopure.nvim

The plugin provides an opinionated workflow to interact with Azure DevOps Pull Requests.

Installation

  • Requires Neovim >= 0.10
  • Installation using lazy:
{
    "Willem-J-an/adopure.nvim",
    dependencies = {
        "nvim-lua/plenary.nvim",
        "nvim-telescope/telescope.nvim"
    },
    config = function()
        vim.g.adopure = {}
    end,
}
  • Available on luarocks:
luarocks install adopure.nvim

For all available config options see: :h adopure.config.meta

Usage

:AdoPure    [ load ] [ context | threads ] [ opts ]
            [ open ] [ quickfix | thread_picker | new_thread | existing_thread ] [ opts ]
            [ submit ] [ comment | vote | thread_status ] [ opts ]
command subcommand description
load Loads specified argument into state.
context Load open pull requests; prompt user to pick one.
threads Fetch comment threads from Azure DevOps.
open Opens specified argument in the editor.
quickfix Open comment threads in quickfix window.
thread_picker Open a picker with all comment threads.
new_thread Opens a window to write a comment on code selection.
existing_thread Opens a window with an existing comment thread.
submit Submits specified argument to Azure DevOps.
comment Submit new comment or reply; must be in new_thread or existing_thread window.
vote Submit a new vote on the pull request.
thread_status Submit a thread_status change; must be in existing_thread window.

Suggested keymaps

local function set_keymap(keymap, command)
    vim.keymap.set({ "n", "v" }, keymap, function()
        vim.cmd(":" .. command)
    end, { desc = command })
end
set_keymap("<leader>alc", "AdoPure load context")
set_keymap("<leader>alt", "AdoPure load threads")
set_keymap("<leader>aoq", "AdoPure open quickfix")
set_keymap("<leader>aot", "AdoPure open thread_picker")
set_keymap("<leader>aon", "AdoPure open new_thread")
set_keymap("<leader>aoe", "AdoPure open existing_thread")
set_keymap("<leader>asc", "AdoPure submit comment")
set_keymap("<leader>asv", "AdoPure submit vote")
set_keymap("<leader>ast", "AdoPure submit thread_status")

Showcase

Load open pull requests

image

Create comments

image

Reply, render, vote on comment threads

image

Load comments into quickfix, render comments in a picker with preview

image

Limitations

  • There is a bug in the Azure DevOps API. When retrieving pull request comment threads the position of comment threads is not returned correctly. If the incorrect position is out of bounds of the current version of the file, the plugin cannot place extmarks. Feel free to vote to increase priority on the bug report.

About

Neovim plugin providing an opinionated workflow to interact with Azure DevOps Pull Requests.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages