id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc
1209,Enable MooseX::Declare Method Modifiers in OutLine,bowtie,,"= {{{Enable MooseX::Declare Method Modifiers in OutLine}}}

* with reference to revision r14225

**before / after / around / override / augment**
{{{#!perl
    before   foo ($x, $y, $z) { ... }
    after    bar ($x, $y, $z) { ... }
    around   baz ($x, $y, $z) { ... }
    override moo ($x, $y, $z) { ... }
    augment  kuh ($x, $y, $z) { ... }
}}}

== {{{FunctionList.pm}}}
{{{#!diff

Index: lib/Padre/Document/Perl/FunctionList.pm
===================================================================
--- lib/Padre/Document/Perl/FunctionList.pm	(revision 14225)
+++ lib/Padre/Document/Perl/FunctionList.pm	(working copy)
@@ -21,7 +21,7 @@
 		|
 		$n$n=\w+.*?$n$n=cut\b(?=.*?$n$n)
 		|
-		(?:^|$n)\s*(?:sub|func|method)\s+(\w+(?:::\w+)*)
+		(?:^|$n)\s*(?:sub|func|method|before|after|around|override|augment)\s+(\w+(?:::\w+)*)
 		)
 	/sx;
 
}}}
== {{{Perl.pm}}}
{{{#!diff
Index: lib/Padre/Document/Perl.pm
===================================================================
--- lib/Padre/Document/Perl.pm	(revision 14225)
+++ lib/Padre/Document/Perl.pm	(working copy)
@@ -295,7 +295,7 @@
 # triggering a ""Variable length lookbehind not implemented"" error.
 # return qr/(?:(?<=^)\s*sub\s+$_[1]|(?<=[\012\015])\s*sub\s+$_[1])\b/;
 sub get_function_regex {
-	qr/(?:^|[^# \t])[ \t]*((?:sub|func|method)\s+$_[1])\b/;
+	qr/(?:^|[^# \t])[ \t]*((?:sub|func|method|before|after|around|override|augment)\s+$_[1])\b/;
 }
 
 sub get_functions {
@@ -310,7 +310,7 @@
 		|
 		$n$n=\w+.*?$n$n=cut\b(?=.*?$n$n)
 		|
-		(?:^|$n)\s*(?:sub|func|method)\s+(\w+(?:::\w+)*)
+		(?:^|$n)\s*(?:sub|func|method|before|after|around|override|augment)\s+(\w+(?:::\w+)*)
 		)
 	/sgx;
 }
@@ -758,7 +758,7 @@
 					close $fh;
 					my @subs = $lines =~ /sub\s+(\w+)/g;
 					if ( $lines =~ /use MooseX::Declare;/ ) {
-						push @subs, ( $lines =~ /\bmethod\s+(\w+)/g );
+						push @subs, ( $lines =~ /\b(method|before|after|around|override|augment)\s+(\w+)/g );
 					}
 
 					if ( $lines =~ /use (?:MooseX::)?Method::Signatures;/ ) {
}}}
== {{{OutLine.pm}}}
{{{#!diff

Index: PPIx-EditorTools/lib/PPIx/EditorTools/Outline.pm
===================================================================
--- PPIx-EditorTools/lib/PPIx/EditorTools/Outline.pm	(revision 14225)
+++ PPIx-EditorTools/lib/PPIx/EditorTools/Outline.pm	(working copy)
@@ -128,7 +128,7 @@
 		$ppi->find(
 			sub {
 				$_[1]->isa('PPI::Token::Word') or return 0;
-				$_[1]->content =~ /^(?:func|method)\z/ or return 0;
+				$_[1]->content =~ /^(?:func|method|before|after|around|override|augment)\z/ or return 0;
 				$_[1]->next_sibling->isa('PPI::Token::Whitespace') or return 0;
 				my $sib_content = $_[1]->next_sibling->next_sibling->content or return 0;
 
}}}",enhancement,closed,minor,,Outline,0.85,fixed,MooseX::Declare,
