diff --git a/NEWS b/NEWS index 05794c45..0f133e47 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@
 2007-XX-XX:
 	* version 0.5.2
+	* added a new :sidebar command
 	* added 'more' and standard more-prompt key mappings to control
 	  behaviour of the message list pager 
 	* added 'hlsearchstyle' option to allow for user CSS styling of the
diff --git a/chrome/content/vimperator/commands.js b/chrome/content/vimperator/commands.js
index 15f63d00..79422b1a 100644
--- a/chrome/content/vimperator/commands.js
+++ b/chrome/content/vimperator/commands.js
@@ -1076,6 +1076,32 @@ function Commands() //{{{
             completer: function(filter) { return vimperator.completion.get_options_completions(filter); }
         }
     ));
+    addDefaultCommand(new Command(["sideb[ar]"],
+        function(args)
+        {
+            if (!args)
+            {
+                vimperator.echoerr("E471: Argument required");
+                return;
+            }
+
+            var menu = document.getElementById("viewSidebarMenu")
+
+            for (var i = 0; i < menu.childNodes.length; i++)
+            {
+                if (menu.childNodes[i].label == args)
+                {
+                    eval(menu.childNodes[i].getAttribute('oncommand'))
+                    break;
+                }
+            }
+        },
+        {
+            short_help: "Open the sidebar",
+            help: "TODO",
+            completer: function(filter) { return vimperator.completion.get_sidebar_completions(filter); }
+        }
+    ));
     addDefaultCommand(new Command(["so[urce]"],
         function(args)
         {
diff --git a/chrome/content/vimperator/completion.js b/chrome/content/vimperator/completion.js
index b290f42a..3a6603f8 100644
--- a/chrome/content/vimperator/completion.js
+++ b/chrome/content/vimperator/completion.js
@@ -461,6 +461,17 @@ vimperator.completion = (function() // {{{
             return build_longest_common_substring(items, filter);
         }, //}}}
 
+        get_sidebar_completions: function(filter) //{{{
+        {
+            var menu = document.getElementById("viewSidebarMenu")
+            var nodes = [];
+
+            for (var i = 0; i < menu.childNodes.length; i++)
+                nodes.push([[menu.childNodes[i].label], ""]);
+            
+            return build_longest_starting_substring(nodes, filter);
+        }, //}}}
+
         exTabCompletion: function(str) //{{{
         {
             var [count, cmd, special, args] = vimperator.commands.parseCommand(str);