mooeditエディターには、ソース名を表示するためのプラグインがあります。 彼は標準の
ctagsを使用していますが、これは控えめに言うとPerlでは機能しません。
ctagsは関数名のみを検出しますが、もっと欲しいです:
最初に、Perlの
ctags呼び出しがどのように発生するかを確認し、この場合にユーティリティを置き換える方法について考えてみましょう。
moo / plugins / ctags / ctags-doc.cを見ると、この場合の呼び出しは次のようになっていることが明らかになります。
ctags -u --fields=afksS --excmd=number -f '_' ' '
これがPerlであることを明示的に示すものはありません。 したがって、
ファイルユーティリティを使用して状況をキャッチします。 システムの
ctagsの代わりに呼び出される
〜/ bin / ctagsファイルを作成します。
ここで
〜/ bin / perltagsがどうなるかを考える必要
があります 。 原則として、
vimユーザーは
pltagsおよび
perltagsユーティリティに精通してい
ますが 、私にはまったく満足しませんでした。 CPANは
perl-tagsユーティリティを見つけました。 ただし、
mooeditで使用するには、ファイルで変更する必要があるため、(はい、そしてただの楽しみのために)
独自のを作成することにしました。
まず、形式を把握しましょう。
ctagsを開始する
と、エディターは次の行を予期します。
_;" kind
kind (giblets mooeditの用語では)は名前のタイプです(
fは関数、
vは変数など)。
行番号の末尾に2つの文字が追加されました(
; " )-これはタイプミスではなく、エディターがクラッシュするだけです(明らかに、--
excmd = numberの後の欠陥)。
これですべてです。次に、解析対象を正確に理解する必要があります。 ソースコードをあまり深く分析する必要はありませんが、ソースコードを手に取るのは決して面倒ではありません。 したがって、
PPIを取得し、しばらくしてから表示されます
彼にできること:
- 宣言を含む関数名を見つける
- 式での出現を含む、グローバル変数の名前を見つける
- BEGIN、ENDなどのブロックを見つける
各名前には、見つかった行の番号(向き)が追加され、プラグインウィンドウから、最初のラベルだけでなく、ラベルのすべての出現箇所を確認できます。 さらに、関数、変数、およびブロックは一般的なリストには含まれませんが、グループ化されます。