---
 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

Reply via email to