我正在尝试为一个以.js结尾的文件生成标记。
Didn't find a name for constructor^@^@node.js:201^@ throw e; // process.nextTick error, or 'error' event on first tick^@ ^^@Error: Didn't find a name for cons
tructor^@ at errorWithCode (/usr/local/lib/cfa2/jscfa.js:157:11)^@ at Array.toType (/usr/local/lib/cfa2/jscfa.js:1574:11)^@ at /usr/local/lib/cfa2/jscfa.js:1994:18^@
at Aval.forEachObj (/usr/local/lib/cfa2/jscfa.js:2020:5)^@ at Aval.toType (/usr/local/lib/cfa2/jscfa.js:1993:8)^@ at funToType (/usr/local/lib/cfa2/jscfa.js:3736:31)^@ a
t getTags (/usr/local/lib/cfa2/jscfa.js:3786:24)^@ at Object.interpret (/usr/local/lib/jsctags/ctags/interp.js:54:21)^@ at Object.scan (/usr/local/lib/jsctags/ctags/index.j
s:104:16)^@ at processPath (/usr/local/bin/jsctags:189:18)^@
但是,如果我只是通过将.js更改为.html来重命名文件,那么它就可以正常工作。
因此,在生成标记时,一些东西(vim、ctags或jsctags)正在根据文件扩展名做出某种决定。
这是怎么回事?为什么将文件扩展名更改为.html会起作用?
我真的不知道是谁生成了这个错误消息,但是,只要问题标题中说明您需要制作ctags来将.js
文件视为.html
文件,我建议您查看ctags选项--langmap
。
因此,您需要将以下选项传递给ctags:--langmap=HTML:.js
但是,当然,传递给ctags的所有.js
文件都将被视为HTML文件。
关于ctags选项的更多详细信息可以在这里找到。