tyru / current-func-info.vim

Get current function name
http://www.vim.org/scripts/script.php?script_id=3197
62 stars 14 forks source link

Support Perl's code attributes #11

Closed aereal closed 10 years ago

tyru commented 11 years ago

ありがとうございます! ただ、以下のサンプルだとPR前のコードでも関数名が取得できるようです。 PR後でないと取得できなかったコードを示していただけると助かります。

# http://gihyo.jp/dev/feature/01/perl-pluggable/0002 からのサンプルコード

package Jitensya;
use strict;
use warnings;

sub new { bless { sound => 'リンリン' }, shift }

sub sound : lvalue {
    shift->{sound};
}
1;

package main;
use strict;
use warnings;

my $mama = Jitensya->new;
print $mama->sound; # 「リンリン」と出力

$mama->sound = 'チリンチリン';
print $mama->sound; # 「チリンチリン」と出力

ちなみに動作してしまうようですが、\%\(\)ではなくて\%(\)が正しいVim正規表現です。 そこも合わせて修正していただけると助かります。

aereal commented 11 years ago

PR後でないと取得できなかったコードを示していただけると助かります。

package t::;

use parent qw( Test::Class );

sub setup : Test(startup) {
  # -> (nil)
}

sub some : Tests {
  ok 1;
  # -> (nil)
}

sub helper {
  # -> helper
}

1;

上記のような Perl のコードで helper 以外のサブルーチン定義の中で cfi#get_func_name() がサブルーチンの名前を返しませんでした。

aereal commented 11 years ago

ちなみに動作してしまうようですが、\%()ではなくて\%()が正しいVim正規表現です。

0c9f388 で修正しました (失礼しました……)。

tyru commented 11 years ago

修正ありがとうございます。 対応できてなくてすみません。

上記のような Perl のコードで helper 以外のサブルーチン定義の中で cfi#get_func_name() がサブルーチンの名前を返しませんでした。

これについても近々確認します…

tyru commented 10 years ago

確認遅くなり申し訳ありません。 ありがとうございました。

aereal commented 10 years ago

dmdm!