【问题标题】:vim EasyTags, per file type tags command?vim EasyTags,每个文件类型标签命令?
【发布时间】:2013-03-06 20:02:47
【问题描述】:

我在 vim 中使用了出色的 EasyTags 插件。我唯一的问题是 Exuberant CTags 不支持 Haskell。但是,有几个程序可以正确生成 Haskell vim 标签文件,我已经在 EasyTags 中使用了 per file type tags 文件选项。

有没有办法告诉 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

【问题讨论】:

  • 你得到什么错误?
  • 更新了问题。

标签: vim tags exuberant-ctags


【解决方案1】:

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

在合并之前(不幸的是,过去几个月没有任何活动),您可以使用my fork。配置是这样的:

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

【讨论】:

  • 酷,看起来正是我想要的。我将不得不进行更多调查,它不能直接使用,但我不知道为什么。
  • 您好,这里是 vim-easytags 插件的作者。我终于开始合并 Ingo 的补丁,所以如果配置正确(请参阅 Ingo 的帖子),一切都应该开箱即用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-12
  • 1970-01-01
  • 1970-01-01
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多