你给我看这个,我也只能告诉你应该是你的 tags 文件里面就没有录到这个头文件。。
原因可能是你的头文件不在扫描路径中,或者你没有录 F/file
kind 的 tag,再或者 Citre 有 bug。但我建议你自己先排查一下,打开 tags 文件翻一翻有没有头文件,有没有你想要的头文件(直接用头文件名在里面搜索就行),检查一下 ctags 的命令行。
你给我看这个,我也只能告诉你应该是你的 tags 文件里面就没有录到这个头文件。。
原因可能是你的头文件不在扫描路径中,或者你没有录 F/file
kind 的 tag,再或者 Citre 有 bug。但我建议你自己先排查一下,打开 tags 文件翻一翻有没有头文件,有没有你想要的头文件(直接用头文件名在里面搜索就行),检查一下 ctags 的命令行。
tag是有的,头文件在tags里能搜到,tags也是按照–kinds-all=*选项生成的。
所以我比较怀疑citre有bug,目前我感觉citre在生成文件名那一步就没有做对,但我不知道怎么验证这一点。
major mode 是什么?在头文件上面 M-x eval-expression RET (citre-get-symbol) RET
结果是什么?
对这么一行代码:#include “IntervalInfo/Interval.h”
试了一下,是这样:
是不是取符号就没有没有取对啊感觉?
因为tag只认识单词,不认识语法。
有专门的函数 citre-lang-c--get-header-at-point
处理这个情况,应该不会有你说的现象出现。你是不是不在 c-mode
里面?
C++ mode
因为我和另一个开发者对 c++ 不熟,没有对 c++ mode 做特别的处理。
目前的话可以手动选中 Interval.h
再查定义。
用不出来,算啦
开启了citre后,imenu的时候提示有citre-core-tags-file-info: c:/Users/xxx/AppData/Local/Temp/citre-imenu.tags doesn’t exist。关闭citre-mode以后就正常了。这个是咋回事啊?
【】我知道了,emacs里面自带的ctags冲突了,用utags就没问题。请忽略此问题,谢谢;
编译了新的emacs29,用的是https://github.com/emacs-mirror/emacs上master分支0316的代码,在打开文件时发现总会报一个错误:citre–project-root: Wrong type argument: stringp, (Git “~/”)
3月3号的代码编译后还没有这个错误,是不是emacs中有什么改动影响了citre的实现了?
有人已经报了这个 bug 是我太懒了,我尽快修了吧
Universal-ctags 是不是对 scheme 支持不好? 我今天试了试,感觉变量都标记被 function 了,不知道是什么情况。
是的,(def...
这种的都会被当成函数。
是不是作者故意的
ctags 的 scheme parse 是抄 etags 的,可能 etags 就这样,我也不清楚 你可以写个 issue 嘛
ctags 和 scheme 我都是半瓶水,写出好的 issue 太费脑细胞了。。。。。
citre支持corfu吗?我今天从company换到了corfu,增加了all-the-icons的补丁,发现citre显示的补全好像并不是作为corfu的后端,而是独立显示的?这样就没办法和其他的补全一起显示了,而且也没有图标了;
是不是citre还不支持corfu啊?
citre-enable-capf-integration 会添加 capf 支持,corfu 天然支持 capf