summaryrefslogtreecommitdiffstats
path: root/.local/bin
diff options
context:
space:
mode:
authorjoe <rbo@gmx.us>2025-08-21 18:40:13 +0200
committerjoe <rbo@gmx.us>2025-08-21 18:40:13 +0200
commit0c82e88e2bd0f3a4b8224b189eb76e106c1e3d31 (patch)
tree78dce6af99ba59e3de28a74594b24e85b05f78f6 /.local/bin
parentup (diff)
downloaddotfiles-bsd-0c82e88e2bd0f3a4b8224b189eb76e106c1e3d31.tar.gz
dotfiles-bsd-0c82e88e2bd0f3a4b8224b189eb76e106c1e3d31.tar.bz2
dotfiles-bsd-0c82e88e2bd0f3a4b8224b189eb76e106c1e3d31.tar.xz
dotfiles-bsd-0c82e88e2bd0f3a4b8224b189eb76e106c1e3d31.tar.zst
dotfiles-bsd-0c82e88e2bd0f3a4b8224b189eb76e106c1e3d31.zip
up
Diffstat (limited to '.local/bin')
-rwxr-xr-x.local/bin/linkview27
1 files changed, 21 insertions, 6 deletions
diff --git a/.local/bin/linkview b/.local/bin/linkview
index 0f8dff5..cd9d90e 100755
--- a/.local/bin/linkview
+++ b/.local/bin/linkview
@@ -12,6 +12,7 @@ use Term::ReadKey;
use Capture::Tiny qw(capture);
use POSIX qw(setsid);
use Data::UUID;
+use Hash::Ordered;
use feature qw(switch);
no warnings qw(experimental::smartmatch);
@@ -148,7 +149,7 @@ sub img_pdf
$ext =~ s/\?.*//;
$new_file_name = $uuid . $ext;
rename($file_name, $new_file_name) or die $!;
- if ($key eq "2 img") {
+ if ($key =~ /img/) {
$ret = system(IMGVIEW_PATH . " " . $new_file_name);
}
else {
@@ -496,10 +497,17 @@ sub get_yt_vid_name
sub fzf_prompt
{
- my ($url) = @_;
+ my ($url, $mapping_ref) = @_;
my $answer;
- my $list = join("\n", sort keys %func_list);
+ my @sorted_keys;
+ my @stripped_keys;
+ my $list;
+ @sorted_keys = sort keys %func_list;
+ @stripped_keys = map { substr($_, 2) } @sorted_keys;
+ %$mapping_ref = ();
+ @{$mapping_ref}{@stripped_keys} = @sorted_keys;
+ $list = join("\n", @stripped_keys);
$answer = `printf "$list\n" | $menu --prompt '$url > '`;
chomp $answer;
return $answer;
@@ -508,14 +516,21 @@ sub fzf_prompt
sub linkview
{
my $answer;
+ my $og_key;
+ my %mapping;
if (@ARGV == 0 || $ARGV[0] eq '') {
print STDERR "linkview: no URL\n";
exit 1;
}
- $answer = fzf_prompt($ARGV[0]);
- return unless exists $func_list{$answer};
- $func_list{$answer}->($ARGV[0], $ARGV[1], $answer);
+
+ $answer = fzf_prompt($ARGV[0], \%mapping);
+
+ return unless exists $mapping{$answer};
+ $og_key = $mapping{$answer};
+
+ return unless exists $func_list{$og_key};
+ $func_list{$og_key}->($ARGV[0], $ARGV[1], $og_key);
return;
}