use Irssi;
use strict;
Irssi::settings_add_str('misc','vim_prompt_begin_ins', '%z005f00%k%9 INSERT %w%k');
Irssi::settings_add_str('misc','vim_prompt_begin_cmd', '%z0087d7%k%9 NORMAL %w%k');
Irssi::settings_add_str('misc','vim_prompt_begin_ex', '%zff5f5f%k%9 EX %w%k');
Irssi::settings_add_str('misc','vim_prompt_end_ins', '%N%k%Z005f00%9%N');
Irssi::settings_add_str('misc','vim_prompt_end_cmd', '%N%k%Z0087d7%9%N');
Irssi::settings_add_str('misc','vim_prompt_end_ex', '%N%k%Zff5f5f%9%k%Zff5f5f');
Irssi::expando_create('vim_prompt_begin', sub {
my $prompt;
my $cmd_mode = Irssi::parse_special('$vim_cmd_mode', 0, 0);
if (index($cmd_mode, "INS") != -1) {
my $prompt_begin = Irssi::settings_get_str('vim_prompt_begin_ins');
$prompt=$prompt_begin;
}
if (index($cmd_mode, "CMD") != -1) {
my $prompt_begin = Irssi::settings_get_str('vim_prompt_begin_cmd');
$prompt=$prompt_begin;
}
if (index($cmd_mode, "EX") != -1) {
my $prompt_begin = Irssi::settings_get_str('vim_prompt_begin_ex');
$prompt=$prompt_begin;
}
return $prompt
}, {});
Irssi::expando_create('vim_prompt_end', sub {
my $prompt;
my $cmd_mode = Irssi::parse_special('$vim_cmd_mode', 0, 0);
if (index($cmd_mode, "INS") != -1) {
my $prompt_begin = Irssi::settings_get_str('vim_prompt_end_ins');
$prompt=$prompt_begin;
}
if (index($cmd_mode, "CMD") != -1) {
my $prompt_begin = Irssi::settings_get_str('vim_prompt_end_cmd');
$prompt=$prompt_begin;
}
if (index($cmd_mode, "EX") != -1) {
my $prompt_begin = Irssi::settings_get_str('vim_prompt_end_ex');
$prompt=$prompt_begin;
}
return $prompt
}, {});
Irssi::expando_create('vim_prompt_empty', sub {
my $prompt;
my $cmd_mode = Irssi::parse_special('$vim_cmd_mode', 0, 0);
if (index($cmd_mode, "INS") != -1) {
$prompt="%z005f00%k%9 INSERT "."%N%k%Z005f00%9%N"
}
if (index($cmd_mode, "CMD") != -1) {
$prompt="%z0087d7%k%9 NORMAL "."%N%k%Z0087d7%9%N"
}
if (index($cmd_mode, "EX") != -1) {
$prompt="%zff5f5f%k%9 EX "."%N%k%Zff5f5f%9%k%Zff5f5f"
}
return $prompt
}, {});