2012/05/30


githubのJSON APIを使って、リポジトリのコミットログを取得してバッヂを作ってみました。
呼び出しは $(function() {
    $('#github-badge').githubBadge({ repos : [
        {author: 'mattn',    name: 'gist-vim'  },
        {author: 'mattn',    name: 'gtktwitter'},
        {author: 'miyagawa', name: 'remedie'   },
        {author: 'otsune',   name: 'plagger'   }
    ]});
});
こんな感じ。
現状、スクリプトではcssを当てていません。外部cssで適当に弄って下さい。
現状APIからgistは取れなさそうなので、対応していませんがそのうちAPIが出来るやもしれませんね。
これからもう少しカッコよくして行くつもりですが、よろしければどうぞ。
実行画面は以下
mattn/jquery-github-badge @ GitHub
ソースはこの辺にあります。
Posted at by



2012/05/25


quickrun.vim は言うまでもなく、とても便利なプラグインなのですが、C言語もしくはC++を書く人にとって少し使いにく所があります。
quickrun はファイルタイプに従ったコマンド定義に従って編集中のファイルを実行してくれます。C/C++ であれば実行可能なコンパイラでコンパイルし、実行した結果を表示してくれます。
しかし例えば C++ で boost を使う場合、ヘッダオンリーな物であれば問題無いのですが、ライブラリをリンクする必要がある場合には、quickrun では面倒な実行方法を取らざるを得ません。
ユーザからすれば #include <boost/filesystem.hpp>
と書かれていれば、出来れば -lboost_filesystem をリンクして欲しいものです。今日はそれを実現してくれる quickrunex.vim というのを作りました。
上記の様に boost/filesystem.hpp が include されていれば自動で -lboost_filesystem を付与してくれます。
現在対応しているライブラリとしては
  • libuv
  • v8
  • gtk
  • boost/chrono
  • boost/date_time
  • boost/exception
  • boost/filesystem
  • boost/graph
  • boost/iostream
  • boost/locale
  • boost/math
  • boost/python
  • boost/random
  • boost/serialization
  • boost/signals
  • boost/system
  • boost/thread
  • boost/timer
  • boost/wave
  • fltk2
  • fltk3
となります。#include するだけで自動的にライブラリをリンクしてくれます。
mingw32 と msvc にも対応しています。linux でも動くはずです。また mingw の boost であれば libboost_system-mgw46-1_46.dll.a の様に -lboost_system ではリンクしてくれないライブラリもありますが、これも自動で補完してくれます。
ですので、vim を起動してガシガシ書いて、一度も終了せずにアプリケーションを書けてしまいます。
今後、ユーザが拡張して仕組みを増やせる様にしたいと思うと同時に、C/C++ 以外にも使えたらいいなーと思っています。

ただし以下の点に注意しておいて下さい。
quickrunex.vim は quickrun.vim の v0.6.0 ブランチを使っています。master ブランチでは動作しません。

非推奨APIである quickrun#register_hook を使っています。help にも削除される可能性があると書いてありますので、いずれ動かなくなるかもしれません。

まぁ、thinca さんの事なので、おそらく別の方法で hook を登録出来る仕組みを作ってくれると信じていますが。
宜しければどうぞ。
mattn/quickrunex-vim - GitHub

quickrun extension for C/C++

https://github.com/mattn/quickrunex-vim
Posted at by



2012/05/23


シャア 「Viをやめろと言ったはずだ。それがVimとはな」
セイラ 「兄さんこそ、EmacsユーザにまでなってVimmerに復讐しよう
     なんてやることが筋違いじゃなくて?」
シャア 「お前の兄がその程度の男だと思っているのか?アルテイシア」
セイラ 「え?」
シャア 「Emacsユーザになって小指を鍛えて来たのも、小指で遠いESCキーを
     押したかったからだ。しかしな、アルテイシア、私だってそれから
     少しは大人になった」

シャア 「VimmerをEmacsユーザが倒すだけではテキストエディタ界の真の
     平和は得られないと悟ったのだ」
セイラ 「なぜ?」
シャア 「Eclipseの逆襲だ」
セイラ 「EclipseがエディタじゃなくIDEだから?」

ブライト 『Eclipse?』

シャア 「うむ、そのEclipseを敵にするのは面白くない。今後はこれまで
     培った変態技が使えぬ、ということだ」
セイラ 「IDE推進派は、Eclipseは開発環境全体が変わるべき理想のIDEだ、と
     教えてくれたわ。だったら、Eclipseを敵にする必要はないはずよ」
    「キャスバル兄さん、兄さん何を考えてるの?」
シャア 「もう変態技を使えぬと言った。アルテイシアはVimを使うのを止めろ」
セイラ 「Vim?あの変態エディタのこと?」
シャア 「ああ。Sakuraエディタに乗り換えるくらいの移行手順書は残していく。
     Windowsユーザになって一生をまっとうしろ。私はもう、
     お前の知っている兄さんではない」
セイラ 「に、兄さん」
シャア 「vimshellを使っている訳がわかるな?私はシェルを捨てたのだよ」
インスパイア元
シャア
http://shibats.tumblr.com/post/23600220688/javascript-ajax
Posted at by