5

私は ctags の初心者で、PHP でコーディングしています。この 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実験の結果、 を定義する必要があることがわかりました。実際には、ファイルの 7 行目に定義されています。では、なぜエラーがスローされるのでしょうか。

編集: ctags ファイルはhere から来ました。これは、このすばらしい記事からリンクされています。

これが私の設定の出力です:

$ 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: <dhiebert@users.sourceforge.net>, 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
$
4

1 に答える 1

5

'p' の種類は、デフォルトでは PHP に対して定義されていません。

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

あなたの場合、PHPの「p」種類を定義しています。動けば

--PHP-kinds=+cfpd 

この後、エラーは発生しません。

注: ctags の私のバージョン情報は次のとおりです。

$ ctags --version 
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Apr 19 2012, 11:31:19
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +wildcards, +regex
于 2012-04-24T18:49:08.340 に答える