|
6 | 6 |
|
7 | 7 | 大きなコードベース(Linux カーネル、OpenSSL、curl など)を読む際に、検索結果をグラフに積み上げながら構造を把握していくことを想定しています。 |
8 | 8 |
|
| 9 | +ビルドシステムが複雑で `compile_commands.json` を生成しにくいプロジェクトや、clangd のセットアップが難しい環境でも、インクルード依存グラフや定義ジャンプが動作します。 |
| 10 | + |
9 | 11 | > **ローカル専用ツールです** |
10 | 12 | > 自分の PC で起動して、同じ PC のブラウザからアクセスして使います。 |
11 | 13 | > サーバーへのデプロイや、他の人が外部からアクセスできる環境での使用は想定していません。 |
@@ -128,6 +130,7 @@ static 変数・関数呼び出しはテキストパターンに基づくヒュ |
128 | 130 | | [Go](https://golang.org/) 1.25 以上 | — | ソースからビルドする場合のみ。バイナリ配布版は不要 | |
129 | 131 | | [ripgrep](https://github.com/BurntSushi/ripgrep) | ✅ | `rg` コマンドが PATH にあること | |
130 | 132 | | [GNU Global](https://www.gnu.org/software/global/) | — | **なくても動作します。** `gtags` / `global` コマンドが PATH にあると定義ジャンプ・ホバー・Callers の精度が向上 | |
| 133 | +| [Universal Ctags](https://github.com/universal-ctags/ctags) | — | **なくても動作します。** `tags` ファイルを生成しておくと定義ジャンプの精度が向上し、定数・マクロのハイライトが有効になる | |
131 | 134 |
|
132 | 135 | --- |
133 | 136 |
|
@@ -223,6 +226,27 @@ grepnavi/ |
223 | 226 |
|
224 | 227 | --- |
225 | 228 |
|
| 229 | +## Universal Ctags(オプション) |
| 230 | + |
| 231 | +[Universal Ctags](https://github.com/universal-ctags/ctags) の `tags` ファイルを生成しておくと、定義ジャンプの精度が向上し、定数・マクロのハイライトが有効になります。 |
| 232 | + |
| 233 | +### インストール(Windows) |
| 234 | + |
| 235 | +```bash |
| 236 | +scoop install universal-ctags |
| 237 | +``` |
| 238 | + |
| 239 | +### 使い方 |
| 240 | + |
| 241 | +1. grepnavi を起動し、プロジェクトルートを開く |
| 242 | +2. エディタのファイルヘッダ右端に表示される **定義ジャンプエンジン** ラベルをクリック |
| 243 | +3. ポップオーバーで「インデックス → 生成」を実行 |
| 244 | +4. 以降、定義ジャンプ(Ctrl+クリック / F12)・定数マクロのハイライトが有効になる |
| 245 | + |
| 246 | +インデックスは `tags` ファイルとしてプロジェクトルートに保存されます。ファイルを追加・変更した後は「更新」で再生成してください。 |
| 247 | + |
| 248 | +--- |
| 249 | + |
226 | 250 | ## 使い方 |
227 | 251 |
|
228 | 252 | ### 基本的な流れ |
@@ -402,7 +426,7 @@ grepnavi/ |
402 | 426 | │ ├── search.js # 検索・フィルタ・結果表示 |
403 | 427 | │ ├── graph.js # グラフ/ツリー操作・D3.js・詳細パネル・D&D |
404 | 428 | │ ├── editor.js # Monaco エディタ・fzf・ナビ履歴・行メモ・#ifdef |
405 | | -│ ├── memo-list.js # メモリストパネル(行・範囲メモ一覧・グループ管理) |
| 429 | + │ ├── memo-list.js # メモリストパネル(行・範囲メモ一覧・グループ管理) |
406 | 430 | │ ├── editor-c.js # C/C++ 固有拡張(static変数・関数呼び出し・定数のハイライト、ローカル変数ホバー抑制) |
407 | 431 | │ ├── gtags.js # GNU Global UI(エンジン選択・インデックス管理) |
408 | 432 | │ ├── include-graph.js # C インクルード依存グラフ(D3.js) |
|
0 commit comments