Ctags создает теги без скобок после функций.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ctags создает теги без скобок после функций.

Сообщение Anonymous »

Ctags создает файл тегов без () после функций. В результате Ctrl+] Vim не может выполнять поиск функций. Как это исправить?

Код: Выделить всё

~/ $ cat example.hxx
bool function() {
return true;
}
~/ $ ctags example.hxx
~/ $ cat tags | grep function
!_TAG_KIND_DESCRIPTION!C++      f,function      /function definitions/
function        example.hxx       /^bool function() {$/;" f       typeref:typename:bool
~/ $ vim -t "function()"
E426: Tag not found: function()
~/ $ ctags --fields=+l --extras=+q example.hxx
~/ $ cat tags | grep function
!_TAG_KIND_DESCRIPTION!C++      f,function      /function definitions/
function        example.hxx       /^bool function() {$/;" f       language:C++    typeref:typename:bool
~/ $ vim -t "function()"
E426: Tag not found: function()
Все найденные поисковые запросы (+ Ассистент) представляли собой варианты добавления в ctags, которые не исправляют использование Vim.
Возможное решение:

Код: Выделить всё

~/ $ sed "s/^\(\w\+\)\t/\1()\t/" -i"" tags
~/SubStack/tmp $ cat tags | grep function
!_TAG_KIND_DESCRIPTION!C++      f,function      /function definitions/
function()      example.hxx       /^bool function() {$/;" f       typeref:typename:bool
~/SubStack/tmp $ vim -t "function()"
example.hxx                                                                                                   4,0-1          All
"example.hxx" 4L, 35B
но это не позволяет использовать такие простые инструкции README.md, как «Выполнить ctags -R . в корне проекта, если вы хотите, чтобы Vim переходил к тегам»,
как и:

Код: Выделить всё

~/ $ echo "\"nnoremap  :let stripped = expand(\"\"):execute \"tag \" . substitute(stripped, '()', '', 'g') \"`Tag not found: function()` fix" >> ~/.vimrc
Похоже, что если вы используете ~/.vimrc:

Код: Выделить всё

setlocal iskeyword
вы не можете использовать ./теги.
Что делать?


Подробнее здесь: https://stackoverflow.com/questions/792 ... -functions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»