vim-gitlab 作った
今日は vimconf2013 が開催されるようですが, 土日は身動き取れない身分なので参加できません. 残念です..
さて, この記事は Vim Advent Calendar 2012 351日目の記事になります. VAC 初参加であります.
350日目は syui さんによる http://mba-hack.blogspot.jp/2013/11/vim-vim-script.html でした。
近頃は社内で開発している製品のソースも git で管理をしているのですが, 社内で開発している製品を github で公開するわけにはいかないので, GitLab を使っています.
で, GitLab の参照・変更のたびにブラウザと Vim を行き来するのは面倒なので, GitLab を操作する vim プラグイン vim-gitlab を作ってみました.
このプラグインは, id:thinca さん作の絶賛プロトタイプバージョンな vim-github を元に作成しました. (アルファにも届いていないそうですが, 素人がスクラッチ開発するよりは良い作りになっているはず.)
- GitHub - thinca/vim-github: An interface for Github.
- Vim から Github Issues が使いたくなったので github.vim を作り始めた - 永遠に未完成
ということで, まだドキュメントを書いてはいませんが,
さて, 以下, Vim から Github Issues が使いたくなったので github.vim を作り始めた - 永遠に未完成 の転載に近い状態ですが,
インストール
NeoBundle を使う場合, 以下のように vimrc に記述してください.
NeoBundleLazy 'syngan/vim-gitlab', { \ 'autoload' : { 'commands' : 'Gitlab'}}
今のところできること
- Issues のリストの取得/表示
- 個々の Issue の表示(コメント付き)
- 新しい Issue の登録
- 既存の Issue の close/reopen
- 既存の Issue の編集
- コメントの追加
簡単な使い方
準備
グローバル変数 g:gitlab_config に環境を設定します.
Github と異なり, 複数の URL にアクセスできるようにするためです.
g:gitlab_config は辞書でキーは任意に設定します.
キー値は辞書で以下のように設定します.
g:gitlab_config['name'] = { \ 'url' : 'http://localhost/', \ 'user' : '', \ 'email' : 'admin@local.host', \ 'password' : 'optional', \}
ここで,
- url: アクセスする GitLab の URL (必須)
- user/email: ログイン ID (必須)
- password: パスワード (任意)
起動
" 任意のリポジトリ :Github name issues {user}/{repos} " Issue 番号指定 :Github name issues {user}/{repos} {numberk} " Issue 新規作成 :Github name issues {user}/{repos} new
ここで, 第 1 引数 name は g:gitlab_config で設定したキーです.
バッファが開いたら、
- R か
でリストを更新 で個々の Issue を開く で Issue リストに戻る - button 上で
を押すとそれっぽいことが起きる で次の Issue, で前の Issue を開く
連携プラグイン
- GitHub - osyo-manga/vim-precious: Vim constext filetype
- Vim でコンテキストによって filetype を自動的に切り換えるプラグインをつくっている - C++でゲームプログラミング
- precious.vim がチョー便利 - vim 初心者の作業メモ
以下のように設定しておけば, issues に登録されたソースをそのまま実行できます.
let g:context_filetype#filetypes = { \ "gitlab-issues" : [{ \ 'filetype': '\1', \ 'start': '^\s*```\s*\(\h\w*\)', \ 'end': '^\s*```$', \ }], \}
終わりに
さて, 明日以降の VAC は決まっていないようですが, #VimConf2013 の報告に期待しませう.
352日目の VAC は deris さんの vimconf2013 参加報告でした.