Как заставить vim, jsctags или ctags рассматривать файл.js как файл.html?
Я пытаюсь сгенерировать теги для файла, который заканчивается на.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 заставляет его работать?
1 ответ
Я действительно не знаю, кто сгенерировал это сообщение об ошибке, но, поскольку в заголовке вопроса указано, что вам нужно сделать ctags для обработки .js
подать как .html
файл, я предлагаю вам посмотреть на опцию ctags --langmap
,
Итак, вам нужно передать следующую опцию ctags: --langmap=HTML:.js
Но тогда, конечно, все .js
Файлы, переданные в ctags, будут обрабатываться как файлы HTML.
Более подробную информацию о параметрах ctags можно найти здесь.