diff options
| author | Alexander Færøy | 2014-05-31 13:10:46 +0200 |
|---|---|---|
| committer | Alexander Færøy | 2014-05-31 13:10:46 +0200 |
| commit | 2d0759e6ca5767b48bcc85bf38c2c43d5f0b63b1 (patch) | |
| tree | 1c5e6d817c88e67b46e216a50e0aef5428bf63df /scripts/tab_stop.pl | |
| parent | 2d080422d79d1fd49d6c5528593ccaaff9bfc583 (diff) | |
| download | scripts.irssi.org-2d0759e6ca5767b48bcc85bf38c2c43d5f0b63b1.tar.bz2 | |
Import scripts from scripts.irssi.org
Diffstat (limited to 'scripts/tab_stop.pl')
| -rw-r--r-- | scripts/tab_stop.pl | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/scripts/tab_stop.pl b/scripts/tab_stop.pl new file mode 100644 index 0000000..8039a34 --- /dev/null +++ b/scripts/tab_stop.pl @@ -0,0 +1,59 @@ +#!/usr/bin/perl +# +# Created by Stefan "tommie" Tomanek [stefan@kann-nix.org] +# to free the world from the evil inverted I +# +# 23.02.2002 +# *First release +# +# 01.03.200 +# *Changed to GPL + +use strict; +use vars qw($VERSION %IRSSI); +use Irssi; + +$VERSION = "2002123102"; +%IRSSI = ( + authors => "Stefan 'tommie' Tomanek", + contact => "stefan\@pico.ruhr.de", + name => "tab_stop", + description => "This script replaces the evil inverted 'I' with a configurable number of whitespaces ", + license => "GPLv2", + changed => "$VERSION", +); + +sub event_server_incoming { + my ($server, $data) = @_; + my $newdata; + if (has_tab($data)) { + $newdata = replace_tabs($data); + Irssi::signal_continue($server, $newdata); + } +} + +# FIXME Experimental! +sub sig_gui_print_text { + my ($win, $fg, $bg, $flags, $text, $dest) = @_; + return unless $text =~ /\t/; + my $newtext = replace_tabs($text); + Irssi::signal_continue($win, $fg, $bg, $flags, $newtext, $dest); +} + +sub has_tab { + my ($text) = @_; + return $text =~ /\t/; +} + +sub replace_tabs { + my ($text) = @_; + my $replacement = Irssi::settings_get_str('tabstop_replacement'); + $text =~ s/\t/$replacement/g; + return($text); +} + +#Irssi::signal_add('gui print text', \&sig_gui_print_text); +Irssi::signal_add_first('server incoming', \&event_server_incoming); + +Irssi::settings_add_str('misc', 'tabstop_replacement', " "); + |
