Skip to content

Commit

Permalink
tab_stop: added tab_stop, a bit of a rework of an old script to repla…
Browse files Browse the repository at this point in the history
…ce the

inverted I with some configurable thing.
  • Loading branch information
shabble committed May 24, 2011
1 parent 5e22659 commit 69c4b25
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions tab_stop/tab_stop.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 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
#
# 24.05.2011
# * Buggered about with by shabble.

use strict;
use warnings;

use Irssi;

our $VERSION = "20110524";
our %IRSSI = (
authors => "Stefan 'tommie' Tomanek, shabble",
contact => "stefan\@pico.ruhr.de, shabble@#irssi/Freenode",
name => "tab_stop",
description => 'Replaces \t TAB characters with '
. 'contents of /set tabstop_replacement',
license => "GPLv2",
changed => "$VERSION",
);

my $not_tab;

sub sig_gui_print_text {
return unless $_[4] =~ /\t/;
$_[4] =~ s/\t/$not_tab/g;
Irssi::signal_continue(@_);
}

# create an expando $TAB which produces real tabs
Irssi::expando_create('TAB', sub { "\t" }, { 'gui exit' => 'never' });

# then rewrite them just before they're printed.
Irssi::signal_add_first('gui print text', \&sig_gui_print_text);
Irssi::signal_add('setup changed', \&sig_setup_changed);
Irssi::settings_add_str('misc', 'tabstop_replacement', " ");

sub sig_setup_changed {
$not_tab = Irssi::settings_get_str('tabstop_replacement');
}

sig_setup_changed();

0 comments on commit 69c4b25

Please sign in to comment.