タグ

gtagsに関するyukimori_726のブックマーク (13)

  • Emacsで関数ジャンプ(gtags)&pygments-parserを使用して色々な言語で関数ジャンプ - Qiita

    Emacs で関数ジャンプを行うために gtags を導入した話です。 また global-pygments-plugin を使って gtags が対応していない言語でも関数ジャンプをやってみた話です。 記事の中では gtags のインストール後に Pygments を導入しますが、 実際にやってみたら Python や Pygments を先にインストールしておかないと、 gtags の ./configure でちゃんと設定が行われないようです。ご注意ください。 環境 Ubuntu 14.04 gtags を試す gtags でソースコードの関数ジャンプをできるようにする gtags は C/C++, Java, PHP などしか対応していないらしい ※まずは通常の gtags で色々試してみます。 ※後述で global-pygments-plugin を適用して対応言語を増やしてみ

    Emacsで関数ジャンプ(gtags)&pygments-parserを使用して色々な言語で関数ジャンプ - Qiita
  • global

    標準では入っていないコマンドですが、globalと言うsource codeを見たりする時に、結構便利なツール類が存在します。これらはtag fileを作成し、これらをemacs等から読込むことによってタグジャンプを行ったり、変数や関数が相互参照可能なhtmlを作成してくれます。 gtagsコマンドは、カレントディレクトリ以下のソースを再帰的に走査して、ソース中のシンボルを集めます。そしてクロスリファレンスデータをタグファイル(GTAGS, GRTAGS, GSYMS, GPATH)に書き込みます。 gtagsコマンドのオプションは幾つかありますが、通常はファイルが存在する場所でを実行させるだけで、tag fileが作成されます。 # gtags サポートしている言語は、C, C++, yacc, java, PHP,およびアセンブラです。それそれの言語は、拡張子で識別されるようになってい

  • Go, Ruby, PythonでGNU GLOBAL(gtags)+α - Qiita

    今回はgtags.confを修正する必要がありませんが、pygments-parser.laのパスが異なる場合には適宜修正してください。 GNU GLOBALの設定をユーザごとに指定したい場合はgtags.confを$HOME/.globalrcに配置することで設定を上書き可能です。 Pythonのインストール Linuxの場合はほとんどのディストリビューションで予めインストールされていると思います。 インストールされていない場合は各ディストリビューションのパッケージマネージャからPythonをインストールしてください。 私はPython 2.6.6で動作確認をしています。 pipのインストール pipはPythonで書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システムです。

    Go, Ruby, PythonでGNU GLOBAL(gtags)+α - Qiita
  • GNU GLOBALへのPygmentsパーサー取り込みでソースコード読みが信じられないくらいに捗るはず - Qiita

    先日リリースされたGLOBAL-6.3.2で、yoshizowさん作の、Pygmentsを使ったプラグインパーサーが公式に取り込まれました。 GLOBAL-6.3.2 released. つまりこれは、GLOBALがサポートしていなかった言語についても、Pygmentsの豊富な言語に対応したlexerを利用してGLOBALのタグを生成することができるということです。 そして、ctagsパーサーでは不可能だった参照タグもできる! 追記 (2014-09-16) MacでHomebrewからインストールする場合、Homebrew側に修正が入り、--with-pygments オプションが追加されました。 これを指定すると、Python 2.xが依存パッケージとなり、更に自動的にPygmentsをPypiからダウンロードしてインストールするようになっています。 したがって、Homebrewからイ

    GNU GLOBALへのPygmentsパーサー取り込みでソースコード読みが信じられないくらいに捗るはず - Qiita
  • GNU GLOBALの対応言語を大幅に増やすPygmentsパーサーを導入する - Qiita

    GNU GLOBAL 6.3.2 より、Pygments を利用したプラグインパーサー(以降 Pygmentsパーサー)が同梱されるようになりました。 これは Python で書かれたシンタックスハイライターである Pygments を利用し、Pygments がサポートするたくさんの種類のプログラミング言語のタグ付けを可能にするものです。 具体的には、GLOBAL-6.3.2 (2014年9月4日リリース)の新機能 に GLOBAL の作者様が書かれているように 25種類、シンボルタグのみの検索ができるものも含めれば 150種類ぐらいの言語に対応しているはずです。 個人的には、Ruby, Go, JavaScript などのタグ付けに利用しています。 そんなPygmentsパーサーですが、GLOBAL のプラグインパーサーの設定自体が少し難しい上、Pygmentsパーサーがいくつかのソフ

    GNU GLOBALの対応言語を大幅に増やすPygmentsパーサーを導入する - Qiita
  • gtags.elとCEDETを試してみた - Nosの日記

    C++のコード読むのにglobalというのとCEDETというのを試してみた。 GNU global GNU globalというのはC、C++など*1のコードに対して索引付けをしてやって、コード中の関数とか変数についてその定義部分を楽に参照しようというもの。 global自体はコマンドラインツールなのだけど、gtags.elというのが同梱されていてemacsといっしょに使える。 まず体をapt-getなりで入れるか家 http://www.gnu.org/software/global/ からもらってきて./configure && make && make installするかする。 読みたいコードのディレクトリに行って $ gtags -v とすると索引ファイルというかタグファイルができる。-vはverboseなのでなくてもよい。 emacsの方の設定としては ;; パスを通す、パッ

    gtags.elとCEDETを試してみた - Nosの日記
  • コードリーディングにとっても便利な GNU GLOBAL と gtags.el (と anything-gtags.el) をつかおう - Qiita

    コードリーディングにとっても便利な GNU GLOBAL と gtags.el (と anything-gtags.el) をつかおうEmacs はじめに 全国 1000 万人の emacs ユーザのみなさんこんにちは。 お題とは全く関係ないですが、今年のテキストエディタ界隈の検索トレンドを見てみました。 リンクはこちら Sublime Textが伸びていますね。 ちなみに Sublime Text 2 の拡張は Python で書くそうです。 全くの余談ですが Emacs ユーザのための Sublime Text 2 の紹介スライドがこちらです。 完全に蛇足ですが Sublime Text 2 の API リファレンスはこちらです。 さて コードリーディングに便利なGNU GLOBALと、それを emacs から使うための gtags.el 、及びさらに便利に使うための anything

    コードリーディングにとっても便利な GNU GLOBAL と gtags.el (と anything-gtags.el) をつかおう - Qiita
  • GNU GLOBAL(gtags)ソースコードタグシステムの使い方

    GNU GLOBAL(gtags)は、ソースコードのタグジャンプです。簡単に複数のソース中から関数や、変数の定義元/参照元を見つけ、その箇所に移動することができます。 ctags、etags(cygwin や Linux に大抵標準で含まれています)と同じ働きをしますが、gtags はさらに強力な機能を持っています。大量の他人の書いたソースを読むプログラマには、必須だと思います。 GNU GLOBAL(gtags) の特徴 gtags は、次のような特徴を持っています。 C、 C++、 Yacc、 JavaPHP4 のソースコードに対応しています。 ※ Pygments 等を入れれば Python等のコードにも対応します 関数の呼び出し元を参照できます。 複数の候補が存在する場合は、一覧で表示してくれます。 タグ情報より、HTMLを生成できます。 コマンドラインや、vi、emacs な

    GNU GLOBAL(gtags)ソースコードタグシステムの使い方
  • http://www.machu.jp/posts/20090308/p01/

    http://www.machu.jp/posts/20090308/p01/
  • GNU GLOBALとvimで巨大なコードでも快適にコードリーディング

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでも、多くの記事にされていて、恐らくKernelや巨大なコードを読んでいる人にとっては当たり前なのかもしれませんが、あまりに快適だったのとこれをきちんとやれてなかった事に自戒をこめて記事にしようと思います。grepとかscreenを駆使していた時間を返してほしい! 対象者 僕がLinux大好きなので、Linux上での動作を前提にしています。対象者はLinux KernelやApache HTTP Server等、数万から数十万、さらには数百万行のコードをじっくり読んでいきたいと考えている人におすすめしたいと思います。巨大なコードを何のツールも使わずに読むのはかなりきついはずです。しかし、今回はGNU GLOBALと呼ばれるソースコードタ

  • GNU Globalの使い方 - Tomorrow is always fresh with no mistake in it.@備忘録

    GNU GLOBALはソースファイルにタグをつけて、関数の宣言箇所や参照先に飛びつけるようにしてくれます。 さらに、vimemacsのエディタ上からも利用でき、ソースを開きながら、見たい箇所にジャンプできます。 1.インストール方法 Ubuntuの場合はパッケージが用意さているので、以下でインストールできる。 sudo apt-get install global 2.タグの作成 GLOBALを利用するには、ソースからタグファイルを作る必要がある。 ソースやヘッダファイルが置かれたディレクトリで以下のコマンドを実行すると、そこをrootディレクトリとして、ディレクトリを下にたどってファイルを走査し、タグファイルを作ってくれる。 gtags [-v] <-- -vは詳細出力の指定でなくてもよい。 3.コマンドラインでの使用方法 作成したタグファイルがあるディレクトリ(gtagsを実行したデ

    GNU Globalの使い方 - Tomorrow is always fresh with no mistake in it.@備忘録
  • コードリーディングにとっても便利な GNU GLOBAL と gtags.el (と anything-gtags.el) をつかおう - Qiita

    コードリーディングにとっても便利な GNU GLOBAL と gtags.el (と anything-gtags.el) をつかおうEmacs はじめに 全国 1000 万人の emacs ユーザのみなさんこんにちは。 お題とは全く関係ないですが、今年のテキストエディタ界隈の検索トレンドを見てみました。 リンクはこちら Sublime Textが伸びていますね。 ちなみに Sublime Text 2 の拡張は Python で書くそうです。 全くの余談ですが Emacs ユーザのための Sublime Text 2 の紹介スライドがこちらです。 完全に蛇足ですが Sublime Text 2 の API リファレンスはこちらです。 さて コードリーディングに便利なGNU GLOBALと、それを emacs から使うための gtags.el 、及びさらに便利に使うための anything

    コードリーディングにとっても便利な GNU GLOBAL と gtags.el (と anything-gtags.el) をつかおう - Qiita
  • ソースコードリーディング1(準備) - オボエガキ用

    version date memo 1.0 2013/07/14 first 1.1 2013/07/15 gtags-parse-file関連追記 Information Ubuntu 12.04 (LXDE) はじめに Linux Kernelに興味があったので、ソースコードリーディングでもしようかと決意。 しかし、最近のLinux Kernelって1500万行ぐらいあるらしい。(2012年の頭ぐらいの話) ・・・全部読むの無理じゃね? と思ったが、こんな書籍を発見。 はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus) 作者: 青柳隆宏出版社/メーカー: 技術評論社発売日: 2013/01/09メディア: 単行(ソフトカバー)購入: 56人 クリック: 1,959回この商品を含むブログ (29件) を見るLinux

    ソースコードリーディング1(準備) - オボエガキ用
  • 1