1

我正在使用 ctags -R * 生成标签。但它不会为 .haml 和 .less 文件生成标签。是否有单独的选项为这些文件生成标签?

4

3 回答 3

4

我认为 ctags 默认不支持 haml。以下是支持的语言:http ://ctags.sourceforge.net/languages.html 。您可以通过一些谷歌搜索来添加对它的支持。

于 2013-04-10T21:59:24.000 回答
3

要添加对 less 的支持,请将其粘贴到您的 ctags 文件中:

--langdef=less
--langmap=less:.less
--regex-less=/^[ \t]*\.([A-Za-z0-9_-]+)/\1/c,class,classes/
--regex-less=/^[ \t]*#([A-Za-z0-9_-]+)/\1/i,id,ids/
--regex-less=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-less=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/

上面的表达很ctrl-]友好。如果您使用的是 kien/ctrlp.vim 之类的脚本,请使用

--langdef=less
--langmap=less:.less
--regex-less=/^[ \t]*\.([A-Za-z0-9_-]+)/.\1/c,class,classes/
--regex-less=/^[ \t]*#([A-Za-z0-9_-]+)/#\1/i,id,ids/
--regex-less=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-less=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/

它将.在课程#之前和 ID 之前添加。

于 2014-03-03T02:35:29.617 回答
2

您可以查询支持的语言列表

$ ctags --list-languages

Exuberant Ctags有一些补丁添加了对更多语言的本机支持,但我还没有看到haml更少的任何东西。但是,您可以通过~/.ctags;中的正则表达式定义添加支持。请参阅ctags 帮助

于 2013-04-11T06:16:10.327 回答