html/special_complete.pl
1 use strict;
2 use vars qw($VERSION %IRSSI);
3 use Irssi;
4 $VERSION = '1.1';
5 %IRSSI = (
6 authors => 'Wouter Coekaerts',
7 contact => 'wouter@coekaerts.be, coekie@#irssi',
8 name => 'special_complete',
9 description => '(tab)complete irssi special variables (words that start with $) by evaluating them',
10 license => 'GPLv2',
11 url => 'http://wouter.coekaerts.be/irssi/',
12 changed => '28/07/03',
13 );
14
15 Irssi::signal_add_last 'complete word', sub {
16 my ($complist, $window, $word, $linestart, $want_space) = @_;
17 if ($word =~ /^\$/){
18 my $evaluated;
19 if (Irssi::active_win->{'active'}) {
20 $evaluated = Irssi::active_win->{'active'}->parse_special($word);
21 } elsif (Irssi::active_win->{'active_server'}) {
22 $evaluated = Irssi::active_win->{'active_server'}->parse_special($word);
23 } else {
24 $evaluated = Irssi::parse_special($word);
25 }
26 if ($evaluated ne '') {
27 push @$complist, $evaluated;
28 }
29 }
30 };