2013/01/11


TwitVim で「あーこの人のこの発言、バズってるんだろうな」と思った時に FavStar を見る事があるんだけど、FavStar は最新の fav/rt 一覧しか表示してなかったので過去の物を表示する事は出来なかった。僕的にニーズがあったのでツィート単位に表示出来る様にした。
もちろん、TwitVim は一切触らない。やり方は以下の記事を参照。
Big Sky :: 他人が作ったVimScriptを一切触らず拡張する

普段twitterするときはtwitvimというvimscriptを使ってvimからやってるのだけど、たいがいこういうのって自分の思う機能が実装されていなかったり、違う実装になっていたりする...

http://mattn.kaoriya.net/software/vim/20110728094347.htm
まず FavStar を修正した。
FavStar mattn_jp という風にスクリーン名しか受け付けていなかったけど FavStar mattn_jp XXXXXXX でツィートIDも受け取れる様にした。そして function! TwitVimShowFavStar()
  silentredir => json
  silent! TwitVimShowCurbuffer
  silentredir END
  let curbuffer = eval(substitute(json, "\n"'''g'))
  let id = get(curbuffer.statuses, line('.'))
  if id != 0
    let user = substitute(curbuffer.buffer[line('.')-1], ':.*''''')
    exe "FavStar" user id
  endif
endfunction
TwitVim からツィートIDを抜き取って FavStar コマンドに渡す。
あとはこれのキーアサイン nnoremap <buffer> <leader>F :call TwitVimShowFavStar()<cr>
キーアサインの入れ場所は上記の記事を見て下さい。
これで TwitVim を見てる最中に <leader>F をタイプすれば個別の fav/rt が見れる様になりました。
めでたしめでたし。
Yes, 高洲クリニック
Posted at by



2013/01/10


mruby 使ってると良く CD-ROM を取り出したくなりますよね。
ならないとしたら、今すぐこの記事を読むのをやめて病院に行って下さい。

mattn/mruby-eject - GitHub
https://github.com/mattn/mruby-eject
インストールすると eject という命令が追加されるので #!mruby

eject
と書くだけで CD-ROM トレイがゲロっと排出されます。

便利ですね!

例えば mruby で sinatra っぽく書けるフレームワーク、mruby-sinatic を使って #!mruby

get "/eject" do
  eject
end

Sinatic.run
こう書くと、ブラウザから http://127.0.0.1:8888/eject にアクセスするだけでイジェクト出来る様になります。
皆さんもぜひ、使ってみて下さい。
Posted at by



2013/01/09


canything: CUIでAnything

コマンドラインからEmacs Anythingを使えるプログラムです。 zshの補完でも十分だが、Anythingのインターフェースの方がある場合にはすぐれているので作った。 パイプ専用なので汎用的に使えると思います。

http://filmlang.org/soft/canything
そう言えば昨日、canything を windows でも動かせるようにパッチ書いて pull-req 送って取り込まれた。
keiji0/canything - GitHub
https://github.com/keiji0/canything

ls | canything | xargs cat
こんな風にパイプで囲まれた時に pdcurses が初期化出来ないっていうエラーに悩まされたけど、CreateConsoleScreenBuffer で新しい端末バッファを作って SetStdHandle で割り当てて、かつ CONIN$ を freopen してキー入力を stdin から取るという荒技を使って乗り越えた。
上記の様な場合でもちゃんと動きます。
canything

追記
共有読み込みモードにしないとckwでハングするらしい。
パッチ書いてpull-req送った。
Posted at by