Further adapt debian webjumps as suggested by John J. Foerch
[conkeror.git] / modules / quote.js
blob67bf30a06e22be7c087d090493ce191db398ac1f
1 /**
2  * (C) Copyright 2007-2008 Jeremy Maitin-Shepard
3  * (C) Copyright 2008-2009 John J. Foerch
4  *
5  * Use, modification, and distribution are subject to the terms specified in the
6  * COPYING file.
7 **/
9 in_module(null);
11 define_input_mode("quote_next", "quote_next_keymap",
12     $display_name = "input:QUOTE(next)",
13     $doc = "This input mode sends the next key combo to the buffer, "+
14         "bypassing Conkeror's normal key handling.  The mode disengages "+
15         "after one key combo.");
18 define_buffer_mode('quote_mode',
19     $display_name = 'QUOTE',
20     $enable = function (buffer) {
21         buffer.override_keymaps.push(quote_keymap);
22     },
23     $disable = function (buffer) {
24         var i = buffer.override_keymaps.indexOf(quote_keymap);
25         if (i > -1)
26             buffer.override_keymaps.splice(i, 1);
27     },
28     $doc = "This mode sends all key combos to the buffer, "+
29         "bypassing normal key handling, until the escape "+
30         "key is pressed.");
33 interactive("quote-mode-disable",
34     "Disable quote-mode.",
35     function (I) {
36         quote_mode(I.buffer, false);
37         I.buffer.set_input_mode();
38     });
41 define_key_match_predicate('match_not_escape_key', 'any key but escape',
42     function (event) {
43         return event.keyCode != 27 ||
44              event.shiftKey ||
45              event.altKey ||
46              event.metaKey || // M-escape can also leave this mode, so we need to use an accurate determination of whether the "M" modifier was pressed, which is not necessarily the same as event.metaKey.
47              event.ctrlKey;
48     });
50 provide("quote");