typoしたらzshに「ふえぇ」とか言わせるやつ、飽きてきたので機能追加した。 具体的にはその日何回目のtypoか数えておいて その回数で若干出力を変える感じ。 ますますえりっく氏のshellinfoのパクリ感出て来たけど気にしない。
とりあえずそのためのDBを作る。 Mac OS Xはsqlite3が入ってるのでそれを利用する。 あと単に使ってみたかった。
$ sqlite3 ~/.typo.db
んで、テーブル作る。 元Rails厨なので適当にそれっぽい感じに。
sqlite> create table typos(id integer primary key autoincrement not null,
date text unique not null,
count tinyint not null default 0);
あとは .zshrc で command_not_found_handler 関数をごにゃっとする。
command_not_found_handler() {
date=`date +'%Y-%m-%d'`
db="$HOME/.typo.db"
n=`sqlite3 $db "select count from typos where date = '$date'"`
if [ "$n" = "" ]; then
n=1
sqlite3 $db "insert into typos(count, date) values($n, '$date');"
echo "zsh「ふえぇ、麦汁さんが今日も typo したよぉ……。$0 なんてコマンド存在しないよぉ……」" | tweet > /dev/null 2>&1 &
else
n=`expr $n + 1`
sqlite3 $db "update typos set count = $n where date = '$date';"
echo "zsh「ふえぇ、麦汁さんがまた typo したよぉ……。今日 $n 回目の typo だよぉ……。$0 なんてコマンド存在しないんだってばぁ……」" | tweet > /dev/null 2>&1 &
fi
return 127
}
これでOK。
ふえぇ、typo の回数まで数えられて恥ずかしいよぉ……。

