在空白处用一下 xref-find-definitions
应该就可以。
你说的这个需求很有价值,我觉得 xref 的界面还是过于简陋。一直想做一个交互式过滤 tags 文件的工具,参见 Citre: 先进的 Ctags 前端 - #24,来自 kinono
目前对于怎么实现还是没有太好的想法。初步计划是这样:
- 先给 citre-peek 增加一个过滤工具,当找出太多定义以后可以用这个来排除掉一部分。初步探索一下这种 UI 应该怎么设计。
- 做一个模糊补全工具,像上面说的这样可以交互式过滤,可能基于 consult 或 completing-read(当然不依赖外部库是最好的)。
- 把这个补全工具拓展一下,使得过滤出来的结果可以插入到当前 buffer(补全),可以跳转过去,也可以转换成一个 citre-peek 或 xref 会话。
这就是我设想中 Citre 的终极形态,可以最大限度地利用 tags 记录的信息和 readtags 提供的过滤功能。