TextMateで最近更新したファイルを簡単に開く
またまた、TextMate w
ちょー簡単な機能を作ってみた.
プロジェクト内で最近更新されたファイルを開く機能.
マウスを使えば既にあるのだが...もっと簡単に開きたいと思って.
機能の詳細説明
実装
#!/usr/bin/env ruby def open_mate(path) %x["$TM_SUPPORT_PATH/bin/mate" "#{path}"] end def open_from_menu(choices) $: << "#{ENV["TM_SUPPORT_PATH"]}/lib" if ENV.has_key? "TM_SUPPORT_PATH" require "exit_codes" require "ui" view_choices = choices.map { |path| dir_base = File.split(path) "#{ dir_base[1] }" } choice = TextMate::UI.menu(view_choices) exit if choice.nil? open_mate(choices[choice]) end def select_recent(root) Dir.glob("#{ root }/**/*.*").sort_by {|f| File.mtime(f)}.reverse[0..6] end open_from_menu(select_recent(ENV["TM_PROJECT_DIRECTORY"]))
Ruby実行で確認後、BundleのCommand化
簡単だが.かなり強力.
ペアを開くやつは、specを書きながらじゃないとむずかしいけど、こいつなら、手軽につくれた.
もっと頑張れば、SVNでHEADとdiffがでたファイルの一覧メニュー => 行一覧メニュー => 指定されたファイルの行を開く
のナビゲーションてのも、つくれるんじゃないかな?
とりあえず.TODO化
@TODO: Diffがでたファイル一覧を取得できること
@TODO: あるショートカットを押すと、Diffがでたファイル一覧がメニュー表示され、選択するとファイルが開けること
@TODO: ペアがない場合はファイルを新規作成ができるようにすること