1use strict; 2use vars qw($VERSION %IRSSI); 3use 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 15Irssi::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}; 31