読者です 読者をやめる 読者になる 読者になる

複数行の検索に対応、Emacsからファイルを直接開けるように - ソースコード検索エンジンMilkode

ruby milkode emacs

0.9.9 になりました。個人的にずっと欲しかった複数行検索を入れるのに一ヶ月かかりました。

f:id:tuto0621:20130327231203j:plain

  • 複数行の検索(ワイド範囲検索)
  • 検索オプションに'w:'を追加
  • ブラウザで見ているファイルを直接開けるように

インストール

$ gem install milkode

詳しくはこちらをどうぞ - ダウンロード, Gems

複数行の検索(ワイド範囲検索)

begin rescue end で検索した時に一行だけではなく複数行範囲にマッチさせることが出来るようになりました。検索範囲は後述する w:オプションで調整可能です。

def test
  begin                 # <-- ここと
    func()
  rescue RuntimeError   # <-- ここと
    p 'error'
  end                   # <-- ここにマッチする!!
end

検索オプションに'w:'を追加

検索範囲行を明示的に指定するためのオプションです。Milkodeの検索ボックスに以下のように入力します。

begin end       # 基本
begin end w:1   # 1行にbeginとendを含むものにマッチ(今までの挙動)
begin end w:7   # 7行範囲にbeginとendを含むものにマッチ
begin end w:0   # ファイル全体でbeginとendを含むものにマッチ

未指定の場合は

  1. w:1 で検索
  2. 見つからなければ w:7 で検索
  3. それでも見つからなければ w:0 で検索

・・というルールで検索するので通常時の挙動は今までと変わりません。見つからなかった時に少し範囲を広げて自動で検索してくれます。

ブラウザで見ているファイルを直接開けるように

Emacs, Firefox の組み合わせ限定ですが便利です。

ブラウザで見ているソースコードのファイルをエディタから一瞬で開く

リリースノート

  • ワイド範囲検索のサポート

    • 指定行内に複数のキーワードが含まれている場所を探す
    • 複数のキーワードが一行でマッチしなかった場合、自動的に範囲を広げて再検索
  • 検索オプション w: を追加

    • w:7 で7行以内に全てのキーワードが含まれている場所を返す
    • w:1 で今までの検索
    • w:0 の時は検索範囲をファイル全域に
  • Support sinatra-reloader

    • export MILKODE_SINATRA_RELOADER=1
  • Delete 'milkode/cdweb/app_error.rb'

    • Recommend 'RACK_ENV=production'

リンク

終わりに

ファイル数や行数をブラウザから調べる機能を作りたいです。