aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Feist <shabble@metavore.org>2010-11-05 09:50:55 +0000
committerTom Feist <shabble@metavore.org>2010-11-05 09:50:55 +0000
commit2e4d7da6d355bb830ffc296680fa8275366d3beb (patch)
tree22d610821f25851d1212bb7896237bea1b97969f
parentrl_search_history: bump version number (diff)
downloadirssi-scripts-2e4d7da6d355bb830ffc296680fa8275366d3beb.tar.gz
irssi-scripts-2e4d7da6d355bb830ffc296680fa8275366d3beb.zip
removed test/ dir since it was causing too much trouble
-rw-r--r--test/.gitignore1
-rwxr-xr-xtest/build_links.pl58
-rw-r--r--test/irssi/config287
-rw-r--r--test/irssi/default.theme720
-rwxr-xr-xtest/no-screen-run-irssi.sh3
-rwxr-xr-xtest/run_irssi.sh3
-rw-r--r--vim-mode/vim_mode.pl2
7 files changed, 2 insertions, 1072 deletions
diff --git a/test/.gitignore b/test/.gitignore
deleted file mode 100644
index 1ab4a53..0000000
--- a/test/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-irssi/scripts/*
diff --git a/test/build_links.pl b/test/build_links.pl
deleted file mode 100755
index daed67c..0000000
--- a/test/build_links.pl
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env perl
-
-use strict;
-use warnings;
-
-use File::Find;
-use File::Basename qw/basename/;
-#use File::Spec ();
-use Cwd qw/realpath/;
-
-use FindBin;
-
-my $scripts_dir = $FindBin::Bin . '/irssi/scripts';
-print "Cleanup....\n";
-find(\&cleanup, "irssi/scripts/");
-print "Scanning for new....\n";
-find(\&wanted, '../');
-print "Done\n";
-
-sub cleanup {
- my $file = $_;
- my $path = $File::Find::name;
- my $dir = $File::Find::dir;
-
- # only process symlinks
- my $abs_path = realpath($path); #File::Spec->rel2abs($path);
- return unless defined $abs_path;
- return unless (-l $abs_path);
- print "Thinking about deleting $path\n";
-
-}
-
-sub wanted {
- my $file = $_;
- my $path = $File::Find::name;
- my $dir = $File::Find::dir;
-
- my $abs_path = realpath($path); #File::Spec->rel2abs($path);
- #$abs_path = File::Spec->canonpath($abs_path);
-
- return if $dir =~ /(?:test|docs)$/;
- return unless $file =~ /\.pl$/;
- return unless defined $abs_path;
- return unless -f $abs_path;
-
- print "Thinking about $scripts_dir/$file => $abs_path\n";
- create_link($abs_path);
-}
-
-
-sub create_link {
- my $target = shift;
- my $name = basename($target);
- my $link = $scripts_dir . '/' . $name;
-
- my $ret = symlink($target, $link);
- die "link creation failed - T: $target, L: $link" unless $ret;
-}
diff --git a/test/irssi/config b/test/irssi/config
deleted file mode 100644
index 031d15f..0000000
--- a/test/irssi/config
+++ /dev/null
@@ -1,287 +0,0 @@
-servers = (
- { address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },
- { address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
- {
- address = "chat.freenode.net";
- chatnet = "Freenode";
- port = "6667";
- },
- { address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
- {
- address = "irc.undernet.org";
- chatnet = "Undernet";
- port = "6667";
- },
- { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
- {
- address = "irc.quakenet.org";
- chatnet = "QuakeNet";
- port = "6667";
- },
- { address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; },
- {
- address = "irc.gamesurge.net";
- chatnet = "GameSurge";
- port = "6667";
- },
- { address = "irc.webchat.org"; chatnet = "WebChat"; port = "6667"; },
- { address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; },
- { address = "irc.link-net.org"; chatnet = "LinkNet"; port = "6667"; },
- { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }
-);
-
-chatnets = {
- IRCnet = {
- type = "IRC";
- max_kicks = "4";
- max_msgs = "5";
- max_whois = "4";
- max_query_chans = "5";
- };
- EFNet = {
- type = "IRC";
- max_kicks = "4";
- max_msgs = "3";
- max_whois = "1";
- };
- Freenode = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "4";
- max_whois = "1";
- };
- Undernet = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "3";
- max_whois = "30";
- };
- DALnet = {
- type = "IRC";
- max_kicks = "4";
- max_msgs = "3";
- max_whois = "30";
- };
- QuakeNet = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "3";
- max_whois = "30";
- };
- OFTC = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "3";
- max_whois = "30";
- };
- GameSurge = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "3";
- max_whois = "30";
- };
- WebChat = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "3";
- max_whois = "30";
- };
- Rizon = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "3";
- max_whois = "30";
- };
- LinkNet = {
- type = "IRC";
- max_kicks = "1";
- max_msgs = "3";
- max_whois = "30";
- };
- SILC = { type = "SILC"; };
-};
-
-channels = (
- { name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; },
- { name = "silc"; chatnet = "silc"; autojoin = "No"; }
-);
-
-aliases = {
- J = "join";
- WJOIN = "join -window";
- WQUERY = "query -window";
- LEAVE = "part";
- BYE = "quit";
- EXIT = "quit";
- SIGNOFF = "quit";
- DESCRIBE = "action";
- DATE = "time";
- HOST = "userhost";
- LAST = "lastlog";
- SAY = "msg *";
- WI = "whois";
- WII = "whois $0 $0";
- WW = "whowas";
- W = "who";
- N = "names";
- M = "msg";
- T = "topic";
- C = "clear";
- CL = "clear";
- K = "kick";
- KB = "kickban";
- KN = "knockout";
- BANS = "ban";
- B = "ban";
- MUB = "unban *";
- UB = "unban";
- IG = "ignore";
- UNIG = "unignore";
- SB = "scrollback";
- UMODE = "mode $N";
- WC = "window close";
- WN = "window new hide";
- SV = "say Irssi $J ($V) - http://irssi.org/";
- GOTO = "sb goto";
- CHAT = "dcc chat";
- RUN = "SCRIPT LOAD";
- CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
- SBAR = "STATUSBAR";
- INVITELIST = "mode $C +I";
- Q = "QUERY";
- "MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
- EXEMPTLIST = "mode $C +e";
- ATAG = "WINDOW SERVER";
- UNSET = "set -clear";
- RESET = "set -default";
- "/vim" = "/script load vim_mode.pl";
-};
-
-statusbar = {
- # formats:
- # when using {templates}, the template is shown only if it's argument isn't
- # empty unless no argument is given. for example {sb} is printed always,
- # but {sb $T} is printed only if $T isn't empty.
-
- items = {
- # start/end text in statusbars
- barstart = "{sbstart}";
- barend = "{sbend}";
-
- topicbarstart = "{topicsbstart}";
- topicbarend = "{topicsbend}";
-
- # treated "normally", you could change the time/user name to whatever
- time = "{sb $Z}";
- user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
-
- # treated specially .. window is printed with non-empty windows,
- # window_empty is printed with empty windows
- window = "{sb $winref:$tag/$itemname{sbmode $M}}";
- window_empty = "{sb $winref{sbservertag $tag}}";
- prompt = "{prompt $[.15]itemname}";
- prompt_empty = "{prompt $winname}";
- topic = " $topic";
- topic_empty = " Irssi v$J - http://www.irssi.org";
-
- # all of these treated specially, they're only displayed when needed
- lag = "{sb Lag: $0-}";
- act = "{sb Act: $0-}";
- more = "-- more --";
- };
-
- # there's two type of statusbars. root statusbars are either at the top
- # of the screen or at the bottom of the screen. window statusbars are at
- # the top/bottom of each split window in screen.
- default = {
- # the "default statusbar" to be displayed at the bottom of the window.
- # contains all the normal items.
- window = {
- disabled = "no";
-
- # window, root
- type = "window";
- # top, bottom
- placement = "bottom";
- # number
- position = "1";
- # active, inactive, always
- visible = "active";
-
- # list of items in statusbar in the display order
- items = {
- barstart = { priority = "100"; };
- time = { };
- user = { };
- window = { };
- window_empty = { };
- lag = { priority = "-1"; };
- act = { priority = "10"; };
- more = { priority = "-1"; alignment = "right"; };
- barend = { priority = "100"; alignment = "right"; };
- vim_mode = { };
- };
- };
-
- # statusbar to use in inactive split windows
- window_inact = {
- type = "window";
- placement = "bottom";
- position = "1";
- visible = "inactive";
- items = {
- barstart = { priority = "100"; };
- window = { };
- window_empty = { };
- more = { priority = "-1"; alignment = "right"; };
- barend = { priority = "100"; alignment = "right"; };
- };
- };
-
- # we treat input line as yet another statusbar :) It's possible to
- # add other items before or after the input line item.
-
- # topicbar
- topic = {
- type = "root";
- placement = "top";
- position = "1";
- visible = "always";
- items = {
- topicbarstart = { priority = "100"; };
- topic = { };
- topic_empty = { };
- topicbarend = { priority = "100"; alignment = "right"; };
- };
- };
- add = { };
- prompt = {
- items = {
- uberprompt = { priority = "-1"; };
- input = { priority = "10"; };
- };
- position = "100";
- };
- };
-};
-settings = {
- core = {
- real_name = "shabble";
- user_name = "tomfeist";
- nick = "tomfeist";
- };
- "fe-text" = { actlist_sort = "refnum"; };
- "perl/core/scripts" = {
- vim_mode_prompt_leading_space = "no";
- vim_mode_debug = "yes";
- };
-};
-keyboard = (
- { key = "^C"; id = "command"; data = "region_start "; },
- {
- key = "meta-q";
- id = "command";
- data = "script exec print Irssi::gui_input_get_pos()";
- },
- { key = "^R"; id = "command"; data = "history_search_start "; }
-);
diff --git a/test/irssi/default.theme b/test/irssi/default.theme
deleted file mode 100644
index b82a4eb..0000000
--- a/test/irssi/default.theme
+++ /dev/null
@@ -1,720 +0,0 @@
-# When testing changes, the easiest way to reload the theme is with /RELOAD.
-# This reloads the configuration file too, so if you did any changes remember
-# to /SAVE it first. Remember also that /SAVE overwrites the theme file with
-# old data so keep backups :)
-
-# TEMPLATES:
-
-# The real text formats that irssi uses are the ones you can find with
-# /FORMAT command. Back in the old days all the colors and texts were mixed
-# up in those formats, and it was really hard to change the colors since you
-# might have had to change them in tens of different places. So, then came
-# this templating system.
-
-# Now the /FORMATs don't have any colors in them, and they also have very
-# little other styling. Most of the stuff you need to change is in this
-# theme file. If you can't change something here, you can always go back
-# to change the /FORMATs directly, they're also saved in these .theme files.
-
-# So .. the templates. They're those {blahblah} parts you see all over the
-# /FORMATs and here. Their usage is simply {name parameter1 parameter2}.
-# When irssi sees this kind of text, it goes to find "name" from abstracts
-# block below and sets "parameter1" into $0 and "parameter2" into $1 (you
-# can have more parameters of course). Templates can have subtemplates.
-# Here's a small example:
-# /FORMAT format hello {colorify {underline world}}
-# abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; }
-# When irssi expands the templates in "format", the final string would be:
-# hello %G%Uworld%U%n
-# ie. underlined bright green "world" text.
-# and why "$0-", why not "$0"? $0 would only mean the first parameter,
-# $0- means all the parameters. With {underline hello world} you'd really
-# want to underline both of the words, not just the hello (and world would
-# actually be removed entirely).
-
-# COLORS:
-
-# You can find definitions for the color format codes in docs/formats.txt.
-
-# There's one difference here though. %n format. Normally it means the
-# default color of the terminal (white mostly), but here it means the
-# "reset color back to the one it was in higher template". For example
-# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would
-# print yellow "foo" (as set with %Y) but "bar" would be green, which was
-# set at the beginning before the {foo} template. If there wasn't the %g
-# at start, the normal behaviour of %n would occur. If you _really_ want
-# to use the terminal's default color, use %N.
-
-#############################################################################
-
-# default foreground color (%N) - -1 is the "default terminal color"
-default_color = "-1";
-
-# print timestamp/servertag at the end of line, not at beginning
-info_eol = "false";
-
-# these characters are automatically replaced with specified color
-# (dark grey by default)
-replaces = { "[]=" = "%K$*%n"; };
-
-abstracts = {
- ##
- ## generic
- ##
-
- # text to insert at the beginning of each non-message line
- line_start = "%B-%W!%B-%n ";
-
- # timestamp styling, nothing by default
- timestamp = "[[[$*]]]";
-
- # any kind of text that needs hilighting, default is to bold
- hilight = "%_$*%_";
-
- # any kind of error message, default is bright red
- error = "%R$*%n";
-
- # channel name is printed
- channel = "%_$*%_";
-
- # nick is printed
- nick = "%_$*%_";
-
- # nick host is printed
- nickhost = "[$*]";
-
- # server name is printed
- server = "%_$*%_";
-
- # some kind of comment is printed
- comment = "[$*]";
-
- # reason for something is printed (part, quit, kick, ..)
- reason = "{comment $*}";
-
- # mode change is printed ([+o nick])
- mode = "{comment $*}";
-
- ##
- ## channel specific messages
- ##
-
- # highlighted nick/host is printed (joins)
- channick_hilight = "%C$*%n";
- chanhost_hilight = "{nickhost %c$*%n}";
-
- # nick/host is printed (parts, quits, etc.)
- channick = "%c$*%n";
- chanhost = "{nickhost $*}";
-
- # highlighted channel name is printed
- channelhilight = "%c$*%n";
-
- # ban/ban exception/invite list mask is printed
- ban = "%c$*%n";
-
- ##
- ## messages
- ##
-
- # the basic styling of how to print message, $0 = nick mode, $1 = nick
- msgnick = "%K<%n$0$1-%K>%n %|";
-
- # message from you is printed. "msgownnick" specifies the styling of the
- # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
- # whole line.
-
- # Example1: You want the message text to be green:
- # ownmsgnick = "{msgnick $0 $1-}%g";
- # Example2.1: You want < and > chars to be yellow:
- # ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
- # (you'll also have to remove <> from replaces list above)
- # Example2.2: But you still want to keep <> grey for other messages:
- # pubmsgnick = "%K{msgnick $0 $1-%K}%n";
- # pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
- # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
- # ownprivmsgnick = "%K{msgnick $*%K}%n";
- # privmsgnick = "%K{msgnick %R$*%K}%n";
-
- # $0 = nick mode, $1 = nick
- ownmsgnick = "{msgnick $0 $1-}";
- ownnick = "%W$*%n";
-
- # public message in channel, $0 = nick mode, $1 = nick
- pubmsgnick = "{msgnick $0 $1-}";
- pubnick = "%N$*%n";
-
- # public message in channel meant for me, $0 = nick mode, $1 = nick
- pubmsgmenick = "{msgnick $0 $1-}";
- menick = "%Y$*%n";
-
- # public highlighted message in channel
- # $0 = highlight color, $1 = nick mode, $2 = nick
- pubmsghinick = "{msgnick $1 $0$2-%n}";
-
- # channel name is printed with message
- msgchannel = "%K:%c$*%n";
-
- # private message, $0 = nick, $1 = host
- privmsg = "[%R$0%K(%r$1-%K)%n] ";
-
- # private message from you, $0 = "msg", $1 = target nick
- ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";
-
- # own private message in query
- ownprivmsgnick = "{msgnick $*}";
- ownprivnick = "%W$*%n";
-
- # private message in query
- privmsgnick = "{msgnick %R$*%n}";
-
- ##
- ## Actions (/ME stuff)
- ##
-
- # used internally by this theme
- action_core = "%W * $*%n";
-
- # generic one that's used by most actions
- action = "{action_core $*} ";
-
- # own action, both private/public
- ownaction = "{action $*}";
-
- # own action with target, both private/public
- ownaction_target = "{action_core $0}%K:%c$1%n ";
-
- # private action sent by others
- pvtaction = "%W (*) $*%n ";
- pvtaction_query = "{action $*}";
-
- # public action sent by others
- pubaction = "{action $*}";
-
-
- ##
- ## other IRC events
- ##
-
- # whois
- whois = "%# $[8]0 : $1-";
-
- # notices
- ownnotice = "[%r$0%K(%R$1-%K)]%n ";
- notice = "%K-%M$*%K-%n ";
- pubnotice_channel = "%K:%m$*";
- pvtnotice_host = "%K(%m$*%K)";
- servernotice = "%g!$*%n ";
-
- # CTCPs
- ownctcp = "[%r$0%K(%R$1-%K)] ";
- ctcp = "%g$*%n";
-
- # wallops
- wallop = "%W$*%n: ";
- wallop_nick = "%n$*";
- wallop_action = "%W * $*%n ";
-
- # netsplits
- netsplit = "%R$*%n";
- netjoin = "%C$*%n";
-
- # /names list
- names_prefix = "";
- names_nick = "[%_$0%_$1-] ";
- names_nick_op = "{names_nick $*}";
- names_nick_halfop = "{names_nick $*}";
- names_nick_voice = "{names_nick $*}";
- names_users = "[%g$*%n]";
- names_channel = "%G$*%n";
-
- # DCC
- dcc = "%g$*%n";
- dccfile = "%_$*%_";
-
- # DCC chat, own msg/action
- dccownmsg = "[%r$0%K($1-%K)%n] ";
- dccownnick = "%R$*%n";
- dccownquerynick = "%W$*%n";
- dccownaction = "{action $*}";
- dccownaction_target = "{action_core $0}%K:%c$1%n ";
-
- # DCC chat, others
- dccmsg = "[%G$1-%K(%g$0%K)%n] ";
- dccquerynick = "%G$*%n";
- dccaction = "%W (*dcc*) $*%n %|";
-
- ##
- ## statusbar
- ##
-
- # default background for all statusbars. You can also give
- # the default foreground color for statusbar items.
- sb_background = "%0%w";
-
- # default backround for "default" statusbar group
- #sb_default_bg = "%4";
- # background for prompt / input line
- sb_prompt_bg = "%w";
- # background for info statusbar
- sb_info_bg = "%8";
- # background for topicbar (same default)
- #sb_topic_bg = "%4";
-
- # text at the beginning of statusbars. sb-item already puts
- # space there,so we don't use anything by default.
- sbstart = "";
- # text at the end of statusbars. Use space so that it's never
- # used for anything.
- sbend = " ";
-
- topicsbstart = "{sbstart $*}";
- topicsbend = "{sbend $*}";
-
- prompt = "[$*$prompt_additional] ";
-
- sb = " %c[%n$*%c]%n";
- sbmode = "(%c+%n$*)";
- sbaway = " (%GzZzZ%n)";
- sbservertag = ":$0 (change with ^X)";
- sbnickmode = "$0";
-
- # activity in statusbar
-
- # ',' separator
- sb_act_sep = "%c$*";
- # normal text
- sb_act_text = "%c$*";
- # public message
- sb_act_msg = "%W$*";
- # hilight
- sb_act_hilight = "%M$*";
- # hilight with specified color, $0 = color, $1 = text
- sb_act_hilight_color = "$0$1-%n";
-};
-formats = {
- "fe-common/irc/dcc" = {
- own_dcc = "{dccownmsg dcc {dccownnick $1}}$2";
- own_dcc_action = "{dccownaction_target $0 $1}$2";
- own_dcc_action_query = "{dccownaction $0}$2";
- own_dcc_ctcp = "{ownctcp ctcp $0}$1 $2";
- dcc_msg = "{dccmsg dcc $0}$1";
- action_dcc = "{dccaction $0}$1";
- action_dcc_query = "{dccaction $0}$1";
- own_dcc_query = "{ownmsgnick {dccownquerynick $0}}$2";
- dcc_msg_query = "{privmsgnick $0}$1";
- dcc_ctcp = "{dcc >>> DCC CTCP {hilight $1} received from {hilight $0}: $2}";
- dcc_chat = "{dcc DCC CHAT from {nick $0} [$1 port $2]}";
- dcc_chat_channel = "{dcc DCC CHAT from {nick $0} [$1 port $2] requested in channel {channel $3}}";
- dcc_chat_not_found = "{dcc No DCC CHAT connection open to {nick $0}}";
- dcc_chat_connected = "{dcc DCC CHAT connection with {nick $0} [$1 port $2] established}";
- dcc_chat_disconnected = "{dcc DCC lost chat to {nick $0}}";
- dcc_send = "{dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4]}";
- dcc_send_channel = "{dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes] requested in channel {channel $5}}";
- dcc_send_exists = "{dcc DCC already sending file {dccfile $0} for {nick $1}}";
- dcc_send_no_route = "{dcc DCC route lost to nick {nick $0} when trying to send file {dccfile $1}}";
- dcc_send_not_found = "{dcc DCC not sending file {dccfile $1} to {nick $0}}";
- dcc_send_file_open_error = "{dcc DCC can't open file {dccfile $0}: $1}";
- dcc_send_connected = "{dcc DCC sending file {dccfile $0} for {nick $1} [$2 port $3]}";
- dcc_send_complete = "{dcc DCC sent file {dccfile $0} [{hilight $1}] for {nick $2} in {hilight $3} [{hilight $4kB/s}]}";
- dcc_send_aborted = "{dcc DCC aborted sending file {dccfile $0} for {nick $1}}";
- dcc_get_not_found = "{dcc DCC no file offered by {nick $0}}";
- dcc_get_connected = "{dcc DCC receiving file {dccfile $0} from {nick $1} [$2 port $3]}";
- dcc_get_complete = "{dcc DCC received file {dccfile $0} [$1] from {nick $2} in {hilight $3} [$4kB/s]}";
- dcc_get_aborted = "{dcc DCC aborted receiving file {dccfile $0} from {nick $1}}";
- dcc_get_write_error = "{dcc DCC error writing to file {dccfile $0}: {comment $1}";
- dcc_unknown_ctcp = "{dcc DCC unknown ctcp {hilight $0} from {nick $1} [$2]}";
- dcc_unknown_reply = "{dcc DCC unknown reply {hilight $0} from {nick $1} [$2]}";
- dcc_unknown_type = "{dcc DCC unknown type {hilight $0}}";
- dcc_invalid_ctcp = "{dcc DCC received CTCP {hilight $0} with invalid parameters from {nick $1}}";
- dcc_connect_error = "{dcc DCC can't connect to {hilight $0} port {hilight $1}}";
- dcc_cant_create = "{dcc DCC can't create file {dccfile $0}: $1}";
- dcc_rejected = "{dcc DCC $0 was rejected by {nick $1} [{hilight $2}]}";
- dcc_request_send = "{dcc DCC $0 request sent to {nick $1}: $2";
- dcc_close = "{dcc DCC $0 close for {nick $1} [{hilight $2}]}";
- dcc_lowport = "{dcc Warning: Port sent with DCC request is a lowport ({hilight $0, $1}) - this isn't normal. It is possible the address/port is faked (or maybe someone is just trying to bypass firewall)}";
- dcc_list_header = "{dcc DCC connections}";
- dcc_list_line_chat = "{dcc $0 $1}";
- dcc_list_line_file = "{dcc $0 $1: %|$2 of $3 ($4%%) - $5kB/s - ETA $7 - $6}";
- dcc_list_line_queued_send = "{dcc - $0 $2 (queued)}";
- dcc_list_footer = "";
- dcc_list_line_server = "{dcc $0: Port($1) - Send($2) - Chat($3) - Fserve($4)}";
- dcc_server_started = "{dcc DCC SERVER started on port {hilight $0}}";
- dcc_server_closed = "{dcc DCC SERVER on port {hilight $0} closed}";
- };
- "fe-common/irc/notifylist" = {
- notify_join = "{nick $0} [$1@$2] [{hilight $3}] has joined to $4";
- notify_part = "{nick $0} has left $4";
- notify_away = "{nick $0} [$5] [$1@$2] [{hilight $3}] is now away: $4";
- notify_unaway = "{nick $0} [$4] [$1@$2] [{hilight $3}] is now unaway";
- notify_online = "On $0: {hilight $1}";
- notify_offline = "Offline: $0";
- notify_list = "$0: $1 $2";
- notify_list_empty = "The notify list is empty";
- };
- "fe-common/core" = {
- line_start = "{line_start}";
- line_start_irssi = "{line_start}{hilight Irssi:} ";
- timestamp = "{timestamp $Z} ";
- servertag = "[$0] ";
- daychange = "Day changed to %%d %%b %%Y";
- talking_with = "You are now talking with {nick $0}";
- refnum_too_low = "Window number must be greater than 1";
- error_server_sticky = "Window's server is sticky and it cannot be changed without -unsticky option";
- set_server_sticky = "Window's server set sticky";
- unset_server_sticky = "Window's server isn't sticky anymore";
- window_name_not_unique = "Window names must be unique";
- window_level = "Window level is now $0";
- window_set_immortal = "Window is now immortal";
- window_unset_immortal = "Window isn't immortal anymore";
- window_immortal_error = "Window is immortal, if you really want to close it, say /WINDOW IMMORTAL OFF";
- windowlist_header = "%#Ref Name Active item Server Level";
- windowlist_line = "%#$[3]0 %|$[20]1 $[15]2 $[15]3 $4";
- windowlist_footer = "";
- windows_layout_saved = "Layout of windows is now remembered";
- windows_layout_reset = "Layout of windows reset to defaults";
- window_info_header = "";
- window_info_footer = "";
- window_info_refnum = "%#Window : {hilight #$0}";
- window_info_refnum_sticky = "%#Window : {hilight #$0 (sticky)}";
- window_info_name = "%#Name : $0";
- window_info_history = "%#History : $0";
- window_info_immortal = "%#Immortal: yes";
- window_info_size = "%#Size : $0x$1";
- window_info_level = "%#Level : $0";
- window_info_server = "%#Server : $0";
- window_info_server_sticky = "%#Server : $0 (sticky)";
- window_info_theme = "%#Theme : $0$1";
- window_info_bound_items_header = "%#Bounds : {hilight Name Server tag}";
- window_info_bound_item = "%# : $[!30]0 $[!15]1 $2";
- window_info_bound_items_footer = "";
- window_info_items_header = "%#Items : {hilight Name Server tag}";
- window_info_item = "%# $[7]0: $[!30]1 $2";
- window_info_items_footer = "";
- looking_up = "Looking up {server $0}";
- connecting = "Connecting to {server $0} [$1] port {hilight $2}";
- reconnecting = "Reconnecting to {server $0} [$1] port {hilight $2} - use /RMRECONNS to abort";
- connection_established = "Connection to {server $0} established";
- cant_connect = "Unable to connect server {server $0} port {hilight $1} {reason $2}";
- connection_lost = "Connection lost to {server $0}";
- lag_disconnected = "No PONG reply from server {server $0} in $1 seconds, disconnecting";
- disconnected = "Disconnected from {server $0} {reason $1}";
- server_quit = "Disconnecting from server {server $0}: {reason $1}";
- server_changed = "Changed to {hilight $2} server {server $1}";
- unknown_server_tag = "Unknown server tag {server $0}";
- no_connected_servers = "Not connected to any servers";
- server_list = "{server $0}: $1:$2 ($3)";
- server_lookup_list = "{server $0}: $1:$2 ($3) (connecting...)";
- server_reconnect_list = "{server $0}: $1:$2 ($3) ($5 left before reconnecting)";
- server_reconnect_removed = "Removed reconnection to server {server $0} port {hilight $1}";
- server_reconnect_not_found = "Reconnection tag {server $0} not found";
- setupserver_added = "Server {server $0} saved";
- setupserver_removed = "Server {server $0} removed";
- setupserver_not_found = "Server {server $0} not found";
- your_nick = "Your nickname is {nick $0}";
- join = "{channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}";
- part = "{channick $0} {chanhost $1} has left {channel $2} {reason $3}";
- kick = "{channick $0} was kicked from {channel $1} by {nick $2} {reason $3}";
- quit = "{channick $0} {chanhost $1} has quit {reason $2}";
- quit_once = "{channel $3} {channick $0} {chanhost $1} has quit {reason $2}";
- invite = "{nick $0} invites you to {channel $1}";
- not_invited = "You have not been invited to a channel!";
- new_topic = "{nick $0} changed the topic of {channel $1} to: $2";
- topic_unset = "Topic unset by {nick $0} on {channel $1}";
- your_nick_changed = "You're now known as {nick $1}";
- nick_changed = "{channick $0} is now known as {channick_hilight $1}";
- talking_in = "You are now talking in {channel $0}";
- not_in_channels = "You are not on any channels";
- current_channel = "Current channel {channel $0}";
- names = "{names_users Users {names_channel $0}}";
- names_prefix = "%#{names_prefix $0}";
- names_nick_op = "{names_nick_op $0 $1}";
- names_nick_halfop = "{names_nick_halfop $0 $1}";
- names_nick_voice = "{names_nick_voice $0 $1}";
- names_nick = "{names_nick $0 $1}";
- endofnames = "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normal}";
- chanlist_header = "%#You are on the following channels:";
- chanlist_line = "%#{channel $[-10]0} %|+$1 ($2): $3";
- chansetup_not_found = "Channel {channel $0} not found";
- chansetup_added = "Channel {channel $0} saved";
- chansetup_removed = "Channel {channel $0} removed";
- chansetup_header = "%#Channel Network Password Settings";
- chansetup_line = "%#{channel $[15]0} %|$[10]1 $[10]2 $3";
- chansetup_footer = "";
- own_msg = "{ownmsgnick $2 {ownnick $0}}$1";
- own_msg_channel = "{ownmsgnick $3 {ownnick $0}{msgchannel $1}}$2";
- own_msg_private = "{ownprivmsg msg $0}$1";
- own_msg_private_query = "{ownprivmsgnick {ownprivnick $2}}$1";
- pubmsg_me = "{pubmsgmenick $2 {menick $0}}$1";
- pubmsg_me_channel = "{pubmsgmenick $3 {menick $0}{msgchannel $1}}$2";
- pubmsg_hilight = "{pubmsghinick $0 $3 $1}$2";
- pubmsg_hilight_channel = "{pubmsghinick $0 $4 $1{msgchannel $2}}$3";
- pubmsg = "{pubmsgnick $2 {pubnick $0}}$1";
- pubmsg_channel = "{pubmsgnick $3 {pubnick $0}{msgchannel $1}}$2";
- msg_private = "{privmsg $0 $1}$2";
- msg_private_query = "{privmsgnick $0}$2";
- no_msgs_got = "You have not received a message from anyone yet";
- no_msgs_sent = "You have not sent a message to anyone yet";
- query_start = "Starting query in {server $1} with {nick $0}";
- query_stop = "Closing query with {nick $0}";
- no_query = "No query with {nick $0}";
- query_server_changed = "Query with {nick $0} changed to server {server $1}";
- hilight_header = "%#Highlights:";
- hilight_line = "%#$[-4]0 $1 $2 $3$4";
- hilight_footer = "";
- hilight_not_found = "Highlight not found: $0";
- hilight_removed = "Highlight removed: $0";
- alias_added = "Alias $0 added";
- alias_removed = "Alias $0 removed";
- alias_not_found = "No such alias: $0";
- aliaslist_header = "%#Aliases:";
- aliaslist_line = "%#$[10]0 $1";
- aliaslist_footer = "";
- log_opened = "Log file {hilight $0} opened";
- log_closed = "Log file {hilight $0} closed";
- log_create_failed = "Couldn't create log file {hilight $0}: $1";
- log_locked = "Log file {hilight $0} is locked, probably by another running Irssi";
- log_not_open = "Log file {hilight $0} not open";
- log_started = "Started logging to file {hilight $0}";
- log_stopped = "Stopped logging to file {hilight $0}";
- log_list_header = "%#Logs:";
- log_list = "%#$0 $1: $2 $3$4$5";
- log_list_footer = "";
- windowlog_file = "Window LOGFILE set to $0";
- windowlog_file_logging = "Can't change window's logfile while log is on";
- no_away_msgs = "No new messages in awaylog";
- away_msgs = "{hilight $1} new messages in awaylog:";
- module_header = "%#Module Type Submodules";
- module_line = "%#$[!20]0 $[7]1 $2";
- module_footer = "";
- module_already_loaded = "Module {hilight $0/$1} already loaded";
- module_not_loaded = "Module {hilight $0/$1} is not loaded";
- module_load_error = "Error loading module {hilight $0/$1}: $2";
- module_invalid = "{hilight $0/$1} isn't Irssi module";
- module_loaded = "Loaded module {hilight $0/$1}";
- module_unloaded = "Unloaded module {hilight $0/$1}";
- command_unknown = "Unknown command: $0";
- command_ambiguous = "Ambiguous command: $0";
- option_unknown = "Unknown option: $0";
- option_ambiguous = "Ambiguous option: $0";
- option_missing_arg = "Missing required argument for: $0";
- not_enough_params = "Not enough parameters given";
- not_connected = "Not connected to server";
- not_joined = "Not joined to any channel";
- chan_not_found = "Not joined to such channel";
- chan_not_synced = "Channel not fully synchronized yet, try again after a while";
- illegal_proto = "Command isn't designed for the chat protocol of the active server";
- not_good_idea = "Doing this is not a good idea. Add -YES option to command if you really mean it";
- invalid_number = "Invalid number";
- invalid_time = "Invalid timestamp";
- invalid_level = "Invalid message level";
- invalid_size = "Invalid size";
- invalid_charset = "Invalid charset: $0";
- eval_max_recurse = "/eval hit maximum recursion limit";
- program_not_found = "Could not find file or file is not executable";
- theme_saved = "Theme saved to $0";
- theme_save_failed = "Error saving theme to $0: $1";
- theme_not_found = "Theme {hilight $0} not found";
- theme_changed = "Now using theme {hilight $0} ($1)";
- window_theme = "Using theme {hilight $0} in this window";
- window_theme_default = "No theme is set for this window";
- window_theme_changed = "Now using theme {hilight $0} ($1) in this window";
- window_theme_removed = "Removed theme from this window";
- format_title = "%:[{hilight $0}] - [{hilight $1}]%:";
- format_subtitle = "[{hilight $0}]";
- format_item = "$0 = $1";
- ignored = "Ignoring {hilight $1} from {nick $0}";
- ignored_options = "Ignoring {hilight $1} from {nick $0} {comment $2}";
- unignored = "Unignored {nick $0}";
- ignore_not_found = "{nick $0} is not being ignored";
- ignore_no_ignores = "There are no ignores";
- ignore_header = "%#Ignore List:";
- ignore_line = "%#$[-4]0 $1: $2 $3 $4";
- ignore_footer = "";
- not_channel_or_query = "The current window is not a channel or query window";
- conversion_added = "Added {hilight $0}/{hilight $1} to conversion database";
- conversion_removed = "Removed {hilight $0} from conversion database";
- conversion_not_found = "{hilight $0} not found in conversion database";
- conversion_no_translits = "Transliterations not supported in this system";
- recode_header = "%#Target Character set";
- recode_line = "%#%|$[!30]0 $1";
- unknown_chat_protocol = "Unknown chat protocol: $0";
- unknown_chatnet = "Unknown chat network: $0 (create it with /NETWORK ADD)";
- not_toggle = "Value must be either ON, OFF or TOGGLE";
- perl_error = "Perl error: $0";
- bind_header = "%#Key Action";
- bind_list = "%#$[!20]0 $1 $2";
- bind_command_list = "$[!30]0 $1";
- bind_footer = "";
- bind_unknown_id = "Unknown bind action: $0";
- config_saved = "Saved configuration to file $0";
- config_reloaded = "Reloaded configuration";
- config_modified = "Configuration file was modified since irssi was last started - do you want to overwrite the possible changes?";
- glib_error = "{error $0} $1";
- overwrite_config = "Overwrite config (y/N)?";
- set_title = "[{hilight $0}]";
- set_item = "$0 = $1";
- set_unknown = "Unknown setting $0";
- set_not_boolean = "Setting {hilight $0} isn't boolean, use /SET";
- no_completions = "There's no completions";
- completion_removed = "Removed completion $0";
- completion_header = "%#Key Value Auto";
- completion_line = "%#$[10]0 $[!40]1 $2";
- completion_footer = "";
- };
- "fe-text" = {
- lastlog_too_long = "/LASTLOG would print $0 lines. If you really want to print all these lines use -force option.";
- lastlog_count = "{hilight Lastlog}: $0 lines";
- lastlog_start = "{hilight Lastlog}:";
- lastlog_end = "{hilight End of Lastlog}";
- lastlog_separator = "--";
- refnum_not_found = "Window number $0 not found";
- window_too_small = "Not enough room to resize this window";
- cant_hide_last = "You can't hide the last window";
- cant_hide_sticky_windows = "You can't hide sticky windows (use /WINDOW STICK OFF)";
- cant_show_sticky_windows = "You can't show sticky windows (use /WINDOW STICK OFF)";
- window_not_sticky = "Window is not sticky";
- window_set_sticky = "Window set sticky";
- window_unset_sticky = "Window is not sticky anymore";
- window_info_sticky = "%#Sticky : $0";
- window_info_scroll = "%#Scroll : $0";
- window_scroll = "Window scroll mode is now $0";
- window_scroll_unknown = "Unknown scroll mode $0, must be ON, OFF or DEFAULT";
- statusbar_list_header = "%#Name Type Placement Position Visible";
- statusbar_list_footer = "";
- statusbar_list = "%#$[30]0 $[6]1 $[9]2 $[8]3 $4";
- statusbar_info_name = "%#Statusbar: {hilight $0}";
- statusbar_info_type = "%#Type : $0";
- statusbar_info_placement = "%#Placement: $0";
- statusbar_info_position = "%#Position : $0";
- statusbar_info_visible = "%#Visible : $0";
- statusbar_info_item_header = "%#Items : Name Priority Alignment";
- statusbar_info_item_footer = "";
- statusbar_info_item_name = "%# : $[35]0 $[9]1 $2";
- statusbar_not_found = "Statusbar doesn't exist: $0";
- statusbar_item_not_found = "Statusbar item doesn't exist: $0";
- statusbar_unknown_command = "Unknown statusbar command: $0";
- statusbar_unknown_type = "Statusbar type must be 'window' or 'root'";
- statusbar_unknown_placement = "Statusbar placement must be 'top' or 'bottom'";
- statusbar_unknown_visibility = "Statusbar visibility must be 'always', 'active' or 'inactive'";
- paste_warning = "Pasting $0 lines to $1. Press Ctrl-K if you wish to do this or Ctrl-C to cancel.";
- paste_prompt = "Hit Ctrl-K to paste, Ctrl-C to abort?";
- };
- "fe-common/perl" = {
- script_not_found = "Script {hilight $0} not found";
- script_not_loaded = "Script {hilight $0} is not loaded";
- script_loaded = "Loaded script {hilight $0}";
- script_unloaded = "Unloaded script {hilight $0}";
- no_scripts_loaded = "No scripts are loaded";
- script_list_header = "%#Loaded scripts:";
- script_list_line = "%#$[!15]0 $1";
- script_list_footer = "";
- script_error = "{error Error in script {hilight $0}:}";
- };
- "fe-common/irc" = {
- netsplit = "{netsplit Netsplit} {server $0} <-> {server $1} quits: $2";
- netsplit_more = "{netsplit Netsplit} {server $0} <-> {server $1} quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
- netsplit_join = "{netjoin Netsplit} over, joins: $0";
- netsplit_join_more = "{netjoin Netsplit} over, joins: $0 (+$1 more)";
- no_netsplits = "There are no net splits";
- netsplits_header = "%#Nick Channel Server Split server";
- netsplits_line = "%#$[9]0 $[10]1 $[20]2 $3";
- netsplits_footer = "";
- network_added = "Network $0 saved";
- network_removed = "Network $0 removed";
- network_not_found = "Network $0 not found";
- network_header = "%#Networks:";
- network_line = "%#$0: $1";
- network_footer = "";
- setupserver_header = "%#Server Port Network Settings";
- setupserver_line = "%#%|$[!20]0 $[5]1 $[10]2 $3";
- setupserver_footer = "";
- joinerror_toomany = "Cannot join to channel {channel $0} (You have joined to too many channels)";
- joinerror_full = "Cannot join to channel {channel $0} (Channel is full)";
- joinerror_invite = "Cannot join to channel {channel $0} (You must be invited)";
- joinerror_banned = "Cannot join to channel {channel $0} (You are banned)";
- joinerror_bad_key = "Cannot join to channel {channel $0} (Bad channel key)";
- joinerror_bad_mask = "Cannot join to channel {channel $0} (Bad channel mask)";
- joinerror_unavail = "Cannot join to channel {channel $0} (Channel is temporarily unavailable)";
- joinerror_duplicate = "Channel {channel $0} already exists - cannot create it";
- channel_rejoin = "Channel {channel $0} is temporarily unavailable, this is normally because of netsplits. Irssi will now automatically try to rejoin back to this channel until the join is successful. Use /RMREJOINS command if you wish to abort this.";
- inviting = "Inviting {nick $0} to {channel $1}";
- channel_created = "Channel {channelhilight $0} created $1";
- url = "Home page for {channelhilight $0}: $1";
- topic = "Topic for {channelhilight $0}: $1";
- no_topic = "No topic set for {channelhilight $0}";
- topic_info = "Topic set by {nick $0} {nickhost $2} {comment $1}";
- chanmode_change = "mode/{channelhilight $0} {mode $1} by {nick $2}";
- server_chanmode_change = "{netsplit ServerMode}/{channelhilight $0} {mode $1} by {nick $2}";
- channel_mode = "mode/{channelhilight $0} {mode $1}";
- bantype = "Ban type changed to {channel $0}";
- no_bans = "No bans in channel {channel $0}";
- banlist = "$0 - {channel $1}: ban {ban $2}";
- banlist_long = "$0 - {channel $1}: ban {ban $2} {comment by {nick $3}, $4 secs ago}";
- ebanlist = "{channel $0}: ban exception {ban $1}";
- ebanlist_long = "{channel $0}: ban exception {ban $1} {comment by {nick $2}, $3 secs ago}";
- no_invitelist = "Invite list is empty in channel {channel $0}";
- invitelist = "{channel $0}: invite {ban $1}";
- invitelist_long = "{channel $0}: invite {ban $1} {comment by {nick $2}, $3 secs ago}";
- no_such_channel = "{channel $0}: No such channel";
- channel_synced = "Join to {channel $0} was synced in {hilight $1} secs";
- usermode_change = "Mode change {mode $0} for user {nick $1}";
- user_mode = "Your user mode is {mode $0}";
- away = "You have been marked as being away";
- unaway = "You are no longer marked as being away";
- nick_away = "{nick $0} is away: $1";
- no_such_nick = "{nick $0}: No such nick/channel";
- nick_in_use = "Nick {nick $0} is already in use";
- nick_unavailable = "Nick {nick $0} is temporarily unavailable";
- your_nick_owned = "Your nick is owned by {nick $3} {comment $1@$2}";
- whois = "{nick $0} {nickhost $1@$2}%:{whois ircname $3}";
- whowas = "{nick $0} {nickhost $1@$2}%:{whois was $3}";
- whois_idle = "{whois idle %|$1 days $2 hours $3 mins $4 secs}";
- whois_idle_signon = "{whois idle %|$1 days $2 hours $3 mins $4 secs {comment signon: $5}}";
- whois_server = "{whois server %|$1 {comment $2}}";
- whois_oper = "{whois {hilight $1}}";
- whois_modes = "{whois modes $1}";
- whois_realhost = "{whois hostname $1-}";
- whois_usermode = "{whois usermode $1}";
- whois_channels = "{whois channels %|$1}";
- whois_away = "{whois away %|$1}";
- whois_special = "{whois %|$1}";
- whois_extra = "{whois account %|$1}";
- end_of_whois = "End of WHOIS";
- end_of_whowas = "End of WHOWAS";
- whois_not_found = "There is no such nick $0";
- who = "%#{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}";
- end_of_who = "End of /WHO list";
- own_notice = "{ownnotice notice $0}$1";
- own_action = "{ownaction $0}$1";
- own_action_target = "{ownaction_target $0 $2}$1";
- own_ctcp = "{ownctcp ctcp $0}$1 $2";
- notice_server = "{servernotice $0}$1";
- notice_public = "{notice $0{pubnotice_channel $1}}$2";
- notice_private = "{notice $0{pvtnotice_host $1}}$2";
- action_private = "{pvtaction $0}$2";
- action_private_query = "{pvtaction_query $0}$2";
- action_public = "{pubaction $0}$1";
- action_public_channel = "{pubaction $0{msgchannel $1}}$2";
- ctcp_reply = "CTCP {hilight $0} reply from {nick $1}: $2";
- ctcp_reply_channel = "CTCP {hilight $0} reply from {nick $1} in channel {channel $3}: $2";
- ctcp_ping_reply = "CTCP {hilight PING} reply from {nick $0}: $1.$[-3.0]2 seconds";
- ctcp_requested = "{ctcp {hilight $0} {comment $1} requested CTCP {hilight $2} from {nick $4}}: $3";
- ctcp_requested_unknown = "{ctcp {hilight $0} {comment $1} requested unknown CTCP {hilight $2} from {nick $4}}: $3";
- online = "Users online: {hilight $0}";
- pong = "PONG received from $0: $1";
- wallops = "{wallop WALLOP {wallop_nick $0}} $1";
- action_wallops = "{wallop WALLOP {wallop_action $0}} $1";
- kill = "You were {error killed} by {nick $0} {nickhost $1} {reason $2} {comment Path: $3}";
- kill_server = "You were {error killed} by {server $0} {reason $1} {comment Path: $2}";
- error = "{error ERROR} $0";
- unknown_mode = "Unknown mode character $0";
- default_event = "$1";
- default_event_server = "[$0] $1";
- silenced = "Silenced {nick $0}";
- unsilenced = "Unsilenced {nick $0}";
- silence_line = "{nick $0}: silence {ban $1}";
- ask_oper_pass = "Operator password:";
- accept_list = "Accepted users: {hilight $0}";
- };
-};
diff --git a/test/no-screen-run-irssi.sh b/test/no-screen-run-irssi.sh
deleted file mode 100755
index dd81624..0000000
--- a/test/no-screen-run-irssi.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-export PERL5LIB=${PERL5LIB}:/opt/stow/repo/irssi/lib/perl5/5.10.1/darwin-2level
-/opt/stow/repo/irssi/bin/irssi --home=irssi/
diff --git a/test/run_irssi.sh b/test/run_irssi.sh
deleted file mode 100755
index b3f47a4..0000000
--- a/test/run_irssi.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-export PERL5LIB=${PERL5LIB}:/opt/stow/repo/irssi/lib/perl5/5.10.1/darwin-2level
-screen /opt/stow/repo/irssi/bin/irssi --home=irssi/
diff --git a/vim-mode/vim_mode.pl b/vim-mode/vim_mode.pl
index b47e959..5a51e24 100644
--- a/vim-mode/vim_mode.pl
+++ b/vim-mode/vim_mode.pl
@@ -600,10 +600,12 @@ my $history_input = undef;
my $history_pos = 0;
# Undo/redo buffer.
+
my @undo_buffer;
my $undo_index = undef;
# tab completion state vars
+
my @tab_candidates;
my $completion_active = 0;
my $completion_string = '';