Pet과 Gist를 이용한 Command snippet 동기화하기
Pet?
Go 기반의 command-line snippet mananger입니다. fzf와 유사한 인터페이스를 가지고 있고, 자주 사용하는 명령을 좀 더 쉽게 저장/관리하고 사용할 수 있습니다. 설치/사용법에 대한 내용은 제가 올 여름에 썼던 글을 참고해주세요!
Gist에서 pet-snippet.toml 생성하기
https://gist.github.com 에서 toml 파일을 하나 만들어줍니다. 이 파일은 pet에서 사용하는 toml 파일이 gist로 관리될 수 있도록 하기 위한 파일입니다.
Gist read/write를 위한 access_token 생성
pet에서 sync 명령을 통해 gist의 toml 파일과 동기화하기 위해선, gist에 대한 write/read 권한이 있는 토큰을 이용하여 업로드/다운로드 작업이 필요합니다. 용도에 맞게 하나 만들어주셔서 사용하시면 됩니다.
Settings
> Developer settings
> Personal access tokens
Pet의 config 설정하기
보통 기본적으로 ~/.config/pet/config.toml
경로에 파일이 있습니다. 직접 편집하셔도 되고, 아래 명령으로 열어서 편집하셔도 됩니다.
pet configure
Gist 관련 옵션 정보는 아래와 같습니다. file_name
은 snippet 파일이 저장/관리될 파일명이며 위에서 pet-snippet.toml로 만들었으니 동일하게 이름을 적어줍니다. access_token
은 아까 gist 권한을 준 토큰이며, gist_id
는 gist에서 파일에 접근했을 때 나타나는 고유값입니다. 나머지 public
과 auto_sync
는 말 그대로 해당 gist를 퍼블릭으로 사용할건지, 자동으로 동기화할껀지 명시합니다.
[Gist]
file_name = "pet-snippet.toml"
access_token = "****"
gist_id = "****"
public = false
auto_sync = false
테스팅
설정은 다 되었으니 잘 동작하는지 테스트해봅시다.
[ 빈 파일로 동기화 ]
pet sync
Download success
[ 테스트를 위해 임의 명령어 추가 ]
pet new
Command> ls
Description> ls
[ 동기화 ]
pet sync
Upload success