Friday, March 3, 2017

コマンド一発でソースコード検索&表示できる「peco」改が凄い!

lestrratさんがやってくれました。

ずいぶん前から、ソースコードを検索して読みやすいコマンドはないかなーと思っていました。個人的にはackで検索して見つかったファイルをlessで開いて再びキーワードを入れて当該行までジャンプしていたのですが、毎回毎回めんどくさい感じでした。コマンド一発でインクリメンタル検索してキーワード周辺のソースコードを読めるツールが欲しいなぁって思ってたんです。

とあるslackでお昼時に、mattnさんと「ほしいですよねー」という話から始まって、vimにあるgrepとかも物色しながら「いいのないねー」とか言ってたらkanさんが「@lestrrat 案件だ」って言い出して牧さんが召喚されてついさっきpecoに必要な機能が追加されてました。速いw

ためしにpicotlsの開発ディレクトリでpecoの一行ラッパーperoを起動し、「EVP_Digest」を検索してみました。こんな感じ。


こんなに直感的にソースコードが読める。
コマンドラインになれた人ならイメージ湧くかと思います。インデックスを作るみたいな下準備も何も必要ありません。
ただコマンドを実行するだけで対話的に検索して表示できる。
すばらしい!
こういうのが欲しかったんです。
ただまだ、pecoの本機能はまだtopic/commandブランチからマージされていませんし、バグがあるかもしれません。また高機能にするつもりもないでしょうから使用目的を選ぶのが先決かと思います。

ちなみに、こんな感じの一行ラッパーを書いて使ってます。pero --cc とやれば C のコードが、pero --java とやれば Java のコードだけが検索対象になります。

#! /bin/sh

exec ack "$@" . | peco --exec 'awk -F : '"'"'{print "+" $2 " " $1}'"'"' | xargs less '

ありがたや。ありがたや。

あわせて読みたい:「Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!

25 comments:

  1. I am waiting for your coming pictures. I wish you all good luck for your coming blogs and posts. Keep sharing!
    starfall | barney | abcya

    ReplyDelete


  2. The share your really gives us excitement. Thanks for your sharing. If you feel tired at work or study try to participate in our games to bring the most exciting feeling. Thank you!
    hotmail login | red ball | 192.168.1.1

    ReplyDelete
  3. Thanks for your share, hope that you will post more blog soon.
    driving directions

    ReplyDelete
  4. By default, hotmail keeps you logged in until you use the Sign Out button to end the session or 24 hours have passed since you logged on. This can mean that somebody else who passes by your computer while you're away has access to your emails, and can write some from your hotmail account.

    ReplyDelete
  5. Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene.

    - five nights at freddy's

    ReplyDelete
  6. I enjoyed over read your blog post. Your blog have nice information, I got good ideas from this amazing blog. I am always searching like this type blog post. I hope I will see again.

    * super mario world
    * madalin stunt cars 2
    * slope

    ReplyDelete
  7. • Your post has many fine detail information. I read your article and I actually| like it. I want to thank posting this great post.
    * Street view
    * hotmail sign
    * Boy names starting with V

    ReplyDelete
  8. Thank you so much for your suggestion and discuss these important points for blog commenting.
    The points you are listed above, really appreciable and will really help in blog commenting or commenting on other posts or topic.
    http://lootindiadeals.com
    http://Whatsappstatus33.com
    https://healthylifeandshape.com
    https://latestwhatsappstatus.blogspot.com

    ReplyDelete
  9. The blog or and best that is extremely useful to keep I can share the ideas of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    animal jam | five nights at freddy's | hotmail login

    ReplyDelete
  10. Truly an amazing post.I really like it.Thanks for sharing with us.
    - trump twitter

    ReplyDelete
  11. The blog or and best that is extremely useful to keep I can share the ideas of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.

    -- happy wheels --

    ReplyDelete
  12. I will make sure to bookmark your blog and may come
    back later in life. I want to encourage continue your great posts,
    have a nice evening!
    Sony Liv Live
    Totalsportek Live Stream
    Supercopa Barcelona vs Real Madrid Live Stream

    ReplyDelete
  13. Awesome Post! Check out Happy Diwali 2017 Facebook Status
    Also download latest movie PIRATES OF THE CARIBBEAN: DEAD MEN TELL NO TALES 2017
    Also Read trending Story Modern Society
    Also Check out Latest vacancy of Government Job BPSC Recruitment 2017

    ReplyDelete

  14. This is great, That's a great website, it really is what I was looking for, thank you for sharing!
    ymail login | ymail sign in |hotmail sign up |hotmail login

    ReplyDelete
  15. شركة نقل عفش
    اهم شركات مكافحة حشرات بالخبر كذلك معرض اهم شركة مكافحة حشرات بالدمام والخبر والجبيل والخبر والاحساء والقطيف كذلك شركة رش حشرات بالدمام ومكافحة الحشرات بالخبر
    شركة مكافحة حشرات بالدمام
    شركة تنظيف خزانات بجدة الجوهرة من افضل شركات تنظيف الخزانات بجدة حيث ان تنظيف خزانات بجدة يحتاج الى مهارة فى كيفية غسيل وتنظيف الخزانات الكبيرة والصغيرة بجدة على ايدى متخصصين فى تنظيف الخزانات بجدة
    شركة تنظيف خزانات بجدة
    شركة كشف تسربات المياه بالدمام
    شركة نقل عفش واثاث

    ReplyDelete
  16. http://emcmee.jimdo.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%86%D9%82%D9%84-%D8%A7%D8%AB%D8%A7%D8%AB-%D8%A8%D8%A7%D9%84%D8%B1%D9%8A%D8%A7%D8%B6/ شركة نقل عفش بالرياض
    http://emcmee.jimdo.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%86%D9%82%D9%84-%D8%B9%D9%81%D8%B4-%D8%A8%D8%A7%D9%84%D8%B7%D8%A7%D8%A6%D9%81/ شركة نقل عفش بالطائف
    http://emcmee.jimdo.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%86%D9%82%D9%84-%D8%B9%D9%81%D8%B4-%D8%A8%D8%A7%D9%84%D8%AF%D9%85%D8%A7%D9%85/ شركة نقل عفش بالدمام
    http://emcmee.jimdo.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%86%D9%82%D9%84-%D8%A7%D8%AB%D8%A7%D8%AB-%D8%A8%D8%AC%D8%AF%D8%A9/ شركة نقل عفش بجدة
    http://emcmee.jimdo.com/%D8%B4%D8%B1%D9%83%D8%A9-%D9%86%D9%82%D9%84-%D8%B9%D9%81%D8%B4-%D8%A8%D8%A7%D9%84%D9%85%D8%AF%D9%8A%D9%86%D8%A9-%D8%A7%D9%84%D9%85%D9%86%D9%88%D8%B1%D8%A9/ شركة نقل عفش بالمدينة المنورة

    ReplyDelete