普段よくやっていることをちょっとしたエイリアスにしていたんだけど、Gitプラグインを作って公開してみたくなったのでやってみた
ちょっと汎用化が足りないので、需要があるかは謎
概要
git管理下でよく編集するファイルをリストアップしておき、そのリストをpercolで絞り込みサクっと編集する
git管理下であればどこで実行しても正しいファイルパスで編集できる
動作環境
pythonは2.7で動作を確認した
3系での動作は未確認
インストール
git-quickedit
wget 'https://raw.githubusercontent.com/suzuki-hoge/dev-note/master/git-quickedit/git-quickedit'
上記の方法等で取得したファイルをパスの通った場所に置いてください
git-xxxという実行ファイルをパスの通った場所に置くと、git xxxで実行できます
percol
sudo pip install percol
pipを用いない方法は公式を参照してください
パスリスト
よく使うファイル名をテキストで管理します
パス
特に明記が無い場合は~/.git_quickeditと言うファイルを用います
リポジトリ毎に変更したい場合は以下の様に.git/configに追記してください
git config quickedit.pathlist /Users/xxx/project-xxx/Dropbox/.git_quickedit
リポジトリ毎ではなくグローバルなパスリストを設定する場合は以下の様に~/.gitconfigに追記してください
git config --global quickedit.pathlist /Users/xxx/Dropbox/.git_quickedit
パスリスト検索は以下の順で行われます
- リポジトリ固有の
.git/configの設定場所
- グローバルの
~/.gitconfigの設定場所 ~/.git_quickedit
また、指定されたパスに実ファイルが見つからなかった場合は新規作成を促すガイドが表示されます
内容例
.github/ISSUE_TEMPLATE.md
.github/PULL_REQUEST_TEMPLATE.md
.github/CONTRIBUTING.md
.git/config
.gitignore
README.md
僕はgithubのルールに則ったテンプレートファイルや良く触るファイルを定義しました
他には.git/hooks/pre-pushなんてフックスクリプトとかを列挙しておいても良いかもしれません
コマンド
git template help
ヘルプを表示する
git template list
パスリストの参照をする
git template manage
パスリストの編集をする
git template new
リストの中の実在しないパスのみをpercolで選択し、vimで編集する
git template write
リストの中の実在するパスのみをpercolで選択し、vimの無名バッファで編集する
writeは実在するファイルを開き編集するが、保存することは出来ない
git template edit
リストの中の実在するパスのみをpercolで選択し、vimで編集する
保存可能な点以外はwriteと同じ
やってみたかったこと
- 丁寧な例外処理
- git.configを使った設定
- 公開と配布
- インストール数を知る
- GitHubのTraficと言う画面でわかるらしい
対応しなかったこと
- エディタは
vim固定じゃあなくてgitで使うエディタを参照してきても良かった - とりあえず自分用なので
vim固定 - いつか対応するかも
-
percolの部分も同様にpecoと選べても良かった - 未対応理由は同上
感想
IssueやPRをブラウザで書くときにどうしてもvimで書きたくて作った
要はwriteが一番やりたかったことで、他のはプラグインとしての体裁を保つためのおまけ
何にせよ晒すと思うとこういう場合の終了コードは普通どうなんだろう?とか色々既存品読んだりして勉強にはなった







