diff options
| -rw-r--r-- | history-search/rl_history_search.pl | 18 | 
1 files changed, 15 insertions, 3 deletions
| diff --git a/history-search/rl_history_search.pl b/history-search/rl_history_search.pl index eebb6c7..e6781db 100644 --- a/history-search/rl_history_search.pl +++ b/history-search/rl_history_search.pl @@ -91,12 +91,24 @@ sub script_is_loaded {  }  unless (script_is_loaded('uberprompt')) { -    die "This script requires 'uberprompt.pl' in order to work. " -      . "Please load it and try again"; -} else { +    print "This script requires 'uberprompt.pl' in order to work. " +      . "Attempting to load it now..."; +    Irssi::signal_add('script error', \&load_uberprompt_failed); +    Irssi::command("script load uberprompt.pl"); +    unless(script_is_loaded('uberprompt')) { +        load_uberprompt_failed("File does not exist"); +    }      history_init();  } +sub load_uberprompt_failed { +    Irssi::sigal_remove('script error', \&load_prompt_failed); +    print "Script could not be loaded. Script cannot continue. " +      . "Check you have uberprompt.pl installed in your path and " +        .  "try again."; +    die "Script Load Failed: " . join(" ", @_); +} +  sub history_init {      Irssi::settings_add_bool('history_search', 'histsearch_debug', 0); | 
