aboutsummaryrefslogtreecommitdiffstats
path: root/vim-mode
diff options
context:
space:
mode:
Diffstat (limited to 'vim-mode')
-rw-r--r--vim-mode/irssi/config38
l---------vim-mode/irssi/scripts/autorun/uberprompt.pl1
l---------vim-mode/irssi/scripts/autorun/vim_mode.pl1
-rw-r--r--vim-mode/tests.pl48
4 files changed, 88 insertions, 0 deletions
diff --git a/vim-mode/irssi/config b/vim-mode/irssi/config
new file mode 100644
index 0000000..d0b0805
--- /dev/null
+++ b/vim-mode/irssi/config
@@ -0,0 +1,38 @@
+# Minimal default irssi configuration file - with vim-mode statusbars.
+
+
+servers = ( );
+
+chatnets = { };
+
+channels = ( );
+
+aliases = { };
+
+statusbar = {
+ default = {
+ window = {
+ 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 = { };
+ vim_windows = { };
+ };
+ };
+
+ prompt = {
+ items = {
+ uberprompt = { priority = "-1"; };
+ input = { priority = "10"; };
+ };
+ position = "100";
+ };
+ };
+};
diff --git a/vim-mode/irssi/scripts/autorun/uberprompt.pl b/vim-mode/irssi/scripts/autorun/uberprompt.pl
new file mode 120000
index 0000000..3d4d97a
--- /dev/null
+++ b/vim-mode/irssi/scripts/autorun/uberprompt.pl
@@ -0,0 +1 @@
+../../../../prompt_info/uberprompt.pl \ No newline at end of file
diff --git a/vim-mode/irssi/scripts/autorun/vim_mode.pl b/vim-mode/irssi/scripts/autorun/vim_mode.pl
new file mode 120000
index 0000000..ed78131
--- /dev/null
+++ b/vim-mode/irssi/scripts/autorun/vim_mode.pl
@@ -0,0 +1 @@
+../../../../vim-mode/vim_mode.pl \ No newline at end of file
diff --git a/vim-mode/tests.pl b/vim-mode/tests.pl
new file mode 100644
index 0000000..2a85b29
--- /dev/null
+++ b/vim-mode/tests.pl
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+
+# Must be run in a 80x24 terminal unless a fixed POE is released.
+
+
+use strict;
+use warnings;
+
+use lib '../testing/blib/lib';
+
+use Test::Irssi;
+
+
+sub statusbar_mode {
+ my ($test, $mode) = @_;
+
+ $test->add_pattern_match(qr/^ \[\d{2}:\d{2}\] \[\] \[1\] \[$mode\]\s+$/,
+ 'window_sbar', "[$mode] in vim-mode statusbar");
+}
+
+my $tester = Test::Irssi->new
+ (irssi_binary => "irssi",
+ irssi_homedir => "irssi");
+
+
+my $test;
+
+
+$test = $tester->new_test('insert-command-mode');
+
+# Make sure irssi is finished - not entirely sure why this is necessary.
+$test->add_delay(3);
+
+# We start in insert mode.
+statusbar_mode($test, 'Insert');
+
+$test->add_input_sequence("\e");
+$test->add_delay(1);
+statusbar_mode($test, 'Command');
+
+$test->add_input_sequence("i");
+$test->add_delay(1);
+statusbar_mode($test, 'Insert');
+
+# Quit irssi, necessary to terminate the test.
+$test->add_input_sequence("\n/quit\n");
+
+$tester->run;