From a5b61e32c4c77f3f6c31133812facbc7f90f35ff Mon Sep 17 00:00:00 2001 From: Thomas Stagner Date: Sun, 19 Feb 2017 12:43:16 -0700 Subject: Implement second-level tab completion for /perlalias and /perlunalias --- scripts/perlalias.pl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'scripts') diff --git a/scripts/perlalias.pl b/scripts/perlalias.pl index bb3b306..c4e4803 100644 --- a/scripts/perlalias.pl +++ b/scripts/perlalias.pl @@ -235,6 +235,34 @@ sub sig_setup_reread { close $fd; } +sub sig_complete_perlalias { + my ($lst, $win, $word, $line, $want_space) = @_; + $word//return; + $line//return; + $lst//return; + if ($line ne '') { + my $def = $cmds{$line}; + $def//return; + push @$lst, $def->{textcmd}; + Irssi::signal_stop(); + } + else { + push @$lst, (grep /^\Q$word\E/i, keys %cmds); + Irssi::signal_stop(); + } +} + +sub sig_complete_perlunalias { + my ($lst, $win, $word, $line, $want_space) = @_; + $lst//return; + $word//return; + push @$lst, (grep /^\Q$word\E/i, keys %cmds); +} + +Irssi::signal_register({"complete command " => [qw(glistptr_char* Irssi::UI::Window string string intptr)]}); +Irssi::signal_add("complete command perlalias" => \&sig_complete_perlalias); +Irssi::signal_add("complete command perlunalias" => \&sig_complete_perlunalias); + Irssi::signal_add("setup saved" => \&sig_setup_saved); Irssi::signal_add("setup reread" => \&sig_setup_reread); -- cgit v1.2.3