diff options
author | Anton Khirnov <anton@khirnov.net> | 2021-06-09 10:24:48 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2021-06-09 10:34:40 +0200 |
commit | 8c5b0c33ebb1bb49bf3375fcdb9940abd64c386e (patch) | |
tree | 1ccf45ef7335db65a2d651012e2d927b366a7643 | |
parent | c8c6e5a883cb68a2dae8aeccee287bdddb8a6811 (diff) |
Store the patterns in a hash.
More readable and easier to extend.
-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; + } |