--- modules/page-modes/github.js | 95 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 95 insertions(+), 0 deletions(-) create mode 100644 modules/page-modes/github.js
diff --git a/modules/page-modes/github.js b/modules/page-modes/github.js new file mode 100644 index 0000000..afad309 --- /dev/null +++ b/modules/page-modes/github.js @@ -0,0 +1,95 @@ +// -*- indent-tabs-mode: nil; js-indent-level: 4; -*- + +/** + * (C) Copyright 2010 Desmond O. Chang <[email protected]> + * + * Use, modification, and distribution are subject to the terms specified in the + * COPYING file. +**/ + +in_module(null); + +require("content-buffer.js"); + +define_keymap("github_keymap", $display_name = "github"); + +interactive("github-keyboard-shortcuts", null, function (I) { + var d = I.buffer.document; + var js = d.createElement("script"); + js.setAttribute("type", "text/javascript"); + js.textContent = "jQuery('#main a.keyboard-shortcuts').click();"; + d.body.appendChild(js); +}); + +(function (i, d, keys, k) { + while (k = keys[i++]) { + if (!(d[k])) { + d[k] = true; + define_key(github_keymap, k, null, $fallthrough); + } + } + define_key(github_keymap, "?", "github-keyboard-shortcuts"); +})(0, {}, [ + // Site wide shortcuts + "s", // Focus site search + "?", // Bring up this help dialog + // Commit list + "j", // Move selected down + "k", // Move selected up + "t", // Open tree + "p", // Open parent + "c", "o", "return", // Open commit + // Pull request list + "j", // Move selected down + "k", // Move selected up + "o", "return", // Open issue + // Issues + "j", // Move selected down + "k", // Move selected up + "x", // Toggle select target + "o", "return", // Open issue + "I", // Mark selected as read + "U", // Mark selected as unread + "e", // Close selected + "y", // Remove selected from view + "c", // Create issue + "l", // Create label + "i", // Back to inbox + "u", // Back to issues + "/", // Focus issues search + // Network Graph + "left", "h", // Scroll left + "right", "l", // Scroll right + "up", "k", // Scroll up + "down", "j", // Scroll down + "t", // Toggle visibility of head labels + "S-left", "S-h", // Scroll all the way left + "S-right", "S-l", // Scroll all the way right + "S-up", "S-k", // Scroll all the way up + "S-down", "S-j", // Scroll all the way down + null +]); + +var github_modality = { + normal: github_keymap +}; + +define_page_mode( + "github_mode", + $enable = function (buffer) { + buffer.content_modalities.push(github_modality); + }, + $disable = function (buffer) { + var i = buffer.content_modalities.indexOf(github_modality); + if (i > -1) + buffer.content_modalities.splice(i, 1); + }, + $display_name = "Github" +); + +auto_mode_list.push([ + build_url_regex($domain = "github", $allow_www = true), + github_mode +]); + +provide("github"); -- 1.7.2.3 _______________________________________________ Conkeror mailing list [email protected] https://www.mozdev.org/mailman/listinfo/conkeror
