aboutsummaryrefslogtreecommitdiffstats
path: root/history-search
diff options
context:
space:
mode:
authorTom Feist <shabble@cowu.be>2010-07-24 17:23:13 +0000
committerTom Feist <shabble@cowu.be>2010-07-24 17:23:13 +0000
commit91f126ae4c9ea90336bdeb24001fadca79439edc (patch)
treed21b72a82b67b0979aadfa3f6efbbc2586d962b1 /history-search
parentupdated script info to add my url and to change contact details to me (diff)
downloadirssi-scripts-91f126ae4c9ea90336bdeb24001fadca79439edc.tar.gz
irssi-scripts-91f126ae4c9ea90336bdeb24001fadca79439edc.zip
moved most tests to feature-tests/
Diffstat (limited to 'history-search')
-rw-r--r--history-search/complete_test.pl27
-rw-r--r--history-search/expando_test.pl58
-rw-r--r--history-search/frog_reload.pl99
-rw-r--r--history-search/help_a.pl15
-rw-r--r--history-search/help_b.pl15
-rw-r--r--history-search/history_search.pl150
-rw-r--r--history-search/key_test.pl100
-rw-r--r--history-search/subtest.pl76
8 files changed, 0 insertions, 540 deletions
diff --git a/history-search/complete_test.pl b/history-search/complete_test.pl
deleted file mode 100644
index a8ae485..0000000
--- a/history-search/complete_test.pl
+++ /dev/null
@@ -1,27 +0,0 @@
-use strict;
-use vars qw($VERSION %IRSSI);
-
-use Irssi;
-$VERSION = '2.1';
-%IRSSI = (
- authors => 'Daenyth',
- contact => 'Daenyth /at/ gmail /dot/ com',
- name => 'Complete Last-Spoke',
- description => 'When using tab completion on an empty input buffer, complete to the nick of the person who spoke most recently.',
- license => 'GPL2',
-);
-
-sub do_complete {
- my ($strings, $window, $word, $linestart, $want_space) = @_;
- return unless ($linestart eq '' && $word eq '');
-
-# my $suffix = Irssi::settings_get_str('completion_char');
-# @$strings = $last_speaker . $suffix;
- push @$strings, qw|/foo /bar /baz /bacon|;
-
-# $$want_space = 1;
-# Irssi::signal_stop();
-}
-
- Irssi::signal_add_first( 'complete word', \&do_complete);
-
diff --git a/history-search/expando_test.pl b/history-search/expando_test.pl
deleted file mode 100644
index 0d5456a..0000000
--- a/history-search/expando_test.pl
+++ /dev/null
@@ -1,58 +0,0 @@
-use strict;
-use Irssi;
-use Irssi::TextUI; # for sbar_items_redraw
-
-use vars qw($VERSION %IRSSI);
-$VERSION = "1.0.1";
-%IRSSI = (
- authors => "shabble",
- contact => 'shabble+irssi@metavore.org, shabble@#irssi/Freenode',
- name => "",
- description => "",
- license => "Public Domain",
- changed => ""
-);
-
-my $prompt_additional_content = '';
-
-Irssi::expando_create('prompt_additional', \&expando_prompt, {});
-
-#TODO: necessary?
-#Irssi::signal_add_last 'gui print text finished' => \&redraw_prompts;
-
-sub expando_prompt {
- my ($server, $witem, $arg) = @_;
- return $prompt_additional_content;
-}
-
-sub redraw_prompts {
- Irssi::statusbar_items_redraw ('prompt');
- Irssi::statusbar_items_redraw ('prompt_empty');
-}
-
-sub handle_change_prompt_sig {
- my ($text) = @_;
-
- print "Got prompt change sig with: $text";
-
- my $expanded_text = Irssi::parse_special($text);
- my $changed = ($expanded_text ne $prompt_additional_content);
-
- $prompt_additional_content = $expanded_text;
-
- if ($changed) {
- print "Redrawing prompts";
- redraw_prompts();
- }
-}
-
-sub prompt_additional_cmd {
- my ($str) = @_;
- print "Setting prompt to: $str";
- Irssi::signal_emit('change prompt', $str);
-}
-
-Irssi::signal_register({'change prompt' => [qw/string/]});
-Irssi::signal_add('change prompt' => \&handle_change_prompt_sig);
-
-Irssi::command_bind('set_prompt' => \&prompt_additional_cmd);
diff --git a/history-search/frog_reload.pl b/history-search/frog_reload.pl
deleted file mode 100644
index 678c87d..0000000
--- a/history-search/frog_reload.pl
+++ /dev/null
@@ -1,99 +0,0 @@
-use strict;
-use warnings;
-
-use Irssi;
-use File::ChangeNotify();
-use File::Spec ();
-use File::Basename qw(basename);
-
-#my $THIS_SCRIPT = basename __FILE__;
-
-my $irssi_dir = Irssi::get_irssi_dir();
-my @watch_dirs = ($irssi_dir, $irssi_dir . '/scripts',
- $irssi_dir . '/scripts/autorun');
-
-my $watcher = File::ChangeNotify->instantiate_watcher
- (
- directories => \@watch_dirs,
- filter => qr/\.(?:pl|py)$/,
- );
-
-my @watchers = File::ChangeNotify->usable_classes();
-print "Started reloader watching: ", join(", ", @watch_dirs), " using $watchers[0]";
-
-my %action_for = (
- create => sub {
- my ($path) = @_;
- Irssi::print ("CREATE: Loading $path");
- load_script($path);
- },
-
- modify => sub {
- my ($path) = @_;
- Irssi::print ("MODIFY: reloading $path");
- reload($path);
- },
-
- delete => sub {
- my ($path) = @_;
- Irssi::print ("DELETE: Unloading $path");
- unload_script($path);
- },
-);
-
-#TODO: change me back.
-Irssi::timeout_add(3000, \&timer_sub, undef);
-
-sub timer_sub {
- print "Timer sub called";
- my @new_events = $watcher->new_events;
- for my $event (@new_events) {
-
- print "Handling event: ", $event->type, " path: ", $event->path;
-
- if (my $callback = $action_for{$event->type}) {
- $callback->($event->path);
- }
- }
-}
-
-sub reload {
- my ($path) = @_;
-
- unload_script($path);
- load_script($path);
-}
-
-sub unload_script {
- my ($script_path) = @_;
- my $name = filepath_to_script($script_path);
-
- if (script_is_loaded($name)) {
- Irssi::print ("unloading $name...");
- Irssi::command("script unload $name");
- }
-}
-
-sub load_script {
- my ($script_path) = @_;
- Irssi::command("script load \"$script_path\"");
-}
-
-sub filepath_to_script {
- my ($path) = @_;
-
- my $name = basename $path;
- $name =~ s/\.pl$//i;
-
- return $name;
-}
-
-sub script_is_loaded {
- my $name = shift;
- print "Checking if $name is loaded";
- no strict 'refs';
- my $retval = defined %{ "Irssi::Script::${name}::" };
- use strict 'refs';
-
- return $retval;
-}
diff --git a/history-search/help_a.pl b/history-search/help_a.pl
deleted file mode 100644
index 53d902c..0000000
--- a/history-search/help_a.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-use strict;
-use warnings;
-
-use Irssi;
-
-our $help = "this is help for a";
-
-Irssi::command_bind('help', sub {
- if ($_[0] eq 'test_a') {
- Irssi::print($help, MSGLEVEL_CLIENTCRAP);
- Irssi::signal_stop();
- return;
- }
- }
-);
diff --git a/history-search/help_b.pl b/history-search/help_b.pl
deleted file mode 100644
index 8b57a45..0000000
--- a/history-search/help_b.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-use strict;
-use warnings;
-
-use Irssi;
-
-our $help = "this is help for b";
-
-Irssi::command_bind('help', sub {
- if ($_[0] eq 'test_b') {
- Irssi::print($help, MSGLEVEL_CLIENTCRAP);
- Irssi::signal_stop();
- return;
- }
- }
-);
diff --git a/history-search/history_search.pl b/history-search/history_search.pl
deleted file mode 100644
index 0a2282e..0000000
--- a/history-search/history_search.pl
+++ /dev/null
@@ -1,150 +0,0 @@
-# Search within your typed history as you type (like ctrl-R in bash)
-# Usage:
-# * First do: /bind ^R /history_search
-# * Then type ctrl-R and type what you're searching for
-
-# Copyright 2007 Wouter Coekaerts <coekie@irssi.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-use strict;
-use Irssi;
-use Irssi::TextUI;
-use Data::Dumper;
-
-use vars qw($VERSION %IRSSI);
-$VERSION = '1.0';
-%IRSSI = (
- authors => 'Wouter Coekaerts',
- contact => 'coekie@irssi.org',
- name => 'history_search',
- description => 'Search within your typed history as you type (like ctrl-R in bash)',
- license => 'GPLv2 or later',
- url => 'http://wouter.coekaerts.be/irssi/',
- changed => '04/08/07'
-);
-
-my $prompt_append = 1;
-my $prompt_content = '';
-
-# create a new statusbar item
-
-Irssi::statusbar_item_register ( 'custom_prompt', 0, 'custom_prompt' );
-
-Irssi::signal_add_last 'gui print text finished' => sub {
- Irssi::statusbar_items_redraw ( 'custom_prompt' );
-};
-
-Irssi::signal_register({'change prompt' => [qw/string int/]});
-Irssi::signal_add('change prompt' => \&handle_change_prompt_sig);
-
-sub handle_change_prompt_sig {
- my ($text, $append) = @_;
- print "sig args: ", Dumper(\@_);
- $prompt_content = $text;
- $prompt_append = $append;
- print "text: $prompt_content, append: $prompt_append";
-
- Irssi::statusbar_items_redraw('custom_prompt');
-}
-
-# TODO: make these work wiht subcommand (runsub)
-
-Irssi::command_bind('set_prompt' => \&dothing );
-Irssi::command_set_options('set_prompt', '+string @append');
-
-Irssi::command_bind('install_prompt' => \&install_prompt);
-Irssi::command_bind('uninstall_prompt' => \&uninstall_prompt);
-
-Irssi::settings_add_bool('custom_prompt', 'autoinstall_custom_prompt', 0);
-
-if (Irssi::settings_get_bool('autoinstall_custom_prompt')) {
- install_prompt();
-}
-
-sub install_prompt {
- Irssi::command("/statusbar prompt add -priority '-5' -alignment left"
- . " -before prompt custom_prompt");
- Irssi::command("/statusbar prompt remove prompt");
- Irssi::command("/statusbar prompt remove prompt_empty");
-}
-
-sub uninstall_prompt {
- Irssi::command("/statusbar prompt remove custom_prompt");
- Irssi::command("/statusbar prompt add -priority '-1' "
- . "-before input -alignment left prompt");
- Irssi::command("/statusbar prompt add -priority '-2' "
- . "-before input -alignment left prompt_empty");
-}
-
-sub dothing {
- #my ($str, $append) = @_;
- #Irssi::print("str is $str, append=$append");
- my $parsed = [Irssi::command_parse_options('set_prompt', $_[0])];
- my $args = $parsed->[0] // {};
- my $remainder = $parsed->[1] // '';
-
- my ($str, $append) = ('', 1);
- print Dumper $args;
- if (exists ($args->{string})) {
- $str = $args->{string};
- }
-
- if (exists($args->{append})) {
- $append = $args->{append};
- }
- print "append in dothing: $append";
- Irssi::signal_emit('change prompt', $str, $append);
-}
-
-sub custom_prompt {
- my ($sb_item, $get_size_only) = @_;
-
- my ($width, $padChar, $padNum, $length);
-
- #my $prompt_str = '%K[%W$tag%c/%K$cumode%n$*%K]%n ';
-
- my $theme = Irssi::current_theme;
- my $prompt = '';
-
- my $var = '';
- if (window_is_empty(Irssi::active_win)) {
- $var = 'winname';
- } else {
- $var = '[.15]itemname';
- }
-
- if ($prompt_append) {
- $prompt = $theme->format_expand("{prompt \$$var}");
- }
-
- my $trailing_space = '';
- if ($prompt =~ /(\s*)$/ && length $prompt_content) {
- $trailing_space = $1;
- }
-
- $prompt .= $prompt_content . $trailing_space;
- $sb_item->default_handler($get_size_only, $prompt, undef, 1);
-}
-
-sub window_is_empty {
- my $window = shift;
- return $window->{name} eq $window->get_active_name;
-}
-
-sub UNLOAD {
- print Dumper(\@_);
- uninstall_prompt();
-}
diff --git a/history-search/key_test.pl b/history-search/key_test.pl
deleted file mode 100644
index b16ff00..0000000
--- a/history-search/key_test.pl
+++ /dev/null
@@ -1,100 +0,0 @@
-use strict;
-use Irssi;
-use Irssi::TextUI; # for sbar_items_redraw
-
-use vars qw($VERSION %IRSSI);
-$VERSION = "1.0.1";
-%IRSSI = (
- authors => "shabble",
- contact => 'shabble+irssi@metavore.org, shabble@#irssi/Freenode',
- name => "",
- description => "",
- license => "Public Domain",
- changed => ""
-);
-
-
-Irssi::signal_add_last 'gui key pressed' => \&got_key;
-
-my $buf = '';
-
-sub got_key {
- my ($key) = @_;
- $buf .= " $key";
- my $res = decode_keypress($key);
- if (defined $res) {
- print "codes: $buf";
- print "Keypress: $res";
- $buf = '';
- }
-}
-
-# 1 means we've seen an esc, 2 means we've
-# seen an esc,[. 0 is normal.
-
-my $decoder_state = 0;
-
-sub decode_keypress {
- my ($code) = @_;
-
- if ($decoder_state == 1) {
-
- # seen esc/meta.
- if ($code == ord('[')) {
- $decoder_state = 2;
- return undef;
- } else {
- $decoder_state = 0;
- return 'meta-' . chr($code);
- }
-
- } elsif ($decoder_state == 2) {
-
- if ($code == ord('A')) {
- $decoder_state = 0;
- return 'up-arrow';
- } elsif ($code == ord('B')) {
- $decoder_state = 0;
- return 'dn-arrow'
- } elsif ($code == ord('C')) {
- $decoder_state = 0;
- return 'right-arrow'
- } elsif ($code == ord('D')) {
- $decoder_state = 0;
- return 'left-arrow'
- }
-
- $decoder_state = 0;
- return undef;
-
- } else {
-
- if ($code < 27) {
-
- if ($code == 9) {
- return 'tab';
- }
-
- return 'ctrl-' . chr($code + ord('a') -1);
- }
-
- if ($code > 32 && $code < 127) {
- return chr($code);
- }
-
- if ($code == 32) {
- return 'space';
- }
-
- if ($code == 127) {
- return 'backspace';
- }
-
- if ($code == 27) {
- $decoder_state = 1;
- return undef;
- }
-
- return 'unknown ' . $code;
- }
-}
diff --git a/history-search/subtest.pl b/history-search/subtest.pl
deleted file mode 100644
index fd5a9cc..0000000
--- a/history-search/subtest.pl
+++ /dev/null
@@ -1,76 +0,0 @@
-use strict;
-use Irssi;
-use Irssi::TextUI;
-use Data::Dumper;
-
-use vars qw($VERSION %IRSSI);
-$VERSION = '1.0';
-%IRSSI = (
- authors => 'Wouter Coekaerts',
- contact => 'coekie@irssi.org',
- name => 'history_search',
- description => 'Search within your typed history as you type (like ctrl-R in bash)',
- license => 'GPLv2 or later',
- url => 'http://wouter.coekaerts.be/irssi/',
- changed => '04/08/07'
-);
-
-
-Irssi::command_bind("foo bar", \&subcmd_bar);
-Irssi::command_bind("foo", \&subcmd_handler);
-
-sub subcmd_handler {
- my ($data, $server, $item) = @_;
- $data =~ s/\s+$//g;
- Irssi::command_runsub('foo', $data, $server, $item);
-}
-
-sub subcmd_bar {
- my ($args) = @_;
- print "subcommand called with: $args";
-}
-
-# my $prev_typed;
-# my $prev_startpos;
-# my $enabled = 0;
-
-# Irssi::command_bind('history_search', sub {
-# $enabled = ! $enabled;
-# if ($enabled) {
-# $prev_typed = '';
-# $prev_startpos = 0;
-# }
-# });
-
-# Irssi::signal_add_last 'gui key pressed' => sub {
-# my ($key) = @_;
-
-# if ($key == 10) { # enter
-# $enabled = 0;
-# }
-
-# return unless $enabled;
-
-# my $prompt = Irssi::parse_special('$L');
-# my $pos = Irssi::gui_input_get_pos();
-
-# if ($pos < $prev_startpos) {
-# $enabled = 0;
-# return;
-# }
-
-# my $typed = substr($prompt, $prev_startpos, ($pos-$prev_startpos));
-
-# my $history = ($typed eq '') ? '' : Irssi::parse_special('$!' . $typed . '!');
-# if ($history eq '') {
-# $history = $typed;
-# }
-
-# my $startpos = index(lc($history), lc($typed));
-
-# Irssi::gui_input_set($history);
-# Irssi::gui_input_set_pos($startpos + length($typed));
-
-# $prev_typed = $typed;
-# $prev_startpos = $startpos;
-# };