diff options
-rw-r--r-- | reselect | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -97,14 +97,8 @@ sub build_overlays { sub on_action { my ($self, $cmd) = @_; - my $pattern; - if ($cmd eq 'url') { - $pattern = $re_url; - } elsif ($cmd eq 'git_hash') { - $pattern = $re_git_hash; - } elsif ($cmd eq 'message_id') { - $pattern = $re_message_id; - } else { + my $pattern = $self->{patterns}->{$cmd}; + if (!defined($pattern)) { return; } @@ -277,4 +271,13 @@ sub on_start { $self->{launchsingle} = ($self->my_resource("launchsingle") ne "false"); $self->{descending} = ($self->my_resource("order") eq "descending"); $self->{url_picker} = (); + + my $patterns = { + url => $re_url, + git_hash => $re_git_hash, + message_id => $re_message_id, + }; + + $self->{patterns} = $patterns; + } |