summaryrefslogtreecommitdiffstats
path: root/lib/Reply/Plugin/Autocomplete/Methods.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Reply/Plugin/Autocomplete/Methods.pm')
-rw-r--r--lib/Reply/Plugin/Autocomplete/Methods.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Reply/Plugin/Autocomplete/Methods.pm b/lib/Reply/Plugin/Autocomplete/Methods.pm
index 4b1c4f5..7421226 100644
--- a/lib/Reply/Plugin/Autocomplete/Methods.pm
+++ b/lib/Reply/Plugin/Autocomplete/Methods.pm
@@ -9,6 +9,8 @@ use MRO::Compat;
use Package::Stash;
use Scalar::Util 'blessed';
+use Reply::Util qw($ident_rx $fq_ident_rx $fq_varname_rx);
+
=head1 SYNOPSIS
; .replyrc
@@ -50,8 +52,10 @@ sub tab_handler {
my $self = shift;
my ($line) = @_;
- my ($invocant, $method) = $line =~ /((?:\$\s*)?[A-Z_a-z][0-9A-Z_a-z:]*)->([A-Z_a-z][0-9A-Z_a-z]*)?$/;
+ my ($invocant, $method) = $line =~ /($fq_varname_rx|$fq_ident_rx)->($ident_rx)?$/;
return unless $invocant;
+ # XXX unicode
+ return unless $invocant =~ /^[\$A-Z_a-z]/;
$method = '' unless defined $method;