微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim EasyTags,每个文件类型标签命令?

我使用 vim优秀的 EasyTags插件.我唯一的问题是Exuberant CTags不支持Haskell.但是,有几个程序可以正确生成Haskell vim标记文件,我已经在EasyTags中使用了每个文件类型标记文件选项.

有没有办法告诉EasyTags在每种文件类型的基础上使用不同的ctags程序?我可以编写一个包装脚本并将其设置为全局ctags程序,但更喜欢更清洁的解决方案.

我试过了

:autocmd FileType haskell let g:easytags_cmd = '~/.cabal/bin/lushtags'

但EasyTags似乎试图在ctags程序中查询支持的语言列表,因此当我打开启用了此选项的Haskell文件时,我收到错误.

"Data/Csv/Conduit.hs" [RO] 51L,1950C
Error detected while processing function xolox#easytags#register..xolox#easytags#get_tagsfi
le..xolox#easytags#supported_filetypes..34_check_filetype:
line    3:
E605: Exception not caught: Failed to get supported languages! (output: Usage: lushtags [op
tions] [--] )
Error detected while processing function xolox#easytags#register..xolox#easytags#get_tagsfi
le..xolox#easytags#supported_filetypes:
line   14:
E171: Missing :endif
Error detected while processing function xolox#easytags#register..xolox#easytags#get_tagsfi

解决方法

同样在这里的EasyTags用户,我也一直想要这个功能(对于 jsctags).我已经实现了一个允许为特定语言配置单独的可执行文件patch.

在合并之前(遗憾的是,过去几个月里没有任何活动),你可以使用my fork.配置如下:

let g:easytags_languages = {
\   'haskell': {
\       'cmd': '~/.cabal/bin/lushtags',\       'args': [],\       'fileoutput_opt': '-f',\       'stdout_opt': '-f-',\       'recurse_flag': '-R'
\   }
\}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐