LoginSignup
1
3

More than 5 years have passed since last update.

fzfとghqとGNU globalでCのソースコードリーディングが捗った話

Last updated at Posted at 2016-08-14

Javaとかのソースコード読むときは、IntelliJとかでいい感じにタグジャンプできるんだけど、rubyとかpostgresとかみたいなCのプロジェクトを読むときは何かいけてる方法ないかなあと思っていた。

この辺りを参考に、githubやらのソースコードを管理していたんだけど、それとGtags(htags)を組み合わせてソースコードリーディングが捗った話

下準備

必要なコマンドを用意

いい感じのスクリプトを用意

下記のようなものを用意

# ghqのリポジトリのパスを曖昧検索で指定
SRC=$(ghq list | fzf)

# htagsのファイル郡を保存するディレクトリ。ghqのパスに準拠することで衝突を防ぐ。
TARGET=${HOME}/.docs/${SRC}

# なけれればhtagsのファイル郡を作成
if [ ! -d "${TARGET}" ]; then
  pushd ${HOME}/src/${SRC}
  mkdir -p ${TARGET}
  htags -ansv ${TARGET}
  popd
fi
open ${TARGET}/HTML/index.html

これをzshのfunctionにするとか、PATHに実行ファイルとして置くとかしてすぐ実行できるようにすると便利。

仮にsrcで上記が呼べるようにした。

使ってみる

rubyのソースコードをブラウザで読めるようにする。

ソースコードのクローン

$ ghq get https://github.com/ruby/ruby.git

いい感じに見る

用意したスクリプトを呼ぶ

$ src

リポジトリの曖昧検索が始まる

image

ruby/rubyを指定してhtagsのファイル郡が作成されるのを待つ

image

ファイルが作成し終わったらブラウザで開く

image

リンクからジャンプできて便利

image

一度タグファイルなどを作っておけば以降はopenするだけなのですぐ開く。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3