2012-04-13 4 views
4

Я новичок ctags, кодирующий в PHP. Я нашел этот Ctags файл онлайн:Что не так с моим .ctags файлом?

-R 
--exclude=.svn 
--tag-relative=yes 
--PHP-kinds=+cfpd 
--regex-PHP=/abstract\s+class\s+([^ ]+)/\1/c/ 
--regex-PHP=/interface\s+([^ ]+)/\1/c/ 
--regex-PHP=/(public\s+|static\s+|protected\s+|private\s+)\$([^  =]+)/\2/p/ 
--regex-PHP=/const\s+([^ =]+)/\1/d/ 
--regex-PHP=/final\s+(public\s+|static\s+|abstract\s+|protected\s+|private\s+)function\s+\&?\s*([^ (]+)/\2/f/ 

Однако, я получаю эту ошибку:

$ ctags 
ctags: Warning: Unsupported parameter 'p' for --PHP-kinds option 

Из экспериментов я вижу, что p должна быть определена, и на самом деле она определяется на седьмой строки файла. Итак, почему возникает ошибка?

EDIT: Ctags файл пришел from here, который был связан с this terrific article.

Вот результат моей конфигурации:

$ ctags --version 
ctags: Warning: Unsupported parameter 'p' for --PHP-kinds option 
Exuberant Ctags 5.6, Copyright (C) 1996-2004 Darren Hiebert 
Compiled: Jan 6 2007, 02:10:54 
Addresses: <[email protected]>, http://ctags.sourceforge.net 
Optional compiled features: +wildcards, +regex 
$ cat ~/.ctags 
-R 
--exclude=.svn 
--tag-relative=yes 
--regex-PHP=/abstract\s+class\s+([^ ]+)/\1/c/ 
--regex-PHP=/interface\s+([^ ]+)/\1/c/ 
--regex-PHP=/(public\s+|static\s+|protected\s+|private\s+)\$([^ \t=]+)/\2/p/ 
--regex-PHP=/const\s+([^ \t=]+)/\1/d/ 
--regex-PHP=/final\s+(public\s+|static\s+|abstract\s+|protected\s+|private\s+)function\s+\&?\s*([^ (]+)/\2/f/ 
--PHP-kinds=+cpdf 
$ ctags 
ctags: Warning: Unsupported parameter 'p' for --PHP-kinds option 
$ 
+0

свяжите источник, где вы обнаружили, что файл. – hakre

+0

Какие символы находятся в классе символов: '[^ =]' в этой строке? Если вы являетесь вкладкой, попробуйте заменить ее на '\ t'. – sarnold

+0

Спасибо, я отредактировал вопрос с источником файла. – dotancohen

ответ

4

«р» вид не определен для PHP по умолчанию.

--regex-PHP=/(public\s+|static\s+|protected\s+|private\s+)\$([^  =]+)/\2/p/ 

определяет тип «p» для PHP в вашем случае. Если вы переведете

--PHP-kinds=+cfpd 

после этого он не даст вам никаких сообщений.

Примечание: Вот моя версия Информация для Ctags:

$ ctags --version 
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert 
    Compiled: Apr 19 2012, 11:31:19 
    Addresses: <[email protected]>, http://ctags.sourceforge.net 
    Optional compiled features: +wildcards, +regex 
+0

Кстати, это избавляет от предупреждения и дает вам p-записи в вашем файле тегов. Следующий шаг будет спорить, что такое запись p, и если вы действительно этого хотите. = D – Aaron

+0

Спасибо. Перемещение строки '--PHP-types' либо непосредственно после строки' p', либо даже до конца файла не разрешает проблему для меня. Любые другие идеи? – dotancohen

+0

хм .. он решил проблему для меня и Лукаса Омана. Какую версию ctags вы используете, и можете ли вы разместить свой .ctags-файл? – Aaron

Смежные вопросы