gtags 是一套標籤程式,幫你記錄程式碼中函式等定義的座標——檔名、行號、引用位置。透過指令可以建立索引,然後查詢。原本愛用的 ctags 雖然索引功能較陽春,但支援較多程式語言,也完美搭配 vim 內建指令。在 vim 中想要索引 gtags 就必須額外安裝套件,例如 LeaderF。LeaderF 模糊搜尋速度飛快,所以其實也曾用得好好的。但人生就又是這個但是,換成 Shift-JIS 編碼的桌面系統之後,預覽全部給我顯示問號!氣死。另一個類似的模糊查找套件 Telescope 就可以指定編碼,能正常顯示預覽。但 Telescope 內建不支援 gtags 啊(Orz。
只好自搞。以下正文開始。
Telescope Plugin Development
好在 Telescope 強大且完善的外掛生態,讓我們不必重新製造模糊搜介面的輪子。只需專注於資料搜集,餵給 Telescope 的 Picker 即可。