【问题标题】:quotation mark break ctags for javascriptjavascript的引号打破ctags
【发布时间】:2013-11-22 01:55:59
【问题描述】:

如果函数定义在正则表达式中带引号的行之后,则ctags无法标记函数。

var aa=/'asdf/;
function bb(){
  return 0;
}

那么输出标签文件什么都没有,aa和bb也没有标签。

实际上,2008 年有一个bug 针对这个问题提出了申请。它说这将在下一个版本中修复。但看起来它仍然存在于我的 ctags 中,即:

Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert

对此有什么想法吗?

【问题讨论】:

  • 你试过/\'asdf/吗?
  • 还是不行。谢谢
  • /\u0027asdf/ 在语义上等价于/'asdf/
  • 看起来你已经很好地找到了一个最小的测试用例。我会在您的测试用例中提交一个新错误以及一个已关闭错误的链接。
  • 谢谢,迈克。它有效,但我有很多遗留代码。这是解决此问题的唯一方法吗?

标签: javascript ctags exuberant-ctags


【解决方案1】:

Universal-ctags (https://ctags.io) 可以很好的捕捉aa和bb。

$ ./ctags -o - /tmp/foo.js  
aa  /tmp/foo.js /^var aa=\/'asdf\/;$/;" v
bb  /tmp/foo.js /^function bb(){$/;"    f

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多