ghfzf로 ghq를 진행하는 extension을 만들었어요.

4372 단어 GitGitHubghghqfzftech
일본어인지 영어 제목인지 잘 모르겠어요.
GiitHub 공식 CLIgh의 확장 기능을 제작했기 때문에 소개합니다.
https://cli.github.com/manual/gh_extension

gh q


저는 gh-q라고 합니다.
https://github.com/kawarimidoll/gh-q

의존 관계


다음 도구가 필요합니다.

  • https://github.com/junegunn/fzf
  • 강력한 Fuzzy finder

  • https://github.com/x-motemen/ghq

  • 자동 할당git clone 프런트엔드 툴
  • 가져오기

    gh extension install kawarimidoll/gh-q에 설치할 수 있습니다.

    사용법

    gh q 시동.
    기본적으로 자신의 창고 일람에 따르면 fzf의fuzzyfind를 이용하여 선택할 수 있다.
    그리고 선택한 물건은 ghq get로 복제한다.

    다른 사용자의 창고를 선택할 수 있습니다.

    선행 연구


    하 선생의 것을 크게 참고했다gh-fuzzyclone.감사합니다!
    https://github.com/hashue/gh-fuzzyclone
    https://zenn.dev/hasu_83


    책갈피


    브라우저에서 창고ghq get를 열 때 대부분 이 책갈피를 사용합니다.
    현재 페이지의 URL에 따라 코드ghq get ...를 생성하고 자동으로 복사합니다.
    javascript:(d=>((c,b,l)=>{c.textContent=l.href.replace(/(https:\/(\/[^/]+){3}).*/,'ghq get $1');b.appendChild(c);c.select();d.execCommand('copy');b.removeChild(c)})(d.createElement('textArea'),d.body,location))(document)
    

    ghqget 이후 이동

    ghq get 복제 목적지를 자동으로 설정할 수 있지만 차원이 깊어져서 직접적으로 cd을 원하지 않는다.
    복제 후 이동에 사용되는dotfiles에서 다음 명령을 정의했습니다.
    cgh() {
      local dir
      dir=$(ghq list | fzf --no-multi --exit-0 --query="$*" --preview="ls -FA1 $(ghq root)/{}")
      [ -n "$dir" ] && cd "$(ghq root)/$dir" || return
    }
    
    gh용 확장도 있습니다.
    https://github.com/cappyzawa/gh-ghq-cd

    끝말


    개발 환경이 초기화되자 간단히ghq get 하려고 시작했지만, 운이 좋아 선인의 어깨에 앉아 가볍게 완성했다.
    가능하면 사용하세요.
    또한 과거에도 다음과 같은 extension을 제작한 적이 있습니다. 한번 시도해 보시면 기쁠 것입니다.
    https://github.com/kawarimidoll/gh-graph
    https://github.com/kawarimidoll/gh-gh

    좋은 웹페이지 즐겨찾기