aboutsummaryrefslogtreecommitdiffstats
path: root/vim-mode/vim_mode.pl
diff options
context:
space:
mode:
Diffstat (limited to 'vim-mode/vim_mode.pl')
-rw-r--r--vim-mode/vim_mode.pl28
1 files changed, 5 insertions, 23 deletions
diff --git a/vim-mode/vim_mode.pl b/vim-mode/vim_mode.pl
index a8e1cbb..2e2ca4a 100644
--- a/vim-mode/vim_mode.pl
+++ b/vim-mode/vim_mode.pl
@@ -1104,32 +1104,14 @@ sub _commit_line {
my $win = Irssi::active_win();
my $witem = ref $win ? $win->{active} : undef;
- my $context;
- if (defined $witem) {
- $context = $witem;
- } elsif (defined $win) {
- $context = $win;
- } elsif (defined $server) {
- $context = $server;
- } else {
- $context = undef;
- }
+ my @context;
+ push @context, $server if defined $server;
+ push @context, $witem if defined $witem;
if ($line =~ /^[\Q$cmdchars\E]/) {
- print "Committing line as command" if DEBUG;
- if (defined $context) {
- $context->command($line);
- } else {
- Irssi::command($line);
- }
-
+ Irssi::signal_emit 'send command', $line, @context;
} else {
- print "Committing line as text" if DEBUG;
- if (defined $context) {
- $context->command("/say $line");
- } else {
- Irssi::command("/say $line");
- }
+ Irssi::signal_emit 'send command', $line, @context;
}
}