basyura's blog

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

bitly.vim

twitvim で bitly 使えたら便利じゃね?
↓
書き始める
↓
vim.org にあるかも
↓
検索する
↓
なぜか twitvim がひっかかる
↓
README とソースを見てみる
↓
twitvim がサポートしてた orz

けどまぁ 、、、書いてみた。
https://github.com/basyura/bitly.vim/

let info = bitly#shorten(login, apiKey, 'http://google.com')
echo info.status_code "=> 200
echo info.status_txt  "=> OK
echo info.url         "=> http://bit.ly/gzJQrA
echo info.global_hash "=> zzzzzzz
echo info.long_url    "=> http://google.com
echo info.new_hash    "=> 1

ついでにタイトルも拾ってくれるとうれしいなぁ、で書いてみる

let shorturl = bitly#shorten(bitly_login , bitly_api_key , url).url
let content  = http#get(url).content
let charset  = matchstr(content , 'charset=\zs.\{-}\ze".\{-}>')
let title    = iconv(matchstr(content , '<title>\zs.\{-}\ze</title>') , 
                   \ charset , 'utf-8')
let shorturl = title . ' ' . shorturl

charset を拾ってるところは手抜き。title のコード変換はこれでいいのか様子見。エラー処理周りも考えないといけないけど様子見。

またまた webapi-vim (https://github.com/mattn/webapi-vim) のお世話になってます。