今日の.zshrc - cheat 補完

cheatsheet を集めた cheat という gem があって、たまに便利である。

გ gem install cheat
გ cheat assertions
assertions:
  # Credit: http://nubyonrails.com/articles/ruby-rails-test-rails-cheat-sheet
  # Use 'cheat assert_raise' for more details
  
  # Standard Ruby Assertions
  
  assert                  boolean 
  assert_equal            expected, actual 
  assert_raise            *args 
  assert_raises           *args, &block 
  …
  …

cheat自身の使い方は

გ cheat cheat

どんなcheatsheetがあるのかは

გ cheat sheets

で見られる。

なんだけど、数が多すぎてもうどうしようもないので、さらに便利にするために、zshの補完を使ってみた。

見よう見まね。

completion_list () {
  mkdir -p ~/.zsh/completion
  if [ ! -f ~/.zsh/completion/$*[-1] ]; then
    eval $*[1,-2] | sed -e 's/^/compadd /g' > ~/.zsh/completion/$*[-1]
  fi

  `cat ~/.zsh/completion/$*[-1]`
}

_cheat () {
  completion_list 'cheat sheets | grep -v All' _cheat
}

compdef _cheat cheat

completion_list は一応再利用できるようにしてあるけど、ちゃんと調べたら既にありそうだ。

追記:

いつまでたってもassertionsの内容が古いままだなぁと思っていたら、キャッシュしてた。

გ cheat --new

でキャッシュをクリア。

Thu, 25 Sep 2008 07:00 カテゴリ , ,

タグ ,

Comment 今日の.zshrc - cheat 補完

  1. [zsh] cheatの補完 From znzの日記
    netswitch! | 今日の.zshrc - cheat 補完をみて、zsh自体にcacheがあったはず、と思ったらあったので それを使って、オプションにもちゃんと対応したものを書いてみました。 fpathを通したと

RSS