From 386daa2e9d98e23e27ad089afcbe5c5a903e488d Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Thu, 16 Jan 2025 00:34:09 -0500 Subject: [PATCH] Add request is: constraint to issue search Resolves: https://github.com/tpope/vim-rhubarb/issues/82 --- autoload/rhubarb.vim | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/autoload/rhubarb.vim b/autoload/rhubarb.vim index 68003f0..6bfa9f5 100644 --- a/autoload/rhubarb.vim +++ b/autoload/rhubarb.vim @@ -236,7 +236,7 @@ endfunction function! s:CompleteAddIssues(response, prefix) abort for issue in get(a:response, 'items', []) call complete_add({ - \ 'word': a:prefix . issue.number, + \ 'word': empty(a:prefix) ? issue.html_url : a:prefix . issue.number, \ 'abbr': '#' . issue.number, \ 'menu': issue.title, \ 'info': substitute(empty(issue.body) ? "\n" : issue.body,'\r','','g'), @@ -262,11 +262,13 @@ function! rhubarb#Complete(findstart, base) abort let prefix = '#' let query = '' else - let prefix = s:repo_homepage().'/issues/' + let prefix = '' let query = a:base endif - let response = rhubarb#RepoSearch('issues', 'state:open ' . query) - call s:CompleteAddIssues(response, prefix) + let issues = rhubarb#RepoSearch('issues', 'state:open is:issue ' . query) + call s:CompleteAddIssues(issues, prefix) + let prs = rhubarb#RepoSearch('issues', 'state:open is:pr ' . query) + call s:CompleteAddIssues(prs, prefix) endif catch /^rhubarb:.*is not a GitHub repository/ catch /^\%(fugitive\|rhubarb\):/