3

Vim と ctags および Taglist プラグインを使用しています。.vhd ファイルを編集するとき、タグが非常に貧弱です (エンティティのみが表示されます)。

VHDL に対する ctags のサポートが弱いのか、それとも Taglist が ctags によって作成されたファイルを非効率的に読み取っているのかはわかりません。

どうすれば修正できますか?ctags/taglist で vhdl のより良いタグを作成する別の解決策はありますか?

どうもありがとう。

4

3 に答える 3

4

ctags のサポートが不十分な場合は、ホーム ディレクトリの .ctags ファイルに一連の宣言を追加することでサポートを拡張できます。たとえば、VHDL の場合は、次のコードを使用できます

--langdef=vhdl
--langmap=vhdl:.vhd
--regex-vhdl=/^[ \t]*package[ \t]+([^ ]+) is/\1/d,package declarations/i
--regex-vhdl=/^[ \t]*package[ \t]+body[ \t]+([^ ]+) is/\1/b,package bodies/i
--regex-vhdl=/^[ \t]*architecture[ \t]+([^ ]+) of/\1/a,architecture specifications/i
--regex-vhdl=/^[ \t]*entity[ \t]+([^ ]+) is/\1/e,entities/i
--regex-vhdl=/^[ \t]*([^ \t:]+)[ \t]*:[ \t]*process[ \t]*\(/\1/p,processes/i
--regex-vhdl=/^[ \t]*function[ \t]+([a-z0-9_]+)/\1/f,functions/i
--regex-vhdl=/^[ \t]*procedure[ \t]+([a-z0-9_]+)/\1/r,procedures/i
--regex-vhdl=/^[ \t]*type[ \t]+([^ ]+) is/\1/t,type declarations/i
于 2013-08-26T03:08:12.963 に答える
0

Ctags は、VHDL での名前のスコープとオーバーロードを考慮していないため、根本的に壊れています。使用しないでください。

詳細については、このブログ投稿を参照してください。

于 2013-08-26T10:35:04.107 に答える