From 8c5b0c33ebb1bb49bf3375fcdb9940abd64c386e Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 9 Jun 2021 10:24:48 +0200 Subject: Store the patterns in a hash. More readable and easier to extend. --- reselect | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/reselect b/reselect index fd2193d..1a7d8e2 100644 --- a/reselect +++ b/reselect @@ -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; + } -- cgit v1.2.3