Как заставить 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 можно найти здесь.

Другие вопросы по тегам