legacy-dotfiles/conkeror/.conkerorrc/ext_restore.js

34 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

/// From http://conkeror.org/Tips#Restore_Killed_Buffer_Url
// I think by the time kill_buffer_hook runs the buffer is gone so I
// patch kill_buffer
var kill_buffer_original = kill_buffer_original || kill_buffer;
var killed_buffer_urls = [];
kill_buffer = function (buffer, force) {
if (buffer.display_uri_string) {
killed_buffer_urls.push(buffer.display_uri_string);
}
kill_buffer_original(buffer,force);
};
interactive("restore-killed-buffer-url", "Loads url from a previously killed buffer",
function restore_killed_buffer_url (I) {
if (killed_buffer_urls.length !== 0) {
var url = yield I.minibuffer.read(
$prompt = "Restore killed url:",
$completer = all_word_completer($completions = killed_buffer_urls),
$default_completion = killed_buffer_urls[killed_buffer_urls.length - 1],
$auto_complete = "url",
$auto_complete_initial = true,
$auto_complete_delay = 0,
$match_required);
load_url_in_new_buffer(url);
} else {
I.window.minibuffer.message("No killed buffer urls");
}
});