현재 행의 제출 ID에서 Vim을 사용하여 GiitHub의 PR을 엽니다.
개시하다
며칠 전 커밋 IDgetpr에서 PR 링크를 얻을 수 있는 CLI를 제작했다.
CLI만 사용하면 사용하기가 불편해 Vim 사용이 편리하도록 플러그인을 제작했다.
사용 방법이 간단하고
:GetprOpen
PR 링크를 열고:GetprYank
레지스터에서 거꾸로 돌립니다.최초 제작
getpr
은 버그가 발생한 행을 열고 싶은 PR이기 때문에 빔으로 쉽게 할 수 있을 것 같다.이루어지다
실현은 매우 간단합니다.
line('.')
현재 줄을 가져와서 git blame
에서 추출하여 제출할 수 있습니다.let line = line('.')
let blame_line = system(printf('git blame -L %s,%s -- %s', line, line, file))
이 줄을 얻은 다음에 반각 공간으로 분리하여 첫 번째 제출 id를 얻는다.let id = blame_line->split(' ')[0]
를 건네주고 getpr
로 링크를 받을 수 있습니다.let url = system(printf('%s %s', 'getpr', id))->trim()
getpr.vim
는 두 개의 관건적인 지도를 제공했다. 이 설정을 사용하면 지령 없이 PR을 간단하게 열 수 있어 많은 번거로움을 줄일 수 있다.map go <Plug>(getpr-open)
map gy <Plug>(getpr-yank)
꼭 시도해 보세요.덤
평소에 나는 플러그인gina.vim을 사용하는데 이 플러그인도
git blame
의 기능을 가지고 있다.다음과 같은 방법으로 사용자 정의를 하면
gina
의 blame
버퍼 메모리에서 <C-o>
를 눌러 PR의 링크를 엽니다.gina
사용자는 반드시 시도해 보십시오.call gina#custom#mapping#nmap(
\ 'blame', '<C-o>',
\ ':<C-u>call GinaOpenPR()<CR>',
\ {'silent': 1},
\)
let s:cmd = 'open'
if has('linux')
let s:cmd = 'xdg-open'
elseif has('win64')
let s:cmd = 'cmd /c start'
endif
function! GinaOpenPR() abort
let can = gina#action#candidates()
let url = system(printf('%s %s', 'getpr', can[0].rev))->trim()
call system(printf('%s %s', s:cmd, url))
endfunction
Reference
이 문제에 관하여(현재 행의 제출 ID에서 Vim을 사용하여 GiitHub의 PR을 엽니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/skanehira/articles/2020-11-04-vim-getpr텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)