basyura's blog

あしたになったらほんきだす。

J6uil.vim - yet another lingr.vim

f:id:basyura:20130223213504p:plain

python に依存しない(けど、vimproc に依存する) lingr クライアントを作りました。

僕の環境だと lingr.vim が動かないのが発端。patch バージョンを上げれば直るとか何とからしいんですけど、コンパイルとかよく分からないし(遠い目)。
もう一つは、windows 環境に python を入れるのが前々から気乗りしなかったので依存しないものが欲しかった。インストーラを叩くだけなんだけど、指定のバージョンを探すとか 32/64bit とか。僕の場合、git pull すれば vimproc が入った環境になるし。

_人人人人人人人人人人人_
> やってみるしかない <
 ̄YYYYYYYYYYY ̄

で、やってみた。

結果

まぁ、なんとか動く。
ポーリングしてる curl のプロセスが残っちゃうことがあって vimproc#kill でひとまず対応中。

使い方

設定

let g:J6uil_user     = 'your user name'
let g:J6uil_password = 'your password'

or

let g:lingr_vim_user     = 'your user name'
let g:lingr_vim_password = 'you password'

lingr.vim の設定があればそれを見ます。

実行

:J6uil 部屋名

発言

lingr.vim、tweetvim と同じで、ノーマルモードの s で発言用バッファを開きます。
normal mode で enter か、insert mode で <C-CR> をすると発言します。

参考API

きちんと書かれているところはない感じ・・・。API の口の一覧はあるんで、あとはレスポンスを見ながら。

参考ソース

確認なく参考というかまんま流用させてもらいました _(_ _)_ もんだいあれば・・・。
特に osyo さんの非同期が無いとできませんでした。

困ったこと

tweetvim と併用していると、ポスト先を間違える・・・。
対応は別ウインドウにしてスキーマを変えるとかかなぁ。

これから

個人的に lingr.vim の 3 ウインドウ表示はレイアウトを壊さないように気をつけないといけないのがあまり好きじゃないので、1 ウインドウでユーザ表示や部屋の切り替えはコマンドか Unite を使う予定。
あとは syntax を頑張ればそれっぽく見えるんなじゃないかと。

ということで、僕も久々に vim から lingr できるようになりました ヽ( ゚∀゚)ノ